Function: speedbar-timer-fn
speedbar-timer-fn is a byte-compiled function defined in
speedbar.el.gz.
Signature
(speedbar-timer-fn)
Documentation
Run whenever Emacs is idle to update the speedbar item.
Source Code
;; Defined in /usr/src/emacs/lisp/speedbar.el.gz
(defun speedbar-timer-fn ()
"Run whenever Emacs is idle to update the speedbar item."
(if (or (not (speedbar-current-frame))
(not (frame-live-p (speedbar-current-frame))))
(speedbar-set-timer nil)
;; Save all the match data so that we don't mess up executing fns
(save-match-data
;; Only do stuff if the frame is visible, not an icon, and if
;; it is currently flagged to do something.
(if (and speedbar-update-flag
(speedbar-current-frame)
(frame-visible-p (speedbar-current-frame))
(not (eq (frame-visible-p (speedbar-current-frame)) 'icon)))
(let ((af (selected-frame)))
(dframe-select-attached-frame speedbar-frame)
;; make sure we at least choose a window to
;; get a good directory from
(if (window-minibuffer-p)
nil
;; Check for special modes
(speedbar-maybe-add-localized-support (current-buffer))
;; Update for special mode all the time!
(if (and speedbar-mode-specific-contents-flag
(consp speedbar-special-mode-expansion-list)
(local-variable-p
'speedbar-special-mode-expansion-list
(current-buffer)))
;;(eq (get major-mode 'mode-class 'special)))
(progn
(if (<= 2 speedbar-verbosity-level)
(dframe-message
"Updating speedbar to special mode: %s..."
major-mode))
(speedbar-update-special-contents)
(if (<= 2 speedbar-verbosity-level)
(progn
(dframe-message
"Updating speedbar to special mode: %s...done"
major-mode)
(dframe-message nil))))
;; Update all the contents if directories change!
(unless (and (or (member major-mode speedbar-ignored-modes)
(eq af (speedbar-current-frame))
(not (buffer-file-name)))
;; Always update for GUD.
(not (string-equal "GUD"
speedbar-initial-expansion-list-name)))
(speedbar-update-localized-contents)))
(select-frame af))
;; Now run stealthy updates of time-consuming items
(speedbar-stealthy-updates)))))
(run-hooks 'speedbar-timer-hook))