emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/doc-view.el,v


From: Tassilo Horn
Subject: [Emacs-diffs] Changes to emacs/lisp/doc-view.el,v
Date: Wed, 09 Jan 2008 20:15:33 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Tassilo Horn <tsdh>     08/01/09 20:15:33

Index: doc-view.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/doc-view.el,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -b -r1.35 -r1.36
--- doc-view.el 9 Jan 2008 10:24:52 -0000       1.35
+++ doc-view.el 9 Jan 2008 20:15:32 -0000       1.36
@@ -929,26 +929,23 @@
 You can use \\<doc-view-mode-map>\\[doc-view-toggle-display] to
 toggle between displaying the document or editing it as text."
   (interactive)
-  (if jka-compr-really-do-compress
-
-      ;; This is a compressed file uncompressed by auto-compression-mode.
-      (when (y-or-n-p (concat "DocView: Cannot convert compressed file.  "
-                             "Save it uncompressed first? "))
-       (let ((file (read-file-name
-                    "File: "
-                    (file-name-directory buffer-file-name))))
-         (write-region (point-min) (point-max) file)
-         (kill-buffer nil)
-         (find-file file)
-         (doc-view-mode)))
-
-    ;; When opening a pdf/ps/dvi that's inside an archive (tar, zip, ...) the
-    ;; file buffer-file-name doesn't exist, so create the directory and save
-    ;; the file.
-    (when (not (file-exists-p (file-name-directory buffer-file-name)))
-      (dired-create-directory (file-name-directory buffer-file-name)))
-    (when (not (file-exists-p buffer-file-name))
-      (write-file buffer-file-name))
+  ;; Handle compressed files, TRAMP files, files inside archives
+  (cond
+   (jka-compr-really-do-compress
+    (let ((file (expand-file-name
+                (file-name-nondirectory
+                 (file-name-sans-extension buffer-file-name))
+                doc-view-cache-directory)))
+      (write-region nil nil file)
+      (setq buffer-file-name file)))
+   ((or
+     (not (file-exists-p buffer-file-name))
+     (tramp-tramp-file-p buffer-file-name))
+    (let ((file (expand-file-name
+                (file-name-nondirectory buffer-file-name)
+                doc-view-cache-directory)))
+      (write-region nil nil file)
+      (setq buffer-file-name file))))
 
     (let* ((prev-major-mode (if (eq major-mode 'doc-view-mode)
                                doc-view-previous-major-mode
@@ -982,7 +979,7 @@
          buffer-read-only t
          major-mode 'doc-view-mode)
     (doc-view-initiate-display)
-    (run-mode-hooks 'doc-view-mode-hook)))
+  (run-mode-hooks 'doc-view-mode-hook))
 
 ;;;###autoload
 (define-minor-mode doc-view-minor-mode




reply via email to

[Prev in Thread] Current Thread [Next in Thread]