* lisp/emacs-lisp/eieio.el (defclass): Make it eval-and-compile once more.
authorGlenn Morris <rgm@gnu.org>
Wed, 19 Jun 2013 20:27:49 +0000 (16:27 -0400)
committerGlenn Morris <rgm@gnu.org>
Wed, 19 Jun 2013 20:27:49 +0000 (16:27 -0400)
lisp/ChangeLog
lisp/emacs-lisp/eieio.el

index 2eba6ef..1097df4 100644 (file)
@@ -1,3 +1,7 @@
+2013-06-19  Glenn Morris  <rgm@fencepost.gnu.org>
+
+       * emacs-lisp/eieio.el (defclass): Make it eval-and-compile once more.
+
 2013-06-19  Michael Albinus  <michael.albinus@gmx.de>
 
        * net/tramp-adb.el (tramp-adb-get-toolbox): Remove function, it is
index 3cdf1f0..fc5da31 100644 (file)
@@ -115,7 +115,12 @@ Options in CLOS not supported in EIEIO:
 
 Due to the way class options are set up, you can add any tags you wish,
 and reference them using the function `class-option'."
-  `(eieio-defclass ',name ',superclass ',slots ',options-and-doc))
+  ;; This is eval-and-compile only to silence spurious compiler warnings
+  ;; about functions and variables not known to be defined.
+  ;; When eieio-defclass code is merged here and this becomes
+  ;; transparent to the compiler, the eval-and-compile can be removed.
+  `(eval-and-compile
+     (eieio-defclass ',name ',superclass ',slots ',options-and-doc)))
 
 
 ;;; CLOS style implementation of object creators.