Function: vc-cvs-stay-local-p

vc-cvs-stay-local-p is a byte-compiled function defined in vc-cvs.el.gz.

Signature

(vc-cvs-stay-local-p FILE)

Documentation

Return non-nil if VC should stay local when handling FILE.

If FILE is a list of files, return non-nil if any of them individually should stay local.

Source Code

;; Defined in /usr/src/emacs/lisp/vc/vc-cvs.el.gz
(defun vc-cvs-stay-local-p (file)
  "Return non-nil if VC should stay local when handling FILE.
If FILE is a list of files, return non-nil if any of them
individually should stay local."
  (if (listp file)
      (delq nil (mapcar (lambda (arg) (vc-cvs-stay-local-p arg)) file))
    (let ((stay-local vc-cvs-stay-local))
      (if (symbolp stay-local) stay-local
       (let ((dirname (if (file-directory-p file)
                          (directory-file-name file)
                        (file-name-directory file))))
         (eq 'yes
             (or (vc-file-getprop dirname 'vc-cvs-stay-local-p)
                 (vc-file-setprop
                  dirname 'vc-cvs-stay-local-p
                  (let ((hostname (vc-cvs-repository-hostname dirname)))
                    (if (not hostname)
                        'no
                      (let ((default t))
                        (if (eq (car-safe stay-local) 'except)
                            (setq default nil stay-local (cdr stay-local)))
                        (when (consp stay-local)
                          (setq stay-local
                                (mapconcat #'identity stay-local "\\|")))
                        (if (if (string-match stay-local hostname)
                                default (not default))
                            'yes 'no))))))))))))