GNU bug report logs -
#13679
24.2.93; doc-view-mode cannot handle PDFs whose filename contains a percentage sign
Previous Next
Reported by: Elias Pipping <pipping <at> lavabit.com>
Date: Sun, 10 Feb 2013 18:04:02 UTC
Severity: normal
Found in version 24.2.93
Done: Stefan Monnier <monnier <at> iro.umontreal.ca>
Bug is archived. No further changes may be made.
Full log
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi,
doc-view-mode currently calls either ghostscript or mupdf's mudraw to
render PDFs to PNG images. Both tools interpret a percentage sign in
the name of the target file as a format instruction. Since doc-view's
cache directory is named after the input PDF, whose name can contain
percentage signs, it, too, can contain percentage signs.
As a result, doc-view mode cannot currently handle PDF files whose name
contains a percentage sign. I've attached the simplest fix I could think
of.
Best regards,
Elias Pipping
[0001-Escape-percentage-signs.patch (text/x-patch, inline)]
From 2c35f04fc1191878b01b4ab07821e20fdc461511 Mon Sep 17 00:00:00 2001
From: Elias Pipping <pipping <at> exherbo.org>
Date: Sun, 10 Feb 2013 18:51:10 +0100
Subject: [PATCH] Escape percentage signs
---
lisp/doc-view.el | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/lisp/doc-view.el b/lisp/doc-view.el
index e7d1ebc..18e17bd 100644
--- a/lisp/doc-view.el
+++ b/lisp/doc-view.el
@@ -675,6 +675,9 @@ at the top edge of the page moves to the previous page."
(format "Unable to use temporary directory %s: %s"
dir (mapconcat 'identity (cdr error) " "))))))))
+(defun doc-view-escape-percentage-sign (str)
+ (replace-regexp-in-string "%" "_" str))
+
(defun doc-view-current-cache-dir ()
"Return the directory where the png files of the current doc should be saved.
It's a subdirectory of `doc-view-cache-directory'."
@@ -686,7 +689,8 @@ It's a subdirectory of `doc-view-cache-directory'."
(setq doc-view-current-cache-dir
(file-name-as-directory
(expand-file-name
- (concat (file-name-nondirectory doc-view-buffer-file-name)
+ (concat (doc-view-escape-percentage-sign
+ (file-name-nondirectory doc-view-buffer-file-name))
"-"
(let ((file doc-view-buffer-file-name))
(with-temp-buffer
--
1.8.1.2
This bug report was last modified 12 years and 105 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.