From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: npostavs@users.sourceforge.net Newsgroups: gmane.emacs.bugs Subject: bug#24315: 25.1.50; re-search-forward errors with "Variable binding depth exceeds max-specpdl-size" Date: Thu, 01 Sep 2016 21:58:36 -0400 Message-ID: <87poonoyer.fsf@users.sourceforge.net> References: <87twe6sx2g.fsf@users.sourceforge.net> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1472781565 24282 195.159.176.226 (2 Sep 2016 01:59:25 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 2 Sep 2016 01:59:25 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) Cc: 24315@debbugs.gnu.org To: pok@netfonds.no (Peder O. Klingenberg) Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Sep 02 03:59:17 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bfdlF-0005Ox-0a for geb-bug-gnu-emacs@m.gmane.org; Fri, 02 Sep 2016 03:59:17 +0200 Original-Received: from localhost ([::1]:39606 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bfdlC-0003gM-Mq for geb-bug-gnu-emacs@m.gmane.org; Thu, 01 Sep 2016 21:59:14 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59691) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bfdl4-0003bc-EV for bug-gnu-emacs@gnu.org; Thu, 01 Sep 2016 21:59:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bfdl0-0004L8-Bz for bug-gnu-emacs@gnu.org; Thu, 01 Sep 2016 21:59:05 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:49049) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bfdl0-0004Ku-8G for bug-gnu-emacs@gnu.org; Thu, 01 Sep 2016 21:59:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1bfdkz-0005zH-R4 for bug-gnu-emacs@gnu.org; Thu, 01 Sep 2016 21:59:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: npostavs@users.sourceforge.net Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 02 Sep 2016 01:59:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 24315 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 24315-submit@debbugs.gnu.org id=B24315.147278150622972 (code B ref 24315); Fri, 02 Sep 2016 01:59:01 +0000 Original-Received: (at 24315) by debbugs.gnu.org; 2 Sep 2016 01:58:26 +0000 Original-Received: from localhost ([127.0.0.1]:46761 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bfdkQ-0005yS-Cl for submit@debbugs.gnu.org; Thu, 01 Sep 2016 21:58:26 -0400 Original-Received: from mail-it0-f53.google.com ([209.85.214.53]:35794) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bfdkN-0005y9-7J for 24315@debbugs.gnu.org; Thu, 01 Sep 2016 21:58:24 -0400 Original-Received: by mail-it0-f53.google.com with SMTP id e124so13584873ith.0 for <24315@debbugs.gnu.org>; Thu, 01 Sep 2016 18:58:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=XY3yekgIz8I82wIysdDUsw+ZM8pM8DYWfSrlQdh+Gw8=; b=bpaDxqKuWhfuF9KKSHDrq8+xKLpMFRmJwm/j6C/4T6XSecYpUIZnXy5hy1ZVBOwdPY fMaj/nGZY0B53i3phw1iBy7ok7hisZFavPSWuFOvDd+WjsXVY7aDMyc9TTI3sdXiEhe0 gHyECC0iwUimzTeLPTS1T76351ae+dF1PcYFqj1gBnfh1xbbPKmkF96VGkZLEwjWIUzQ Ev7s8DjGL/HXn1uYAb5rRo/lU0ZkA0q9TO6WPAkA1O8cmgpGqU0Uj0vem4SbXTbk5vP4 kYJ2jYQjEWKio1taaRO4YLSKAziApPJ/7njnfCod6KeXT8T/P4Zp04e/uLLeq+phfyxa m4gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:from:to:cc:subject:references:date :in-reply-to:message-id:user-agent:mime-version; bh=XY3yekgIz8I82wIysdDUsw+ZM8pM8DYWfSrlQdh+Gw8=; b=R9An+ZiyXXfS3bQPcCgUGXE0h2kFmcZTxL1d2lmNcwBpxqpu9kshQDXP4ntDMi4Nts K2po/HkluVa0IaK78fxRHHZt9tyf/01lCc0Dw1tnoC7tzJ4Mhq9jDrnylJhJtrvZOW/Z +wR6IeeWuRecCe0hDiYU21pocGDDXGmvx0c27p8YVSMYWAH/SKGHzEzptV6clxhhCoir rDWaq6vSaEvcdWc9qmvPOUMC+mLnqxCd6xnh10BSV52EDAhTxl63B4rGQW5ajpBskvaw DHvWGVCaGboiUc3BgNKp/BfYUlHyotmK5gClB4crEBTmY8v9Y0e1ciU0K9s6IpjhYBCZ qKNw== X-Gm-Message-State: AE9vXwOv1nGmvnb8+XgDBPVUbpJO/x2Jdzpq9B/mlnM2W/IN4jLvqAakP5Zvw8MtcsvVpA== X-Received: by 10.36.25.144 with SMTP id b138mr1240464itb.29.1472781497222; Thu, 01 Sep 2016 18:58:17 -0700 (PDT) Original-Received: from zony ([45.2.7.130]) by smtp.googlemail.com with ESMTPSA id j76sm3840099itb.2.2016.09.01.18.58.15 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 01 Sep 2016 18:58:16 -0700 (PDT) In-Reply-To: (Peder O. Klingenberg's message of "Tue, 30 Aug 2016 15:09:34 +0200") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:122835 Archived-At: pok@netfonds.no (Peder O. Klingenberg) writes: > `icalendar--get-unfolded-buffer' takes care of all those pesky line > continuations, and returns a buffer with each element occupying exactly > one line. So essentially `icalendar--read-event' was using a regexp to > extract the rest of the line, and that failed with a line nearly 40k > characters long. > > The only other in-tree caller of `icalendar--read-event' (excluding > itself) also calls `icalendar--get-unfolded-buffer' first, and indeed, > `icalendar-read-event' already relies on this to take care of line > continuations in element parameters (as opposed to values). > > Attached is a patch that uses buffer-substring to accomplish the same > thing as the offending regexp, and documents the dependency on > `icalendar--get-unfolded-buffer'. This fixes the problem for me. If it works without the regexp, that's even better. > -it finds." > +it finds. The current buffer should be an unfolded buffer as returned ^ Sentences should be double spaced. > +from `icalendar--get-unfolded-buffer'." > (let (element children line name params param param-name param-value > value > (continue t)) > @@ -391,8 +392,8 @@ icalendar--read-element > (unless (looking-at ":") > (error "Oops")) > (forward-char 1) > - (re-search-forward "\\(.*\\)\\(\r?\n[ \t].*\\)*" nil t) > - (setq value (icalendar--rris "\r?\n[ \t]" "" (match-string 0))) > + (setq value (buffer-substring (point) (line-end-position))) > + (end-of-line) Might be better to avoid finding the end of line twice (since apparently 40k lines do happen, I guess it's worth thinking a bit about optimizing): (let ((start (prog1 (point) (end-of-line)))) (setq value (buffer-substring start (point))))