Merge Irssi 0.8.16-rc1
[silc.git] / apps / irssi / src / perl / get-signals.pl
index c61c81cc934a391bef7c3eef0ae5f8a9e75d4fab..1f410dada4865959d034896629dcb9fcea12cba4 100755 (executable)
@@ -1,11 +1,15 @@
 #!/usr/bin/perl
 
+print "/*\n";
+print " * Autogenerated by get-signals.pl from ../../doc/signals.txt,\n";
+print " * do not edit.\n";
+print " */\n\n";
 print "static PERL_SIGNAL_ARGS_REC perl_signal_args[] =\n{\n";
 
 while (<STDIN>) {
        chomp;
 
-       next if (!/^ "([^"]*)"(<.*>)?,\s*(.*)/);
+       next if (!/^ "([^"]*)"(<.*>)?(?:,\s*(.*))?/);
        next if (/\.\.\./);
        next if (/\(/);
 
@@ -22,7 +26,7 @@ while (<STDIN>) {
 
        # core
         s/CHATNET_REC[^,]*/iobject/g;
-        s/SERVER_REC[^,]*/iobject/g;
+        s/(?<!_)SERVER_REC[^,]*/iobject/g;
         s/RECONNECT_REC[^,]*/iobject/g;
        s/CHANNEL_REC[^,]*/iobject/g;
        s/QUERY_REC[^,]*/iobject/g;
@@ -42,6 +46,7 @@ while (<STDIN>) {
        s/DCC_REC[^,]*/siobject/g;
        s/AUTOIGNORE_REC[^,]*/Irssi::Irc::Autoignore/g;
        s/NOTIFYLIST_REC[^,]*/Irssi::Irc::Notifylist/g;
+       s/CLIENT_REC[^,]*/Irssi::Irc::Client/g;
 
        # fe-common
        s/THEME_REC[^,]*/Irssi::UI::Theme/g;
@@ -55,7 +60,11 @@ while (<STDIN>) {
        s/PERL_SCRIPT_REC[^,]*/Irssi::Script/g;
 
        s/([\w\*:]+)(,|$)/"\1"\2/g;
-       print "    { \"$signal\", { $_, NULL } },\n";
+       if ($_ eq "") {
+               print "    { \"$signal\", { NULL } },\n";
+       } else {
+               print "    { \"$signal\", { $_, NULL } },\n";
+       }
 }
 
 print "\n    { NULL }\n};\n";