GNU bug report logs - #4512
23.1; html-mode C-c C-f on runs of <P>

Previous Next

Package: emacs;

Reported by: Kevin Ryde <user42 <at> zip.com.au>

Date: Mon, 21 Sep 2009 22:55:05 UTC

Severity: normal

Tags: confirmed

Found in versions 29.0.50, 26.2, 23.1

To reply to this bug, email your comments to 4512 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#4512; Package emacs. (Mon, 21 Sep 2009 22:55:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to Kevin Ryde <user42 <at> zip.com.au>:
New bug report received and forwarded. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Mon, 21 Sep 2009 22:55:06 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Kevin Ryde <user42 <at> zip.com.au>
To: bug-gnu-emacs <at> gnu.org
Subject: 23.1; html-mode C-c C-f on runs of <P>
Date: Tue, 22 Sep 2009 08:48:12 +1000
[Message part 1 (text/plain, inline)]
In a html-mode buffer with runs of successive <P> tags, like

    (progn
      (switch-to-buffer "foo")
      (dotimes (i 5000) (insert (format "<p> abc\n" i)))
      (goto-char (point-min))
      (html-mode))

pressing C-c C-f gets an error

    Variable binding depth exceeds max-specpdl-size

instead of going forward.  The way C-c C-f `sgml-skip-tag-forward'
requires a closing </P> etc is no doubt what's wanted for sgml, but for
the looser html it'd be good if it recognised some closing tags are
optional.

[sgml-mode.el.skip-comment.diff (text/x-diff, inline)]
--- sgml-mode.el.~1.140.~	2009-08-22 07:48:30.000000000 +1000
+++ sgml-mode.el	2009-09-22 08:42:35.000000000 +1000
@@ -840,6 +840,14 @@
   ;; FIXME: Use sgml-get-context or something similar.
   ;; It currently might jump to an unrelated </P> if the <P>
   ;; we're skipping has no matching </P>.
+
+  ;; FIXME: For html-mode a closing </P> is optional, and others like
+  ;; </TR> similarly.  This code or some `html-skip-tag-forward'
+  ;; should recognise a new <P> ends a previous <P>, and with some
+  ;; precedence levels among <TR>, <TD>, <P>, etc.  Currently the
+  ;; recursion in the `while' below means runs of successive <P> error
+  ;; out exceeding max-specpdl-size.
+  
   (let ((return t))
     (with-syntax-table sgml-tag-syntax-table
       (while (>= arg 1)
[Message part 3 (text/plain, inline)]

In GNU Emacs 23.1.1 (i486-pc-linux-gnu, GTK+ Version 2.16.5)
 of 2009-08-03 on raven, modified by Debian
configured using `configure  '--build=i486-linux-gnu' '--host=i486-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var/lib' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs23:/etc/emacs:/usr/local/share/emacs/23.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.1/site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/23.1/leim' '--with-x=yes' '--with-x-toolkit=gtk' '--with-toolkit-scroll-bars' 'build_alias=i486-linux-gnu' 'host_alias=i486-linux-gnu' 'CFLAGS=-DDEBIAN -g -O2' 'LDFLAGS=-g' 'CPPFLAGS=''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_AU
  value of $XMODIFIERS: nil
  locale-coding-system: iso-latin-1-unix
  default-enable-multibyte-characters: t

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#4512; Package emacs. (Tue, 22 Sep 2009 21:50:06 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stefan Monnier <monnier <at> IRO.UMontreal.CA>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Tue, 22 Sep 2009 21:50:06 GMT) Full text and rfc822 format available.

Message #10 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
To: Kevin Ryde <user42 <at> zip.com.au>
Cc: 4512 <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org
Subject: Re: bug#4512: 23.1; html-mode C-c C-f on runs of <P>
Date: Tue, 22 Sep 2009 17:45:34 -0400
> In a html-mode buffer with runs of successive <P> tags, like

