Function: ebrowse-switch-member-buffer-to-derived-class

ebrowse-switch-member-buffer-to-derived-class is an interactive and byte-compiled function defined in ebrowse.el.gz.

Signature

(ebrowse-switch-member-buffer-to-derived-class ARG)

Documentation

Switch member display to nth derived class.

Prefix arg ARG says which class should be displayed. Default is the first derived class.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/ebrowse.el.gz
(defun ebrowse-switch-member-buffer-to-derived-class (arg)
  "Switch member display to nth derived class.
Prefix arg ARG says which class should be displayed.  Default is
the first derived class."
  (interactive "P")
  (cl-flet ((ebrowse-tree-table-as-alist ()
               (cl-loop for s in (ebrowse-ts-subclasses
                                  ebrowse--displayed-class)
                        collect (cons (ebrowse-cs-name (ebrowse-ts-class s))
                                      s))))
    (let ((subs (or (ebrowse-ts-subclasses ebrowse--displayed-class)
		    (error "No derived classes"))))
      (if (and arg (cl-second subs))
	  (ebrowse-switch-member-buffer-to-other-class
	   "Goto derived class: " (ebrowse-tree-table-as-alist))
	(setq ebrowse--displayed-class (cl-first subs)
	      ebrowse--member-list
	      (funcall ebrowse--accessor ebrowse--displayed-class))
	(ebrowse-redisplay-member-buffer)))))