aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2018-10-31 07:50:57 -0700
committerGlenn Morris2018-10-31 07:50:57 -0700
commit3a739236d061cf44dcba77f163e6087be4fd09fa (patch)
tree37ba2826d46d4157de3b6b7cd2c03264e3467641
parent5fec8294a7eb50a4ada26519cd578006b8d16b35 (diff)
parenteb903d8f20ab0c31daa27a08b0acfd30115c7b5e (diff)
downloademacs-3a739236d061cf44dcba77f163e6087be4fd09fa.tar.gz
emacs-3a739236d061cf44dcba77f163e6087be4fd09fa.zip
Merge from origin/emacs-26
eb903d8 * lisp/emacs-lisp/pcase.el: Improve docstrings. 86abbb3 * lisp/emacs-lisp/rx.el (rx): Fix typo in doc string. (Bug#3... ced58d3 Improve doc string of 'call-process' 38f88a7 Document that generic functions cannot be commands 5aeddfa * lisp/mail/rmailsum.el (rmail-summary-output): Add lost word... 10e0fd8 Add index entries for more isearch commands/bindings (Bug#32990) de28184 * lisp/simple.el (filter-buffer-substring): Clarify doc (Bug#... d192c16 Fix recent change in lispref/processes.texi.
-rw-r--r--doc/emacs/search.texi117
-rw-r--r--doc/lispref/commands.texi3
-rw-r--r--doc/lispref/functions.texi7
-rw-r--r--doc/lispref/processes.texi14
-rw-r--r--lisp/emacs-lisp/pcase.el18
-rw-r--r--lisp/emacs-lisp/rx.el2
-rw-r--r--lisp/mail/rmailsum.el2
-rw-r--r--lisp/simple.el2
-rw-r--r--src/callproc.c21
9 files changed, 119 insertions, 67 deletions
diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi
index c9f3ccc5481..801e8bb33eb 100644
--- a/doc/emacs/search.texi
+++ b/doc/emacs/search.texi
@@ -114,24 +114,30 @@ Isearch}, for more about dealing with unsuccessful search.
114 114
115@cindex exit incremental search 115@cindex exit incremental search
116@cindex incremental search, exiting 116@cindex incremental search, exiting
117@findex isearch-exit
118@kindex RET @r{(Incremental search)}
117 When you are satisfied with the place you have reached, type 119 When you are satisfied with the place you have reached, type
118@key{RET}. This stops searching, leaving the cursor where the search 120@key{RET} (@code{isearch-exit}). This stops searching, leaving the
119brought it. Also, any command not specially meaningful in searches 121cursor where the search brought it. Also, any command not specially
120stops the searching and is then executed. Thus, typing @kbd{C-a} 122meaningful in searches stops the searching and is then executed.
121exits the search and then moves to the beginning of the line; typing 123Thus, typing @kbd{C-a} exits the search and then moves to the
122one of the arrow keys exits the search and performs the respective 124beginning of the line; typing one of the arrow keys exits the search
123movement command; etc. @key{RET} is necessary only if the next 125and performs the respective movement command; etc. @key{RET} is
124command you want to type is a printing character, @key{DEL}, 126necessary only if the next command you want to type is a printing
125@key{RET}, or another character that is special within searches 127character, @key{DEL}, @key{RET}, or another character that is special
126(@kbd{C-q}, @kbd{C-w}, @kbd{C-r}, @kbd{C-s}, @kbd{C-y}, @kbd{M-y}, 128within searches (@kbd{C-q}, @kbd{C-w}, @kbd{C-r}, @kbd{C-s},
127@kbd{M-r}, @kbd{M-c}, @kbd{M-e}, and some others described below). 129@kbd{C-y}, @kbd{M-y}, @kbd{M-r}, @kbd{M-c}, @kbd{M-e}, and some others
128You can fine-tune the commands that exit the search; see @ref{Not 130described below). You can fine-tune the commands that exit the
129Exiting Isearch}. 131search; see @ref{Not Exiting Isearch}.
130 132
131 As a special exception, entering @key{RET} when the search string is 133 As a special exception, entering @key{RET} when the search string is
132empty launches nonincremental search (@pxref{Nonincremental Search}). 134empty launches nonincremental search (@pxref{Nonincremental Search}).
133(This can be customized; see @ref{Search Customizations}.) 135(This can be customized; see @ref{Search Customizations}.)
134 136
137@findex isearch-abort
138@findex isearch-cancel
139@kindex C-g C-g @r{(Incremental Search)}
140@kindex ESC ESC ESC @r{(Incremental Search)}
135 To abandon the search and return to the place where you started, 141 To abandon the search and return to the place where you started,
136type @kbd{@key{ESC} @key{ESC} @key{ESC}} (@code{isearch-cancel}) or 142type @kbd{@key{ESC} @key{ESC} @key{ESC}} (@code{isearch-cancel}) or
137@kbd{C-g C-g} (@code{isearch-abort}). 143@kbd{C-g C-g} (@code{isearch-abort}).
@@ -154,13 +160,18 @@ matches that begin after it.
154@node Repeat Isearch 160@node Repeat Isearch
155@subsection Repeating Incremental Search 161@subsection Repeating Incremental Search
156 162
163@kindex C-s @r{(Incremental Search)}
164@kindex C-r @r{(Incremental Search)}
165@findex isearch-repeat-forward
166@findex isearch-repeat-backward
157 Suppose you search forward for @samp{FOO} and find a match, but not 167 Suppose you search forward for @samp{FOO} and find a match, but not
158the one you expected to find: the @samp{FOO} you were aiming for 168the one you expected to find: the @samp{FOO} you were aiming for
159occurs later in the buffer. In this event, type another @kbd{C-s} to 169occurs later in the buffer. In this event, type another @kbd{C-s}
160move to the next occurrence of the search string. You can repeat this 170(@code{isearch-repeat-forward}) to move to the next occurrence of the
161any number of times. If you overshoot, you can cancel some @kbd{C-s} 171search string. You can repeat this any number of times. If you
162characters with @key{DEL}. Similarly, each @kbd{C-r} in a backward 172overshoot, you can cancel some @kbd{C-s} commands with @key{DEL}.
163incremental search repeats the backward search. 173Similarly, each @kbd{C-r} (@code{isearch-repeat-backward}) in a
174backward incremental search repeats the backward search.
164 175
165@cindex lazy search highlighting 176@cindex lazy search highlighting
166 If you pause for a little while during incremental search, Emacs 177 If you pause for a little while during incremental search, Emacs
@@ -200,12 +211,15 @@ going past the original starting point of the search, it changes to
200you have already seen. 211you have already seen.
201 212
202@cindex search ring 213@cindex search ring
214@findex isearch-ring-advance
215@findex isearch-ring-retreat
203@kindex M-n @r{(Incremental search)} 216@kindex M-n @r{(Incremental search)}
204@kindex M-p @r{(Incremental search)} 217@kindex M-p @r{(Incremental search)}
205@vindex search-ring-max 218@vindex search-ring-max
206 To reuse earlier search strings, use the @dfn{search ring}. The 219 To reuse earlier search strings, use the @dfn{search ring}. The
207commands @kbd{M-p} and @kbd{M-n} move through the ring to pick a 220commands @kbd{M-p} (@code{isearch-ring-retreat}) and @kbd{M-n}
208search string to reuse. These commands leave the selected search ring 221(@code{isearch-ring-advance}) move through the ring to pick a search
222string to reuse. These commands leave the selected search ring
209element in the minibuffer, where you can edit it. Type 223element in the minibuffer, where you can edit it. Type
210@kbd{C-s}/@kbd{C-r} or @key{RET} to accept the string and start 224@kbd{C-s}/@kbd{C-r} or @key{RET} to accept the string and start
211searching for it. The number of most recently used search strings 225searching for it. The number of most recently used search strings
@@ -214,14 +228,16 @@ saved in the search ring is specified by the variable
214 228
215@cindex incremental search, edit search string 229@cindex incremental search, edit search string
216@cindex interactively edit search string 230@cindex interactively edit search string
231@findex isearch-edit-string
217@kindex M-e @r{(Incremental search)} 232@kindex M-e @r{(Incremental search)}
218@kindex mouse-1 @r{in the minibuffer (Incremental Search)} 233@kindex mouse-1 @r{in the minibuffer (Incremental Search)}
219 To edit the current search string in the minibuffer without 234 To edit the current search string in the minibuffer without
220replacing it with items from the search ring, type @kbd{M-e} or click 235replacing it with items from the search ring, type @kbd{M-e}
221@kbd{mouse-1} in the minibuffer. Type @key{RET}, @kbd{C-s} or 236(@code{isearch-edit-string}) or click @kbd{mouse-1} in the minibuffer.
222@kbd{C-r} to finish editing the string and search for it. Type 237Type @key{RET}, @kbd{C-s} or @kbd{C-r} to finish editing the string
223@kbd{C-f} or @kbd{@key{RIGHT}} to add to the search string characters 238and search for it. Type @kbd{C-f} or @kbd{@key{RIGHT}} to add to the
224following point from the buffer from which you started the search. 239search string characters following point from the buffer from which
240you started the search.
225 241
226@node Isearch Yank 242@node Isearch Yank
227@subsection Isearch Yanking 243@subsection Isearch Yanking
@@ -364,17 +380,22 @@ following methods:
364 380
365@itemize @bullet 381@itemize @bullet
366@item 382@item
367Type @kbd{C-q}, followed by a non-graphic character or a sequence of 383@findex isearch-quote-char
368octal digits. This adds a character to the search string, similar to 384@kindex C-q @r{(Incremental Search)}
369inserting into a buffer using @kbd{C-q} (@pxref{Inserting Text}). For 385Type @kbd{C-q} (@code{isearch-quote-char}), followed by a non-graphic
370example, @kbd{C-q C-s} during incremental search adds the 386character or a sequence of octal digits. This adds a character to the
371@samp{control-S} character to the search string. 387search string, similar to inserting into a buffer using @kbd{C-q}
388(@pxref{Inserting Text}). For example, @kbd{C-q C-s} during
389incremental search adds the @samp{control-S} character to the search
390string.
372 391
373@item 392@item
374Type @kbd{C-x 8 @key{RET}}, followed by a Unicode name or code-point 393@findex isearch-char-by-name
375in hex. This adds the specified character into the search string, 394@kindex C-x 8 RET @r{(Incremental Search)}
376similar to the usual @code{insert-char} command (@pxref{Inserting 395Type @kbd{C-x 8 @key{RET}} (@code{isearch-char-by-name}), followed by
377Text}). 396a Unicode name or code-point in hex. This adds the specified
397character into the search string, similar to the usual
398@code{insert-char} command (@pxref{Inserting Text}).
378 399
379@item 400@item
380@kindex C-^ @r{(Incremental Search)} 401@kindex C-^ @r{(Incremental Search)}
@@ -407,12 +428,20 @@ current buffer afterwards.
407@code{isearch-occur}, which runs @code{occur} with the current search 428@code{isearch-occur}, which runs @code{occur} with the current search
408string. @xref{Other Repeating Search, occur}. 429string. @xref{Other Repeating Search, occur}.
409 430
431@findex isearch-query-replace
432@findex isearch-query-replace-regexp
410@kindex M-% @r{(Incremental search)} 433@kindex M-% @r{(Incremental search)}
411 Typing @kbd{M-%} in incremental search invokes @code{query-replace} 434@kindex C-M-% @r{(Incremental search)}
412or @code{query-replace-regexp} (depending on search mode) with the 435 Typing @kbd{M-%} (@code{isearch-query-replace}) in incremental
413current search string used as the string to replace. A negative 436search invokes @code{query-replace} or @code{query-replace-regexp}
414prefix argument means to replace backward. @xref{Query Replace}. 437(depending on search mode) with the current search string used as the
415 438string to replace. A negative prefix argument means to replace
439backward. @xref{Query Replace}. Typing @kbd{C-M-%}
440(@code{isearch-query-replace-regexp}) invokes
441@code{query-replace-regexp} with the current search string used as the
442regexp to replace.
443
444@findex isearch-complete
416@kindex M-TAB @r{(Incremental search)} 445@kindex M-TAB @r{(Incremental search)}
417 Typing @kbd{M-@key{TAB}} in incremental search invokes 446 Typing @kbd{M-@key{TAB}} in incremental search invokes
418@code{isearch-complete}, which attempts to complete the search string 447@code{isearch-complete}, which attempts to complete the search string
@@ -618,15 +647,17 @@ Search backward for @var{words}, using a nonincremental word search.
618Search the Web for the text in region. 647Search the Web for the text in region.
619@end table 648@end table
620 649
621@kindex M-s w
622@findex isearch-forward-word 650@findex isearch-forward-word
651@findex isearch-toggle-word
652@kindex M-s w
623 To begin a forward incremental word search, type @kbd{M-s w}. If 653 To begin a forward incremental word search, type @kbd{M-s w}. If
624incremental search is not already active, this runs the command 654incremental search is not already active, this runs the command
625@code{isearch-forward-word}. If incremental search is already active 655@code{isearch-forward-word}. If incremental search is already active
626(whether a forward or backward search), @kbd{M-s w} switches to a word 656(whether a forward or backward search), @kbd{M-s w} runs the command
627search while keeping the direction of the search and the current 657@code{isearch-toggle-word}, which switches to a word search while
628search string unchanged. You can toggle word search back off by 658keeping the direction of the search and the current search string
629typing @kbd{M-s w} again. 659unchanged. You can toggle word search back off by typing @kbd{M-s w}
660again.
630 661
631@findex word-search-forward 662@findex word-search-forward
632@findex word-search-backward 663@findex word-search-backward
diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi
index 49c839a8971..427379bc79c 100644
--- a/doc/lispref/commands.texi
+++ b/doc/lispref/commands.texi
@@ -136,6 +136,9 @@ start with a capital, e.g., @code{"use (system-name) instead."}); @code{t}; any
136other symbol, which should be an alternative function to use in Lisp 136other symbol, which should be an alternative function to use in Lisp
137code. 137code.
138 138
139Generic functions (@pxref{Generic Functions}) cannot be turned into
140commands by adding the @code{interactive} form to them.
141
139@menu 142@menu
140* Using Interactive:: General rules for @code{interactive}. 143* Using Interactive:: General rules for @code{interactive}.
141* Interactive Codes:: The standard letter-codes for reading arguments 144* Interactive Codes:: The standard letter-codes for reading arguments
diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi
index 3be52d8e624..69e9919f708 100644
--- a/doc/lispref/functions.texi
+++ b/doc/lispref/functions.texi
@@ -1350,6 +1350,13 @@ to invoke the other auxiliary or primary methods.
1350This allows you to add more methods, distinguished by @var{string}, 1350This allows you to add more methods, distinguished by @var{string},
1351for the same specializers and qualifiers. 1351for the same specializers and qualifiers.
1352@end table 1352@end table
1353
1354Functions defined using @code{cl-defmethod} cannot be made
1355interactive, i.e.@: commands (@pxref{Defining Commands}), by adding
1356the @code{interactive} form to them. If you need a polymorphic
1357command, we recommend defining a normal command that calls a
1358polymorphic function defined via @code{cl-defgeneric} and
1359@code{cl-defmethod}.
1353@end defmac 1360@end defmac
1354 1361
1355@cindex dispatch of methods for generic function 1362@cindex dispatch of methods for generic function
diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi
index 2afc6a33828..d88c7fbe622 100644
--- a/doc/lispref/processes.texi
+++ b/doc/lispref/processes.texi
@@ -609,13 +609,13 @@ Shell mode, because they allow for job control (@kbd{C-c}, @kbd{C-z},
609etc.)@: between the process and its children, and because interactive 609etc.)@: between the process and its children, and because interactive
610programs treat ptys as terminal devices, whereas pipes don't support 610programs treat ptys as terminal devices, whereas pipes don't support
611these features. However, for subprocesses used by Lisp programs for 611these features. However, for subprocesses used by Lisp programs for
612internal purposes (i.e., with no user interaction), where significant 612internal purposes (i.e., no user interaction with the subprocess is
613amounts of data need to be exchanged between the subprocess and the 613required), where significant amounts of data need to be exchanged
614Lisp program, it is often better to use a pipe, because pipes are 614between the subprocess and the Lisp program, it is often better to use
615more efficient, and because they are immune to stray character 615a pipe, because pipes are more efficient, and because they are immune
616injections that ptys introduce for large (around 500 byte) messages. 616to stray character injections that ptys introduce for large (around
617Also, the total number of ptys is limited on many systems, and it is 617500 byte) messages. Also, the total number of ptys is limited on many
618good not to waste them unnecessarily. 618systems, and it is good not to waste them unnecessarily.
619 619
620@defun make-process &rest args 620@defun make-process &rest args
621This function is the basic low-level primitive for starting 621This function is the basic low-level primitive for starting
diff --git a/lisp/emacs-lisp/pcase.el b/lisp/emacs-lisp/pcase.el
index 57c2d6c3cb5..2746738d41a 100644
--- a/lisp/emacs-lisp/pcase.el
+++ b/lisp/emacs-lisp/pcase.el
@@ -266,7 +266,8 @@ variable name being but a special case of it)."
266(defmacro pcase-let* (bindings &rest body) 266(defmacro pcase-let* (bindings &rest body)
267 "Like `let*' but where you can use `pcase' patterns for bindings. 267 "Like `let*' but where you can use `pcase' patterns for bindings.
268BODY should be an expression, and BINDINGS should be a list of bindings 268BODY should be an expression, and BINDINGS should be a list of bindings
269of the form (PAT EXP)." 269of the form (PATTERN EXP).
270See `pcase-let' for discussion of how PATTERN is matched."
270 (declare (indent 1) 271 (declare (indent 1)
271 (debug ((&rest (pcase-PAT &optional form)) body))) 272 (debug ((&rest (pcase-PAT &optional form)) body)))
272 (let ((cached (gethash bindings pcase--memoize))) 273 (let ((cached (gethash bindings pcase--memoize)))
@@ -281,10 +282,11 @@ of the form (PAT EXP)."
281(defmacro pcase-let (bindings &rest body) 282(defmacro pcase-let (bindings &rest body)
282 "Like `let' but where you can use `pcase' patterns for bindings. 283 "Like `let' but where you can use `pcase' patterns for bindings.
283BODY should be a list of expressions, and BINDINGS should be a list of bindings 284BODY should be a list of expressions, and BINDINGS should be a list of bindings
284of the form (PAT EXP). 285of the form (PATTERN EXP).
285The macro is expanded and optimized under the assumption that those 286The PATTERNs are only used to extract data, so the code does not test
286patterns *will* match, so a mismatch may go undetected or may cause 287whether the data does match the corresponding patterns: a mismatch
287any kind of error." 288may signal an error or may go undetected, binding variables to arbitrary
289values, such as nil."
288 (declare (indent 1) (debug pcase-let*)) 290 (declare (indent 1) (debug pcase-let*))
289 (if (null (cdr bindings)) 291 (if (null (cdr bindings))
290 `(pcase-let* ,bindings ,@body) 292 `(pcase-let* ,bindings ,@body)
@@ -302,7 +304,11 @@ any kind of error."
302 304
303;;;###autoload 305;;;###autoload
304(defmacro pcase-dolist (spec &rest body) 306(defmacro pcase-dolist (spec &rest body)
305 "Like `dolist' but where the binding can be a `pcase' pattern. 307 "Superset of `dolist' where the VAR binding can be a `pcase' PATTERN.
308More specifically, this is just a shorthand for the following combination
309of `dolist' and `pcase-let':
310
311 (dolist (x LIST) (pcase-let ((PATTERN x)) BODY...))
306\n(fn (PATTERN LIST) BODY...)" 312\n(fn (PATTERN LIST) BODY...)"
307 (declare (indent 1) (debug ((pcase-PAT form) body))) 313 (declare (indent 1) (debug ((pcase-PAT form) body)))
308 (if (pcase--trivial-upat-p (car spec)) 314 (if (pcase--trivial-upat-p (car spec))
diff --git a/lisp/emacs-lisp/rx.el b/lisp/emacs-lisp/rx.el
index bb759011513..1230df4f15d 100644
--- a/lisp/emacs-lisp/rx.el
+++ b/lisp/emacs-lisp/rx.el
@@ -1060,7 +1060,7 @@ CHAR
1060 `chinese-two-byte' (\\cC) 1060 `chinese-two-byte' (\\cC)
1061 `greek-two-byte' (\\cG) 1061 `greek-two-byte' (\\cG)
1062 `japanese-hiragana-two-byte' (\\cH) 1062 `japanese-hiragana-two-byte' (\\cH)
1063 `indian-tow-byte' (\\cI) 1063 `indian-two-byte' (\\cI)
1064 `japanese-katakana-two-byte' (\\cK) 1064 `japanese-katakana-two-byte' (\\cK)
1065 `korean-hangul-two-byte' (\\cN) 1065 `korean-hangul-two-byte' (\\cN)
1066 `cyrillic-two-byte' (\\cY) 1066 `cyrillic-two-byte' (\\cY)
diff --git a/lisp/mail/rmailsum.el b/lisp/mail/rmailsum.el
index 10345b63ae2..f8adf774002 100644
--- a/lisp/mail/rmailsum.el
+++ b/lisp/mail/rmailsum.el
@@ -1694,7 +1694,7 @@ Deleted messages are skipped and don't count.
1694When called from Lisp code, N may be omitted and defaults to 1. 1694When called from Lisp code, N may be omitted and defaults to 1.
1695 1695
1696This command always outputs the complete message header, 1696This command always outputs the complete message header,
1697even the header display is currently pruned." 1697even if the header display is currently pruned."
1698 (interactive 1698 (interactive
1699 (progn (require 'rmailout) 1699 (progn (require 'rmailout)
1700 (list (rmail-output-read-file-name) 1700 (list (rmail-output-read-file-name)
diff --git a/lisp/simple.el b/lisp/simple.el
index 6a7d210e483..245675504a3 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -4266,7 +4266,7 @@ unless a hook has been set.
4266Use `filter-buffer-substring' instead of `buffer-substring', 4266Use `filter-buffer-substring' instead of `buffer-substring',
4267`buffer-substring-no-properties', or `delete-and-extract-region' when 4267`buffer-substring-no-properties', or `delete-and-extract-region' when
4268you want to allow filtering to take place. For example, major or minor 4268you want to allow filtering to take place. For example, major or minor
4269modes can use `filter-buffer-substring-function' to extract characters 4269modes can use `filter-buffer-substring-function' to exclude text properties
4270that are special to a buffer, and should not be copied into other buffers." 4270that are special to a buffer, and should not be copied into other buffers."
4271 (funcall filter-buffer-substring-function beg end delete)) 4271 (funcall filter-buffer-substring-function beg end delete))
4272 4272
diff --git a/src/callproc.c b/src/callproc.c
index e6a81802936..a2cfd2e94da 100644
--- a/src/callproc.c
+++ b/src/callproc.c
@@ -221,15 +221,20 @@ DEFUN ("call-process", Fcall_process, Scall_process, 1, MANY, 0,
221 doc: /* Call PROGRAM synchronously in separate process. 221 doc: /* Call PROGRAM synchronously in separate process.
222The remaining arguments are optional. 222The remaining arguments are optional.
223The program's input comes from file INFILE (nil means `/dev/null'). 223The program's input comes from file INFILE (nil means `/dev/null').
224Insert output in DESTINATION before point; t means current buffer; nil for DESTINATION 224
225 means discard it; 0 means discard and don't wait; and `(:file FILE)', where 225Third argument DESTINATION specifies how to handle program's output.
226 FILE is a file name string, means that it should be written to that file 226If DESTINATION is a buffer, or t that stands for the current buffer,
227 (if the file already exists it is overwritten). 227 it means insert output in that buffer before point.
228If DESTINATION is nil, it means discard output; 0 means discard
229 and don't wait for the program to terminate.
230If DESTINATION is `(:file FILE)', where FILE is a file name string,
231 it means that output should be written to that file (if the file
232 already exists it is overwritten).
228DESTINATION can also have the form (REAL-BUFFER STDERR-FILE); in that case, 233DESTINATION can also have the form (REAL-BUFFER STDERR-FILE); in that case,
229REAL-BUFFER says what to do with standard output, as above, 234 REAL-BUFFER says what to do with standard output, as above,
230while STDERR-FILE says what to do with standard error in the child. 235 while STDERR-FILE says what to do with standard error in the child.
231STDERR-FILE may be nil (discard standard error output), 236 STDERR-FILE may be nil (discard standard error output),
232t (mix it with ordinary output), or a file name string. 237 t (mix it with ordinary output), or a file name string.
233 238
234Fourth arg DISPLAY non-nil means redisplay buffer as output is inserted. 239Fourth arg DISPLAY non-nil means redisplay buffer as output is inserted.
235Remaining arguments are strings passed as command arguments to PROGRAM. 240Remaining arguments are strings passed as command arguments to PROGRAM.