summaryrefslogtreecommitdiff
path: root/doc/lispref
diff options
context:
space:
mode:
Diffstat (limited to 'doc/lispref')
-rw-r--r--doc/lispref/display.texi10
-rw-r--r--doc/lispref/nonascii.texi23
-rw-r--r--doc/lispref/processes.texi9
-rw-r--r--doc/lispref/windows.texi83
4 files changed, 73 insertions, 52 deletions
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 82af02fc384..93c5217c362 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -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
diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi
index 8b0750abbf6..a56a365e9ea 100644
--- a/doc/lispref/nonascii.texi
+++ b/doc/lispref/nonascii.texi
@@ -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
diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi
index b73401a62a2..ebc31c597e6 100644
--- a/doc/lispref/processes.texi
+++ b/doc/lispref/processes.texi
@@ -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
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi
index 96e42a148c5..5e644138109 100644
--- a/doc/lispref/windows.texi
+++ b/doc/lispref/windows.texi
@@ -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