emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] emacs/lisp ChangeLog help-fns.el emacs-lisp/eld...


From: Stefan Monnier
Subject: [Emacs-diffs] emacs/lisp ChangeLog help-fns.el emacs-lisp/eld...
Date: Fri, 02 Oct 2009 14:36:58 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Stefan Monnier <monnier>        09/10/02 14:36:57

Modified files:
        lisp           : ChangeLog help-fns.el 
        lisp/emacs-lisp: eldoc.el 

Log message:
        * help-fns.el (help-function-arglist): Don't check 
advertised-signature-table.
        (describe-function-1): Do it here instead so it also applies to subrs.
        * emacs-lisp/eldoc.el (eldoc-get-fnsym-args-string):
        Obey advertised-signature-table.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/ChangeLog?cvsroot=emacs&r1=1.16325&r2=1.16326
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/help-fns.el?cvsroot=emacs&r1=1.142&r2=1.143
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/emacs-lisp/eldoc.el?cvsroot=emacs&r1=1.57&r2=1.58

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.16325
retrieving revision 1.16326
diff -u -b -r1.16325 -r1.16326
--- ChangeLog   2 Oct 2009 13:37:38 -0000       1.16325
+++ ChangeLog   2 Oct 2009 14:36:54 -0000       1.16326
@@ -1,3 +1,12 @@
+2009-10-02  Stefan Monnier  <address@hidden>
+
+       * emacs-lisp/eldoc.el (eldoc-get-fnsym-args-string):
+       Obey advertised-signature-table.
+
+       * help-fns.el (help-function-arglist): Don't check
+       advertised-signature-table.
+       (describe-function-1): Do it here instead so it also applies to subrs.
+
 2009-10-02  Michael Albinus  <address@hidden>
 
        * simple.el (start-file-process): Say in the doc-string, that file
@@ -9,8 +18,8 @@
        (ange-ftp-delete-directory): Implement RECURSIVE case.  Change to
        root directory ("device busy" error otherwise).
 
-       * net/tramp-smb.el (tramp-smb-handle-make-directory-internal): Flush
-       file properties of created directory.
+       * net/tramp-smb.el (tramp-smb-handle-make-directory-internal):
+       Flush file properties of created directory.
 
 2009-10-02  Eli Zaretskii  <address@hidden>
 

Index: help-fns.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/help-fns.el,v
retrieving revision 1.142
retrieving revision 1.143
diff -u -b -r1.142 -r1.143
--- help-fns.el 2 Oct 2009 03:48:41 -0000       1.142
+++ help-fns.el 2 Oct 2009 14:36:57 -0000       1.143
@@ -101,15 +101,13 @@
   ;; Handle symbols aliased to other symbols.
   (if (and (symbolp def) (fboundp def)) (setq def (indirect-function def)))
   ;; If definition is a macro, find the function inside it.
-  (let ((advertised (gethash def advertised-signature-table t)))
-    (if (listp advertised) advertised
       (if (eq (car-safe def) 'macro) (setq def (cdr def)))
       (cond
        ((byte-code-function-p def) (aref def 0))
        ((eq (car-safe def) 'lambda) (nth 1 def))
        ((and (eq (car-safe def) 'autoload) (not (eq (nth 4 def) 'keymap)))
         "[Arg list not available until function definition is loaded.]")
-       (t t)))))
+   (t t)))
 
 (defun help-make-usage (function arglist)
   (cons (if (symbolp function) function 'anonymous)
@@ -469,14 +467,17 @@
                (re-search-backward "`\\([^`']+\\)'" nil t)
                (help-xref-button 1 'help-function-cmacro function lib)))))
        (princ ".\n\n"))
-      (let* ((arglist (help-function-arglist def))
+      (let* ((advertised (gethash def advertised-signature-table t))
+            (arglist (if (listp advertised)
+                         advertised (help-function-arglist def)))
             (doc (documentation function))
             (usage (help-split-fundoc doc function)))
        (with-current-buffer standard-output
          ;; If definition is a keymap, skip arglist note.
          (unless (keymapp function)
+           (if usage (setq doc (cdr usage)))
            (let* ((use (cond
-                        (usage (setq doc (cdr usage)) (car usage))
+                        ((and usage (not (listp advertised))) (car usage))
                         ((listp arglist)
                          (format "%S" (help-make-usage function arglist)))
                         ((stringp arglist) arglist)

Index: emacs-lisp/eldoc.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/emacs-lisp/eldoc.el,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -b -r1.57 -r1.58
--- emacs-lisp/eldoc.el 24 Jan 2009 11:35:00 -0000      1.57
+++ emacs-lisp/eldoc.el 2 Oct 2009 14:36:57 -0000       1.58
@@ -290,11 +290,14 @@
 former calls `eldoc-argument-case'; the latter gives the
 function name `font-lock-function-name-face', and optionally
 highlights argument number INDEX."
-  (let (args doc)
+  (let (args doc advertised)
     (cond ((not (and sym (symbolp sym) (fboundp sym))))
          ((and (eq sym (aref eldoc-last-data 0))
                (eq 'function (aref eldoc-last-data 2)))
           (setq doc (aref eldoc-last-data 1)))
+         ((listp (setq advertised (gethash (indirect-function sym)
+                                           advertised-signature-table t)))
+          (setq args advertised))
          ((setq doc (help-split-fundoc (documentation sym t) sym))
           (setq args (car doc))
           ;; Remove any enclosing (), since e-function-argstring adds them.




reply via email to

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