From 2f4b15efbd742f580a4f26e134017a7759689e12 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Mon, 13 Jun 1994 19:35:07 +0000 Subject: [PATCH] (mouse-save-then-kill-delete-region): Turn off change hooks for the edit operations that are not real. --- lisp/mouse.el | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lisp/mouse.el b/lisp/mouse.el index 8d1c1e90aeb..b447bff5dbe 100644 --- a/lisp/mouse.el +++ b/lisp/mouse.el @@ -408,11 +408,15 @@ This does not delete the region; it acts like \\[kill-ring-save]." ;; Delete, but make the undo-list entry share with the kill ring. ;; First, delete just one char, so in case buffer is being modified ;; for the first time, the undo list records that fact. - (delete-region beg - (+ beg (if (> end beg) 1 -1))) + (let (before-change-function after-change-function + before-change-functions after-change-functions) + (delete-region beg + (+ beg (if (> end beg) 1 -1)))) (let ((buffer-undo-list buffer-undo-list)) ;; Undo that deletion--but don't change the undo list! - (primitive-undo 1 buffer-undo-list) + (let (before-change-function after-change-function + before-change-functions after-change-functions) + (primitive-undo 1 buffer-undo-list)) ;; Now delete the rest of the specified region, ;; but don't record it. (setq buffer-undo-list t)