projects
/
elisp
/
flim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
update.
[elisp/flim.git]
/
luna.el
diff --git
a/luna.el
b/luna.el
index
0aee9f7
..
238fba8
100644
(file)
--- a/
luna.el
+++ b/
luna.el
@@
-1,6
+1,6
@@
;;; luna.el --- tiny OOP system kernel
;;; luna.el --- tiny OOP system kernel
-;; Copyright (C) 1999,2000 Free Software Foundation, Inc.
+;; Copyright (C) 1999,2000,2002 Free Software Foundation, Inc.
;; Author: MORIOKA Tomohiko <tomo@m17n.org>
;; Keywords: OOP
;; Author: MORIOKA Tomohiko <tomo@m17n.org>
;; Keywords: OOP
@@
-19,8
+19,8
@@
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Code:
;;; Code:
@@
-164,8
+164,13
@@
The optional 5th BODY is the body of the method."
(sym (luna-class-find-or-make-member
(luna-find-class ',class) ',name))
(cache (get ',name 'luna-method-cache)))
(sym (luna-class-find-or-make-member
(luna-find-class ',class) ',name))
(cache (get ',name 'luna-method-cache)))
- (if cache
- (unintern ',class cache))
+ (and cache
+ (fboundp sym)
+ (mapatoms
+ (lambda (s)
+ (if (memq (symbol-function sym) (symbol-value s))
+ (unintern s cache)))
+ cache))
(fset sym func)
(put sym 'luna-method-qualifier ,method-qualifier))))
(fset sym func)
(put sym 'luna-method-qualifier ,method-qualifier))))