() Patrice Dumas <pertu...@gnu.org> () Wed, 15 Aug 2012 00:04:47 +0200
> We mustn't forget the all-important ‘@paragraphindent’ [froth > froth] !!! I have been waiting a long time for that to be > runtime-tweakable... That is to be found in the tree, as it affects all the Texinfo coming after the @-command. Some @-command affect the whole document, so would be available right at the beginning of the rendering. > This points to another subtlety of texinfo: IIUC the lifetime of a > variable or setting (or macro) is indefinite. That is, if you > ‘@set’ a variable in 1.3.5.7 (a subsubsection in the first > chapter), that value will hold for all subsequent nodes (even 2.1, > i.e., higher level), until EOF or another ‘@set’ changes it. This > means we need to record where such settings are done to know their > "span of influence". It is worse than that. User defined macros and @value expansion may happen out of a balanced tree. So these 2 constructs are expanded when constructing a proper tree in texi2any. It should be possible to keep a 'mark' where they appeared (it is on the TODO list), but they cannot be kept in the tree like the other commands are, since the tree would not be a tree anymore. If a generated sexpr tree is generated through makeinfo/texi2any, my idea is that the tree would have user defined macros and @value already expanded (macros definitions and @set would be in the tree, though). I'm reviving this thread to point out some EXPERIMENTAL code that hackers (familiar w/ Guile) might find useful for trying out ideas. Here's the announcement to the guile-sources list: http://lists.gnu.org/archive/html/guile-sources/2012-11/msg00007.html Unfortunately IXIN 1.0 does not propose any solution to the "scope dishonoring" nature of texinfo (c.f. "it's worse than that" above). Maybe there's a way to specify that info either in the ‘meta’ section (which already contains a good bit of "global" settings) or along w/ each entry in the ‘index’ section. Hmmm. Any thoughts? -- Thien-Thi Nguyen ..................................... GPG key: 4C807502 . NB: ttn at glug dot org is not me . . (and has not been since 2007 or so) . . ACCEPT NO SUBSTITUTES . ........... please send technical questions to mailing lists ...........
pgpHVb8pfvrlI.pgp
Description: PGP signature