[1848] in BarnOwl Developers
Re: [PATCH 0/7] Generic perl data export routines
daemon@ATHENA.MIT.EDU (Nelson Elhage)
Thu Oct 29 18:23:12 2009
Resent-From: nelhage@mit.edu
Resent-To: barnowl-dev-mtg@charon.mit.edu
X-Original-To: nelhage@lunatique.mit.edu
Date: Sat, 24 Oct 2009 15:55:58 -0400
From: Nelson Elhage <nelhage@MIT.EDU>
To: David Benjamin <davidben@mit.edu>
Cc: barnowl-dev@mit.edu
In-Reply-To: <1256406221-22905-1-git-send-email-davidben@mit.edu>
Looks good to me. One thing that might make that cast less ugly would
be to typedef the function type somewhere. Something like
typedef SV* (*owl_to_sv_fn)(const void *);
and then use that type in the casts instead of the ugly
expression. I'm not sure what the right name is -- I don't love
owl_to_sv_fn, but it's not obviously wrong.
Signed-off-by: Nelson Elhage <nelhage@mit.edu>
- Nelson
On Sat, Oct 24, 2009 at 01:43:34PM -0400, David Benjamin wrote:
> I've been sitting on these for a while, and they're probably clean by now, so I
> guess I'll go email them.
>
> These patches add owl_new_av and owl_new_hv functions to copy owl arrays and
> dicts to perl lists and hashes. owl_new_av is also used to export the names of
> the keymaps into perl for completion the show command. (Because I apparently
> have a thing for adding completers to everything.)
>
> owl_new_av needs a cast for most of its uses, which is a little ugly, but so
> does owl_list_free. Using void* in C is wonderful like that.
>
> David Benjamin (7):
> Add typedefs for AV and HV
> Add owl_new_av to abstract owl_list to AV*
> Add owl_filter_to_sv for exporting filters
> Use owl_new_av in exported functions
> Export BarnOwl::all_keymaps to perl
> Further complete the show command
> Add owl_new_hv for future Perl code
>
> filter.c | 5 +++
> owl.h | 2 +
> perl/lib/BarnOwl/Complete/Client.pm | 4 +++
> perlconfig.c | 38 +++++++++++++++++++++++++++
> perlglue.xs | 49 +++++++++++++++-------------------
> 5 files changed, 71 insertions(+), 27 deletions(-)
>