(provide (quote sun-fns)) (require (quote sun-mouse)) (defconst cursor-pause-milliseconds 300 "\ *Number of milliseconds to display alternate cursor (usually the mark)") (defun indicate-region (&optional pause) "\ Bounce cursor to mark for cursor-pause-milliseconds and back again" (byte-code "† ‰ˆ`à bˆÄ!ˆ b)‡" [pause cursor-pause-milliseconds point mark sit-for-millisecs] 3)) (defun mouse-move-point (window x y) "\ Move point to mouse cursor." (byte-code "Å!ˆÆ \"ˆÇ>… ȉ‡" [window x y last-command this-command select-window move-to-loc (mouse-copy mouse-delete mouse-yank-move) mouse-yank-move] 4)) (defun mouse-set-mark (window x y) "\ Set mark at mouse cursor." (byte-code "Å ÆŽÇ !ˆ`È\"ˆÉ`!ˆ bˆÊ )))‡" [OriginallySelectedWindow window point x y selected-window ((byte-code "Á!‡" [OriginallySelectedWindow select-window] 2)) select-window move-to-loc set-mark indicate-region] 6)) (defun mouse-set-mark-and-select (window x y) "\ Set mark at mouse cursor, and select that window." (byte-code "Ã!ˆÄ #‡" [window x y select-window mouse-set-mark] 5)) (defun mouse-set-mark-and-stuff (w x y) "\ Set mark at mouse cursor, and put region in stuff buffer." (byte-code "à #ˆÄÅ Æ \"‡" [w x y mouse-set-mark-and-select sun-select-region region-beginning region-end] 6)) (defvar *mouse-drag-window* nil) (defvar *mouse-drag-x* -1) (defvar *mouse-drag-y* -1) (defun mouse-drag-move-point (window x y) "\ Move point to mouse cursor, and allow dragging." (byte-code "Æ #ˆ ‰‡" [window x y *mouse-drag-window* *mouse-drag-x* *mouse-drag-y* mouse-move-point] 4)) (defun mouse-drag-set-mark-stuff (window x y) "\ The up click handler that goes with mouse-drag-move-point. If mouse is in same WINDOW but at different X or Y than when mouse-drag-move-point was last executed, set the mark at mouse and put the region in the stuff buffer." (byte-code " =… È \"… È \"?ƒ É #‚\"