Commit graph

96403 commits

Author SHA1 Message Date
Stefan Kangas
43b81b7eca Prefer defvar-keymap in two-column.el
* lisp/textmodes/two-column.el (2C-mode-map, 2C-minor-mode-map):
Convert to defvar-keymap.
2024-12-27 05:26:11 +01:00
Stefan Kangas
4f942b4994 Use with-environment-variables in more places
* lisp/gnus/gnus-search.el (gnus-search-run-search):
* lisp/man.el (Man-completion-table):
* lisp/progmodes/cperl-mode.el (cperl-pod-to-manpage):
* test/src/fileio-tests.el (fileio-tests--relative-HOME):
Prefer 'with-environment-variables'.
2024-12-27 05:13:22 +01:00
Stefan Kangas
85ca91ff91 Drop support form gnome-moz-remote from browse-url
* lisp/net/browse-url.el (browse-url-gnome-moz-program)
(browse-url-gnome-moz-arguments, browse-url-gnome-moz): Delete
functions and variables obsolete since Emacs 25.1.
2024-12-26 23:24:50 +01:00
Antero Mejr
099e439ea9 Add scheme-mode indentation rules for SRFI 227 and 253
* lisp/progmodes/scheme.el: Add properties for SRFI 227 and SRFI 253
identifiers.  (Bug#75126)
2024-12-26 22:41:10 +01:00
Stefan Kangas
85f5be491e Improve flag variable names in uniquify
* lisp/uniquify.el (uniquify-after-kill-buffer-flag)
(uniquify-trailing-separator-flag): Rename from
'uniquify-after-kill-buffer-p' and 'uniquify-trailing-separator-p', to
better adhere to our conventions.  Update all users and leave old names
as obsolete variable aliases.
2024-12-26 21:24:59 +01:00
Visuwesh
bdc21b246c Ensure Dired window is selected when reverting buffer
* lisp/dired.el (dired--make-directory-clickable): Ensure the
Dired window is selected.  This prevents erroneously reverting a
non-Dired buffer.  (Bug#74700)
2024-12-26 14:07:30 +02:00
Morgan Willcock
dc4b8d198b Set marker insertion type for Imenu markers
* lisp/imenu.el (imenu-default-create-index-function)
(imenu--generic-function): Configure Imenu markers to advance
their position when characters are inserted at the marker
position.  (Bug#75072)
2024-12-26 10:58:39 +02:00
Spencer Baugh
6412a5503c Consistently add wildcards for completion-pcm-leading-wildcard
completion-pcm--find-all-completions has two different phases:
First we turn the minibuffer text into a regex and matches
completion alternatives against it.  If that finds no matches,
then we strip some text off the completions and minibuffer text
and call ourselves recursively to find completions, then filter
the results with the removed text (converted into a regex).

Because of this, completion-pcm-leading-wildcard had
inconsistent behavior: in the second phase, the filter created
from the removed text would have a leading wildcard.  That
effectively adds wildcards in the middle of the minibuffer text
at the start of each "word".  But the first phrase created a
regex which had no such wildcards.  Thus, the two phases could
get substantially different results.

We fix this by changing completion-pcm-leading-wildcard to
consistently add a leading wildcard for each word.  This was
always my intention.

* lisp/minibuffer.el (completion-pcm--string->pattern): Include
a wildcard after each delimter with
completion-pcm-leading-wildcard. (bug#74772)
* lisp/minibuffer.el (completion-pcm-leading-wildcard): Update
docs.
* doc/emacs/mini.texi (Completion Styles): Update docs.
2024-12-26 10:42:58 +02:00
Visuwesh
aaacd5806c Show the keybinding next to command in calc's x
* lisp/calc/calc-ext.el (calc-execute-extended-command): Use
M-x's ':affixation-function' to show the keybinding of the calc
command next to its name.  (Bug#74829)
2024-12-26 10:23:11 +02:00
Dmitry Gutov
b561f896b5 ruby-ts--s-p-query: Put '_' syntax on ?! method definitions
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--s-p-query):
Put 'symbol' syntax on method definitions ending with [?!].
Reported in https://github.com/dgutov/robe/issues/149.
2024-12-26 06:17:40 +02:00
Dmitry Gutov
704aa2b6eb ruby-ts-mode: Refine the forward-sexp improvement
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--sexp-list-p):
New function (bug#73404).
(ruby-ts-mode): Use it in sexp-list thing definition.
2024-12-26 02:53:05 +02:00
Eli Zaretskii
e96727f0ea ; Fix documentation of recent additions to treesit.el
* lisp/treesit.el (treesit-language-display-name-alist)
(treesit-language-display-name): Doc fixes.

* etc/NEWS: Fix wording of entry announcing the above.
2024-12-25 20:52:45 +02:00
Juri Linkov
c09e056c43 * lisp/treesit.el: Improvements for treesit-explore-mode (bug#75079)
(treesit-explorer-switch-parser): Don't use completing-read
on the single parser.
(treesit-explore-mode): Don't save treesit-explore-mode to the desktop.
2024-12-25 19:54:06 +02:00
Stefan Kangas
1e40be0ab8 Improve dictionary-switch-tooltip-mode docstring
* lisp/net/dictionary.el (dictionary-switch-tooltip-mode): Fix
docstring and argument name.
2024-12-25 04:39:23 +01:00
Nicholas Vollmer
7cda5e7f02 Fix checkdoc warnings in dictionary.el
* lisp/net/dictionary.el (dictionary-tool-bar-map): Add missing period.
(dictionary-process-popup-replies)
(dictionary-read-definition)
(dictionary-display-tooltip): Rename ignored parameters.
(dictionary-tooltip-track-mouse): Describe what function does, not just
when.
(dictionary-switch-tooltip-mode): Reword docstring in terms of ON
parameter.  (Bug#68684)
2024-12-25 04:32:03 +01:00
Yuan Fu
e2a9af4311
Add treesit-aggregated-simple-imenu-settings
Now we support setting up Imenu for multiple languages

* doc/lispref/modes.texi: Update manual.
* lisp/treesit.el:
(treesit-aggregated-simple-imenu-settings): New variable.
(treesit--imenu-merge-entries): New function.
(treesit--generate-simple-imenu): This was previously
treesit-simple-imenu.
(treesit-simple-imenu): Support
treesit-aggregated-simple-imenu-settings.
(treesit-major-mode-setup): Recognize
treesit-aggregated-simple-imenu-settings.
* test/src/treesit-tests.el (treesit-imenu): New test.
2024-12-24 13:56:44 -08:00
Yuan Fu
833494d4b0
; Add some shortdoc examples for treesit entry
* lisp/treesit.el: Add some shortdoc examples.
2024-12-24 13:52:39 -08:00
Yuan Fu
251b4c8c39
Add treesit-language-display-name
* lisp/treesit.el:
(treesit-language-display-name-alist): New variable.
(treesit-language-display-name): New function.
* doc/lispref/parsing.texi (Language Grammar): Add to manual.
* etc/NEWS: Add to NEWS.
2024-12-24 13:52:39 -08:00
Juri Linkov
563e5868f6 Add treesit thing 'sexp-list' to c++-ts-mode (bug#73404)
* lisp/progmodes/c-ts-mode.el (c-ts-mode--thing-settings):
Add C++ 'sexp-list' nodes for 'treesit-thing-settings'.
2024-12-24 19:39:30 +02:00
Juri Linkov
b061c01607 Add treesit thing 'sexp-list' to tsx-ts-mode (bug#73404, bug#73978)
* lisp/progmodes/typescript-ts-mode.el (tsx-ts-mode):
Add 'sexp-list' to 'treesit-thing-settings' with "jsx" things.
(typescript-ts-mode--sexp-list-nodes): Remove "jsx" things.
2024-12-24 19:24:11 +02:00
Juri Linkov
f0afebb991 * lisp/progmodes/typescript-ts-mode.el: Fix regexp-opt of treesit-thing.
(typescript-ts-base-mode): Add arg 'symbols' to regexp-opt of 'sexp',
'sexp-list', 'sentence', 'text' (bug#73404, bug#74366, bug#74963).
(tsx-ts-mode): Add arg 'symbols' to regexp-opt of 'sexp', 'sentence'.
This avoids such mismatches as "string_fragment" by "string".
2024-12-24 09:40:21 +02:00
Yuan Fu
7ac7ebef6c
; Update c-ts-mode and c++-ts-mode's verified revision
* lisp/progmodes/c-ts-mode.el: Update revision.
2024-12-23 18:52:41 -08:00
Yuan Fu
32ad734289
Include lightweight tags in treesit-admin--verify-major-mode-queries
* lisp/treesit.el (treesit--language-git-revision): Include
lightweight tags as well.
2024-12-23 18:52:41 -08:00
Yuan Fu
4def541bbf
Fix cmake-ts-mode font-lock queries
This commit in tree-sitter-cmake removed angle brackets:

a414a4c83d

* lisp/progmodes/cmake-ts-mode.el
(cmake-ts-mode--font-lock-settings): Remove angle brackets.
2024-12-23 18:52:41 -08:00
Yuan Fu
93755ea1a6
Create a blobless clone in treesit-admin--verify-major-mode-queries
* admin/treesit-admin.el (treesit-admin--verify-major-mode-queries):
Create a blobless clone.
* lisp/treesit.el (treesit--install-language-grammar-blobless):
New variable.
(treesit--git-clone-repo): Support blobless clone.
2024-12-23 18:52:40 -08:00
Yuan Fu
8d7cba7bbf
; Minor comment improvement in c-ts-common--adaptive-fill-prefix
* lisp/progmodes/c-ts-common.el (c-ts-common--adaptive-fill-prefix):
Improve comment.
2024-12-23 18:52:40 -08:00
Martin Rudalics
6017c6a986 Make 'fit-frame-to-buffer' work around size hints (Bug#74866)
* lisp/window.el (fit-frame-to-buffer-1): When
'frame-resize-pixelwise' is nil, round up requested sizes to avoid
that lines get wrapped (Bug#74866).
* doc/lispref/windows.texi (Resizing Windows): Mention that with
size hints one may have to set 'frame-resize-pixelwise' to make
'fit-frame-to-buffer' fit the buffer exactly.
2024-12-23 10:59:11 +01:00
Arsen Arsenovi�
39380e1bd3 Java Mode: introduce the keyword `assert'.
* lisp/progmodes/cc-langs.el (c-simple-stmt-kwds): Put `assert'
into the java value.
2024-12-22 19:33:29 +00:00
Juri Linkov
423e1ee7d6 Add treesit thing 'sexp-list' to typescript-ts-mode (bug#73404)
* lisp/progmodes/typescript-ts-mode.el (typescript-ts-base-mode):
Add 'sexp-list' to 'treesit-thing-settings'.
(typescript-ts-mode--sexp-list-nodes): New variable.
2024-12-22 21:15:18 +02:00
Augusto Stoffel
ec39f669f9 Handle ':noquery' in 'open-gnutls-stream'
* lisp/net/gnutls.el (open-gnutls-stream): Extract and use
':noquery' keyword.  (Bug#74193).
2024-12-22 12:36:59 +01:00
Antero Mejr
78eb102bc3 Allow viewing .dcm images via image-convert
* lisp/files.el (auto-mode-alist): Support the DICOM .dcm image
format.  (Bug#63531)
2024-12-22 04:07:07 +01:00
Antero Mejr
7d41a23ad3 Allow viewing .six images via image-convert
* lisp/files.el (auto-mode-alist): Support the Sixel .six image
format.  (Bug#63531)
* lisp/image.el (imagemagick-enabled-types): Add SIX.
2024-12-22 04:07:07 +01:00
Stefan Monnier
961cff855a * lisp/vc/smerge-mode.el (smerge-extend): New command (bug#74509) 2024-12-21 21:45:41 -05:00
Stefan Kangas
86a8b24bde Match more gdbinit files in auto-mode-alist
* lisp/files.el (auto-mode-alist): Match more gdbinit files,
including XDG, and MS-Windows.  Avoid false positives.
(set-auto-mode--find-matching-alist-entry): Break out function...
(set-auto-mode--apply-alist): ...from here.  (Bug#74946)
* test/lisp/files-tests.el (files-tests--check-mode): New function.
(files-tests-auto-mode-alist): New test.
2024-12-22 03:00:31 +01:00
Stefan Kangas
d89d8715ee Prefer defvar-keymap in gud.el
* lisp/progmodes/gud.el (gud-gdb-repeat-map, gud-sdb-repeat-map)
(gud-dbx-repeat-map, gud-xdb-repeat-map, gud-perldb-repeat-map)
(gud-pdb-repeat-map, gud-guiler-repeat-map, gud-jdb-repeat-map):
Convert to defvar-keymap.
2024-12-22 02:13:07 +01:00
Michael Albinus
e59e727892 * lisp/net/tramp-gvfs.el (tramp-gvfs-local-file-name): New defun. 2024-12-21 18:12:45 +01:00
Stefan Monnier
4764261681 (cl-flet, cl-labels): Fix bug#74870
* lisp/emacs-lisp/cl-macs.el (cl-flet, cl-labels): Wrap function
bodies in `cl-block`.

* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--test-flet-block): New test.
2024-12-21 11:13:40 -05:00
Eli Zaretskii
a1d08d2c13 Merge from origin/emacs-30
5e97079cc7 ; Fix call to 'decode_string_utf_8' in  #ifdef'ed-away code
6902673b5b ; Improve commentary in calendar.el
08b62132dd Add 'lua-ts-mode' to 'interpreter-mode-alist'
d8ffcf2fba Document representation of dates in calendar.el
faaa13ec76 Autoload 'shortdoc-help-fns-examples-function'
2024-12-21 07:56:28 -05:00
Eli Zaretskii
3617940f32 Merge from origin/emacs-30
8f8da2d785 ; * ChangeLog.4: Update.
49adcf30b0 ; * etc/AUTHORS: Update.
1381c6f959 * Update authors.el
5c0f3f5826 ; * etc/NEWS: Mark unmarked entries.
8a0c9c234f Document 'trusted-content
c6ce11b2a4 Mention network-interface-list in network-interface-info ...
a7905145f7 ; * lisp/emacs-lisp/re-builder.el (reb-change-syntax): Fi...
cde22c0201 Move NEWS items from unreleased 28.3 to released 29.1
5686bb5b42 Improve browse-url-android-share docstring
92041e15f4 Minor doc fix for url-handler-regexp
9fd96e2ab9 Improve reb-change-syntax docstring
b9dc337ea7 * lisp/files.el (trusted-content-p): Make `:all` work in ...
4b685bc4fc ; * src/process.c (Fnetwork_interface_list): Fix typo.
c14c489571 ; * lisp/net/nsm.el (nsm-trust-local-network): Fix typo.
10f976300d ; Add some tree-sitter thing content to the manual
55303a6bc0 * lisp/org/ox-texinfo.el (org-texinfo-template): Fix Info...
8b6c6cffd1 trusted-content: Adjust the last patch based on prelimina...
69b16e5c63 ; * etc/NEWS: Fix typos.
5c6dbc65f3 ; * doc/lispref/frames.texi (Multiple Terminals): Add ind...
856a58e282 Update documentation of 'etags' regexps some more
4c68846223 Update documentation of 'etags' regexps
b5158bd191 elisp-mode.el: Disable Flymake byte-compile backend in un...

# Conflicts:
#	doc/man/etags.1
#	etc/NEWS
#	lisp/org/ox-texinfo.el
2024-12-21 07:56:08 -05:00
Eli Zaretskii
6902673b5b ; Improve commentary in calendar.el
* lisp/calendar/calendar.el: Expand the commentary.  Suggested by
Richard Lawrence <rwl@recursewithless.net>.  (Bug#74965)
2024-12-21 13:00:05 +02:00
john muhl
08b62132dd Add 'lua-ts-mode' to 'interpreter-mode-alist'
* lisp/progmodes/lua-ts-mode.el: Enable 'lua-ts-mode' for Lua
scripts based on their interpreter line.  (Bug#74951)
2024-12-21 12:53:21 +02:00
Richard Lawrence
d8ffcf2fba Document representation of dates in calendar.el
* lisp/calendar/calendar.el: Add a comment in file header
explaining how dates are represented.
2024-12-21 12:43:39 +02:00
JD Smith
308d5d5473 'seconds-to-string': new optional arguments for readable strings
* lisp/calendar/time-date.el (seconds-to-string): Accept new
optional arguments READABLE, ABBREV, and PRECISION, and format the
output string accordingly.  (Bug#71572)

* doc/lispref/os.texi (Time Calculations):
* etc/NEWS: Document the new arguments of 'seconds-to-string'.
2024-12-21 12:29:54 +02:00
Eli Zaretskii
bf41ff24b9 ; * lisp/net/browse-url.el (browse-url-with-browser-kind): Doc fix. 2024-12-21 11:33:47 +02:00
Daniel Mendler
0f645b92ed browse-url-with-browser-kind: Improve browser function selection
In order to find an appropriate browser function for the given
kind, first the browser handler lists are consulted.  If no
handler is found, the `browse-url-browser-function',
`browse-url-secondary-browser-function`,
`browse-url-default-browser' and `eww' are tried in that order
until a browser function with a matching kind is found.  This
way the user customization of `browse-url-browser-function' and
`browse-url-secondary-browser-function` is respected by
`browse-url-with-browser-kind'.
* lisp/net/browse-url.el (browse-url-with-browser-kind): Try the
browser functions in the aforementioned order.  (Bug#74820)
2024-12-21 11:31:35 +02:00
Eli Zaretskii
40145ba971 ; Improve last change
* lisp/net/eww.el (eww-search-confirm-send-region)
(eww-search-words): Doc fix.
(eww-search-words): Improve wording of confirmation request.
(Bug#74218)
2024-12-21 10:57:47 +02:00
Fabio Natali
31f3a760c5 Ask confirmation before EWW sends region to a search engine
With 'eww-search-words' (by default bound to 'M-s M-w') a user
can type in some search terms and get back the results of a web
search from a predefined search engine.  If a region is selected,
'eww-search-words' will use that for the web search instead of
prompting the user.
In its current form, 'eww-search-words' presents a security and
usability problem.  It is relatively too easy to mistakenly
launch the function and, if a region of text is selected, have
potentially sensitive data sent out to a third-party service.
This commit changes the search function's default behaviour so
that explicit confirmation is required before a region is sent
to a search engine.  The behaviour can be adjusted via the
newly-introduced 'eww-search-confirm-send-region' variable,
which is set to true by default.
* lisp/net/eww.el (eww-search-confirm-send-region): Add.
(eww-search-words): Update default 'eww-search-words' behaviour
so as to ask confirmation before sending the region to a search
engine.  (Bug#74218)
2024-12-21 10:51:45 +02:00
F. Jason Park
1c960bda91 Use smarter default for erc-server-reconnect-function
* doc/misc/erc.texi (Sample Configuration): Remove customization in
`use-package' declaration for `erc-server-reconnect-function' as well as
related language in the customization walk-through.  Do this because the
new default incorporates `erc-server-delayed-check-reconnect' behavior
for compatible connect functions.
* etc/ERC-NEWS: Announce new default for `erc-server-reconnect-function'.
* lisp/erc/erc-backend.el (erc-server-reconnect-function): Change
default to `erc-server-prefer-check-reconnect'.
(erc-server-delayed-check-reconnect): Use `process-send-string' instead
of `send-string'.
(erc--server-delayed-check-connectors): New variable.
(erc-server-prefer-check-reconnect): New function.
* test/lisp/erc/erc-scenarios-base-auto-recon.el
(erc-scenarios-base-auto-recon-unavailable)
(erc-scenarios-base-auto-recon-no-proto): Remove unnecessary
`erc-server-reconnect-function' binding because the new default
incorporates the behavior being tested for.
* test/lisp/erc/erc-scenarios-base-buffer-display.el
(erc-scenarios-base-buffer-display--reconnect-common):
* test/lisp/erc/erc-scenarios-base-compat-rename-bouncer.el
(erc-scenarios-common--base-compat-no-rename-bouncer):
* test/lisp/erc/erc-scenarios-base-netid-bouncer-recon-base.el
(erc-scenarios-base-netid-bouncer--recon-base):
* test/lisp/erc/erc-scenarios-base-netid-bouncer-recon-both.el
(erc-scenarios-base-netid-bouncer--recon-both):
* test/lisp/erc/erc-scenarios-base-netid-bouncer-recon-id.el
(erc-scenarios-base-netid-bouncer--reconnect-id-foo)
(erc-scenarios-base-netid-bouncer--reconnect-id-bar):
* test/lisp/erc/erc-scenarios-base-reconnect.el
(erc-scenarios-base-reconnect-timer)
(erc-scenarios-base-cancel-reconnect):
* test/lisp/erc/erc-scenarios-services-misc.el
(erc-scenarios-services-misc--reconnect-retry-nick):
* test/lisp/erc/erc-scenarios-stamp.el
(erc-scenarios-stamp--date-mode/reconnect): Explicitly bind
`erc-server-reconnect-function' to `erc-server-delayed-reconnect', the
former default, which does not do any probing.  (Bug#62044)
2024-12-20 18:18:02 -08:00
F. Jason Park
e9591fae5e Add command for teaching Imenu about ERC macros
* lisp/erc/erc-backend.el (define-erc-response-handler): Add
`doc-string' to `declare' specification.
* test/lisp/erc/resources/erc-tests-common.el
(erc-tests-common-add-imenu-expressions): New function for defining and
undefining Imenu patterns useful to ERC developers.
2024-12-20 18:18:02 -08:00
F. Jason Park
d1c670f0cb Disable which-func-mode in erc-imenu buffers
* lisp/erc/erc-imenu.el (erc-imenu-setup): Move after module definition
so the variable `erc-imenu-mode' is defined.  Run teardown code when
module is deactivated.  Set `which-func-mode' to nil locally.
(erc-imenu-mode, erc-imenu-enable, erc-imenu-disable): Manage membership
of `erc-imenu--disable-which-func' in `which-function-mode-hook'.
(erc-imenu--disable-which-func): New function.  (Bug#74934)
2024-12-20 18:18:02 -08:00