"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)
(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)))
(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