Change `mark-{right,left}-inserting' to be the same as
authorChris Hanson <org/chris-hanson/cph>
Fri, 28 Apr 1989 03:51:55 +0000 (03:51 +0000)
committerChris Hanson <org/chris-hanson/cph>
Fri, 28 Apr 1989 03:51:55 +0000 (03:51 +0000)
`mark-permanent!' if the argument is (respectively) {right,left}
inserting.

v7/src/edwin/struct.scm

index 3404ca5c7c529843f73e8dbe89b9b959e01215bf..43b4eb3a3fd144f888b4ac5bac64228798eb620a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/struct.scm,v 1.66 1989/04/23 23:30:47 cph Exp $
+;;;    $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/struct.scm,v 1.67 1989/04/28 03:51:55 cph Exp $
 ;;;
 ;;;    Copyright (c) 1985, 1989 Massachusetts Institute of Technology
 ;;;
   (>= (mark-position mark) (mark-position (group-end mark))))
 \f
 (define (mark-right-inserting mark)
-  (let ((group (mark-group mark)))
-    (%%make-permanent-mark group
-                          (let ((position (mark-position mark)))
-                            (if (and (mark-left-inserting? mark)
-                                     (= position (group-gap-end group)))
-                                (group-gap-start group)
-                                position))
-                          false)))
+  (if (mark-left-inserting? mark)
+      (let ((group (mark-group mark)))
+       (%%make-permanent-mark group
+                              (let ((position (mark-position mark)))
+                                (if (= position (group-gap-end group))
+                                    (group-gap-start group)
+                                    position))
+                              false))
+      (mark-permanent! mark)))
 
 (define (mark-left-inserting mark)
-  (let ((group (mark-group mark)))
-    (%%make-permanent-mark group
-                          (let ((position (mark-position mark)))
-                            (if (and (not (mark-left-inserting? mark))
-                                     (= position (group-gap-start group)))
-                                (group-gap-end group)
-                                position))
-                          true)))
+  (if (mark-left-inserting? mark)
+      (mark-permanent! mark)
+      (let ((group (mark-group mark)))
+       (%%make-permanent-mark group
+                              (let ((position (mark-position mark)))
+                                (if (= position (group-gap-start group))
+                                    (group-gap-end group)
+                                    position))
+                              true))))
 
 (define-integrable (%make-permanent-mark group index left-inserting?)
   (%%make-permanent-mark group