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);
 }

Reply via email to