Allow MAKE-SYNTAX-TABLE to take an argument, which if given is the
authorChris Hanson <org/chris-hanson/cph>
Sun, 28 Jun 1998 20:09:11 +0000 (20:09 +0000)
committerChris Hanson <org/chris-hanson/cph>
Sun, 28 Jun 1998 20:09:11 +0000 (20:09 +0000)
table to copy.

v7/src/edwin/syntax.scm

index 556f97b2e8d5208c4dcc0df98f5d87e245e8c6ad..db535dc6dee322945a47237aa82b650a7c3aa906 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Id: syntax.scm,v 1.79 1997/03/03 23:03:00 cph Exp $
+;;;    $Id: syntax.scm,v 1.80 1998/06/28 20:09:11 cph Exp $
 ;;;
 ;;;    Copyright (c) 1986, 1989-97 Massachusetts Institute of Technology
 ;;;
              (string->list ".,;:?!#@~^'`"))
     table))
 
-(define (make-syntax-table)
+(define (make-syntax-table #!optional table)
   (%make-syntax-table
-   (vector-copy (syntax-table/entries standard-syntax-table))))
-
+   (vector-copy
+    (syntax-table/entries (if (or (default-object? table) (not table))
+                             standard-syntax-table
+                             table)))))
+\f
 (define (char->syntax-code syntax-table char)
   ((ucode-primitive char->syntax-code) (syntax-table/entries syntax-table)
                                       char))
                "7")
            (if (fix:= 0 (fix:and #x02 cbits)) "" "8")))
         (if (fix:= 0 (fix:and #x100000 entry)) "" "p")))))
-\f
+
 (define (substring-find-next-char-of-syntax string start end
                                            syntax-table syntax)
   (let loop ((index start))
@@ -193,7 +196,7 @@ which is selected so you can see it."
                         (write-char #\tab)))
                   (describe-syntax-entry entry)
                   (loop end))))))))))
-
+\f
 (define (describe-syntax-entry entry)
   (let ((code (fix:and #x0f entry)))
     (if (> code 12)