Po Lu [Mon, 30 Jan 2023 13:47:39 +0000 (21:47 +0800)]
Merge from origin/emacs-29
f67a9a12b7b Fix interactive use of `keymap-local-set' and `keymap-glo...
dda4baa58b7 ; Fix build and startup without tree-sitter
Po Lu [Mon, 30 Jan 2023 13:47:39 +0000 (21:47 +0800)]
; Merge from origin/emacs-29
The following commit was skipped:
99e40959f40 Fix password prompt in Tramp (do not merge)
Po Lu [Mon, 30 Jan 2023 13:33:27 +0000 (21:33 +0800)]
Fix incremental build failures with tree-sitter
* lisp/treesit.el (treesit-subtree-stat): Declare missing
function.
(treesit-buffer-root-node): Return nil if tree-sitter not
present.
Robert Pluim [Mon, 30 Jan 2023 09:51:30 +0000 (10:51 +0100)]
Fix interactive use of `keymap-local-set' and `keymap-global-set'
* lisp/keymap.el (keymap-global-set, keymap-local-set): Convert the
read key sequence to a string when called interactively. Based on a
patch from Stephen Berman <stephen.berman@gmx.net>. (Bug#61149)
Eli Zaretskii [Mon, 30 Jan 2023 12:22:19 +0000 (14:22 +0200)]
; Fix build and startup without tree-sitter
* lisp/treesit.el (treesit--font-lock-level-setter): Don't loop
over all the buffers if tree-sitter is not built-in, or else
initialization of defcustom will fail. (Bug#61155)
* lisp/progmodes/rust-ts-mode.el (treesit-node-parent):
* lisp/progmodes/c-ts-common.el (treesit-node-parent): Declare, to
* avoid byte-compilation warnings.
Michael Albinus [Mon, 30 Jan 2023 10:55:23 +0000 (11:55 +0100)]
Fix password prompt in Tramp
* lisp/net/tramp.el (tramp-password-prompt-regexp):
Allow alternative trailing colons. (Bug#61168)
Michael Albinus [Mon, 30 Jan 2023 10:43:04 +0000 (11:43 +0100)]
Fix password prompt in Tramp (do not merge)
* lisp/net/tramp.el (tramp-password-prompt-regexp):
Allow alternative trailing colons. (Bug#61168)
Stefan Kangas [Mon, 30 Jan 2023 06:19:43 +0000 (07:19 +0100)]
Merge from origin/emacs-29
8360e12f0ea Update to Org 9.6.1-23-gc45a05
9058601308d ; * doc/emacs/misc.texi (Document View): Remove @footnote...
197f994384c Document tree-sitter features in the user manual
b73539832d9 ; Remove treesit--font-lock-fast-mode-grace-count
64fee21d5f8 Fix dockerfile-ts-mode line continuation indentation (bug...
1970726e26a Use treesit-subtree-stat to determine treesit--font-lock-...
382e018856a Add treesit-subtree-stat
a3003492ace Move c-ts-mode--statement-offset to c-ts-common.el
4b1714571c8 ; Fix byte-compile warnings in c-ts-mode.el
f50cb7d7c4b ; Improve docstring of c-ts-mode--indent-style-setter
1c3ca3bb649 Fix <> syntax in rust-ts-mode
56e8607dc99 Fix spurious errors on Windows when deleting temporary *....
2bd0b947538 Fix java class member without access modifier (bug#61115)
1de6ebf2878 Make treesit-font-lock-level a defcustom
6e50ee8bbb5 Add c-ts-mode-set-style and :set for c-ts-mode-indent-style
450db0587a9 Minor documentation improvements for outline-minor-mode (...
578e8926713 ; * doc/lispref/variables.texi (File Local Variables): Im...
bc5ee2b7bf0 ; * src/comp.c: Remove Local Variables section to avoid w...
362678d90e1 python.el: Use correct regexp when enabling python-ts-mode
76bb46db9df ; * doc/emacs/frames.texi (Mouse References): Improve ind...
# Conflicts:
# doc/emacs/programs.texi
# etc/NEWS
# lisp/progmodes/c-ts-mode.el
Kyle Meyer [Mon, 30 Jan 2023 02:42:17 +0000 (21:42 -0500)]
Update to Org 9.6.1-23-gc45a05
Eli Zaretskii [Sun, 29 Jan 2023 17:00:59 +0000 (19:00 +0200)]
; * doc/emacs/misc.texi (Document View): Remove @footnote (bug#61152).
Eli Zaretskii [Sun, 29 Jan 2023 13:22:20 +0000 (15:22 +0200)]
Document tree-sitter features in the user manual
* lisp/progmodes/c-ts-mode.el (c-ts-mode-map): Bind "C-c .", for
consistency with CC mode.
* lisp/treesit.el (treesit-font-lock-level): Doc fix.
* doc/emacs/programs.texi (C Indent, Custom C Indent): Document
the indentation features of 'c-ts-mode'.
(Moving by Defuns): Document 'treesit-defun-tactic'.
* doc/emacs/files.texi (Visiting): Document
'treesit-max-buffer-size'.
* doc/emacs/display.texi (Traditional Font Lock)
(Parser-based Font Lock): New subsections.
* doc/emacs/emacs.texi (Top): Update top-level menu.
Mattias Engdegård [Sun, 29 Jan 2023 12:34:48 +0000 (13:34 +0100)]
Better commutative binary numerical op codegen
* lisp/emacs-lisp/bytecomp.el (byte-compile-variadic-numeric):
Put a constant argument last for better LAP code opportunities.
This applies to commutative binary operations (+ and *).
`min` and `max` are not included being not quite commutative.
Mattias Engdegård [Sat, 28 Jan 2023 15:26:37 +0000 (16:26 +0100)]
Better compilation of n-ary comparisons
Transform n-ary comparisons to a chain of binary comparisons in the
Lisp optimiser instead of in codegen, to allow for subsequent
optimisations. This generalises the transform, so that
(< 1 X 10) -> (let ((x X)) (and (< 1 x) (< x 10)))
where (< 1 x) is then flipped to (> x 1) in codegen since it's
slightly more efficient to have the constant argument last. Arguments
that are neither constants nor variables are given temporary bindings.
This results in about 2× speedup for 3-ary comparisons of fixnums with
nontrivial arguments, and also improves the code slightly for binary
comparisons with a constant first argument.
* lisp/emacs-lisp/byte-opt.el (byte-opt--nary-comparison): New,
set as the `byte-optimizer` property for =, <, <=, >, and >=.
* lisp/emacs-lisp/bytecomp.el (byte-compile-and-folded):
Rename to...
(byte-compile-cmp): ...and rewrite.
Michael Albinus [Sun, 29 Jan 2023 09:33:43 +0000 (10:33 +0100)]
Fix host name completion for Tramp "podman" method
* lisp/net/tramp-container.el (tramp-container--completion-function):
Rename from `tramp-docker--completion-function'. Add argument
PROGRAM. Use it for "docker" and "podman" host name completion.
* lisp/net/tramp.el (tramp-set-completion-function): Check, that
cdr of FUNCTION-LIST entries is a string.
Yuan Fu [Sun, 29 Jan 2023 08:30:53 +0000 (00:30 -0800)]
; Remove treesit--font-lock-fast-mode-grace-count
* lisp/treesit.el:
(treesit--font-lock-fast-mode-grace-count): Remove. Should've been
removed in the last change.
Randy Taylor [Sun, 29 Jan 2023 02:21:29 +0000 (21:21 -0500)]
Fix dockerfile-ts-mode line continuation indentation (bug#61131)
Without this rule, line continuations are only indented after entering
the contents for the line and hitting TAB or RET.
For example:
```
EXPOSE 1 \
```
After hitting RET to go to the next line, point would end up at BOL
instead of lining up with the previous entry, like so:
```
EXPOSE 1 \
2
```
The new rule will indent it as so:
```
EXPOSE 1 \
2
```
* lisp/progmodes/dockerfile-ts-mode.el:
(dockerfile-ts-mode--indent-rules): New rule.
(dockerfile-ts-mode--line-continuation-p)
(dockerfile-ts-mode--line-continuation-anchor): New functions.
Yuan Fu [Sun, 29 Jan 2023 08:07:46 +0000 (00:07 -0800)]
Use treesit-subtree-stat to determine treesit--font-lock-fast-mode
* lisp/treesit.el:
(treesit--children-covering-range-recurse): Return nil if LIMIT is
exceeded.
(treesit--font-lock-fast-mode): Change to a ternary value.
(treesit-font-lock-fontify-region): Enable fast mode based on the
result of treesit-subtree-stat.
Yuan Fu [Sun, 29 Jan 2023 08:06:09 +0000 (00:06 -0800)]
Add treesit-subtree-stat
* src/treesit.c (Ftreesit_subtree_stat): New function.
* lisp/treesit.el (treesit): Add to shortdoc.
Yuan Fu [Sun, 29 Jan 2023 01:08:53 +0000 (17:08 -0800)]
Move c-ts-mode--statement-offset to c-ts-common.el
Now it can be used by other C-like languages.
* lisp/progmodes/c-ts-common.el (c-ts-common-indent-offset):
(c-ts-common-indent-block-type-regexp):
(c-ts-common-indent-bracketless-type-regexp): New variables.
(c-ts-common-statement-offset):
(c-ts-mode--fix-bracketless-indent):
(c-ts-mode--close-bracket-offset): New functions.
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Change
c-ts-mode--statement-offset to c-ts-common-statement-offset.
The (parent-is "if_statement") rules are now handled by (node-is
"compound_statement").
(c-ts-mode--statement-offset-post-processr):
(c-ts-mode--statement-offset):
(c-ts-mode--fix-bracketless-indent): Move to c-ts-common.el.
(c-ts-base-mode): Setup c-ts-common stuff.
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: Make the test
more challenging.
Yuan Fu [Sun, 29 Jan 2023 00:25:23 +0000 (16:25 -0800)]
; Fix byte-compile warnings in c-ts-mode.el
* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--get-indent-style): Move down.
(c-ts-mode-set-style): Add docstring.
Yuan Fu [Sun, 29 Jan 2023 00:20:29 +0000 (16:20 -0800)]
; Improve docstring of c-ts-mode--indent-style-setter
* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--indent-style-setter): Improve docstring.
Yuan Fu [Fri, 27 Jan 2023 01:49:45 +0000 (17:49 -0800)]
Fix <> syntax in rust-ts-mode
Similar to bug#60351, the angle brackets in rust-ts-mode are not
recognized as pairs when they should be. This change copies the
function used by c++-ts-mode and adapts it to rust-ts-mode.
* lisp/progmodes/rust-ts-mode.el:
(rust-ts-mode--syntax-propertize): New function.
(rust-ts-mode): Set up syntax-propertize-function.
Eli Zaretskii [Sun, 29 Jan 2023 07:44:53 +0000 (09:44 +0200)]
Fix spurious errors on Windows when deleting temporary *.eln files
* lisp/emacs-lisp/comp.el (comp--native-compile): On MS-Windows,
ignore errors when deleting a temporary .eln file. (Bug#60996)
Eli Zaretskii [Sun, 29 Jan 2023 07:28:31 +0000 (09:28 +0200)]
* src/comp.c (F_RELOC_MAX_SIZE): Bump to 1600 (bug#60996).
Theodor Thornhill [Sat, 28 Jan 2023 18:51:08 +0000 (19:51 +0100)]
Fix java class member without access modifier (bug#61115)
This
```
public class T {
@Autowired
String a;
}
```
Should be indented as:
```
public class T {
@Autowired
String a;
}
````
* lisp/progmodes/java-ts-mode.el (java-ts-mode--indent-rules): Add new
rule to match edge case of field_declaration indentation.
Theodor Thornhill [Sat, 28 Jan 2023 12:57:01 +0000 (13:57 +0100)]
Make treesit-font-lock-level a defcustom
* lisp/treesit.el (treesit--font-lock-level-setter): Setter for the
new defcustom.
(treesit-font-lock-level): Turn it into a defcustom.
Theodor Thornhill [Wed, 25 Jan 2023 20:04:00 +0000 (21:04 +0100)]
Add c-ts-mode-set-style and :set for c-ts-mode-indent-style
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-style-setter): New
setter for the indent style defcustom.
(c-ts-mode-indent-style): Don't quote the values and refer to the
setter.
(c-ts-mode-set-style): New command to interactively set the indent
style.
(c-ts-mode--get-indent-style): New function renamed from
'c-ts-mode--set-indent-style'.
Juri Linkov [Sat, 28 Jan 2023 17:59:22 +0000 (19:59 +0200)]
Minor documentation improvements for outline-minor-mode (bug#61062)
* doc/emacs/text.texi (Outline Minor Mode, Outline Minor Mode):
Add pxrefs to "Icons" and "Outline Visibility".
* etc/NEWS: Mention outline-minor-mode for two modes.
Michael Heerdegen [Wed, 11 Jan 2023 15:47:01 +0000 (16:47 +0100)]
; * lisp/emacs-lisp/range.el: Fix some typos
In some places, range elements are still called "article" (as in the
original Gnus code).
Replace these occurrences with the word "number" as used in the rest
of the file.
Eli Zaretskii [Sat, 28 Jan 2023 14:59:17 +0000 (16:59 +0200)]
; * doc/lispref/variables.texi (File Local Variables): Improve indexing.
Eli Zaretskii [Sat, 28 Jan 2023 14:52:44 +0000 (16:52 +0200)]
; * src/comp.c: Remove Local Variables section to avoid warnings.
Eli Zaretskii [Sat, 28 Jan 2023 13:42:57 +0000 (15:42 +0200)]
; * lisp/progmodes/go-ts-mode.el (treesit-node-end): Avoid warning.
Brian Leung [Fri, 27 Jan 2023 01:36:42 +0000 (17:36 -0800)]
python.el: Use correct regexp when enabling python-ts-mode
* lisp/progmodes/python.el: Use "python[0-9.]*" regexp for
'interpreter-mode-alist', and not 'auto-mode-alist'. (Bug#61090)
Michael Albinus [Sat, 28 Jan 2023 09:26:44 +0000 (10:26 +0100)]
Tramp cleanup from recent test campaign
* lisp/net/tramp.el (tramp-barf-if-file-missing): Fix docstring.
(tramp-handle-file-directory-p): Don't suppress errors.
(tramp-handle-shell-command):
* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
Make insertion of a stderr file more robust.
* lisp/net/tramp-archive.el (tramp-archive-handle-directory-files):
Use `tramp-barf-if-file-missing'.
* lisp/net/tramp-sudoedit.el
(tramp-sudoedit-handle-file-name-all-completions): Protect against
errors from `file-directory-p'.
* lisp/net/tramp.el (tramp-wrong-passwd-regexp):
* lisp/net/tramp-adb.el (tramp-adb-prompt):
* lisp/net/tramp-sh.el (tramp-sh-inotifywait-process-filter):
* lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Unify regexps.
* test/lisp/net/tramp-tests.el (tramp-test48-auto-load)
(tramp-test48-delay-load): Unify regexps.
Eli Zaretskii [Sat, 28 Jan 2023 07:49:53 +0000 (09:49 +0200)]
; * doc/emacs/frames.texi (Mouse References): Improve indexing.
Stefan Kangas [Sat, 28 Jan 2023 05:30:25 +0000 (06:30 +0100)]
Merge from origin/emacs-29
128a999bfe7 Make project-current not error out inside non-existent dirs
194bc97879d Improve documentation of 'shell-command-dont-erase-buffer'
00629c03964 Fix errors in fontification of JavaScript import-statemen...
fd145499bbd Fix fontification TypeScript of import-statements (bug#61...
752c526585f ; Fix typos
Jim Porter [Thu, 26 Jan 2023 21:11:15 +0000 (13:11 -0800)]
Make 'eshell-number-regexp' into a regular defvar
This isn't a very useful thing to customize, since it needs to detect
numbers that can successfully be parsed by 'string-to-number'.
Changes to this variable would therefore likely requiring adjusting
'eshell-convert-to-number' as well.
* lisp/eshell/esh-util.el (eshell-number-regexp): Make into a defvar
and improve the regexp to support more numbers (including infinity and
NaN).
* test/lisp/eshell/esh-util-tests.el
(esh-util-test/eshell-convert-to-number/floating-point)
(esh-util-test/eshell-convert-to-number/floating-point-exponent)
(esh-util-test/eshell-convert-to-number/non-numeric)
(esh-util-test/eshell-convert-to-number/no-convert): New tests.
Jim Porter [Fri, 20 Jan 2023 21:54:20 +0000 (13:54 -0800)]
Add support for negative indices and index ranges in Eshell
* lisp/eshell/esh-util.el (eshell-integer-regexp): New defvar.
* lisp/eshell/esh-var.el (eshell-parse-indices): Expand docstring.
(eshell-parse-index): New function.
(eshell-apply-indices): Use 'eshell-parse-index' to determine whether
to treat the first index as a regexp. Simplify the implementation a
bit.
(eshell-index-range): New pcase macro...
(eshell-index-value): ... use it, and restructure the implementation.
* test/lisp/eshell/esh-var-tests.el (esh-var-test/interp-var-indices):
New function...
(esh-var-test/interp-var-indices/list)
(esh-var-test/interp-var-indices/vector)
(esh-var-test/interp-var-indices/ring)
(esh-var-test/interp-var-indices/split): ... use it.
(esh-var-test/interp-var-string-split-indices)
(esh-var-test/interp-var-regexp-split-indices)
(esh-var-test/interp-var-assoc): Expand tests to cover things that
look like numbers or ranges, but aren't.
* doc/misc/eshell.texi (Variables): Describe how to get all arguments
of the last command.
(Dollars Expansion): Explain negative indices and index ranges.
(Bugs and ideas): Remove now-implemented ideas.
* etc/NEWS: Announce this change.
Dmitry Gutov [Sat, 28 Jan 2023 01:17:39 +0000 (03:17 +0200)]
Make project-current not error out inside non-existent dirs
* lisp/progmodes/project.el (project-try-vc):
Use condition-case to catch 'file-missing' (bug#61107).
* test/lisp/progmodes/project-tests.el
(project-vc-nonexistent-directory-no-error): New test.
Eli Zaretskii [Fri, 27 Jan 2023 17:01:49 +0000 (19:01 +0200)]
Improve documentation of 'shell-command-dont-erase-buffer'
* doc/emacs/misc.texi (Single Shell):
* lisp/simple.el (shell-command, shell-command-on-region):
Document that non-nil value of 'shell-command-dont-erase-buffer'
affects what is displayed in the echo area after the command.
(Bug#61100)
Mattias Engdegård [Fri, 27 Jan 2023 16:21:28 +0000 (17:21 +0100)]
Repair hideif regexp problems
* lisp/progmodes/hideif.el (hif-white-regexp, hif-tokenize):
Avoid superlinear backtracking behaviour by rewriting regexps
to avoid nested repetitions and make positive progress each time.
Use lazy matching of the innards of /*...*/ comments to avoid
matching too much.
Mattias Engdegård [Tue, 17 Jan 2023 16:57:25 +0000 (17:57 +0100)]
Don't inhibit LAP-level DCE when switch ops are present
* lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode):
Allow removal of unreachable basic blocks in the LAP peephole
optimiser even when switch ops are present. The origins of
this apparently unnecessary condition are unclear.
Jostein Kjønigsen [Thu, 26 Jan 2023 19:32:18 +0000 (20:32 +0100)]
Fix errors in fontification of JavaScript import-statements (bug#61083)
Currently js-ts-mode handles imports with aliases incorrectly. To be
consistent with how we otherwise do things, we should only highlight
the variable which is new and/or introduced, in this case "someAlias".
Attached is a patch which fontifies import-declarations somewhat more
correctly.
The following cases have been tested and all fontify properly:
import gnu from "fsf"; // highlights gnu
import { gnu2 } from "fsf2"; // highlights gnu2
import { gnu as gnu3 } from "fsf3"; // highlights gnu3
import * as gnu4 from "fsf4"; // highlights gnu4
* lisp/progmodes/js.el (js--treesit-font-lock-settings): Add new
import_clause rules that adhere to the comment above.
Jostein Kjønigsen [Thu, 26 Jan 2023 18:54:27 +0000 (19:54 +0100)]
Fix fontification TypeScript of import-statements (bug#61081)
Currently typescript-ts-mode and tsx-ts-mode handles imports with
aliases incorrectly.
Consider the following case:
import { someFunc as someAlias } from "module";
In this case the entire import ("someFunc as someAlias") will be
highlighted as a variable name. "as" is also highlighted as a
variable, rather than a reserved keyword.
To be consistent with how we otherwise do things, we should only
highlight the variable which is new and/or introduced, in this case
"someAlias".
Attached is a patch which fontifies import-declarations somewhat more
correctly.
The following cases have been tested and all fontify properly:
import gnu from "fsf"; // highlights gnu
import { gnu2 } from "fsf2"; // highlights gnu2
import { gnu as gnu3 } from "fsf3"; // highlights gnu3
import * as gnu4 from "fsf4"; // highlights gnu4
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings): Tweak import_clause rules to
adhere to the comment above.
Stefan Kangas [Mon, 23 Jan 2023 01:27:15 +0000 (02:27 +0100)]
; Fix typos
Stefan Kangas [Fri, 27 Jan 2023 10:30:38 +0000 (11:30 +0100)]
Merge from origin/emacs-29
5859413df23 ; * lisp/progmodes/cc-engine.el: Delete trailing whitespace.
f72a394716f Work around package.el transitive dependency bug
Stefan Kangas [Fri, 27 Jan 2023 10:30:38 +0000 (11:30 +0100)]
; Merge from origin/emacs-29
The following commit was skipped:
3766a666b55 ; Fix issues with processing out-of-order IRC messages
Stefan Kangas [Fri, 27 Jan 2023 10:30:38 +0000 (11:30 +0100)]
Merge from origin/emacs-29
f8c95d1a768 Fix xt-mouse on terminals that report UTF-8 encoded coord...
4bf7cb71edc Fix go-ts-mode indentation and set indent offset to 8 (Bu...
ff9498624fc ; * src/insdel.c (insert_from_buffer): Fix assertions.
41f497c8bee Fix doc strings of window-splitting commands
cdf74254ffa Fix indentation for c-ts-mode (bug#61026)
4bd06ce2a9f Fix call to treesit_record_change in insdel.c
00675aa724a Add support for building tree-sitter modules with MinGW
af28191b04f * lisp/net/tramp.el (tramp-wrong-passwd-regexp): Fix regexp.
42e02480c2b * doc/emacs/text.texi (Outline Minor Mode): New node spli...
37c1c924666 ; * etc/NEWS: Minor reordering.
cfb180329b5 ruby-ts-mode: Don't reindent when "class" or "def" is und...
abb3becb9fb treesit-install-language-grammar: Provide default repo url
c6613403e5c Fix Dired face for directory symlinks
37454de0c8f Pacify --without-x unused function warning
9a21cb10751 ; * etc/NEWS: Fix typos.
f30a4f51fef Announce outline.el keymaps
8198803f660 ; Don't mention in the Gnus manual user options that were...
8a1498c01f7 Fix fontification of function-valued variables (bug#61053)
cfe26f31893 Add new java indent rules
987e53f3e2d ; * doc/misc/erc.texi: Improve Local Modules section.
3846e79c93b ; Fix filename mismatches in prop lines of ERC tests
ecf500b5e34 Handle relative file names in vc-resynch-window and vc-re...
695e9f71c3f Use named keymaps for outline buttons
e31a5623965 * lisp/vc/vc-bzr.el (vc-bzr--pushpull): Return buffer's p...
deee3a92623 ; Fix last change in etc/NEWS
bc78285e686 ; * etc/NEWS: Fix typos.
c15c0f7f018 CC Mode: Change the default value of objc-font-lock-extra...
7f438ff543b Don't try to make a pipe process for remote processes in ...
cb9628373a8 * lisp/startup.el (command-line): Fix warning message. (...
e6c5f32e77d * lisp/find-dired.el (find-dired): Fix bug where M-p skip...
# Conflicts:
# etc/NEWS
Stefan Kangas [Fri, 27 Jan 2023 10:29:47 +0000 (11:29 +0100)]
; * lisp/progmodes/cc-engine.el: Delete trailing whitespace.
This was holding up the automatic merges due to commit hooks.
Stefan Kangas [Fri, 27 Jan 2023 10:25:08 +0000 (11:25 +0100)]
; * lisp/progmodes/cc-engine.el: Delete trailing whitespace.
This was holding up the automatic merges due to commit hooks.
Andrea Corallo [Fri, 27 Jan 2023 09:36:47 +0000 (10:36 +0100)]
* lisp/emacs-lisp/comp.el (comp-trampoline-compile): Improve readability
Basil L. Contovounesios [Fri, 27 Jan 2023 00:27:26 +0000 (00:27 +0000)]
Work around package.el transitive dependency bug
Eglot already depends transitively on Xref 1.4.0 via Project,
but package.el doesn't pick up on this in Emacs 28
(which has Xref 1.3.0).
* lisp/progmodes/eglot.el (Version): Bump to 1.11.
(Package-Requires): Explicitly require Xref 1.4.0, which is
the version already required by Project, for the benefit of
Emacs 28 (bug#61048).
Philip Kaludercic [Thu, 26 Jan 2023 18:39:16 +0000 (19:39 +0100)]
; Fix issues with processing out-of-order IRC messages
* lisp/net/rcirc.el (rcirc-print): Always move to the beginning of the
line, before setting any markers.
Philip Kaludercic [Thu, 26 Jan 2023 18:39:16 +0000 (19:39 +0100)]
; Fix issues with processing out-of-order IRC messages
* lisp/net/rcirc.el (rcirc-print): Always move to the beginning of the
line, before setting any markers.
Mattias Engdegård [Thu, 26 Jan 2023 11:36:20 +0000 (12:36 +0100)]
Fix xref-clear-marker-stack refactoring mistake
* lisp/progmodes/xref.el (xref-clear-marker-stack):
Clear the history correctly. Changing a lexical variable has no effect.
Eli Zaretskii [Thu, 26 Jan 2023 08:54:43 +0000 (10:54 +0200)]
Fix xt-mouse on terminals that report UTF-8 encoded coordinates
* lisp/xt-mouse.el (xterm-mouse--read-coordinate): Fix conversion
of mouse coordinates in rxvt-unicode. Patches by Vladimir
Panteleev <git@cy.md> and Jared Finder <jared@finder.org>.
(Bug#61022)
Randy Taylor [Wed, 25 Jan 2023 02:20:48 +0000 (21:20 -0500)]
Fix go-ts-mode indentation and set indent offset to 8 (Bug#61006)
* lisp/progmodes/go-ts-mode.el (go-ts-mode-indent-offset): Change
default value to 8.
(go-ts-mode--indent-rules): Add indentation for parameters and
interfaces.
Eli Zaretskii [Thu, 26 Jan 2023 08:23:58 +0000 (10:23 +0200)]
; * src/insdel.c (insert_from_buffer): Fix assertions.
Eli Zaretskii [Thu, 26 Jan 2023 07:59:58 +0000 (09:59 +0200)]
Fix doc strings of window-splitting commands
* lisp/window.el (split-window-below, split-window-right): Doc
fixes. (Bug#60886)
Yuan Fu [Thu, 26 Jan 2023 07:47:27 +0000 (23:47 -0800)]
Fix indentation for c-ts-mode (bug#61026)
Fix indentation for things like
while (true)
if (true)
{
puts ("Hello");
}
Note that the outer while loop omits brackets.
* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--statement-offset-post-processr): New variable.
(c-ts-mode--statement-offset): Use the new function.
(c-ts-mode--fix-bracketless-indent): New function.
(c-ts-base-mode): Use the new function.
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: New tests.
Yuan Fu [Thu, 26 Jan 2023 07:12:41 +0000 (23:12 -0800)]
Fix call to treesit_record_change in insdel.c
The start position of the change shouldn't be PT_BYTE, IIUC PT_BYTE is
actually the end position.
* src/insdel.c (insert_from_buffer): Move to here.
(insert_from_buffer_1): Remove call to treesit_record_change.
Randy Taylor [Thu, 19 Jan 2023 14:16:55 +0000 (09:16 -0500)]
Add support for building tree-sitter modules with MinGW
* admin/notes/tree-sitter/build-module/build.sh: Add support for
building tree-sitter modules with MinGW.
Po Lu [Thu, 26 Jan 2023 00:40:27 +0000 (08:40 +0800)]
Increase DUMPED_HEAP_SIZE
* src/w32heap.c (DUMPED_HEAP_SIZE): Add 5 megabytes.
Richard Stallman [Wed, 25 Jan 2023 21:35:37 +0000 (16:35 -0500)]
When base64-decoding part of decrypted text, save the decoding
permanently if we save the decryption permanently.
(rmail-epa-decode): Take arguments BEG and BACK-FROM-END to designate region.
(rmail-epa-decrypt-1): Call rmail-epa-decode from here, when decrypting one
encrypted passage.
(rmail-epa-decrypt): Not from here.
Michael Albinus [Wed, 25 Jan 2023 19:14:12 +0000 (20:14 +0100)]
* lisp/net/tramp.el (tramp-wrong-passwd-regexp): Fix regexp.
Juri Linkov [Wed, 25 Jan 2023 18:19:44 +0000 (20:19 +0200)]
* doc/emacs/text.texi (Outline Minor Mode): New node split from "Outline Mode"
(Outline Mode): Move all outline-minor-mode related information to the
new node "Outline Minor Mode" (bug#61062).
Juri Linkov [Wed, 25 Jan 2023 17:38:01 +0000 (19:38 +0200)]
; * etc/NEWS: Minor reordering.
Move Exif section closer to Image changes, define-keymap/defvar-keymap
and lookup-key closer to Keymaps section.
Dmitry Gutov [Wed, 25 Jan 2023 15:21:49 +0000 (17:21 +0200)]
ruby-ts-mode: Don't reindent when "class" or "def" is under "ERROR"
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--indent-rules):
Don't reindent when "class" or "def" is under "ERROR" (bug#61017).
Dmitry Gutov [Wed, 25 Jan 2023 15:01:28 +0000 (17:01 +0200)]
treesit-install-language-grammar: Provide default repo url
* lisp/treesit.el (treesit--check-repo-url): New function.
(treesit--install-language-grammar-build-recipe): Use it (bug#61051).
Basil L. Contovounesios [Wed, 25 Jan 2023 14:24:39 +0000 (14:24 +0000)]
Fix Dired face for directory symlinks
* lisp/dired.el (dired-font-lock-keywords): Fontify directory
symlinks with the value of dired-directory-face rather than its name
as a (nonexistent) face (bug#60977).
Basil L. Contovounesios [Wed, 25 Jan 2023 01:02:30 +0000 (01:02 +0000)]
Pacify --without-x unused function warning
* src/xfaces.c (font_maybe_unset_attribute): Move definition...
[HAVE_WINDOW_SYSTEM] (font_maybe_unset_attribute): ...to here, since
the function is used only when we HAVE_WINDOW_SYSTEM (bug#61049).
Michael Albinus [Wed, 25 Jan 2023 14:31:33 +0000 (15:31 +0100)]
; * etc/NEWS: Fix typos.
Robert Pluim [Wed, 25 Jan 2023 13:23:44 +0000 (14:23 +0100)]
Announce outline.el keymaps
* etc/NEWS: Announce new keymaps.
Arash Esbati [Wed, 25 Jan 2023 10:02:24 +0000 (11:02 +0100)]
; Don't mention in the Gnus manual user options that were removed
* doc/misc/gnus.texi (HTML): Delete entries for custom variables
removed in commit
2c8b2fc8d5. (Bug#61054)
Jostein Kjønigsen [Wed, 25 Jan 2023 09:38:09 +0000 (10:38 +0100)]
Fix fontification of function-valued variables (bug#61053)
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings): Remove overrides and reorder
the variable_declarator rule.
Theodor Thornhill [Wed, 25 Jan 2023 12:00:33 +0000 (13:00 +0100)]
Add new java indent rules
* lisp/progmodes/java-ts-mode.el (java-ts-mode--indent-rules): Check
for enum_body_declarations and switch_label.
F. Jason Park [Wed, 25 Jan 2023 03:49:02 +0000 (19:49 -0800)]
; * doc/misc/erc.texi: Improve Local Modules section.
F. Jason Park [Tue, 24 Jan 2023 10:34:29 +0000 (02:34 -0800)]
; Fix filename mismatches in prop lines of ERC tests
* test/lisp/erc/erc-scenarios-base-compat-rename-bouncer.el: Fix file
name in prop line and footer.
* test/lisp/erc/erc-scenarios-base-local-modules.el: Fix file name in
prop line and footer.
* test/lisp/erc/erc-scenarios-base-netid-samenet.el: Fix file name in
prop line and footer.
* test/lisp/erc/erc-scenarios-base-upstream-recon-soju.el: Fix file
name in prop line and footer.
* test/lisp/erc/erc-scenarios-base-upstream-recon-znc.el: Fix file
name in prop line and footer.
Paul Eggert [Tue, 24 Jan 2023 23:18:55 +0000 (15:18 -0800)]
Pacify Apple clang version 13.0.0 (clang-1300.0.29.30):
* src/coding.c: When compiling with Apple clang, ignore
-Wunused-but-set-variable only in Clang 14 and greater.
Problem reported by Mattias Engdegård.
Juri Linkov [Tue, 24 Jan 2023 18:48:20 +0000 (20:48 +0200)]
Handle relative file names in vc-resynch-window and vc-resynch-buffer
* lisp/vc/vc-dispatcher.el (vc-resynch-window, vc-resynch-buffer):
While comparing with `buffer-file-name' if `file' is not absolute
use `expand-file-name' in `vc-root-dir'. This fixes the case of
refreshing the buffers after typing `C-x v = C-x v u' (bug#60897).
Robert Pluim [Tue, 24 Jan 2023 18:37:56 +0000 (20:37 +0200)]
Use named keymaps for outline buttons
https://lists.gnu.org/archive/html/emacs-devel/2023-01/msg00334.html
* lisp/outline.el (outline-button-icon-map)
(outline-overlay-button-map, outline-inserted-button-map):
Keymaps refactored from outline--create-button-icons and
outline--insert-button.
(outline--create-button-icons, outline--insert-button): Move
keymaps to separate variables.
Juri Linkov [Tue, 24 Jan 2023 18:24:15 +0000 (20:24 +0200)]
* lisp/vc/vc-bzr.el (vc-bzr--pushpull): Return buffer's process.
* lisp/vc/vc-git.el (vc-git--pushpull): Add comment.
* lisp/vc/vc.el (vc-pull-and-push): Expand docstring about
prerequisites for backend to support this command (bug#60569).
Michael Albinus [Tue, 24 Jan 2023 17:27:57 +0000 (18:27 +0100)]
; Fix last change in etc/NEWS
Michael Albinus [Tue, 24 Jan 2023 08:27:17 +0000 (09:27 +0100)]
; * etc/NEWS: Fix typos.
Alan Mackenzie [Mon, 23 Jan 2023 21:28:32 +0000 (21:28 +0000)]
CC Mode: Change the default value of objc-font-lock-extra-types to nil
This fixes bug #59234, in which random identifiers in a .m file were getting
fontified as types.
* lisp/progmodes/cc-vars.el (objc-font-lock-extra-types): Change the default
value to nil.
* etc/NEWS: Mention the change in default value of objc-font-lock-extra-types,
and how to get the old behavior back.
Alan Mackenzie [Mon, 23 Jan 2023 20:25:53 +0000 (20:25 +0000)]
CC Mode: Don't do c-backward-syntactic-ws following a forward movement
This was happening in, e.g., c-forward-type, which moves over whitespace at
the end of the scanned type. This WS movement can exit a comment or a macro,
such that a c-backward-syntactic-ws does not return to the desired point, but
to before the entire comment/macro.
* lisp/progmodes/cc-engine.el (c-forward-keyword-prefixed-id)
(c-forward-id-comma-list, c-forward-noise-clause, c-forward-keyword-clause)
(c-forward-name, c-forward-type): Add a new &optional parameter `stop-at-end'
which when non-nil means "do not move over syntactic WS after performing the
main job", and adapt the internals of these macros and functions accordingly.
(c-forward-declarator, c-forward-decl-or-cast-1): In the calls to
c-forward-type and c-forward-name, set the stop-at-end argument to t, and call
c-forward-sytactic-ws later.
Jim Porter [Mon, 23 Jan 2023 06:54:53 +0000 (22:54 -0800)]
Don't try to make a pipe process for remote processes in Eshell
Tramp currently isn't able to handle this, so the result will just
produce an error (bug#61024).
* lisp/eshell/esh-proc.el (eshell-gather-process-output): Check for a
remote 'default-directory' before trying to make a pipe process.
* test/lisp/eshell/esh-proc-tests.el
(esh-var-test/output/remote-redirect): New test.
Robert Pluim [Mon, 23 Jan 2023 13:42:11 +0000 (14:42 +0100)]
; * lisp/calendar/appt.el (appt-check): Fix byte-compile warning
Eli Zaretskii [Mon, 23 Jan 2023 13:09:07 +0000 (15:09 +0200)]
* lisp/startup.el (command-line): Fix warning message. (Bug#61014)
Theodor Thornhill [Sun, 22 Jan 2023 18:17:41 +0000 (19:17 +0100)]
Swap tag and element in html-ts-mode (bug#60972)
* lisp/textmodes/html-ts-mode.el: New values for
'treesit-sentence-type-regexp' and 'treesit-sexp-type-regexp'.
Robert Pluim [Mon, 23 Jan 2023 10:33:23 +0000 (11:33 +0100)]
; * lisp/eshell/esh-arg.el (eshell-prepare-splice): Fix quoting.
Michael Albinus [Mon, 23 Jan 2023 10:02:56 +0000 (11:02 +0100)]
Factor out some Tramp code
* lisp/net/tramp-compat.el (tramp-file-name-handler): Don't declare.
* lisp/net/tramp.el (tramp-skeleton-file-truename)
(tramp-skeleton-handle-make-symbolic-link): New defmacros.
(tramp-handle-file-truename):
* lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
(tramp-sh-handle-file-truename):
* lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-truename)
(tramp-sudoedit-handle-make-symbolic-link): Use them.
* lisp/net/tramp.el (tramp-call-process, tramp-call-process-region):
Let-bind `temporary-file-directory'.
* test/lisp/net/tramp-tests.el (tramp-action-yesno):
Suppress run in tests.
(tramp-test21-file-links, tramp-test29-start-file-process)
(tramp-test30-make-process, tramp-test42-utf8): Adapt tests.
Robert Pluim [Tue, 3 Jan 2023 16:09:53 +0000 (17:09 +0100)]
Add `yes-or-no-prompt' user option
This implements Bug#60312
* src/fns.c (syms_of_fns): Define `yes-or-no-prompt' Lisp variable.
(Fyes_or_no_p): Use `yes-or-no-prompt' instead of a hard-coded string.
* lisp/cus-start.el (standard): Add custom specification for it.
* doc/emacs/mini.texi (Yes or No Prompts): Document `yes-or-no-prompt'
* doc/lispref/minibuf.texi (Yes-or-No Queries): And here.
* etc/NEWS: Announce the new option.
Juri Linkov [Mon, 23 Jan 2023 07:55:29 +0000 (09:55 +0200)]
* lisp/find-dired.el (find-dired): Fix bug where M-p skips first history item.
Don't apply "skip first duplicate history item" trick when find-args
used as initial input is nil.
Stefan Kangas [Mon, 23 Jan 2023 05:30:18 +0000 (06:30 +0100)]
Merge from origin/emacs-29
647cc9c65e7 Update to Org 9.6.1-16-ge37e9b
Kyle Meyer [Mon, 23 Jan 2023 02:53:39 +0000 (21:53 -0500)]
Update to Org 9.6.1-16-ge37e9b
Stefan Kangas [Mon, 23 Jan 2023 01:09:15 +0000 (02:09 +0100)]
Merge from origin/emacs-29
b3814b43f60 (ruby-ts--predefined-variables): Fix the $` and $' entries
db02cbdfe02 * lisp/find-dired.el (find-dired-with-command): Quote fin...
2343a067c3d Generalize vc-pull-and-push to support more backends (bug...
846838dbab8 Add test suite for sgml-html-meta-auto-coding-function
0fb90f524db Fix decoding HTML files from archives
c854ef7a187 ; Fix last change (bug#60556).
8e83604dfe0 Avoid crashes in batch Emacs sub-processes on MS-Windows
808e101fabe Tweak BSD style indentation (bug#60984)
204519a2e73 Fix typo of exposed symbol name
9296e0c6495 Fix typo after move to common lib (bug#61001)
e74ba72a6a3 ruby-ts-mode: Fix two additional cases with ruby-method-c...
ae7e28a4372 ruby-mode.el: Expand some docstrings with examples
89cb3c3f157 Minor fixes for Haiku
6adc193ad66 Move c-like common utils into own library (bug#60961)
# Conflicts:
# lisp/progmodes/typescript-ts-mode.el
Stefan Kangas [Mon, 23 Jan 2023 00:34:43 +0000 (01:34 +0100)]
; Merge from origin/emacs-29
The following commit was skipped:
161706ec331 ; Actually use dummy package descriptor
Stefan Kangas [Mon, 23 Jan 2023 00:34:43 +0000 (01:34 +0100)]
Merge from origin/emacs-29
b875c9bf67e Fix file-regular-p in Tramp
63fa225d443 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
9f5d6c541e5 ; * doc/emacs/custom.texi (Init Rebinding): Fix wording i...
a91b435d0d5 ; Reword user documentation on binding keys in Lisp
0400de6a7de Fix typo in c-ts-mode (bug#60932)
Stefan Kangas [Mon, 23 Jan 2023 00:34:43 +0000 (01:34 +0100)]
; Merge from origin/emacs-29
The following commit was skipped:
0400de6a7de Fix typo in c-ts-mode (bug#60932)