>     (progn
>       (switch-to-buffer "foo")
>       (dotimes (i 5000) (insert (format "<p> abc\n" i)))
>       (goto-char (point-min))
>       (html-mode))

> pressing C-c C-f gets an error

>     Variable binding depth exceeds max-specpdl-size

> instead of going forward.  The way C-c C-f `sgml-skip-tag-forward'
> requires a closing </P> etc is no doubt what's wanted for sgml, but for
> the looser html it'd be good if it recognised some closing tags are
> optional.

The necessary info is already present and used by the indentation
code, via the function sgml-unclosed-tag-p.  All it needs is for someone
to figure out how to merge the indentation's navigation code with the
sgml-skip-tag-(for|back)ward  code (which predates it, but wasn't good
enough).


        Stefan




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#4512; Package emacs. (Tue, 22 Sep 2009 21:50:12 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stefan Monnier <monnier <at> IRO.UMontreal.CA>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Tue, 22 Sep 2009 21:50:12 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#4512; Package emacs. (Thu, 21 Jan 2016 20:38:02 GMT) Full text and rfc822 format available.

Message #18 received at 4512 <at> debbugs.gnu.org (full text, mbox):

From: Alan Third <alan <at> idiocy.org>
To: Kevin Ryde <user42 <at> zip.com.au>
Cc: 4512 <at> debbugs.gnu.org
Subject: Re: bug#4512: 23.1; html-mode C-c C-f on runs of <P>
Date: Thu, 21 Jan 2016 20:37:49 +0000
Kevin Ryde <user42 <at> zip.com.au> writes:

> In a html-mode buffer with runs of successive <P> tags, like
>
>     (progn
>       (switch-to-buffer "foo")
>       (dotimes (i 5000) (insert (format "<p> abc\n" i)))
>       (goto-char (point-min))
>       (html-mode))
>
> pressing C-c C-f gets an error
>
>     Variable binding depth exceeds max-specpdl-size

I still see this in emacs 25.

-- 
Alan Third




Added tag(s) confirmed. Request was from Alan Third <alan <at> idiocy.org> to control <at> debbugs.gnu.org. (Thu, 21 Jan 2016 20:39:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#4512; Package emacs. (Thu, 27 Jun 2019 01:56:03 GMT) Full text and rfc822 format available.

Message #23 received at 4512 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefan <at> marxist.se>
To: Alan Third <alan <at> idiocy.org>
Cc: 4512 <at> debbugs.gnu.org, Kevin Ryde <user42 <at> zip.com.au>
Subject: Re: bug#4512: 23.1; html-mode C-c C-f on runs of <P>
Date: Thu, 27 Jun 2019 03:54:46 +0200
Alan Third <alan <at> idiocy.org> writes:

> Kevin Ryde <user42 <at> zip.com.au> writes:
>
>> In a html-mode buffer with runs of successive <P> tags, like
>>
>>     (progn
>>       (switch-to-buffer "foo")
>>       (dotimes (i 5000) (insert (format "<p> abc\n" i)))
>>       (goto-char (point-min))
>>       (html-mode))
>>
>> pressing C-c C-f gets an error
>>
>>     Variable binding depth exceeds max-specpdl-size
>
> I still see this in emacs 25.

I can reproduce this using Emacs 26.2.

Thanks,
Stefan Kangas




bug Marked as found in versions 26.2. Request was from Stefan Kangas <stefan <at> marxist.se> to control <at> debbugs.gnu.org. (Fri, 22 Oct 2021 09:20:02 GMT) Full text and rfc822 format available.

bug Marked as found in versions 23.1. Request was from Stefan Kangas <stefan <at> marxist.se> to control <at> debbugs.gnu.org. (Sun, 31 Oct 2021 14:35:01 GMT) Full text and rfc822 format available.

bug Marked as found in versions 29.0.50. Request was from Stefan Kangas <stefan <at> marxist.se> to control <at> debbugs.gnu.org. (Sun, 31 Oct 2021 14:35:01 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 225 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.