I noticed that this has something to do with the "raise on click"
setting in Compiz. If it's enabled, I can get this error. If it's not
enabled, no error.
And here's a better stack trace:
# bind (standard-output stack-trace-on-signal debug-on-signal stack-
trace-on-error debug-on-error)
# (unwind-protect ...)
signal(error ("Selection aborted"))
# bind (args datum)
cerror("Selection aborted")
apply(cerror "Selection aborted" nil)
# bind (args datum)
error("Selection aborted")
(cond ((motion-event-p event) (if (and (not mouse-moved) (or (> (abs
(- (event-x-pixel event) orig-x)) xthresh) (> (abs (- (event-y-pixel
event) orig-y)) ythresh))) (setq mouse-moved t)) (if mouse-moved (mouse-
track-run-hook (quote mouse-track-drag-hook) overriding-hooks event
mouse-track-click-count nil)) (mouse-track-set-timeout event)) ((and
(timeout-event-p event) (eq (event-function event) (quote mouse-track-
scroll-undefined))) (if mouse-moved (mouse-track-run-hook (quote mouse-
track-drag-hook) overriding-hooks (event-object event) mouse-track-
click-count t)) (mouse-track-set-timeout (event-object event)))
((button-release-event-p event) (setq mouse-track-up-time (event-
timestamp event)) (setq mouse-track-up-x (event-x-pixel event)) (setq
mouse-track-up-y (event-y-pixel event)) (setq mouse-down nil) (mouse-
track-run-hook (quote mouse-track-up-hook) overriding-hooks event mouse-
track-click-count) (if mouse-moved (mouse-track-run-hook (quote mouse-
track-drag-up-hook) overriding-hooks event mouse-track-click-count)
(mouse-track-run-hook (quote mouse-track-click-hook) overriding-hooks
event mouse-track-click-count))) ((or (key-press-event-p event) (and
(misc-user-event-p event) (eq (event-function event) (quote cancel-mode-
internal)))) (setq mdk-event event) (setq mdk-orig-event orig-event)
(error "Selection aborted")) (t (dispatch-event event)))
(while mouse-down (setq event (next-event event)) (cond ((motion-
event-p event) (if (and (not mouse-moved) (or (> (abs (- (event-x-pixel
event) orig-x)) xthresh) (> (abs (- (event-y-pixel event) orig-y))
ythresh))) (setq mouse-moved t)) (if mouse-moved (mouse-track-run-hook
(quote mouse-track-drag-hook) overriding-hooks event mouse-track-click-
count nil)) (mouse-track-set-timeout event)) ((and (timeout-event-p
event) (eq (event-function event) (quote mouse-track-scroll-undefined)))
(if mouse-moved (mouse-track-run-hook (quote mouse-track-drag-hook)
overriding-hooks (event-object event) mouse-track-click-count t))
(mouse-track-set-timeout (event-object event))) ((button-release-event-p
event) (setq mouse-track-up-time (event-timestamp event)) (setq mouse-
track-up-x (event-x-pixel event)) (setq mouse-track-up-y (event-y-pixel
event)) (setq mouse-down nil) (mouse-track-run-hook (quote mouse-track-
up-hook) overriding-hooks event mouse-track-click-count) (if mouse-moved
(mouse-track-run-hook (quote mouse-track-drag-up-hook) overriding-hooks
event mouse-track-click-count) (mouse-track-run-hook (quote mouse-track-
click-hook) overriding-hooks event mouse-track-click-count))) ((or (key-
press-event-p event) (and (misc-user-event-p event) (eq (event-function
event) (quote cancel-mode-internal)))) (setq mdk-event event) (setq mdk-
orig-event orig-event) (error "Selection aborted")) (t (dispatch-event
event))))
# (unwind-protect ...)
(unwind-protect (while mouse-down (setq event (next-event event))
(cond ((motion-event-p event) (if (and (not mouse-moved) (or (> (abs (-
(event-x-pixel event) orig-x)) xthresh) (> (abs (- (event-y-pixel event)
orig-y)) ythresh))) (setq mouse-moved t)) (if mouse-moved (mouse-track-
run-hook (quote mouse-track-drag-hook) overriding-hooks event mouse-
track-click-count nil)) (mouse-track-set-timeout event)) ((and (timeout-
event-p event) (eq (event-function event) (quote mouse-track-scroll-
undefined))) (if mouse-moved (mouse-track-run-hook (quote mouse-track-
drag-hook) overriding-hooks (event-object event) mouse-track-click-count
t)) (mouse-track-set-timeout (event-object event))) ((button-release-
event-p event) (setq mouse-track-up-time (event-timestamp event)) (setq
mouse-track-up-x (event-x-pixel event)) (setq mouse-track-up-y (event-y-
pixel event)) (setq mouse-down nil) (mouse-track-run-hook (quote mouse-
track-up-hook) overriding-hooks event mouse-track-click-count) (if
mouse-moved (mouse-track-run-hook (quote mouse-track-drag-up-hook)
overriding-hooks event mouse-track-click-count) (mouse-track-run-hook
(quote mouse-track-click-hook) overriding-hooks event mouse-track-click-
count))) ((or (key-press-event-p event) (and (misc-user-event-p event)
(eq (event-function event) (quote cancel-mode-internal)))) (setq mdk-
event event) (setq mdk-orig-event orig-event) (error "Selection
aborted")) (t (dispatch-event event)))) (if mouse-track-timeout-id
(disable-timeout mouse-track-timeout-id)) (setq mouse-track-timeout-id
nil) (and (buffer-live-p buffer) (save-excursion (set-buffer buffer)
(let ((override (plist-get overriding-hooks (quote mouse-track-cleanup-
hook) Mouse-track-gensym))) (if (not (eq override Mouse-track-gensym))
(if (and (listp override) (not (eq (car override) (quote lambda))))
(mapc (function funcall) override) (funcall override)) (run-hooks (quote
mouse-track-cleanup-hook)))))))
# bind (mouse-moved orig-event mouse-grabbed-buffer buffer orig-y
orig-x ythresh xthresh mouse-down)
(let ((mouse-down t) (xthresh (eval mouse-track-x-threshold)) (ythresh
(eval mouse-track-y-threshold)) (orig-x (event-x-pixel event)) (orig-y
(event-y-pixel event)) (buffer (event-buffer event)) (mouse-grabbed-
buffer (event-buffer event)) (orig-event event) mouse-moved) (if (or
(not mouse-track-up-x) (not mouse-track-up-y) (not mouse-track-up-time)
(> (- (event-timestamp event) mouse-track-up-time) mouse-track-multi-
click-time) (> (abs (- mouse-track-up-x orig-x)) xthresh) (> (abs (-
mouse-track-up-y orig-y)) ythresh)) (setq mouse-track-click-count 1)
(setq mouse-track-click-count (1+ mouse-track-click-count))) (if (not
(event-window event)) (error "Not over a window.")) (mouse-track-run-
hook (quote mouse-track-down-hook) overriding-hooks event mouse-track-
click-count) (unwind-protect (while mouse-down (setq event (next-event
event)) (cond ((motion-event-p event) (if (and (not mouse-moved) (or (>
(abs (- (event-x-pixel event) orig-x)) xthresh) (> (abs (- (event-y-
pixel event) orig-y)) ythresh))) (setq mouse-moved t)) (if mouse-moved
(mouse-track-run-hook (quote mouse-track-drag-hook) overriding-hooks
event mouse-track-click-count nil)) (mouse-track-set-timeout event))
((and (timeout-event-p event) (eq (event-function event) (quote mouse-
track-scroll-undefined))) (if mouse-moved (mouse-track-run-hook (quote
mouse-track-drag-hook) overriding-hooks (event-object event) mouse-
track-click-count t)) (mouse-track-set-timeout (event-object event)))
((button-release-event-p event) (setq mouse-track-up-time (event-
timestamp event)) (setq mouse-track-up-x (event-x-pixel event)) (setq
mouse-track-up-y (event-y-pixel event)) (setq mouse-down nil) (mouse-
track-run-hook (quote mouse-track-up-hook) overriding-hooks event mouse-
track-click-count) (if mouse-moved (mouse-track-run-hook (quote mouse-
track-drag-up-hook) overriding-hooks event mouse-track-click-count)
(mouse-track-run-hook (quote mouse-track-click-hook) overriding-hooks
event mouse-track-click-count))) ((or (key-press-event-p event) (and
(misc-user-event-p event) (eq (event-function event) (quote cancel-mode-
internal)))) (setq mdk-event event) (setq mdk-orig-event orig-event)
(error "Selection aborted")) (t (dispatch-event event)))) (if mouse-
track-timeout-id (disable-timeout mouse-track-timeout-id)) (setq mouse-
track-timeout-id nil) (and (buffer-live-p buffer) (save-excursion (set-
buffer buffer) (let ((override (plist-get overriding-hooks (quote mouse-
track-cleanup-hook) Mouse-track-gensym))) (if (not (eq override Mouse-
track-gensym)) (if (and (listp override) (not (eq (car override) (quote
lambda)))) (mapc (function funcall) override) (funcall override)) (run-
hooks (quote mouse-track-cleanup-hook))))))))
# bind (overriding-hooks event)
mouse-track(#<keypress-event F 0x9b7b>)
# bind (command-debug-status)
call-interactively(mouse-track)
(dispatch-event "[internal]")
# (condition-case ... . error)
# (catch top-level ...)
Ignore the references to mdk-event and mdk-orig-event. I added those to
mouse-track so that I could see if there was a pattern to the events
that trigger the error. The only thing I've noticed is that they're
always keypress events. |