]> git.eshelyaron.com Git - emacs.git/commitdiff
(cl--generic-describe): Fix regression introduced by fix to bug#54628
authorStefan Monnier <monnier@iro.umontreal.ca>
Sun, 11 Feb 2024 23:13:27 +0000 (18:13 -0500)
committerEshel Yaron <me@eshelyaron.com>
Mon, 12 Feb 2024 07:02:20 +0000 (08:02 +0100)
Since that fix, we made other changes (put arg names in allcaps)
which also happen to fix bug#54628, so we can remove the original fix
which was suboptimal when the type includes quotes.

* lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
Don't rebind `print-quoted` to nil.

* test/lisp/emacs-lisp/cl-generic-tests.el
(cl-generic-tests--print-quoted): New test.

(cherry picked from commit 9a1522197fb16986c2f641f777d6bef41c348567)

lisp/emacs-lisp/cl-generic.el
test/lisp/emacs-lisp/cl-generic-tests.el

index a4505a9d82ec582dd0aac9aa8fa1f52386161439..e5affd9af608a6f1df5e9b7c2a97e96461a629a8 100644 (file)
@@ -1145,7 +1145,7 @@ MET-NAME is as returned by `cl--generic-load-hist-format'."
   (declare-function help-fns-short-filename "help-fns" (filename))
   (let ((generic (if (symbolp function) (cl--generic function))))
     (when generic
-      (require 'help-mode)              ;Needed for `help-function-def' button!
+      (require 'help-mode)       ;Needed for `help-function-def' button!
       (save-excursion
         ;; Ensure that we have two blank lines (but not more).
         (unless (looking-back "\n\n" (- (point) 2))
@@ -1157,8 +1157,7 @@ MET-NAME is as returned by `cl--generic-load-hist-format'."
           (pcase-let*
               ((`(,qualifiers ,args ,doc) (cl--generic-method-info method)))
             ;; FIXME: Add hyperlinks for the types as well.
-            (let ((print-quoted nil)
-                  (quals (if (length> qualifiers 0)
+            (let ((quals (if (length> qualifiers 0)
                              (concat (substring qualifiers
                                                 0 (string-match " *\\'"
                                                                 qualifiers))
index 086ac399352ec9e27174f9dc470531e1f6ee8421..990fa580c54cba0e06e41a977f79f73f5028dc6a 100644 (file)
@@ -319,5 +319,19 @@ Edebug symbols (Bug#42672)."
       (and (eq 'error (car err))
            (string-match "Stray.*declare" (cadr err)))))))
 
+(cl-defmethod cl-generic-tests--print-quoted-method ((function (eql '4)))
+  (+ function 1))
+
+(ert-deftest cl-generic-tests--print-quoted ()
+  (with-temp-buffer
+    (cl--generic-describe 'cl-generic-tests--print-quoted-method)
+    (goto-char (point-min))
+    ;; Bug#54628: We don't want (function (eql '4)) to turn into #'(eql '4)
+    (should-not (re-search-forward "#'" nil t))
+    (goto-char (point-min))
+    ;; But we don't want (eql '4) to turn into (eql (quote 4)) either.
+    (should (re-search-forward "(eql '4)" nil t))))
+    
+
 (provide 'cl-generic-tests)
 ;;; cl-generic-tests.el ends here