;;;-*- Mode:LISP; Package:ZWEI; Base:10; Readtable:CL -*- (DEFPROP COM-MOUSE-COPY-THING "Copy from mouse to point" :MOUSE-SHORT-DOCUMENTATION) (DEFCOM COM-MOUSE-COPY-THING "Insert a copy of what's under the mouse at point" (KM) (WITH-BP (INSERTION-POINT (POINT) :NORMAL) (OR (MULTIPLE-VALUE-BIND (CHAR-UNDER-MOUSE NIL NIL LINE POS) (MOUSE-CHAR *WINDOW* NIL) (WHEN CHAR-UNDER-MOUSE ;; Move to where the thing is, mark it, and save it on the kill ring. (MOVE-BP (POINT) LINE POS) (FUNCALL (OR (CALL-EDITING-TYPE-FUNCTION *MAJOR-MODE* 'MARK-THING-FUNCTION NIL) #'DEFAULT-MARK-THING) (POINT) (MARK) CHAR-UNDER-MOUSE LINE POS) (KILL-RING-SAVE-INTERVAL (POINT) (MARK)) ;; Move back to the insertion point, and yank. (MOVE-BP (POINT) INSERTION-POINT) (COM-YANK) DIS-TEXT)) DIS-NONE))) ;;;; Edit history for HUNLA:L;ZWEI-MISC.LISP.1 ;;; ;;; [10/27/88 03:30 CStacy] Function COM-MOUSE-COPY-THING: for quickly pointing-and-copying.