diff --git a/lisp/frame.el b/lisp/frame.el index 81af9e963fe..f07a59c78d2 100644 --- a/lisp/frame.el +++ b/lisp/frame.el @@ -1262,6 +1262,9 @@ that variable should be nil." "Display the buffer of the next command in a new frame. The next buffer is the buffer displayed by the next command invoked immediately after this command (ignoring reading from the minibuffer). +In case of multiple consecutive mouse events such as , +a mouse release event , , +all bound commands are handled until one of them displays a buffer. Creates a new frame before displaying the buffer. When `switch-to-buffer-obey-display-actions' is non-nil, `switch-to-buffer' commands are also supported." diff --git a/lisp/tab-bar.el b/lisp/tab-bar.el index 6a86962476e..53da087384d 100644 --- a/lisp/tab-bar.el +++ b/lisp/tab-bar.el @@ -3043,6 +3043,9 @@ files will be visited." "Display the buffer of the next command in a new tab. The next buffer is the buffer displayed by the next command invoked immediately after this command (ignoring reading from the minibuffer). +In case of multiple consecutive mouse events such as , +a mouse release event , , +all bound commands are handled until one of them displays a buffer. Creates a new tab before displaying the buffer, or switches to the tab that already contains that buffer. When `switch-to-buffer-obey-display-actions' is non-nil, diff --git a/lisp/windmove.el b/lisp/windmove.el index 4d122c08158..d69a09f3d1e 100644 --- a/lisp/windmove.el +++ b/lisp/windmove.el @@ -586,6 +586,9 @@ When `switch-to-buffer-obey-display-actions' is non-nil, "Display the next buffer in the window at direction DIR. The next buffer is the buffer displayed by the next command invoked immediately after this command (ignoring reading from the minibuffer). +In case of multiple consecutive mouse events such as , +a mouse release event , , +all bound commands are handled until one of them displays a buffer. Create a new window if there is no window in that direction. By default, select the new window with a displayed buffer. diff --git a/lisp/window.el b/lisp/window.el index 27f26224a2a..e229562163b 100644 --- a/lisp/window.el +++ b/lisp/window.el @@ -4076,6 +4076,9 @@ always effectively nil." "Display the buffer of the next command in a new window. The next buffer is the buffer displayed by the next command invoked immediately after this command (ignoring reading from the minibuffer). +In case of multiple consecutive mouse events such as , +a mouse release event , , +all bound commands are handled until one of them displays a buffer. Creates a new window before displaying the buffer. When `switch-to-buffer-obey-display-actions' is non-nil, `switch-to-buffer' commands are also supported." @@ -4096,6 +4099,9 @@ When `switch-to-buffer-obey-display-actions' is non-nil, "Display the buffer of the next command in the same window. The next buffer is the buffer displayed by the next command invoked immediately after this command (ignoring reading from the minibuffer). +In case of multiple consecutive mouse events such as , +a mouse release event , , +all bound commands are handled until one of them displays a buffer. Even when the default rule should display the buffer in a new window, force its display in the already selected window. When `switch-to-buffer-obey-display-actions' is non-nil, @@ -9673,9 +9679,9 @@ to deactivate this overriding action." ;; But don't remove immediately after ;; adding the hook by the same command below. (eq this-command command) - ;; Don't exit on mouse down event - ;; in anticipation of mouse release event. - (memq 'down (event-modifiers last-input-event))) + ;; Don't exit on mouse events in anticipation + ;; of more related events like double click. + (mouse-event-p last-input-event)) (funcall exitfun)))) ;; Call post-function after the next command finishes (bug#49057). (add-hook 'post-command-hook postfun)