unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* skip-chars-forward error "Invalid ISO C character class"
@ 2004-06-14 21:51 Robert J. Chassell
  2004-06-15  9:45 ` Kim F. Storm
  0 siblings, 1 reply; 3+ messages in thread
From: Robert J. Chassell @ 2004-06-14 21:51 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=utf-8, Size: 2203 bytes --]

Today's CVS Update, Mon, 2004 Jun 14  11:35 UTC
GNU Emacs 21.3.50.2 (i686-pc-linux-gnu, GTK+ Version 2.2.4)
started with

    /usr/local/src/emacs/src/emacs -Q

`texinfo-all-menus-update' fails on the following line because of a
bug in `skip-chars-forward':

    * Introduction::

To repeat the error, place point at the end of the line, after the ::
and evaluate 

  (skip-chars-forward "[:.,\t\n ]+")

When the line is in the *scratch* buffer, this error message will be
generated:

Debugger entered--Lisp error: (error "Invalid ISO C character class")
  skip-chars-forward("[:.,	\n ]+")
  eval((skip-chars-forward "[:.,	\n ]+"))
  eval-expression((skip-chars-forward "[:.,	\n ]+") nil)
  call-interactively(eval-expression)
  recursive-edit()
  byte-code("Æ\x10Ç	!� �\n!ˆ\vƒB
`|ˆ)Ìcˆeb�ÎÏ \"� ˆ\n@Ñ=ƒN
  debug(error (error "Invalid ISO C character class"))
  skip-chars-forward("[:.,	\n ]+")
  eval((skip-chars-forward "[:.,	\n ]+"))
  eval-expression((skip-chars-forward "[:.,	\n ]+") nil)
  call-interactively(eval-expression)
  recursive-edit()
  byte-code("Æ\x10Ç	!� �\n!ˆ\vƒB
`|ˆ)Ìcˆeb�ÎÏ \"� ˆ\n@Ñ=ƒN
  debug(error (error "Invalid ISO C character class"))
  skip-chars-forward("[:.,	\n ]+")
  eval((skip-chars-forward "[:.,	\n ]+"))
  eval-expression((skip-chars-forward "[:.,	\n ]+") nil)
  call-interactively(eval-expression)


The bug produces that error when the line is in the *scratch* buffer
with the English language environment as reported by 
(describe-language-environment nil)

In a Texinfo mode buffer, with the same English language environment,
a shorter error message is produced:

Debugger entered--Lisp error: (error "Invalid ISO C character class")
  skip-chars-forward("[:.,	\n ]+")
  eval((skip-chars-forward "[:.,	\n ]+"))
  eval-expression((skip-chars-forward "[:.,	\n ]+") nil)
  call-interactively(eval-expression)


`texinfo-all-menus-update' succeeds if you first remove all the menus
from the Texinfo file that you are updating.

-- 
    Robert J. Chassell                         Rattlesnake Enterprises
    As I slowly update it,                     bob@rattlesnake.com
        I rewrite a "What's New" segment for   http://www.rattlesnake.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: skip-chars-forward error "Invalid ISO C character class"
  2004-06-14 21:51 skip-chars-forward error "Invalid ISO C character class" Robert J. Chassell
@ 2004-06-15  9:45 ` Kim F. Storm
  2004-06-15 22:20   ` Robert J. Chassell
  0 siblings, 1 reply; 3+ messages in thread
From: Kim F. Storm @ 2004-06-15  9:45 UTC (permalink / raw)
  Cc: emacs-devel

"Robert J. Chassell" <bob@rattlesnake.com> writes:

> 
>   (skip-chars-forward "[:.,\t\n ]+")
> 
> When the line is in the *scratch* buffer, this error message will be
> generated:
> 
> Debugger entered--Lisp error: (error "Invalid ISO C character class")


Well, unless the author actually intended to also match the characters []+
the proper form of the above call is:

   (skip-chars-forward ":.,\t\n ")

so I guess it's a bug in the code (the arg is a string not a regexp).

But the reason the error only reveals is head now is because RMS has
installed a patch to allow character classes to be specified, e.g.
   (skip-chars-forward "[:alpha:]")

The implementation is a bit brute force though, so it triggers errors
for things which clearly are not intended to be interpreted as a
character class.  E.g.

        (skip-chars-forward "[:]")


I have installed a change which checks that [:class:] has the proper
format before interpretion it as a class spec.

-- 
Kim F. Storm <storm@cua.dk> http://www.cua.dk

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: skip-chars-forward error "Invalid ISO C character class"
  2004-06-15  9:45 ` Kim F. Storm
@ 2004-06-15 22:20   ` Robert J. Chassell
  0 siblings, 0 replies; 3+ messages in thread
From: Robert J. Chassell @ 2004-06-15 22:20 UTC (permalink / raw)
  Cc: emacs-devel

   I have installed a change which checks that [:class:] has the proper
   format before interpretion it as a class spec.

`texinfo-all-menus-update', which triggered the `skip-chars-forward'
bug, works great now!

Thanks!

-- 
    Robert J. Chassell                         Rattlesnake Enterprises
    As I slowly update it,                     bob@rattlesnake.com
        I rewrite a "What's New" segment for   http://www.rattlesnake.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2004-06-15 22:20 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-06-14 21:51 skip-chars-forward error "Invalid ISO C character class" Robert J. Chassell
2004-06-15  9:45 ` Kim F. Storm
2004-06-15 22:20   ` Robert J. Chassell

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).