GNU bug report logs - #70311
Crash when dnd-indicate-insertion-point is non-nil

Previous Next

Package: emacs;

Reported by: Greg Sexton <gregsexton <at> gmail.com>

Date: Tue, 9 Apr 2024 15:00:02 UTC

Severity: normal

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Po Lu <luangruo <at> yahoo.com>
Cc: 70311 <at> debbugs.gnu.org, gregsexton <at> gmail.com
Subject: bug#70311: Crash when dnd-indicate-insertion-point is non-nil
Date: Sat, 13 Apr 2024 19:00:57 +0300
> From: Po Lu <luangruo <at> yahoo.com>
> Cc: gregsexton <at> gmail.com,  70311 <at> debbugs.gnu.org
> Date: Sat, 13 Apr 2024 20:28:14 +0800
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> > So you think the suggested band-aid is the best we can currently do to
> > prevent crashes in those cases?
> 
> Yes, unfortunately.

Does the band-aid below look OK to you?

diff --git a/lisp/dnd.el b/lisp/dnd.el
index 89652d3..de1c58a 100644
--- a/lisp/dnd.el
+++ b/lisp/dnd.el
@@ -149,8 +149,13 @@ dnd-handle-movement
                 (with-selected-window window
                   (scroll-down 1))))))))
       (when dnd-indicate-insertion-point
-        (ignore-errors
-          (goto-char (posn-point posn)))))))
+        (let ((pos (posn-point posn)))
+          ;; We avoid errors here, since on some systems this runs
+          ;; when waiting_for_input is non-zero, and that aborts on
+          ;; error.
+          (if (and pos (<= (point-min) pos (point-max)))
+              (goto-char pos)
+            pos))))))
 
 (defun dnd-handle-one-url (window action url)
   "Handle one dropped url by calling the appropriate handler.




This bug report was last modified 1 year and 94 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.