bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#16267: EWW fails for a page with: Lisp nesting exceeds `max-lisp-eva


From: Ivan Shmakov
Subject: bug#16267: EWW fails for a page with: Lisp nesting exceeds `max-lisp-eval-depth'
Date: Fri, 27 Dec 2013 09:17:14 +0000
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

Package:  emacs
Severity: minor

>>>>> Lars Ingebrigtsen <larsi@gnus.org> writes:
>>>>> Ivan Shmakov <ivan@siamics.net> writes:

 >> As of 84b50168 [1], running EWW on [2] still results in what seem to
 >> be an infinite loop over shr-find-fill-point.  The top of the
 >> *Backtrace* reads:

 > I've applied something that I think should fix this.

        I’ve updated both shr.el and eww.el to 80d59dcc [1], and EWW now
        fails with the following for the page [2].  (I don’t know
        whether it’s a side effect of the changes made to fix #16256, or
        an entirely different bug.)

error in process filter: let*: Lisp nesting exceeds `max-lisp-eval-depth'
error in process filter: Lisp nesting exceeds `max-lisp-eval-depth'

        However, raising max-lisp-eval-depth to 640 from the default
        value of 600 makes the problem go away for this page.

        The top of the *Backtrace* reads:

Debugger entered--Lisp error: (error "Lisp nesting exceeds 
`max-lisp-eval-depth'")
  (progn (if (string-match "\n" style) (progn (setq style (replace-match " " t 
t style)))))
  (unwind-protect (progn (if (string-match "\n" style) (progn (setq style 
(replace-match " " t t style))))) (set-match-data save-match-data-internal 
(quote evaporate)))
  (let ((save-match-data-internal (match-data))) (unwind-protect (progn (if 
(string-match "\n" style) (progn (setq style (replace-match " " t t style))))) 
(set-match-data save-match-data-internal (quote evaporate))))
  (progn (let ((save-match-data-internal (match-data))) (unwind-protect (progn 
(if (string-match "\n" style) (progn (setq style (replace-match " " t t 
style))))) (set-match-data save-match-data-internal (quote evaporate)))) (let 
((plist nil)) (let ((--dolist-tail-- (split-string style ";")) elem) (while 
--dolist-tail-- (setq elem (car --dolist-tail--)) (if elem (progn (setq elem 
(split-string elem ":")) (if (and ... ...) (progn ...)))) (setq --dolist-tail-- 
(cdr --dolist-tail--)))) plist))
  (if style (progn (let ((save-match-data-internal (match-data))) 
(unwind-protect (progn (if (string-match "\n" style) (progn (setq style ...)))) 
(set-match-data save-match-data-internal (quote evaporate)))) (let ((plist 
nil)) (let ((--dolist-tail-- (split-string style ";")) elem) (while 
--dolist-tail-- (setq elem (car --dolist-tail--)) (if elem (progn (setq elem 
...) (if ... ...))) (setq --dolist-tail-- (cdr --dolist-tail--)))) plist)))
  shr-parse-style("color:lightgray; font-size:0.8em;font-variant:small-caps;")
  (nconc (shr-parse-style style) shr-stylesheet)
  (setq shr-stylesheet (nconc (shr-parse-style style) shr-stylesheet))
  (if (string-match "color\\|display\\|border-collapse" style) (setq 
shr-stylesheet (nconc (shr-parse-style style) shr-stylesheet)) (setq style nil))
  (progn (if (string-match "color\\|display\\|border-collapse" style) (setq 
shr-stylesheet (nconc (shr-parse-style style) shr-stylesheet)) (setq style 
nil)))
  (if style (progn (if (string-match "color\\|display\\|border-collapse" style) 
(setq shr-stylesheet (nconc (shr-parse-style style) shr-stylesheet)) (setq 
style nil))))
  (let ((function (or (cdr (assq (car dom) shr-external-rendering-functions)) 
(intern (concat "shr-tag-" (symbol-name (car dom))) obarray))) (style (cdr 
(assq :style (cdr dom)))) (shr-stylesheet shr-stylesheet) (start (point))) (if 
style (progn (if (string-match "color\\|display\\|border-collapse" style) (setq 
shr-stylesheet (nconc (shr-parse-style style) shr-stylesheet)) (setq style 
nil)))) (if (equal (cdr (assq (quote display) shr-stylesheet)) "none") nil (if 
(fboundp function) (funcall function (cdr dom)) (shr-generic (cdr dom))) (if 
(and shr-target-id (equal (cdr (assq :id (cdr dom))) shr-target-id)) (progn 
(put-text-property start (1+ start) (quote shr-target-id) shr-target-id))) (if 
style (progn (shr-colorize-region start (point) (cdr (assq (quote color) 
shr-stylesheet)) (cdr (assq (quote background-color) shr-stylesheet)))))))

[1] http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=80d59dcc
[2] https://ru.wikiversity.org/w/index.php?oldid=96679

-- 
FSF associate member #7257





reply via email to

[Prev in Thread] Current Thread [Next in Thread]