Add new procedure GROUP-INSERT-CHARS!.
authorChris Hanson <org/chris-hanson/cph>
Mon, 17 Apr 1995 21:46:25 +0000 (21:46 +0000)
committerChris Hanson <org/chris-hanson/cph>
Mon, 17 Apr 1995 21:46:25 +0000 (21:46 +0000)
v7/src/edwin/edwin.pkg
v7/src/edwin/grpops.scm

index 911ab7e7c4576cba7119b3a9cd62fe3ec295c9bf..bb9fff2ddcee41a7defa07c24fa993b285c5bcb5 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: edwin.pkg,v 1.168 1995/04/15 06:48:48 cph Exp $
+$Id: edwin.pkg,v 1.169 1995/04/17 21:46:25 cph Exp $
 
 Copyright (c) 1989-95 Massachusetts Institute of Technology
 
@@ -183,6 +183,7 @@ MIT in each case. |#
          group-extract-and-delete-string!
          group-extract-string
          group-insert-char!
+         group-insert-chars!
          group-insert-string!
          group-insert-substring!
          group-left-char
index 14d394e738d2c7fc1129e628213926f302c051b5..6ca13f0ffd5f3f32a74d2b58a7b49ee6517df82b 100644 (file)
@@ -1,8 +1,8 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Id: grpops.scm,v 1.21 1993/08/13 23:20:39 cph Exp $
+;;;    $Id: grpops.scm,v 1.22 1995/04/17 21:46:10 cph Exp $
 ;;;
-;;;    Copyright (c) 1986, 1989-93 Massachusetts Institute of Technology
+;;;    Copyright (c) 1986, 1989-95 Massachusetts Institute of Technology
 ;;;
 ;;;    This material was developed by the Scheme project at the
 ;;;    Massachusetts Institute of Technology, Department of
 ;;;; Insertions
 
 (define (group-insert-char! group index char)
+  (group-insert-chars! group index char 1))
+
+(define (group-insert-chars! group index char n)
   (let ((interrupt-mask (set-interrupt-enables! interrupt-mask/gc-ok)))
-    (prepare-gap-for-insert! group index 1)
-    (string-set! (group-text group) index char)
-    (finish-group-insert! group index 1)
+    (prepare-gap-for-insert! group index n)
+    (let ((text (group-text group))
+         (end (fix:+ index n)))
+      (do ((index index (fix:+ index 1)))
+         ((fix:= index end))
+       (string-set! text index char)))
+    (finish-group-insert! group index n)
     (set-interrupt-enables! interrupt-mask)
     unspecific))
 
       (finish-group-insert! group index n))
     (set-interrupt-enables! interrupt-mask)
     unspecific))
-
+\f
 (define (prepare-gap-for-insert! group new-start n)
   (if (or (group-read-only? group)
          (and (group-text-properties group)