(all): Make `indicate-buffer-boundaries' display values set outside
[bpt/emacs.git] / lisp / vc-hooks.el
index 2dc8e15..5e8bf4f 100644 (file)
@@ -22,8 +22,8 @@
 
 ;; You should have received a copy of the GNU General Public License
 ;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
 
 ;;; Commentary:
 
@@ -149,7 +149,7 @@ by these regular expressions."
                (set :format "%v" :inline t (const :format "%t" :tag "don't" except))
                (regexp :format " stay local,\n%t: %v" :tag "if it matches")
                (repeat :format "%v%i\n" :inline t (regexp :tag "or"))))
-  :version "21.4"
+  :version "22.1"
   :group 'vc)
 
 (defun vc-stay-local-p (file)
@@ -481,7 +481,9 @@ and does not employ any heuristic at all."
   "Return non-nil if FILE has not changed since the last checkout."
   (let ((checkout-time (vc-file-getprop file 'vc-checkout-time))
         (lastmod (nth 5 (file-attributes file))))
-    (if checkout-time
+    (if (and checkout-time
+             ;; Tramp and Ange-FTP return this when they don't know the time.
+             (not (equal lastmod '(0 0))))
         (equal checkout-time lastmod)
       (let ((unchanged (vc-call workfile-unchanged-p file)))
         (vc-file-setprop file 'vc-checkout-time (if unchanged lastmod 0))
@@ -632,8 +634,15 @@ Before doing that, check if there are any old backups and get rid of them."
   (unless (and (fboundp 'msdos-long-file-names)
                (not (with-no-warnings (msdos-long-file-names))))
     (vc-delete-automatic-version-backups file)
-    (copy-file file (vc-version-backup-file-name file)
-               nil 'keep-date)))
+    (condition-case nil
+        (copy-file file (vc-version-backup-file-name file)
+                   nil 'keep-date)
+      ;; It's ok if it doesn't work (e.g. directory not writable),
+      ;; since this is just for efficiency.
+      (file-error
+       (message
+        (concat "Warning: Cannot make version backup; "
+                "diff/revert therefore not local"))))))
 
 (defun vc-before-save ()
   "Function to be called by `basic-save-buffer' (in files.el)."