[1845] in BarnOwl Developers

home help back first fref pref prev next nref lref last post

[PATCH 5/7] Export BarnOwl::all_keymaps to perl

daemon@ATHENA.MIT.EDU (David Benjamin)
Thu Oct 29 18:23:10 2009

Resent-From: nelhage@mit.edu
Resent-To: barnowl-dev-mtg@charon.mit.edu
X-Original-To: nelhage@lunatique.mit.edu
From: David Benjamin <davidben@MIT.EDU>
To: barnowl-dev@mit.edu
Date: Sat, 24 Oct 2009 13:43:39 -0400
In-Reply-To: <1256406221-22905-5-git-send-email-davidben@mit.edu>

For completing the show keymap command.

Signed-off-by: David Benjamin <davidben@mit.edu>
---
 perlglue.xs |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/perlglue.xs b/perlglue.xs
index ad13eff..f7de04a 100644
--- a/perlglue.xs
+++ b/perlglue.xs
@@ -376,6 +376,25 @@ all_variables()
 	CLEANUP:
 		owl_list_free_all(&l, owl_free);
 
+
+AV*
+all_keymaps()
+	PREINIT:
+		owl_list l;
+		const owl_keyhandler *kh;
+	CODE:
+	{
+		owl_list_create(&l);
+		kh = owl_global_get_keyhandler(&g);
+		owl_keyhandler_get_keymap_names(kh, &l);
+		RETVAL = owl_new_av(&l, (SV*(*)(const void*))owl_new_sv);
+		sv_2mortal((SV*)RETVAL);
+	}
+	OUTPUT:
+		RETVAL
+	CLEANUP:
+		owl_list_free_all(&l, owl_free);
+
 void
 redisplay()
 	CODE:
-- 
1.6.3.3


home help back first fref pref prev next nref lref last post