1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-24 13:32:41 -08:00
Commit graph

180890 commits

Author SHA1 Message Date
Eli Zaretskii
cb7a3f4e89 Fix vertical cursor motion across overlay strings
* src/indent.c (Fvertical_motion): Fix vertical cursor motion when
a screen line begins with an overlay string.  (Bug#80223)
2026-01-19 16:20:39 +02:00
Eli Zaretskii
e81cee7468 ; * src/window.c (Fwindow_cursor_info): Fix commentary of last change. 2026-01-19 14:25:04 +02:00
RadioNoiseE
11347939c1 Fix box cursor width returned for stretch glyph
* src/window.c (Fwindow_cursor_info): Return canonical character width
when on stretch glyph and `x-stretch-cursor' is nil.  (Bug#80211)
2026-01-19 14:19:12 +02:00
Yavor Doganov
b44053536d NS: Fix UI freezes and Lisp threads on GNUstep
* src/nsterm.m (ns_select_1): Return thread_select if current
thread is not the main thread or timeout is zero; otherwise call
'thread_select' with a minimal timeout to allow other Lisp
threads to run.  (Bug#80110, Bug#80112)
2026-01-19 14:16:15 +02:00
Michael Albinus
31c07d873b ; Minor Tramp cleanup
* lisp/net/tramp-adb.el:
* lisp/net/tramp-androidsu.el:
* lisp/net/tramp-integration.el:
* lisp/net/tramp-smb.el: Do not delay
`connection-local-set-profiles' until after loading `shell'.

* lisp/net/tramp-integration.el: Add the local profile for all
hosts listed in `tramp-local-host-names'.

* lisp/net/tramp.el (tramp-local-host-names): New defvar.
(tramp-local-host-regexp): Use it.

* test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
Adapt test.
2026-01-19 12:28:18 +01:00
Michael Albinus
caeebd6a6d Suppress parallel make for filenotify-tests and tramp-tests
* test/Makefile.in (.NOTPARALLEL): Add lisp/filenotify-tests.log
and lisp/net/tramp-tests.log.  (Bug#80164)
2026-01-19 09:34:51 +01:00
Juri Linkov
f33507111d ; Fix 'treesit-admin--unversioned-treesit-language-source-alist'
* admin/tree-sitter/treesit-admin.el
(treesit-admin--unversioned-treesit-language-source-alist):
Use the correct return value.
2026-01-19 09:39:00 +02:00
Philip Kaludercic
aff85304d9
Have 'package-find-news-file' handle built-in packages
* lisp/emacs-lisp/package.el (package-find-news-file): Abort
early if the package is built-in.
(describe-package-1): Do not invoke 'package-find-news-file' if
missing a package descriptor.
2026-01-18 22:14:54 +01:00
Philip Kaludercic
9d3c68ab94
; * .mailmap: Add email alias 2026-01-18 21:59:38 +01:00
Philip Kaludercic
f263d2454f
; Fix type error in 'describe-package-1'
* lisp/emacs-lisp/package.el (describe-package-1): Pass the
package descriptor instead of a symbol to 'package-find-news-file'.

(Bug#80220)
2026-01-18 21:50:02 +01:00
Eli Zaretskii
e14e9eb70b ; Fix one of ispell-tests
* test/lisp/textmodes/ispell-tests/ispell-tests.el
(ispell/ispell-accept-buffer-local-defs/simple): Don't treat
Aspell as Ispell even if it pretends to be.  (Bug#80165)
2026-01-18 22:15:18 +02:00
Philip Kaludercic
3c125e2414
Portable escape SWITCHES in 'package-review-diff-command'
* lisp/emacs-lisp/package.el (package-review-diff-command): Use
'shell-quote-argument' to quote arguments instead of assuming a
POSIX shell.
2026-01-18 20:49:29 +01:00
Philip Kaludercic
0c31ea113f
Improve type of user option 'package-review-policy'
* lisp/emacs-lisp/package.el (package-review-policy): Move tags
to the cons-cell level, so that the labels are displayed in the
menu when inserting a new item.
2026-01-18 19:38:45 +01:00
Eli Zaretskii
f9e063e922 ; * src/dbusbind.c (Fdbus_registered_inhibitor_locks): Fix signature. 2026-01-18 19:03:57 +02:00
Wilson Snyder
72a34eceb9 verilog-mode.el: Fix parameter replacements in AUTOINST.
* lisp/progmodes/verilog-mode.el (verilog-auto-inst-port): Fix
parameter replacements in AUTOINST (#1903).
2026-01-18 09:59:17 -05:00
Eli Zaretskii
313791e017 ; Fix messages in "M-x man"
* lisp/man.el (Man-getpage-in-background): Fix message in
synchronous case.
2026-01-18 14:36:51 +02:00
Michael Albinus
c91c0663e5 Fix `Man-shell-file-name'
* lisp/man.el (Man-shell-file-name): Fix for MS Windows.
(Bug#80212)
2026-01-18 12:47:47 +01:00
Philip Kaludercic
6fab8c009e
Extract "news" file extraction logic
* lisp/emacs-lisp/package.el (package-review)
(describe-package-1): Use new function.
(package-find-news-file): Add new function that also checks for
the "NEWS-elpa" file name.
2026-01-18 12:18:51 +01:00
Philip Kaludercic
e13046628d
Autoload 'package-delete'
* lisp/emacs-lisp/package.el (package-delete): Add autoload
cookie.  (Bug#80178)
2026-01-18 01:09:39 +01:00
Philip Kaludercic
ca69411e3d
Autoload 'package-browse-url'
* lisp/emacs-lisp/package.el (package-browse-url): Add autoload
cookie.  (Bug#80178)
2026-01-17 23:39:48 +01:00
Philip Kaludercic
f1f1898f0c
Remove some mode restriction in interactive specs of package.el
* lisp/emacs-lisp/package.el (package-browse-url)
(package-report-bug): Do not restrict these commands to
'package-menu-mode'.  (Bug#80178)
2026-01-17 23:38:09 +01:00
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