compile.el and kill-all-local-variables

Stephen J. Turnbull stephen at xemacs.org
Tue Jul 24 11:36:36 EDT 2007


Marcus Harnisch writes:

 >  > You can make the buffer-local survive `kill-all-local-variables'
 >  > by making it permanent, thus:
 >  > (put 'compilation-error-regexp-systems-list 'permanent-local t)
 > 
 > I will try that as workaround, but don't regard that as a proper
 > solution to the problem.

Well, if you don't consider that a proper solution, then there isn't
one at present.  A "permanent-local" is intended be local to the
buffer.  However, non-permanent locals are often used as an
approximation to "mode local" variables, and thus get killed by
`kill-all-local-variables' when modes are switched.

 > Note that my request for a local variable is also not a perfect
 > solution, but by minimizing the list of active regexps it can help to
 > reduce the risk of regexp-shadowing.

I've thought about adding a mode locale to the specifier
implementation.  That might be the best way to handle this.  I'm not
real happy with the idea of mode-local variables; GNU already has
frame-locals as well as buffer-locals, and this is altogether too
magic and uncontrollable for my taste.  Specifiers are more explicitly
controllable.



More information about the XEmacs-Beta mailing list