Function: shadow-shadows-of

shadow-shadows-of is a byte-compiled function defined in shadowfile.el.gz.

Signature

(shadow-shadows-of FILE)

Documentation

Return copy operations needed to update FILE.

Filename should have clusters expanded, but otherwise can have any format. Return value is a list of dotted pairs like (from . to), where from and to are absolute file names.

Source Code

;; Defined in /usr/src/emacs/lisp/shadowfile.el.gz
(defun shadow-shadows-of (file)
  "Return copy operations needed to update FILE.
Filename should have clusters expanded, but otherwise can have any format.
Return value is a list of dotted pairs like (from . to), where from
and to are absolute file names."
  (or (gethash file shadow-hashtable)
      (let* ((absolute-file (shadow-expand-file-name
			     (or (shadow-local-file file) file)
			     shadow-homedir))
	     (canonical-file (shadow-contract-file-name absolute-file))
	     (shadows
              (mapcar (lambda (shadow)
                        (cons absolute-file shadow))
		      (append
		       (shadow-shadows-of-1
			canonical-file shadow-literal-groups nil)
		       (shadow-shadows-of-1
			canonical-file shadow-regexp-groups t)))))
          (when shadow-debug
            (message
             "shadow-shadows-of: %s %s %s %s %s"
             file (shadow-local-file file) shadow-homedir
             absolute-file canonical-file))
	  (puthash file shadows shadow-hashtable))))