Optimize DELETE-MATCH for speed.
authorChris Hanson <org/chris-hanson/cph>
Thu, 2 Apr 1992 08:14:57 +0000 (08:14 +0000)
committerChris Hanson <org/chris-hanson/cph>
Thu, 2 Apr 1992 08:14:57 +0000 (08:14 +0000)
v7/src/edwin/regexp.scm

index 30e2e4b7df188ef828d780f56ba489641a0796ea..fcd7bcb0b6910048be03b17fb927b273f75fb005 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/regexp.scm,v 1.61 1992/02/04 04:03:48 cph Exp $
+;;;    $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/regexp.scm,v 1.62 1992/04/02 08:14:57 cph Exp $
 ;;;
 ;;;    Copyright (c) 1986, 1989-92 Massachusetts Institute of Technology
 ;;;
                 (list (substring pattern start end))))))
        pattern)))
 
-
 (define (delete-match)
-  (let ((start (re-match-start 0)))
-    (delete-string start (re-match-end 0))
-    start))
+  (let ((group (re-match-group))
+       (start (re-match-start-index 0)))
+    (group-delete! group start (re-match-end-index 0))
+    (make-mark group start)))
 \f
 (define (re-search-buffer-forward pattern case-fold-search syntax-table
                                  group start end)