bug#81638: 32.0.50; flyspell-prog-text-faces type and semantics

Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <[email protected]>
Newsgroups gmane.emacs.bugs
Message-ID <[email protected]>
> And if all of the above is not enough, and you still insist, I could
> agree to adding nil to the valid values (but then please suggest a
> suitable :tag),

BTW, there can be other good reasons to use a value not covered by the
current `:type`, e.g. it can make a lot of sense to put `sh-heredoc` or
`perl-heredoc` in there.  I'd rather not have such a closed set of
values in this `:type` (which, in turn, precludes the use of Custom's
`set` type).

> but allowing any symbol is IMO too dangerous, especially as we use
> cl-flet there.  Next we will hear from someone reporting
> a vulnerability in Emacs.

`cl-flet` just lets you define a lexically-local function.  It's no
more dangerous than (let ((f (lambda ...))) ...).
It doesn't touch any global definition.

You're probably confusing it with  `cl-letf` or the old cl.el's `flet`.

We could (should?) mark `flyspell-prog-text-faces` as a safe
file-local variable.

>> But I wonder if we should, in addition, generalize
>> `flyspell-generic-progmode-verify' so that members of
>> `flyspell-prog-text-faces' are allowed to be functions (test
>> predicates).
> If you want to do that, it is better (and easier) to override
> flyspell-generic-progmode-verify with your own function.

You mean set `flyspell-generic-check-word-predicate`?
Agreed.


=== Stefan
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.