* 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.
This takes care of unfinished business from df0f32f048 (bug#43489).
* lisp/emacs-lisp/lisp.el (end-of-defun, mark-defun):
* lisp/reposition.el (reposition-window):
* lisp/simple.el (transpose-sexps): Convert nasty-looking scan-error
into a human-readable message.
* lisp/display-line-numbers.el (display-line-numbers-width-start):
Allow the value to be a number. (Bug#48095)
(display-line-numbers-mode): Handle
'display-line-numbers-width-start' whose value is a number.
* lisp/net/tramp-archive.el (tramp-archive-handle-insert-file-contents):
Code cleanup.
* lisp/net/tramp.el: Reload `tramp-compat' when we reload
`tramp-autoloads'.
(with-tramp-file-property, with-tramp-connection-property):
Use `tramp-cache-undefined'.
(tramp-autoload-file-name-handler): Do not load tramp-compat.el.
(tramp-handle-insert-file-contents): Code cleanup.
* lisp/emacs-lisp/avl-tree.el (avl-tree--root)
(avl-tree--dir-to-sign, avl-tree--sign-to-dir)
(avl-tree--del-balance, avl-tree--enter-balance)
(avl-tree--do-copy, avl-tree--stack-repopulate, avl-tree-empty)
(avl-tree-delete, avl-tree-member, avl-tree-member-p)
(avl-tree-map, avl-tree-mapc, avl-tree-mapf, avl-tree-mapcar)
(avl-tree-copy, avl-tree-clear, avl-tree-stack)
(avl-tree-stack-first): Fix doc strings to be less verbose and to
have the first line a complete sentence.
* test/lisp/progmodes/ruby-mode-tests.el (ruby-with-temp-file): New helper.
(ruby--set-encoding-when-ascii, ruby--set-encoding-when-utf8)
(ruby--set-encoding-when-latin-15): Tests for the previous commit (bug#48043).
* lisp/progmodes/ruby-mode.el (ruby-encoding-map):
Add entry for utf-8 (bug#48043).
(ruby--detect-encoding): Don't convert to string too early, so
that returning nil is meaningful.
(ruby-mode-set-encoding): Convert to string here.