GNU bug report logs -
#77421
[PATCH] [etags] Fix module definition with ::
Previous Next
Full log
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Tags: patch
Tags: patch
Hello dear Emacs maintainers,
I have a patch I would like to submit. I tried to follow all the docs
but if I did something wrong, don't hesitate to tell me.
Problem: In ruby we can define a nested module/class the safe way (in
the sense, if the parent module does not exist, it will define it):
module M
module N
end
end
Or, if M already exists, we can also write:
module M::N; end
With the later notation, the tag generated by etags will be M::N. When
browsing the code, using xref-find-definitions when the point is on N,
will not be able to find the definition of N because the implicit tag
name is M::N.
This is the same problem with nested classes or even some rare
allowed definitions like explicitely defining a module/class from the
global namespace:
class ::A; end
Solution: We need to give an explicit tag name. To achieve this, on
module/class definition we truncate the name to the last found column.
Best Regards,
Laurent
In GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.24.43, cairo version 1.18.2) of 2025-03-29 built on Host-002
Repository revision: 04bd6497300789cd90b365299885517d92292648
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101016
System Description: Fedora Linux 41 (Workstation Edition)
Configured using:
'configure --prefix=/home/stac/.local --disable-gc-mark-trace
--with-cairo --with-dbus --with-gif --with-gpm=no --with-gnutls
--with-harfbuzz --with-imagemagick --with-jpeg --with-mailutils
--with-modules --with-native-compilation=aot --with-png --with-rsvg
--with-sqlite3 --with-tiff --with-tree-sitter --with-webp
--with-wide-int --with-x-toolkit=gtk3 --with-xinput2 --with-xpm
--without-pop 'CFLAGS=-O2 -pipe -mtune=native -march=native
-fomit-frame-pointer''
[0001-etags-Fix-module-definition-with.patch (text/patch, attachment)]
This bug report was last modified 46 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.