(xt-mouse-epoch): New variable.
authorNick Roberts <nickrob@snap.net.nz>
Wed, 21 Mar 2007 20:41:23 +0000 (20:41 +0000)
committerNick Roberts <nickrob@snap.net.nz>
Wed, 21 Mar 2007 20:41:23 +0000 (20:41 +0000)
(xterm-mouse-event): Use float-time.

lisp/xt-mouse.el

index 39333f7..f4634a7 100644 (file)
 (defvar xterm-mouse-y 0
   "Position of last xterm mouse event relative to the frame.")
 
+(defvar xt-mouse-epoch nil)
+
 ;; Indicator for the xterm-mouse mode.
 
 (defun xterm-mouse-position-function (pos)
         (x (- (xterm-mouse-event-read) #o40 1))
         (y (- (xterm-mouse-event-read) #o40 1))
         (time (current-time))
-        (timestamp (+ ( * (nth 1 time) 1000 ) (/ (nth 2 time) 1000)))
+        (timestamp (truncate
+                    (* 1000
+                       (- (float-time)
+                          (or xt-mouse-epoch
+                              (setq xt-mouse-epoch (float-time)))))))
         (mouse (intern
                 ;; For buttons > 3, the release-event looks
                 ;; differently (see xc/programs/xterm/button.c,