[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
32/88: gnu: Add emacs-macrostep.
From: |
Oleg Pykhalov |
Subject: |
32/88: gnu: Add emacs-macrostep. |
Date: |
Wed, 2 May 2018 13:21:09 -0400 (EDT) |
wigust pushed a commit to branch master
in repository guix.
commit 9968e444c5f86667e14c405550316e971d575742
Author: Oleg Pykhalov <address@hidden>
Date: Wed May 2 19:01:08 2018 +0300
gnu: Add emacs-macrostep.
* gnu/packages/emacs.scm (emacs-macrostep): New public variable.
---
gnu/packages/emacs.scm | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 01e2e95..ffa12c0 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -8804,3 +8804,53 @@ your Emacs.")
(synopsis "Sourcemap parser")
(description "Sourcemap parser")
(license license:gpl3+)))
+
+(define-public emacs-macrostep
+ (let ((commit "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267"))
+ (package
+ (name "emacs-macrostep")
+ (version (git-version "0.9" "1" commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/joddie/macrostep.git")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz"))))
+ (build-system emacs-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'remove-test
+ ;; Fails because of requirement ‘/bin/sh’.
+ (lambda _
+ (let ((file "macrostep-test.el"))
+ (chmod file #o644)
+ (emacs-batch-edit-file file
+ `(progn (progn (goto-char (point-min))
+ (re-search-forward
+ "(ert-deftest macrostep-expand-c-macros")
+ (beginning-of-line)
+ (kill-sexp))
+ (basic-save-buffer))))))
+ (add-before 'install 'check
+ (lambda _
+ (invoke "emacs" "--batch" "-L" "."
+ "-l" "macrostep-test.el"
+ "-f" "ert-run-tests-batch-and-exit"))))))
+ (home-page "https://github.com/joddie/macrostep")
+ (synopsis "Interactive macro-expander for Emacs")
+ (description "@code{macrostep} is an Emacs minor mode for interactively
+stepping through the expansion of macros in Emacs Lisp source code. It lets
+you see exactly what happens at each step of the expansion process by
+pretty-printing the expanded forms inline in the source buffer, which is
+temporarily read-only while macro expansions are visible. You can expand and
+collapse macro forms one step at a time, and evaluate or instrument the
+expansions for debugging with Edebug as normal (but see “Bugs and known
+limitations”, below). Single-stepping through the expansion is particularly
+useful for debugging macros that expand into another macro form. These can be
+difficult to debug with Emacs’ built-in macroexpand, which continues expansion
+until the top-level form is no longer a macro call.")
+ (license license:gpl3+))))
- 64/88: gnu: Add emacs-rsw-elisp., (continued)
- 64/88: gnu: Add emacs-rsw-elisp., Oleg Pykhalov, 2018/05/02
- 66/88: gnu: Add emacs-visual-regexp., Oleg Pykhalov, 2018/05/02
- 72/88: gnu: Add emacs-shift-number., Oleg Pykhalov, 2018/05/02
- 73/88: gnu: Add emacs-highlight-defined., Oleg Pykhalov, 2018/05/02
- 24/88: gnu: Add emacs-loop., Oleg Pykhalov, 2018/05/02
- 23/88: gnu: Add emacs-itail., Oleg Pykhalov, 2018/05/02
- 11/88: gnu: Add emacs-move-text., Oleg Pykhalov, 2018/05/02
- 17/88: gnu: Add emacs-md4rd., Oleg Pykhalov, 2018/05/02
- 21/88: gnu: Add emacs-npm-mode., Oleg Pykhalov, 2018/05/02
- 29/88: gnu: Add emacs-let-alist., Oleg Pykhalov, 2018/05/02
- 32/88: gnu: Add emacs-macrostep.,
Oleg Pykhalov <=
- 36/88: gnu: Add emacs-beginend., Oleg Pykhalov, 2018/05/02
- 14/88: gnu: Add emacs-rainbow-blocks., Oleg Pykhalov, 2018/05/02
- 44/88: gnu: Add emacs-org-ref., Oleg Pykhalov, 2018/05/02
- 48/88: gnu: Add emacs-navi-mode., Oleg Pykhalov, 2018/05/02
- 49/88: gnu: Add emacs-download-region., Oleg Pykhalov, 2018/05/02
- 51/88: gnu: Add emacs-helpful., Oleg Pykhalov, 2018/05/02
- 53/88: gnu: Add emacs-suggest., Oleg Pykhalov, 2018/05/02
- 38/88: gnu: Add emacs-ibuffer-projectile., Oleg Pykhalov, 2018/05/02
- 54/88: gnu: Add emacs-benchmark-init., Oleg Pykhalov, 2018/05/02
- 55/88: gnu: Add emacs-emms-player-simple-mpv., Oleg Pykhalov, 2018/05/02