]> git.eshelyaron.com Git - emacs.git/log
emacs.git
3 weeks agohl-line.el: Simplify
Eshel Yaron [Sat, 19 Oct 2024 12:20:52 +0000 (14:20 +0200)]
hl-line.el: Simplify

3 weeks ago(define-minor-mode): Add keywords ':on' and ':off'
Eshel Yaron [Sat, 19 Oct 2024 12:20:23 +0000 (14:20 +0200)]
(define-minor-mode): Add keywords ':on' and ':off'

3 weeks ago; Remove unused lexical variable
Eshel Yaron [Sat, 19 Oct 2024 12:17:18 +0000 (14:17 +0200)]
; Remove unused lexical variable

3 weeks agoflymake.el: Cosmetics
Eshel Yaron [Sat, 19 Oct 2024 07:50:41 +0000 (09:50 +0200)]
flymake.el: Cosmetics

3 weeks ago(read-passwd): Simplify
Eshel Yaron [Fri, 18 Oct 2024 14:33:19 +0000 (16:33 +0200)]
(read-passwd): Simplify

3 weeks ago* lisp/emacs-lisp/track-changes.el (track-changes--backtrace): Fix prefix
Stefan Monnier [Thu, 17 Oct 2024 16:54:04 +0000 (12:54 -0400)]
* lisp/emacs-lisp/track-changes.el (track-changes--backtrace):  Fix prefix

(cherry picked from commit f994154d0895b3bbd4a763e379a90328b5e3d87d)

3 weeks agompc.el: Misc tweaks.
Stefan Monnier [Thu, 17 Oct 2024 16:38:18 +0000 (12:38 -0400)]
mpc.el: Misc tweaks.

* lisp/mpc.el: Require `cl-lib` at run-time.
Don't require `subr-x` any more.
(mpc-status-callbacks): Improve docstring.
(mpc-cover-image-find): Avoid `and-let*`.
(mpc-cover-image-p): Use `member-ignore-case` to recover the
behavior before last patch.
(mpc-cover-image-find, mpc-cover-image-p): Move to later in the
file to avoid compiler warning.
(mpc-format, mpc-notifications-title, mpc-notifications-body):
Tweak docstring.
(mpc--notifications-format): Create only one temp buffer and use
the faster `cl-some` since we know the arg is a list.
(mpc-notifications-notify): Prefer `when-let*` since all the other
`*-let` we use are also of the `let*`family.

(cherry picked from commit 4690f2f44d38d64d8ebfea98c085844a5723df0f)

