* luna.el (luna-define-method): Clear method cache of child classes.
authortsuchiya <tsuchiya>
Thu, 26 Sep 2002 01:29:05 +0000 (01:29 +0000)
committertsuchiya <tsuchiya>
Thu, 26 Sep 2002 01:29:05 +0000 (01:29 +0000)
* mime-ja.texi (CVS): Escape @.

ChangeLog
luna.el
mime-ja.texi

index 13d391f..70f1562 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2002-09-26  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
+
+       * luna.el (luna-define-method): Clear method cache of child
+       classes.
+
+       * mime-ja.texi (CVS): Escape @.
+
 2002-09-14  KOSEKI Yoshinori  <kose@meadowy.org>
 
        * mime-en.texi (CVS): Fix Typo. (@ to @@).
diff --git a/luna.el b/luna.el
index cf1df38..785e6eb 100644 (file)
--- a/luna.el
+++ b/luna.el
@@ -181,7 +181,17 @@ The optional 5th BODY is the body of the method."
                                 (cdr args)))
                      (,@ definition))))
             (sym (luna-class-find-or-make-member
-                  (luna-find-class '(, class)) '(, name))))
+                  (luna-find-class '(, class)) '(, name)))
+            (cache (get '(, name) 'luna-method-cache)))
+        (and cache
+             (fboundp sym)
+             (let ((new (make-vector (length cache) 0)))
+               (mapatoms
+                (lambda (s)
+                  (or (memq (symbol-function sym) (symbol-value s))
+                      (set (intern (symbol-name s) new) (symbol-value s))))
+                cache)
+               (put '(, name) 'luna-method-cache new)))
         (fset sym func)
         (put sym 'luna-method-qualifier (, method-qualifier))))))
 
index 939e3a3..4d94677 100644 (file)
@@ -1541,13 +1541,13 @@ FLIM \e$B$N\e(B file \e$B$O\e(B CVS \e$B$r;H$C$F4IM}$5$l$F$$$^$9!#$3$N$?$a!"0J2<$NJ}K
 @example
 (0) cvs login
 
-    % cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/root login
+    % cvs -d :pserver:anonymous@@cvs.m17n.org:/cvs/root login
 
     CVS password: [CR] # NULL string
 
 (1) checkout
 
-    % cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/root checkout
+    % cvs -d :pserver:anonymous@@cvs.m17n.org:/cvs/root checkout
        checkout [-r TAG] flim
 @end example
 
@@ -1556,7 +1556,7 @@ CVS \e$B$rMQ$$$?3+H/$K;22C$7$?$$J}$O\e(B
 
 @itemize @bullet
 @item
- <cvs@cvs.m17n.org>
+ <cvs@@cvs.m17n.org>
 @end itemize
 
 @noindent