* lisp/image-dired.el (image-dired-tag-history): New variable holding the
tag history.
(image-dired-tag-files, image-dired-tag-thumbnail, image-dired-delete-tag)
(image-dired-tag-thumbnail-remove): Use it for the user input.
It's more usual to have the newline at the end of the line, instead of the
beginning. This change avoids missing newline at the end of the file, an
empty line at the start and eventually a lot of empty lines when
`require-final-newline' is not nil.
* lisp/image-dired.el (image-dired-write-tags): Insert newline at the end
of the line, instead of the beginning.
(image-dired-remove-tag): Do not delete empty line at end of buffer.
Fixes: bug#48545
* lisp/icomplete.el (icomplete--augment): Rewrite from icomplete--affixate.
(icomplete--render-vertical): Rework.
(icomplete--vertical-minibuffer-setup): Separator is hardcoded "\n", no
need to set.
This version is functionally equivalent, but doesn't duplicate any
code. When nothing "flexy" is happening, it works by simply not doing
any metadata adjustments, instead of attempting to synthesize a
function to mimic the non-flex case.
* lisp/minibuffer.el (completion--flex-adjust-metadata): Simplify.
(context-menu-map): Remove menu title "Context Menu" (bug#50067).
(context-menu-minor): Reverse sub-menus to display exactly in the same order
as on the menu bar.
* lisp/term/linux.el (terminal-init-linux): Disable auto
compositions on "linux" consoles (bug#21363).
* src/composite.c (inhibit_auto_composition): New function to
implement this.
(composition_compute_stop_pos, composition_adjust_point)
(Ffind_composition_internal): Use it.
(syms_of_composite): Document it.
* src/lisp.h: Export tty_type_name.
* src/term.c (tty_type_name): Factored out.
(Ftty_type): Use it.
* lisp/image-dired.el (image-dired--with-marked): New macro for
cycling over marked thumbnails.
(image-dired-tag-thumbnail, image-dired-tag-thumbnail-remove): Can
handle now also all marked thumbnails.
(image-dired-tag-marked-thumbnails): Remove it, because it's
obsoleted by `image-dired-tag-thumbnail' now.
(image-dired-delete-marked): Use new macro
`image-dired--with-marked', and add command to menu (bug#50000).
* lisp/vc/ediff-wind.el (ediff-setup-windows-plain-compare)
(ediff-setup-windows-multiframe-compare): Fix three windows
layouts produced by ediff3 when 'window-combination-resize'
was customized to t and 'even-window-sizes' to nil.
* lisp/help-mode.el (help-mode-syntax-table): New variable (bug#39134).
(help-make-xrefs): Use it to make picking out symbols in curved
quotes work reliably.
(help-xref-on-pp): Ditto.
Fixes: bug#49005
Co-authored-by: Simon Lang <simon.lang@outlook.com>
* lisp/icomplete.el (icomplete-backward-completions): Return
non-nil iff something was stepped. Ajust docstring.
(icomplete-forward-completions): Adjust docstring.
(icomplete-vertical-goto-first, icomplete-vertical-goto-last): New commands.
(icomplete-vertical-mode-minibuffer-map): Bind new commands to M-< and M->.
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
* doc/lispref/modes.texi (Defining Minor Modes): Clarify what the
setter function should do (bug#14875).
* lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Remove
prettified version of `\par'. Many fonts don't display anything for
the character it was mapped to (#x2029 PARAGRAPH SEPARATOR), so
enabling prettification makes every `\par' disappear (bug#50073).
* lisp/vc/vc-git.el (vc-git-register):
Use file names verbatim with 'git update-index', as it only accepts
file names, not pathspecs (bug#39452).
* lisp/vc/vc.el (vc-print-root-log):
Expand ROOTDIR, so that vc-git-print-log doesn't receive an
abbreviated name. Literal pathspecs don't work with those.
This fixes bug #47468.
* lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): While searching
backwards for "->" which is a type indicating operator, disallow also commas.
Also optimize a loop over several line doc-comments.
* lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): New variable
comment-mid, used as the starting point for applying c-doc-face-name in a
line comments. In block comments, apply this face not from `comment-beg' but
from `region-beg', no earlier than the start of the fontification region.
Fixes: bug#49888
* minibuffer.el (completion--flex-adjust-metadata): Fall back to usual
alphanumeric, length, recency strategy if no minibuffer input. There
is still a bug indicated by the nearby FIXMEs, though.
* lisp/simple.el (execute-extended-command): Run the key binding
suggestion from a timer instead of in the program flow -- this
allows `post-command-hook' to be executed immediately (bug#50042).
C-x p p utilizes a completion table "category" which is 'project-file'
icomplete-fido-kill only functioned for 'buffer' and 'file', and
failed with a non-informative message when something else was used.
* lisp/icomplete.el (icomplete-fido-kill): Support 'project-file'
class. Use cl-case, instead of pcase.