aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/buffer.c54
-rw-r--r--src/category.c2
-rw-r--r--src/data.c2
-rw-r--r--src/dired.c2
-rw-r--r--src/editfns.c2
-rw-r--r--src/eval.c6
-rw-r--r--src/fileio.c2
-rw-r--r--src/fns.c4
-rw-r--r--src/frame.c6
-rw-r--r--src/image.c2
-rw-r--r--src/keyboard.c280
-rw-r--r--src/print.c2
-rw-r--r--src/process.c4
-rw-r--r--src/w32fns.c4
-rw-r--r--src/xfaces.c4
15 files changed, 116 insertions, 260 deletions
diff --git a/src/buffer.c b/src/buffer.c
index fc2ee82e447..33f7996a8c1 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -5402,140 +5402,140 @@ syms_of_buffer (void)
5402 DEFVAR_BUFFER_DEFAULTS ("default-mode-line-format", 5402 DEFVAR_BUFFER_DEFAULTS ("default-mode-line-format",
5403 mode_line_format, 5403 mode_line_format,
5404 doc: /* Default value of `mode-line-format' for buffers that don't override it. 5404 doc: /* Default value of `mode-line-format' for buffers that don't override it.
5405This is the same as (default-value 'mode-line-format). */); 5405This is the same as (default-value \\='mode-line-format). */);
5406 5406
5407 DEFVAR_BUFFER_DEFAULTS ("default-header-line-format", 5407 DEFVAR_BUFFER_DEFAULTS ("default-header-line-format",
5408 header_line_format, 5408 header_line_format,
5409 doc: /* Default value of `header-line-format' for buffers that don't override it. 5409 doc: /* Default value of `header-line-format' for buffers that don't override it.
5410This is the same as (default-value 'header-line-format). */); 5410This is the same as (default-value \\='header-line-format). */);
5411 5411
5412 DEFVAR_BUFFER_DEFAULTS ("default-cursor-type", cursor_type, 5412 DEFVAR_BUFFER_DEFAULTS ("default-cursor-type", cursor_type,
5413 doc: /* Default value of `cursor-type' for buffers that don't override it. 5413 doc: /* Default value of `cursor-type' for buffers that don't override it.
5414This is the same as (default-value 'cursor-type). */); 5414This is the same as (default-value \\='cursor-type). */);
5415 5415
5416 DEFVAR_BUFFER_DEFAULTS ("default-line-spacing", 5416 DEFVAR_BUFFER_DEFAULTS ("default-line-spacing",
5417 extra_line_spacing, 5417 extra_line_spacing,
5418 doc: /* Default value of `line-spacing' for buffers that don't override it. 5418 doc: /* Default value of `line-spacing' for buffers that don't override it.
5419This is the same as (default-value 'line-spacing). */); 5419This is the same as (default-value \\='line-spacing). */);
5420 5420
5421 DEFVAR_BUFFER_DEFAULTS ("default-cursor-in-non-selected-windows", 5421 DEFVAR_BUFFER_DEFAULTS ("default-cursor-in-non-selected-windows",
5422 cursor_in_non_selected_windows, 5422 cursor_in_non_selected_windows,
5423 doc: /* Default value of `cursor-in-non-selected-windows'. 5423 doc: /* Default value of `cursor-in-non-selected-windows'.
5424This is the same as (default-value 'cursor-in-non-selected-windows). */); 5424This is the same as (default-value \\='cursor-in-non-selected-windows). */);
5425 5425
5426 DEFVAR_BUFFER_DEFAULTS ("default-abbrev-mode", 5426 DEFVAR_BUFFER_DEFAULTS ("default-abbrev-mode",
5427 abbrev_mode, 5427 abbrev_mode,
5428 doc: /* Default value of `abbrev-mode' for buffers that do not override it. 5428 doc: /* Default value of `abbrev-mode' for buffers that do not override it.
5429This is the same as (default-value 'abbrev-mode). */); 5429This is the same as (default-value \\='abbrev-mode). */);
5430 5430
5431 DEFVAR_BUFFER_DEFAULTS ("default-ctl-arrow", 5431 DEFVAR_BUFFER_DEFAULTS ("default-ctl-arrow",
5432 ctl_arrow, 5432 ctl_arrow,
5433 doc: /* Default value of `ctl-arrow' for buffers that do not override it. 5433 doc: /* Default value of `ctl-arrow' for buffers that do not override it.
5434This is the same as (default-value 'ctl-arrow). */); 5434This is the same as (default-value \\='ctl-arrow). */);
5435 5435
5436 DEFVAR_BUFFER_DEFAULTS ("default-enable-multibyte-characters", 5436 DEFVAR_BUFFER_DEFAULTS ("default-enable-multibyte-characters",
5437 enable_multibyte_characters, 5437 enable_multibyte_characters,
5438 doc: /* Default value of `enable-multibyte-characters' for buffers not overriding it. 5438 doc: /* Default value of `enable-multibyte-characters' for buffers not overriding it.
5439This is the same as (default-value 'enable-multibyte-characters). */); 5439This is the same as (default-value \\='enable-multibyte-characters). */);
5440 5440
5441 DEFVAR_BUFFER_DEFAULTS ("default-buffer-file-coding-system", 5441 DEFVAR_BUFFER_DEFAULTS ("default-buffer-file-coding-system",
5442 buffer_file_coding_system, 5442 buffer_file_coding_system,
5443 doc: /* Default value of `buffer-file-coding-system' for buffers not overriding it. 5443 doc: /* Default value of `buffer-file-coding-system' for buffers not overriding it.
5444This is the same as (default-value 'buffer-file-coding-system). */); 5444This is the same as (default-value \\='buffer-file-coding-system). */);
5445 5445
5446 DEFVAR_BUFFER_DEFAULTS ("default-truncate-lines", 5446 DEFVAR_BUFFER_DEFAULTS ("default-truncate-lines",
5447 truncate_lines, 5447 truncate_lines,
5448 doc: /* Default value of `truncate-lines' for buffers that do not override it. 5448 doc: /* Default value of `truncate-lines' for buffers that do not override it.
5449This is the same as (default-value 'truncate-lines). */); 5449This is the same as (default-value \\='truncate-lines). */);
5450 5450
5451 DEFVAR_BUFFER_DEFAULTS ("default-fill-column", 5451 DEFVAR_BUFFER_DEFAULTS ("default-fill-column",
5452 fill_column, 5452 fill_column,
5453 doc: /* Default value of `fill-column' for buffers that do not override it. 5453 doc: /* Default value of `fill-column' for buffers that do not override it.
5454This is the same as (default-value 'fill-column). */); 5454This is the same as (default-value \\='fill-column). */);
5455 5455
5456 DEFVAR_BUFFER_DEFAULTS ("default-left-margin", 5456 DEFVAR_BUFFER_DEFAULTS ("default-left-margin",
5457 left_margin, 5457 left_margin,
5458 doc: /* Default value of `left-margin' for buffers that do not override it. 5458 doc: /* Default value of `left-margin' for buffers that do not override it.
5459This is the same as (default-value 'left-margin). */); 5459This is the same as (default-value \\='left-margin). */);
5460 5460
5461 DEFVAR_BUFFER_DEFAULTS ("default-tab-width", 5461 DEFVAR_BUFFER_DEFAULTS ("default-tab-width",
5462 tab_width, 5462 tab_width,
5463 doc: /* Default value of `tab-width' for buffers that do not override it. 5463 doc: /* Default value of `tab-width' for buffers that do not override it.
5464NOTE: This controls the display width of a TAB character, and not 5464NOTE: This controls the display width of a TAB character, and not
5465the size of an indentation step. 5465the size of an indentation step.
5466This is the same as (default-value 'tab-width). */); 5466This is the same as (default-value \\='tab-width). */);
5467 5467
5468 DEFVAR_BUFFER_DEFAULTS ("default-case-fold-search", 5468 DEFVAR_BUFFER_DEFAULTS ("default-case-fold-search",
5469 case_fold_search, 5469 case_fold_search,
5470 doc: /* Default value of `case-fold-search' for buffers that don't override it. 5470 doc: /* Default value of `case-fold-search' for buffers that don't override it.
5471This is the same as (default-value 'case-fold-search). */); 5471This is the same as (default-value \\='case-fold-search). */);
5472 5472
5473 DEFVAR_BUFFER_DEFAULTS ("default-left-margin-width", 5473 DEFVAR_BUFFER_DEFAULTS ("default-left-margin-width",
5474 left_margin_cols, 5474 left_margin_cols,
5475 doc: /* Default value of `left-margin-width' for buffers that don't override it. 5475 doc: /* Default value of `left-margin-width' for buffers that don't override it.
5476This is the same as (default-value 'left-margin-width). */); 5476This is the same as (default-value \\='left-margin-width). */);
5477 5477
5478 DEFVAR_BUFFER_DEFAULTS ("default-right-margin-width", 5478 DEFVAR_BUFFER_DEFAULTS ("default-right-margin-width",
5479 right_margin_cols, 5479 right_margin_cols,
5480 doc: /* Default value of `right-margin-width' for buffers that don't override it. 5480 doc: /* Default value of `right-margin-width' for buffers that don't override it.
5481This is the same as (default-value 'right-margin-width). */); 5481This is the same as (default-value \\='right-margin-width). */);
5482 5482
5483 DEFVAR_BUFFER_DEFAULTS ("default-left-fringe-width", 5483 DEFVAR_BUFFER_DEFAULTS ("default-left-fringe-width",
5484 left_fringe_width, 5484 left_fringe_width,
5485 doc: /* Default value of `left-fringe-width' for buffers that don't override it. 5485 doc: /* Default value of `left-fringe-width' for buffers that don't override it.
5486This is the same as (default-value 'left-fringe-width). */); 5486This is the same as (default-value \\='left-fringe-width). */);
5487 5487
5488 DEFVAR_BUFFER_DEFAULTS ("default-right-fringe-width", 5488 DEFVAR_BUFFER_DEFAULTS ("default-right-fringe-width",
5489 right_fringe_width, 5489 right_fringe_width,
5490 doc: /* Default value of `right-fringe-width' for buffers that don't override it. 5490 doc: /* Default value of `right-fringe-width' for buffers that don't override it.
5491This is the same as (default-value 'right-fringe-width). */); 5491This is the same as (default-value \\='right-fringe-width). */);
5492 5492
5493 DEFVAR_BUFFER_DEFAULTS ("default-fringes-outside-margins", 5493 DEFVAR_BUFFER_DEFAULTS ("default-fringes-outside-margins",
5494 fringes_outside_margins, 5494 fringes_outside_margins,
5495 doc: /* Default value of `fringes-outside-margins' for buffers that don't override it. 5495 doc: /* Default value of `fringes-outside-margins' for buffers that don't override it.
5496This is the same as (default-value 'fringes-outside-margins). */); 5496This is the same as (default-value \\='fringes-outside-margins). */);
5497 5497
5498 DEFVAR_BUFFER_DEFAULTS ("default-scroll-bar-width", 5498 DEFVAR_BUFFER_DEFAULTS ("default-scroll-bar-width",
5499 scroll_bar_width, 5499 scroll_bar_width,
5500 doc: /* Default value of `scroll-bar-width' for buffers that don't override it. 5500 doc: /* Default value of `scroll-bar-width' for buffers that don't override it.
5501This is the same as (default-value 'scroll-bar-width). */); 5501This is the same as (default-value \\='scroll-bar-width). */);
5502 5502
5503 DEFVAR_BUFFER_DEFAULTS ("default-vertical-scroll-bar", 5503 DEFVAR_BUFFER_DEFAULTS ("default-vertical-scroll-bar",
5504 vertical_scroll_bar_type, 5504 vertical_scroll_bar_type,
5505 doc: /* Default value of `vertical-scroll-bar' for buffers that don't override it. 5505 doc: /* Default value of `vertical-scroll-bar' for buffers that don't override it.
5506This is the same as (default-value 'vertical-scroll-bar). */); 5506This is the same as (default-value \\='vertical-scroll-bar). */);
5507 5507
5508 DEFVAR_BUFFER_DEFAULTS ("default-indicate-empty-lines", 5508 DEFVAR_BUFFER_DEFAULTS ("default-indicate-empty-lines",
5509 indicate_empty_lines, 5509 indicate_empty_lines,
5510 doc: /* Default value of `indicate-empty-lines' for buffers that don't override it. 5510 doc: /* Default value of `indicate-empty-lines' for buffers that don't override it.
5511This is the same as (default-value 'indicate-empty-lines). */); 5511This is the same as (default-value \\='indicate-empty-lines). */);
5512 5512
5513 DEFVAR_BUFFER_DEFAULTS ("default-indicate-buffer-boundaries", 5513 DEFVAR_BUFFER_DEFAULTS ("default-indicate-buffer-boundaries",
5514 indicate_buffer_boundaries, 5514 indicate_buffer_boundaries,
5515 doc: /* Default value of `indicate-buffer-boundaries' for buffers that don't override it. 5515 doc: /* Default value of `indicate-buffer-boundaries' for buffers that don't override it.
5516This is the same as (default-value 'indicate-buffer-boundaries). */); 5516This is the same as (default-value \\='indicate-buffer-boundaries). */);
5517 5517
5518 DEFVAR_BUFFER_DEFAULTS ("default-fringe-indicator-alist", 5518 DEFVAR_BUFFER_DEFAULTS ("default-fringe-indicator-alist",
5519 fringe_indicator_alist, 5519 fringe_indicator_alist,
5520 doc: /* Default value of `fringe-indicator-alist' for buffers that don't override it. 5520 doc: /* Default value of `fringe-indicator-alist' for buffers that don't override it.
5521This is the same as (default-value 'fringe-indicator-alist). */); 5521This is the same as (default-value \\='fringe-indicator-alist). */);
5522 5522
5523 DEFVAR_BUFFER_DEFAULTS ("default-fringe-cursor-alist", 5523 DEFVAR_BUFFER_DEFAULTS ("default-fringe-cursor-alist",
5524 fringe_cursor_alist, 5524 fringe_cursor_alist,
5525 doc: /* Default value of `fringe-cursor-alist' for buffers that don't override it. 5525 doc: /* Default value of `fringe-cursor-alist' for buffers that don't override it.
5526This is the same as (default-value 'fringe-cursor-alist). */); 5526This is the same as (default-value \\='fringe-cursor-alist). */);
5527 5527
5528 DEFVAR_BUFFER_DEFAULTS ("default-scroll-up-aggressively", 5528 DEFVAR_BUFFER_DEFAULTS ("default-scroll-up-aggressively",
5529 scroll_up_aggressively, 5529 scroll_up_aggressively,
5530 doc: /* Default value of `scroll-up-aggressively'. 5530 doc: /* Default value of `scroll-up-aggressively'.
5531This value applies in buffers that don't have their own local values. 5531This value applies in buffers that don't have their own local values.
5532This is the same as (default-value 'scroll-up-aggressively). */); 5532This is the same as (default-value \\='scroll-up-aggressively). */);
5533 5533
5534 DEFVAR_BUFFER_DEFAULTS ("default-scroll-down-aggressively", 5534 DEFVAR_BUFFER_DEFAULTS ("default-scroll-down-aggressively",
5535 scroll_down_aggressively, 5535 scroll_down_aggressively,
5536 doc: /* Default value of `scroll-down-aggressively'. 5536 doc: /* Default value of `scroll-down-aggressively'.
5537This value applies in buffers that don't have their own local values. 5537This value applies in buffers that don't have their own local values.
5538This is the same as (default-value 'scroll-down-aggressively). */); 5538This is the same as (default-value \\='scroll-down-aggressively). */);
5539 5539
5540 DEFVAR_PER_BUFFER ("header-line-format", 5540 DEFVAR_PER_BUFFER ("header-line-format",
5541 &BVAR (current_buffer, header_line_format), 5541 &BVAR (current_buffer, header_line_format),
diff --git a/src/category.c b/src/category.c
index ab90f5ff093..bb4a75d3a4d 100644
--- a/src/category.c
+++ b/src/category.c
@@ -491,7 +491,7 @@ between C1 and C2.
491 491
492For instance, to tell that there's a word boundary between Hiragana 492For instance, to tell that there's a word boundary between Hiragana
493and Katakana (both are in the same script `kana'), 493and Katakana (both are in the same script `kana'),
494the element `(?H . ?K) should be in this list. */); 494the element `(?H . ?K)' should be in this list. */);
495 495
496 Vword_combining_categories = Qnil; 496 Vword_combining_categories = Qnil;
497 497
diff --git a/src/data.c b/src/data.c
index 784d127f18a..88c5a309859 100644
--- a/src/data.c
+++ b/src/data.c
@@ -1668,7 +1668,7 @@ this function causes a local value to exist for this buffer,
1668just as setting the variable would do. 1668just as setting the variable would do.
1669 1669
1670This function returns VARIABLE, and therefore 1670This function returns VARIABLE, and therefore
1671 (set (make-local-variable 'VARIABLE) VALUE-EXP) 1671 (set (make-local-variable \\='VARIABLE) VALUE-EXP)
1672works. 1672works.
1673 1673
1674See also `make-variable-buffer-local'. 1674See also `make-variable-buffer-local'.
diff --git a/src/dired.c b/src/dired.c
index e70f136d0cc..97736673f5d 100644
--- a/src/dired.c
+++ b/src/dired.c
@@ -816,7 +816,7 @@ DEFUN ("file-attributes", Ffile_attributes, Sfile_attributes, 1, 2, 0,
816Value is nil if specified file cannot be opened. 816Value is nil if specified file cannot be opened.
817 817
818ID-FORMAT specifies the preferred format of attributes uid and gid (see 818ID-FORMAT specifies the preferred format of attributes uid and gid (see
819below) - valid values are 'string and 'integer. The latter is the 819below) - valid values are `string' and `integer'. The latter is the
820default, but we plan to change that, so you should specify a non-nil value 820default, but we plan to change that, so you should specify a non-nil value
821for ID-FORMAT if you use the returned uid or gid. 821for ID-FORMAT if you use the returned uid or gid.
822 822
diff --git a/src/editfns.c b/src/editfns.c
index a85c9e79d4e..e7d5dd89e51 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -2156,7 +2156,7 @@ applied without consideration for daylight saving time.
2156You can pass more than 7 arguments; then the first six arguments 2156You can pass more than 7 arguments; then the first six arguments
2157are used as SECOND through YEAR, and the *last* argument is used as ZONE. 2157are used as SECOND through YEAR, and the *last* argument is used as ZONE.
2158The intervening arguments are ignored. 2158The intervening arguments are ignored.
2159This feature lets (apply 'encode-time (decode-time ...)) work. 2159This feature lets (apply \\='encode-time (decode-time ...)) work.
2160 2160
2161Out-of-range values for SECOND, MINUTE, HOUR, DAY, or MONTH are allowed; 2161Out-of-range values for SECOND, MINUTE, HOUR, DAY, or MONTH are allowed;
2162for example, a DAY of 0 means the day preceding the given month. 2162for example, a DAY of 0 means the day preceding the given month.
diff --git a/src/eval.c b/src/eval.c
index 6fde7e30b7f..77d435acbe6 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -517,7 +517,7 @@ DEFUN ("quote", Fquote, Squote, 1, UNEVALLED, 0,
517Warning: `quote' does not construct its return value, but just returns 517Warning: `quote' does not construct its return value, but just returns
518the value that was pre-constructed by the Lisp reader (see info node 518the value that was pre-constructed by the Lisp reader (see info node
519`(elisp)Printed Representation'). 519`(elisp)Printed Representation').
520This means that '(a . b) is not identical to (cons 'a 'b): the former 520This means that \\='(a . b) is not identical to (cons \\='a \\='b): the former
521does not cons. Quoting should be reserved for constants that will 521does not cons. Quoting should be reserved for constants that will
522never be modified by side-effects, unless you like self-modifying code. 522never be modified by side-effects, unless you like self-modifying code.
523See the common pitfall in info node `(elisp)Rearrangement' for an example 523See the common pitfall in info node `(elisp)Rearrangement' for an example
@@ -2196,7 +2196,7 @@ eval_sub (Lisp_Object form)
2196DEFUN ("apply", Fapply, Sapply, 1, MANY, 0, 2196DEFUN ("apply", Fapply, Sapply, 1, MANY, 0,
2197 doc: /* Call FUNCTION with our remaining args, using our last arg as list of args. 2197 doc: /* Call FUNCTION with our remaining args, using our last arg as list of args.
2198Then return the value FUNCTION returns. 2198Then return the value FUNCTION returns.
2199Thus, (apply '+ 1 2 '(3 4)) returns 10. 2199Thus, (apply \\='+ 1 2 \\='(3 4)) returns 10.
2200usage: (apply FUNCTION &rest ARGUMENTS) */) 2200usage: (apply FUNCTION &rest ARGUMENTS) */)
2201 (ptrdiff_t nargs, Lisp_Object *args) 2201 (ptrdiff_t nargs, Lisp_Object *args)
2202{ 2202{
@@ -2557,7 +2557,7 @@ DEFUN ("functionp", Ffunctionp, Sfunctionp, 1, 1, 0,
2557DEFUN ("funcall", Ffuncall, Sfuncall, 1, MANY, 0, 2557DEFUN ("funcall", Ffuncall, Sfuncall, 1, MANY, 0,
2558 doc: /* Call first argument as a function, passing remaining arguments to it. 2558 doc: /* Call first argument as a function, passing remaining arguments to it.
2559Return the value that function returns. 2559Return the value that function returns.
2560Thus, (funcall 'cons 'x 'y) returns (x . y). 2560Thus, (funcall \\='cons \\='x \\='y) returns (x . y).
2561usage: (funcall FUNCTION &rest ARGUMENTS) */) 2561usage: (funcall FUNCTION &rest ARGUMENTS) */)
2562 (ptrdiff_t nargs, Lisp_Object *args) 2562 (ptrdiff_t nargs, Lisp_Object *args)
2563{ 2563{
diff --git a/src/fileio.c b/src/fileio.c
index a36dfbcfa36..d4341f8fa59 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -5878,7 +5878,7 @@ the arguments that were passed to that primitive. For example, if you
5878do (file-exists-p FILENAME) and FILENAME is handled by HANDLER, then 5878do (file-exists-p FILENAME) and FILENAME is handled by HANDLER, then
5879HANDLER is called like this: 5879HANDLER is called like this:
5880 5880
5881 (funcall HANDLER 'file-exists-p FILENAME) 5881 (funcall HANDLER \\='file-exists-p FILENAME)
5882 5882
5883Note that HANDLER must be able to handle all I/O primitives; if it has 5883Note that HANDLER must be able to handle all I/O primitives; if it has
5884nothing special to do for a primitive, it should reinvoke the 5884nothing special to do for a primitive, it should reinvoke the
diff --git a/src/fns.c b/src/fns.c
index 26a98abc1a6..aa917ac6ec9 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -347,7 +347,7 @@ This function obeys the conventions for collation order in your
347locale settings. For example, punctuation and whitespace characters 347locale settings. For example, punctuation and whitespace characters
348might be considered less significant for sorting: 348might be considered less significant for sorting:
349 349
350\(sort '\("11" "12" "1 1" "1 2" "1.1" "1.2") 'string-collate-lessp) 350\(sort '\("11" "12" "1 1" "1 2" "1.1" "1.2") \\='string-collate-lessp)
351 => \("11" "1 1" "1.1" "12" "1 2" "1.2") 351 => \("11" "1 1" "1.1" "12" "1 2" "1.2")
352 352
353The optional argument LOCALE, a string, overrides the setting of your 353The optional argument LOCALE, a string, overrides the setting of your
@@ -1083,7 +1083,7 @@ multibyte character of charset `eight-bit'.
1083See also `string-to-multibyte'. 1083See also `string-to-multibyte'.
1084 1084
1085Beware, this often doesn't really do what you think it does. 1085Beware, this often doesn't really do what you think it does.
1086It is similar to (decode-coding-string STRING 'utf-8-emacs). 1086It is similar to (decode-coding-string STRING \\='utf-8-emacs).
1087If you're not sure, whether to use `string-as-multibyte' or 1087If you're not sure, whether to use `string-as-multibyte' or
1088`string-to-multibyte', use `string-to-multibyte'. */) 1088`string-to-multibyte', use `string-to-multibyte'. */)
1089 (Lisp_Object string) 1089 (Lisp_Object string)
diff --git a/src/frame.c b/src/frame.c
index d3e478075c3..6debcb8e7bc 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -976,7 +976,7 @@ except when you want to create a new frame on another terminal.
976In that case, the `tty' parameter specifies the device file to open, 976In that case, the `tty' parameter specifies the device file to open,
977and the `tty-type' parameter specifies the terminal type. Example: 977and the `tty-type' parameter specifies the terminal type. Example:
978 978
979 (make-terminal-frame '((tty . "/dev/pts/5") (tty-type . "xterm"))) 979 (make-terminal-frame \\='((tty . "/dev/pts/5") (tty-type . "xterm")))
980 980
981Note that changing the size of one terminal frame automatically 981Note that changing the size of one terminal frame automatically
982affects all frames on the same terminal device. */) 982affects all frames on the same terminal device. */)
@@ -5018,7 +5018,7 @@ You can also use a floating number between 0.0 and 1.0. */);
5018 DEFVAR_LISP ("default-frame-alist", Vdefault_frame_alist, 5018 DEFVAR_LISP ("default-frame-alist", Vdefault_frame_alist,
5019 doc: /* Alist of default values for frame creation. 5019 doc: /* Alist of default values for frame creation.
5020These may be set in your init file, like this: 5020These may be set in your init file, like this:
5021 (setq default-frame-alist '((width . 80) (height . 55) (menu-bar-lines . 1))) 5021 (setq default-frame-alist \\='((width . 80) (height . 55) (menu-bar-lines . 1)))
5022These override values given in window system configuration data, 5022These override values given in window system configuration data,
5023 including X Windows' defaults database. 5023 including X Windows' defaults database.
5024For values specific to the first Emacs frame, see `initial-frame-alist'. 5024For values specific to the first Emacs frame, see `initial-frame-alist'.
@@ -5176,7 +5176,7 @@ width by the width of one scroll bar provided this option is nil and
5176keep it unchanged if this option is either t or a list containing 5176keep it unchanged if this option is either t or a list containing
5177`vertical-scroll-bars'. 5177`vertical-scroll-bars'.
5178 5178
5179The default value is '(tool-bar-lines) on Lucid, Motif and Windows 5179The default value is \\='(tool-bar-lines) on Lucid, Motif and Windows
5180\(which means that adding/removing a tool bar does not change the frame 5180\(which means that adding/removing a tool bar does not change the frame
5181height), nil on all other window systems including GTK+ (which means 5181height), nil on all other window systems including GTK+ (which means
5182that changing any of the parameters listed above may change the size of 5182that changing any of the parameters listed above may change the size of
diff --git a/src/image.c b/src/image.c
index 743d230ed3b..85cf801f6a9 100644
--- a/src/image.c
+++ b/src/image.c
@@ -9752,7 +9752,7 @@ syms_of_image (void)
9752 defining the supported image types. */ 9752 defining the supported image types. */
9753 DEFVAR_LISP ("image-types", Vimage_types, 9753 DEFVAR_LISP ("image-types", Vimage_types,
9754 doc: /* List of potentially supported image types. 9754 doc: /* List of potentially supported image types.
9755Each element of the list is a symbol for an image type, like 'jpeg or 'png. 9755Each element of the list is a symbol for an image type, like `jpeg' or `png'.
9756To check whether it is really supported, use `image-type-available-p'. */); 9756To check whether it is really supported, use `image-type-available-p'. */);
9757 Vimage_types = Qnil; 9757 Vimage_types = Qnil;
9758 9758
diff --git a/src/keyboard.c b/src/keyboard.c
index dab32b12826..a8b1e9828bf 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -107,10 +107,6 @@ static Lisp_Object recent_keys;
107Lisp_Object this_command_keys; 107Lisp_Object this_command_keys;
108ptrdiff_t this_command_key_count; 108ptrdiff_t this_command_key_count;
109 109
110/* True after calling Freset_this_command_lengths.
111 Usually it is false. */
112static bool this_command_key_count_reset;
113
114/* This vector is used as a buffer to record the events that were actually read 110/* This vector is used as a buffer to record the events that were actually read
115 by read_key_sequence. */ 111 by read_key_sequence. */
116static Lisp_Object raw_keybuf; 112static Lisp_Object raw_keybuf;
@@ -124,11 +120,6 @@ static int raw_keybuf_count;
124 that precede this key sequence. */ 120 that precede this key sequence. */
125static ptrdiff_t this_single_command_key_start; 121static ptrdiff_t this_single_command_key_start;
126 122
127/* Record values of this_command_key_count and echo_length ()
128 before this command was read. */
129static ptrdiff_t before_command_key_count;
130static ptrdiff_t before_command_echo_length;
131
132#ifdef HAVE_STACK_OVERFLOW_HANDLING 123#ifdef HAVE_STACK_OVERFLOW_HANDLING
133 124
134/* For longjmp to recover from C stack overflow. */ 125/* For longjmp to recover from C stack overflow. */
@@ -441,10 +432,12 @@ echo_add_key (Lisp_Object c)
441 ptrdiff_t size = sizeof initbuf; 432 ptrdiff_t size = sizeof initbuf;
442 char *buffer = initbuf; 433 char *buffer = initbuf;
443 char *ptr = buffer; 434 char *ptr = buffer;
444 Lisp_Object echo_string; 435 Lisp_Object echo_string = KVAR (current_kboard, echo_string);
445 USE_SAFE_ALLOCA; 436 USE_SAFE_ALLOCA;
446 437
447 echo_string = KVAR (current_kboard, echo_string); 438 if (STRINGP (echo_string) && SCHARS (echo_string) > 0)
439 /* Add a space at the end as a separator between keys. */
440 ptr++[0] = ' ';
448 441
449 /* If someone has passed us a composite event, use its head symbol. */ 442 /* If someone has passed us a composite event, use its head symbol. */
450 c = EVENT_HEAD (c); 443 c = EVENT_HEAD (c);
@@ -486,48 +479,12 @@ echo_add_key (Lisp_Object c)
486 ptr += len; 479 ptr += len;
487 } 480 }
488 481
489 /* Replace a dash from echo_dash with a space, otherwise add a space
490 at the end as a separator between keys. */
491 AUTO_STRING (space, " ");
492 if (STRINGP (echo_string) && SCHARS (echo_string) > 1)
493 {
494 Lisp_Object last_char, prev_char, idx;
495
496 idx = make_number (SCHARS (echo_string) - 2);
497 prev_char = Faref (echo_string, idx);
498
499 idx = make_number (SCHARS (echo_string) - 1);
500 last_char = Faref (echo_string, idx);
501
502 /* We test PREV_CHAR to make sure this isn't the echoing of a
503 minus-sign. */
504 if (XINT (last_char) == '-' && XINT (prev_char) != ' ')
505 Faset (echo_string, idx, make_number (' '));
506 else
507 echo_string = concat2 (echo_string, space);
508 }
509 else if (STRINGP (echo_string) && SCHARS (echo_string) > 0)
510 echo_string = concat2 (echo_string, space);
511
512 kset_echo_string 482 kset_echo_string
513 (current_kboard, 483 (current_kboard,
514 concat2 (echo_string, make_string (buffer, ptr - buffer))); 484 concat2 (echo_string, make_string (buffer, ptr - buffer)));
515 SAFE_FREE (); 485 SAFE_FREE ();
516} 486}
517 487
518/* Add C to the echo string, if echoing is going on. C can be a
519 character or a symbol. */
520
521static void
522echo_char (Lisp_Object c)
523{
524 if (current_kboard->immediate_echo)
525 {
526 echo_add_key (c);
527 echo_now ();
528 }
529}
530
531/* Temporarily add a dash to the end of the echo string if it's not 488/* Temporarily add a dash to the end of the echo string if it's not
532 empty, so that it serves as a mini-prompt for the very next 489 empty, so that it serves as a mini-prompt for the very next
533 character. */ 490 character. */
@@ -539,9 +496,6 @@ echo_dash (void)
539 if (NILP (KVAR (current_kboard, echo_string))) 496 if (NILP (KVAR (current_kboard, echo_string)))
540 return; 497 return;
541 498
542 if (this_command_key_count == 0)
543 return;
544
545 if (!current_kboard->immediate_echo 499 if (!current_kboard->immediate_echo
546 && SCHARS (KVAR (current_kboard, echo_string)) == 0) 500 && SCHARS (KVAR (current_kboard, echo_string)) == 0)
547 return; 501 return;
@@ -574,39 +528,39 @@ echo_dash (void)
574 echo_now (); 528 echo_now ();
575} 529}
576 530
577/* Display the current echo string, and begin echoing if not already
578 doing so. */
579
580static void 531static void
581echo_now (void) 532echo_update (void)
582{ 533{
583 if (!current_kboard->immediate_echo) 534 if (current_kboard->immediate_echo)
584 { 535 {
585 ptrdiff_t i; 536 ptrdiff_t i;
586 current_kboard->immediate_echo = true; 537 kset_echo_string (current_kboard,
538 call0 (Qinternal_echo_keystrokes_prefix));
587 539
588 for (i = 0; i < this_command_key_count; i++) 540 for (i = 0; i < this_command_key_count; i++)
589 { 541 {
590 Lisp_Object c; 542 Lisp_Object c;
591 543
592 /* Set before_command_echo_length to the value that would
593 have been saved before the start of this subcommand in
594 command_loop_1, if we had already been echoing then. */
595 if (i == this_single_command_key_start)
596 before_command_echo_length = echo_length ();
597
598 c = AREF (this_command_keys, i); 544 c = AREF (this_command_keys, i);
599 if (! (EVENT_HAS_PARAMETERS (c) 545 if (! (EVENT_HAS_PARAMETERS (c)
600 && EQ (EVENT_HEAD_KIND (EVENT_HEAD (c)), Qmouse_movement))) 546 && EQ (EVENT_HEAD_KIND (EVENT_HEAD (c)), Qmouse_movement)))
601 echo_char (c); 547 echo_add_key (c);
602 } 548 }
603 549
604 /* Set before_command_echo_length to the value that would 550 echo_now ();
605 have been saved before the start of this subcommand in 551 }
606 command_loop_1, if we had already been echoing then. */ 552}
607 if (this_command_key_count == this_single_command_key_start) 553
608 before_command_echo_length = echo_length (); 554/* Display the current echo string, and begin echoing if not already
555 doing so. */
609 556
557static void
558echo_now (void)
559{
560 if (!current_kboard->immediate_echo)
561 {
562 current_kboard->immediate_echo = true;
563 echo_update ();
610 /* Put a dash at the end to invite the user to type more. */ 564 /* Put a dash at the end to invite the user to type more. */
611 echo_dash (); 565 echo_dash ();
612 } 566 }
@@ -666,20 +620,6 @@ echo_truncate (ptrdiff_t nchars)
666static void 620static void
667add_command_key (Lisp_Object key) 621add_command_key (Lisp_Object key)
668{ 622{
669#if 0 /* Not needed after we made Freset_this_command_lengths
670 do the job immediately. */
671 /* If reset-this-command-length was called recently, obey it now.
672 See the doc string of that function for an explanation of why. */
673 if (before_command_restore_flag)
674 {
675 this_command_key_count = before_command_key_count_1;
676 if (this_command_key_count < this_single_command_key_start)
677 this_single_command_key_start = this_command_key_count;
678 echo_truncate (before_command_echo_length_1);
679 before_command_restore_flag = 0;
680 }
681#endif
682
683 if (this_command_key_count >= ASIZE (this_command_keys)) 623 if (this_command_key_count >= ASIZE (this_command_keys))
684 this_command_keys = larger_vector (this_command_keys, 1, -1); 624 this_command_keys = larger_vector (this_command_keys, 1, -1);
685 625
@@ -754,7 +694,7 @@ force_auto_save_soon (void)
754DEFUN ("recursive-edit", Frecursive_edit, Srecursive_edit, 0, 0, "", 694DEFUN ("recursive-edit", Frecursive_edit, Srecursive_edit, 0, 0, "",
755 doc: /* Invoke the editor command loop recursively. 695 doc: /* Invoke the editor command loop recursively.
756To get out of the recursive edit, a command can throw to ‘exit’ -- for 696To get out of the recursive edit, a command can throw to ‘exit’ -- for
757instance ‘(throw 'exit nil)’. 697instance ‘(throw \\='exit nil)’.
758If you throw a value other than t, ‘recursive-edit’ returns normally 698If you throw a value other than t, ‘recursive-edit’ returns normally
759to the function that called it. Throwing a t value causes 699to the function that called it. Throwing a t value causes
760‘recursive-edit’ to quit, so that control returns to the command loop 700‘recursive-edit’ to quit, so that control returns to the command loop
@@ -1285,10 +1225,6 @@ static void adjust_point_for_property (ptrdiff_t, bool);
1285/* The last boundary auto-added to buffer-undo-list. */ 1225/* The last boundary auto-added to buffer-undo-list. */
1286Lisp_Object last_undo_boundary; 1226Lisp_Object last_undo_boundary;
1287 1227
1288/* FIXME: This is wrong rather than test window-system, we should call
1289 a new set-selection, which will then dispatch to x-set-selection, or
1290 tty-set-selection, or w32-set-selection, ... */
1291
1292Lisp_Object 1228Lisp_Object
1293command_loop_1 (void) 1229command_loop_1 (void)
1294{ 1230{
@@ -1306,7 +1242,6 @@ command_loop_1 (void)
1306 cancel_echoing (); 1242 cancel_echoing ();
1307 1243
1308 this_command_key_count = 0; 1244 this_command_key_count = 0;
1309 this_command_key_count_reset = false;
1310 this_single_command_key_start = 0; 1245 this_single_command_key_start = 0;
1311 1246
1312 if (NILP (Vmemory_full)) 1247 if (NILP (Vmemory_full))
@@ -1394,9 +1329,6 @@ command_loop_1 (void)
1394 && !NILP (Ffboundp (Qrecompute_lucid_menubar))) 1329 && !NILP (Ffboundp (Qrecompute_lucid_menubar)))
1395 call0 (Qrecompute_lucid_menubar); 1330 call0 (Qrecompute_lucid_menubar);
1396 1331
1397 before_command_key_count = this_command_key_count;
1398 before_command_echo_length = echo_length ();
1399
1400 Vthis_command = Qnil; 1332 Vthis_command = Qnil;
1401 Vreal_this_command = Qnil; 1333 Vreal_this_command = Qnil;
1402 Vthis_original_command = Qnil; 1334 Vthis_original_command = Qnil;
@@ -1424,7 +1356,6 @@ command_loop_1 (void)
1424 { 1356 {
1425 cancel_echoing (); 1357 cancel_echoing ();
1426 this_command_key_count = 0; 1358 this_command_key_count = 0;
1427 this_command_key_count_reset = false;
1428 this_single_command_key_start = 0; 1359 this_single_command_key_start = 0;
1429 goto finalize; 1360 goto finalize;
1430 } 1361 }
@@ -1509,14 +1440,13 @@ command_loop_1 (void)
1509 } 1440 }
1510#endif 1441#endif
1511 1442
1512 if (NILP (KVAR (current_kboard, Vprefix_arg))) /* FIXME: Why? --Stef */ 1443 {
1513 { 1444 Lisp_Object undo = BVAR (current_buffer, undo_list);
1514 Lisp_Object undo = BVAR (current_buffer, undo_list); 1445 Fundo_boundary ();
1515 Fundo_boundary (); 1446 last_undo_boundary
1516 last_undo_boundary 1447 = (EQ (undo, BVAR (current_buffer, undo_list))
1517 = (EQ (undo, BVAR (current_buffer, undo_list)) 1448 ? Qnil : BVAR (current_buffer, undo_list));
1518 ? Qnil : BVAR (current_buffer, undo_list)); 1449 }
1519 }
1520 call1 (Qcommand_execute, Vthis_command); 1450 call1 (Qcommand_execute, Vthis_command);
1521 1451
1522#ifdef HAVE_WINDOW_SYSTEM 1452#ifdef HAVE_WINDOW_SYSTEM
@@ -1544,31 +1474,23 @@ command_loop_1 (void)
1544 1474
1545 safe_run_hooks (Qdeferred_action_function); 1475 safe_run_hooks (Qdeferred_action_function);
1546 1476
1547 /* If there is a prefix argument, 1477 kset_last_command (current_kboard, Vthis_command);
1548 1) We don't want Vlast_command to be ``universal-argument'' 1478 kset_real_last_command (current_kboard, Vreal_this_command);
1549 (that would be dumb), so don't set Vlast_command, 1479 if (!CONSP (last_command_event))
1550 2) we want to leave echoing on so that the prefix will be 1480 kset_last_repeatable_command (current_kboard, Vreal_this_command);
1551 echoed as part of this key sequence, so don't call 1481
1552 cancel_echoing, and 1482 this_command_key_count = 0;
1553 3) we want to leave this_command_key_count non-zero, so that 1483 this_single_command_key_start = 0;
1554 read_char will realize that it is re-reading a character, and 1484
1555 not echo it a second time. 1485 if (current_kboard->immediate_echo
1556 1486 && !NILP (call0 (Qinternal_echo_keystrokes_prefix)))
1557 If the command didn't actually create a prefix arg,
1558 but is merely a frame event that is transparent to prefix args,
1559 then the above doesn't apply. */
1560 if (NILP (KVAR (current_kboard, Vprefix_arg))
1561 || CONSP (last_command_event))
1562 { 1487 {
1563 kset_last_command (current_kboard, Vthis_command); 1488 current_kboard->immediate_echo = false;
1564 kset_real_last_command (current_kboard, Vreal_this_command); 1489 /* Refresh the echo message. */
1565 if (!CONSP (last_command_event)) 1490 echo_now ();
1566 kset_last_repeatable_command (current_kboard, Vreal_this_command);
1567 cancel_echoing ();
1568 this_command_key_count = 0;
1569 this_command_key_count_reset = false;
1570 this_single_command_key_start = 0;
1571 } 1491 }
1492 else
1493 cancel_echoing ();
1572 1494
1573 if (!NILP (BVAR (current_buffer, mark_active)) 1495 if (!NILP (BVAR (current_buffer, mark_active))
1574 && !NILP (Vrun_hooks)) 1496 && !NILP (Vrun_hooks))
@@ -2389,10 +2311,6 @@ read_char (int commandflag, Lisp_Object map,
2389 2311
2390 also_record = Qnil; 2312 also_record = Qnil;
2391 2313
2392#if 0 /* This was commented out as part of fixing echo for C-u left. */
2393 before_command_key_count = this_command_key_count;
2394 before_command_echo_length = echo_length ();
2395#endif
2396 c = Qnil; 2314 c = Qnil;
2397 previous_echo_area_message = Qnil; 2315 previous_echo_area_message = Qnil;
2398 2316
@@ -2471,8 +2389,6 @@ read_char (int commandflag, Lisp_Object map,
2471 goto reread_for_input_method; 2389 goto reread_for_input_method;
2472 } 2390 }
2473 2391
2474 this_command_key_count_reset = false;
2475
2476 if (!NILP (Vexecuting_kbd_macro)) 2392 if (!NILP (Vexecuting_kbd_macro))
2477 { 2393 {
2478 /* We set this to Qmacro; since that's not a frame, nobody will 2394 /* We set this to Qmacro; since that's not a frame, nobody will
@@ -2570,7 +2486,7 @@ read_char (int commandflag, Lisp_Object map,
2570 2486
2571 (3) There's only one place in 20.x where ok_to_echo_at_next_pause 2487 (3) There's only one place in 20.x where ok_to_echo_at_next_pause
2572 is set to a non-null value. This is done in read_char and it is 2488 is set to a non-null value. This is done in read_char and it is
2573 set to echo_area_glyphs after a call to echo_char. That means 2489 set to echo_area_glyphs. That means
2574 ok_to_echo_at_next_pause is either null or 2490 ok_to_echo_at_next_pause is either null or
2575 current_kboard->echobuf with the appropriate current_kboard at 2491 current_kboard->echobuf with the appropriate current_kboard at
2576 that time. 2492 that time.
@@ -2674,7 +2590,8 @@ read_char (int commandflag, Lisp_Object map,
2674 if (minibuf_level == 0 2590 if (minibuf_level == 0
2675 && !end_time 2591 && !end_time
2676 && !current_kboard->immediate_echo 2592 && !current_kboard->immediate_echo
2677 && this_command_key_count > 0 2593 && (this_command_key_count > 0
2594 || !NILP (call0 (Qinternal_echo_keystrokes_prefix)))
2678 && ! noninteractive 2595 && ! noninteractive
2679 && echo_keystrokes_p () 2596 && echo_keystrokes_p ()
2680 && (/* No message. */ 2597 && (/* No message. */
@@ -3018,7 +2935,6 @@ read_char (int commandflag, Lisp_Object map,
3018 { 2935 {
3019 Lisp_Object keys; 2936 Lisp_Object keys;
3020 ptrdiff_t key_count; 2937 ptrdiff_t key_count;
3021 bool key_count_reset;
3022 ptrdiff_t command_key_start; 2938 ptrdiff_t command_key_start;
3023 ptrdiff_t count = SPECPDL_INDEX (); 2939 ptrdiff_t count = SPECPDL_INDEX ();
3024 2940
@@ -3028,20 +2944,8 @@ read_char (int commandflag, Lisp_Object map,
3028 Lisp_Object saved_echo_string = KVAR (current_kboard, echo_string); 2944 Lisp_Object saved_echo_string = KVAR (current_kboard, echo_string);
3029 ptrdiff_t saved_echo_after_prompt = current_kboard->echo_after_prompt; 2945 ptrdiff_t saved_echo_after_prompt = current_kboard->echo_after_prompt;
3030 2946
3031#if 0
3032 if (before_command_restore_flag)
3033 {
3034 this_command_key_count = before_command_key_count_1;
3035 if (this_command_key_count < this_single_command_key_start)
3036 this_single_command_key_start = this_command_key_count;
3037 echo_truncate (before_command_echo_length_1);
3038 before_command_restore_flag = 0;
3039 }
3040#endif
3041
3042 /* Save the this_command_keys status. */ 2947 /* Save the this_command_keys status. */
3043 key_count = this_command_key_count; 2948 key_count = this_command_key_count;
3044 key_count_reset = this_command_key_count_reset;
3045 command_key_start = this_single_command_key_start; 2949 command_key_start = this_single_command_key_start;
3046 2950
3047 if (key_count > 0) 2951 if (key_count > 0)
@@ -3051,7 +2955,6 @@ read_char (int commandflag, Lisp_Object map,
3051 2955
3052 /* Clear out this_command_keys. */ 2956 /* Clear out this_command_keys. */
3053 this_command_key_count = 0; 2957 this_command_key_count = 0;
3054 this_command_key_count_reset = false;
3055 this_single_command_key_start = 0; 2958 this_single_command_key_start = 0;
3056 2959
3057 /* Now wipe the echo area. */ 2960 /* Now wipe the echo area. */
@@ -3075,7 +2978,6 @@ read_char (int commandflag, Lisp_Object map,
3075 /* Restore the saved echoing state 2978 /* Restore the saved echoing state
3076 and this_command_keys state. */ 2979 and this_command_keys state. */
3077 this_command_key_count = key_count; 2980 this_command_key_count = key_count;
3078 this_command_key_count_reset = key_count_reset;
3079 this_single_command_key_start = command_key_start; 2981 this_single_command_key_start = command_key_start;
3080 if (key_count > 0) 2982 if (key_count > 0)
3081 this_command_keys = keys; 2983 this_command_keys = keys;
@@ -3141,28 +3043,23 @@ read_char (int commandflag, Lisp_Object map,
3141 goto retry; 3043 goto retry;
3142 } 3044 }
3143 3045
3144 if ((! reread || this_command_key_count == 0 3046 if ((! reread || this_command_key_count == 0)
3145 || this_command_key_count_reset)
3146 && !end_time) 3047 && !end_time)
3147 { 3048 {
3148 3049
3149 /* Don't echo mouse motion events. */ 3050 /* Don't echo mouse motion events. */
3150 if (echo_keystrokes_p () 3051 if (! (EVENT_HAS_PARAMETERS (c)
3151 && ! (EVENT_HAS_PARAMETERS (c) 3052 && EQ (EVENT_HEAD_KIND (EVENT_HEAD (c)), Qmouse_movement)))
3152 && EQ (EVENT_HEAD_KIND (EVENT_HEAD (c)), Qmouse_movement))) 3053 /* Once we reread a character, echoing can happen
3153 { 3054 the next time we pause to read a new one. */
3154 echo_char (c); 3055 ok_to_echo_at_next_pause = current_kboard;
3155 if (! NILP (also_record))
3156 echo_char (also_record);
3157 /* Once we reread a character, echoing can happen
3158 the next time we pause to read a new one. */
3159 ok_to_echo_at_next_pause = current_kboard;
3160 }
3161 3056
3162 /* Record this character as part of the current key. */ 3057 /* Record this character as part of the current key. */
3163 add_command_key (c); 3058 add_command_key (c);
3164 if (! NILP (also_record)) 3059 if (! NILP (also_record))
3165 add_command_key (also_record); 3060 add_command_key (also_record);
3061
3062 echo_update ();
3166 } 3063 }
3167 3064
3168 last_input_event = c; 3065 last_input_event = c;
@@ -3218,23 +3115,13 @@ record_menu_key (Lisp_Object c)
3218 3115
3219 record_char (c); 3116 record_char (c);
3220 3117
3221#if 0 3118 /* Once we reread a character, echoing can happen
3222 before_command_key_count = this_command_key_count; 3119 the next time we pause to read a new one. */
3223 before_command_echo_length = echo_length (); 3120 ok_to_echo_at_next_pause = NULL;
3224#endif
3225
3226 /* Don't echo mouse motion events. */
3227 if (echo_keystrokes_p ())
3228 {
3229 echo_char (c);
3230
3231 /* Once we reread a character, echoing can happen
3232 the next time we pause to read a new one. */
3233 ok_to_echo_at_next_pause = 0;
3234 }
3235 3121
3236 /* Record this character as part of the current key. */ 3122 /* Record this character as part of the current key. */
3237 add_command_key (c); 3123 add_command_key (c);
3124 echo_update ();
3238 3125
3239 /* Re-reading in the middle of a command. */ 3126 /* Re-reading in the middle of a command. */
3240 last_input_event = c; 3127 last_input_event = c;
@@ -9120,11 +9007,12 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt,
9120 { 9007 {
9121 key = keybuf[t]; 9008 key = keybuf[t];
9122 add_command_key (key); 9009 add_command_key (key);
9123 if (echo_keystrokes_p () 9010 if (current_kboard->immediate_echo)
9124 && current_kboard->immediate_echo)
9125 { 9011 {
9126 echo_add_key (key); 9012 /* Set immediate_echo to false so as to force echo_now to
9127 echo_dash (); 9013 redisplay (it will set immediate_echo right back to true). */
9014 current_kboard->immediate_echo = false;
9015 echo_now ();
9128 } 9016 }
9129 } 9017 }
9130 9018
@@ -9788,11 +9676,8 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt,
9788 9676
9789 Better ideas? */ 9677 Better ideas? */
9790 for (; t < mock_input; t++) 9678 for (; t < mock_input; t++)
9791 { 9679 add_command_key (keybuf[t]);
9792 if (echo_keystrokes_p ()) 9680 echo_update ();
9793 echo_char (keybuf[t]);
9794 add_command_key (keybuf[t]);
9795 }
9796 9681
9797 return t; 9682 return t;
9798} 9683}
@@ -9819,7 +9704,6 @@ read_key_sequence_vs (Lisp_Object prompt, Lisp_Object continue_echo,
9819 if (NILP (continue_echo)) 9704 if (NILP (continue_echo))
9820 { 9705 {
9821 this_command_key_count = 0; 9706 this_command_key_count = 0;
9822 this_command_key_count_reset = false;
9823 this_single_command_key_start = 0; 9707 this_single_command_key_start = 0;
9824 } 9708 }
9825 9709
@@ -10076,33 +9960,6 @@ The value is always a vector. */)
10076 return Fvector (raw_keybuf_count, XVECTOR (raw_keybuf)->contents); 9960 return Fvector (raw_keybuf_count, XVECTOR (raw_keybuf)->contents);
10077} 9961}
10078 9962
10079DEFUN ("reset-this-command-lengths", Freset_this_command_lengths,
10080 Sreset_this_command_lengths, 0, 0, 0,
10081 doc: /* Make the unread events replace the last command and echo.
10082Used in `universal-argument-other-key'.
10083
10084`universal-argument-other-key' rereads the event just typed.
10085It then gets translated through `function-key-map'.
10086The translated event has to replace the real events,
10087both in the value of (this-command-keys) and in echoing.
10088To achieve this, `universal-argument-other-key' calls
10089`reset-this-command-lengths', which discards the record of reading
10090these events the first time. */)
10091 (void)
10092{
10093 this_command_key_count = before_command_key_count;
10094 if (this_command_key_count < this_single_command_key_start)
10095 this_single_command_key_start = this_command_key_count;
10096
10097 echo_truncate (before_command_echo_length);
10098
10099 /* Cause whatever we put into unread-command-events
10100 to echo as if it were being freshly read from the keyboard. */
10101 this_command_key_count_reset = true;
10102
10103 return Qnil;
10104}
10105
10106DEFUN ("clear-this-command-keys", Fclear_this_command_keys, 9963DEFUN ("clear-this-command-keys", Fclear_this_command_keys,
10107 Sclear_this_command_keys, 0, 1, 0, 9964 Sclear_this_command_keys, 0, 1, 0,
10108 doc: /* Clear out the vector that `this-command-keys' returns. 9965 doc: /* Clear out the vector that `this-command-keys' returns.
@@ -10113,7 +9970,6 @@ KEEP-RECORD is non-nil. */)
10113 int i; 9970 int i;
10114 9971
10115 this_command_key_count = 0; 9972 this_command_key_count = 0;
10116 this_command_key_count_reset = false;
10117 9973
10118 if (NILP (keep_record)) 9974 if (NILP (keep_record))
10119 { 9975 {
@@ -11210,6 +11066,7 @@ syms_of_keyboard (void)
11210 staticpro (&raw_keybuf); 11066 staticpro (&raw_keybuf);
11211 11067
11212 DEFSYM (Qcommand_execute, "command-execute"); 11068 DEFSYM (Qcommand_execute, "command-execute");
11069 DEFSYM (Qinternal_echo_keystrokes_prefix, "internal-echo-keystrokes-prefix");
11213 11070
11214 accent_key_syms = Qnil; 11071 accent_key_syms = Qnil;
11215 staticpro (&accent_key_syms); 11072 staticpro (&accent_key_syms);
@@ -11253,7 +11110,6 @@ syms_of_keyboard (void)
11253 defsubr (&Sthis_command_keys_vector); 11110 defsubr (&Sthis_command_keys_vector);
11254 defsubr (&Sthis_single_command_keys); 11111 defsubr (&Sthis_single_command_keys);
11255 defsubr (&Sthis_single_command_raw_keys); 11112 defsubr (&Sthis_single_command_raw_keys);
11256 defsubr (&Sreset_this_command_lengths);
11257 defsubr (&Sclear_this_command_keys); 11113 defsubr (&Sclear_this_command_keys);
11258 defsubr (&Ssuspend_emacs); 11114 defsubr (&Ssuspend_emacs);
11259 defsubr (&Sabort_recursive_edit); 11115 defsubr (&Sabort_recursive_edit);
diff --git a/src/print.c b/src/print.c
index d3b1a927b22..94f3fcd7db1 100644
--- a/src/print.c
+++ b/src/print.c
@@ -2212,7 +2212,7 @@ This affects only `prin1'. */);
2212 2212
2213 DEFVAR_BOOL ("print-quoted", print_quoted, 2213 DEFVAR_BOOL ("print-quoted", print_quoted,
2214 doc: /* Non-nil means print quoted forms with reader syntax. 2214 doc: /* Non-nil means print quoted forms with reader syntax.
2215I.e., (quote foo) prints as 'foo, (function foo) as #'foo. */); 2215I.e., (quote foo) prints as \\='foo, (function foo) as #\\='foo. */);
2216 print_quoted = 0; 2216 print_quoted = 0;
2217 2217
2218 DEFVAR_LISP ("print-gensym", Vprint_gensym, 2218 DEFVAR_LISP ("print-gensym", Vprint_gensym,
diff --git a/src/process.c b/src/process.c
index 17e9187aa65..1ab83780914 100644
--- a/src/process.c
+++ b/src/process.c
@@ -2685,7 +2685,7 @@ Examples:
2685\(serial-process-configure :process "/dev/ttyS0" :speed 1200) 2685\(serial-process-configure :process "/dev/ttyS0" :speed 1200)
2686 2686
2687\(serial-process-configure 2687\(serial-process-configure
2688 :buffer "COM1" :stopbits 1 :parity 'odd :flowcontrol 'hw) 2688 :buffer "COM1" :stopbits 1 :parity \\='odd :flowcontrol \\='hw)
2689 2689
2690\(serial-process-configure :port "\\\\.\\COM13" :bytesize 7) 2690\(serial-process-configure :port "\\\\.\\COM13" :bytesize 7)
2691 2691
@@ -2785,7 +2785,7 @@ Examples:
2785 2785
2786\(make-serial-process :port "COM1" :speed 115200 :stopbits 2) 2786\(make-serial-process :port "COM1" :speed 115200 :stopbits 2)
2787 2787
2788\(make-serial-process :port "\\\\.\\COM13" :speed 1200 :bytesize 7 :parity 'odd) 2788\(make-serial-process :port "\\\\.\\COM13" :speed 1200 :bytesize 7 :parity \\='odd)
2789 2789
2790\(make-serial-process :port "/dev/tty.BlueConsole-SPP-1" :speed nil) 2790\(make-serial-process :port "/dev/tty.BlueConsole-SPP-1" :speed nil)
2791 2791
diff --git a/src/w32fns.c b/src/w32fns.c
index f279fb86c2f..d8e22e2aa9c 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -5782,8 +5782,8 @@ Internal use only, use `display-monitor-attributes-list' instead. */)
5782 5782
5783DEFUN ("set-message-beep", Fset_message_beep, Sset_message_beep, 1, 1, 0, 5783DEFUN ("set-message-beep", Fset_message_beep, Sset_message_beep, 1, 1, 0,
5784 doc: /* Set the sound generated when the bell is rung. 5784 doc: /* Set the sound generated when the bell is rung.
5785SOUND is 'asterisk, 'exclamation, 'hand, 'question, 'ok, or 'silent 5785SOUND is `asterisk', `exclamation', `hand', `question', `ok', or `silent'
5786to use the corresponding system sound for the bell. The 'silent sound 5786to use the corresponding system sound for the bell. The `silent' sound
5787prevents Emacs from making any sound at all. 5787prevents Emacs from making any sound at all.
5788SOUND is nil to use the normal beep. */) 5788SOUND is nil to use the normal beep. */)
5789 (Lisp_Object sound) 5789 (Lisp_Object sound)
diff --git a/src/xfaces.c b/src/xfaces.c
index 556f361c10d..d89adca8c57 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -6506,8 +6506,8 @@ If this variable is made buffer-local, the face remapping takes effect
6506only in that buffer. For instance, the mode my-mode could define a 6506only in that buffer. For instance, the mode my-mode could define a
6507face `my-mode-default', and then in the mode setup function, do: 6507face `my-mode-default', and then in the mode setup function, do:
6508 6508
6509 (set (make-local-variable 'face-remapping-alist) 6509 (set (make-local-variable \\='face-remapping-alist)
6510 '((default my-mode-default)))). 6510 \\='((default my-mode-default)))).
6511 6511
6512Because Emacs normally only redraws screen areas when the underlying 6512Because Emacs normally only redraws screen areas when the underlying
6513buffer contents change, you may need to call `redraw-display' after 6513buffer contents change, you may need to call `redraw-display' after