Changeset 777


Ignore:
Timestamp:
Apr 13, 2004, 12:21:00 PM (21 years ago)
Author:
Gary Byers
Message:

Always delete current-region before insertion.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/hemlock/src/htext3.lisp

    r587 r777  
    1919(in-package :hemlock-internals)
    2020
     21;;; Return (and deactivate) the current region.
     22(defun %buffer-current-region (b)
     23  (when (and (typep b 'buffer)
     24             (variable-value 'hemlock::active-regions-enabled)
     25             (eql (buffer-signature b)
     26                  (buffer-region-active b)))
     27    (let* ((mark (buffer-%mark b))
     28           (point (buffer-point b)))
     29      (setf (buffer-region-active b) nil)
     30      (if (mark< mark point)
     31        (region mark point)
     32        (region point mark)))))
     33             
    2134
    2235
     
    2538  (declare (type base-char character))
    2639  (let* ((line (mark-line mark))
    27          (buffer (line-%buffer line)))
     40         (buffer (line-%buffer line))
     41         (region (%buffer-current-region buffer)))
     42    (when region
     43      (delete-region region))
    2844    (modifying-buffer buffer
    2945                      (modifying-line line mark)
     
    6884  (let* ((line (mark-line mark))
    6985         (buffer (line-%buffer line))
    70          (string (coerce string 'simple-string)))
     86         (string (coerce string 'simple-string))
     87         (region (%buffer-current-region buffer)))
    7188    (declare (simple-string string))
     89    (when region
     90      (delete-region region))
    7291    (unless (zerop (- end start))
    7392      (if (%sp-find-character string start end #\newline)
Note: See TracChangeset for help on using the changeset viewer.