diff options
author | Tom Feist <shabble@cowu.be> | 2010-08-21 23:46:24 +0000 |
---|---|---|
committer | Tom Feist <shabble@cowu.be> | 2010-08-21 23:46:24 +0000 |
commit | a0b309ed4ca2af04a17bd915c2829a689292adbd (patch) | |
tree | 10d21c227aaa356a31092aab2f10115792f06473 /patches/add_bindings_interface-r5190.patch | |
parent | added masshilight on requset form bikcmp - modified original to support confi... (diff) | |
download | irssi-scripts-a0b309ed4ca2af04a17bd915c2829a689292adbd.tar.gz irssi-scripts-a0b309ed4ca2af04a17bd915c2829a689292adbd.zip |
renamed patch file with svn rev patched against
Diffstat (limited to 'patches/add_bindings_interface-r5190.patch')
-rw-r--r-- | patches/add_bindings_interface-r5190.patch | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/patches/add_bindings_interface-r5190.patch b/patches/add_bindings_interface-r5190.patch new file mode 100644 index 0000000..8286444 --- /dev/null +++ b/patches/add_bindings_interface-r5190.patch @@ -0,0 +1,62 @@ +Index: ui/UI.xs +=================================================================== +--- ui/UI.xs (revision 5190) ++++ ui/UI.xs (working copy) +@@ -106,3 +106,47 @@ + irssi_boot(UI__Formats); + irssi_boot(UI__Themes); + irssi_boot(UI__Window); ++ ++HV* ++bindings() ++PREINIT: ++ GSList *info; ++ GSList *key; ++CODE: ++ ++ RETVAL = newHV(); ++ sv_2mortal((SV*)RETVAL); ++ ++ /* loop stolen from keyboard.c#cmd_show_keys */ ++ ++ for (info = keyinfos; info != NULL; info = info->next) { ++ KEYINFO_REC *rec = info->data; ++ for (key = rec->keys; key != NULL; key = key->next) { ++ KEY_REC *key_rec = key->data; ++ ++ /* return value { key => [ info, data ] } */ ++ AV* value_array = newAV(); ++ ++ char *kinfo = key_rec->info->id; ++ char *kdata = key_rec->data; ++ ++ /* store info, or undef if it's null */ ++ av_push(value_array, kinfo != NULL ++ ? newSVpv(kinfo, strlen(kinfo)) ++ : newSV(0)); ++ ++ /* ditto data */ ++ av_push(value_array, kdata != NULL ++ ? newSVpv(kdata, strlen(kdata)) ++ : newSV(0)); ++ ++ /* wedge it all into a reference so we can use it in the hash */ ++ SV* value_ref = newRV_inc((SV*)value_array); ++ ++ /* and finally, set up the hash */ ++ hv_store(RETVAL, key_rec->key, strlen(key_rec->key), ++ value_ref, 0); ++ } ++ } ++OUTPUT: ++ RETVAL +Index: ui/module.h +=================================================================== +--- ui/module.h (revision 5190) ++++ ui/module.h (working copy) +@@ -12,3 +12,5 @@ + typedef TEXT_DEST_REC *Irssi__UI__TextDest; + typedef THEME_REC *Irssi__UI__Theme; + typedef KEYINFO_REC *Irssi__UI__Keyinfo; ++typedef KEY_REC *Irssi__UI__Key; ++ |