summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2024-03-30 04:38:17 -0400
committerEli Zaretskii <eliz@gnu.org>2024-03-30 04:38:17 -0400
commitb1e33b0b62115148909de4923b04eac49e1433d4 (patch)
tree5191054969df5bdb5aa1842f7ce0449a16f80733
parent1284aa2655bfc21f973a1b6859138921c47ecc9e (diff)
parent38faacf353fb4c8efb027019a4619a386edfe62c (diff)
downloademacs-b1e33b0b62115148909de4923b04eac49e1433d4.tar.gz
Merge from origin/emacs-29
38faacf353f Improve documentation of <Delete> in user manual 9d3d77f12da Fix documentation of 'other-window-for-scrolling'
-rw-r--r--doc/emacs/basic.texi11
-rw-r--r--src/window.c17
2 files changed, 19 insertions, 9 deletions
diff --git a/doc/emacs/basic.texi b/doc/emacs/basic.texi
index b1b1573729a..a2a934ff243 100644
--- a/doc/emacs/basic.texi
+++ b/doc/emacs/basic.texi
@@ -406,8 +406,8 @@ Delete the character before point, or the region if it is active
(@code{delete-backward-char}).
@item @key{Delete}
-Delete the character after point, or the region if it is active
-(@code{delete-forward-char}).
+Delete the character or grapheme cluster after point, or the region if
+it is active (@code{delete-forward-char}).
@item C-d
Delete the character after point (@code{delete-char}).
@@ -438,11 +438,18 @@ with the @key{Delete} key; we will discuss @key{Delete} momentarily.)
On some text terminals, Emacs may not recognize the @key{DEL} key
properly. @xref{DEL Does Not Delete}, if you encounter this problem.
+@cindex grapheme cluster, deletion
+@cindex delete entire grapheme cluster
The @key{Delete} (@code{delete-forward-char}) command deletes in the
opposite direction: it deletes the character after point, i.e., the
character under the cursor. If point was at the end of a line, this
joins the following line onto this one. Like @kbd{@key{DEL}}, it
deletes the text in the region if the region is active (@pxref{Mark}).
+If the character after point is composed with following characters and
+displayed as a single display unit, a so-called @dfn{grapheme cluster}
+representing the entire sequence, @key{Delete} deletes the entire
+sequence in one go. This is in contrast to @key{DEL} which always
+deletes a single character, even if the character is composed.
@kbd{C-d} (@code{delete-char}) deletes the character after point,
similar to @key{Delete}, but regardless of whether the region is
diff --git a/src/window.c b/src/window.c
index 748ad9e77d4..fe26311fbb2 100644
--- a/src/window.c
+++ b/src/window.c
@@ -6504,13 +6504,16 @@ When calling from a program, supply as argument a number, nil, or `-'. */)
}
DEFUN ("other-window-for-scrolling", Fother_window_for_scrolling, Sother_window_for_scrolling, 0, 0, 0,
- doc: /* Return the other window for \"other window scroll\" commands.
-If in the minibuffer, `minibuffer-scroll-window' if non-nil
-specifies the window.
-Otherwise, if `other-window-scroll-buffer' is non-nil, a window
-showing that buffer is used, popping the buffer up if necessary.
-Finally, look for a neighboring window on the selected frame,
-followed by all visible frames on the current terminal. */)
+ doc: /* Return \"the other\" window for \"other window scroll\" commands.
+If in the minibuffer, and `minibuffer-scroll-window' is non-nil,
+it specifies the window to use.
+Otherwise, if `other-window-scroll-buffer' is a buffer, a window
+showing that buffer is the window to use, popping it up if necessary.
+Otherwise, if `other-window-scroll-default' is a function, call it,
+and the window it returns is the window to use.
+Finally, the function looks for a neighboring window on the selected
+frame, followed by windows on all the visible frames on the current
+terminal. */)
(void)
{
Lisp_Object window;