Commit graph

14609 commits

Author SHA1 Message Date
João Távora
776ee085ff Eglot: mentions markdown-ts-view-mode less (bug#81150)
* doc/misc/eglot.texi (Customization Variables): Don't mention
markdown-ts-view-mode.

* etc/EGLOT-NEWS: Don't mention markdown-ts-view-mode.
2026-06-02 23:41:53 +01:00
João Távora
3229d6f0e3 Eglot: Simplify markdown rendering support (bug#81150)
Now that markdown-ts-view-mode is demoted to "experimental" in emacs-31,
simplify bits of eglot.el and rewrite docs to be more neutral.  In
practice 'gfm-view-mode' is still used if found, just like before, but
intrepid users can still try the "experimental" modes.

* lisp/progmodes/eglot.el (eglot-documentation-renderer): Rewrite
doc string.
(eglot--accepted-formats): Rewrite.
(eglot--builtin-mdown-p): Remove.

* doc/misc/eglot.texi (Customization Variables): Rewrite entry.

* etc/EGLOT-NEWS: Tweak.
2026-06-01 19:57:30 +01:00
Sean Whitton
984932d4dc Disable markdown-ts-mode & markdown-ts-view-mode for Emacs 31
Do not merge to master.

* lisp/progmodes/eglot.el (eglot-documentation-renderer)
(eglot--format-markup): Don't call eglot--builtin-mdown-p.
* lisp/textmodes/markdown-ts-mode.el (markdown-ts-mode)
(markdown-ts-view-mode): Mark as experimental.
(auto-mode-alist, treesit-major-mode-remap-alist): Don't add
anything.
* doc/misc/eglot.texi (Customization Variables):
* etc/EGLOT-NEWS:
* etc/NEWS: Don't mention markdown-ts-mode or
markdown-ts-view-mode.
2026-06-01 11:48:42 +01:00
Sean Whitton
51f823a3af ; * etc/NEWS: Fix annotation. 2026-06-01 09:50:56 +01:00
Eli Zaretskii
cc9f35c54b ; * etc/PROBLEMS: Minor fixes of last change. 2026-05-31 12:40:11 +03:00
Aaron Jensen
2727a6f4e8 ; Document problems caused by validation of *.eln files on macOS
* etc/PROBLEMS: Document slowdown on macOS caused by the OS
validation of *.eln files.
2026-05-31 12:34:51 +03:00
Kyle Meyer
0bfbe06090 Update to Org 9.8.5 2026-05-31 01:42:27 -04:00
João Távora
aac5e0457a Eglot: replace eglot-prefer-plaintext with eglot-documentation-renderer
The old boolean 'eglot-prefer-plaintext' is replaced by the more
expressive 'eglot-documentation-renderer', which can hold a major-mode
symbol, t (plain text), or nil (auto-detect each time).  By selecting a
renderer once at startup the repeated per-request lookups are avoided,
which helps with the slowness reported in bug#81150.

* lisp/progmodes/eglot.el (eglot-prefer-plaintext): Declare obsolete
alias to 'eglot-documentation-renderer'.
(eglot-documentation-renderer): New defcustom, reworked from from
eglot-prefer-plaintext.
(eglot--accepted-formats): Use new variable.
(eglot--format-markup): Use new variable.

* etc/EGLOT-NEWS: Announce change.

* doc/misc/eglot.texi (Customization Variables): Document
  eglot-documentation-renderer.
2026-05-30 18:22:54 +01:00
Eli Zaretskii
72d890c43e ; Update the documentation of 'debug' 2026-05-30 13:41:22 +03:00
Eli Zaretskii
2955b51e80 ; * etc/NEWS: Document the change in mode-line faces. 2026-05-30 11:13:08 +03:00
Sean Whitton
ea54c33950 ; * etc/PROBLEMS: Link to bug#81124. 2026-05-27 13:16:12 +01:00
Rahul Martim Juliato
eb653865c3 markdown-ts-mode: Don't enable unconditionally by default
* lisp/textmodes/markdown-ts-mode.el (markdown-ts-mode-maybe):
New function.
(auto-mode-alist): Bind ".md", ".markdown", and ".mdx" to
'markdown-ts-mode-maybe' instead of 'markdown-ts-mode'.
* etc/NEWS: Update the 'markdown-ts-mode' entry.
2026-05-23 16:25:09 +01:00
Manuel Giraud
7a17f97baa Prettify special glyphs
* lisp/disp-table.el (prettify-special-glyphs-mode): New mode to
display nicer special glyphs.
(special-glyphs): New face for displaying special glyphs when
the minor mode is active.
(prettify-special-glyphs-saved-truncation)
(prettify-special-glyphs-saved-continuation): Internal variables
to save previous special glyphs.
* etc/NEWS: Announce the change.  (Bug#80628)
2026-05-23 14:12:19 +03:00
Eli Zaretskii
f6281d757d ; * etc/NEWS: Tell how to disable 'markdown-ts-mode'. 2026-05-23 09:35:24 +03:00
Stefan Monnier
8095fbef77 doc/lispref/text.texi: Add complement to commit f4a1c00656
* doc/lispref/text.texi (Examining Properties): Mention the change in
cursor-sensor-functions.
2026-05-18 18:47:47 -04:00
Eli Zaretskii
1d7d6ffedb ; * etc/PROBLEMS: Fix entries about display of Emoji on TTY (bug#81052). 2026-05-18 16:36:05 +03:00
Eli Zaretskii
bf89ee6d07 ; * etc/PROBLEMS: Cursor not shown on Windows with system caret (bug#81047). 2026-05-15 10:20:31 +03:00
João Távora
aba60ad0c5 Eglot: prefer markdown-ts-view-mode for markup rendering (bug#80127)
Eglot previously needed gfm-view-mode from markdown-mode.el to render
Markdown from LSP servers.  It now prefers markdown-ts-view-mode when
available.

* lisp/progmodes/eglot.el (eglot--accepted-formats): Recognize
markdown-ts-view-mode as a Markdown renderer.
(eglot--format-markup): Rework with cl-labels; prefer
markdown-ts-view-mode over gfm-view-mode.

* doc/misc/eglot.texi (Eglot Features): Don't mention
markdown-mode directly.

* etc/EGLOT-NEWS: Mention change
2026-05-14 11:05:30 +01:00
Michael Albinus
a0c05029fd * etc/NEWS: Mention new user option tramp-propagate-emacsclient-tramp. 2026-05-13 18:46:31 +02:00
Michael Albinus
e4d529c67b ; Fix last change
* doc/misc/gnus.texi (System Sleep Integration): Move @anchor up.

* etc/NEWS: gnus-dbus.el is obsolete.
Presentational fixes and improvements.

* lisp/gnus/gnus-start.el (gnus-close-on-sleep): Add :version.
(gnus-sleep-handler): Use `ignore-errors'.
2026-05-09 13:17:06 +02:00
Morgan Smith
984024daf3 Gnus: Use new sleep library
* etc/NEWS: Announce.
* lisp/gnus/gnus-start.el: Don't require gnus-dbus.
(gnus-sleep-handler): New function.
(gnus-close-on-sleep): New variable.
(gnus-1): Add `gnus-sleep-handler' to
`system-sleep-event-functions' when `gnus-close-on-sleep' is
non-nil.
* doc/misc/gnus.texi: Update documentation.
2026-05-09 12:50:04 +02:00
Sean Whitton
2d496b842d ; Fix Gregor Schmid's attribution for lua-mode.el. 2026-05-08 13:47:52 +01:00
Sean Whitton
1ec79b48f3 ; Update exported ChangeLog files and etc/AUTHORS
There are still unfixed problems in *Authors Errors*.

* ChangeLog.3: Fix typos.
* ChangeLog.5: Export from VCS history.
* Makefile.in: Update PREFERRED_BRANCH.
* admin/authors.el (authors-aliases, authors-ignored-files)
(authors-valid-file-names, authors-renamed-files-alist): Add
some entries.
* etc/AUTHORS: Regenerate.
2026-05-07 20:08:43 +01:00
Eli Zaretskii
dfc7cf8e41 ; * etc/NEWS (margin): Fix a typo, improve wording, move to proper place. 2026-05-06 14:48:28 +03:00
Basil L. Contovounesios
b3b2b3de5d ; * etc/NEWS: Fix typo in recent change. 2026-05-05 21:23:07 +02:00
Andrea Alberti
d24b10ca75 Introduce 'margin' face for window margin background
A new basic face 'margin' is used for text displayed in the left and
right margin areas, i.e., the areas typically used by VCS and LSP
packages for per-line annotations.  Its background defaults to the
frame default, preserving existing behavior for users who do not
customize it.
* etc/NEWS: Document the new 'margin' face.
* lisp/faces.el (margin): Add 'margin' face, inheriting from 'default'.
* src/dispextern.h (face_id): Add MARGIN_FACE_ID.
* src/xdisp.c (face_at_pos): Use 'margin' as the base face for
strings displayed in margin areas so that they inherit the gutter
background by default.
(extend_face_to_end_of_line): Compute 'margin_fill_face_id' from the
'margin' face.  Use while loops to explicitly fill all empty character
slots in both left and right margins for both GUI and TTY branches.
(display_line): Call 'extend_face_to_end_of_line' for beyond-EOB rows
when the window has margins.  Also extend the existing condition for
text rows with empty margins to trigger when the 'margin' face
background differs from the frame default, not only when the default
face is remapped.
* src/xfaces.c (realize_basic_faces): Realize 'margin' as a basic
face to support face-remapping and efficient lookup.
(Bug#80693)
2026-05-05 11:21:57 +03:00
Stefan Monnier
ed1fe2ca95 nadvice.el: Make it easier to find how to change an interactive-form
* lisp/emacs-lisp/nadvice.el (advice--how-alist): Add ':interactive-only'.
* doc/lispref/functions.texi (Advice Combinators): Document it.
(Core Advising Primitives): Use it.
2026-05-04 20:21:51 -04:00
Stefan Monnier
a952324e9b keyboard.c: Allow SIGINT to quit in batch mode, instead of exit
In terminal sessions, SIGINT is turned into a `quit` ELisp signal,
but in batch it has traditionally killed Emacs.  It can be very
useful to cause a `quit` from outside the process when running
in batch (e.g. for "batch" sessions that provide a REPL via stdin/out),
so add a new var 'kill-emacs-on-sigint' to control that behavior.
(bug#80942)

* src/keyboard.c (handle_interrupt_signal): Obey `kill_emacs_on_sigint`.
(init_keyboard): Use `deliver_interrupt_signal` for SIGINT also for
batch sessions.
(syms_of_keyboard): New variable `kill_emacs_on_sigint`.

* test/src/keyboard-tests.el (keyboard-sigint-to-quit): New test.

* doc/emacs/cmdargs.texi (Initial Options): Mention the effect of
`kill-emacs-on-sigint` in batch mode.
2026-05-04 12:49:35 -04:00
Eshel Yaron
939e5956d9
Demote 'completion-preview-is-calling'
See discussion at
https://yhetil.org/emacs/87pl3egzww.fsf@mail.eshelyaron.com/

* lisp/completion-preview.el (completion-preview-is-calling):
Rename to...
(completion-preview--is-calling): ...this.
(completion-preview--capf-wrapper): Update accordingly.
* etc/NEWS: Remove announcement.
2026-05-02 13:33:51 +02:00
Sean Whitton
4795e83a69 Project prompters always default to current project, if any
* lisp/progmodes/project.el (project-prompter)
(project-prompt-project-dir, project-prompt-project-name):
Delete ALLOW-EMPTY parameter.  Default to the current project if
there is one.
* lisp/vc/vc.el (project-root): Declare.
(vc--prompt-other-working-tree): Replace ALLOW-EMPTY parameter
with new ALLOW-CURRENT parameter.
(vc-working-tree-switch-project): Allow selecting the current
working tree, for symmetry with project-switch-project.
* etc/NEWS: Update.
2026-05-02 09:38:04 +01:00
Philip Kaludercic
17f9f0c97d
* etc/themes/newcomers-presets-theme.el: Fix checkdoc issue 2026-05-02 10:24:34 +02:00
F. Jason Park
cf9728c4be Only perform erc-log-insert-log-on-open setup once
* etc/ERC-NEWS: Add entry for option `erc-log-insert-log-on-open'.
Mention deprecation of `erc-log-setup-logging'.
* lisp/erc/erc-log.el (erc-log-insert-log-on-open): Expand type from
boolean to choice of boolean, predicate, and new function item
`erc-log-new-target-buffer-p'.
(erc-log-mode, erc-log-enable, erc-log-disable): Replace
`erc-log-setup-logging' on `erc-connect-pre-hook' with
`erc-log--insert-log-on-open' at depth 80.  Replace calls to
`erc-log-setup-logging' with ones to `erc-log--setup'.
(erc-log-new-target-buffer-p): New function.  While the name could
perhaps do more to indicate that it's only useful when called from
`erc-open', that's the only place ERC typically sets up new target
buffers.
(erc-log-setup-logging): Deprecate and replace body with adapter that
calls `erc-log--setup' and `erc-log--insert-log-on-open'.
(erc-log--setup): New function whose body is mostly from the
"nondestructive" portion of `erc-log-setup-logging'.  Instead of moving
the `erc-saved-last-position' marker to the old value, expect it not to
have been initialized by `erc-initialize-log-marker' because
`erc-connect-pre-hook' now runs after this code, which is now
incorporated more judiciously into the module's "enable body".
(erc-log--insert-log-on-open): New function whose body is mostly from
the "destructive" portion of the previous incarnation of
`erc-log-setup-logging'.  Unlike the original, if option
`erc-log-insert-log-on-open' is a function, call it to decide whether to
insert a log file atop its buffer.  Also, don't advance the marker
`erc-last-saved-position' to the prompt area, where it can get stuck and
prevent logs from being saved when `erc-log-insert-log-on-open' is
non-nil.  Thanks to Libera user Lionyx for reporting the bug, which has
been around since at least ERC 5.4 and Emacs 28.1.
(erc-log-disable-logging): Remove `erc-save-buffer-in-logs' from
`write-file-functions' to undo its buffer-local addition in what is now
`erc--log-setup'.
* test/lisp/erc/erc-scenarios-log-options.el: New file.  (Bug#79665)
2026-04-30 15:46:42 -07:00
Eshel Yaron
a24ff52a79
New variable 'completion-preview-is-calling'
* lisp/completion-preview.el (completion-preview-is-calling):
New variable.
(completion-preview--capf-wrapper): Bind it to t when calling
the CAPF.
* etc/NEWS: Announce it.
2026-04-30 21:19:19 +02:00
Randy Taylor
edc19c3536 Always compile w32image.c on MinGW (Bug#80924)
This enables features unrelated to native image APIs, such as
'w32-export-frame' and 'yank-media', which need to call GDI+
functions.
* configure.ac (HAVE_W32) [!CYGWIN]: Always include w32image.o in
W32_OBJ.
* etc/NEWS: Drop 'yank-media' '--without-native-image-api' caveat.
* src/emacs.c (main):
* src/w32select.c (convert_dibv5_to_png):
* src/w32term.c (w32_draw_image_foreground): Replace
HAVE_NATIVE_IMAGE_API with WINDOWSNT.
* src/w32.c (term_ntproc): Remove redundant HAVE_NATIVE_IMAGE_API guard.
* src/w32fns.c (Fw32_export_frame) [!WINDOWSNT]: Return nil on Cygwin.
2026-04-30 18:52:22 +03:00
Paul Eggert
4fcc8a473a ; Spelling fixes. 2026-04-29 22:45:51 -07:00
Sean Whitton
7d9dad4241 New VC commands for remote unintegrated changes
* lisp/vc/vc.el (vc--outgoing-base, vc--outgoing-base-mergebase):
New FORCE-TOPIC parameter.
(vc--maybe-read-outgoing-base): New NO-DOUBLE parameter.
(vc-root-diff-remote-unintegrated, vc-diff-remote-unintegrated)
(vc-log-remote-unintegrated, vc-root-log-remote-unintegrated):
New commands (bug#80434).
* lisp/vc/vc-dir.el (vc-dir-mode-map):
* lisp/vc/vc-hooks.el (vc-prefix-map): Bind them.
* doc/emacs/vc1-xtra.texi (Unintegrated Changes):
* etc/NEWS: Document them.
2026-04-29 14:54:40 +01:00
Sean Whitton
ae40c3a438 New commands to report diffs of all local changes
* lisp/vc/vc.el (vc-root-diff-outgoing-and-edited)
(vc-diff-outgoing-and-edited): New commands (bug#80434).
* lisp/vc/vc-dir.el (vc-dir-mode-map):
* lisp/vc/vc-hooks.el (vc-prefix-map): Bind them.
* doc/emacs/maintaining.texi (VC Change Log):
* etc/NEWS: Document them.
2026-04-29 14:46:37 +01:00
Sean Whitton
525b7b1424 Rename outstanding changes commands to "unintegrated changes"
* doc/emacs/vc1-xtra.texi (Outstanding Changes): Rename node
from this ...
(Unintegrated Changes): ... to this (bug#80434).  References
changed.
* etc/NEWS: Document the change.
* lisp/vc/vc-git.el (vc-git-topic-outgoing-base)
(vc-git-log-view-mode):
* lisp/vc/vc-hg.el (vc-hg-print-log, vc-hg-log-view-mode):
* lisp/vc/vc.el (vc-root-diff-outstanding, vc-diff-outstanding)
(vc-log-outstanding, vc-root-log-outstanding):
Rename from these ...
(vc-root-diff-unintegrated, vc-diff-unintegrated)
(vc-log-unintegrated, vc-root-log-unintegrated):
... to these (bug#80434).  All uses changed.
(vc-log-view-type): Rename 'log-outstanding' type to
'log-unintegrated'.  All uses changed.
2026-04-27 13:35:31 +01:00
Sean Whitton
91db34868a VC Annotate for Mercurial repositories shows changeset hashes
* lisp/vc/vc-hg.el (vc-hg-annotate-show-revision-numbers): New
option.
(vc-hg-annotate-command): If it's nil, show changeset hashes not
revision numbers by passing "-c" not "-n" to 'hg annotate'.
(vc-hg-annotate-re): Update.
* etc/NEWS: Document the change.
2026-04-27 13:23:30 +01:00
Eli Zaretskii
f293becdd6 ; Fix minor issues in SQLite docs
* doc/lispref/text.texi (Database): Update description of
'sqlite-close'.  (Bug#80908)
* etc/NEWS: Fix SQLite entries.
2026-04-27 13:57:06 +03:00
Eli Zaretskii
5cee4fa0ff ; Fix last change
* etc/NEWS: Announce the change in 'sqlite-close'.
* src/sqlite.c (Fsqlite_close): Fix commentary.
(Bug#80908).
2026-04-27 13:47:17 +03:00
Yuan Fu
241481cf1e
Add treesit-query-with-fallback
* lisp/treesit.el (treesit-font-lock-rules): Handle
treesit-query-with-fallback.
(treesit-query-with-fallback): New function.
* doc/lispref/modes.texi (Parser-based Font Lock): Mention
treesit-query-with-fallback.
2026-04-27 02:14:49 -07:00
Bastien Guerry
20b6edf167 ; * etc/tutorials/TUTORIAL.fr: fix translation 2026-04-26 20:50:45 +02:00
Sean Whitton
df6fb6fafb ; Fix & improve last change. 2026-04-26 12:21:05 +01:00
Kai Ma
9a7bc6b930 New user option compilation-search-extra-path
* lisp/progmodes/compile.el (compilation-search-extra-path): New
option (bug#80279).
(compilation-start): Use it.
(compilation-search-path):
* doc/emacs/building.texi:
* etc/NEWS: Document it, and also compilation-search-path.
2026-04-26 12:20:58 +01:00
Bastien Guerry
f749b4b978 ; * etc/tutorials/TUTORIAL.fr: fix missing word, rephrase paragraph
Reported-by: Sébastien Hinderer <sebastien.hinderer@ens-lyon.org>
2026-04-26 10:07:37 +02:00
Eli Zaretskii
baa5274445 ; * etc/NEWS: Fix last change (bug#70941). 2026-04-23 14:57:51 +03:00
Peter Oliver
5913101e40 ; * etc/NEWS: Announce "setrgbf" and "setrgbb" terminfo capabilities 2026-04-23 14:53:43 +03:00
Eli Zaretskii
71749c47d9 ; * etc/NEWS: Fix last added entry. (Bug#80451) 2026-04-23 11:36:09 +03:00
Lee Thompson
39202daedd Add language-environment and input methods for Syriac
* lisp/leim/quail/syriac.el: New file
* lisp/language/misc-lang.el: ("Syriac"): New language environment.
("Arabic"): Add comment explaining usage of `arabic-shape-gstring'
for Syriac as well as Arabic.
* etc/NEWS: Announce the new language environment and input methods.
* etc/HELLO: Add a Syriac greeting.
(Bug#80451)
2026-04-23 11:31:10 +03:00