From: Daniel Mendler via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: 74879@debbugs.gnu.org
Subject: bug#74879: 30.0.92; trusted-content-p and trusted-files cannot be used for non-file buffers
Date: Mon, 16 Dec 2024 19:48:44 +0100 [thread overview]
Message-ID: <87jzbz79bn.fsf@daniel-mendler.de> (raw)
In-Reply-To: <jwvr067puml.fsf-monnier+emacs@gnu.org> (Stefan Monnier's message of "Mon, 16 Dec 2024 09:43:54 -0500")
Stefan Monnier <monnier@iro.umontreal.ca> writes:
>> The thought was rather that auto completion may be dangerous in general
>
> Maybe I have too narrow a view of completion, but my impression is that
> completion is usually safe. The situation in ELisp where we perform
> macro expansion to try and get the set of local variables in scope and
> where that macro expansion can end up running local code is rather
> unusual, AFAIK.
Agree.
> What kind of situation are you thinking of where completion is unsafe?
Elisp completion on Emacs 29 and older for example ;)
>> I just took another look at the `trusted-content-p' function on the
>> emacs-30 branch:
>>
>> (defun trusted-content-p ()
>> (and (not untrusted-content)
>> buffer-file-truename
>> ...))
>>
>> There is a check for `buffer-file-truename' which means that the issue
>> with non-file-backed buffers remains (Ielm or scratch). Probably (eq
>> trusted-content :all) should be checked first?
>
> Duh! I forgot that the same change toned down the warnings, so I
> didn't look at the right place when "testing". Thanks for the heads up,
> I just fixed it in `emacs-30`.
Thanks for pushing the fix.
>> At the same time one could consolidate the untrusted-content and
>> trusted-content variables as Eshel suggested?
>>
>> (defun trusted-content-p ()
>> (and (not untrusted-content) ;; only for backward compat (deprecated)
>> (not (eq trusted-content :untrusted)) ;; replaces untrusted-content
>> (or (eq trusted-content :all)
>> (and buffer-file-name
>> ...))))
>
> I could go along with that (not for `emacs-30`, tho).
> I'd prefer to get a bit more experience before deciding to do that, tho.
Okay, sure. No urgency about that one.
Just to give some examples where the new trust function could be useful,
assuming that the user really trusts their trusted files:
(setq org-confirm-babel-evaluate (lambda (&rest _)
(not (trusted-content-p)))
org-link-elisp-confirm-function (lambda (prompt)
(or (trusted-content-p)
(y-or-n-p prompt)))
org-link-shell-confirm-function org-link-elisp-confirm-function)
Maybe it is possible to configure `enable-local-variables' similarly.
Daniel
next prev parent reply other threads:[~2024-12-16 18:48 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-15 0:39 bug#74879: 30.0.92; trusted-content-p and trusted-files cannot be used for non-file buffers Daniel Mendler via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-15 10:16 ` Daniel Mendler via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-15 10:47 ` Eli Zaretskii
2024-12-15 10:56 ` Daniel Mendler via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-15 11:18 ` Eli Zaretskii
2024-12-15 11:37 ` Ihor Radchenko
2024-12-15 12:29 ` Eli Zaretskii
2024-12-15 12:50 ` Ihor Radchenko
2024-12-15 13:38 ` Eli Zaretskii
2024-12-15 13:46 ` Stefan Kangas
2024-12-16 13:32 ` Dmitry Gutov
2024-12-16 13:41 ` Daniel Mendler via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-17 1:42 ` Dmitry Gutov
2024-12-17 11:30 ` Daniel Mendler via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-15 14:03 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-15 14:30 ` Stefan Kangas
2024-12-15 22:24 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-15 14:55 ` Gerd Möllmann
2024-12-15 15:10 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-15 15:16 ` Gerd Möllmann
2024-12-15 18:38 ` Daniel Mendler via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-15 22:41 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-16 7:52 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-16 12:39 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-16 14:31 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-16 21:59 ` Stefan Kangas
2024-12-17 17:38 ` Ihor Radchenko
2024-12-18 0:04 ` Stefan Kangas
2024-12-16 9:29 ` Daniel Mendler via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-16 14:43 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-16 18:48 ` Daniel Mendler via Bug reports for GNU Emacs, the Swiss army knife of text editors [this message]
2024-12-16 9:43 ` Daniel Mendler via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-18 14:11 ` Dmitry Gutov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87jzbz79bn.fsf@daniel-mendler.de \
--to=bug-gnu-emacs@gnu.org \
--cc=74879@debbugs.gnu.org \
--cc=mail@daniel-mendler.de \
--cc=monnier@iro.umontreal.ca \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).