Mercurial > cpython-lru_cache-weakref
annotate Doc/partparse.py @ 3216:d00a79ebb027 legacy-trunk
Added missing imgpbm and imgsgi modules
| author | Jack Jansen <jack.jansen@cwi.nl> |
|---|---|
| date | Thu, 12 Oct 1995 10:23:27 +0000 |
| parents | eeac170f5f2f |
| children | e7890336f107 |
| rev | line source |
|---|---|
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1 # |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2 # partparse.py: parse a by-Guido-written-and-by-Jan-Hein-edited LaTeX file, |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3 # and generate texinfo source. |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
4 # |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
5 # This is *not* a good example of good programming practices. In fact, this |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
6 # file could use a complete rewrite, in order to become faster, more |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
7 # easy extensible and maintainable. |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
8 # |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
9 # However, I added some comments on a few places for the pityful person who |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
10 # would ever need to take a look into this file. |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
11 # |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
12 # Have I been clear enough?? |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
13 # |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
14 # -jh |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
15 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
16 |
|
1401
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
17 import sys, string, regex, getopt, os |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
18 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
19 # Different parse modes for phase 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
20 MODE_REGULAR = 0 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
21 MODE_VERBATIM = 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
22 MODE_CS_SCAN = 2 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
23 MODE_COMMENT = 3 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
24 MODE_MATH = 4 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
25 MODE_DMATH = 5 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
26 MODE_GOBBLEWHITE = 6 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
27 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
28 the_modes = MODE_REGULAR, MODE_VERBATIM, MODE_CS_SCAN, MODE_COMMENT, \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
29 MODE_MATH, MODE_DMATH, MODE_GOBBLEWHITE |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
30 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
31 # Show the neighbourhood of the scanned buffer |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
32 def epsilon(buf, where): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
33 wmt, wpt = where - 10, where + 10 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
34 if wmt < 0: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
35 wmt = 0 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
36 if wpt > len(buf): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
37 wpt = len(buf) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
38 return ' Context ' + `buf[wmt:where]` + '.' + `buf[where:wpt]` + '.' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
39 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
40 # Should return the line number. never worked |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
41 def lin(): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
42 global lineno |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
43 return ' Line ' + `lineno` + '.' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
44 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
45 # Displays the recursion level. |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
46 def lv(lvl): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
47 return ' Level ' + `lvl` + '.' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
48 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
49 # Combine the three previous functions. Used often. |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
50 def lle(lvl, buf, where): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
51 return lv(lvl) + lin() + epsilon(buf, where) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
52 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
53 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
54 # This class is only needed for _symbolic_ representation of the parse mode. |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
55 class Mode: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
56 def init(self, arg): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
57 if arg not in the_modes: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
58 raise ValueError, 'mode not in the_modes' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
59 self.mode = arg |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
60 return self |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
61 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
62 def __cmp__(self, other): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
63 if type(self) != type(other): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
64 other = mode(other) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
65 return cmp(self.mode, other.mode) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
66 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
67 def __repr__(self): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
68 if self.mode == MODE_REGULAR: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
69 return 'MODE_REGULAR' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
70 elif self.mode == MODE_VERBATIM: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
71 return 'MODE_VERBATIM' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
72 elif self.mode == MODE_CS_SCAN: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
73 return 'MODE_CS_SCAN' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
74 elif self.mode == MODE_COMMENT: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
75 return 'MODE_COMMENT' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
76 elif self.mode == MODE_MATH: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
77 return 'MODE_MATH' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
78 elif self.mode == MODE_DMATH: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
79 return 'MODE_DMATH' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
80 elif self.mode == MODE_GOBBLEWHITE: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
81 return 'MODE_GOBBLEWHITE' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
82 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
83 raise ValueError, 'mode not in the_modes' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
84 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
85 # just a wrapper around a class initialisation |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
86 def mode(arg): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
87 return Mode().init(arg) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
88 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
89 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
90 # After phase 1, the text consists of chunks, with a certain type |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
91 # this type will be assigned to the chtype member of the chunk |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
92 # the where-field contains the file position where this is found |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
93 # and the data field contains (1): a tuple describing start- end end |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
94 # positions of the substring (can be used as slice for the buf-variable), |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
95 # (2) just a string, mostly generated by the changeit routine, |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
96 # or (3) a list, describing a (recursive) subgroup of chunks |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
97 PLAIN = 0 # ASSUME PLAINTEXT, data = the text |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
98 GROUP = 1 # GROUP ({}), data = [chunk, chunk,..] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
99 CSNAME = 2 # CONTROL SEQ TOKEN, data = the command |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
100 COMMENT = 3 # data is the actual comment |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
101 DMATH = 4 # DISPLAYMATH, data = [chunk, chunk,..] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
102 MATH = 5 # MATH, see DISPLAYMATH |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
103 OTHER = 6 # CHAR WITH CATCODE OTHER, data = char |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
104 ACTIVE = 7 # ACTIVE CHAR |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
105 GOBBLEDWHITE = 8 # Gobbled LWSP, after CSNAME |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
106 ENDLINE = 9 # END-OF-LINE, data = '\n' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
107 DENDLINE = 10 # DOUBLE EOL, data='\n', indicates \par |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
108 ENV = 11 # LaTeX-environment |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
109 # data =(envname,[ch,ch,ch,.]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
110 CSLINE = 12 # for texi: next chunk will be one group |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
111 # of args. Will be set all on 1 line |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
112 IGNORE = 13 # IGNORE this data |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
113 ENDENV = 14 # TEMP END OF GROUP INDICATOR |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
114 IF = 15 # IF-directive |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
115 # data = (flag,negate,[ch, ch, ch,...]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
116 the_types = PLAIN, GROUP, CSNAME, COMMENT, DMATH, MATH, OTHER, ACTIVE, \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
117 GOBBLEDWHITE, ENDLINE, DENDLINE, ENV, CSLINE, IGNORE, ENDENV, IF |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
118 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
119 # class, just to display symbolic name |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
120 class ChunkType: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
121 def init(self, chunk_type): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
122 if chunk_type not in the_types: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
123 raise 'ValueError', 'chunk_type not in the_types' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
124 self.chunk_type = chunk_type |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
125 return self |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
126 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
127 def __cmp__(self, other): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
128 if type(self) != type(other): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
129 other = chunk_type(other) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
130 return cmp(self.chunk_type, other.chunk_type) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
131 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
132 def __repr__(self): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
133 if self.chunk_type == PLAIN: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
134 return 'PLAIN' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
135 elif self.chunk_type == GROUP: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
136 return 'GROUP' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
137 elif self.chunk_type == CSNAME: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
138 return 'CSNAME' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
139 elif self.chunk_type == COMMENT: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
140 return 'COMMENT' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
141 elif self.chunk_type == DMATH: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
142 return 'DMATH' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
143 elif self.chunk_type == MATH: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
144 return 'MATH' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
145 elif self.chunk_type == OTHER: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
146 return 'OTHER' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
147 elif self.chunk_type == ACTIVE: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
148 return 'ACTIVE' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
149 elif self.chunk_type == GOBBLEDWHITE: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
150 return 'GOBBLEDWHITE' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
151 elif self.chunk_type == DENDLINE: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
152 return 'DENDLINE' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
153 elif self.chunk_type == ENDLINE: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
154 return 'ENDLINE' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
155 elif self.chunk_type == ENV: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
156 return 'ENV' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
157 elif self.chunk_type == CSLINE: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
158 return 'CSLINE' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
159 elif self.chunk_type == IGNORE: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
160 return 'IGNORE' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
161 elif self.chunk_type == ENDENV: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
162 return 'ENDENV' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
163 elif self.chunk_type == IF: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
164 return 'IF' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
165 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
166 raise ValueError, 'chunk_type not in the_types' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
167 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
168 # ...and the wrapper |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
169 def chunk_type(type): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
170 return ChunkType().init(type) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
171 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
172 # store a type object of the ChunkType-class-instance... |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
173 chunk_type_type = type(chunk_type(0)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
174 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
175 # this class contains a part of the parsed buffer |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
176 class Chunk: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
177 def init(self, chtype, where, data): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
178 if type(chtype) != chunk_type_type: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
179 chtype = chunk_type(chtype) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
180 self.chtype = chtype |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
181 if type(where) != type(0): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
182 raise TypeError, '\'where\' is not a number' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
183 self.where = where |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
184 self.data = data |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
185 ##print 'CHUNK', self |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
186 return self |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
187 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
188 def __repr__(self): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
189 return 'chunk' + `self.chtype, self.where, self.data` |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
190 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
191 # and the wrapper |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
192 def chunk(chtype, where, data): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
193 return Chunk().init(chtype, where, data) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
194 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
195 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
196 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
197 error = 'partparse.error' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
198 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
199 # |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
200 # TeX's catcodes... |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
201 # |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
202 CC_ESCAPE = 0 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
203 CC_LBRACE = 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
204 CC_RBRACE = 2 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
205 CC_MATHSHIFT = 3 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
206 CC_ALIGNMENT = 4 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
207 CC_ENDLINE = 5 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
208 CC_PARAMETER = 6 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
209 CC_SUPERSCRIPT = 7 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
210 CC_SUBSCRIPT = 8 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
211 CC_IGNORE = 9 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
212 CC_WHITE = 10 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
213 CC_LETTER = 11 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
214 CC_OTHER = 12 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
215 CC_ACTIVE = 13 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
216 CC_COMMENT = 14 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
217 CC_INVALID = 15 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
218 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
219 # and the names |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
220 cc_names = [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
221 'CC_ESCAPE', \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
222 'CC_LBRACE', \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
223 'CC_RBRACE', \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
224 'CC_MATHSHIFT', \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
225 'CC_ALIGNMENT', \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
226 'CC_ENDLINE', \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
227 'CC_PARAMETER', \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
228 'CC_SUPERSCRIPT', \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
229 'CC_SUBSCRIPT', \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
230 'CC_IGNORE', \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
231 'CC_WHITE', \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
232 'CC_LETTER', \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
233 'CC_OTHER', \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
234 'CC_ACTIVE', \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
235 'CC_COMMENT', \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
236 'CC_INVALID', \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
237 ] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
238 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
239 # Show a list of catcode-name-symbols |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
240 def pcl(codelist): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
241 result = '' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
242 for i in codelist: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
243 result = result + cc_names[i] + ', ' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
244 return '[' + result[:-2] + ']' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
245 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
246 # the name of the catcode (ACTIVE, OTHER, etc.) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
247 def pc(code): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
248 return cc_names[code] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
249 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
250 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
251 # Which catcodes make the parser stop parsing regular plaintext |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
252 regular_stopcodes = [CC_ESCAPE, CC_LBRACE, CC_RBRACE, CC_MATHSHIFT, \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
253 CC_ALIGNMENT, CC_PARAMETER, CC_SUPERSCRIPT, CC_SUBSCRIPT, \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
254 CC_IGNORE, CC_ACTIVE, CC_COMMENT, CC_INVALID, CC_ENDLINE] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
255 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
256 # same for scanning a control sequence name |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
257 csname_scancodes = [CC_LETTER] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
258 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
259 # same for gobbling LWSP |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
260 white_scancodes = [CC_WHITE] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
261 ##white_scancodes = [CC_WHITE, CC_ENDLINE] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
262 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
263 # make a list of all catcode id's, except for catcode ``other'' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
264 all_but_other_codes = range(16) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
265 del all_but_other_codes[CC_OTHER] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
266 ##print all_but_other_codes |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
267 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
268 # when does a comment end |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
269 comment_stopcodes = [CC_ENDLINE] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
270 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
271 # gather all characters together, specified by a list of catcodes |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
272 def code2string(cc, codelist): |
|
1401
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
273 ##print 'code2string: codelist = ' + pcl(codelist), |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
274 result = '' |
|
1401
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
275 for category in codelist: |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
276 if cc[category]: |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
277 result = result + cc[category] |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
278 ##print 'result = ' + `result` |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
279 return result |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
280 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
281 # automatically generate all characters of catcode other, being the |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
282 # complement set in the ASCII range (128 characters) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
283 def make_other_codes(cc): |
|
1401
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
284 otherchars = range(256) # could be made 256, no problem |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
285 for category in all_but_other_codes: |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
286 if cc[category]: |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
287 for c in cc[category]: |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
288 otherchars[ord(c)] = None |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
289 result = '' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
290 for i in otherchars: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
291 if i != None: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
292 result = result + chr(i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
293 return result |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
294 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
295 # catcode dump (which characters have which catcodes). |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
296 def dump_cc(name, cc): |
|
1401
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
297 ##print '\t' + name |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
298 ##print '=' * (8+len(name)) |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
299 if len(cc) != 16: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
300 raise TypeError, 'cc not good cat class' |
|
1401
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
301 ## for i in range(16): |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
302 ## print pc(i) + '\t' + `cc[i]` |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
303 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
304 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
305 # In the beginning,.... |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
306 epoch_cc = [None] * 16 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
307 ##dump_cc('epoch_cc', epoch_cc) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
308 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
309 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
310 # INITEX |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
311 initex_cc = epoch_cc[:] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
312 initex_cc[CC_ESCAPE] = '\\' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
313 initex_cc[CC_ENDLINE], initex_cc[CC_IGNORE], initex_cc[CC_WHITE] = \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
314 '\n', '\0', ' ' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
315 initex_cc[CC_LETTER] = string.uppercase + string.lowercase |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
316 initex_cc[CC_COMMENT], initex_cc[CC_INVALID] = '%', '\x7F' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
317 #initex_cc[CC_OTHER] = make_other_codes(initex_cc) I don't need them, anyway |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
318 ##dump_cc('initex_cc', initex_cc) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
319 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
320 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
321 # LPLAIN: LaTeX catcode setting (see lplain.tex) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
322 lplain_cc = initex_cc[:] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
323 lplain_cc[CC_LBRACE], lplain_cc[CC_RBRACE] = '{', '}' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
324 lplain_cc[CC_MATHSHIFT] = '$' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
325 lplain_cc[CC_ALIGNMENT] = '&' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
326 lplain_cc[CC_PARAMETER] = '#' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
327 lplain_cc[CC_SUPERSCRIPT] = '^\x0B' # '^' and C-k |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
328 lplain_cc[CC_SUBSCRIPT] = '_\x01' # '_' and C-a |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
329 lplain_cc[CC_WHITE] = lplain_cc[CC_WHITE] + '\t' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
330 lplain_cc[CC_ACTIVE] = '~\x0C' # '~' and C-l |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
331 lplain_cc[CC_OTHER] = make_other_codes(lplain_cc) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
332 ##dump_cc('lplain_cc', lplain_cc) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
333 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
334 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
335 # Guido's LaTeX environment catcoded '_' as ``other'' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
336 # my own purpose catlist |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
337 my_cc = lplain_cc[:] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
338 my_cc[CC_SUBSCRIPT] = my_cc[CC_SUBSCRIPT][1:] # remove '_' here |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
339 my_cc[CC_OTHER] = my_cc[CC_OTHER] + '_' # add it to OTHER list |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
340 dump_cc('my_cc', my_cc) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
341 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
342 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
343 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
344 # needed for un_re, my equivalent for regexp-quote in Emacs |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
345 re_meaning = '\\[]^$' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
346 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
347 def un_re(str): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
348 result = '' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
349 for i in str: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
350 if i in re_meaning: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
351 result = result + '\\' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
352 result = result + i |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
353 return result |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
354 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
355 # NOTE the negate ('^') operator in *some* of the regexps below |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
356 def make_rc_regular(cc): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
357 # problems here if '[]' are included!! |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
358 return regex.compile('[' + code2string(cc, regular_stopcodes) + ']') |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
359 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
360 def make_rc_cs_scan(cc): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
361 return regex.compile('[^' + code2string(cc, csname_scancodes) + ']') |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
362 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
363 def make_rc_comment(cc): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
364 return regex.compile('[' + code2string(cc, comment_stopcodes) + ']') |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
365 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
366 def make_rc_endwhite(cc): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
367 return regex.compile('[^' + code2string(cc, white_scancodes) + ']') |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
368 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
369 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
370 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
371 # regular: normal mode: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
372 rc_regular = make_rc_regular(my_cc) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
373 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
374 # scan: scan a command sequence e.g. `newlength' or `mbox' or `;', `,' or `$' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
375 rc_cs_scan = make_rc_cs_scan(my_cc) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
376 rc_comment = make_rc_comment(my_cc) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
377 rc_endwhite = make_rc_endwhite(my_cc) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
378 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
379 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
380 # parseit (BUF, PARSEMODE=mode(MODE_REGULAR), START=0, RECURSION-LEVEL=0) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
381 # RECURSION-LEVEL will is incremented on entry. |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
382 # result contains the list of chunks returned |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
383 # together with this list, the buffer position is returned |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
384 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
385 # RECURSION-LEVEL will be set to zero *again*, when recursively a |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
386 # {,D}MATH-mode scan has been enetered. |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
387 # This has been done in order to better check for environment-mismatches |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
388 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
389 def parseit(buf, *rest): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
390 global lineno |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
391 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
392 if len(rest) == 3: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
393 parsemode, start, lvl = rest |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
394 elif len(rest) == 2: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
395 parsemode, start, lvl = rest + (0, ) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
396 elif len(rest) == 1: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
397 parsemode, start, lvl = rest + (0, 0) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
398 elif len(rest) == 0: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
399 parsemode, start, lvl = mode(MODE_REGULAR), 0, 0 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
400 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
401 raise TypeError, 'usage: parseit(buf[, parsemode[, start[, level]]])' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
402 result = [] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
403 end = len(buf) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
404 if lvl == 0 and parsemode == mode(MODE_REGULAR): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
405 lineno = 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
406 lvl = lvl + 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
407 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
408 ##print 'parseit(' + epsilon(buf, start) + ', ' + `parsemode` + ', ' + `start` + ', ' + `lvl` + ')' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
409 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
410 # |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
411 # some of the more regular modes... |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
412 # |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
413 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
414 if parsemode in (mode(MODE_REGULAR), mode(MODE_DMATH), mode(MODE_MATH)): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
415 cstate = [] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
416 newpos = start |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
417 curpmode = parsemode |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
418 while 1: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
419 where = newpos |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
420 #print '\tnew round: ' + epsilon(buf, where) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
421 if where == end: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
422 if lvl > 1 or curpmode != mode(MODE_REGULAR): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
423 # not the way we started... |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
424 raise EOFError, 'premature end of file.' + lle(lvl, buf, where) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
425 # the real ending of lvl-1 parse |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
426 return end, result |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
427 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
428 pos = rc_regular.search(buf, where) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
429 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
430 if pos < 0: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
431 pos = end |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
432 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
433 if pos != where: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
434 newpos, c = pos, chunk(PLAIN, where, (where, pos)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
435 result.append(c) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
436 continue |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
437 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
438 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
439 # |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
440 # ok, pos == where and pos != end |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
441 # |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
442 foundchar = buf[where] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
443 if foundchar in my_cc[CC_LBRACE]: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
444 # recursive subgroup parse... |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
445 newpos, data = parseit(buf, curpmode, where+1, lvl) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
446 result.append(chunk(GROUP, where, data)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
447 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
448 elif foundchar in my_cc[CC_RBRACE]: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
449 if lvl <= 1: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
450 raise error, 'ENDGROUP while in base level.' + lle(lvl, buf, where) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
451 if lvl == 1 and mode != mode(MODE_REGULAR): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
452 raise error, 'endgroup while in math mode. +lin() + epsilon(buf, where)' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
453 return where + 1, result |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
454 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
455 elif foundchar in my_cc[CC_ESCAPE]: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
456 # |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
457 # call the routine that actually deals with |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
458 # this problem. If do_ret is None, than |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
459 # return the value of do_ret |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
460 # |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
461 # Note that handle_cs might call this routine |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
462 # recursively again... |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
463 # |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
464 do_ret, newpos = handlecs(buf, where, \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
465 curpmode, lvl, result, end) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
466 if do_ret != None: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
467 return do_ret |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
468 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
469 elif foundchar in my_cc[CC_COMMENT]: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
470 newpos, data = parseit(buf, \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
471 mode(MODE_COMMENT), where+1, lvl) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
472 result.append(chunk(COMMENT, where, data)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
473 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
474 elif foundchar in my_cc[CC_MATHSHIFT]: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
475 # note that recursive calls to math-mode |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
476 # scanning are called with recursion-level 0 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
477 # again, in order to check for bad mathend |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
478 # |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
479 if where + 1 != end and \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
480 buf[where + 1] in \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
481 my_cc[CC_MATHSHIFT]: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
482 # |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
483 # double mathshift, e.g. '$$' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
484 # |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
485 if curpmode == mode(MODE_REGULAR): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
486 newpos, data = parseit(buf, \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
487 mode(MODE_DMATH), \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
488 where+2, 0) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
489 result.append(chunk(DMATH, \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
490 where, data)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
491 elif curpmode == mode(MODE_MATH): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
492 raise error, 'wrong math delimiiter' + lin() + epsilon(buf, where) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
493 elif lvl != 1: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
494 raise error, 'bad mathend.' + \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
495 lle(lvl, buf, where) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
496 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
497 return where + 2, result |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
498 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
499 # |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
500 # single math shift, e.g. '$' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
501 # |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
502 if curpmode == mode(MODE_REGULAR): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
503 newpos, data = parseit(buf, \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
504 mode(MODE_MATH), \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
505 where+1, 0) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
506 result.append(chunk(MATH, \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
507 where, data)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
508 elif curpmode == mode(MODE_DMATH): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
509 raise error, 'wrong math delimiiter' + lin() + epsilon(buf, where) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
510 elif lvl != 1: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
511 raise error, 'bad mathend.' + \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
512 lv(lvl, buf, where) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
513 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
514 return where + 1, result |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
515 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
516 elif foundchar in my_cc[CC_IGNORE]: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
517 print 'warning: ignored char', `foundchar` |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
518 newpos = where + 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
519 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
520 elif foundchar in my_cc[CC_ACTIVE]: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
521 result.append(chunk(ACTIVE, where, foundchar)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
522 newpos = where + 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
523 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
524 elif foundchar in my_cc[CC_INVALID]: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
525 raise error, 'invalid char ' + `foundchar` |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
526 newpos = where + 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
527 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
528 elif foundchar in my_cc[CC_ENDLINE]: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
529 # |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
530 # after an end of line, eat the rest of |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
531 # whitespace on the beginning of the next line |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
532 # this is what LaTeX more or less does |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
533 # |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
534 # also, try to indicate double newlines (\par) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
535 # |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
536 lineno = lineno + 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
537 savedwhere = where |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
538 newpos, dummy = parseit(buf, mode(MODE_GOBBLEWHITE), where + 1, lvl) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
539 if newpos != end and buf[newpos] in \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
540 my_cc[CC_ENDLINE]: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
541 result.append(chunk(DENDLINE, \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
542 savedwhere, foundchar)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
543 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
544 result.append(chunk(ENDLINE, \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
545 savedwhere, foundchar)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
546 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
547 result.append(chunk(OTHER, where, foundchar)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
548 newpos = where + 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
549 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
550 elif parsemode == mode(MODE_CS_SCAN): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
551 # |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
552 # scan for a control sequence token. `\ape', `\nut' or `\%' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
553 # |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
554 if start == end: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
555 raise EOFError, 'can\'t find end of csname' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
556 pos = rc_cs_scan.search(buf, start) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
557 if pos < 0: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
558 pos = end |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
559 if pos == start: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
560 # first non-letter right where we started the search |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
561 # ---> the control sequence name consists of one single |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
562 # character. Also: don't eat white space... |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
563 if buf[pos] in my_cc[CC_ENDLINE]: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
564 lineno = lineno + 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
565 pos = pos + 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
566 return pos, (start, pos) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
567 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
568 spos = pos |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
569 if buf[pos] == '\n': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
570 lineno = lineno + 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
571 spos = pos + 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
572 pos2, dummy = parseit(buf, \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
573 mode(MODE_GOBBLEWHITE), spos, lvl) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
574 return pos2, (start, pos) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
575 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
576 elif parsemode == mode(MODE_GOBBLEWHITE): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
577 if start == end: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
578 return start, '' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
579 pos = rc_endwhite.search(buf, start) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
580 if pos < 0: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
581 pos = start |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
582 return pos, (start, pos) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
583 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
584 elif parsemode == mode(MODE_COMMENT): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
585 pos = rc_comment.search(buf, start) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
586 lineno = lineno + 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
587 if pos < 0: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
588 print 'no newline perhaps?' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
589 raise EOFError, 'can\'t find end of comment' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
590 pos = pos + 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
591 pos2, dummy = parseit(buf, mode(MODE_GOBBLEWHITE), pos, lvl) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
592 return pos2, (start, pos) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
593 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
594 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
595 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
596 raise error, 'Unknown mode (' + `parsemode` + ')' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
597 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
598 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
599 #moreresult = cswitch(buf[x1:x2], buf, newpos, parsemode, lvl) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
600 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
601 #boxcommands = 'mbox', 'fbox' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
602 #defcommands = 'def', 'newcommand' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
603 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
604 endverbstr = '\\end{verbatim}' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
605 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
606 re_endverb = regex.compile(un_re(endverbstr)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
607 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
608 # |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
609 # handlecs: helper function for parseit, for the special thing we might |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
610 # wanna do after certain command control sequences |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
611 # returns: None or return_data, newpos |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
612 # |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
613 # in the latter case, the calling function is instructed to immediately |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
614 # return with the data in return_data |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
615 # |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
616 def handlecs(buf, where, curpmode, lvl, result, end): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
617 global lineno |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
618 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
619 # get the control sequence name... |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
620 newpos, data = parseit(buf, mode(MODE_CS_SCAN), where+1, lvl) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
621 saveddata = data |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
622 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
623 if s(buf, data) in ('begin', 'end'): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
624 # skip the expected '{' and get the LaTeX-envname '}' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
625 newpos, data = parseit(buf, mode(MODE_REGULAR), newpos+1, lvl) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
626 if len(data) != 1: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
627 raise error, 'expected 1 chunk of data.' + \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
628 lle(lvl, buf, where) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
629 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
630 # yucky, we've got an environment |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
631 envname = s(buf, data[0].data) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
632 ##print 'FOUND ' + s(buf, saveddata) + '. Name ' + `envname` + '.' + lv(lvl) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
633 if s(buf, saveddata) == 'begin' and envname == 'verbatim': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
634 # verbatim deserves special treatment |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
635 pos = re_endverb.search(buf, newpos) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
636 if pos < 0: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
637 raise error, `endverbstr` + ' not found.' + lle(lvl, buf, where) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
638 result.append(chunk(ENV, where, (envname, [chunk(PLAIN, newpos, (newpos, pos))]))) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
639 newpos = pos + len(endverbstr) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
640 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
641 elif s(buf, saveddata) == 'begin': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
642 # start parsing recursively... If that parse returns |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
643 # from an '\end{...}', then should the last item of |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
644 # the returned data be a string containing the ended |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
645 # environment |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
646 newpos, data = parseit(buf, curpmode, newpos, lvl) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
647 if not data or type(data[-1]) != type(''): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
648 raise error, 'missing \'end\'' + lle(lvl, buf, where) + epsilon(buf, newpos) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
649 retenv = data[-1] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
650 del data[-1] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
651 if retenv != envname: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
652 #[`retenv`, `envname`] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
653 raise error, 'environments do not match.' + \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
654 lle(lvl, buf, where) + \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
655 epsilon(buf, newpos) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
656 result.append(chunk(ENV, where, (retenv, data))) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
657 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
658 # 'end'... append the environment name, as just |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
659 # pointed out, and order parsit to return... |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
660 result.append(envname) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
661 ##print 'POINT of return: ' + epsilon(buf, newpos) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
662 # the tuple will be returned by parseit |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
663 return (newpos, result), newpos |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
664 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
665 # end of \begin ... \end handling |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
666 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
667 elif s(buf, data)[0:2] == 'if': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
668 # another scary monster: the 'if' directive |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
669 flag = s(buf, data)[2:] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
670 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
671 # recursively call parseit, just like environment above.. |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
672 # the last item of data should contain the if-termination |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
673 # e.g., 'else' of 'fi' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
674 newpos, data = parseit(buf, curpmode, newpos, lvl) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
675 if not data or data[-1] not in ('else', 'fi'): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
676 raise error, 'wrong if... termination' + \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
677 lle(lvl, buf, where) + epsilon(buf, newpos) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
678 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
679 ifterm = data[-1] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
680 del data[-1] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
681 # 0 means dont_negate flag |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
682 result.append(chunk(IF, where, (flag, 0, data))) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
683 if ifterm == 'else': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
684 # do the whole thing again, there is only one way |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
685 # to end this one, by 'fi' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
686 newpos, data = parseit(buf, curpmode, newpos, lvl) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
687 if not data or data[-1] not in ('fi', ): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
688 raise error, 'wrong if...else... termination' \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
689 + lle(lvl, buf, where) \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
690 + epsilon(buf, newpos) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
691 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
692 ifterm = data[-1] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
693 del data[-1] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
694 result.append(chunk(IF, where, (flag, 1, data))) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
695 #done implicitely: return None, newpos |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
696 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
697 elif s(buf, data) in ('else', 'fi'): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
698 result.append(s(buf, data)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
699 # order calling party to return tuple |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
700 return (newpos, result), newpos |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
701 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
702 # end of \if, \else, ... \fi handling |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
703 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
704 elif s(buf, saveddata) == 'verb': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
705 x2 = saveddata[1] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
706 result.append(chunk(CSNAME, where, data)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
707 if x2 == end: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
708 raise error, 'premature end of command.' + lle(lvl, buf, where) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
709 delimchar = buf[x2] |
|
1401
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
710 ##print 'VERB: delimchar ' + `delimchar` |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
711 pos = regex.compile(un_re(delimchar)).search(buf, x2 + 1) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
712 if pos < 0: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
713 raise error, 'end of \'verb\' argument (' + \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
714 `delimchar` + ') not found.' + \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
715 lle(lvl, buf, where) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
716 result.append(chunk(GROUP, x2, [chunk(PLAIN, x2+1, (x2+1, pos))])) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
717 newpos = pos + 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
718 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
719 result.append(chunk(CSNAME, where, data)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
720 return None, newpos |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
721 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
722 # this is just a function to get the string value if the possible data-tuple |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
723 def s(buf, data): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
724 if type(data) == type(''): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
725 return data |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
726 if len(data) != 2 or not (type(data[0]) == type(data[1]) == type(0)): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
727 raise TypeError, 'expected tuple of 2 integers' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
728 x1, x2 = data |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
729 return buf[x1:x2] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
730 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
731 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
732 ##length, data1, i = getnextarg(length, buf, pp, i + 1) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
733 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
734 # make a deep-copy of some chunks |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
735 def crcopy(r): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
736 result = [] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
737 for x in r: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
738 result.append(chunkcopy(x)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
739 return result |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
740 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
741 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
742 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
743 # copy a chunk, would better be a method of class Chunk... |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
744 def chunkcopy(ch): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
745 if ch.chtype == chunk_type(GROUP): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
746 listc = ch.data[:] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
747 for i in range(len(listc)): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
748 listc[i] = chunkcopy(listc[i]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
749 return chunk(GROUP, ch.where, listc) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
750 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
751 return chunk(ch.chtype, ch.where, ch.data) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
752 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
753 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
754 # get next argument for TeX-macro, flatten a group (insert between) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
755 # or return Command Sequence token, or give back one character |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
756 def getnextarg(length, buf, pp, item): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
757 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
758 ##wobj = Wobj().init() |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
759 ##dumpit(buf, wobj.write, pp[item:min(length, item + 5)]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
760 ##print 'GETNEXTARG, (len, item) =', `length, item` + ' ---> ' + wobj.data + ' <---' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
761 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
762 while item < length and pp[item].chtype == chunk_type(ENDLINE): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
763 del pp[item] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
764 length = length - 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
765 if item >= length: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
766 raise error, 'no next arg.' + epsilon(buf, pp[-1].where) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
767 if pp[item].chtype == chunk_type(GROUP): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
768 newpp = pp[item].data |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
769 del pp[item] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
770 length = length - 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
771 changeit(buf, newpp) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
772 length = length + len(newpp) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
773 pp[item:item] = newpp |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
774 item = item + len(newpp) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
775 if len(newpp) < 10: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
776 wobj = Wobj().init() |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
777 dumpit(buf, wobj.write, newpp) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
778 ##print 'GETNEXTARG: inserted ' + `wobj.data` |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
779 return length, item |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
780 elif pp[item].chtype == chunk_type(PLAIN): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
781 #grab one char |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
782 print 'WARNING: grabbing one char' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
783 if len(s(buf, pp[item].data)) > 1: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
784 pp.insert(item, chunk(PLAIN, pp[item].where, s(buf, pp[item].data)[:1])) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
785 item, length = item+1, length+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
786 pp[item].data = s(buf, pp[item].data)[1:] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
787 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
788 item = item+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
789 return length, item |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
790 else: |
|
2552
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
791 ch = pp[item] |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
792 try: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
793 str = `s(buf, ch.data)` |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
794 except TypeError: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
795 str = `ch.data` |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
796 if len(str) > 400: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
797 str = str[:400] + '...' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
798 print 'GETNEXTARG:', ch.chtype, 'not handled, data ' + str |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
799 return length, item |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
800 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
801 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
802 # this one is needed to find the end of LaTeX's optional argument, like |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
803 # item[...] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
804 re_endopt = regex.compile(']') |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
805 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
806 # get a LaTeX-optional argument, you know, the square braces '[' and ']' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
807 def getoptarg(length, buf, pp, item): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
808 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
809 wobj = Wobj().init() |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
810 dumpit(buf, wobj.write, pp[item:min(length, item + 5)]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
811 ##print 'GETOPTARG, (len, item) =', `length, item` + ' ---> ' + wobj.data + ' <---' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
812 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
813 if item >= length or \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
814 pp[item].chtype != chunk_type(PLAIN) or \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
815 s(buf, pp[item].data)[0] != '[': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
816 return length, item |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
817 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
818 pp[item].data = s(buf, pp[item].data)[1:] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
819 if len(pp[item].data) == 0: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
820 del pp[item] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
821 length = length-1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
822 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
823 while 1: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
824 if item == length: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
825 raise error, 'No end of optional arg found' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
826 if pp[item].chtype == chunk_type(PLAIN): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
827 text = s(buf, pp[item].data) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
828 pos = re_endopt.search(text) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
829 if pos >= 0: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
830 pp[item].data = text[:pos] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
831 if pos == 0: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
832 del pp[item] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
833 length = length-1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
834 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
835 item=item+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
836 text = text[pos+1:] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
837 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
838 while text and text[0] in ' \t': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
839 text = text[1:] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
840 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
841 if text: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
842 pp.insert(item, chunk(PLAIN, 0, text)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
843 length = length + 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
844 return length, item |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
845 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
846 item = item+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
847 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
848 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
849 # Wobj just add write-requests to the ``data'' attribute |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
850 class Wobj: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
851 def init(self): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
852 self.data = '' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
853 return self |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
854 def write(self, data): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
855 self.data = self.data + data |
|
2552
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
856 |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
857 # ignore these commands |
|
2552
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
858 ignoredcommands = ('bcode', 'ecode') |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
859 # map commands like these to themselves as plaintext |
|
2575
9677eb105fae
recognize more latex commands; add obindex
Guido van Rossum <guido@python.org>
parents:
2552
diff
changeset
|
860 wordsselves = ('UNIX', 'ABC', 'C', 'ASCII', 'EOF', 'LaTeX') |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
861 # \{ --> {, \} --> }, etc |
|
2575
9677eb105fae
recognize more latex commands; add obindex
Guido van Rossum <guido@python.org>
parents:
2552
diff
changeset
|
862 themselves = ('{', '}', '.', '@', ' ', '\n') + wordsselves |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
863 # these ones also themselves (see argargs macro in myformat.sty) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
864 inargsselves = (',', '[', ']', '(', ')') |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
865 # this is how *I* would show the difference between emph and strong |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
866 # code 1 means: fold to uppercase |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
867 markcmds = {'code': ('', ''), 'var': 1, 'emph': ('_', '_'), \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
868 'strong': ('*', '*')} |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
869 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
870 # recognise patter {\FONTCHANGE-CMD TEXT} to \MAPPED-FC-CMD{TEXT} |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
871 fontchanges = {'rm': 'r', 'it': 'i', 'em': 'emph', 'bf': 'b', 'tt': 't'} |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
872 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
873 # transparent for these commands |
|
2575
9677eb105fae
recognize more latex commands; add obindex
Guido van Rossum <guido@python.org>
parents:
2552
diff
changeset
|
874 for_texi = ('emph', 'var', 'strong', 'code', 'kbd', 'key', 'dfn', 'samp', |
|
9677eb105fae
recognize more latex commands; add obindex
Guido van Rossum <guido@python.org>
parents:
2552
diff
changeset
|
875 'file', 'r', 'i', 't') |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
876 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
877 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
878 # try to remove macros and return flat text |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
879 def flattext(buf, pp): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
880 pp = crcopy(pp) |
|
1401
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
881 ##print '---> FLATTEXT ' + `pp` |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
882 wobj = Wobj().init() |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
883 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
884 i, length = 0, len(pp) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
885 while 1: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
886 if len(pp) != length: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
887 raise 'FATAL', 'inconsistent length' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
888 if i >= length: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
889 break |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
890 ch = pp[i] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
891 i = i+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
892 if ch.chtype == chunk_type(PLAIN): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
893 pass |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
894 elif ch.chtype == chunk_type(CSNAME): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
895 if s(buf, ch.data) in themselves or hist.inargs and s(buf, ch.data) in inargsselves: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
896 ch.chtype = chunk_type(PLAIN) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
897 elif s(buf, ch.data) == 'e': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
898 ch.chtype = chunk_type(PLAIN) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
899 ch.data = '\\' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
900 elif len(s(buf, ch.data)) == 1 \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
901 and s(buf, ch.data) in onlylatexspecial: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
902 ch.chtype = chunk_type(PLAIN) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
903 # if it is followed by an empty group, |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
904 # remove that group, it was needed for |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
905 # a true space |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
906 if i < length \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
907 and pp[i].chtype==chunk_type(GROUP) \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
908 and len(pp[i].data) == 0: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
909 del pp[i] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
910 length = length-1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
911 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
912 elif s(buf, ch.data) in markcmds.keys(): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
913 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
914 str = flattext(buf, pp[i:newi]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
915 del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
916 length = length - (newi - i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
917 ch.chtype = chunk_type(PLAIN) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
918 markcmd = s(buf, ch.data) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
919 x = markcmds[markcmd] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
920 if type(x) == type(()): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
921 pre, after = x |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
922 str = pre+str+after |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
923 elif x == 1: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
924 str = string.upper(str) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
925 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
926 raise 'FATAL', 'corrupt markcmds' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
927 ch.data = str |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
928 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
929 if s(buf, ch.data) not in ignoredcommands: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
930 print 'WARNING: deleting command ' + `s(buf, ch.data)` |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
931 print 'PP' + `pp[i-1]` |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
932 del pp[i-1] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
933 i, length = i-1, length-1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
934 elif ch.chtype == chunk_type(GROUP): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
935 length, newi = getnextarg(length, buf, pp, i-1) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
936 i = i-1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
937 ## str = flattext(buf, crcopy(pp[i-1:newi])) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
938 ## del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
939 ## length = length - (newi - i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
940 ## ch.chtype = chunk_type(PLAIN) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
941 ## ch.data = str |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
942 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
943 pass |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
944 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
945 dumpit(buf, wobj.write, pp) |
|
1401
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
946 ##print 'FLATTEXT: RETURNING ' + `wobj.data` |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
947 return wobj.data |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
948 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
949 # try to generate node names (a bit shorter than the chapter title) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
950 # note that the \nodename command (see elsewhere) overules these efforts |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
951 def invent_node_names(text): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
952 words = string.split(text) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
953 |
|
1401
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
954 ##print 'WORDS ' + `words` |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
955 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
956 if len(words) == 2 \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
957 and string.lower(words[0]) == 'built-in' \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
958 and string.lower(words[1]) not in ('modules', 'functions'): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
959 return words[1] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
960 if len(words) == 3 and string.lower(words[1]) == 'module': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
961 return words[2] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
962 if len(words) == 3 and string.lower(words[1]) == 'object': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
963 return string.join(words[0:2]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
964 if len(words) > 4 and string.lower(string.join(words[-4:])) == \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
965 'methods and data attributes': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
966 return string.join(words[:2]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
967 return text |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
968 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
969 re_commas_etc = regex.compile('[,`\'@{}]') |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
970 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
971 re_whitespace = regex.compile('[ \t]*') |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
972 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
973 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
974 ##nodenamecmd = next_command_p(length, buf, pp, newi, 'nodename') |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
975 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
976 # look if the next non-white stuff is also a command, resulting in skipping |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
977 # double endlines (DENDLINE) too, and thus omitting \par's |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
978 # Sometimes this is too much, maybe consider DENDLINE's as stop |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
979 def next_command_p(length, buf, pp, i, cmdname): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
980 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
981 while 1: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
982 if i >= len(pp): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
983 break |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
984 ch = pp[i] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
985 i = i+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
986 if ch.chtype == chunk_type(ENDLINE): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
987 continue |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
988 if ch.chtype == chunk_type(DENDLINE): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
989 continue |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
990 if ch.chtype == chunk_type(PLAIN): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
991 if re_whitespace.search(s(buf, ch.data)) == 0 and \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
992 re_whitespace.match(s(buf, ch.data)) == len(s(buf, ch.data)): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
993 continue |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
994 return -1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
995 if ch.chtype == chunk_type(CSNAME): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
996 if s(buf, ch.data) == cmdname: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
997 return i # _after_ the command |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
998 return -1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
999 return -1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1000 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1001 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1002 # things that are special to LaTeX, but not to texi.. |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1003 onlylatexspecial = '_~^$#&%' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1004 |
|
1292
57b80b98b8e5
* lib1.tex: documented dict.items() and dict.values()
Guido van Rossum <guido@python.org>
parents:
1100
diff
changeset
|
1005 class Struct: pass |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1006 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1007 hist = Struct() |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1008 out = Struct() |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1009 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1010 def startchange(): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1011 global hist, out |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1012 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1013 hist.inenv = [] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1014 hist.nodenames = [] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1015 hist.cindex = [] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1016 hist.inargs = 0 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1017 hist.enumeratenesting, hist.itemizenesting = 0, 0 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1018 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1019 out.doublenodes = [] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1020 out.doublecindeces = [] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1021 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1022 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1023 spacech = [chunk(PLAIN, 0, ' ')] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1024 commach = [chunk(PLAIN, 0, ', ')] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1025 cindexch = [chunk(CSLINE, 0, 'cindex')] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1026 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1027 # the standard variation in symbols for itemize |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1028 itemizesymbols = ['bullet', 'minus', 'dots'] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1029 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1030 # same for enumerate |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1031 enumeratesymbols = ['1', 'A', 'a'] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1032 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1033 ## |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1034 ## \begin{ {func,data,exc}desc }{name}... |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1035 ## the resulting texi-code is dependent on the contents of indexsubitem |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1036 ## |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1037 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1038 # indexsubitem: `['XXX', 'function'] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1039 # funcdesc: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1040 # deffn {`idxsi`} NAME (FUNCARGS) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1041 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1042 # indexsubitem: `['XXX', 'method']` |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1043 # funcdesc: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1044 # defmethod {`idxsi[0]`} NAME (FUNCARGS) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1045 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1046 # indexsubitem: `['in', 'module', 'MODNAME']' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1047 # datadesc: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1048 # defcv data {`idxsi[1:]`} NAME |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1049 # excdesc: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1050 # defcv exception {`idxsi[1:]`} NAME |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1051 # funcdesc: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1052 # deffn {function of `idxsi[1:]`} NAME (FUNCARGS) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1053 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1054 # indexsubitem: `['OBJECT', 'attribute']' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1055 # datadesc |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1056 # defcv attribute {`OBJECT`} NAME |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1057 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1058 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1059 ## this routine will be called on \begin{funcdesc}{NAME}{ARGS} |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1060 ## or \funcline{NAME}{ARGS} |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1061 ## |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1062 def do_funcdesc(length, buf, pp, i): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1063 startpoint = i-1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1064 ch = pp[startpoint] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1065 wh = ch.where |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1066 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1067 funcname = chunk(GROUP, wh, pp[i:newi]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1068 del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1069 length = length - (newi-i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1070 save = hist.inargs |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1071 hist.inargs = 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1072 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1073 hist.inargs = save |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1074 del save |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1075 the_args = [chunk(PLAIN, wh, '()'[0])] + \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1076 pp[i:newi] + \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1077 [chunk(PLAIN, wh, '()'[1])] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1078 del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1079 length = length - (newi-i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1080 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1081 idxsi = hist.indexsubitem # words |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1082 command = '' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1083 cat_class = '' |
|
2552
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1084 if idxsi and idxsi[-1] in ('method', 'protocol'): |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1085 command = 'defmethod' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1086 cat_class = string.join(idxsi[:-1]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1087 elif len(idxsi) == 2 and idxsi[1] == 'function': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1088 command = 'deffn' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1089 cat_class = string.join(idxsi) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1090 elif len(idxsi) == 3 and idxsi[:2] == ['in', 'module']: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1091 command = 'deffn' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1092 cat_class = 'function of ' + string.join(idxsi[1:]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1093 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1094 if not command: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1095 raise error, 'don\'t know what to do with indexsubitem ' + `idxsi` |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1096 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1097 ch.chtype = chunk_type(CSLINE) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1098 ch.data = command |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1099 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1100 cslinearg = [chunk(GROUP, wh, [chunk(PLAIN, wh, cat_class)])] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1101 cslinearg.append(chunk(PLAIN, wh, ' ')) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1102 cslinearg.append(funcname) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1103 cslinearg.append(chunk(PLAIN, wh, ' ')) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1104 l = len(cslinearg) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1105 cslinearg[l:l] = the_args |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1106 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1107 pp.insert(i, chunk(GROUP, wh, cslinearg)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1108 i, length = i+1, length+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1109 hist.command = command |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1110 return length, i |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1111 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1112 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1113 ## this routine will be called on \begin{excdesc}{NAME} |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1114 ## or \excline{NAME} |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1115 ## |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1116 def do_excdesc(length, buf, pp, i): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1117 startpoint = i-1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1118 ch = pp[startpoint] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1119 wh = ch.where |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1120 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1121 excname = chunk(GROUP, wh, pp[i:newi]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1122 del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1123 length = length - (newi-i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1124 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1125 idxsi = hist.indexsubitem # words |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1126 command = '' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1127 cat_class = '' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1128 class_class = '' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1129 if len(idxsi) == 2 and idxsi[1] == 'exception': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1130 command = 'defvr' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1131 cat_class = string.join(idxsi) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1132 elif len(idxsi) == 3 and idxsi[:2] == ['in', 'module']: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1133 command = 'defcv' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1134 cat_class = 'exception' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1135 class_class = string.join(idxsi[1:]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1136 elif len(idxsi) == 4 and idxsi[:3] == ['exception', 'in', 'module']: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1137 command = 'defcv' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1138 cat_class = 'exception' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1139 class_class = string.join(idxsi[2:]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1140 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1141 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1142 if not command: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1143 raise error, 'don\'t know what to do with indexsubitem ' + `idxsi` |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1144 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1145 ch.chtype = chunk_type(CSLINE) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1146 ch.data = command |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1147 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1148 cslinearg = [chunk(GROUP, wh, [chunk(PLAIN, wh, cat_class)])] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1149 cslinearg.append(chunk(PLAIN, wh, ' ')) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1150 if class_class: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1151 cslinearg.append(chunk(GROUP, wh, [chunk(PLAIN, wh, class_class)])) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1152 cslinearg.append(chunk(PLAIN, wh, ' ')) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1153 cslinearg.append(excname) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1154 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1155 pp.insert(i, chunk(GROUP, wh, cslinearg)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1156 i, length = i+1, length+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1157 hist.command = command |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1158 return length, i |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1159 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1160 ## same for datadesc or dataline... |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1161 def do_datadesc(length, buf, pp, i): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1162 startpoint = i-1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1163 ch = pp[startpoint] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1164 wh = ch.where |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1165 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1166 dataname = chunk(GROUP, wh, pp[i:newi]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1167 del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1168 length = length - (newi-i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1169 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1170 idxsi = hist.indexsubitem # words |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1171 command = '' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1172 cat_class = '' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1173 class_class = '' |
|
2552
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1174 if idxsi[-1] in ('attribute', 'option'): |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1175 command = 'defcv' |
|
2552
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1176 cat_class = idxsi[-1] |
|
2038
5983d2db5904
Can't remember the reason for the change, but it was necessary. :-)
Sjoerd Mullender <sjoerd@acm.org>
parents:
1767
diff
changeset
|
1177 class_class = string.join(idxsi[:-1]) |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1178 elif len(idxsi) == 3 and idxsi[:2] == ['in', 'module']: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1179 command = 'defcv' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1180 cat_class = 'data' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1181 class_class = string.join(idxsi[1:]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1182 elif len(idxsi) == 4 and idxsi[:3] == ['data', 'in', 'module']: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1183 command = 'defcv' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1184 cat_class = 'data' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1185 class_class = string.join(idxsi[2:]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1186 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1187 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1188 if not command: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1189 raise error, 'don\'t know what to do with indexsubitem ' + `idxsi` |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1190 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1191 ch.chtype = chunk_type(CSLINE) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1192 ch.data = command |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1193 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1194 cslinearg = [chunk(GROUP, wh, [chunk(PLAIN, wh, cat_class)])] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1195 cslinearg.append(chunk(PLAIN, wh, ' ')) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1196 if class_class: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1197 cslinearg.append(chunk(GROUP, wh, [chunk(PLAIN, wh, class_class)])) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1198 cslinearg.append(chunk(PLAIN, wh, ' ')) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1199 cslinearg.append(dataname) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1200 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1201 pp.insert(i, chunk(GROUP, wh, cslinearg)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1202 i, length = i+1, length+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1203 hist.command = command |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1204 return length, i |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1205 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1206 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1207 # regular indices: those that are not set in tt font by default.... |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1208 regindices = ('cindex', ) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1209 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1210 # remove illegal characters from node names |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1211 def rm_commas_etc(text): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1212 result = '' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1213 changed = 0 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1214 while 1: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1215 pos = re_commas_etc.search(text) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1216 if pos >= 0: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1217 changed = 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1218 result = result + text[:pos] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1219 text = text[pos+1:] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1220 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1221 result = result + text |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1222 break |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1223 if changed: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1224 print 'Warning: nodename changhed to ' + `result` |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1225 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1226 return result |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1227 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1228 # boolean flags |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1229 flags = {'texi': 1} |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1230 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1231 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1232 ## |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1233 ## changeit: the actual routine, that changes the contents of the parsed |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1234 ## chunks |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1235 ## |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1236 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1237 def changeit(buf, pp): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1238 global onlylatexspecial, hist, out |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1239 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1240 i, length = 0, len(pp) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1241 while 1: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1242 # sanity check: length should always equal len(pp) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1243 if len(pp) != length: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1244 raise 'FATAL', 'inconsistent length. thought ' + `length` + ', but should really be ' + `len(pp)` |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1245 if i >= length: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1246 break |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1247 ch = pp[i] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1248 i = i + 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1249 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1250 if type(ch) == type(''): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1251 #normally, only chunks are present in pp, |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1252 # but in some cases, some extra info |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1253 # has been inserted, e.g., the \end{...} clauses |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1254 raise 'FATAL', 'got string, probably too many ' + `end` |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1255 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1256 if ch.chtype == chunk_type(GROUP): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1257 # check for {\em ...} constructs |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1258 if ch.data and \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1259 ch.data[0].chtype == chunk_type(CSNAME) and \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1260 s(buf, ch.data[0].data) in fontchanges.keys(): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1261 k = s(buf, ch.data[0].data) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1262 del ch.data[0] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1263 pp.insert(i-1, chunk(CSNAME, ch.where, fontchanges[k])) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1264 length, i = length+1, i+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1265 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1266 # recursively parse the contents of the group |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1267 changeit(buf, ch.data) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1268 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1269 elif ch.chtype == chunk_type(IF): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1270 # \if... |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1271 flag, negate, data = ch.data |
|
1401
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
1272 ##print 'IF: flag, negate = ' + `flag, negate` |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1273 if flag not in flags.keys(): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1274 raise error, 'unknown flag ' + `flag` |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1275 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1276 value = flags[flag] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1277 if negate: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1278 value = (not value) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1279 del pp[i-1] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1280 length, i = length-1, i-1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1281 if value: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1282 pp[i:i] = data |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1283 length = length + len(data) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1284 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1285 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1286 elif ch.chtype == chunk_type(ENV): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1287 # \begin{...} .... |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1288 envname, data = ch.data |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1289 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1290 #push this environment name on stack |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1291 hist.inenv.insert(0, envname) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1292 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1293 #append an endenv chunk after grouped data |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1294 data.append(chunk(ENDENV, ch.where, envname)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1295 ##[`data`] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1296 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1297 #delete this object |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1298 del pp[i-1] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1299 i, length = i-1, length-1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1300 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1301 #insert found data |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1302 pp[i:i] = data |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1303 length = length + len(data) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1304 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1305 if envname == 'verbatim': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1306 pp[i:i] = [chunk(CSLINE, ch.where, 'example'), \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1307 chunk(GROUP, ch.where, [])] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1308 length, i = length+2, i+2 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1309 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1310 elif envname == 'itemize': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1311 if hist.itemizenesting > len(itemizesymbols): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1312 raise error, 'too deep itemize nesting' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1313 ingroupch = [chunk(CSNAME, ch.where,\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1314 itemizesymbols[hist.itemizenesting])] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1315 hist.itemizenesting = hist.itemizenesting + 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1316 pp[i:i] = [chunk(CSLINE, ch.where, 'itemize'),\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1317 chunk(GROUP, ch.where, ingroupch)] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1318 length, i = length+2, i+2 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1319 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1320 elif envname == 'enumerate': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1321 if hist.enumeratenesting > len(enumeratesymbols): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1322 raise error, 'too deep enumerate nesting' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1323 ingroupch = [chunk(PLAIN, ch.where,\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1324 enumeratesymbols[hist.enumeratenesting])] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1325 hist.enumeratenesting = hist.enumeratenesting + 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1326 pp[i:i] = [chunk(CSLINE, ch.where, 'enumerate'),\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1327 chunk(GROUP, ch.where, ingroupch)] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1328 length, i = length+2, i+2 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1329 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1330 elif envname == 'description': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1331 ingroupch = [chunk(CSNAME, ch.where, 'b')] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1332 pp[i:i] = [chunk(CSLINE, ch.where, 'table'), \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1333 chunk(GROUP, ch.where, ingroupch)] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1334 length, i = length+2, i+2 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1335 |
|
2552
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1336 elif (envname == 'tableiii') or \ |
|
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1337 (envname == 'tableii'): |
|
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1338 if (envname == 'tableii'): |
|
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1339 ltable = 2 |
|
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1340 else: |
|
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1341 ltable = 3 |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1342 wh = ch.where |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1343 newcode = [] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1344 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1345 #delete tabular format description |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1346 # e.g., {|l|c|l|} |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1347 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1348 del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1349 length = length - (newi-i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1350 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1351 newcode.append(chunk(CSLINE, wh, 'table')) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1352 ingroupch = [chunk(CSNAME, wh, 'asis')] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1353 newcode.append(chunk(GROUP, wh, ingroupch)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1354 newcode.append(chunk(CSLINE, wh, 'item')) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1355 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1356 #get the name of macro for @item |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1357 # e.g., {code} |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1358 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1359 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1360 if newi-i != 1: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1361 raise error, 'Sorry, expected 1 chunk argument' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1362 if pp[i].chtype != chunk_type(PLAIN): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1363 raise error, 'Sorry, expected plain text argument' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1364 hist.itemargmacro = s(buf, pp[i].data) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1365 del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1366 length = length - (newi-i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1367 |
|
2552
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1368 itembody = [] |
|
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1369 for count in range(ltable): |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1370 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1371 emphgroup = [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1372 chunk(CSNAME, wh, 'emph'), \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1373 chunk(GROUP, 0, pp[i:newi])] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1374 del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1375 length = length - (newi-i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1376 if count == 0: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1377 itemarg = emphgroup |
|
2552
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1378 elif count == ltable-1: |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1379 itembody = itembody + \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1380 [chunk(PLAIN, wh, ' --- ')] + \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1381 emphgroup |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1382 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1383 itembody = emphgroup |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1384 newcode.append(chunk(GROUP, wh, itemarg)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1385 newcode = newcode + itembody + [chunk(DENDLINE, wh, '\n')] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1386 pp[i:i] = newcode |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1387 l = len(newcode) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1388 length, i = length+l, i+l |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1389 del newcode, l |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1390 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1391 if length != len(pp): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1392 raise 'STILL, SOMETHING wrong', `i` |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1393 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1394 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1395 elif envname == 'funcdesc': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1396 pp.insert(i, chunk(PLAIN, ch.where, '')) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1397 i, length = i+1, length+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1398 length, i = do_funcdesc(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1399 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1400 elif envname == 'excdesc': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1401 pp.insert(i, chunk(PLAIN, ch.where, '')) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1402 i, length = i+1, length+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1403 length, i = do_excdesc(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1404 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1405 elif envname == 'datadesc': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1406 pp.insert(i, chunk(PLAIN, ch.where, '')) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1407 i, length = i+1, length+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1408 length, i = do_datadesc(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1409 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1410 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1411 print 'WARNING: don\'t know what to do with env ' + `envname` |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1412 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1413 elif ch.chtype == chunk_type(ENDENV): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1414 envname = ch.data |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1415 if envname != hist.inenv[0]: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1416 raise error, '\'end\' does not match. Name ' + `envname` + ', expected ' + `hist.inenv[0]` |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1417 del hist.inenv[0] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1418 del pp[i-1] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1419 i, length = i-1, length-1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1420 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1421 if envname == 'verbatim': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1422 pp[i:i] = [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1423 chunk(CSLINE, ch.where, 'end'), \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1424 chunk(GROUP, ch.where, [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1425 chunk(PLAIN, ch.where, 'example')])] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1426 i, length = i+2, length+2 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1427 elif envname == 'itemize': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1428 hist.itemizenesting = hist.itemizenesting - 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1429 pp[i:i] = [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1430 chunk(CSLINE, ch.where, 'end'), \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1431 chunk(GROUP, ch.where, [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1432 chunk(PLAIN, ch.where, 'itemize')])] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1433 i, length = i+2, length+2 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1434 elif envname == 'enumerate': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1435 hist.enumeratenesting = hist.enumeratenesting-1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1436 pp[i:i] = [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1437 chunk(CSLINE, ch.where, 'end'), \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1438 chunk(GROUP, ch.where, [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1439 chunk(PLAIN, ch.where, 'enumerate')])] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1440 i, length = i+2, length+2 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1441 elif envname == 'description': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1442 pp[i:i] = [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1443 chunk(CSLINE, ch.where, 'end'), \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1444 chunk(GROUP, ch.where, [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1445 chunk(PLAIN, ch.where, 'table')])] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1446 i, length = i+2, length+2 |
|
2552
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1447 elif (envname == 'tableiii') or (envname == 'tableii'): |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1448 pp[i:i] = [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1449 chunk(CSLINE, ch.where, 'end'), \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1450 chunk(GROUP, ch.where, [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1451 chunk(PLAIN, ch.where, 'table')])] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1452 i, length = i+2, length + 2 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1453 pp.insert(i, chunk(DENDLINE, ch.where, '\n')) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1454 i, length = i+1, length+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1455 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1456 elif envname in ('funcdesc', 'excdesc', 'datadesc'): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1457 pp[i:i] = [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1458 chunk(CSLINE, ch.where, 'end'), \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1459 chunk(GROUP, ch.where, [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1460 chunk(PLAIN, ch.where, hist.command)])] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1461 i, length = i+2, length+2 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1462 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1463 print 'WARNING: ending env ' + `envname` + 'has no actions' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1464 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1465 elif ch.chtype == chunk_type(CSNAME): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1466 # control name transformations |
|
2552
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1467 if s(buf, ch.data) == 'optional': |
|
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1468 pp[i-1].chtype = chunk_type (PLAIN) |
|
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1469 pp[i-1].data = '[' |
|
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1470 if (i < length) and \ |
|
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1471 (pp[i].chtype == chunk_type(GROUP)): |
|
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1472 cp=pp[i].data |
|
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1473 pp[i:i+1]=cp + [\ |
|
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1474 chunk(PLAIN, ch.where, ']')] |
|
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1475 length = length+len(cp) |
|
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1476 elif s(buf, ch.data) in ignoredcommands: |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1477 del pp[i-1] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1478 i, length = i-1, length-1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1479 elif s(buf, ch.data) == '@' and \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1480 i != length and \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1481 pp[i].chtype == chunk_type(PLAIN) and \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1482 s(buf, pp[i].data)[0] == '.': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1483 # \@. --> \. --> @. |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1484 ch.data = '.' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1485 del pp[i] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1486 length = length-1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1487 elif s(buf, ch.data) == '\\': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1488 # \\ --> \* --> @* |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1489 ch.data = '*' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1490 elif len(s(buf, ch.data)) == 1 and \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1491 s(buf, ch.data) in onlylatexspecial: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1492 ch.chtype = chunk_type(PLAIN) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1493 # check if such a command is followed by |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1494 # an empty group: e.g., `\%{}'. If so, remove |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1495 # this empty group too |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1496 if i < length and \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1497 pp[i].chtype == chunk_type(GROUP) \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1498 and len(pp[i].data) == 0: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1499 del pp[i] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1500 length = length-1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1501 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1502 elif hist.inargs and s(buf, ch.data) in inargsselves: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1503 # This is the special processing of the |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1504 # arguments of the \begin{funcdesc}... or |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1505 # \funcline... arguments |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1506 # \, --> , \[ --> [, \] --> ] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1507 ch.chtype = chunk_type(PLAIN) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1508 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1509 elif s(buf, ch.data) == 'renewcommand': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1510 # \renewcommand{\indexsubitem}.... |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1511 i, length = i-1, length-1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1512 del pp[i] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1513 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1514 if newi-i == 1 \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1515 and i < length \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1516 and pp[i].chtype == chunk_type(CSNAME) \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1517 and s(buf, pp[i].data) == 'indexsubitem': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1518 del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1519 length = length - (newi-i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1520 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1521 text = flattext(buf, pp[i:newi]) |
|
2552
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1522 if text[:1] != '(' or text[-1:] != ')': |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1523 raise error, 'expected indexsubitme enclosed in braces' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1524 words = string.split(text[1:-1]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1525 hist.indexsubitem = words |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1526 del text, words |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1527 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1528 print 'WARNING: renewcommand with unsupported arg removed' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1529 del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1530 length = length - (newi-i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1531 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1532 elif s(buf, ch.data) == 'item': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1533 ch.chtype = chunk_type(CSLINE) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1534 length, newi = getoptarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1535 ingroupch = pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1536 del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1537 length = length - (newi-i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1538 pp.insert(i, chunk(GROUP, ch.where, ingroupch)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1539 i, length = i+1, length+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1540 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1541 elif s(buf, ch.data) == 'ttindex': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1542 idxsi = hist.indexsubitem |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1543 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1544 cat_class = '' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1545 if len(idxsi) >= 2 and idxsi[1] in \ |
|
2552
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1546 ('method', 'function', 'protocol'): |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1547 command = 'findex' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1548 elif len(idxsi) >= 2 and idxsi[1] in \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1549 ('exception', 'object'): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1550 command = 'vindex' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1551 else: |
|
1401
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
1552 print 'WARNING: can\'t categorize ' + `idxsi` + ' for \'ttindex\' command' |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1553 command = 'cindex' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1554 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1555 if not cat_class: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1556 cat_class = '('+string.join(idxsi)+')' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1557 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1558 ch.chtype = chunk_type(CSLINE) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1559 ch.data = command |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1560 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1561 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1562 arg = pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1563 del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1564 length = length - (newi-i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1565 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1566 cat_arg = [chunk(PLAIN, ch.where, cat_class)] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1567 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1568 # determine what should be set in roman, and |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1569 # what in tt-font |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1570 if command in regindices: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1571 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1572 arg = [chunk(CSNAME, ch.where, 't'), \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1573 chunk(GROUP, ch.where, arg)] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1574 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1575 cat_arg = [chunk(CSNAME, ch.where, 'r'), \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1576 chunk(GROUP, ch.where, cat_arg)] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1577 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1578 ingroupch = arg + \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1579 [chunk(PLAIN, ch.where, ' ')] + \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1580 cat_arg |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1581 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1582 pp.insert(i, chunk(GROUP, ch.where, ingroupch)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1583 length, i = length+1, i+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1584 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1585 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1586 elif s(buf, ch.data) == 'ldots': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1587 # \ldots --> \dots{} --> @dots{} |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1588 ch.data = 'dots' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1589 if i == length \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1590 or pp[i].chtype != chunk_type(GROUP) \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1591 or pp[i].data != []: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1592 pp.insert(i, chunk(GROUP, ch.where, [])) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1593 i, length = i+1, length+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1594 elif s(buf, ch.data) in wordsselves: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1595 # \UNIX --> UNIX |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1596 ch.chtype = chunk_type(PLAIN) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1597 if i != length \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1598 and pp[i].chtype == chunk_type(GROUP) \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1599 and pp[i].data == []: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1600 del pp[i] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1601 length = length-1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1602 elif s(buf, ch.data) in for_texi: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1603 pass |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1604 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1605 elif s(buf, ch.data) == 'e': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1606 # \e --> \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1607 ch.data = '\\' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1608 ch.chtype = chunk_type(PLAIN) |
|
2552
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1609 elif (s(buf, ch.data) == 'lineiii') or\ |
|
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1610 (s(buf, ch.data) == 'lineii'): |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1611 # This is the most tricky one |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1612 # \lineiii{a1}{a2}[{a3}] --> |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1613 # @item @<cts. of itemargmacro>{a1} |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1614 # a2 [ -- a3] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1615 # |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1616 ##print 'LINEIIIIII!!!!!!!' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1617 ## wobj = Wobj().init() |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1618 ## dumpit(buf, wobj.write, pp[i-1:i+5]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1619 ## print '--->' + wobj.data + '<----' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1620 if not hist.inenv: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1621 raise error, \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1622 'no environment for lineiii' |
|
2552
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1623 if (hist.inenv[0] != 'tableiii') and\ |
|
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1624 (hist.inenv[0] != 'tableii'): |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1625 raise error, \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1626 'wrong command (' + \ |
|
2552
7d70209f355d
handle a few new things
Guido van Rossum <guido@python.org>
parents:
2038
diff
changeset
|
1627 s(buf, ch.data)+ \ |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1628 ') in wrong environment (' \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1629 + `hist.inenv[0]` + ')' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1630 ch.chtype = chunk_type(CSLINE) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1631 ch.data = 'item' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1632 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1633 ingroupch = [chunk(CSNAME, 0, \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1634 hist.itemargmacro), \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1635 chunk(GROUP, 0, pp[i:newi])] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1636 del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1637 length = length - (newi-i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1638 ## print 'ITEM ARG: --->', |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1639 ## wobj = Wobj().init() |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1640 ## dumpit(buf, wobj.write, ingroupch) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1641 ## print wobj.data, '<---' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1642 pp.insert(i, chunk(GROUP, ch.where, ingroupch)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1643 grouppos = i |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1644 i, length = i+1, length+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1645 length, i = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1646 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1647 if newi > i: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1648 # we have a 3rd arg |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1649 pp.insert(i, chunk(PLAIN, ch.where, ' --- ')) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1650 i = newi + 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1651 length = length + 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1652 ## pp[grouppos].data = pp[grouppos].data \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1653 ## + [chunk(PLAIN, ch.where, ' ')] \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1654 ## + pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1655 ## del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1656 ## length = length - (newi-i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1657 if length != len(pp): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1658 raise 'IN LINEIII IS THE ERR', `i` |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1659 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1660 elif s(buf, ch.data) in ('chapter', 'section', 'subsection', 'subsubsection'): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1661 #\xxxsection{A} ----> |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1662 # @node A, , , |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1663 # @xxxsection A |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1664 ## also: remove commas and quotes |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1665 ch.chtype = chunk_type(CSLINE) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1666 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1667 afternodenamecmd = next_command_p(length, buf, pp, newi, 'nodename') |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1668 if afternodenamecmd < 0: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1669 cp1 = crcopy(pp[i:newi]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1670 pp[i:newi] = [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1671 chunk(GROUP, ch.where, \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1672 pp[i:newi])] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1673 length, newi = length - (newi-i) + 1, \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1674 i+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1675 text = flattext(buf, cp1) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1676 text = invent_node_names(text) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1677 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1678 length, endarg = getnextarg(length, buf, pp, afternodenamecmd) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1679 cp1 = crcopy(pp[afternodenamecmd:endarg]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1680 del pp[newi:endarg] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1681 length = length - (endarg-newi) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1682 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1683 pp[i:newi] = [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1684 chunk(GROUP, ch.where, \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1685 pp[i:newi])] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1686 length, newi = length - (newi-i) + 1, \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1687 i + 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1688 text = flattext(buf, cp1) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1689 if text[-1] == '.': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1690 text = text[:-1] |
|
1401
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
1691 ## print 'FLATTEXT:', `text` |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1692 if text in hist.nodenames: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1693 print 'WARNING: node name ' + `text` + ' already used' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1694 out.doublenodes.append(text) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1695 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1696 hist.nodenames.append(text) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1697 text = rm_commas_etc(text) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1698 pp[i-1:i-1] = [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1699 chunk(CSLINE, ch.where, 'node'), \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1700 chunk(GROUP, ch.where, [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1701 chunk(PLAIN, ch.where, text+', , ,')\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1702 ])] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1703 i, length = newi+2, length+2 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1704 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1705 elif s(buf,ch.data) == 'funcline': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1706 # fold it to a very short environment |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1707 pp[i-1:i-1] = [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1708 chunk(CSLINE, ch.where, 'end'), \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1709 chunk(GROUP, ch.where, [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1710 chunk(PLAIN, ch.where, hist.command)])] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1711 i, length = i+2, length+2 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1712 length, i = do_funcdesc(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1713 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1714 elif s(buf,ch.data) == 'dataline': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1715 pp[i-1:i-1] = [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1716 chunk(CSLINE, ch.where, 'end'), \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1717 chunk(GROUP, ch.where, [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1718 chunk(PLAIN, ch.where, hist.command)])] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1719 i, length = i+2, length+2 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1720 length, i = do_datadesc(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1721 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1722 elif s(buf,ch.data) == 'excline': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1723 pp[i-1:i-1] = [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1724 chunk(CSLINE, ch.where, 'end'), \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1725 chunk(GROUP, ch.where, [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1726 chunk(PLAIN, ch.where, hist.command)])] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1727 i, length = i+2, length+2 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1728 length, i = do_excdesc(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1729 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1730 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1731 elif s(buf, ch.data) == 'index': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1732 #\index{A} ---> |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1733 # @cindex A |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1734 ch.chtype = chunk_type(CSLINE) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1735 ch.data = 'cindex' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1736 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1737 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1738 ingroupch = pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1739 del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1740 length = length - (newi-i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1741 pp.insert(i, chunk(GROUP, ch.where, ingroupch)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1742 length, i = length+1, i+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1743 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1744 elif s(buf, ch.data) == 'bifuncindex': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1745 ch.chtype = chunk_type(CSLINE) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1746 ch.data = 'findex' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1747 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1748 ingroupch = pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1749 del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1750 length = length - (newi-i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1751 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1752 ingroupch.append(chunk(PLAIN, ch.where, ' ')) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1753 ingroupch.append(chunk(CSNAME, ch.where, 'r')) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1754 ingroupch.append(chunk(GROUP, ch.where, [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1755 chunk(PLAIN, ch.where, \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1756 '(built-in function)')])) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1757 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1758 pp.insert(i, chunk(GROUP, ch.where, ingroupch)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1759 length, i = length+1, i+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1760 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1761 |
|
2575
9677eb105fae
recognize more latex commands; add obindex
Guido van Rossum <guido@python.org>
parents:
2552
diff
changeset
|
1762 elif s(buf, ch.data) == 'obindex': |
|
9677eb105fae
recognize more latex commands; add obindex
Guido van Rossum <guido@python.org>
parents:
2552
diff
changeset
|
1763 ch.chtype = chunk_type(CSLINE) |
|
9677eb105fae
recognize more latex commands; add obindex
Guido van Rossum <guido@python.org>
parents:
2552
diff
changeset
|
1764 ch.data = 'findex' |
|
9677eb105fae
recognize more latex commands; add obindex
Guido van Rossum <guido@python.org>
parents:
2552
diff
changeset
|
1765 length, newi = getnextarg(length, buf, pp, i) |
|
9677eb105fae
recognize more latex commands; add obindex
Guido van Rossum <guido@python.org>
parents:
2552
diff
changeset
|
1766 ingroupch = pp[i:newi] |
|
9677eb105fae
recognize more latex commands; add obindex
Guido van Rossum <guido@python.org>
parents:
2552
diff
changeset
|
1767 del pp[i:newi] |
|
9677eb105fae
recognize more latex commands; add obindex
Guido van Rossum <guido@python.org>
parents:
2552
diff
changeset
|
1768 length = length - (newi-i) |
|
9677eb105fae
recognize more latex commands; add obindex
Guido van Rossum <guido@python.org>
parents:
2552
diff
changeset
|
1769 |
|
9677eb105fae
recognize more latex commands; add obindex
Guido van Rossum <guido@python.org>
parents:
2552
diff
changeset
|
1770 ingroupch.append(chunk(PLAIN, ch.where, ' ')) |
|
9677eb105fae
recognize more latex commands; add obindex
Guido van Rossum <guido@python.org>
parents:
2552
diff
changeset
|
1771 ingroupch.append(chunk(CSNAME, ch.where, 'r')) |
|
9677eb105fae
recognize more latex commands; add obindex
Guido van Rossum <guido@python.org>
parents:
2552
diff
changeset
|
1772 ingroupch.append(chunk(GROUP, ch.where, [\ |
|
9677eb105fae
recognize more latex commands; add obindex
Guido van Rossum <guido@python.org>
parents:
2552
diff
changeset
|
1773 chunk(PLAIN, ch.where, \ |
|
9677eb105fae
recognize more latex commands; add obindex
Guido van Rossum <guido@python.org>
parents:
2552
diff
changeset
|
1774 '(object)')])) |
|
9677eb105fae
recognize more latex commands; add obindex
Guido van Rossum <guido@python.org>
parents:
2552
diff
changeset
|
1775 |
|
9677eb105fae
recognize more latex commands; add obindex
Guido van Rossum <guido@python.org>
parents:
2552
diff
changeset
|
1776 pp.insert(i, chunk(GROUP, ch.where, ingroupch)) |
|
9677eb105fae
recognize more latex commands; add obindex
Guido van Rossum <guido@python.org>
parents:
2552
diff
changeset
|
1777 length, i = length+1, i+1 |
|
9677eb105fae
recognize more latex commands; add obindex
Guido van Rossum <guido@python.org>
parents:
2552
diff
changeset
|
1778 |
|
9677eb105fae
recognize more latex commands; add obindex
Guido van Rossum <guido@python.org>
parents:
2552
diff
changeset
|
1779 |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1780 elif s(buf, ch.data) == 'opindex': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1781 ch.chtype = chunk_type(CSLINE) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1782 ch.data = 'findex' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1783 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1784 ingroupch = pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1785 del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1786 length = length - (newi-i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1787 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1788 ingroupch.append(chunk(PLAIN, ch.where, ' ')) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1789 ingroupch.append(chunk(CSNAME, ch.where, 'r')) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1790 ingroupch.append(chunk(GROUP, ch.where, [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1791 chunk(PLAIN, ch.where, \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1792 '(operator)')])) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1793 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1794 pp.insert(i, chunk(GROUP, ch.where, ingroupch)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1795 length, i = length+1, i+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1796 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1797 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1798 elif s(buf, ch.data) == 'bimodindex': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1799 ch.chtype = chunk_type(CSLINE) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1800 ch.data = 'pindex' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1801 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1802 ingroupch = pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1803 del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1804 length = length - (newi-i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1805 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1806 ingroupch.append(chunk(PLAIN, ch.where, ' ')) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1807 ingroupch.append(chunk(CSNAME, ch.where, 'r')) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1808 ingroupch.append(chunk(GROUP, ch.where, [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1809 chunk(PLAIN, ch.where, \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1810 '(built-in)')])) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1811 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1812 pp.insert(i, chunk(GROUP, ch.where, ingroupch)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1813 length, i = length+1, i+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1814 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1815 elif s(buf, ch.data) == 'sectcode': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1816 ch.data = 'code' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1817 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1818 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1819 elif s(buf, ch.data) == 'stmodindex': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1820 ch.chtype = chunk_type(CSLINE) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1821 # use the program index as module index |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1822 ch.data = 'pindex' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1823 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1824 ingroupch = pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1825 del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1826 length = length - (newi-i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1827 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1828 ingroupch.append(chunk(PLAIN, ch.where, ' ')) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1829 ingroupch.append(chunk(CSNAME, ch.where, 'r')) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1830 ingroupch.append(chunk(GROUP, ch.where, [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1831 chunk(PLAIN, ch.where, \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1832 '(standard)')])) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1833 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1834 pp.insert(i, chunk(GROUP, ch.where, ingroupch)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1835 length, i = length+1, i+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1836 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1837 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1838 elif s(buf, ch.data) == 'stindex': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1839 # XXX must actually go to newindex st |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1840 wh = ch.where |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1841 ch.chtype = chunk_type(CSLINE) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1842 ch.data = 'cindex' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1843 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1844 ingroupch = [chunk(CSNAME, wh, 'code'), \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1845 chunk(GROUP, wh, pp[i:newi])] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1846 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1847 del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1848 length = length - (newi-i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1849 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1850 t = ingroupch[:] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1851 t.append(chunk(PLAIN, wh, ' statement')) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1852 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1853 pp.insert(i, chunk(GROUP, wh, t)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1854 i, length = i+1, length+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1855 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1856 pp.insert(i, chunk(CSLINE, wh, 'cindex')) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1857 i, length = i+1, length+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1858 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1859 t = ingroupch[:] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1860 t.insert(0, chunk(PLAIN, wh, 'statement, ')) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1861 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1862 pp.insert(i, chunk(GROUP, wh, t)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1863 i, length = i+1, length+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1864 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1865 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1866 elif s(buf, ch.data) == 'indexii': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1867 #\indexii{A}{B} ---> |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1868 # @cindex A B |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1869 # @cindex B, A |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1870 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1871 cp11 = pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1872 cp21 = crcopy(pp[i:newi]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1873 del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1874 length = length - (newi-i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1875 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1876 cp12 = pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1877 cp22 = crcopy(pp[i:newi]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1878 del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1879 length = length - (newi-i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1880 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1881 ch.chtype = chunk_type(CSLINE) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1882 ch.data = 'cindex' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1883 pp.insert(i, chunk(GROUP, ch.where, cp11 + [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1884 chunk(PLAIN, ch.where, ' ')] + cp12)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1885 i, length = i+1, length+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1886 pp[i:i] = [chunk(CSLINE, ch.where, 'cindex'), \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1887 chunk(GROUP, ch.where, cp22 + [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1888 chunk(PLAIN, ch.where, ', ')]+ cp21)] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1889 i, length = i+2, length+2 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1890 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1891 elif s(buf, ch.data) == 'indexiii': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1892 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1893 cp11 = pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1894 cp21 = crcopy(pp[i:newi]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1895 cp31 = crcopy(pp[i:newi]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1896 del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1897 length = length - (newi-i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1898 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1899 cp12 = pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1900 cp22 = crcopy(pp[i:newi]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1901 cp32 = crcopy(pp[i:newi]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1902 del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1903 length = length - (newi-i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1904 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1905 cp13 = pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1906 cp23 = crcopy(pp[i:newi]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1907 cp33 = crcopy(pp[i:newi]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1908 del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1909 length = length - (newi-i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1910 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1911 ch.chtype = chunk_type(CSLINE) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1912 ch.data = 'cindex' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1913 pp.insert(i, chunk(GROUP, ch.where, cp11 + [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1914 chunk(PLAIN, ch.where, ' ')] + cp12 \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1915 + [chunk(PLAIN, ch.where, ' ')] \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1916 + cp13)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1917 i, length = i+1, length+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1918 pp[i:i] = [chunk(CSLINE, ch.where, 'cindex'), \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1919 chunk(GROUP, ch.where, cp22 + [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1920 chunk(PLAIN, ch.where, ' ')]+ cp23\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1921 + [chunk(PLAIN, ch.where, ', ')] +\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1922 cp21)] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1923 i, length = i+2, length+2 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1924 pp[i:i] = [chunk(CSLINE, ch.where, 'cindex'), \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1925 chunk(GROUP, ch.where, cp33 + [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1926 chunk(PLAIN, ch.where, ', ')]+ cp31\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1927 + [chunk(PLAIN, ch.where, ' ')] +\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1928 cp32)] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1929 i, length = i+2, length+2 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1930 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1931 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1932 elif s(buf, ch.data) == 'indexiv': |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1933 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1934 cp11 = pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1935 cp21 = crcopy(pp[i:newi]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1936 cp31 = crcopy(pp[i:newi]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1937 cp41 = crcopy(pp[i:newi]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1938 del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1939 length = length - (newi-i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1940 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1941 cp12 = pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1942 cp22 = crcopy(pp[i:newi]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1943 cp32 = crcopy(pp[i:newi]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1944 cp42 = crcopy(pp[i:newi]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1945 del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1946 length = length - (newi-i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1947 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1948 cp13 = pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1949 cp23 = crcopy(pp[i:newi]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1950 cp33 = crcopy(pp[i:newi]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1951 cp43 = crcopy(pp[i:newi]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1952 del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1953 length = length - (newi-i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1954 length, newi = getnextarg(length, buf, pp, i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1955 cp14 = pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1956 cp24 = crcopy(pp[i:newi]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1957 cp34 = crcopy(pp[i:newi]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1958 cp44 = crcopy(pp[i:newi]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1959 del pp[i:newi] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1960 length = length - (newi-i) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1961 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1962 ch.chtype = chunk_type(CSLINE) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1963 ch.data = 'cindex' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1964 ingroupch = cp11 + \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1965 spacech + cp12 + \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1966 spacech + cp13 + \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1967 spacech + cp14 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1968 pp.insert(i, chunk(GROUP, ch.where, ingroupch)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1969 i, length = i+1, length+1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1970 ingroupch = cp22 + \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1971 spacech + cp23 + \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1972 spacech + cp24 + \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1973 commach + cp21 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1974 pp[i:i] = cindexch + [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1975 chunk(GROUP, ch.where, ingroupch)] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1976 i, length = i+2, length+2 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1977 ingroupch = cp33 + \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1978 spacech + cp34 + \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1979 commach + cp31 + \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1980 spacech + cp32 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1981 pp[i:i] = cindexch + [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1982 chunk(GROUP, ch.where, ingroupch)] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1983 i, length = i+2, length+2 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1984 ingroupch = cp44 + \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1985 commach + cp41 + \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1986 spacech + cp42 + \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1987 spacech + cp43 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1988 pp[i:i] = cindexch + [\ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1989 chunk(GROUP, ch.where, ingroupch)] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1990 i, length = i+2, length+2 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1991 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1992 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1993 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1994 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1995 print 'don\'t know what to do with keyword ' + `s(buf, ch.data)` |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1996 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1997 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1998 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1999 re_atsign = regex.compile('[@{}]') |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2000 re_newline = regex.compile('\n') |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2001 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2002 def dumpit(buf, wm, pp): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2003 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2004 global out |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2005 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2006 i, length = 0, len(pp) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2007 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2008 addspace = 0 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2009 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2010 while 1: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2011 if len(pp) != length: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2012 raise 'FATAL', 'inconsistent length' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2013 if i == length: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2014 break |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2015 ch = pp[i] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2016 i = i + 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2017 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2018 if addspace: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2019 dospace = 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2020 addspace = 0 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2021 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2022 dospace = 0 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2023 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2024 if ch.chtype == chunk_type(CSNAME): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2025 wm('@' + s(buf, ch.data)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2026 if s(buf, ch.data) == 'node' and \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2027 pp[i].chtype == chunk_type(PLAIN) and \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2028 s(buf, pp[i].data) in out.doublenodes: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2029 ##XXX doesnt work yet?? |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2030 wm(' ZZZ-' + zfill(`i`, 4)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2031 if s(buf, ch.data)[0] in string.letters: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2032 addspace = 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2033 elif ch.chtype == chunk_type(PLAIN): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2034 if dospace and s(buf, ch.data) not in (' ', '\t'): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2035 wm(' ') |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2036 text = s(buf, ch.data) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2037 while 1: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2038 pos = re_atsign.search(text) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2039 if pos < 0: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2040 break |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2041 wm(text[:pos] + '@' + text[pos]) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2042 text = text[pos+1:] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2043 wm(text) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2044 elif ch.chtype == chunk_type(GROUP): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2045 wm('{') |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2046 dumpit(buf, wm, ch.data) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2047 wm('}') |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2048 elif ch.chtype == chunk_type(DENDLINE): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2049 wm('\n\n') |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2050 while i != length and pp[i].chtype in \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2051 (chunk_type(DENDLINE), chunk_type(ENDLINE)): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2052 i = i + 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2053 elif ch.chtype == chunk_type(OTHER): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2054 wm(s(buf, ch.data)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2055 elif ch.chtype == chunk_type(ACTIVE): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2056 wm(s(buf, ch.data)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2057 elif ch.chtype == chunk_type(ENDLINE): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2058 wm('\n') |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2059 elif ch.chtype == chunk_type(CSLINE): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2060 if i >= 2 and pp[i-2].chtype not in \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2061 (chunk_type(ENDLINE), chunk_type(DENDLINE)) \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2062 and (pp[i-2].chtype != chunk_type(PLAIN) \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2063 or s(buf, pp[i-2].data)[-1] != '\n'): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2064 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2065 wm('\n') |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2066 wm('@' + s(buf, ch.data)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2067 if i == length: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2068 raise error, 'CSLINE expected another chunk' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2069 if pp[i].chtype != chunk_type(GROUP): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2070 raise error, 'CSLINE expected GROUP' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2071 if type(pp[i].data) != type([]): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2072 raise error, 'GROUP chould contain []-data' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2073 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2074 wobj = Wobj().init() |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2075 dumpit(buf, wobj.write, pp[i].data) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2076 i = i + 1 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2077 text = wobj.data |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2078 del wobj |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2079 if text: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2080 wm(' ') |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2081 while 1: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2082 pos = re_newline.search(text) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2083 if pos < 0: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2084 break |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2085 print 'WARNING: found newline in csline arg' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2086 wm(text[:pos] + ' ') |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2087 text = text[pos+1:] |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2088 wm(text) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2089 if i >= length or \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2090 pp[i].chtype not in (chunk_type(CSLINE), \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2091 chunk_type(ENDLINE), chunk_type(DENDLINE)) \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2092 and (pp[i].chtype != chunk_type(PLAIN) \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2093 or s(buf, pp[i].data)[0] != '\n'): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2094 wm('\n') |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2095 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2096 elif ch.chtype == chunk_type(COMMENT): |
|
1401
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2097 ## print 'COMMENT: previous chunk =', pp[i-2] |
|
2608
eeac170f5f2f
don't print PLAINTEXT = ...
Guido van Rossum <guido@python.org>
parents:
2575
diff
changeset
|
2098 ## if pp[i-2].chtype == chunk_type(PLAIN): |
|
eeac170f5f2f
don't print PLAINTEXT = ...
Guido van Rossum <guido@python.org>
parents:
2575
diff
changeset
|
2099 ## print 'PLAINTEXT =', `s(buf, pp[i-2].data)` |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2100 if s(buf, ch.data) and \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2101 regex.match('^[ \t]*$', s(buf, ch.data)) < 0: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2102 if i >= 2 and pp[i-2].chtype not in \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2103 (chunk_type(ENDLINE), chunk_type(DENDLINE)) \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2104 and not (pp[i-2].chtype == chunk_type(PLAIN) \ |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2105 and regex.match('\\(.\\|\n\\)*[ \t]*\n$', s(buf, pp[i-2].data)) >= 0): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2106 print 'ADDING NEWLINE' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2107 wm('\n') |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2108 wm('@c ' + s(buf, ch.data)) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2109 elif ch.chtype == chunk_type(IGNORE): |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2110 pass |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2111 else: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2112 try: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2113 str = `s(buf, ch.data)` |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2114 except TypeError: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2115 str = `ch.data` |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2116 if len(str) > 400: |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2117 str = str[:400] + '...' |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2118 print 'warning:', ch.chtype, 'not handled, data ' + str |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2119 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2120 |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2121 |
|
1401
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2122 def main(): |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2123 outfile = None |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2124 headerfile = 'texipre.dat' |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2125 trailerfile = 'texipost.dat' |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2126 |
|
1401
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2127 try: |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2128 opts, args = getopt.getopt(sys.argv[1:], 'o:h:t:') |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2129 except getopt.error: |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2130 args = [] |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2131 |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2132 if not args: |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2133 print 'usage: partparse [-o outfile] [-h headerfile]', |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2134 print '[-t trailerfile] file ...' |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2135 sys.exit(2) |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2136 |
|
1401
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2137 for opt, arg in opts: |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2138 if opt == '-o': outfile = arg |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2139 if opt == '-h': headerfile = arg |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2140 if opt == '-t': trailerfile = arg |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2141 |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2142 if not outfile: |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2143 root, ext = os.path.splitext(args[0]) |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2144 outfile = root + '.texi' |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2145 |
|
1401
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2146 if outfile in args: |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2147 print 'will not overwrite input file', outfile |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2148 sys.exit(2) |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2149 |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2150 outf = open(outfile, 'w') |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2151 outf.write(open(headerfile, 'r').read()) |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2152 |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2153 for file in args: |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2154 if len(args) > 1: print '='*20, file, '='*20 |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2155 buf = open(file, 'r').read() |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2156 w, pp = parseit(buf) |
|
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2157 startchange() |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2158 changeit(buf, pp) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2159 dumpit(buf, outf.write, pp) |
|
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2160 |
|
1401
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2161 outf.write(open(trailerfile, 'r').read()) |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2162 |
|
1401
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2163 outf.close() |
|
1100
ff1899dcda05
Incorporated Jan-Hein's changes and texinfo conversion.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2164 |
|
1401
cd5989a58bcf
* ext.tex: documentation for extending, reference counts, and embedding
Guido van Rossum <guido@python.org>
parents:
1292
diff
changeset
|
2165 main() |
