summaryrefslogtreecommitdiff
path: root/lisp/help-fns.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/help-fns.el')
-rw-r--r--lisp/help-fns.el18
1 files changed, 12 insertions, 6 deletions
diff --git a/lisp/help-fns.el b/lisp/help-fns.el
index 9ffb7ff59cd..7979ef3328a 100644
--- a/lisp/help-fns.el
+++ b/lisp/help-fns.el
@@ -181,8 +181,8 @@ KIND should be `var' for a variable or `subr' for a subroutine."
(expand-file-name internal-doc-file-name doc-directory)))
(let ((file (catch 'loop
(while t
- (let ((pnt (search-forward (concat "" name "\n"))))
- (re-search-backward "S\\(.*\\)")
+ (let ((pnt (search-forward (concat "\^_" name "\n"))))
+ (re-search-backward "\^_S\\(.*\\)")
(let ((file (match-string 1)))
(if (member file build-files)
(throw 'loop file)
@@ -642,6 +642,8 @@ Returns a list of the form (REAL-FUNCTION DEF ALIASED REAL-DEF)."
(concat beg "Lisp macro"))
((byte-code-function-p def)
(concat beg "compiled Lisp function"))
+ ((module-function-p def)
+ (concat beg "module function"))
((eq (car-safe def) 'lambda)
(concat beg "Lisp function"))
((eq (car-safe def) 'closure)
@@ -721,6 +723,10 @@ Returns a list of the form (REAL-FUNCTION DEF ALIASED REAL-DEF)."
((invalid-function void-function) doc-raw))))
(run-hook-with-args 'help-fns-describe-function-functions function)
(insert "\n" (or doc "Not documented.")))
+ (when (or (function-get function 'pure)
+ (function-get function 'side-effect-free))
+ (insert "\nThis function does not change global state, "
+ "including the match data."))
;; Avoid asking the user annoying questions if she decides
;; to save the help buffer, when her locale's codeset
;; isn't UTF-8.
@@ -1135,7 +1141,7 @@ current buffer and the selected frame, respectively."
(format
"Describe symbol (default %s): " v-or-f)
"Describe symbol: ")
- obarray
+ #'help--symbol-completion-table
(lambda (vv)
(cl-some (lambda (x) (funcall (nth 1 x) vv))
describe-symbol-backends))
@@ -1287,7 +1293,7 @@ BUFFER should be a buffer or a buffer name."
".AU Richard M. Stallman\n")
(insert-file-contents file)
(let (notfirst)
- (while (search-forward "" nil 'move)
+ (while (search-forward "\^_" nil 'move)
(if (= (following-char) ?S)
(delete-region (1- (point)) (line-end-position))
(delete-char -1)
@@ -1320,12 +1326,12 @@ BUFFER should be a buffer or a buffer name."
(insert "@")
(forward-char 1))
(goto-char (point-min))
- (while (search-forward "" nil t)
+ (while (search-forward "\^_" nil t)
(when (/= (following-char) ?S)
(setq type (char-after)
name (buffer-substring (1+ (point)) (line-end-position))
doc (buffer-substring (line-beginning-position 2)
- (if (search-forward "" nil 'move)
+ (if (search-forward "\^_" nil 'move)
(1- (point))
(point)))
alist (cons (list name type doc) alist))