diff lisp/emacs-lisp/eieio-comp.el @ 111427:28be5d9560c5

Minor eieio-comp changes. * lisp/emacs-lisp/eieio-comp.el (byte-compile-file-form-defmethod): Use boundp tests to silence compiler. Update for changed name of bytecomp-filename variable.
author Glenn Morris <rgm@gnu.org>
date Sat, 06 Nov 2010 12:47:42 -0700
parents 280c8ae2476d
children 417b1e4d63cd
line wrap: on
line diff
--- a/lisp/emacs-lisp/eieio-comp.el	Sat Nov 06 12:44:11 2010 -0700
+++ b/lisp/emacs-lisp/eieio-comp.el	Sat Nov 06 12:47:42 2010 -0700
@@ -47,10 +47,6 @@
 ;; This teaches the byte compiler how to do this sort of thing.
 (put 'defmethod 'byte-hunk-handler 'byte-compile-file-form-defmethod)
 
-;; Variables used free:
-(defvar outbuffer)
-(defvar filename)
-
 (defun byte-compile-file-form-defmethod (form)
   "Mumble about the method we are compiling.
 This function is mostly ripped from `byte-compile-file-form-defun',
@@ -83,14 +79,18 @@
 	 (class (if (listp arg1) (nth 1 arg1) nil))
 	 (my-outbuffer (if (eval-when-compile (featurep 'xemacs))
 			   byte-compile-outbuffer
-			 (condition-case nil
-			     bytecomp-outbuffer
-			   (error outbuffer))))
-	 )
+			 (cond ((boundp 'bytecomp-outbuffer)
+				bytecomp-outbuffer) ; Emacs >= 23.2
+			       ((boundp 'outbuffer) outbuffer)
+			       (t (error "Unable to set outbuffer"))))))
     (let ((name (format "%s::%s" (or class "#<generic>") meth)))
       (if byte-compile-verbose
 	  ;; #### filename used free
-	  (message "Compiling %s... (%s)" (or filename "") name))
+	  (message "Compiling %s... (%s)"
+		   (cond ((boundp 'bytecomp-filename) bytecomp-filename)
+			 ((boundp 'filename) filename)
+			 (t ""))
+		   name))
       (setq byte-compile-current-form name) ; for warnings
       )
     ;; Flush any pending output
@@ -139,5 +139,4 @@
 
 (provide 'eieio-comp)
 
-;; arch-tag: f2aacdd3-1da2-4ee9-b3e5-e8eac0832ee3
 ;;; eieio-comp.el ends here