GOOF----LE-8-2.0 ]p4h)] gguile  gdefine-module*   gtexinfo  gfilenameS f texinfo.scm gimportsS gsxml gsimple      g transform    gssax g input-parse    gsrfi gsrfi-1   gsrfi-11   gsrfi-13    !gexportsS "gcall-with-file-and-dir #gtexi-command-specs $gtexi-command-depth %gtexi-fragment->stexi &g texi->stexi 'g stexi->sxml ("#$%&' )gset-current-module *) +) ,gthrow -g parser-error .ggetcwd /gchdir 0gdirname 1gcall-with-input-file 2gbasename 3ginclude 43 5gpara 6g PARAGRAPH 756 8gitem 9gITEM :89 ;gentry <= ?;> @gnoindent Ag EMPTY-COMMAND B@A Cg *fragment* DgFRAGMENT ECD Fg*braces* Gg INLINE-TEXT HFG Igbold JIG Kgsample LKG Mgsamp NMG Ogcode POG Qgmath RQG Sgkbd TSG Ugkey VUG Wgvar XWG Ygenv ZYG [gfile \[G ]gcommand ^]G _goption `_G agdfn baG cgcite dcG egacro feG ggemail hgG igemph jiG kgstrong lkG mgsc nmG og titlefont poG qgasis rqG sgb tsG ugi vuG wgr xwG yg sansserif zyG {gslanted |{G }gt ~}G gvalue g INLINE-ARGS U gref gnode goptS gname gsection g info-file gmanual  gxref  gpxref gINLINE-TEXT-ARGS  gurl gALIAS guref   gtitle g replacement  ganchor  gdots  gresult  gbullet  g copyright  gtie  gimage gwidth gheight galt-text g extension [ gacronym gmeaning  gEOL-ARGS gnext gprevious gup  gc gall   gcomment  gsetchapternewpage  gsp  gpage  gvskip  g syncodeindex  gcontents  g shortcontents  gsummarycontents  g insertcopying  g dircategory gcategory  gtop  g printindex gtype  gparagraphindent gindent  g*ENVIRON-ARGS* gEOL-TEXT  gitemx  gset  gcenter   gsubtitle  gauthor  gchapter   gappendix  g appendixsec  g unnumbered  g unnumberedsec  g subsection  g subsubsection  gappendixsubsec  gappendixsubsubsec  gunnumberedsubsec  gunnumberedsubsubsec  g chapheading  g majorheading  = g subheading  g subsubheading  gdeftpx g EOL-TEXT-ARGS g attributes      gdefcvx  gclass      gdefivarx     g deftypeivarx g data-type   gdefopx g arguments       g deftypeopx       g defmethodx    !gdeftypemethodx " #!" $gdefoptx %$ &gdefvrx '& (gdefvarx )( *g deftypevrx +* ,g deftypevarx -, .gdeffnx / 0/ 1.0 2g deftypefnx 3 43 524 6gdefspecx 7 867 9gdefmacx :97 ;gdefunx <;7 =g deftypefunx > ?=> @gcindex AgINDEX BA; C@B Dgfindex EDB Fgvindex GFB Hgkindex IHB Jgpindex KJB Lgtindex MLB NgENVIRON ON PO Qgignore RQN Sgifinfo TSN Ugiftex VUN Wgifhtml XWN Ygifxml ZYN [g ifplaintext \[N ]g ifnotinfo ^]N _gifnottex `_N ag ifnothtml baN cgifnotxml dcN egifnotplaintext feN gg titlepage hgN igmenu jiN kgdirentry lkN mgcopying nmN ogexample poN qg smallexample rqN sgdisplay tsN ug smalldisplay vuN wgverbatim xwN ygformat zyN {g smallformat |{N }glisp ~}N g smalllisp N g cartouche N g quotation N gdeftp N  gdefcv N  gdefivar N  g deftypeivar N  gdefop N  g deftypeop N  g defmethod N  g deftypemethod N  gdefopt N gdefvr N gdefvar N g deftypevr N g deftypevar N gdeffn N/  g deftypefn N3  gdefspec N  gdefmac  gdefun  g deftypefun N  gtable g TABLE-ENVIRON g formatter  gitemize  g enumerate gstart  gftable  gvtable  47:?BEHJLNPRTVXZ\^`bdfhjlLnprtvxz|~   #%')+-158:<?CEGIKMPRTVXZ\^`bdfhjlnprtvxz|~                       gappendixsection        gcommand-depths gand=> gassq gcdr gmemq g% oqw}i gspace-significant? g command-spec fUnknown command ginline-content? g string-null? g string-every gchar-whitespace? gstring-whitespace? g*eof*    gread-eof-breaks g eof-object? g peek-char g next-token freading a line g read-char g read-eof-line g skip-while      gskip-whitespace    gskip-horizontal-whitespace gchar-alphabetic? fNonalphabetic @-command char: ' f' gstring->symbol g next-token-of g read-command g make-token gpair? gtoken? gcar g token-kind g token-head gassert-curr-char @ fstart of the command gSTRING gstring gend gstring-trim-both fmalformed @end gEND gbye gINCLUDE gSTART gread-command-token    freading verbatim  gstring=?  f @end verbatim  f   gread-verbatim-body farguments of @-command gmap g string-split gread-arguments greverse f"@-command expected more arguments: f'@-command didn't expect more arguments: f#@-command missing required argument garguments->attlist gread-text-line g string-length g string-ref g substring f@item formatter must be INLINE fInvalid @item formatter g char-numeric? fInvalid enumerate start   gparse-table-args !{ "fInline element lacks { #gparse-environment-args $gparse-eol-text-args %f can't happen &gcomplete-start-command 'gfind-string-from-port? (f @settitle  )fNo \n@settitle found *f"You have a @settitle, but no title +gtake-until-settitle ,gidentity -{}@  .freading char data /f 0gpeek-next-char 1fEOF while reading char data 2f  3gPARA 4gread-char-data 5fExpecting @end for  6f, got  7g assert-token 8gerror 9fno file listed :gread-include-file-name ;g string->list string =gsxml->node-name >g string-append ?gsymbol->string @f- Agindex B5C Cf/@item not ended by @end table/enumerate/itemize Df(@item must be within a table environment EfUnknown token type F@} Ggcall-with-input-string HN<9D Igmake-command-parser Jgstring? Kgreverse-collect-str-drop-ws Lg string-index Mgstring-trim-right Ng string-trim Ogappend Pgparse-inline-text-args Qgmake-dom-parser Rgreverse! Sf!@-command didn't expect more args Tf@-command expects more args Ugsubstring/shared Vf@-command doesn't take args Wg postprocess Xg input-port? Ygcar-eq? ZfTable of Contents [Z \g make-contents ]gstring-prefix? ^gstring-suffix? _gappend! `gstring-tokenize a/ bg string-join cgtrim-whitespace df@set missing arguments ef&expected a constant to define for @set fg fold-right ggcons hgassoc if unknown value jfcopying isn't set yet kgfold lgpre-post-order mgtexinfo-arguments ng*text* og *default*C5hp~]4   !(54+>"G,-h-13@gport gmessage grest  gfilenamef texinfo.scm Z [   [    gnameg parser-errorC-R./0hN]4L56Fgfilenamef texinfo.scm e   e  e   C/hF]L6>gfilenamef texinfo.scm h   h    C12hp] 45OO4O>"GV445>X4O>"GCX4O>"GF gfilename  lgproc  lg current-dir   lgfilenamef texinfo.scm ]  c   c   d  . g 1 g > g @ d   l gnamegcall-with-file-and-dirg documentationf$Call the one-argument procedure @var{proc} with an input port that reads from @var{filename}. During the dynamic extent of @var{proc}'s execution, the current directory will be @code{(dirname @var{filename})}. This is useful for parsing documents that can include files by relative path name.C"R#RRh0] 4455$$CCCgcommand  *g max-depth  *gdepth   *gfilenamef texinfo.scm n  z   z   z   z   {   {  # {   * gnamegtexi-command-depthg documentationfGiven the texinfo command @var{command}, return its nesting level, or @code{#f} if it nests too deep for @var{max-depth}. Examples: @example (texi-command-depth 'chapter 4) @result{} 1 (texi-command-depth 'top 4) @result{} 0 (texi-command-depth 'subsection 4) @result{} 3 (texi-command-depth 'appendixsubsec 4) @result{} 3 (texi-command-depth 'subsection 2) @result{} #f @end exampleC$Rh|]6tgcommand  gfilenamef texinfo.scm ~    gnamegspace-significant?CR#-h8] 45$&6C6gcommand  1gspec 1gfilenamef texinfo.scm                  "   %   -   1    1 gnameg command-specCRGh0y]$"$"$CCqgcontent  +gfilenamef texinfo.scm     + gnameginline-content?CRh ] 45$C6gstr  gt gfilenamef texinfo.scm            gnamegstring-whitespace?CRRhh]4455$64545 &'45 &4>"G""Cgport  agline $ agc  - agfilenamef texinfo.scm                         $   $   '   -   7   8  ' D  E    a gnameg read-eof-lineCRh]6wgport  gfilenamef texinfo.scm        gnamegskip-whitespaceCRh]6gport  gfilenamef texinfo.scm        gnamegskip-horizontal-whitespaceCR-h s]45$C45$CCkgc  gfilenamef texinfo.scm              C hP]4545$"4>"G456gport  Ig first-char <gt   9gfilenamef texinfo.scm               %   )  H .   ?   I    I gnameg read-commandCRh]C{gkind  ghead  gfilenamef texinfo.scm       gnameg make-tokenCRiRiRiR-893h@i]!4>"G45!&"S:&"F.&"9?&",@&"\&"{&"}$445564 5 $Y4 4 554 5$" 45$"4>"G456$6$6$66agport  <gpeeked  <gname  <gcommand  gt  gfilenamef texinfo.scm                   )          "                            $                          "   $  -   1   4  8   <  -  < gnamegread-command-tokenCR    hP\]"A454>"G45$C45""Tgport  Og str-handler  Ogseed   Ogseed   Ggfragment   Ggfilenamef texinfo.scm          $            '  -   /  3   7   =  & A   G  G    O gnamegread-verbatim-bodyC Rha]45$CCYgx  gfilenamef texinfo.scm 5   5 $ 5    Ch`Y]454>"G444,555$& (CCCCQgport  _g stop-char  _gstr   _gret  < _gfilenamef texinfo.scm 2  :  :  :  ;   :  :   4  & 5  + 6  0 6 * : 6  < 5  < 5  A 7  E 7  H 7 M 7 P 7 5 T 7 U 8   _ gnamegread-argumentsCR-hH] $("6("$"(%("$6LLL6( L6$0$""F$4L5"$C6@gin  gnames  gopt?   gout   gt  gfilenamef texinfo.scm V   X  W   Y   Y " ! Y  ' Z  / Z $ 2 Z  6 W  ; [  J [  P W  V ] W ]  a ]  g ^ m _  u _ { W  b  b  c W  h h  i  j  j  j  j ( j 7 j 1 i h  d d  d  d # d  d  e  f  e -  gnamegloopCh(] OQ6gport  "gargs  "g arg-names   "gloop  "gfilenamef texinfo.scm U V  V 8 " V   " gnamegarguments->attlistCR- h0]L $"Z4L 5@&K44L 554455$"4L>"G"$CLL6(gf * dgt : _gt i ~gfilenamef texinfo.scm p   q  q  r   q  s  ! s ( * s  * s  - t  0 t , 7 t & : t  : t  G u  M v  T u  i q  z x  ~ x   ~ gnameg get-formatterC-hI]"445545OQ$Z $C &44 55"$" 4  5$" 4  5C $X &"$ &""+45$"$"45C45CAgcommand  gport  gline   glength   g get-formatter  # gt  Z sgt  gfilenamef texinfo.scm m  n   n !  n   n   o   n  5 y  8 { = {  > | A } H ~  I   L  . U   Z ~  h   w ~  ~       } y              (             '   gnamegparse-table-argsC RG!"N<A# $6A9D-%h]"45$4>"GD$.4>"G44}55D $4>"GD $44 55D $" $" $!4>"G45D$!4>"G45D$4>"GD$!4>"G45D$"!$"$"$D6gcommand  gport  gspec  gcommand   gtype   g arg-names   gfilenamef texinfo.scm                         %   &   *   ,  3   >   B   K   L   P   R  Y   d   i   u   y                                         $   0   9   :   N   R   [   \   p   |                 ;   gnamegcomplete-start-commandC&R'(-)*hX] 45$"4>"G4>"G45 &6Cgport  Wgt .gfilenamef texinfo.scm                  #   /   A  M   S   U    W gnamegtake-until-settitleC+R,-./F0-1 235hv]=4$"5"454545$?"45"(4 5$4 5$""""D@&"{&"}$"45"(4 5$4 5$""""@$ 4 5">{$ 4   5"(}$4>"G4 5"D &45 4 5$]$"4>"G"45"(4 5$4 5$"""" D @&4 5 4 5 "'4 $"$"5"@4 5$14  $"$"5$"""" D$"  $l4>"G4>"G"45"(4 5$4 5$""""4 5D"4$"5"44 5$%4 $"5$"""""C"ngport  g expect-eof?  g preserve-ws?   g str-handler   gseed   g end-chars   gseed   gfragment  ' g term-char  0 gc =  gtoken  3gend?  3 gfilenamef texinfo.scm                         ' #  5 '   '  *   0  3   =  B  H  3 L  P   Q   [   \  # `  3 b  # f  |        3         #  3  #           +  2            0 $  < '  0 .   6  7   =   @   J   P   U   [  ) `   m  s  7 w  {   |        #   7   #                $   7              &   )   :   ?              #      &   )   :   ?   #   3   9   C  * G   H   L   S   \   r  x  7 |             #   7   #        &   ,             1   6              #     1   6   #           C4R-56hH] 45$ 45&45""$C6gtoken  Fgkind  Fgname   Fgt  . Fgfilenamef texinfo.scm               $  .   >   B  2 F    F gnameg assert-tokenC7R89h(] 445545$6Cgport  $gx  $gfilenamef texinfo.scm ?  @  @   @  @   A   A   B  ! B   $ gnamegread-include-file-nameC:R;<h]"g( 45@{&"}&"@&",$ ""4455"gsxml  gin  mgout   mgt   Kgfilenamef texinfo.scm E  G  H   I   I   J   J O J  R K  \ K _ L  b L ! e L  m L m G  n G  q G  y G  z G : G   gnamegsxml->node-nameg documentationf-Turn some sxml string into a valid node name.C=R>?@@DFHJL=;#hm] $"$"$"$"$"$"$"$" $" $"u $"g $"Y $"K$"=$"/$"!$"$"$9445455456$"=$"/$"!$"$" $<4454!4"555456Cegcommand  g arguments  gfdown   gfup   g parent-seed   gargs  ( @gargs   gfilenamef texinfo.scm N O   S   S   S )  S B  T /  T 5  T /  T ) " S  % S  ( S  . U 3 V 7 V  ; V < V - > V @ U  I O   X   X   X )  X B  Y )  Z *  Z 0  Z *  Y )  X   X   X   [  \  \   \  \ -  \  [ )   gnamegindexCAR&AB56h]L6gs  gfilenamef texinfo.scm j   j ,  j 2 j 6 j %  gnamegnew-paraCAAw 43,5hj]LL6bgs  gfilenamef texinfo.scm k *  k ;  k A k 6  C/8;-CN79D3":3hd]LLLL6\gport  gfilenamef texinfo.scm  $   1   &   C5hj]LL6bgs  gfilenamef texinfo.scm k *  k ;  k A k 6  CEF5hj]LL6bgs  gfilenamef texinfo.scm k *  k ;  k A k 6  C56'hb]]"54LL> G45$1$"$645L LLL645$^4$"5$ L O"4L45 4$L"55"6 $L &"L $A4 455  $"4>"G ""L&4 L>"G"45L LLL6$L&"L$ 4L L455L LLL6L& 4L L455L LLL6L &"L $#LLL454L LLL56L6$L"$3445LO5"$454 5     4 5 4 $$""5  $$  L O"""" $$L"""" 4L L4 55"6$wL$"4 5$]4!4"5#5$" 44"55$145$L O4L %&5"R"R"N"JZgport  g expect-eof?  gend-para   g need-break?   gseed   gseed   ;gtoken   ;gs  N \gkey  c ;gseed  gspec  (gt  %gs  U cgs   gs   gs   gseed  Q kghead  { 1gspec  1ghead  1gtype  1ginline?  1gseed  1gend-para   1gnew-para   1gseed   gfilenamef texinfo.scm z       !   +   4   G  $ H  N   \ i  ]   c   o  # u  $  #        ,  ?  ,  -  ,            %  3  %    $  0            %    0  / 4   5   ;  - B   O   U   c i  l   t           $   7        i    /         $   8        i          9   5  i                7 /   8   9  # <  $ Q  # Q   k   t   u  $ {   ~  $      $      $      '      $   %   )   $      (   ,      (   ,      9      8 #   1   7  * ;   ;   G  ! M  - W   X   [  e   i   o   r  ' z   {             j %  j ,  j 2  j 6  j %      gnamegloopCG,HhP]L4> G4LL54L545  $ "  $"45 O LQ &", &" &" &" $ L6 &4L5 L 6O  L L  LLQ  &4455"  $" 456gcommand  Jgport  Jgsig-ws?   Jg parent-seed   Jgcommand   Jg arguments   Jgexpected-content   Jg parent-seed  ' Jgseed  6 Jgt A Wg eof-closes? W Jgsig-ws? l Jgnew-para v Jgs gloop Jgfilenamef texinfo.scm a   c   b   d  ' d  * e  6 d  9 f A f  S g 6 T g W d  _ h  f h $ l d  s r i  w  r x  x i  z  n &  n  o   o ( ( o  8 } $ > ~ ) J z !  J gnamegvisitCh(] OLLLQ6gcommand  #gport  #gseed   #gvisit  #gfilenamef texinfo.scm `  a   # Ch]OCgfdown  gfup  g str-handler   gfilenamef texinfo.scm _    gnamegmake-command-parserCIR>J2h]!(C""($C4?C45$*$ 45""("%$("" 4?"j"Y45$(45$C"0","(g fragments  g fragments  gresult   gstrs   gall-whitespace?   gfilenamef texinfo.scm                "   +  -   2   4   8   ;   @  + C  % I   J   O  ' Q   b   e   h   n                      -  8                      0  gnamegreverse-collect-str-drop-wsCKRJLMNO hH];"4(i")4(" 4556$145$!45$""""$"t4,5$s4,5454545 4  5$" 4 44 5$"55"( 45"""gport  Hgspec  Hgtext   Hgin   :gcur   :gout   :gargs  + 9gparts  ghead  grev-tail  glast  gfilenamef texinfo.scm              ) )  # +   +  6  * 9  9   <   @   A   F   H   L  M   R  # T   X  ]   i  x  y   }                     "        &                        (       '  #   ?                   "  - $  +  7 .  :   :   =   >  $ H  N  H gnamegparse-inline-text-argsCPRIh]Cgcommand  gargs  gcontent   gseed   gfilenamef texinfo.scm        CKPhXm]4545&45C("Cegcommand  Tgargs  Tg parent-seed   Tgseed   Tgseed  Tgspec   Tgcommand   Tgfilenamef texinfo.scm !   "  "  #   "   $   "   %   %  # %  ' & % ( & ( 2 &  5 &  8 & A )  I ) / L ) ( P (   T Ch ]45$CCgstring1  gstring2  gseed   gfilenamef texinfo.scm +   , ,   -  .    Chc]6[gfilenamef texinfo.scm     gnamegmake-dom-parserCQR4Qi5R-STJLUFVhh.]J4L545$*& C"((66$ 6( 645$4  5"  $P4  5  $ "q 4   5"J""-$! &""""""(C 6&gcommand  fgport  fgargs   fgspec   fgcommand   fg arg-names  " fgargs  > Eg arg-names  > Egout  > Egt Egrest  gfilenamef texinfo.scm 3   4   4 ! 4 6 4  4   4   5   4   6   4  ! 7  " 4  * 8  3 =  6 =  9 = > ? D @ J B  P B  V C % \ C  _ E  c @ j F  o F  u @ { H ! H  J  J  J  J  J ( J 6 J ( @ L  L 1 L < L  L  M  M  N * N  N  O * O  O 6 P + Q + Q 6 Q + P % P  O  T  T   W $  W 4  W   W   U   U $  U   U   U 5  U A  U  # V  & V / ( V  E T  E ? J ? < T ? Z : [ :  b ; ! f ; S  f CO#R#h]6gcommand  gport  gfilenamef texinfo.scm Y \   gnamegparse-eol-text-argsC$RWQCh]44556gport  gfilenamef texinfo.scm i   j   j  j )  j :  j   j   j    gnamegparseCXWQCGh0] 45$445566gstring-or-port  +gparse  +gfilenamef texinfo.scm e  k   k   j   j   j )  j : j  ! j  # j  + m   + gnamegtexi-fragment->stexig documentationfParse the texinfo commands in @var{string-or-port}, and return the resultant stexi tree. The head of the tree will be the special command, @code{*fragment*}.C%RQ+Wh0] 454>"G456ygport  *gparser  *gfilenamef texinfo.scm w  {   {  |   }  " }  % } , ' }  ( }  * }   * gnameg texi->stexig documentationfRead a full texinfo document from @var{port} and return the parsed stexi tree. The parsing will start at the @code{@@settitle} and end at @code{@@bye} or EOF.C&Rh]$CCgx  gy  gfilenamef texinfo.scm        *   %   gnamegcar-eq?CYRR$Y8O5 h(9]3(45D$4 5"$45$45"$45D$W("( "4L> G4 5"0 $  """1gin  !gout  !gdepth   !gt  / !g node-name  Y gout-cdr  gout-car  gnew-in  gnew-out   gfilenamef texinfo.scm       "  -                  $  0 *   /   8  ! =  * ?  3 A  ! E   F  ' J  - M  3 R  ' S  ! Y  `   d  h  i  + p   r   w   {     .  2    4  .  ;    1  8  <  1      -              "  "            !  =  ! gnameglpC[h0]OQ4 > GCgtree  +glp +g_   +gcontents   +gfilenamef texinfo.scm       '       %    + gnameg make-contentsC\R]2^_`ab/ h`]$" 45$" 45445$"5$ "6gstr  ^g trim-left?  ^g trim-right?   ^g left-space?   ^g right-space?  , ^gtail  G ^gfilenamef texinfo.scm          +          $   (  , ,   ,   /   2   >   @  ) E  / G   G   Q   S  ' V  ! ^    ^ gnamegtrim-whitespaceCcRRJc8dLefghUimjk\hx~]( 45D45$4$"45"$$(4>"G"45$r4 5$:4 545"" 6 $\4  4 44555$"455"$"f$A4  45$"455"$&4 4L55"4L$"45> G""vgin  vgout  vgstate   vgfirst?   vgsig-ws?   vgkey  _ Zgi   gt  @ `gt   gkid-out  8 Zgstate  8 Z gfilenamef texinfo.scm                       "  (   +   0   5  ' :  > ;  7 =   @  S   V  W   [   ^  _   m   r  s   w  & ~           $          +   &  1  <  &  D         -  8  &               #  $   '  *  - .  3 1  8 6  - 7  ' <  @   @   O   S  & V  6 ]   b   w          "                $   +   $            &                    '              ' %   ,  * 0  > 2  * 7   ;  B   G   Z  ]  `   c   v  t  v gnamegloopCh0]OQ4> GCgtree  +gloop +gout  ! +gstate  ! +gfilenamef texinfo.scm            $    + gnameg postprocessCWRlmhq-13Cigx gt gfilenamef texinfo.scm   !     Cnh^]CVgx  gt  gfilenamef texinfo.scm     Cohh-13C`gx gt gfilenamef texinfo.scm     #  Ch ]6gtree  gfilenamef texinfo.scm          gnameg stexi->sxmlg documentationf Transform the stexi tree @var{tree} into sxml. This involves replacing the @code{%} element that keeps the texinfo arguments with an element for each argument. FIXME: right now it just changes % to @code{texinfo-arguments} -- that doesn't hang with the idea of making a dtd at some pointC'RCgm  ,gparser ] cgfilenamef texinfo.scm  J Z o ] r  u m x i  | h \ n  ~ 4         +               p   2 : U " m '  )'  3  4t  5 ? 7 E e i w i  oh  q  z  ~l  2  ~n C6