Mercurial > emacs
changeset 1980:263033210413
* 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.
author | Jim Blandy <jimb@redhat.com> |
---|---|
date | Tue, 02 Mar 1993 07:29:05 +0000 |
parents | 0582c70595f1 |
children | bde0ca7e33b3 |
files | lisp/mouse.el |
diffstat | 1 files changed, 18 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/mouse.el Tue Mar 02 07:27:17 1993 +0000 +++ b/lisp/mouse.el Tue Mar 02 07:29:05 1993 +0000 @@ -107,14 +107,28 @@ (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 @@ (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 @@ ;;;!! ;;; (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)