From: Alan Mackenzie Date: Sun, 13 Oct 2019 13:15:35 +0000 (+0000) Subject: In compilation-tear-down-arrow-spec-in-margin, test compilation-arrow-overlay X-Git-Tag: emacs-27.0.90~1106 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9946defe21f2f9b902e5eb86e31aca710e369db1;p=emacs.git In compilation-tear-down-arrow-spec-in-margin, test compilation-arrow-overlay * lisp/progmodes/compile.el (compilation-tear-down-arrow-spec-in-margin): Make sure compilation-arrow-overlay is an overlay before performing overlay operations on it. This fixes bug #37733. --- diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 505e0917dcb..7d7a1b99d97 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -2670,10 +2670,11 @@ Actual value is never used, only the text property.") (defun compilation-tear-down-arrow-spec-in-margin () "Restore compilation-arrow-overlay to not using the margin, which is removed." - (overlay-put compilation-arrow-overlay 'before-string nil) - (delete-overlay compilation-arrow-overlay) - (setq compilation-arrow-overlay nil) - (set-window-margins (selected-window) (- (car (window-margins)) 2))) + (when (overlayp compilation-arrow-overlay) + (overlay-put compilation-arrow-overlay 'before-string nil) + (delete-overlay compilation-arrow-overlay) + (setq compilation-arrow-overlay nil) + (set-window-margins (selected-window) (- (car (window-margins)) 2)))) (defun compilation-set-overlay-arrow (w) "Set up, or switch off, the overlay-arrow for window W."