Function: Info-speedbar-hierarchy-buttons

Info-speedbar-hierarchy-buttons is a byte-compiled function defined in info.el.gz.

Signature

(Info-speedbar-hierarchy-buttons DIRECTORY DEPTH &optional NODE)

Documentation

Display an Info directory hierarchy in speedbar.

DIRECTORY is the current directory in the attached frame. DEPTH is the current indentation depth. NODE is an optional argument that is used to represent the specific node to expand.

Source Code

;; Defined in /usr/src/emacs/lisp/info.el.gz
(defun Info-speedbar-hierarchy-buttons (_directory depth &optional node)
  "Display an Info directory hierarchy in speedbar.
DIRECTORY is the current directory in the attached frame.
DEPTH is the current indentation depth.
NODE is an optional argument that is used to represent the
specific node to expand."
  (if (and (not node)
	   (save-excursion (goto-char (point-min))
			   (let ((case-fold-search t))
			     (looking-at "Info Nodes:"))))
      ;; Update our "current node" maybe?
      nil
    ;; We cannot use the generic list code, that depends on all leaves
    ;; being known at creation time.
    (if (not node)
	(speedbar-with-writable (insert "Info Nodes:\n")))
    (let ((completions nil))
      (speedbar-select-attached-frame)
      (save-window-excursion
	(setq completions
	      (Info-speedbar-fetch-file-nodes (or node '"(dir)top"))))
      (select-frame (speedbar-current-frame))
      (if completions
	  (speedbar-with-writable
	   (dolist (completion completions)
	     (speedbar-make-tag-line 'bracket ?+ 'Info-speedbar-expand-node
				     (cdr completion)
				     (car completion)
				     'Info-speedbar-goto-node
				     (cdr completion)
				     'info-xref depth))
	   t)
	nil))))