GNU bug report logs - #4781
23.1; sgml-lexical-context on <!-- comments

Previous Next

Package: emacs;

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

Date: Wed, 21 Oct 2009 23:10:07 UTC

Severity: normal

Tags: patch

Done: Chong Yidong <cyd <at> stupidchicken.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 4781 in the body.
You can then email your comments to 4781 AT debbugs.gnu.org in the normal way.

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#4781; Package emacs. (Wed, 21 Oct 2009 23:10:07 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>. (Wed, 21 Oct 2009 23:10:07 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; sgml-lexical-context on <!-- comments
Date: Thu, 22 Oct 2009 10:02:31 +1100
[Message part 1 (text/plain, inline)]
In a file foo.html containing

    <!-- foo -->

and in html-mode with point on the "foo", calling `sgml-lexical-context'
returns

    (tag . 1)

where I thought from the docstring of that function it would be

    (comment . 1)

I suppose parse-partial-sexp doesn't quite recognise <!--, or not
without the sgml-specials hack.  I get some joy from the lines below.

2009-10-20  Kevin Ryde  <user42 <at> zip.com.au>

	* textmodes/sgml-mode.el (sgml-lexical-context): Recognise
	comment-start-skip to comment-end-skip as `comment' instead of `tag'.

[sgml-mode.el.lexical-comment.diff (text/x-diff, inline)]
Index: sgml-mode.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/textmodes/sgml-mode.el,v
retrieving revision 1.143
diff -u -u -r1.143 sgml-mode.el
--- sgml-mode.el	18 Oct 2009 22:25:40 -0000	1.143
+++ sgml-mode.el	21 Oct 2009 23:02:02 -0000
@@ -1048,6 +1048,12 @@
                   (let ((cdata-start (point)))
                     (unless (search-forward "]]>" pos 'move)
                       (list 0 nil nil 'cdata nil nil nil nil cdata-start))))
+                 ((looking-at comment-start-skip)
+		  ;; parse-partial-sexp doesn't handle <!-- comments -->,
+		  ;; or only if ?- is in sgml-specials, so match explicitly
+                  (let ((start (point)))
+                    (unless (re-search-forward comment-end-skip pos 'move)
+                      (list 0 nil nil nil t nil nil nil start))))
                  ((and sgml-xml-mode (looking-at "<\\?"))
                   ;; Processing Instructions.
                   ;; In SGML, it's basically a normal tag of the form
[Message part 3 (text/plain, inline)]

In GNU Emacs 23.1.1 (i486-pc-linux-gnu, GTK+ Version 2.16.5)
 of 2009-09-14 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

Added tag(s) patch. Request was from Juanma Barranquero <lekktu <at> gmail.com> to control <at> emacsbugs.donarmstrong.com. (Thu, 22 Oct 2009 09:40:08 GMT) Full text and rfc822 format available.

Reply sent to Chong Yidong <cyd <at> stupidchicken.com>:
You have taken responsibility. (Sat, 05 Dec 2009 20:25:11 GMT) Full text and rfc822 format available.

Notification sent to Kevin Ryde <user42 <at> zip.com.au>:
bug acknowledged by developer. (Sat, 05 Dec 2009 20:25:12 GMT) Full text and rfc822 format available.

Message #12 received at 4781-done <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Chong Yidong <cyd <at> stupidchicken.com>
To: Kevin Ryde <user42 <at> zip.com.au>
Cc: 4781-done <at> debbugs.gnu.org
Subject: Re: 23.1; sgml-lexical-context on <!-- comments
Date: Sat, 05 Dec 2009 15:23:39 -0500
> In a file foo.html containing
>
>     <!-- foo -->
>
> and in html-mode with point on the "foo", calling `sgml-lexical-context'
> returns
>
>     (tag . 1)
>
> where I thought from the docstring of that function it would be
>
>     (comment . 1)
>
> I suppose parse-partial-sexp doesn't quite recognise <!--, or not
> without the sgml-specials hack.  I get some joy from the lines below.

Thanks, I've checked your patch into the repository.



bug archived. Request was from Debbugs Internal Request <bug-gnu-emacs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 29 Jan 2010 12:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 15 years and 143 days ago.

Previous Next


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