]> git.eshelyaron.com Git - emacs.git/log
emacs.git
2 years ago; Merge from origin/emacs-29
Stefan Monnier [Sat, 14 Jan 2023 14:10:45 +0000 (09:10 -0500)]
; Merge from origin/emacs-29

The following commit was skipped:

79971ebacc7 Disable and document 'doc-view-mupdf-use-svg' (bug#58041)

2 years agoMerge from origin/emacs-29
Stefan Monnier [Sat, 14 Jan 2023 14:10:45 +0000 (09:10 -0500)]
Merge from origin/emacs-29

f1032bf24e7 Eglot: don't use "nil" as minibuffer initial input
1b9ffd28116 Fix dependency bug when building lwlib
dc33a122230 Fix use of build_pure_c_string in treesit.c

2 years ago; Merge from origin/emacs-29
Stefan Monnier [Sat, 14 Jan 2023 14:10:45 +0000 (09:10 -0500)]
; Merge from origin/emacs-29

The following commits were skipped:

59c3c53efa4 * lisp/subr.el (combine-change-calls-1): Fix bug#60467
9f8f8ed1baf Adapt tramp-tests.el  (do not merge with master)

2 years agoMerge from origin/emacs-29
Stefan Monnier [Sat, 14 Jan 2023 14:10:45 +0000 (09:10 -0500)]
Merge from origin/emacs-29

861556c1339 Fix minibuffer-completion tests
c0578edc8fc ; * doc/misc/eglot.texi (Troubleshooting Eglot): Fix typo...
c6bbf9cc270 Add c-ts-mode tests
a760364f5f3 Fix c-ts-mode--fill-paragraph
2a2b1d09ac7 Fix minor issues with 'pp' and related commands
dfb38fb2ee6 ; Improve documentation of tree-sitter node comparison
e8a89a18b69 ; Fix non-tree-sitter builds
f27a330b99e ; Fix typo in ert-with-temp-file
956889d8ff1 Equal now recognizes tree-sitter nodes (bug#60659)
8f446c2d397 Fix c-ts-mode comment indentation (bug#60270)
083badc9c12 * lisp/subr.el (while-let): Use if-let, not if-let* (bug#...
9ecebcdded1 * lisp/simple.el (next-completion): Handle first completi...
cfd2b3504ab Fix encoding with 'utf-8-auto'
53b47df8229 Report cursor correctly on PGTK when there is a margin

# Conflicts:
# etc/NEWS

2 years agoDisable and document 'doc-view-mupdf-use-svg' (bug#58041)
Eli Zaretskii [Sat, 14 Jan 2023 08:26:40 +0000 (10:26 +0200)]
Disable and document 'doc-view-mupdf-use-svg' (bug#58041)

* lisp/doc-view.el (doc-view-mupdf-use-svg): Disable by default.
* etc/NEWS: Document.  Patch by Visuwesh <visuweshm@gmail.com>.
Do not merge to master.

2 years agoEglot: don't use "nil" as minibuffer initial input
Eshel Yaron [Sat, 14 Jan 2023 08:12:11 +0000 (10:12 +0200)]
Eglot: don't use "nil" as minibuffer initial input

Doing M-x eglot in a buffer for which buffer-file-name is nil, prompts
the user for a major mode to manage by invoking completing-read.  The
way completing-read was called would end up with the string "nil" as
the initial minibuffer input, which is not very useful nor is it a
valid input.
* lisp/progmodes/eglot.el (eglot--guess-contact): Tweak prompt for
major mode.  (Bug#60379)

Copyright-paperwork-exempt: yes

2 years agoFix dependency bug when building lwlib
Paul Eggert [Sat, 14 Jan 2023 02:22:47 +0000 (18:22 -0800)]
Fix dependency bug when building lwlib

* lwlib/Makefile.in (DEPFLAGS): Use OBJS to calculate dependency
file names, not ALLOBJS.  This fixes a typo introduced
in 2015-05-15 "Replace AC_SUBST_FILE in configure with include in
Makefiles" that caused lwlib/*.o to not be rebuilt sometimes
when that was needed.

2 years agoUpdate from Gnulib by running admin/merge-gnulib
Paul Eggert [Sat, 14 Jan 2023 03:32:47 +0000 (19:32 -0800)]
Update from Gnulib by running admin/merge-gnulib

This adds a new file m4/xattr.m4 from Gnulib,
for NFS v4 attribute copying.
Also, do these changes by hand:
* configure.ac: Mention $LIB_XATTR" in ACL summary.
* src/Makefile.in (QCOPY_ACL_LIB): New macro.
(LIBES): Use it.

2 years agoFix use of build_pure_c_string in treesit.c
Yuan Fu [Sat, 14 Jan 2023 01:26:08 +0000 (17:26 -0800)]
Fix use of build_pure_c_string in treesit.c

This is brought up in bug#60691.  build_pure_c_string should only be
used in places such as syms_of_treesit, which are called just once,
during dumping.

* src/treesit.c (Vtreesit_str_libtree_sitter):
(Vtreesit_str_tree_sitter):
(Vtreesit_str_dot):
(Vtreesit_str_question_mark):
(Vtreesit_str_star):
(Vtreesit_str_plus):
(Vtreesit_str_pound_equal):
(Vtreesit_str_pound_match):
(Vtreesit_str_pound_pred):
(Vtreesit_str_open_bracket):
(Vtreesit_str_close_bracket):
(Vtreesit_str_open_paren):
(Vtreesit_str_close_paren):
(Vtreesit_str_space):
(Vtreesit_str_equal):
(Vtreesit_str_match):
(Vtreesit_str_pred): New variables.

(treesit_load_language):
(Ftreesit_pattern_expand):
(Ftreesit_query_expand):
(treesit_eval_predicates): Use new varaibles.

(treesit_check_buffer_size):
(treesit_compose_query_signal_data):
(treesit_check_range_argument):
(Ftreesit_parser_set_included_ranges):
(treesit_predicate_capture_name_to_node):
(treesit_predicate_equal):
(treesit_predicate_match):
(treesit_predicate_pred): Use build_string for signal message.

(syms_of_treesit): Initialize new variables.

2 years ago* lisp/apropos.el (apropos-safe-documentation): Use `function-documentation`
Stefan Monnier [Fri, 13 Jan 2023 23:00:29 +0000 (18:00 -0500)]
* lisp/apropos.el (apropos-safe-documentation): Use `function-documentation`

2 years ago(function-documentation): Make it work for the remaining cases
Stefan Monnier [Fri, 13 Jan 2023 22:56:04 +0000 (17:56 -0500)]
(function-documentation): Make it work for the remaining cases

* lisp/simple.el (function-documentation):
Use `internal-subr-documentation` and make it work also with symbols
and macros.

* src/doc.c (Fsubr_documentation): New function, extracted
from Fdocumentation.
(syms_of_doc): defsubr it.
(Fdocumentation): Don't handle subrs and module functions here.

2 years ago* lisp/reveal.el (reveal-open-new-overlays): Use `invisible-p`
Stefan Monnier [Fri, 13 Jan 2023 22:52:23 +0000 (17:52 -0500)]
* lisp/reveal.el (reveal-open-new-overlays): Use `invisible-p`

2 years agoundo-tests.el: Tests for bug#60467
Gregory Heytings [Fri, 13 Jan 2023 22:43:31 +0000 (17:43 -0500)]
undo-tests.el: Tests for bug#60467

* test/src/undo-tests.el (undo-test-combine-change-calls-1)
(undo-test-combine-change-calls-2, undo-test-combine-change-calls-3):
New tests.

2 years ago* lisp/subr.el (combine-change-calls-1): Fix bug#60467
Stefan Monnier [Fri, 13 Jan 2023 22:41:37 +0000 (17:41 -0500)]
* lisp/subr.el (combine-change-calls-1): Fix bug#60467

Don't stop at timestamps.
Also Don't burp about breakage just because (cdr old-bul) is nil.

2 years ago* lisp/subr.el (combine-change-calls-1): Fix bug#60467
Stefan Monnier [Fri, 13 Jan 2023 22:38:04 +0000 (17:38 -0500)]
* lisp/subr.el (combine-change-calls-1): Fix bug#60467

Don't stop at timestamps.  Strip them for now, to be on the safe side.
Don't merge into `master` where we'll use a better fix.

2 years agoAdapt tramp-tests.el
Michael Albinus [Fri, 13 Jan 2023 18:41:08 +0000 (19:41 +0100)]
Adapt tramp-tests.el

* test/lisp/net/tramp-tests.el (tramp--test-container-p):
Rename from `tramp--test-docker-p'.  Handle also "podman" method.
Adapt callees.

2 years agoAdapt tramp-tests.el (do not merge with master)
Michael Albinus [Fri, 13 Jan 2023 18:35:52 +0000 (19:35 +0100)]
Adapt tramp-tests.el  (do not merge with master)

* test/lisp/net/tramp-tests.el (tramp--test-container-p):
Rename from `tramp--test-docker-p'.  Handle also "podman" method.
Adapt callees.

2 years agoFix minibuffer-completion tests
Eli Zaretskii [Fri, 13 Jan 2023 13:36:00 +0000 (15:36 +0200)]
Fix minibuffer-completion tests

* test/lisp/minibuffer-tests.el (completions-header-format-test):
Fix the test which first fired, and then drew the target...

2 years ago; * doc/misc/eglot.texi (Troubleshooting Eglot): Fix typo (bug#60780).
Arash Esbati [Fri, 13 Jan 2023 13:24:25 +0000 (15:24 +0200)]
; * doc/misc/eglot.texi (Troubleshooting Eglot): Fix typo (bug#60780).

2 years agoAdd c-ts-mode tests
Daniel Martín [Sun, 8 Jan 2023 13:04:24 +0000 (14:04 +0100)]
Add c-ts-mode tests

* test/lisp/progmodes/c-ts-mode-resources/indent.erts: New .erts file
to test indentation of typical C constructs and prevent regression of
bug fixes.
* test/lisp/progmodes/c-ts-mode-tests.el: New file with c-ts-mode
tests.

2 years agoFix c-ts-mode--fill-paragraph
Yuan Fu [Fri, 13 Jan 2023 01:29:14 +0000 (17:29 -0800)]
Fix c-ts-mode--fill-paragraph

Example:

       doc: /* Return non-nil if NODE1 and NODE2 are the same node.
If any one of NODE1 and NODE2 is nil, return nil.
This function uses the same equivalence metric as `equal'.  */

* lisp/progmodes/c-ts-mode.el (c-ts-mode--fill-paragraph): Fix the
case where there are words before the /*, like the example above.

2 years agoFix minor issues with 'pp' and related commands
Eli Zaretskii [Fri, 13 Jan 2023 08:39:58 +0000 (10:39 +0200)]
Fix minor issues with 'pp' and related commands

* etc/NEWS:
* lisp/emacs-lisp/pp.el (pp-use-max-width, pp-emacs-lisp-code):
Mention in doc string that formatting via 'pp-emacs-lisp-code'
could be slow.
(pp-eval-expression, pp-macroexpand-expression): Honor
'pp-use-max-width'.  (Bug#58687)

2 years ago; Improve documentation of tree-sitter node comparison
Eli Zaretskii [Fri, 13 Jan 2023 07:13:24 +0000 (09:13 +0200)]
; Improve documentation of tree-sitter node comparison

* doc/lispref/parsing.texi (Accessing Node Information):
* src/treesit.c (Ftreesit_node_eq): Improve documentation of node
comparison.

2 years ago; Fix non-tree-sitter builds
Eli Zaretskii [Fri, 13 Jan 2023 06:58:03 +0000 (08:58 +0200)]
; Fix non-tree-sitter builds

* src/fns.c (internal_equal): Call treesit_node_eq only if
tree-sitter was compiled in.

2 years ago; Fix typo in ert-with-temp-file
Stefan Kangas [Fri, 13 Jan 2023 01:44:44 +0000 (02:44 +0100)]
; Fix typo in ert-with-temp-file

* lisp/emacs-lisp/ert-x.el (ert-with-temp-file): Fix typo.
Reported by F. Jason Park <jp@neverwas.me>.  (Bug#60730)

2 years agoEqual now recognizes tree-sitter nodes (bug#60659)
Yuan Fu [Fri, 13 Jan 2023 01:07:21 +0000 (17:07 -0800)]
Equal now recognizes tree-sitter nodes (bug#60659)

Now equal uses ts_node_eq to check equality between nodes.

* doc/lispref/parsing.texi:
(Accessing Node Information): Update manual.
* src/fns.c (internal_equal): Handle tree-sitter nodes.
* src/treesit.c (treesit_node_eq): New function.
(Ftreesit_node_eq): Factor out.  Update docstring.
* src/treesit.h (treesit_node_eq): Declare new function.

2 years agoFix c-ts-mode comment indentation (bug#60270)
Yuan Fu [Wed, 11 Jan 2023 09:26:21 +0000 (01:26 -0800)]
Fix c-ts-mode comment indentation (bug#60270)

* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Move the
star rule up.

2 years agoRemove deprecated RLS server from eglot server list
Dimitri Belopopsky [Thu, 12 Jan 2023 21:16:01 +0000 (22:16 +0100)]
Remove deprecated RLS server from eglot server list

* lisp/progmodes/eglot.el (eglot-server-programs) Remove deprecated
RLS server from list since it is no longer maintained.  (Bug#60761)
Ref: https://github.com/rust-lang/rls

Copyright-paperwork-exempt: yes

2 years ago* lisp/subr.el (while-let): Use if-let, not if-let* (bug#60758).
Sean Whitton [Fri, 13 Jan 2023 00:09:01 +0000 (17:09 -0700)]
* lisp/subr.el (while-let): Use if-let, not if-let* (bug#60758).

2 years ago* lisp/simple.el (next-completion): Handle first completion specially.
Gregory Heytings [Thu, 12 Jan 2023 17:47:28 +0000 (19:47 +0200)]
* lisp/simple.el (next-completion): Handle first completion specially.

When completions-header-format is nil and completion-show-help is nil,
the first completion is at the beginning the buffer, so 'M-<down>'
missed it and moved to the second completion.  Handle this case by
setting/checking the special text-property 'first-completion' that
is nil at the first call (bug#60411).

2 years agoFix encoding with 'utf-8-auto'
Eli Zaretskii [Thu, 12 Jan 2023 14:36:35 +0000 (16:36 +0200)]
Fix encoding with 'utf-8-auto'

* src/coding.c (encode_coding_utf_8): Fix encoding with
'utf-8-auto': it should produce BOM, per the documentation of
the :bom attribute.  (Bug#60750)

* lisp/international/mule.el (define-coding-system): Doc fix.

* test/src/coding-tests.el (coding-tests): Use
'with-coding-priority' instead of 'prefer-coding-system', as the
latter has global persistent effect and affects further tests.

2 years agoReport cursor correctly on PGTK when there is a margin
Po Lu [Thu, 12 Jan 2023 10:36:14 +0000 (18:36 +0800)]
Report cursor correctly on PGTK when there is a margin

* src/pgtkterm.c (pgtk_draw_window_cursor): Adjust frame_x by
the margin width as well.

2 years agoMerge from origin/emacs-29
Stefan Kangas [Thu, 12 Jan 2023 05:30:12 +0000 (06:30 +0100)]
Merge from origin/emacs-29

f4f30ff4c44 Update to Org 9.6.1
09f7a920644 Add support for annotation_type_declaration
4a8891a462e * etc/NEWS: Mention incompatible changes in 'outline-mino...
384504edf35 Ensure VC package names are not empty
70947da708c Handle missing package description when unpacking vc pack...

# Conflicts:
# etc/NEWS

2 years agoUpdate to Org 9.6.1
Kyle Meyer [Thu, 12 Jan 2023 02:15:37 +0000 (21:15 -0500)]
Update to Org 9.6.1

2 years agoAdd support for annotation_type_declaration
Theodor Thornhill [Wed, 11 Jan 2023 20:49:04 +0000 (21:49 +0100)]
Add support for annotation_type_declaration

* lisp/progmodes/java-ts-mode.el (java-ts-mode--keywords): Add new
keyword.
(java-ts-mode--font-lock-settings): Add font-locking to the type
feature.

2 years ago* etc/NEWS: Mention incompatible changes in 'outline-minor-mode-cycle-map'.
Juri Linkov [Wed, 11 Jan 2023 19:37:33 +0000 (21:37 +0200)]
* etc/NEWS: Mention incompatible changes in 'outline-minor-mode-cycle-map'.

* lisp/outline.el (outline-minor-mode-cycle--bind):
Add docstring (bug#60426).
(outline-minor-mode-cycle--bind): Default 'map' to
'outline-minor-mode-cycle-map'.
(outline-minor-mode-cycle-map): Improve docstring.
(outline-minor-mode): Move margin-cycling keys to
'outline-minor-mode-cycle-map'.

2 years ago; Fix documentation of last change
Eli Zaretskii [Wed, 11 Jan 2023 17:15:30 +0000 (19:15 +0200)]
; Fix documentation of last change

* etc/NEWS:
* doc/emacs/programs.texi (Moving by Sentences): Minor wording fixes.

2 years agoAdd forward-sentence with tree sitter support (bug#60623)
Theodor Thornhill [Sun, 8 Jan 2023 19:28:02 +0000 (20:28 +0100)]
Add forward-sentence with tree sitter support (bug#60623)

* etc/NEWS: Mention the new changes.
* lisp/textmodes/paragraphs.el (forward-sentence-default-function):
Move old implementation to its own function.
(forward-sentence-function): New defvar defaulting to old behavior.
(forward-sentence): Use the variable in this function unconditionally.
* lisp/treesit.el (treesit-sentence-type-regexp): New defvar.
(treesit-forward-sentence): New defun.
(treesit-major-mode-setup): Conditionally set
forward-sentence-function.
* doc/emacs/programs.texi (Defuns): Add new subsection.
(Moving by Sentences): Add some documentation with xrefs to the elisp
manual and related nodes.
* doc/lispref/positions.texi (List Motion): Mention
treesit-sentence-type-regexp and describe how to enable this
functionality.

2 years agoEnsure VC package names are not empty
Philip Kaludercic [Wed, 11 Jan 2023 08:27:01 +0000 (09:27 +0100)]
Ensure VC package names are not empty

* lisp/emacs-lisp/package-vc.el (package-vc--unpack): Raise an error
if the package name is empty.
(package-vc-install): Avoid generating an empty file name, if a URL
ends with a slash, and raise an error if the package name is empty.

2 years agoHandle missing package description when unpacking vc packages
Philip Kaludercic [Wed, 11 Jan 2023 08:21:57 +0000 (09:21 +0100)]
Handle missing package description when unpacking vc packages

* lisp/emacs-lisp/package-vc.el (package-vc--unpack): Create a dummy
descriptor if PKG-DESC is nil.

2 years agoMerge from origin/emacs-29
Stefan Kangas [Wed, 11 Jan 2023 05:30:12 +0000 (06:30 +0100)]
Merge from origin/emacs-29

1cbc22b9c7f CC Mode: partially revert commit from 2022-10-04
136c0272215 Fix reftex-citation docstring (bug#60710)
64fe6bdb618 Improve 'describe-char-fold-equivalences' docstring
fda1ad4a9ec Remove obsolete server buffers on MOTD in erc-track
bb98666d03f ; Fix wrong type in erc-ignore hide-list options
c267cd01517 ; Kill some stray buffers left behind by ERC tests
f31e65694ca Fix completion-auto-help docstring (bug#60709)

2 years agoCC Mode: partially revert commit from 2022-10-04
Alan Mackenzie [Tue, 10 Jan 2023 20:29:37 +0000 (20:29 +0000)]
CC Mode: partially revert commit from 2022-10-04

This reversion is of an ill-advised optimization, which resulted in non-type
identifiers getting fontified as types.

* lisp/progmodes/cc-fonts.el (c-fontify-new-found-type): Rather than writing
the expected face directly to the text, instead remove the `fontified'
property.  This allows the full font-lock mechanism to fontify the buffer
correctly.

2 years agoFix reftex-citation docstring (bug#60710)
Manuel Uberti [Tue, 10 Jan 2023 14:51:46 +0000 (15:51 +0100)]
Fix reftex-citation docstring (bug#60710)

* lisp/textmodes/reftex-cite.el (reftex-citation): Fix spelling.

2 years agoImprove 'describe-char-fold-equivalences' docstring
Robert Pluim [Tue, 10 Jan 2023 14:22:34 +0000 (15:22 +0100)]
Improve 'describe-char-fold-equivalences' docstring

* lisp/char-fold.el (describe-char-fold-equivalences): Explain what
the output looks like.

2 years agoRemove obsolete server buffers on MOTD in erc-track
F. Jason Park [Wed, 4 Jan 2023 07:10:53 +0000 (23:10 -0800)]
Remove obsolete server buffers on MOTD in erc-track

* lisp/erc/erc-networks.el
(erc-networks--copy-server-buffer-functions): New internal hook
through which modules can perform housekeeping when server buffers
belonging to the same network context are merged.
(erc-networks--copy-over-server-buffer-contents): Run new internal
hook `erc-networks--copy-server-buffer-functions'.
* lisp/erc/erc-track.el (erc-track-enable, erc-track-disable): Manage
membership in `erc-networks--copy-server-buffer-functions' hook.
(erc-track--replace-killed-buffer): New function to replace server
buffer being killed in `erc-modified-channels-alist'.
* test/lisp/erc/erc-scenarios-base-association.el
(erc-scenarios-networks-merge-server-track): New test.
* test/lisp/erc/resources/networks/merge-server/track.eld: New test
data.  (Bug#60560.)

2 years ago; Fix wrong type in erc-ignore hide-list options
F. Jason Park [Tue, 3 Jan 2023 02:13:08 +0000 (18:13 -0800)]
; Fix wrong type in erc-ignore hide-list options

* lisp/erc/erc.el (erc-network-hide-list, erc-channel-hide-list):
Fix type in custom definition.

2 years ago; Kill some stray buffers left behind by ERC tests
F. Jason Park [Wed, 4 Jan 2023 07:10:53 +0000 (23:10 -0800)]
; Kill some stray buffers left behind by ERC tests

* test/lisp/erc/erc-services-tests.el
(erc--auth-source-search--plstore-standard,
erc--auth-source-search--plstore-announced,
erc--auth-source-search--plstore-overrides): Kill buffer renamed by
plstore.  In the future, try using the `:buffer' keyword introduced in
Emacs 29.
* test/lisp/erc/resources/erc-d/erc-d-t.el
(erc-d-t-kill-related-buffers): Don't forget about `erc-dcc-chat-mode'
buffers.

2 years agoFix completion-auto-help docstring (bug#60709)
Manuel Uberti [Tue, 10 Jan 2023 13:24:04 +0000 (14:24 +0100)]
Fix completion-auto-help docstring (bug#60709)

* lisp/minibuffer.el (completion-auto-help): Remove extra period.

2 years agoMerge from origin/emacs-29
Stefan Kangas [Tue, 10 Jan 2023 08:51:57 +0000 (09:51 +0100)]
Merge from origin/emacs-29

55aabfea4ac Fix c-ts-mode comment indent
8377ed5298f Highlight identifier in import statements in js-ts-mode
aa9df1260c3 Don't print named tree-sitter nodes with parenthesizes (b...
e385c099b8c Improve fontification for import-statements in typescript...
28dd6021384 Fix c-ts-mode indentation for 2nd line in block comment (...
8a36a0f44aa ; xref.el: Bump version
f16cc7c49c7 ; project.el: Bump version
ebc5263667b ; * src/callint.c (Finteractive): Doc string clarification.
c1401d1c6c8 * lisp/vc/diff-mode.el (diff-font-lock-keywords): Check f...
1f8ad353d9f Minor improvement for tree-sitter explorer
ef87c755660 Make sure NODE is not the root node in tree-sitter indent...
1238fa8e49b Fix label indent of GNU and Linux style in c-ts-mode (bug...
dc911e4ba5c Improve go-ts-mode Imenu, navigation and electric pair (b...
20f36c8f6f9 ; ruby.rb: Fix pattern matching syntax and extend the exa...
d46f7f4edcc Revert "Add c-or-c++-ts-mode (bug#59613)"
1469aac20d8 ; * src/pgtkfns.c (parse_resource_key): Use recursive sch...
da96a1fd741 Add back renamed function 'font-lock-fontify-syntacticall...
b1aa720671e ; * lisp/progmodes/ruby-ts-mode.el: Fix compilation warni...
5cb01ac5d78 ; * src/callint.c (Finteractive): Fix the doc string (bug...
53e64cfb852 Improve options and docs of M-x command completion
fef4f18cc33 ; Fix NEWS
e04b3d41bb4 Update to Org 9.6-90-ga6523f
e3d806b4172 Fix string fontification on python-ts-mode (bug#60599)
800e15e3be0 Fix string-interpolation feature of python-ts-mode (bug#6...
38b63f4c3ce Add indentation rule for concatenated_string (bug#60572)
2cdd75a18ff Fix highlighting of variable-declarations in typescript-t...
73168793c01 Fix label indentation for Linux style in c-ts-mode (bug#6...
8575043f56b Remove duplicate entries in c-ts-mode's Imenu
ef7f3c6388b Fix use of treesit-ready-p in c/c++-ts-mode
cc1de953d4f ; * lisp/progmodes/gud.el (gud-tooltip-modes): Add ts- mo...
16f1e47ca8b ; * lisp/align.el (align-c++-modes): Add c/c++-ts-mode.
508389ad2bb Add documentation for c/c++-ts-mode (bug#60443)
ee3e8d3f927 (ruby-ts--font-lock-settings): Improve highlighting in pa...
614f8c431d3 Optionally include the namespace in c-ts-mode--declarator...
7c356934fbb Support namespaces in c++-ts-mode (bug#60397)
757c2c25922 Fix c-ts-mode--looking-at-star
1df2826639c Add c-or-c++-ts-mode (bug#59613)
0cb686ffb6b Document the 'definition-name' property.
7f855b5297b ; Fix description of etc/DOC
e9341119fe4 ; Fix documentation of etc/DOC
86a3462e3d2 (treesit-simple-indent-presets): Do that for 'or' as well.
e0fef510b00 ; Minor rewording of tree-sitter terminology
f58452e3ae7 Fix 'python-shell-buffer-substring' when START is in midd...
7f9588685a0 ; Fix last change
e8b85f225d9 Rearrange the "Saving Emacs Sessions" section of the user...

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

2 years agoFix c-ts-mode comment indent
Yuan Fu [Tue, 10 Jan 2023 05:46:07 +0000 (21:46 -0800)]
Fix c-ts-mode comment indent

* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--comment-2nd-line-matcher): Also make sure PARENT is a
comment node.

2 years agoHighlight identifier in import statements in js-ts-mode
Yuan Fu [Tue, 10 Jan 2023 05:31:38 +0000 (21:31 -0800)]
Highlight identifier in import statements in js-ts-mode

Follow-up on bug#60689.  This commit just copied the change in
e385c099b8c to js-ts-mode.

* lisp/progmodes/js.el:
(js--treesit-font-lock-settings): Add import query.

2 years agoDon't print named tree-sitter nodes with parenthesizes (bug#60696)
Yuan Fu [Tue, 10 Jan 2023 04:15:12 +0000 (20:15 -0800)]
Don't print named tree-sitter nodes with parenthesizes (bug#60696)

* src/print.c (print_vectorlike): Use empty string as delimiters if
the node is named.

2 years agoImprove fontification for import-statements in typescript-ts-mode
Jostein Kjønigsen [Mon, 9 Jan 2023 10:17:53 +0000 (11:17 +0100)]
Improve fontification for import-statements in typescript-ts-mode

(bug#60689)

* lisp/progmodes/typescript-ts-mode.el:
(typescript-ts-mode--font-lock-settings): Add rules to highlight the
actual imports in import-statements.

2 years agoFix c-ts-mode indentation for 2nd line in block comment (bug#60270)
Yuan Fu [Mon, 9 Jan 2023 09:44:44 +0000 (01:44 -0800)]
Fix c-ts-mode indentation for 2nd line in block comment (bug#60270)

If the first line is "/*" or "/*   ", indent like this:

/*
   aaa

If the first line is "/*   some text", indent like this:

/*   some text
     aaa

* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles):
(c-ts-mode--looking-at-star): Minor refactor.
(c-ts-mode--comment-2nd-line-matcher)
(c-ts-mode--comment-2nd-line-anchor): New functions.
* lisp/treesit.el (treesit-simple-indent-presets):
prev-adaptive-prefix doesn't handle the comment-start-skip case (i.e,
2nd line) anymore.  (Handled by the new matcher.)

2 years ago; xref.el: Bump version
Dmitry Gutov [Tue, 10 Jan 2023 00:02:09 +0000 (02:02 +0200)]
; xref.el: Bump version

2 years ago; project.el: Bump version
Dmitry Gutov [Tue, 10 Jan 2023 00:00:29 +0000 (02:00 +0200)]
; project.el: Bump version

2 years agoAdd named defun for transpose-sexps-default-function (bug#60654)
Theodor Thornhill [Mon, 9 Jan 2023 06:52:38 +0000 (07:52 +0100)]
Add named defun for transpose-sexps-default-function (bug#60654)

* lisp/simple.el (transpose-sexps-default-function): Move the lambda
into its own function.
(transpose-sexps-function): Refer to it by name.
* etc/NEWS: Mention the change.

2 years agoRemove unneeded restriction in using AEAD ciphers with GnuTLS
Eli Zaretskii [Mon, 9 Jan 2023 20:05:40 +0000 (22:05 +0200)]
Remove unneeded restriction in using AEAD ciphers with GnuTLS

* src/gnutls.c (gnutls_symmetric_aead): Disable the enforcement of
block size on input data.  (Bug#60693)

2 years ago; * src/callint.c (Finteractive): Doc string clarification.
Eli Zaretskii [Mon, 9 Jan 2023 12:03:04 +0000 (14:03 +0200)]
; * src/callint.c (Finteractive): Doc string clarification.

2 years ago* lisp/vc/diff-mode.el (diff-font-lock-keywords): Check for limit.
Juri Linkov [Mon, 9 Jan 2023 07:54:19 +0000 (09:54 +0200)]
* lisp/vc/diff-mode.el (diff-font-lock-keywords): Check for limit.

This check is necessary since 'diff-beginning-of-hunk' can move
not only backwards, but also forwards (bug#60660).

2 years agoMinor improvement for tree-sitter explorer
Yuan Fu [Mon, 9 Jan 2023 04:30:07 +0000 (20:30 -0800)]
Minor improvement for tree-sitter explorer

If you open an empty python buffer and type

1 + 2
a
b

Currently the explorer only displays the top-level node at point, ie,
only 1 + 2, only a, or only b. That's kind of awkward, so if the
buffer is small, show the entire parse tree.

* lisp/treesit.el (treesit--explorer-refresh): See above.

2 years agoMake sure NODE is not the root node in tree-sitter indent (bug#60602)
Yuan Fu [Mon, 9 Jan 2023 03:05:19 +0000 (19:05 -0800)]
Make sure NODE is not the root node in tree-sitter indent (bug#60602)

There are two possible ways to solve the problem raised in the bug
report: either make sure NODE is never the root (so that parent is
never nil), or allow parent to be nil.

If we go with the latter, a lot of matcher and anchor functions need
change (they need to guard against a null parent).  I tried it, and
needing to check for null parent is pretty annoying.  In comparison,
if NODE is never the root, it is very convenient for the user, and it
doesn't complicate the rule that much (and it's rather intuitive,
people usually don't think of the case where NODE is the root node).
So that's what I choose.

* doc/lispref/modes.texi (Parser-based Indentation): Update manual.
* lisp/treesit.el (treesit-indent-function): Update docstring.
(treesit--indent-1): Make sure NODE is not the root.

2 years agoFix label indent of GNU and Linux style in c-ts-mode (bug#60543)
Yuan Fu [Mon, 9 Jan 2023 00:57:29 +0000 (16:57 -0800)]
Fix label indent of GNU and Linux style in c-ts-mode (bug#60543)

The previous fix isn't correct.

* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--indent-styles): New indent rule.  Fix the rule for Linux
style.
(c-ts-mode--top-level-label-matcher): New function.

2 years agoImprove go-ts-mode Imenu, navigation and electric pair (bug#60407)
Evgeni Kolev [Thu, 29 Dec 2022 15:49:40 +0000 (17:49 +0200)]
Improve go-ts-mode Imenu, navigation and electric pair (bug#60407)

The Imenu items are extended to support "Method", "Struct",
"Interface", "Alias" and "Type".

go-ts-mode is updated to use the Imenu facility added in commit
b39dc7ab27a696a8607ab859aeff3c71509231f5.

Variable electric-indent-chars is set in order to improve integration
with Electric Pair mode.

* lisp/progmodes/go-ts-mode.el (go-ts-mode--imenu-1) (go-ts-mode--imenu):
Remove functions.
(go-ts-mode--defun-name, go-ts-mode--interface-node-p)
(go-ts-mode--struct-node-p, go-ts-mode--other-type-node-p)
(go-ts-mode--alias-node-p): New functions.
(go-ts-mode): Improve Imenu settings, navigation, add Electric Pair
mode settings.

2 years ago; ruby.rb: Fix pattern matching syntax and extend the example
Dmitry Gutov [Sun, 8 Jan 2023 22:57:36 +0000 (00:57 +0200)]
; ruby.rb: Fix pattern matching syntax and extend the example

2 years agoAdd remote-file-name-inhibit-delete-by-moving-to-trash
Michael Albinus [Sun, 8 Jan 2023 18:24:17 +0000 (19:24 +0100)]
Add remote-file-name-inhibit-delete-by-moving-to-trash

* doc/emacs/files.texi (Misc File Ops):
* doc/lispref/files.texi (Changing Files):
* doc/misc/tramp.texi (Frequently Asked Questions):
* etc/NEWS: Explain remote-file-name-inhibit-delete-by-moving-to-trash.

* lisp/files.el (remote-file-name-inhibit-delete-by-moving-to-trash):
New defcustom.  (Bug#60460)

* lisp/net/ange-ftp.el (ange-ftp-delete-file):
* lisp/net/tramp.el (tramp-skeleton-delete-directory):
Handle `remote-file-name-inhibit-delete-by-moving-to-trash'.
(tramp-skeleton-delete-file): New defmacro.

* lisp/net/tramp-adb.el (tramp-adb-handle-delete-file):
* lisp/net/tramp-fuse.el (tramp-fuse-handle-delete-file):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-file):
* lisp/net/tramp-sh.el (tramp-sh-handle-delete-file):
* lisp/net/tramp-smb.el (tramp-smb-handle-delete-file):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-delete-file): Use it.

* lisp/net/tramp-crypt.el (tramp-crypt-handle-delete-directory)
(tramp-crypt-handle-delete-file): Rearrange.

* lisp/net/tramp-fuse.el (tramp-fuse-handle-delete-directory):
Use `tramp-skeleton-delete-directory'.

* test/lisp/net/tramp-tests.el
(remote-file-name-inhibit-delete-by-moving-to-trash): Declare.
(tramp-test07-file-exists-p, tramp-test14-delete-directory)
(tramp-test48-unload): Extend tests.

2 years agoRevert "Add c-or-c++-ts-mode (bug#59613)"
Yuan Fu [Sun, 8 Jan 2023 17:40:49 +0000 (09:40 -0800)]
Revert "Add c-or-c++-ts-mode (bug#59613)"

This reverts commit 1df2826639c912396fac0af108301533dac71406.

I forgot about the feature freeze, sorry :-)

2 years ago; * src/pgtkfns.c (parse_resource_key): Use recursive schema lookup
Tad Fisher [Wed, 4 Jan 2023 21:40:17 +0000 (13:40 -0800)]
; * src/pgtkfns.c (parse_resource_key): Use recursive schema lookup

XDG_DATA_DIRS may consist of multiple directories, and
g_settings_schema_source_get_default composes these into a recursive
schema source. One must pass TRUE to g_settings_schema_source_lookup,
otherwise only the first directory in XDG_DATA_DIRS is searched.

It follows that in the case that the directory containing the compiled
GSettings schema for Emacs is not the first in XDG_DATA_DIRS,
parse_resource_key will not accept any resource key, which causes
pgtk_get_defaults_value and pgtk_set_defaults_value to fail.

This impacts systems that compose multiple GSettings schema sources
via XDG_DATA_DIRS, such Flatpak and NixOS.

Supporting GIO documentation for g_settings_schema_source_get_default:

> The returned source may actually consist of multiple schema sources
> from different directories, depending on which directories were given
> in `XDG_DATA_DIRS` and `GSETTINGS_SCHEMA_DIR`. For this reason, all
> lookups performed against the default source should probably be done
> recursively.

Bug#60565

Copyright-paperwork-exempt: yes

2 years agoAdd back renamed function 'font-lock-fontify-syntactically-region'
Benson Chu [Sun, 1 Jan 2023 01:45:43 +0000 (19:45 -0600)]
Add back renamed function 'font-lock-fontify-syntactically-region'

A more accurate replacement for font-lock-fontify-syntactically-region
would be a function that funcalls the
font-lock-fontify-syntactically-function variable. That way, callers
of the function can inherit new behavior, if the value of that variable
changes.

* lisp/font-lock.el (font-lock-fontify-syntactically-region):
Add function back, remove its obsolete alias.

Copyright-paperwork-exempt: yes

2 years ago; * lisp/progmodes/ruby-ts-mode.el: Fix compilation warnings (bug#60647).
Eli Zaretskii [Sun, 8 Jan 2023 10:56:13 +0000 (12:56 +0200)]
; * lisp/progmodes/ruby-ts-mode.el: Fix compilation warnings (bug#60647).

2 years ago; * src/callint.c (Finteractive): Fix the doc string (bug#60645).
Eli Zaretskii [Sun, 8 Jan 2023 10:43:56 +0000 (12:43 +0200)]
; * src/callint.c (Finteractive): Fix the doc string (bug#60645).

2 years agoImprove options and docs of M-x command completion
Eli Zaretskii [Sun, 8 Jan 2023 10:23:26 +0000 (12:23 +0200)]
Improve options and docs of M-x command completion

* lisp/simple.el (read-extended-command-predicate): Expand the
doc string.  Add 2 more selectable values.
(command-completion-using-modes-and-keymaps-p): New function.
(execute-extended-command): Mention
'read-extended-command-predicate' in the doc string.  (Bug#60645)

2 years ago; Fix NEWS
Michael Albinus [Sun, 8 Jan 2023 09:56:06 +0000 (10:56 +0100)]
; Fix NEWS

2 years agoUpdate to Org 9.6-90-ga6523f
Kyle Meyer [Sun, 8 Jan 2023 04:50:54 +0000 (23:50 -0500)]
Update to Org 9.6-90-ga6523f

2 years agoFix string fontification on python-ts-mode (bug#60599)
Yuan Fu [Sun, 8 Jan 2023 02:41:28 +0000 (18:41 -0800)]
Fix string fontification on python-ts-mode (bug#60599)

* lisp/progmodes/python.el:
(python--treesit-fontify-string): Generalize and skip anything
before the first quote character.

2 years agoFix string-interpolation feature of python-ts-mode (bug#60599)
Yuan Fu [Sun, 8 Jan 2023 02:38:24 +0000 (18:38 -0800)]
Fix string-interpolation feature of python-ts-mode (bug#60599)

* lisp/progmodes/python.el:
(python--treesit-fontify-string-interpolation): New function.
(python--treesit-settings): Use the new function for
string-interpolation.

2 years agoAdd indentation rule for concatenated_string (bug#60572)
Theodor Thornhill [Sat, 7 Jan 2023 12:04:07 +0000 (13:04 +0100)]
Add indentation rule for concatenated_string (bug#60572)

* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Indent to
parent-bol.

2 years agoFix highlighting of variable-declarations in typescript-ts-mode
Jostein Kjønigsen [Wed, 4 Jan 2023 08:13:23 +0000 (09:13 +0100)]
Fix highlighting of variable-declarations in typescript-ts-mode

(bug#60546)

- Highlight variable declarations in catch-clauses.
- Remove highlighting of variables where not declarations (improve
  consistency with other *-ts-modes).

* lisp/progmodes/typescript-ts-mode.el:
(typescript-ts-mode--font-lock-settings): See above.

2 years agoFix label indentation for Linux style in c-ts-mode (bug#60543)
Yuan Fu [Sun, 8 Jan 2023 02:11:03 +0000 (18:11 -0800)]
Fix label indentation for Linux style in c-ts-mode (bug#60543)

Reference:
1. https://www.gnu.org/software/indent/manual/indent/Common-styles.html
2. https://www.gnu.org/software/indent/manual/indent/Option-Summary.html

The GNU indent manual says Linux style should use -il1 flag, which
means "indent labels to column 1".

* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Indent label
to column 1 in Linux style.

2 years agoRemove duplicate entries in c-ts-mode's Imenu
Yuan Fu [Sun, 8 Jan 2023 01:46:27 +0000 (17:46 -0800)]
Remove duplicate entries in c-ts-mode's Imenu

Right now the Class subindex includes top-level functions, which is
wrong. This change ensures the Class subindex only contain classes and
functions nested in those classes.

* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--defun-for-class-in-imenu-p): New function.
* lisp/progmodes/c-ts-mode.el (c-ts-base-mode): Use the new function.

2 years agoFix use of treesit-ready-p in c/c++-ts-mode
Yuan Fu [Sun, 8 Jan 2023 01:26:26 +0000 (17:26 -0800)]
Fix use of treesit-ready-p in c/c++-ts-mode

* lisp/progmodes/c-ts-mode.el:
(c-ts-mode)
(c++-ts-mode): Put setup code in a when form.

2 years ago; * lisp/progmodes/gud.el (gud-tooltip-modes): Add ts- modes.
Yuan Fu [Sun, 8 Jan 2023 00:54:43 +0000 (16:54 -0800)]
; * lisp/progmodes/gud.el (gud-tooltip-modes): Add ts- modes.

Prompted by bug#60463.

2 years ago; * lisp/align.el (align-c++-modes): Add c/c++-ts-mode.
Yuan Fu [Sun, 8 Jan 2023 00:52:17 +0000 (16:52 -0800)]
; * lisp/align.el (align-c++-modes): Add c/c++-ts-mode.

This fixes bug#60463.

2 years agoAdd documentation for c/c++-ts-mode (bug#60443)
Yuan Fu [Sun, 8 Jan 2023 00:32:46 +0000 (16:32 -0800)]
Add documentation for c/c++-ts-mode (bug#60443)

Explain that tree-sitter c modes and cc-mode c modes don't share
config variables.

* lisp/progmodes/c-ts-mode.el (c-ts-mode)
(c++-ts-mode): Update docstring.

2 years ago(ruby-ts--font-lock-settings): Improve highlighting in patterns
Dmitry Gutov [Sun, 8 Jan 2023 01:56:32 +0000 (03:56 +0200)]
(ruby-ts--font-lock-settings): Improve highlighting in patterns

* lisp/progmodes/ruby-ts-mode.el (ruby-ts--font-lock-settings):
Improve highlighting in patterns: highlight values not keys as
variable in the usual case; highlight keys when no value;
highlight the "as pattern" variable.

2 years agoOptionally include the namespace in c-ts-mode--declarator-identifier
Yuan Fu [Sun, 8 Jan 2023 00:03:37 +0000 (16:03 -0800)]
Optionally include the namespace in c-ts-mode--declarator-identifier

This is an additional fix for bug#60397.

* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--declarator-identifier): New parameter QUALIFIED.
(c-ts-mode--defun-name): Use qualified identifier.

2 years agoSupport namespaces in c++-ts-mode (bug#60397)
Yuan Fu [Sat, 7 Jan 2023 23:45:05 +0000 (15:45 -0800)]
Support namespaces in c++-ts-mode (bug#60397)

Not a complete fix.  See the next commit.

* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Add rules.
(c-ts-mode--defun-name): Add namespace_definition.
(c-ts-base-mode): Add namespace_definition to
treesit-defun-type-regexp.

2 years agoFix c-ts-mode--looking-at-star
Yuan Fu [Sat, 7 Jan 2023 23:26:56 +0000 (15:26 -0800)]
Fix c-ts-mode--looking-at-star

Not the topic of bug#60270 but reported in one of the replies.

* lisp/progmodes/c-ts-mode.el (c-ts-mode--looking-at-star): Check not
the character after point but character after BOL. Otherwise
indentation is wrong when point is not at BOL.

2 years agoAdd c-or-c++-ts-mode (bug#59613)
Yuan Fu [Sat, 7 Jan 2023 22:58:37 +0000 (14:58 -0800)]
Add c-or-c++-ts-mode (bug#59613)

* lisp/progmodes/c-ts-mode.el
(c-ts-mode--c-or-c++-regexp): New variable.
(c-or-c++-ts-mode): New mode.
* etc/NEWS: Mention c-or-c++-ts-mode.

2 years agoAdjust to recent Gnulib macro renaming
Paul Eggert [Sat, 7 Jan 2023 23:28:00 +0000 (15:28 -0800)]
Adjust to recent Gnulib macro renaming

Also, remove some references to unused Gnulib macros.

2 years agoUpdate from Gnulib by running admin/merge-gnulib
Paul Eggert [Sat, 7 Jan 2023 23:08:45 +0000 (15:08 -0800)]
Update from Gnulib by running admin/merge-gnulib

2 years agoDocument the 'definition-name' property.
Eli Zaretskii [Sat, 7 Jan 2023 17:57:30 +0000 (19:57 +0200)]
Document the 'definition-name' property.

* doc/lispref/symbols.texi (Standard Properties): Document
'definition-name'.
* doc/lispref/functions.texi (Defining Functions): Describe how to
use 'definition-name' when generating function definitions at run
time.  (Bug#60568)

2 years ago; Fix description of etc/DOC
Eli Zaretskii [Sat, 7 Jan 2023 17:16:47 +0000 (19:16 +0200)]
; Fix description of etc/DOC

* doc/lispref/help.texi (Accessing Documentation): Doc strings of
preloaded symbols are no longer in etc/DOC.

2 years ago; Fix documentation of etc/DOC
Eli Zaretskii [Sat, 7 Jan 2023 13:25:11 +0000 (15:25 +0200)]
; Fix documentation of etc/DOC

* doc/lispref/help.texi (Documentation Basics): Doc strings of
preloaded symbols are no longer in etc/DOC.

2 years ago(treesit-simple-indent-presets): Do that for 'or' as well.
Dmitry Gutov [Sat, 7 Jan 2023 11:16:56 +0000 (13:16 +0200)]
(treesit-simple-indent-presets): Do that for 'or' as well.

* lisp/treesit.el
(treesit-simple-indent-presets): Do that for 'or' as well.

2 years agoAdd new Tramp method "toolbox"
Michael Albinus [Sat, 7 Jan 2023 11:14:26 +0000 (12:14 +0100)]
Add new Tramp method "toolbox"

* doc/misc/tramp.texi (Inline methods): Add toolbox.

* etc/NEWS: Add new Tramp method "toolbox".

* lisp/net/tramp-container.el (tramp-toolbox-program): New defcustom.
(tramp-toolbox-method): New defconst.
(tramp-toolbox--completion-function): New defun.  Set it for "toolbox".
(tramp-methods) <toolbox>: Add.
(tramp-default-host-alist): Add rule for "toolbox".

2 years agoMinor tramp-archive.el fix
Michael Albinus [Sat, 7 Jan 2023 11:07:10 +0000 (12:07 +0100)]
Minor tramp-archive.el fix

* lisp/net/tramp-archive.el (tramp-archive-file-name-regexp):
Use `ignore-errors'.

2 years ago; Minor rewording of tree-sitter terminology
Eli Zaretskii [Sat, 7 Jan 2023 09:25:52 +0000 (11:25 +0200)]
; Minor rewording of tree-sitter terminology

* doc/lispref/parsing.texi (Retrieving Nodes): Minor rewording.
(Bug#60555)

2 years ago; Use a single '<=' for range comparisons
Xi Lu [Wed, 4 Jan 2023 21:27:03 +0000 (05:27 +0800)]
; Use a single '<=' for range comparisons

* lisp/simple.el (undo-elt-in-region, char-uppercase-p)
(event-apply-modifier): Use a single '<='.  (Bug#60561)

2 years agoFix 'python-shell-buffer-substring' when START is in middle of 1st line
kobarity [Sun, 1 Jan 2023 12:09:10 +0000 (21:09 +0900)]
Fix 'python-shell-buffer-substring' when START is in middle of 1st line

* lisp/progmodes/python.el (python-shell-buffer-substring): Instead
of checking whether START is point-min, check whether START is in
the first line.  (Bug#60466)
* test/lisp/progmodes/python-tests.el
(python-shell-buffer-substring-18): New test.