GNU bug report logs - #62416
30.0.50; Symbols skipped in the navigation in ruby-ts-mode

Previous Next

Package: emacs;

Reported by: Boško Ivanišević <bosko.ivanisevic <at> gmail.com>

Date: Fri, 24 Mar 2023 12:38:02 UTC

Severity: normal

Found in version 30.0.50

Done: Dmitry Gutov <dgutov <at> yandex.ru>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Juri Linkov <juri <at> linkov.net>
To: Dmitry Gutov <dgutov <at> yandex.ru>
Cc: Boško Ivanišević <bosko.ivanisevic <at> gmail.com>, 62416 <at> debbugs.gnu.org
Subject: bug#62416: 30.0.50; Symbols skipped in the navigation in ruby-ts-mode
Date: Mon, 27 Mar 2023 19:29:02 +0300
>> But anyway I think in its current state
>> treesit-sexp-type-regexp is underdesigned as noted in
>> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62238#59
>> so no tweaking could fix its design flaws.  For example,
>>    foo = {
>>      a: b
>>    }
>> when point is on the left curly bracket, 'C-M-f C-M-b' doesn't
>> move back to the original position, etc.
>
> Hm, yeah, it's a little unexpected that not only it doesn't move back
> exactly, it skips the full assignment expression in both directions.
>
> What is the downside of dropping "binary" and "assignment" from
> treesit-sexp-type-regexp, added there not too long ago? Without
> "assignment" there, your example becomes a round-trip.

This will break other cases, e.g.

  b = %Q{This is a "string"}
  c = %w!foo
   bar
   baz!
  d = %(hello (nested) world)

when point is after "b", 'C-M-f' will move to "c" instead of the end of line.




This bug report was last modified 2 years and 105 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.