| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use argument specs to analyze complex widget types.
* lisp/emacs-lisp/elisp-scope.el (elisp-scope-widget-type)
(elisp-scope-widget-type-1)
(elisp-scope-widget-type-keyword-arguments)
(elisp-scope-widget-type-arguments)
(elisp-scope-widget-type-arguments-1): Delete, no longer used.
(custom-declare-variable, define-widget): Simplify analyzers.
(elisp-scope--match-spec-to-arg): Add new 'list', 'and', and
'plist-and-then' parametric specs, and add 'widget-type' as a
new recursive spec.
* test/lisp/progmodes/elisp-mode-resources/semantic-highlighting.el
Add test.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rename a couple of faces to solidify the convention that the
face name 'elisp-foo' implies "references to foo", not "foo
definitions". For definitions we use 'elisp-deffoo' if foo is
only one word, or 'elisp-bar-baz-definition' otherwise.
* lisp/progmodes/elisp-mode.el (elisp-function-reference):
Rename to 'elisp-function'.
(elisp-macro-call): Rename to 'elisp-macro'.
(elisp-non-local-exit):
(elisp-unknown-call):
(elisp-special-form):
* lisp/emacs-lisp/elisp-scope.el:
* test/lisp/progmodes/elisp-mode-resources/semantic-highlighting.el:
Update references to renamed faces.
|
| |
|
|
|
|
|
|
|
| |
* lisp/emacs-lisp/elisp-scope.el (elisp-scope-if-let): Fix
handling of a plain symbol as one the bindings in an
'if-let*' form, as in (if-let* (foo) 'bar).
* test/lisp/progmodes/elisp-mode-resources/semantic-highlighting.el:
Test it.
|
| |
|
|
|
|
|
| |
* test/lisp/progmodes/elisp-mode-resources/semantic-highlighting.el:
Add test form with 'when-let*'.
* test/lisp/progmodes/elisp-mode-tests.el (elisp-test-font-lock):
Trust temporary test buffer.
|
| | |
|
| |
|
|
|
| |
* test/lisp/progmodes/elisp-mode-resources/semantic-highlighting.el:
Add test with code that uses 'cl-loop'.
|
| |
|
|
|
|
|
| |
* test/lisp/progmodes/elisp-mode-tests.el
(elisp-test-font-lock): New test.
* test/lisp/progmodes/elisp-mode-resources/semantic-highlighting.el:
New resource file.
|
| |
|
|
|
|
|
|
| |
* lisp/progmodes/ruby-mode.el (ruby-syntax-propertize):
Create an exception for assign-division operator not to be
recognized as regexp start (bug#79454).
* test/lisp/progmodes/ruby-mode-resources/ruby.rb: Add example.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Escape literal % characters in Eglot URIs
Otherwise, a literal % in a file-name will be interpreted (by the
language server) as if it were a part of a percent-encoded sequence.
See Bug#78984 for context on why `url-path-allowed-chars' cannot be
changed to escape literal % characters.
* lisp/progmodes/eglot.el (eglot--uri-path-allowed-chars): Escape %,
remove the redundant variable definition.
* test/lisp/progmodes/eglot-tests.el (eglot-test-path-to-uri-escape):
test it.
|
| |
|
|
|
|
|
|
|
| |
* lisp/progmodes/lua-ts-mode.el (lua-ts--comment-font-lock):
Apply 'font-lock-comment-delimiter-face' to the entire span of
initial dashes. In particular, this improves the appearance of
LuaCATS and EmmyLua style annotations which use "---".
* test/lisp/progmodes/lua-ts-mode-resources/font-lock.lua:
Add tests. (Bug#79258)
|
| |
|
|
|
|
|
|
|
| |
* test/lisp/progmodes/lua-mode-resources/font-lock.lua:
* test/lisp/progmodes/lua-mode-resources/hide-show.lua:
* test/lisp/progmodes/lua-mode-resources/indent.erts:
* test/lisp/progmodes/lua-mode-resources/movement.erts:
* test/lisp/progmodes/lua-mode-resources/which-function.lua:
* test/lisp/progmodes/lua-mode-tests.el: New file.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
* lisp/progmodes/cperl-mode.el (cperl-indent-line): Make sure that
labels are indented in code only
* test/lisp/progmodes/cperl-mode-resources/cperl-indents.erts: Two
new testcases for non-indentable "labels" in a regex pattern and a
qw list
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes the second issue in Bug#79269.
* lisp/progmodes/cperl-mode.el (cperl-init-faces): Move handling
of signatures with initializers from the "anchor" to the
"anchored" matcher
* test/lisp/progmodes/cperl-mode-resources/proto-and-attrs.pl (sub_7):
Test case for Bug#79269, wrong face report
* test/lisp/progmodes/cperl-mode-tests.el
(cperl-test-fontify-attrs-and-signatures): Make sure that the test
catches sub_7 for Bug#79269
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Don't signal an error when encountering invalid rust syntax. Without
this patch, invalid rust code would prevent a chunk of the buffer from
being highlighted (bug#79272).
* lisp/progmodes/rust-ts-mode.el (rust-ts-mode--fontify-scope):
(rust-ts-mode--fontify-pattern): Avoid calling `string-match-p' on nil
when a node is missing a parent.
* test/lisp/progmodes/rust-ts-mode-resources/font-lock-no-parent.rs:
Rust file that reproduces the issue.
* test/lisp/progmodes/rust-ts-mode-tests.el: Test case to reproduce the
issue.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes the first (and more important) part of Bug#79269.
* lisp/progmodes/cperl-mode.el (cperl-get-state): Replace
`beginning-of-defun' by `beginning-of-defun-raw'. Also fix a typo
in the docstring.
* test/lisp/progmodes/cperl-mode-tests.el (test-indentation): Skip
tests unless in cperl-mode. The test file cperl-indents.erts
explicitly invokes cperl-mode. Due to different indentation
defaults the tests do not pass in perl-mode.
* test/lisp/progmodes/cperl-mode-resources/cperl-indents.erts: Add
test cperl-subroutine-signatures for Bug#79269
|
| |
|
|
|
| |
* test/lisp/progmodes/lua-ts-mode-tests.el
(lua-ts-test-auto-close-block-comments): Skip when needed.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* etc/NEWS: Add entry for lua-ts-mode changes.
* lisp/progmodes/lua-ts-mode.el
(lua-ts-auto-close-block-comments): New user option.
(lua-ts-mode): Add '--[[ ]]' pairs to 'electric-pair-pairs' only
if 'lua-ts-auto-close-block-comments' is non-nil.
* lisp/textmodes/texinfo.el (texinfo-mode): Add "`` ''" pairs to
'electric-pair-pairs'.
* test/lisp/progmodes/lua-ts-mode-tests.el
(lua-ts-test-auto-close-block-comments): Add new test.
(Bug#79047)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lisp/progmodes/python.el (python-shell-local-prefix): New
constant.
(python-shell--convert-file-name-to-send): New function to
add/remove prefix.
(python-shell-send-string, python-shell-send-file): Changed to
use 'python-shell--convert-file-name-to-send'.
(python-pdbtrack-set-tracked-buffer): Changed to add/remove
prefix.
* test/lisp/progmodes/python-tests.el
(python-shell--convert-file-name-to-send-1): New test.
(Bug#79036)
|
| |
|
|
|
|
|
|
|
| |
* lisp/progmodes/python.el (python-indent-dedent-line-backspace):
Delete the text in the region if Transient Mark mode is enabled,
the mark is active, and prefix arg is 1. (Bug#48695)
* test/lisp/progmodes/python-tests.el
(python-indent-dedent-line-backspace-4): Add new test.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lisp/progmodes/cperl-mode.el (cperl--sub-name-generated-rx):
Simplify captures to account for the :writer attribute. Parsing
is done later.
(cperl-imenu-sub-keywords): Remove attributes which generate subs
(cperl-imenu--create-perl-index): Analyze field declarations for
autogenerated methods
(cperl-init-faces): Add "all" and "any" to the list of functions
(cperl-short-docs): Add short docs for "all" and "any"
* test/lisp/progmodes/cperl-mode-tests.el
(cperl-test-autogenerated-reader-rx):
Adjust for modified rx form due to ":writer" support
(cperl-test-imenu-index): Add tests for autogenerated writer
accessors (in grammar.pl)
* test/lisp/progmodes/cperl-mode-resources/grammar.pl: Add code samples
for ":writer"
* etc/NEWS: Announce that CPerl mode supports Perl 5.42.
|
| |
|
|
|
|
|
| |
* lisp/progmodes/peg.el (peg-parse): Be more careful when
testing if a symbol is the name of an existing rule. Improve docstring.
test/lisp/progmodes/peg-tests.el (peg-tests--peg-parse): New test.
|
| |
|
|
|
|
|
|
| |
* test/infra/gitlab-ci.yml (test-eglot): Use packages company and
yasnippet.
* test/lisp/progmodes/eglot-tests.el (eglot--call-with-timeout):
Skip on emba in case of timeout. (Bug#78730)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes indentation for nested ternary expressions:
const a = cond1 ? 1 :
cond2 ? 2 :
cond3 ? 3 :
cond 4: 5;
instead of
const a = cond1 ? 1 :
cond2 ? 2 :
cond3 ? 3 :
cond 4: 5;
* lisp/progmodes/typescript-ts-mode.el:
(typescript-ts--standalone-parent-p): New function.
(typescript-ts-mode):
(tsx-ts-mode): Use new function.
|
| |\
| |
| |
| |
| | |
1d2ae31b8bc typescript-ts-mode: Improve function body indentation (bu...
421ecbcf6b4 ; * CONTRIBUTE: Explain the line-width preferences.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Older code was calculating body indentation depending on function
parameters alignment. This is incorrect, because if parameters are
misaligned, so will the function body. Instead, use offset of the
previous standalone parent.
* lisp/progmodes/typescript-ts-mode.el:
(typescript-ts-mode--indent-rules): Stop depending on function
parameters indentation for calculating body content and the closing
`}'.
* test/lisp/progmodes/typescript-ts-mode-resources/indent.erts:
(Function body with params misindented (bug#78121)): Add new test.
|
| | |
| |
| |
| |
| |
| |
| | |
* test/lisp/progmodes/compile-tests.el
(compile-tests--test-regexps-data, compile--test-error-line)
(compile-test-functions): Check the types (error, warning or info) for
most patterns. Use names instead of numbers in the reference.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* etc/compilation.txt: Add examples of Rust compiler error, warning and
note messages.
* lisp/progmodes/compile.el
(compilation-error-regexp-alist-alist): Add Rust regexps for error,
warning and note messages.
* test/lisp/progmodes/compile-tests.el
(compile-tests--test-regexps-data): Add new test cases.
(compile-test-error-regexps): Increase expected errors.
|
| |\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
299d3a44012 Fix saving abbrevs by 'abbrev-edit-save-buffer'
399d05332ed ; Remove confusing text from ELisp manual
feecb1fbc60 ; * doc/emacs/cmdargs.texi (General Variables): More accu...
18e1aabbeaa ; Improve documentation of the -L command-line option
c80fbe3f235 typescript-ts-mode: align ternary-chain branches (bug#78187)
16bfbc6fe31 ; Tramp test fixes
f0ac271da38 ; Time Stamps doc: Clearer customize recipe
49c06df224a ; * doc/lispref/variables.texi (Default Value): Update.
cbea5997c07 ; * lisp/mh-e/mh-e.el: Commentary: link to The MH-E Manual
0bf956235e3 Improve Tramp test
eaf01d034c0 * lisp/autorevert.el (auto-revert-remote-files): Adapt do...
e32bb816adb ; Improve documentation of ls-lisp.el
2d5f2434706 ; * lisp/emacs-lisp/comp.el (native-compile-prune-cache):...
bb735331650 Improve Electric Pair mode documentation (bug#78021)
|
| | |
| |
| |
| |
| |
| |
| |
| | |
* lisp/progmodes/typescript-ts-mode.el:
(typescript-ts-mode--indent-rules): Make sure each new ternary
branch is aligned with the previous one.
* test/lisp/progmodes/typescript-ts-mode-resources/indent.erts:
(Chained ternary expressions): New test.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* lisp/progmodes/python.el (python--treesit-settings): Use more
specific selectors for constants.
* test/lisp/progmodes/python-tests.el
(python-ts-mode-nested-types-face-1)
(python-ts-mode-union-types-face-1)
(python-ts-mode-union-types-face-2): None is now a constant.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* lisp/progmodes/elixir-ts-mode.el (elixir-ts--thing-settings):
Add extra grouping "keywords" to named sexp nodes.
Add "," to anonymous sexp nodes. Use bos/eos.
* lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode):
Use bos/eos for anonymous sexp nodes for better disambiguation.
* test/lisp/progmodes/heex-ts-mode-tests.el
(heex-ts-mode-test-indentation): Skip the test when 'elixir' is
missing since 'heex-ts-mode' depends on the 'elixir' grammar.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* lisp/textmodes/mhtml-ts-mode.el:
* lisp/progmodes/php-ts-mode.el:
Use 'add-to-list' on items in language-source-alist
that should check for duplicate items.
* test/infra/Dockerfile.emba: Move multi-language mhtml-ts-mode and
php-ts-mode to the end to give their dependent grammars a lower priority.
* test/lisp/progmodes/js-tests.el (js-ts-mode-test-indentation):
Skip the test when 'jsdoc' is missing since 'js-ts-mode' depends
on the 'jsdoc' grammar.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
* lisp/progmodes/python.el (python-info-statement-ends-block-p)
(python-info-end-of-block-p): Add consideration of comments.
* test/lisp/progmodes/python-tests.el
(python-info-statement-ends-block-p-3)
(python-info-end-of-block-p-3): New tests.
|
| |\ \
| |/
| |
| |
| | |
2a45f0bceba * lisp/progmodes/heex-ts-mode.el (heex-ts): Fix :group name.
9750333dde9 Fix typescript-ts-mode indentation (bug#77803)
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Don't align variable names to their declaratory expression.
Before this commit in code like:
const a = 1,
b = 2;
the b would get indented to `const'. Similarly for `var' and
`let'. The expected behavior instead is getting indented to
`typescript-ts-mode-indent-offset'.
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--indent-rules): Indent identifiers declarations to
`typescript-ts-mode-indent-offset'.
* test/lisp/progmodes/typescript-ts-mode-resources/indent.erts
(Lexical and variable declarations): Update test accordingly.
|
| | |
| |
| |
| |
| |
| | |
* test/lisp/progmodes/lua-ts-mode-resources/indent.erts:
Remove unintended use of tabs and make indentation settings
buffer local.
|
| | |
| |
| |
| |
| |
| | |
* test/lisp/progmodes/java-ts-mode-resources/indent.erts (Code):
Use `setq-local` and correspondingly move the remaining
assignment after activating the major mode.
|
| | |
| |
| |
| |
| | |
* test/lisp/progmodes/java-ts-mode-resources/indent.erts:
Set 'indent-tabs-mode' later.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use it for function parameters.
* lisp/progmodes/java-ts-mode.el:
(java-ts-mode--standalone-predicate): New function.
(java-ts-mode--indent-rules): Comment out rules for function
parameters and statements, and add
c-ts-common-baseline-indent-rule as fallback.
(java-ts-mode): Setup.
(java-ts-mode--first-line-on-multi-line-string): Mark BOL as
unused.
* test/lisp/progmodes/java-ts-mode-resources/indent.erts:
New test.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* lisp/progmodes/lua-ts-mode.el (c-ts-common): Require it.
(lua-ts-mode): Set 'c-ts-common' variables.
(lua-ts--simple-indent-rules): Replace custom indent rules for
tables, arguments and parameters with
'c-ts-common-baseline-indent-rule'.
Improve consistency of indentation for IIFEs and nested functions.
(lua-ts--variable-declaration-continuation)
(lua-ts--variable-declaration-continuation-anchor): Reformat.
(lua-ts--comment-first-sibling-matcher)
(lua-ts--first-child-matcher, lua-ts--first-real-sibling-anchor)
(lua-ts--function-definition-p, lua-ts--g-g-g-parent)
(lua-ts--g-g-parent, lua-ts--nested-function-argument-matcher)
(lua-ts--nested-function-block-include-matcher)
(lua-ts--nested-function-block-matcher)
(lua-ts--nested-function-end-argument-matcher)
(lua-ts--nested-function-end-matcher)
(lua-ts--nested-function-last-function-matcher)
(lua-ts--top-level-function-call-matcher): Remove.
* test/lisp/progmodes/lua-ts-mode-resources/indent.erts:
Update tests. (Bug#76986)
|
| |\ \
| |/
| |
| |
| |
| |
| |
| | |
894b0e3a2fe ; Adapt comment in tramp.el
cc87717fa07 Add keyword placeholder to tramp.el
7d0d61d8549 Rewrite ERT manual introduction
b2f124f2a88 ; cperl-mode.el: Don't misinterpret exec_fcn as keyword exec
59d1aac49df Document return values of the various read-* functions
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
* lisp/progmodes/cperl-mode.el
(cperl-after-block-and-statement-beg): Recognize _ as part of a
Perl symbol. Fixes Bug#76851
* test/lisp/progmodes/cperl-mode-resources/cperl-indents.erts
Two new test cases around the edges of Bug#76851
|
| | |
| |
| |
| |
| |
| |
| | |
* lisp/progmodes/lua-ts-mode.el (lua-ts-mode): Remove some
nonsensical entries from 'treesit-thing-settings'.
* test/lisp/progmodes/lua-ts-mode-resources/movement.erts:
Add missing tests for 'backward-sexp'. (Bug#76534)
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
* lisp/progmodes/make-mode.el (makefile-dependency-regex):
Decompose the regexp to be more understandable, and then change
it so the target part can't accidentally match a TAB.
* test/lisp/progmodes/make-mode-tests.el (make-mode-tests--bug17400):
New test.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* lisp/progmodes/lua-ts-mode.el (lua-ts-mode): Add list type to
'treesit-thing-settings'.
* lisp/progmodes/hideshow.el (hs-special-modes-alist):
Remove regular expression based implementation.
* test/lisp/progmodes/lua-ts-mode-resources/hide-show.lua: New file.
* test/lisp/progmodes/lua-ts-mode-tests.el (lua-ts-test-hideshow):
Add test. (Bug#76693)
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 331492a148588991af5ce9a24a2020b3d380e03f.
My bad: gensym wasn't the problem, it's available from 26.1. Incf
was the problem, in the main program file.
* test/lisp/progmodes/eglot-tests.el (eglot--with-timeout): Back to gensym
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
;; IMPORTANT: Since Eglot is a :core ELPA package, these tests are
;; supposed to run on Emacsen down to 26.3. Do not use bleeding-edge
;; functionality not compatible with that Emacs version.
* test/lisp/progmodes/eglot-tests.el (eglot--call-with-timeout):
Back to cl-gensym.
|
| |\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
b531bbf73ef Fix go-ts-mode const_spec highlighting (Bug#76330)
bd1d6761f4c ; Document what happens when 'display' and 'invisible' pr...
526eeedf889 keymaps.texi: Move "Changing Key Bindings" section up
7ec6531c7bd keymaps.texi: Move "Key Sequences" section down
8b804011275 Improve process-get/process-put docstrings
73c646b7771 Merge branch 'emacs-30' of git.sv.gnu.org:/srv/git/emacs ...
0af5c574998 Fix recent change in diff-no-select
c8cec840d79 Prevent rare freeze on Android 4.2 through 4.4
|