]> git.eshelyaron.com Git - emacs.git/commitdiff
Add way to prevent asking "increase specpdl size?"
authorRichard M Stallman <rms@gnu.org>
Fri, 16 Oct 2020 02:32:41 +0000 (22:32 -0400)
committerRichard Stallman <rms@gnu.org>
Fri, 16 Oct 2020 02:32:41 +0000 (22:32 -0400)
* net/shr.el (shr-offer-extend-specpdl): New option, default t.
(shr-descend): If shr-offer-extend-specpdl is nil, don't even ask
whether to extend the specpdl, just signal error.

lisp/net/shr.el

index 88e691752ab2b70cad2d14ca7bf7c18b7cc81e63..2e5dd5ffa50c2ab765d59d7119941b36dc643380 100644 (file)
@@ -146,6 +146,14 @@ same domain as the main data."
   :version "24.4"
   :type 'boolean)
 
+(defcustom shr-offer-extend-specpdl t
+  "Non-nil means offer to extend the specpdl if the HTML nests deeply.
+Complicated HTML can require more nesting than the current specpdl
+size permits.  If this variable is t, ask the user whether to increase
+the specpdl size.  If nil, just give up."
+  :version "28.1"
+  :type 'boolean)
+
 (defvar shr-content-function nil
   "If bound, this should be a function that will return the content.
 This is used for cid: URLs, and the function is called with the
@@ -527,7 +535,8 @@ size, and full-buffer size."
        (start (point)))
     ;; shr uses many frames per nested node.
     (if (and (> shr-depth (/ max-specpdl-size 15))
-             (not (and (y-or-n-p "Too deeply nested to render properly; increase `max-specpdl-size'?")
+             (not (and shr-offer-extend-specpdl
+                       (y-or-n-p "Too deeply nested to render properly; increase `max-specpdl-size'?")
                        (setq max-specpdl-size (* max-specpdl-size 2)))))
         (setq shr-warning
               "Not rendering the complete page because of too-deep nesting")