Subject: bug#8160: `hack-local-variables-confirm' <-- a confirmed hack!

From: MON KEY <[email-masked]>
Date: Wed, 2 Mar 2011 17:37:19 -0500

`hack-local-variables-confirm' should prompt for an alternative
location to save the safe local variables it "hacks".

As it is now, inadvertently selecting/typing "!" gives
`customize-save-variable' opportunity to trash my otherwise _empty_
custom file.

I don't wish to store large lists of safe-local-variables in either my
`custom-file' or `user-init-file' and have chosen instead to store
these elsewhere esp. where these pertain Common Lisp related
prop-line variables.

There are myriad Common Lisp related variables (current and legacy)
which appear in the prop-line e.g. "Package: FOO;"

The safety of a package name (and Emacs poorly informed consideration
thereof) is simply _NONE_ of Emacs' business!

Moreover, `hack-local-variables-confirm' completely steals focus and
hides my cursor with disgusting abuse around these forms:

 (set (make-local-variable 'cursor-type) nil)

 (let ((cursor-in-echo-area t)
      (executing-kbd-macro executing-kbd-macro)
      {...}
      (condition-case nil
          (scroll-up)
      (error (goto-char (point-min))))

Worst of all is that if I "C-g' inside `hack-local-variables-confirm'
it doesn't even bother to clean up after itself with an
`unwind-protect' and instead leaves behind the "*Local Variables*"
buffer created with (get-buffer-create "*Local Variables*").

Presumably this is not an intended feature and is an oversight of
`hack-local-variables-confirm' because were I to switch into the
lingering "*Local Variables*" buffer to inspect the offending
variables I'm not even left with a visible cursor in the buffer!!!

--
/s_P\