Subject: bug#34655: 26.1.92; Segfault in module with --module-assertions

From: "Basil L. Contovounesios" <[email-masked]>
Date: Tue, 26 Feb 2019 11:16:56 +0000

Richard Stallman <[email-masked]> writes:

>   > I have written a dynamic module which provides a function
>   > realpath-truename
>
> The function might be useful, but that is not the right name for it.
> In the GNU system we do not use "path" to mean a file name.

Thanks, I am aware of this.  See below for how the name came to be.

> Could you describe in words what job the function does?
> Then I could suggest a name.

Thanks, but just to clarify: I have not written this module with the
intention of advertising it for others to use; I don't think anyone
would find it of great use.

I was motivated to write it to test Emacs' new (at the time) module
system, and because, with enough packages installed, file-truename
slowed down package-initialize (and thus my emacs-init-time) by a
non-negligible amount.  I thus overrode file-truename with
realpath-truename using advice, with the caveat that realpath-truename
does not respect file name handlers (in practice I never needed this).

The new package-quickstart feature has made the module largely
unnecessary.  Either way, I regard it as a personal experiment.

Re: the name, I chose 'realpath' because the original implementation was
just that: a wrapper around realpath(3).  It was only in a later version
that I switched to using canonicalize_file_name(3) instead.  Perhaps a
better name would have been 'truename' or similar, but I don't think
this is important enough a matter to justify renaming it now.  Do you?

The reason I submitted this bug report is because I don't know whether
the switch --module-assertions has unveiled an issue in my module or
Emacs' module implementation.

-- 
Basil