Commit graph

180869 commits

Author SHA1 Message Date
Philip Kaludercic
cdb2ed9dae
; * admin/MAINTAINERS: Degrade my interest in Rcirc
I am not using it on a daily basis anymore, so I wouldn't mind
someone with more personal investment taking over.
2026-01-17 20:18:05 +01:00
Philip Kaludercic
674fbfdd9e
Remove rcirc-set-{en,de}code-coding-system aliases
These were in the wrong order anyway, so they never had any
effect.

* lisp/net/rcirc.el (rcirc-set-decode-coding-system)
(rcirc-set-encode-coding-system): Remove obsoletion aliases.
(Bug#80145)
2026-01-17 20:18:05 +01:00
Paul Eggert
58b9ac601e Avoid overflows in image size calculations
Problem reported by Basil L. Contovounesios (bug#66221#89).
* src/image.c (image_size_in_bytes, image_frame_cache_size):
Use intptr_t for sizes of collections of objects.
(struct anim_cache.byte_size, gif_load, Fimage_cache_size):
Use intmax_t for sizes of either files or objects.
2026-01-17 11:12:00 -08:00
Paul Eggert
bef813eebf Improve doc re integer overflow
* doc/lispref/internals.texi (Module Values, C Integer Types):
Mention that the example assumes Emacs was built with the
GMP library, not with mini-gmp.  Mention stdckdint.h for
integer overflow checking, and mention Emacs integers
for values outside machine range.
2026-01-17 11:12:00 -08:00
Philip Kaludercic
18a5151cd1
Add a default "Subject" for package reviews
* lisp/emacs-lisp/package.el (package-review): Set the SUBJECT
parameter when calling 'compose-mail'.
2026-01-17 18:58:09 +01:00
Philip Kaludercic
60ed7688b5
Quote diff when reviewing package
* lisp/emacs-lisp/package.el (package-review): Run
'comment-region' on the output of diff.
2026-01-17 18:58:09 +01:00
Sean Whitton
da9792166b ; * lisp/ldefs-boot.el: Regenerate. 2026-01-17 17:20:22 +00:00
Sean Whitton
852ca2ff40 Disable diff-restrict-view by default
* lisp/vc/diff-mode.el (diff-restrict-view): Disable it.
* etc/NEWS: Announce the change.
2026-01-17 17:17:52 +00:00
Sean Whitton
6e4bceb8ce Automatically detect the VC outgoing base (bug#80006)
* lisp/vc/vc-git.el (vc-git--current-branch): Rename to ...
(vc-git-working-branch): ... this.  All uses changed.
(vc-git-trunk-or-topic-p, vc-git-topic-outgoing-base):
* lisp/vc/vc-hg.el (vc-hg--working-branch, vc-hg-working-branch)
(vc-hg-trunk-or-topic-p, vc-hg-topic-outgoing-base):
* lisp/vc/vc-hooks.el (vc--safe-branch-regexps-p):
* lisp/vc/vc.el (vc-default-working-branch)
(vc-default-trunk-or-topic-p, vc--match-branch-name-regexps)
(vc--outgoing-base, vc--outgoing-base-mergebase)
(vc--maybe-read-outgoing-base): New functions.
(vc-diff-outgoing-base): Call vc--outgoing-base-mergebase.
(vc-root-diff-outgoing-base, vc-diff-outgoing-base): Use
vc--maybe-read-outgoing-base in interactive specification.
(working-branch, trunk-or-topic-p, topic-outgoing-base): New
specifications for backend functions.
(vc-trunk-branch-regexps, vc-topic-branch-regexps): New
variables.
* .dir-locals.el: Commented entries for the new variables.
* test/lisp/vc/vc-tests/vc-test-misc.el
(vc-test-match-branch-name-regexps): New test.
* doc/emacs/vc1-xtra.texi (Outstanding Changes): Document the
new functionality.
2026-01-17 17:17:51 +00:00
kobarity
83b4f1ba26 Performance improvement of 'python-shell-get-process'
'python-shell-get-process' is frequently called from
'python-eldoc--get-doc-at-point' and etc., invoking
'project-current' unless there is a buffer-specific Inferior
Python process.  When the buffer is a remote buffer not
belonging to any project and has significant latency,
'project-current' may take a long time.  To avoid this,
implement a process cache in 'python-shell-get-process'.

* lisp/progmodes/python.el (python-shell--process-cache)
(python-shell--process-cache-valid): New variables.
(python-shell--invalidate-process-cache): New function.
(python-shell-make-comint): Add a call to the above function.
(python-shell-get-process): Add process cache.  (Bug#80045)
2026-01-17 18:09:03 +02:00
Jostein Kjønigsen
83f4e48106 csharp-mode.el: Fix indentation after preprocessor statements
* lisp/progmodes/csharp-mode.el (csharp-ts-mode--indent-rules):
Add rules for preprocessor statements.  (Bug#80202)
2026-01-17 17:34:16 +02:00
Pig Fang
023bf05816 Eglot: support 'wat-mode'
* lisp/progmodes/eglot.el (eglot-server-programs): Add wat_server.
(Bug#80188)

Copyright-paperwork-exempt: yes
2026-01-17 17:02:19 +02:00
Yavor Doganov
bc5fb19d16 NS: Fix startup with HAVE_NATIVE_COMP && !NS_SELF_CONTAINED
* src/pdumper.c (pdumper_set_emacs_execdir): Add workaround for
!NS_SELF_CONTAINED so that launching Emacs from the app bundle
works flawlessly when built with native compilation.
* configure.ac: Define BINDIR.  (Bug#80094)
2026-01-17 16:56:50 +02:00
USAMI Kenta
c68c5fbe14 ; Remove redundant cl-lib runtime dependencies across lisp/
* lisp/editorconfig-tools.el:
* lisp/emacs-lisp/shorthands.el:
* lisp/info-xref.el:
* lisp/international/quail.el:
* lisp/international/rfc1843.el:
* lisp/mail/ietf-drums.el:
* lisp/mail/rfc2047.el:
* lisp/mail/yenc.el:
* lisp/net/pop3.el:
* lisp/net/sasl-scram-sha256.el:
* lisp/net/shr-color.el:
* lisp/progmodes/grep.el:
* lisp/scroll-bar.el:
* lisp/textmodes/emacs-news-mode.el:
* lisp/textmodes/reftex-auc.el:
* lisp/textmodes/reftex-dcr.el:
* lisp/textmodes/reftex-global.el:
* lisp/textmodes/reftex-sel.el:
* lisp/url/url-dav.el:
* lisp/vc/vc-src.el:
* lisp/xwidget.el:
* lisp/yank-media.el: Remove redundant (require 'cl-lib).
(Bug#80129)
2026-01-17 15:32:15 +02:00
USAMI Kenta
4efc4dcf30 ; Gnus: Remove redundant cl-lib runtime dependencies
Since Emacs 31 moves 'incf' and 'decf' to core, these Gnus
libraries no longer require 'cl-lib' at runtime.
* lisp/gnus/gnus-async.el:
* lisp/gnus/gnus-cache.el:
* lisp/gnus/gnus-logic.el:
* lisp/gnus/gnus-salt.el:
* lisp/gnus/gnus-spec.el:
* lisp/gnus/gnus-srvr.el:
* lisp/gnus/gnus-topic.el:
* lisp/gnus/gnus-uu.el:
* lisp/gnus/gnus-win.el:
* lisp/gnus/mm-encode.el:
* lisp/gnus/mm-url.el:
* lisp/gnus/nnatom.el:
* lisp/gnus/nnbabyl.el:
* lisp/gnus/nndoc.el:
* lisp/gnus/nneething.el:
* lisp/gnus/nnmail.el:
* lisp/gnus/nnoo.el:
* lisp/gnus/nnspool.el:
* lisp/gnus/nnvirtual.el:
* lisp/gnus/nnweb.el: Remove redundant (require 'cl-lib).
(Bug#80129)
2026-01-17 15:28:58 +02:00
USAMI Kenta
a47430af62 ; Add admin/cl-lib-deps-report.el to audit cl-lib dependencies
This script helps identify redundant runtime dependencies on cl-lib
by auditing the usage of cl-lib macros and functions.

* admin/cl-lib-deps-report.el: New script.
* admin/README: Update.  (Bug#80129)
2026-01-17 15:25:10 +02:00
Daniel Mendler
b04fbc59e9 gnus-msg-mail: Attempt to start Gnus if not yet alive
* lisp/gnus/gnus-msg.el (gnus-msg-mail): Attempt to start Gnus
if not yet alive.  In case of failure, fall back to plain
message mode.  (Bug#80173)
2026-01-17 15:08:52 +02:00
kobarity
c97b8e6650 Improve non-native completion in Python mode
Previously, both the definition of __PYTHON_EL_get_completions
and the call to __PYTHON_EL_get_completions were sent to the
inferior Python each time
'python-shell-completion-get-completions' was executed.
However, there is no need to send the definition every time as
long as the definition remains unchanged.  We improved this so
that the definition of __PYTHON_EL_get_completions is only sent
during the inferior Python initialization; it is no longer sent
during 'python-shell-completion-get-completions' execution.
* lisp/progmodes/python.el
(python-shell-completion-send-setup-code): New function.
(python-shell-first-prompt-hook): Add the above new function.
(python-shell-completion-get-completions): Omit sending
'python-shell-completion-setup-code'.  (Bug#80182)
2026-01-17 15:05:33 +02:00
Jacob S. Gordon
6e37af1fe8 ; calc: Correct width of rules composed of Unicode glyphs
With higher values of 'calc-string-maximum-character', rules
made up of glyphs of non-unit width can be the wrong length.
Calculate the number of characters in the rule based on the
display width, rounded up to the nearest integer.  Refines
feature introduced in bug#78528.
* lisp/calc/calccomp.el (math-comp-simplify-term): Calculate
rule width with a ratio of 'string-pixel-width's.
2026-01-17 14:51:01 +02:00
Jacob S. Gordon
b233ca80e9 ; calc: Improve alignment for Unicode strings
With higher values of 'calc-string-maximum-character' the
string length can differ from the displayed width.  Calculate
alignment offsets based on the the display width, rounded up to
the nearest integer.  Refines feature introduced in bug#78528.
* lisp/calc/calccomp.el (math-comp-width): Replace 'length' with
a ratio of 'string-pixel-width's.
2026-01-17 14:49:53 +02:00
Jacob S. Gordon
bd96450a09 calc: Improve handling of invalid 'calc-string-maximum-character'
Previously, if 'calc-string-maximum-character' wasn't a valid
character 'math-vector-is-string' would throw an error in the
comparison, leading to an incomplete display of the stack and a
cryptic error message.  Instead, have 'math-vector-is-string'
return nil, which effectively disables the display of strings.
Refines feature introduced in bug#78528.
* doc/misc/calc.texi (Customizing Calc): Update description of
behavior for invalid 'calc-string-maximum-character'.
* lisp/calc/calccomp.el (math-vector-is-string): Return nil when
'calc-string-maximum-character' doesn't represent a character.
* test/lisp/calc/calc-tests.el (calc-math-vector-is-string): Correct
and simplify tests.
2026-01-17 14:48:06 +02:00
Amin Bandali
5020d89104 New minor mode center-line-mode
* lisp/textmodes/text-mode.el (center-line-mode--track-changes):
New local variable for storing the id of the change tracker registered
for the current buffer.
(center-line-mode--track-changes-signal): New function to be called by
the track-changes library whenever there is a change in the current
buffer.
(center-line-mode--track-changes-function): New function called from the
above signal function, iterates over the lines of the modified region,
calling 'center-line' for each non-empty line.
(center-line-mode): New minor mode.
* etc/NEWS: Document the new minor mode.
2026-01-17 14:33:35 +02:00
Yavor Doganov
cc3e6f368f NS: Add native image support for HEIF, SVG and WEBP on GNUstep
* src/nsimage.m (ns_can_use_native_image_api): Handle HEIF, SVG
and WEBP image types on GNUstep.
* src/image.c (syms_of_image): Add conditional native image
support for HEIF, SVG and WEBP on GNUstep.  (Bug#80101)
2026-01-17 14:06:29 +02:00
Yavor Doganov
709983fb08 NS: Fix Meta key on GNUstep
* src/nsterm.m (syms_of_nsterm): On GNUstep, set
ns-command-modifier to "meta" to match the backend default
setting.  (Bug#80090)
2026-01-17 13:59:18 +02:00
Michael Albinus
ab77b4b60c New D-Bus functions to support systemd inhibitor locks
* doc/misc/dbus.texi (Top): Add "Inhibitor Locks" submenu.
Remove trailing period from chapter and section titles.
(Inhibitor Locks): New node.

* etc/NEWS: New D-Bus functions to support systemd inhibitor locks.
Presentational fixes and improvements.

* src/dbusbind.c (xd_registered_inhibitor_locks): New variable.
(Fdbus_make_inhibitor_lock, Fdbus_close_inhibitor_lock)
(Fdbus_registered_inhibitor_locks): New DEFUNs.  (Bug#79963)
(syms_of_dbusbind_for_pdumper): Initialize
`xd_registered_inhibitor_locks'.
(syms_of_dbusbind): Declare subroutines
`Sdbus_make_inhibitor_lock', `Sdbus_close_inhibitor_lock' and
`Sdbus_registered_inhibitor_locks'.  Declare symbol `Qdbus_call_method'.
staticpro `xd_registered_inhibitor_locks'.

* test/lisp/net/dbus-tests.el (dbus--test-systemd-service)
(dbus--test-systemd-path, dbus--test-systemd-manager-interface):
New defconsts.
(dbus-test10-inhibitor-locks): New test.
2026-01-17 11:40:31 +01:00
Basil L. Contovounesios
6287637ccd Various housekeeping in image.c
* doc/lispref/display.texi (Customizing Bitmaps): Fix grammar.
(XBM Images): Fix reference to incorrect number of properties.
(Multi-Frame Images, Other Image Types): Mention multi-frame WebP
support.

* src/image.c: Don't include pdumper.h; it hasn't been needed since
commit of 2019-05-17 "Clean up and simplify image-type setup".  Fix
some commentary.
(image_pix_container_create_from_bitmap_data): Remove no longer used
frame parameter (bug#80191); this continues from commit of
2022-11-25 "Remove unused parameter from
image_create_pix_container".  All callers updated.
(x_create_xrender_picture, initialize_image_type): Simplify.
(xbm_image_p): Remove redundant conditional branch.  Update
commentary.
2026-01-16 14:03:45 +02:00
Basil L. Contovounesios
8b27802256 Fix off-by-one error in native_image_p
* src/image.c (native_image_format): Make array size explicit, to
help keep it consistent with its later fmt descriptor copy.
(native_image_p): Parse the correct number of keywords (bug#80191).
2026-01-16 14:00:08 +02:00
Jared Finder
8e4f96cffb Fix behavior for ielm-dynamic-multiline-inputs (bug#80123)
* lisp/ielm.el (ielm-return): Navigate to before the prompt when
looking for prompt (bug#80123).
2026-01-15 11:12:12 +00:00
Sean Whitton
f41a594bf3 ; Improve docs for last change. 2026-01-15 11:12:12 +00:00
Jared Finder
6d0d71de68 New IELM option to insert newline when inside sexp (bug#80123)
* lisp/ielm.el (ielm-dynamic-return): Add new value `point' to
user option.
(ielm-return): Implement it (bug#80123).
2026-01-15 11:09:39 +00:00
Rudolf Adamkovič
c86067778b Update SQLite font-lock rules
* lisp/progmodes/sql.el (sql-mode-sqlite-font-lock-keywords):
Synchronize all SQLite keywords with the official documentation.
2026-01-15 10:56:45 +00:00
Andrea Corallo
a44c736c26 * Fix 'message' function signature
* lisp/emacs-lisp/comp-common.el(comp-primitive-type-specifiers): Fix
'message' entry.
2026-01-15 11:08:20 +01:00
Eli Zaretskii
18f9f0bdc9 ; Update Project documentation due to recent changes
* etc/NEWS:
* doc/emacs/maintaining.texi (Projects):
* lisp/progmodes/project.el (project-mode-line): Update
documentation due to changes in bug#78545.
2026-01-15 08:52:20 +02:00
Eli Zaretskii
cd9ff47ba8 ; Update documentation due to a recent change
* etc/NEWS:
* doc/emacs/mini.texi (Completion Commands):
* lisp/minibuffer.el (minibuffer-visible-completions): Update doc
string, user manual, and NEWS to reflect changes for bug#80024.
2026-01-15 08:36:46 +02:00
Eli Zaretskii
b3870cba77 ; * doc/lispref/display.texi (Progress): Revert inaccurate text. 2026-01-15 08:10:48 +02:00
Eli Zaretskii
0bae6d0e7b ; * doc/lispref/display.texi (Progress): Fix wording and punctuation. 2026-01-15 08:07:59 +02:00
Stefan Monnier
4d9abf0bdf (define-ibuffer-column): Fix corner case miscompilations (bug#80180)
* lisp/ibuf-macs.el (define-ibuffer-column): Don't quote the
SUMMARIZER functions as data.
2026-01-14 16:52:09 -05:00
Stefan Monnier
c6b62b42e0 (make-progress-reporter): Tweak wording of CONTEXT doc 2026-01-14 16:25:57 -05:00
Stéphane Marks
9c1da99a85 Optionally inhibit echo area progress reporting (bug#80198)
Add an optional 'context' argument to 'make-progress-reporter'
which 'progress-reporter-echo-area' consults to inhibit updates
if the context is 'async' and the echo area is busy.

* lisp/subr.el (make-progress-reporter): Add the optional
'context' argument.
(progress-reporter-context): New defun accessor.
(progress-reporter-echo-area): Consult
'progress-reporter-context'.
* doc/lispref/display.texi: Document context.
* etc/NEWS: Announce context.
2026-01-14 16:14:08 -05:00
Stefan Monnier
4af7b4ce04 (package-install): Fix accidental regression
* lisp/emacs-lisp/package.el (package-install): Remove code re-added
probably by erroneous merge.
2026-01-14 15:27:51 -05:00
Mattias Engdegård
256210477d ; * test/lisp/progmodes/eglot-tests.el (eglot--wait-for): escape $ 2026-01-14 19:56:14 +01:00
Mattias Engdegård
e7c5ab2015 ; * lisp/emacs-lisp/regexp-opt.el (regexp-opt-group): Clarify intent. 2026-01-14 19:53:23 +01:00
Sean Whitton
02966c8db5 ; Improve docs for last change. 2026-01-14 18:48:56 +00:00
Paul Nelson
ea5d079e26 Allow Ispell to save corrections as abbrevs
* lisp/textmodes/ispell.el (ispell-save-corrections-as-abbrevs):
New user option.
(ispell--abbrev-saving-allowed)
(ispell--save-correction-as-abbrev): New variables.
(ispell--maybe-save-correction-abbrev): New function.
(ispell-word, ispell-process-line): Use them to save corrections
as abbrevs when appropriate (bug#79985).
(ispell-command-loop): Add C-u as command character to toggle
abbrev saving for an immediately following replacement command.
(ispell-help): Document C-u binding.

* doc/emacs/fixit.texi (Spelling): Document new feature.
2026-01-14 18:48:56 +00:00
Spencer Baugh
72cd956564 Add new up-down option for minibuffer-visible-completions
* lisp/emacs-lisp/crm.el (completing-read-multiple): Call
'minibuffer-visible-completions--maybe-compose-map'.
* lisp/minibuffer.el (completion-in-region-mode): Call
'minibuffer-visible-completions--maybe-compose-map'.
(minibuffer-visible-completions): Add new value 'up-down' (bug#80024).
(minibuffer-visible-completions-up-down-map): Add.
(minibuffer-visible-completions--maybe-compose-map): Add helper
function.
(completing-read-default): Call
'minibuffer-visible-completions--maybe-compose-map'.
* lisp/simple.el (completion-setup-function): Check
'minibuffer-visible-completions' is t, not just non-nil.
2026-01-14 20:47:07 +02:00
Juri Linkov
1e6d8e6750 * lisp/progmodes/project.el: Improve performance of 'project-mode-line'.
(project-name-cache-timeout): New variable.
(project-name-cached): New function (bug#78545).
(project-mode-line): New value 'non-remote'.
(project-mode-line-format): Don't show the remote project's name
when 'project-mode-line' is 'non-remote'.  Use 'project-name-cached'.
2026-01-14 20:07:23 +02:00
Sean Whitton
ad14c8d084 ; * test/lisp/vc/vc-tests/vc-tests.el: Fix authorship metadata. 2026-01-14 14:33:46 +00:00
Sean Whitton
aa6e42f18b Rename VC outgoing and incoming log commands to include "-root-"
* lisp/vc/vc.el (vc-log-incoming, vc-log-outgoing): Rename ...
(vc-root-log-incoming, vc-root-log-outgoing): ... to these.  All
uses changed.  Leave behind obsolete function aliases.
* lisp/emacs-lisp/package-vc.el (package-vc-log-incoming):
Rename ...
(package-vc-root-log-incoming): ... to this.  All uses changed.
Leave behind obsolete function alias.
2026-01-14 12:48:02 +00:00
Sean Whitton
65655ccfae ; * lisp/vc/vc.el (vc-diff-outgoing-base): Document FILESET param. 2026-01-14 12:18:41 +00:00
Jared Finder
9618ac339d Reset Xterm cursor color to default when face is unspecified
* lisp/term/xterm.el (xterm-update-cursor): Mention OSC 112 in
doc string.
(xterm--reset-cursor-color-escape-sequence): New constant.
(xterm--init-update-cursor, xterm--update-cursor-color): Use it
(bug#80091).
2026-01-14 11:35:36 +00:00