1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-04 11:00:45 -08:00
Commit graph

179095 commits

Author SHA1 Message Date
F. Jason Park
edd1f0512f ; Adjust sleep-for in erc-autojoin-channels tests
* test/lisp/erc/erc-join-tests.el
(erc-join-tests--autojoin-channels-ident): A `sleep-for' value of 0.01
caused associated tests to fail on at least one setup involving Solaris
10.  The new value is arbitrary and possibly temporary, pending further
investigation.  (Bug#79017)
2025-07-29 16:02:16 -07:00
Paul Eggert
3797484608 Update from Gnulib by running admin/merge-gnulib 2025-07-29 15:06:14 -07:00
Paul Eggert
354f9ba754 Disable Gnulib’s non-Gregorian calendars
Prepare for the next Gnulib merge by disabling the optional
support for non-Gregorian calendars recently added to Gnulib’s
nstrftime module.  This would be tricky to integrate with Emacs,
as Emacs has its own (much fancier) calendar system, one that at
least for the Persian calendar sometimes disagrees with Gnulib’s,
and it’s likely not worth the trouble of reconciling the conflicts.
* src/conf_post.h (SUPPORT_NON_GREG_CALENDARS_IN_STRFTIME):
New macro, defined to false.
* admin/merge-gnulib (GNULIB_MODULES): nstrftime → nstrftime-limited.
(AVOIDED_MODULES): Add localcharset.
Near the end, also remove the files lib/calendar-ethiopian.h,
lib/calendar-persian.h, lib/calendar-thai.h, lib/calendars.h.
2025-07-29 15:06:13 -07:00
Stefan Monnier
6eb6cdfbe5 (define-globalized-minor-mode): Remove left-over code
* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
Delete the code managing `<MODE>-buffers`, since it's not used any more.
Prefer `%S` over `%S` to print arbitrary sexps.
(define-minor-mode): Make sure we use the same test to distinguish
old-style and new-style.
2025-07-29 15:52:26 -04:00
Harald Jörg
7291eef004 ; Improve NEWS entry for CPerl mode
* etc/NEWS: Improve wording for the entry on CPerl mode as
suggested by Michael Albinus.  Also, link to perldelta.
2025-07-29 13:57:38 +02:00
Juri Linkov
87ea884748 Minor image-convert file types related changes (bug#79109)
* lisp/files.el (auto-mode-alist): Add ".avif" to the list of
image file types supported by 'image-convert'.
Remove duplicate entry for ".webp" that was added at the top
in the list of natively supported image types.

* lisp/image.el (imagemagick-enabled-types): Add AVIF and
WEBP (the latest for the case when native libs are not installed).

* lisp/image/image-converter.el (image-converter--converters):
Add "-layers merge" to the imagemagick convert command line.
2025-07-29 09:42:21 +03:00
Sean Whitton
c403e9a18f ; * doc/emacs/vc1-xtra.texi (Other Working Trees): Expand text. 2025-07-28 20:17:09 +01:00
Eli Zaretskii
4035bfa542 ; * src/pdumper.c (dump_buffer): Update HASH_buffer. 2025-07-28 19:51:06 +03:00
Harald Jörg
cef4302d30 cperl-mode.el: Support syntax of Perl version 5.42
* lisp/progmodes/cperl-mode.el (cperl--sub-name-generated-rx):
Simplify captures to account for the :writer attribute.  Parsing
is done later.
(cperl-imenu-sub-keywords): Remove attributes which generate subs
(cperl-imenu--create-perl-index): Analyze field declarations for
autogenerated methods
(cperl-init-faces): Add "all" and "any" to the list of functions
(cperl-short-docs): Add short docs for "all" and "any"

* test/lisp/progmodes/cperl-mode-tests.el
(cperl-test-autogenerated-reader-rx):
Adjust for modified rx form due to ":writer" support
(cperl-test-imenu-index): Add tests for autogenerated writer
accessors (in grammar.pl)

* test/lisp/progmodes/cperl-mode-resources/grammar.pl: Add code samples
for ":writer"

* etc/NEWS: Announce that CPerl mode supports Perl 5.42.
2025-07-28 18:20:26 +02:00
F. Jason Park
62fba3a723 ; Improve some doc strings in erc-services
* lisp/erc/erc-services.el: Fix shape of option in commentary example.
Existing value didn't pass `setopt' validation and raised an error
during successful lookup in `erc-nickserv-get-password'.
(erc-nickserv-passwords, erc-nickserv-identify-autodetect): Update doc
string by removing erroneous constraint, which was no longer applicable
following c6eb114a42 "ERC: NickServ:
Prompt for password last, overall simplifications (bug#46777)".
(erc-nickserv-identify): Simplify doc and guarantee t as return value on
success rather than rely on unadvertised behavior from other API
functions.
2025-07-27 19:57:28 -07:00
F. Jason Park
00a3ec9d53 Use function-valued variable for ERC query predicate
* lisp/erc/erc-notify.el (erc-querypoll-mode, erc-querypoll-enable)
(erc-querypoll-disable): Override `erc-query-table-synced-predicate'
when mode is active.
(erc--queries-current-p): Remove method.
(erc--querypoll-active-p): New function.
* lisp/erc/erc-speedbar.el (erc-speedbar-buttons)
(erc-speedbar-insert-target): Call function-valued variable
`erc--query-table-synced-predicate' instead of its now default value
`erc--queries-current-p' directly.
* lisp/erc/erc.el (erc--query-table-synced-predicate): New variable.
(erc--queries-current-p, erc--query-participant-present-p): Convert
former from method to normal function and rename to latter.  Original
was added as part of bug#70928.
2025-07-27 19:57:28 -07:00
F. Jason Park
db8f469bd4 Redo erc-nicks track integration tests as scenarios
* test/lisp/erc/erc-nicks-tests.el (erc-nicks-tests--track-faces):
Remove unused function.
(erc-nicks-track-faces/prioritize, erc-nicks-track-faces/defer)
(erc-nicks-track-faces/nil, erc-nicks-track-faces/t): Remove tests.
* test/lisp/erc/erc-scenarios-nicks-track.el: New file.
* test/lisp/erc/resources/nicks/track-prioritize.eld: New file.
* test/lisp/erc/resources/nicks/track-t.eld: New file.  (Bug#76188)
2025-07-27 19:57:28 -07:00
F. Jason Park
2f5fe1a48e Cancel ERC autojoin timer in the server buffer
* lisp/erc/erc-join.el (erc-autojoin-channels-delayed): Only cancel
`erc--autojoin-timer' in the server buffer in which it's local.  After
Emacs 28 brought commit fc66ec3322 "Prefer
defvar-local in erc", customizing `erc-autojoin-timing' to `ident' led
to ERC emitting redundant JOINs before `erc-autojoin--join' was factored
out.  Additionally, don't bother binding options around the call to
`erc-autojoin-channels' to shape its behavior, preferring instead to
call the internal workhorse function directly.  Ever since bug#5521
introduced those options, the logic in `erc-autojoin-channels' has
ignored `erc-autojoin-delay' anyway, so long as `erc-autojoin-timing'
isn't `ident'.  This change may break third party advice.
(erc-autojoin-after-ident): Restore code to cancel timer.  It was
erroneously deleted in 959fbcf34b "favor
network identities in erc-join".
* test/lisp/erc/erc-join-tests.el: Require erc-tests-common atop file so
tests can take advantage of common utilities.
(erc-autojoin-channels--connect): Replace with a function and three
separate tests.
(erc-join-tests--autojoin-channels-connect): New function.
(erc-autojoin-channels/server, erc-autojoin-channels/network)
(erc-autojoin-channels/nomatch): New tests.
(erc-autojoin-channels--delay): Replace with a function and three
separate tests.  Remove guard to skip test on Solaris.
(erc-join-tests--autojoin-channels-ident): New function.
(erc-autojoin-channels-delayed/server)
(erc-autojoin-channels-delayed/network)
(erc-autojoin-channels-delayed/nomatch): New tests.
(erc-autojoin-channels--ident): Replace with function and two separate
tests.
(erc-join-tests--autojoin-after-ident): New function.
(erc-autojoin-after-ident/server)
(erc-autojoin-after-ident/network): New tests.
(erc-join-tests--autojoin-add--common)
(erc-join-tests--autojoin-add): Rename former to latter.
(erc-autojoin-add--network)
(erc-autojoin-add--network-extended-syntax)
(erc-autojoin-add--network-id): Adjust arguments to fixture.
(erc-autojoin-add--server): Use common utils.
(erc-join-tests--autojoin-remove--common)
(erc-join-tests--autojoin-remove): Rename former to latter.
(erc-autojoin-remove--network)
(erc-autojoin-remove--network-id): Adjust args for fixture.
(erc-autojoin-remove--server): Use common utils.
* test/lisp/erc/erc-scenarios-join-timing.el: New file.
* test/lisp/erc/resources/erc-scenarios-common.el
(erc-scenarios-common--run-in-term): In subprocess, don't use failure
tally as exit status unless body form succeeds.
* test/lisp/erc/resources/erc-tests-common.el
(erc-tests-common-init-server-proc): Use `make-process' instead of
`start-process'.
(erc-tests-common-make-server-buf): Use `erc-server-current-nick' to
create the `erc-networks--id' as a `erc-networks--id-qualifying'
instance, which is more realistic than a "fixed" variant.
* test/lisp/erc/resources/join/timing/connect-both.eld: New file.
* test/lisp/erc/resources/join/timing/ident-both.eld: New file.
(Bug#79017)
2025-07-27 19:57:28 -07:00
Sean Whitton
068b324d99 * doc/emacs/vc1-xtra.texi (Other Working Trees): Extended example. 2025-07-27 20:24:53 +01:00
Sean Whitton
9f28f12ad5 vc-git-modify-change-comment: Error out for merge commits
* lisp/vc/vc-git.el (vc-git-modify-change-comment): Don't try to
modify merge commit comments.
2025-07-27 20:05:08 +01:00
Sean Whitton
e954b29f5f vc-test--other-working-trees: Stub out 'vc-dir'
* test/lisp/vc/vc-tests/vc-tests.el
(vc-test--other-working-trees): Stub out 'vc-dir' when adding
the second working tree.
2025-07-27 19:44:31 +01:00
Michael Albinus
f55f3259d6 Tramp: Fix thinko in local process environment
* lisp/net/tramp-sh.el (tramp-maybe-open-connection): Do not set "TERM",
"PROMPT_COMMAND" and "PS1".

* lisp/net/tramp.el (with-tramp-local-environment): Do not override
`process-environment'.  Set "TERM", "PROMPT_COMMAND", "PS1" and
"INSIDE_EMACS".  (Bug#79103)

* lisp/net/trampver.el (tramp-inside-emacs): Remove duplicate entries.
2025-07-27 19:41:29 +02:00
Juri Linkov
6982dc460a * lisp/window.el (window--quit-restore-select-window): Use 'select-frame'.
Replace 'select-frame-set-input-focus' with the
less obtrusive 'select-frame' (bug#79098).
2025-07-27 19:30:35 +03:00
Eli Zaretskii
aef2d807e7 ; * src/emacs.c (default_PATH) [DOS_NT]: Add commentary. 2025-07-27 18:45:03 +03:00
Paul Eggert
64c93e188e Better default PATH on MS-Windows
* src/emacs.c (default_PATH): Use a more-reasonable default
for MS-Windows and DOS.  Problem reported by Eli Zaretskii in:
https://lists.gnu.org/r/emacs-devel/2025-07/msg00384.html
2025-07-27 08:17:25 -07:00
Madhu
39566b7337 (cl-nsubstitute): Fix regression in commit 8c8ff13e
lisp/emacs-lisp/cl-seq.el (cl-nsubstitute): restore a variable names that
were incorrectly replaced in commit 8c8ff13e, so nsubstitute on a string
returns a string instead of a vector.
2025-07-27 09:19:42 -04:00
Mattias Engdegård
3738488571 * .mailmap: update my entry 2025-07-27 14:32:23 +02:00
Sean Whitton
eadc36a2af vc-tests: Fix two problems with other working tree tests
* test/lisp/vc/vc-tests/vc-tests.el (project, cl-lib): Require.
(vc-test--other-working-trees): Bind project-list-file to a
writeable file name.
(vc-test-hg07-other-working-trees): Use vc-hg-global-switches to
enable the share extension.
2025-07-27 09:24:02 +01:00
Sean Whitton
e104c06e6a ; * lisp/vc/vc.el (vc-switch-working-tree): Improve docstring. 2025-07-27 08:46:22 +01:00
Eli Zaretskii
b46bbf89ad ; Fix last change
* etc/NEWS: Announce new newsticker commands.

* lisp/net/newst-plainview.el (newsticker-hide-old-feed-header):
Doc fix.  Add :version tag.  (Bug#78305)
2025-07-27 08:07:35 +03:00
Baptiste Strazzulla
67f36e80ce Add a new user option to hide the header of old newsticker feeds
* lisp/net/newst-plainview.el (newsticker-hide-old-feed-header):
Define that new user option
(newsticker-mode-map): Add the new bindings related to that new
user option.
(newsticker-buffer-update): Hide the old feeds if the new user
option is true.
(newsticker-hide-old-feed-header): Define a function to hide the
old feeds.
(newsticker-show-old-feed-header): Define a function to restore
them.
(newsticker--old-feed-p): Define a function to check if a feed is
old.
(newsticker--buffer-do-insert-text): Set age of feed to old if
applicable.
(newsticker--buffer-set-invisibility): Update the function to
account for the fact that there are two lines (not just one) to
hide feeds.

* etc/NEWS: Announce the new user option
'newsticker-hide-old-feed-header' to hide old feeds.  (Bug#78305)
2025-07-27 07:58:13 +03:00
Po Lu
9d2c7bed66 Update Android frame param handlers
* src/androidfns.c (android_frame_parm_handlers): Add
gui_set_borders_respect_alpha_background for consistency with X.
2025-07-27 09:36:10 +08:00
Stefan Monnier
f6d314dfe5 bytecomp.el: Rework the message when the macro is not recognized
The "Macro %s unrecognized, won't work in file" message
happened only for macros defined to `nil`, and the code handling
"unrecognized" code was split with the function part is
`byte-compile-file-form-defmumble` and the macro part in
`byte-compile-file-form-defalias`, so straighten it out
and simplify a bit.

* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble):
Don't modify `byte-compile-*-environment` here.
(byte-compile-file-form-defalias): Do it here instead.
Use `macroexp-quote`.  Merge the two "unrecognized macro" warnings.
2025-07-26 18:35:00 -04:00
Paul Eggert
547525176f Add readlink, realpath startup comments
This does not change behavior.
* src/emacs.c (follow_if_symlink): New static function, as a
vehicle for commentary explaining the deal with readlink and realpath.
(find_emacs_executable): Use it.
2025-07-26 12:52:55 -07:00
Roland Winkler
48df3da4cc bibtex.el - improve last change e6c1ec71b7
* lisp/textmodes/bibtex.el: Use defvar to silence byte compiler
        * lisp/textmodes/bibtex.el (bibtex-generate-url-list-init):
        Use setq-local.
2025-07-26 14:45:36 -05:00
Paul Nelson
c3f30ee204 Add post-save actions for Rmail attachments
* lisp/mail/rmailmm.el (rmail-mime-save-action): New user
option.
(rmail-mime-save): Use it.
* doc/emacs/rmail.texi (Rmail Display): Document it (bug#78971).
2025-07-26 18:22:09 +03:00
Eli Zaretskii
05dca1f51f ; * src/w32fns.c (Fx_create_frame): Fix copy/paste errors in last change. 2025-07-26 18:08:37 +03:00
Garklein
1bc338075d Add frame parameter which allows border transparency
The new 'borders-respect-alpha-background' frame parameter, when
set to 't', will make window dividers and internal borders
respect the 'alpha-background' frame parameter. This allows
transparent gaps between windows.
* doc/lispref/frames.texi (Font and Color Parameters):
Document the change.
* src/frame.c (frame_parm_table, syms_of_frame)
(gui_set_borders_respect_alpha_background):
* src/frame.h (struct frame): Add frame parameter.
* src/androidfns.c (x_create_frame, android_create_tip_frame)
(android_frame_parm_handlers):
* src/haikufns.c (haiku_create_frame, haiku_create_tip_frame)
(haiku_frame_parm_handlers):
* src/nsfns.m (ns_frame_parm_handlers, x_create_frame):
* src/w32fns.c (x_create_frame, w32_create_tip_frame)
(w32_frame_parm_handlers): Add dummy parameters for backends
that don't support opacity.
* src/pgtkfns.c (pgtk_frame_parm_handlers, x_create_frame)
(pgtk_create_tip_frame):
* src/pgtkterm.c (pgtk_draw_window_divider):
* src/xfns.c (x_create_frame, x_create_tip_frame)
(x_frame_parm_handlers)
* src/xterm.c (x_draw_window_divider)
(x_clear_under_internal_border): Implement parameter on backends
that support opacity.
2025-07-26 18:02:18 +03:00
Po Lu
aa2a83d783 ; * src/nsterm.m (ns_define_fringe_bitmap): Stylistic corrections. 2025-07-26 22:03:37 +08:00
Eli Zaretskii
ba53f3cb7c ; * doc/emacs/vc1-xtra.texi (Other Working Trees): Add cross-refs. 2025-07-26 16:16:19 +03:00
Sean Whitton
8897c15251 vc-do-command: Fix last part of 'full-command'
* lisp/vc/vc-dispatcher.el (vc-do-command): Don't append " ." to
'full-command' when FILES is nil because the command we actually
run doesn't have "." as a final argument in that case.
2025-07-26 13:25:27 +01:00
Sean Whitton
ed71aac7ea ; vc-test--other-working-trees: Fix unused variable warning. 2025-07-26 13:13:29 +01:00
Sean Whitton
bb17d9ce6b ; Fix compilation warning in dom.el. 2025-07-26 13:08:59 +01:00
Sean Whitton
fcdf2061ea ; VC: Improve documentation of other working trees features. 2025-07-26 13:06:51 +01:00
Sean Whitton
88337345f5 * lisp/vc/vc.el (vc-dir-status-files): Fix filtering on VC status. 2025-07-26 13:05:44 +01:00
Alan Third
5bc75585d5 Fix last commit
* src/nsterm.m (ns_draw_fringe_bitmap): Rename clearRect to bmpRect
where missed previously.
2025-07-26 12:59:10 +01:00
Alan Third
e3380669ed Fix incorrectly nested ns_focus/ns_unfocus calls
* src/nsterm.m (ns_draw_fringe_bitmap): Move the call to ns_focus out of
the if for overlay_p and rename the rect from clearRect to bmpRect to
make it's purpose clearer.
2025-07-26 12:00:02 +01:00
Alan Third
8c5378b2c2 Simplify NS fringe vectors (bug#73563)
* src/nsterm.m (ns_define_fringe_bitmap): Replace the fringe bitmap
"tracing" method to a true tracing method.  This should make the
resulting vector simpler and therefore faster to draw.
2025-07-26 12:00:02 +01:00
Eli Zaretskii
ccc3068dae Merge from origin/emacs-30
a44e9139c2 loaddefs-generate--rubric: Note about committing ldefs-bo...
e4908623f2 ; Fix documentation of 'other-window'
5f3cbd62b1 ; * lisp/international/quail.el (quail-insert-kbd-layout)...
47deb38f21 ; face-font-family-alternatives, fixed-pitch: Comments.
dd29b0ab66 Fix Eshell call to 'string-suffix-p' when checking for tr...
cbfc095ed4 * etc/PROBLEMS: Describe how to work around screen reader...
8f00d36b63 (gnus)Scoring Tips: New tip regarding header continuation...
2025-07-26 06:58:12 -04:00
Michael Albinus
76c17ac0f0 Rework filenotify-tests.el
* lisp/filenotify.el (file-notify--rm-descriptor):
Use `insert-special-event'.

* lisp/net/tramp-sh.el (tramp-bundle-read-file-names): Fix docstring.
(tramp-sh-gio-monitor-process-filter): Extend error strings.

* test/infra/Dockerfile.emba (emacs-base): Install python3.

* test/lisp/filenotify-tests.el (auto-revert-buffer-list): Declare.
(file-notify--test-rootdir): New defvar.  Replace all uses of
`temporary-file-directory' by it.
(file-notify--test-cleanup): Set `auto-revert-buffer-list' to nil.
(file-notify--test-monitor): Check also for `process-live-p'.
Skip test, if the monitor cannot be determined.
(file-notify--deftest-remote): Do not call
`tramp-cleanup-connection', this is done in
`file-notify--test-cleanup' already.
(with-file-notify-test): New defmacro.  Use it in (almost) all tests.
(file-notify--test-make-temp-name): Do not create
`file-notify--test-tmpdir'.
(file-notify--test-event-handler): Use `directory-file-name '.
(auto-revert-debug): Set it to nil.
(file-notify-test<nn>-*): Rewrite, using `with-file-notify-test'
and `ert-with-temp-file'.

* test/lisp/net/tramp-tests.el (tramp-test46-file-notifications):
Tag it :unstable.
2025-07-26 12:45:51 +02:00
Alvaro Ramirez
6e64e0bd26 Enabled macOS dictation post NSTextInputClient migration in v30
* src/nsterm.m (selectedRange): Implement to fix dictation.
* etc/NEWS: Announce regression fix.
* etc/PROBLEMS: Help users recover from rejected permission.
2025-07-26 12:09:56 +02:00
Sean Whitton
a44e9139c2 loaddefs-generate--rubric: Note about committing ldefs-boot.el
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--rubric):
Note that ldefs-boot.el should be committed on its own.
2025-07-26 10:22:09 +01:00
Eli Zaretskii
e015218057 ; * etc/NEWS: Fix last change. 2025-07-26 12:19:02 +03:00
Rahguzar
bd9d8c20f7 * lisp/url/url-queue.el: Better compatibility with 'url-retrieve'
(url-queue): New slots to hold request related variables.
(url-queue-retrieve): Capture the request related variables.
(url-queue-start-retrieve): Let bind the request related
variables.  (Bug#78928)

* etc/NEWS: Announce changes.
2025-07-26 12:17:18 +03:00
Peder O. Klingenberg
a2d71cecae Emulate more dynamic bindings in request buffers
Many variables were copied from the dynamic environment to the request
buffer, which allowed them to influence the handling of requests and
responses.  But some were not, notably some of the mime-related
variables, and the user-agent and privacy variables.  This made them
unreliable when dynamically bound around a call to `url-retrieve'; they
would have the desired effect when reusing an existing connection, but
not when url-http opened a new connection.  In the case of reused
connections, the request construction happens in the dynamic scope of
`url-http', but in the case where a fresh connection is needed, request
construction happens outside that dynamic scope.

This commit adds the remaining variables used in request construction to
the set of buffer local variables mirroring the dynamic values from
url-http, and adds a comment describing the mechanism used and how avoid
the pitfall of inconsistent handling of dynamic bindings.

* lisp/url/url-http.el (url-http-extensions-header): New internal-ish
variable.
(url-http-create-request): Use the new variable instead of the global
one.
(url-http-idle-sentinel): Debug-log when the connection closes.
(url-http): Set up more buffer-local variants of dynamic variables in
the buffer used for the request, and add comment describing why this
copying is needed.

(Bug#61916)
2025-07-26 12:09:07 +03:00