;;; type-break.el --- encourage rests from typing at appropriate intervals -*- lexical-binding: t -*-
-;; Copyright (C) 1994-1995, 1997, 2000-2013 Free Software Foundation,
+;; Copyright (C) 1994-1995, 1997, 2000-2015 Free Software Foundation,
;; Inc.
;; Author: Noah Friedman
(locate-user-emacs-file "type-break" ".type-break")
"Name of file used to save state across sessions.
If this is nil, no data will be saved across sessions."
+ :version "24.4" ; added locate-user
:type 'file)
(defvar type-break-post-command-hook '(type-break-check)
(type-break-time-warning-schedule time 'reset)
(type-break-run-at-time (max 1 time) nil 'type-break-alarm)
(setq type-break-time-next-break
- (type-break-time-sum (or start (current-time))
- (or interval time))))
+ (type-break-time-sum start (or interval time))))
(defun type-break-cancel-schedule ()
(type-break-cancel-time-warning-schedule)
(defun type-break-time-difference (a b)
(round (float-time (time-subtract b a))))
-;; Return (in a new list the same in structure to that returned by
-;; `current-time') the sum of the arguments. Each argument may be a time
-;; list or a single integer, a number of seconds.
-;; This function keeps the high and low 16 bits of the seconds properly
-;; balanced so that the lower value never exceeds 16 bits. Otherwise, when
-;; the result is passed to `current-time-string' it will toss some of the
-;; "low" bits and format the time incorrectly.
+;; Return a time value that is the sum of the time-value arguments.
(defun type-break-time-sum (&rest tmlist)
- (let ((sum '(0 0 0)))
+ (let ((sum '(0 0)))
(dolist (tem tmlist)
- (setq sum (time-add sum (if (integerp tem)
- (list (floor tem 65536) (mod tem 65536))
- tem))))
+ (setq sum (time-add sum tem)))
sum))
(defun type-break-time-stamp (&optional when)