* bug#16256: EWW on a Web page results in infinite loop over shr-find-fill-point
@ 2013-12-25 21:04 Ivan Shmakov
2013-12-25 22:53 ` Lars Ingebrigtsen
0 siblings, 1 reply; 5+ messages in thread
From: Ivan Shmakov @ 2013-12-25 21:04 UTC (permalink / raw)
To: 16256
Package: emacs
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:
Debugger entered--returning value: 70
move-to-column(70)
shr-find-fill-point()
shr-insert("Столица српскохрватских jезиков")
shr-generic(((text . "Столица српскохрватских jезиков")))
shr-descend((big (text . "Столица српскохрватских jезиков")))
shr-generic(((:style . "color:lightgray; font-size:0.8em;font-variant:small-caps;") (big (text . "Столица српскохрватских jезиков"))))
shr-tag-span(((:style . "color:lightgray; font-size:0.8em;font-variant:small-caps;") (big (text . "Столица српскохрватских jезиков"))))
shr-descend((span (:style . "color:lightgray; font-size:0.8em;font-variant:small-caps;") (big (text . "Столица српскохрватских jезиков"))))
shr-generic(((:style . "color:#444444; font-family:Monotype Corsiva; font-size:3.4em; font-variant:small-caps;") (span (:style . "color:lightgray; font-size:0.8em;font-variant:small-caps;") (big (text . "Столица српскохрватских jезиков")))))
(Note that this is for the version of EWW with a tiny patch
/not/ to override shr-width. Though my guess is that the
unpatched version will fail similarly.)
[1] http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=84b50168
[2] https://ru.wikiversity.org/wiki/Сербохорватские_языки
PS. Yet again, — a Web page that uses Latin j in place of Cyrillic ј…
--
FSF associate member #7257
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#16256: EWW on a Web page results in infinite loop over shr-find-fill-point
2013-12-25 21:04 bug#16256: EWW on a Web page results in infinite loop over shr-find-fill-point Ivan Shmakov
@ 2013-12-25 22:53 ` Lars Ingebrigtsen
2013-12-27 9:17 ` bug#16267: EWW fails for a page with: Lisp nesting exceeds `max-lisp-eval-depth' Ivan Shmakov
0 siblings, 1 reply; 5+ messages in thread
From: Lars Ingebrigtsen @ 2013-12-25 22:53 UTC (permalink / raw)
To: Ivan Shmakov; +Cc: 16256
Ivan Shmakov <ivan@siamics.net> writes:
> Package: emacs
>
> 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.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog http://lars.ingebrigtsen.no/
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#16267: EWW fails for a page with: Lisp nesting exceeds `max-lisp-eval-depth'
2013-12-25 22:53 ` Lars Ingebrigtsen
@ 2013-12-27 9:17 ` Ivan Shmakov
2013-12-27 15:56 ` Lars Ingebrigtsen
0 siblings, 1 reply; 5+ messages in thread
From: Ivan Shmakov @ 2013-12-27 9:17 UTC (permalink / raw)
To: 16267
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
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2013-12-29 14:36 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-25 21:04 bug#16256: EWW on a Web page results in infinite loop over shr-find-fill-point Ivan Shmakov
2013-12-25 22:53 ` Lars Ingebrigtsen
2013-12-27 9:17 ` bug#16267: EWW fails for a page with: Lisp nesting exceeds `max-lisp-eval-depth' Ivan Shmakov
2013-12-27 15:56 ` Lars Ingebrigtsen
2013-12-29 14:36 ` Ivan Shmakov
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.