summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej Barć <xgqt@gentoo.org>2022-09-27 00:38:06 +0200
committerMaciej Barć <xgqt@gentoo.org>2022-09-27 00:51:28 +0200
commit6620272151fba3f31dbfd179d38fbadcaeeab14c (patch)
tree5edb434b6c07721c02f4727d8ace0e2c2feee5ba
parentdev-python/ytmusicapi: bump to 0.23.0 (diff)
downloadgentoo-6620272151fba3f31dbfd179d38fbadcaeeab14c.tar.gz
gentoo-6620272151fba3f31dbfd179d38fbadcaeeab14c.tar.bz2
gentoo-6620272151fba3f31dbfd179d38fbadcaeeab14c.zip
app-emacs/macrostep: new package; add version 0.9
Signed-off-by: Maciej Barć <xgqt@gentoo.org>
-rw-r--r--app-emacs/macrostep/Manifest1
-rw-r--r--app-emacs/macrostep/files/50macrostep-gentoo.el7
-rw-r--r--app-emacs/macrostep/files/macrostep-test.patch13
-rw-r--r--app-emacs/macrostep/macrostep-0.9.ebuild30
-rw-r--r--app-emacs/macrostep/metadata.xml27
5 files changed, 78 insertions, 0 deletions
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-emacs@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>