Package: guix-patches;
Reported by: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Date: Sun, 2 Mar 2025 14:30:03 UTC
Severity: normal
Tags: patch
Message #23 received at 76686 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: 76686 <at> debbugs.gnu.org Subject: [PATCH emacs-team 06/45] gnu: emacs-helpful: Fix build. Date: Sun, 2 Mar 2025 13:20:28 +0100
* 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. --- gnu/local.mk | 1 + gnu/packages/emacs-xyz.scm | 4 ++- .../patches/emacs-helpful-fix-signature.patch | 34 +++++++++++++++++++ .../patches/emacs-helpful-fix-tests.patch | 20 ++++++----- 4 files changed, 49 insertions(+), 10 deletions(-) create mode 100644 gnu/packages/patches/emacs-helpful-fix-signature.patch diff --git a/gnu/local.mk b/gnu/local.mk index 97e26b8468a..3b1c784ddc0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1219,6 +1219,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 \ diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 1feab918362..80abd3f1ccf 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -27437,7 +27437,9 @@ (define-public emacs-helpful (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)) diff --git a/gnu/packages/patches/emacs-helpful-fix-signature.patch b/gnu/packages/patches/emacs-helpful-fix-signature.patch new file mode 100644 index 00000000000..867df443cbe --- /dev/null +++ b/gnu/packages/patches/emacs-helpful-fix-signature.patch @@ -0,0 +1,34 @@ +From 3794389ef685b6a59b3a487d0492c3add3c42c2f Mon Sep 17 00:00:00 2001 +From: Xiyue Deng <manphiz <at> 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. \ No newline at end of file diff --git a/gnu/packages/patches/emacs-helpful-fix-tests.patch b/gnu/packages/patches/emacs-helpful-fix-tests.patch index 61ed0671a47..f788a7dee64 100644 --- a/gnu/packages/patches/emacs-helpful-fix-tests.patch +++ b/gnu/packages/patches/emacs-helpful-fix-tests.patch @@ -1,16 +1,18 @@ -From 233e254bbe44f70ca899a506b3706af489228fda Mon Sep 17 00:00:00 2001 -From: aagon <aymeric.agon <at> 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) -- 2.48.1
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.