X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/bba90ab24e80476efcad6b6a770fd5fda522a621..73b1b3ad6196234984a29298bc66eabf1299de66:/lisp/help-fns.el diff --git a/lisp/help-fns.el b/lisp/help-fns.el index bdf8601684..52aa0517fa 100644 --- a/lisp/help-fns.el +++ b/lisp/help-fns.el @@ -435,14 +435,19 @@ suitable file is found, return nil." (let ((handler (function-get function 'compiler-macro))) (when handler (insert "\nThis function has a compiler macro") - (let ((lib (get function 'compiler-macro-file))) - ;; FIXME: rather than look at the compiler-macro-file property, - ;; just look at `handler' itself. - (when (stringp lib) - (insert (format " in `%s'" lib)) - (save-excursion - (re-search-backward "`\\([^`']+\\)'" nil t) - (help-xref-button 1 'help-function-cmacro function lib)))) + (if (symbolp handler) + (progn + (insert (format " `%s'" handler)) + (save-excursion + (re-search-backward "`\\([^`']+\\)'" nil t) + (help-xref-button 1 'help-function handler))) + ;; FIXME: Obsolete since 24.4. + (let ((lib (get function 'compiler-macro-file))) + (when (stringp lib) + (insert (format " in `%s'" lib)) + (save-excursion + (re-search-backward "`\\([^`']+\\)'" nil t) + (help-xref-button 1 'help-function-cmacro function lib))))) (insert ".\n")))) (defun help-fns--signature (function doc real-def real-function) @@ -870,8 +875,10 @@ it is displayed along with the global value." (princ "buffer-local when set.\n")) ((not permanent-local)) ((bufferp locus) + (setq extra-line t) (princ " This variable's buffer-local value is permanent.\n")) (t + (setq extra-line t) (princ " This variable's value is permanent \ if it is given a local binding.\n")))