]> git.eshelyaron.com Git - emacs.git/commitdiff
Document the last change
authorEli Zaretskii <eliz@gnu.org>
Sat, 5 Jun 2021 14:17:17 +0000 (17:17 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 5 Jun 2021 14:17:17 +0000 (17:17 +0300)
* doc/lispref/os.texi (Input Modes): Document the changes in the
values of the META flag.

* etc/NEWS: Call out the change in input-meta-mode.

doc/lispref/os.texi
etc/NEWS

index 37fde0a953d5ae96d5671a174b7d4d3e3a698b18..242c5ed15222d877c8f35c703e39b04d5970083e 100644 (file)
@@ -2369,11 +2369,17 @@ has no effect except in @sc{cbreak} mode.
 
 The argument @var{meta} controls support for input character codes
 above 127.  If @var{meta} is @code{t}, Emacs converts characters with
-the 8th bit set into Meta characters.  If @var{meta} is @code{nil},
+the 8th bit set into Meta characters, before it decodes them as needed
+(@pxref{Terminal I/O Encoding}).  If @var{meta} is @code{nil},
 Emacs disregards the 8th bit; this is necessary when the terminal uses
-it as a parity bit.  If @var{meta} is neither @code{t} nor @code{nil},
-Emacs uses all 8 bits of input unchanged.  This is good for terminals
-that use 8-bit character sets.
+it as a parity bit.  If @var{meta} is the symbol @code{encoded}, Emacs
+first decodes the characters using all the 8 bits of each byte, and
+then converts the decoded single-byte characters into Meta characters
+if they have their eighth bit set.  Finally, if @var{meta} is neither
+@code{t} nor @code{nil} nor @code{encoded}, Emacs uses all 8 bits of
+input unchanged, both before and after decoding them.  This is good
+for terminals that use 8-bit character sets and don't encode the Meta
+modifier as the eighth bit.
 
 If @var{quit-char} is non-@code{nil}, it specifies the character to
 use for quitting.  Normally this character is @kbd{C-g}.
@@ -2398,9 +2404,11 @@ flow control for output to the terminal.  This value is meaningful only
 when @var{interrupt} is @code{nil}.
 @item meta
 is @code{t} if Emacs treats the eighth bit of input characters as
-the meta bit; @code{nil} means Emacs clears the eighth bit of every
-input character; any other value means Emacs uses all eight bits as the
-basic character code.
+the Meta bit before decoding input; @code{encoded} if Emacs treats the
+eighth bit of the decoded single-byte characters as the Meta bit;
+@code{nil} if Emacs clears the eighth bit of every input character;
+any other value means Emacs uses all eight bits as the basic character
+code.
 @item quit
 is the character Emacs currently uses for quitting, usually @kbd{C-g}.
 @end table
index e782603f0b2d3b7c5f7a3e0c28b959678fd61584..7d53eafbae2e8f2200574b814cc8feff0b5f3b08 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -295,6 +295,17 @@ default, 9.5 MiB).  Press '?' or 'C-h' in that prompt to read more
 about the different options to visit a file, how you can disable the
 prompt, and how you can tweak the file size threshold.
 
++++
+** Improved support for terminal emulators that encode the Meta flag.
+Some terminal emulators set the 8th bit of Meta characters, and then
+encode the resulting character code as if it were non-ASCII character
+above codepoint 127.  Previously, the only way of using these in Emacs
+was to set up the terminal emulator to use the ESC characters to send
+Meta characters to Emacs, e.g., send "ESC x" when the user types
+'M-x'.  You can now avoid the need for this setup of such terminal
+emulators by using the new input-meta-mode with the special value
+'encoded' with these terminal emulators.
+
 \f
 * Editing Changes in Emacs 28.1