| Age | Commit message (Collapse) | Author |
|
* test/lisp/ffap-tests.el
(ffap-respects-confirm-nonexistent-file-or-buffer): New test.
* lisp/ffap.el (ffap-read-file-or-url): Respect
`confirm-nonexistent-file-or-buffer'.
|
|
* lisp/plstore.el (plstore-find, plstore-get, plstore--encode)
(plstore--decode): Use 'plstore--has-secret-keys' to replace
manual check for existence of secret keys. (Bug#81061)
|
|
* lisp/wid-edit.el (widget-toggle-value-create): Don't
duplicate the :ascent property if already set. (Bug#81167)
|
|
When a plstore has entries with secret keys, processing the plstore
file would require decryption first. However, unlike other functions
like 'plstore-get', 'plstore-put', etc., 'plstore-delete' does not
check for secret keys and decrypt the file, which would corrupt the
file when deleting any entries with secret keys.
This patch adds checking for secret keys and decrypt the file when
needed before removing the entry with name.
* lisp/plstore.el (plstore--has-secret-keys): New.
* lisp/plstore.el (plstore-delete): Check for secret keys of the entry
and decrypt plstore before performing the deletion. (Bug#81061)
|
|
* lisp/send-to.el (send-to--collect-items): Return singleton list, not
a string directly.
|
|
|
|
* etc/NEWS: Mention Ansible integration in compilation mode.
* etc/compilation.txt: Add examples of Ansible error, warning and
note messages. Fix typos.
* lisp/progmodes/compile.el
(compilation-error-regexp-alist-alist): Add Ansible regexps for
error, warning and note messages.
* test/lisp/progmodes/compile-tests.el
(compile-tests--test-regexps-data): Add new test cases.
(compile-test-error-regexps): Increase expected infos.
|
|
Ported from emacs-31 release branch:
commit 984932d4dc992af384b8201caa6f1ba8457cfb2a
Author: Sean Whitton <spwhitton@spwhitton.name>
Date: Mon Jun 1 11:48:42 2026 +0100
Disable markdown-ts-mode & markdown-ts-view-mode for Emacs 31
This synchronizes master's Eglot with emacs-31. The goal of that commit
is to demote those markdown-ts-mode.el modes to "experimental" status in
emacs-31, but Eglot was already relying on them and changes were needed.
984932d4dc992af384b8201caa6f1ba8457cfb2a is not the commit that best
does those changes, but since that commit was marked "do not merge" on
emacs-31, I thought it best to bring it here manually so any further
work -- which doesn't contradict the overarching intention -- can
continue in emacs-31 with clean merges to master (where the GNU-devel
core Elpa package is pulled from).
* lisp/progmodes/eglot.el (eglot-documentation-renderer)
(eglot--format-markup): Don't call eglot--builtin-mdown-p.
* doc/misc/eglot.texi (Customization Variables):
* etc/EGLOT-NEWS: Don't mention markdown-ts-mode
Co-authored-by: Sean Whitton <spwhitton@spwhitton.name>
|
|
2c2f1c00acc ; * lisp/vc/vc-dir.el (vc-dir-update): Add an assertion.
51f823a3afa ; * etc/NEWS: Fix annotation.
271cc5c76c0 More tests for fill-paragraph-handle-comment.erts
cc9f35c54ba ; * etc/PROBLEMS: Minor fixes of last change.
2727a6f4e8d ; Document problems caused by validation of *.eln files o...
f1dd84bec99 ; * lisp/play/doctor.el (doctor-death): Fix Samaritans UR...
0bfbe06090c Update to Org 9.8.5
aac5e0457ae Eglot: replace eglot-prefer-plaintext with eglot-document...
ec3d662de0b Make HTML button elements tab-stoppable in eww (bug#81107)
# Conflicts:
# etc/NEWS
|
|
|
|
|
|
|
|
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.
|
|
* lisp/net/eww.el (eww-form-submit): Call put-text-property to
add help-echo and shr-tab-stop properties.
(eww-tag-input): Exclude inputs with type="submit" when adding
the help-echo and shr-tab-stop properties, since that's now done
in eww-form-submit, called earlier for type="submit".
|
|
72d890c43e7 ; Update the documentation of 'debug'
69fd4b87f4d Don't make buffer read-only when reverting if 'view-mode'...
2955b51e80c ; * etc/NEWS: Document the change in mode-line faces.
# Conflicts:
# etc/NEWS
|
|
* lisp/view.el (view--disable): Reset 'read-only-mode--state'.
(Bug#81149)
|
|
* lisp/textmodes/reftex-global.el (reftex-isearch-minor-mode):
Simplify docstring. Remove redundant `setq`s and mode line update.
|
|
See L88 in etc/TODO.
* lisp/textmodes/reftex-global.el (reftex-isearch-minor-mode):
Use `define-minor-mode`.
* lisp/textmodes/reftex.el (reftex-isearch-minor-mode):
Remove redundant variable definition.
|
|
24879846852 * lisp/shell.el (shell): Fix typo: use process-live-p (bu...
545bbc6ebe8 widget-image-find: Use 'image-load-path' (bug#81140)
69286be27db ; Fix an overwide docstring line.
|
|
c3babe4b896 Fix lax whitespace highlight during query-replace
2e70b88623e Fix fill-paragraph combining text with preceding comment
ea54c33950f ; * etc/PROBLEMS: Link to bug#81124.
02897e208d0 emacsclient quote_argument is void
c6181780663 ; Mark process-test-stderr-buffer as :unstable when runni...
2c1b45f5c56 ; Improve documentation of 'vc-dir-auto-hide-up-to-date'
768c8bf0045 Revert "* admin/notes/documentation: Recommend not using ...
a7414f18598 native--compile-skip-on-battery-p: Try to fix ?b, ?B cond...
7cee526a8cc Save and restore original local keymap in grep-edit-mode
4d87d203cfb Fix display of inline SVG images in Rmail
4c55d04ebe3 Add treesit-ready-p check back to tree-sitter major modes...
7892ae5eaf4 Fix pathological slowness in flex completion
12eec781ed6 No longer raise error on HTTP 402 (Payment Required) (bug...
1800350b186 Avoid compilation-mode matching rust as gnu
|
|
|
|
Suggested by Andrea Alberti <a.alberti82@gmail.com>.
|
|
* lisp/wid-edit.el (widget-image-find): Use 'image-load-path' (bug#81140).
|
|
|
|
* doc/misc/dbus.texi (Asynchronous Methods): HANDLER can also be
(HANDLER . ERROR-HANDLER).
* etc/NEWS: Mention ERROR-HANDLER of dbus-call-method-asynchronously.
* lisp/net/dbus.el (dbus-call-method-asynchronously): Adapt docstring.
(dbus-check-event, dbus-handle-event): HANDLER can also be
(HANDLER . ERROR-HANDLER).
* src/dbusbind.c (Fdbus_message_internal): HANDLER can also be
(HANDLER . ERROR-HANDLER). (Bug#80952)
* test/lisp/net/dbus-tests.el (dbus--test-method-another-handler)
(dbus--test-method-error-handler): New defvars.
(dbus--test-method-another-handler)
(dbus--test-method-error-handler): New functions.
(dbus-test04-call-method-error-handler): New test.
(dbus-test10-keep-fd): Extend test.
|
|
* lisp/replace.el (query-replace-read-args): Add :lax-whitespace to
minibuffer-lazy-highlight-setup, so lazy highlight during
query-replace respects replace-lax-whitespace and
replace-regexp-lax-whitespace (bug#81131).
Copyright-paperwork-exempt: yes
|
|
* lisp/textmodes/fill.el (fill-paragraph): Handle the case
when a non-comment line follows a comment line with
non-nil 'fill-paragraph-handle-comment' (bug#80449).
Skip such a comment line before filling a non-comment line.
* test/lisp/textmodes/fill-tests.el
(fill-test-fill-paragraph-handle-comment): Add new test.
* test/lisp/textmodes/fill-resources/fill-paragraph-handle-comment.erts:
New file.
|
|
`visual-wrap--content-prefix' previously returned a column count
computed as
(max (string-width prefix)
(ceiling (string-pixel-width prefix) avg-space-width))
with two problems:
* `string-width' ignores `buffer-invisibility-spec', so an invisible
prefix (hidden ATX markers under `markdown-ts-hide-markup', for
example) still reserved its character count on line 1 via a
`min-width' display property, shifting the visible heading right.
* With variable-pitch fonts, rounding the prefix width up to whole
columns added visible padding whenever the natural width did not
fall on an exact column boundary.
Return the prefix's natural pixel width via `string-pixel-width'
instead, which accounts for any display transformation applied to
the prefix (invisibility, `display' replacements, text scaling,
proportional fonts). Drop the `min-width' property from
`visual-wrap--apply-to-line' so line 1 renders at its natural width.
Switch the continuation `wrap-prefix' to a mixed-unit `:align-to'
sum form:
(space :align-to (+ (PIX) (EXTRA-INDENT . width)))
where PIX is the prefix's pixel width and EXTRA-INDENT is
`visual-wrap-extra-indent' in canonical character widths. The
display engine resolves each term per the active frame and sums
them, so no Lisp-level unit conversion is needed.
Since `min-width' is no longer installed, the accumulation cycle
that commit 81a5beb8af0 (bug#73882) worked around cannot recur.
Drop the `min-width' strip from `visual-wrap--content-prefix' and
the `min-width' removal from `visual-wrap--remove-properties'.
Keep `min-width' in `visual-wrap--safe-display-specs' so that
lines where other modes install it are not skipped.
* lisp/visual-wrap.el (visual-wrap--content-prefix): Return pixel
width instead of column count; drop the `min-width' strip.
(visual-wrap--apply-to-line): Drop `min-width' on line 1; use
mixed-unit `:align-to' sum form for the continuation wrap-prefix.
(visual-wrap--adjust-prefix): Handle only string prefixes; the
numeric (pixel) case is now handled inline in `--apply-to-line'
via the mixed-unit `:align-to' sum form.
(visual-wrap--remove-properties): Drop `min-width' removal.
(visual-wrap--safe-display-specs): Add note about `min-width'.
* test/lisp/visual-wrap-tests.el: Update expected `wrap-prefix'
values to the new sum form.
(visual-wrap-tests/invisible-prefix): New test motivated by bug#81039.
(visual-wrap-tests/negative-extra-indent): New test; verify that a
large negative `visual-wrap-extra-indent' produces a valid
wrap-prefix (the display engine clamps the stretch to zero).
* test/manual/visual-wrap-test.el: New file. Manual test suite
for visual-eyeball verification of prefix alignment behavior.
Reported-by: Andrea Alberti <a.alberti82@gmail.com>
Co-authored-by: Stefan Monnier <monnier@iro.umontreal.ca>
|
|
Building code with code is tricky. E.g. the code in gnus-draft-setup
suffered from a security issue because it forgot to quote
some arguments (see commit 142b1e0d4c3).
* lisp/gnus/gnus-salt.el (gnus-pick-setup-message):
* lisp/gnus/gnus-msg.el (gnus-inews-add-send-actions):
* lisp/gnus/gnus-draft.el (gnus-draft-setup): Prefer passing functions
to message-add-action over passing it ELisp expressions.
* lisp/gnus/message.el (message-do-actions): Drop errors but not silently.
|
|
|
|
These were reported by happy-barney on GitHub
https://github.com/HaraldJoerg/cperl-mode/issues
* lisp/progmodes/cperl-mode.el (cperl-init-faces): Don't mistake
$method as a method declaration.
Move matcher for "use require" higher to prevent "require" being
fontified as keyword.
* test/lisp/progmodes/cperl-mode-resources/sub-names.pl: Add a
test case for $method
* test/lisp/progmodes/cperl-mode-tests.el
(cperl-test-fontify-declarations): Add a test case for a module
name looking like a keyword
(cperl-test-fontify-sub-names): Verify that $method does not
declare a method
|
|
* lisp/vc/vc-dir.el (vc-dir-auto-hide-up-to-date): Doc fix.
* doc/emacs/maintaining.texi (VC Directory Buffer): Document
'vc-dir-auto-hide-up-to-date'. (Bug#81033)
|
|
* lisp/emacs-lisp/comp-run.el
(native--compile-skip-on-battery-p): Don't skip charging because
the battery is charging, and don't look for "discharging", at
least for now (bug#80922). Thanks to David Koppelman
<koppel@ece.lsu.edu> for the report.
|
|
* lisp/progmodes/grep.el (grep-edit-original-mode-map): New
variable.
(grep-change-to-grep-edit-mode): Save the current local map
before switching to grep-edit-mode-map.
(grep-edit-save-changes): Restore the saved local map instead of
assuming grep-mode-map (bug#81090).
Copyright-paperwork-exempt: yes
|
|
* lisp/mail/rmailmm.el (rmail-mime-set-bulk-data): Support
Content-type of "svg+xml" if SVG images are supported,
|
|
* lisp/progmodes/c-ts-mode.el (c-ts-mode):
(c++-ts-mode):
* lisp/progmodes/cmake-ts-mode.el (cmake-ts-mode):
* lisp/progmodes/dockerfile-ts-mode.el (dockerfile-ts-mode):
* lisp/progmodes/elixir-ts-mode.el (elixir-ts-mode):
* lisp/progmodes/go-ts-mode.el (go-ts-mode):
(go-mod-ts-mode):
(go-work-ts-mode):
* lisp/progmodes/heex-ts-mode.el (heex-ts-mode):
* lisp/progmodes/js.el (js-ts-mode):
* lisp/progmodes/lua-ts-mode.el (lua-ts-mode):
* lisp/progmodes/python.el (python-ts-mode):
* lisp/progmodes/rust-ts-mode.el (rust-ts-mode):
* lisp/progmodes/sh-script.el (bash-ts-mode):
* lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode):
(tsx-ts-mode):
* lisp/textmodes/css-mode.el (css-ts-mode):
* lisp/textmodes/mhtml-ts-mode.el (mhtml-ts-mode):
* lisp/textmodes/toml-ts-mode.el (toml-ts-mode):
* lisp/textmodes/yaml-ts-mode.el (yaml-ts-mode):
* lisp/treesit-x.el (treesit-generic-mode-setup): Add the check.
|
|
The 'completion-regexp-list' optimization in
completion--flex-all-completions-1, a cheap pre-filter via a trivial
regexp, performs very poorly for longer patterns and strings, so drop
it. That alone recovers fairly decent performance for the flex
completion when compared to the 'hotfuzz' point of reference.
We then recover the cheap rejection with an O(N+M) pre-check in the
Fcompletion__flex_cost_gotoh C scorer. This kicks in the common case
(completion-ignore-case is nil) and pays off especially when the table
is already a list and 'all-completions' needn't cons.
See:
https://lists.gnu.org/archive/html/emacs-devel/2026-04/msg01081.html
https://lists.gnu.org/archive/html/emacs-devel/2026-05/msg00519.html
* lisp/minibuffer.el (completion--flex-all-completions-1): Remove
regexp pre-filter.
* src/minibuf.c (Fcompletion__flex_cost_gotoh): Add subsequence
pre-check.
|
|
* lisp/url/url-http.el (url-http-parse-headers): Return t instead of
raising an error, to give the user a chance to interact with the page.
|
|
* lisp/progmodes/compile.el
(compilation-error-regexp-alist-alist): Put 'rust' before 'gnu'
to avoid a mismatch since the " |" has become optional (bug#81075).
Copyright-paperwork-exempt: yes
|
|
4f13f52a3aa * build-aux/git-hooks/commit-msg: Replace Markdown-style ...
dd42133315b vc-test--rename-file: Disable part of test for SCCS
eb653865c3a markdown-ts-mode: Don't enable unconditionally by default
# Conflicts:
# etc/NEWS
|
|
* 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.
|
|
This is okay with regard to bootstrapping because vc-hooks.el is
loaded after loaddefs.el in loadup.el.
* lisp/emacs-lisp/cond-star.el (cl-lib): Don't require, so we
can use cond* in preloaded files.
(cond*-convert-condition): Replace calls to cl-assert.
* lisp/vc/vc-hooks.el (vc-refresh-state): Use cond*.
|
|
7a17f97baa7 Prettify special glyphs
f13287fde0d Revert "sh-script: Mark + and * as punctuation rather tha...
70b79b3ed8d Rename `icalendar-recur' type and related functions
3d2bb233f27 ; Minor Tramp changes
f6281d757d3 ; * etc/NEWS: Tell how to disable 'markdown-ts-mode'.
142b1e0d4c3 Fix Lisp injection via X-Draft-From in Gnus
d6f7b2d99bd Save/restore old_buffer slot via window configurations (B...
e0fbecaf658 Adapt ert-remote-temporary-file-directory settings
3de7f0ce5e5 Fix warning message in 'markdown-ts-mode--initialize'
7df8604ea63 ; Improve documentation of lazy-highlight in search and r...
2936b36164d Fix "assertion 'GTK_IS_WINDOW (window)' failed"
98348a0bdc9 [Xt] Fix child frame resizing glitch
13b29eebc16 Eglot: use standard face for completion annotations (bug#...
# Conflicts:
# etc/NEWS
|
|
* 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)
|
|
* etc/images/artist-mode/README:
* etc/images/artist-mode/char-for-spray.xpm:
* etc/images/artist-mode/char-to-fill.xpm:
* etc/images/artist-mode/ellipse.xpm:
* etc/images/artist-mode/eraser.xpm:
* etc/images/artist-mode/fill.xpm:
* etc/images/artist-mode/line.xpm:
* etc/images/artist-mode/pen.xpm:
* etc/images/artist-mode/poly-line.xpm:
* etc/images/artist-mode/rectangle.xpm:
* etc/images/artist-mode/spray.xpm:
* etc/images/artist-mode/square.xpm:
* etc/images/artist-mode/text.xpm:
* etc/images/artist-mode/char-for-spray.pbm:
* etc/images/artist-mode/char-to-fill.pbm:
* etc/images/artist-mode/ellipse.pbm:
* etc/images/artist-mode/eraser.pbm:
* etc/images/artist-mode/fill.pbm:
* etc/images/artist-mode/line.pbm:
* etc/images/artist-mode/pen.pbm:
* etc/images/artist-mode/poly-line.pbm:
* etc/images/artist-mode/rectangle.pbm:
* etc/images/artist-mode/spray.pbm:
* etc/images/artist-mode/square.pbm:
* etc/images/artist-mode/text.pbm: New files.
* lisp/textmodes/artist.el (artist-tool-bar-map): New variable.
(artist-mode, artist-mode-exit): Use it (bug#80644).
|
|
This reverts commit b3c0aee42b086af4b3c6e26da1a5d81490b6128b.
It caused regressions in 'sh-script', see bug#80794 and
bug#80854.
|
|
More context in Bug#80786 and:
https://lists.gnu.org/archive/html/emacs-orgmode/2026-03/msg00286.html
`icalendar-recur' as a type name for RRULE values was confusing and made
the accessors for this type difficult to discover, because `icalendar-recur-'
is also used as a prefix in icalendar-recur.el. This change renames the
`icalendar-recur' type to `icalendar-rrule-value' and renames the
accessor functions for these values appropriately.
* lisp/calendar/icalendar-parser.el: Rename symbols as follows:
(icalendar-recur): `icalendar-rrule-value'
(icalendar-read-recur-rule-part): `icalendar-read-rrule-part'
(icalendar-print-recur-rule-part): `icalendar-print-rrule-part'
(icalendar-recur-rule-part): `icalendar-rrule-part'
(icalendar-read-recur): `icalendar-read-rrule-value'
(icalendar-print-recur): `icalendar-print-rrule-value'
(icalendar--recur-value-types): `icalendar--rrule-value-types'
(icalendar-recur-value-p): `icalendar-rrule-value-p'
(icalendar-recur-freq): `icalendar-rrule-freq'
(icalendar-recur-interval-size): `icalendar-rrule-interval-size'
(icalendar-recur-until): `icalendar-rrule-until'
(icalendar-recur-count): `icalendar-rrule-count'
(icalendar-recur-weekstart): `icalendar-rrule-weekstart'
(icalendar-recur-by*): `icalendar-rrule-by*'.
(icalendar-rrule):
(icalendar-index-insert):
(icalendar-index-get): Update references.
* lisp/calendar/icalendar-recur.el (icalendar-recur-find-interval):
(icalendar-recur-nth-interval):
(icalendar-recur-next-interval):
(icalendar-recur-previous-interval):
(icalendar-recur-refine-from-clauses):
(icalendar-recur-recurrences-in-interval):
(icalendar-recur-recurrences-in-window):
(icalendar-recur-recurrences-to-count):
(icalendar-recur-tz-observance-on): Update references.
* lisp/calendar/diary-icalendar.el: Update references.
* lisp/calendar/icalendar-shortdoc.el (icalendar): Update shortdoc examples.
* lisp/gnus/gnus-icalendar.el: Update references.
* test/lisp/calendar/diary-icalendar-tests.el:
* test/lisp/calendar/icalendar-parser-tests.el:
* test/lisp/calendar/icalendar-recur-tests.el: Update references in tests.
|
|
The advantage is that this works also for mixtures of alists and
vectors, as one obtains, e.g., from 'json-parse-buffer' and
'json-parse-string'.
* lisp/emacs-lisp/let-alist.el (let-alist--list-to-sexp): Use
'elt' instead of 'nth'.
(let-alist): Adapt doc string. (Bug#80992)
|
|
* doc/misc/tramp.texi (Frequently Asked Questions):
google-drive has been disabled in GNOME 50.
* lisp/net/tramp-cmds.el (tramp-enable-method): Upcase prompt.
* lisp/net/tramp-sh.el (tramp-sh-handle-make-process)
(tramp-sh-handle-process-file): Improve setting of environment variables.
* test/lisp/net/tramp-tests.el (tramp-methods) <mock>:
Add `tramp-tmpdir'. Adapt `tramp-login-program'.
(ert-remote-temporary-file-directory): Improve expansion.
(tramp-test35-remote-path): Adapt test.
|
|
* lisp/gnus/gnus-msg.el (gnus-inews-make-draft-meta-information):
Escape the group name with prin1-to-string to prevent arbitrary
Lisp injection through crafted group names. The unescaped group
name was embedded into a Lisp-readable string, parsed back with
read-from-string in gnus-draft-setup, and eventually eval'd via
message-do-actions, allowing code execution when a draft was sent.
|