diff options
author | Jim Blandy <jimb@redhat.com> | 1993-03-02 07:29:05 +0000 |
---|---|---|
committer | Jim Blandy <jimb@redhat.com> | 1993-03-02 07:29:05 +0000 |
commit | 5ba2dc3fd34c9f903816f277e08d7df061fa4c8d (patch) | |
tree | a5580c11f3fdc1ed620cc166aac2e092e7f79842 /lisp/mouse.el | |
parent | 44c327f9596f64d9f3589df17347e06887f90dd1 (diff) | |
download | emacs-5ba2dc3fd34c9f903816f277e08d7df061fa4c8d.tar.gz |
* mouse.el (mouse-split-window-vertically): If the user clicks too
close to the top or bottom of a window, split at the closest
reasonable line. Give a helpful error message if the window is
too small to be split anywhere.
(mouse-split-window-horizontally): Similar changes.
Diffstat (limited to 'lisp/mouse.el')
-rw-r--r-- | lisp/mouse.el | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/lisp/mouse.el b/lisp/mouse.el index 7994db2a92d..6285624f03a 100644 --- a/lisp/mouse.el +++ b/lisp/mouse.el @@ -107,14 +107,28 @@ This command must be bound to a mouse click." (interactive "@e") (let ((start (event-start click))) (select-window (posn-window start)) - (split-window-vertically (1+ (cdr (posn-col-row click)))))) + (let ((new-height (1+ (cdr (posn-col-row (event-end click))))) + (first-line window-min-height) + (last-line (- (window-height) window-min-height))) + (if (< last-line first-line) + (error "window too short to split") + (split-window-vertically + (min (max new-height first-line) last-line)))))) (defun mouse-split-window-horizontally (click) "Select Emacs window mouse is on, then split it horizontally in half. The window is split at the column clicked on. This command must be bound to a mouse click." (interactive "@e") - (split-window-horizontally (1+ (car (posn-col-row (event-end click)))))) + (let ((start (event-start click))) + (select-window (posn-window start)) + (let ((new-width (1+ (car (posn-col-row (event-end click))))) + (first-col window-min-width) + (last-col (- (window-width) window-min-width))) + (if (< last-col first-col) + (error "window too narrow to split") + (split-window-horizontally + (min (max new-width first-col) last-col)))))) (defun mouse-set-point (click) "Move point to the position clicked on with the mouse. @@ -240,7 +254,7 @@ and selects that window." (select-window window) (switch-to-buffer buf)))))) -;;; These need to be rewritten for the new scrollbar implementation. +;;; These need to be rewritten for the new scroll bar implementation. ;;;!! ;; Commands for the scroll bar. ;;;!! @@ -482,7 +496,7 @@ and selects that window." ;;;!! ;;; (define-key doubleclick-test-map mouse-button-left-up 'double-up)) ;;;!! ;;;!! ;; -;;;!! ;; This scrolls while button is depressed. Use preferable in scrollbar. +;;;!! ;; This scrolls while button is depressed. Use preferable in scroll bar. ;;;!! ;; ;;;!! ;;;!! (defvar scrolled-lines 0) |