* src/indent.c (line_number_display_width): Make sure the selected
window's buffer is current before using display code on it:
redisplay assumes that the window's buffer is current at all
times. Reported by Evgeny Kurnevsky via lsp-mode's issue 1621,
https://github.com/emacs-lsp/lsp-mode/issues/1621.
The following commits were skipped:
6a46d3d809 (emacs-27) ; Auto-commit of loaddefs files.
ccfd2e20a9 Fix GUD overlay arrows in M-x gdb when debugging over Tram...
e61688f87d Fix setting breakpoints in M-x gdb for remote files. Don'...
Its only use was removed in the recent change of 2021-04-27 "Major
rewrite of adjust_frame_size", announced in the following thread:
https://lists.gnu.org/r/emacs-devel/2021-04/msg01162.html
* src/gtkutil.c [USE_GTK && !HAVE_GTK3] (gdk_window_get_geometry):
Remove unused macro to pacify -Wunused-macros build warning.
* lisp/files.el (after-find-file): Behave the same in when
warning/not warning (bug#47850). This fixes this test case:
(switch-to-buffer (find-file-noselect "non-existing-dir/test.el" t))
which would leave the buffer read-only.
* lisp/bookmark.el (bookmark-fontify): New user option (bug#48179).
(bookmark-face): New face.
(bookmark--fontify, bookmark--unfontify): New functions.
(bookmark-set-internal, bookmark--jump-via, bookmark-delete): Use
them.
* src/xfns.c (x_set_tab_bar_lines): Call
x_change_tab_bar_height only if the number of tab bar lines
changed from or to zero (Bug#46827).
* src/xterm.c (x_make_frame_visible): Make frame_size_history
update less noisy by doing it only if the frame wasn't visible
before.
* src/nsterm.m ([EmacsView viewDidResize:]): The drawing buffer can be
resized independently of Emacs's idea of the frame size.
Co-authored-by: martin rudalics <rudalics@gmx.at>
* lisp/image.el (image-show-frame): Don't force an update if the
buffer with the animation isn't in a window (bug#47895). Also
just update the window in question.
* lisp/image.el (image-animate): Only compute the animation data
once -- this avoids recomputing the image on every iteration when
the image is not displayed (bug#47895).
* lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords): puts and
printf can be called without arguments, so the font locking of
"bare" calls to either is incorrect. The fix is to font-lock them
as for other kernel methods which accepts zero or more arguments
(bug#48180).
* etc/tutorials/TUTORIAL.it: Reference 'describe-command' to replicate
recent change. Add also a space before '<Invio>' in several places,
mimicking the usage of <Return> in the English version (bug#48183).
The code for this is the symbol 'n', which is usually spelled as '\n'
here, not the character ?\n.
* doc/misc/autotype.texi (Skeleton Language): Fix item for
newline-and-indent.
* lisp/help-fns.el (describe-command): New command.
(help-fns--describe-function-or-command-prompt): New helper
function to prompt for a function or function. (Bug#46627)
(describe-function): Use above new helper function.
* lisp/help.el (help-map): Bind above new command to `C-h x'.
(help-for-help): Add this new command to the help summary.
* lisp/menu-bar.el (menu-bar-describe-menu): Add the new command to
the help menu.
* doc/emacs/help.texi (Help Summary, Name Help): Document
'describe-command', and update documentation on 'describe-function'.
* etc/tutorials/TUTORIAL: Change reference from 'describe-function' to
'describe-command'.
The toolkit can send far too many resize notifications, so be more
careful when we take action after receiving one.
* src/nsfns.m (ns_set_tool_bar_lines): Remove unneeded NSTRACE.
* src/nsterm.m ([EmacsView viewDidResize:]): Don't report resizes to
Emacs when the same change has already been reported and delayed.
The purpose of this change is to have implied frame size changes
pick up sizes requested by previous explicit size changes not
only after they have been confirmed by the WM but already when
they are initially passed to adjust_frame_size (Bug#17120).
* src/dispextern.h (delayed_size_change): Remove extern.
* src/dispnew.c (delayed_size_change): Make static again.
(do_pending_window_change): Call change_frame_size only if F's
new_size_p flag is set.
(change_frame_size_1): Set/reset F's new_size_p flag
* src/frame.c (adjust_frame_size): Remove extra
inhibit_horizontal/_vertical checks. Improve the implied
resizes check with INHIBIT equals 2. Set F's new_width and
new_height and reset F's new_size_p flag when we run
set_window_size_hook with INHIBIT 0 or 1.
* src/frame.h (struct frame): New bit slot new_size_p.
* src/gtkutil.c (xg_frame_resized): Use F's new_size_p flag
instead of delayed_size_change to decide whether to call
change_frame_size.
(xg_frame_set_char_size): Call frame_size_history_extra before
waiting for the ConfigureNotify event.
* src/xterm.c (handle_one_xevent): Use F's new_size_p flag
instead of delayed_size_change to decide whether to call
change_frame_size.
* lisp/apropos.el (apropos-value): Skip more apropos-internal
variables (bug#48063).
(apropos-value-internal): Skip the first value in the history
values, which always contains the match.
Set `minibuffer-completion-*` variables buffer-locally instead of using
a global let-binding. This should also help make completion work
correctly when multiple minibuffers are simultaneously active.