Subject: bug#21738: 25.0.50; eww freezes/crashes at times

From: Kaushal Modi <[email-masked]>
Date: Fri, 23 Oct 2015 16:43:57 -0400

> The bug is nasty.. probably in the package or my config (need to yet
> figure that out).

I am pretty sure, it is this piece of code in fill-column-indicator.el!

;; Hooks we use.
(defconst fci-hook-assignments
  '((after-change-functions fci-redraw-region t t)
    (before-change-functions fci-extend-rule-for-deletion nil t)
    (window-scroll-functions fci-update-window-for-scroll nil t)
    (window-configuration-change-hook  fci-redraw-frame)   ;
<--------------------------------------------------------------
    (post-command-hook  fci-post-command-check nil t)
    (change-major-mode-hook turn-off-fci-mode nil t)
    (longlines-mode-hook fci-update-all-windows nil t)))

But the definition of fci-redraw-frame has "(when fci-mode" too

(defun fci-redraw-frame ()
  "Redraw the fill-column rule in all windows on the selected frame."
  (let* ((wins (window-list (selected-frame) 'no-minibuf))
         (bufs (delete-dups (mapcar #'window-buffer wins))))
    (dolist (buf bufs)
      (with-current-buffer buf
        (when fci-mode
          (fci-delete-unneeded)
          (fci-update-all-windows))))))

So I am at loss why it is freezing eww if one of the other windows has
fci enabled. I checked that "C-h v fci-mode" returns nil in the eww
buffer.