> A while back, I updated semantic-grammer.el to auto-run the setup
> function in all modes of the correct type. It uses %languagemode to
> figure out what buffers to look in. %languagemode doesn't seem to be
> used in wisent though. I'm not sure if it should be or not. Perhaps
> no cases call for it yet.
%languagemode is not used by the parser itself, but is used by
grammar tools, when the grammar provides it (wisent-java-tags.wy
> Anyway, what got me more was that the setup function calls
> `semantic-install-function-overrides' without specifying `transient'.
> The effect is that I cannot get those buffers to update themselves to
> a new language because it throws an error. Is there some trick I am
> missing? I had to hack semantic-fw to turn off this feature while
> I'm not sure what the right approach there is. It is nice to
> protect some key overrides from accidental assignment later. On the
> other hand, causing consternation during development is a bit
> annoying. Perhaps it can quietly ignore you iff you are setting it
> to a value it already has.
I think that is a good idea. Does the following patch works for you?
RCS file: /cvsroot/cedet/cedet/semantic/semantic-fw.el,v
retrieving revision 1.16
diff -c -r1.16 semantic-fw.el
*** semantic-fw.el 15 Mar 2003 20:06:46 -0000 1.16
--- semantic-fw.el 26 Mar 2003 09:03:47 -0000
*** 227,232 ****
--- 227,235 ----
;; Binding already exists
;; Check rebind consistency
+ ((equal (symbol-value variable) value)
+ ;; Just ignore rebind with the same value.
((get variable 'constant)
(error "Can't change the value of constant `%s'"