1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00
Commit graph

175176 commits

Author SHA1 Message Date
Andrea Corallo
358b38bc17 * lisp/emacs-lisp/comp.el (comp--type-check-optim-block): Improve log msg. 2024-10-15 22:13:08 +02:00
Dan Christensen
5c129791c5 Report correct unread count for nnimap groups
* lisp/gnus/nnimap.el (nnimap-request-group): Use '(1 . 0) range
as default, and calculate the actual range the same way as other
backends.  (Bug@72949)

Copyright-paperwork-exempt: Yes
2024-10-15 10:26:09 +02:00
Yuan Fu
c436d4eff9
Set treesit-primary-parser for tree-sitter modes
I debated whether to do this, since technically speaking it's
not needed for single-language modes.  But ultimately it's
better to be explicit and set a good example with builtin modes.

* lisp/progmodes/cmake-ts-mode.el (cmake-ts-mode):
* lisp/progmodes/csharp-mode.el (csharp-ts-mode):
* lisp/progmodes/dockerfile-ts-mode.el (dockerfile-ts-mode):
* lisp/progmodes/go-ts-mode.el (go-ts-mode):
(go-mod-ts-mode):
* lisp/progmodes/heex-ts-mode.el (heex-ts-mode):
* lisp/progmodes/json-ts-mode.el (json-ts-mode):
* lisp/progmodes/lua-ts-mode.el (lua-ts-mode):
* lisp/progmodes/python.el (python-ts-mode):
* lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode):
* lisp/progmodes/rust-ts-mode.el (rust-ts-mode):
* lisp/progmodes/sh-script.el:
* lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode):
(tsx-ts-mode):
* lisp/textmodes/css-mode.el (css-ts-mode):
* lisp/textmodes/html-ts-mode.el (html-ts-mode):
* lisp/textmodes/toml-ts-mode.el (toml-ts-mode):
* lisp/textmodes/yaml-ts-mode.el (yaml-ts-mode): Set
treesit-primary-parser.
2024-10-14 20:26:23 -07:00
Alan Mackenzie
2a6f1527f6 CC Mode: Correct and simplify quoted number regexps
C++ Mode now gives correct fontification when \' is inserted
between the adjacent apostrophes in the number 0xde'adb''eef.

