Mercurial > pidgin
view gaim2blt.pl @ 10597:0e886a234d92
[gaim-migrate @ 12012]
This is a nontrivial change to the way signal handlers are implemented
and used in Tcl. This changes signal handlers to being standard Tcl
functions by way of a little bit of namespace glue. In addition,
in/out arguments to signals are now implemented via variables which
should be upvar'd; this is a little more verbose than the old method,
but it should fit people's Tcl expectations a little better, since
normally Tcl function arguments are not call-by-reference.
This still isn't 64-bit safe, and the documentation wasn't updated. I
expect there will be more nontrivial changes to Tcl before 2.0, so
those things are pending.
Ethan
committer: Tailor Script <tailor@pidgin.im>
author | Ethan Blanton <elb@pidgin.im> |
---|---|
date | Mon, 14 Feb 2005 03:11:23 +0000 |
parents | 66bf7ecefedd |
children |
line wrap: on
line source
#!/usr/bin/perl -w # Original by Andy Harrison, # Rewrite by Decklin Foster, # Available under the GPL. package Gaim2Blt; use strict; use Getopt::Std; use vars qw(%opts $in_group); getopts('s:', \%opts); die "usage: $0 -s 'screen name' gaim.buddy\n" unless $opts{s}; print <<"EOF"; Config { version 1 } User { screenname "$opts{s}" } Buddy { list { EOF while (<>) { chomp; my ($type, $args) = split ' ', $_, 2; next unless $type; if ($type eq 'g') { print " }\n" if ($in_group); print qq( "$args" {\n); $in_group = 1; } elsif ($type eq 'b') { my ($buddy, $alias) = split /:/, $args; print qq( "$buddy"\n); } } print <<"EOF"; } } } EOF