Commit graph

81078 commits

Author SHA1 Message Date
Peter Münster
8bc6dbecd2 Add support for history of image tags and completion in the minibuffer
* 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.
2021-08-19 15:03:23 +02:00
Peter Münster
63d6e1ffa1 Avoid problems when one tag/file is a substring of another
* lisp/image-dired.el (image-dired-remove-tag): End of filename is bound
by ";" and end of tag is bound by ";" or end of line.
2021-08-19 15:03:23 +02:00
Peter Münster
101b3c81b6 New placement of newline characters in image-dired-db-file
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.
2021-08-19 15:03:23 +02:00
Peter Münster
bf64342a8f Fix deletion of associated image
* lisp/image-dired.el (image-dired-delete-marked): Treat original images
first, because point position is used when there are no marked files.
2021-08-19 15:03:23 +02:00
Eli Zaretskii
787fa7a8ab Minor doc fixes in icomplete.el
* lisp/icomplete.el (icomplete-section): Add :version.
(icomplete--augment): Doc fix.
2021-08-19 15:29:49 +03:00
Lars Ingebrigtsen
6276f73115 stterm doesn't understand all codes that xterm does
* lisp/term/st.el (xterm-st-extra-capabilities): New user option
(bug#50119).
(terminal-init-st): Use it to avoid a two-second timeout.
2021-08-19 14:18:32 +02:00
João Távora
37f0ea99f8 ; Correct :version tag of icomplete-selected-match face
* lisp/icomplete.el (icomplete-selected-match): Fix :version
2021-08-19 12:16:03 +01:00
João Távora
2be8e2ffc9 Section by 'group-function' in Icomplete and Fido's vertical modes
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.
2021-08-19 12:16:03 +01:00
João Távora
2c699b87c2 Improve fix of bug#49888 on no-pattern flex sorting
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.
2021-08-19 12:16:03 +01:00
Dmitry Gutov
fba64e1697 Fix vc-root-diff broken with Git as well
* lisp/vc/vc.el (vc-root-diff): Fix similar to 3502321403 by
avoiding the abbreviated directory name in argument (bug#39452).
2021-08-19 03:57:58 +03:00
Juri Linkov
9b31ad3609 * lisp/progmodes/xref.el (xref--collect-matches): Widen temporarily. 2021-08-18 20:02:39 +03:00
Juri Linkov
1a4ed8ee78 * lisp/mouse.el: More fixes for context-menu.
(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.
2021-08-18 20:01:03 +03:00
Lars Ingebrigtsen
15a8026caf Disable auto compositions on the Linux console only
* 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.
2021-08-18 16:24:40 +02:00
Peter Münster
fa4a63c689 Add menu bindings to new functions in image-dired.el
* 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).
2021-08-18 14:53:25 +02:00
pillule
f26a027d6b Fix ediff3 layouts with window-combination-resize non-nil (Bug#49277)
* 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.
2021-08-18 09:21:06 +02:00
pillule
eddb003f30 Fix behavior when switch-to-prev-buffer-skip is a function (Bug#49275)
* lisp/window.el (switch-to-prev-buffer)
(switch-to-next-buffer): More correctly handle cases where
'switch-to-prev-buffer-skip' is a function.
2021-08-18 09:16:06 +02:00
Andrea Corallo
7fa5dec86e * Fix `native-compile-target-directory' effectiveness for async compilation.
* lisp/emacs-lisp/comp.el (comp-run-async-workers): Forward to async
workers `native-compile-target-directory'.
2021-08-17 23:47:05 +02:00
Glenn Morris
ca781e4430 * lisp/mouse.el (context-menu-filter-function): Fix type. 2021-08-17 11:31:24 -07:00
Eli Zaretskii
b960e1aea2 ; Fix a comment in a recent commit.
* lisp/help-mode.el (help-mode-syntax-table): Fix punctuation in a
comment.
2021-08-17 15:40:05 +03:00
Michalis V
00fdf80e21 Improve `forward-sexp' in *Help* buffers
* 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.
2021-08-17 14:20:57 +02:00
João Távora
e6fb7e44cc Bind <up> and <down> in icomplete-vertical-mode
Suggested by Ergus <spacibba@aol.com>

* lisp/icomplete.el (icomplete-vertical-mode-minibuffer-map): Bind
<up> and <down>
2021-08-17 13:06:06 +01:00
João Távora
96bbd6f0a7 Jump to first,last completion with M-<, M-> in icomplete-vertical-mode
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->.
2021-08-17 12:56:38 +01:00
Juri Linkov
bf1ec4952e Merge branch 'feature/context-menu' 2021-08-17 11:11:35 +03:00
Dmitry Gutov
9e2cc406d3 ruby-mode imenu: Support methods with modifiers
* lisp/progmodes/ruby-mode.el (ruby-imenu-create-index-in-block):
Support methods with modifiers (visibility or otherwise)
(bug#50079).
2021-08-17 04:07:19 +03:00
Dmitry Gutov
fd7f2077bc vc-git-region-history: Fix to call 'diff' more correctly
* lisp/vc/vc-git.el (vc-git-region-history):
Fix to pass a list to the backend 'diff' command (bug#39452).
2021-08-17 03:32:12 +03:00
João Távora
a126c06b0a Make icomplete-vertical-mode take immediate effect (bug#49075)
* etc/NEWS: Mention change.

* lisp/icomplete.el (icomplete-vertical-mode):
(fido-vertical-mode): Tweak docstring.  Turn on
icomplete-mode. and fido-mdoe
2021-08-16 23:18:27 +01:00
Glenn Morris
958f591567 Merge from origin/emacs-27
9664ee182c (origin/emacs-27) C++ Mode: Don't confuse the pointer oper...
b3aec9ee48 CC Mode: Fix unstable fontification of doc strings.

# Conflicts:
#	lisp/progmodes/cc-fonts.el
2021-08-16 08:01:03 -07:00
Lars Ingebrigtsen
a3b31302dd Fix cursor movement on the Linux console with certain characters
* lisp/term/linux.el (terminal-init-linux): Switch off
auto-compositions, because they confuse cursor movement on the
Linux console (bug#21363).
2021-08-16 14:49:19 +02:00
Lars Ingebrigtsen
b9243b034b Minor clarification for define-minor-mode :variable
* 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).
2021-08-16 14:24:53 +02:00
Clément Pit-Claudel
adb450719a Remove prettification for \par in tex-mode
* 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).
2021-08-16 14:10:41 +02:00
Lars Ingebrigtsen
751f1707f0 Add new functions to replace strings/regexp in a region
* doc/lispref/searching.texi (Search and Replace): Document them.
* lisp/subr.el (replace-string-in-region)
(replace-regexp-in-region): New functions.

* lisp/emacs-lisp/shortdoc.el (regexp, buffer): Mention them.
2021-08-16 13:20:35 +02:00
Lars Ingebrigtsen
42be416578 Don't remove `fontified' in nxml--buffer-substring-filter
* lisp/nxml/nxml-mode.el (nxml--buffer-substring-filter): Removing
`fontified' is probably unnecessary (bug#50061).
2021-08-16 13:17:25 +02:00
Dmitry Gutov
3502321403 Fix regressions in the last change
* 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.
2021-08-16 03:33:29 +03:00
Alan Mackenzie
9664ee182c C++ Mode: Don't confuse the pointer operator -> with the type indicating ->
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.
2021-08-15 19:43:58 +00:00
Alan Mackenzie
b3aec9ee48 CC Mode: Fix unstable fontification of doc strings.
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.
2021-08-15 18:11:42 +00:00
Juri Linkov
d9eac0b426 Use map-keymap in context-menu-global, context-menu-local, context-menu-minor 2021-08-15 19:27:06 +03:00
Juri Linkov
7ec0574581 * lisp/simple.el (shift-select-mode): Add new choice 'permanent' (bug#50038).
(handle-shift-selection): Handle new choice 'permanent'.
2021-08-15 19:18:05 +03:00
Juri Linkov
0da97a4ed9 * lisp/tab-bar.el (tab-bar-new-button-show): Make variable obsolete. 2021-08-15 19:15:42 +03:00
Stefan Monnier
bf11c698b6 * lisp/nxml/nxml-mode.el (nxml-mode): Use add-function
This avoids calling the internal function `buffer-substring--filter`
from `nxml.el`.

(nxml--buffer-substring-filter): Adjust accordingly.
2021-08-15 10:18:08 -04:00
Lars Ingebrigtsen
2a022e9be3 Filter out rng-state elements in nxml-mode buffers from the kill ring
* lisp/nxml/nxml-mode.el (nxml--buffer-substring-filter): Filter
out `rng-state' objects (bug#50061).
(nxml-mode): Set `filter-buffer-substring-function'.
2021-08-15 15:43:39 +02:00
João Távora
ab23fa4eb2 Sort by recency in flex completion style when no flexy stuff happening
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.
2021-08-15 13:32:59 +01:00
Augusto Stoffel
926eeb7dd4 Allow evaluating Python code across machines
* python.el (python-shell-send-string): Ensure that the temporary file
is created in the host running the Python process (bug#50057).
2021-08-15 14:00:49 +02:00
Lars Ingebrigtsen
42a98feb5b Run execute-extended-command key binding suggestion from a timer
* 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).
2021-08-15 13:36:24 +02:00
Masahiro Nakamura
e2eb58c487 Mark up commands in shortdoc.el for modes
* lisp/emacs-lisp/shortdoc.el: Add command mode tagging
(bug#50064).
2021-08-15 11:55:34 +02:00
João Távora
e6f3a4dc6c Fix bug#50063 when using icomplete-fido-kill with C-x p p
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.
2021-08-15 09:13:25 +01:00
Wolfgang Scherer
3572613550 Fix vc-git-state for filenames with wildcards
* lisp/vc/vc-git.el: (vc-git--literal-pathspec-inner),
(vc-git--literal-pathspec), (vc-git--literal-pathspecs) new functions
to add ":(literal)" pathspec magic (bug#39452).

(vc-git-registered), (vc-git-state), (vc-git-dir-status-goto-stage),
(vc-git-register), (vc-git-unregister), (vc-git-checkin),
(vc-git-find-revision), (vc-git-checkout), (vc-git-revert),
(vc-git-conflicted-files), (vc-git-print-log), (vc-git-diff),
(vc-git-previous-revision), (vc-git-next-revision),
(vc-git-delete-file), (vc-git-rename-file) functions
vc-git--literal-pathspec, vc-git--literal-pathspecs applied.
2021-08-15 04:22:26 +03:00
Dmitry Gutov
d1dbf7fc9e Revert "Bind the GIT_LITERAL_PATHSPECS environment variable"
This reverts commit a2d0ff2600.

It was found to break a certain use case, and we decided to go with
the other solution (bug#39452).
2021-08-15 03:45:42 +03:00
Stefan Monnier
bf55b5ac17 * lisp/emacs-lisp/easymenu.el (easy-menu-do-define): Fix bug#50051
This corrects the quite confused conversion to closure done in
commit a070bd1c8b.
2021-08-14 12:22:57 -04:00
Alan Mackenzie
e3205eaeef * lisp/progmodes/cc-engine.el (c-ml-string-in-end-delim): Rewrite function 2021-08-14 14:42:55 +00:00
Lars Ingebrigtsen
3c053ef142 Filter out -L foo labels in diff-hunk-file-names
* lisp/vc/diff-mode.el (diff-hunk-file-names): Filter out "-L foo"
labels (bug#10160).
2021-08-14 15:50:55 +02:00