unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#59384: 29.0.50; Visiting files in Emacs Git pops up "unsafe variable" prompt
@ 2022-11-19 12:59 Eli Zaretskii
  2022-11-19 18:49 ` Juri Linkov
  0 siblings, 1 reply; 5+ messages in thread
From: Eli Zaretskii @ 2022-11-19 12:59 UTC (permalink / raw)
  To: 59384

To reproduce, just visit any file in the Emacs Git repository from
"emacs -Q".  You will see a "*Local Variables*" buffer pop up with
this text:

  The local variables list in <REDACTED>
  or .dir-locals.el contains values that may not be safe (*).

  Do you want to apply it?  You can type
  y  -- to apply the local variables list.
  n  -- to ignore the local variables list.
  !  -- to apply the local variables list, and permanently mark these
	values (*) as safe (in the future, they will be set automatically.)
  i  -- to ignore the local variables list, and permanently mark these
	values (*) as ignored

      tab-width : 8
      sentence-end-double-space : t
      fill-column : 70
      emacs-lisp-docstring-fill-column : 65
      vc-git-annotate-switches : "-w"
      bug-reference-url-format : "https://debbugs.gnu.org/%s"
      diff-add-log-use-relative-names : t
    * vc-prepare-patches-separately : nil
      c-file-style : "GNU"
      c-noise-macro-names : ("INLINE" "NO_INLINE" "ATTRIBUTE_NO_SANITIZE_UNDEFINED" "UNINIT" "CALLBACK" "ALIGN_STACK")
      electric-quote-comment : nil
      electric-quote-string : nil
      indent-tabs-mode : t
      mode : bug-reference-prog

The problem here AFAIU is that vc-prepare-patches-separately and its
'safep' property is not known to Emacs until vc.el is loaded.

One way of fixing this would be to autoload the defcustom of this
variable, but AFAIR this is sometimes frowned upon?


In GNU Emacs 29.0.50 (build 2217, i686-pc-mingw32) of 2022-11-19 built
 on HOME-C4E4A596F7
Repository revision: 46ceb2ac4bceec9c5fb55d9d02a34e2c78136cf3
Repository branch: master
Windowing system distributor 'Microsoft Corp.', version 5.1.2600
System Description: Microsoft Windows XP Service Pack 3 (v5.1.0.2600)

Configured using:
 'configure -C --prefix=/d/usr --with-wide-int
 --enable-checking=yes,glyphs 'CFLAGS=-O0 -gdwarf-4 -g3''

Configured features:
ACL GIF GMP GNUTLS HARFBUZZ JPEG JSON LCMS2 LIBXML2 MODULES NOTIFY
W32NOTIFY PDUMPER PNG RSVG SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS WEBP XPM ZLIB

Important settings:
  value of $LANG: ENU
  locale-coding-system: cp1255

Major mode: C/*l

Minor modes in effect:
  bug-reference-prog-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  abbrev-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny dired
dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068
epg-config gnus-util text-property-search mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047
rfc2045 ietf-drums mm-util mail-prsvr mail-utils vc-git diff-mode
easy-mmode vc vc-dispatcher bug-reference byte-opt gv bytecomp
byte-compile time-date subr-x cc-mode cc-fonts cc-guess cc-menus cc-cmds
cc-styles cc-align cc-engine cc-vars cc-defs cl-loaddefs cl-lib rmc
iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook
vc-hooks lisp-float-type elisp-mode mwheel dos-w32 ls-lisp disp-table
term/w32-win w32-win w32-vars term/common-win tool-bar dnd fontset image
regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu
timer select scroll-bar mouse jit-lock font-lock syntax font-core
term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads w32notify w32 lcms2 multi-tty
make-network-process emacs)

Memory information:
((conses 16 86033 12227)
 (symbols 48 9270 0)
 (strings 16 27174 3318)
 (string-bytes 1 878557)
 (vectors 16 15151)
 (vector-slots 8 203313 15154)
 (floats 8 29 77)
 (intervals 40 3489 63)
 (buffers 888 11))





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#59384: 29.0.50; Visiting files in Emacs Git pops up "unsafe variable" prompt
  2022-11-19 12:59 bug#59384: 29.0.50; Visiting files in Emacs Git pops up "unsafe variable" prompt Eli Zaretskii
@ 2022-11-19 18:49 ` Juri Linkov
  2022-11-19 19:40   ` Eli Zaretskii
  0 siblings, 1 reply; 5+ messages in thread
From: Juri Linkov @ 2022-11-19 18:49 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 59384

>       vc-git-annotate-switches : "-w"
>       bug-reference-url-format : "https://debbugs.gnu.org/%s"
>       diff-add-log-use-relative-names : t
>     * vc-prepare-patches-separately : nil
>       c-file-style : "GNU"
>       c-noise-macro-names : ("INLINE" "NO_INLINE" "ATTRIBUTE_NO_SANITIZE_UNDEFINED" "UNINIT" "CALLBACK" "ALIGN_STACK")
>       electric-quote-comment : nil
>       electric-quote-string : nil
>       indent-tabs-mode : t
>       mode : bug-reference-prog
>
> The problem here AFAIU is that vc-prepare-patches-separately and its
> 'safep' property is not known to Emacs until vc.el is loaded.
>
> One way of fixing this would be to autoload the defcustom of this
> variable, but AFAIR this is sometimes frowned upon?

Is there a standard solution already worked out for existing
variables like `vc-git-annotate-switches'?





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#59384: 29.0.50; Visiting files in Emacs Git pops up "unsafe variable" prompt
  2022-11-19 18:49 ` Juri Linkov
@ 2022-11-19 19:40   ` Eli Zaretskii
  2022-11-19 22:38     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 5+ messages in thread
