Let us answer to this one now... [...]
> > > +context only, or a vector [TeX-style-hook HOOK-FUN CONTEXT] where > > +HOOK-FUN is the hook function to be run, and CONTEXT is a symbol > > +defining in which context the hook function may be run. > > Why [TeX-style-hook HOOK-FUN CONTEXT] and not simply [HOOK-FUN > CONTEXT]? > I agree that just [HOOK-FUN CONTEXT] suffices for now. However adding the 'TeX-style-hook header --- where here `header' stands for `a symbol in aref 0' --- seemed to me like making it more future-proof. Vectors can be used for many other things, please note that for instance eieio objects are in fact vectors, with an 'object header: that inspired me. BTW, I later thought that is may be useful to have more elements in the vector to specify what caused the addition of the hook. For instance that would now be [TeX-style-hook HOOK-FUN CONTEXT ORIGINATOR-TAG ORIGINATOR-SIGNATURE] where ORIGINATOR-TAG would be some symbol, indicating how the hook was created, e.g. 'TeX-normal-mode would indicated that the hook was automatically created (not added programmatically) and ORIGINATOR-SIGNATURE would be some other information that is proper to the originator, like the source file full path over which TeX-normal-mode was run when ORIGINATOR-TAG = 'TeX-normal-mode That additional information would allow to replace *ONLY* the hook function in TeX-style-hook-list that is of concern --- rather than redefining the full style --- when you run `TeX-normal-mode' several times, or when you load several times your init file, or any such thing causing the addition of a hook. Also in the auto/myfile.el generated automatically there should be some sepecial comment with marking the originator so the full file is not overwritten in any case --- just imagine that I have myfile.tex and myfile.texi in the same directory... There could be some special ORIGINATOR-TAG that would cause overwritting the style full hook list, that might be for backward compatibility. > > +(defvar TeX-style-hook-context nil > > + "Context for running hooks locally to the considered file. > > +May take two values: > > + > > +* 'nil' for non-Texinfo files > > +* ':texinfo' for Texinfo files. > > I think, I'd like it more if there was an explicit :latex context > instead of just nil. Maybe, at some point we will also want to have a > :context context for ConTeXt. > I agree it would be better, but when I submitted that patch I was not sure how it would be greated by people. I feared some reaction like "Oh, you are going to cause many changes just for those few who write Texinfo documents". So I tried to make it as conservative as possible for non-Texinfo users. > I'm not sure about the calling conventions. Right now, the context in > your functions is optional and when omitted it means "everywhere > except for texinfo". I'm not sure if that's the best semantics in the > longer term. IMHO, it would be more logical with the meaning > > nil => in every context (like it's now) > :latex => only in the latex context > (:latex :texinfo) => only in the latex or texinfo contexts > I agree, but it would be better to have (or :latex :texinfo) with the 'or header just for futureproofness, ;-). > Maybe even a negation would be useful, e.g., > > (not :texinfo) => in any context except texinfo > I also agree that may be useful and therefore is needed. > Of course that would mean that most if not all styles need to be > changed to call > > (TeX-add-style-hook "thestyle" (lambda () ...) :latex) > > but that's just a one-time effort. > > Good news that such an effort is acceptable. [...] > Bye, > Tassilo Bye, Vincent. _______________________________________________ auctex mailing list [email protected] https://lists.gnu.org/mailman/listinfo/auctex
