From: martin rudalics <rudalics@gmx.at>
To: Stephen Berman <stephen.berman@gmx.net>
Cc: 34138@debbugs.gnu.org,
Andreas Politz <politza@hochschule-trier.de>,
Tassilo Horn <tsdh@gnu.org>
Subject: bug#34138: 27.0.50; Delayed display of PDF file images
Date: Sun, 20 Jan 2019 18:55:16 +0100 [thread overview]
Message-ID: <5C44B604.8040107@gmx.at> (raw)
In-Reply-To: <87d0orgz0a.fsf@gmx.net>
This
> backtrace()
> (let ((standard-output (get-buffer-create "*PDF test*"))) (backtrace))
> (cond ((and image slice) (if pixels (cons (nth 3 slice) (nth 4 slice)) (cons (/ (float (nth 3 slice)) (frame-char-width frame)) (/ (float (nth 4 slice)) (frame-char-height frame))))) (image (image-size image pixels frame)) (t (let ((standard-output (get-buffer-create "*PDF test*"))) (backtrace))))
> (let ((image (assoc 'image spec)) (slice (assoc 'slice spec))) (cond ((and image slice) (if pixels (cons (nth 3 slice) (nth 4 slice)) (cons (/ (float (nth 3 slice)) (frame-char-width frame)) (/ (float (nth 4 slice)) (frame-char-height frame))))) (image (image-size image pixels frame)) (t (let ((standard-output (get-buffer-create "*PDF test*"))) (backtrace)))))
> (cond ((eq (car spec) 'xwidget) (let ((xwi (xwidget-info (xwidget-at (point-min))))) (cons (aref xwi 2) (aref xwi 3)))) ((eq (car spec) 'image) (image-size spec pixels frame)) (t (let ((image (assoc 'image spec)) (slice (assoc 'slice spec))) (cond ((and image slice) (if pixels (cons (nth 3 slice) (nth 4 slice)) (cons (/ (float (nth 3 slice)) (frame-char-width frame)) (/ (float (nth 4 slice)) (frame-char-height frame))))) (image (image-size image pixels frame)) (t (let ((standard-output (get-buffer-create "*PDF test*"))) (backtrace)))))))
> image-display-size(nil t)
> pdf-view-image-size(t)
> pdf-misc-size-indication()
> eval((pdf-misc-size-indication))
> redisplay_internal\ \(C\ function\)()
> backtrace()
> (let ((standard-output (get-buffer-create "*PDF test*"))) (backtrace))
> (cond ((and image slice) (if pixels (cons (nth 3 slice) (nth 4 slice)) (cons (/ (float (nth 3 slice)) (frame-char-width frame)) (/ (float (nth 4 slice)) (frame-char-height frame))))) (image (image-size image pixels frame)) (t (let ((standard-output (get-buffer-create "*PDF test*"))) (backtrace))))
> (let ((image (assoc 'image spec)) (slice (assoc 'slice spec))) (cond ((and image slice) (if pixels (cons (nth 3 slice) (nth 4 slice)) (cons (/ (float (nth 3 slice)) (frame-char-width frame)) (/ (float (nth 4 slice)) (frame-char-height frame))))) (image (image-size image pixels frame)) (t (let ((standard-output (get-buffer-create "*PDF test*"))) (backtrace)))))
> (cond ((eq (car spec) 'xwidget) (let ((xwi (xwidget-info (xwidget-at (point-min))))) (cons (aref xwi 2) (aref xwi 3)))) ((eq (car spec) 'image) (image-size spec pixels frame)) (t (let ((image (assoc 'image spec)) (slice (assoc 'slice spec))) (cond ((and image slice) (if pixels (cons (nth 3 slice) (nth 4 slice)) (cons (/ (float (nth 3 slice)) (frame-char-width frame)) (/ (float (nth 4 slice)) (frame-char-height frame))))) (image (image-size image pixels frame)) (t (let ((standard-output (get-buffer-create "*PDF test*"))) (backtrace)))))))
> image-display-size(nil t)
> pdf-view-image-size(t)
> pdf-misc-size-indication()
> eval((pdf-misc-size-indication))
> posn-at-point(1 #<window 68 on fhs-2.3.pdf>)
> window-in-direction(below #<window 68 on fhs-2.3.pdf>)
reveals that the mode line is evaluated twice in your scenario - once
to get a window in a direction (where we call 'posn-at-point' to tell
where on your frame point currently is) and once from redisplay. I
don't know yet why 'image-get-display-property' apparently fails but
it looks like a good idea to me to wrap the 'image-display-size' call
in 'pdf-view-image-size' in 'ignore-errors' - evaluating a mode line
string should never throw an error (in paticular when it's only needed
to guess the height of the mode line).
martin
next prev parent reply other threads:[~2019-01-20 17:55 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-19 21:13 bug#34138: 27.0.50; Delayed display of PDF file images Stephen Berman
2019-01-20 9:17 ` martin rudalics
2019-01-20 11:04 ` Andreas Politz
2019-01-20 14:19 ` martin rudalics
2019-01-20 11:18 ` Stephen Berman
2019-01-20 14:20 ` martin rudalics
2019-01-20 14:55 ` Stephen Berman
2019-01-20 15:32 ` Eli Zaretskii
2019-01-20 15:51 ` Stephen Berman
2019-01-20 16:08 ` Eli Zaretskii
2019-01-20 16:31 ` Stephen Berman
2019-01-20 16:50 ` Eli Zaretskii
2019-01-20 17:14 ` Stephen Berman
2019-01-20 17:42 ` Eli Zaretskii
2019-01-20 20:45 ` Stephen Berman
2019-01-21 15:58 ` Eli Zaretskii
2019-01-21 16:13 ` Stephen Berman
2019-01-21 16:36 ` Eli Zaretskii
2019-01-21 18:17 ` Stephen Berman
2019-01-21 18:42 ` Eli Zaretskii
2019-01-21 19:14 ` Andreas Politz
2019-01-21 19:47 ` Eli Zaretskii
2019-01-21 22:27 ` Stephen Berman
2019-01-22 16:25 ` Eli Zaretskii
2019-01-22 22:00 ` Stephen Berman
2019-01-23 14:31 ` Stephen Berman
2019-01-23 16:26 ` Eli Zaretskii
2019-01-23 17:22 ` Stephen Berman
2019-01-23 16:13 ` Eli Zaretskii
2019-01-23 17:21 ` Stephen Berman
2019-01-23 22:20 ` Stephen Berman
2019-01-23 18:27 ` martin rudalics
2019-01-23 18:39 ` Eli Zaretskii
2019-01-24 9:08 ` martin rudalics
2019-01-24 14:26 ` Eli Zaretskii
2019-01-24 19:41 ` Andreas Politz
2019-01-25 9:44 ` martin rudalics
2019-01-26 9:19 ` martin rudalics
2019-01-26 10:52 ` Eli Zaretskii
2019-01-26 15:07 ` martin rudalics
2019-01-26 15:33 ` Stephen Berman
2019-02-02 9:28 ` martin rudalics
2019-02-02 9:38 ` Andreas Politz
2019-02-19 8:47 ` martin rudalics
2019-02-02 12:59 ` Stephen Berman
2019-02-19 8:40 ` martin rudalics
2019-03-30 2:56 ` Noam Postavsky
2019-04-23 9:22 ` martin rudalics
2019-02-02 9:33 ` Andreas Politz
2019-02-02 9:37 ` martin rudalics
2019-01-21 20:33 ` Stephen Berman
2019-01-21 20:35 ` Eli Zaretskii
2019-01-21 20:43 ` Stephen Berman
2019-01-21 21:28 ` Andreas Politz
2019-01-21 18:47 ` martin rudalics
2019-01-21 19:19 ` Andreas Politz
2019-01-21 20:33 ` Stephen Berman
2019-01-20 17:55 ` martin rudalics [this message]
2019-01-20 20:45 ` Stephen Berman
2019-01-21 7:52 ` martin rudalics
2019-01-21 15:20 ` Stephen Berman
2019-01-21 6:11 ` Tassilo Horn
2019-01-21 7:52 ` martin rudalics
2019-01-21 15:20 ` Stephen Berman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5C44B604.8040107@gmx.at \
--to=rudalics@gmx.at \
--cc=34138@debbugs.gnu.org \
--cc=politza@hochschule-trier.de \
--cc=stephen.berman@gmx.net \
--cc=tsdh@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.