1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 18:40:39 -08:00
Commit graph

180394 commits

Author SHA1 Message Date
Roi Martin
5e0414b05c ; Improve documentation of fill-region-as-paragraph-semlf
* lisp/textmodes/fill.el (fill-region-as-paragraph-semlf): Create
hyperlinks to URLs.
2025-12-06 18:48:38 +02:00
Sean Whitton
1bdf9dd6cd New user option vc-dir-show-outgoing-count
* lisp/vc/vc-dir.el (vc-dir-show-outgoing-count): New defcustom.
(vc-dir-headers): Use it.
* doc/emacs/maintaining.texi (VC Directory Buffer):
* etc/NEWS: Document it.
2025-12-06 16:24:59 +00:00
Sean Whitton
39f34f6470 vc-git-incoming-revision: Don't fetch when branch has no upstream
* lisp/vc/vc-git.el (vc-git-incoming-revision): Don't perform a
useless fetch when the branch has no upstream (bug#79952).
2025-12-06 16:07:13 +00:00
Eli Zaretskii
3945654f05 Merge from origin/emacs-30
998d45d5d1 ; * lisp/calc/calc-units.el: Better reference for CODATA ...
fae83f1eb8 ; Improve documentation of 'char-script-table'
3e489ed804 ; * src/font.c (Flist_fonts): Doc fix.
4c292b6f70 ; vc-dir-clean-files: Improve docstring and message (bug#...
8a6b84dbcb Fix doc string of 'display-buffer'
2025-12-06 08:58:57 -05:00
Eli Zaretskii
9c48d08654 Increase the value of 'max-lisp-eval-depth' used when dumping
* lisp/loadup.el (max-lisp-eval-depth): Bump to 4200.  Problem
reported by Gerd Möllmann <gerd.moellmann@gmail.com>.
2025-12-06 15:28:07 +02:00
Eli Zaretskii
6e68ac4604 ; * lisp/face-remap.el (buffer-face-set): Fix last change. 2025-12-06 15:03:40 +02:00
Ulrich Müller
998d45d5d1 ; * lisp/calc/calc-units.el: Better reference for CODATA 2022. 2025-12-06 13:37:58 +01:00
Jostein Kjønigsen
c8ee9e3994 sh-script: Fix fontification of command-invocations in 'bash-ts-mode'
* lisp/progmodes/sh-script.el (sh-mode--treesit-settings): Change
font-face used for command-invocations.  (Bug#79944)
2025-12-06 14:34:12 +02:00
Michael Albinus
32e6bbbe46 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2025-12-06 13:27:53 +01:00
Michael Albinus
b1882857ee Rework remote process support for Tramp's "smb" method
* doc/misc/tramp.texi (Remote processes): Rewrite subsection
"Running remote processes on MS Windows hosts".

* etc/NEWS: Mention remote process support for Tramp's "smb" method.
Presentational fixes and improvements.

* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
Use `tramp-smb-handle-make-process', `tramp-smb-handle-shell-command'
and `tramp-handle-start-file-process'.
(tramp-smb-matching-line): New defvar.
(tramp-smb-handle-make-process, tramp-smb-handle-shell-command)
(tramp-smb-shell-prompt): New defuns.
(tramp-smb-handle-process-file): Rewrite.
(tramp-smb-handle-start-file-process): Remove.
(tramp-smb-get-localname, tramp-smb-shell-quote-localname):
New optional argument SHARE.
(tramp-smb-send-command): Remove echoed command string.
(tramp-smb-maybe-open-connection): Initialize variables.
(tramp-smb-wait-for-output): Wait more robust.
(tramp-smb-call-winexe): Check for share.  Goto current directory.
(tramp-smb-connection-local-powershell-variables): New defconst.
Set it as connection local variables.

* test/lisp/net/tramp-tests.el (tramp-test28-process-file)
(tramp-test29-start-file-process, tramp-test30-make-process)
(tramp-test32-shell-command, tramp--test-async-shell-command)
(tramp--test-supports-processes-p): Adapt for "smb" method.
(tramp-test34-explicit-shell-file-name)
(tramp-test45-asynchronous-requests): Skip for "smb" method.
(tramp--test-check-files): Skip shell test for some special
characters in the "smb" case.
(tramp-test52-unload): Disable further tests.
2025-12-06 13:26:52 +01:00
Eli Zaretskii
c3dfef7a3d ; * lisp/files.el (trusted-content): Doc fix (bug#79939). 2025-12-06 14:24:18 +02:00
Eli Zaretskii
164f76a474 ; Improve documentation of 'fill-region-as-paragraph'
* lisp/textmodes/fill.el (fill-region-as-paragraph-default)
(fill-separate-heterogeneous-words-with-space): Doc fixes.
(Bug#79575)
2025-12-06 14:18:55 +02:00
Roi Martin
598a3604d4 Simplify fill-tests.el and add tests
Simplify fill-tests.el by grouping similar tests in the same
erts file.  Move the test code into the erts files, so it is
closer to the test cases, which provides context.  Add basic
test cases for common filling operations and for the scenarios
described in Bug#79575.

* test/lisp/textmodes/fill-tests.el (fill-test-end-period)
(fill-test-haskell): Rename from `test-fill-end-period' and
`test-fill-haskell' to follow the same naming convention of
the other tests.
(fill-test-fill-region-as-paragraph-default)
(fill-test-fill-region-as-paragraph-semlf)
(fill-test-fill-region-as-paragraph, fill-test-fill-region)
(fill-test-fill-paragraph, fill-test-fill-paragraph-semlf):
Group tests and move test code into erts files.
(fill-test-fill-paragraph-semlf-emacs-lisp-mode)
(fill-test-fill-paragraph-semlf-c-mode)
(fill-test-fill-paragraph-semlf-org-mode)
(fill-test-fill-paragraph-semlf-markdown-mode): Rename from
`fill-test-semlf-emacs-lisp-mode', `fill-test-semlf-c-mode',
`fill-test-semlf-org-mode' and
`fill-test-semlf-markdown-mode'.  Move test code into erts
files.
(fill-test-semlf, fill-test-semlf-fill-region)
(fill-test-semlf-justify)
(fill-test-semlf-sentence-end-double-space)
(fill-test-semlf-fill-column)
(fill-test-semlf-punctuation-marks, fill-test-semlf-twice)
(fill-test-semlf-fill-prefix, fill-test-semlf-indented-block)
(fill-test-semlf-revert): Delete tests since they are now
grouped with other tests.

* test/lisp/textmodes/fill-resources/fill-paragraph.erts:
* test/lisp/textmodes/fill-resources/fill-paragraph-semlf.erts:
* test/lisp/textmodes/fill-resources/fill-region-as-paragraph.erts:
* test/lisp/textmodes/fill-resources/fill-region-as-paragraph-default.erts:
* test/lisp/textmodes/fill-resources/fill-region-as-paragraph-semlf.erts:
Add test cases for the function specified in the file name,
including tests for the scenarios described in the bug report.
* test/lisp/textmodes/fill-resources/fill-region.erts: Add
test case for custom `fill-region-as-paragraph-function',
include test code in the test specification.
* test/lisp/textmodes/fill-resources/fill-paragraph-semlf-c-mode.erts:
* test/lisp/textmodes/fill-resources/
fill-paragraph-semlf-emacs-lisp-mode.erts:
* test/lisp/textmodes/fill-resources/fill-paragraph-semlf-markdown-mode.erts:
* test/lisp/textmodes/fill-resources/fill-paragraph-semlf-org-mode.erts:
Rename from semlf-*-mode.erts, prefix test names with the
tested function and include test code in the test
specification.
* test/lisp/textmodes/fill-resources/semlf-fill-column.erts:
* test/lisp/textmodes/fill-resources/semlf-fill-prefix.erts:
* test/lisp/textmodes/fill-resources/semlf-fill-region.erts:
* test/lisp/textmodes/fill-resources/semlf-fill-region-as-paragraph.erts:
* test/lisp/textmodes/fill-resources/semlf-indented-block.erts:
* test/lisp/textmodes/fill-resources/semlf-justify.erts:
* test/lisp/textmodes/fill-resources/semlf-punctuation-marks.erts:
* test/lisp/textmodes/fill-resources/semlf-revert.erts:
* test/lisp/textmodes/fill-resources/semlf-sentence-end-double-space.erts:
* test/lisp/textmodes/fill-resources/semlf-twice.erts:
* test/lisp/textmodes/fill-resources/semlf.erts: Delete
files.  (Bug#79575)
2025-12-06 14:04:32 +02:00
Eli Zaretskii
e214b13370 ; (calendar-bahai--twin-birthdays-reference-dates): Fix quoting. 2025-12-06 13:58:19 +02:00
John Wiegley
1dd0fd6e4e Update Bahá'í calendar for 2014 calendar reform
In 2014, the Universal House of Justice announced modifications to
the Badí' calendar to bring it more in line with its original design.
>From 172 BE (Naw-Rúz 2015) onwards, Naw-Rúz is determined by the
vernal equinox as observed from Tehran, and the Twin Holy Birthdays
are calculated from the eighth new moon after Naw-Rúz.

* doc/emacs/calendar.texi (Calendar Systems): Update Bahá'í calendar
description to mention the 2014 reform, Ayyám-i-Há, and the
astronomical basis for Naw-Rúz and Twin Holy Birthday calculations.

* lisp/calendar/cal-bahai.el: Require 'solar' and 'lunar' for
astronomical calculations.
(calendar-bahai-tehran-latitude)
(calendar-bahai-tehran-longitude)
(calendar-bahai-tehran-timezone)
(calendar-bahai-reform-year): New constants for Tehran-based
astronomical observations and reform year (172 BE).
(calendar-bahai-nawruz-for-gregorian-year): New function to calculate
Naw-Rúz from vernal equinox relative to Tehran sunset.
(calendar-bahai-nawruz): New function returning absolute date of
Naw-Rúz for a given Bahá'í year.
(calendar-bahai-twin-holy-birthdays-for-year): New function to
calculate Birth of the Báb and Birth of Bahá'u'lláh from the eighth
new moon after Naw-Rúz.
(calendar-bahai-leap-year-p): Handle post-reform years based on gap
between successive Naw-Rúz dates.
(calendar-bahai-to-absolute, calendar-bahai-from-absolute): Rewrite
to use astronomical Naw-Rúz dates for years >= 172 BE.
(holiday-bahai-new-year): Calculate variable Naw-Rúz date.
(holiday-bahai-twin-holy-birthdays): New function for lunar-based
Twin Holy Birthday dates.
(holiday-bahai-ridvan): Use Bahá'í calendar dates instead of fixed
Gregorian dates.
(calendar-bahai--nawruz-reference-dates)
(calendar-bahai--twin-birthdays-reference-dates): New constants with
official dates from Bahá'í World Centre for 2015-2064.
(calendar-bahai--verify-nawruz)
(calendar-bahai--verify-twin-birthdays)
(calendar-bahai-verify-calculations): New verification functions to
test calculations against official reference data.

* lisp/calendar/holidays.el (holiday-bahai-holidays): Use
'holiday-bahai' with Bahá'í calendar dates instead of 'holiday-fixed'
with Gregorian dates.  Add 'holiday-bahai-twin-holy-birthdays' for
lunar-calculated dates.
2025-12-06 13:54:53 +02:00
Kristoffer Balintona
3d21eaa3fc ; Improve documentation of 'eager-update'
* lisp/minibuffer.el (completion-metadata, completion-category-defaults)
(completion-category-overrides): Mention 'eager-update', alongside
'eager-display', in the docstring.   (Bug#79898)
2025-12-06 13:50:26 +02:00
Eli Zaretskii
368c86bab4 Improve documentation of 'seq-intersection'
* doc/lispref/sequences.texi (Sequence Functions):
* lisp/emacs-lisp/seq.el (seq-intersection): Clarify the
documentation of 'seq-intersection'.  (Bug#79844)
2025-12-06 12:57:32 +02:00
Kristoffer Balintona
51c519ea2d Support 'eager-update' in 'completion-category-overrides' defcustom
* lisp/minibuffer.el (completion-category-overrides): Accept
'eager-update' as a completion property in its :type.  (Bug#79899)
2025-12-06 12:43:18 +02:00
Eli Zaretskii
8f5c26cec2 ; * src/eval.c (Ffunc_arity): Doc fix (bug#79880). 2025-12-06 12:33:44 +02:00
Alexander Adolf
3e81d0573a ; xwidgets: pacify macOS compiler warnings
* configure.ac: When the WebKit header files are not available
in the hard-coded location, query for the location of the
currently active SDK, and resort to the header files there.
(Bug#79847)
2025-12-06 12:15:46 +02:00
Jeremy Bryant
ddcbab2809 ; * src/.gdbinit: Document xfmt, a user-defined function.
Proposed in (bug#79932).

Co-authored-by: Eli Zaretskii <eliz@gnu.org>
2025-12-06 11:15:11 +02:00
Martin Rudalics
da45a474d3 Fix root frame check in store_frame_param (Bug#79947)
* src/frame.c (store_frame_param): Make sure 'minibuffer',
'parent-frame' and 'delete-before' parameters reference frame on
same terminal.  Spare GUI frames when checking root frames of
tty frames and their surrogate minibuffer frames (Bug#79947).
2025-12-06 08:54:51 +01:00
Sean Whitton
022facd986 * lisp/vc/diff-mode.el (diff-revert-and-kill-hunk): Fix finding END. 2025-12-05 17:05:47 +00:00
Mattias Engdegård
5e7a71d0f4 Don't emit print-circle refs for empty string and vector
The empty vector and string(s) are immutable, contain no references and
always read as the same objects.

* src/print.c (PRINT_CIRCLE_CANDIDATE_P): Turn macro into...
(print_circle_candidate_p): ...a function, and exclude [] and "".
* test/src/print-tests.el (print-circle): Add test case.
2025-12-04 17:52:14 +01:00
Mattias Engdegård
2d682ca13f * lisp/emacs-lisp/bytecomp.el (funarg-positions): amend 'sort' 2025-12-04 17:52:14 +01:00
Andrea Corallo
d52bf63de2 * Have comp do not use builtin_expect with libgccjit < 14 (bug#79722)
* src/comp.c (emit_EQ): Do not use '__builtin_expect' with
libgccjit < 14.
2025-12-04 17:05:23 +01:00
Sean Whitton
d63ed68684 * lisp/vc/diff-mode.el (diff-revert-and-kill-hunk): Fix killing. 2025-12-04 15:40:11 +00:00
Kristoffer Balintona
21f9295aa9 Improve performance of 'flyspell-goto-next-error'
* lisp/textmodes/flyspell.el (flyspell-goto-next-error): Use
'next-overlay-change' and 'previous-overlay-change'.
(Bug#79933)
2025-12-04 14:19:51 +02:00
Rudolf Adamkovič
cbf9c58730 NS: Fix toolbar style and position
* src/nsterm.m ([EmacsWindow initWithEmacsFrame:fullscreen:screen:]):
Always show the toolbar below the window title.  This is needed on
Mac OS 11+ where the toolbar style is decided by the system (which
is unpredictable) and the newfangled "compact" toolbar may be chosen
(which is undesirable).  (Bug#79900)
2025-12-04 14:16:35 +02:00
Eli Zaretskii
fae83f1eb8 ; Improve documentation of 'char-script-table'
* doc/lispref/nonascii.texi (Character Properties): Improve
indexing and document how to produce the list of all scripts.
2025-12-04 13:09:05 +02:00
Eli Zaretskii
3e489ed804 ; * src/font.c (Flist_fonts): Doc fix. 2025-12-04 10:27:29 +02:00
Eli Zaretskii
6a4ca5e59b ; Avoid assertion violations in 'font-match-p'
* src/font.c (font_match_p): Avoid assertion violations in
'font_encode_char' if FONT is not a font-object.
2025-12-04 10:11:09 +02:00
Stephen Gildea
7f04e046fb ; time-stamp: factor out two small, internal utilities
* lisp/time-stamp.el (time-stamp--message, time-stamp--system-name):
New utility functions.
(time-stamp, time-stamp-once, time-stamp-string-preprocess):
Call the new functions.
2025-12-03 23:44:45 -08:00
Paul Eggert
335f1a11f0 Waste 4 fewer bytes in GNU/Linux 32-bit HPPA
Also, add more commentary about the situation.
* src/systhread.h (SYSTHREAD_ALIGN_ROOM): Use alignof (double),
not alignof (int), to align the room.  This means we have
only 8 (not 12) bytes of slop on 32-bit HPPA GNU/Linux.
2025-12-03 13:10:35 -08:00
Stefan Monnier
c79eb45340 lisp/emacs-lisp/bytecomp.el (seq-sort-by): Improve funarg-positions 2025-12-03 14:23:34 -05:00
Stefan Monnier
7f4f9c3b8f gnus-icalendar.el: Avoid EIEIO's non-standard FOO-p predicates
* lisp/gnus/gnus-icalendar.el (gnus-icalendar-event->gnus-calendar)
(gnus-icalendar-event:inline-org-buttons): Avoid EIEIO's non-standard
FOO-p predicates.
2025-12-03 14:22:47 -05:00
Sean Whitton
ed87a95a78 Query-on-exit for VC push, pull and async checkin commands
* lisp/vc/vc-bzr.el (vc-bzr--pushpull):
* lisp/vc/vc-git.el (vc-git--checkin, vc-git--pushpull):
* lisp/vc/vc-hg.el (vc-hg--checkin, vc-hg--pushpull): Set
query-on-exit flag for async processes.
2025-12-03 16:09:52 +00:00
Paul Nelson
02afd1305b Use dedicated minibuffer history for mairix-search
* lisp/net/mairix.el (mairix-search-history): New variable.
(mairix-search): Use it (bug#79926).
2025-12-03 12:42:09 +00:00
Sean Whitton
7d4e2107b3 ; * etc/NEWS: Update annotation. 2025-12-03 11:22:08 +00:00
Sean Whitton
b8cefd6c43 * lisp/vc/vc.el (vc-pull): Clear cached incoming revisions. 2025-12-03 11:20:00 +00:00
Sean Whitton
34331ae6f9 Pass the VC backend down through fns called by vc--count-revisions
* lisp/vc/vc-hooks.el (vc--repo-setprop, vc--repo-getprop)
(vc--repo-clearprops):
* lisp/vc/vc.el (vc-root-dir): New BACKEND parameter.
(vc--incoming-revision, vc-push): Pass it.
(vc-default-log-incoming, vc-default-log-outgoing): Pass down
BACKEND provided by caller, instead of ignoring it and always
calling vc-deduce-backend (bug#79929).
2025-12-03 11:19:12 +00:00
Sean Whitton
f15e98afb6 ; (emacs)VC Directory Buffer: Document outgoing revisions count. 2025-12-03 11:16:02 +00:00
Paul Eggert
1b2b433fc0 Port to GNU/Linux HPPA malloc
On this platform, you cannot reliably malloc objects containing
values of type pthread_mutex_t or pthread_cond_t, since malloc
guarantees only 8-byte alignment but these two types require
16-byte alignment.  See GCC bug 115750
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115750> reported by
Sam James and Emacs bug 79936 <https://bugs.gnu.org/79936>
reported by John Paul Adrian Glaubitz.
* configure.ac (ALIGNOF_MAX_ALIGN_T, ALIGNOF_PTHREAD_COND_T)
(ALIGNOF_PTHREAD_MUTEX_T) [HAVE_PTHREAD]: New C macros.
* src/systhread.c (sys_mutex_init, sys_mutex_lock)
(sys_mutex_unlock, sys_cond_init, sys_cond_wait)
(sys_cond_signal, sys_cond_broadcast, sys_cond_destroy):
Use SYTHREAD_ALIGN_PTR to convert sys_mutex_t and sys_cond_t to
pthread_mutex_t and pthread_cond_t, since runtime conversion is
needed on GNU/Linux HPPA.
* src/systhread.h (SYSTHREAD_ALIGN_ROOM, SYSTHREAD_ALIGN_PTR):
New macros, which affect the generated code only on
unusual platforms like GNU/Linux HPPA.
(sys_mutex_t, sys_cond_t) [HAVE_PTHREAD]: Use them.
2025-12-02 17:46:56 -08:00
Paul Eggert
3930d12e4d Pacify gcc -Wdangling-else in dbusbind.c
* src/dbusbind.c (XD_DBUS_VALIDATE_BUS_NAME)
(XD_DBUS_VALIDATE_PATH, XD_DBUS_VALIDATE_INTERFACE)
(XD_DBUS_VALIDATE_MEMBER): Make these expand to single statements
when they are followed by ‘;’.  All uses changed.
2025-12-02 17:46:56 -08:00
Juri Linkov
d2ac3cfb90 Improve margin handling in outline-minor-mode (bug#76193)
* lisp/outline.el (outline-minor-mode): Make margin changes
idempotent to multiple calls.  When enabling, check for
nil 'outline--margin-width' instead of relying on the value
of 'left-margin-width'.  When disabling, check for non-nil
'outline--margin-width' and set back to nil afterwards.
Use kill-local-variable for 'fringes-outside-margins'.
2025-12-02 19:21:21 +02:00
Sean Whitton
df4d8c1475 * lisp/vc/vc.el (vc-push): Delay clearing incoming revisions cache. 2025-12-02 11:55:14 +00:00
Sean Whitton
7780ac923c * lisp/vc/vc.el (vc--incoming-revision): Do store 'nil'. 2025-12-02 11:43:54 +00:00
Sean Whitton
b0a0127880 vc-dir-headers: Use ngettext, move the newline out of 'propertize'
* lisp/vc/vc-dir.el (vc-dir-headers): Use ngettext, move the
newline out of 'propertize'.
2025-12-01 22:00:42 +00:00
Elías Gabriel Pérez
49611cce30 hideshow.el: New commands 'hs-cycle' and 'hs-toggle-all'. (Bug#79877)
* etc/NEWS: Announce features.
* doc/emacs/programs.texi (Hideshow): Document it.
* lisp/progmodes/hideshow.el (hs-prefix-map): Bind the new
commands.
(hs-hide-level-recursive): Simplify.
(hs--toggle-all-state): New variable.
(hs-toggle-all, hs-cycle): New commands.
(hs-get-near-block): New function.
(hs-hide-block): Simplify.

Co-authored-by: Karthik Chikmagalur <karthikchikmagalur@gmail.com>
2025-12-01 19:42:52 +02:00
Juri Linkov
481977f597 Override 'display-buffer-overriding-action' conditionally in perform-replace
* lisp/replace.el (perform-replace): For 'diff' display, override
'display-buffer-overriding-action' only when it has the default value.
https://lists.gnu.org/archive/html/emacs-devel/2025-11/msg01077.html
2025-12-01 19:29:11 +02:00