view release on metacpan or search on metacpan
lib/Ecma48/Util.pm view on Meta::CPAN
return defined wantarray ? $_[0]=~s/$re//gr : $_[0]=~s/$re//g;
}
#*** remove_bs_bolding *** js15.10.2012
sub remove_bs_bolding ($) # ecma-6 not part of ecma-48
{ use re 'taint'; my $re=qr/([[:graph:]])\cH(?=\g1)/;
return defined wantarray ? $_[0]=~s/$re//gr : $_[0]=~s/$re//g;
}
#*** replace_bs_bolding *** js17.10.2012
sub replace_bs_bolding ($;$$$) # ecma-6 not part of ecma-48
{ use re 'taint';
my $s=defined wantarray ? \do{ my $dummy=$_[0] } : \$_[0];
my $b=$_[1]//1; my $e=$_[2]//closing_seq($b); my $i=$_[3]//'';
for ($b,$e) { $_="\e[${_}m" if /^[\d;]+\z/ }
#for ($$s) { s/([[:graph:]])(?:\cH\g1)+/$b$1$e/g; s/\Q$e$b//g; }
my $emiss=0;
$$s=~s{(?| ([[:graph:]])(?:(\cH)\g1)+ | (.)() )}
{ my $r;
if (!$2) { $r=($emiss ? $e : '').$1; $emiss=0; }
else { $r=($emiss ? $i : $b).$1; $emiss=1; }
$r
}gsex;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Email/Outlook/Message.pm view on Meta::CPAN
my $MAGIC_COMPRESSED_RTF = 0x75465a4c;
my $MAGIC_UNCOMPRESSED_RTF = 0x414c454d;
my $BASE_BUFFER =
"{\\rtf1\\ansi\\mac\\deff0\\deftab720{\\fonttbl;}{\\f0\\fnil \\froman "
. "\\fswiss \\fmodern \\fscript \\fdecor MS Sans SerifSymbolArial"
. "Times New RomanCourier{\\colortbl\\red0\\green0\\blue0\n\r\\par "
. "\\pard\\plain\\f0\\fs20\\b\\i\\u\\tab\\tx";
sub _create_mime_rtf_body {
my $self = shift;
view all matches for this distribution
view release on metacpan or search on metacpan
t/iso2022jp2.enc view on Meta::CPAN
0x6940: $(DDB(B $(DDC(B $(DDD$BML(B $(DDE(B $BIv\8BJ(B $(DDF(B $B\>A?$(DDG$B\5\B\A(B
0x6960: $BFo\@Fj$(DDHDIDJDK(B $(DDLDM$B\D\7$(DDN$B6H\:=]$(DDODPDQ$BG`\<6K(B $B\4\6\3$(DDRDS$BO03Z\9$(DDT(B
0x6980: $(DDU$B\C35(B $Ai-(B $AS\i4i5i7$B:g(B $(DDV$B1](B $B\T$(DDW(B $BO1\W$(DDX(B $(DDY(B $B?:\V(B
0x69a0: $B\U$(DDZ(B $(DD[D\$B\R$(DD](B $(DD^(B $(DD_$B\F$(DD`(B $B\c\E(B $B\X(B $(DDaDb(B $(DDc$B\P$(DDd(B $B\K\H(B
0x69c0: $B\I(B $B\Q(B $(DDe(B $Bt"$(DDf(B $B\N9=DHAd\L(B $B\G$(DDg(B $B\J$Ai@(B $(DDhDi$BMMKj(B $A<w(B $B\O\Y$AiD(B
0x69e0: $AiF(B $(DDj(B $(DDk(B $B\a\Z(B $(CKH$B\g(B $B\e$(DDlDm(B $(DDn$B\`$(DDo(B $(DDp(B $B\_(B $BDP(B $BAe$(DDq$B\](B
0x6a00: $(DDrDs$B\[$(DDt(B $B\b(B $B\hHu\n(B $(DDu(B $(DDv$B\i\l\f$(DDw(B $BCt$AiL$BI8$(DDx$B\\(B $(DDy$B\d>@(B
0x6a20: $(DDz$BLO\x\k$(DD{(B $(DD|$B8"2#3_(B $B\S$AiI$(DD}$AS#$(DD~(B $(DE!$B>A\p$(DE"$B\w<y3r$(DE#(B $BC.$(DE$E%(B
0x6a40: $B\m$(DE&E'$B\r\v$(DE(E)$B66(B $(DE*(B $(DE+E,E-$(Cbe(B $(DE.E/(B $B5L\t(B $(DE0(B $B5!(B
0x6a60: $BFK\s(B $(DE1$AiM$B\u$(DE2(B $(DE3$(C|t(B $(DE4$B\o$(DE5(B $B\q$AiV(B $AiZ(B $(DE6$B3`(B
0x6a80: $BCI$(DE7(B $(DE8$B\|(B $(DE9E:(B $(DE;(B $(DE<(B $B\z8i(B $B\y$(DE=(B $B]!(B $(DE>$B[X$(DE?E@EA(B
t/iso2022jp2.enc view on Meta::CPAN
0x8260: $(DW'(B $Bg`$(DW($Bg_(B $B4O$(DW)$Bga(B $Bgbgc(B $(DW*$B:1NI$A<h$Bge?'$AQ^eu(B $B1pgfgg$A\3RU$(DW,(B $(DW-$Bgh$(DW.(B
0x8280: $(DW/W0$A=Z$(DW1W2(B $(DW3$AXB$(DW4W5$B0r(B $Bgi$(DW6$A\6(B $(DW7$Bgj(B $(DW8(B $(DW9$A\<\E\=$(DW;W<$AN_V%(B $Bgl(B
0x82a0: $(DW=W>(B $(DW?W@$B3)02$(DWAWBWCWD$BgkgnGN$(DWE$B?D$(DWF$B2V$(DWG$BK'$(DWH(B $(DWI$B7]6\$(DWJ$Bgm$(DWK$B2j$(DWLWM(B
0x82c0: $A\J(B $A\P$B4#$(DWN$AN-\B(B $A\C\H\I2T\QKU$(DWO$B1qgrNjB]$(DWP(B $BID$A\\$Bg~$(DWQ$B2Wg|(B $Bgzgq(B
0x82e0: $(DWR$Bgo$(DWS$Bgp$(DWT$B<c6lCw$(DWU(B $(DWV$BFQ(B $(DWW(B $(DWX(B $B1Q(B $Bgtgs(B $(DWYWZ(B $Bgygugx(B $(DW[W\(B
0x8300: $(DW]W^$BLPgw2X3}g{$(DW_W`$Bg}$(DWaWb$A\](B $B7T$A\W(B $A\`(B $A\c\d$Bh#h,h-(B $A\a]"\g$(DWeWfWg(B
0x8320: $(DWhWi$Bh4(B $A<k4D(B $Bh+$(DWjWkWl$Bh*$(DWm$Bh%h$$(DWn$Bh"h!Cc$(DWo$BB{h'$(DWp(B $(DWqWr(B
0x8340: $Bh&(B $(DWsWtWu$Bh)$A>#\t(B $BAp7U(B $(DWwWx$B1Ah($(DWy$B9S$(DX>WcWzW{W|$BAq(B $A<T\i\j(B $A\q\v(B
0x8360: $A\y54(B $AHY;g\~\}S+]!]#]%Rq]$]&]'R)$(DW}(B $Bh:(B $Bh;(B $B2Y$(DW~(B $B2.h8$(DX!(B $(DX"(B
0x8380: $(DX#(B $(DX$(B $(DX%$Bh.$(DX&$Bh6(B $Bh=h7(B $(DX'$Bh5(B $(DX($Bgv$(DX)X*$Bh3(B $(DX+X,$Bh/$(DX-X.X/$B4Ph1(B
0x83a0: $Bh<(B $Bh2(B $(DX0X1$Bh>$(DX2$Bh0G|$(DX3XL(B $A](@3A+]*]+$Bh9$A]2;q]5S(]:(B $A];C'$(DX4X5(B
t/iso2022jp2.enc view on Meta::CPAN
0x8880: $(D\8$BjOjV(B $A0@tA(B $B76(B $BB^(B $Bj\(B $BjX(B $BB5jW$(D\9$BjZ$(D\:\;\<(B $BjQ$(D\=(B
0x88a0: $(D\>(B $Bj[(B $Bj](B $(D\?(B $(D\@$BHo(B $AO.$BjY(B $Bj^j`(B $B8SjT(B $B0A(B $(D\A(B $AqK$(D\B\C$Bj_(B
0x88c0: $(D\D$B:[NvjajbAu$AqI(B $AqL$(D\E\F\G\H\I$BN"(B $(D\J\K\L$BjcM5(B $Bjdje(B $(D\M$BJdjf$(D\N$B:@(B
0x88e0: $BN#$AqMqO?cqP(B $(D\O$Bjk(B $(D\P\Q\R$Bjl>Xjj$(D\S(B $(D\T$BMgjg(B $Bji@=?~(B
0x8900: $(D\U$Bjh(B $Bjm(B $(D\V$BJ#(B $Bjo(B $Bjn$(D\W\X\Y$B3l(B $BK+jp(B $(D\Z\[(B $(D\\\]\^$AqZ$(D\_$Bj|jr(B
0x8920: $(D\`$AqW(B $Bjs$(D\a\b\c(B $Bjtju(B $(D\d\e\f(B $Aq\$(D\g$Bjy(B $Bjz$(D\h\i$Bjx(B $(D\j(B
0x8940: $(D\k$Bjv$(D\l$Bjqjw$(D\m\n(B $(D\o(B $Bj{p7(B $(D\p(B $(D\q(B $B2($(D\r(B $(D\s\t\u(B $Bj~6_(B
0x8960: $Bj}$(D\v\w\x$Bk"(B $Bk!(B $Bk$$(D\y(B $Bk#$(D\z$Bk%$(D\{(B $B=1$(D\|$Bk&$(D\}(B $Bk'(B $(D\~]!]"]#$Bk(@>(B
0x8980: $BMW(B $Bk)(B $BJ$GFk*$(D]$$Bk+8+(B $(D]%(B $B5,$(D]&(B $Bk,$(D]']($B;kGAk-(B $B3P$(D])]*(B $(D]+(B
0x89a0: $(D],$Bk.(B $(D]-$Bk0Mw(B $Bk/?F(B $Bk1(B $Bk2$(D].(B $Bk34Q$(D]/]0]1]2(B $Bk4(B $(D]3$Bk5(B $Bk6(B
0x89c0: $Bk7$A<{9[(B $A9fCYJSjh@@>ujijjjk(B $Ajljmjnjo=G(B $(D]4]5]6]7]8(B $Bk8(B $Bk9k:$Au|(B
t/iso2022jp2.enc view on Meta::CPAN
0x9720: $(Dg'g(g)$BpE(B $BL8$(Dg*(B $BpF(B $Av0(B $BpG$(Dg+$BO*$(Dg,(B $B[1pH(B $BpIpJ(B
0x9740: $(Dg-$BpN$(Dg.$BpK(B $BpL(B $BpMpO$(Dg/(B $(Dg0g1(B $(Ctl$B@D$Av&(B $(Dg2$BLw$(Dg3g4$B@E$(Dg5g6$BpP(B $BHs(B
0x9760: $BpQsSLL$(Dg7$BpR$AXL$BpS$(Dg8$BpT3W$(Dg9$BpV(B $B?Y$(Dg:(B $BpW(B $(Dg;$B7$(B $(Dg<g=g>$BpXp\$(Dg?$BpZ$(Dg@(B $(DgA(B
0x9780: $(DgB$Bp[(B $B3spYp](B $(DgC(B $Bp^(B $B0H(B $Bp_p`$Aw2w3(B $Aw4$(DgDgEgF$B>d$(DgGgH(B $Bpa(B $(DgIgJ(B
0x97a0: $B5G(B $(DgK$Bpd(B $Bpc(B $Bpb(B $Bkq$(DgL$BJ\$(DgM$Aw5(B $(DgNgO$Bpepf$(DgPgQ(B $(DgRgSgT(B $(DgU(B $(DgVgW(B
0x97c0: $(DgX(B $Bpg$(DgYgZ$Bph$(Dg[$Bpi$(Dg\g]$Bpj$(Dg^g_g`(B $(Dgagb(B $B4Z$(Dgc(B $(Dgdgegf(B $(Dgj$Bpk$(Dgggh(B
0x97e0: $(Dgigk(B $(Dgl(B $AN$HM(B $A:+h8h9h:>B$BG#$(Dgm(B $(Dgn$Bpn2;$(Dgo$Bpqpp$(Dgpgq(B $(Dgr$B1$(B $B6A(B
0x9800: $(C{azmp"Lq(B $B9`=g$(Dgs$B?\(B $(Dgt(B $Bps$(Dgvgw$BprMB4hHRF\$(Dgx(B $(Dgy$B?|NN$(Dgu$B7[(B $(Dgz(B $(Dg{(B
0x9820: $(Dg|$Bpv(B $(Dg}$Bpu$(Dh(g~(B $(Dh!$BKKF,$(Dh"h#h$(B $(Dh%h&$B1P$(Dh'(B $Bpwpt$(Cw](B $BIQMjpx$(Dh)(B
0x9840: $(Dh*(B $Bpy$(Dh+(B $(Dh,$Bp{Bj3[3\pz(B $(Dh-h.h/$B4i82$(Dh0h1$B4j$(Dh2h3$BE?(B $BN`(B
0x9860: $(Dh4h5(B $(Dh6h7$B8\(B $(Dh8$Bp|$(Dh9(B $Bp}p~q!(B $Bq#q"$AR36%Gjq|OnK3PkgoMg9K6Y(B
view all matches for this distribution
view release on metacpan or search on metacpan
t/x0213-1-compatible.enc view on Meta::CPAN
0x5b20: $B[!["[#[$[%[&['[([)[*[+[,[-[.[/[0[1[2[3[4[5[6[7[8[9[:[;[<[=[>[?(B
0x5b40: $B[@[A[B[C[D[E[F[G[H[I[J[K[L[M[N[O[P[Q[R[S[T[U[V[W[X[Y[Z[[[\[][^[_(B
0x5b60: $B[`[a[b[c[d[e[f[g[h[i[j[k[l[m[n[o[p[q[r[s[t[u[v[w[x[y[z[{[|[}[~(B
0x5c20: $B\!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\0\1\2\3\4\5\6\7\8\9\:\;\<\=\>\?(B
0x5c40: $B\@\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z\[\\\]\^\_(B
0x5c60: $B\`\a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z\{\|\}\~(B
0x5d20: $B]!]"]#]$]%]&]'](])]*]+],]-].]/]0]1]2]3]4]5]6]7]8]9]:];]<]=]>]?(B
0x5d40: $B]@]A]B]C]D]E]F]G]H]I]J]K]L]M]N]O]P]Q]R]S]T]U]V]W]X]Y]Z][]\]]]^]_(B
0x5d60: $B]`]a]b]c]d]e]f]g]h]i]j]k]l]m]n]o]p]q]r]s]t]u]v]w]x]y]z]{]|]}]~(B
0x5e20: $B^!^"^#^$^%^&^'^(^)^*^+^,^-^.^/^0^1^2^3^4^5^6^7^8^9^:^;^<^=^>^?(B
0x5e40: $B^@^A^B^C^D^E^F^G^H^I^J^K^L^M^N^O^P^Q^R^S^T^U^V^W^X^Y^Z^[^\^]^^^_(B
t/x0213-1-compatible.enc view on Meta::CPAN
0x6560: $Be`eaebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze{e|e}e~(B
0x6620: $Bf!f"f#f$f%f&f'f(f)f*f+f,f-f.f/f0f1f2f3f4f5f6f7f8f9f:f;f<f=f>f?(B
0x6640: $Bf@fAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf[f\f]f^f_(B
0x6660: $Bf`fafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzf{f|f}f~(B
0x6720: $Bg!g"g#g$g%g&g'g(g)g*g+g,g-g.g/g0g1g2g3g4g5g6g7g8g9g:g;g<g=g>g?(B
0x6740: $Bg@gAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg[g\g]g^g_(B
0x6760: $Bg`gagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzg{g|g}g~(B
0x6820: $Bh!h"h#h$h%h&h'h(h)h*h+h,h-h.h/h0h1h2h3h4h5h6h7h8h9h:h;h<h=h>h?(B
0x6840: $Bh@hAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh[h\h]h^h_(B
0x6860: $Bh`hahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzh{h|h}h~(B
0x6920: $Bi!i"i#i$i%i&i'i(i)i*i+i,i-i.i/i0i1i2i3i4i5i6i7i8i9i:i;i<i=i>i?(B
view all matches for this distribution
view release on metacpan or search on metacpan
|»\ª TªíZVÊÀ^à'cKÓyÛ G
xÜx²úïÃY<§pF§QÚÎK*PßL`àh>^³°Øë ·×*µ_<õÔ¯´Ú%$rIÂg
0wªB"ü» Gã9hT
O*ü«áEñtzcýæ®íìîIOFÃFãl´çîíp,kÂbw\×*%/¼¹puuåâÅKk«+
6â1è¨{'DÇ 6fJéÛíFqTmÔCÛ©Vk:\|ÿ
§×Äâ±±°\¯×gÂL£a2"LQ©ðïòÖlxþÆEÖÖVJ!¦Â§@§ÝÔµG¼ÃnVÈØÚOÅ?)àþ:Áâ#å~·ÏANÛN'}4ËÀ°a5nÖ&-
"ﯬ,ûð£Xj/=ÿÂó?ºûîÅ¥%Ðr¿êì±Q'Gslg¬Û¦`Í æwæ&ÕSf+ÅO½Ú*j»*sÎç_XÁd8Ü@ܸ±½»£<'õzßìî#Mnïît:§'c÷> þ.ß}7µÖ ,½¸:Û...
vªT+`.ä«åjs¡ &Gñ(î om¦mèÇZ£é$!Òf,¦àñùI¯Û»g½Öv 51lf¦»xYå0ÙÕËKk¥rimuíW/<ÿû¨/4Cec«}¥Q`U¤åftA½æùau0s¢q4ÀµLe>ÍÙ
PeÃ<ÎÀLÐRFØ^wk{Q¶·0
ñ1ªG2bËÞ~zvºqsskgÂ1]}g.¬TV¤kçVÍ6ä¼¼9,X¨_c £N÷l4áR!Oú¦¸êØ*k-ÕêÓ¹iªBâ?NAxM&Ðg§§4^ÅÈâE§Á4ÊÜë## %5¹ê8§z2Scý ±öxJÍÆüZFEÂL¢él<Mã8vY2
UçbU¨rþaì-ÕÇ!0xÂ{©½íº|×Ý¿zá¹Gz¤Õ^à0¸N6©5⪷d%...
!P'Ó!b7èã&!Lg¬ArÜ#®^X\Ï;ßnÕø@0èÁ°Çì9sñÄï4¯·êðæç_øÕã>~é®Ëð#³zj6åÅí(,RFoÆ.
;%&KZ·£P< ç
¨ýçyÊK²¨ÓêÓ$qwÐ?ØÚùNÎN´³Û<òüt Ìðìèà@ðÉñ8â ánÐõzÛÇç¨Ñ#i@ÏáÖðss»Àbe#"b","|M_£Ñ7?BÌ
ûEÏ7ÇfÃñØÕ[&ϰ Ïó...
ÅqÒ9Ç3\gÐ9î6ZµóçyöG~øò]wÉ¡Jæ
¨ùX:Ûn|îÌíXÒì9_é±ãÉÈ´f3sâ@CÊøÆeÇÀ3#p:ov;Û»gîéÙq§×¶
|Acïû0# sÚ981ÝCàNá¨Ó¥µ ?RSÖC6.\Uÿ5Á62hû,q8ÕÐ÷#/A°
ÇH;,ËFÃn Iîã%ªõøþ¹r÷½÷)!YÇ|z
ú/0{Ïcí´ E²ùÂNÀq/P²$\}<ìôúá ...
Í餿3î¶íåìÞeSìнþÙp<f¹\ºÝ=Ï»ý.}ÓfIåèää`oÿ¬ÛÁ°ÚR¬o/¶Ï]0=
lUè:¾õb5K,HÉtª@gظ ?öCØ&P`Ý1Áá9@TýÇ?ùÉõë×GãñB«ùÄϾÐh !}ávadâf£ÀÐ)Ëç¿9C" !-ð]¥ZC\2-Ã9Àfuù¤ÞÑÑé ÕGr
Xоø+åQî¤QëÜu
QT£´
ß
½ÐW¥QÆ(ÀrcÄâ¹s/¼ôÂ#<Ò\háfLµVm£ÌN³20 =Çòåé¡Mf#=¡0/K3{«UåÓlSÜ?<ÚßÙ>:>î÷»X.
½`É4"&#ÂýÁàäøä¬sÖíö@Ó ÚKK+øßêZ»ÝFRâ@»olÅ3dtø*J`f0@*O§ NÃѸ×íÃ
9^-#¡Ë ¸g³6îüÅóø¬þ ½üÚ¯#I«>C^Òæñà2Vàìë|ê
ÔúÌ
FéhæùmîÞ§.pßÉp¡ªáPº6Æ;==ë÷ûõjciyép<äÅá]¡xQ..V+5Pix
¯°sªÐ¬ÍFë©_>õØ£-,¢<q®£ð6® =µÕU?·óù¼ }çB ?3ê<+Õ\!
stream
xÚ¥YKÛ¸¾Ï¯ÛRUCà˧صNâÊÖ&Ö{ (ÌYTøðxþ}ú8k§R®²@ t7º¿~ºàºÏL¥Å}ZP§ê¾:ß½¸ûÓ_tv_Eß?<áÃñ×àCSïö:Ë÷uÓíw¿=ü¤j&M¥dmêÃûuì»¶®°êºÁ]wîp°×Äü¨$Eþs÷ëoÑýñ.ºÿé.
"½q"¿?ß4µÉ廹ût÷T©Á£TX¨ü
év* ¾ìtؾßíá£>Zo<u#w*RÏ£ýEºµG^<ØÇ],ÃA!J×ìUª4¥ëÞµ¸ò²ÛÇ
ª¦Ö-ÿ'(^ÑßìöF°Z5Ó±nf¢«,
ãØX}×B³Z0W,n?ȶpul+ú¨N(.=×ãiãf
y:
~E¢on7*̲7¤}Ea®á©<UÐÒó ®ºm²fLº©Ç=¿ï4ðÊ_Õ©l¬l ý¸SÛ{(ºZhABÐrä$]7¼ÜZ+
Ç#:ü¬u<Ú¦_ãwfXD;è`Ôóp}
ÎXL#¸J-QNäÖâÒ³Ø9û´øh_ñ?[M£·A¤}qfkÏ[VøUÁÖ-Tå̧(ÜÀ4lý<ý´e;ò
©Þö'$eêd#KQc¸Û§& >±ËÏÁ5drH\ê7ô¿u7¿ajSþõ÷ù'kù¨ ·Íp8=[|
S/#ëÎnõb«Ñ¡rGuåü²·üÓåÒõ¨ý3ÖbÅLðD¼i1\g¶qÔ#S8ælϱ²éxXõ¶-S<åk>äìr·ìʳZÁõ¯yBDþ<;4¯ ýaäoÿüY6ÀÚñ,äÜ'i<°Ì¦àw"îEÀXÄÄ õôÖîËþi:ÛV.xïH@_£ßyiWõÇ...
>n§â0Ññ·!2;@£ÐZÁMCÞÜ£h³x<édô(£A%¸IÇðSà^R#ÌàãàË(E/+`ÄðõæV6ø;dKés!;Ø%Þ
hóÎ"ÊjD¿Ã¦»¹ÒT%NQ-Àm½ïL&
»UÇJpÀö£
Áü2À¹¿YÖAe&Æ*¨EC:ÊC-h¸GYå· {á¹KðcBá#¸y/@>[.}
Òñ\Ç¿¤Æ=ÙõØwgaÝ-+ÍÃDß~HÈ"¼-Ål¤0¹`Ôµø8)ttüqm°qä¶Ô§Íp~7áûDüÁ0>ô"CÛ+KÆ8@ѳï;¯õà~É·õ-\±ÅALIN°ÉÔ`ã©F%^zÈbzêÿÒ}'â
Ü6Ý¡5öfÒ×#nYúì¯Z[Ùa(eE1È"Ïb ÂÇÛ4á³å"..=Iö¥î&
yà QJþ¥u_}4æc`¸â_å=IL1
ÃÍ,7É`äêOÿúåÃ?ß¾Ýô{;tQÐ(¾¢Ó±Oað
4Z)gté§Ää)æZ¶C¸£
äaÅ"
üý9J"Õ²øv,¿òç|ö0bÒÕÃUÝùÜþ²Ã Éì4¾øG,jéù:+Ls¯0âuEøU!L|²²m°ôÌüõ`oùS©Âä%¡
åMU¨hq§Þ¯¹óëÇ?>àÐõ#$ ±f>IE¸"±,²#ÕEd#Ý;ç3Z»Õ
{{WìÉØ¿ÓXärµl4Ư7Û2ÍCCËäfÜrÛQ Íçhd
ë¿sõýÈõH%ËókÂu¾kÓ¶ú{jéæð¶`/AÛO¹5'Ó· зÆ|»e¼·ßî¹6~졵Tþ§Zú=µ®µÉÜ÷B K¸M¢D-f¥^¾ÐézjÔí®ÞÇF-áÙËÌ7Êù$ioJÁJ£e|2ÊSßMá@Ò̽¤jñÕY...
½áìÄñþ¥Àþô=FWj»¯\ô²
Úéª,úY¾wt¦âtWú>ÍP¦¸0SQÄê
çáYHy yîɾÆQÁÁ´"Ç·}ÃN¦KÐË´Jch÷¯¦yû¦òªH³l~âÎU^ÍLz5z?LCu
'ûð< v\ðàI
ϯZxWó¯GLä)TC-KhMÓéùÙz<n¢T¹Ô¿ÅG¢LæÔÄra
C-_ì@yääJ1'nÿ
÷[Auvc¹|ÒÁ{T»ç1·£çj5"8ËüÓòXó'<øòß'¹´3Y^ßM¬GÂb^Dc{Ý9÷¹-Ûì-Ü·üIgM¾Ã ýIû¨iÎÝ$G×¥Zj_pRZcªCsÅ/ÔÕ¨rN;_U9á4pV±î,L!Ê+Á¦OÝÙ¸tòU41øÏ%Wÿ°ùü^I\gùÿ÷'ZÅuZÏÿ¯÷ÿ¯}à î/gÛë¼ø²õ§aQBâóY¬L¼ÿî
eäendstream
endobj
927 0 obj <<
/Type /Page
/Contents 928 0 R
/Resources 926 0 R
view all matches for this distribution
view release on metacpan or search on metacpan
Tutorial.pdf view on Meta::CPAN
Û~ÑÇèV <Õ_nS6e3æÈR~xAJl!s:òÞÚ+Þ;T,YÊlZ1¸£ýÕ(½4"edÐg1âP~PJU §(÷ζcc%\À¥¼»O®äÞïâ)/àI¦a¬î *ù0ò¾ò}&ö.6qùl³tËl:[Ù¶·ö/Ê¥1Â~q92.ÓÞÅYv-?(¥+õ ò~.C9ô6ÊåÝñÂdËtZÏÌå_JTÖçÊÄÐ_N`}O·ÆXèD¹ÒþÝ0EY© ýZ=øëݵ?ícZµe:fþ&(PM...
¦P¦ëd,bën³Y©ÊvÜ«¥Õ² _áýÏZ{Øö{¼k¢[U±0%*<1VòS-³çâÁµ·
}èIõ-93áñ_¬°Mº³WÅÃdEë¼Sø¦uÌá`ÒçæìðÚ{7ýÄaUIÓb³\åsh¢ko²'{ÊÁ³òÑoæÌd*oö/רkfr&\ËÇÑbµÌzº³ i5Êìr±WJr*Óë@þ¬Wy+38c¶B³r˳ÍcÐ>e:j%Y¦röI4áZ%F¢Q»rØû-½.¿÷Ë>¿+ËP6ô®´A'x{¿¯ú´õTâHçüZZ¹k=kr[%<§s...
$æ\¡m6²åéüÄ!lä#(iº[®ÛʶÈM2Ùëªð½Rçd¥±Í.!±]s(Ö-t£Ì³´SVm¥j*/M¥;@CåØÇËʾØ}fÝ7-^p+íÌ¿"Á1ÝUö±#ûæWáüU¤L_mU¥SöËGæW¾b<ËàT¶dVvDoɬç%\Ê
má«÷#U$½£©Z»Ê5æs¸]UUãÊcãQvº(±PP¦¯«PÖÜùý©ºªÆ¡ÜêÀ?ã×Kâ/EjT9¼SÞ£moû±=G©|¿¼±m²¶Ö...
ÙQÝXvxïy~ïìÇ8 ÜÞÀXµógBn m®|m\»;¸éöõvXÀǨÿaÇfi¼ôéÕ=¡äüÊN?ȧ¼R;K>ÃÊí
ÿæ2vØËi¿RfK¡nQØ7E\Ïj[=³iÊÙy¸º¨äò.¨2çr¶r®[08^Úk(ß{Ñ÷[cL|Z]T^ßPi:^¸X);mR>½l+¶ýÖKNÆX¨¼càTPÊ´¨BÙ:&e?çWPÊ)ËË$v0ûÌ[®*7Ð+»+R¶Xù@Á:...
¦P¹òm?G/Ê )Ïvæ 3²dû1*:~yZäQö$~WZÊ6-¬,×þå2Ã\ a.ÌÅbfÎLÃáñt»¥lÙ×ô2[ÀL¨1ȬåYÐá`ËÄg°ÈDåfV˲Qv-ï$ëø°³Y,¡»&LÑ4*@{¿rÓZÞ\g"£å[%¨.jfÂIѳCU³·Q¹ÔÈ@åZSPòÜHAåb
á£*ÅF6*·CÙA¾êQYÈ@eT%2P¹eÈÕQ¨\*×Q̨\*×...
yëÜ ¹Aå²ùoùë½íû¿À¯ÿ®ÙÇÀ(»ÿÜC-ûKßñmòWgGK¹baªLs*ùfMXÊ%³½¤¹lÓSRÒ+ѱFå\Å¼ÇæÛËteÒoÒ±Kæ ïéalç2*çm;§b¾!kßÐ^{¹Þc``ÅìÜ/éfÈý
íñ2rû3ìpÛï3r%=`L9¶KßÒ¢ÄÁÀ¨¦Ük´ÙF§*
o¨!"Âl#r-Î"×1Ô°¹ÁØ@äêcÃFä
bcÚFãê j$®°aÃ
6lذaÃ
6líÿÿÿârõä
äÿÿVMoGvª¨éG½´B*#NAJýAB*D,!@ÄjUw_Ûë]³3à¶"âzâZ**«½öÀ¡?*¨k95UP#Thµâìôõg¶¶äì³;û~<Ï3ïd:7N¦Ó¤óãIjî0ɤI®@ÒdìСä8ÉÙ#¹.¨â%TX%ð,ÁIÞ%Âðâ@îÂPjÆF¨%ØUs»xP×Þi¹EÆ
OóܾWýk§v m·|NXs`*QÁóuR.À<Ù3MÞÉTíݽR...
ìQì´jPU H-KùeQ{2¬ËTT$R1,Ô
#ÆöäídÀY§ÂNúl3m)wµJ;ÉNn1³#iH¯ì3%Yíù|ÒêÚÒtqµízj¯«ÊÛëm©á#ÀµMNL¿~(W<úUm`\S÷³yæ¸ÄÑ¥´ÍîôXÚ
ÊtñoM8<#/ñTߤ>(Éø¸úµÊCÓÙÔÌüG©lêìñi92;Á¯ùý8Õ3-õ27:ÿ䤦ÏÌÉQ"±OÆPÁáúMnüÕA+ru£Ýõ:hýîw{ÛhùøøÑuµ6 ï÷¯]ºùBËÄËamåÉ...
Tutorial.pdf view on Meta::CPAN
9234
endobj
298 0 obj<</Type/Page/Parent 222 0 R/Contents 299 0 R/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F8 6 0 R/F9 7 0 R/Fa 8 0 R/Fb 9 0 R>>/Dur 10/Trans<</D 5.0/S/Split/Dm/V/M/O>>>>>>endobj
299 0 obj<</Length 300 0 R/Filter/FlateDecode>>stream
xÚ¬XKo×BÕÝ´0Ð\ *Ì/=¬,Çvqáè¢*Ëá%y£á5wF¶°UзMáBh·]dÑ^EÜfÛ¬êÂA q+U DB§ß¹óâ([j4ïÌ}ï;ç|ç\nLùY*>æÛdEü½4˪eæ
Ö,éG%V£f{ryËx|`ÙÌõV*²ÕæÎWñ¥>}Óf^K0.kq»^`NÃ6Ûq|ܲjÜ\WlKZ³ÙBÔõi7·Í=éØu\gSÖñ¦¶£_v¸R]\}kræz1:túÚ¦°½ÅEý_ø*¶g9µ·©ÙK¥2ÙkÈXa3Ù´ M)WiʲP8VEgº¼-<à6>ÜôV)æØÖNdÏtl·ÂkI»É¶ZÒl1Õr|°_#ØÕaÜ4 ¢½jñJpË q
ç»6Ûð¥¹níä5Ø-Ñí÷Z...
ÉÿtÚä.ò_éÐ~m.µ uÇsMßv¥?Ã
ËCX̬ö¤èHS>iZL¸=äëÂýL¸àݧ¦ ªPJ·:-]¿¹"t2زOñ,F¥)b¢ãMéøJÿ¦Ë;-í¸8p|xä³åHjPÂ7YÁihÈ>Ê äzÕ¨F¡[©stlÅ7ØkÙLÌb<ÕÄ¥PçvZòÈæP~tbq¬KP"w à(õ! "ÚKEÖi*7¹«yÑá0جí(ÖA¦OùöåKÂêÛgN¦Zì7Ò°=+MW...
_±£eáe·ÈvrþWu±+½ùè® ,t£[@ÒE×Hº-ÙQ{À¿ª-ÉoÆsYNªZy3ËCN¦_\Xy¶hD]ÉÑíÄú\NJØP<Ç@ÊZAÑp,ËÙ"_ȺD¥¡V^ÿB£)ÐgZ¨_~'#þ5\&XXóyb×OÝ÷"kcvJÜÒèd?@æÐuÉnzåõWP}cíÐ/â]b;Â?¼ýÒeøÑ¾üÑ7ê±æv¼æÇ©oX¹HÎØrHncr¢þ²æÍÏÓ'ýÔµ2sõͬÌܺ±ÌJ/_»^Â...
Ï»÷ï¾IXùe|Ò}Ô¿ÐÛ£¯zôøøÃþã ?úfîö7ǾÖ7õ»þ{'Ǽ×; wýöG_~û¸÷»Ïôh|·wü½îÖ¿hôvo÷ð·[ÿæ7h4ÑßÝûóþÁo¾º/v¾¼·´ß{°|ܽ¼úù£»ûêÁØøÇÝ `ÁNûcºÁÉ;ÁÓàê
n0¸Ù÷þÑ93ïî,÷ÛGA)ý-Ø>ðxô4èýhÔ
æ¯ûѾè¿h~Ò{w)y¯·?Ñ=øS8:N©þa%õ~0uò...
G¿
Û½GáèûwwnÞÿo8úÿÿârõä
view all matches for this distribution
view release on metacpan or search on metacpan
lib/ExtUtils/Liblist.pm view on Meta::CPAN
C<gl.lib> (followed by C<libgl.lib>).
If the library happens to be in a location not in C<$Config{libpth}>,
you need:
LIBS => ['-Lc:\gllibs -lgl']
Here is a less often used example:
LIBS => ['-lgl', ':nosearch -Ld:\mesalibs -lmesa -luser32']
view all matches for this distribution
view release on metacpan or search on metacpan
deps/libffi/texinfo.tex view on Meta::CPAN
\let\ptexrbrace=\}
\let\ptexslash=\/
\let\ptexstar=\*
\let\ptext=\t
\let\ptextop=\top
{\catcode`\'=\active \global\let\ptexquoteright'}% active in plain's math mode
% If this character appears in an error message or help string, it
% starts a new line in the output.
\newlinechar = `^^J
deps/libffi/texinfo.tex view on Meta::CPAN
\else
\def\linenumber{l.\the\inputlineno:\space}
\fi
% Set up fixed words for English if not already set.
\ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi
\ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi
\ifx\putworderror\undefined \gdef\putworderror{error}\fi
\ifx\putwordfile\undefined \gdef\putwordfile{file}\fi
\ifx\putwordin\undefined \gdef\putwordin{in}\fi
\ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi
\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi
\ifx\putwordInfo\undefined \gdef\putwordInfo{Info}\fi
\ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi
\ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi
\ifx\putwordNoTitle\undefined \gdef\putwordNoTitle{No Title}\fi
\ifx\putwordof\undefined \gdef\putwordof{of}\fi
\ifx\putwordon\undefined \gdef\putwordon{on}\fi
\ifx\putwordpage\undefined \gdef\putwordpage{page}\fi
\ifx\putwordsection\undefined \gdef\putwordsection{section}\fi
\ifx\putwordSection\undefined \gdef\putwordSection{Section}\fi
\ifx\putwordsee\undefined \gdef\putwordsee{see}\fi
\ifx\putwordSee\undefined \gdef\putwordSee{See}\fi
\ifx\putwordShortTOC\undefined \gdef\putwordShortTOC{Short Contents}\fi
\ifx\putwordTOC\undefined \gdef\putwordTOC{Table of Contents}\fi
%
\ifx\putwordMJan\undefined \gdef\putwordMJan{January}\fi
\ifx\putwordMFeb\undefined \gdef\putwordMFeb{February}\fi
\ifx\putwordMMar\undefined \gdef\putwordMMar{March}\fi
\ifx\putwordMApr\undefined \gdef\putwordMApr{April}\fi
\ifx\putwordMMay\undefined \gdef\putwordMMay{May}\fi
\ifx\putwordMJun\undefined \gdef\putwordMJun{June}\fi
\ifx\putwordMJul\undefined \gdef\putwordMJul{July}\fi
\ifx\putwordMAug\undefined \gdef\putwordMAug{August}\fi
\ifx\putwordMSep\undefined \gdef\putwordMSep{September}\fi
\ifx\putwordMOct\undefined \gdef\putwordMOct{October}\fi
\ifx\putwordMNov\undefined \gdef\putwordMNov{November}\fi
\ifx\putwordMDec\undefined \gdef\putwordMDec{December}\fi
%
\ifx\putwordDefmac\undefined \gdef\putwordDefmac{Macro}\fi
\ifx\putwordDefspec\undefined \gdef\putwordDefspec{Special Form}\fi
\ifx\putwordDefvar\undefined \gdef\putwordDefvar{Variable}\fi
\ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi
\ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi
% Since the category of space is not known, we have to be careful.
\chardef\spacecat = 10
\def\spaceisspace{\catcode`\ =\spacecat}
deps/libffi/texinfo.tex view on Meta::CPAN
\chardef\slashChar = `\/
\chardef\underChar = `\_
% Ignore a token.
%
\def\gobble#1{}
% The following is used inside several \edef's.
\def\makecsname#1{\expandafter\noexpand\csname#1\endcsname}
% Hyphenation fixes.
deps/libffi/texinfo.tex view on Meta::CPAN
% and nothing on the terminal. We don't just call \tracingall here,
% since that produces some useless output on the terminal. We also make
% some effort to order the tracing commands to reduce output in the log
% file; cf. trace.sty in LaTeX.
%
\def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}%
\def\loggingall{%
\tracingstats2
\tracingpages1
\tracinglostchars2 % 2 gives us more in etex
\tracingparagraphs1
deps/libffi/texinfo.tex view on Meta::CPAN
% Output a mark which sets \thischapter, \thissection and \thiscolor.
% We dump everything together because we only have one kind of mark.
% This works because we only use \botmark / \topmark, not \firstmark.
%
% A mark contains a subexpression of the \ifcase ... \fi construct.
% \get*marks macros below extract the needed part using \ifcase.
%
% Another complication is to let the user choose whether \thischapter
% (\thissection) refers to the chapter (section) in effect at the top
% of a page, or that at the bottom of a page. The solution is
% described on page 260 of The TeXbook. It involves outputting two
deps/libffi/texinfo.tex view on Meta::CPAN
% \topmark doesn't work for the very first chapter (after the title
% page or the contents), so we use \firstmark there -- this gets us
% the mark with the chapter defs, unless the user sneaks in, e.g.,
% @setcolor (or @url, or @link, etc.) between @contents and the very
% first @chapter.
\def\gettopheadingmarks{%
\ifcase0\topmark\fi
\ifx\thischapter\empty \ifcase0\firstmark\fi \fi
}
\def\getbottomheadingmarks{\ifcase1\botmark\fi}
\def\getcolormarks{\ifcase2\topmark\fi}
% Avoid "undefined control sequence" errors.
\def\lastchapterdefs{}
\def\lastsectiondefs{}
\def\prevchapterdefs{}
deps/libffi/texinfo.tex view on Meta::CPAN
\ifodd\pageno \advance\hoffset by \bindingoffset
\else \advance\hoffset by -\bindingoffset\fi
%
% Do this outside of the \shipout so @code etc. will be expanded in
% the headline as they should be, not taken literally (outputting ''code).
\ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi
\setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}%
\ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi
\setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}%
%
{%
% Have to do this stuff outside the \shipout because we want it to
% take effect in \write's, yet the group defined by the \vbox ends
deps/libffi/texinfo.tex view on Meta::CPAN
\newinsert\margin \dimen\margin=\maxdimen
\def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}}
{\catcode`\@ =11
\gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi
% marginal hacks, juha@viisa.uucp (Juha Takala)
\ifvoid\margin\else % marginal info is present
\rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi
\dimen@=\dp#1\relax \unvbox#1\relax
\ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi
deps/libffi/texinfo.tex view on Meta::CPAN
#1%
\parseargline\empty% Insert the \empty token, see \finishparsearg below.
}
{\obeylines %
\gdef\parseargline#1^^M{%
\endgroup % End of the group started in \parsearg.
\argremovecomment #1\comment\ArgTerm%
}%
}
deps/libffi/texinfo.tex view on Meta::CPAN
}
% Several utility definitions with active space:
{
\obeyspaces
\gdef\obeyedspace{ }
% Make each space character in the input produce a normal interword
% space in the output. Don't allow a line break at this space, as this
% is used only in environments like @example, where each line of input
% should produce a line of output anyway.
%
\gdef\sepspaces{\obeyspaces\let =\tie}
% If an index command is used in an @example environment, any spaces
% therein should become regular spaces in the raw index file, not the
% expansion of \tie (\leavevmode \penalty \@M \ ).
\gdef\unsepspaces{\let =\space}
}
\def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next}
deps/libffi/texinfo.tex view on Meta::CPAN
% since \penalty is valid in vertical mode, we'd end up putting the
% penalty on the vertical list instead of in the new paragraph.
{\catcode`@ = 11
% Avoid using \@M directly, because that causes trouble
% if the definition is written into an index file.
\global\let\tiepenalty = \@M
\gdef\tie{\leavevmode\penalty\tiepenalty\ }
}
% @: forces normal size whitespace following.
\def\:{\spacefactor=1000 }
deps/libffi/texinfo.tex view on Meta::CPAN
% does not have much material. In this case, it's better to add an
% explicit \vfill so that the extra space is at the bottom. The
% threshold for doing this is if the group is more than \vfilllimit
% percent of a page (\vfilllimit can be changed inside of @tex).
%
\newbox\groupbox
\def\vfilllimit{0.7}
%
\envdef\group{%
\ifnum\catcode`\^^M=\active \else
\errhelp = \groupinvalidhelp
\errmessage{@group invalid in context where filling is enabled}%
\fi
\startsavinginserts
%
\setbox\groupbox = \vtop\bgroup
% Do @comment since we are called inside an environment such as
% @example, where each end-of-line in the input causes an
% end-of-line in the output. We don't want the end-of-line after
% the `@group' to put extra space in the output. Since @group
% should appear on a line by itself (according to the Texinfo
deps/libffi/texinfo.tex view on Meta::CPAN
% above. But it's pretty close.
\def\Egroup{%
% To get correct interline space between the last line of the group
% and the first line afterwards, we have to propagate \prevdepth.
\endgraf % Not \par, as it may have been set to \lisppar.
\global\dimen1 = \prevdepth
\egroup % End the \vtop.
% \dimen0 is the vertical size of the group's box.
\dimen0 = \ht\groupbox \advance\dimen0 by \dp\groupbox
% \dimen2 is how much space is left on the page (more or less).
\dimen2 = \pageheight \advance\dimen2 by -\pagetotal
% if the group doesn't fit on the current page, and it's a big big
% group, force a page break.
\ifdim \dimen0 > \dimen2
\ifdim \pagetotal < \vfilllimit\pageheight
\page
\fi
\fi
\box\groupbox
\prevdepth = \dimen1
\checkinserts
}
%
% TeX puts in an \escapechar (i.e., `@') at the beginning of the help
% message, so this ends up printing `@group can only ...'.
%
\newhelp\groupinvalidhelp{%
group can only be used in environments such as @example,^^J%
where each line of input produces a line of output.}
% @need space-in-mils
% forces a page break if there is not space-in-mils remaining.
deps/libffi/texinfo.tex view on Meta::CPAN
}
\def\pushthisfilestackX{%
\expandafter\pushthisfilestackY\thisfile\StackTerm
}
\def\pushthisfilestackY #1\StackTerm #2\StackTerm {%
\gdef\popthisfilestack{\gdef\thisfile{#1}\gdef\popthisfilestack{#2}}%
}
\def\popthisfilestack{\errthisfilestackempty}
\def\errthisfilestackempty{\errmessage{Internal error:
the stack of filenames is empty.}}
deps/libffi/texinfo.tex view on Meta::CPAN
% @ignore ... @end ignore is another way to write a comment
%
\def\comment{\begingroup \catcode`\^^M=\other%
\catcode`\@=\other \catcode`\{=\other \catcode`\}=\other%
\commentxxx}
{\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}}
%
\let\c=\comment
% @paragraphindent NCHARS
% We'll use ems for NCHARS, close enough.
deps/libffi/texinfo.tex view on Meta::CPAN
% \kern backwards by \parindent, and then reset itself to empty.
%
% We also make \indent itself not actually do anything until the next
% paragraph.
%
\gdef\dosuppressfirstparagraphindent{%
\gdef\indent{%
\restorefirstparagraphindent
\indent
}%
\gdef\noindent{%
\restorefirstparagraphindent
\noindent
}%
\global\everypar = {%
\kern -\parindent
\restorefirstparagraphindent
}%
}
\gdef\restorefirstparagraphindent{%
\global \let \indent = \ptexindent
\global \let \noindent = \ptexnoindent
\global \everypar = {}%
}
% @refill is a no-op.
\let\refill=\relax
deps/libffi/texinfo.tex view on Meta::CPAN
\def\pdfsetcolor#1{\pdfliteral{#1 rg #1 RG}}
%
% Set color, and create a mark which defines \thiscolor accordingly,
% so that \makeheadline knows which color to restore.
\def\setcolor#1{%
\xdef\lastcolordefs{\gdef\noexpand\thiscolor{#1}}%
\domark
\pdfsetcolor{#1}%
}
%
\def\maincolor{\rgbBlack}
deps/libffi/texinfo.tex view on Meta::CPAN
\vbox to 0pt{%
\vskip-22.5pt
\line{%
\vbox to8.5pt{}%
% Extract \thiscolor definition from the marks.
\getcolormarks
% Typeset the headline with \maincolor, then restore the color.
\pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}%
}%
\vss
}%
deps/libffi/texinfo.tex view on Meta::CPAN
\openin 1 #1.jpg \ifeof 1
\openin 1 #1.jpeg \ifeof 1
\openin 1 #1.JPG \ifeof 1
\errhelp = \nopdfimagehelp
\errmessage{Could not find image file #1 for pdf}%
\else \gdef\pdfimgext{JPG}%
\fi
\else \gdef\pdfimgext{jpeg}%
\fi
\else \gdef\pdfimgext{jpg}%
\fi
\else \gdef\pdfimgext{png}%
\fi
\else \gdef\pdfimgext{PDF}%
\fi
\else \gdef\pdfimgext{pdf}%
\fi
\closein 1
\endgroup
%
% without \immediate, ancient pdftex seg faults when the same image is
deps/libffi/texinfo.tex view on Meta::CPAN
\input \tocreadfilename
\endgroup
}
{\catcode`[=1 \catcode`]=2
\catcode`{=\other \catcode`}=\other
\gdef\lbracecharliteral[{]%
\gdef\rbracecharliteral[}]%
]
%
\def\skipspaces#1{\def\PP{#1}\def\D{|}%
\ifx\PP\D\let\nextsp\relax
\else\let\nextsp\skipspaces
\addtokens{\filename}{\PP}%
\advance\filenamelength by 1
\fi
\nextsp}
\def\getfilename#1{%
\filenamelength=0
% If we don't expand the argument now, \skipspaces will get
% snagged on things like "@value{foo}".
\edef\temp{#1}%
\expandafter\skipspaces\temp|\relax
deps/libffi/texinfo.tex view on Meta::CPAN
\startlink attr{/Border [0 0 0]}%
user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
\endgroup}
\def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
\def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
\def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
\def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
\def\maketoks{%
\expandafter\poptoks\the\toksA|ENDTOKS|\relax
\ifx\first0\adn0
\else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
deps/libffi/texinfo.tex view on Meta::CPAN
\ifx\first,\addtokens{\toksB}{\space}\fi
\fi
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
\next}
\def\makelink{\addtokens{\toksB}%
{\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
\def\pdflink#1{%
\startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}}
\setcolor{\linkcolor}#1\endlink}
\def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
\else
% non-pdf mode
\let\pdfmkdest = \gobble
\let\pdfurl = \gobble
\let\endlink = \relax
\let\setcolor = \gobble
\let\pdfsetcolor = \gobble
\let\pdfmakeoutlines = \relax
\fi % \ifx\pdfoutput
\message{fonts,}
deps/libffi/texinfo.tex view on Meta::CPAN
}
% PDF CMaps. See also LaTeX's t1.cmap.
%
% do nothing with this by default.
\expandafter\let\csname cmapOT1\endcsname\gobble
\expandafter\let\csname cmapOT1IT\endcsname\gobble
\expandafter\let\csname cmapOT1TT\endcsname\gobble
% if we are producing pdf, and we have \pdffontattr, then define cmaps.
% (\pdffontattr was introduced many years ago, but people still run
% older pdftex's; it's easy to conditionalize, so we do.)
\ifpdf \ifx\pdffontattr\thisisundefined \else
deps/libffi/texinfo.tex view on Meta::CPAN
\def\setfont#1#2#3#4#5{%
\font#1=\fontprefix#2#3 scaled #4
\csname cmap#5\endcsname#1%
}
% This is what gets called when #5 of \setfont is empty.
\let\cmap\gobble
%
% (end of cmaps)
% Use cm as the default font prefix.
% To specify the font prefix, you must define \fontprefix
deps/libffi/texinfo.tex view on Meta::CPAN
%
\parseargdef\fonttextsize{%
\def\textsizearg{#1}%
%\wlog{doing @fonttextsize \textsizearg}%
%
% Set \globaldefs so that documents can use this inside @tex, since
% makeinfo 4.8 does not support it, but we need it nonetheless.
%
\begingroup \globaldefs=1
\ifx\textsizearg\xword \definetextfontsizex
\else \ifx\textsizearg\xiword \definetextfontsizexi
\else
\errhelp=\EMsimple
\errmessage{@fonttextsize only supports `10' or `11', not `\textsizearg'}
deps/libffi/texinfo.tex view on Meta::CPAN
{
\catcode`\'=\active
\catcode`\`=\active
\gdef\markupsetuplqdefault{\let`\lq}
\gdef\markupsetuprqdefault{\let'\rq}
\gdef\markupsetcodequoteleft{\let`\codequoteleft}
\gdef\markupsetcodequoteright{\let'\codequoteright}
}
\let\markupsetuplqcode \markupsetcodequoteleft
\let\markupsetuprqcode \markupsetcodequoteright
%
deps/libffi/texinfo.tex view on Meta::CPAN
% and arrange explicitly to hyphenate at a dash.
% -- rms.
{
\catcode`\-=\active \catcode`\_=\active
\catcode`\'=\active \catcode`\`=\active
\global\let'=\rq \global\let`=\lq % default definitions
%
\global\def\code{\begingroup
\setupmarkupstyle{code}%
% The following should really be moved into \setupmarkupstyle handlers.
\catcode\dashChar=\active \catcode\underChar=\active
\ifallowcodebreaks
\let-\codedash
deps/libffi/texinfo.tex view on Meta::CPAN
\catcode\slashChar=\active
}
{
\urefcatcodes
%
\global\def\urefcode{\begingroup
\setupmarkupstyle{code}%
\urefcatcodes
\let&\urefcodeamp
\let.\urefcodedot
\let#\urefcodehash
deps/libffi/texinfo.tex view on Meta::CPAN
\let/\urefcodeslash
\codex
}
%
% By default, they are just regular characters.
\global\def&{\normalamp}
\global\def.{\normaldot}
\global\def#{\normalhash}
\global\def?{\normalquest}
\global\def/{\normalslash}
}
% we put a little stretch before and after the breakable chars, to help
% line breaking of long url's. The unequal skips make look better in
% cmtt at least, especially for dots.
deps/libffi/texinfo.tex view on Meta::CPAN
\def\urefcodehash{\urefprestretch \#\urefpoststretch}
\def\urefcodequest{\urefprestretch ?\urefpoststretch}
\def\urefcodeslash{\futurelet\next\urefcodeslashfinish}
{
\catcode`\/=\active
\global\def\urefcodeslashfinish{%
\urefprestretch \slashChar
% Allow line break only after the final / in a sequence of
% slashes, to avoid line break between the slashes in http://.
\ifx\next/\else \urefpoststretch \fi
}
deps/libffi/texinfo.tex view on Meta::CPAN
% `example' (@kbd uses ttsl only inside of @example and friends),
% or `code' (@kbd uses normal tty font always).
\parseargdef\kbdinputstyle{%
\def\txiarg{#1}%
\ifx\txiarg\worddistinct
\gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}%
\else\ifx\txiarg\wordexample
\gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}%
\else\ifx\txiarg\wordcode
\gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}%
\else
\errhelp = \EMsimple
\errmessage{Unknown @kbdinputstyle setting `\txiarg'}%
\fi\fi\fi
}
deps/libffi/texinfo.tex view on Meta::CPAN
% an actual _ character, as in @math{@var{some_variable} + 1}. So make
% _ active, and distinguish by seeing if the current family is \slfam,
% which is what @var uses.
{
\catcode`\_ = \active
\gdef\mathunderscore{%
\catcode`\_=\active
\def_{\ifnum\fam=\slfam \_\else\sb\fi}%
}
}
% Another complication: we want \\ (and @\) to output a math (or tt) \.
deps/libffi/texinfo.tex view on Meta::CPAN
% make the texinfo accent commands work in math mode
\let\"=\ddot
\let\'=\acute
\let\==\bar
\let\^=\hat
\let\`=\grave
\let\u=\breve
\let\v=\check
\let\~=\tilde
\let\dotaccent=\dot
$\finishmath
deps/libffi/texinfo.tex view on Meta::CPAN
\catcode`^ = \active
\catcode`< = \active
\catcode`> = \active
\catcode`+ = \active
\catcode`' = \active
\gdef\mathactive{%
\let^ = \ptexhat
\let< = \ptexless
\let> = \ptexgtr
\let+ = \ptexplus
\let' = \ptexquoteright
deps/libffi/texinfo.tex view on Meta::CPAN
\TeX
}
% Some math mode symbols.
\def\bullet{$\ptexbullet$}
\def\geq{\ifmmode \ge\else $\ge$\fi}
\def\leq{\ifmmode \le\else $\le$\fi}
\def\minus{\ifmmode -\else $-$\fi}
% @dots{} outputs an ellipsis using the current font.
% We do .5em per period so that it has the same spacing in the cm
deps/libffi/texinfo.tex view on Meta::CPAN
% The @error{} command.
% Adapted from the TeXbook's \boxit.
%
\newbox\errorbox
%
{\tentt \global\dimen0 = 3em}% Width of the box.
\dimen2 = .55pt % Thickness of rules
% The text. (`r' is open on the right, `e' somewhat less so on the left.)
\setbox0 = \hbox{\kern-.75pt \reducedsf \putworderror\kern-1.5pt}
%
\setbox\errorbox=\hbox to \dimen0{\hfil
deps/libffi/texinfo.tex view on Meta::CPAN
\def\DH{{\ecfont \char"D0}} % Eth
\def\dh{{\ecfont \char"F0}} % eth
\def\TH{{\ecfont \char"DE}} % Thorn
\def\th{{\ecfont \char"FE}} % thorn
%
\def\guillemetleft{{\ecfont \char"13}}
\def\guillemotleft{\guillemetleft}
\def\guillemetright{{\ecfont \char"14}}
\def\guillemotright{\guillemetright}
\def\guilsinglleft{{\ecfont \char"0E}}
\def\guilsinglright{{\ecfont \char"0F}}
\def\quotedblbase{{\ecfont \char"12}}
\def\quotesinglbase{{\ecfont \char"0D}}
%
% This positioning is not perfect (see the ogonek LaTeX package), but
% we have the precomposed glyphs for the most common cases. We put the
deps/libffi/texinfo.tex view on Meta::CPAN
%
% If they want short, they certainly want long too.
\ifsetshortcontentsaftertitlepage
\shortcontents
\contents
\global\let\shortcontents = \relax
\global\let\contents = \relax
\fi
%
\ifsetcontentsaftertitlepage
\contents
\global\let\contents = \relax
\global\let\shortcontents = \relax
\fi
}
\def\finishtitlepage{%
\vskip4pt \hrule height 2pt width \hsize
deps/libffi/texinfo.tex view on Meta::CPAN
\def\evenheading{\parsearg\evenheadingxxx}
\def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish}
\def\evenheadingyyy #1\|#2\|#3\|#4\finish{%
\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
\def\oddheading{\parsearg\oddheadingxxx}
\def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish}
\def\oddheadingyyy #1\|#2\|#3\|#4\finish{%
\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
\parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}%
\def\evenfooting{\parsearg\evenfootingxxx}
\def\evenfootingxxx #1{\evenfootingyyy #1\|\|\|\|\finish}
\def\evenfootingyyy #1\|#2\|#3\|#4\finish{%
\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
\def\oddfooting{\parsearg\oddfootingxxx}
\def\oddfootingxxx #1{\oddfootingyyy #1\|\|\|\|\finish}
\def\oddfootingyyy #1\|#2\|#3\|#4\finish{%
\global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}%
%
% Leave some space for the footline. Hopefully ok to assume
% @evenfooting will not be used by itself.
\global\advance\pageheight by -12pt
\global\advance\vsize by -12pt
}
\parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}}
% @evenheadingmarks top \thischapter <- chapter at the top of a page
deps/libffi/texinfo.tex view on Meta::CPAN
\def\everyfootingmarks#1 {\headingmarks{even}{footing}{#1}
\headingmarks{odd}{footing}{#1} }
% #1 = even/odd, #2 = heading/footing, #3 = top/bottom.
\def\headingmarks#1#2#3 {%
\expandafter\let\expandafter\temp \csname get#3headingmarks\endcsname
\global\expandafter\let\csname get#1#2marks\endcsname \temp
}
\everyheadingmarks bottom
\everyfootingmarks bottom
deps/libffi/texinfo.tex view on Meta::CPAN
\def\headingsoff{% non-global headings elimination
\evenheadline={\hfil}\evenfootline={\hfil}%
\oddheadline={\hfil}\oddfootline={\hfil}%
}
\def\HEADINGSoff{{\globaldefs=1 \headingsoff}} % global setting
\HEADINGSoff % it's the default
% When we turn headings on, set the page number to 1.
% For double-sided printing, put current file name in lower left corner,
% chapter name on inside top of right hand pages, document
% title on inside top of left hand pages, and page numbers on outside top
% edge of all pages.
\def\HEADINGSdouble{%
\global\pageno=1
\global\evenfootline={\hfil}
\global\oddfootline={\hfil}
\global\evenheadline={\line{\folio\hfil\thistitle}}
\global\oddheadline={\line{\thischapter\hfil\folio}}
\global\let\contentsalignmacro = \chapoddpage
}
\let\contentsalignmacro = \chappager
% For single-sided printing, chapter title goes across top left of page,
% page number on top right.
\def\HEADINGSsingle{%
\global\pageno=1
\global\evenfootline={\hfil}
\global\oddfootline={\hfil}
\global\evenheadline={\line{\thischapter\hfil\folio}}
\global\oddheadline={\line{\thischapter\hfil\folio}}
\global\let\contentsalignmacro = \chappager
}
\def\HEADINGSon{\HEADINGSdouble}
\def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex}
\let\HEADINGSdoubleafter=\HEADINGSafter
\def\HEADINGSdoublex{%
\global\evenfootline={\hfil}
\global\oddfootline={\hfil}
\global\evenheadline={\line{\folio\hfil\thistitle}}
\global\oddheadline={\line{\thischapter\hfil\folio}}
\global\let\contentsalignmacro = \chapoddpage
}
\def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex}
\def\HEADINGSsinglex{%
\global\evenfootline={\hfil}
\global\oddfootline={\hfil}
\global\evenheadline={\line{\thischapter\hfil\folio}}
\global\oddheadline={\line{\thischapter\hfil\folio}}
\global\let\contentsalignmacro = \chappager
}
% Subroutines used in generating headings
% This produces Day Month Year style of output.
% Only define if not already defined, in case a txi-??.tex file has set
deps/libffi/texinfo.tex view on Meta::CPAN
\fi
% @settitle line... specifies the title of the document, for headings.
% It generates no output of its own.
\def\thistitle{\putwordNoTitle}
\def\settitle{\parsearg{\gdef\thistitle}}
\message{tables,}
% Tables -- @table, @ftable, @vtable, @item(x).
deps/libffi/texinfo.tex view on Meta::CPAN
\def\item{\errmessage{@item while not in a list environment}}
\def\itemx{\errmessage{@itemx while not in a list environment}}
% @table, @ftable, @vtable.
\envdef\table{%
\let\itemindex\gobble
\tablecheck{table}%
}
\envdef\ftable{%
\def\itemindex ##1{\doind {fn}{\code{##1}}}%
\tablecheck{ftable}%
deps/libffi/texinfo.tex view on Meta::CPAN
% #1 is the @columnfraction, usually a decimal number like .5, but might
% be just 1. We just use it, whatever it is.
%
\def\pickupwholefraction#1 {%
\global\advance\colcount by 1
\expandafter\xdef\csname col\the\colcount\endcsname{#1\hsize}%
\setuptable
}
\newcount\colcount
\def\setuptable#1{%
\def\firstarg{#1}%
\ifx\firstarg\xendsetuptable
\let\go = \relax
\else
\ifx\firstarg\xcolumnfractions
\global\setpercenttrue
\else
\ifsetpercent
\let\go\pickupwholefraction
\else
\global\advance\colcount by 1
\setbox0=\hbox{#1\unskip\space}% Add a normal word space as a
% separator; typically that is always in the input, anyway.
\expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}%
\fi
\fi
\ifx\go\pickupwholefraction
% Put the argument back for the \pickupwholefraction call, so
% we'll always have a period there to be parsed.
\def\go{\pickupwholefraction#1}%
\else
\let\go = \setuptable
\fi%
\fi
\go
}
% multitable-only commands.
%
% @headitem starts a heading row, which we typeset in bold.
deps/libffi/texinfo.tex view on Meta::CPAN
% undo it ourselves.
\def\headitemfont{\b}% for people to use in the template row; not changeable
\def\headitem{%
\checkenv\multitable
\crcr
\global\everytab={\bf}% can't use \headitemfont since the parsing differs
\the\everytab % for the first item
}%
%
% A \tab used to include \hskip1sp. But then the space in a template
% line is not enough. That is bad. So let's go back to just `&' until
deps/libffi/texinfo.tex view on Meta::CPAN
\hbadness=9500
\setmultitablespacing
\parskip=\multitableparskip
\parindent=\multitableparindent
\overfullrule=0pt
\global\colcount=0
%
\everycr = {%
\noalign{%
\global\everytab={}%
\global\colcount=0 % Reset the column counter.
% Check for saved footnotes, etc.
\checkinserts
% Keeps underfull box messages off when table breaks over pages.
%\filbreak
% Maybe so, but it also creates really weird page breaks when the
deps/libffi/texinfo.tex view on Meta::CPAN
% This preamble sets up a generic column definition, which will
% be used as many times as user calls for columns.
% \vtop will set a single line and will also let text wrap and
% continue for many paragraphs if desired.
\halign\bgroup &%
\global\advance\colcount by 1
\multistrut
\vtop{%
% Use the current \colcount to find the correct column width:
\hsize=\expandafter\csname col\the\colcount\endcsname
%
deps/libffi/texinfo.tex view on Meta::CPAN
}\cr
}
\def\Emultitable{%
\crcr
\egroup % end the \halign
\global\setpercentfalse
}
\def\setmultitablespacing{%
\def\multistrut{\strut}% just use the standard line spacing
%
% Compute \multitablelinespace (if not defined by user) for use in
% \multitableparskip calculation. We used define \multistrut based on
% this, but (ironically) that caused the spacing to be off.
% See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100.
\ifdim\multitablelinespace=0pt
\setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip
\global\advance\multitablelinespace by-\ht0
\fi
% Test to see if parskip is larger than space between lines of
% table. If not, do nothing.
% If so, set to same dimension as multitablelinespace.
\ifdim\multitableparskip>\multitablelinespace
\global\multitableparskip=\multitablelinespace
\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller
% than skip between lines in the table.
\fi%
\ifdim\multitableparskip=0pt
\global\multitableparskip=\multitablelinespace
\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller
% than skip between lines in the table.
\fi}
\message{conditionals,}
deps/libffi/texinfo.tex view on Meta::CPAN
}
{ \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source.
\obeylines %
%
\gdef\dodoignore#1{%
% #1 contains the command name as a string, e.g., `ifinfo'.
%
% Define a command to find the next `@end #1'.
\long\def\doignoretext##1^^M@end #1{%
\doignoretextyyy##1^^M@#1\_STOP_}%
deps/libffi/texinfo.tex view on Meta::CPAN
% Finish off ignored text.
{ \obeylines%
% Ignore anything after the last `@end #1'; this matters in verbatim
% environments, where otherwise the newline after an ignored conditional
% would result in a blank line in the output.
\gdef\enddoignore#1^^M{\endgroup\ignorespaces}%
}
% @set VAR sets the variable VAR to an empty value.
% @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE.
deps/libffi/texinfo.tex view on Meta::CPAN
\parseargdef\set{\setyyy#1 \endsetyyy}
\def\setyyy#1 #2\endsetyyy{%
{%
\makevalueexpandable
\def\temp{#2}%
\edef\next{\gdef\makecsname{SET#1}}%
\ifx\temp\empty
\next{}%
\else
\setzzz#2\endsetzzz
\fi
deps/libffi/texinfo.tex view on Meta::CPAN
% @clear VAR clears (i.e., unsets) the variable VAR.
%
\parseargdef\clear{%
{%
\makevalueexpandable
\global\expandafter\let\csname SET#1\endcsname=\relax
}%
}
% @value{foo} gets the text saved in variable foo.
\def\value{\begingroup\makevalueexpandable\valuexxx}
\def\valuexxx#1{\expandablevalue{#1}\endgroup}
{
\catcode`\- = \active \catcode`\_ = \active
%
\gdef\makevalueexpandable{%
\let\value = \expandablevalue
% We don't want these characters active, ...
\catcode`\-=\other \catcode`\_=\other
% ..., but we might end up with active ones in the argument if
% we're called from @code, as @code{@value{foo-bar_}}, though.
deps/libffi/texinfo.tex view on Meta::CPAN
\definedummyword\ss
\definedummyword\th
%
% Although these internal commands shouldn't show up, sometimes they do.
\definedummyword\bf
\definedummyword\gtr
\definedummyword\hat
\definedummyword\less
\definedummyword\sf
\definedummyword\sl
\definedummyword\tclose
deps/libffi/texinfo.tex view on Meta::CPAN
\definedummyword\entrybreak
\definedummyword\equiv
\definedummyword\error
\definedummyword\euro
\definedummyword\expansion
\definedummyword\geq
\definedummyword\guillemetleft
\definedummyword\guillemetright
\definedummyword\guilsinglleft
\definedummyword\guilsinglright
\definedummyword\lbracechar
\definedummyword\leq
\definedummyword\minus
\definedummyword\ogonek
\definedummyword\pounds
deps/libffi/texinfo.tex view on Meta::CPAN
\def\enddots{...}%
\def\equiv{==}%
\def\error{error}%
\def\euro{euro}%
\def\expansion{==>}%
\def\geq{>=}%
\def\guillemetleft{<<}%
\def\guillemetright{>>}%
\def\guilsinglleft{<}%
\def\guilsinglright{>}%
\def\leq{<=}%
\def\minus{-}%
\def\point{.}%
\def\pounds{pounds}%
\def\print{-|}%
deps/libffi/texinfo.tex view on Meta::CPAN
}
% Undocumented (for FSFS 2nd ed.): @set txiindexlquoteignore makes us
% ignore left quotes in the sort term.
{\catcode`\`=\active
\gdef\indexlquoteignore{\let`=\empty}}
\let\indexbackslash=0 %overridden during \printindex.
\let\SETmarginindex=\relax % put index entries in margin (undocumented)?
% Most index entries go through here, but \dosubind is the general case.
deps/libffi/texinfo.tex view on Meta::CPAN
\def\tindex {\tpindex}
\def\pindex {\pgindex}
\def\cindexsub {\begingroup\obeylines\cindexsub}
{\obeylines %
\gdef\cindexsub "#1" #2^^M{\endgroup %
\dosubind{cp}{#2}{#1}}}
% Define the macros used in formatting output of the sorted index material.
% @printindex causes a particular index (the ??s file) to get printed.
deps/libffi/texinfo.tex view on Meta::CPAN
% runs and this will be a no-op. See the indexspread.tex test case.
\ifvoid\partialpage \else
\onepageout{\pagecontents\partialpage}%
\fi
%
\global\setbox\partialpage = \vbox{%
% Unvbox the main output page.
\unvbox\PAGE
\kern-\topskip \kern\baselineskip
}%
}%
deps/libffi/texinfo.tex view on Meta::CPAN
% invocation ends. Having called \balancecolumns once, we do not
% want to call it again. Therefore, reset \output to its normal
% definition right away. (We hope \balancecolumns will never be
% called on to balance too much material, but if it is, this makes
% the output somewhat more palatable.)
\global\output = {\onepageout{\pagecontents\PAGE}}%
}%
\eject
\endgroup % started in \begindoublecolumns
%
% \pagegoal was set to the doubled \vsize above, since we restarted
deps/libffi/texinfo.tex view on Meta::CPAN
\splittopskip = \topskip
% Loop until we get a decent breakpoint.
{%
\vbadness = 10000
\loop
\global\setbox3 = \copy0
\global\setbox1 = \vsplit3 to \dimen@
\ifdim\ht3>\dimen@
\global\advance\dimen@ by 1pt
\repeat
}%
%debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}%
\setbox0=\vbox to\dimen@{\unvbox1}%
\setbox2=\vbox to\dimen@{\unvbox3}%
deps/libffi/texinfo.tex view on Meta::CPAN
\newcount\absseclevel % used to calculate proper heading level
\newcount\secbase\secbase=0 % @raisesections/@lowersections modify this count
% @raisesections: treat @section as chapter, @subsection as section, etc.
\def\raisesections{\global\advance\secbase by -1}
\let\up=\raisesections % original BFox name
% @lowersections: treat @chapter as section, @section as subsection, etc.
\def\lowersections{\global\advance\secbase by 1}
\let\down=\lowersections % original BFox name
% we only have subsub.
\chardef\maxseclevel = 3
%
deps/libffi/texinfo.tex view on Meta::CPAN
% Choose a heading macro
% #1 is heading type
% #2 is heading level
% #3 is text for heading
\def\genhead#1#2#3{%
% Compute the abs. sec. level:
\absseclevel=#2
\advance\absseclevel by \secbase
% Make sure \absseclevel doesn't fall outside the range:
\ifnum \absseclevel < 0
deps/libffi/texinfo.tex view on Meta::CPAN
\fi
\suppressfirstparagraphindent
}
% an interface:
\def\numhead{\genhead N}
\def\apphead{\genhead A}
\def\unnmhead{\genhead U}
% @chapter, @appendix, @unnumbered. Increment top-level counter, reset
% all lower-level sectioning counters to zero.
%
% Also set \chaplevelprefix, which we prepend to @float sequence numbers
% (e.g., figures), q.v. By default (before any chapter), that is empty.
\let\chaplevelprefix = \empty
%
\outer\parseargdef\chapter{\numhead0{#1}} % normally numhead0 calls chapterzzz
\def\chapterzzz#1{%
% section resetting is \global in case the chapter is in a group, such
% as an @include file.
\global\secno=0 \global\subsecno=0 \global\subsubsecno=0
\global\advance\chapno by 1
%
% Used for \float.
\gdef\chaplevelprefix{\the\chapno.}%
\resetallfloatnos
%
% \putwordChapter can contain complex things in translations.
\toks0=\expandafter{\putwordChapter}%
\message{\the\toks0 \space \the\chapno}%
%
% Write the actual heading.
\chapmacro{#1}{Ynumbered}{\the\chapno}%
%
% So @section and the like are numbered underneath this chapter.
\global\let\section = \numberedsec
\global\let\subsection = \numberedsubsec
\global\let\subsubsection = \numberedsubsubsec
}
\outer\parseargdef\appendix{\apphead0{#1}} % normally calls appendixzzz
%
\def\appendixzzz#1{%
\global\secno=0 \global\subsecno=0 \global\subsubsecno=0
\global\advance\appendixno by 1
\gdef\chaplevelprefix{\appendixletter.}%
\resetallfloatnos
%
% \putwordAppendix can contain complex things in translations.
\toks0=\expandafter{\putwordAppendix}%
\message{\the\toks0 \space \appendixletter}%
%
\chapmacro{#1}{Yappendix}{\appendixletter}%
%
\global\let\section = \appendixsec
\global\let\subsection = \appendixsubsec
\global\let\subsubsection = \appendixsubsubsec
}
% normally unnmhead0 calls unnumberedzzz:
\outer\parseargdef\unnumbered{\unnmhead0{#1}}
\def\unnumberedzzz#1{%
\global\secno=0 \global\subsecno=0 \global\subsubsecno=0
\global\advance\unnumberedno by 1
%
% Since an unnumbered has no number, no prefix for figures.
\global\let\chaplevelprefix = \empty
\resetallfloatnos
%
% This used to be simply \message{#1}, but TeX fully expands the
% argument to \message. Therefore, if #1 contained @-commands, TeX
% expanded them. For example, in `@unnumbered The @cite{Book}', TeX
deps/libffi/texinfo.tex view on Meta::CPAN
\toks0 = {#1}%
\message{(\the\toks0)}%
%
\chapmacro{#1}{Ynothing}{\the\unnumberedno}%
%
\global\let\section = \unnumberedsec
\global\let\subsection = \unnumberedsubsec
\global\let\subsubsection = \unnumberedsubsubsec
}
% @centerchap is like @unnumbered, but the heading is centered.
\outer\parseargdef\centerchap{%
% Well, we could do the following in a group, but that would break
deps/libffi/texinfo.tex view on Meta::CPAN
% Sections.
%
\outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz
\def\seczzz#1{%
\global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
\sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}%
}
% normally calls appendixsectionzzz:
\outer\parseargdef\appendixsection{\apphead1{#1}}
\def\appendixsectionzzz#1{%
\global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
\sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}%
}
\let\appendixsec\appendixsection
% normally calls unnumberedseczzz:
\outer\parseargdef\unnumberedsec{\unnmhead1{#1}}
\def\unnumberedseczzz#1{%
\global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
\sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}%
}
% Subsections.
%
% normally calls numberedsubseczzz:
\outer\parseargdef\numberedsubsec{\numhead2{#1}}
\def\numberedsubseczzz#1{%
\global\subsubsecno=0 \global\advance\subsecno by 1
\sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}%
}
% normally calls appendixsubseczzz:
\outer\parseargdef\appendixsubsec{\apphead2{#1}}
\def\appendixsubseczzz#1{%
\global\subsubsecno=0 \global\advance\subsecno by 1
\sectionheading{#1}{subsec}{Yappendix}%
{\appendixletter.\the\secno.\the\subsecno}%
}
% normally calls unnumberedsubseczzz:
\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}}
\def\unnumberedsubseczzz#1{%
\global\subsubsecno=0 \global\advance\subsecno by 1
\sectionheading{#1}{subsec}{Ynothing}%
{\the\unnumberedno.\the\secno.\the\subsecno}%
}
% Subsubsections.
%
% normally numberedsubsubseczzz:
\outer\parseargdef\numberedsubsubsec{\numhead3{#1}}
\def\numberedsubsubseczzz#1{%
\global\advance\subsubsecno by 1
\sectionheading{#1}{subsubsec}{Ynumbered}%
{\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}%
}
% normally appendixsubsubseczzz:
\outer\parseargdef\appendixsubsubsec{\apphead3{#1}}
\def\appendixsubsubseczzz#1{%
\global\advance\subsubsecno by 1
\sectionheading{#1}{subsubsec}{Yappendix}%
{\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}%
}
% normally unnumberedsubsubseczzz:
\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}}
\def\unnumberedsubsubseczzz#1{%
\global\advance\subsubsecno by 1
\sectionheading{#1}{subsubsec}{Ynothing}%
{\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}%
}
% These macros control what the section commands do, according
deps/libffi/texinfo.tex view on Meta::CPAN
}
\def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname}
\def\CHAPPAGoff{%
\global\let\contentsalignmacro = \chappager
\global\let\pchapsepmacro=\chapbreak
\global\let\pagealignmacro=\chappager}
\def\CHAPPAGon{%
\global\let\contentsalignmacro = \chappager
\global\let\pchapsepmacro=\chappager
\global\let\pagealignmacro=\chappager
\global\def\HEADINGSon{\HEADINGSsingle}}
\def\CHAPPAGodd{%
\global\let\contentsalignmacro = \chapoddpage
\global\let\pchapsepmacro=\chapoddpage
\global\let\pagealignmacro=\chapoddpage
\global\def\HEADINGSon{\HEADINGSdouble}}
\CHAPPAGon
% Chapter opening.
%
deps/libffi/texinfo.tex view on Meta::CPAN
%
\def\chapmacro#1#2#3{%
% Insert the first mark before the heading break (see notes for \domark).
\let\prevchapterdefs=\lastchapterdefs
\let\prevsectiondefs=\lastsectiondefs
\gdef\lastsectiondefs{\gdef\thissectionname{}\gdef\thissectionnum{}%
\gdef\thissection{}}%
%
\def\temptype{#2}%
\ifx\temptype\Ynothingkeyword
\gdef\lastchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}%
\gdef\thischapter{\thischaptername}}%
\else\ifx\temptype\Yomitfromtockeyword
\gdef\lastchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}%
\gdef\thischapter{}}%
\else\ifx\temptype\Yappendixkeyword
\toks0={#1}%
\xdef\lastchapterdefs{%
\gdef\noexpand\thischaptername{\the\toks0}%
\gdef\noexpand\thischapternum{\appendixletter}%
% \noexpand\putwordAppendix avoids expanding indigestible
% commands in some of the translations.
\gdef\noexpand\thischapter{\noexpand\putwordAppendix{}
\noexpand\thischapternum:
\noexpand\thischaptername}%
}%
\else
\toks0={#1}%
\xdef\lastchapterdefs{%
\gdef\noexpand\thischaptername{\the\toks0}%
\gdef\noexpand\thischapternum{\the\chapno}%
% \noexpand\putwordChapter avoids expanding indigestible
% commands in some of the translations.
\gdef\noexpand\thischapter{\noexpand\putwordChapter{}
\noexpand\thischapternum:
\noexpand\thischaptername}%
}%
\fi\fi\fi
%
deps/libffi/texinfo.tex view on Meta::CPAN
\chapfonts \rmisbold
%
% Have to define \lastsection before calling \donoderef, because the
% xref code eventually uses it. On the other hand, it has to be called
% after \pchapsepmacro, or the headline will change too soon.
\gdef\lastsection{#1}%
%
% Only insert the separating space if we have a chapter/appendix
% number, and don't print the unnumbered ``number''.
\ifx\temptype\Ynothingkeyword
\setbox0 = \hbox{}%
deps/libffi/texinfo.tex view on Meta::CPAN
\chapoddpage
\vbox{\chapfonts \raggedtitlesettings \hfill #1\hfill}%
\nobreak\bigskip \nobreak
}
\def\CHAPFopen{%
\global\let\chapmacro=\chfopen
\global\let\centerchapmacro=\centerchfopen}
% Section titles. These macros combine the section number parts and
% call the generic \sectionheading to do the printing.
%
deps/libffi/texinfo.tex view on Meta::CPAN
%
% Insert first mark before the heading break (see notes for \domark).
\let\prevsectiondefs=\lastsectiondefs
\ifx\temptype\Ynothingkeyword
\ifx\sectionlevel\seckeyword
\gdef\lastsectiondefs{\gdef\thissectionname{#1}\gdef\thissectionnum{}%
\gdef\thissection{\thissectionname}}%
\fi
\else\ifx\temptype\Yomitfromtockeyword
% Don't redefine \thissection.
\else\ifx\temptype\Yappendixkeyword
\ifx\sectionlevel\seckeyword
\toks0={#1}%
\xdef\lastsectiondefs{%
\gdef\noexpand\thissectionname{\the\toks0}%
\gdef\noexpand\thissectionnum{#4}%
% \noexpand\putwordSection avoids expanding indigestible
% commands in some of the translations.
\gdef\noexpand\thissection{\noexpand\putwordSection{}
\noexpand\thissectionnum:
\noexpand\thissectionname}%
}%
\fi
\else
\ifx\sectionlevel\seckeyword
\toks0={#1}%
\xdef\lastsectiondefs{%
\gdef\noexpand\thissectionname{\the\toks0}%
\gdef\noexpand\thissectionnum{#4}%
% \noexpand\putwordSection avoids expanding indigestible
% commands in some of the translations.
\gdef\noexpand\thissection{\noexpand\putwordSection{}
\noexpand\thissectionnum:
\noexpand\thissectionname}%
}%
\fi
\fi\fi\fi
deps/libffi/texinfo.tex view on Meta::CPAN
%
% Only insert the space after the number if we have a section number.
\ifx\temptype\Ynothingkeyword
\setbox0 = \hbox{}%
\def\toctype{unn}%
\gdef\lastsection{#1}%
\else\ifx\temptype\Yomitfromtockeyword
% for @headings -- no section number, don't include in toc,
% and don't redefine \lastsection.
\setbox0 = \hbox{}%
\def\toctype{omit}%
\let\sectionlevel=\empty
\else\ifx\temptype\Yappendixkeyword
\setbox0 = \hbox{#4\enspace}%
\def\toctype{app}%
\gdef\lastsection{#1}%
\else
\setbox0 = \hbox{#4\enspace}%
\def\toctype{num}%
\gdef\lastsection{#1}%
\fi\fi\fi
%
% Write the toc entry (before \donoderef). See comments in \chapmacro.
\writetocentry{\toctype\sectionlevel}{#1}{#4}%
%
deps/libffi/texinfo.tex view on Meta::CPAN
\def\writetocentry#1#2#3{%
\edef\writetoctype{#1}%
\ifx\writetoctype\omitkeyword \else
\iftocfileopened\else
\immediate\openout\tocfile = \jobname.toc
\global\tocfileopenedtrue
\fi
%
\iflinks
{\atdummies
\edef\temp{%
deps/libffi/texinfo.tex view on Meta::CPAN
% writing pdf. These are used in the table of contents. We can't
% just write one on every page because the title pages are numbered
% 1 and 2 (the page numbers aren't printed), and so are the first
% two pages of the document. Thus, we'd have two destinations named
% `1', and two named `2'.
\ifpdf \global\pdfmakepagedesttrue \fi
}
% These characters do not print properly in the Computer Modern roman
% fonts, so we must take special care. This is more or less redundant
deps/libffi/texinfo.tex view on Meta::CPAN
\begingroup % Set up to handle contents files properly.
\raggedbottom % Worry more about breakpoints than the bottom.
\advance\hsize by -\contentsrightmargin % Don't use the full line length.
%
% Roman numerals for page numbers.
\ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi
}
% redefined for the two-volume lispref. We always output on
% \jobname.toc even if this is redefined.
%
deps/libffi/texinfo.tex view on Meta::CPAN
\pdfmakeoutlines
\fi
\closein 1
\endgroup
\lastnegativepageno = \pageno
\global\pageno = \savepageno
}
% And just the chapters.
\def\summarycontents{%
\startcontents{\putwordShortTOC}%
deps/libffi/texinfo.tex view on Meta::CPAN
\closein 1
\vfill \eject
\contentsalignmacro % in case @setchapternewpage odd is in effect
\endgroup
\lastnegativepageno = \pageno
\global\pageno = \savepageno
}
\let\shortcontents = \summarycontents
% Typeset the label for a chapter or appendix for the short contents.
% The arg is, e.g., `A' for an appendix, or `3' for a chapter.
deps/libffi/texinfo.tex view on Meta::CPAN
\hsize=\cartinner
\baselineskip=\normbskip
\lineskip=\normlskip
\parskip=\normpskip
\vskip -\parskip
\comment % For explanation, see the end of def\group.
}
\def\Ecartouche{%
\ifhmode\par\fi
\kern3pt
\egroup
deps/libffi/texinfo.tex view on Meta::CPAN
\obeyspaces
% We want to swallow spaces (but not other tokens) after the fake
% @indent in our nonfill-environments, where spaces are normally
% active and set to @tie, resulting in them not being ignored after
% @indent.
\gdef\nonfillindent{\futurelet\temp\nonfillindentcheck}%
\gdef\nonfillindentcheck{%
\ifx\temp %
\expandafter\nonfillindentgobble%
\else%
\leavevmode\nonfillindentbox%
\fi%
deps/libffi/texinfo.tex view on Meta::CPAN
%
\maketwodispenvdef{lisp}{example}{%
\nonfillstart
\tt\setupmarkupstyle{example}%
\let\kbdfont = \kbdexamplefont % Allow @kbd to do something special.
\gobble % eat return
}
% @display/@smalldisplay: same as @lisp except keep current font.
%
\makedispenvdef{display}{%
\nonfillstart
\gobble
}
% @format/@smallformat: same as @display except don't narrow margins.
%
\makedispenvdef{format}{%
\let\nonarrowing = t%
\nonfillstart
\gobble
}
% @flushleft: same as @format, but doesn't obey \SETdispenvsize.
\envdef\flushleft{%
\let\nonarrowing = t%
\nonfillstart
\gobble
}
\let\Eflushleft = \afterenvbreak
% @flushright.
%
\envdef\flushright{%
\let\nonarrowing = t%
\nonfillstart
\advance\leftskip by 0pt plus 1fill\relax
\gobble
}
\let\Eflushright = \afterenvbreak
% @raggedright does more-or-less normal line breaking but no right
deps/libffi/texinfo.tex view on Meta::CPAN
% Setup for the @verb command.
%
% Eight spaces for a tab
\begingroup
\catcode`\^^I=\active
\gdef\tabeightspaces{\catcode`\^^I=\active\def^^I{\ \ \ \ \ \ \ \ }}
\endgroup
%
\def\setupverb{%
\tt % easiest (and conventionally used) font for verbatim
\def\par{\leavevmode\endgraf}%
deps/libffi/texinfo.tex view on Meta::CPAN
%
% Real tab expansion.
\newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount
%
% We typeset each line of the verbatim in an \hbox, so we can handle
% tabs. The \global is in case the verbatim line starts with an accent,
% or some other command that starts with a begin-group. Otherwise, the
% entire \verbbox would disappear at the corresponding end-group, before
% it is typeset. Meanwhile, we can't have nested verbatim commands
% (can we?), so the \global won't be overwriting itself.
\newbox\verbbox
\def\starttabbox{\global\setbox\verbbox=\hbox\bgroup}
%
\begingroup
\catcode`\^^I=\active
\gdef\tabexpand{%
\catcode`\^^I=\active
\def^^I{\leavevmode\egroup
\dimen\verbbox=\wd\verbbox % the width so far, or since the previous tab
\divide\dimen\verbbox by\tabw
\multiply\dimen\verbbox by\tabw % compute previous multiple of \tabw
deps/libffi/texinfo.tex view on Meta::CPAN
% \def\doverb'{'<char>#1<char>'}'{#1}
%
% [Knuth] p. 382; only eat outer {}
\begingroup
\catcode`[=1\catcode`]=2\catcode`\{=\other\catcode`\}=\other
\gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next]
\endgroup
%
\def\verb{\begingroup\setupverb\doverb}
%
%
deps/libffi/texinfo.tex view on Meta::CPAN
\catcode`\ =\active
\obeylines %
% ignore everything up to the first ^^M, that's the newline at the end
% of the @verbatim input line itself. Otherwise we get an extra blank
% line in the output.
\xdef\doverbatim#1^^M#2@end verbatim{#2\noexpand\end\gobble verbatim}%
% We really want {...\end verbatim} in the body of the macro, but
% without the active space; thus we have to use \xdef and \gobble.
\endgroup
%
\envdef\verbatim{%
\setupverbatim\doverbatim
}
deps/libffi/texinfo.tex view on Meta::CPAN
% As above, allow line break if we have multiple x headers in a row.
% It's not a great place, though.
\ifnum\lastpenalty=10002 \penalty3000 \else \defunpenalty=10002 \fi
%
% And now, it's time to reuse the body of the original defun:
\expandafter\gobbledefun#1%
}
\def\gobbledefun#1\startdefun{}
% \printdefunline \deffnheader{text}
%
\def\printdefunline#1#2{%
\begingroup
deps/libffi/texinfo.tex view on Meta::CPAN
% Be sure that we always have a definition for `(', etc. For example,
% if the fn name has parens in it, \boldbrax will not be in effect yet,
% so TeX would otherwise complain about undefined control sequence.
{
\activeparens
\global\let(=\lparen \global\let)=\rparen
\global\let[=\lbrack \global\let]=\rbrack
\global\let& = \&
\gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
\gdef\magicamp{\let&=\amprm}
}
\newcount\parencount
% If we encounter &foo, then turn on ()-hacking afterwards
deps/libffi/texinfo.tex view on Meta::CPAN
\fi
}
\def\bfafterword#1 {#1 \bf}
\def\opnr{%
\global\advance\parencount by 1
{\parenfont(}%
\infirstlevel \bfafterword
}
\def\clnr{%
{\parenfont)}%
\infirstlevel \sl
\global\advance\parencount by -1
}
\newcount\brackcount
\def\lbrb{%
\global\advance\brackcount by 1
{\bf[}%
}
\def\rbrb{%
{\bf]}%
\global\advance\brackcount by -1
}
\def\checkparencounts{%
\ifnum\parencount=0 \else \badparencount \fi
\ifnum\brackcount=0 \else \badbrackcount \fi
}
% these should not use \errmessage; the glibc manual, at least, actually
% has such constructs (when documenting function pointers).
\def\badparencount{%
\message{Warning: unbalanced parentheses in @def...}%
\global\parencount=0
}
\def\badbrackcount{%
\message{Warning: unbalanced square brackets in @def...}%
\global\brackcount=0
}
\message{macros,}
% @macro.
deps/libffi/texinfo.tex view on Meta::CPAN
}
% Trim leading and trailing spaces off a string.
% Concepts from aro-bend problem 15 (see CTAN).
{\catcode`\@=11
\gdef\eatspaces #1{\expandafter\trim@\expandafter{#1 }}
\gdef\trim@ #1{\trim@@ @#1 @ #1 @ @@}
\gdef\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @}
\def\unbrace#1{#1}
\unbrace{\gdef\trim@@@ #1 } #2@{#1}
}
% Trim a single trailing ^^M off a string.
{\catcode`\^^M=\other \catcode`\Q=3%
\gdef\eatcr #1{\eatcra #1Q^^MQ}%
\gdef\eatcra#1^^MQ{\eatcrb#1Q}%
\gdef\eatcrb#1Q#2Q{#1}%
}
% Macro bodies are absorbed as an argument in a context where
% all characters are catcode 10, 11 or 12, except \ which is active
% (as in normal texinfo). It is necessary to change the definition of \
deps/libffi/texinfo.tex view on Meta::CPAN
\def\macro{\recursivefalse\parsearg\macroxxx}
\def\rmacro{\recursivetrue\parsearg\macroxxx}
\def\macroxxx#1{%
\getargs{#1}% now \macname is the macname and \argl the arglist
\ifx\argl\empty % no arguments
\paramno=0\relax
\else
\expandafter\parsemargdef \argl;%
\if\paramno>256\relax
deps/libffi/texinfo.tex view on Meta::CPAN
\if1\csname ismacro.\the\macname\endcsname
\message{Warning: redefining \the\macname}%
\else
\expandafter\ifx\csname \the\macname\endcsname \relax
\else \errmessage{Macro name \the\macname\space already defined}\fi
\global\cslet{macsave.\the\macname}{\the\macname}%
\global\expandafter\let\csname ismacro.\the\macname\endcsname=1%
\addtomacrolist{\the\macname}%
\fi
\begingroup \macrobodyctxt
\ifrecursive \expandafter\parsermacbody
\else \expandafter\parsemacbody
\fi}
\parseargdef\unmacro{%
\if1\csname ismacro.#1\endcsname
\global\cslet{#1}{macsave.#1}%
\global\expandafter\let \csname ismacro.#1\endcsname=0%
% Remove the macro name from \macrolist:
\begingroup
\expandafter\let\csname#1\endcsname \relax
\let\definedummyword\unmacrodo
\xdef\macrolist{\macrolist}%
deps/libffi/texinfo.tex view on Meta::CPAN
}
% This makes use of the obscure feature that if the last token of a
% <parameter list> is #, then the preceding argument is delimited by
% an opening brace, and that opening brace is not consumed.
\def\getargs#1{\getargsxxx#1{}}
\def\getargsxxx#1#{\getmacname #1 \relax\getmacargs}
\def\getmacname#1 #2\relax{\macname={#1}}
\def\getmacargs#1{\def\argl{#1}}
% For macro processing make @ a letter so that we can make Texinfo private macro names.
\edef\texiatcatcode{\the\catcode`\@}
\catcode `@=11\relax
deps/libffi/texinfo.tex view on Meta::CPAN
% macarg.ARGNAME
%
% #1 is the macro name
% #2 is the list of argument names
% #3 is the list of argument values
\def\getargvals@#1#2#3{%
\def\macargdeflist@{}%
\def\saveparamlist@{#2}% Need to keep a copy for parameter expansion.
\def\paramlist{#2,\nil@}%
\def\macroname{#1}%
\begingroup
deps/libffi/texinfo.tex view on Meta::CPAN
\def\argvaluelist{#3,\nil@}%
\def\@tempa{#3}%
\ifx\@tempa\empty
\setemptyargvalues@
\else
\getargvals@@
\fi
}
%
\def\getargvals@@{%
\ifx\paramlist\nilm@
% Some sanity check needed here that \argvaluelist is also empty.
\ifx\argvaluelist\nillm@
\else
\errhelp = \EMsimple
deps/libffi/texinfo.tex view on Meta::CPAN
\expandafter\let\csname macarg.\@tempb\endcsname\relax
\expandafter\def\expandafter\@tempe\expandafter{%
\csname macarg.\@tempb\endcsname}%
\edef\@tempd{\long\def\@tempe{\the\macname}}%
\push@\@tempd\macargdeflist@
\let\next\getargvals@@
\fi
\fi
\next
}
deps/libffi/texinfo.tex view on Meta::CPAN
\endgroup
\macargdeflist@
% First the replace in body the macro arguments by their values, the result
% is in \@tempa .
\macvalstoargs@
% Then we point at the \norecurse or \gobble (for recursive) macro value
% with \@tempb .
\expandafter\let\expandafter\@tempb\csname mac.\macroname .recurse\endcsname
% Depending on whether it is recursive or not, we need some tailing
% \egroup .
\ifx\@tempb\gobble
\let\@tempc\relax
\else
\let\@tempc\egroup
\fi
% And now we do the real job:
deps/libffi/texinfo.tex view on Meta::CPAN
\expandafter\expandafter
\csname\the\macname xxx\endcsname
\paramlist{\egroup\noexpand\scanmacro{\temp}}%
\else % 10 or more
\expandafter\xdef\csname\the\macname\endcsname{%
\noexpand\getargvals@{\the\macname}{\argl}%
}%
\global\expandafter\let\csname mac.\the\macname .body\endcsname\temp
\global\expandafter\let\csname mac.\the\macname .recurse\endcsname\gobble
\fi
\fi
\else
\ifcase\paramno
% 0
deps/libffi/texinfo.tex view on Meta::CPAN
\egroup
\noexpand\norecurse{\the\macname}%
\noexpand\scanmacro{\temp}\egroup}%
\else % 10 or more:
\expandafter\xdef\csname\the\macname\endcsname{%
\noexpand\getargvals@{\the\macname}{\argl}%
}%
\global\expandafter\let\csname mac.\the\macname .body\endcsname\temp
\global\expandafter\let\csname mac.\the\macname .recurse\endcsname\norecurse
\fi
\fi
\fi}
\catcode `\@\texiatcatcode\relax
deps/libffi/texinfo.tex view on Meta::CPAN
\def\aliasxxx #1{\aliasyyy#1\relax}
\def\aliasyyy #1=#2\relax{%
{%
\expandafter\let\obeyedspace=\empty
\addtomacrolist{#1}%
\xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}%
}%
\next
}
deps/libffi/texinfo.tex view on Meta::CPAN
\parseargdef\node{\checkenv{}\donode #1 ,\finishnodeparse}
%
% also remove a trailing comma, in case of something like this:
% @node Help-Cross, , , Cross-refs
\def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse}
\def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}}
\let\nwnode=\node
\let\lastnode=\empty
% Write a cross-reference definition for the current node. #1 is the
% type (Ynumbered, Yappendix, Ynothing).
%
\def\donoderef#1{%
\ifx\lastnode\empty\else
\setref{\lastnode}{#1}%
\global\let\lastnode=\empty
\fi
}
% @anchor{NAME} -- define xref target at arbitrary point.
%
deps/libffi/texinfo.tex view on Meta::CPAN
\turnoffactive
\makevalueexpandable
% This expands tokens, so do it after making catcode changes, so _
% etc. don't get their TeX definitions. This ignores all spaces in
% #4, including (wrongly) those in the middle of the filename.
\getfilename{#4}%
%
% This (wrongly) does not take account of leading or trailing
% spaces in #1, which should be ignored.
\edef\pdfxrefdest{#1}%
\ifx\pdfxrefdest\empty
deps/libffi/texinfo.tex view on Meta::CPAN
{%
% Have to otherify everything special to allow the \csname to
% include an _ in the xref name, etc.
\indexnofonts
\turnoffactive
\expandafter\global\expandafter\let\expandafter\Xthisreftitle
\csname XR#1-title\endcsname
}%
\iffloat\Xthisreftitle
% If the user specified the print name (third arg) to the ref,
% print it instead of our usual "Figure 1.2".
deps/libffi/texinfo.tex view on Meta::CPAN
%
\def\refx#1#2{%
{%
\indexnofonts
\otherbackslash
\expandafter\global\expandafter\let\expandafter\thisrefX
\csname XR#1\endcsname
}%
\ifx\thisrefX\relax
% If not defined, say something at least.
\angleleft un\-de\-fined\angleright
deps/libffi/texinfo.tex view on Meta::CPAN
\ifhavexrefs
{\toks0 = {#1}% avoid expansion of possibly-complex value
\message{\linenumber Undefined cross reference `\the\toks0'.}}%
\else
\ifwarnedxrefs\else
\global\warnedxrefstrue
\message{Cross reference values unknown; you must run TeX again.}%
\fi
\fi
\fi
\else
deps/libffi/texinfo.tex view on Meta::CPAN
\indexnofonts
\turnoffactive
\xdef\safexrefname{#1}%
}%
%
\expandafter\gdef\csname XR\safexrefname\endcsname{#2}% remember this xref
%
% Was that xref control sequence that we just defined for a float?
\expandafter\iffloat\csname XR\safexrefname\endcsname
% it was a float, and we have the (safe) float type in \iffloattype.
\expandafter\let\expandafter\floatlist
deps/libffi/texinfo.tex view on Meta::CPAN
%
\def\tryauxfile{%
\openin 1 \jobname.aux
\ifeof 1 \else
\readdatafile{aux}%
\global\havexrefstrue
\fi
\closein 1
}
\def\setupdatafile{%
deps/libffi/texinfo.tex view on Meta::CPAN
\let\footnotestyle=\comment
{\catcode `\@=11
%
% Auto-number footnotes. Otherwise like plain.
\gdef\footnote{%
\let\indent=\ptexindent
\let\noindent=\ptexnoindent
\global\advance\footnoteno by \@ne
\edef\thisfootno{$^{\the\footnoteno}$}%
%
% In case the footnote comes at the end of a sentence, preserve the
% extra spacing after we do the footnote number.
\let\@sf\empty
deps/libffi/texinfo.tex view on Meta::CPAN
%
% Oh yes, they do; otherwise, @ifset (and anything else that uses
% \parseargline) fails inside footnotes because the tokens are fixed when
% the footnote is read. --karl, 16nov96.
%
\gdef\dofootnote{%
\insert\footins\bgroup
% We want to typeset this text as a normal paragraph, even if the
% footnote reference occurs in (for example) a display environment.
% So reset some parameters.
\hsize=\pagewidth
deps/libffi/texinfo.tex view on Meta::CPAN
\edef\next{\noexpand\savetobox \makeSAVEname#1}%
\afterassignment\next
% swallow the left brace
\let\temp =
}
\def\makeSAVEname#1{\makecsname{SAVE\expandafter\gobble\string#1}}
\def\savetobox#1{\global\setbox#1 = \vbox\bgroup \unvbox#1}
\def\checksaveins#1{\ifvoid#1\else \placesaveins#1\fi}
\def\placesaveins#1{%
\ptexinsert \csname\expandafter\gobblesave\string#1\endcsname
{\box#1}%
}
% eat @SAVE -- beware, all of them have catcode \other:
{
\def\dospecials{\do S\do A\do V\do E} \uncatcodespecials % ;-)
\gdef\gobblesave @SAVE{}
}
% initialization:
\def\newsaveins #1{%
\edef\next{\noexpand\newsaveinsX \makeSAVEname#1}%
deps/libffi/texinfo.tex view on Meta::CPAN
\def\image#1{%
\ifx\epsfbox\thisisundefined
\ifwarnednoepsf \else
\errhelp = \noepsfhelp
\errmessage{epsf.tex not found, images will be ignored}%
\global\warnednoepsftrue
\fi
\else
\imagexxx #1,,,,,\finish
\fi
}
deps/libffi/texinfo.tex view on Meta::CPAN
% If label is given but no type, we handle that as the empty type.
\ifx\floatlabel\empty \else
% We want each FLOATTYPE to be numbered separately (Figure 1,
% Table 1, Figure 2, ...). (And if no label, no number.)
%
\expandafter\getfloatno\csname\safefloattype floatno\endcsname
\global\advance\floatno by 1
%
{%
% This magic value for \lastsection is output by \setref as the
% XREFLABEL-title value. \xrefX uses it to distinguish float
% labels (which have a completely different output format) from
deps/libffi/texinfo.tex view on Meta::CPAN
%
% since we read the caption text in the macro world, where ^^M
% is turned into a normal character, we have to scan it back, so
% we don't write the literal three characters "^^M" into the aux file.
\scanexp{%
\xdef\noexpand\gtemp{%
\ifx\thisshortcaption\empty
\thiscaption
\else
\thisshortcaption
\fi
}%
}%
\immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident
\ifx\gtemp\empty \else : \gtemp \fi}}%
}%
\fi
\egroup % end of \vtop
%
% place the captured inserts
deps/libffi/texinfo.tex view on Meta::CPAN
\def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption}
\def\defcaption#1#2{\egroup \def#1{#2}}
% The parameter is the control sequence identifying the counter we are
% going to use. Create it if it doesn't exist and assign it to \floatno.
\def\getfloatno#1{%
\ifx#1\relax
% Haven't seen this figure type before.
\csname newcount\endcsname #1%
%
% Remember to reset this floatno at the next chap.
\expandafter\gdef\expandafter\resetallfloatnos
\expandafter{\resetallfloatnos #1=0 }%
\fi
\let\floatno#1%
}
deps/libffi/texinfo.tex view on Meta::CPAN
% early, just after @documentencoding. Single argument is the language
% (de) or locale (de_DE) abbreviation.
%
{
\catcode`\_ = \active
\globaldefs=1
\parseargdef\documentlanguage{\begingroup
\let_=\normalunderscore % normal _ character for filenames
\tex % read txi-??.tex file in plain TeX.
% Read the file by the name they passed if it exists.
\openin 1 txi-#1.tex
\ifeof 1
\documentlanguagetrywithoutunderscore{#1_\finish}%
\else
\globaldefs = 1 % everything in the txi-LL files needs to persist
\input txi-#1.tex
\fi
\closein 1
\endgroup % end raw TeX
\endgroup}
%
% If they passed de_DE, and txi-de_DE.tex doesn't exist,
% try txi-de.tex.
%
\gdef\documentlanguagetrywithoutunderscore#1_#2\finish{%
\openin 1 txi-#1.tex
\ifeof 1
\errhelp = \nolanghelp
\errmessage{Cannot read language file txi-#1.tex}%
\else
\globaldefs = 1 % everything in the txi-LL files needs to persist
\input txi-#1.tex
\fi
\closein 1
}
}% end of special _ catcode
deps/libffi/texinfo.tex view on Meta::CPAN
\def\txisetlanguage#1#2#3{%
% do not set the language if the name is undefined in the current TeX.
\expandafter\ifx\csname lang@#1\endcsname \relax
\message{no patterns for #1}%
\else
\global\language = \csname lang@#1\endcsname
\fi
% but there is no harm in adjusting the hyphenmin values regardless.
\global\lefthyphenmin = #2\relax
\global\righthyphenmin = #3\relax
}
% Helpers for encodings.
% Set the catcode of characters 128 through 255 to the specified number.
%
\def\setnonasciicharscatcode#1{%
\count255=128
\loop\ifnum\count255<256
\global\catcode\count255=#1\relax
\advance\count255 by 1
\repeat
}
\def\setnonasciicharscatcodenonglobal#1{%
deps/libffi/texinfo.tex view on Meta::CPAN
% macros containing the character definitions.
\setnonasciicharscatcode\active
%
% Latin1 (ISO-8859-1) character definitions.
\def\latonechardefs{%
\gdef^^a0{\tie}
\gdef^^a1{\exclamdown}
\gdef^^a2{\missingcharmsg{CENT SIGN}}
\gdef^^a3{{\pounds}}
\gdef^^a4{\missingcharmsg{CURRENCY SIGN}}
\gdef^^a5{\missingcharmsg{YEN SIGN}}
\gdef^^a6{\missingcharmsg{BROKEN BAR}}
\gdef^^a7{\S}
\gdef^^a8{\"{}}
\gdef^^a9{\copyright}
\gdef^^aa{\ordf}
\gdef^^ab{\guillemetleft}
\gdef^^ac{$\lnot$}
\gdef^^ad{\-}
\gdef^^ae{\registeredsymbol}
\gdef^^af{\={}}
%
\gdef^^b0{\textdegree}
\gdef^^b1{$\pm$}
\gdef^^b2{$^2$}
\gdef^^b3{$^3$}
\gdef^^b4{\'{}}
\gdef^^b5{$\mu$}
\gdef^^b6{\P}
%
\gdef^^b7{$^.$}
\gdef^^b8{\cedilla\ }
\gdef^^b9{$^1$}
\gdef^^ba{\ordm}
%
\gdef^^bb{\guillemetright}
\gdef^^bc{$1\over4$}
\gdef^^bd{$1\over2$}
\gdef^^be{$3\over4$}
\gdef^^bf{\questiondown}
%
\gdef^^c0{\`A}
\gdef^^c1{\'A}
\gdef^^c2{\^A}
\gdef^^c3{\~A}
\gdef^^c4{\"A}
\gdef^^c5{\ringaccent A}
\gdef^^c6{\AE}
\gdef^^c7{\cedilla C}
\gdef^^c8{\`E}
\gdef^^c9{\'E}
\gdef^^ca{\^E}
\gdef^^cb{\"E}
\gdef^^cc{\`I}
\gdef^^cd{\'I}
\gdef^^ce{\^I}
\gdef^^cf{\"I}
%
\gdef^^d0{\DH}
\gdef^^d1{\~N}
\gdef^^d2{\`O}
\gdef^^d3{\'O}
\gdef^^d4{\^O}
\gdef^^d5{\~O}
\gdef^^d6{\"O}
\gdef^^d7{$\times$}
\gdef^^d8{\O}
\gdef^^d9{\`U}
\gdef^^da{\'U}
\gdef^^db{\^U}
\gdef^^dc{\"U}
\gdef^^dd{\'Y}
\gdef^^de{\TH}
\gdef^^df{\ss}
%
\gdef^^e0{\`a}
\gdef^^e1{\'a}
\gdef^^e2{\^a}
\gdef^^e3{\~a}
\gdef^^e4{\"a}
\gdef^^e5{\ringaccent a}
\gdef^^e6{\ae}
\gdef^^e7{\cedilla c}
\gdef^^e8{\`e}
\gdef^^e9{\'e}
\gdef^^ea{\^e}
\gdef^^eb{\"e}
\gdef^^ec{\`{\dotless i}}
\gdef^^ed{\'{\dotless i}}
\gdef^^ee{\^{\dotless i}}
\gdef^^ef{\"{\dotless i}}
%
\gdef^^f0{\dh}
\gdef^^f1{\~n}
\gdef^^f2{\`o}
\gdef^^f3{\'o}
\gdef^^f4{\^o}
\gdef^^f5{\~o}
\gdef^^f6{\"o}
\gdef^^f7{$\div$}
\gdef^^f8{\o}
\gdef^^f9{\`u}
\gdef^^fa{\'u}
\gdef^^fb{\^u}
\gdef^^fc{\"u}
\gdef^^fd{\'y}
\gdef^^fe{\th}
\gdef^^ff{\"y}
}
% Latin9 (ISO-8859-15) encoding character definitions.
\def\latninechardefs{%
% Encoding is almost identical to Latin1.
\latonechardefs
%
\gdef^^a4{\euro}
\gdef^^a6{\v S}
\gdef^^a8{\v s}
\gdef^^b4{\v Z}
\gdef^^b8{\v z}
\gdef^^bc{\OE}
\gdef^^bd{\oe}
\gdef^^be{\"Y}
}
% Latin2 (ISO-8859-2) character definitions.
\def\lattwochardefs{%
\gdef^^a0{\tie}
\gdef^^a1{\ogonek{A}}
\gdef^^a2{\u{}}
\gdef^^a3{\L}
\gdef^^a4{\missingcharmsg{CURRENCY SIGN}}
\gdef^^a5{\v L}
\gdef^^a6{\'S}
\gdef^^a7{\S}
\gdef^^a8{\"{}}
\gdef^^a9{\v S}
\gdef^^aa{\cedilla S}
\gdef^^ab{\v T}
\gdef^^ac{\'Z}
\gdef^^ad{\-}
\gdef^^ae{\v Z}
\gdef^^af{\dotaccent Z}
%
\gdef^^b0{\textdegree}
\gdef^^b1{\ogonek{a}}
\gdef^^b2{\ogonek{ }}
\gdef^^b3{\l}
\gdef^^b4{\'{}}
\gdef^^b5{\v l}
\gdef^^b6{\'s}
\gdef^^b7{\v{}}
\gdef^^b8{\cedilla\ }
\gdef^^b9{\v s}
\gdef^^ba{\cedilla s}
\gdef^^bb{\v t}
\gdef^^bc{\'z}
\gdef^^bd{\H{}}
\gdef^^be{\v z}
\gdef^^bf{\dotaccent z}
%
\gdef^^c0{\'R}
\gdef^^c1{\'A}
\gdef^^c2{\^A}
\gdef^^c3{\u A}
\gdef^^c4{\"A}
\gdef^^c5{\'L}
\gdef^^c6{\'C}
\gdef^^c7{\cedilla C}
\gdef^^c8{\v C}
\gdef^^c9{\'E}
\gdef^^ca{\ogonek{E}}
\gdef^^cb{\"E}
\gdef^^cc{\v E}
\gdef^^cd{\'I}
\gdef^^ce{\^I}
\gdef^^cf{\v D}
%
\gdef^^d0{\DH}
\gdef^^d1{\'N}
\gdef^^d2{\v N}
\gdef^^d3{\'O}
\gdef^^d4{\^O}
\gdef^^d5{\H O}
\gdef^^d6{\"O}
\gdef^^d7{$\times$}
\gdef^^d8{\v R}
\gdef^^d9{\ringaccent U}
\gdef^^da{\'U}
\gdef^^db{\H U}
\gdef^^dc{\"U}
\gdef^^dd{\'Y}
\gdef^^de{\cedilla T}
\gdef^^df{\ss}
%
\gdef^^e0{\'r}
\gdef^^e1{\'a}
\gdef^^e2{\^a}
\gdef^^e3{\u a}
\gdef^^e4{\"a}
\gdef^^e5{\'l}
\gdef^^e6{\'c}
\gdef^^e7{\cedilla c}
\gdef^^e8{\v c}
\gdef^^e9{\'e}
\gdef^^ea{\ogonek{e}}
\gdef^^eb{\"e}
\gdef^^ec{\v e}
\gdef^^ed{\'{\dotless{i}}}
\gdef^^ee{\^{\dotless{i}}}
\gdef^^ef{\v d}
%
\gdef^^f0{\dh}
\gdef^^f1{\'n}
\gdef^^f2{\v n}
\gdef^^f3{\'o}
\gdef^^f4{\^o}
\gdef^^f5{\H o}
\gdef^^f6{\"o}
\gdef^^f7{$\div$}
\gdef^^f8{\v r}
\gdef^^f9{\ringaccent u}
\gdef^^fa{\'u}
\gdef^^fb{\H u}
\gdef^^fc{\"u}
\gdef^^fd{\'y}
\gdef^^fe{\cedilla t}
\gdef^^ff{\dotaccent{}}
}
% UTF-8 character definitions.
%
% This code to support UTF-8 is based on LaTeX's utf8.def, with some
deps/libffi/texinfo.tex view on Meta::CPAN
%
\newcount\countUTFx
\newcount\countUTFy
\newcount\countUTFz
\gdef\UTFviiiTwoOctets#1#2{\expandafter
\UTFviiiDefined\csname u8:#1\string #2\endcsname}
%
\gdef\UTFviiiThreeOctets#1#2#3{\expandafter
\UTFviiiDefined\csname u8:#1\string #2\string #3\endcsname}
%
\gdef\UTFviiiFourOctets#1#2#3#4{\expandafter
\UTFviiiDefined\csname u8:#1\string #2\string #3\string #4\endcsname}
\gdef\UTFviiiDefined#1{%
\ifx #1\relax
\message{\linenumber Unicode char \string #1 not defined for Texinfo}%
\else
\expandafter #1%
\fi
deps/libffi/texinfo.tex view on Meta::CPAN
\begingroup
\catcode`\~13
\catcode`\"12
\def\UTFviiiLoop{%
\global\catcode\countUTFx\active
\uccode`\~\countUTFx
\uppercase\expandafter{\UTFviiiTmp}%
\advance\countUTFx by 1
\ifnum\countUTFx < \countUTFy
\expandafter\UTFviiiLoop
deps/libffi/texinfo.tex view on Meta::CPAN
\catcode`\,=12
\catcode`\;=12
\catcode`\!=12
\catcode`\~=13
\gdef\DeclareUnicodeCharacter#1#2{%
\countUTFz = "#1\relax
%\wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}%
\begingroup
\parseXMLCharref
\def\UTFviiiTwoOctets##1##2{%
deps/libffi/texinfo.tex view on Meta::CPAN
\csname u8:##1\string ##2\string ##3\endcsname}%
\def\UTFviiiFourOctets##1##2##3##4{%
\csname u8:##1\string ##2\string ##3\string ##4\endcsname}%
\expandafter\expandafter\expandafter\expandafter
\expandafter\expandafter\expandafter
\gdef\UTFviiiTmp{#2}%
\endgroup}
\gdef\parseXMLCharref{%
\ifnum\countUTFz < "A0\relax
\errhelp = \EMsimple
\errmessage{Cannot define Unicode char value < 00A0}%
\else\ifnum\countUTFz < "800\relax
\parseUTFviiiA,%
deps/libffi/texinfo.tex view on Meta::CPAN
\parseUTFviiiA!%
\parseUTFviiiB F\UTFviiiFourOctets.{!,;}%
\fi\fi\fi
}
\gdef\parseUTFviiiA#1{%
\countUTFx = \countUTFz
\divide\countUTFz by 64
\countUTFy = \countUTFz
\multiply\countUTFz by 64
\advance\countUTFx by -\countUTFz
\advance\countUTFx by 128
\uccode `#1\countUTFx
\countUTFz = \countUTFy}
\gdef\parseUTFviiiB#1#2#3#4{%
\advance\countUTFz by "#10\relax
\uccode `#3\countUTFz
\uppercase{\gdef\UTFviiiTmp{#2#3#4}}}
\endgroup
\def\utfeightchardefs{%
\DeclareUnicodeCharacter{00A0}{\tie}
\DeclareUnicodeCharacter{00A1}{\exclamdown}
\DeclareUnicodeCharacter{00A3}{\pounds}
\DeclareUnicodeCharacter{00A8}{\"{ }}
\DeclareUnicodeCharacter{00A9}{\copyright}
\DeclareUnicodeCharacter{00AA}{\ordf}
\DeclareUnicodeCharacter{00AB}{\guillemetleft}
\DeclareUnicodeCharacter{00AD}{\-}
\DeclareUnicodeCharacter{00AE}{\registeredsymbol}
\DeclareUnicodeCharacter{00AF}{\={ }}
\DeclareUnicodeCharacter{00B0}{\ringaccent{ }}
\DeclareUnicodeCharacter{00B4}{\'{ }}
\DeclareUnicodeCharacter{00B8}{\cedilla{ }}
\DeclareUnicodeCharacter{00BA}{\ordm}
\DeclareUnicodeCharacter{00BB}{\guillemetright}
\DeclareUnicodeCharacter{00BF}{\questiondown}
\DeclareUnicodeCharacter{00C0}{\`A}
\DeclareUnicodeCharacter{00C1}{\'A}
\DeclareUnicodeCharacter{00C2}{\^A}
deps/libffi/texinfo.tex view on Meta::CPAN
\DeclareUnicodeCharacter{201C}{\quotedblleft}
\DeclareUnicodeCharacter{201D}{\quotedblright}
\DeclareUnicodeCharacter{201E}{\quotedblbase}
\DeclareUnicodeCharacter{2022}{\bullet}
\DeclareUnicodeCharacter{2026}{\dots}
\DeclareUnicodeCharacter{2039}{\guilsinglleft}
\DeclareUnicodeCharacter{203A}{\guilsinglright}
\DeclareUnicodeCharacter{20AC}{\euro}
\DeclareUnicodeCharacter{2192}{\expansion}
\DeclareUnicodeCharacter{21D2}{\result}
deps/libffi/texinfo.tex view on Meta::CPAN
\parindent = \defaultparindent
\setemergencystretch
}
% @letterpaper (the default).
\def\letterpaper{{\globaldefs = 1
\parskip = 3pt plus 2pt minus 1pt
\textleading = 13.2pt
%
% If page is nothing but text, make it come out even.
\internalpagesizes{607.2pt}{6in}% that's 46 lines
deps/libffi/texinfo.tex view on Meta::CPAN
{\bindingoffset}{36pt}%
{11in}{8.5in}%
}}
% Use @smallbook to reset parameters for 7x9.25 trim size.
\def\smallbook{{\globaldefs = 1
\parskip = 2pt plus 1pt
\textleading = 12pt
%
\internalpagesizes{7.5in}{5in}%
{-.2in}{0in}%
deps/libffi/texinfo.tex view on Meta::CPAN
\defbodyindent = .5cm
}}
% Use @smallerbook to reset parameters for 6x9 trim size.
% (Just testing, parameters still in flux.)
\def\smallerbook{{\globaldefs = 1
\parskip = 1.5pt plus 1pt
\textleading = 12pt
%
\internalpagesizes{7.4in}{4.8in}%
{-.2in}{-.4in}%
deps/libffi/texinfo.tex view on Meta::CPAN
\contentsrightmargin = 0pt
\defbodyindent = .4cm
}}
% Use @afourpaper to print on European A4 paper.
\def\afourpaper{{\globaldefs = 1
\parskip = 3pt plus 2pt minus 1pt
\textleading = 13.2pt
%
% Double-side printing via postscript on Laserjet 4050
% prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm.
% To change the settings for a different printer or situation, adjust
% \normaloffset until the front-side and back-side texts align. Then
% do the same for \bindingoffset. You can set these for testing in
% your texinfo source file like this:
% @tex
% \global\normaloffset = -6mm
% \global\bindingoffset = 10mm
% @end tex
\internalpagesizes{673.2pt}{160mm}% that's 51 lines
{\voffset}{\hoffset}%
{\bindingoffset}{44pt}%
{297mm}{210mm}%
deps/libffi/texinfo.tex view on Meta::CPAN
}}
% Use @afivepaper to print on European A5 paper.
% From romildo@urano.iceb.ufop.br, 2 July 2000.
% He also recommends making @example and @lisp be small.
\def\afivepaper{{\globaldefs = 1
\parskip = 2pt plus 1pt minus 0.1pt
\textleading = 12.5pt
%
\internalpagesizes{160mm}{120mm}%
{\voffset}{\hoffset}%
deps/libffi/texinfo.tex view on Meta::CPAN
\defbodyindent = 2mm
\tableindent = 12mm
}}
% A specific text layout, 24x15cm overall, intended for A4 paper.
\def\afourlatex{{\globaldefs = 1
\afourpaper
\internalpagesizes{237mm}{150mm}%
{\voffset}{4.6mm}%
{\bindingoffset}{7mm}%
{297mm}{210mm}%
%
% Must explicitly reset to 0 because we call \afourpaper.
\globaldefs = 0
}}
% Use @afourwide to print on A4 paper in landscape format.
\def\afourwide{{\globaldefs = 1
\afourpaper
\internalpagesizes{241mm}{165mm}%
{\voffset}{-2.95mm}%
{\bindingoffset}{7mm}%
{297mm}{210mm}%
\globaldefs = 0
}}
% @pagesizes TEXTHEIGHT[,TEXTWIDTH]
% Perhaps we should allow setting the margins, \topskip, \parskip,
% and/or leading, also. Or perhaps we should compute them somehow.
%
\parseargdef\pagesizes{\pagesizesyyy #1,,\finish}
\def\pagesizesyyy#1,#2,#3\finish{{%
\setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi
\globaldefs = 1
%
\parskip = 3pt plus 2pt minus 1pt
\setleading{\textleading}%
%
\dimen0 = #1\relax
deps/libffi/texinfo.tex view on Meta::CPAN
\catcode`\|=\active
\def|{{\tt\char124}}
\chardef \less=`\<
\catcode`\<=\active
\def<{{\tt \less}}
\chardef \gtr=`\>
\catcode`\>=\active
\def>{{\tt \gtr}}
\catcode`\+=\active
\def+{{\tt \char 43}}
\catcode`\$=\active
\def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix
deps/libffi/texinfo.tex view on Meta::CPAN
\catcode`\@=0
% \backslashcurfont outputs one backslash character in current font,
% as in \char`\\.
\global\chardef\backslashcurfont=`\\
\global\let\rawbackslashxx=\backslashcurfont % let existing .??s files work
% \realbackslash is an actual character `\' with catcode other, and
% \doublebackslash is two of them (for the pdf outlines).
{\catcode`\\=\other @gdef@realbackslash{\} @gdef@doublebackslash{\\}}
view all matches for this distribution