diff options
author | Lars Ingebrigtsen <larsi@gnus.org> | 2019-06-17 11:22:21 +0200 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2019-06-17 11:25:34 +0200 |
commit | 1dfd6b404236273f89071214288eb471018299e9 (patch) | |
tree | c365e25c58bee28daad5864635d50a71d10c138e /lisp/cedet/semantic/db-el.el | |
parent | c89dc27c2c2157dd1704f9e4ab7b9adeb4d232da (diff) | |
download | emacs-1dfd6b404236273f89071214288eb471018299e9.tar.gz |
Rewrite object-print methods in cedet to be cl-print-object methods
* lisp/cedet/semantic/db-el.el (object-print): Ditto.
(object-print): Ditto.
* lisp/cedet/semantic/db-global.el (object-print): Ditto.
* lisp/cedet/semantic/db.el (object-print): Remove; unused.
* lisp/cedet/semantic/db.el (semanticdb-debug-info): New method.
(object-print): Rewritten to be cl-print-object.
* lisp/emacs-lisp/eieio.el (eieio-object-name): Allow the EXTRA
argument to be a list of strings.
Diffstat (limited to 'lisp/cedet/semantic/db-el.el')
-rw-r--r-- | lisp/cedet/semantic/db-el.el | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/lisp/cedet/semantic/db-el.el b/lisp/cedet/semantic/db-el.el index 5375623c132..39d61fe789b 100644 --- a/lisp/cedet/semantic/db-el.el +++ b/lisp/cedet/semantic/db-el.el @@ -53,10 +53,13 @@ It does not need refreshing." "Return nil, we never need a refresh." nil) -(cl-defmethod object-print ((obj semanticdb-table-emacs-lisp) &rest strings) - "Pretty printer extension for `semanticdb-table-emacs-lisp'. -Adds the number of tags in this file to the object print name." - (apply #'cl-call-next-method obj (cons " (proxy)" strings))) +(cl-defmethod semanticdb-debug-info ((obj semanticdb-table-emacs-lisp)) + (list "(proxy)")) + +(cl-defmethod cl-print-object ((obj semanticdb-table-emacs-lisp) stream) + "Pretty printer extension for `semanticdb-table-emacs-lisp'." + (princ (eieio-object-name obj (semanticdb-debug-info obj)) + stream)) (defclass semanticdb-project-database-emacs-lisp (semanticdb-project-database eieio-singleton) @@ -67,14 +70,19 @@ Adds the number of tags in this file to the object print name." ) "Database representing Emacs core.") -(cl-defmethod object-print ((obj semanticdb-project-database-emacs-lisp) &rest strings) - "Pretty printer extension for `semanticdb-table-emacs-lisp'. -Adds the number of tags in this file to the object print name." +(cl-defmethod semanticdb-debug-info ((obj + semanticdb-project-database-emacs-lisp)) (let ((count 0)) (mapatoms (lambda (_sym) (setq count (1+ count)))) - (apply #'cl-call-next-method obj (cons - (format " (%d known syms)" count) - strings)))) + (append (cl-call-next-method obj) + (list (format "(%d known syms)" count))))) + +(cl-defmethod cl-print-object ((obj semanticdb-project-database-emacs-lisp) + stream) + "Pretty printer extension for `semanticdb-table-emacs-lisp'. +Adds the number of tags in this file to the object print name." + (princ (eieio-object-name obj (semanticdb-debug-info obj)) + stream)) ;; Create the database, and add it to searchable databases for Emacs Lisp mode. (defvar-mode-local emacs-lisp-mode semanticdb-project-system-databases |