Subject: bug#21239: 25.0.50; `(image-size image 'pixels)` is causing Emacs to freeze on OSX Snow Leopard.

From: Keith David Bershatsky <[email-masked]>
Date: Tue, 11 Aug 2015 19:01:43 -0700

When the variable `doc-view-scale-internally' is set to `t` in `doc-view-mode', Emacs tries to calculate `displayed-img-width', which looks like this:

(car (image-size '(image :type imagemagick :file "/Users/HOME/Desktop/page-1.png" :pointer arrow :width 850) 'pixels))

The image size can be calculated without 'pixels, but adding 'pixels to the equation causes Emacs to freeze -- every time -- on OSX Snow Leopard 10.6.8.

It is necessary at that point to force quit Emacs -- i.e., not even C-g can unfreeze Emacs which displays the spinning circle for the mouse pointer.

Thanks,

Keith

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

In GNU Emacs 25.0.50.1 (x86_64-apple-darwin10.8.0, NS appkit-1038.36 Version 10.6.8 (Build 10K549))
 of 2015-08-04 on server.local
Repository revision: 118363 [email-masked]
Windowing system distributor `Apple', version 10.3.1038
Configured using:
 `configure --with-ns'

Configured features:
IMAGEMAGICK ACL LIBXML2 ZLIB

Important settings:
  locale-coding-system: utf-8-unix

Major mode: FM

Minor modes in effect:
  tb-mode: t
  sb-mode: t
  ml-mode: t
  ds-mode: t
  sd-mode: t
  bc-mode: t

Recent messages:
Wrote /Users/HOME/.0.data/.0.emacs/.lock
Emacs:  (car (image-size '(image :type imagemagi . . . [2 times]

Load-path shadows:
None found.

Features:
(shadow emacsbug sendmail lawlist-ztree lawlist-yas lawlist-ws
lawlist-wl elmo-imap4 elmo-localdir modb-standard modb-legacy
elmo-internal elmo-flag mmelmo-imap mmelmo-buffer elsp-generic mel-u
ps-print ps-def lpr parse-time disp-table enriched lawlist-w3m
browse-url doc-view image-mode ccl lawlist-window lawlist-vl
lawlist-view lawlist-undo lawlist-txt lawlist-tm lawlist-tex compare-w
lawlist-tabbar lawlist-speedbar lawlist-sgml lawlist-sb
lawlist-saveplace lawlist-ruler mule-util lawlist-replace
lawlist-rectangle lawlist-re-builder lawlist-python skeleton
lawlist-profiler lawlist-print lawlist-php lawlist-perl lawlist-parens
lawlist-org lawlist-calendar org-agenda org org-macro org-footnote
org-pcomplete org-list org-faces org-entities org-version
ob-emacs-lisp ob ob-tangle ob-ref ob-lob ob-table ob-exp org-src
ob-keys ob-comint ob-core ob-eval org-compat org-macs org-loaddefs
holidays hol-loaddefs cal-menu calendar cal-loaddefs lawlist-neotree
lawlist-movement lawlist-mouse lawlist-ml lawlist-minibuffer
lawlist-misc lawlist-mc rect lawlist-markdown noutline outline
lawlist-lorem lawlist-ln lawlist-keymap lawlist-js lawlist-ispell
lawlist-isearch lawlist-imenu lawlist-ibuffer lawlist-hl lawlist-grep
lawlist-git ido view vc-git vc vc-dispatcher url-http tls url
url-proxy url-privacy url-expand url-methods url-history mailcap
url-auth url-cookie url-domsuf url-gw thingatpt time-stamp server
log-view log-edit message mml mml-sec mm-decode mm-bodies mm-encode
gmm-utils mailheader pcvs-util add-log lawlist-help quail help-mode
json grep compile find-lisp ediff-merg ediff-wind ediff-diff
ediff-mult ediff-help ediff-init ediff-util ediff ert find-func ewoc
debug eieio-base diff-mode conf-mode autorevert filenotify
lawlist-frame lawlist-frame-bufs lawlist-font-lock lawlist-fm
lawlist-files zeroconf url-util url-parse auth-source eieio byte-opt
bytecomp byte-compile cl-extra cconv eieio-core password-cache
url-vars dbus xml lawlist-elscreen lawlist-elisp lawlist-dv jka-compr
lawlist-image lawlist-ds lawlist-dired epa epg epg-config format-spec
edmacro kmacro dired lawlist-desktop frameset lawlist-css smie
lawlist-compile rx lawlist-color lawlist-cm pcase lawlist-cc cc-langs
cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align
cc-engine cc-vars cc-defs cc-bytecomp lawlist-calc lawlist-calccomp
lawlist-calcalg3 lawlist-calcalg2 lawlist-calc+ easymenu lawlist-bk
lawlist-bc lawlist-bbdb gnus gnus-ems nnheader gnus-util mail-utils
wid-edit mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mailabbrev mail-extr rfc822 cl timezone lawlist-as
lawlist-archive cl-macs gv cl-loaddefs cl-lib lawlist-+ easy-mmode
derived advice help-fns shell pcomplete comint ansi-color ring
savehist time-date tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel ns-win tool-bar dnd fontset image regexp-opt
fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode
register page menu-bar rfn-eshadow timer select scroll-bar mouse
jit-lock font-lock syntax facemenu font-core frame cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
minibuffer nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process
cocoa ns multi-tty emacs)

Memory information:
((conses 16 1968786 136680)
 (symbols 48 80381 0)
 (miscs 40 131 202)
 (strings 32 179551 28304)
 (string-bytes 1 6480231)
 (vectors 16 37618)
 (vector-slots 8 911420 13879)
 (floats 8 1935 322)
 (intervals 56 334 0)
 (buffers 976 11))