1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-20 19:42:53 -08:00
Commit graph

180904 commits

Author SHA1 Message Date
Stefan Monnier
4150c2e22e (garbage-collect-heapsize): New function
The info returned from `garbage-collect` is really handy to
track the evolution of the heap size, but sadly it's available only
at the cost of running a full GC, which has two big downsides:
it's slow, it affects what we're measuring, and it can't be used
in `post-gc-hook`.
So, this patch makes it available without running the GC.

* src/alloc.c (Fgarbage_collect_heapsize): New function, extracted from
`Fgarbage_collect`.
(Fgarbage_collect): Use it.
(syms_of_alloc): defsubr it.

* doc/lispref/internals.texi (Garbage Collection): Extract
documentation for it from that of `garbage-collect`.
2026-01-20 16:09:22 -05:00
Juri Linkov
9ba2f13176 * lisp/tab-bar.el (tab-bar-split-tab): New command.
(split-tab): Alias for 'tab-bar-split-tab'.
2026-01-20 19:32:16 +02:00
Daniel Mendler
2fc549f3b4 ; * lisp/net/browse-url.el (browse-url-with-browser-kind): Fix call. 2026-01-20 14:44:49 +00:00
Michael Albinus
a32ee5026b Extend Tramp traces
* lisp/net/tramp-message.el (tramp-debug-message):
Change selection for `trace-function-background'.
2026-01-20 12:31:51 +01:00
Michael Albinus
8f96f5ffb5 Tag Tramp tests as :expensive-test
* test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults)
(tramp-test10-write-region-file-precious-flag)
(tramp-test10-write-region-other-file-name-handler)
(tramp-test16-file-expand-wildcards)
(tramp-test17-dired-with-wildcards)
(tramp-test17-insert-directory-one-file)
(tramp-test33-environment-variables-and-port-numbers)
(tramp-test35-remote-path, tramp-test39-make-lock-file-name)
(tramp-test39-detect-external-change, tramp-test42-utf8)
(tramp-test43-file-system-info)
(tramp-test44-file-user-group-ids, tramp-test48-session-timeout)
(tramp-test49-external-backend-function)
(tramp-test50-recursive-load): Tag them as :expensive-test.  (Bug#80164)
2026-01-20 12:30:48 +01:00
Daniel Mendler
94051b2c9a Call browser functions via `browse-url'
This is in order to apply `browse-url-transform-alist'.

* lisp/net/browse-url.el (browse-url-with-browser-kind)
(browse-url-button-open, browse-url-button-open-url):
* lisp/net/shr.el (shr-browse-url):
* lisp/net/eww.el (eww-browse-with-external-browser):
* lisp/gnus/gnus-sum.el (gnus-summary-browse-url):
* lisp/emacs-lisp/package.el (package-browse-url): Let-bind
`browse-url-browser-function' and call `browse-url'.
2026-01-20 10:31:03 +00:00
Pranshu Sharma
95775d9338 Factor out calculation of window combination for 'split-frame'
* lisp/window-x.el (window--get-split-combination): New function.
(split-frame): Call it.
2026-01-20 09:26:55 +01:00
Paul Eggert
1ca5eda85e Don’t use C basename function
* src/pdumper.c (pdumper_set_emacs_execdir):
Don’t use basename; simply use the pointer we already have.
If we ever need a basename-like function in the future, we should
use Gnulib’s basename-lgpl module, as POSIX basename modifies its
argument string and is incompatible with glibc/Android basename; see
<https://www.gnu.org/software/gnulib/manual/html_node/basename.html>.
2026-01-19 12:49:16 -08:00
Paul Eggert
4a0919df7f Update from Gnulib by running admin/merge-gnulib 2026-01-19 12:49:16 -08:00
Paul Eggert
c0afab671c Omit -Wzero-as-null-pointer-constant
* configure.ac: If --enable-gcc-warnings, don’t use
-Wzero-as-null-pointer-constant, which is enabled by default with
bleeding-edge Gnulib (as there seems to be movement in this
direction in C2y).  Although -Wzero-as-null-pointer-constant is
useful, Emacs isn’t clean for it yet.
2026-01-19 12:49:15 -08:00
Paul Eggert
128bfa6d44 Merge Gnulib save-cwd.c changes
* lib/save-cwd.c: Propagate changes from Gnulib sibling.
This doesn’t affect behavior.
2026-01-19 12:49:15 -08:00
Juri Linkov
5eb9800c42 Allow non-interactive calls of 'goto-line' (bug#80150)
* lisp/simple.el (goto-line, goto-line-relative): Add new arg 'interactive'.
Remove 'declare' with 'interactive-only'.  Don't push the mark when called
non-interactively.
2026-01-19 20:39:27 +02:00
Juri Linkov
86c40dcc31 Don't fail in minibuffer--completions-visible for undefined reference buffer
* lisp/minibuffer.el (minibuffer--completions-visible):
Return 'window' even when 'completion-reference-buffer' is nil (bug#80064).
2026-01-19 20:27:50 +02:00
Eli Zaretskii
1e080e2ecc ; * src/indent.c (Fvertical_motion): Fix last change. (Bug#80223) 2026-01-19 20:01:48 +02:00
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