commit:     6620272151fba3f31dbfd179d38fbadcaeeab14c
Author:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 26 22:38:06 2022 +0000
Commit:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Mon Sep 26 22:51:28 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=66202721

app-emacs/macrostep: new package; add version 0.9

Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>

 app-emacs/macrostep/Manifest                    |  1 +
 app-emacs/macrostep/files/50macrostep-gentoo.el |  7 ++++++
 app-emacs/macrostep/files/macrostep-test.patch  | 13 +++++++++++
 app-emacs/macrostep/macrostep-0.9.ebuild        | 30 +++++++++++++++++++++++++
 app-emacs/macrostep/metadata.xml                | 27 ++++++++++++++++++++++
 5 files changed, 78 insertions(+)

diff --git a/app-emacs/macrostep/Manifest b/app-emacs/macrostep/Manifest
new file mode 100644
index 000000000000..f19ba1dcf320
--- /dev/null
+++ b/app-emacs/macrostep/Manifest
@@ -0,0 +1 @@
+DIST macrostep-0.9.tar.gz 50226 BLAKE2B 
e4e4d1b3f8b3a2abb464d4a4c13f4cc2c26114842cf90f68d5ee2082ef521d48b6de30cb743506d6aa15790b630aa7d3eda90578ce308c4c4595bdfb6f58f15b
 SHA512 
1a3b67ddbb29007db542028dc965807764ac3df4ff6b90f42c50b2623843a905e302b316757b8d7975b0f10a06501262b1d9fd6f94c9b09618b31e2a7d602828

diff --git a/app-emacs/macrostep/files/50macrostep-gentoo.el 
b/app-emacs/macrostep/files/50macrostep-gentoo.el
new file mode 100644
index 000000000000..ea9ea4709733
--- /dev/null
+++ b/app-emacs/macrostep/files/50macrostep-gentoo.el
@@ -0,0 +1,7 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'macrostep-mode "macrostep"
+  "Minor mode for inline expansion of macros in Emacs Lisp source buffers." t)
+(autoload 'macrostep-expand "macrostep"
+  "Expand the macro form following point by one step." t)
+(autoload 'macrostep-c-mode-hook "macrostep-c"
+  nil t)

diff --git a/app-emacs/macrostep/files/macrostep-test.patch 
b/app-emacs/macrostep/files/macrostep-test.patch
new file mode 100644
index 000000000000..ee683556eb90
--- /dev/null
+++ b/app-emacs/macrostep/files/macrostep-test.patch
@@ -0,0 +1,13 @@
+diff --git a/macrostep-test.el b/macrostep-test.el
+index 9de1fae..c49ac0a 100644
+--- a/macrostep-test.el
++++ b/macrostep-test.el
+@@ -410,7 +410,7 @@
+      (should (macrostep-lax-looking-at ,string))
+      (macrostep-collapse)))
+ 
+-(ert-deftest macrostep-expand-c-macros ()
++(defun macrostep-expand-c-macros ()
+   (with-temp-buffer
+     (insert
+      ;; A random example adapted from Emacs's src/lisp.h.

diff --git a/app-emacs/macrostep/macrostep-0.9.ebuild 
b/app-emacs/macrostep/macrostep-0.9.ebuild
new file mode 100644
index 000000000000..bfe4654194fc
--- /dev/null
+++ b/app-emacs/macrostep/macrostep-0.9.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=24.3
+
+inherit elisp
+
+DESCRIPTION="Interactive macro-expander for Emacs"
+HOMEPAGE="https://github.com/joddie/macrostep/";
+SRC_URI="https://github.com/joddie/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( README.org )
+PATCHES=( "${FILESDIR}"/${PN}-test.patch )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+       ${EMACS} ${EMACSFLAGS} -L . --load ${PN}-test.el || die "test failed"
+}
+
+src_install() {
+       rm macrostep-test.el{,c} || die
+
+       elisp_src_install
+}

diff --git a/app-emacs/macrostep/metadata.xml b/app-emacs/macrostep/metadata.xml
new file mode 100644
index 000000000000..83cdc6147e32
--- /dev/null
+++ b/app-emacs/macrostep/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
+
+<pkgmetadata>
+  <maintainer type="project">
+    <email>gnu-em...@gentoo.org</email>
+    <name>Gentoo GNU Emacs project</name>
+  </maintainer>
+  <longdescription>
+    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. 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.
+  </longdescription>
+  <stabilize-allarches />
+  <upstream>
+    <bugs-to>https://github.com/joddie/macrostep/issues/</bugs-to>
+    <remote-id type="github">joddie/macrostep</remote-id>
+  </upstream>
+</pkgmetadata>

Reply via email to