aboutsummaryrefslogtreecommitdiffstats
path: root/doc/lispref
diff options
context:
space:
mode:
authorGlenn Morris2018-09-10 13:12:38 -0700
committerGlenn Morris2018-09-10 13:12:38 -0700
commit0407733ef3d4e8e133e91917097dbc9bcc688b47 (patch)
tree9223757d1d54460b3ca0e7867636072a51cd55f2 /doc/lispref
parent6e050694f247671e67c1eabace36cf9792ab4451 (diff)
parent7efcdf7b3e70f0334caa328cbb5b05a4e30099bd (diff)
downloademacs-0407733ef3d4e8e133e91917097dbc9bcc688b47.tar.gz
emacs-0407733ef3d4e8e133e91917097dbc9bcc688b47.zip
Merge from origin/emacs-26
7efcdf7 (origin/emacs-26) Clarify completion text in the ELisp manual 30b0b0e Fix handling of abbreviated control command in gdb-mi.el 5cf282d Clarify documentation of functions reading character events 96281c5 Record :version for built-in variables while dumping 82160cf * src/process.c (connect_network_socket): Fix memory leak. (... 6c616e4 * Makefile.in (appdatadir): Use the non-obsolete location "me... 9618e16 Better fix for bug#32550 30d94e4 Fix Bug#32550 57bcdc7 Don't call XGetGeometry for frames without outer X window (Bu... 82fc6b6 * lisp/calculator.el: Fix doc typo. ddc7c64 Standardize calc bug reporting instructions Conflicts: lisp/cus-start.el
Diffstat (limited to 'doc/lispref')
-rw-r--r--doc/lispref/commands.texi64
-rw-r--r--doc/lispref/help.texi14
-rw-r--r--doc/lispref/minibuf.texi9
3 files changed, 52 insertions, 35 deletions
diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi
index 0753d6fb67c..3e74f05e4c8 100644
--- a/doc/lispref/commands.texi
+++ b/doc/lispref/commands.texi
@@ -1076,9 +1076,10 @@ the current Emacs session. If a symbol has not yet been so used,
1076@cindex keyboard events 1076@cindex keyboard events
1077 1077
1078There are two kinds of input you can get from the keyboard: ordinary 1078There are two kinds of input you can get from the keyboard: ordinary
1079keys, and function keys. Ordinary keys correspond to characters; the 1079keys, and function keys. Ordinary keys correspond to (possibly
1080events they generate are represented in Lisp as characters. The event 1080modified) characters; the events they generate are represented in Lisp
1081type of a character event is the character itself (an integer); see 1081as characters. The event type of a character event is the character
1082itself (an integer), which might have some modifier bits set; see
1082@ref{Classifying Events}. 1083@ref{Classifying Events}.
1083 1084
1084@cindex modifier bits (of input character) 1085@cindex modifier bits (of input character)
@@ -1123,7 +1124,7 @@ for @kbd{%} plus
11232**26 11242**26
1124@end ifnottex 1125@end ifnottex
1125(assuming the terminal supports non-@acronym{ASCII} 1126(assuming the terminal supports non-@acronym{ASCII}
1126control characters). 1127control characters), i.e.@: with the 27th bit set.
1127 1128
1128@item shift 1129@item shift
1129The 1130The
@@ -1133,8 +1134,8 @@ The
1133@ifnottex 1134@ifnottex
11342**25 11352**25
1135@end ifnottex 1136@end ifnottex
1136bit in the character code indicates an @acronym{ASCII} control 1137bit (the 26th bit) in the character event code indicates an
1137character typed with the shift key held down. 1138@acronym{ASCII} control character typed with the shift key held down.
1138 1139
1139For letters, the basic code itself indicates upper versus lower case; 1140For letters, the basic code itself indicates upper versus lower case;
1140for digits and punctuation, the shift key selects an entirely different 1141for digits and punctuation, the shift key selects an entirely different
@@ -1146,7 +1147,7 @@ character with a different basic code. In order to keep within the
1146@ifnottex 1147@ifnottex
11472**25 11482**25
1148@end ifnottex 1149@end ifnottex
1149bit for those characters. 1150bit for those character events.
1150 1151
1151However, @acronym{ASCII} provides no way to distinguish @kbd{C-A} from 1152However, @acronym{ASCII} provides no way to distinguish @kbd{C-A} from
1152@kbd{C-a}, so Emacs uses the 1153@kbd{C-a}, so Emacs uses the
@@ -1167,7 +1168,7 @@ The
1167@ifnottex 1168@ifnottex
11682**24 11692**24
1169@end ifnottex 1170@end ifnottex
1170bit in the character code indicates a character 1171bit in the character event code indicates a character
1171typed with the hyper key held down. 1172typed with the hyper key held down.
1172 1173
1173@item super 1174@item super
@@ -1178,7 +1179,7 @@ The
1178@ifnottex 1179@ifnottex
11792**23 11802**23
1180@end ifnottex 1181@end ifnottex
1181bit in the character code indicates a character 1182bit in the character event code indicates a character
1182typed with the super key held down. 1183typed with the super key held down.
1183 1184
1184@item alt 1185@item alt
@@ -1189,9 +1190,9 @@ The
1189@ifnottex 1190@ifnottex
11902**22 11912**22
1191@end ifnottex 1192@end ifnottex
1192bit in the character code indicates a character typed with the alt key 1193bit in the character event code indicates a character typed with the
1193held down. (The key labeled @key{Alt} on most keyboards is actually 1194alt key held down. (The key labeled @key{Alt} on most keyboards is
1194treated as the meta key, not this.) 1195actually treated as the meta key, not this.)
1195@end table 1196@end table
1196 1197
1197 It is best to avoid mentioning specific bit numbers in your program. 1198 It is best to avoid mentioning specific bit numbers in your program.
@@ -1949,6 +1950,10 @@ Here are some examples:
1949 1950
1950The modifiers list for a click event explicitly contains @code{click}, 1951The modifiers list for a click event explicitly contains @code{click},
1951but the event symbol name itself does not contain @samp{click}. 1952but the event symbol name itself does not contain @samp{click}.
1953Similarly, the modifiers list for an @acronym{ASCII} control
1954character, such as @samp{C-a}, contains @code{control}, even though
1955reading such an event via @code{read-char} will return the value 1
1956with the control modifier bit removed.
1952@end defun 1957@end defun
1953 1958
1954@defun event-basic-type event 1959@defun event-basic-type event
@@ -2545,17 +2550,31 @@ right-arrow function key:
2545@end defun 2550@end defun
2546 2551
2547@defun read-char &optional prompt inherit-input-method seconds 2552@defun read-char &optional prompt inherit-input-method seconds
2548This function reads and returns a character of command input. If the 2553This function reads and returns a character input event. If the
2549user generates an event which is not a character (i.e., a mouse click or 2554user generates an event which is not a character (i.e., a mouse click or
2550function key event), @code{read-char} signals an error. The arguments 2555function key event), @code{read-char} signals an error. The arguments
2551work as in @code{read-event}. 2556work as in @code{read-event}.
2552 2557
2553In the first example, the user types the character @kbd{1} (@acronym{ASCII} 2558If the event has modifiers, Emacs attempts to resolve them and return
2554code 49). The second example shows a keyboard macro definition that 2559the code of the corresponding character. For example, if the user
2555calls @code{read-char} from the minibuffer using @code{eval-expression}. 2560types @kbd{C-a}, the function returns 1, which is the @acronym{ASCII}
2556@code{read-char} reads the keyboard macro's very next character, which 2561code of the @samp{C-a} character. If some of the modifiers cannot be
2557is @kbd{1}. Then @code{eval-expression} displays its return value in 2562reflected in the character code, @code{read-char} leaves the
2558the echo area. 2563unresolved modifier bits set in the returned event. For example, if
2564the user types @kbd{C-M-a}, the function returns 134217729, 8000001 in
2565hex, i.e.@: @samp{C-a} with the Meta modifier bit set. This value is
2566not a valid character code: it fails the @code{characterp} test
2567(@pxref{Character Codes}). Use @code{event-basic-type}
2568(@pxref{Classifying Events}) to recover the character code with the
2569modifier bits removed; use @code{event-modifiers} to test for
2570modifiers in the character event returned by @code{read-char}.
2571
2572In the first example below, the user types the character @kbd{1}
2573(@acronym{ASCII} code 49). The second example shows a keyboard macro
2574definition that calls @code{read-char} from the minibuffer using
2575@code{eval-expression}. @code{read-char} reads the keyboard macro's
2576very next character, which is @kbd{1}. Then @code{eval-expression}
2577displays its return value in the echo area.
2559 2578
2560@example 2579@example
2561@group 2580@group
@@ -2577,10 +2596,11 @@ the echo area.
2577@end defun 2596@end defun
2578 2597
2579@defun read-char-exclusive &optional prompt inherit-input-method seconds 2598@defun read-char-exclusive &optional prompt inherit-input-method seconds
2580This function reads and returns a character of command input. If the 2599This function reads and returns a character input event. If the
2581user generates an event which is not a character, 2600user generates an event which is not a character event,
2582@code{read-char-exclusive} ignores it and reads another event, until it 2601@code{read-char-exclusive} ignores it and reads another event, until it
2583gets a character. The arguments work as in @code{read-event}. 2602gets a character. The arguments work as in @code{read-event}. The
2603returned value may include modifier bits, as with @code{read-char}.
2584@end defun 2604@end defun
2585 2605
2586 None of the above functions suppress quitting. 2606 None of the above functions suppress quitting.
diff --git a/doc/lispref/help.texi b/doc/lispref/help.texi
index 6dd55d0b256..a23bc413d25 100644
--- a/doc/lispref/help.texi
+++ b/doc/lispref/help.texi
@@ -556,13 +556,13 @@ brackets.
556 556
557@defun text-char-description character 557@defun text-char-description character
558This function returns a string describing @var{character} in the 558This function returns a string describing @var{character} in the
559standard Emacs notation for characters that appear in text---like 559standard Emacs notation for characters that can appear in text---like
560@code{single-key-description}, except that control characters are 560@code{single-key-description}, except that the argument must be a
561represented with a leading caret (which is how control characters in 561valid character code that passes a @code{characterp} test
562Emacs buffers are usually displayed). Another difference is that 562(@pxref{Character Codes}), control characters are represented with a
563@code{text-char-description} recognizes the 2**7 bit as the Meta 563leading caret (which is how control characters in Emacs buffers are
564character, whereas @code{single-key-description} uses the 2**27 bit 564usually displayed), and the 2**7 bit is treated as the Meta bit,
565for Meta. 565whereas @code{single-key-description} uses the 2**27 bit for Meta.
566 566
567@smallexample 567@smallexample
568@group 568@group
diff --git a/doc/lispref/minibuf.texi b/doc/lispref/minibuf.texi
index d091787a680..da3ebd89aa2 100644
--- a/doc/lispref/minibuf.texi
+++ b/doc/lispref/minibuf.texi
@@ -1776,12 +1776,9 @@ flag may be one of the following values.
1776@table @code 1776@table @code
1777@item nil 1777@item nil
1778This specifies a @code{try-completion} operation. The function should 1778This specifies a @code{try-completion} operation. The function should
1779return @code{t} if the specified string is a unique and exact match; 1779return @code{nil} if there are no matches; it should return @code{t}
1780if there is more than one match, it should return the common substring 1780if the specified string is a unique and exact match; and it should
1781of all matches (if the string is an exact match for one completion 1781return the longest common prefix substring of all matches otherwise.
1782alternative but also matches other longer alternatives, the return
1783value is the string); if there are no matches, it should return
1784@code{nil}.
1785 1782
1786@item t 1783@item t
1787This specifies an @code{all-completions} operation. The function 1784This specifies an @code{all-completions} operation. The function