GNU bug report logs -
#347
C mode asks twice about local variables
Previous Next
Reported by: Alan Mackenzie <acm <at> muc.de>
Date: Sun, 1 Jun 2008 17:10:04 UTC
Severity: normal
Merged with 343
Done: Chong Yidong <cyd <at> stupidchicken.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> Yes. This needs fixing, somehow.
> The way this happens is that in a C file's local variables list, there
> are two "special" variables, e.g. `c-file-style'.
> When
> c-basic-offset: 11
> c-file-style: "k&r"
> occurs in the local variable list, this triggers a hook function which
> calls (c-set-style "k&r"). The hook is hack-local-variables-hook. The
> problem is that this c-set-style call will overwrite the explicit value
> for c-basic-offset. The explicit value MUST take precedence here.
Can you try and call `c-file-style' with some extra "don't override"
(when called from that hack-local-variables-hook) argument so that any
variable that already has a buffer-local binding will not be overridden?
> My solution was to call hack-local-variables a second time from within
> the hook function, first having deleted any occurrences of `mode',
> `c-file-style' etc. from the Local Variables. This kludge worked
> reasonably well until the handling of safe/dangerous-local-variables was
> changed for Emacs 22.
How 'bout wrapping the call inside (let ((enable-local-variables :safe))?
> If Emacs were not to rebind the do-you-want-to-apply-it variable inside
> hack-local-variables, that would allow the kludge to work.
I don't know what you're referring to here.
Stefan
This bug report was last modified 15 years and 114 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.