1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-08 08:43:52 -08:00
Commit graph

151382 commits

Author SHA1 Message Date
Tino Calancha
681faf9f0b ; * test/lisp/files-tests.el: Add tests for save-some-buffers (Bug#46374) 2021-08-20 18:17:44 +02:00
Tino Calancha
5b03849102 ; * test/lisp/files-tests.el: Add tests for save-some-buffers
; Do not merge to master.
2021-08-20 18:07:04 +02:00
Davide Masserut
63cbb54d7e Mark page navigation commands as repeatable
* doc/emacs/basic.texi (Repeating): Document page navigation
repeatability.

* lisp/bindings.el (page-navigation-repeat-map): Add new map
(bug#50137).
* lisp/bindings.el (forward-page):
(backward-page): Mark as repeatable.

Copyright-paperwork-exempt: yes
2021-08-20 17:49:35 +02:00
Lars Ingebrigtsen
b2b9f69b9d Document how to get rid of completion on SPC' and ?'
* doc/emacs/custom.texi (Minibuffer Maps): Mention how to get rid
of completion on `SPC' and `?' (bug#16528).
2021-08-20 17:00:10 +02:00
Lars Ingebrigtsen
ac2cecbd83 Fix printing of C-@ in `describe-fontset'
* lisp/international/mule-diag.el (mule--kbd-at): New function
(bug#17836).
(print-fontset-element): Use it to get multi-key things correct.
2021-08-20 16:35:56 +02:00
Lars Ingebrigtsen
13fdded2c1 Allow preserving symlinks with file-precious-flag set
* doc/lispref/files.texi (Saving Buffers): Document it.
* lisp/files.el (file-preserve-symlinks-on-save): New user option
(bug#18125).
(basic-save-buffer-2): Use it.
2021-08-20 16:20:51 +02:00
Lars Ingebrigtsen
e1a209ef41 Fix infinite recursion in mode: tex
* lisp/textmodes/tex-mode.el (tex--redirect-to-submode): Inhibit
recursion when called from file-local variables (bug#50126).
2021-08-20 15:57:06 +02:00
Lars Ingebrigtsen
c2026cf366 Fix infinite recursion of conf-mode
* lisp/textmodes/conf-mode.el (conf-mode): Inhibit recursion when
called from file-local variables (bug#50126).
2021-08-20 15:55:24 +02:00
Marco Centurion
657fe8b9d8 Allow copy-directory to copy the source as a symlink
* doc/emacs/files.texi (Copying and Naming): Document it.

* lisp/files.el (copy-directory): Allow copying symbolic links as
is (bug#10897).
(copy-directory-create-symlink): New user option.

Copyright-paperwork-exempt: yes
2021-08-20 15:43:41 +02:00
Lars Ingebrigtsen
00a9c50ad7 Further tweaks to execute-extended-command
* lisp/simple.el (execute-extended-command): Move finding the
short command to the timer command, too (bug#50042).  This further
ensures that post-command-hook is run faster.
2021-08-20 15:07:24 +02:00
Lars Ingebrigtsen
969c3135d6 Remove even more waiting from execute-extended-command
* lisp/simple.el (execute-extended-command): Remove all the
waiting from the command and do it all with timers (bug#50042).
This ensures that post-command-hook is run immediately also when
the command has messaged something.
2021-08-20 14:55:40 +02:00
Mattias Engdegård
573e8eef86 ; * lisp/mouse.el: Fix typos in previous change 2021-08-20 13:51:36 +02:00
Mattias Engdegård
89c31342a7 Use C-mouse-1 for context menu on NS
The Mac platform convention is to use control-left-click for context
menus (as a synonym to right-click).

* lisp/mouse.el (context-menu--old-bindings): Remove.
(context-menu--saved-bindings)
(context-menu--bind-mouse, context-menu--reset-bindings): New.
(context-menu-mode): Use new functions, with C-mouse-1 as extra
binding on NS.
2021-08-20 12:34:34 +02:00
Mattias Engdegård
e1ed0c3af1 Fix xref {prev,next}-error target buffer match highlighting extent
* lisp/progmodes/xref.el (xref--next-error-function):
Bind `xref--current-item` during the call to `xref--show-location` so
that `xref-pulse-momentarily` finds the match extent.
2021-08-20 12:34:34 +02:00
Mattias Engdegård
c69b4768d6 Don't mutate string literal
* lisp/obsolete/terminal.el (terminal-escape-map): Rewrite loop in a
simpler and more robust way.
2021-08-20 12:34:34 +02:00
Lars Ingebrigtsen
f804248b4f Tweak a failing custom test
* test/lisp/custom-tests.el (custom-tests-require-theme): Fix a
native-comp-related test failure.

In this test, we set load-path to nil, and under native-comp some of
the tests want to give a warning:

Warning (comp): Cannot look-up eln file as no source file was
found for /tmp/custom-tests-bfdbkW/custom-tests--d.elc

But we can't load warning.el after setting load-path to nil, so
require it first.
2021-08-20 02:32:02 +02:00
João Távora
fb81c8c3ad Make icomplete-forward-completions O(1) when icomplete-scroll is t
In particular, this makes the recently added
icomplete-vertical-goto-last (bug#49005) be O(n) instead of O(n^2).
That used to be almost unbearably slow for large n.

* lisp/icomplete.el (icomplete-forward-completions):  don't call last
unless needed.
2021-08-19 23:56:29 +01:00
Lars Ingebrigtsen
a3df92f483 Remove more mentions of the removed `M-o' facemenu binding
* doc/emacs/text.texi (Fill Commands, Fill Commands): Adjust `M-o'
mentions.

* etc/refcards/refcard.tex (section{Formatting}):
* etc/refcards/pt-br-refcard.tex (section{Formatando}):
* etc/refcards/fr-refcard.tex (section{Formater}): Remove mention
of `M-o'.
2021-08-19 18:26:18 +02:00
Madhu
bfa3191c79 Correctly call completion-in-region in shell.el
* lisp/shell.el (shell-dynamic-complete-command)
(shell-dynamic-complete-environment-variable): Correctly call
completion-in-region (bug#50125).

Copyright-paperwork-exempt: yes
2021-08-19 18:02:07 +02:00
Basil L. Contovounesios
489ddc56ab ; Fix escaping in recent ibuf-ext.el doc change. 2021-08-19 16:58:58 +01:00
Lars Ingebrigtsen
9bf8bb0e3e Fix space at the start of appt mode line element
* lisp/calendar/appt.el (appt-check): Add space at the end
(bug#18164) -- all `global-mode-string' elements should have it
there to get an even space distribution.
2021-08-19 17:48:14 +02:00
Lars Ingebrigtsen
cd00fb5e2a Add ibuffer-saved-filter-groups example to the doc string
* lisp/ibuf-ext.el (ibuffer-saved-filter-groups): Add an example
for this complicated syntax (bug#18694).
2021-08-19 17:11:00 +02:00
Lars Ingebrigtsen
04f723dec9 Fix dired switch (that contain quotes and spaces) parsing
* lisp/files.el (insert-directory): Tokenize shell strings
correctly (bug#18875).
2021-08-19 16:21:07 +02:00
Lars Ingebrigtsen
a44432a773 Fix st.el doc string
* 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 15:19:23 +02:00
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
1511f3cecc Fix inaccuracies in documentation of 'message-truncate-lines'
* doc/lispref/display.texi (Echo Area Customization):
* src/xdisp.c (syms_of_xdisp): Adjust the documentation of
message-truncate-lines to changes that fixed bug#46718.
2021-08-19 15:44:55 +03: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
Eli Zaretskii
8e93a37b77 ; * src/xdisp.c (hscroll_window_tree): Fix a typo in a comment. 2021-08-19 15:25:26 +03:00
Eli Zaretskii
4bd7be2b8f Fix errors with hscrolling mini-windows under truncate-lines
* src/xdisp.c (hscroll_window_tree): Disallow hscroll in
mini-windows that display echo-area messages.  (Bug#50096)
2021-08-19 15:24:14 +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
Eli Zaretskii
78b427648b Improve documentation of 'assoc'
* doc/lispref/lists.texi (Association Lists):
* src/fns.c (Fassoc): Document how TESTFN is called.  (Bug#50110)
2021-08-18 22:07:30 +03:00
Glenn Morris
91f549becd ; Fix paren typo 2021-08-18 11:50:42 -07:00
Juri Linkov
ad9c57f54a Mouse wheel scrolling on the tab bar
* lisp/tab-bar.el (tab-bar-map): Bind mouse-4/wheel-up/wheel-left
to tab-previous and mouse-5/wheel-down/wheel-right to tab-next.
Bind S-mouse-4/wheel-up/wheel-left to tab-bar-move-tab-backward
and S-mouse-5/wheel-down/wheel-right to tab-bar-move-tab.
(tab-bar-move-tab-backward): New command.
(tab-bar-move-repeat-map): Use tab-bar-move-tab-backward
instead of lambda.

* src/xterm.c (handle_one_xevent): Remove restriction
to allow clicking mouse-4 and mouse-5.
2021-08-18 20:52:32 +03:00
Juri Linkov
56d567acb6 Bind [drag-mouse-1] to tab-bar-mouse-move-tab on tab-bar-map
* lisp/tab-bar.el (tab-bar-mouse-move-tab): New command.
(tab-bar-map): Bind [drag-mouse-1] to tab-bar-mouse-move-tab.
(tab-bar-select-tab): Zero or nil arg means the current tab.

* src/xdisp.c (handle_tab_bar_click): Remove restriction
to allow dragging the tab to another tab.
2021-08-18 20:44:14 +03:00
Juri Linkov
e6bea0cbc7 Redesign tab-bar event processing (bug#41342, bug#41343)
Instead of emitting menu-item keys like [tab-1],
emit normal mouse events like [mouse-1] and [down-mouse-3]
for all mouse clicks issued on the tab-bar.

* lisp/mouse.el (mouse-posn-property): Handle 'tab-bar' posn-area.

* lisp/tab-bar.el (tab--key-to-number): New internal function.
(tab-bar-handle-mouse): Use tab key to select/close tab.
(tab-bar-mouse-select-tab, tab-bar-mouse-close-tab)
(tab-bar-mouse-context-menu): New commands.
(tab-bar-map): Bind [down-mouse-1] to tab-bar-mouse-select-tab,
[down-mouse-2] to tab-bar-mouse-close-tab,
[down-mouse-3] to tab-bar-mouse-context-menu.
(tab-bar-keymap-cache): Remove.
(tab-bar-make-keymap): Don't use cache.
(tab-bar--format-tab): Remove default bindings from menu items.
(tab-bar-make-keymap-1): Prepend tab-bar-map.

* src/keyboard.c (make_lispy_event): Append event->arg to position
for Qtab_bar.

* src/term.c (handle_one_term_event): Simplify to set event arg.

* src/w32inevt.c (do_mouse_event): Set emacs_ev->arg to the value
returned from tty_handle_tab_bar_click.

* src/w32term.c (w32_handle_tab_bar_click): Return value from
handle_tab_bar_click.
(w32_read_socket): Set tab_bar_key to value returned from
w32_handle_tab_bar_click, and set event arg from it.

* src/xdisp.c (handle_tab_bar_click): Instead of emitting event,
return a list with Qtab_bar and tab caption with text properties
that contain Qmenu_item with key and binding.
(tty_handle_tab_bar_click): Simplify to return a list of Qtab_bar,
key and close_p, instead of emitting event.

* src/xterm.c (handle_one_xevent): Set tab_bar_key to value
returned from handle_tab_bar_click, and set event arg from it.
2021-08-18 20:32:32 +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
Eli Zaretskii
0d5ff75e94 Improve documentation of last change.
* etc/NEWS: Mention the string value of 'auto-composition-mode'.

* src/composite.c (syms_of_composite) <auto-composition-mode>: Doc
fix.
2021-08-18 19:10:01 +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
Lars Ingebrigtsen
3a1d713c19 Add undo-in-region test case for bug#21523 2021-08-18 15:32:23 +02:00
Eli Zaretskii
ee812f2a98 Yet another place inside redisplay_window to prevent quitting
* src/xdisp.c (handle_single_display_spec): Inhibit quitting
around the call to lookup_image.  (Bug#44448)
2021-08-18 16:14:29 +03:00
Eli Zaretskii
bf4f7388b6 Fix abort when turning on Hebrew or Arabic input methods
* src/xdisp.c (face_before_or_after_it_pos): Add the missing
initialization of the bidi scan direction.  (Bug#50107)
2021-08-18 16:01:57 +03: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