Commit graph

181531 commits

Author SHA1 Message Date
Eli Zaretskii
618653aed0 ; * doc/lispintro/emacs-lisp-intro.texi (Lists diagrammed): Fix last change. 2026-03-08 14:57:34 +02:00
Eli Zaretskii
468dad2c5a Use images in Emacs Lisp Intro manual (bug#80519)
* doc/lispintro/emacs-lisp-intro.texi (Lists diagrammed)
(Symbols as Chest, kill-ring-yank-pointer, lambda): Use @image and
remove ASCII-art diagrams, which are now on separate *.txt files.
(header): Remove print-postscript-figures and its commentary.

* doc/lispintro/Makefile.in (auxfiles): New file list.
(${buildinfodir}/%.txt, ${buildinfodir}/%.png): New targets.
(${buildinfodir}/eintr.info): Depend on ${auxfiles}.
(infoclean): Remove ${auxfiles}.

* doc/lispintro/cons-1.png:
* doc/lispintro/cons-1.txt:
* doc/lispintro/cons-2.png:
* doc/lispintro/cons-2.txt:
* doc/lispintro/cons-2a.png:
* doc/lispintro/cons-2a.txt:
* doc/lispintro/cons-3.png:
* doc/lispintro/cons-3.txt:
* doc/lispintro/cons-4.png:
* doc/lispintro/cons-4.txt:
* doc/lispintro/cons-5.png:
* doc/lispintro/cons-5.txt:
* doc/lispintro/drawers.png:
* doc/lispintro/drawers.txt:
* doc/lispintro/lambda-1.png:
* doc/lispintro/lambda-1.txt:
* doc/lispintro/lambda-2.png:
* doc/lispintro/lambda-2.txt:
* doc/lispintro/lambda-3.png:
* doc/lispintro/lambda-3.txt: New files, from Matto Fransen
<matto@matto.nl>.
2026-03-08 14:51:13 +02:00
Eli Zaretskii
bb7e993734 Fix mpuz under text-scaling
* lisp/play/mpuz.el (mpuz-switch-to-window): Don't unconditionally
turn on 'mpuz-mode', as that kills all local variables.  (Bug#80567)
2026-03-08 12:00:53 +02:00
Stefan Monnier
ba34e44cf3 iso-transl.el: Remove ineffective backslashes in previous patch
* lisp/international/iso-transl.el (iso-transl-char-map):
Remove ineffective backslashes in previous patch.
2026-03-07 11:46:24 -05:00
Eli Zaretskii
1e07e6083c Add "C-x 8" commands for letters with breeve
* lisp/international/iso-transl.el (iso-transl-char-map): Add
Latin letters with breve.  (Bug#80515)
2026-03-07 15:39:51 +02:00
Pip Cet
f254b2cc19 Fix infloop when decoding incomplete embedded UTF-8 input
* src/coding.c (decode_coding_iso_2022): Record conversion result for
incomplete data.
2026-03-07 11:36:58 +00:00
kobarity
b9b59447a1 Improve Python setup codes to avoid leaving global names
* lisp/progmodes/python.el (python-shell-setup-code)
(python-shell-readline-detect): Improve Python code.  (Bug#80551)
2026-03-07 13:32:11 +02:00
Eli Zaretskii
cb583c737c ; * admin/authors.el (authors-aliases): Improve one entry. 2026-03-07 13:26:05 +02:00
Eli Zaretskii
a9eac78e23 Improve documentation of 'define-keymap'
* lisp/emacs-lisp/shortdoc.el (keymaps): Add example for adding
key bindings to an existing keymap.
* lisp/keymap.el (define-keymap): Doc fix.  (Bug#80556)
2026-03-07 10:55:23 +02:00
Eli Zaretskii
06471a82c8 Fix segfaults in 'kbd_buffer_get_event'
* src/keyboard.c (kbd_buffer_get_event): Ignore selection-request
events when accessing the frame of an event.  Suggested by dick
r. chiang <dick.r.chiang@gmail.com>.  (Bug#80558)
2026-03-07 09:49:22 +02:00
Stéphane Marks
b7aca342e6 ; Move ns_init_colors from Fns_list_colors to emacs.c (bug#80377)
Support calls to ns_lisp_to_color or Fns_list_colors in headless
environments where ns_term_init is not called, and calls before
ns_term_init runs.

* src/emacs.c (main): Call ns_init_colors when not in dump mode.
* src/nsfns.m (ns_init_colors): Make public function.
(Fns_list_colors): Remove ns_init_colors call.
* src/nsterm.h: extern ns_init_colors.
2026-03-07 00:04:21 +00:00
Sean Whitton
64b0389a2c ; newcomers-presets: Fix adding to after-save-hook. 2026-03-06 14:37:18 +00:00
Michael Albinus
422c3665ad * lisp/recentf.el (recentf-exclude-file-by-extension-p): Fix thinko. 2026-03-06 12:16:49 +01:00
Martin Rudalics
8034e48630 Additional fixes for 'get-mru-frame' (Bug#80397)
* src/frame.c (delete_frame): Call 'get-mru-frame' safely and
with EXCLUDE-FRAME argument set up correctly.
* lisp/frame.el (get-mru-frames, get-mru-frame): Fix doc-strings.
2026-03-06 09:51:21 +01:00
Eli Zaretskii
5c1ef38b5b Fix last change in recentf.el
* lisp/recentf.el (recentf-exclude-ignored-extensions): Doc fix.
(recentf-exclude-file-by-extension-p): Rename from
`recentf-exclude-ignored-extensions'; all references changed.
Doc fix.

* etc/NEWS: Improve wording of the entry which announces the
above.
2026-03-06 09:08:03 +02:00
Philip Kaludercic
c86b60c214
Mention newcomer theme on "no-mouse" splash screen
* lisp/startup.el (normal-no-mouse-startup-screen): Add a button
to toggle the "newcomers-presets" theme.
2026-03-05 22:18:16 +01:00
Stéphane Marks
81d2a7a2f5
New user option and function 'recentf-exclude-ignored-extensions'
* lisp/recentf.el (recentf-exclude-ignored-extensions): New
user option.
(recentf-exclude-ignored-extensions): New function.
* etc/NEWS: Announce the new option and function.

(Bug#80347)
2026-03-05 22:08:44 +01:00
Eli Zaretskii
a7517d6ef8 ; Fix documentation of a recently added user option
* lisp/vc/vc-dispatcher.el (vc-display-failed-async-commands): Doc
fix.  Add a :version tag.
2026-03-05 19:48:46 +02:00
Eli Zaretskii
caca15a42d ; * doc/emacs/vc1-xtra.texi (General VC Options): Fix a typo. 2026-03-05 19:43:16 +02:00
Sean Whitton
d7fda971f1 unfill-paragraph: Reimplement in terms of fill-region
* lisp/textmodes/fill.el (unfill-paragraph): Reimplement in
terms of fill-region.
2026-03-05 16:14:43 +00:00
Sean Whitton
39abb7ec8f ; Move unfill-paragraph to fill.el. Document it in (elisp)Filling. 2026-03-05 15:48:03 +00:00
Sean Whitton
a54e10baeb ; * doc/lispref/control.texi (Conditionals): Improve explanation. 2026-03-05 13:31:10 +00:00
Sean Whitton
b12190778c ; * doc/emacs/vc1-xtra.texi (General VC Options): Fix last change. 2026-03-05 13:29:31 +00:00
Sean Whitton
8d16a0557d New user option vc-display-failed-async-commands
* lisp/vc/vc-dispatcher.el (vc-display-failed-async-commands):
New user option.
(vc-do-async-command): Use it.
* doc/emacs/vc1-xtra.texi (General VC Options):
* etc/NEWS: Document it.
* lisp/vc/vc-dispatcher.el (vc-do-command): Adjust message to
begin "Failed" not "Done" when command exits non-zero.
* lisp/vc/vc.el (vc-checkin): Adjust message to end in
"...failed" not "...done" when async command exits non-zero.
2026-03-05 13:24:27 +00:00
Eli Zaretskii
f398a4d299 ; Fix indexing in viper.texi.
* doc/misc/viper.texi: Fix weird use of indexing, whereby many
index entries were placed _after_ the table which described the
functions or variables or keys, or even in the end of a @node
describing some subject.  The index entries were moved to _before_
the text to which they pertain.  Also, fix some incorrect
cross-references.
2026-03-05 15:17:50 +02:00
Sean Whitton
bdc4a93535 ; Fix documentation of vc-command-messages. 2026-03-05 12:06:12 +00:00
Sean Whitton
d0ab336906 vc-do-command: Tidy up some messaging
* lisp/vc/vc-dispatcher.el (vc--inhibit-message): New defvar,
replacing the undeclared vc-inhibit-message.  All uses changed.
(vc--command-message): New function, factored out.
(vc-do-command): Call it.
2026-03-05 12:01:51 +00:00
Martin Rudalics
1f30f37df8 Fix segfault introduced by recent 'get-mru-frame' change
* src/frame.c (delete_frame): Fix segfault when deleting a
frame and 'get-mru-frame' returns that frame.
2026-03-05 11:22:55 +01:00
Stéphane Marks
192d4fc1f7 Make 'frame-use-time' more reliable. (bug#80397)
Walking the window tree is more reliable than using the selected
window.  Implement 'get-mru-frame' on top of 'get-mru-frames'
using 'frame-use-time'.

* lisp/frame.el (frame-use-time): Change to walk the window tree
for the specified frame.
(get-mru-frames): New defun.
(get-mru-frame): Change to call 'get-mru-frames'.
* doc/lispref/frames.texi: Update documentation.
* etc/NEWS: Update announcement.
2026-03-05 09:58:03 +01:00
Alan Third
d40e5050be Fix seg fault when image dimensions don't match (bug#80518)
* src/image.c (four_corners_best): [USE_CAIRO] Reset the image
dimensions to real values.
(Fimage_transforms_p): Fix typo.
2026-03-04 19:21:36 +00:00
Michael Albinus
fedf45ca63 Revert "Repair serious breakage in the batch tests."
This reverts commit feac531415.

This patch has deactivated 253 test cases without a sufficient reasoning.
Instead it speaks about a shotgun in its commite message.

The patch is reverted because

- It hasn't been discussed on emacs-devel. It should have, because it is
  a serious change in our infrastructure (new official tag :nobatch). Any
  documentation of this change, for example in test/README, is missing.

- The proper way to deactivate such tests would have been

  (skip-when noninteractive)

  Even better to skip for the respective reasons.

- There is no fault report. There is no information about how these tests
  have failed. Since it hasn't been a problem so far for us, nobody will
  work on a fix forever.
2026-03-04 19:24:52 +01:00
Stefan Monnier
8f8d28f6dc (flymake-start): Give a bit more info in the log
* lisp/progmodes/flymake.el (flymake-start): Log the reason why
it's disabled when not starting a backend.
2026-03-04 09:44:27 -05:00
Sean Whitton
7d63d267f2 Rename 'any' to 'member-if' and deprecate 'cl-member-if'
* lisp/subr.el (any): Rename from this ...
(member-if): ... to this.  All uses changed.
(any): New function alias.
* lisp/emacs-lisp/cl-seq.el (cl-member-if): Mark obsolete.
* lisp/obsolete/cl.el (member-if): Delete obsolete function
alias.
* doc/lispref/lists.texi (List Elements):
* doc/misc/cl.texi (Lists as Sets):
* etc/NEWS: Document the change.
2026-03-04 14:43:05 +00:00
Sean Whitton
4ce94139ae New command 'unfill-paragraph'
* lisp/simple.el (unfill-paragraph): New command.
* doc/emacs/indent.texi (Indentation Commands):
* etc/NEWS: Document it.
2026-03-04 14:20:47 +00:00
Sean Whitton
9cc95aef58 ; * lisp/vc/vc.el (vc-print-change-log): Fix last change. 2026-03-04 10:35:24 +00:00
Stéphane Marks
8eacee314d In 'frame--purify-parameters' fix frame-inherited-parameters (Bug#80536)
* lisp/frame.el (frame--purify-parameters):
'frame-inherited-parameters' is a parameter list, not an alist.
2026-03-04 09:42:22 +01:00
Stephen Gildea
ae45bb10e0 ; * doc/emacs/files.texi (Time Stamps): Small wording fix. 2026-03-03 11:02:22 -08:00
Mattias Engdegård
7eba545a4e Revert "Rename 'any' to 'member-if' and deprecate 'cl-member-if'"
This reverts commit 2bdf15f6d8.

There is no consensus for this change.
2026-03-03 17:21:35 +01:00
Mattias Engdegård
dfa4a0e5a2 Faster JSON string serialisation (bug#80529)
* src/json.c (json_out_string):
Optimise for runs of non-special ASCII chars.

This seems to be a a substantial performance gain for long strings but a
smaller regression for short strings (up to 6 chars or thereabouts,
depending on cpu, compiler, and/or C library).  Still likely worth it.

Suggested by Pavel <cyberkm@gmail.com>.
2026-03-03 17:21:16 +01:00
Michael Albinus
72a1bda759 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2026-03-03 16:59:23 +01:00
Filipp Gunbin
8670baf06b ; Fix docstring of vc-print-root-change-log 2026-03-03 18:55:49 +03:00
Stefan Monnier
cdcbb52f50 eglot.el: Avoid %s for composite objects
* lisp/progmodes/eglot.el (eglot--check-object, eglot--check-dspec)
(eglot-shutdown-all, eglot--connect, eglot--lsp-position-to-point)
(eglot--read-server, eglot-handle-notification, eglot-handle-request):
Avoid `%s` for composite objects.
(eglot--connect, eglot--format): Use `fboundp` rather than `functionp`
to check if something is defined.
(eglot--sig-info): Prefer `point-min`.
2026-03-03 10:17:17 -05:00
Eli Zaretskii
1a9a4d263a ; * etc/NEWS: Fix last change. 2026-03-03 16:28:53 +02:00
Manuel Giraud
d272dedf8c Add mirroring for special glyphs (bug#80440)
See initial discussion here:
https://lists.gnu.org/archive/html/emacs-devel/2026-02/msg00400.html

* lisp/international/characters.el (pairs): Populate
special-mirror-table.
* src/xdisp.c (produce_special_glyphs): Add two arguments.  One
to identify the paragraph direction and one to identify that the
glyph is produced on the left hand side of a window.  Mirror
glyph defined in the display table according to the new
special-mirror-table.  Bidi mirroring always takes precedence.
(init_iterator, insert_left_trunc_glyphs, display_line)
(display_string): Call 'produce_special_glyphs' with new arguments.
(syms_of_xdisp) <special-mirror-table>: New char-table.
* etc/NEWS: Announce the change.
2026-03-03 16:24:58 +02:00
Alan Mackenzie
b5e2b0bec1 CC Mode: Handle mixed symbols and non-symbols in regexps
This fixes bug#80507.

* lisp/progmodes/cc-defs.el (c-make-keywords-re): When a mixed list
of symbols and non-symbols is presented to this function, put
"\_< .... \_>" brackets around the part which handles the symbols
in the resulting regexp.
2026-03-03 16:19:16 +02:00
Sean Whitton
9563101c47 ; * doc/lispref/control.texi (Conditionals): Improve example. 2026-03-03 14:02:49 +00:00
Sean Whitton
7059bb160e Fix respecting vc-log-show-limit with new -change-log commands
* lisp/vc/vc.el (vc-print-change-log, vc-print-root-change-log):
Respect vc-log-show-limit when there is no prefix argument (bug#80532).
2026-03-03 14:00:39 +00:00
Sean Whitton
2bdf15f6d8 Rename 'any' to 'member-if' and deprecate 'cl-member-if'
* lisp/subr.el (any): Rename from this ...
(member-if): ... to this.  All uses changed.
Implement '&key KEY-FN' for backwards compatibility.
(any): New function alias.
* lisp/emacs-lisp/cl-seq.el (cl-member-if): Make an alias for
'member-if'.
* lisp/obsolete/cl.el (member-if): Delete obsolete function
alias.
* doc/lispref/lists.texi (List Elements):
* doc/misc/cl.texi (Lists as Sets):
* etc/NEWS: Document the change.
2026-03-03 13:57:07 +00:00
Eli Zaretskii
73a2a5cd05 ; Fix documentation of recent changes in treesit.el
* etc/NEWS:
* doc/lispref/parsing.texi (User-defined Things): Fix punctuation,
markup and typos.
2026-03-03 15:21:12 +02:00
Eli Zaretskii
75f6b5fe09 ; * doc/emacs/frames.texi (Multiple Displays): Improve markup. 2026-03-03 15:08:42 +02:00