Commit graph

13463 commits

Author SHA1 Message Date
Mattias Engdegård
aaa6d6e13b ; * doc/lispref/macros.texi (Indenting Macros): more @xref fix-ups 2025-12-28 12:29:05 +01:00
Sean Whitton
3e282e2da5 ; * doc/lispref/macros.texi (Indenting Macros): Fix xref. 2025-12-28 11:25:30 +00:00
Jonas Bernoulli
2b6161a19f
lisp-indent-local-overrides: New variable 2025-12-27 20:25:05 +01:00
Eli Zaretskii
ab7ed33f6d ; Sean Whitton stepped up as a co-maintainer
* admin/MAINTAINERS:
* doc/emacs/ack.texi (Acknowledgments): Add Sean Whitton.
2025-12-27 10:08:06 +02:00
Paul Eggert
481ad70d5c December 2025 spelling fixes
Some of the fixes are to continue to use American
rather than British spelling.
* doc/misc/modus-themes.org (my-modus-themes-engraved-faces):
Fix misspelled ‘:foreground’s.
* etc/themes/modus-themes.el (modus-themes-faces):
Fix misspelled ‘modus-themes-bold’.
* lisp/emacs-lisp/rx.el (rx--normalize-char-pattern):
Rename from rx--normalise-char-pattern.
(rx--optimize-or-args):	Rename from rx--optimise-or-args.
* lisp/frame.el (frame--special-parameters):
Fix misspelled "right-divider-width".
* lisp/net/tramp.el (tramp-fingerprint-prompt-regexp):
Use American spelling “centered”, to match current libfprintf.
* lisp/org/org-fold-core.el (org-fold-core--optimize-for-huge-buffers):
Rename from org-fold-core--optimise-for-huge-buffers.
(org-fold-core-update-optimization):
Rename from org-fold-core-update-optimisation,
leaving an alias behind.
(org-fold-core-remove-optimization):
Rename from org-fold-core-remove-optimisation,
leaving an alias behind.
* lisp/org/org.el (org-advertized-archive-subtree):
This alias is now obsolete.
* lisp/play/zone.el (zone-ignored-buffers):
Fix misspelling of ‘zone--buffer-encrypted-p’.
* lisp/progmodes/csharp-mode.el (csharp-ts-mode-faces):
Fix misspelling of ‘csharp’ group.
* lisp/vc/vc.el (vc-clonable-backends-custom-type):
Rename from vc-cloneable-backends-custom-type,
leaving an alias behind.
* test/lisp/emacs-lisp/bytecomp-tests.el:
(bytecomp-tests--warn-arity-non-compiled-callee):
Rename from bytecomp-tests--warn-arity-noncompiled-callee.
(bytecomp-test-defface-spec): Reword a deliberate misspelling
of “default” that is so common I don’t want it to pollute the
spelling dictionary.
* test/lisp/emacs-lisp/package-vc-tests.el:
(package-vc-tests-preserve-artifacts):
Rename from package-vc-tests-preserve-artifacts.
* test/lisp/eshell/em-prompt-tests.el:
(em-prompt-test/forward-backward-paragraph-1):
Reword a deliberate misspelling of “goodbye” that is so common I
don’t want it to pollute the spelling dictionary.
2025-12-26 10:22:12 -08:00
Paul Eggert
7be4fe89fc Update from Gnulib by running admin/merge-gnulib 2025-12-25 09:53:17 -08:00
Eli Zaretskii
acb91f501c ; Improve documentation of 'font-spec'
* src/font.c (Ffont_spec):
* doc/lispref/display.texi (Low-Level Font): More accurate
documentation of 'font-spec's arguments.
2025-12-22 15:36:11 +02:00
Jacob S. Gordon
cff022f0c3 Add binary format specifications '%b' and '%B'
These produce the binary representation of a number.
'%#b' and '%#B' prefix with '0b' and '0B', respectively.
(bug#79990)
* etc/NEWS: Announce change.
* doc/lispref/strings.texi (Formatting Strings): Describe new format
specs and add to comment on reconstructing the value with 'read'.
* src/editfns.c (format): Update doc string.
(styled_format): Add support for '%b' and '%B'.  To remain
portable, avoid use of 'sprintf' by converting by hand.
* test/src/editfns-tests.el (format-binary-zero, format-binary-floats)
(format-binary-nonzero-integers): Add tests.
(read-large-integer): Add binary test cases.
Co-authored-by: Paul Eggert <eggert@cs.ucla.edu>
2025-12-22 00:15:09 -08:00
Paul Eggert
366cbebe46 ; Revert previous commit. 2025-12-21 13:23:26 -08:00
Paul Eggert
67c36f9090 ; Revert wrong doc change about, e.g., "-#xa". 2025-12-21 12:58:41 -08:00
Mattias Engdegård
8f8f9058b5 ; * doc/lispref/strings.texi (Formatting Strings): Corrections. 2025-12-21 21:15:09 +01:00
Paul Eggert
f98c3a940d Remove binary-as-unsigned (bug#79990)
This experimental variable caused more trouble than it cured:
it was rarely used, and when used it tended to be used incorrectly.
* src/editfns.c (binary-as-unsigned): Remove.  All uses removed.
2025-12-21 09:57:56 -08:00
Michael Albinus
808d4a2133 ; Fix last commit
* doc/emacs/frames.texi:
* doc/lispref/os.texi:
* lisp/system-taskbar.el: Fix typos.
2025-12-21 13:20:06 +01:00
Stéphane Marks
f5f2306fc1 System GUI taskbar and progress reporter hooks (bug#79859)
Implement system GUI taskbar/dock/launcher icon badge, icon
progress indicator, icon attention alert features for D-Bus
platforms (tested on KDE and GNOME), NS (macOS/GNUstep),
MS-Windows.

Add 'progress-reporter-update-functions' abnormal hook to facilitate
taskbar progress display, and other custom progress reporters.
The default function list is 'progress-reporter-echo-area' which
is backward compatible.

* lisp/subr.el (progress-reporter-update-functions):
New defvar.
(progress-reporter-echo-area): New defun.
(progress-reporter-do-update): Run
progress-reporter-update-functions for both numerical and
pulsing reporters.
(progress-reporter-done): Run progress-reporter-done-functions.
* lisp/system-taskbar.el: New file.
* src/nsfns.m (Fns_badge, Fns_progress_indicator)
(Fns_request_user_attention): New function.
(syms_of_nsfns): Add defsubr Sns_badge,
Sns_request_user_attention, Sns_progress_indicator. Add DEFSYM
Qinformational, Qcritical.
* src/w32fns.c (rgb_list_to_colorref, Fw32_badge)
(Fw32_request_user_attention, Fw32_progress_indicator): New
function.
(syms_of_w32fns): Add defsubr Sw32_badge,
Sw32_progress_indicator, Sw32_request_user_attention. Add DEFSYM
Qinformational, Qcritical.
* doc/emacs/frames.texi: User documentation.
* doc/lispref/os.texi: Programmer documentation.
* etc/NEWS: Announce system-taskbar-mode.  Announce progress
reporter callback enhancements.
2025-12-21 12:55:10 +01:00
Michael Albinus
6d2914c0a4 * doc/misc/tramp.texi (FUSE setup): Extend rclone setup section. 2025-12-21 10:14:58 +01:00
Richard Lawrence
c685cf336a Add full support for iCalendar (RFC5545) data
This is a fix for Bug#74994 that replaces the existing support
in icalendar.el.  It implements a full parser, recurrence rule
and time zone calculations, diary import and export, and a
major mode with syntax highlighting for iCalendar data.  It
obsoletes most of the code in icalendar.el.

In addition to Bug#74994, the proposal to update Emacs' iCalendar
support was discussed on emacs-devel in this thread:
https://lists.gnu.org/archive/html/emacs-devel/2024-10/msg00425.html

icalendar.el pre-dates the current standard (RFC5545), contains numerous
bugs, is not well documented, and could not easily be updated or
extended; starting fresh was the simplest path to creating an iCalendar
library that other Emacs applications and packages can rely on.  It was
decided to leave icalendar.el's code in place for posterity, but declare
it obsolete.  Most of the changes in icalendar.el simply consist of such
declarations.  The old To Do list has also been deleted.

A few changes in icalendar.el, however, consist of new code for
library-wide functions and options, especially error handling.  In
particular:

* lisp/calendar/icalendar.el: Log iCalendar library errors in a single
buffer.
(icalendar-errors-mode): New mode for it.
(icalendar-uid-format): Change the default value to "%h", a hash
value (for privacy).
(icalendar-make-uid): New function, to replace 'icalendar--create-uid'.
(icalendar-debug-level, icalendar-vcalendar-prodid): New option.
(icalendar-vcalendar-version): New constant.
* lisp/calendar/icalendar.el (icalendar-import-format)
(icalendar-import-format-summary, icalendar-import-format-description)
(icalendar-import-format-location, icalendar-import-format-organizer)
(icalendar-import-format-url, icalendar-import-format-uid)
(icalendar-import-format-status, icalendar-import-format-class)
(icalendar-recurring-start-year, icalendar-export-hidden-diary-entries)
(icalendar-export-sexp-enumerate-all, icalendar-export-alarms,
icalendar-debug, icalendar--weekday-array, icalendar--dmsg)
(icalendar--get-unfolded-buffer icalendar--clean-up-line-endings)
(icalendar--rris, icalendar--read-element)
(icalendar--get-event-property, icalendar--get-event-properties)
(icalendar--get-event-property-attributes)
(icalendar--get-children, icalendar--all-events, icalendar--split-value)
(icalendar--convert-tz-offset, icalendar--parse-vtimezone)
(icalendar--get-most-recent-observance)
(icalendar--convert-all-timezones, icalendar--find-time-zone)
(icalendar--decode-isodatetime)
(icalendar--decode-isoduration, icalendar--add-decoded-times)
(icalendar--datetime-to-american-date)
(icalendar--datetime-to-european-date, icalendar--datetime-to-iso-date)
(icalendar--datetime-to-diary-date, icalendar--datetime-to-colontime)
(icalendar--get-month-number, icalendar--get-weekday-number)
(icalendar--get-weekday-numbers, icalendar--get-weekday-abbrev)
(icalendar--date-to-isodate, icalendar--datestring-to-isodate)
(icalendar--diarytime-to-isotime, icalendar--convert-string-for-export)
(icalendar--convert-string-for-import, icalendar-export-file)
(icalendar-export-region, icalendar--create-uid)
(icalendar--parse-summary-and-rest, icalendar--create-ical-alarm)
(icalendar--do-create-ical-alarm, icalendar--convert-ordinary-to-ical)
(icalendar-first-weekday-of-year, icalendar--convert-weekly-to-ical)
(icalendar--convert-yearly-to-ical, icalendar--convert-sexp-to-ical)
(icalendar--convert-block-to-ical, icalendar--convert-float-to-ical)
(icalendar--convert-date-to-ical, icalendar--convert-cyclic-to-ical)
(icalendar--convert-anniversary-to-ical, icalendar-import-file)
(icalendar-import-buffer, icalendar--format-ical-event)
(icalendar--convert-to-ical, icalendar--convert-ical-to-diary)
(icalendar--convert-recurring-to-diary)
(icalendar--convert-non-recurring-all-day-to-diary)
(icalendar--convert-non-recurring-not-all-day-to-diary)
(icalendar--add-diary-entry, icalendar-import-format-sample): Mark them
as obsolete.

In addition to the changes above, the new iCalendar library consists of
the following:

* lisp/calendar/diary-icalendar.el:
* lisp/calendar/icalendar-ast.el:
* lisp/calendar/icalendar-macs.el:
* lisp/calendar/icalendar-mode.el:
* lisp/calendar/icalendar-parser.el:
* lisp/calendar/icalendar-recur.el:
* lisp/calendar/icalendar-utils.el: New files

A few changes were made to existing files dealing with the calendar and
diary:

* lisp/calendar/calendar.el (calendar-date-from-day-of-year): New
function, extracted from calendar-goto-day-of-year.
* lisp/calendar/cal-move.el (calendar-goto-day-of-year): Use it.
* lisp/calendar/cal-dst.el (calendar-dst-find-data): Improve docstring.
* lisp/calendar/calendar.el (diary-date-insertion-form): New option.
(diary-american-date-insertion-form, diary-european-date-insertion-form)
(diary-iso-date-insertion-form): New constants.
* lisp/calendar/diary-lib.el (diary-insert-entry): Use the new
'diary-date-insertion-form' option.
(diary-time-regexp): Add FIXME to an existing comment.

The user-facing aspects of the above changes are documented in the Emacs
manual and the NEWS file:

* doc/emacs/calendar.texi (Diary Conversion): Update manual section to
describe the new importer and exporter.
* doc/emacs/emacs.texi (Detailed node listing): Update to include the
new nodes in docs/emacs/calendar.texi.
* etc/NEWS: Briefly describe the new library, major mode, and options.

The remainder of the changes apply to test files.

The following changes introduce new test files related to the new diary
importer and exporter:

* test/lisp/calendar/diary-icalendar-tests.el (Diary import and export):
Tests for diary-icalendar.  In addition to new tests for the exporter,
the existing import tests for icalendar.el have been ported here; these
use the existing iCalendar files in
test/lisp/calendar/icalendar-resources.  (A few new input .ics files
have also been added to this directory; see below.)
* test/lisp/calendar/diary-icalendar-resources: New directory containing
expected outputs for the import tests in diary-icalendar-tests.el.
(These have the same or similar names to the output files for the old
importer, in test/lisp/calendar/icalendar-resources, but different
contents.  Thus they live in a new directory.)
* test/lisp/calendar/icalendar-resources/import-legacy-function.ics: New
input file to test backward compatibility of the new importer with a
function as the value of 'icalendar-import-format', now obsolete.
* test/lisp/calendar/icalendar-resources/import-legacy-vars.ics: New
input file to test backward compatibility of the new importer with
values for options provided by icalendar.el which are now obsolete.
* test/lisp/calendar/icalendar-resources/import-with-attachment.ics: New
input file to test import of base64-encoded attachments.
* icalendar-resources/import-time-format-12hr-blank.ics: New input file
to test import with a custom value of 'diary-icalendar-time-format'.

Two other new test files provide unit tests for the main functions of
the library:

* test/lisp/calendar/icalendar-parser-tests.el (Parser): Tests for
icalendar-parser.  Most of these are derived from examples in RFC5545,
to ensure the parser implements the standard.
* test/lisp/calendar/icalendar-recur-tests.el (Recurrence rules): Tests
for icalendar-recur.  Most of these are derived from examples in RFC5545,
to ensure the recurrence rule interpreter implements the standard.

A few of the existing test files for icalendar.el have also been
modified.  Besides the specific changes mentioned below, the modified
.ics files also now use CR-LF line endings, as required by RFC5545:

* test/lisp/calendar/icalendar-tests.el (icalendar-deftest-obsolete):
New macro.
* test/lisp/calendar/icalendar-resources/import-non-recurring-all-day.ics:
Correct a malformed VALUE parameter.
* test/lisp/calendar/icalendar-resources/import-rrule-anniversary.ics:
Correct representation of a recurring event.
*
test/lisp/calendar/icalendar-resources/import-rrule-daily-with-exceptions.ics:
Add a required VALUE parameter.
* test/lisp/calendar/icalendar-resources/import-rrule-daily.ics:
* test/lisp/calendar/icalendar-resources/import-rrule-monthly-no-end.ics:
* test/lisp/calendar/icalendar-resources/import-rrule-monthly-with-end.ics:
* test/lisp/calendar/icalendar-resources/import-rrule-weekly.ics:
Correct a malformed RRULE property.
2025-12-20 13:38:02 -05:00
Elías Gabriel Pérez
e93a9a9057 hideshow: Support nested comment block in 'hs-hide-level-recursive'
bug#80009

* doc/emacs/programs.texi (Hideshow): Update documentation.
* lisp/progmodes/hideshow.el (hs-hide-level-recursive): Rework.
(hs-get-first-block-on-line): Minor changes.
(hs--add-indicators, hs-hide-comments-when-hiding-all)
(hs-minor-mode-menu, hs-hide-level, hs-cycle): Update code.
* test/lisp/progmodes/hideshow-tests.el
(hideshow-hide-levels-with-comments-1): New test.
2025-12-20 20:09:41 +02:00
Martin Rudalics
cf2e676eca Don't change visibility of tty root frames (Bug#80032)
* src/frame.c (Fmake_frame_visible, Fmake_frame_invisible):
* doc/lispref/frames.texi (Visibility of Frames): Don't change
visibility of tty root frames.  (Bug#80032)
2025-12-20 15:12:39 +01:00
Sean Whitton
f9172be29a Make VC-Dir's 'd' able to delete unregistered files
* lisp/vc/vc.el (vc-delete-file): Simplify.
* lisp/vc/vc-dir.el (vc-dir-delete-file): Handle deleting
unregistered files, too.
(vc-dir-menu-map, vc-dir-mode-map): Replace bindings for
vc-dir-clean-files with ones for vc-dir-delete-file.
* doc/emacs/maintaining.texi (VC Directory Commands):
* etc/NEWS: Document the bindings change.
2025-12-18 21:46:49 +00:00
Sean Whitton
495843d9eb ; cond* docs: Update match* operator name to cdr-ignore (bug#79998). 2025-12-18 10:48:12 +00:00
Sean Whitton
7425e33287 New M-RET, M-p, M-n commands in Log View mode
* lisp/vc/log-view.el (log-view-msg-and-diff-next)
(log-view-msg-and-diff-prev, log-view-display-entry-and-diff):
New commands.
(log-view-mode-map): Bind them.
* doc/emacs/maintaining.texi (VC Change Log):
* etc/NEWS: Document them.
2025-12-17 13:22:39 +00:00
Michael Albinus
645a6ba081 Document and test process filters in tramp-smb.el
* doc/misc/tramp.texi (Remote processes): Provide more details in
"Running remote processes on MS Windows hosts".

* test/lisp/net/tramp-tests.el (tramp-test29-start-file-process)
(tramp-test30-make-process): Adapt tests.
2025-12-16 18:33:56 +01:00
Michael Albinus
1b31023dab Finish process error buffer support in tramp-smb.el
* doc/misc/tramp.texi (Remote processes): Provide more details in
"Running remote processes on MS Windows hosts".

* lisp/net/tramp-smb.el (tramp-smb-handle-make-process):
Suppress lock files.

* test/lisp/net/tramp-tests.el (auto-revert-notify-watch-descriptor)
(auto-revert-remote-files, auto-revert-use-notify): Declare.  Set
proper values.
(tramp-test30-make-process): Adapt test.
2025-12-15 15:20:29 +01:00
Michael Albinus
223dffabd8 Mention tramp-hlo in Tramp's documentation
* doc/misc/tramp.texi (Frequently Asked Questions)
(New operations): Mention tramp-hlo, again.
2025-12-13 17:58:50 +01:00
Mattias Engdegård
ff2c166897 * doc/lispref/strings.texi (Formatting Strings): Cut obsolete text.
Since we got bignums the output is platform-independent.
2025-12-12 12:43:28 +01:00
Mattias Engdegård
ff85f48c2c * doc/lispref/eval.texi (Backquote): Clarify and simplify.
The previous phrasing could be read as if backquote expansion were
mutable if containing substitions, but that is simply not true;
they should always be treated as non-mutable.
2025-12-12 12:43:28 +01:00
Philip Kaludercic
665792f697
Handle remaining usages of 'package-vc-install-from-checkout'
* doc/emacs/package.texi (Fetching Package Sources): Remove
mention of `package-vc-install-from-checkout'.
* doc/misc/use-package.texi (Install package): Remove mention of
:vc in combination with :load-path.
* lisp/use-package/use-package-core.el (use-package-vc-install):
Suppress compile-time warning and generate warning during
evaluation instead.
* test/lisp/emacs-lisp/package-vc-tests.el
(package-vc-tests-checkout-from-elpa-install-from-checkout)
(package-vc-tests-checkout-with-git-install-from-checkout):
Suppress obsoletion warning.
2025-12-11 08:32:27 +01:00
Sean Whitton
70d24d0dd5 ; Improve documentation of the User Lisp directory. 2025-12-08 16:53:16 +00:00
Sean Whitton
44d47caa86 New 'R' code letter for 'interactive' forms
* src/callint.c (callint_argfuns): Add use-region-beginning and
use-region-end.
(syms_of_callint): Protect use-region-beginning and
use-region-end.  Add DEFSYM for Quse_region_p.
(Fcall_interactively): New 'R' code letter.
* lisp/textmodes/paragraphs.el (repunctuate-sentences):
* lisp/vc/diff-mode.el (diff-delete-other-hunks, diff-apply-hunk)
(diff-revert-and-kill-hunk, diff-apply-buffer):
* lisp/vc/log-view.el (log-view-mark-entry)
(log-view-unmark-entry): Use it.
* doc/lispref/commands.texi (Interactive Codes):
* doc/lispref/markers.texi (The Region):
* etc/NEWS:
* lisp/simple.el (use-region-beginning, use-region-end)
(use-region-p):
* src/callint.c (Finteractive): Document it.
2025-12-08 15:01:50 +00:00
Robert Pluim
27130d3af6 Improve 'auth-source-ignore-non-existing-file' doc
* doc/misc/auth.texi (Help for users): Improve
'auth-source-ignore-non-existing-file' description.  Include
warning about storing cleartext in .authinfo.
2025-12-08 15:26:22 +01:00
Robert Pluim
ecf42e6a59 * doc/misc/auth.texi (Help for users): Warn about use of .authinfo 2025-12-08 15:26:22 +01:00
Paul Eggert
b211e5489b Update from Gnulib by running admin/merge-gnulib
* admin/merge-gnulib (AVOIDED_MODULES): Add strncpy, as Emacs is not
likely to exercise the FreeBSD 15 strncpy bug that this module fixes.
* lib/issymlinkat.h: New file, taken from Gnulib.
2025-12-07 15:45:20 -08:00
Amin Bandali
4dbf78c118 ; * doc/emacs/custom.texi (User Lisp Directory): Small tweaks. 2025-12-07 18:00:45 -05:00
Philip Kaludercic
1b931fbe42
Prepare and load user scripts at startup
* doc/emacs/custom.texi (Early Init File): Document feature and
related user options.
* etc/NEWS: Mention new feature.
* lisp/startup.el (user-lisp-auto-scrape, user-lisp-directory)
(user-lisp-ignored-directories): New user options.
(prepare-user-lisp): New command.
(command-line): Invoke 'prepare-user-lisp' during startup if a
user-lisp directory exists and if not disabled per
'user-lisp-auto-scrape'.
2025-12-07 22:24:09 +01: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
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
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
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
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
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
Sean Whitton
f15e98afb6 ; (emacs)VC Directory Buffer: Document outgoing revisions count. 2025-12-03 11:16:02 +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
Eli Zaretskii
b69152ea75 Merge from origin/emacs-30
cb2e9dd483 * doc/misc/efaq.texi (Spell-checkers): Update ispell URL.
2025-11-29 07:07:30 -05:00
Michael Albinus
6346f5b053 Sync with Tramp 2.8.0.5
* doc/misc/tramp.texi (Remote processes): Improve description
where direct asyn processes won't work.

* lisp/net/tramp-cache.el (with-tramp-saved-connection-properties):
Adapt `tramp-verbose' less aggressive.

* lisp/net/tramp-container.el (tramp-kubernetes--context-namespace):
Use `string-join'.

* lisp/net/tramp-message.el (tramp-get-debug-file-name):
Modify debug file name.
(tramp-debug-message): Simplify.

* lisp/net/tramp-sh.el (tramp-actions-before-shell)
(tramp-actions-copy-out-of-band):
Add `tramp-keyboard-interactive-authentication-prompt-regexp'.

* lisp/net/tramp.el (tramp-encoding-shell): Fix docstring.
(tramp-keyboard-interactive-authentication-prompt-regexp): New defcustom.
(tramp-action-ignore-message): New defun.

* test/lisp/net/tramp-tests.el (tramp-test10-write-region)
(tramp-test10-write-region-file-precious-flag)
(tramp-test10-write-region-other-file-name-handler)
(tramp-test27-load, tramp-test32-shell-command)
(tramp-test32-shell-command-dont-erase-buffer)
(tramp-test34-connection-local-variables)
(tramp-test36-vc-registered, tramp-test39-make-lock-file-name)
(tramp-test39-detect-external-change)
(tramp-test45-asynchronous-requests): Adapt tests.
2025-11-28 17:38:36 +01:00
Sean Whitton
47aec3cbc9 Make it easier to enable Abbrev mode by default
* lisp/cus-start.el: Make 'abbrev-mode' customizable.
* doc/emacs/abbrevs.texi (Abbrev Concepts):
* etc/NEWS:
* src/buffer.c (syms_of_buffer): <abbrev-mode>: Document
enabling Abbrev mode by default in all buffers by customizing
'abbrev-mode' to a non-nil value.
2025-11-25 22:08:19 +00:00
Sean Whitton
304d4435b1 Make diff-revert-and-kill-hunk consider an active region
* lisp/vc/diff-mode.el (diff-revert-and-kill-hunk): When the
region is active, operate on all hunks it overlaps.
* doc/emacs/files.texi (Diff Mode):
* etc/NEWS: Document the change.
2025-11-25 21:07:04 +00:00
Sean Whitton
59e8b7267f Make diff-apply-hunk consider an active region
* lisp/vc/diff-mode.el (diff-apply-buffer): New 'no-save'
meaning for fourth optional argument.  Reserve other non-nil
values for this argument.  Use ngettext for one message.
(diff-apply-hunk): If the region is active, apply all hunks that
the region overlaps, like diff-apply-buffer.
* doc/emacs/files.texi (Diff Mode):
* etc/NEWS: Document the change to diff-apply-hunk.
2025-11-25 14:53:19 +00:00
Robert Pluim
cb2e9dd483 * doc/misc/efaq.texi (Spell-checkers): Update ispell URL.
(Bug#79872)

Reported by Geoff Kuenning <geoff@cs.hmc.edu>
2025-11-24 15:14:52 +01:00
Sean Whitton
11b68c6223 New commands to rewind decentralized VCS branches
* lisp/vc/vc.el (vc--remove-revisions-from-end): New function.
(vc-uncommit-revisions-from-end, vc-delete-revisions-from-end):
* lisp/vc/log-view.el (log-view-uncommit-revisions-from-end)
(log-view-delete-revisions-from-end): New commands (bug#79408).
(log-view-mode-map): Bind them.
* doc/emacs/maintaining.texi (VC Change Log):
* doc/emacs/vc1-xtra.texi (VC Auto-Reverting):
* etc/NEWS: Document them.
2025-11-23 18:36:22 +00:00
Eli Zaretskii
b89fec7998 ; * doc/emacs/package.texi (Package Installation): Minor clarification. 2025-11-23 10:41:12 +02:00
Eli Zaretskii
0762d9b4de Fix documentation of 'alpha-background' frame parameter
* doc/lispref/frames.texi (Font and Color Parameters): Fix
documentation of values of 'alpha-background'.  Suggested by Jacob
S. Gordon <jacob.as.gordon@gmail.com>.  (Bug#79861)
2025-11-22 13:08:41 +02:00
Eli Zaretskii
1cfd0cf0bd ; Fix last change
* doc/lispref/variables.texi (Selecting Lisp Dialect): Update due
to bug#79760.
2025-11-22 12:56:40 +02:00
Juri Linkov
f4d353f9c9 Show the diff buffer with replacements by typing 'd' in 'query-replace'
* doc/emacs/search.texi (Query Replace): Mention new key 'd'.

* lisp/replace.el (query-replace-help): Mention the key 'd'.
(query-replace-map): Bind the key 'd' to 'diff'.
(perform-replace): When 'def' is equal to 'diff',
call 'multi-file-replace-as-diff' to show the diff buffer
with replacements (bug#79761).
2025-11-20 20:39:29 +02:00
Jonas Bernoulli
6415fc5e04
Update to Transient v0.11.0-10-g6637364e 2025-11-18 17:55:10 +01:00
Eshel Yaron
ce5d8ddb32
; Mention LSP semantic highlighting in the Emacs manual
* doc/emacs/display.texi (Semantic Font Lock): Mention
LSP-based semantic highlighting, refer to the Eglot manual.
2025-11-18 16:08:05 +01:00
Eli Zaretskii
f81fc11613 ; Improve wording of documentation of 'hs-cycle-filter'
* doc/emacs/programs.texi (Hideshow):
* etc/NEWS:
* lisp/progmodes/hideshow.el (hs-cycle-filter): Improve wording.
2025-11-17 17:54:48 +02:00
Juri Linkov
ec08011af4 New hideshow option 'hs-cycle-filter' for visibility-cycling with 'TAB'
* doc/emacs/programs.texi (Hideshow): Add 'hs-cycle-filter' and
remove duplicate 'hs-toggle-hiding'.

* lisp/progmodes/hideshow.el (hs-cycle-filter): New defcustom (bug#79585).
(hs-minor-mode-map): Bind 'TAB' to 'hs-toggle-hiding' using the filter.
2025-11-17 09:30:45 +02:00
Martin Rudalics
50c30a9240 ; Improve documentation of 'clone-of' window parameter
* lisp/window.el (window-state-get, window-state-put): Mention
'clone-of' parameter in doc-strings.
* doc/lispref/windows.texi (Window Configurations, Window
Parameters): Improve description of 'clone-of' parameter.
2025-11-16 09:28:30 +01:00
Sean Whitton
2e8cc345d5 VC revert commands: Facilities to entirely delete revisions
* lisp/vc/vc.el (vc-revision-revert, vc-revision-cherry-pick):
Rename to ...
(vc-revert-or-delete-revision, vc-cherry-pick):
... these (bug#79408).  All uses changed.
* lisp/vc/log-view.el (log-view-revision-revert)
(log-view-revision-cherry-pick): Rename to ...
(log-view-revert-or-delete-revisions, log-view-cherry-pick):
... these.  All uses changed.
* lisp/vc/log-view.el (log-view-revert-or-delete-revisions):
* lisp/vc/vc.el (vc-revert-or-delete-revision): New INTERACTIVE
and DELETE parameters, and prefix argument.  Offer to entirely
delete REV in certain circumstances (bug#79408).
* lisp/vc/log-view.el (log-view--pick-or-revert):
* lisp/vc/vc.el (vc--pick-or-revert): New INTERACTIVE and DELETE
parameters.  All uses changes.
* lisp/vc/log-view.el (log-view-revert-revisions)
(log-view-delete-revisions):
* lisp/vc/vc.el (vc-revert-revision, vc-delete-revision): New
commands (bug#79408).
* doc/emacs/maintaining.texi (VC Change Log, VC Undo)
(Copying Between Branches):
* etc/NEWS: Document the changes.
2025-11-13 17:07:20 +00:00
Sean Whitton
5dfcba699e Revised bindings for diff-revert-and-kill-hunk
* lisp/vc/diff-mode.el (diff-mode-shared-map): Bind
diff-revert-and-kill-hunk to 'u'.
(diff-mode-map): Replace binding for diff-revert-and-kill-hunk
with 'C-c M-u'.
* doc/emacs/files.texi (Diff Mode):
* etc/NEWS: Document the change.
2025-11-13 16:22:20 +00:00
João Távora
5ccd4d7406 ; Eglot: tweak manual's wording of "language server"
* doc/misc/eglot.texi (Eglot Features)
(Eglot and Buffers)
(Eglot Commands): "language-server" -> "language server"
2025-11-12 21:29:57 +00:00
João Távora
6b2a7b8479 Eglot: document semantic tokens (semtok) feature (bug#79374)
Also clarify how to turn off semantic tokens and inlay hints, since I
suspect that will be a theme.

* doc/misc/eglot.texi (Eglot Features): Add semantic tokens.  (Eglot
Commands): Document eglot-semantic-tokens-mode.  (Eglot and Buffers):
Provide example on how to turn off semtok and inlay hints.

* etc/EGLOT-NEWS (Changes to upcoming Eglot): Announce semantic
tokens support
2025-11-12 21:26:02 +00:00
Michael Albinus
782ca15a88 Improve handling of Tramp internal shell scripts
* doc/misc/tramp.texi (New operations): Mention tramp-expand-script.

* lisp/net/tramp-sh.el (tramp-uudecode)
(tramp-readlink-file-truename, tramp-perl-file-truename)
(tramp-perl-file-name-all-completions)
(tramp-shell-file-name-all-completions)
(tramp-perl-file-attributes)
(tramp-perl-directory-files-and-attributes, tramp-perl-id)
(tramp-python-id, tramp-perl-encode, tramp-perl-decode)
(tramp-awk-encode, tramp-awk-decode)
(tramp-bundle-read-file-names): Indent script for better readability.
(tramp-perl-file-name-all-completions)
(tramp-shell-file-name-all-completions)
(tramp-ls-file-attributes, tramp-bundle-read-file-names):
Adapt docstring.
(tramp-shell-print-quoted-string): New defconst.
(tramp-shell-file-name-all-completions): Use "%b" format specifier.
(tramp-bundle-read-file-names):  Use "%k" format specifier.
(tramp-sh-handle-file-name-all-completions): Don't send
`tramp-bundle-read-file-names'.
(tramp-expand-script): Adapt docstring.  Apply always
`format-spec'.  Handle also "%b" and "%k" format specifiers.
2025-11-09 13:11:49 +01:00
Eli Zaretskii
00524e6e02 Merge from origin/emacs-30
a71ba898db ; Update the MinGW URLs in w32 FAQ and nt/INSTALL
e0ffcc655e No more color emoji issue on OpenBSD 7.8 and later (bug#7...
2025-11-08 07:04:52 -05:00
Eli Zaretskii
a71ba898db ; Update the MinGW URLs in w32 FAQ and nt/INSTALL
* nt/INSTALL: Update MinGW URLs.

* doc/misc/efaq-w32.texi (MinGW): Update the URL's and the text to
reflect the fact that mingw.org's MinGW is no longer developed and
can be found only on the WWW Archive.
(Compiling): Add a cross-reference to "MinGW".
2025-11-08 12:09:04 +02:00
Sean Whitton
68e337e630 Don't discard empty string arguments from emacsclient
* lisp/server.el (server--process-filter-1): Don't discard empty
string arguments from emacsclient.
(server-eval-args-left):
* doc/emacs/misc.texi (emacsclient Options):
* etc/NEWS: Document the change.
2025-11-07 12:33:21 +00:00
Protesilaos Stavrou
be527b5704
Update modus-themes to version 5.1.0
* doc/misc/modus-themes.org (Build on top of the Modus themes):
Bump the version number.
(Acknowledgements): Include more names in the Acknowledgements
section.
* etc/themes/modus-themes.el (modus-themes--activate)
(modus-themes-get-all-known-themes, modus-themes-known-p)
(modus-themes--list-enabled-themes)
(modus-themes-get-current-theme)
(modus-themes--get-theme-palette-subr)
(modus-themes-get-theme-palette, modus-themes-faces)
(modus-themes-theme)
(modus-themes--with-colors-resolve-palette-sort)
(modus-themes-with-colors-subr, modus-themes-with-colors):
Ensure that the modus-themes-with-colors macro works the way it
did before, namely, 'let' binding the current theme's palette.
2025-11-07 08:00:39 +02:00
Elías Gabriel Pérez
cc589d7003 hideshow: Rework previous changes
* doc/emacs/programs.texi (Hideshow):
* etc/NEWS: Fix doc.
* lisp/progmodes/hideshow.el: Update Commentary Header.
(hs-modes-alist): Remove.
(hs--get-mode-value, hs-grok-mode-type): Rework.
* lisp/treesit.el (treesit-major-mode-setup):
* lisp/emacs-lisp/lisp-mode.el:
* lisp/nxml/nxml-mode.el:
* lisp/progmodes/cc-mode.el:
* lisp/progmodes/f90.el:
* lisp/progmodes/fortran.el:
* lisp/progmodes/hideshow.el:
* lisp/progmodes/icon.el:
* lisp/progmodes/js.el:
* lisp/progmodes/lua-mode.el:
* lisp/progmodes/python.el:
* lisp/progmodes/verilog-mode.el:
* lisp/progmodes/vhdl-mode.el:
* lisp/textmodes/bibtex.el:
* lisp/textmodes/mhtml-mode.el:
* lisp/textmodes/sgml-mode.el:
* lisp/treesit.el: Fix and rework previous changes.
2025-11-06 09:41:12 +02:00
Stefan Monnier
02253b35af (load-history, lisp-directory): Don't file-truename
This fixes problems in some cases of out-f-tree builds
(bug#79694, bug#62099, bug#64806).

The use of true names in `load-history` dates back to to commits
33d74677e7 and 6bb6da3ec1 by Alan Mackenzie <acm@muc.de> in
May 24 2006, but that was reverted by Paul Eggert's commit
dff4f9c759 on Sep 18 2019.

* lisp/startup.el (command-line): Don't `file-truename` `lisp-directory`.
* src/lread.c (syms_of_lread) <load-history>: Adjust docstring,
to reflect the fact that the files there aren't "true names".

* doc/lispref/loading.texi (Hooks for Loading): Adjust accordingly.
Also massage the text to reflect the fact that nowadays features are
more common than file names as arguments to `with-eval-after-load`.
2025-11-05 15:12:50 -05:00
Eli Zaretskii
9e905357bb Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 2025-11-05 18:57:27 +02:00
Eli Zaretskii
eb81318526 ; * doc/emacs/help.texi (Misc Help): Improve and extend wording. 2025-11-05 18:56:41 +02:00
Sean Whitton
ef1dfdc663 Further document cond*'s bind-and*, document cond-let* discussion
* doc/lispref/control.texi (Conditionals): Pointer to cond*'s
bind-and* clauses for Lisp programmers looking for a cond-let*.
(cond* Macro): Document bind-and* clauses.
* lisp/subr.el: Comment summarizing recent discussion, for
future Emacs developers wondering about cond-let*.
2025-11-05 16:07:56 +00:00
Elías Gabriel Pérez
e7505ca213 Add option to auto-refresh the lossage buffer. (Bug#79732)
* lisp/help.el (view-lossage-auto-refresh): New user option.
(help--lossage-update): New variable.
(help--lossage-make-recent-keys, help--refresh-lossage-buffer):
New functions.
(view-lossage): Rework.
* doc/emacs/help.texi (Misc Help):
* etc/NEWS: Document change.
2025-11-05 09:17:51 +02:00
Po Lu
abcc099c73 Fix the MS-DOS port and reading of symlink targets
* doc/misc/eglot.texi (Eglot Features): Add comma after @xref.

* msdos/sed2v2.inp (GNULIB_ISSYMLINK): Define to 1.

* msdos/sedlibmk.inp (HAVE_RANDOM_H): Undefine, in line with its
deletion from gnulib.mk.
(GL_GNULIB_STRINGEQ): Define to 1.

* src/msdos.c (careadlinkat): NULL terminate at the end of the
data written, not one character beyond the same.
2025-11-05 10:06:23 +08:00
Paul Eggert
59fbaca6b9 Update from Gnulib by running admin/merge-gnulib
* admin/merge-gnulib (GNULIB_MODULES): Add stringeq.
With current Gnulib it is already present as in indirect dependency;
listing it here because Emacs now depends on it directly.
* lib-src/ebrowse.c, lib-src/etags.c:
(streq): Remove, as Gnulib defines this now.
* lib/fseterr.c, lib/fseterr.h, lib/issymlink.c, lib/issymlink.h:
* lib/issymlinkat.c, lib/stdio-consolesafe.c, lib/string.c:
* m4/fseterr.m4, m4/gettext_h.m4, m4/stringeq.m4:
New files from Gnulib.
* src/conf_post.h (tzfree) [__ANDROID_API__ >= 35]: Remove.
2025-11-04 13:32:58 -08:00
Eli Zaretskii
447bb6ef5c Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 2025-11-04 19:45:10 +02:00
Elías Gabriel Pérez
959345f602 hideshow: Rewrite 'hs-special-modes-alist'
Rewrite the format in 'hs-special-modes-alist' to make easier to
exclude some values, add support for settings inheritance
according to current major mode and parents, and support string
hiding for lisp modes.

Bug#79671

* lisp/progmodes/hideshow.el (hs-modes-alist): New variable.
(hs-special-modes-alist): Mark as obsolete.
(hs-forward-sexp-func, hs-adjust-block-beginning)
(hs-find-block-beginning-func, hs-find-next-block-func)
(hs-looking-at-block-start-p-func): Set default values to nil.
(hs-inside-comment-p): Remove function.
(hs-adjust-block-end, hs-treesit-things): New buffer-local
variables.
(hs-block-positions): Minor updates.
(hs--get-mode-value): New function.
(hs-grok-mode-type): Rewrite.
* lisp/progmodes/f90.el (hs-special-modes-alist):
* lisp/progmodes/fortran.el (hs-special-modes-alist):
* lisp/progmodes/icon.el (icon-mode):
* lisp/progmodes/lua-mode.el (lua-mode):
* lisp/progmodes/python.el (python-base-mode):
* lisp/progmodes/verilog-mode.el (verilog-mode):
* lisp/progmodes/vhdl-mode.el (vhdl-hs-minor-mode): Rewrite
settings.
* lisp/progmodes/python.el (python-ts-hs-adjust-block-end-fn):
New function.
* lisp/treesit.el (treesit-hs-block-end)
(treesit-hs-find-block-beginning, treesit-hs-find-next-block)
(treesit-hs-looking-at-block-start-p): Minor updates.
* doc/emacs/programs.texi (Hideshow):
* etc/NEWS: Document changes.
2025-11-04 19:15:10 +02:00
Eli Zaretskii
7c6993e21d ; * doc/lispref/objects.texi (Equality Predicates): Restore @group. 2025-11-04 13:55:27 +02:00
Mattias Engdegård
11860fe936 Improved examples for documentation of 'eq'
* doc/lispref/objects.texi (Equality Predicates):
Remove incorrect and/or misleading examples, add new ones,
and display them more compactly to save space.
2025-11-04 10:59:47 +01:00
Yuan Fu
b01435306a
Change tree-sitter query predicate names (bug#79687)
Latest tree-sitter library throws a syntax error if the
predicate names in a query don't end with question mark.  So we
made the following change:

:equal changed to :eq?
:match changed to :match?
:pred changed to :pred?

Old names are transparently converted to new names when
expanding patterns.

:match predicate can now take the regexp and the node in any
order: it'll figure out which is which automatically. This way
it works with current Emacs convention (regexp first), as well
as tree-sitter's match convention (regexp second).

* doc/lispref/parsing.texi (Pattern Matching): Update manuel to
use new predicate names.
* src/treesit.c:
(Ftreesit_pattern_expand):
(Ftreesit_query_expand):
(treesit_predicate_match):
(treesit_eval_predicates):
(syms_of_treesit): Use new predicate names.
* test/src/treesit-tests.el (treesit-query-api): Update test.
2025-11-02 17:11:55 -08:00
Eli Zaretskii
69b0aa2928 ; Fix documentation of a recent commit
* doc/emacs/frames.texi (Frame Commands): Document
'alter-fullscreen-frames', which is a user option.  Fix indexing.

* src/frame.c (syms_of_frame) <alter-fullscreen-frames>: Doc fix.
(Bug#79756)
2025-11-02 10:48:13 +02:00
Martin Rudalics
2c4e7a99cc Handle resizing of fullscreen frames more consistently (Bug#79704)
* src/frame.c (adjust_frame_size): Honor new option
'alter-fullscreen-frames'.
(syms_of_frame) <alter-fullscreen-frames>: New option to
maintain consistent state when attempting to resize fullscreen
frames.  Default to 'inhibit' for NS builds because these
resized the frame while leaving the 'fullscreen' parameter alone
(Bug#79704).
(syms_of_frame) <Qinhibit>: Define symbol.
* lisp/cus-start.el (standard): Add customization options for
'alter-fullscreen-frames'
* doc/lispref/frames.texi (Frame Size): Describe new option
'alter-fullscreen-frames'.
* etc/NEWS: Call out new option 'alter-fullscreen-frames'.
2025-11-02 09:24:05 +01:00
Eli Zaretskii
0c6aee3021 ; * doc/lispref/commands.texi (Reading One Event): Fix wording. 2025-11-02 07:41:08 +02:00
Juri Linkov
ab4a616b0b 'read-multiple-choice' now uses the minibuffer to read a char (bug#79664)
* doc/lispref/commands.texi (Reading One Event): Mention
'read-char-choice-use-read-key'.

* lisp/emacs-lisp/rmc.el (rmc--show-help): Show non-selected
resized Help window at bottom.  Inhibit useless message.
Remove unnecessary call to 'pop-to-buffer'.
(read-multiple-choice): Call 'read-multiple-choice--from-minibuffer'
when 'read-char-choice-use-read-key' is nil.
(read-multiple-choice--from-minibuffer): New function.

* test/lisp/emacs-lisp/rmc-tests.el (test-rmc--with-minibuffer-setup):
New macro.
(test-read-multiple-choice, test-read-multiple-choice-help):
Test both values of 'read-char-choice-use-read-key'.
2025-11-01 20:21:09 +02:00
Eli Zaretskii
d2b0c78366 ; * doc/misc/cl.texi (Derived Types): Fix a typo. 2025-11-01 12:44:23 +02:00
Eli Zaretskii
e1b64c8b12 Merge from origin/emacs-30
0974418f2a Improve and correct documentation of 'font-lock-keywords-...
2025-11-01 05:28:54 -04:00
Michael Albinus
a7417c47fa ; Minor Tramp changes
* doc/misc/tramp.texi (Frequently Asked Questions): Don't mention
Windows 7/8, they are obsolete now.  Improve "speed up" item.

* lisp/net/tramp-sh.el (tramp-expand-script): Handle "%%" format
specifier better.
2025-11-01 10:01:43 +01:00
Protesilaos Stavrou
a9bac6585f
Update to modus-themes version 5.0.0
The release notes: <https://protesilaos.com/codelog/2025-11-01-emacs-modus-themes-5-0-0/>.
2025-11-01 07:40:13 +02:00
Po Lu
1d8b75f4b8 Restore compatibility with Texinfo 4.13
* doc/emacs/vc1-xtra.texi (Other Working Trees): Remove
@indentedblock; after reading the node twice I could not
understand why the paragraphs so formatted must have been thus.

* doc/misc/cl.texi (Derived types): Rename node to Derived
Types, and insert the same into the menu.
2025-11-01 13:02:34 +08:00
Eli Zaretskii
1f00179df9 ; Document how to search for raw bytes
* doc/emacs/search.texi (Regexps):
* doc/lispref/searching.texi (Regexp Special): Document how to
search for raw bytes.  (Bug#79724)
2025-10-30 16:39:43 +02:00
F. Jason Park
2fa768dd4b Change ERC version to 5.6.2-git
* doc/misc/erc.texi: Change ERCVER to 5.6.2.
* lisp/erc/erc.el (erc-version): Change working version to 5.6.2-git.
Do the same for the package Version header and the
`customize-package-emacs-version-alist' mapping.
2025-10-27 19:28:43 -07:00
Stefan Monnier
ac835686b5 (cl-defstruct): Use define-inline
* lisp/emacs-lisp/inline.el (define-inline): Add `noinline` declaration.
* doc/lispref/functions.texi (Inline Functions): Mention it.

* lisp/emacs-lisp/cl-macs.el (cl--do-arglist): Avoid %s for lists in
format string.
(cl-dolist, cl-dotimes): Remove obsolete optimization.
(cl-defstruct): Use `define-inline` instead of `cl-defsubst` for accessors.
2025-10-26 10:22:12 -04:00
Amin Bandali
bbabc1db25 ; * doc/lispref/os.texi (Startup Summary): Fix typo. 2025-10-25 10:55:00 -04:00
Eli Zaretskii
0974418f2a Improve and correct documentation of 'font-lock-keywords-only'
* lisp/font-lock.el (font-lock-keywords-only):
* doc/lispref/modes.texi (Syntactic Font Lock): Improve
documentation of 'font-lock-keywords-only'.  (Bug#79692)
2025-10-25 16:57:08 +03:00
Juri Linkov
ac78b945d5 * doc/lispref/display.texi (Display Margins): Remove obsolete remark.
Text and images in the margin were made mouse-sensitive long ago.
https://lists.gnu.org/archive/html/emacs-devel/2025-10/msg00596.html
2025-10-23 19:28:14 +03:00
Martin Rudalics
a78bf76fb9 Revert recent additions of 'split-frame' and 'merge-frames'
* lisp/window-x.el (merge-frames, split-frame): Remove.
* doc/lispref/windows.texi (Changing Window Layouts): Remove
sections on 'split-frame' and 'merge-frames'.
* etc/NEWS: Remove announcement of 'split-frame' and
'merge-frames'.
2025-10-23 16:38:25 +02:00
Martin Rudalics
3b8cec55c4 Document and announce 'split-frame' and 'merge-frames'
* lisp/window-x.el (merge-frames): Rewrite doc-string.  Error out
when FRAME1 and FRAME2 are not distinct frames.
(split-frame): Rewrite doc-string.  Use 'user-error' instead of
'error'.
* doc/lispref/windows.texi (Changing Window Layouts): Document
'split-frame' and 'merge-frames'.
* etc/NEWS: Announce 'split-frame' and 'merge-frames'.
2025-10-23 11:14:03 +02:00
Eli Zaretskii
8fc068a15d ; Fix a recent documentation change
* doc/lispref/customize.texi (Variable Definitions): Restore
description of 'custom-initialize-delay'.  Fix indexing.
2025-10-23 07:46:12 +03:00
Stefan Monnier
287fb2fbad (custom-initialize-after-file): New function
Some global minor modes require initialization.  Those that are preloaded
currently abuse `custom-initialize-delay` for that, but it's suboptimal
and doesn't help those that aren't preloaded.
So introduce a new function to fill that need.
While at it, make `define-globalized-minor-mode` use it
automatically when useful.

* lisp/custom.el (custom-initialize-after-file-load): New function.
* lisp/tooltip.el (tooltip-mode):
* lisp/paren.el (show-paren-mode):
* lisp/rfn-eshadow.el (file-name-shadow-mode):
* lisp/epa-hook.el (auto-encryption-mode):
* lisp/minibuffer.el (minibuffer-regexp-mode, minibuffer-nonselected-mode):
* lisp/electric.el (electric-indent-mode): Use it instead of
`custom-initialize-delay` since the value does not depend on the
runtime context.
(electric-quote-mode): Don't use `custom-initialize-delay` since
the default value is nil anyway.

* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
Automatically add `:initialize` if needed.
* lisp/emacs-lisp/eldoc.el (global-eldoc-mode): Remove `:initialize`,
now provided automatically.

* doc/lispref/customize.texi (Variable Definitions):
* doc/lispref/modes.texi (Defining Minor Modes): Document and Suggest
`custom-initialize-after-file-load` instead of `custom-initialize-delay`.
2025-10-22 17:12:10 -04:00
Stephen Berman
9a56cf9194 Improve Dired handling of file names with newlines (bug#79528)
* doc/emacs/dired.texi (Dired Enter): Update documentation of
Dired's display and handling of file names that contain newlines.
Document new user option 'dired-auto-toggle-b-switch'.

* etc/NEWS: Announce new warning and new user option.

* lisp/dired.el (dired-auto-toggle-b-switch): New user option.
(dired-internal-noselect): Pop up a warning if the Dired listing
displays a literal newline.
(dired-switches-escape-p): Take the 'ls' switch
'--quoting-style=escape' into account.
(dired-mode): Add 'dired--toggle-b-switch' to 'post-command-hook'.
(dired-move-to-end-of-filename): When the Dired listing includes a
file name containing a newline, this can result in no change in
the 'dired-filename' text property on the last file name, so in
this case take the position just before the final newline as the
end of the last file name to prevent a wrong-type-argument error.
(dired--filename-with-newline-p, dired--remove-b-switch)
(dired--toggle-b-switch, dired--set-auto-toggle-b-switch)
(dired--display-filename-with-newline-warning): New functions.
2025-10-22 00:06:03 +02:00
Elías Gabriel Pérez
4565870dfa hideshow: Add new option for control how the block should be hidden.
bug#79585

* doc/emacs/programs.texi (Hideshow):
* etc/NEWS: Document changes.

* lisp/progmodes/hideshow.el (hs-hide-behavior): New user option.
(hs-life-goes-on): Add 'save-excursion' and 'save-match-data'.
(hs-hide-block): Rework.
2025-10-20 20:57:17 +03:00
Michael Albinus
c024b9c661 Tramp cleanup
* doc/misc/tramp.texi (Configuration): Extend example.

* lisp/net/tramp.el (tramp-skeleton-write-region):
* lisp/net/tramp-cache.el (tramp-flush-file-upper-properties):
* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory):
Use `when-let*'	consequently.

* lisp/net/tramp-cmds.el (tramp-file-name-with-method):
Add :initialize and :set functions.
(tramp-set-file-name-with-method): New defun.
(with-tramp-file-name-with-method): Filter out enabled methods.

* lisp/net/tramp-compat.el: Add TODO.

* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test-cascaded-file-archive): Use "foo.zip".

* test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case-p):
Extend check.
(tramp-test48-session-timeout): Adapt test.

* test/lisp/net/tramp-archive-resources/foo.zip: Renamed from outer.zip.
2025-10-20 14:42:12 +02:00
João Távora
61a05c3088 Eglot: expand on eglot-workspace-configuration sections (bug#79655)
* doc/misc/eglot.texi (Project-specific configuration): Clarify section.
2025-10-20 12:59:03 +01:00
Mattias Engdegård
d1b3eb7eec Add any and all (bug#79611)
* lisp/subr.el (all, any): New.
* test/lisp/subr-tests.el (subr-all, subr-any): New tests.
* doc/lispref/lists.texi (List Elements): Document.
* etc/NEWS: Announce.
2025-10-20 11:39:16 +02:00
Mattias Engdegård
cfe3c1c840 Add drop-while and take-while (bug#79611)
* lisp/subr.el (internal--effect-free-fun-arg-p)
(drop-while, take-while): New.
* test/lisp/subr-tests.el (subr-drop-while, subr-take-while): New tests.
* doc/lispref/lists.texi (List Elements): Document.
* etc/NEWS: Announce.
2025-10-20 11:38:42 +02:00
Eli Zaretskii
521e06d3ef Merge from origin/emacs-30
53aac6aecd ; Improve documentation of commands that split current wi...
2025-10-18 06:15:46 -04:00
Eli Zaretskii
0d8a31423a ; Fix documentation of a recent commit
* src/window.c (Fcombine_windows, Funcombine_window): Doc fixes.

* doc/lispref/windows.texi (Recombining Windows): Fix markup and
wording.
2025-10-18 12:26:28 +03:00
Martin Rudalics
ef2b032567 Add functions 'combine-windows' and 'uncombine-window'
* src/window.c (make_parent_window, Fcombine_windows)
(Funcombine_window): New functions.
(Fsplit_window_internal): Use make_parent_window.
* doc/lispref/windows.texi (Recombining Windows): Describe new
functions 'combine-windows' and 'uncombine-window'.
(Window Configurations): Explain "window clones".
* etc/NEWS: Mention new functions 'combine-windows' and
'uncombine-window'.
2025-10-18 10:33:10 +02:00
Eli Zaretskii
53aac6aecd ; Improve documentation of commands that split current window
* doc/emacs/sending.texi (Sending Mail):
* doc/emacs/dired.texi (Dired Enter, Dired Visiting):
* doc/emacs/maintaining.texi (Old Revisions)
(Change Log Commands, Looking Up Identifiers):
* doc/emacs/windows.texi (Displaying Buffers):
* doc/emacs/files.texi (Visiting): Add cross-references to where
user options are described which control how windows are split.

* lisp/mail/sendmail.el (mail-other-window):
* lisp/gnus/message.el (message-mail-other-window)
(message-news-other-window):
* lisp/replace.el (occur-mode-goto-occurrence-other-window):
* lisp/vc/vc.el (vc-revision-other-window):
* lisp/vc/vc-dir.el (vc-dir-find-file-other-window):
* lisp/progmodes/xref.el (xref-find-definitions-other-window):
* lisp/simple.el (compose-mail-other-window)
(clone-indirect-buffer-other-window):
* lisp/vc/add-log.el (add-change-log-entry-other-window):
* lisp/view.el (view-file-other-window)
(view-buffer-other-window):
* lisp/window.el (switch-to-buffer-other-window):
* lisp/files.el (find-file-other-window)
(find-file-read-only-other-window)
(find-alternate-file-other-window):
* lisp/dired.el (dired-other-window)
(dired-mouse-find-file-other-window)
(dired-find-file-other-window, dired-jump-other-window): Mention
in the doc strings how to control the way the current window is
split.
2025-10-18 10:47:29 +03:00
Eli Zaretskii
bd0a141d09 ; * doc/lispref/windows.texi (Window Hooks): Fix markup. 2025-10-17 13:41:15 +03:00
Martin Rudalics
3fd24aee7e Clarify buffer-local behavior of 'window-buffer-change-functions'
* doc/lispref/windows.texi (Window Hooks): Explain how to
discern calls for 'window-buffer-change-functions' where a
buffer was removed from the window from those where a buffer is
now shown in that window.
2025-10-17 10:24:53 +02:00
Stephen Gildea
90ec5ef01b Manual pages: use a showcase time-stamp-pattern
* doc/man/ebrowse.1:
* doc/man/emacs.1.in:
* doc/man/emacsclient.1:
* doc/man/etags.1:  Loosen the time-stamp-pattern used so that
it is not specific to each file.  These files now provide
readable examples that will work with most man pages.
2025-10-16 17:29:01 -07:00
Stefan Monnier
f37a150a5f doc/emacs/display.texi (Semantic Font Lock): Simplify 2025-10-15 15:21:06 -04:00
Michael Albinus
53fa2b7218 Add support for su-rs and sudo-rs programs
* doc/misc/tramp.texi (Inline methods): Add "surs" and "sudors" methods.

* etc/NEWS: Add optional "surs" and "sudors" Tramp methods.
Presentational fixes and improvements.

* lisp/net/tramp-cmds.el (tramp-file-name-with-method): Add "surs"
and "sudors" to :type.  Adapt :version.

* lisp/net/tramp-sh.el (tramp-enable-surs-method)
(tramp-enable-sudors-method): New defuns
(tramp-sh-handle-expand-file-name): Add "surs" and "sudors" in check.

* lisp/net/tramp.el (tramp-methods): Adapt docstring.

* lisp/comint.el (comint-password-prompt-regexp):
* test/lisp/comint-tests.el (comint-testsuite-password-strings):
Add su-rs and sudo-rs password prompts.
2025-10-15 10:30:29 +02:00
Stefan Monnier
7845936cbb (font-lock-defaults): Clarify the use of SYNTAX-ALIST (bug#79586)
* doc/lispref/modes.texi (Font Lock Basics):
* lisp/font-core.el (font-lock-defaults): Document when
SYNTAX-ALIST is used and how it interacts with syntactic fontification.
2025-10-14 21:51:04 -04:00
Jonas Bernoulli
0dd8138d3f
Update to Transient v0.10.1-8-g188ec9a1 2025-10-13 20:33:30 +02:00
Eli Zaretskii
00b92cd932 ; Improve documentation of semantic highlighting
* lisp/progmodes/elisp-mode.el (elisp)
(elisp-fontify-semantically, elisp-symbol-at-mouse)
(elisp-free-variable, elisp-special-variable-declaration)
(elisp-condition, elisp-major-mode-name, elisp-face)
(elisp-symbol-role, elisp-symbol-role-definition)
(elisp-function, elisp-non-local-exit, elisp-unknown-call)
(elisp-macro, elisp-special-form, elisp-throw-tag)
(elisp-feature, elisp-rx, elisp-theme, elisp-binding-variable)
(elisp-bound-variable, elisp-shadowing-variable)
(elisp-shadowed-variable, elisp-variable-at-point)
(elisp-warning-type, elisp-function-property-declaration)
(elisp-thing, elisp-slot, elisp-widget-type, elisp-type)
(elisp-group, elisp-nnoo-backend, elisp-ampersand)
(elisp-constant, elisp-defun, elisp-defmacro, elisp-defvar)
(elisp-defface, elisp-icon, elisp-deficon, elisp-oclosure)
(elisp-defoclosure, elisp-coding, elisp-defcoding)
(elisp-charset, elisp-defcharset, elisp-completion-category)
(elisp-completion-category-definition, elisp-add-help-echo)
(elisp-fontify-symbol-precedence-function): Add :version tags.

* lisp/emacs-lisp/elisp-scope.el: Fix references to meta-syntactic
variables in the commentary.
(elisp-scope-describe-symbol-role, coding, defcoding, charset)
(defcharset): Doc fixes.
(elisp-scope-safe-macros): Add :version tag.  Doc fix.

* doc/emacs/display.texi (Semantic Font Lock): Fix punctuation and
wording, improve cross-references and indexing.
2025-10-13 11:32:23 +03:00
Eshel Yaron
0816864231
Merge branch 'feature/elisp-fontify-semantically' 2025-10-12 17:12:48 +02:00
James Thomas
d1e173140d ; * doc/misc/gnus.texi (Optional Back End Functions): Add newer (bug#79484). 2025-10-12 12:44:47 +03:00
James Thomas
1ec7f8f9b2 ; * doc/misc/gnus.texi: Fix formatting (bug#79484). 2025-10-12 12:43:25 +03:00
Sean Whitton
2acd9702de ; Simplify last change slightly, improve wording, add xref. 2025-10-11 13:56:21 +01:00
Pedro Andres Aranda Gutierrez
1170c27746 ; use-package manual: Discuss defvar-keymap ':prefix t'
* doc/misc/use-package.texi (Binding to a keymap): Discuss
defvar-keymap ':prefix t' feature.
2025-10-11 13:53:13 +01:00
Eshel Yaron
0d7fc4516c
Document 'elisp-fontify-semantically' in the Emacs manual
* doc/emacs/display.texi (Semantic Font Lock): New node.
* doc/emacs/emacs.texi: Update menu.
* etc/NEWS: Update relevant entry.
* lisp/emacs-lisp/elisp-scope.el: Expand commentary.
* doc/misc/elisp-semantic-highlighting.org: Delete it.
2025-10-11 14:25:45 +02:00
Eli Zaretskii
dcea973c04 Fix MS-Windows tray notifications from different Emacs frames
* src/w32fns.c (EMACS_TRAY_NOTIFICATION_ID_INIT): Rename from
EMACS_TRAY_NOTIFICATION_ID; all users adjusted.
(last_tray_notification_id): New static variable.
(add_tray_notification): Advance 'last_tray_notification_id' for
each new notification; wrap around to the fixed initial value when
reached the maximum.  This allows Lisp programs track notifications
and remove them from the same frame from which they were created.
(Fw32_notification_notify, Fw32_notification_close): Doc fixes.

* doc/lispref/os.texi (Desktop Notifications): Update the
documentation of 'w32-notification-notify' and
'w32-notification-close'.

Bug#79400
2025-10-11 14:00:09 +03:00
Eli Zaretskii
c723760f28 Merge from origin/emacs-30
1895ba3ba3 ; Document %i format
85db0ac0d6 ; * doc/lispref/nonascii.texi (Explicit Encoding): Fix a ...
c119a3600e ; * doc/lispref/tips.texi (Documentation Tips): Document ...

Also fix trailing whitespace in test files.
2025-10-11 06:02:56 -04:00
Eli Zaretskii
c76da79e45 ; * doc/emacs/mini.texi (Minibuffer History): Improve indexing. 2025-10-11 12:47:04 +03:00
Spencer Baugh
443af6fe1d Allow creating a pipe process without a buffer
Previously, even passing :buffer nil to make-pipe-process would
create a buffer.  Now, if you explicitly call (make-pipe-process
:buffer nil), it will create a pipe process without a buffer,
just like all the other process creation functions.

* src/process.c (Fmake_pipe_process): Check for explicit :buffer
nil and don't make a buffer. (bug#79596)
* doc/lispref/processes.texi (Asynchronous Processes): Update.
* test/src/process-tests.el
(process-test-make-pipe-process-no-buffer): Add test.
2025-10-11 12:14:10 +03:00
Eli Zaretskii
1895ba3ba3 ; Document %i format
* src/editfns.c (Fformat): Doc fix.

* doc/lispref/strings.texi (Formatting Strings): Document %i.
2025-10-11 12:08:48 +03:00
Eli Zaretskii
85db0ac0d6 ; * doc/lispref/nonascii.texi (Explicit Encoding): Fix a typo (bug#79613). 2025-10-11 09:47:14 +03:00
Arash Esbati
340149c0a3 ; * doc/misc/reftex.texi (Builtin Label Environments): Fix typo. 2025-10-10 11:27:32 +02:00
Arash Esbati
f344f5c4bf Replace obsolete floatfig package with floatflt
* doc/misc/reftex.texi (Builtin Label Environments): Mention the
floatflt LaTeX package instead of the obsolete floatfig.

* lisp/textmodes/reftex-vars.el (reftex-label-alist-builtin):
Replace obsolete floatfig entry with floatflt.  Add entry for
"floatingtable".
Fix type indicator for "tabwindow".
(reftex-default-label-alist-entries): Use floatflt as well.
2025-10-10 11:17:54 +02:00
Stefan Monnier
16be837bb7 modes.texi: Declare official support for a standard "abuse"
* doc/lispref/modes.texi (Search-based Fontification):
Explicitly mention the "abuse" of matchers that perform the
highlighting instead of matching.
2025-10-08 19:22:50 -04:00
Eli Zaretskii
c119a3600e ; * doc/lispref/tips.texi (Documentation Tips): Document \\+`foo'. 2025-10-08 09:38:38 +03:00
Sean Whitton
438d8f7351 Merge from origin/emacs-30
c7ab370067 ; * doc/lispref/control.texi (Conditionals): Grammar fix.
f3c29c1415 ; * doc/lispref/control.texi (Conditionals): Document SYM...
da47fa2f23 if-let*/when-let*/and-let*: Don't recommend (VALUEFORM) form
2025-10-07 18:04:20 +01:00
Sean Whitton
c95b33da9c Merge from origin/emacs-30
cd400326b2 ; Improve documentation of 'string-glyph-split'
2025-10-07 18:04:20 +01:00
Sean Whitton
c7ab370067 ; * doc/lispref/control.texi (Conditionals): Grammar fix. 2025-10-07 17:40:39 +01:00
Sean Whitton
f3c29c1415 ; * doc/lispref/control.texi (Conditionals): Document SYMBOL form. 2025-10-07 17:35:32 +01:00
Sean Whitton
da47fa2f23 if-let*/when-let*/and-let*: Don't recommend (VALUEFORM) form
* doc/lispref/control.texi (Conditionals):
* lisp/subr.el (if-let*): Document '(_ VALUEFORM)' instead of
'(VALUEFORM)'.
2025-10-07 17:35:06 +01:00
Eshel Yaron
186cdf599a
; * doc/misc/elisp-semantic-highlighting.org: Fix typos. 2025-10-07 12:09:31 +02:00
Sean Whitton
7f925b06ac defvar-keymap: New ':prefix t' abbreviation
* lisp/keymap.el (defvar-keymap): New ':prefix t' abbreviation.
* lisp/emacs-lisp/helper.el (Helper-help-map):
* lisp/vc/pcvs.el (cvs-mode-diff-map):
* lisp/vc/vc-hooks.el (vc-prefix-map):
* lisp/vcursor.el (vcursor-map): Use it.
* doc/lispref/keymaps.texi (Creating Keymaps):
* etc/NEWS: Document it.
2025-10-06 18:34:18 +01:00
Eshel Yaron
5944cd33dd
Add documentation about ELisp semantic highlighting 2025-10-06 16:59:00 +02:00
Martin Rudalics
1434bc97dc Run buffer-local window change functions in their buffers now
The buffer-local-versions of 'window-buffer-change-functions',
'window-size-change-functions',
'window-selection-change-functions' and
'window-state-change-functions' are now run with the respective
buffer temporarily current.  Also, the local version of
'window-buffer-change-functions' is run for the buffer removed
from the window too.

* src/window.c (run_window_change_functions_locally)
(run_window_change_functions_globally): New functions replacing
'run_window_change_functions_1'.
(run_window_change_functions): Run the buffer local versions of
these hooks in their respective buffers.  Run
'window-buffer-change-functions' for the buffer removed from the
window too.
(Vwindow_buffer_change_functions, Vwindow_size_change_functions)
(Vwindow_selection_change_functions)
(Vwindow_state_change_functions): Mention that the buffer-local
versions are run with their buffer temporarily current.
* doc/lispref/windows.texi (Window Hooks): Mention that
buffer-local-versions of window change functions are run with
their buffer temporarily current.  Also say that
'window-buffer-change-functions' will be run for removed buffer
too.
* etc/NEWS: Advertise changes for the buffer-local versions of
window change functions.
2025-10-06 10:27:27 +02:00
Eli Zaretskii
cd400326b2 ; Improve documentation of 'string-glyph-split'
* doc/lispref/display.texi (Size of Displayed Text):
* lisp/emacs-lisp/subr-x.el (string-glyph-split): Document a
caveat (bug#79576).
2025-10-05 11:04:34 +03:00
Sean Whitton
9ccef794a8 VC: New commands for cherry-picking (bug#79408)
* lisp/vc/diff-mode.el (diff-buffer-file-names): New function.
* lisp/vc/log-view.el (vc--pick-or-revert)
(vc--prompt-other-working-tree): Autoload.
(vc-parent-buffer-name, vc-log-short-style)
(vc-print-log-internal): Declare.
(log-view--pick-or-revert): New function.
(log-view-revision-cherry-pick, log-view-revision-revert): New
commands.
(log-view-mode-map, log-view-mode-menu): Bind them.
* lisp/vc/vc-dispatcher.el (vc-start-logentry): If
get-file-buffer returns nil, use the current buffer as the
parent buffer.
* lisp/vc/vc.el (diff-buffer-file-names, diff-reverse-direction):
Declare.
(vc--pick-or-revert): New function.
(vc-revision-cherry-pick, vc-revision-revert): New commands.
* lisp/vc/vc-hooks.el (vc-menu-map): Bind them.
* doc/emacs/maintaining.texi (VC Change Log, VC Undo)
(Copying Between Branches):
* etc/NEWS: Document the new commands.
2025-10-04 18:18:48 +01:00
Eli Zaretskii
5ee1e205e1 ; Improve the documentation of the last commit
* lisp/vc/log-view.el (log-view-copy-revision-as-kill):
* doc/emacs/maintaining.texi (VC Change Log):
* etc/NEWS: Improve wording of last commit.  (Bug#79493)
2025-10-04 17:18:12 +03:00
Sean Whitton
d0c63b8427 Improve log-view-copy-revision-as-kill
* lisp/vc/log-view.el (log-view-copy-revision-as-kill): Signal
user-error if there is no revision at point.
* doc/emacs/maintaining.texi (VC Change Log):
* etc/NEWS: Shorten docs for the new command.
2025-10-04 14:41:16 +01:00
Timo Myyrä
2ce33b66c5 New command log-view-copy-revision-as-kill
* lisp/vc/log-view.el (log-view-copy-revision-as-kill): New
command.
(log-view-mode-map): Bind it.
* doc/emacs/maintaining.texi (VC Change Log):
* etc/NEWS: Document it.
2025-10-04 14:40:03 +01:00
Sean Whitton
9deff2926b New command log-view-unmark-all-entries
* lisp/vc/log-view.el (log-view-unmark-all-entries): New
command.
(log-view-mode-map): Bind it.
* doc/emacs/maintaining.texi (VC Change Log):
* etc/NEWS: Document it.
2025-10-03 20:54:25 +01:00
Sean Whitton
70a24e3bb5 Merge from origin/emacs-30
0aa44112b6 ; * doc/emacs/maintaining.texi (VC Change Log): Missing a...
2025-10-03 20:51:18 +01:00
Sean Whitton
d5faebe8db Merge from origin/emacs-30
6a8fda1f33 Fix process name matching in 'tramp-process-running-p'
217fd4f09e ; * doc/lispref/modes.texi (Defining Minor Modes): Fix la...
2025-10-03 20:51:18 +01:00