Re: making user definable variables really global
Adrian Aichner <[email protected]> Tue, 17 Jun 2003 15:24:42 +0200
| Newsgroups | gmane.comp.tex.texi2html.devel |
|---|---|
| Organization | Teradyne, Inc. -- Consumer Business Unit |
| Message-ID | <[email protected]> |
diruse.pl
(application/octet-stream, 9.5 KB)
IyEgL3Vzci9sb2NhbC9iaW4vcGVybCAtdw0KIw0KIyAkSWQ6IGRpcnVzZS5wbCx2IDEuMTUg
MjAwMy8wNC8yNyAyMDoxNzo1NSBBaWNobmVyQWQgRXhwICQNCiMNCiMgQWRyaWFuIEFpY2hu
ZXIsIFRlcmFkeW5lIEdtYkguIE11bmljaCwgVHVlLCBNYXIuIDAyIDE5OTkuDQojDQojIENy
ZWF0ZSBkaXNrIHVzYWdlIHJlcG9ydCB1c2luZyBkaXJ1c2UuZXhlLCBwcm92aWRlZCBieSB0
aGUgV2luZG93cw0KIyBOVCBSZXNvdXJjZSBLaXQuDQoNCnVzZSBBUEE6OkR1bXBFeHQ7DQp1
c2UgQ0dJOjpDYXJwIHF3KGZhdGFsc1RvQnJvd3Nlcik7DQp1c2UgQ0dJOjpDYXJwOw0KdXNl
IENHSTsNCnVzZSBEYXRhOjpEdW1wZXI7DQp1c2UgR2V0b3B0OjpMb25nOw0KdXNlIFN5czo6
SG9zdG5hbWU7DQoNCm15ICVvcHRpb25zID0gKA0KICAgICAgICAgICAgICAgImhlbHAiDQog
ICAgICAgICAgICAgICA9PiAiRGlzcGxheSB0aGlzIGhlbHAgbWVzc2FnZSIsDQogICAgICAg
ICAgICAgICAia2V5c3Ryb2tlIg0KICAgICAgICAgICAgICAgPT4gIldhaXQgZm9yIGEga2V5
IHN0cm9rZSBiZWZvcmUgY29tcGxldGlvbiIsDQogICAgICAgICAgICAgICAiZmlsZT1zIg0K
ICAgICAgICAgICAgICAgPT4gIkNvbmZpZyBmaWxlIHRvIGJlIHVzZWQgKHJlcXVpcmVkKSIs
DQogICAgICAgICAgICAgICk7DQoNCnVzZSB2YXJzIHF3LyAkb3B0X2hlbHAgJG9wdF9rZXlz
dHJva2UgJG9wdF9maWxlIC87DQoNCm1haW4oKTsNCg0Kc3ViIG1haW4gew0KICAgIG15IChA
Y21kX2xpbmUpID0gKCQwLCBAQVJHVik7DQogICAgbXkgJGNvbmZpZzsNCiAgICBteSAkaW5k
ZW50ID0gIiAgIjsNCiAgICBpZiAoISBHZXRPcHRpb25zKGtleXMoJW9wdGlvbnMpKSBvciAk
b3B0X2hlbHAgb3IgISBkZWZpbmVkICRvcHRfZmlsZSkgew0KICAgICAgICBVc2FnZSgNCiAg
ICAgICAgICAgICAgXCVvcHRpb25zLA0KICAgICAgICAgICAgICAiJDAgY2FsbHMgZGlydXNl
LmV4ZSwgYWNjb3JkaW5nIHRvIGNvbmZpZ3VyYXRpb24gZmlsZS4iDQogICAgICAgICAgICAg
KTsNCiAgICB9DQogICAgaWYgKC1lICIkb3B0X2ZpbGUiKSB7DQogICAgICAgICRjb25maWcg
PSBkbyAiJG9wdF9maWxlIiBvciBkaWUgIkNhbm5vdCBvcGVuIFwnJG9wdF9maWxlJyI7DQog
ICAgfSBlbHNlIHsNCiAgICAgICAgJGNvbmZpZyA9IHsNCiAgICAgICAgICAgICAgICAgICAn
Y29tbWFuZF9kaXInID0+IHFbYzpcXE5UUkVTS0lUXSwNCiAgICAgICAgICAgICAgICAgICAn
b3V0cHV0JyA9PiAnYzpcXHRlbXBcXGRpcnVzZS5odG1sJywNCiAgICAgICAgICAgICAgICAg
ICAnb3B0aW9ucycgPT4gcVsvbSAvcyAvcTo1MCAvZF0sDQogICAgICAgICAgICAgICAgICAg
J2RpcnMnID0+IHFbYzpcXF0sDQogICAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAjICRE
YXRhOjpEdW1wZXI6OkluZGVudCA9IDEsDQogICAgICAgICMgJERhdGE6OkR1bXBlcjo6UHVy
aXR5ID0gMSwNCiAgICAgICAgIyByY3MgPSAwOw0KICAgICAgICBkdW1wX2RhdGFfdG9fZmls
ZSgkY29uZmlnLCAiJG9wdF9maWxlIiwgMSwgMSwgMCk7DQogICAgICAgIHByaW50IFNUREVS
UiAiUGxlYXNlIGFkanVzdCBcIiRvcHRfZmlsZVwiIHRvIHlvdXIgbGlraW5nIGJlZm9yZSBy
ZS1ydW5uaW5nLiI7DQogICAgICAgIGV4aXQgMTsNCiAgICB9DQogICAgbXkgJGNvbW1hbmRf
ZGlyID0gJGNvbmZpZy0+eydjb21tYW5kX2Rpcid9Ow0KICAgICMgQVBBOiBZdWNrISAgSG93
IGRvIEkgZG8gdGhpcyByaWdodD8gIEkgcXVvdGUgaXQgaGVyZSBiZWNhdXNlIGl0DQogICAg
IyBnZXRzIGV2YWx1YXRlZCBvbmUgbW9yZSB0aW1lIGluIG9wZW4oQ01ESU4sIC4uLikuDQog
ICAgIyBBUEE6IHF1b3RlbWV0YSBub3QgbmVjZXNzYXJ5IGluIEFjdGl2ZVBlcmwhDQogICAg
IyBteSAkZGlycyA9IHF1b3RlbWV0YSgkY29uZmlnLT57J2RpcnMnfSk7DQogICAgbXkgJGRp
cnMgPSAkY29uZmlnLT57J2RpcnMnfTsNCiAgICBteSAkb3B0aW9ucyA9ICRjb25maWctPnsn
b3B0aW9ucyd9Ow0KICAgIG15ICRvdXRwdXQgPSAkY29uZmlnLT57J291dHB1dCd9Ow0KICAg
IG9wZW4oU0FWRU9VVCwgIj4gJG91dHB1dCIpOw0KICAgIGJpbm1vZGUgU0FWRU9VVDsNCiAg
ICBzZWxlY3QoU0FWRU9VVCk7DQogICAgIyBBUEE6IFl1Y2shIGNvbW1hbmRfZGlyIG11c3Qg
ZW5kIGluIGRpcmVjdG9yeV9zZXBfY2hhci4gIFRoaXMNCiAgICAjIHBhdGggc2hvdWxkIGJl
IGNvbnN0cnVjdGVkIHByb3Blcmx5IGluIHBlcmwhDQogICAgb3BlbiAoQ01ESU4sICIke2Nv
bW1hbmRfZGlyfURJUlVTRS5FWEUgJG9wdGlvbnMgJGRpcnMgfCIpOw0KICAgIGJpbm1vZGUg
Q01ESU47DQogICAgbXkoJGZvcm0pID0gbmV3IENHSSh7fSk7DQogICAgbXkgJHRpdGxlID0g
IkJpZyBEaXJlY3RvcmllcyBvbiAiIC4gaG9zdG5hbWUoKTsNCiAgICAjIERvbid0IHByaW50
IGhlYWRlciB1bmxlc3MgcnVubmluZyBhcyBDR0ktQklOIHNjcmlwdC4NCiAgICAjIHByaW50
ICRmb3JtLT5oZWFkZXI7DQogICAgcHJpbnQgJGZvcm0tPnN0YXJ0X2h0bWwoLWR0ZCA9PiBb
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0vL1czQy8vRFREIFhI
VE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAnaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJh
bnNpdGlvbmFsLmR0ZCddLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICctdGl0bGUn
ID0+ICR0aXRsZSwNCiAgICAJCQkgICAgJy1hdXRob3InID0+ICdhZHJpYW4uYWljaG5lckB0
ZXJhZHluZS5jb20nKTsNCiAgICBwcmludGYoIlxuJXM8aDE+JHRpdGxlPC9oMT5cbiIsICRp
bmRlbnQgeCAyKTsNCiAgICBwcmludGYoIiVzPHA+YXMgb2YgIiAuIGdtdGltZSgpIC4gIiBH
TVQ8L3A+XG4iLCAkaW5kZW50IHggMik7DQogICAgcHJpbnRmKCIlczx0YWJsZSBib3JkZXI9
MT5cbiIsICRpbmRlbnQgeCAyKTsNCiAgICB3aGlsZSAoPENNRElOPikgew0KCSMNCgkjIFBl
cmZvcm0gbGluZS1vcmllbnRlZCBhY3Rpb25zIGJlbG93Lg0KCSMNCgljaG9tcDsNCglpZiAo
L15ccytTaXplLykgew0KCSAgICBAaGVhZGluZ3MgPSBzcGxpdDsNCgkgICAgcHJpbnRmKCIl
czx0cj5cbiIsICRpbmRlbnQgeCAzKTsNCgkgICAgcHJpbnRmKCIlczx0aD4lcyVzPC90aD5c
biIsICRpbmRlbnQgeCA0LCBAaGVhZGluZ3NbMC4uMV0pOw0KCSAgICBwcmludGYoIiVzPHRo
PiVzPC90aD5cbiIsICRpbmRlbnQgeCA0LCAkaGVhZGluZ3NbMl0pOw0KCSAgICBwcmludGYo
IiVzPHRoPiVzPC90aD5cbiIsICRpbmRlbnQgeCA0LCAkaGVhZGluZ3NbM10pOw0KCSAgICBw
cmludGYoIiVzPC90cj5cbiIsICRpbmRlbnQgeCAzKTsNCgl9DQoJcHVzaCBAaGVhdmllcywg
JF8gaWYgL14hLzsNCiAgICB9DQogICAgQGhlYXZpZXMgPSBzb3J0IGJ5U2l6ZSBAaGVhdmll
czsNCiAgICBmb3IgKEBoZWF2aWVzKSB7DQogICAgICAgIHByaW50ZigiJXM8dHI+XG4iLCAk
aW5kZW50IHggMyk7DQogICAgICAgICh1bmRlZiwgQGNvbHMpID0gc3BsaXQ7DQoJcHJpbnRm
KCIlczx0ZCBhbGlnbj1yaWdodD4lczwvdGQ+XG4iLCAkaW5kZW50IHggNCwgc2hpZnQgQGNv
bHMpOw0KCXByaW50ZigiJXM8dGQgYWxpZ249cmlnaHQ+JXM8L3RkPlxuIiwgJGluZGVudCB4
IDQsIHNoaWZ0IEBjb2xzKTsNCiAgICAgICAgcHJpbnRmKCIlczx0ZD5AY29sczwvdGQ+XG4i
LCAkaW5kZW50IHggNCk7DQogICAgICAgIHByaW50ZigiJXM8L3RyPlxuIiwgJGluZGVudCB4
IDMpOw0KICAgIH0NCiAgICBwcmludGYoIiVzPC90YWJsZT5cbiIsICRpbmRlbnQgeCAyKTsN
CiAgICBwcmludGYoIiVzPHA+PHNtYWxsPkdlbmVyYXRlZCBmb3IiLCAkaW5kZW50IHggMik7
DQogICAgcHJpbnQgIiA8YSBocmVmPVwibWFpbHRvOmFkcmlhbi5haWNobmVyXEB0ZXJhZHlu
ZS5jb21cIj4iOw0KICAgIHByaW50ICdhZHJpYW4uYWljaG5lckB0ZXJhZHluZS5jb208L2E+
JzsNCiAgICBwcmludCAnIGJ5ICRJZDogZGlydXNlLnBsLHYgMS4xNSAyMDAzLzA0LzI3IDIw
OjE3OjU1IEFpY2huZXJBZCBFeHAgJC4nOw0KICAgIHByaW50ZigiPC9zbWFsbD48L3A+XG4l
cyIsICRpbmRlbnQgeCAxKTsNCiAgICBwcmludCAkZm9ybS0+ZW5kX2h0bWw7DQogICAgcHJp
bnQgIlxuIjsNCiAgICAjDQogICAgIyBCZWdpbiBvZiBzZWN0aW9uIHByb2R1Y2VkIGJ5Og0K
ICAgICMgQzpcVXNlcnNcQWljaG5lckFkL3BsL3ByaW50Zml6ZS5wbCAtcGVybA0KICAgICMN
CiAgICBwcmludGYoIlxuIik7DQogICAgcHJpbnRmKCI8IS0tIEtlZXAgdGhpcyBjb21tZW50
IGF0IHRoZSBlbmQgb2YgdGhlIGZpbGVcbiIpOw0KICAgIHByaW50ZigiTG9jYWwgdmFyaWFi
bGVzOlxuIik7DQogICAgcHJpbnRmKCJtb2RlOiB4bWxcbiIpOw0KICAgIHByaW50Zigic2dt
bC1vbWl0dGFnOm5pbFxuIik7DQogICAgcHJpbnRmKCJzZ21sLXNob3J0dGFnOm5pbFxuIik7
DQogICAgcHJpbnRmKCJzZ21sLW5hbWVjYXNlLWdlbmVyYWw6bmlsXG4iKTsNCiAgICBwcmlu
dGYoInNnbWwtZ2VuZXJhbC1pbnNlcnQtY2FzZTpsb3dlclxuIik7DQogICAgcHJpbnRmKCJz
Z21sLW1pbmltaXplLWF0dHJpYnV0ZXM6bmlsXG4iKTsNCiAgICBwcmludGYoInNnbWwtYWx3
YXlzLXF1b3RlLWF0dHJpYnV0ZXM6dFxuIik7DQogICAgcHJpbnRmKCJzZ21sLWluZGVudC1z
dGVwOjJcbiIpOw0KICAgIHByaW50Zigic2dtbC1pbmRlbnQtZGF0YTp0XG4iKTsNCiAgICBw
cmludGYoInNnbWwtcGFyZW50LWRvY3VtZW50Om5pbFxuIik7DQogICAgcHJpbnRmKCJzZ21s
LWV4cG9zZWQtdGFnczpuaWxcbiIpOw0KICAgIHByaW50Zigic2dtbC1sb2NhbC1jYXRhbG9n
czpuaWxcbiIpOw0KICAgIHByaW50Zigic2dtbC1sb2NhbC1lY2F0LWZpbGVzOm5pbFxuIik7
DQogICAgcHJpbnRmKCJFbmQ6XG4iKTsNCiAgICBwcmludGYoIi0tPlxuIik7DQogICAgIw0K
ICAgICMgRW5kIG9mIHNlY3Rpb24gcHJvZHVjZWQgYnk6DQogICAgIyBDOlxVc2Vyc1xBaWNo
bmVyQWQvcGwvcHJpbnRmaXplLnBsIC1wZXJsDQogICAgIw0KfQ0KDQpzdWIgYnlTaXplIHsN
CiAgICBteSAkYVNpemUgPSAoc3BsaXQgJyAnLCAkYSlbMV07DQogICAgbXkgJGJTaXplID0g
KHNwbGl0ICcgJywgJGIpWzFdOw0KICAgICMgICAgcHJpbnRmICIkYVNpemUgPD0+ICRiU2l6
ZSBsZWFkcyAlZFxuIiwgJGFTaXplIDw9PiAkYlNpemU7DQogICAgJGJTaXplIDw9PiAkYVNp
emU7DQp9DQo=
sub dump_data_to_file {
my $data = $_[0];
my $file = $_[1];
$Data::Dumper::Indent = defined $_[2] ? $_[2] : 1;
$Data::Dumper::Purity = defined $_[3] ? $_[3] : 1;
my $rcs = defined $_[4] ? $_[4] : 1;
my $comment = $_[5];
open(DB, "> $file") or confess $!;
print DB "# -*-CPerl-*-\n#\n# This file was produced by:\n# $0\n";
print DB "# at UTC " . gmtime() . "\n#\n";
if (defined $comment) {
my $comment_format = "# ^" . '<' x 76 . " ~~\n";
$ACCUMULATOR = "";
formline ($comment_format, $comment);
print DB "$ACCUMULATOR#\n";
}
print DB "# Dumper Configuration:\n";
print DB "# \$Data::Dumper::Indent is $Data::Dumper::Indent\n";
print DB "# \$Data::Dumper::Purity is $Data::Dumper::Purity\n";
print DB "# \$Data::Dumper::Terse is $Data::Dumper::Terse\n";
print DB "# \$Data::Dumper::Pad is \"$Data::Dumper::Pad\"\n";
print DB "# \$Data::Dumper::Varname is \"$Data::Dumper::Varname\"\n#\n";
print DB Dumper($data);
close(DB);
}
Derek> Dumas Patrice wrote:
>> Hi,
>>
>> I am struggling with the singular manual, and it appears that if there is
>> a my variable in the texi2html script, the value cannot be overwrited
>> by a required file (that is quite logical as the scope of the
>> variable is then the script file). Thus I am going to remove lots of
>> my for variables in
>> texi2html.init and make these variables global (which is hurting me
>> inside, after all the my variables I did ;-).
>>
>> If somebody knows a better approach I'd be glad to hear.
>>
Derek> Again, how about sourcing the files into a Texi2HTML::Config package
Derek> or the like? I'm torn over whether the .init file should contain the
Derek> "package Texi2HTML::Config" line or not, but it might not hurt.
Derek> Derek
Derek> --
Derek> *8^)
Derek> Email: [email protected]
Derek> Get CVS support at <http://ximbiot.com>!
Derek> --
Derek> When the only tool you own is a hammer, every problem begins to resemble a
Derek> nail.
Derek> - Abraham Maslow
Derek> ---------------------------------------------------------------------
Derek> To unsubscribe, e-mail: [email protected]
Derek> For additional commands, e-mail: [email protected]
--
Adrian Aichner Teradyne GmbH, European Design Center
Consumer Business Unit Telephone +49/89/41861(0)-208
Dingolfinger Strasse 2 Fax +49/89/41861-115
D-81673 MUENCHEN E-mail [email protected]