From 1dfd6b404236273f89071214288eb471018299e9 Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Mon, 17 Jun 2019 11:22:21 +0200 Subject: 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. --- lisp/cedet/semantic/db-el.el | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) (limited to 'lisp/cedet/semantic/db-el.el') 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 -- cgit v1.2.1