aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMasatake YAMATO <[email protected]>2004-03-16 16:27:10 +0000
committerMasatake YAMATO <[email protected]>2004-03-16 16:27:10 +0000
commit935ce7caa0085c8530f6c70b43b5d3b14bbaffd3 (patch)
treed435b9ea2929faf2d1083ca0ef085dd5aafec5f0
parent68eb03ca88b06f7f4428db0164ae9758c29ffda4 (diff)
(smerge-popup-context-menu): Put `unwind-protect' arround `overlay-put' and `popup-menu'.
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/smerge-mode.el16
2 files changed, 14 insertions, 7 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 2db90ad37a..d36c88ede9 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2004-03-17 Masatake YAMATO <[email protected]>
+
+ * smerge-mode.el (smerge-popup-context-menu): Put
+ `unwind-protect' arround `overlay-put' and `popup-menu'.
+
2004-03-16 Masatake YAMATO <[email protected]>
* register.el (register): Provide `register' feature.
diff --git a/lisp/smerge-mode.el b/lisp/smerge-mode.el
index 742de9c2b9..add5d718c2 100644
--- a/lisp/smerge-mode.el
+++ b/lisp/smerge-mode.el
@@ -321,13 +321,15 @@ according to `smerge-match-conflict'.")
(popup-menu smerge-mode-menu)
;; Install overlay.
(setq o (make-overlay (match-beginning i) (match-end i)))
- (overlay-put o 'face 'highlight)
- (sit-for 0)
- (popup-menu (if (smerge-check 2)
- smerge-mode-menu
- smerge-context-menu))
- ;; Delete overlay.
- (delete-overlay o))))
+ (unwind-protect
+ (progn
+ (overlay-put o 'face 'highlight)
+ (sit-for 0)
+ (popup-menu (if (smerge-check 2)
+ smerge-mode-menu
+ smerge-context-menu)))
+ ;; Delete overlay.
+ (delete-overlay o)))))
;; There's no conflict at point, the text-props are just obsolete.
(save-excursion
(let ((beg (re-search-backward smerge-end-re nil t))