Make xterm-mouse-truncate-wrap obsolete

* lisp/xt-mouse.el (xterm-mouse-truncate-wrap): Now obsolete,
since we no longer need to worry about integer overflow.
(xterm-mouse-event): Use plain ‘truncate’ instead.
This commit is contained in:
Paul Eggert 2019-02-12 15:20:40 -08:00
parent 5abaf16ab4
commit e05ea0ea31

View file

@ -123,20 +123,7 @@ http://invisible-island.net/xterm/ctlseqs/ctlseqs.html)."
(terminal-parameter nil 'xterm-mouse-y))))
pos)
(defun xterm-mouse-truncate-wrap (f)
"Truncate with wrap-around."
(condition-case nil
;; First try the built-in truncate, in case there's no overflow.
(truncate f)
;; In case of overflow, do wraparound by hand.
(range-error
;; In our case, we wrap around every 3 days or so, so if we assume
;; a maximum of 65536 wraparounds, we're safe for a couple years.
;; Using a power of 2 makes rounding errors less likely.
(let* ((maxwrap (* 65536 2048))
(dbig (truncate (/ f maxwrap)))
(fdiff (- f (* 1.0 maxwrap dbig))))
(+ (truncate fdiff) (* maxwrap dbig))))))
(define-obsolete-function-alias 'xterm-mouse-truncate-wrap 'truncate "27.1")
(defcustom xterm-mouse-utf-8 nil
"Non-nil if UTF-8 coordinates should be used to read mouse coordinates.
@ -256,7 +243,7 @@ which is the \"1006\" extension implemented in Xterm >= 277."
(y (nth 2 click))
;; Emulate timestamp information. This is accurate enough
;; for default value of mouse-1-click-follows-link (450msec).
(timestamp (xterm-mouse-truncate-wrap
(timestamp (truncate
(* 1000
(- (float-time)
(or xt-mouse-epoch
@ -266,8 +253,8 @@ which is the \"1006\" extension implemented in Xterm >= 277."
(left (nth 0 ltrb))
(top (nth 1 ltrb))
(posn (if w
(posn-at-x-y (- x left) (- y top) w t)
(append (list nil 'menu-bar)
(posn-at-x-y (- x left) (- y top) w t)
(append (list nil 'menu-bar)
(nthcdr 2 (posn-at-x-y x y)))))
(event (list type posn)))
(setcar (nthcdr 3 posn) timestamp)