]> git.eshelyaron.com Git - emacs.git/log
emacs.git
23 months agoFix copyright years of NEWS.29.
Eli Zaretskii [Sun, 1 Jan 2023 10:51:16 +0000 (05:51 -0500)]
Fix copyright years of NEWS.29.

23 months agoMerge from origin/emacs-29
Eli Zaretskii [Sun, 1 Jan 2023 10:47:47 +0000 (05:47 -0500)]
Merge from origin/emacs-29

cae528457c ; Add 2023 to copyright years.
b394359261 Improve documentation of 'isearch-open-overlay-temporary'
ab3210e709 Document 'use-package' in the 2 main manuals

# Conflicts:
# etc/refcards/ru-refcard.tex
# lib/explicit_bzero.c
# m4/explicit_bzero.m4

23 months ago; Merge from origin/emacs-29
Eli Zaretskii [Sun, 1 Jan 2023 10:46:25 +0000 (05:46 -0500)]
; Merge from origin/emacs-29

The following commit was skipped:

f0e9775b18 ; Auto-commit of loaddefs files.

23 months agoMerge from origin/emacs-29
Eli Zaretskii [Sun, 1 Jan 2023 10:46:24 +0000 (05:46 -0500)]
Merge from origin/emacs-29

72a81e2022 ; * lisp/treesit.el (treesit-simple-indent-presets): Fix t...
ddfeee3e8a Build recipe interactively in treesit-install-language-gra...
6837469780 ; Add REVISION to treesit-language-source-alist
0dc788aa01 ; Remove GRAMMAR-DIR from treesit-language-source-alist
f9aef67c36 Tweak csharp-mode font-lock-settings (bug#60376)
46362c0a3a ; * doc/lispref/tips.texi (Documentation Tips): Add indexing.
9a386b682e Revert a recent change which causes errors
9871ee8b14 ; More fixes for documentation of 'defalias'
f309651b67 ; Fix handling of 'not' by 'buffer-match-p'
9292f595a7 ; Fix typos
43c7e05a2a Fix misspelled functions in shortdoc groups
01acecc79c Simplify introduction of use-package manual
2a7e072e53 ; Fix documentation of 'defalias'
eee2aeca25 Fix python-shell-buffer-substring when retrieving a single...
bfdad6c4e5 ; Fix recent treesit-related changes

23 months ago; Add 2023 to copyright years.
Eli Zaretskii [Sun, 1 Jan 2023 10:31:12 +0000 (05:31 -0500)]
; Add 2023 to copyright years.

23 months agoImprove documentation of 'isearch-open-overlay-temporary'
Eli Zaretskii [Sun, 1 Jan 2023 09:04:22 +0000 (11:04 +0200)]
Improve documentation of 'isearch-open-overlay-temporary'

* lisp/isearch.el (isearch-open-overlay-temporary): Document that
the overlay passed to the 'isearch-open-invisible-temporary'
function cannot be deleted too early.  (Bug#60399)

23 months agoDocument 'use-package' in the 2 main manuals
Eli Zaretskii [Sun, 1 Jan 2023 08:38:11 +0000 (10:38 +0200)]
Document 'use-package' in the 2 main manuals

* doc/emacs/custom.texi (Init Examples):
* doc/lispref/loading.texi (Named Features): Document 'use-package'
and its most important features.

23 months agovc-git-dir-extra-headers: Improve detection of rebases
Sean Whitton [Sun, 1 Jan 2023 05:55:42 +0000 (22:55 -0700)]
vc-git-dir-extra-headers: Improve detection of rebases

* lisp/vc/vc-git.el (vc-git--cmds-in-progress): New function.
(vc-git-dir-extra-headers): Use it.

23 months agovc-git: Don't assume .git is a directory
Sean Whitton [Sun, 1 Jan 2023 05:45:10 +0000 (22:45 -0700)]
vc-git: Don't assume .git is a directory

* lisp/vc/vc-git.el (vc-git--git-path): New function.
(vc-git-dir-extra-headers)
(vc-git-merge-branch)
(vc-git-resolve-when-done): Use it.

23 months agoUpdate publicsuffix.txt from upstream
Stefan Kangas [Sun, 1 Jan 2023 05:01:59 +0000 (06:01 +0100)]
Update publicsuffix.txt from upstream

* etc/publicsuffix.txt: Update from
https://publicsuffix.org/list/public_suffix_list.dat
dated 2022-12-19 14:09:50 UTC.

23 months ago; Auto-commit of loaddefs files.
Stefan Kangas [Sun, 1 Jan 2023 04:08:28 +0000 (05:08 +0100)]
; Auto-commit of loaddefs files.

23 months ago; Auto-commit of loaddefs files.
Stefan Kangas [Sun, 1 Jan 2023 04:08:26 +0000 (05:08 +0100)]
; Auto-commit of loaddefs files.

23 months ago; * lisp/treesit.el (treesit-simple-indent-presets): Fix typo.
Yuan Fu [Sun, 1 Jan 2023 01:10:50 +0000 (17:10 -0800)]
; * lisp/treesit.el (treesit-simple-indent-presets): Fix typo.

Well it's sort of a typo :-)

23 months agoBuild recipe interactively in treesit-install-language-grammar
Yuan Fu [Sat, 31 Dec 2022 23:13:50 +0000 (15:13 -0800)]
Build recipe interactively in treesit-install-language-grammar

If there is not existing recipe for a language, prompt to build the
recipe interactively.

* lisp/treesit.el (treesit--install-language-grammar-build-recipe):
New functions.
(treesit-install-language-grammar): Use the new function.

23 months ago; Add REVISION to treesit-language-source-alist
Yuan Fu [Sat, 31 Dec 2022 22:55:10 +0000 (14:55 -0800)]
; Add REVISION to treesit-language-source-alist

This allows users to install a particular version or branch.  Prompted
by bug#60427 and bug#60223.

* lisp/treesit.el (treesit-language-source-alist)
(treesit--install-language-grammar-1): Add REVISION.

23 months ago; Remove GRAMMAR-DIR from treesit-language-source-alist
Yuan Fu [Sat, 31 Dec 2022 22:27:51 +0000 (14:27 -0800)]
; Remove GRAMMAR-DIR from treesit-language-source-alist

Removing it doesn't affect building all the language grammars in
batch.sh, so it must be an artifact I added for something else and
later forgot to remove.

* lisp/treesit.el (treesit-language-source-alist)
(treesit--install-language-grammar-1): Remove GRAMMAR-DIR.

23 months agoTweak csharp-mode font-lock-settings (bug#60376)
Theodor Thornhill [Fri, 30 Dec 2022 19:26:09 +0000 (20:26 +0100)]
Tweak csharp-mode font-lock-settings (bug#60376)

* lisp/progmodes/csharp-mode.el (csharp-ts-mode--font-lock-settings):
Rearrange features.
(csharp-ts-mode): Rearrange features.

23 months ago; * doc/lispref/tips.texi (Documentation Tips): Add indexing.
Eli Zaretskii [Sat, 31 Dec 2022 16:47:51 +0000 (18:47 +0200)]
; * doc/lispref/tips.texi (Documentation Tips): Add indexing.

23 months agoRevert a recent change which causes errors
Eli Zaretskii [Sat, 31 Dec 2022 16:32:54 +0000 (18:32 +0200)]
Revert a recent change which causes errors

* lisp/subr.el (buffer-match-p): Undo last change, as it causes an
error in a timer function of show-paren-mode.

23 months ago; More fixes for documentation of 'defalias'
Eli Zaretskii [Sat, 31 Dec 2022 15:01:22 +0000 (17:01 +0200)]
; More fixes for documentation of 'defalias'

* doc/lispref/functions.texi (Defining Functions): Document
other possible values of DEFINITION in a defalias.
(Bug#60432)

23 months ago; Fix handling of 'not' by 'buffer-match-p'
Philip Kaludercic [Sat, 31 Dec 2022 14:04:18 +0000 (15:04 +0100)]
; Fix handling of 'not' by 'buffer-match-p'

* lisp/subr.el (buffer-match-p): Look up the cadr instead of the cdr
for the negation in 'not'.
* doc/lispref/buffers.texi (Buffer List): Update documentation.
(Bug#58951)

23 months ago; Fix typos
Stefan Kangas [Mon, 26 Dec 2022 09:43:57 +0000 (10:43 +0100)]
; Fix typos

23 months agoFix misspelled functions in shortdoc groups
Stefan Kangas [Sat, 31 Dec 2022 11:31:13 +0000 (12:31 +0100)]
Fix misspelled functions in shortdoc groups

* lisp/emacs-lisp/shortdoc.el (file, list): Fix misspelled function
names: 'file-writable-p' and 'seq-reduce'.
* test/lisp/emacs-lisp/shortdoc-tests.el (subr-x): Require.
(shortdoc-all-functions-fboundp): New test.

23 months agoSimplify introduction of use-package manual
Kévin Le Gouguec [Tue, 27 Dec 2022 14:40:43 +0000 (15:40 +0100)]
Simplify introduction of use-package manual

* doc/misc/use-package.texi (Getting Started): Do not advise requiring
the package, since the macro is autoloaded; also correct the macro's
name.  (Bug#60366)

23 months agowhitespace: Use `define-globalized-minor-mode' for global mode
Richard Hansen [Sat, 10 Dec 2022 05:57:15 +0000 (00:57 -0500)]
whitespace: Use `define-globalized-minor-mode' for global mode

* lisp/whitespace.el (global-whitespace-mode): Fix interoperability
between `whitespace-mode' and `global-whitespace-mode' by using
`define-globalized-minor-mode'.  (Bug#60334)
* test/lisp/whitespace-tests.el (whitespace-tests--global): Add a
regression test.

23 months ago; Fix documentation of 'defalias'
Eli Zaretskii [Sat, 31 Dec 2022 08:44:53 +0000 (10:44 +0200)]
; Fix documentation of 'defalias'

* doc/lispref/functions.texi (Defining Functions): Document that a
defalias's DEFINITION can be a macro.  (Bug#60432)

23 months agoFix python-shell-buffer-substring when retrieving a single statement
kobarity [Thu, 22 Dec 2022 14:08:40 +0000 (23:08 +0900)]
Fix python-shell-buffer-substring when retrieving a single statement

* lisp/progmodes/python.el (python-shell-buffer-substring): Do not add
"if True:" line when retrieving a single statement.
(python-shell-send-region): Add a reference to
`python-shell-buffer-substring' in docstring.
* test/lisp/progmodes/python-tests.el (python-shell-buffer-substring-13)
(python-shell-buffer-substring-14, python-shell-buffer-substring-15)
(python-shell-buffer-substring-16, python-shell-buffer-substring-17):
New tests. (Bug#60142)

23 months ago; Fix recent treesit-related changes
Eli Zaretskii [Sat, 31 Dec 2022 08:13:15 +0000 (10:13 +0200)]
; Fix recent treesit-related changes

* lisp/treesit.el (treesit-language-source-alist)
(treesit--install-language-grammar-1): Doc fixes.

* src/treesit.c (Ftreesit_language_abi_version): Fix a typo in
function's Lisp name.  Doc fix.
(Ftreesit_language_available_p): Fix a typo in the function's C
name.

* doc/lispref/parsing.texi (Language Grammar): Fix wording.

23 months agoFix the build broken by latest GnuTLS-related changes
Eli Zaretskii [Sat, 31 Dec 2022 07:24:32 +0000 (09:24 +0200)]
Fix the build broken by latest GnuTLS-related changes

* src/gnutls.c (key_file2_aux): Don't use GNUTLS_PKCS_PBES2_*
constants that are defined only in latest versions of GnuTLS.
(Bug#50507)
(Fgnutls_boot): Mention in the doc string that some flags of
'gnutls_certificate_set_x509_key_file2' are only supported since
GnuTLS 3.6.3.

23 months agoMerge from origin/emacs-29
Stefan Kangas [Sat, 31 Dec 2022 05:30:21 +0000 (06:30 +0100)]
Merge from origin/emacs-29

ab1f245f1a1 Show tree-sitter query source when signaling query error
0b58ea0e602 ; * lisp/treesit.el (treesit--install-language-grammar-1)...
724da28763c Add version tags and mention the new options in NEWS
8675f4136c7 Add new options for Ruby code indentation
4922de626f0 ; Fix doc strings of 'treesit-install-language-grammar'
69b2aaaaded ; Fix recently modified docs of 'set-face-attribute' (bug...
0248fc9e1ac Add treesit-install-language-grammar
0237c5927e9 Add treesit-language-abi-version
312f82d36f0 Change "language definition" to "language grammar" in man...
fba35657da5 ; * lisp/progmodes/c-ts-mode.el (c-ts-mode--fill-paragrap...
dec1b37a32b ; * doc/lispref/parsing.texi (Accessing Node Information)...
39265abf0cc * test/lisp/net/tramp-tests.el (tramp-test32-shell-comman...
ebf65c7e7e3 * lisp/eshell/em-tramp.el (tramp): Require also at runtim...

# Conflicts:
# etc/NEWS

23 months ago; * src/gnutls.c (Fgnutls_boot): Fix typo.
Po Lu [Sat, 31 Dec 2022 01:10:36 +0000 (09:10 +0800)]
; * src/gnutls.c (Fgnutls_boot): Fix typo.

23 months agoFix last change in gnutls.c
Po Lu [Sat, 31 Dec 2022 01:10:23 +0000 (09:10 +0800)]
Fix last change in gnutls.c

* src/gnutls.c (Fgnutls_boot): Pacify
--enable-check-lisp-object-type and Haiku GCC warning involving
`key_file2_aux'.

23 months agoShow tree-sitter query source when signaling query error
Yuan Fu [Sat, 31 Dec 2022 00:57:45 +0000 (16:57 -0800)]
Show tree-sitter query source when signaling query error

* src/treesit.c (treesit_compose_query_signal_data): Add QUERY_SOURCE
parameter.
(treesit_ensure_query_compiled)
(Ftreesit_query_capture): Add query source.

23 months ago; * lisp/treesit.el (treesit--install-language-grammar-1): Minor fix.
Yuan Fu [Sat, 31 Dec 2022 00:23:39 +0000 (16:23 -0800)]
; * lisp/treesit.el (treesit--install-language-grammar-1): Minor fix.

23 months agoAdd version tags and mention the new options in NEWS
Dmitry Gutov [Fri, 30 Dec 2022 22:12:51 +0000 (00:12 +0200)]
Add version tags and mention the new options in NEWS

* etc/NEWS: Mention the new options (bug#60186).

* lisp/progmodes/ruby-mode.el (ruby-block-indent)
(ruby-after-operator-indent, ruby-method-call-indent)
(ruby-parenless-call-arguments-indent): Add version tags.

23 months agoAdd new options for Ruby code indentation
Dmitry Gutov [Fri, 30 Dec 2022 21:58:26 +0000 (23:58 +0200)]
Add new options for Ruby code indentation

* lisp/progmodes/ruby-mode.el (ruby-block-indent)
(ruby-after-operator-indent, ruby-method-call-indent)
(ruby-parenless-call-arguments-indent): New options (bug#60186).
(ruby-smie-grammar): Specify associativity for "?".
(ruby-smie--indent-to-stmt): Add optional argument.

* test/lisp/progmodes/ruby-mode-resources/ruby.rb: New cases.

* test/lisp/progmodes/ruby-mode-resources/ruby-method-call-indent.rb:
* test/lisp/progmodes/ruby-mode-resources/ruby-block-indent.rb:
* test/lisp/progmodes/ruby-mode-resources/ruby-after-operator-indent.rb:
* test/lisp/progmodes/ruby-mode-resources/
ruby-parenless-call-arguments-indent.rb: New files.

* test/lisp/progmodes/ruby-mode-tests.el: Add indentation tests for new files.

23 months agoCorrect suppression of suspicious eq type warning
Mattias Engdegård [Fri, 30 Dec 2022 12:48:47 +0000 (13:48 +0100)]
Correct suppression of suspicious eq type warning

* lisp/emacs-lisp/byte-run.el (with-suppressed-warnings):
* lisp/emacs-lisp/bytecomp.el (bytecomp--warn-dodgy-eq-arg):
Suppress warning using (suspicious FUNCTION), where FUNCTION is
not always `eq`.

23 months ago; Fix Eshell tests on macOS
Jim Porter [Fri, 30 Dec 2022 18:40:08 +0000 (10:40 -0800)]
; Fix Eshell tests on macOS

* test/lisp/eshell/esh-cmd-tests.el (esh-cmd-test/if-statement-pipe)
(esh-cmd-test/if-else-statement-pipe):
* test/lisp/eshell/esh-io-tests.el (esh-io-test/pipeline/subcommands):
Allow trailing newlines in the output.

23 months agoAdd :pass and :flags to gnutls-boot for :keylist
Nikolaos Chatzikonstantinou [Mon, 26 Sep 2022 15:08:18 +0000 (11:08 -0400)]
Add :pass and :flags to gnutls-boot for :keylist

* lisp/net/gnutls.el (gnutls-boot-parameters): Add the keys :pass and
:flags, and update the documentation.
* src/gnutls.c (gnutls-boot): Add the keys :pass and :flags, and
update the documentation.
(syms_of_gnutls): Add the symbols :pass, :flags, and the symbols that
correspond to the enumeration constants of the GnuTLS enum
`gnutls_pkcs_encrypt_flags_t'.
(key_file2_aux): Private helper function that translates a list of
symbols to its corresponding `unsigned int' value of the GnuTLS C enum
`gnutls_pkcs_encrypt_flags_t'.

(Bug#50507)

23 months ago; Fix doc strings of 'treesit-install-language-grammar'
Eli Zaretskii [Fri, 30 Dec 2022 15:10:22 +0000 (17:10 +0200)]
; Fix doc strings of 'treesit-install-language-grammar'

* lisp/treesit.el (treesit-install-language-grammar)
(treesit--install-language-grammar-1): Doc fixes.

23 months ago; Fix recently modified docs of 'set-face-attribute' (bug#52493)
Eli Zaretskii [Fri, 30 Dec 2022 14:43:38 +0000 (16:43 +0200)]
; Fix recently modified docs of 'set-face-attribute' (bug#52493)

* doc/lispref/display.texi (Attribute Functions): Clarify wording
and restore removed information about resetting attributes to
'unspecified' for future frames.

* lisp/faces.el (set-face-attribute): Minor copyedit of doc
string.

23 months agoAdd treesit-install-language-grammar
Yuan Fu [Fri, 30 Dec 2022 10:56:26 +0000 (02:56 -0800)]
Add treesit-install-language-grammar

Per discussion on emacs-devel, I added function to install and compile
language grammars.

* lisp/treesit.el (treesit-language-source-alist): New variable.
(treesit-install-language-grammar)
(treesit--call-process-signal)
(treesit--install-language-grammar-1): New functions.

23 months agoAdd treesit-language-abi-version
Yuan Fu [Fri, 30 Dec 2022 10:54:13 +0000 (02:54 -0800)]
Add treesit-language-abi-version

Also rename treesit-language-version to treesit-library-abi-version,
because the old name is somewhat misleading.

* doc/lispref/parsing.texi (Language Grammar): Update.
* src/treesit.c (Ftreesit_library_abi_version): Rename.
(Ftreesit_language_abi_version): New function.

23 months ago; fix misplaced bracketing of `and` inside `when`
Mattias Engdegård [Fri, 30 Dec 2022 10:30:23 +0000 (11:30 +0100)]
; fix misplaced bracketing of `and` inside `when`

23 months ago; remove incorrect quoting of condition names
Mattias Engdegård [Fri, 30 Dec 2022 10:11:14 +0000 (11:11 +0100)]
; remove incorrect quoting of condition names

23 months agoChange "language definition" to "language grammar" in manual.
Yuan Fu [Fri, 30 Dec 2022 08:47:22 +0000 (00:47 -0800)]
Change "language definition" to "language grammar" in manual.

"Language grammar" is apparently the more widely used term among
people talking about tree-sitter.  To avoid confusion, I think it's
good to use that rather than "language definition", which is a term
that I made up :-)

Feel free to revert this if it is too much change.

* doc/lispref/elisp.texi:
* doc/lispref/modes.texi:
* doc/lispref/parsing.texi:
* lisp/treesit.el: Change "language definition" to "language grammar".

23 months ago; * lisp/progmodes/c-ts-mode.el (c-ts-mode--fill-paragraph): Fix.
Yuan Fu [Fri, 30 Dec 2022 08:34:42 +0000 (00:34 -0800)]
; * lisp/progmodes/c-ts-mode.el (c-ts-mode--fill-paragraph): Fix.

23 months ago; * doc/lispref/parsing.texi (Accessing Node Information): Fix typo.
Yuan Fu [Fri, 30 Dec 2022 04:54:42 +0000 (20:54 -0800)]
; * doc/lispref/parsing.texi (Accessing Node Information): Fix typo.

23 months ago* test/lisp/net/tramp-tests.el (tramp-test32-shell-command): Fix test.
Michael Albinus [Fri, 30 Dec 2022 08:26:56 +0000 (09:26 +0100)]
* test/lisp/net/tramp-tests.el (tramp-test32-shell-command): Fix test.

23 months ago* lisp/eshell/em-tramp.el (tramp): Require also at runtime. (Bug#60402)
Michael Albinus [Fri, 30 Dec 2022 08:26:41 +0000 (09:26 +0100)]
* lisp/eshell/em-tramp.el (tramp): Require also at runtime.  (Bug#60402)

23 months agoFix reference-counting of Eshell I/O handles
Jim Porter [Sat, 24 Dec 2022 22:31:50 +0000 (14:31 -0800)]
Fix reference-counting of Eshell I/O handles

This ensures that output targets in Eshell are only closed when Eshell
is actually done with them.  In particular, this means that
"{ echo foo; echo bar } | rev" prints "raboof" as expected
(bug#59545).

* lisp/eshell/esh-io.el (eshell-create-handles): Structure the handles
differently so the targets and their ref-count can be shared.
(eshell-duplicate-handles): Reimplement this to share targets between
the original and new handle sets.  Add STEAL-P argument.
(eshell-protect-handles, eshell-copy-output-handle)
(eshell-interactive-output-p, eshell-output-object): Account for
changes to the handle structure.
(eshell-close-handle): New function...
(eshell-close-handles, eshell-set-output-handle): ... use it.
(eshell-get-targets): Remove.  This only existed to make the previous
implementation of 'eshell-duplicate-handles' work.

* lisp/eshell/esh-cmd.el (eshell-with-copied-handles): New argument
STEAL-P.
(eshell-do-pipelines): Use STEAL-P for the last item in the pipeline.
(eshell-parse-command): Don't copy handles for the last command in the
list; explain why we can't use STEAL-P here.
(eshell-eval-command): When queuing input, set 'eshell-command-body'
and 'eshell-test-body' for the 'if' conditional (see
'eshell-do-eval').

* test/lisp/eshell/esh-io-tests.el (esh-io-test/redirect-pipe): Split
into...
(esh-io-test/pipeline/default, esh-io-test/pipeline/all): ... these.
(esh-io-test/pipeline/subcommands): New test.

* test/lisp/eshell/esh-cmd-tests.el (esh-cmd-test/for-loop-pipe)
(esh-cmd-test/while-loop-pipe, esh-cmd-test/if-statement-pipe)
esh-cmd-test/if-else-statement-pipe): New tests.
(esh-cmd-test/while-loop): Use 'pop' to simplify the test a bit.

* test/lisp/eshell/eshell-test-helpers.el
(eshell-test--max-subprocess-time): Rename to...
(eshell-test--max-wait-time): ... this.
(eshell-wait-for): New function...
(eshell-wait-for-subprocess): ... use it.

* test/lisp/eshell/eshell-tests.el (eshell-test/queue-input): Fix this
test.  Previously, it didn't correctly verify that the original
command completed.

* test/lisp/eshell/em-tramp-tests.el
(em-tramp-test/should-replace-command): New macro...
(em-tramp-test/su-default, em-tramp-test/su-user)
(em-tramp-test/su-login, em-tramp-test/sudo-shell)
(em-tramp-test/sudo-user-shell, em-tramp-test/doas-shell)
(em-tramp-test/doas-user-shell): ... use it.

23 months agoMerge from origin/emacs-29
Stefan Kangas [Fri, 30 Dec 2022 05:45:13 +0000 (06:45 +0100)]
Merge from origin/emacs-29

644c71d6788 lisp/textmodes/bibtex.el: fix bibtex-beginning-of-entry (...
ab38abfdf75 lisp/textmodes/bibtex.el: Treat $ as punctuation in BibTe...
d086cd6cf87 Clarify the documentation of 'set-face-attribute'
dafa6d6badd Handle non-string values in pcomplete
beed746f944 Fix completion when completion-auto-select is set
7ccb88486eb ; * etc/DEBUG: Update MS-Windows specifics for GDB 13 and...
558b59d81b9 Add color fontification in css-ts-mode (bug#60405)
a96a7c81151 ; * lisp/textmodes/css-mode.el (css-ts-mode): Fix imenu s...
793641a3db5 ; * lisp/progmodes/js.el: Fix byte-compile warning.
0aea1cf8190 * lisp/hi-lock.el (hi-lock--regexps-at-point): Fix bug (b...
60418e6f09c * src/keyboard.c (echo_add_key): Use recently rebound C-h...
706ed852855 Avoid assertion violations in treesit.c with --enable-che...
38c35bf0f6a Clean up treesit-default-defun-skipper and add comments
9371d488be6 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
9d814bea460 ; whitespace.el: Use the new 'ert-with-buffer-selected' i...
784e509bded Fix c-ts-mode bracket indentation (bug#60398)

23 months agoAvoid some obsolescent tz abbrevs in doc.
Paul Eggert [Fri, 30 Dec 2022 03:16:10 +0000 (19:16 -0800)]
Avoid some obsolescent tz abbrevs in doc.

23 months agoDocument calc-time-zone abbreviation obsolescence
Paul Eggert [Fri, 30 Dec 2022 03:16:09 +0000 (19:16 -0800)]
Document calc-time-zone abbreviation obsolescence

* doc/misc/calc.texi (Time Zones): Document that alphabetic
time zone abbreviations are obsolescent and in some cases wrong.

23 months agoUse RFC 822 abbrevs in sunrise-sunset strings
Paul Eggert [Fri, 30 Dec 2022 03:16:09 +0000 (19:16 -0800)]
Use RFC 822 abbrevs in sunrise-sunset strings

* lisp/calendar/solar.el (sunrise-sunset): Use RFC 822 time zone
abbreviations like "+0530" instead of idiosyncratic abbreviations
like "UTC+330min".

23 months agoAdd nndiary-headers obsolescence comment
Paul Eggert [Fri, 30 Dec 2022 03:16:09 +0000 (19:16 -0800)]
Add nndiary-headers obsolescence comment

* lisp/gnus/nndiary.el (nndiary-headers): Add comment
about alphabetic time zone names being obsolescent.

23 months agoDefault mbox "From " time zone to -0000
Paul Eggert [Fri, 30 Dec 2022 05:27:45 +0000 (21:27 -0800)]
Default mbox "From " time zone to -0000

* lisp/mail/rmailout.el (rmail-nuke-pinhead-header):
Default the time zone to "-0000" instead of "EST", as "-0000" is
the RFC-2822-and-later standard for unknown time zones.

23 months agoIn cal-dst, be consistent re default to UTC
Paul Eggert [Fri, 30 Dec 2022 03:16:09 +0000 (19:16 -0800)]
In cal-dst, be consistent re default to UTC

* lisp/calendar/cal-dst.el (calendar-standard-time-zone-name)
(calendar-daylight-time-zone-name):
When using alphabetic time zone abbreviations, default to "UTC"
rather than to "EST" or "EDT", to be consistent with the behavior
when using numeric time zone abbreviations.
Also, in the numeric time zone use "-0000" rather than "+0000"
to show that the time zone is unknown; this is the RFC 5322
standard.

23 months agoFix newsticker timezone decode
LdBeth [Fri, 30 Dec 2022 03:16:09 +0000 (19:16 -0800)]
Fix newsticker timezone decode

'newsticker--decode-rfc822-date' has the regex pattern for
North American timezones but the actual timezone conversion
for them was not implmented. Now cond cases are added to
handle them as specified in RFC822.

Copyright-paperwork-exempt: yes

23 months agolisp/textmodes/bibtex.el: fix bibtex-beginning-of-entry (bug#56636)
Roland Winkler [Fri, 30 Dec 2022 05:31:08 +0000 (23:31 -0600)]
lisp/textmodes/bibtex.el: fix bibtex-beginning-of-entry (bug#56636)

lisp/textmodes/bibtex.el (bibtex-beginning-of-entry):
use bibtex-any-entry-maybe-empty-head (bug#56636)

23 months agolisp/textmodes/bibtex.el: Treat $ as punctuation in BibTeX fields (bug#50202)
Roland Winkler [Fri, 30 Dec 2022 05:22:48 +0000 (23:22 -0600)]
lisp/textmodes/bibtex.el: Treat $ as punctuation in BibTeX fields (bug#50202)

23 months agoClarify the documentation of 'set-face-attribute'
Gregory Heytings [Thu, 29 Dec 2022 22:41:58 +0000 (22:41 +0000)]
Clarify the documentation of 'set-face-attribute'

* lisp/faces.el (set-face-attribute): Mention the evaluation order
of attribute-value pairs in the docstring.

* doc/lispref/display.texi (Attribute Functions): Likewise, and
explain with an example that a different argument order might give
different results.  Also align the documentation in the manual
with that of the docstring, whose changes were discussed in
bug#57499 but not included in the manual.

23 months agoHandle non-string values in pcomplete
Gregory Heytings [Mon, 19 Dec 2022 22:18:22 +0000 (22:18 +0000)]
Handle non-string values in pcomplete

* lisp/pcomplete.el (pcomplete-arg): When
pcomplete-parse-arguments-function returns a non-string value,
return the string the user typed in, and attach the value as a
text property to that string.  Fixes bug#59956 and bug#60021.

23 months agoFix completion when completion-auto-select is set
Gregory Heytings [Thu, 29 Dec 2022 21:50:26 +0000 (21:50 +0000)]
Fix completion when completion-auto-select is set

* lisp/minibuffer.el (completion--do-completion): Do not display
"Complete, but not unique" messages when completion-auto-select is
set.  Fixes bug#60359.

23 months ago; * etc/DEBUG: Update MS-Windows specifics for GDB 13 and later.
Eli Zaretskii [Thu, 29 Dec 2022 20:04:44 +0000 (22:04 +0200)]
; * etc/DEBUG: Update MS-Windows specifics for GDB 13 and later.

23 months agoAdd color fontification in css-ts-mode (bug#60405)
Yuan Fu [Thu, 29 Dec 2022 19:52:06 +0000 (11:52 -0800)]
Add color fontification in css-ts-mode (bug#60405)

* lisp/textmodes/css-mode.el (css-ts-mode): Add color fontification
and syntax-propertize-function.

23 months ago; * lisp/textmodes/css-mode.el (css-ts-mode): Fix imenu setup.
Yuan Fu [Thu, 29 Dec 2022 19:41:26 +0000 (11:41 -0800)]
; * lisp/textmodes/css-mode.el (css-ts-mode): Fix imenu setup.

23 months ago; * lisp/progmodes/js.el: Fix byte-compile warning.
Yuan Fu [Thu, 29 Dec 2022 19:34:28 +0000 (11:34 -0800)]
; * lisp/progmodes/js.el: Fix byte-compile warning.

23 months agoAllow for indentation in prog-fill-reindent-defun (bug#60322)
Theodor Thornhill [Thu, 29 Dec 2022 19:19:46 +0000 (20:19 +0100)]
Allow for indentation in prog-fill-reindent-defun (bug#60322)

* lisp/progmodes/prog-mode.el (prog-fill-reindent-defun):
Adjust regexp.

23 months ago* lisp/hi-lock.el (hi-lock--regexps-at-point): Fix bug (bug#60241).
Juri Linkov [Thu, 29 Dec 2022 17:45:12 +0000 (19:45 +0200)]
* lisp/hi-lock.el (hi-lock--regexps-at-point): Fix bug (bug#60241).

Handle two cases: when a pattern is a regexp or a function.

23 months ago* src/keyboard.c (echo_add_key): Use recently rebound C-h key C-q (bug#60249)
Juri Linkov [Thu, 29 Dec 2022 17:41:41 +0000 (19:41 +0200)]
* src/keyboard.c (echo_add_key): Use recently rebound C-h key C-q (bug#60249)

23 months ago* etc/NEWS: Mention some recently added byte-compiler warnings
Mattias Engdegård [Thu, 29 Dec 2022 16:38:02 +0000 (17:38 +0100)]
* etc/NEWS: Mention some recently added byte-compiler warnings

23 months agoConsistent empty-body warning messages for let and let*
Mattias Engdegård [Thu, 29 Dec 2022 16:00:01 +0000 (17:00 +0100)]
Consistent empty-body warning messages for let and let*

* lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-test--with-suppressed-warnings):
Make warning messages for let and let* consistent with other
empty-body warnings.

23 months ago; Suppress empty-body warnings in cedet/semantic
Mattias Engdegård [Thu, 29 Dec 2022 12:15:20 +0000 (13:15 +0100)]
; Suppress empty-body warnings in cedet/semantic

23 months agoAdd empty-body warning for when, unless etc
Mattias Engdegård [Thu, 29 Dec 2022 12:01:47 +0000 (13:01 +0100)]
Add empty-body warning for when, unless etc

Warn about code like (when SOME-CONDITION) because these may indicate
bugs.  Warnings currently apply to `when`, `unless`, `ignore-error`,
`with-suppressed-warnings` and (as before) `let` and `let*`.

* lisp/emacs-lisp/byte-run.el (with-suppressed-warnings):
Update doc string.
* lisp/emacs-lisp/bytecomp.el: (byte-compile-warning-types)
(byte-compile-warnings): Add empty-body.
(byte-compile-initial-macro-environment):
Add empty-body warning for with-suppressed-warnings.
* lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
Use the empty-body category for let and let*.
* lisp/subr.el (when, unless, ignore-error): Add empty-body warning.
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-test--with-suppressed-warnings): Add test cases.

23 months agoAvoid assertion violations in treesit.c with --enable-checking
Eli Zaretskii [Thu, 29 Dec 2022 11:52:09 +0000 (13:52 +0200)]
Avoid assertion violations in treesit.c with --enable-checking

* src/treesit.c (Ftreesit_node_first_child_for_pos)
(Ftreesit_node_descendant_for_range): Check validity of buffer
positions before converting them to byte-positions, to avoid
assertion violations in buf_charpos_to_bytepos.

23 months agoWarn about `condition-case' with quoted condition names
Mattias Engdegård [Thu, 29 Dec 2022 11:00:50 +0000 (12:00 +0100)]
Warn about `condition-case' with quoted condition names

* lisp/emacs-lisp/bytecomp.el (byte-compile-condition-case):
Add warning.
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-warn-quoted-condition): Add test case.

23 months agoWarn about `ignore-error` with quoted condition argument
Mattias Engdegård [Wed, 28 Dec 2022 13:40:19 +0000 (14:40 +0100)]
Warn about `ignore-error` with quoted condition argument

* lisp/subr.el (ignore-error):
Clarify condition argument in doc string and add warning.
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-warn-quoted-condition): New test.

23 months ago; Fix byte-compilation warnings in admin/*.el
Mattias Engdegård [Wed, 28 Dec 2022 12:25:49 +0000 (13:25 +0100)]
; Fix byte-compilation warnings in admin/*.el

23 months ago* lisp/subr.el (with-demoted-errors): Better message and location.
Mattias Engdegård [Wed, 28 Dec 2022 12:10:35 +0000 (13:10 +0100)]
* lisp/subr.el (with-demoted-errors): Better message and location.

23 months agoClean up treesit-default-defun-skipper and add comments
Yuan Fu [Thu, 29 Dec 2022 09:28:25 +0000 (01:28 -0800)]
Clean up treesit-default-defun-skipper and add comments

* lisp/treesit.el (treesit-default-defun-skipper): Clean up, fix some
small issue, add comment.

23 months agoMerge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/emacs into emacs-29
Eli Zaretskii [Thu, 29 Dec 2022 09:11:58 +0000 (11:11 +0200)]
Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/emacs into emacs-29

23 months ago; whitespace.el: Use the new 'ert-with-buffer-selected' in tests
Richard Hansen [Sun, 18 Dec 2022 05:24:16 +0000 (00:24 -0500)]
; whitespace.el: Use the new 'ert-with-buffer-selected' in tests

Commit 286c48137f69fa96b80d197da90c69a42df604a3 added a new
`ert-with-test-buffer-selected' macro.  Use that macro in
'whitespace-mode' tests to avoid code duplication.  (Bug#60332)
* test/lisp/whitespace-tests.el (whitespace--with-buffer-selected):
Macro deleted.
(whitespace-tests--indirect-clone-breaks-base-markers)
(whitespace-tests--indirect-clone-markers)
(whitespace-tests--regular-clone-markers): Use
'ert-with-buffer-selected'.

23 months agoFix c-ts-mode bracket indentation (bug#60398)
Yuan Fu [Thu, 29 Dec 2022 08:58:50 +0000 (00:58 -0800)]
Fix c-ts-mode bracket indentation (bug#60398)

* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Use new
anchor.
(c-ts-mode--bracket-children-anchor): New anchor function.

23 months agoMerge from origin/emacs-29
Stefan Kangas [Thu, 29 Dec 2022 05:30:09 +0000 (06:30 +0100)]
Merge from origin/emacs-29

909091d7578 ; Minor cleanup for tree-sitter font-lock rules in js-ts-...
e78e69b3318 Clean up font-lock rules in js-ts-mode
0a61e4e2b71 ; * doc/lispref/parsing.texi (Using Parser): Minor improv...
398ed75c276 ; * lisp/progmodes/c-ts-mode.el (c-ts-mode--fill-paragrap...
19b8733aa27 Fix syntax for < and > in c++-ts-mode (bug#60351)
f509246ba12 Call tree-sitter parser notifier on the first parse
ec6feeaa191 Fix tree-sitter parser notifier recursion

23 months ago; Minor cleanup for tree-sitter font-lock rules in js-ts-mode
Yuan Fu [Thu, 29 Dec 2022 00:57:21 +0000 (16:57 -0800)]
; Minor cleanup for tree-sitter font-lock rules in js-ts-mode

* lisp/progmodes/js.el (js--treesit-font-lock-settings): Minor cleanup.

23 months agoClean up font-lock rules in js-ts-mode
Yuan Fu [Thu, 29 Dec 2022 00:52:47 +0000 (16:52 -0800)]
Clean up font-lock rules in js-ts-mode

Changes for each feature:

- string: Take out string-interpolation bits.
- string-interpolation: New.
- declaration: Rename to definition.
- identifier: Remove.
- property: Use a pred to filter out methods.
- expression: Rename to assignment.
- function: New.
- pattern: Merge into assignment.

* lisp/progmodes/js.el (js--treesit-font-lock-settings): See above.
(js--treesit-property-not-function-p)
(js--treesit-lhs-identifier-query): New variable.
(js--treesit-fontify-assignment-lhs): New functions.
(js-ts-mode): Update feature list.

23 months ago; * doc/lispref/parsing.texi (Using Parser): Minor improvement.
Yuan Fu [Wed, 28 Dec 2022 23:54:51 +0000 (15:54 -0800)]
; * doc/lispref/parsing.texi (Using Parser): Minor improvement.

23 months ago; * lisp/progmodes/c-ts-mode.el (c-ts-mode--fill-paragraph): Fix.
Yuan Fu [Wed, 28 Dec 2022 23:47:14 +0000 (15:47 -0800)]
; * lisp/progmodes/c-ts-mode.el (c-ts-mode--fill-paragraph): Fix.

23 months agoFix syntax for < and > in c++-ts-mode (bug#60351)
Yuan Fu [Wed, 28 Dec 2022 23:44:26 +0000 (15:44 -0800)]
Fix syntax for < and > in c++-ts-mode (bug#60351)

< and > are usually punctuation, e.g., in ->.  But when used for
templates, they should be considered pairs.  Right now we always
consider them as pairs which is incorrect.

* lisp/progmodes/c-ts-mode.el (c++-ts-mode--syntax-table): Remove
variable.
(c-ts-mode--syntax-propertize): New function.
(c++-ts-mode): Remove syntax table.  Setup syntax-propertize-function.

23 months agoCall tree-sitter parser notifier on the first parse
Yuan Fu [Wed, 28 Dec 2022 23:30:10 +0000 (15:30 -0800)]
Call tree-sitter parser notifier on the first parse

* src/treesit.c (treesit_call_after_change_functions): Handle NULL
old_tree.
(treesit_ensure_parsed): Remove check for NULL tree.

23 months agoFix tree-sitter parser notifier recursion
Yuan Fu [Wed, 28 Dec 2022 23:19:34 +0000 (15:19 -0800)]
Fix tree-sitter parser notifier recursion

See the comment for detail.

* src/treesit.c (treesit_ensure_parsed): Move the need_reparse short
circuit to the very beginning.  Move the call to
treesit_call_after_change_functions to the very end.

23 months agoMerge from origin/emacs-29
Stefan Kangas [Wed, 28 Dec 2022 20:40:59 +0000 (21:40 +0100)]
Merge from origin/emacs-29

db96b1282f9 * lisp/help.el: Use 'C-h C-q' to toggle 'help-quick' wind...
489865c21e4 ; Improve markup of long key sequences
d42c2668cf3 ; * etc/NEWS: Fix wording of a recently edited entry.
7a0eaee1980 * lisp/isearch.el: Small fixes.
b69bffeec05 * lisp/vc/diff-mode.el (diff-minor-mode-prefix): Replace ...
9263847ab76 ; * etc/NEWS: Move the paragraph with 'C-u RET' closer to...
62fb2dc37da * doc/emacs/display.texi (Text Scale): Improve section ab...
70480d3b6b7 * lisp/repeat.el (repeat-echo-function): Suggest 'add-fun...
fd48201ffe7 * lisp/tab-line.el (tab-line-cache-key-default): More cac...
b1646602602 * etc/package-keyring.gpg: Update with new key
c0be51389eb ; Yet another declare-function to avoid treesit-related w...
8676bec51de ; * lisp/treesit.el (treesit--simple-imenu-1): Doc fix; w...
2ddc480f441 Warn of absent networks module in ERC
19d00fab9aa Avoid "already compiled" warning in erc-compat
2d8f7b66bcc ; Fix one more treesit byte-compilation warning.
2d0a9214863 ; Avoid treesit-related byte-compiler warnings
8503b370be1 (python--treesit-settings): Remove duplicate matcher
b464e6c490b Make last change of w32 GUI dialogs conditional and rever...
eedc9d79aed Fix tree-sitter typos
248c13dcfe1 Update tree-sitter major modes to use the new Imenu facility
b39dc7ab27a Add tree-sitter helper functions for Imenu
ba1ddea9dab Fix treesit--things-around (bug#60355)
7512b9025a1 ; * lisp/treesit.el (treesit-traverse-parent): Remove alias.
5326b041982 Improve treesit-node-top-level and treesit-parent-until
637f5b164f2 ; Add "src" to the heuristic sub-directory heuristic
8ab6df0c9fd ; * lisp/epa-ks.el (epa-ks-do-key-to-fetch): Fix 'when' u...
2b55a48d3e3 * src/w32menu.c (simple_dialog_show): Use MB_YESNOCANCEL ...
8b8b7915679 ; Improve documentation of TAB/SPC indentation
624e3822110 ; Improve doc strings of some new faces
41f12e1019b ; * lisp/elide-head.el (elide-head): Doc fix to silence c...
e3b4cd0ac1d ; * lisp/htmlfontify.el (hfy-text-p): Fix whitespace.
1b4dc4691c1 Fix htmlfontify.el command injection vulnerability.
1fe4b98b4d5 Improve support for Scheme R6RS and R7RS libraries (bug#5...
2347f37f677 ; * test/src/treesit-tests.el: remove dead store (bytecom...
a6d961ae2fd Add a new tree-sitter query predicate 'pred'
835a80dcc48 ; Fix tree-sitter defun tests
a14821d6151 Improve gnutls-min-prime-bits docstring
b14bbd108e4 Improve handling of tab-bar height.
669160d47b2 ; * nt/INSTALL.W64: More fixes and updates.
26b2ec7cb8c Simplify last change (bug#60311)
082fc6e3088 Fix 'json-available-p' on MS-Windows
6c86faec29e loaddefs-gen: Group results by absolute file name
d90d7d15f2f ; Fix vindexes in parsing.texi
eb268728376 Fix imenu for c-ts-mode (bug#60296)
8f68b6497ee Clean up python-ts-mode font-lock features
28f26b11a1e Add comment indent and filling to other tree-sitter major...
c6b02826450 ; Remove unused function in c-ts-mode
6e52a9fcadc ; * doc/lispref/modes.texi (Parser-based Font Lock): Mino...
2bcd1e9a99d ; * doc/lispref/parsing.texi (Retrieving Nodes): Add notice.
7c7950fe006 Add maintainer stub for tree-sitter files
cf327766226 ; * doc/lispref/parsing.texi (Using Parser): Remove delet...

# Conflicts:
# etc/NEWS
# lisp/progmodes/c-ts-mode.el
# lisp/progmodes/typescript-ts-mode.el
# lisp/treesit.el

23 months ago* lisp/help.el: Use 'C-h C-q' to toggle 'help-quick' window (bug#60249).
Juri Linkov [Wed, 28 Dec 2022 18:48:40 +0000 (20:48 +0200)]
* lisp/help.el: Use 'C-h C-q' to toggle 'help-quick' window (bug#60249).

(help-map): Bind "C-q" to 'help-quick-toggle'.  Rebind "q" to 'help-quit'.
(help-quick): Replace help-quit-or-quick with help-quick-toggle.
(help-quick-toggle): New command.
(help-quit-or-quick): Remove command.
(help-for-help): Replace help-quick-or-quit with help-quick-toggle.

23 months ago; Improve markup of long key sequences
Eli Zaretskii [Wed, 28 Dec 2022 18:33:58 +0000 (20:33 +0200)]
; Improve markup of long key sequences

* doc/emacs/display.texi (Text Scale): Avoid breaking key
sequences between lines by using @w{..}.

23 months ago; * etc/NEWS: Fix wording of a recently edited entry.
Eli Zaretskii [Wed, 28 Dec 2022 18:30:56 +0000 (20:30 +0200)]
; * etc/NEWS: Fix wording of a recently edited entry.

23 months ago* lisp/isearch.el: Small fixes.
Juri Linkov [Wed, 28 Dec 2022 18:27:07 +0000 (20:27 +0200)]
* lisp/isearch.el: Small fixes.

(isearch-wrap-pause): Mention the new feature of `no' and `no-ding'
in the docstring.
(isearch-lax-whitespace, isearch-forward-thing-at-point): Add the
group 'isearch' since another defgroup changed the default group.
(isearch-delete-char): Use 'isearch-invisible' instead of 'search-invisible'
since the users might change the current value with 'M-s i'.

23 months ago* lisp/vc/diff-mode.el (diff-minor-mode-prefix): Replace "ESC" with "\e".
Juri Linkov [Wed, 28 Dec 2022 18:14:43 +0000 (20:14 +0200)]
* lisp/vc/diff-mode.el (diff-minor-mode-prefix): Replace "ESC" with "\e".

"ESC" looks like an attempt to use kbd syntax in customization.
But actually now 'key-description' is used in 'diff-minor-mode-map'
to convert "\e" to "ESC".

23 months ago; * etc/NEWS: Move the paragraph with 'C-u RET' closer to the related section.
Juri Linkov [Wed, 28 Dec 2022 18:09:46 +0000 (20:09 +0200)]
; * etc/NEWS: Move the paragraph with 'C-u RET' closer to the related section.

23 months ago* doc/emacs/display.texi (Text Scale): Improve section about repeating keys.
Juri Linkov [Wed, 28 Dec 2022 18:06:18 +0000 (20:06 +0200)]
* doc/emacs/display.texi (Text Scale): Improve section about repeating keys.

Mention that it's possible to use repeating keys without the modifiers
and copy an example from etc/NEWS.