Support for systems without floats was removed a decade ago.
* lisp/loadup.el: Unconditionally load float-sup. * lisp/paren.el (show-paren-delay): * lisp/emacs-lisp/float-sup.el: * lisp/emulation/cua-base.el (cua-prefix-override-inhibit-delay): * lisp/obsolete/lazy-lock.el (lazy-lock-defer-time, lazy-lock-stealth-nice) (lazy-lock-stealth-verbose): Assume float support. * lisp/ps-print.el: Assume float support on Emacs. * lisp/emacs-lisp/timer.el (timer-next-integral-multiple-of-time): Remove non-float branch. * lisp/obsolete/lazy-lock.el: Remove leading `*' from defcustom docs.
This commit is contained in:
parent
2f42e9a286
commit
9a0dd02d20
8 changed files with 50 additions and 74 deletions
|
@ -1,7 +1,7 @@
|
|||
;;; float-sup.el --- define some constants useful for floating point numbers.
|
||||
|
||||
;; Copyright (C) 1985, 1986, 1987, 2001, 2002, 2003, 2004,
|
||||
;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 1985, 1986, 1987, 2001, 2002, 2003, 2004, 2005, 2006,
|
||||
;; 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||
|
||||
;; Maintainer: FSF
|
||||
;; Keywords: internal
|
||||
|
@ -26,15 +26,8 @@
|
|||
|
||||
;;; Code:
|
||||
|
||||
;; Provide a meaningful error message if we are running on
|
||||
;; bare (non-float) emacs.
|
||||
|
||||
(if (fboundp 'atan)
|
||||
nil
|
||||
(error "Floating point was disabled at compile time"))
|
||||
|
||||
;; provide an easy hook to tell if we are running with floats or not.
|
||||
;; define pi and e via math-lib calls. (much less prone to killer typos.)
|
||||
;; Provide an easy hook to tell if we are running with floats or not.
|
||||
;; Define pi and e via math-lib calls (much less prone to killer typos).
|
||||
(defconst float-pi (* 4 (atan 1)) "The value of Pi (3.1415926...).")
|
||||
(defconst pi float-pi "Obsolete since Emacs-23.3. Use `float-pi' instead.")
|
||||
|
||||
|
@ -45,7 +38,7 @@
|
|||
(defconst radians-to-degrees (/ 180.0 float-pi)
|
||||
"Radian to degree conversion constant.")
|
||||
|
||||
;; these expand to a single multiply by a float when byte compiled
|
||||
;; These expand to a single multiply by a float when byte compiled.
|
||||
|
||||
(defmacro degrees-to-radians (x)
|
||||
"Convert X from degrees to radians."
|
||||
|
@ -56,5 +49,4 @@
|
|||
|
||||
(provide 'lisp-float-type)
|
||||
|
||||
;; arch-tag: e7837072-a4af-4d08-9953-8a3e755abf9d
|
||||
;;; float-sup.el ends here
|
||||
|
|
|
@ -93,31 +93,20 @@ fire each time Emacs is idle for that many seconds."
|
|||
More precisely, the next value, after TIME, that is an integral multiple
|
||||
of SECS seconds since the epoch. SECS may be a fraction."
|
||||
(let ((time-base (ash 1 16)))
|
||||
(if (fboundp 'atan)
|
||||
;; Use floating point, taking care to not lose precision.
|
||||
(let* ((float-time-base (float time-base))
|
||||
(million 1000000.0)
|
||||
(time-usec (+ (* million
|
||||
(+ (* float-time-base (nth 0 time))
|
||||
(nth 1 time)))
|
||||
(nth 2 time)))
|
||||
(secs-usec (* million secs))
|
||||
(mod-usec (mod time-usec secs-usec))
|
||||
(next-usec (+ (- time-usec mod-usec) secs-usec))
|
||||
(time-base-million (* float-time-base million)))
|
||||
(list (floor next-usec time-base-million)
|
||||
(floor (mod next-usec time-base-million) million)
|
||||
(floor (mod next-usec million))))
|
||||
;; Floating point is not supported.
|
||||
;; Use integer arithmetic, avoiding overflow if possible.
|
||||
(let* ((mod-sec (mod (+ (* (mod time-base secs)
|
||||
(mod (nth 0 time) secs))
|
||||
(nth 1 time))
|
||||
secs))
|
||||
(next-1-sec (+ (- (nth 1 time) mod-sec) secs)))
|
||||
(list (+ (nth 0 time) (floor next-1-sec time-base))
|
||||
(mod next-1-sec time-base)
|
||||
0)))))
|
||||
;; Use floating point, taking care to not lose precision.
|
||||
(let* ((float-time-base (float time-base))
|
||||
(million 1000000.0)
|
||||
(time-usec (+ (* million
|
||||
(+ (* float-time-base (nth 0 time))
|
||||
(nth 1 time)))
|
||||
(nth 2 time)))
|
||||
(secs-usec (* million secs))
|
||||
(mod-usec (mod time-usec secs-usec))
|
||||
(next-usec (+ (- time-usec mod-usec) secs-usec))
|
||||
(time-base-million (* float-time-base million)))
|
||||
(list (floor next-usec time-base-million)
|
||||
(floor (mod next-usec time-base-million) million)
|
||||
(floor (mod next-usec million))))))
|
||||
|
||||
(defun timer-relative-time (time secs &optional usecs)
|
||||
"Advance TIME by SECS seconds and optionally USECS microseconds.
|
||||
|
@ -543,5 +532,4 @@ If the user does not answer after SECONDS seconds, return DEFAULT-VALUE."
|
|||
|
||||
(provide 'timer)
|
||||
|
||||
;; arch-tag: b1a9237b-7787-4382-9e46-8f2c3b3273e0
|
||||
;;; timer.el ends here
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue