]> code.delx.au - gnu-emacs/blobdiff - lisp/jka-compr.el
Fix MSDOS build broken by 2010-09-10T16:44:35Z!larsi@gnus.org, support MSDOS build...
[gnu-emacs] / lisp / jka-compr.el
index 12f48bd96b1bf77be56bbdd0887374904471234c..3f0ff542212b0afe5d781a46d2663e5d77017303 100644 (file)
@@ -181,7 +181,8 @@ to keep: LEN chars starting BEG chars from the beginning."
                          null-device))
                        jka-compr-acceptable-retval-list)
                  (jka-compr-error prog args infile message err-file))
-           (jka-compr-delete-temp-file err-file)))
+           (delete-file err-file)))
+
       ;; Run the uncompression program directly.
       ;; We get the whole file and must delete what we don't want.
       (jka-compr-call-process prog message infile t nil args))
@@ -222,7 +223,7 @@ to keep: LEN chars starting BEG chars from the beginning."
                                           "")))
                   jka-compr-acceptable-retval-list)
                  (jka-compr-error prog args infile message err-file))
-           (jka-compr-delete-temp-file err-file)))
+           (delete-file err-file)))
       (or (eq 0
              (apply 'call-process
                     prog infile (if (stringp output) temp output)
@@ -248,9 +249,6 @@ There should be no more than seven characters after the final `/'."
   "This routine will return the name of a new file."
   (make-temp-file jka-compr-temp-name-template))
 
-(defalias 'jka-compr-delete-temp-file 'delete-file)
-
-
 (defun jka-compr-write-region (start end file &optional append visit)
   (let* ((filename (expand-file-name file))
         (visit-file (if (stringp visit) (expand-file-name visit) filename))
@@ -337,7 +335,7 @@ There should be no more than seven characters after the final `/'."
                                                (and append can-append) 'dont))
              (erase-buffer)) )
 
-         (jka-compr-delete-temp-file temp-file)
+         (delete-file temp-file)
 
          (and
           compress-message
@@ -590,13 +588,20 @@ There should be no more than seven characters after the final `/'."
          (or nomessage
              (message "Loading %s...done." file))
          ;; Fix up the load history to point at the right library.
-         (let ((l (assoc load-file load-history)))
+         (let ((l (or (assoc load-file load-history)
+                      ;; On MS-Windows, if load-file is in
+                      ;; temporary-file-directory, it will look like
+                      ;; "c:/DOCUME~1/USER/LOCALS~1/foo", whereas
+                      ;; readevalloop will record its truename in
+                      ;; load-history.  Therefore try truename if the
+                      ;; original name is not in load-history.
+                      (assoc (file-truename load-file) load-history))))
            ;; Remove .gz and .elc?.
            (while (file-name-extension file)
              (setq file (file-name-sans-extension file)))
            (setcar l file)))
 
-      (jka-compr-delete-temp-file local-copy))
+      (delete-file local-copy))
 
     t))