emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/help-fns.el [lexbind]


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/lisp/help-fns.el [lexbind]
Date: Sat, 04 Sep 2004 05:46:15 -0400

Index: emacs/lisp/help-fns.el
diff -c emacs/lisp/help-fns.el:1.9.2.13 emacs/lisp/help-fns.el:1.9.2.14
*** emacs/lisp/help-fns.el:1.9.2.13     Tue Jul  6 09:44:44 2004
--- emacs/lisp/help-fns.el      Sat Sep  4 09:20:09 2004
***************
*** 275,281 ****
      doc))
  
  (defun help-highlight-arguments (usage doc &rest args)
!   (when usage
      (with-temp-buffer
        (insert usage)
        (goto-char (point-min))
--- 275,281 ----
      doc))
  
  (defun help-highlight-arguments (usage doc &rest args)
!   (when (and usage (string-match "^(" usage))
      (with-temp-buffer
        (insert usage)
        (goto-char (point-min))
***************
*** 317,322 ****
--- 317,329 ----
                   (concat beg "built-in function")))
                ((byte-code-function-p def)
                 (concat beg "compiled Lisp function"))
+               ((and (funvecp def) (eq (aref def 0) 'curry))
+                (if (symbolp (aref def 1))
+                    (format "a curried function calling `%s'" (aref def 1))
+                  "a curried function"))
+               ((funvecp def)
+                (format "a function-vector (funvec) of type `%s'"
+                        (aref def 0)))
                ((symbolp def)
                 (while (symbolp (symbol-function def))
                   (setq def (symbol-function def)))
***************
*** 438,446 ****
                          ((or (stringp def)
                               (vectorp def))
                           (format "\nMacro: %s" (format-kbd-macro def)))
                          (t "[Missing arglist.  Please make a bug report.]")))
                   (high (help-highlight-arguments use doc)))
!             (insert (car high) "\n")
              (setq doc (cdr high))))
          (let ((obsolete (and
                           ;; function might be a lambda construct.
--- 445,469 ----
                          ((or (stringp def)
                               (vectorp def))
                           (format "\nMacro: %s" (format-kbd-macro def)))
+                       ((and (funvecp def) (eq (aref def 0) 'curry))
+                        ;; Describe a curried-function's function and args
+                        (let ((slot 0))
+                          (mapconcat (lambda (arg)
+                                       (setq slot (1+ slot))
+                                       (cond
+                                        ((= slot 1) "")
+                                        ((= slot 2)
+                                         (format "  Function: %S" arg))
+                                        (t
+                                         (format "Argument %d: %S"
+                                                 (- slot 3) arg))))
+                                     def
+                                     "\n")))
+                       ((funvecp def) nil)
                          (t "[Missing arglist.  Please make a bug report.]")))
                   (high (help-highlight-arguments use doc)))
!           (when (car high)
!             (insert (car high) "\n"))
              (setq doc (cdr high))))
          (let ((obsolete (and
                           ;; function might be a lambda construct.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]