diff options
-rw-r--r-- | lisp/ChangeLog | 5 | ||||
-rw-r--r-- | lisp/smerge-mode.el | 16 |
2 files changed, 14 insertions, 7 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2db90ad37a7..d36c88ede92 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2004-03-17 Masatake YAMATO <jet@gyve.org> + + * smerge-mode.el (smerge-popup-context-menu): Put + `unwind-protect' arround `overlay-put' and `popup-menu'. + 2004-03-16 Masatake YAMATO <jet@gyve.org> * register.el (register): Provide `register' feature. diff --git a/lisp/smerge-mode.el b/lisp/smerge-mode.el index 742de9c2b96..add5d718c25 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)) |