Work around warning from macroexpanding obsolete method

* lisp/emacs-lisp/eieio.el (object-print): Move method definition
to before generic definition because the generic definition
obsoletes the method, which will then output a warning from when
macroexpanding.
This commit is contained in:
Lars Ingebrigtsen 2019-06-17 21:40:05 +02:00
parent 1942f4ccba
commit f8efeee0e1

View file

@ -827,15 +827,6 @@ first and modify the returned object.")
;; No cleanup... yet.
nil)
(cl-defgeneric object-print (this &rest _strings)
"Pretty printer for object THIS.
It is sometimes useful to put a summary of the object into the
default #<notation> string when using EIEIO browsing tools.
Implement this method to customize the summary."
(declare (obsolete cl-print-object "26.1"))
(format "%S" this))
(cl-defmethod object-print ((this eieio-default-superclass) &rest strings)
"Pretty printer for object THIS. Call function `object-name' with STRINGS.
The default method for printing object THIS is to use the
@ -850,6 +841,14 @@ When passing in extra strings from child classes, always remember
to prepend a space."
(eieio-object-name this (apply #'concat strings)))
(cl-defgeneric object-print (this &rest _strings)
"Pretty printer for object THIS.
It is sometimes useful to put a summary of the object into the
default #<notation> string when using EIEIO browsing tools.
Implement this method to customize the summary."
(declare (obsolete cl-print-object "26.1"))
(format "%S" this))
(with-suppressed-warnings ((obsolete object-print))
(cl-defmethod cl-print-object ((object eieio-default-superclass) stream)
@ -859,6 +858,7 @@ to prepend a space."
;; out-of-tree.
(princ (object-print object) stream)))
(defvar eieio-print-depth 0
"The current indentation depth while printing.
Ignored if `eieio-print-indentation' is nil.")