Fix `substring-find-next-char-in-set' and
authorChris Hanson <org/chris-hanson/cph>
Sun, 11 Jan 1987 13:18:54 +0000 (13:18 +0000)
committerChris Hanson <org/chris-hanson/cph>
Sun, 11 Jan 1987 13:18:54 +0000 (13:18 +0000)
`substring-find-previous-char-in-set', which were losing on characters
with the #x80 bit set in the usual way.

v7/src/microcode/string.c
v7/src/microcode/version.h
v8/src/microcode/version.h

index c52d660f3eaf2618574799f8353137afc45bd303..eb4921d445d3252aa25a90867c31613ca9c912ff 100644 (file)
@@ -1,48 +1,38 @@
-/*     Emacs -*-C-*-an't tell the language                     */
-
-/****************************************************************
-*                                                               *
-*                         Copyright (c) 1986                    *
-*               Massachusetts Institute of Technology           *
-*                                                               *
-* This material was developed by the Scheme project at the      *
-* Massachusetts Institute of Technology, Department of          *
-* Electrical Engineering and Computer Science.  Permission to   *
-* copy this software, to redistribute it, and to use it for any *
-* purpose is granted, subject to the following restrictions and *
-* understandings.                                               *
-*                                                               *
-* 1. Any copy made of this software must include this copyright *
-* notice in full.                                               *
-*                                                               *
-* 2. Users of this software agree to make their best efforts (a)*
-* to return to the MIT Scheme project any improvements or       *
-* extensions that they make, so that these may be included in   *
-* future releases; and (b) to inform MIT of noteworthy uses of  *
-* this software.                                                *
-*                                                               *
-* 3.  All materials developed as a consequence of the use of    *
-* this software shall duly acknowledge such use, in accordance  *
-* with the usual standards of acknowledging credit in academic  *
-* research.                                                     *
-*                                                               *
-* 4. MIT has made no warrantee or representation that the       *
-* operation of this software will be error-free, and MIT is     *
-* under no obligation to provide any services, by way of        *
-* maintenance, update, or otherwise.                            *
-*                                                               *
-* 5.  In conjunction with products arising from the use of this *
-* material, there shall be no use of the name of the            *
-* Massachusetts Institute of Technology nor of any adaptation   *
-* thereof in any advertising, promotional, or sales literature  *
-* without prior written consent from MIT in each case.          *
-*                                                               *
-****************************************************************/
-
-/* File: STRINGPRIM.C
- *
- * String primitives.
- */
+/* -*-C-*-
+
+Copyright (c) 1987 Massachusetts Institute of Technology
+
+This material was developed by the Scheme project at the Massachusetts
+Institute of Technology, Department of Electrical Engineering and
+Computer Science.  Permission to copy this software, to redistribute
+it, and to use it for any purpose is granted, subject to the following
+restrictions and understandings.
+
+1. Any copy made of this software must include this copyright notice
+in full.
+
+2. Users of this software agree to make their best efforts (a) to
+return to the MIT Scheme project any improvements or extensions that
+they make, so that these may be included in future releases; and (b)
+to inform MIT of noteworthy uses of this software.
+
+3. All materials developed as a consequence of the use of this
+software shall duly acknowledge such use, in accordance with the usual
+standards of acknowledging credit in academic research.
+
+4. MIT has made no warrantee or representation that the operation of
+this software will be error-free, and MIT is under no obligation to
+provide any services, by way of maintenance, update, or otherwise.
+
+5. In conjunction with products arising from the use of this material,
+there shall be no use of the name of the Massachusetts Institute of
+Technology nor of any adaptation thereof in any advertising,
+promotional, or sales literature without prior written consent from
+MIT in each case. */
+
+/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/string.c,v 5.2 1987/01/11 13:18:20 cph Exp $
+
+String primitives. */
 
 #include "scheme.h"
 #include "primitive.h"
@@ -353,13 +343,13 @@ Built_In_Primitive(Prim_Vector_8b_Find_Previous_Char_Ci, 4,
 10. SUBSTRING-MATCH-FORWARD-CI
 11. SUBSTRING-MATCH-BACKWARD-CI         Case insensitive of 8 & 9.
 */
-
+\f
 Built_In_Primitive(Prim_Substring_Find_Next_Char_In_Set, 4,
                   "SUBSTRING-FIND-NEXT-CHAR-IN-SET")
 {
   long length;
   fast char *first, *char_set;
-  fast long start, end;
+  fast long start, end, c;
   Primitive_4_Args();
 
   Check_Substring_Args();
@@ -370,7 +360,8 @@ Built_In_Primitive(Prim_Substring_Find_Next_Char_In_Set, 4,
 
   while (start < end)
     {
-      if (char_set[*first++] != '\0')
+      c = *first++;
+      if (char_set[c] != '\0')
        return (Make_Unsigned_Fixnum( start));
       start += 1;
     }
@@ -382,7 +373,7 @@ Built_In_Primitive(Prim_Substring_Find_Previous_Char_In_Set, 4,
 {
   long length;
   fast char *first, *char_set;
-  fast long start, end;
+  fast long start, end, c;
   Primitive_4_Args();
 
   Check_Substring_Args();
@@ -395,7 +386,8 @@ Built_In_Primitive(Prim_Substring_Find_Previous_Char_In_Set, 4,
   while (end > start)
     {
       end -= 1;
-      if (char_set[*--first] != '\0')
+      c = *--first;
+      if (char_set[c] != '\0')
        return (Make_Unsigned_Fixnum( end));
     }
   return (NIL);
index b03b75191c8bdbd791b7e9da4c7bfd59f0dffb14..bc19620f5dea0875504dbfad83d5a13b885ed7d9 100644 (file)
@@ -30,7 +30,7 @@ Technology nor of any adaptation thereof in any advertising,
 promotional, or sales literature without prior written consent from
 MIT in each case. */
 
-/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/version.h,v 5.8 1987/01/11 09:08:33 cph Exp $
+/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/version.h,v 5.9 1987/01/11 13:18:54 cph Exp $
 
 This file contains version information for the microcode. */
 \f
@@ -46,7 +46,7 @@ This file contains version information for the microcode. */
 #define VERSION                9
 #endif
 #ifndef SUBVERSION
-#define SUBVERSION     17
+#define SUBVERSION     18
 #endif
 
 #ifndef UCODE_TABLES_FILENAME
index 2b7c6c0b29b1e35d7fb65bc85b98961a8895c511..ac42fa4c82fc8e694d644009067d4816c5c27239 100644 (file)
@@ -30,7 +30,7 @@ Technology nor of any adaptation thereof in any advertising,
 promotional, or sales literature without prior written consent from
 MIT in each case. */
 
-/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/microcode/version.h,v 5.8 1987/01/11 09:08:33 cph Exp $
+/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/microcode/version.h,v 5.9 1987/01/11 13:18:54 cph Exp $
 
 This file contains version information for the microcode. */
 \f
@@ -46,7 +46,7 @@ This file contains version information for the microcode. */
 #define VERSION                9
 #endif
 #ifndef SUBVERSION
-#define SUBVERSION     17
+#define SUBVERSION     18
 #endif
 
 #ifndef UCODE_TABLES_FILENAME