ocaml/emacs/caml-xemacs.el

56 lines
2.1 KiB
EmacsLisp

;(***********************************************************************)
;(* *)
;(* OCaml *)
;(* *)
;(* Didier Remy, projet Cristal, INRIA Rocquencourt *)
;(* *)
;(* Copyright 2003 Institut National de Recherche en Informatique et *)
;(* en Automatique. All rights reserved. This file is distributed *)
;(* under the terms of the GNU General Public License. *)
;(* *)
;(***********************************************************************)
(require 'overlay)
;; for caml-help.el
(defun caml-info-other-window (arg)
(save-excursion (info arg))
(view-buffer-other-window "*info*"))
;; for caml-types.el
(defun caml-line-beginning-position ()
(save-excursion (beginning-of-line) (point)))
(defalias 'caml-read-event 'next-event)
(defalias 'caml-window-edges 'window-pixel-edges)
(defun caml-mouse-vertical-position ()
(let ((e (mouse-position-as-motion-event)))
(and e (event-y-pixel e))))
(defalias 'caml-mouse-movement-p 'motion-event-p)
(defun caml-event-window (e)
(and (mouse-event-p e) (event-window e)))
(defun caml-event-point-start (e) (event-closest-point e))
(defun caml-event-point-end (e) (event-closest-point e))
(defun caml-ignore-event-p (e)
(if (and (key-press-event-p e) (equal (key-binding e) 'keyboard-quit))
(keyboard-quit))
(not (mouse-event-p e)))
(defun caml-sit-for (sec &optional mili)
(sit-for (+ sec (if mili (* 0.001 mili) 0))))
(defmacro caml-track-mouse (&rest body) (cons 'progn body))
(defun caml-release-event-p (original event)
(and (button-release-event-p event)
(equal (event-button original) (event-button event))))
(if (fboundp 'string-to-number)
(defalias 'caml-string-to-int 'string-to-number)
(defalias 'caml-string-to-int 'string-to-int))
(provide 'caml-xemacs)