bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#65470: 29.1.50; js-ts-mode: regex pattern can cause incorrect parent


From: Dmitry Gutov
Subject: bug#65470: 29.1.50; js-ts-mode: regex pattern can cause incorrect parenthesis matching
Date: Sat, 16 Sep 2023 23:05:35 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0

On 16/09/2023 16:59, Stefan Monnier wrote:
No problem, pushed that to emacs-29, thanks.
This seems to cause:

     INFO     Scraping files for loaddefs...85%
   typescript-ts-mode:0: Warning: Not registering prefix "ts".  Affects: ("tsx-ts-mode--indent-compatibility-b893426" 
"tsx-ts-mode--font-lock-compatibility-bb1f97b" "tsx-ts--s-p-query" "tsx-ts--syntax-propertize" "ts-ts--s-p-query" 
"ts-ts--syntax-propertize" "ts-ts--syntax-propertize-captures")

Stefan, what do we usually do with such warnings?
We usually ignored them?
[ They only affect the features controlled by
   `help-enable-(completion-)autoload`.  ]

A better option, is to try and use fewer namespace prefixes.
e.g. make sure all the definitions start with `ts-`, `ts-ts-`,
`tsts-`, or somesuch (except for the autoloaded ones which can break
that rule).

Maybe rename `typescript-ts-mode-*` to `ts-ts-mode-*` (and
make `typescript-ts-mode` an alias of `ts-ts-mode`).

Thanks. I haven't seen the warnings myself, but I sorted the new addition into two existing prefixes in that file: typescript-ts and tsx-ts.

diff --git a/lisp/progmodes/typescript-ts-mode.el 
b/lisp/progmodes/typescript-ts-mode.el
index 7c85a7b6fe9..8c50b55535b 100644
--- a/lisp/progmodes/typescript-ts-mode.el
+++ b/lisp/progmodes/typescript-ts-mode.el
@@ -87,7 +87,7 @@ tsx-ts-mode--indent-compatibility-b893426
        (progn (treesit-query-capture 'tsx '((jsx_fragment) @capture))
               `(((match "<" "jsx_fragment") parent 0)
                 ((parent-is "jsx_fragment") parent 
typescript-ts-mode-indent-offset)))
-    (error
+    (error ;; FIXME: Use more precise error name.
       `(((match "<" "jsx_text") parent 0)
         ((parent-is "jsx_text") parent typescript-ts-mode-indent-offset)))))
@@ -414,8 +414,11 @@ typescript-ts-mode--sexp-nodes
    "Nodes that designate sexps in TypeScript.
  See `treesit-thing-settings' for more information.")
+;; FIXME: Do we really need to autoload this?
  ;;;###autoload

Don't think so. Though I'm not sure if we should change that in emacs-29.

  (define-derived-mode typescript-ts-base-mode prog-mode "TypeScript"
+  ;; FIXME: This is the same docstring as `typescript-ts-mode',
+  ;; we should document the difference here!
    "Major mode for editing TypeScript."
    :group 'typescript
    :syntax-table typescript-ts-mode--syntax-table


Fixed two other things on the release branch, seemed safe enough.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]