Commit 348657cc authored by Glenn Morris's avatar Glenn Morris

Merge from origin/emacs-26

9254885a (origin/emacs-26) Resurrect display-line-number-mode in clien...
aecbbd57 * src/fns.c (Fmapconcat): Doc fix.  (Bug#35710)
8e5fc38a Fix typo
ee21b402 * lisp/term/w32-win.el ([noname]): Bind to 'ignore'.  (Bug#36...
f68b33f5 Fix styling of Unicode codepoints in manuals
ff7ec6ff Fix a few uses of quotes in user manual
b67042be More minor copyedits in the Emacs manual
9734b5c5 Fix minor issues in the Emacs manual
c153250a Try to improve text on atomic windows in Elisp manual
fb314ba3 Don't recommend insert-before-markers in process filters
parents 6bee17e4 9254885a
Pipeline #1923 failed with stage
in 12 seconds
......@@ -113,13 +113,13 @@ just like digits. Case is ignored.
@cindex curved quotes, inserting
A few common Unicode characters can be inserted via a command
starting with @kbd{C-x 8}. For example, @kbd{C-x 8 [} inserts @t{‘}
which is Unicode code-point @code{U+2018} LEFT SINGLE QUOTATION MARK,
which is Unicode code-point U+2018 @sc{left single quotation mark},
sometimes called a left single ``curved quote'' or ``curly quote''.
Similarly, @kbd{C-x 8 ]}, @kbd{C-x 8 @{} and @kbd{C-x 8 @}} insert the
curved quotes @t{’}, @t{“} and @t{”}, respectively. Also, a working
Alt key acts like @kbd{C-x 8}; e.g., @kbd{A-[} acts like @kbd{C-x 8 [}
and inserts `. To see which characters have @kbd{C-x 8} shorthands,
type @kbd{C-x 8 C-h}.
and inserts @t{‘}. To see which characters have @kbd{C-x 8}
shorthands, type @kbd{C-x 8 C-h}.
Alternatively, you can use the command @kbd{C-x 8 @key{RET}}
(@code{insert-char}). This prompts for the Unicode name or code-point
......@@ -146,9 +146,9 @@ the buffer.
how many copies of the character to insert (@pxref{Arguments}).
In addition, in some contexts, if you type a quotation using grave
accent and apostrophe @t{`like this'}, it is converted to a form
accent and apostrophe @kbd{`like this'}, it is converted to a form
@t{‘like this’} using single quotation marks, even without @kbd{C-x 8}
commands. Similarly, typing a quotation @t{``like this''} using
commands. Similarly, typing a quotation @kbd{``like this''} using
double grave accent and apostrophe converts it to a form @t{“like
this”} using double quotation marks. @xref{Quotation Marks}.
......@@ -816,9 +816,9 @@ more convenient, and they are documented in that command's
documentation string.
We use the term @dfn{prefix argument} to emphasize that you type
such arguments before the command, and to distinguish them from
minibuffer arguments (@pxref{Minibuffer}), which are entered after
invoking the command.
such arguments @emph{before} the command, and to distinguish them from
minibuffer arguments (@pxref{Minibuffer}), which are entered
@emph{after} invoking the command.
On graphical displays, @kbd{C-0}, @kbd{C-1}, etc.@ act the same as
@kbd{M-0}, @kbd{M-1}, etc.
......
......@@ -199,12 +199,13 @@ screen lines between point and the top or bottom of the window
(@pxref{Auto Scrolling}).
You can also give @kbd{C-l} a prefix argument. A plain prefix
argument, @kbd{C-u C-l}, simply recenters point. A positive argument
@var{n} puts point @var{n} lines down from the top of the window. An
argument of zero puts point on the topmost line. A negative argument
@var{-n} puts point @var{n} lines from the bottom of the window. When
given an argument, @kbd{C-l} does not clear the screen or cycle
through different screen positions.
argument, @kbd{C-u C-l}, simply recenters the line showing point. A
positive argument @var{n} moves line showing point @var{n} lines down
from the top of the window. An argument of zero moves point's line to
the top of the window. A negative argument @var{-n} moves point's
line @var{n} lines from the bottom of the window. When given an
argument, @kbd{C-l} does not clear the screen or cycle through
different screen positions.
@vindex recenter-redisplay
If the variable @code{recenter-redisplay} has a non-@code{nil}
......@@ -1535,9 +1536,9 @@ a new line, while the tab character (@code{U+0009}) is displayed as a
space that extends to the next tab stop column (normally every 8
columns). The number of spaces per tab is controlled by the
buffer-local variable @code{tab-width}, which must have an integer
value between 1 and 1000, inclusive. Note that how the tab character
in the buffer is displayed has nothing to do with the definition of
@key{TAB} as a command.
value between 1 and 1000, inclusive. Note that the way the tab
character in the buffer is displayed has nothing to do with the
definition of @key{TAB} as a command.
Other @acronym{ASCII} control characters, whose codes are below
@code{U+0020} (octal 40, decimal 32), are displayed as a caret
......@@ -1607,11 +1608,11 @@ curved quotes. You can influence or inhibit this translation by
customizing the user option @code{text-quoting-style} (@pxref{Keys in
Documentation,,, elisp, The Emacs Lisp Reference Manual}).
If the curved quotes @samp{‘}, @samp{’}, @samp{“}, and @samp{”} are
If the curved quotes @t{‘}, @t{’}, @t{“}, and @t{”} are
known to look just like @acronym{ASCII} characters, they are shown
with the @code{homoglyph} face. Curved quotes that are known not to
be displayable are shown as their @acronym{ASCII} approximations
@samp{`}, @samp{'}, and @samp{"} with the @code{homoglyph} face.
@t{`}, @t{'}, and @t{"} with the @code{homoglyph} face.
@node Cursor Display
@section Displaying the Cursor
......
......@@ -391,7 +391,7 @@ macro definition is executed. It is up to you to leave point and the
text in a state such that the rest of the macro will do what you want.
@end table
@kbd{C-u C-x q}, which is @kbd{C-x q} with a numeric argument,
@kbd{C-u C-x q}, which is @kbd{C-x q} with a prefix argument,
performs a completely different function. It enters a recursive edit
reading input from the keyboard, both when you type it during the
definition of the macro, and when it is executed from the macro. During
......@@ -472,7 +472,7 @@ later with @code{load-file} (@pxref{Lisp Libraries}). If the file you
save in is your init file @file{~/.emacs} (@pxref{Init File}) then the
macro will be defined each time you run Emacs.
If you give @code{insert-kbd-macro} a numeric argument, it makes
If you give @code{insert-kbd-macro} a prefix argument, it makes
additional Lisp code to record the keys (if any) that you have bound
to @var{macroname}, so that the macro will be reassigned the same keys
when you load the file.
......
......@@ -420,9 +420,9 @@ commands.
The default behavior of the mark and region, in which setting the
mark activates it and highlights the region, is called Transient Mark
mode. This is a minor mode that is enabled by default. It can be
toggled with @kbd{M-x transient-mark-mode}, or with the @samp{Active
Region Highlighting} menu item in the @samp{Options} menu. Turning it
off switches Emacs to an alternative mode of operation:
toggled with @kbd{M-x transient-mark-mode}, or with the
@samp{Highlight Active Region} menu item in the @samp{Options} menu.
Turning it off switches Emacs to an alternative mode of operation:
@itemize @bullet
@item
......
......@@ -154,7 +154,7 @@ during the collection process, you can use the following setting.
@findex insert-register
@kbd{C-x r i @var{r}} inserts in the buffer the text from register
@var{r}. Normally it leaves point after the text and sets the mark
before, without activating it. With a numeric argument, it instead
before, without activating it. With a prefix argument, it instead
puts point before the text and the mark after.
@node Rectangle Registers
......@@ -170,7 +170,7 @@ in the buffer.
@kindex C-x r r
@item C-x r r @var{r}
Copy the region-rectangle into register @var{r}
(@code{copy-rectangle-to-register}). With numeric argument, delete it as
(@code{copy-rectangle-to-register}). With prefix argument, delete it as
well.
@item C-x r i @var{r}
Insert the rectangle stored in register @var{r} (if it contains a
......
......@@ -847,7 +847,7 @@ Expressions,,, elisp, The Emacs Lisp Reference Manual}, for additional
features used mainly in Lisp programs.
Regular expressions have a syntax in which a few characters are
special constructs and the rest are @dfn{ordinary}. An ordinary
@dfn{special constructs} and the rest are @dfn{ordinary}. An ordinary
character matches that same character and nothing else. The special
characters are @samp{$^.*+?[\}. The character @samp{]} is special if
it ends a character alternative (see below). The character @samp{-}
......@@ -1328,14 +1328,14 @@ of its accented cousins like @code{@"a} and @code{@'a}, i.e., the
match disregards the diacritics that distinguish these
variants. In addition, @code{a} matches other characters that
resemble it, or have it as part of their graphical representation,
such as @sc{u+249c parenthesized latin small letter a} and @sc{u+2100
account of} (which looks like a small @code{a} over @code{c}).
such as U+249C @sc{parenthesized latin small letter a} and U+2100
@sc{account of} (which looks like a small @code{a} over @code{c}).
Similarly, the @acronym{ASCII} double-quote character @code{"} matches
all the other variants of double quotes defined by the Unicode
standard. Finally, character folding can make a sequence of one or
more characters match another sequence of a different length: for
example, the sequence of two characters @code{ff} matches @sc{u+fb00
latin small ligature ff}. Character sequences that are not identical,
example, the sequence of two characters @code{ff} matches U+FB00
@sc{latin small ligature ff}. Character sequences that are not identical,
but match under character folding are known as @dfn{equivalent
character sequences}.
......@@ -1483,8 +1483,7 @@ multiple digits, and the value of @samp{\@var{d}} is @code{nil} if the
@samp{\#} here too stands for the number of already-completed
replacements.
Repeating our example to exchange @samp{x} and @samp{y}, we can thus
do it also this way:
For example, we can exchange @samp{x} and @samp{y} this way:
@example
M-x replace-regexp @key{RET} \(x\)\|y @key{RET}
......@@ -1661,8 +1660,9 @@ replacement has already been made, @key{DEL} and @key{SPC} are
equivalent in this situation; both move to the next occurrence.
You can type @kbd{C-r} at this point (see below) to alter the replaced
text. You can also type @kbd{C-x u} to undo the replacement; this exits
the @code{query-replace}, so if you want to do further replacement you
text. You can also undo the replacement with the @code{undo} command
(e.g., type @kbd{C-x u}; @pxref{Undo}); this exits the
@code{query-replace}, so if you want to do further replacement you
must use @kbd{C-x @key{ESC} @key{ESC} @key{RET}} to restart
(@pxref{Repetition}).
......
......@@ -428,10 +428,10 @@ using straight apostrophes @t{'like this'} or double-quotes @t{"like
this"}. Another common way is the curved quote convention, which uses
left and right single or double quotation marks `@t{like this}' or
``@t{like this}''@footnote{
The curved single quote characters are U+2018 LEFT SINGLE QUOTATION
MARK and U+2018 RIGHT SINGLE QUOTATION MARK; the curved double quotes
are U+201C LEFT DOUBLE QUOTATION MARK and U+201D RIGHT DOUBLE
QUOTATION MARK. On text terminals which cannot display these
The curved single quote characters are U+2018 @sc{left single quotation
mark} and U+2018 @sc{right single quotation mark}; the curved double quotes
are U+201C @sc{left double quotation mark} and U+201D @sc{right double
quotation mark}. On text terminals which cannot display these
characters, the Info reader might show them as the typewriter ASCII
quote characters.
}. In text files, typewriter quotes are simple and
......@@ -439,8 +439,8 @@ portable; curved quotes are less ambiguous and typically look nicer.
@vindex electric-quote-chars
Electric Quote mode makes it easier to type curved quotes. As you
type characters it optionally converts @t{`} to ‘, @t{'} to ',
@t{``} to ``, and @t{''} to ''. It's possible to change the
type characters it optionally converts @kbd{`} to @t{‘}, @kbd{'} to @t{’},
@kbd{``} to @t{“}, and @kbd{''} to @t{”}. It's possible to change the
default quotes listed above, by customizing the variable
@code{electric-quote-chars}, a list of four characters, where the
items correspond to the left single quote, the right single quote, the
......
......@@ -7328,9 +7328,9 @@ Non-@acronym{ASCII}, non-printing characters @code{U+0080} to
@samp{\230}).
@item format-control
Characters of Unicode General Category [Cf], such as @samp{U+200E}
(Left-to-Right Mark), but excluding characters that have graphic
images, such as @samp{U+00AD} (Soft Hyphen).
Characters of Unicode General Category [Cf], such as U+200E
@sc{left-to-right mark}, but excluding characters that have graphic
images, such as U+00AD @sc{soft hyphen}.
@item no-font
Characters for which there is no suitable font, or which cannot be
......@@ -7713,12 +7713,12 @@ problem:
@itemize @minus
@item
Append the special character @code{U+200E}, LEFT-TO-RIGHT MARK, or
Append the special character U+200E @sc{left-to-right mark}, or
@acronym{LRM}, to the end of each field that may have bidirectional
content, or prepend it to the beginning of the following field. The
function @code{bidi-string-mark-left-to-right}, described below, comes
in handy for this purpose. (In a right-to-left paragraph, use
@code{U+200F}, RIGHT-TO-LEFT MARK, or @acronym{RLM}, instead.) This
U+200F @sc{right-to-left mark}, or @acronym{RLM}, instead.) This
is one of the solutions recommended by the UBA.
@item
......
......@@ -550,8 +550,8 @@ characters whose @code{Numeric_Type} is @samp{Numeric}. The value of
this property is a number. Examples of characters that have this
property include fractions, subscripts, superscripts, Roman numerals,
currency numerators, and encircled numbers. For example, the value of
this property for the character @code{U+2155} (@sc{vulgar fraction one
fifth}) is @code{0.2}. For characters that don't have any numeric
this property for the character U+2155 @sc{vulgar fraction one
fifth} is @code{0.2}. For characters that don't have any numeric
value, and for unassigned codepoints, the value is @code{nil}, which
means @acronym{NaN}.
......@@ -622,23 +622,24 @@ is @code{nil}, which means the character itself.
@item special-uppercase
Corresponds to Unicode language- and context-independent special upper-casing
rules. The value of this property is a string (which may be empty). For
example mapping for @code{U+00DF} (@sc{latin small letter sharp s}) is
example mapping for U+00DF @sc{latin small letter sharp s} is
@code{"SS"}. For characters with no special mapping, the value is @code{nil}
which means @code{uppercase} property needs to be consulted instead.
@item special-lowercase
Corresponds to Unicode language- and context-independent special lower-casing
rules. The value of this property is a string (which may be empty). For
example mapping for @code{U+0130} (@sc{latin capital letter i with dot above})
the value is @code{"i\u0307"} (i.e. 2-character string consisting of @sc{latin
small letter i} followed by @sc{combining dot above}). For characters with no
special mapping, the value is @code{nil} which means @code{lowercase} property
needs to be consulted instead.
Corresponds to Unicode language- and context-independent special
lower-casing rules. The value of this property is a string (which may
be empty). For example mapping for U+0130 @sc{latin capital letter i
with dot above} the value is @code{"i\u0307"} (i.e. 2-character string
consisting of @sc{latin small letter i} followed by U+0307
@sc{combining dot above}). For characters with no special mapping,
the value is @code{nil} which means @code{lowercase} property needs to
be consulted instead.
@item special-titlecase
Corresponds to Unicode unconditional special title-casing rules. The value of
this property is a string (which may be empty). For example mapping for
@code{U+FB01} (@sc{latin small ligature fi}) the value is @code{"Fi"}. For
U+FB01 @sc{latin small ligature fi} the value is @code{"Fi"}. For
characters with no special mapping, the value is @code{nil} which means
@code{titlecase} property needs to be consulted instead.
@end table
......
......@@ -1688,7 +1688,7 @@ how to do these things:
(save-excursion
;; @r{Insert the text, advancing the process marker.}
(goto-char (process-mark proc))
(insert-before-markers string)
(insert string)
(set-marker (process-mark proc) (point)))
(if moving (goto-char (process-mark proc)))))))
@end group
......@@ -1704,7 +1704,12 @@ text arrives, you could insert a line like the following just before the
To force point to the end of the new output, no matter where it was
previously, eliminate the variable @code{moving} from the example and
call @code{goto-char} unconditionally.
call @code{goto-char} unconditionally. Note that this doesn't
necessarily move the window point. The default filter actually uses
@code{insert-before-markers} which moves all markers, including the
window point. This may move unrelated markers, so it's generally
better to move the window point explicitly, or set its insertion type
to @code{t} (@pxref{Window Point}).
@ignore
In earlier Emacs versions, every filter function that did regular
......
......@@ -1295,8 +1295,10 @@ the selected window.
If deleting the window would leave no more windows in the window tree
(e.g., if it is the only live window in the frame) or all remaining
windows on @var{window}'s frame are side windows (@pxref{Side Windows}),
an error is signaled.
windows on @var{window}'s frame are side windows (@pxref{Side
Windows}), an error is signaled. If @var{window} is part of an atomic
window (@pxref{Atomic Windows}), this function tries to delete the
root of that atomic window instead.
By default, the space taken up by @var{window} is given to one of its
adjacent sibling windows, if any. However, if the variable
......@@ -1315,10 +1317,13 @@ Parameters}.
@end deffn
@deffn Command delete-other-windows &optional window
This function makes @var{window} fill its frame, deleting other windows
as necessary. If @var{window} is omitted or @code{nil}, it defaults to
the selected window. An error is signaled if @var{window} is a side
window (@pxref{Side Windows}). The return value is @code{nil}.
This function makes @var{window} fill its frame, deleting other
windows as necessary. If @var{window} is omitted or @code{nil}, it
defaults to the selected window. An error is signaled if @var{window}
is a side window (@pxref{Side Windows}). If @var{window} is part of
an atomic window (@pxref{Atomic Windows}), this function tries to make
the root of that atomic window fill its frame. The return
value is @code{nil}.
The behavior of this function may be altered by the window parameters of
@var{window}, so long as the variable @code{ignore-window-parameters} is
......@@ -4007,9 +4012,8 @@ described next to deal with the window and its buffer.
This function handles @var{window} and its buffer after quitting. The
optional argument @var{window} must be a live window and defaults to
the selected one. The function's behavior is determined by the four
elements of the list specified by the @code{quit-restore} window
parameter (@pxref{Window Parameters}), which is set to @code{nil}
afterwards.
elements of the list specified by @var{window}'s @code{quit-restore}
parameter (@pxref{Window Parameters}).
The first element of the @code{quit-restore} parameter is one of the
symbols @code{window}, meaning that the window has been specially
......@@ -4018,35 +4022,40 @@ been created; @code{same}, the window has only ever displayed this
buffer; or @code{other}, the window showed another buffer before.
@code{frame} and @code{window} affect how the window is quit, while
@code{same} and @code{other} affect the redisplay of buffers
previously shown in this window.
previously shown in @var{window}.
The second element is either one of the symbols @code{window} or
@code{frame}, or a list whose elements are the buffer shown in the
window before, that buffer's window start and window point positions,
and the window's height at that time. If that buffer is still live
when the window is quit, then the function @code{quit-restore-window}
reuses the window to display the buffer.
The parameter's second element is either one of the symbols
@code{window} or @code{frame}, or a list whose elements are the buffer
shown in @var{window} before, that buffer's window start and window
point positions, and @var{window}'s height at that time. If that
buffer is still live when @var{window} is quit, then this function may
reuse @var{window} to display it.
The third element is the window selected at the time the parameter was
created. If @code{quit-restore-window} deletes the window passed to
it as argument, it then tries to reselect this window.
created. If this function deletes @var{window}, it subsequently tries
to reselect the window named by that element.
The fourth element is the buffer whose display caused the creation of
this parameter. @code{quit-restore-window} deletes the specified window
only if it still shows that buffer.
The window is deleted entirely if: 1) the first element of the
@code{quit-restore} parameter is one of 'window or 'frame, 2) the
window has no history of previously-displayed buffers, and 3) the
displayed buffer matches the one in the fourth element of the
@code{quit-restore} parameter. If @var{window} is the
only window on its frame and there are other frames on the frame's
terminal, the value of the optional argument @var{bury-or-kill}
determines how to proceed with the window. If @var{bury-or-kill}
equals @code{kill}, the frame is deleted unconditionally. Otherwise,
the fate of the frame is determined by calling
@code{frame-auto-hide-function} (see below) with that frame as sole
argument.
this parameter. This function may delete @var{window} if and only if
it still shows that buffer.
This function will try to delete @var{window} if and only if (1) the
first element of its @code{quit-restore} parameter is either
@code{window} or @code{frame}, (2) the window has no history of
previously-displayed buffers and (3) the fourth element of the
@code{quit-restore} parameter specifies the buffer currently displayed
in @var{window}. If @var{window} is part of an atomic window
(@pxref{Atomic Windows}), it will try to delete the root of that
atomic window instead. In either case, it tries to avoid signaling an
error when @var{window} cannot be deleted.
If @var{window} shall be deleted, is the only window on its frame and
there are other frames on that frame's terminal, the value of the
optional argument @var{bury-or-kill} determines how to proceed with
the window. If @var{bury-or-kill} equals @code{kill}, the frame is
deleted unconditionally. Otherwise, the fate of the frame is
determined by calling @code{frame-auto-hide-function} (see below) with
that frame as sole argument.
If the third element of the @code{quit-restore} parameter is a list of
buffer, window start (@pxref{Window Start and End}), and point
......@@ -4057,7 +4066,8 @@ try to restore the original height of @var{window}.
Otherwise, if @var{window} was previously used for displaying other
buffers (@pxref{Window History}), the most recent buffer in that
history will be displayed.
history will be displayed. In either case, if @var{window} is not
deleted, its @code{quit-restore} parameter is reset to @code{nil}.
The optional argument @var{bury-or-kill} specifies how to deal with
@var{window}'s buffer. The following values are handled:
......@@ -4538,6 +4548,11 @@ parameter assigned by @code{display-buffer-in-atom-window}. Further
parameters have to be set by the application explicitly via a
@code{window-parameters} entry in @var{alist}.
Atomic windows automatically cease to exist when one of their
constituents gets deleted. To dissolve an atomic window manually,
reset the @code{window-atom} parameter of its constituents---the root
of the atomic window and all its descendants.
The following code snippet, when applied to a single-window frame,
first splits the selected window and makes the selected and the new
window constituents of an atomic window with their parent as root. It
......
......@@ -92,9 +92,7 @@ the mode is on, set `display-line-numbers' directly."
(defun display-line-numbers--turn-on ()
"Turn on `display-line-numbers-mode'."
(unless (or (minibufferp)
;; taken from linum.el
(and (daemonp) (null (frame-parameter nil 'client))))
(unless (minibufferp)
(display-line-numbers-mode)))
;;;###autoload
......
......@@ -119,6 +119,10 @@ Linum mode is a buffer-local minor mode."
;; if some large buffer was under linum-mode when
;; desktop was saved. So we disable linum-mode for
;; non-client frames in a daemon session.
;; Note that nowadays, this actually doesn't show line
;; numbers in client frames at all, because we visit the
;; file before creating the client frame. See bug#35726.
(and (daemonp) (null (frame-parameter nil 'client))))
(linum-mode 1)))
......
......@@ -170,6 +170,15 @@ the last file dropped is selected."
;; new layout/language selected by the user.
(global-set-key [language-change] 'ignore)
;; Some Windows applications send the 'noname' (VK_NONAME) pseudo-key
;; to prevent Windows from sleeping. We want to ignore these key
;; events, to avoid annoying users by ringing the bell and announcing
;; that the key is not bound.
(global-set-key [noname] 'ignore)
(global-set-key [C-noname] 'ignore)
(global-set-key [M-noname] 'ignore)
(defvar x-resource-name)
......
......@@ -153,7 +153,7 @@ See the end of the file for license conditions.
instance, or you want the smallest possible Emacs), then you may use
the files emacs-VER-x86_64-no-deps.zip or
emacs-VER-i686-no-deps.zip. The dependency files are also available
as emacs-MVER-x86_64-no-deps.zip and emacs-MVER-i686-deps.zip. Source
as emacs-MVER-x86_64-deps.zip and emacs-MVER-i686-deps.zip. Source
code for these dependencies is available as
emacs-26-deps-mingw-w64-src.zip.
......
......@@ -2681,8 +2681,12 @@ mapcar1 (EMACS_INT leni, Lisp_Object *vals, Lisp_Object fn, Lisp_Object seq)
DEFUN ("mapconcat", Fmapconcat, Smapconcat, 3, 3, 0,
doc: /* Apply FUNCTION to each element of SEQUENCE, and concat the results as strings.
In between each pair of results, stick in SEPARATOR. Thus, " " as
SEPARATOR results in spaces between the values returned by FUNCTION.
SEQUENCE may be a list, a vector, a bool-vector, or a string. */)
SEPARATOR results in spaces between the values returned by FUNCTION.
SEQUENCE may be a list, a vector, a bool-vector, or a string.
SEPARATOR must be a string.
FUNCTION must be a function of one argument, and must return a value
that is a sequence of characters: either a string, or a vector or
list of numbers that are valid character codepoints. */)
(Lisp_Object function, Lisp_Object sequence, Lisp_Object separator)
{
USE_SAFE_ALLOCA;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment