GNU bug report logs - #77666
Question/discussion about `trusted-content'

Previous Next

Package: emacs;

Reported by: Dominik Schrempf <dominik.schrempf <at> gmail.com>

Date: Wed, 9 Apr 2025 07:34:01 UTC

Severity: normal

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Dominik Schrempf <dominik.schrempf <at> gmail.com>, Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 77666 <at> debbugs.gnu.org
Subject: bug#77666: Question/discussion about `trusted-content'
Date: Wed, 09 Apr 2025 15:40:14 +0300
> From: Dominik Schrempf <dominik.schrempf <at> gmail.com>
> Date: Wed, 09 Apr 2025 09:33:41 +0200
> 
> I have a remark/question with respect to the newly introduced
> `trusted-content' customizable variable. The documentation states
> 
>     - If it ends in "/", it is considered as a directory name and means that
>       Emacs should trust all the files whose name has this directory as a prefix.
> 
> And then,
> 
>     Use abbreviated file names.  For example, an entry "~/mycode/" means
>     that Emacs will trust all the files in your directory "mycode".
> 
> Why is this second requirement in place?

For speed, I believe.  (But Stefan will correct me if I'm wrong.)

> I tried trusting a directory using an absolute file name, e.g.,
> "/home/user/trusted/dir/", and failed! I think this is because Emacs
> uses the `buffer-file-truename' variable to check if the file is
> trusted, and `buffer-file-truename' is "~/trusted/dir/basename".

Exactly.

> That is, I had to set `trusted-content' to a list containing
> "~/trusted/dir/" which I want to avoid.

Why do you want to avoid it?

> Isn't it safer to trust absolute
> directories instead of directories relative to the user home directory?

HOME-relative file names are considered absolute file names in Emacs:

  (file-name-absolute-p "~/.emacs.d/")
   => t

> On the side, isn't the name `buffer-file-truename' a misnomer? The
> "true" ("real", see `realpath') filename should be the absolute one, or
> not? What am I missing here?

See above.

Emacs always abbreviates HOME-relative file names, so adhering to that
convention means we can compare file names as strings, instead of
using file-truename (which hits the disk) and similar APIs to
"normalize" the file names before comparing.




This bug report was last modified 123 days ago.

Previous Next


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