* lisp/progmodes/cc-mode.el (c-maybe-quoted-number-head):
Simplify and correct.
(c-maybe-quoted-number-tail, c-maybe-quoted-number): Simplify.
2024-10-14 21:27:04 +00:00
Michael Albinus
6864ac2bc3 Describe how to add an ELPA package to Tramp
* doc/misc/tramp.texi: Use @dots{} where appropriate.
(External packages): Rename subsection "Timers, process filters,
process sentinels, redisplay".
(Extension packages): New node.
(Top, Files directories and localnames): Add it to @menu.
2024-10-13 18:05:39 +02:00
Michael Albinus
19f929aaa3 Adapt gitlab-ci.yml
* test/infra/gitlab-ci.yml (variables): Set GIT_DEPTH: 0.
(.job-template): Remove cache:policy.
(.build-template): Add needs and cache:policy.
(.test-template): Add cache:policy.
(.tree-sitter-template): Add files in changes.
2024-10-13 15:40:42 +02:00
Michael Albinus
29bf0a8b31 ; * etc/NEWS: Fix typos. 2024-10-13 15:40:07 +02:00
Stephen Berman
9a110c390d Prevent void-variable error in python-mode (bug#73773)
* lisp/progmodes/python.el: Define 'subword-mode' before its use
in 'python-mode-map' so invoking menu-bar-open in a python-mode
buffer does not cause a void-variable error when subword-mode is
not loaded, menu-bar-mode is disabled and debug-on-error is enabled.
2024-10-13 11:30:11 +02:00
Stephen Berman
da048c6927 Fix case problem with 'sql-magic-go' (bug#73499)
* lisp/progmodes/sql.el (sql-electric-stuff): Use :initialize and
:set arguments to control presence of 'sql-magic-go' in
'post-self-insert-hook'.
(sql-interactive-mode-map): Remove key bindings for 'sql-magic-go'.
(sql-magic-go): Reimplement as a non-interactive function
restricted to 'sql-interactive-mode' and instead of using
'self-insert-command' check value of 'last-command-event'.
2024-10-13 11:19:02 +02:00
Alex Bochannek
f36d059cde vc-src-working-revision: Call string-trim-right on command output
* lisp/vc/vc-src.el (vc-src-working-revision): Call string-trim-right on
command output (bug#73763).
2024-10-13 16:36:06 +08:00
Martin Rudalics
a58dc58fec Fix bug when splitting a frame's root window (Bug#73627)
* lisp/window.el (split-window): Split main window of WINDOW's
frame when that frame has side windows (Bug#73627).
2024-10-13 09:48:05 +02:00
Eli Zaretskii
7d9513f9c4 Improve face font selection on MS-Windows
* lisp/net/dictionary.el (dictionary-word-definition-face):
Special-case w32.
* lisp/faces.el (face-font-family-alternatives): Add a few modern
font families.
2024-10-12 20:55:47 +03:00
Pengji Zhang
c3600916b6 Improve tests for flow-fill
* test/lisp/mail/flow-fill-tests.el
(fill-flow-tests-fill-flowed-decode): Remove debug message.
(fill-flow-tests-fill-flowed-encode): Actually test function
`fill-flowed-encode', which requires `use-hard-newline' to be
non-nil.  Also adjust test input to check behavior of the
function under different cases.  (Bug#72870)
2024-10-12 15:30:05 +03:00
Pengji Zhang
fc214b6683 Flow fill texts after the last hard newline
* lisp/mail/flow-fill.el (fill-flowed-encode): Use `(point-max)'
as `end' if there are no remaining hard newlines in buffer.
This ensures that the last paragraph will always be encoded,
even without a trailing hard newline.  (Bug#72870)
2024-10-12 15:28:39 +03:00
Eli Zaretskii
a724a49708 * lisp/progmodes/compile.el (recompile): Autoload (bug#73697). 2024-10-12 15:23:25 +03:00
Diancheng Wang
bd5d84e5d3 Stop highlighting current line when debuggee is running
* lisp/progmodes/gud.el (gud-hide-current-line-indicator): New
function.
(gud-sentinel):
* lisp/progmodes/gdb-mi.el (gdb-starting): Use it.  (Bug#73687)
2024-10-12 15:14:54 +03:00
Paul Nelson
ebfd5874f0 Add foldout command for widening to current fold
* lisp/foldout.el (foldout-widen-to-current-fold): New command.
* doc/emacs/text.texi (Foldout): Document it.
* etc/NEWS: Announce it.  (Bug#73286)
2024-10-12 14:52:32 +03:00
Manuel Giraud
0e9502b10e Correctly update image properties
* lisp/image-mode.el (image--update-properties): New function to
update image properties.
(image-toggle-display-image): Use it.  (Bug#73617)
2024-10-12 14:36:29 +03:00
Eli Zaretskii
bb5b25181e Merge from origin/emacs-30
0f8f077318 ; * doc/emacs/search.texi (Word Search): Document 'dictio...
fb155bcfb6 ; * lisp/emacs-lisp/chart.el (chart-bar-quickie): Doc fix.
6dbe4e99ac ; * lisp/emacs-lisp/chart.el (chart-bar-quickie): Improve...
d664227f81 ; More accurate documentation of 'file-newer-than-file-p'
e49b479f86 Fix c-ts-mode indentation for initializer lists (bug#73661)
f520008744 Avoid segfaults in Rmail-MIME
6a5c2edd84 Eglot: use :immediate t when resolving completions (bug#7...
cd36e070c2 Eglot: minor changes to doc and docstrings
1ea0d9b891 Revert "Set treesit-primary-parser for tree-sitter modes"
52746ceb62 Remove duplicate indent rules in elixir-ts-mode
ed57faafc7 Set treesit-primary-parser for tree-sitter modes
37a6c859b0 ; * lisp/emacs-lisp/cl-macs.el (cl-once-only): Fix capita...
2d4d6dc43a Delete XIE X extension from TODO
2024-10-12 05:53:27 -04:00
Sean Whitton
16e835171a ; Revise docstring from last change 2024-10-12 16:58:25 +08:00
Spencer Baugh
fbeb3d22b7 Properly operate on current fileset revision in vc-hg-print-log
* lisp/vc/vc-hg.el (vc-hg-print-log): If start-revision is nil,
reliably log the working revision. (bug#73604)
2024-10-12 16:55:03 +08:00
Eli Zaretskii
0f8f077318 ; * doc/emacs/search.texi (Word Search): Document 'dictionary-search'. 2024-10-12 10:17:10 +03:00
Eli Zaretskii
fb155bcfb6 ; * lisp/emacs-lisp/chart.el (chart-bar-quickie): Doc fix. 2024-10-12 08:44:28 +03:00
F. Jason Park
6e80509099 Use erc-compat analog for window-no-other-p
* lisp/erc/erc-compat.el (erc-compat--window-no-other-p): New function.
* lisp/erc/erc-speedbar.el (erc-speedbar-toggle-nicknames-window-lock):
Use compat adapter for `window-no-other-p'.
2024-10-11 16:13:09 -07:00
F. Jason Park
9bddb264ba Add baseline test coverage for erc-match
* lisp/erc/erc-match.el (erc-pal-highlight-type)
(erc-fool-highlight-type, erc-dangerous-host-highlight-type): Clarify
some areas in doc strings.
* test/lisp/erc/erc-match-tests.el: Require `erc-test-common' library.
(erc-match-tests--assert-face-absent)
(erc-match-tests--assert-face-present)
(erc-match-tests--assert-speaker-highlighted)
(erc-match-tests--assert-speaker-only-highlighted)
(erc-match-tests--perform)
(erc-match-tests--hl-type-nick): New functions.
(erc-match-message/pal/nick, erc-match-message/fool/nick)
(erc-match-message/dangerous-host/nick): New tests.
(erc-match-tests--hl-type-message): New function.
(erc-match-message/pal/message)
(erc-match-message/fool/message)
(erc-match-message/dangerous-host/message): New tests.
(erc-match-tests--hl-type-all): New function.
(erc-match-message/pal/all, erc-match-message/fool/all)
(erc-match-message/dangerous-host/all): New tests.
(erc-match-tests--hl-type-nick-or-keyword): New function.
(erc-match-message/current-nick/nick-or-keyword): New test.
(erc-match-tests--hl-type-keyword): New function.
(erc-match-message/keyword/keyword): New test.
(erc-match-tests--log-matches): New function.
(erc-log-matches): New test.
* test/lisp/erc/resources/erc-tests-common.el: Require `erc-d-i'.
(erc-tests-common-add-cmem, erc-tests-common-parse-line)
(erc-tests-common-simulate-line)
(erc-tests-common-simulate-privmsg): New functions.
2024-10-11 16:13:09 -07:00
F. Jason Park
9906e34f97 Crystallize erc-nicks-track-faces behavior
* etc/ERC-NEWS: Mention changes to `erc-track-faces-normal-list' and
`erc-track-faces-priority-list'.  Also mention new choice variant for
option `erc-nicks-track-faces', although that's arguably just a bug fix
because it makes good on previously unrealized behavior implied by the
doc strings.
* lisp/erc/erc-nicks.el (erc-nicks-skip-faces): Remove faces applied by
the `match' module, namely, `erc-current-nick-face', `erc-pal-face', and
`erc-fool-face'.  That module runs its hooks after `button' on
`erc-insert-modify-hook', and because `nicks' piggybacks on `button', it
can never encounter those faces while assaying.
(erc-nicks-track-faces): Update doc, and introduce new `t' value choice.
(erc-nicks-mode, erc-nicks-disable): Update removals from
`erc-track--alt-normals-function' to reflect recent renamings.
(erc-nicks--reject-uninterned-faces): Use helper.
(erc-nicks--oursp, erc-nicks--ours-p): Rename former to latter to
respect project style guidelines regarding predicates.
(erc-nicks-track-normal-max-rank): New variable.
(erc-nicks--check-normals, erc-nicks--assess-track-faces): Rename former
to latter, and change purpose to checking for "normals" membership,
ranks position, and incumbent face ownership.  Remove unused CONTENDERS
parameter.  Additionally, change behavior to consider replacing the
current mode-line face when it's not `nicks' owned if it's explicitly
ranked lower than `erc-default-face'.
(erc-nicks--track-prioritize, erc-nicks--track-always): New
complementary functions implementing the t and `prioritize' variants of
`erc-nicks-track-faces'.  Both make use of the factored-out
`erc-nicks--check-normals' logic.
(erc-nicks--setup-track-integration): Add `erc-nicks--track-always' to
`erc-track--alt-normals-function' when `erc-track-normal-faces' is t.
* lisp/erc/erc-track.el (erc-track--massage-nick-button-faces): Change
type of symbol property `erc-track--obsolete-faces' for options
`erc-track-faces-priority-list' and friends from a boolean to an alist.
(erc-track-faces-priority-list): Add new face for buttonized speakers.
(erc-track-faces-normal-list): Add new face for buttonized speakers.
Also add `erc-notice-face'.
(erc-track--priority-faces): New local variable to cache ranked faces
and complement `erc-track--normal-faces'.
(erc-track--setup): Initialize new `erc-track--priority-faces' variable,
and refactor.
(erc-track--alt-normals-function): Doc.
(erc-track--select-mode-line-face): Update expected type of `ranks'
parameter.
(erc-track-modified-channels): Fix wrong-type bug occurring when
`erc-track-ignore-normal-contenders-p' and
`erc-track-priority-faces-only' are both non-nil.  Also fix subtle
compatibility oversight regarding an empty face list returned by
`erc-track--collect-faces-in'.
* test/lisp/erc/erc-nicks-tests.el: Load helpers and fixtures library.
(erc-nicks-tests--track-faces): New function.
(erc-nicks-track-faces/prioritize, erc-nicks-track-faces/defer)
(erc-nicks-track-faces/nil, erc-nicks-track-faces/t): New tests.
* test/lisp/erc/erc-track-tests.el
(erc-track-tests--select-mode-line-face): Update expected type of mocked
parameter.
(erc-track-tests--modified-channels/baseline): New function.
(erc-track-modified-channels/baseline)
(erc-track-modified-channels/baseline/mention)
(erc-track-modified-channels/baseline/ignore)
(erc-track-modified-channels/baseline/mention/ignore)
(erc-track-modified-channels/priority-only-all/baseline)
(erc-track-modified-channels/priority-only-all/sans-notice): New tests.
* test/lisp/erc/resources/erc-tests-common.el
(erc-tests-common-track-modified-channels)
(erc-tests-common-track-modified-channels-sans-setup): New functions.
(Bug67767)
2024-10-11 16:13:09 -07:00
F. Jason Park
1de2c86317 Don't create directory in erc-truncate compat check
* lisp/erc/erc-log.el (erc-log--check-writable-nocreate-p): New variable.
(erc-logging-enabled): Use `erc-log--save-in-progress-p' flag to
conditionally avoid creating a directory when checking if the location
is writable.
(erc-log--call-when-logging-enabled-sans-module)
(erc-log--check-legacy-implicit-enabling-by-truncate): Rename former to
latter, and guard against creating a ~/log directory just to see if it's
writable when calling `erc-logging-enabled'.
(erc-truncate-mode): Explain legacy "implicit logging" behavior in doc
string.
* lisp/erc/erc-truncate.el (erc-truncate--warn-about-logging): Make more
concise, and defer to `erc-truncate-mode' doc string for particulars.
* lisp/erc/erc.el (erc-directory-writable-p): Add comment to rename on
next non-patch release.
2024-10-11 16:13:09 -07:00
F. Jason Park
3f1ce47fe7 ; Add face customization to ERC's sample config
* doc/misc/erc.texi (Sample Configuration): Move `erc-modules' twiddling
from a `use-package' :config section to a :custom section.  In the past,
this would sometimes provoke module-loading issues, but it seems to work
fine on Emacs 30, even with repeated eval'ing of the `use-package' form.
This sample config is meant for users running the latest release anyhow.
Also add a new `use-package' block for `erc-match' showing how to
customize a face using inheritance.  Add a corresponding section further
down showing the same via Customize.
2024-10-11 16:13:09 -07:00
Stefan Monnier
a30f115daa * lisp/help-fns.el (help--load-prefixes): Fix bug#72787 2024-10-11 18:34:05 -04:00
Andrea Corallo
6dbe4e99ac ; * lisp/emacs-lisp/chart.el (chart-bar-quickie): Improve documentation. 2024-10-11 22:42:25 +02:00
Andreas Schwab
e0b9eba35c gnus-sum: fix missing space after prompt
* lisp/gnus/gnus-sum.el (gnus-summary-limit-exclude-marks)
(gnus-summary-limit-to-marks): Add space after prompt.
2024-10-11 20:54:38 +02:00
Robert Pluim
e631a3f306 Remove buttons when disabling 'button-mode'
* lisp/button.el (button-mode): Remove all buttons when disabling.
* doc/lispref/display.texi (Button Buffer Commands): Document
the change.  (Bug#73175)
2024-10-11 12:14:42 +02:00
Robert Pluim
08ee074a6f Add unbuttonize-region
* doc/lispref/display.texi (Making Buttons): Document it.
* lisp/button.el (unbuttonize-region): New function, removes all
buttons in the specified region.
2024-10-11 12:14:42 +02:00
Michael Albinus
e44f98b71b Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2024-10-11 12:07:03 +02:00
Michael Albinus
8032423239 Make url-http thread-safe (Bug#73199)
* lisp/url/url-http.el (url-http-open-connections): Adapt docstring.
(current-thread, thread-live-p): Declare.
(url-http-mark-connection-as-busy)
(url-http-mark-connection-as-free)
(url-http-find-free-connection): Use extended hash key.  (Bug#73199)
2024-10-11 12:06:08 +02:00
Martin Rudalics
3462b2b9d0 Fix how 'no-other-window' window parameter is ignored (Bug#73706)
* lisp/window.el (window-no-other-p): New function.
(window-in-direction, get-lru-window, get-mru-window)
(get-largest-window, other-window, window-at-x-y)
(delete-window-choose-selected, delete-window): Use it to check
whether 'ignore-window-parameters' should inhibit processing the
'no-other-window' parameter (Bug#73706).
* lisp/erc/erc-speedbar.el
(erc-speedbar-toggle-nicknames-window-lock): Use
'window-no-other-p'.
* doc/lispref/windows.texi (Windows and Frames)
(Deleting Windows, Cyclic Window Ordering): Describe new
function 'window-no-other-p' and use it in description of
functions that call it.
(Window Parameters): Add cross references for 'no-other-window'
parameter.
2024-10-11 10:39:10 +02:00
Andreas Schwab
bf49113d69 shr: handle anonymous documents with an empty base
* lisp/net/shr.el (shr-parse-base): Make sure local is non-nil.
2024-10-11 08:52:24 +02:00
Alan Mackenzie
42393b9883 Add an edebug spec for macroexp--with-extended-form-stack
* lisp/emacs-lisp/macroexp.el
  (macroexp--with-extended-form-stack): Add the edebug spec
  (sexp body).
2024-10-10 16:39:54 +00:00
Michael Albinus
1d137b6904 Tramp: Don't redisplay in `sit-for'
* lisp/net/tramp.el (tramp-wait-for-regexp):
* lisp/net/tramp-message.el (tramp-error-with-buffer, tramp-user-error):
Don't redisplay in `sit-for'.  (Bug#73718)
2024-10-10 12:49:56 +02:00
Visuwesh
9ddeeda8ce Add imenu support for ODF files in doc-view
* lisp/doc-view.el (doc-view--outline): Pass the right file to
doc-view--pdf-outline.
* doc/emacs/misc.texi (DocView Navigation): Mention support for
Open Format Document (ODF) files too.
* etc/NEWS: Announce the change.  (bug#73719)
2024-10-10 12:33:06 +02:00
Eli Zaretskii
d664227f81 ; More accurate documentation of 'file-newer-than-file-p'
* doc/lispref/files.texi (File Attributes):
* src/fileio.c (Ffile_newer_than_file_p): Say the comparison uses
the last-modification times.  (Bug#73709)
2024-10-10 11:03:48 +03:00
Jørgen Kvalsvik
e49b479f86
Fix c-ts-mode indentation for initializer lists (bug#73661)
The intentation behavior differed between c-mode/c++-mode
and *-ts-mode for initializer lists where the first element was
not at beginning-of-line.  The anchor-prev-sibling function gave
up and returned nil, but it should (probably) anchor on the
first element in the initializer list, such as this:

return { v1, v2, ...,
         y1, y2, ... };

c-ts-mode behaved better and figured out how to align, but I
added a test for a similar compound literal to prevent
regressions.

* lisp/progmodes/c-ts-mode.el (c-ts-mode--anchor-prev-sibling):
Anchor at first sibling unless bol is found.

* test/lisp/progmodes/c-ts-mode-resources/indent.erts: New
initializer list and compound literal test.

Copyright-paperwork-exempt: yes
2024-10-10 00:05:42 -07:00
Juri Linkov
58bcd1dbe0 ; Fix typos 2024-10-10 09:17:00 +03:00
Wilson Snyder
cb0b6a4057 verilog-mode.el: Fix AUTOWIRE etc. range simplification with subtraction of negative number.
* lisp/progmodes/verilog-mode.el (verilog-simplify-range-expression):
Fix AUTOWIRE etc. range simplification with subtraction of negative
number (#1879).
2024-10-09 22:34:38 -04:00
Dmitry Gutov
a295d7de9e Make revision completion in vc-diff and vc-root-diff more predictable
* lisp/vc/vc.el (vc-root-version-diff):
Don't try calling 'vc-deduce-fileset', instead construct a fileset
suitable for the root directory right away.  This way the revision
completion for the root diff doesn't depend on the current buffer,
or the file at point (bug#73232).
(vc-diff-build-argument-list-internal): No special case when
invoked on a directory, or when the current file is not "dirty".
Make REV1-DEFAULT a string value.

* etc/NEWS: Mention the change.
2024-10-10 02:29:24 +03:00
Eli Zaretskii
f520008744 Avoid segfaults in Rmail-MIME
Rmail-MIME decodes text of email, including removal of
CR characters, but that can segfault if the text of some
MIME part is empty.
* src/coding.c (decode_coding_raw_text):
* lisp/mail/rmailmm.el (rmail-mime-insert-decoded-text): Don't
attempt to decode empty text region.
2024-10-09 16:22:52 +03:00
Brennan Vincent
6a5c2edd84 Eglot: use :immediate t when resolving completions (bug#73279)
Copyright-paperwork-exempt: Yes

* lisp/progmodes/eglot.el (eglot-completion-at-point): Tweak
eglot--request call.
2024-10-09 06:30:30 -05:00
João Távora
cd36e070c2 Eglot: minor changes to doc and docstrings
* doc/misc/eglot.texi (Quick Start): Tweak.
(Setting Up LSP Servers): Tweak.
(Customizing Eglot): Clarify eglot-connect-hook and
eglot-initialized-hook.

* lisp/progmodes/eglot.el (eglot-connect-hook)
(eglot-server-initialized-hook): Rework docstring.
2024-10-09 06:26:27 -05:00
Po Lu
9ed82c26a3 ; Fix coding style in w32fns.c
* src/w32fns.c (process_dropfiles, STDMETHODCALLTYPE)
(w32_createwindow): Fix coding style.
2024-10-09 09:37:07 +08:00
Dmitry Gutov
ef87ce0ffa help-setup-xref: Fix the previous changes
* lisp/help-mode.el (help-setup-xref): Instead of killing all
local variables directly, call the current major mode function, to
preserve its own locals while dropping the rest (bug#73637).
2024-10-09 04:04:04 +03:00