Function: tree-widget-themes-path

tree-widget-themes-path is a byte-compiled function defined in tree-widget.el.gz.

Signature

(tree-widget-themes-path)

Documentation

Return the path where to search for a theme.

It is specified in variable tree-widget-themes-directory. Return a list of absolute directory names, or nil when no directory has been found accessible.

Source Code

;; Defined in /usr/src/emacs/lisp/tree-widget.el.gz
(defun tree-widget-themes-path ()
  "Return the path where to search for a theme.
It is specified in variable `tree-widget-themes-directory'.
Return a list of absolute directory names, or nil when no directory
has been found accessible."
  (let ((path (aref tree-widget--theme 1)))
    (cond
     ;; No directory was found.
     ((eq path 'void) nil)
     ;; The list of directories is available in the cache.
     (path)
     ;; Use the directory where this library is located.
     ((null tree-widget-themes-directory)
      (when (setq path (locate-library "tree-widget"))
        (setq path (file-name-directory path))
        (setq path (and (file-accessible-directory-p path)
                        (list path)))
        ;; Store the result in the cache for later use.
        (aset tree-widget--theme 1 (or path 'void))
        path))
     ;; Check accessibility of absolute directory name.
     ((file-name-absolute-p tree-widget-themes-directory)
      (setq path (expand-file-name tree-widget-themes-directory))
      (setq path (and (file-accessible-directory-p path)
                      (list path)))
      ;; Store the result in the cache for later use.
      (aset tree-widget--theme 1 (or path 'void))
      path)
     ;; Locate a sub-directory in `tree-widget-themes-load-path'.
     (t
      (setq path (nreverse (tree-widget--locate-sub-directory
                            tree-widget-themes-directory
                            tree-widget-themes-load-path)))
      ;; Store the result in the cache for later use.
      (aset tree-widget--theme 1 (or path 'void))
      path))))