Commit Graph

164088 Commits

Author SHA1 Message Date
Dmitry Gutov
2ea6ee5cbf (font-lock-regexp-face): New face
* lisp/font-lock.el (font-lock-regexp-face): New face.

* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings):
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--font-lock-settings):
* lisp/progmodes/js.el (js--treesit-font-lock-settings):
Use it for regexps.

* etc/NEWS: Mention the addition.
2023-01-06 19:56:20 +02:00
Dmitry Gutov
5ab03bcc43 Unify the string interpolation delimiters face across ts modes
* lisp/progmodes/js.el (js--treesit-font-lock-settings):
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--font-lock-settings):
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings):
Use font-lock-misc-punctuation-face for string interpolation
delimiters.
2023-01-06 16:17:50 +02:00
Dmitry Gutov
92e8c0c091 ruby-ts-mode: Highlight more kinds of parameters
* lisp/progmodes/ruby-ts-mode.el
(ruby-ts--font-lock-settings): Highlight destructured parameters,
lambda parameters, identifiers in pattern matching clauses
(array/hash) and exception variables.
Move the 'symbol' matchers lower to make 'hash_key_symbol' lower
priority than hash keys in match patterns.
2023-01-06 15:38:13 +02:00
Robert Pluim
7420b6dcc3 Fix `pr-interface'
`pr-interface' specifies `inline' for its menu items, which is not
necessary, but it causes `widget-choice-value-create' to bug
out.  (Bug#60501)

* lisp/wid-edit.el (widget-choice-value-create): Allow the value to be
a non-list.
* test/lisp/wid-edit-tests.el (widget-test-handle-spurious-inline):
Add test to ensure that unnecessary :inline is allowed.
2023-01-06 10:06:25 +01:00
Jostein Kjønigsen
699711786a Further generic-related improvements in csharp-ts-mode (bug#60376)
This is an additional patch for bug#60376.

* lisp/progmodes/csharp-mode.el (csharp-ts-mode--font-lock-settings):
New rules.
2023-01-05 22:54:23 -07:00
Dmitry Gutov
0f5e74f173 ruby-ts-mode: Highlight method and block parameters
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--font-lock-settings):
Add rules for method and block parameters.
(ruby-ts-mode): Add corresponding feature.
2023-01-06 04:48:35 +02:00
Perry Smith
f1aa306f91 ruby-ts-mode: Highlight variable assignments
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--font-lock-settings):
Bring back the 'assignment' feature.
(ruby-ts-mode): Replace the unused 'variable' with 'assignment'.  Use
the level 3 for consistency with other ts modes.
Update the Commentary as well.
2023-01-06 04:25:05 +02:00
Dmitry Gutov
089b08eb3e ruby-ts-mode: Move 'self' and 'super' from constants to keywords
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--font-lock-settings):
Move 'self' and 'super' from constants to keywords.
2023-01-06 03:32:46 +02:00
Dmitry Gutov
7ede600273 (ruby-ts-mode): Split font-lock feature 'builtin' into two
* lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode):
Split the 'builtin' feature in two: 'builtin-constant' and
'builtin-variable'.
(ruby-ts-highlight-predefined-constants):
Drop the user option, the highlighting granularity can be chosen
using treesit-font-lock-recompute-features.
(ruby-ts--font-lock-settings): Update accordingly.
(ruby-ts--predefined-constants, ruby-ts--predefined-variables):
Fix docstrings.
2023-01-06 03:32:46 +02:00
Eli Zaretskii
ec172d748f Avoid assertion violation due to fill-column indicator face
* src/xdisp.c (extend_face_to_end_of_line): Use the original
iterator metrics for the stretch glyph, the one unaffected by the
'fill-column-indicator' face.  (Bug#60580)
2023-01-05 22:33:51 +02:00
Eli Zaretskii
62c2963ce6 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/emacs into emacs-29 2023-01-05 22:32:17 +02:00
Michael Albinus
2e6070f16c ; Another review of etc/NEWS 2023-01-05 20:53:25 +01:00
Eli Zaretskii
16eca92415 ; * src/gnutls.c (Fgnutls_deinit): Fix typo in doc string (bug#60579). 2023-01-05 20:39:14 +02:00
Juri Linkov
4753b58786 * lisp/cedet/semantic/symref/grep.el: Support ts-modes (bug#60525)
(semantic-symref-filepattern-alist): Duplicate entries
c-mode -> c-ts-mode, c++-mode -> c++-ts-mode, ruby-mode -> ruby-ts-mode,
python-mode -> python-ts-mode.
2023-01-05 20:18:11 +02:00
Eli Zaretskii
8a18369afd ; Another fix for doc strings of 2 treesit.el functions
* lisp/treesit.el (treesit-parent-while): Clarify "closest" and
"furthest" in the doc string.  (Bug#60531)
2023-01-05 09:34:02 +02:00
Eli Zaretskii
3fc6883351 ; Fix the doc strings of 2 treesit.el functions
* lisp/treesit.el (treesit-parent-until, treesit-parent-while):
Doc fixes.  (Bug#60531)
2023-01-05 09:20:02 +02:00
Eli Zaretskii
83ce7c861e Make 'toml-ts-mode' optional
* etc/NEWS: Reflect the fact that 'toml-ts-mode' is optional.

* lisp/textmodes/toml-ts-mode.el (auto-mode-alist): Don't autoload
the addition of 'toml-ts-mode'.  (Bug#60559)
2023-01-05 08:40:07 +02:00
Eli Zaretskii
92f753dc19 ; * etc/NEWS: Fix wording in last change. 2023-01-04 20:52:41 +02:00
Eli Zaretskii
cef875f6c5 ; * etc/NEWS: Instructions for builds without tree-sitter (bug#60559) 2023-01-04 20:51:04 +02:00
Eli Zaretskii
8d530ca654 ; Fix documentation of y-or-n-p/yes-or-no-p
* lisp/subr.el (y-or-n-p):
* src/fns.c (Fyes_or_no_p): Doc fix.
2023-01-04 19:25:47 +02:00
Michael Albinus
c18878ee0a Fix bug in Tramp multi-hop
* lisp/net/tramp.el (tramp-compute-multi-hops): Make check for
host name more robust.  (Bug#60499)
2023-01-04 18:12:02 +01:00
Michael Albinus
7eed8e050a * lisp/files.el (find-sibling-rules): Fix docstring. 2023-01-04 18:11:31 +01:00
Juri Linkov
6b5831c696 Tree-sitter doc fixes (bug#60524)
* doc/lispref/modes.texi (Parser-based Font Lock):
Replace :lang with :language.

* doc/lispref/parsing.texi (Language Grammar): Replace
treesit-load-suffixes with dynamic-library-suffixes.
(Retrieving Nodes): Fix function names.
(Tree-sitter Major Modes): Fix treesit-ready-p args.
Fix pxref to Parser-based Indentation.
(Tree-sitter C API): Fix function names.

* lisp/treesit.el (treesit--simple-indent-eval): Remove cond BODY
duplicated from CONDITION.
(treesit)<define-short-documentation-group>: Fix function names.
2023-01-04 09:57:06 +02:00
Daniel Martín
651927ac39 ; Fix function reference in comment in c-ts-mode.el (bug#60514)
* lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings): Fix
reference.
2023-01-04 00:04:32 -07:00
Daniel Martín
c786afcbb9 Fontify C++ function definitions in c-ts-mode (bug#60529)
* lisp/progmodes/c-ts-mode.el (c-ts-mode--declarator-identifier):
Teach the code how to extract the declarator of a node of type
"qualified_identifier".
(c-ts-mode--fontify-declarator): Consider the case where the
identifier in a function declarator is buried inside
"qualifier_identifier" nodes.
2023-01-04 00:04:32 -07:00
Dmitry Gutov
0d98fac6bb (ruby-ts-add-log-current-function): Fix when between two methods
* lisp/progmodes/ruby-ts-mode.el
(ruby-ts-add-log-current-function): Fix the case when point is
between two methods.  'treesit-node-at' returs the 'def' node of
the method after point in such case, so it behaved like point was
inside the method below.

* test/lisp/progmodes/ruby-ts-mode-tests.el
(ruby-ts-add-log-current-method-outside-of-method):
Update the test case.

* test/lisp/progmodes/ruby-mode-tests.el
(ruby-add-log-current-method-outside-of-method):
Mirror that change.
2023-01-04 00:38:01 +02:00
Eli Zaretskii
da69f116bf ; * doc/lispref/positions.texi (List Motion): Minor wording fix. 2023-01-03 15:16:42 +02:00
Eli Zaretskii
0b0eae0bf7 ; Improve documentation of 'treesit-language-source-alist'
* lisp/treesit.el (treesit--install-language-grammar-build-recipe)
(treesit-install-language-grammar):  Doc fixes.
(treesit-install-language-grammar): Autoload it.

* etc/NEWS: Improve wording of the
'treesit-install-language-grammar' documentation.
2023-01-03 15:12:48 +02:00
Yuan Fu
ae0d218d0b ; * etc/NEWS: Mention treesit-install-language-grammar. 2023-01-02 22:54:45 -08:00
Sean Whitton
de3df3bc51 * lisp/vc/vc-git.el (vc-git-checkin): Pass vc-git-diff-switches. 2023-01-02 23:26:23 -07:00
Dmitry Gutov
6dd3e352f4 Extract common code into ruby-base-mode to derive from
* lisp/progmodes/ruby-mode.el (ruby-base-mode):
New major base mode, to set up common vars and hooks.
(ruby-mode-variables): Delete.  Move most code to ruby-base-mode.
And some -- to ruby-mode body.
(ruby-mode): Derive from ruby-base-mode.  Also move some setup
to there.

* lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode):
Derive from ruby-base-mode.  Remove duplicating settings.
2023-01-03 03:10:49 +02:00
Dmitry Gutov
94e330243e ruby-ts-mode: Indentation fixes
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--align-keywords):
Fix for 'def' (which was misread as 'method' in the check).
(ruby-ts--indent-rules): Indent the curly block closer the same
way as the 'do ... end' closer.
2023-01-03 02:26:00 +02:00
Dmitry Gutov
9b24417dda ruby-ts--font-lock-settings: Use more standard faces
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--font-lock-settings):
Use more standard faces for regexp literals and string
interpolation delimiters (following js-ts-mode).
2023-01-03 00:41:39 +02:00
Dmitry Gutov
9e6536e4d9 ruby-ts-mode: Standardize the string literal highlights
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--font-lock-settings):
Use font-lock-string-face for %w() and `...`.
Use font-lock-constant-face (just like we do for symbol literals)
for symbol array literals, %i().
Combine the matchers for string content and heredocs.
2023-01-03 00:41:39 +02:00
Theodor Thornhill
1a9a1fdebf Improve fontification in java-ts-mode (bug#60492)
* lisp/progmodes/java-ts-mode.el (java-ts-mode--font-lock-settings):
Add expression_statement with only identifier support.
2023-01-02 14:29:48 -08:00
Jostein Kjønigsen
dfdf9c21cb Fontification improvements in typescript-ts-mode (bug#60500)
- highlight method-definitins in interfaces.
- only highlight variable-declarations, not variables
  everywhere (consistency with other modes).
- move highlighting of method invocations to level 4

* lisp/progmodes/typescript-ts-mode.el:
(typescript-ts-mode--font-lock-settings): Update rules.
(typescript-ts-mode, tsx-ts-mode): Update feature list.
2023-01-02 14:26:03 -08:00
Jostein Kjønigsen
68e68dfeef Improve fontification consistency in js-ts-mode (bug#60503)
* lisp/progmodes/js.el (js--treesit-font-lock-settings): Highlight
declared parameters in functions, methods and arrow-expressions as
variables.
2023-01-02 14:25:55 -08:00
Yuan Fu
aef869e74f ; Update tree-sitter manual
* doc/lispref/positions.texi (List Motion): Replace
treesit-defun-prefer-top-level with treesit-defun-tactic.
2023-01-02 14:25:54 -08:00
Yuan Fu
4ef12cfb1f ; Fix tree-sitter manual title case
* doc/lispref/elisp.texi:
* doc/lispref/modes.texi:
* doc/lispref/parsing.texi: Change to title case.
2023-01-02 14:25:54 -08:00
Eli Zaretskii
aab8ddca5e ; nt/INSTALL: Update for Emacs 29. 2023-01-02 20:56:52 +02:00
Michael Albinus
809fbb0e8c ; Update copyright notice in tramp-sh.el
* lisp/net/tramp-sh.el (tramp-perl-encode, tramp-perl-decode):
Remove copyright notice, Tramp is copyrighted by FSF anyway.
2023-01-02 19:50:07 +01:00
Dmitry Gutov
f8f5202487 (typescript/tsx-ts-mode): Split font-lock feature list into 4 values
* lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode)
(tsx-ts-mode): Split font-lock feature list into 4 values.
2023-01-02 20:42:52 +02:00
Dmitry Gutov
a86a213e1a js-ts-mode: Move 'string-interpolation' to font-lock level 3
* lisp/progmodes/js.el (js-ts-mode):
Move 'string-interpolation' to font-lock level 3.
2023-01-02 19:59:50 +02:00
Eli Zaretskii
d26b523886 Fix shrinking of the tab-bar
* src/haikufns.c (haiku_change_tab_bar_height):
* src/pgtkfns.c (pgtk_change_tab_bar_height):
* src/nsfns.m (ns_change_tab_bar_height):
* src/w32fns.c (w32_change_tab_bar_height):
* src/xfns.c (x_change_tab_bar_height): Don't let the number of
tab-bar lines degenerate to zero due to integer division.
(Bug#60210)
2023-01-02 17:02:05 +02:00
Stefan Kangas
3f7ea621b9 ; Fix typos in ruby-ts-mode.el 2023-01-02 15:18:13 +01:00
Stefan Kangas
9599b05431 ; Skip ruby-ts tests if grammar is not available
* test/lisp/progmodes/ruby-ts-mode-tests.el: Properly skip tests if
there is no grammar for ruby.
2023-01-02 15:07:59 +01:00
F. Jason Park
ff35ac9dfa Fix default-port regression in erc-select-read-args
* lisp/erc/erc.el (erc--warn-unencrypted): New function, likely
temporary, to warn new users connecting interactively to the default
server, "irc.libara.chat", via the default non-TLS port, 6667.
(erc-select-read-args): Remove stray code from incomplete feature
introduced by bug#56514.  Ensure connecting always works with default
port, which is non-TLS.  Respect `erc-prompt-for-password' when user
pastes URL containing password component into "server" prompt.  Maybe
add `erc--warn-unencrypted' as one-off hook for impending connection.
* test/lisp/erc/erc-tests.el (erc-select-read-args): Always expect
password prompt and sometimes a non-TLS port when `erc' called
interactively.  (Bug#60428.)
2023-01-02 05:48:39 -08:00
Eli Zaretskii
b7ad0b4014 ; Clarify doc strings of 'call-process' and 'call-process-region'
* src/callproc.c (Fcall_process, Fcall_process_region): Document
that the destination buffer can be specified by its name.
(Bug#60477)
2023-01-02 13:52:25 +02:00
Gregory Heytings
4520f09dd8 ; * admin/git-bisect-start: Update failing commits 2023-01-02 11:01:36 +01:00
Kyle Meyer
2569ede9c4 Update to Org 9.6-81-g563a43 2023-01-01 22:24:28 -05:00