3 weeks agoAdd notifications support to 'mpc' (Bug#73538)
john muhl [Mon, 16 Sep 2024 00:52:25 +0000 (19:52 -0500)]
Add notifications support to 'mpc' (Bug#73538)

* lisp/mpc.el (mpc-notifications, mpc-notifications-title)
(mpc-notifications-body): New option.
(mpc--notifications-id): New variable.
(mpc-notifications-notify, mpc-cover-image-find)
(mpc-cover-image-p, mpc--notifications-format): New function.
(mpc-format): Use 'mpc-cover-find' and expand docstring to
include details about the FORMAT-SPEC.
(mpc-status-callbacks): Add file callback for
notifications.

(cherry picked from commit 49084bad7990a614bdd3ea7a24ebab0fc89627e3)

3 weeks ago; * lisp/vc/vc.el: Drop some old notes
Sean Whitton [Thu, 17 Oct 2024 13:14:45 +0000 (21:14 +0800)]
; * lisp/vc/vc.el: Drop some old notes

Firstly, we are unlikely to do any unifying, because both amend
capabilities have been around for a long time now and we don't
want to break people's usage.  Secondly, there is now a plan for
dealing with dangerous git operations described in bug#64055.

(cherry picked from commit 38071e39892fe0270f91746bd5f55c056cb00921)

3 weeks agolog-view-modify-change-comment: Prepend Summary header
Sean Whitton [Thu, 17 Oct 2024 13:06:58 +0000 (21:06 +0800)]
log-view-modify-change-comment: Prepend Summary header

* lisp/vc/log-view.el (log-edit): Require.
(log-view-modify-change-comment): When log-edit-hook would
insert an empty Summary header, prepend one to the old comment.

(cherry picked from commit 8d7d9dd42a6c2bf1f941108148d9df91bce857fa)

3 weeks agoNew get-change-comment VC backend action
Sean Whitton [Thu, 17 Oct 2024 13:04:38 +0000 (21:04 +0800)]
New get-change-comment VC backend action

This gets us closer to using log-view-modify-change-comment with modern
VCS.  What remains is implementing the modify-change-comment backend
action for those VCS.

* lisp/vc/vc.el: New get-change-comment backend action.
(vc-modify-change-comment): Pass the backend to vc-start-logentry.
* lisp/vc/log-view.el (log-view-extract-comment): Use new
get-change-comment action.
* lisp/vc/vc-git.el (vc-git-get-change-comment): Factor out of
vc-git-log-edit-toggle-amend.

(cherry picked from commit 01c8f31a54df511913ad88cb6138a01390faafbe)

3 weeks agovc-start-logentry: Use current buffer as parent buffer more often
Sean Whitton [Thu, 17 Oct 2024 12:57:07 +0000 (20:57 +0800)]
vc-start-logentry: Use current buffer as parent buffer more often

* lisp/vc/vc-dispatcher.el (vc-start-logentry): When determining
the parent buffer, if get-file-buffer returns nil, use the
current buffer.  Also, if the first file is a directory, don't
try to call get-file-buffer, just use the current buffer.

(cherry picked from commit 475a33adb9134990fa05be8a6308216f12ed4ef7)

3 weeks agoImprove coverage of scripts by the default fontset
Eli Zaretskii [Thu, 17 Oct 2024 13:21:49 +0000 (16:21 +0300)]
Improve coverage of scripts by the default fontset

* lisp/international/fontset.el (setup-default-fontset): Add
missing "simple" scripts.

(cherry picked from commit 4c0d69cbff14e25fa7489804102ac416cb3590b0)

3 weeks agoMore consistently propertize Log Edit headers as fields
Sean Whitton [Thu, 17 Oct 2024 12:11:53 +0000 (20:11 +0800)]
More consistently propertize Log Edit headers as fields

* lisp/vc/log-edit.el (log-edit--make-header-line): Factor out
of log-edit-insert-message-template.
(log-edit-set-header): Call log-edit--make-header-line so that
the Log Edit header is propertized as a field.

(cherry picked from commit ee265922a0df68893f4d2b23a9190f524b745b6a)

3 weeks agoAdd support for chaining conditionals in Eshell
Jim Porter [Sat, 5 Oct 2024 05:26:01 +0000 (22:26 -0700)]
Add support for chaining conditionals in Eshell

* lisp/eshell/esh-cmd.el (eshell-structure-basic-command): Check for the
presence of the conditional.  Allow any number of BODY forms.
(eshell-rewrite-if-command): Add support for 'else' keyword and chained
conditionals.

* test/lisp/eshell/esh-cmd-tests.el (esh-cmd-test/if-else-statement):
Test 'else' keyword.
(esh-cmd-test/if-else-statement-chain): New test.

* doc/misc/eshell.texi (Control Flow): Document this change.

* etc/NEWS: Announce this change.

(cherry picked from commit fada04cfc788a486265c9da6636611986b48ae49)

3 weeks agoImprove correctness of Eshell sub-forms
Jim Porter [Sat, 5 Oct 2024 04:45:04 +0000 (21:45 -0700)]
Improve correctness of Eshell sub-forms

This makes sure that we treat Eshell sub-forms (whether Lisp or command
forms) as values when appropriate, or as regular invocations.  This
requires a bit more explicit work, but helps to resolve some of the
surprising differences between Lisp and command forms in complex Eshell
statements.

* lisp/eshell/esh-cmd.el (eshell-subcommand-arg-values): Make obsolete.
(eshell-parse-lisp-argument): Don't add 'eshell-command-to-value' here.
(eshell-rewrite-sexp-command): Don't check for 'eshell-command-to-value
here'; instead check for 'eshell-lisp-command'.
(eshell-structure-basic-command): Check for 'eshell-lisp-command'.
(eshell-term-as-value): New function...
(eshell-rewrite-named-command, eshell-rewrite-for-command): ... call it.

* lisp/eshell/esh-arg.el (eshell-parse-special-reference):
* lisp/eshell/esh-io.el (eshell-strip-redirections):
* lisp/eshell/esh-var.el (eshell-prepare-indices): Call
'eshell-term-as-value'.

* test/lisp/eshell/esh-arg-tests.el
(esh-arg-test/special-reference/command-form):
* test/lisp/eshell/esh-cmd-tests.el (esh-cmd-test/for-loop-lisp-body)
(esh-cmd-test/while-loop-lisp-body)
(esh-cmd-test/if-else-statement-lisp-body): New tests.

* test/lisp/eshell/esh-var-tests.el
(esh-var-test/interp-var-indices-subcommand): Add another command to
test.

* doc/misc/eshell.texi (Control Flow): Update documentation.

(cherry picked from commit 40ffacb34b194aa82273539ab7a5be2f485a706f)

3 weeks agoSimplify creation of Eshell command forms
Jim Porter [Wed, 18 Sep 2024 05:05:50 +0000 (22:05 -0700)]
Simplify creation of Eshell command forms

Previously, Eshell over-aggressively converted subcommands, which forced
control flow commands to undo that change.

* lisp/eshell/esh-cmd.el (eshell-pre-rewrite-command-hook): Remove
'eshell-subcommand-arg-values' call from here...
(eshell-rewrite-named-command): ... and put it here.
(eshell-invokify-arg): Make obsolete.
(eshell-structure-basic-command): Handle subcommand test forms.
(eshell-rewrite-for-command, eshell-rewrite-while-command)
(eshell-rewrite-if-command): Don't call 'eshell-invokify-arg'; it's not
necessary.

(cherry picked from commit af029cdb3a69ba67ae88c9e93b7564778c61a3c6)

3 weeks agoNew helper function project-read-project
Dmitry Gutov [Wed, 16 Oct 2024 22:57:40 +0000 (01:57 +0300)]
New helper function project-read-project

* lisp/progmodes/project.el (project-read-project): New helper.

(cherry picked from commit 561ab9829dd000a8078c6c66f7e8c29056adf31c)

3 weeks agoAdd suffixes individually and use minor mode directly
Michael R. Mauger [Wed, 16 Oct 2024 21:59:58 +0000 (17:59 -0400)]
Add suffixes individually and use minor mode directly

  * lisp/jka-cmpr-hook.el (jka-compr-install): Add jka-compr
  suffixes individually with add-to-list rather than append.
  * (with-auto-compression-mode): Use auto-compression-mode minor mode.

(cherry picked from commit aaa734ac6e80e3375bcf32cad9c2b484c1217b57)

3 weeks agoUse debian:bookworm for tests on emba
Michael Albinus [Wed, 16 Oct 2024 15:26:44 +0000 (17:26 +0200)]
Use debian:bookworm for tests on emba

* test/infra/Dockerfile.emba (emacs-base): Derive from debian:bookworm.
(emacs-eglot, emacs-tree-sitter): Derive from emacs-base.
(emacs-native-comp): Install libgccjit-12-dev.

(cherry picked from commit 6213ca44d43688e14641034ebdd8fab4b360d224)

3 weeks agoCC Mode: Fix dodgy lisp `let' form.
Alan Mackenzie [Wed, 16 Oct 2024 13:17:26 +0000 (13:17 +0000)]
CC Mode: Fix dodgy lisp `let' form.

* lisp/progmodes/cc-engine.el (c-forward-sws): Move a `setq'
form from out of a let binding.  This form could have been
affected by the byte compiler bug bug#67116 before this was
fixed.

(cherry picked from commit 5340fdaade1f8fe7af08293619cca89ae0796fcf)

3 weeks agoCC Mode: Rationalize and optimize cache invalidation (2).
Alan Mackenzie [Tue, 15 Oct 2024 21:08:41 +0000 (21:08 +0000)]
CC Mode: Rationalize and optimize cache invalidation (2).

Replace separate syntax-table text property changes and cache
invalidation with macros which do both together.  Correct a bug
in the invocation of XEmacs's map-extents.

* lisp/progmodes/cc-defs.el (c-put-syntax-table-trim-caches)
(c-clear-syntax-table-trim-caches)
(c-clear-syntax-table-properties-trim-caches)
(c-clear-syntax-table-with-value-trim-caches)
(c-clear-syntax-table-with-value-on-char-trim-caches)
(c-put-syntax-table-properties-on-char-trim-caches): New
macros.
(c-clear-char-properties, c-clear-char-property-with-value)
(c-clear-char-property-with-value-on-char): Correct the
invocation of XEmacs's map-extents by returning nil from the
mapping function to prevent premature exit from map-extents.
(c-clear-char-property-with-value-function)
(c-clear-char-property-with-value)
(c-clear-char-property-with-value-on-char-function)
(c-clear-char-property-with-value-on-char)
(c-put-char-properties-on-char): Enhance to return the position
of the first changed char property (or nil).

* lisp/progmodes/cc-awk.el
(c-awk-set-string-regexp-syntax-table-properties)
(c-awk-set-syntax-table-properties)
* lisp/progmodes/cc-engine.el
(c-depropertize-ml-string-delims)
(c-after-change-unmark-ml-strings, c-propertize-ml-string-id)
(c-propertize-ml-string-opener, c-depropertize-ml-string)
(c-depropertize-ml-strings-in-region)
* lisp/progmodes/cc-mode.el (c-depropertize-CPP)
(c-neutralize-CPP-line, c-put-syn-tab, c-clear-syn-tab)
(c-parse-quotes-before-change, c-parse-quotes-after-change)
(c-before-change-fix-comment-escapes)
(c-after-change-fix-comment-escapes): Use the new macros from
cc-defs.el.

* lisp/progmodes/cc-mode.el
(c-trim-cache-first-punctuation-prop): Remove.
(c-depropertize-CPP): Remove calls to the above function.

(cherry picked from commit fdac10b216f7b47e2eea129d2a96807a0c2055f3)

3 weeks ago* lisp/emacs-lisp/comp-cstr.el (comp-cstr-type-p): Add assertion.
Andrea Corallo [Tue, 15 Oct 2024 19:02:59 +0000 (21:02 +0200)]
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-type-p): Add assertion.

(cherry picked from commit 1686d48417315f809403aeb29559788ef4b755a6)

3 weeks agoFix comp branch-optim pass (bug#73270)
Andrea Corallo [Tue, 15 Oct 2024 13:30:49 +0000 (15:30 +0200)]
Fix comp branch-optim pass (bug#73270)

* test/src/comp-tests.el (comp-test-73270-1): Define new test.
* test/src/comp-resources/comp-test-funcs.el (comp-test-73270-base)
(comp-test-73270-child1, comp-test-73270-child2)
(comp-test-73270-child3, comp-test-73270-child4)
(comp-test-73270-1-f): Define.
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-type-p): Fix it for nil cstrs.

(cherry picked from commit cd739d3644be618008e5c369b4e96201a05a3d1b)

3 weeks ago* lisp/emacs-lisp/comp.el (comp--type-check-optim-block): Improve log msg.
Andrea Corallo [Tue, 15 Oct 2024 13:30:26 +0000 (15:30 +0200)]
* lisp/emacs-lisp/comp.el (comp--type-check-optim-block): Improve log msg.

(cherry picked from commit 358b38bc17875c462c2131b9eeb85d3456c0be2b)

3 weeks ago; Update lisp/ldefs-boot.el
Eshel Yaron [Thu, 17 Oct 2024 18:49:00 +0000 (20:49 +0200)]
; Update lisp/ldefs-boot.el

3 weeks agoDrop IDLWAVE
Eshel Yaron [Thu, 17 Oct 2024 15:24:04 +0000 (17:24 +0200)]
Drop IDLWAVE

3 weeks agoSimplify in-buffer completion
Eshel Yaron [Thu, 17 Oct 2024 15:19:24 +0000 (17:19 +0200)]
Simplify in-buffer completion

3 weeks agoEnable 'partial-completion' by default for 'symbol-help'
Eshel Yaron [Thu, 17 Oct 2024 15:18:19 +0000 (17:18 +0200)]
Enable 'partial-completion' by default for 'symbol-help'

3 weeks agoAdd ':group' to some 'defface's
Eshel Yaron [Thu, 17 Oct 2024 15:14:11 +0000 (17:14 +0200)]
Add ':group' to some 'defface's

3 weeks agoFix extraneous parenthesis in java-ts-mode.el
Eshel Yaron [Thu, 17 Oct 2024 15:00:45 +0000 (17:00 +0200)]
Fix extraneous parenthesis in java-ts-mode.el

3 weeks agoDrop 'icomplete-in-buffer'
Eshel Yaron [Wed, 16 Oct 2024 08:47:40 +0000 (10:47 +0200)]
Drop 'icomplete-in-buffer'

4 weeks agoReport correct unread count for nnimap groups
Dan Christensen [Fri, 11 Oct 2024 13:31:52 +0000 (15:31 +0200)]
Report correct unread count for nnimap groups

* lisp/gnus/nnimap.el (nnimap-request-group): Use '(1 . 0) range
as default, and calculate the actual range the same way as other
backends.  (Bug@72949)

Copyright-paperwork-exempt: Yes
(cherry picked from commit 5c129791c5b1639481c109cc44974c7d9b7f3dcf)

4 weeks agoSet treesit-primary-parser for tree-sitter modes
Yuan Fu [Tue, 8 Oct 2024 00:24:32 +0000 (17:24 -0700)]
Set treesit-primary-parser for tree-sitter modes

I debated whether to do this, since technically speaking it's
not needed for single-language modes.  But ultimately it's
better to be explicit and set a good example with builtin modes.

* lisp/progmodes/cmake-ts-mode.el (cmake-ts-mode):
* lisp/progmodes/csharp-mode.el (csharp-ts-mode):
* lisp/progmodes/dockerfile-ts-mode.el (dockerfile-ts-mode):
* lisp/progmodes/go-ts-mode.el (go-ts-mode):
(go-mod-ts-mode):
* lisp/progmodes/heex-ts-mode.el (heex-ts-mode):
* lisp/progmodes/json-ts-mode.el (json-ts-mode):
* lisp/progmodes/lua-ts-mode.el (lua-ts-mode):
* lisp/progmodes/python.el (python-ts-mode):
* lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode):
* lisp/progmodes/rust-ts-mode.el (rust-ts-mode):
* lisp/progmodes/sh-script.el:
* lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode):
(tsx-ts-mode):
* lisp/textmodes/css-mode.el (css-ts-mode):
* lisp/textmodes/html-ts-mode.el (html-ts-mode):
* lisp/textmodes/toml-ts-mode.el (toml-ts-mode):
* lisp/textmodes/yaml-ts-mode.el (yaml-ts-mode): Set
treesit-primary-parser.

(cherry picked from commit c436d4eff97b3919c9f8cdec504272d6f7ed393f)

4 weeks agoCC Mode: Correct and simplify quoted number regexps
Alan Mackenzie [Mon, 14 Oct 2024 21:27:04 +0000 (21:27 +0000)]
CC Mode: Correct and simplify quoted number regexps

C++ Mode now gives correct fontification when \' is inserted
between the adjacent apostrophes in the number 0xde'adb''eef.

* lisp/progmodes/cc-mode.el (c-maybe-quoted-number-head):
Simplify and correct.
(c-maybe-quoted-number-tail, c-maybe-quoted-number): Simplify.

(cherry picked from commit 2a6f1527f6b3080c3879e6159424b824c86801a7)

4 weeks agoDescribe how to add an ELPA package to Tramp
Michael Albinus [Sun, 13 Oct 2024 16:05:39 +0000 (18:05 +0200)]
Describe how to add an ELPA package to Tramp

* doc/misc/tramp.texi: Use @dots{} where appropriate.
(External packages): Rename subsection "Timers, process filters,
process sentinels, redisplay".
(Extension packages): New node.
(Top, Files directories and localnames): Add it to @menu.

(cherry picked from commit 6864ac2bc3bee1add508872b756693a6fbe0c2e7)

4 weeks agoAdapt gitlab-ci.yml
Michael Albinus [Sun, 13 Oct 2024 13:40:42 +0000 (15:40 +0200)]
Adapt gitlab-ci.yml

* test/infra/gitlab-ci.yml (variables): Set GIT_DEPTH: 0.
(.job-template): Remove cache:policy.
(.build-template): Add needs and cache:policy.
(.test-template): Add cache:policy.
(.tree-sitter-template): Add files in changes.

(cherry picked from commit 19f929aaa33a3bd8cc02a7fdfa0d8dc4c2fa8fc3)

4 weeks ago; Skip commit 29bf0a8b31baf4ece85fb8f0698525547b2fe70e
Eshel Yaron [Mon, 14 Oct 2024 17:43:48 +0000 (19:43 +0200)]
; Skip commit 29bf0a8b31baf4ece85fb8f0698525547b2fe70e

4 weeks ago; Skip commit 9a110c390dce9600ce8323ce8e87b14d379736e4
Eshel Yaron [Mon, 14 Oct 2024 17:42:53 +0000 (19:42 +0200)]
; Skip commit 9a110c390dce9600ce8323ce8e87b14d379736e4

4 weeks ago; Skip commit da048c6927020e71b7c3d0f39e0d37cdb3ae76ab
Eshel Yaron [Mon, 14 Oct 2024 17:42:31 +0000 (19:42 +0200)]
; Skip commit da048c6927020e71b7c3d0f39e0d37cdb3ae76ab

4 weeks agovc-src-working-revision: Call string-trim-right on command output
Alex Bochannek [Sat, 12 Oct 2024 03:32:41 +0000 (20:32 -0700)]
vc-src-working-revision: Call string-trim-right on command output

* lisp/vc/vc-src.el (vc-src-working-revision): Call string-trim-right on
command output (bug#73763).

(cherry picked from commit f36d059cded88b0b6dafcc4a21a478ef0aaacf81)

4 weeks agoFix bug when splitting a frame's root window (Bug#73627)
Martin Rudalics [Sun, 13 Oct 2024 07:48:05 +0000 (09:48 +0200)]
Fix bug when splitting a frame's root window (Bug#73627)

* lisp/window.el (split-window): Split main window of WINDOW's
frame when that frame has side windows (Bug#73627).

(cherry picked from commit a58dc58fec8dc146cf10454c6a2b3174d1b4c2f8)

4 weeks agoImprove face font selection on MS-Windows
Eli Zaretskii [Sat, 12 Oct 2024 17:55:47 +0000 (20:55 +0300)]
Improve face font selection on MS-Windows

* lisp/net/dictionary.el (dictionary-word-definition-face):
Special-case w32.
* lisp/faces.el (face-font-family-alternatives): Add a few modern
font families.

(cherry picked from commit 7d9513f9c48ba4d197502ad8196d51f18894145e)

4 weeks agoImprove tests for flow-fill
Pengji Zhang [Wed, 28 Aug 2024 11:11:35 +0000 (19:11 +0800)]
Improve tests for flow-fill

* test/lisp/mail/flow-fill-tests.el
(fill-flow-tests-fill-flowed-decode): Remove debug message.
(fill-flow-tests-fill-flowed-encode): Actually test function
`fill-flowed-encode', which requires `use-hard-newline' to be
non-nil.  Also adjust test input to check behavior of the
function under different cases.  (Bug#72870)

(cherry picked from commit c3600916b6942b2a9797ec2248d29cb337c7c6fa)

4 weeks agoFlow fill texts after the last hard newline
Pengji Zhang [Wed, 28 Aug 2024 10:57:35 +0000 (18:57 +0800)]
Flow fill texts after the last hard newline

* lisp/mail/flow-fill.el (fill-flowed-encode): Use `(point-max)'
as `end' if there are no remaining hard newlines in buffer.
This ensures that the last paragraph will always be encoded,
even without a trailing hard newline.  (Bug#72870)

(cherry picked from commit fc214b668391abed313920cd44f3d913c8207e0e)

4 weeks ago* lisp/progmodes/compile.el (recompile): Autoload (bug#73697).
Eli Zaretskii [Sat, 12 Oct 2024 12:23:25 +0000 (15:23 +0300)]
* lisp/progmodes/compile.el (recompile): Autoload (bug#73697).

(cherry picked from commit a724a497084dceb895f17eaea5b90bd13c05a769)

4 weeks agoStop highlighting current line when debuggee is running
Diancheng Wang [Tue, 8 Oct 2024 03:11:24 +0000 (11:11 +0800)]
Stop highlighting current line when debuggee is running

* lisp/progmodes/gud.el (gud-hide-current-line-indicator): New
function.
(gud-sentinel):
* lisp/progmodes/gdb-mi.el (gdb-starting): Use it.  (Bug#73687)

(cherry picked from commit bd5d84e5d3311e7ab4a7d0091d6c98365927d17a)

4 weeks agoAdd foldout command for widening to current fold
Paul Nelson [Sun, 15 Sep 2024 23:33:53 +0000 (01:33 +0200)]
Add foldout command for widening to current fold

* lisp/foldout.el (foldout-widen-to-current-fold): New command.
* doc/emacs/text.texi (Foldout): Document it.
* etc/NEWS: Announce it.  (Bug#73286)

(cherry picked from commit ebfd5874f0b74cec06572ffc3e9bf7288bd5e77b)

4 weeks agoCorrectly update image properties
Manuel Giraud [Thu, 3 Oct 2024 14:20:19 +0000 (16:20 +0200)]
Correctly update image properties

* lisp/image-mode.el (image--update-properties): New function to
update image properties.
(image-toggle-display-image): Use it.  (Bug#73617)

(cherry picked from commit 0e9502b10e08d1c93fe9b134b8cf74eae42c1eae)

4 weeks ago; Revise docstring from last change
Sean Whitton [Sat, 12 Oct 2024 08:58:25 +0000 (16:58 +0800)]
; Revise docstring from last change

(cherry picked from commit 16e835171a8ce388e581174925e47263e864727d)

4 weeks agoProperly operate on current fileset revision in vc-hg-print-log
Spencer Baugh [Wed, 2 Oct 2024 19:20:31 +0000 (15:20 -0400)]
Properly operate on current fileset revision in vc-hg-print-log

* lisp/vc/vc-hg.el (vc-hg-print-log): If start-revision is nil,
reliably log the working revision. (bug#73604)

(cherry picked from commit fbeb3d22b7fabf13cd788772ade2ed594ee60872)

4 weeks ago; * doc/emacs/search.texi (Word Search): Document 'dictionary-search'.
Eli Zaretskii [Sat, 12 Oct 2024 07:17:10 +0000 (10:17 +0300)]
; * doc/emacs/search.texi (Word Search): Document 'dictionary-search'.

(cherry picked from commit 0f8f0773183a07a229b23d3f970723ceb9585aef)

4 weeks ago; * lisp/emacs-lisp/chart.el (chart-bar-quickie): Doc fix.
Eli Zaretskii [Sat, 12 Oct 2024 05:44:28 +0000 (08:44 +0300)]
; * lisp/emacs-lisp/chart.el (chart-bar-quickie): Doc fix.

(cherry picked from commit fb155bcfb6f7dfdec3aaf9f535428d46419a6b4e)

4 weeks agoUse erc-compat analog for window-no-other-p
F. Jason Park [Fri, 11 Oct 2024 21:25:43 +0000 (14:25 -0700)]
Use erc-compat analog for window-no-other-p

* lisp/erc/erc-compat.el (erc-compat--window-no-other-p): New function.
* lisp/erc/erc-speedbar.el (erc-speedbar-toggle-nicknames-window-lock):
Use compat adapter for `window-no-other-p'.

(cherry picked from commit 6e80509099e27e237787186f4e8731bfdfb9b00d)

4 weeks agoAdd baseline test coverage for erc-match
F. Jason Park [Thu, 10 Oct 2024 23:17:03 +0000 (16:17 -0700)]
Add baseline test coverage for erc-match

* lisp/erc/erc-match.el (erc-pal-highlight-type)
(erc-fool-highlight-type, erc-dangerous-host-highlight-type): Clarify
some areas in doc strings.
* test/lisp/erc/erc-match-tests.el: Require `erc-test-common' library.
(erc-match-tests--assert-face-absent)
(erc-match-tests--assert-face-present)
(erc-match-tests--assert-speaker-highlighted)
(erc-match-tests--assert-speaker-only-highlighted)
(erc-match-tests--perform)
(erc-match-tests--hl-type-nick): New functions.
(erc-match-message/pal/nick, erc-match-message/fool/nick)
(erc-match-message/dangerous-host/nick): New tests.
(erc-match-tests--hl-type-message): New function.
(erc-match-message/pal/message)
(erc-match-message/fool/message)
(erc-match-message/dangerous-host/message): New tests.
(erc-match-tests--hl-type-all): New function.
(erc-match-message/pal/all, erc-match-message/fool/all)
(erc-match-message/dangerous-host/all): New tests.
(erc-match-tests--hl-type-nick-or-keyword): New function.
(erc-match-message/current-nick/nick-or-keyword): New test.
(erc-match-tests--hl-type-keyword): New function.
(erc-match-message/keyword/keyword): New test.
(erc-match-tests--log-matches): New function.
(erc-log-matches): New test.
* test/lisp/erc/resources/erc-tests-common.el: Require `erc-d-i'.
(erc-tests-common-add-cmem, erc-tests-common-parse-line)
(erc-tests-common-simulate-line)
(erc-tests-common-simulate-privmsg): New functions.

(cherry picked from commit 9bddb264ba851f39068773b9538de4170928e159)

4 weeks agoCrystallize erc-nicks-track-faces behavior
F. Jason Park [Fri, 27 Sep 2024 04:34:25 +0000 (21:34 -0700)]
Crystallize erc-nicks-track-faces behavior

* etc/ERC-NEWS: Mention changes to `erc-track-faces-normal-list' and
`erc-track-faces-priority-list'.  Also mention new choice variant for
option `erc-nicks-track-faces', although that's arguably just a bug fix
because it makes good on previously unrealized behavior implied by the
doc strings.
* lisp/erc/erc-nicks.el (erc-nicks-skip-faces): Remove faces applied by
the `match' module, namely, `erc-current-nick-face', `erc-pal-face', and
`erc-fool-face'.  That module runs its hooks after `button' on
`erc-insert-modify-hook', and because `nicks' piggybacks on `button', it
can never encounter those faces while assaying.
(erc-nicks-track-faces): Update doc, and introduce new `t' value choice.
(erc-nicks-mode, erc-nicks-disable): Update removals from
`erc-track--alt-normals-function' to reflect recent renamings.
(erc-nicks--reject-uninterned-faces): Use helper.
(erc-nicks--oursp, erc-nicks--ours-p): Rename former to latter to
respect project style guidelines regarding predicates.
(erc-nicks-track-normal-max-rank): New variable.
(erc-nicks--check-normals, erc-nicks--assess-track-faces): Rename former
to latter, and change purpose to checking for "normals" membership,
ranks position, and incumbent face ownership.  Remove unused CONTENDERS
parameter.  Additionally, change behavior to consider replacing the
current mode-line face when it's not `nicks' owned if it's explicitly
ranked lower than `erc-default-face'.
(erc-nicks--track-prioritize, erc-nicks--track-always): New
complementary functions implementing the t and `prioritize' variants of
`erc-nicks-track-faces'.  Both make use of the factored-out
`erc-nicks--check-normals' logic.
(erc-nicks--setup-track-integration): Add `erc-nicks--track-always' to
`erc-track--alt-normals-function' when `erc-track-normal-faces' is t.
* lisp/erc/erc-track.el (erc-track--massage-nick-button-faces): Change
type of symbol property `erc-track--obsolete-faces' for options
`erc-track-faces-priority-list' and friends from a boolean to an alist.
(erc-track-faces-priority-list): Add new face for buttonized speakers.
(erc-track-faces-normal-list): Add new face for buttonized speakers.
Also add `erc-notice-face'.
(erc-track--priority-faces): New local variable to cache ranked faces
and complement `erc-track--normal-faces'.
(erc-track--setup): Initialize new `erc-track--priority-faces' variable,
and refactor.
(erc-track--alt-normals-function): Doc.
(erc-track--select-mode-line-face): Update expected type of `ranks'
parameter.
(erc-track-modified-channels): Fix wrong-type bug occurring when
`erc-track-ignore-normal-contenders-p' and
`erc-track-priority-faces-only' are both non-nil.  Also fix subtle
compatibility oversight regarding an empty face list returned by
`erc-track--collect-faces-in'.
* test/lisp/erc/erc-nicks-tests.el: Load helpers and fixtures library.
(erc-nicks-tests--track-faces): New function.
(erc-nicks-track-faces/prioritize, erc-nicks-track-faces/defer)
(erc-nicks-track-faces/nil, erc-nicks-track-faces/t): New tests.
* test/lisp/erc/erc-track-tests.el
(erc-track-tests--select-mode-line-face): Update expected type of mocked
parameter.
(erc-track-tests--modified-channels/baseline): New function.
(erc-track-modified-channels/baseline)
(erc-track-modified-channels/baseline/mention)
(erc-track-modified-channels/baseline/ignore)
(erc-track-modified-channels/baseline/mention/ignore)
(erc-track-modified-channels/priority-only-all/baseline)
(erc-track-modified-channels/priority-only-all/sans-notice): New tests.
* test/lisp/erc/resources/erc-tests-common.el
(erc-tests-common-track-modified-channels)
(erc-tests-common-track-modified-channels-sans-setup): New functions.
(Bug67767)

(cherry picked from commit 9906e34f973f15c0f96ebcfcc6ea4d1144bc6e8f)

4 weeks agoDon't create directory in erc-truncate compat check
F. Jason Park [Mon, 30 Sep 2024 09:10:02 +0000 (02:10 -0700)]
Don't create directory in erc-truncate compat check

* lisp/erc/erc-log.el (erc-log--check-writable-nocreate-p): New variable.
(erc-logging-enabled): Use `erc-log--save-in-progress-p' flag to
conditionally avoid creating a directory when checking if the location
is writable.
(erc-log--call-when-logging-enabled-sans-module)
(erc-log--check-legacy-implicit-enabling-by-truncate): Rename former to
latter, and guard against creating a ~/log directory just to see if it's
writable when calling `erc-logging-enabled'.
(erc-truncate-mode): Explain legacy "implicit logging" behavior in doc
string.
* lisp/erc/erc-truncate.el (erc-truncate--warn-about-logging): Make more
concise, and defer to `erc-truncate-mode' doc string for particulars.
* lisp/erc/erc.el (erc-directory-writable-p): Add comment to rename on
next non-patch release.

(cherry picked from commit 1de2c86317356dbbf5e7f935d3889b2698bc30f6)

4 weeks ago; Add face customization to ERC's sample config
F. Jason Park [Wed, 2 Oct 2024 23:41:39 +0000 (16:41 -0700)]
; Add face customization to ERC's sample config

* doc/misc/erc.texi (Sample Configuration): Move `erc-modules' twiddling
from a `use-package' :config section to a :custom section.  In the past,
this would sometimes provoke module-loading issues, but it seems to work
fine on Emacs 30, even with repeated eval'ing of the `use-package' form.
This sample config is meant for users running the latest release anyhow.
Also add a new `use-package' block for `erc-match' showing how to
customize a face using inheritance.  Add a corresponding section further
down showing the same via Customize.

(cherry picked from commit 3f1ce47fe7eb4809bfa9ef035caae748c3c5d729)

4 weeks ago; Skip commit a30f115daada7633ac3f6d1b93e564c8b15612a3
Eshel Yaron [Mon, 14 Oct 2024 17:38:26 +0000 (19:38 +0200)]
; Skip commit a30f115daada7633ac3f6d1b93e564c8b15612a3

4 weeks ago; * lisp/emacs-lisp/chart.el (chart-bar-quickie): Improve documentation.
Andrea Corallo [Fri, 11 Oct 2024 13:26:28 +0000 (15:26 +0200)]
; * lisp/emacs-lisp/chart.el (chart-bar-quickie): Improve documentation.

(cherry picked from commit 6dbe4e99ac41bc1f5bcbdbda3c215941170bc9c5)

4 weeks agognus-sum: fix missing space after prompt
Andreas Schwab [Fri, 11 Oct 2024 18:48:59 +0000 (20:48 +0200)]
gnus-sum: fix missing space after prompt

* lisp/gnus/gnus-sum.el (gnus-summary-limit-exclude-marks)
(gnus-summary-limit-to-marks): Add space after prompt.

(cherry picked from commit e0b9eba35c72d67d2223f4b59c39a6e2beb9af31)

4 weeks agoRemove buttons when disabling 'button-mode'
Robert Pluim [Wed, 25 Sep 2024 14:52:57 +0000 (16:52 +0200)]
Remove buttons when disabling 'button-mode'

* lisp/button.el (button-mode): Remove all buttons when disabling.
* doc/lispref/display.texi (Button Buffer Commands): Document
the change.  (Bug#73175)

(cherry picked from commit e631a3f30679d3c4e465a5765e261b068e9357dc)

4 weeks agoAdd unbuttonize-region
Robert Pluim [Wed, 25 Sep 2024 13:49:53 +0000 (15:49 +0200)]
Add unbuttonize-region

* doc/lispref/display.texi (Making Buttons): Document it.
* lisp/button.el (unbuttonize-region): New function, removes all
buttons in the specified region.

(cherry picked from commit 08ee074a6f140a82e327fba446c05c96fe64932c)

4 weeks agoMake url-http thread-safe (Bug#73199)
Michael Albinus [Fri, 11 Oct 2024 10:06:08 +0000 (12:06 +0200)]
Make url-http thread-safe (Bug#73199)

* lisp/url/url-http.el (url-http-open-connections): Adapt docstring.
(current-thread, thread-live-p): Declare.
(url-http-mark-connection-as-busy)
(url-http-mark-connection-as-free)
(url-http-find-free-connection): Use extended hash key.  (Bug#73199)

(cherry picked from commit 8032423239ae2df6970c208a1b0166dcda65a445)

4 weeks agoFix how 'no-other-window' window parameter is ignored (Bug#73706)
Martin Rudalics [Fri, 11 Oct 2024 08:39:10 +0000 (10:39 +0200)]
Fix how 'no-other-window' window parameter is ignored (Bug#73706)

* lisp/window.el (window-no-other-p): New function.
(window-in-direction, get-lru-window, get-mru-window)
(get-largest-window, other-window, window-at-x-y)
(delete-window-choose-selected, delete-window): Use it to check
whether 'ignore-window-parameters' should inhibit processing the
'no-other-window' parameter (Bug#73706).
* lisp/erc/erc-speedbar.el
(erc-speedbar-toggle-nicknames-window-lock): Use
'window-no-other-p'.
* doc/lispref/windows.texi (Windows and Frames)
(Deleting Windows, Cyclic Window Ordering): Describe new
function 'window-no-other-p' and use it in description of
functions that call it.
(Window Parameters): Add cross references for 'no-other-window'
parameter.

(cherry picked from commit 3462b2b9d0ca6a483d5c3200ef71a8ca243225d1)

4 weeks agoshr: handle anonymous documents with an empty base
Andreas Schwab [Fri, 11 Oct 2024 06:49:26 +0000 (08:49 +0200)]
shr: handle anonymous documents with an empty base

* lisp/net/shr.el (shr-parse-base): Make sure local is non-nil.

(cherry picked from commit bf49113d696b00971d756ce2b67fe15c0ff1ba81)

4 weeks agoAdd an edebug spec for macroexp--with-extended-form-stack
Alan Mackenzie [Thu, 10 Oct 2024 16:39:54 +0000 (16:39 +0000)]
Add an edebug spec for macroexp--with-extended-form-stack

* lisp/emacs-lisp/macroexp.el
  (macroexp--with-extended-form-stack): Add the edebug spec
  (sexp body).

(cherry picked from commit 42393b9883777732fd29ed4b43110a1e89bba3a2)

4 weeks agoTramp: Don't redisplay in `sit-for'
Michael Albinus [Thu, 10 Oct 2024 10:49:56 +0000 (12:49 +0200)]
Tramp: Don't redisplay in `sit-for'

* lisp/net/tramp.el (tramp-wait-for-regexp):
* lisp/net/tramp-message.el (tramp-error-with-buffer, tramp-user-error):
Don't redisplay in `sit-for'.  (Bug#73718)

(cherry picked from commit 1d137b69040866c3251fc30762299d307ddfc830)

4 weeks agoAdd imenu support for ODF files in doc-view
Visuwesh [Wed, 9 Oct 2024 14:06:18 +0000 (19:36 +0530)]
Add imenu support for ODF files in doc-view

* lisp/doc-view.el (doc-view--outline): Pass the right file to
doc-view--pdf-outline.
* doc/emacs/misc.texi (DocView Navigation): Mention support for
Open Format Document (ODF) files too.
* etc/NEWS: Announce the change.  (bug#73719)

(cherry picked from commit 9ddeeda8ce156201ea3c8cc8d6b388efb4d80bef)

4 weeks ago; More accurate documentation of 'file-newer-than-file-p'
Eli Zaretskii [Thu, 10 Oct 2024 08:03:48 +0000 (11:03 +0300)]
; More accurate documentation of 'file-newer-than-file-p'

* doc/lispref/files.texi (File Attributes):
* src/fileio.c (Ffile_newer_than_file_p): Say the comparison uses
the last-modification times.  (Bug#73709)

(cherry picked from commit d664227f81aed98097520877a16c5369403a6a2d)

4 weeks agoFix c-ts-mode indentation for initializer lists (bug#73661)
Jørgen Kvalsvik [Fri, 4 Oct 2024 19:38:33 +0000 (21:38 +0200)]
Fix c-ts-mode indentation for initializer lists (bug#73661)

The intentation behavior differed between c-mode/c++-mode
and *-ts-mode for initializer lists where the first element was
not at beginning-of-line.  The anchor-prev-sibling function gave
up and returned nil, but it should (probably) anchor on the
first element in the initializer list, such as this:

return { v1, v2, ...,
         y1, y2, ... };

c-ts-mode behaved better and figured out how to align, but I
added a test for a similar compound literal to prevent
regressions.

* lisp/progmodes/c-ts-mode.el (c-ts-mode--anchor-prev-sibling):
Anchor at first sibling unless bol is found.

* test/lisp/progmodes/c-ts-mode-resources/indent.erts: New
initializer list and compound literal test.

Copyright-paperwork-exempt: yes
(cherry picked from commit e49b479f8692573379a1ee3417bdda9e1f777888)

4 weeks ago; Fix typos
Juri Linkov [Thu, 10 Oct 2024 06:17:00 +0000 (09:17 +0300)]
; Fix typos

(cherry picked from commit 58bcd1dbe0b70a331747ccfd2f9e5cf8790849a1)

4 weeks ago; Skip commit cb0b6a405706f6367d9adfb3ee447590c2a0876f
Eshel Yaron [Mon, 14 Oct 2024 17:37:45 +0000 (19:37 +0200)]
; Skip commit cb0b6a405706f6367d9adfb3ee447590c2a0876f

4 weeks agoMake revision completion in vc-diff and vc-root-diff more predictable
Dmitry Gutov [Wed, 9 Oct 2024 23:08:53 +0000 (02:08 +0300)]
Make revision completion in vc-diff and vc-root-diff more predictable

* lisp/vc/vc.el (vc-root-version-diff):
Don't try calling 'vc-deduce-fileset', instead construct a fileset
suitable for the root directory right away.  This way the revision
completion for the root diff doesn't depend on the current buffer,
or the file at point (bug#73232).
(vc-diff-build-argument-list-internal): No special case when
invoked on a directory, or when the current file is not "dirty".
Make REV1-DEFAULT a string value.

* etc/NEWS: Mention the change.

(cherry picked from commit a295d7de9e8cae03fd4be6838d7eee59381791e4)

4 weeks agoAvoid segfaults in Rmail-MIME
Eli Zaretskii [Wed, 9 Oct 2024 13:21:08 +0000 (16:21 +0300)]
Avoid segfaults in Rmail-MIME

Rmail-MIME decodes text of email, including removal of
CR characters, but that can segfault if the text of some
MIME part is empty.
* src/coding.c (decode_coding_raw_text):
* lisp/mail/rmailmm.el (rmail-mime-insert-decoded-text): Don't
attempt to decode empty text region.

(cherry picked from commit f520008744b1eb71accded4108888d1f2055402e)

4 weeks agoEglot: use :immediate t when resolving completions (bug#73279)
Brennan Vincent [Wed, 9 Oct 2024 11:30:30 +0000 (06:30 -0500)]
Eglot: use :immediate t when resolving completions (bug#73279)

Copyright-paperwork-exempt: Yes

* lisp/progmodes/eglot.el (eglot-completion-at-point): Tweak
eglot--request call.

(cherry picked from commit 6a5c2edd84fc3fdb879e4a19ea182c2a4d385833)

4 weeks agoEglot: minor changes to doc and docstrings
João Távora [Wed, 9 Oct 2024 11:26:27 +0000 (06:26 -0500)]
Eglot: minor changes to doc and docstrings

* doc/misc/eglot.texi (Quick Start): Tweak.
(Setting Up LSP Servers): Tweak.
(Customizing Eglot): Clarify eglot-connect-hook and
eglot-initialized-hook.

* lisp/progmodes/eglot.el (eglot-connect-hook)
(eglot-server-initialized-hook): Rework docstring.

(cherry picked from commit cd36e070c24d7828ea1b9bf62ffa920068ac4d41)

4 weeks ago; Fix coding style in w32fns.c
Po Lu [Wed, 9 Oct 2024 01:37:07 +0000 (09:37 +0800)]
; Fix coding style in w32fns.c

* src/w32fns.c (process_dropfiles, STDMETHODCALLTYPE)
(w32_createwindow): Fix coding style.

(cherry picked from commit 9ed82c26a36caf9a9a85779cbb3a58b7ccd3dffb)

4 weeks agohelp-setup-xref: Fix the previous changes
Dmitry Gutov [Wed, 9 Oct 2024 01:03:51 +0000 (04:03 +0300)]
help-setup-xref: Fix the previous changes

* lisp/help-mode.el (help-setup-xref): Instead of killing all
local variables directly, call the current major mode function, to
preserve its own locals while dropping the rest (bug#73637).

(cherry picked from commit ef87ce0ffae95de61e1c34ed27ff22c1051769e8)

4 weeks agoRevert "Set treesit-primary-parser for tree-sitter modes"
Yuan Fu [Wed, 9 Oct 2024 00:33:11 +0000 (17:33 -0700)]
Revert "Set treesit-primary-parser for tree-sitter modes"

This reverts commit ed57faafc74e0810b492841deccb3cdc77a258ff.

(cherry picked from commit 1ea0d9b891bf7abadd291aeb715c51c4cc496dba)

4 weeks agoMake imenu index generation for PDFs more reliable
Visuwesh [Sun, 6 Oct 2024 12:32:06 +0000 (18:02 +0530)]
Make imenu index generation for PDFs more reliable

Do away with parsing the output of "mutool show FILE outline"
since the URI reported in its output may not include the page
number of the heading, and instead may contained "nameddest"
elements which cannot be resolved using "mutool".  Instead, use
a MuPDF JS script to generate the PDF outline allowing to
resolve such URIs.

* lisp/doc-view.el (doc-view--outline-rx): Remove as no longer
needed.
(doc-view--outline): Reflect that outline can be generated for
non-PDF files too.
(doc-view--mutool-pdf-outline-script): Add new variable to hold
the JS script used to generate the outline.
(doc-view--pdf-outline): Use the script.  (bug#73638)

(cherry picked from commit 44aa385b9afe2f2d500f62fd679314150e859d77)

4 weeks agoImplement drag-n-drop for w32 with support for files and text
Cecilio Pardo [Fri, 27 Sep 2024 21:58:02 +0000 (23:58 +0200)]
Implement drag-n-drop for w32 with support for files and text

Implement drag-n-drop with IDropTarget for MS-Windows. This
allows for dropping files or text.
* lisp/term/w32-win.el (w32-drag-n-drop): Change to handle
files or strings.
* src/w32fns.c (process_dropfiles): New function to convert
DROPFILES struct to array of strings.
(w32_process_dnd_data): New function to process drop data.
(w32_try_get_data): Extract data from IDataObject.
(w32_createwindow): Assign an IDropTarget to each new frame.
(w32_name_of_message): New message.
(w32_msg_pump): Changed CoInitialize to OleInitialize, needed
by the drag-n-drop functions.
(w32_wnd_proc): New struct w32_drop_target, and
w32_drop_target_* functions to implement the IDropTarget
interface.
* src/w32term.c (w32_read_socket): Handle WM_EMACS_DROP and
remove WM_EMACS_DROPFILES.
* src/w32term.h: New message WM_EMACS_DROP.
(Bug#3468)

* etc/NEWS: Announce the new feature.

(cherry picked from commit 9af36e70f83d00eaef2255929e8aed7e1d3ed5b9)

4 weeks ago; Skip commit 339ffd79862c322f5b75fed1b55d61efe90bc7a1
Eshel Yaron [Mon, 14 Oct 2024 17:37:07 +0000 (19:37 +0200)]
; Skip commit 339ffd79862c322f5b75fed1b55d61efe90bc7a1

4 weeks ago* doc/misc/tramp.texi (Customizing Methods): Add incus-tramp.
Michael Albinus [Tue, 8 Oct 2024 10:45:13 +0000 (12:45 +0200)]
* doc/misc/tramp.texi (Customizing Methods): Add incus-tramp.

(cherry picked from commit 9c94363894ced4ed84014cf0dc347af7882643e6)

4 weeks ago; Skip commit 6a272dedad384614190ee04bf1a47aff05c7dd3b
Eshel Yaron [Mon, 14 Oct 2024 17:36:29 +0000 (19:36 +0200)]
; Skip commit 6a272dedad384614190ee04bf1a47aff05c7dd3b

4 weeks ago; Skip commit c0f10fc3d486fb86216bd7278d932a75f83c1d65
Eshel Yaron [Mon, 14 Oct 2024 17:36:28 +0000 (19:36 +0200)]
; Skip commit c0f10fc3d486fb86216bd7278d932a75f83c1d65

4 weeks agoRemove duplicate indent rules in elixir-ts-mode
Yuan Fu [Tue, 8 Oct 2024 00:27:13 +0000 (17:27 -0700)]
Remove duplicate indent rules in elixir-ts-mode

* lisp/progmodes/elixir-ts-mode.el (elixir-ts-mode): There are
two forms adding heex-ts--indent-rules, remove one of them.

(cherry picked from commit 52746ceb62592fba6d58595b7bc3199058f30185)

4 weeks agoSet treesit-primary-parser for tree-sitter modes
Yuan Fu [Tue, 8 Oct 2024 00:24:32 +0000 (17:24 -0700)]
Set treesit-primary-parser for tree-sitter modes

I debated whether to do this, since technically speaking it's
not needed for single-language modes.  But ultimately it's
better to be explicit and set a good example with builtin modes.

* lisp/progmodes/cmake-ts-mode.el (cmake-ts-mode):
* lisp/progmodes/csharp-mode.el (csharp-ts-mode):
* lisp/progmodes/dockerfile-ts-mode.el (dockerfile-ts-mode):
* lisp/progmodes/go-ts-mode.el (go-ts-mode):
(go-mod-ts-mode):
* lisp/progmodes/heex-ts-mode.el (heex-ts-mode):
* lisp/progmodes/java-ts-mode.el (java-ts-mode):
* lisp/progmodes/json-ts-mode.el (json-ts-mode):
* lisp/progmodes/lua-ts-mode.el (lua-ts-mode):
* lisp/progmodes/python.el (python-ts-mode):
* lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode):
* lisp/progmodes/rust-ts-mode.el (rust-ts-mode):
* lisp/progmodes/sh-script.el:
* lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode):
(tsx-ts-mode):
* lisp/textmodes/css-mode.el (css-ts-mode):
* lisp/textmodes/html-ts-mode.el (html-ts-mode):
* lisp/textmodes/toml-ts-mode.el (toml-ts-mode):
* lisp/textmodes/yaml-ts-mode.el (yaml-ts-mode): Set
treesit-primary-parser.

(cherry picked from commit ed57faafc74e0810b492841deccb3cdc77a258ff)

4 weeks agopoject--vc-list-files: Check that the current Emacs is 31+
Dmitry Gutov [Mon, 7 Oct 2024 23:47:15 +0000 (02:47 +0300)]
poject--vc-list-files: Check that the current Emacs is 31+

* lisp/progmodes/project.el (project--vc-list-files):
Check that the current Emacs is 31+, to avoid breakage on remote
hosts with older Git (bug#73320).

(cherry picked from commit 70d064dab74ac7928eeacb61c03605b99de995a9)

4 weeks agoDetect Git version on remote hosts separately from the local one
Dmitry Gutov [Mon, 7 Oct 2024 23:42:39 +0000 (02:42 +0300)]
Detect Git version on remote hosts separately from the local one

* lisp/vc/vc-git.el (vc-git--program-version): Detect Git version
on remote hosts separately from the local one (buf#73320).
(vc-git-connection-default-profile): Set up collection-local
profile.  And use it for the 'vc-git' :application.
(vc-git--program-version): Operate on the connection-local value
of 'vc-git--program-version'.

(cherry picked from commit 7cd8108098c08de47078db4e17291e5a529e0ae0)

4 weeks agoSupport file creation and deletion in diff-apply-hunk
Dmitry Gutov [Mon, 7 Oct 2024 23:25:14 +0000 (02:25 +0300)]
Support file creation and deletion in diff-apply-hunk

* lisp/vc/diff-mode.el (diff-find-file-name): Allow entering
non-existing file name when the corresponding hunk is of type
"create file" (bug#62731).  Default to file name with deleted
prefix if diff-buffer-type is Git or Hg.  Make sure not to add
such input to diff-remembered-files-alist, it would be hard to
change otherwise in case of typo.
(diff-setup-buffer-type):
Match against the diff header common to 'hg diff' output.
(diff-find-source-location): Look at the other source when the
buffer is applied in reverse.
(diff-apply-hunk): Delect file deletion and pass a different
argument to 'diff-find-source-location' in such case.  Bind
diff-vc-backend to nil to avoid older revision buffer being
returned.  In the end, offer to delete the file if the hunk was of
corresponding type and matched the existing contents.

* etc/NEWS: Mention the new capability.

(cherry picked from commit 2d139141a6c249691a50ade9c8d08dc35fcdf456)

4 weeks agoSupport calling 'project-current' with custom prompt
Dmitry Gutov [Mon, 7 Oct 2024 23:03:04 +0000 (02:03 +0300)]
Support calling 'project-current' with custom prompt

* lisp/progmodes/project.el (project-current): Treat being passed
a string in the MAYBE-CURRENT argument specially (bug#70833).
(project-prompt-project-dir, project-prompt-project-name):
Handle it.

* etc/NEWS: Mention that change.

(cherry picked from commit 9904376c797665de47ff760bcf8c2fe33d7ae625)

4 weeks ago; * lisp/emacs-lisp/cl-macs.el (cl-once-only): Fix capitalisation.
Sean Whitton [Sun, 6 Oct 2024 05:38:57 +0000 (13:38 +0800)]
; * lisp/emacs-lisp/cl-macs.el (cl-once-only): Fix capitalisation.

(cherry picked from commit 37a6c859b04ef9f88c3f9751027d544100cf1d2c)

4 weeks agoDelete XIE X extension from TODO
Stefan Kangas [Sat, 5 Oct 2024 23:47:50 +0000 (01:47 +0200)]
Delete XIE X extension from TODO

According to Wikipedia, XIE "is no longer included in the X11 reference
distribution, having been removed with X11R6.7 in 2004."
Ref: https://en.wikipedia.org/wiki/X_Image_Extension

* etc/TODO: Delete item to use XIE X extension.

(cherry picked from commit 2d4d6dc43a417b873024d1bee93036d3749f59af)

4 weeks agoNew command load-libraries-for-prefix
Eshel Yaron [Mon, 14 Oct 2024 17:03:00 +0000 (19:03 +0200)]
New command load-libraries-for-prefix

4 weeks agoSupport autoloading Tramp extensions just in time
Eshel Yaron [Mon, 14 Oct 2024 17:02:18 +0000 (19:02 +0200)]
Support autoloading Tramp extensions just in time

5 weeks agoFix bootstrap
Eshel Yaron [Tue, 8 Oct 2024 12:41:35 +0000 (14:41 +0200)]
Fix bootstrap

5 weeks ago* lib-src/etags.c (C_entries): Fix assertion violation.
Eli Zaretskii [Mon, 7 Oct 2024 18:06:34 +0000 (21:06 +0300)]
* lib-src/etags.c (C_entries): Fix assertion violation.

(cherry picked from commit ff4de9eff30ade164655354f71e7cbca48135858)

5 weeks ago; Fix completion of variables in Eshell immediately after "$"
Jim Porter [Sun, 6 Oct 2024 22:19:13 +0000 (15:19 -0700)]
; Fix completion of variables in Eshell immediately after "$"

* lisp/eshell/esh-var.el (eshell-complete-variable-reference): Match
group 1 even when there's nothing after "$".

(cherry picked from commit 49325e13560daa768e6f455ade8c9284b7369a26)

5 weeks agoRemove some dead code
Eshel Yaron [Mon, 7 Oct 2024 18:44:49 +0000 (20:44 +0200)]
Remove some dead code