[Top][All Lists]
[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: |
Thu, 10 Jan 2008 15:08:11 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Tassilo Horn <tsdh> 08/01/10 15:08:10
Index: doc-view.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/doc-view.el,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -b -r1.37 -r1.38
--- doc-view.el 10 Jan 2008 11:29:18 -0000 1.37
+++ doc-view.el 10 Jan 2008 15:08:10 -0000 1.38
@@ -135,7 +135,6 @@
(require 'dired)
(require 'image-mode)
(require 'jka-compr)
-(require 'tramp) ;; would be better to make tramp-tramp-file-p autoloaded
;;;; Customization Options
@@ -248,6 +247,14 @@
(defvar doc-view-previous-major-mode nil
"Only used internally.")
+(defvar doc-view-buffer-file-name nil
+ "Only used internally.
+The file name used for conversion. Normally it's the same as
+`buffer-file-name', but for remote files, compressed files and
+files inside an archive it is a temporary copy of
+the (uncompressed, extracted) file residing in
+`doc-view-cache-directory'.")
+
;;;; DocView Keymaps
(defvar doc-view-mode-map
@@ -451,11 +458,11 @@
(setq doc-view-current-cache-dir
(file-name-as-directory
(expand-file-name
- (let ((doc buffer-file-name))
- (concat (file-name-nondirectory doc)
+ (concat (file-name-nondirectory buffer-file-name)
"-"
+ (let ((file doc-view-buffer-file-name))
(with-temp-buffer
- (insert-file-contents-literally doc)
+ (insert-file-contents-literally file)
(md5 (current-buffer)))))
doc-view-cache-directory)))))
@@ -621,7 +628,7 @@
(process-put doc-view-current-converter-process 'pdf-file pdf))
(defun doc-view-convert-current-doc ()
- "Convert `buffer-file-name' to a set of png files, one file per page.
+ "Convert `doc-view-buffer-file-name' to a set of png files, one file per
page.
Those files are saved in the directory given by the function
`doc-view-current-cache-dir'."
;; Let stale files still display while we recompute the new ones, so only
@@ -633,12 +640,12 @@
(let ((png-file (expand-file-name "page-%d.png"
(doc-view-current-cache-dir))))
(make-directory (doc-view-current-cache-dir))
- (if (not (string= (file-name-extension buffer-file-name) "dvi"))
+ (if (not (string= (file-name-extension doc-view-buffer-file-name) "dvi"))
;; Convert to PNG images.
- (doc-view-pdf/ps->png buffer-file-name png-file)
+ (doc-view-pdf/ps->png doc-view-buffer-file-name png-file)
;; DVI files have to be converted to PDF before Ghostscript can process
;; it.
- (doc-view-dvi->pdf buffer-file-name
+ (doc-view-dvi->pdf doc-view-buffer-file-name
(expand-file-name "doc.pdf"
doc-view-current-cache-dir)))))
@@ -848,15 +855,15 @@
;; We must convert to TXT first!
(if doc-view-current-converter-process
(message "DocView: please wait till conversion finished.")
- (let ((ext (file-name-extension buffer-file-name)))
+ (let ((ext (file-name-extension doc-view-buffer-file-name)))
(cond
((string= ext "pdf")
;; Doc is a PDF, so convert it to TXT
- (doc-view-pdf->txt buffer-file-name txt))
+ (doc-view-pdf->txt doc-view-buffer-file-name txt))
((string= ext "ps")
;; Doc is a PS, so convert it to PDF (which will be converted to
;; TXT thereafter).
- (doc-view-ps->pdf buffer-file-name
+ (doc-view-ps->pdf doc-view-buffer-file-name
(expand-file-name "doc.pdf"
(doc-view-current-cache-dir))))
((string= ext "dvi")
@@ -901,7 +908,7 @@
(defun doc-view-initiate-display ()
;; Switch to image display if possible
- (if (doc-view-mode-p (intern (file-name-extension buffer-file-name)))
+ (if (doc-view-mode-p (intern (file-name-extension
doc-view-buffer-file-name)))
(progn
(doc-view-buffer-message)
(setq doc-view-current-page (or doc-view-current-page 1))
@@ -919,7 +926,7 @@
"%s"
(substitute-command-keys
(concat "No image (png) support available or some conversion utility for
"
- (file-name-extension buffer-file-name)" files is missing. "
+ (file-name-extension doc-view-buffer-file-name)" files is
missing. "
"Type \\[doc-view-toggle-display] to switch to an editing
mode.")))))
(defvar bookmark-make-cell-function)
@@ -930,29 +937,30 @@
You can use \\<doc-view-mode-map>\\[doc-view-toggle-display] to
toggle between displaying the document or editing it as text."
(interactive)
- ;; Handle compressed files, TRAMP files, files inside archives
+
+ (let* ((prev-major-mode (if (eq major-mode 'doc-view-mode)
+ doc-view-previous-major-mode
+ major-mode)))
+ (kill-all-local-variables)
+ (set (make-local-variable 'doc-view-previous-major-mode) prev-major-mode))
+
+ ;; Handle compressed files, remote files, files inside archives
+ (set (make-local-variable 'doc-view-buffer-file-name)
(cond
(jka-compr-really-do-compress
- (let ((file (expand-file-name
+ (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)))
+ doc-view-cache-directory))
((or
(not (file-exists-p buffer-file-name))
- (tramp-tramp-file-p buffer-file-name))
- (let ((file (expand-file-name
+ (file-remote-p buffer-file-name))
+ (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
- major-mode)))
- (kill-all-local-variables)
- (set (make-local-variable 'doc-view-previous-major-mode) prev-major-mode))
+ doc-view-cache-directory))
+ (t buffer-file-name)))
+ (when (not (string= doc-view-buffer-file-name buffer-file-name))
+ (write-region nil nil doc-view-buffer-file-name))
(make-local-variable 'doc-view-current-files)
(make-local-variable 'doc-view-current-image)
@@ -1012,7 +1020,7 @@
(defun doc-view-bookmark-make-cell (annotation &rest args)
(let ((the-record
- `((filename . ,(buffer-file-name))
+ `((filename . ,buffer-file-name)
(page . ,doc-view-current-page)
(handler . doc-view-bookmark-jump))))
- [Emacs-diffs] Changes to emacs/lisp/doc-view.el,v, Karl Fogel, 2008/01/02
- [Emacs-diffs] Changes to emacs/lisp/doc-view.el,v, Miles Bader, 2008/01/02
- [Emacs-diffs] Changes to emacs/lisp/doc-view.el,v, Glenn Morris, 2008/01/03
- [Emacs-diffs] Changes to emacs/lisp/doc-view.el,v, Tassilo Horn, 2008/01/04
- [Emacs-diffs] Changes to emacs/lisp/doc-view.el,v, Tassilo Horn, 2008/01/04
- [Emacs-diffs] Changes to emacs/lisp/doc-view.el,v, Tassilo Horn, 2008/01/04
- [Emacs-diffs] Changes to emacs/lisp/doc-view.el,v, Tassilo Horn, 2008/01/09
- [Emacs-diffs] Changes to emacs/lisp/doc-view.el,v, Tassilo Horn, 2008/01/09
- [Emacs-diffs] Changes to emacs/lisp/doc-view.el,v, Tassilo Horn, 2008/01/10
- [Emacs-diffs] Changes to emacs/lisp/doc-view.el,v,
Tassilo Horn <=
- [Emacs-diffs] Changes to emacs/lisp/doc-view.el,v, Stefan Monnier, 2008/01/18
- [Emacs-diffs] Changes to emacs/lisp/doc-view.el,v, Stefan Monnier, 2008/01/19
- [Emacs-diffs] Changes to emacs/lisp/doc-view.el,v, Tassilo Horn, 2008/01/29
- [Emacs-diffs] Changes to emacs/lisp/doc-view.el,v, Tassilo Horn, 2008/01/29
- [Emacs-diffs] Changes to emacs/lisp/doc-view.el,v, Stefan Monnier, 2008/01/31