X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Fmouse.el;h=9cdab7bf3280b932804657128ed427a5696e4e0c;hb=4e344277e13cd8813592afc6b0bfb89474f0cbb0;hp=c42c8aa2f06c56541d95ca2bfca2129483f1600b;hpb=113b194be934327de99a168d809271db252c07c4;p=chise%2Fxemacs-chise.git- diff --git a/lisp/mouse.el b/lisp/mouse.el index c42c8aa..9cdab7b 100644 --- a/lisp/mouse.el +++ b/lisp/mouse.el @@ -84,10 +84,13 @@ If set to `symbol', double-click will always attempt to highlight a "Function that is called upon by `mouse-yank' to actually insert text.") (defun mouse-consolidated-yank () - "Insert the current selection or, if there is none under X insert the X cutbuffer. -A mark is pushed, so that the inserted text lies between point and mark." + "Insert the current selection or, if there is none under X insert +the X cutbuffer. A mark is pushed, so that the inserted text lies +between point and mark." (interactive) - (if (not (console-on-window-system-p)) + (if (and (not (console-on-window-system-p)) + (and (featurep 'gpm) + (not gpm-minor-mode))) (yank) (push-mark) (if (region-active-p) @@ -114,11 +117,14 @@ A mark is pushed, so that the inserted text lies between point and mark." (defun insert-selection (&optional check-cutbuffer-p move-point-event) "Insert the current selection into buffer at point." (interactive "P") + ;; we fallback to the clipboard if the current selection is not existent (let ((text (if check-cutbuffer-p - (or (condition-case () (get-selection) (error ())) + (or (get-selection-no-error) (get-cutbuffer) - (error "No selection or cut buffer available")) - (get-selection)))) + (get-selection-no-error 'CLIPBOARD) + (error "No selection, clipboard or cut buffer available")) + (or (get-selection-no-error) + (get-selection 'CLIPBOARD))))) (cond (move-point-event (mouse-set-point move-point-event) (push-mark (point))) @@ -222,9 +228,10 @@ This functions has to be improved. Currently it is just a (working) test." (if (click-inside-extent-p event zmacs-region-extent) ;; okay, this is a drag (cond ((featurep 'offix) - (offix-start-drag-region event - (extent-start-position zmacs-region-extent) - (extent-end-position zmacs-region-extent))) + (offix-start-drag-region + event + (extent-start-position zmacs-region-extent) + (extent-end-position zmacs-region-extent))) ((featurep 'cde) ;; should also work with CDE (cde-start-drag-region event @@ -1376,7 +1383,7 @@ and `mode-motion-hook'." ;; vars is a list of glyph variables to check for a pointer ;; value. (vars (cond - ;; Checking if button is non-nil is not sufficent + ;; Checking if button is non-nil is not sufficient ;; since the pointer could be over a blank portion ;; of the toolbar. ((event-over-toolbar-p event) @@ -1518,10 +1525,10 @@ other mouse buttons." (setq last-timestamp (event-timestamp event)) ;; Enlarge the window, calculating change in characters ;; of default font. Do not let the window to become - ;; less than alolwed minimum (not because that's critical + ;; less than allowed minimum (not because that's critical ;; for the code performance, just the visual effect is ;; better: when cursor goes to the left of the next left - ;; divider, the vindow being resized shrinks to minimal + ;; divider, the window being resized shrinks to minimal ;; size. (enlarge-window (max (- window-min-width (window-width window)) (/ (- (event-x-pixel event) old-right) @@ -1531,7 +1538,7 @@ other mouse buttons." ;; if the change caused more than two windows to resize ;; (shifting the whole stack right is ugly), or if the ;; left window side has slipped (right side cannot be - ;; moved any funrther to the right, so enlarge-window + ;; moved any further to the right, so enlarge-window ;; plays bad games with the left edge. (if (or (/= (count-windows) (length old-edges-all-windows)) (/= old-left (car (window-pixel-edges window)))