From: Eli Zaretskii @ 2022-11-19 19:40 UTC (permalink / raw)
  To: Juri Linkov, Stefan Monnier; +Cc: 59384

> From: Juri Linkov <juri@linkov.net>
> Cc: 59384@debbugs.gnu.org
> Date: Sat, 19 Nov 2022 20:49:50 +0200
> 
> >       vc-git-annotate-switches : "-w"
> >       bug-reference-url-format : "https://debbugs.gnu.org/%s"
> >       diff-add-log-use-relative-names : t
> >     * vc-prepare-patches-separately : nil
> >       c-file-style : "GNU"
> >       c-noise-macro-names : ("INLINE" "NO_INLINE" "ATTRIBUTE_NO_SANITIZE_UNDEFINED" "UNINIT" "CALLBACK" "ALIGN_STACK")
> >       electric-quote-comment : nil
> >       electric-quote-string : nil
> >       indent-tabs-mode : t
> >       mode : bug-reference-prog
> >
> > The problem here AFAIU is that vc-prepare-patches-separately and its
> > 'safep' property is not known to Emacs until vc.el is loaded.
> >
> > One way of fixing this would be to autoload the defcustom of this
> > variable, but AFAIR this is sometimes frowned upon?
> 
> Is there a standard solution already worked out for existing
> variables like `vc-git-annotate-switches'?

Maybe it is, but if so, I'm not aware of it.

Stefan, any advice?





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#59384: 29.0.50; Visiting files in Emacs Git pops up "unsafe variable" prompt
  2022-11-19 19:40   ` Eli Zaretskii
@ 2022-11-19 22:38     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-11-20 10:12       ` Eli Zaretskii
  0 siblings, 1 reply; 5+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-11-19 22:38 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 59384, Juri Linkov

>> From: Juri Linkov <juri@linkov.net>
>> Cc: 59384@debbugs.gnu.org
>> Date: Sat, 19 Nov 2022 20:49:50 +0200
>> 
>> >       vc-git-annotate-switches : "-w"
>> >       bug-reference-url-format : "https://debbugs.gnu.org/%s"
>> >       diff-add-log-use-relative-names : t
>> >     * vc-prepare-patches-separately : nil
>> >       c-file-style : "GNU"
>> >       c-noise-macro-names : ("INLINE" "NO_INLINE" "ATTRIBUTE_NO_SANITIZE_UNDEFINED" "UNINIT" "CALLBACK" "ALIGN_STACK")
>> >       electric-quote-comment : nil
>> >       electric-quote-string : nil
>> >       indent-tabs-mode : t
>> >       mode : bug-reference-prog
>> >
>> > The problem here AFAIU is that vc-prepare-patches-separately and its
>> > 'safep' property is not known to Emacs until vc.el is loaded.
>> >
>> > One way of fixing this would be to autoload the defcustom of this
>> > variable, but AFAIR this is sometimes frowned upon?
>> 
>> Is there a standard solution already worked out for existing
>> variables like `vc-git-annotate-switches'?
>
> Maybe it is, but if so, I'm not aware of it.
>
> Stefan, any advice?

AFAIK the standard solution is one of:

- try to arrange for the relevant package to be loaded before
  hack-local-variables does its thing.  That often works for
  major-mode dependent variables, where we try and load the
  major mode early enough.  For the above case I can't see a good way to
  use this approach.

- autoload the (put '<VAR> 'safe-local-variable ...)

Autoloading the `defcustom` is a *bad* idea.


        Stefan






^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#59384: 29.0.50; Visiting files in Emacs Git pops up "unsafe variable" prompt
  2022-11-19 22:38     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-11-20 10:12       ` Eli Zaretskii
  0 siblings, 0 replies; 5+ messages in thread
From: Eli Zaretskii @ 2022-11-20 10:12 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 59384-done, juri

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: Juri Linkov <juri@linkov.net>,  59384@debbugs.gnu.org
> Date: Sat, 19 Nov 2022 17:38:35 -0500
> 
> AFAIK the standard solution is one of:
> 
> - try to arrange for the relevant package to be loaded before
>   hack-local-variables does its thing.  That often works for
>   major-mode dependent variables, where we try and load the
>   major mode early enough.  For the above case I can't see a good way to
>   use this approach.
> 
> - autoload the (put '<VAR> 'safe-local-variable ...)

Thanks, I went with latter.





^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-11-20 10:12 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-19 12:59 bug#59384: 29.0.50; Visiting files in Emacs Git pops up "unsafe variable" prompt Eli Zaretskii
2022-11-19 18:49 ` Juri Linkov
2022-11-19 19:40   ` Eli Zaretskii
2022-11-19 22:38     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-11-20 10:12       ` Eli Zaretskii

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).