From b1ef1257fe09bb9c602fc9d488b132896e4d16a9 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sun, 22 May 2011 21:39:25 -0300 Subject: [PATCH] * lisp/emacs-lisp/eieio.el (eieio-defgeneric-form-primary-only-one): Fix function quoting. Use backquote better. --- lisp/ChangeLog | 5 +++++ lisp/emacs-lisp/eieio.el | 17 ++++++++--------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 506348601e..726f41496e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2011-05-23 Stefan Monnier + + * emacs-lisp/eieio.el (eieio-defgeneric-form-primary-only-one): + Fix function quoting. Use backquote better. + 2011-05-22 Yuanle Song * nxml/rng-xsd.el (rng-xsd-check-pattern): Use case-sensitive diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el index 8c5260106a..83c09b6fe0 100644 --- a/lisp/emacs-lisp/eieio.el +++ b/lisp/emacs-lisp/eieio.el @@ -1226,29 +1226,28 @@ IMPL is the symbol holding the method implementation." (if (not (eieio-object-p (car local-args))) ;; Not an object. Just signal. (signal 'no-method-definition - (list ,(list 'quote method) local-args)) + (list ',method local-args)) ;; We do have an object. Make sure it is the right type. (if ,(if (eq class eieio-default-superclass) - nil ; default superclass means just an obj. Already asked. + nil ; default superclass means just an obj. Already asked. `(not (child-of-class-p (aref (car local-args) object-class) - ,(list 'quote class))) - ) + ',class))) ;; If not the right kind of object, call no applicable (apply 'no-applicable-method (car local-args) - ,(list 'quote method) local-args) + ',method local-args) ;; It is ok, do the call. ;; Fill in inter-call variables then evaluate the method. - (let ((scoped-class ,(list 'quote class)) + (let ((scoped-class ',class) (eieio-generic-call-next-method-list nil) (eieio-generic-call-key method-primary) - (eieio-generic-call-methodname ,(list 'quote method)) + (eieio-generic-call-methodname ',method) (eieio-generic-call-arglst local-args) ) - (apply ,(list 'quote impl) local-args) - ;(,impl local-args) + (apply #',impl local-args) + ;;(,impl local-args) ))))))) (defsubst eieio-defgeneric-reset-generic-form-primary-only-one (method) -- 2.20.1