GNU bug report logs - #71522
29.2.50; Allow associating module symbols with defining files

Previous Next

Package: emacs;

Reported by: Spencer Baugh <sbaugh <at> janestreet.com>

Date: Wed, 12 Jun 2024 15:15:02 UTC

Severity: normal

Found in version 29.2.50

To reply to this bug, email your comments to 71522 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#71522; Package emacs. (Wed, 12 Jun 2024 15:15:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Spencer Baugh <sbaugh <at> janestreet.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 12 Jun 2024 15:15:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Spencer Baugh <sbaugh <at> janestreet.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.2.50; Allow associating module symbols with defining files
Date: Wed, 12 Jun 2024 11:12:30 -0400
It's currently impossible to associate a symbol defined by a module with
the source file which actually defined that symbol.

1. Make any native module whatsoever, defining any Lisp symbols at all
2. emacs -Q -l ./your-native-module.so
3. (symbol-file your-native-module-symbol) yields "your-native-module.so"
4. If it's a function:
   C-h f your-native-module-symbol RET
5. Observe that it says "your-native-module.so" defines this function,
   and that jumping to the source via the link or "s" drops you in
   your-native-module.so.

It should instead be possible for a module to express which files
defines a symbol, so that it's possible to jump to the source for that
symbol, if it's around.


In GNU Emacs 29.2.50 (build 2, x86_64-pc-linux-gnu, X toolkit, cairo
 version 1.15.12, Xaw scroll bars) of 2024-06-01 built on
 igm-qws-u22796a
Repository revision: fcef787a846f0c51f7443dfab6af6e18b476b166
Repository branch: emacs-29
Windowing system distributor 'The X.Org Foundation', version 11.0.12011000
System Description: Rocky Linux 8.9 (Green Obsidian)




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#71522; Package emacs. (Wed, 12 Jun 2024 16:55:01 GMT) Full text and rfc822 format available.

Message #8 received at 71522 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Spencer Baugh <sbaugh <at> janestreet.com>
Cc: 71522 <at> debbugs.gnu.org
Subject: Re: bug#71522: 29.2.50;
 Allow associating module symbols with defining files
Date: Wed, 12 Jun 2024 19:54:05 +0300
> From: Spencer Baugh <sbaugh <at> janestreet.com>
> Date: Wed, 12 Jun 2024 11:12:30 -0400
> 
> 
> It's currently impossible to associate a symbol defined by a module with
> the source file which actually defined that symbol.
> 
> 1. Make any native module whatsoever, defining any Lisp symbols at all
> 2. emacs -Q -l ./your-native-module.so
> 3. (symbol-file your-native-module-symbol) yields "your-native-module.so"
> 4. If it's a function:
>    C-h f your-native-module-symbol RET
> 5. Observe that it says "your-native-module.so" defines this function,
>    and that jumping to the source via the link or "s" drops you in
>    your-native-module.so.

I'm guessing that what Emacs knows is the directory and the file name
from which it loaded the module.  If we want to be able to find the
source file, that information needs to be recorded somewhere inside
the module, otherwise there's no way Emacs could reliably find the
sources, since the module could be stripped of all the symbolic debug
info.  Suggestions for how to implement that are welcome.




This bug report was last modified 249 days ago.

Previous Next


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