From: Andreas Schwab Date: Tue, 6 Jan 2004 16:11:00 +0000 (+0000) Subject: (skip_chars): Treat '-' at end of string as ordinary X-Git-Tag: ttn-vms-21-2-B4~7996 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=57951c2efa53763d47955716556b4f8b88de4417;p=emacs.git (skip_chars): Treat '-' at end of string as ordinary character. --- diff --git a/src/ChangeLog b/src/ChangeLog index d219466e0b8..5447337a570 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2004-01-06 Andreas Schwab + + * syntax.c (skip_chars): Treat '-' at end of string as ordinary + character. + 2004-01-02 Andreas Schwab * macterm.c (emacs_options, x_initialized, same_x_server): Remove diff --git a/src/syntax.c b/src/syntax.c index 79df112d265..30fc94267cd 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -1,5 +1,5 @@ /* GNU Emacs routines to deal with syntax tables; also word and list parsing. - Copyright (C) 1985, 87, 93, 94, 95, 97, 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1985, 87, 93, 94, 95, 97, 1998, 1999, 2004 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -1442,10 +1442,13 @@ skip_chars (forwardp, syntaxp, string, lim) if (i_byte == size_byte) break; - c = STRING_CHAR_AND_LENGTH (str+i_byte, size_byte-i_byte, len); + c = STRING_CHAR_AND_LENGTH (str + i_byte, + size_byte - i_byte, len); i_byte += len; } - if (i_byte < size_byte + /* Treat `-' as range character only if another character + follows. */ + if (i_byte + 1 < size_byte && str[i_byte] == '-') { unsigned int c2; @@ -1453,11 +1456,9 @@ skip_chars (forwardp, syntaxp, string, lim) /* Skip over the dash. */ i_byte++; - if (i_byte == size_byte) - break; - /* Get the end of the range. */ - c2 =STRING_CHAR_AND_LENGTH (str+i_byte, size_byte-i_byte, len); + c2 = STRING_CHAR_AND_LENGTH (str + i_byte, + size_byte - i_byte, len); i_byte += len; if (SINGLE_BYTE_CHAR_P (c))