aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorŠtěpán Němec2020-03-01 18:50:14 +0100
committerŠtěpán Němec2020-04-18 17:10:02 +0200
commit067b0705986572e42687334c4eaf32988f22f680 (patch)
tree70129d8ec8e109cb64f895e462298adf2c2636e8 /lisp
parentf3b62b6c62c41d2e5d15418ea940bce6b11bdf7d (diff)
downloademacs-067b0705986572e42687334c4eaf32988f22f680.tar.gz
emacs-067b0705986572e42687334c4eaf32988f22f680.zip
; Fix some typos and doc issues (bug#40695)
Diffstat (limited to 'lisp')
-rw-r--r--lisp/emacs-lisp/bytecomp.el2
-rw-r--r--lisp/emacs-lisp/checkdoc.el2
-rw-r--r--lisp/emacs-lisp/cl-macs.el8
-rw-r--r--lisp/emacs-lisp/elp.el2
-rw-r--r--lisp/emacs-lisp/generator.el32
-rw-r--r--lisp/emacs-lisp/gv.el2
-rw-r--r--lisp/emacs-lisp/lisp-mode.el2
-rw-r--r--lisp/image/exif.el4
-rw-r--r--lisp/international/mule-util.el2
-rw-r--r--lisp/json.el2
-rw-r--r--lisp/minibuffer.el4
-rw-r--r--lisp/obsolete/cl.el2
-rw-r--r--lisp/startup.el8
-rw-r--r--lisp/subr.el6
-rw-r--r--lisp/textmodes/ispell.el10
15 files changed, 42 insertions, 46 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index 73bbc2fe182..688f8cfa4db 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -677,7 +677,7 @@ Each element is (INDEX . VALUE)")
677(byte-defop 112 1 byte-current-buffer) 677(byte-defop 112 1 byte-current-buffer)
678(byte-defop 113 0 byte-set-buffer) 678(byte-defop 113 0 byte-set-buffer)
679(byte-defop 114 0 byte-save-current-buffer 679(byte-defop 114 0 byte-save-current-buffer
680 "To make a binding to record the current buffer") 680 "to make a binding to record the current buffer")
681(byte-defop 115 0 byte-set-mark-OBSOLETE) 681(byte-defop 115 0 byte-set-mark-OBSOLETE)
682(byte-defop 116 1 byte-interactive-p-OBSOLETE) 682(byte-defop 116 1 byte-interactive-p-OBSOLETE)
683 683
diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el
index fa5d1cff417..797493743c0 100644
--- a/lisp/emacs-lisp/checkdoc.el
+++ b/lisp/emacs-lisp/checkdoc.el
@@ -2133,7 +2133,7 @@ buffer, otherwise stop after the first error."
2133 (checkdoc-ispell-init) 2133 (checkdoc-ispell-init)
2134 (unless checkdoc-spellcheck-documentation-flag 2134 (unless checkdoc-spellcheck-documentation-flag
2135 ;; this happens when (checkdoc-ispell-init) can't start `ispell-program-name' 2135 ;; this happens when (checkdoc-ispell-init) can't start `ispell-program-name'
2136 (user-error "No spellchecker installed: check the variable `ispell-program-name'.")) 2136 (user-error "No spellchecker installed: check the variable `ispell-program-name'"))
2137 (save-excursion 2137 (save-excursion
2138 (skip-chars-forward "^a-zA-Z") 2138 (skip-chars-forward "^a-zA-Z")
2139 (let (word sym case-fold-search err word-beginning word-end) 2139 (let (word sym case-fold-search err word-beginning word-end)
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el
index 9edd85e36bf..d56f4151df7 100644
--- a/lisp/emacs-lisp/cl-macs.el
+++ b/lisp/emacs-lisp/cl-macs.el
@@ -776,7 +776,7 @@ The result of the body appears to the compiler as a quoted constant."
776 "Eval EXPR and choose among clauses on that value. 776 "Eval EXPR and choose among clauses on that value.
777Each clause looks like (KEYLIST BODY...). EXPR is evaluated and 777Each clause looks like (KEYLIST BODY...). EXPR is evaluated and
778compared against each key in each KEYLIST; the corresponding BODY 778compared against each key in each KEYLIST; the corresponding BODY
779is evaluated. If no clause succeeds, cl-case returns nil. A 779is evaluated. If no clause succeeds, this macro returns nil. A
780single non-nil atom may be used in place of a KEYLIST of one 780single non-nil atom may be used in place of a KEYLIST of one
781atom. A KEYLIST of t or `otherwise' is allowed only in the final 781atom. A KEYLIST of t or `otherwise' is allowed only in the final
782clause, and matches if no other keys match. Key values are 782clause, and matches if no other keys match. Key values are
@@ -815,10 +815,10 @@ compared by `eql'.
815 815
816;;;###autoload 816;;;###autoload
817(defmacro cl-typecase (expr &rest clauses) 817(defmacro cl-typecase (expr &rest clauses)
818 "Evals EXPR, chooses among clauses on that value. 818 "Eval EXPR and choose among clauses on that value.
819Each clause looks like (TYPE BODY...). EXPR is evaluated and, if it 819Each clause looks like (TYPE BODY...). EXPR is evaluated and, if it
820satisfies TYPE, the corresponding BODY is evaluated. If no clause succeeds, 820satisfies TYPE, the corresponding BODY is evaluated. If no clause succeeds,
821cl-typecase returns nil. A TYPE of t or `otherwise' is allowed only in the 821this macro returns nil. A TYPE of t or `otherwise' is allowed only in the
822final clause, and matches if no other keys match. 822final clause, and matches if no other keys match.
823\n(fn EXPR (TYPE BODY...)...)" 823\n(fn EXPR (TYPE BODY...)...)"
824 (declare (indent 1) 824 (declare (indent 1)
@@ -2707,7 +2707,7 @@ pairs for that slot.
2707Supported keywords for slots are: 2707Supported keywords for slots are:
2708- `:read-only': If this has a non-nil value, that slot cannot be set via `setf'. 2708- `:read-only': If this has a non-nil value, that slot cannot be set via `setf'.
2709- `:documentation': this is a docstring describing the slot. 2709- `:documentation': this is a docstring describing the slot.
2710- `:type': the type of the field; currently unused. 2710- `:type': the type of the field; currently only used for documentation.
2711 2711
2712\(fn NAME &optional DOCSTRING &rest SLOTS)" 2712\(fn NAME &optional DOCSTRING &rest SLOTS)"
2713 (declare (doc-string 2) (indent 1) 2713 (declare (doc-string 2) (indent 1)
diff --git a/lisp/emacs-lisp/elp.el b/lisp/emacs-lisp/elp.el
index 7dd3cbd1a21..f68c0faf09d 100644
--- a/lisp/emacs-lisp/elp.el
+++ b/lisp/emacs-lisp/elp.el
@@ -238,7 +238,7 @@ FUNSYM must be a symbol of a defined function."
238 ;; The info vector data structure is a 2 element vector. The 0th 238 ;; The info vector data structure is a 2 element vector. The 0th
239 ;; element is the call-count, i.e. the total number of times this 239 ;; element is the call-count, i.e. the total number of times this
240 ;; function has been entered. This value is bumped up on entry to 240 ;; function has been entered. This value is bumped up on entry to
241 ;; the function so that non-local exists are still recorded. TBD: 241 ;; the function so that non-local exits are still recorded. TBD:
242 ;; I haven't tested non-local exits at all, so no guarantees. 242 ;; I haven't tested non-local exits at all, so no guarantees.
243 ;; 243 ;;
244 ;; The 1st element is the total amount of time in seconds that has 244 ;; The 1st element is the total amount of time in seconds that has
diff --git a/lisp/emacs-lisp/generator.el b/lisp/emacs-lisp/generator.el
index 8a9b01d580f..26ab2679e22 100644
--- a/lisp/emacs-lisp/generator.el
+++ b/lisp/emacs-lisp/generator.el
@@ -59,7 +59,7 @@
59;; This raw form of iteration is general, but a bit awkward to use, so 59;; This raw form of iteration is general, but a bit awkward to use, so
60;; this library also provides some convenience functions: 60;; this library also provides some convenience functions:
61;; 61;;
62;; `iter-do' is like `cl-do', except that instead of walking a list, 62;; `iter-do' is like `dolist', except that instead of walking a list,
63;; it walks an iterator. `cl-loop' is also extended with a new 63;; it walks an iterator. `cl-loop' is also extended with a new
64;; keyword, `iter-by', that iterates over an iterator. 64;; keyword, `iter-by', that iterates over an iterator.
65;; 65;;
@@ -67,7 +67,7 @@
67;;; Implementation: 67;;; Implementation:
68 68
69;; 69;;
70;; The internal cps transformation code uses the cps- namespace. 70;; The internal CPS transformation code uses the cps- namespace.
71;; Iteration functions use the `iter-' namespace. Generator functions 71;; Iteration functions use the `iter-' namespace. Generator functions
72;; are somewhat less efficient than conventional elisp routines, 72;; are somewhat less efficient than conventional elisp routines,
73;; although we try to avoid CPS transformation on forms that do not 73;; although we try to avoid CPS transformation on forms that do not
@@ -89,13 +89,13 @@
89 `(gensym (format ,fmt ,@args))) 89 `(gensym (format ,fmt ,@args)))
90 90
91(defvar cps--dynamic-wrappers '(identity) 91(defvar cps--dynamic-wrappers '(identity)
92 "List of transformer functions to apply to atomic forms we 92 "List of functions to apply to atomic forms.
93evaluate in CPS context.") 93These are transformer functions applied to atomic forms evaluated
94in CPS context.")
94 95
95(defconst cps-standard-special-forms 96(defconst cps-standard-special-forms
96 '(setq setq-default throw interactive) 97 '(setq setq-default throw interactive)
97 "List of special forms that we treat just like ordinary 98 "List of special forms treated just like ordinary function applications." )
98 function applications." )
99 99
100(defun cps--trace-funcall (func &rest args) 100(defun cps--trace-funcall (func &rest args)
101 (message "%S: args=%S" func args) 101 (message "%S: args=%S" func args)
@@ -118,17 +118,15 @@ evaluate in CPS context.")
118 (error "%s not supported in generators" ,function))) 118 (error "%s not supported in generators" ,function)))
119 119
120(defmacro cps--with-value-wrapper (wrapper &rest body) 120(defmacro cps--with-value-wrapper (wrapper &rest body)
121 "Continue generating CPS code with an atomic-form wrapper 121 "Evaluate BODY with WRAPPER added to the stack of atomic-form wrappers.
122to the current stack of such wrappers. WRAPPER is a function that 122WRAPPER is a function that takes an atomic form and returns a wrapped form.
123takes a form and returns a wrapped form.
124 123
125Whenever we generate an atomic form (i.e., a form that can't 124Whenever we generate an atomic form (i.e., a form that can't
126`iter-yield'), we first (before actually inserting that form in our 125`iter-yield'), we first (before actually inserting that form in our
127generated code) pass that form through all the transformer 126generated code) pass that form through all the transformer
128functions. We use this facility to wrap forms that can transfer 127functions. We use this facility to wrap forms that can transfer
129control flow non-locally in goo that diverts this control flow to 128control flow non-locally in goo that diverts this control flow to
130the CPS state machinery. 129the CPS state machinery."
131"
132 (declare (indent 1)) 130 (declare (indent 1))
133 `(let ((cps--dynamic-wrappers 131 `(let ((cps--dynamic-wrappers
134 (cons 132 (cons
@@ -153,7 +151,7 @@ DYNAMIC-VAR bound to STATIC-VAR."
153 ,@body)) 151 ,@body))
154 152
155(defun cps--add-state (kind body) 153(defun cps--add-state (kind body)
156 "Create a new CPS state with body BODY and return the state's name." 154 "Create a new CPS state of KIND with BODY and return the state's name."
157 (declare (indent 1)) 155 (declare (indent 1))
158 (let* ((state (cps--gensym "cps-state-%s-" kind))) 156 (let* ((state (cps--gensym "cps-state-%s-" kind)))
159 (push (list state body cps--cleanup-function) cps--states) 157 (push (list state body cps--cleanup-function) cps--states)
@@ -170,14 +168,12 @@ DYNAMIC-VAR bound to STATIC-VAR."
170 (and (fboundp handler) handler))) 168 (and (fboundp handler) handler)))
171 169
172(defvar cps-inhibit-atomic-optimization nil 170(defvar cps-inhibit-atomic-optimization nil
173 "When non-nil, always rewrite forms into cps even when they 171 "When non-nil, always rewrite forms into CPS even when they don't yield.")
174don't yield.")
175 172
176(defvar cps--yield-seen) 173(defvar cps--yield-seen)
177 174
178(defun cps--atomic-p (form) 175(defun cps--atomic-p (form)
179 "Return whether the given form never yields." 176 "Return nil if FORM can yield, non-nil otherwise."
180
181 (and (not cps-inhibit-atomic-optimization) 177 (and (not cps-inhibit-atomic-optimization)
182 (let* ((cps--yield-seen)) 178 (let* ((cps--yield-seen))
183 (ignore (macroexpand-all 179 (ignore (macroexpand-all
@@ -649,8 +645,8 @@ modified copy."
649(defun iter-yield (value) 645(defun iter-yield (value)
650 "When used inside a generator, yield control to caller. 646 "When used inside a generator, yield control to caller.
651The caller of `iter-next' receives VALUE, and the next call to 647The caller of `iter-next' receives VALUE, and the next call to
652`iter-next' resumes execution at the previous 648`iter-next' resumes execution with the form immediately following this
653`iter-yield' point." 649`iter-yield' call."
654 (identity value) 650 (identity value)
655 (error "`iter-yield' used outside a generator")) 651 (error "`iter-yield' used outside a generator"))
656 652
diff --git a/lisp/emacs-lisp/gv.el b/lisp/emacs-lisp/gv.el
index b43e53b9d27..065a9688770 100644
--- a/lisp/emacs-lisp/gv.el
+++ b/lisp/emacs-lisp/gv.el
@@ -38,7 +38,7 @@
38;; 38;;
39;; Instead, we use here a higher-order approach: instead 39;; Instead, we use here a higher-order approach: instead
40;; of a 5-tuple, a place-expander returns a function. 40;; of a 5-tuple, a place-expander returns a function.
41;; If you think about types, the old approach return things of type 41;; If you think about types, the old approach returns things of type
42;; {vars: List Var, values: List Exp, 42;; {vars: List Var, values: List Exp,
43;; stores: List Var, getter: Exp, setter: Exp} 43;; stores: List Var, getter: Exp, setter: Exp}
44;; whereas the new approach returns a function of type 44;; whereas the new approach returns a function of type
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el
index fbbd389bf96..fa857cd4c6b 100644
--- a/lisp/emacs-lisp/lisp-mode.el
+++ b/lisp/emacs-lisp/lisp-mode.el
@@ -535,7 +535,7 @@ This will generate compile-time constants from BINDINGS."
535 535
536;; Support backtrace mode. 536;; Support backtrace mode.
537(defconst lisp-el-font-lock-keywords-for-backtraces lisp-el-font-lock-keywords 537(defconst lisp-el-font-lock-keywords-for-backtraces lisp-el-font-lock-keywords
538 "Default highlighting from Emacs Lisp mod used in Backtrace mode.") 538 "Default highlighting from Emacs Lisp mode used in Backtrace mode.")
539(defconst lisp-el-font-lock-keywords-for-backtraces-1 lisp-el-font-lock-keywords-1 539(defconst lisp-el-font-lock-keywords-for-backtraces-1 lisp-el-font-lock-keywords-1
540 "Subdued highlighting from Emacs Lisp mode used in Backtrace mode.") 540 "Subdued highlighting from Emacs Lisp mode used in Backtrace mode.")
541(defconst lisp-el-font-lock-keywords-for-backtraces-2 541(defconst lisp-el-font-lock-keywords-for-backtraces-2
diff --git a/lisp/image/exif.el b/lisp/image/exif.el
index 065456dc318..6aeb52c726d 100644
--- a/lisp/image/exif.el
+++ b/lisp/image/exif.el
@@ -95,7 +95,7 @@ mirrored or not.")
95 "Parse FILE (a JPEG file) and return the Exif data, if any. 95 "Parse FILE (a JPEG file) and return the Exif data, if any.
96The return value is a list of Exif items. 96The return value is a list of Exif items.
97 97
98If the data is invalid, an `exif-error' is signalled." 98If the data is invalid, an `exif-error' is signaled."
99 (with-temp-buffer 99 (with-temp-buffer
100 (set-buffer-multibyte nil) 100 (set-buffer-multibyte nil)
101 (insert-file-contents-literally file) 101 (insert-file-contents-literally file)
@@ -105,7 +105,7 @@ If the data is invalid, an `exif-error' is signalled."
105 "Parse BUFFER (which should be a JPEG file) and return the Exif data, if any. 105 "Parse BUFFER (which should be a JPEG file) and return the Exif data, if any.
106The return value is a list of Exif items. 106The return value is a list of Exif items.
107 107
108If the data is invalid, an `exif-error' is signalled." 108If the data is invalid, an `exif-error' is signaled."
109 (setq buffer (or buffer (current-buffer))) 109 (setq buffer (or buffer (current-buffer)))
110 (with-current-buffer buffer 110 (with-current-buffer buffer
111 (if enable-multibyte-characters 111 (if enable-multibyte-characters
diff --git a/lisp/international/mule-util.el b/lisp/international/mule-util.el
index caa5747817c..5cc10b1315a 100644
--- a/lisp/international/mule-util.el
+++ b/lisp/international/mule-util.el
@@ -75,7 +75,7 @@ unless the display width of STR is equal to or less than the display
75width of ELLIPSIS. If it is non-nil and not a string, then ELLIPSIS 75width of ELLIPSIS. If it is non-nil and not a string, then ELLIPSIS
76defaults to `truncate-string-ellipsis'. 76defaults to `truncate-string-ellipsis'.
77 77
78If ELLIPSIS-TEXT-PROPERTY in non-nil, a too-long string will not 78If ELLIPSIS-TEXT-PROPERTY is non-nil, a too-long string will not
79be truncated, but instead the elided parts will be covered by a 79be truncated, but instead the elided parts will be covered by a
80`display' text property showing the ellipsis." 80`display' text property showing the ellipsis."
81 (or start-column 81 (or start-column
diff --git a/lisp/json.el b/lisp/json.el
index 18d7fda8822..ac323dac295 100644
--- a/lisp/json.el
+++ b/lisp/json.el
@@ -735,7 +735,7 @@ you will get the following structure returned:
735 735
736OBJECT should have a structure like one returned by `json-read'. 736OBJECT should have a structure like one returned by `json-read'.
737If an error is detected during encoding, an error based on 737If an error is detected during encoding, an error based on
738`json-error' is signalled." 738`json-error' is signaled."
739 (cond ((memq object (list t json-null json-false)) 739 (cond ((memq object (list t json-null json-false))
740 (json-encode-keyword object)) 740 (json-encode-keyword object))
741 ((stringp object) (json-encode-string object)) 741 ((stringp object) (json-encode-string object))
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index b81f778eb4f..f6e2b236f3e 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -163,8 +163,8 @@ perform completion, no matter what ACTION is.
163 163
164If ACTION is `metadata' or a list where the first element is 164If ACTION is `metadata' or a list where the first element is
165`boundaries', return nil. If ACTION is nil, this function works 165`boundaries', return nil. If ACTION is nil, this function works
166like `try-completion'; if it's t, this function works like 166like `try-completion'; if it is t, this function works like
167`all-completion'; and any other values makes it work like 167`all-completion'; and any other value makes it work like
168`test-completion'." 168`test-completion'."
169 (cond 169 (cond
170 ((functionp collection) (funcall collection string predicate action)) 170 ((functionp collection) (funcall collection string predicate action))
diff --git a/lisp/obsolete/cl.el b/lisp/obsolete/cl.el
index 1da4289b695..20bffffd781 100644
--- a/lisp/obsolete/cl.el
+++ b/lisp/obsolete/cl.el
@@ -509,7 +509,7 @@ This method shows how to handle `setf's to places of the form
509ARGLIST, as if NAME were going to be expanded as a macro, then 509ARGLIST, as if NAME were going to be expanded as a macro, then
510the BODY forms are executed and must return a list of five elements: 510the BODY forms are executed and must return a list of five elements:
511a temporary-variables list, a value-forms list, a store-variables list 511a temporary-variables list, a value-forms list, a store-variables list
512\(of length one), a store-form, and an access- form. 512\(of length one), a store-form, and an access-form.
513 513
514See `gv-define-expander', and `gv-define-setter' for better and 514See `gv-define-expander', and `gv-define-setter' for better and
515simpler ways to define setf-methods." 515simpler ways to define setf-methods."
diff --git a/lisp/startup.el b/lisp/startup.el
index 5af264e3ef7..bff10003f84 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -352,11 +352,11 @@ Setting `init-file-user' does not prevent Emacs from loading
352 352
353(defcustom site-run-file (purecopy "site-start") 353(defcustom site-run-file (purecopy "site-start")
354 "File containing site-wide run-time initializations. 354 "File containing site-wide run-time initializations.
355This file is loaded at run-time before `~/.emacs'. It contains inits 355This file is loaded at run-time before `user-init-file'. It contains
356that need to be in place for the entire site, but which, due to their 356inits that need to be in place for the entire site, but which, due to
357higher incidence of change, don't make sense to put into Emacs's 357their higher incidence of change, don't make sense to put into Emacs's
358dump file. Thus, the run-time load order is: 1. file described in 358dump file. Thus, the run-time load order is: 1. file described in
359this variable, if non-nil; 2. `~/.emacs'; 3. `default.el'. 359this variable, if non-nil; 2. `user-init-file'; 3. `default.el'.
360 360
361Don't use the `site-start.el' file for things some users may not like. 361Don't use the `site-start.el' file for things some users may not like.
362Put them in `default.el' instead, so that users can more easily 362Put them in `default.el' instead, so that users can more easily
diff --git a/lisp/subr.el b/lisp/subr.el
index a744cfddfd4..33194e4ffa2 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -385,7 +385,7 @@ entry to the debugger, even when `debug-on-error' is non-nil.
385This can be overridden by `debug-ignored-errors'. 385This can be overridden by `debug-ignored-errors'.
386 386
387To signal with MESSAGE without interpreting format characters 387To signal with MESSAGE without interpreting format characters
388like `%', `\\=`' and `\\='', use (error \"%s\" MESSAGE). 388like `%', `\\=`' and `\\='', use (user-error \"%s\" MESSAGE).
389In Emacs, the convention is that error messages start with a capital 389In Emacs, the convention is that error messages start with a capital
390letter but *do not* end with a period. Please follow this convention 390letter but *do not* end with a period. Please follow this convention
391for the sake of consistency." 391for the sake of consistency."
@@ -3290,7 +3290,7 @@ alternatives."
3290 3290
3291(defun function-get (f prop &optional autoload) 3291(defun function-get (f prop &optional autoload)
3292 "Return the value of property PROP of function F. 3292 "Return the value of property PROP of function F.
3293If AUTOLOAD is non-nil and F is autoloaded, try to autoload it 3293If AUTOLOAD is non-nil and F is autoloaded, try to load it
3294in the hope that it will set PROP. If AUTOLOAD is `macro', do it only 3294in the hope that it will set PROP. If AUTOLOAD is `macro', do it only
3295if it's an autoloaded macro." 3295if it's an autoloaded macro."
3296 (let ((val nil)) 3296 (let ((val nil))
@@ -4997,7 +4997,7 @@ The properties used on SYMBOL are `composefunc', `sendfunc',
4997(defun backtrace-frames (&optional base) 4997(defun backtrace-frames (&optional base)
4998 "Collect all frames of current backtrace into a list. 4998 "Collect all frames of current backtrace into a list.
4999If non-nil, BASE should be a function, and frames before its 4999If non-nil, BASE should be a function, and frames before its
5000nearest activation frames are discarded." 5000nearest activation frame are discarded."
5001 (let ((frames nil)) 5001 (let ((frames nil))
5002 (mapbacktrace (lambda (&rest frame) (push frame frames)) 5002 (mapbacktrace (lambda (&rest frame) (push frame frames))
5003 (or base 'backtrace-frames)) 5003 (or base 'backtrace-frames))
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index a9fbd2f04cb..65f61644b6d 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -800,8 +800,8 @@ Otherwise returns the library directory name, if that is defined."
800 800
801(defun ispell-create-debug-buffer (&optional append) 801(defun ispell-create-debug-buffer (&optional append)
802 "Create an ispell debug buffer for debugging output. 802 "Create an ispell debug buffer for debugging output.
803If APPEND is non-nil, append the info to previous buffer if exists, 803If APPEND is non-nil, add output to the old buffer if it exists,
804otherwise is reset. Returns name of ispell debug buffer. 804otherwise the buffer is erased first. Returns the debug buffer.
805See `ispell-buffer-with-debug' for an example of use." 805See `ispell-buffer-with-debug' for an example of use."
806 (let ((ispell-debug-buffer (get-buffer-create "*ispell-debug*"))) 806 (let ((ispell-debug-buffer (get-buffer-create "*ispell-debug*")))
807 (with-current-buffer ispell-debug-buffer 807 (with-current-buffer ispell-debug-buffer
@@ -812,7 +812,7 @@ See `ispell-buffer-with-debug' for an example of use."
812 ispell-debug-buffer)) 812 ispell-debug-buffer))
813 813
814(defsubst ispell-print-if-debug (format &rest args) 814(defsubst ispell-print-if-debug (format &rest args)
815 "Print message using FORMAT and ARGS to `ispell-debug-buffer' buffer if enabled." 815 "Print message using FORMAT and ARGS to `ispell-debug-buffer' if enabled."
816 (if (boundp 'ispell-debug-buffer) 816 (if (boundp 'ispell-debug-buffer)
817 (with-current-buffer ispell-debug-buffer 817 (with-current-buffer ispell-debug-buffer
818 (goto-char (point-max)) 818 (goto-char (point-max))
@@ -3618,8 +3618,8 @@ Returns the sum SHIFT due to changes in word replacements."
3618 3618
3619;;;###autoload 3619;;;###autoload
3620(defun ispell-buffer-with-debug (&optional append) 3620(defun ispell-buffer-with-debug (&optional append)
3621 "`ispell-buffer' with some output sent to `ispell-debug-buffer' buffer. 3621 "`ispell-buffer' with some output sent to `ispell-debug-buffer'.
3622If APPEND is non-n il, append the info to previous buffer if exists." 3622If APPEND is non-nil, don't erase previous debugging output."
3623 (interactive) 3623 (interactive)
3624 (let ((ispell-debug-buffer (ispell-create-debug-buffer append))) 3624 (let ((ispell-debug-buffer (ispell-create-debug-buffer append)))
3625 (ispell-buffer))) 3625 (ispell-buffer)))