Fix bug: when comparing interprogram-paste string to kill-ring,
authorChris Hanson <org/chris-hanson/cph>
Mon, 20 Nov 1995 10:26:55 +0000 (10:26 +0000)
committerChris Hanson <org/chris-hanson/cph>
Mon, 20 Nov 1995 10:26:55 +0000 (10:26 +0000)
compare to last string killed, not last string yanked.  Otherwise,
when yanking from elsewhere in the ring, another copy of the last
string killed will be inserted in the kill ring.

v7/src/edwin/kilcom.scm

index 604f7dcb73e0d57764df6da9f5065ed53208a351..f56dace30ebca1ab9e322ff576343b05ad2052fc 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Id: kilcom.scm,v 1.69 1995/11/20 08:00:51 cph Exp $
+;;;    $Id: kilcom.scm,v 1.70 1995/11/20 10:26:55 cph Exp $
 ;;;
 ;;;    Copyright (c) 1985, 1989-95 Massachusetts Institute of Technology
 ;;;
@@ -293,12 +293,13 @@ comes the newest one."
   (let ((start (mark-right-inserting-copy (current-point))))
     (let ((end (mark-left-inserting-copy start)))
       (insert-string (let ((paste (and (= offset 0) (os/interprogram-paste))))
-                      (if (and paste (not (string-null? paste)))
+                      (if (and paste
+                               (not (string-null? paste))
+                               (let ((kill-ring (ref-variable kill-ring)))
+                                 (or (null? kill-ring)
+                                     (not (string=? paste (car kill-ring))))))
                           (begin
-                            (if (let ((kill-ring (ref-variable kill-ring)))
-                                  (or (null? kill-ring)
-                                      (not (string=? paste (car kill-ring)))))
-                                (kill-ring-save-1 paste))
+                            (kill-ring-save-1 paste)
                             paste)
                           (begin
                             ((ref-command rotate-yank-pointer) offset)