1
Fork 0
mirror of https://https.git.savannah.gnu.org/git/guix.git/ synced 2025-07-12 18:10:47 +02:00

gnu: emacs-helpful: Fix build.

* gnu/packages/patches/emacs-helpful-fix-tests.patch: Squash a test fix for
Emacs 30.
* gnu/packages/patches/emacs-helpful-fix-signature.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it here.
* gnu/packages/emacs-xyz.scm (emacs-helpful)[patches]: Use it here.
This commit is contained in:
Liliana Marie Prikler 2025-03-02 13:20:28 +01:00
parent d1885dfab6
commit d681f2815c
No known key found for this signature in database
GPG key ID: 442A84B8C70E2F87
4 changed files with 49 additions and 10 deletions

View file

@ -1230,6 +1230,7 @@ dist_patch_DATA = \
%D%/packages/patches/emacs-eglot-x-fix-apply-text-edits.patch \
%D%/packages/patches/emacs-exec-path.patch \
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \
%D%/packages/patches/emacs-helpful-fix-signature.patch \
%D%/packages/patches/emacs-helpful-fix-tests.patch \
%D%/packages/patches/emacs-highlight-stages-add-gexp.patch \
%D%/packages/patches/emacs-json-reformat-fix-tests.patch \

View file

@ -28503,7 +28503,9 @@ downloading manager for Emacs.")
(file-name (git-file-name name version))
(sha256
(base32 "03afgdbs5nmhw833svrqky7fmfs1zlvqzcj7j5g29sakivs60xqc"))
(patches (search-patches "emacs-helpful-fix-tests.patch"))))
(patches (search-patches
"emacs-helpful-fix-signature.patch"
"emacs-helpful-fix-tests.patch"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-dash emacs-elisp-refs emacs-f emacs-s))

View file

@ -0,0 +1,34 @@
From 3794389ef685b6a59b3a487d0492c3add3c42c2f Mon Sep 17 00:00:00 2001
From: Xiyue Deng <manphiz@gmail.com>
Date: Wed, 26 Feb 2025 15:39:42 -0800
Subject: [PATCH] Check for interpreted-function-p
Emacs 30.x added interpreted-function which is different from
byte-code-function, and hence helpful--signature will try to treat it
like a lambda which will fail with
,----
| (wrong-type-argument listp #[(x) (x) (t) nil "Foo"])
`----
This patch adds tests for such case using interpreted-function-p when
it's available.
---
helpful.el | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/helpful.el b/helpful.el
index b100816..331ece8 100644
--- a/helpful.el
+++ b/helpful.el
@@ -2570,7 +2570,9 @@ For example, \"(some-func FOO &optional BAR)\"."
(cond
((symbolp sym)
(help-function-arglist sym))
- ((byte-code-function-p sym)
+ ((or (byte-code-function-p sym)
+ (if (fboundp 'interpreted-function-p)
+ (interpreted-function-p sym)))
;; argdesc can be a list of arguments or an integer
;; encoding the min/max number of arguments. See
;; Byte-Code Function Objects in the elisp manual.

View file

@ -1,16 +1,18 @@
From 233e254bbe44f70ca899a506b3706af489228fda Mon Sep 17 00:00:00 2001
From: aagon <aymeric.agon@hotmail.fr>
Date: Thu, 10 Aug 2023 20:03:52 +0200
Subject: [PATCH] Repair helpful--display-implementations test for emacs 29.1
---
test/helpful-unit-test.el | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/test/helpful-unit-test.el b/test/helpful-unit-test.el
index 0f5177b..0716b0d 100644
--- a/test/helpful-unit-test.el
+++ b/test/helpful-unit-test.el
@@ -734,7 +734,9 @@ associated a lambda with a keybinding."
(should
(equal
(length (helpful--keymaps-containing #'helpful--dummy-command))
- 2))
+ (if (< emacs-major-version 30)
+ 2
+ 3)))
;; Undo keybinding.
(global-set-key (kbd "C-c M-S-c") nil)
@@ -1089,8 +1089,12 @@ find the source code."
(require 'xref)
(helpful-function 'xref-location-marker)