GNU bug report logs -
#13164
[PATCH] View DjVu documents through doc-view-mode
Previous Next
Reported by: Elias Pipping <pipping <at> lavabit.com>
Date: Wed, 12 Dec 2012 22:54:02 UTC
Severity: wishlist
Tags: patch
Done: Stefan Monnier <monnier <at> iro.umontreal.ca>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 13164 in the body.
You can then email your comments to 13164 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Message #1 received at quiet <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Package: emacs
Severity: wishlist
[resent from
http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00029.html ]
Hello,
I sent a patch to this list last year that made it possible to use
mupdf's "mudraw" instead of ghostscript's "gs" to convert pdf documents
into png files within doc-view-mode.
I've since been testing that patch and never looked back since the
switch sped up the pdf->png conversion by a factor of two and brought
anti-aliasing with it.
In a similar fashion, I've now added support for DjVu->Tiff conversion
to doc-view-mode through djvulibre. While djvulibre's "ddjvu" has always
allowed for such conversion, I only yesterday requested[1] the necessary
feature of creating one tiff file per page, which was immediately
implemented (Mr. Bottou, if you're reading this, thanks again!).
Consequently, to have the two patches I'm attaching work as expected,
one needs the latest version of djvulibre from
git://djvu.git.sourceforge.net/gitroot/djvu/djvulibre
Best regards,
Elias Pipping
[1] http://sourceforge.net/tracker/?func=detail&atid=406586&aid=3564062&group_id=32953
PS: I've configured emacs with --without-imagemagick. I did not test
what happens if imagemagick is used.
PPS: If you need PDF and DjVu files to toy around with, I suggest the
ones at http://projecteuclid.org/euclid.pjm/1102986512 since they also
make a nice read.
PPPS: The first diff is against vanilla emacs 24.2.
[0001-Make-doc-view-pdf-png-1-customizable.patch (text/x-patch, attachment)]
[0002-Add-DjVu-support.patch (text/x-patch, attachment)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#13164
; Package
emacs
.
(Wed, 09 Jan 2013 20:29:02 GMT)
Full text and
rfc822 format available.
Message #4 received at 13164 <at> debbugs.gnu.org (full text, mbox):
> I sent a patch to this list last year that made it possible to use
> mupdf's "mudraw" instead of ghostscript's "gs" to convert pdf documents
> into png files within doc-view-mode.
Thanks, I've just installed your mupdf patch with a few cosmetic
changes, thank you.
The djvu patch is still pending,
Stefan
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#13164
; Package
emacs
.
(Thu, 10 Jan 2013 00:17:01 GMT)
Full text and
rfc822 format available.
Message #7 received at 13164 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
>> I sent a patch to this list last year that made it possible to use
>> mupdf's "mudraw" instead of ghostscript's "gs" to convert pdf documents
>> into png files within doc-view-mode.
>
> Thanks, I've just installed your mupdf patch with a few cosmetic
> changes, thank you.
> The djvu patch is still pending,
I see you've pushed the djvu patch as well. Thank you; also for the
modifications you've made.
I've attached three more tiny patches.
Best regards,
Elias Pipping
[0001-Enable-doc-view-for-djvu-files.patch (text/x-patch, attachment)]
[0002-single-page-converter-need-not-be-passed.patch (text/x-patch, attachment)]
[0003-Detect-properly-if-PDFs-can-be-handled.patch (text/x-patch, attachment)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#13164
; Package
emacs
.
(Thu, 10 Jan 2013 15:51:02 GMT)
Full text and
rfc822 format available.
Message #10 received at 13164 <at> debbugs.gnu.org (full text, mbox):
> I've attached three more tiny patches.
Thanks, installed,
Stefan
bug closed, send any further explanations to
13164 <at> debbugs.gnu.org and Elias Pipping <pipping <at> lavabit.com>
Request was from
Stefan Monnier <monnier <at> iro.umontreal.ca>
to
control <at> debbugs.gnu.org
.
(Thu, 10 Jan 2013 15:52:02 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#13164
; Package
emacs
.
(Fri, 11 Jan 2013 15:04:02 GMT)
Full text and
rfc822 format available.
Message #15 received at 13164 <at> debbugs.gnu.org (full text, mbox):
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
Hi Elias & Stefan,
>> I've attached three more tiny patches.
>
> Thanks, installed,
I really like the new mupdf support. It's much faster than ghostscript.
There seems to be some minor issue, though: the last-page counter in the
mode-line doesn't seem to be updated properly during conversion. I've
just tested with some 700 pages PDF. Initially, it displayed "1/4" but
didn't increase anymore. To make it update again, I needed to do
something, e.g., switch to another page or just scroll a bit.
Bye,
Tassilo
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#13164
; Package
emacs
.
(Mon, 21 Jan 2013 23:12:02 GMT)
Full text and
rfc822 format available.
Message #18 received at 13164 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Tassilo Horn <tsdh <at> gnu.org> writes:
> Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
>
> Hi Elias & Stefan,
>
>>> I've attached three more tiny patches.
>>
>> Thanks, installed,
>
> I really like the new mupdf support. It's much faster than ghostscript.
>
> There seems to be some minor issue, though: the last-page counter in the
> mode-line doesn't seem to be updated properly during conversion. I've
> just tested with some 700 pages PDF. Initially, it displayed "1/4" but
> didn't increase anymore. To make it update again, I needed to do
> something, e.g., switch to another page or just scroll a bit.
Indeed, I can reproduce your problem with a recent version of emacs,
namely
commit c5a8149837c5ed53655d4383dea3b8f29374b266
Author: Glenn Morris <rgm <at> gnu.org>
Date: Sat Jan 19 18:40:49 2013 -0800
* lisp-mode.el (emacs-lisp-mode-map): Add native profiler menu entries.
I do not have it with emacs 24.2.92 and my original two patches (I'm
attaching them in case you want to verify that; please note that you
need to have
(setq doc-view-pdf->png-converter-invocation
'doc-view-pdf->png-converter-invocation-mupdf)
in your init.el with that version for mupdf to be used). So it must've
snuck in sometime after.
Best regards,
Elias Pipping
[0001-Make-doc-view-pdf-png-1-customizable.patch (text/x-patch, attachment)]
[0002-Add-DjVu-support.patch (text/x-patch, attachment)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#13164
; Package
emacs
.
(Tue, 22 Jan 2013 15:04:02 GMT)
Full text and
rfc822 format available.
Message #21 received at 13164 <at> debbugs.gnu.org (full text, mbox):
>> There seems to be some minor issue, though: the last-page counter in the
>> mode-line doesn't seem to be updated properly during conversion. I've
[...]
> Indeed, I can reproduce your problem with a recent version of Emacs
Could someone bisect to find the commit that introduced this problem?
Stefan
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#13164
; Package
emacs
.
(Tue, 22 Jan 2013 15:27:02 GMT)
Full text and
rfc822 format available.
Message #24 received at 13164 <at> debbugs.gnu.org (full text, mbox):
Stefan Monnier <monnier <at> IRO.UMontreal.CA> writes:
>>> There seems to be some minor issue, though: the last-page counter in
>>> the mode-line doesn't seem to be updated properly during conversion.
>>> I've
> [...]
>> Indeed, I can reproduce your problem with a recent version of Emacs
>
> Could someone bisect to find the commit that introduced this problem?
Yes, I can do that. I'll report back when I'm done.
Bye,
Tassilo
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#13164
; Package
emacs
.
(Wed, 23 Jan 2013 09:52:02 GMT)
Full text and
rfc822 format available.
Message #27 received at 13164 <at> debbugs.gnu.org (full text, mbox):
Tassilo Horn <tsdh <at> gnu.org> writes:
Hi!
>>>> There seems to be some minor issue, though: the last-page counter
>>>> in the mode-line doesn't seem to be updated properly during
>>>> conversion. I've
>> [...]
>>> Indeed, I can reproduce your problem with a recent version of Emacs
>>
>> Could someone bisect to find the commit that introduced this problem?
>
> Yes, I can do that. I'll report back when I'm done.
Ok, I'm done.
--8<---------------cut here---------------start------------->8---
046fb9fbdc0ee0c26e0063ce5ee94bead46ee98d is the first bad commit
commit 046fb9fbdc0ee0c26e0063ce5ee94bead46ee98d
Author: Dmitry Antipov <dmantipov <at> yandex.ru>
Date: Tue Dec 11 13:51:12 2012 +0400
* buffer.c (Fset_buffer_multibyte): Do not force redisplay
if changed buffer is not shown in a window.
* insdel.c (prepare_to_modify_buffer): Likewise.
* window.c (replace_buffer_in_windows_safely): Do nothing
if buffer is not shown in a window.
(Fforce_window_update): Likewise if string or buffer argument
is passed.
:040000 040000 c3cd9f89a3926ca04ecfee03ae667056986ba352 385c925b8bcfcc59262a140e4ce8701b20eb7265 M src
--8<---------------cut here---------------end--------------->8---
In bzr, that's revno 111189.
BTW: I first tried the bzr bisect plugin, but I got frequent conflicts
in cl-loaddefs.el when it switched to another revision. I used "bzr
resolve --take-other lisp/emacs-lisp/cl-loaddefs.el", and in the end the
bisection aborted somehow. I also had lots of problems with files that
were added/removed between revisions. Are there any instructions on
doing bisection on emacs bzr? Maybe I've just operated bzr bisect
wrongly...
Anyway, git bisect on the git mirror worked flawlessly.
Bye,
Tassilo
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#13164
; Package
emacs
.
(Wed, 23 Jan 2013 13:20:01 GMT)
Full text and
rfc822 format available.
Message #30 received at 13164 <at> debbugs.gnu.org (full text, mbox):
>>> Could someone bisect to find the commit that introduced this problem?
>> Yes, I can do that. I'll report back when I'm done.
> Ok, I'm done.
Thank you very much.
> --8<---------------cut here---------------start------------->8---
> 046fb9fbdc0ee0c26e0063ce5ee94bead46ee98d is the first bad commit
> commit 046fb9fbdc0ee0c26e0063ce5ee94bead46ee98d
> Author: Dmitry Antipov <dmantipov <at> yandex.ru>
> Date: Tue Dec 11 13:51:12 2012 +0400
> * buffer.c (Fset_buffer_multibyte): Do not force redisplay
> if changed buffer is not shown in a window.
> * insdel.c (prepare_to_modify_buffer): Likewise.
> * window.c (replace_buffer_in_windows_safely): Do nothing
> if buffer is not shown in a window.
> (Fforce_window_update): Likewise if string or buffer argument
> is passed.
Dmitry, could you take a look at this? It looks like the new code's
more aggressive avoidance of redisplay ends up leaving some mode-lines
out-of-date after running timers.
I don't see any immediate connection between the above commit message
and doc-view's timer behavior, so maybe the problem is a problem in
your commit.
OTOH maybe doc-view was simply lucky that the redisplay was not
optimized enough and we should really use something like the patch below,
> Are there any instructions on doing bisection on emacs bzr?
My impression that "bzr bisect" is in the same boat as "bzr switch" and
"bzr rebase": kinda works sometimes, but not nearly robust enough.
Stefan
=== modified file 'lisp/doc-view.el'
--- lisp/doc-view.el 2013-01-10 15:50:04 +0000
+++ lisp/doc-view.el 2013-01-23 13:14:23 +0000
@@ -1265,6 +1265,8 @@
"[0-9]+")
t)
'doc-view-sort))
+ (unless (eq (length prev-pages) (length doc-view-current-files))
+ (force-mode-line-update))
(dolist (win (or (get-buffer-window-list buffer nil t)
(list t)))
(let* ((page (doc-view-current-page win))
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#13164
; Package
emacs
.
(Wed, 23 Jan 2013 14:56:03 GMT)
Full text and
rfc822 format available.
Message #33 received at 13164 <at> debbugs.gnu.org (full text, mbox):
On 01/23/2013 05:18 PM, Stefan Monnier wrote:
> Dmitry, could you take a look at this? It looks like the new code's
> more aggressive avoidance of redisplay ends up leaving some mode-lines
> out-of-date after running timers.
Should be fixed by bzr commit 111589.
Dmitry
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#13164
; Package
emacs
.
(Thu, 24 Jan 2013 07:41:02 GMT)
Full text and
rfc822 format available.
Message #36 received at 13164-done <at> debbugs.gnu.org (full text, mbox):
Dmitry Antipov <dmantipov <at> yandex.ru> writes:
>> Dmitry, could you take a look at this? It looks like the new code's
>> more aggressive avoidance of redisplay ends up leaving some
>> mode-lines out-of-date after running timers.
>
> Should be fixed by bzr commit 111589.
Confirmed, it works again. Thanks Dmitry!
I'm closing the bug since the original issue (the DjVu patches) have
already been applied.
Bye,
Tassilo
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Thu, 21 Feb 2013 12:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 11 years and 267 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.