Function: erc-speedbar-buttons

erc-speedbar-buttons is a byte-compiled function defined in erc-speedbar.el.gz.

Signature

(erc-speedbar-buttons BUFFER)

Documentation

Create buttons for speedbar in BUFFER.

Source Code

;; Defined in /usr/src/emacs/lisp/erc/erc-speedbar.el.gz
(defun erc-speedbar-buttons (buffer)
  "Create buttons for speedbar in BUFFER."
  (erase-buffer)
  (let (serverp chanp queryp queries-current-p)
    (with-current-buffer buffer
      ;; The function `dframe-help-echo' checks the default value of
      ;; `dframe-help-echo-function' when deciding whether to visit
      ;; the buffer and fire the callback.  This works in normal
      ;; speedbar frames because the event handler runs in the
      ;; `window-buffer' of the active frame.  But in our hacked
      ;; version, where the frame is hidden, `speedbar-item-info'
      ;; never runs without this workaround.
      (setq-local dframe-help-echo-function #'ignore)
      (setq serverp (erc--server-buffer-p))
      (setq chanp (erc-channel-p (erc-default-target)))
      (setq queryp (erc-query-buffer-p)
            queries-current-p (erc--queries-current-p)))
    (defvar erc-nickbar-mode)
    (cond ((and erc-nickbar-mode (null (get-buffer-window speedbar-buffer)))
           (run-at-time 0 nil #'erc-nickbar-mode -1))
          (serverp
	   (erc-speedbar-channel-buttons nil 0 buffer))
          ((or chanp (and queryp queries-current-p))
	   (erc-speedbar-insert-target buffer 0)
	   (forward-line -1)
	   (erc-speedbar-expand-channel "+" buffer 0))
	  (queryp
	   (erc-speedbar-insert-target buffer 0))
	  (t (ignore)))))