X-Git-Url: http://cgit.sxemacs.org/?p=riece;a=blobdiff_plain;f=lisp%2Friece-emacs.el;h=6f5eca6019e493b2f25e6408fbea4438f71f03bb;hp=0addfbdb0ef4e9e75f32308360b9f34f5ef0587a;hb=07d7e3a88eaabf09e961ce73a2da5d581dd35354;hpb=9f0f8e8f7c1fefd0ae6712872f9dcb78ae3ea11c diff --git a/lisp/riece-emacs.el b/lisp/riece-emacs.el index 0addfbd..6f5eca6 100644 --- a/lisp/riece-emacs.el +++ b/lisp/riece-emacs.el @@ -28,7 +28,6 @@ 'set-case-syntax-pair) ;;; stolen (and renamed) from gnus-ems.el. - ;;; In GNU Emacs, user can intercept whole mouse tracking events by ;;; assigning [mouse-X]. In XEmacs, however, which causes different ;;; effect, that is, the command assigned to [mouse-X] only catches @@ -53,12 +52,30 @@ function))))) (defun riece-popup-menu-popup (menu event) - (let ((function (riece-popup-menu-bogus-filter-constructor menu)) - (pos (event-start event))) - (when (symbolp function) - (select-window (posn-window pos)) - (goto-char (posn-point pos)) - (funcall function)))) + (let ((function (riece-popup-menu-bogus-filter-constructor menu))) + (if function + (funcall function)))) + +(defun riece-event-buffer (event) + "Return the buffer of the window over which mouse event EVENT occurred." + (window-buffer (posn-window (event-start event)))) + +(defun riece-event-point (event) + "Return the character position of the mouse event EVENT." + (posn-point (event-start event))) + +;;; stolen (and renamed) from gnus-ems.el. +(defun riece-region-active-p () + "Say whether the region is active." + (and (boundp 'transient-mark-mode) + transient-mark-mode + (boundp 'mark-active) + mark-active)) + +(defalias 'riece-make-overlay 'make-overlay) +(defalias 'riece-overlay-put 'overlay-put) +(defalias 'riece-overlay-start 'overlay-start) +(defalias 'riece-overlay-buffer 'overlay-buffer) (provide 'riece-emacs)