Mercurial > pidgin
annotate gaim2blt.pl @ 9071:2233d33b2285
[gaim-migrate @ 9847]
This fixes the bug where other GtkTextTags (e.g. from gtkspell) would
confuse us slightly and make us end and restart tags at seemingly random
places. I.e. we would do like </b><b> for seemingly no good reason.
This caused the double link bug on protocols where links didn't have
descriptions. <a href="http://foo.bar">http://foo.bar</a> might be split
into two links. On AIM that doesn't matter, but on Yahoo and MSN it does.
I might have implemented this slightly differently, but I'm assuming that
datallah tested this good and so I don't want to mess with it if it works.
Oh yeah, did i mention datallah wrote this patch? Thanks!
People might want to test this well and make sure we still generate good
html. This is probably one of the most important functions in imhtml, with
gtk_imhtml_insert_html_at_iter being the other one. The latter parses html
and inserts it into a GtkTextBuffer, while the function this patch patches
takes a GtkTextBuffer (or a piece of one) and turns it into html.
committer: Tailor Script <tailor@pidgin.im>
author | Tim Ringenbach <marv@pidgin.im> |
---|---|
date | Wed, 26 May 2004 05:25:06 +0000 |
parents | 66bf7ecefedd |
children |
rev | line source |
---|---|
1741
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
1 #!/usr/bin/perl -w |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
2 # Original by Andy Harrison, |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
3 # Rewrite by Decklin Foster, |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
4 # Available under the GPL. |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
5 |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
6 package Gaim2Blt; |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
7 use strict; |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
8 use Getopt::Std; |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
9 use vars qw(%opts $in_group); |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
10 |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
11 getopts('s:', \%opts); |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
12 die "usage: $0 -s 'screen name' gaim.buddy\n" unless $opts{s}; |
1685 | 13 |
1741
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
14 print <<"EOF"; |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
15 Config { |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
16 version 1 |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
17 } |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
18 User { |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
19 screenname "$opts{s}" |
1685 | 20 } |
1741
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
21 Buddy { |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
22 list { |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
23 EOF |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
24 |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
25 while (<>) { |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
26 chomp; |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
27 my ($type, $args) = split ' ', $_, 2; |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
28 next unless $type; |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
29 |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
30 if ($type eq 'g') { |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
31 print " }\n" if ($in_group); |
3489
66bf7ecefedd
[gaim-migrate @ 3545]
Christian Hammond <chipx86@chipx86.com>
parents:
3389
diff
changeset
|
32 print qq( "$args" {\n); |
1741
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
33 $in_group = 1; |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
34 } elsif ($type eq 'b') { |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
35 my ($buddy, $alias) = split /:/, $args; |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
36 print qq( "$buddy"\n); |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
37 } |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
38 } |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
39 |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
40 print <<"EOF"; |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
41 } |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
42 } |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
43 } |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
44 EOF |