diff options
-rw-r--r-- | doc/emacs/basic.texi | 11 | ||||
-rw-r--r-- | src/window.c | 17 |
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; |