Author: yamakenz
Date: Mon Aug 20 06:13:48 2007
New Revision: 4874
Modified:
trunk/scm/key.scm
trunk/uim/uim-key.c
Log:
* uim/uim-key.c
- (define_key): Removed
- (uim_init_key_subrs): Remove definition of define-key
* scm/key.scm
- (define-key): New macro
Modified: trunk/scm/key.scm
==============================================================================
--- trunk/scm/key.scm (original)
+++ trunk/scm/key.scm Mon Aug 20 06:13:48 2007
@@ -310,6 +310,9 @@
(predicate (make-key-predicate modified-key-strs)))
(eval (list 'define key-predicate-sym predicate)
(interaction-environment)))))
+(define-macro define-key
+ (lambda (key-predicate-sym key-strs)
+ `(define-key-internal ',key-predicate-sym ,key-strs)))
(define valid-key-str?
(lambda (key-str)
Modified: trunk/uim/uim-key.c
==============================================================================
--- trunk/uim/uim-key.c (original)
+++ trunk/uim/uim-key.c Mon Aug 20 06:13:48 2007
@@ -417,21 +417,6 @@
return (filtered) ? FILTERED : PASSTHROUGH;
}
-static uim_lisp
-define_key(uim_lisp args, uim_lisp env)
-{
- uim_lisp form, predicate_sym, sources;
-
- if (uim_scm_length(args) != 2)
- uim_scm_error_obj("define-key: invalid form", args);
-
- predicate_sym = CAR(args);
- sources = CAR(CDR(args));
- form = LIST3(MAKE_SYM("define-key-internal"), QUOTE(predicate_sym), sources);
-
- return uim_scm_eval(form);
-}
-
void
uim_init_key_subrs(void)
{
@@ -439,5 +424,4 @@
uim_scm_gc_protect(&protected);
define_valid_key_symbols();
- uim_scm_init_fsubr("define-key", define_key);
}