Commit 5c890bfc authored by Glenn Morris's avatar Glenn Morris

Merge from origin/emacs-27

be0d1cac (origin/emacs-27) Small fix for type of 'display-fill-colu...
c5e58397 Fix customization of 'display-fill-column-indicator-charac...
d5c184aa Refer to fill column indicator Info node in some places.
e13300ae Merge branch 'emacs-27' of git.sv.gnu.org:/srv/git/emacs i...
0bae5703 Fix GTK's Tool Bar menu radio buttons
4c98aa7e Minor clarifications in NEWS
a1cbd05f Improve documentation of 'with-suppressed-warnings'.
4a895c1b Fix a typo in a comment
2caf3e99 Improve documentation of Hi Lock mode
7081c1d6 Fix typos in the Emacs user manual
0385771e Fix references to Speedbar in VHDL mode
a76cafea Fix handling of FROM = t and TO = t by 'window-text-pixel-...

# Conflicts:
#	etc/NEWS
#	src/xdisp.c
parents 196bc13b be0d1cac
Pipeline #5518 failed with stage
in 18 minutes and 17 seconds
......@@ -532,8 +532,8 @@ holidays centered around a different month, use @kbd{C-u M-x
holidays}, which prompts for the month and year.
The holidays known to Emacs include United States holidays and the
major Bahá'í, Chinese, Christian, Islamic, and Jewish holidays; also the
solstices and equinoxes.
major Bah@'{a}@t{'}@'{i}, Chinese, Christian, Islamic, and Jewish
holidays; also the solstices and equinoxes.
@findex list-holidays
The command @kbd{M-x holiday-list} displays the list of holidays for
......
......@@ -1882,7 +1882,7 @@ also unset keys, when passed @code{nil} as the binding.
Since a mode's keymaps are not constructed until it has been loaded,
you must delay running code which modifies them, e.g., by putting it
on a @dfn{mode hook} (@pxref{(Hooks)}). For example, Texinfo mode
on a @dfn{mode hook} (@pxref{Hooks}). For example, Texinfo mode
runs the hook @code{texinfo-mode-hook}. Here's how you can use the
hook to add local bindings for @kbd{C-c n} and @kbd{C-c p}, and remove
the one for @kbd{C-c C-x x} in Texinfo mode:
......
......@@ -723,7 +723,13 @@ with renamed files so that they refer to the new names.
@vindex dired-vc-rename-file
If the value of the variable @code{dired-vc-rename-file} is non-@code{nil},
files are renamed using the commands of the underlying VCS, via
@ifnottex
@code{vc-rename-file} (@pxref{VC Delete/Rename}).
@end ifnottex
@iftex
@code{vc-rename-file} (@pxref{VC Delete/Rename,, Deleting and Renaming
Version-Controlled Files, emacs-xtra, Specialized Emacs Features}).
@end iftex
@findex dired-do-hardlink
@kindex H @r{(Dired)}
......
......@@ -881,21 +881,27 @@ list the contents of such directories when completing file names.
** Minibuffer
+++
*** A new user option, 'minibuffer-beginning-of-buffer-movement', has
been introduced to allow controlling how the 'M-<' command works in
*** New user option 'minibuffer-beginning-of-buffer-movement'.
This option allows control of how the 'M-<' command works in
the minibuffer. If non-nil, point will move to the end of the prompt
(if point is after the end of the prompt).
(if point is after the end of the prompt). The default is nil, which
preserves the original behavior of 'M-<' moving to the beginning of
the prompt.
+++
*** When the minibuffer is active, echo-area messages are displayed at
the end of the minibuffer instead of hiding the minibuffer by the echo
area display. The new user option 'minibuffer-message-clear-timeout'
controls how messages displayed in this situation are removed from the
minibuffer.
minibuffer. To revert to previous behavior, where echo-area messages
temporarily overwrote the minibuffer contents until the user typed
something, set 'set-message-function' and 'clear-message-function' to
nil.
---
*** Minibuffer now uses 'minibuffer-message' to display error messages
at the end of the active minibuffer.
at the end of the active minibuffer. To disable this, remove
'minibuffer-error-initialize' from 'minibuffer-setup-hook'.
+++
*** 'y-or-n-p' now uses the minibuffer to read 'y' or 'n' answer.
......
......@@ -771,9 +771,16 @@ since it could result in memory overflow and make Emacs crash."
:safe (lambda (value) (or (booleanp value) (integerp value))))
(display-fill-column-indicator-character
display-fill-column-indicator
character
(choice
(character :tag "Use U+2502 to indicate fill column"
:value ?│)
(character :tag "Use | to indicate fill column"
:value ?|)
(const :tag "If possible, use U+2502 to indicate fill column, otherwise use |"
:value nil)
character)
"27.1"
:safe characterp)
:safe (lambda (value) (or (characterp value) (null value))))
;; xfaces.c
(scalable-fonts-allowed display boolean "22.1")
;; xfns.c
......
......@@ -31,7 +31,7 @@
;; NOTE: Customization variables for
;; `display-fill-column-indicator-column' and
;; `display-fill-column-indicator-char' itself are defined in
;; `display-fill-column-indicator-character' itself are defined in
;; cus-start.el.
;;; Code:
......@@ -39,7 +39,8 @@
(defgroup display-fill-column-indicator nil
"Display a fill column indicator in the buffer."
:group 'convenience
:group 'display)
:group 'display
:link '(info-link "(emacs)Displaying Boundaries"))
;;;###autoload
......@@ -49,7 +50,8 @@ This uses `display-fill-column-indicator' internally.
To change the position of the column displayed by default
customize `display-fill-column-indicator-column'. You can change the
character for the indicator setting `display-fill-column-indicator-character'."
character for the indicator setting `display-fill-column-indicator-character'.
See Info node `Displaying Boundaries' for details."
:lighter nil
(if display-fill-column-indicator-mode
(progn
......
......@@ -536,11 +536,12 @@ wrong number of parameters, say
(zot 1 2))
The warnings that can be suppressed are a subset of the warnings
in `byte-compile-warning-types'; see this variable for a fuller
explanation of the warning types. The types that can be
suppressed with this macro are `free-vars', `callargs',
`redefine', `obsolete', `interactive-only', `lexical', `mapcar',
`constants' and `suspicious'.
in `byte-compile-warning-types'; see the variable
`byte-compile-warnings' for a fuller explanation of the warning
types. The types that can be suppressed with this macro are
`free-vars', `callargs', `redefine', `obsolete',
`interactive-only', `lexical', `mapcar', `constants' and
`suspicious'.
For the `mapcar' case, only the `mapcar' function can be used in
the symbol list. For `suspicious', only `set-buffer' can be used."
......
......@@ -322,7 +322,10 @@ or add (global-hi-lock-mode 1) to your init file.
In buffers where Font Lock mode is enabled, patterns are
highlighted using font lock. In buffers where Font Lock mode is
disabled, patterns are applied using overlays; in this case, the
highlighting will not be updated as you type.
highlighting will not be updated as you type. The Font Lock mode
is considered \"enabled\" in a buffer if its `major-mode'
causes `font-lock-specified-p' to return non-nil, which means
the major mode specifies support for Font Lock.
When Hi Lock mode is enabled, a \"Regexp Highlighting\" submenu
is added to the \"Edit\" menu. The commands in the submenu,
......@@ -480,7 +483,10 @@ and `search-upper-case' is non-nil, the matching is case-sensitive.
Use Font lock mode, if enabled, to highlight REGEXP. Otherwise,
use overlays for highlighting. If overlays are used, the
highlighting will not update as you type."
highlighting will not update as you type. The Font Lock mode
is considered \"enabled\" in a buffer if its `major-mode'
causes `font-lock-specified-p' to return non-nil, which means
the major mode specifies support for Font Lock."
(interactive
(list
(hi-lock-regexp-okay
......@@ -510,7 +516,10 @@ Also set `search-spaces-regexp' to the value of `search-whitespace-regexp'.
Use Font lock mode, if enabled, to highlight REGEXP. Otherwise,
use overlays for highlighting. If overlays are used, the
highlighting will not update as you type."
highlighting will not update as you type. The Font Lock mode
is considered \"enabled\" in a buffer if its `major-mode'
causes `font-lock-specified-p' to return non-nil, which means
the major mode specifies support for Font Lock."
(interactive
(list
(hi-lock-regexp-okay
......@@ -538,7 +547,10 @@ If REGEXP contains upper case characters (excluding those preceded by `\\')
and `search-upper-case' is non-nil, the matching is case-sensitive.
This uses Font lock mode if it is enabled; otherwise it uses overlays,
in which case the highlighting will not update as you type."
in which case the highlighting will not update as you type. The Font
Lock mode is considered \"enabled\" in a buffer if its `major-mode'
causes `font-lock-specified-p' to return non-nil, which means
the major mode specifies support for Font Lock."
(interactive)
(let* ((regexp (hi-lock-regexp-okay
(find-tag-default-as-symbol-regexp)))
......
......@@ -1085,10 +1085,10 @@ The selected font will be the default on both the existing and future frames."
:visible (display-graphic-p)
:button
(:radio . (and tool-bar-mode
(frame-parameter
(eq (frame-parameter
(menu-bar-frame-for-menubar)
'tool-bar-position)
'left))))
'left)))))
(bindings--define-key menu [showhide-tool-bar-right]
'(menu-item "On the Right"
......
......@@ -14730,7 +14730,7 @@ if required."
(speedbar-add-mode-functions-list
'("vhdl directory"
(speedbar-item-info . vhdl-speedbar-item-info)
(speedbar-line-directory . speedbar-files-line-path)))
(speedbar-line-directory . speedbar-files-line-directory)))
(speedbar-add-mode-functions-list
'("vhdl project"
(speedbar-item-info . vhdl-speedbar-item-info)
......
......@@ -10486,7 +10486,7 @@ include the height of both, if present, in the return value. */)
struct buffer *b;
struct it it;
struct buffer *old_b = NULL;
ptrdiff_t start, end, pos;
ptrdiff_t start, end, bpos;
struct text_pos startp;
void *itdata = NULL;
int c, max_x = 0, max_y = 0, x = 0, y = 0;
......@@ -10501,29 +10501,55 @@ include the height of both, if present, in the return value. */)
}
if (NILP (from))
start = BEGV;
{
start = BEGV;
bpos = BEGV_BYTE;
}
else if (EQ (from, Qt))
{
start = pos = BEGV;
while ((pos++ < ZV) && (c = FETCH_CHAR (pos))
&& (c == ' ' || c == '\t' || c == '\n' || c == '\r'))
start = pos;
while ((pos-- > BEGV) && (c = FETCH_CHAR (pos)) && (c == ' ' || c == '\t'))
start = pos;
start = BEGV;
bpos = BEGV_BYTE;
while (bpos < ZV_BYTE)
{
FETCH_CHAR_ADVANCE (c, start, bpos);
if (!(c == ' ' || c == '\t' || c == '\n' || c == '\r'))
break;
}
while (bpos > BEGV_BYTE)
{
DEC_BOTH (start, bpos);
c = FETCH_CHAR (bpos);
if (!(c == ' ' || c == '\t'))
break;
}
}
else
start = clip_to_bounds (BEGV, fix_position (from), ZV);
{
start = clip_to_bounds (BEGV, fix_position (from), ZV);
bpos = CHAR_TO_BYTE (start);
}
SET_TEXT_POS (startp, start, bpos);
if (NILP (to))
end = ZV;
else if (EQ (to, Qt))
{
end = pos = ZV;
while ((pos-- > BEGV) && (c = FETCH_CHAR (pos))
&& (c == ' ' || c == '\t' || c == '\n' || c == '\r'))
end = pos;
while ((pos++ < ZV) && (c = FETCH_CHAR (pos)) && (c == ' ' || c == '\t'))
end = pos;
end = ZV;
bpos = ZV_BYTE;
while (bpos > BEGV_BYTE)
{
DEC_BOTH (end, bpos);
c = FETCH_CHAR (bpos);
if (!(c == ' ' || c == '\t' || c == '\n' || c == '\r'))
break;
}
while (bpos < ZV_BYTE)
{
FETCH_CHAR_ADVANCE (c, end, bpos);
if (!(c == ' ' || c == '\t'))
break;
}
}
else
end = clip_to_bounds (start, fix_position (to), ZV);
......@@ -10537,7 +10563,6 @@ include the height of both, if present, in the return value. */)
max_y = XFIXNUM (y_limit);
itdata = bidi_shelve_cache ();
SET_TEXT_POS (startp, start, CHAR_TO_BYTE (start));
start_display (&it, w, startp);
/* It makes no sense to measure dimensions of region of text that
crosses the point where bidi reordering changes scan direction.
......@@ -34965,7 +34990,8 @@ It has no effect when set to 0, or when line numbers are not absolute. */);
Fmake_variable_buffer_local (Qdisplay_line_numbers_offset);
DEFVAR_BOOL ("display-fill-column-indicator", Vdisplay_fill_column_indicator,
doc: /* Non-nil means display the fill column indicator. */);
doc: /* Non-nil means display the fill column indicator.
See Info node `Displaying Boundaries' for details. */);
Vdisplay_fill_column_indicator = false;
DEFSYM (Qdisplay_fill_column_indicator, "display-fill-column-indicator");
Fmake_variable_buffer_local (Qdisplay_fill_column_indicator);
......@@ -34974,7 +35000,8 @@ It has no effect when set to 0, or when line numbers are not absolute. */);
doc: /* Column for indicator when `display-fill-column-indicator' is non-nil.
The default value is t which means that the indicator
will use the `fill-column' variable. If it is set to an integer the
indicator will be drawn in that column. */);
indicator will be drawn in that column.
See Info node `Displaying Boundaries' for details. */);
Vdisplay_fill_column_indicator_column = Qt;
DEFSYM (Qdisplay_fill_column_indicator_column, "display-fill-column-indicator-column");
Fmake_variable_buffer_local (Qdisplay_fill_column_indicator_column);
......@@ -34982,7 +35009,8 @@ indicator will be drawn in that column. */);
DEFVAR_LISP ("display-fill-column-indicator-character", Vdisplay_fill_column_indicator_character,
doc: /* Character to draw the indicator when `display-fill-column-indicator' is non-nil.
The default is U+2502 but a good alternative is (ascii 124)
if the font in fill-column-indicator face does not support Unicode characters. */);
if the font in fill-column-indicator face does not support Unicode characters.
See Info node `Displaying Boundaries' for details. */);
Vdisplay_fill_column_indicator_character = Qnil;
DEFSYM (Qdisplay_fill_column_indicator_character, "display-fill-column-indicator-character");
Fmake_variable_buffer_local (Qdisplay_fill_column_indicator_character);
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment