Commit 2c8155f7 authored by Stefan Monnier's avatar Stefan Monnier
Browse files

(type-break-emacs-variant): Remove.

(type-break-run-at-time, type-break-cancel-function-timers):
Use fboundp rather than version name and number.
parent 6eced09c
2004-03-09 Stefan Monnier <monnier@iro.umontreal.ca>
* type-break.el (type-break-emacs-variant): Remove.
(type-break-run-at-time, type-break-cancel-function-timers):
Use fboundp rather than version name and number.
2004-03-09 Masatake YAMATO <jet@gyve.org>
* hexl.el (hexl-mode): Use `make-local-variable' instead of
* hexl.el (hexl-mode): Use `make-local-variable' instead of
`make-variable-buffer-local'.
2004-03-08 Michael Albinus <Michael.Albinus@alcatel.de>
......
;;; type-break.el --- encourage rests from typing at appropriate intervals
;; Copyright (C) 1994, 95, 97, 2000 Free Software Foundation, Inc.
;; Copyright (C) 1994, 95, 97, 2000, 2004 Free Software Foundation, Inc.
;; Author: Noah Friedman
;; Maintainer: Noah Friedman <friedman@splode.com>
......@@ -8,7 +8,7 @@
;; Status: Works in GNU Emacs 19.25 or later, some versions of XEmacs
;; Created: 1994-07-13
;; $Id: type-break.el,v 1.28 2003/05/28 11:25:44 rms Exp $
;; $Id: type-break.el,v 1.29 2003/09/01 15:45:17 miles Exp $
;; This file is part of GNU Emacs.
......@@ -277,39 +277,6 @@ It will be either \"seconds\" or \"keystrokes\".")
(defvar type-break-current-keystroke-warning-interval nil)
(defvar type-break-time-warning-count 0)
(defvar type-break-keystroke-warning-count 0)
;; Constant indicating emacs variant.
;; This can be one of `xemacs', `lucid', `epoch', `mule', etc.
(defconst type-break-emacs-variant
(let ((data (match-data))
(version (cond
((fboundp 'nemacs-version)
(nemacs-version))
(t
(emacs-version))))
(alist '(("\\bXEmacs\\b" . xemacs)
("\\bLucid\\b" . lucid)
("^Nemacs\\b" . nemacs)
("^GNU Emacs 19" . standard19)
("^GNU Emacs 20" . standard19)
("^GNU Emacs 18" . emacs18)))
result)
(while alist
(cond
((string-match (car (car alist)) version)
(setq result (cdr (car alist)))
(setq alist nil))
(t
(setq alist (cdr alist)))))
(set-match-data data)
(cond ((eq result 'lucid)
(and (string= emacs-version "19.8 Lucid")
(setq result 'lucid-19-8)))
((memq result '(nemacs emacs18))
(signal 'error
"type-break not supported in this version of emacs.")))
result))
;;;###autoload
(defun type-break-mode (&optional prefix)
......@@ -954,38 +921,37 @@ With optional non-nil ALL, force redisplay of all mode-lines."
;;; for different versions of emacs.
(defun type-break-run-at-time (time repeat function)
(cond ((eq type-break-emacs-variant 'standard19)
(require 'timer)
(funcall 'run-at-time time repeat function))
((eq type-break-emacs-variant 'lucid-19-8)
(condition-case nil (or (require 'timer) (require 'itimer)) (error nil))
(cond ((fboundp 'run-at-time)
(run-at-time time repeat function))
((fboundp 'start-timer)
(let ((name (if (symbolp function)
(symbol-name function)
"type-break")))
(require 'timer)
(funcall 'start-timer name function time repeat)))
((memq type-break-emacs-variant '(xemacs lucid))
(start-timer name function time repeat)))
((fboundp 'start-itimer)
(let ((name (if (symbolp function)
(symbol-name function)
"type-break")))
(require 'itimer)
(funcall 'start-itimer name function time repeat)))))
(start-itimer name function time repeat)))))
(defvar timer-dont-exit)
(defun type-break-cancel-function-timers (function)
(cond ((eq type-break-emacs-variant 'standard19)
(cond ((fboundp 'cancel-function-timers)
(let ((timer-dont-exit t))
(funcall 'cancel-function-timers function)))
((eq type-break-emacs-variant 'lucid-19-8)
(cancel-function-timers function)))
((fboundp 'delete-timer)
(let ((list timer-list))
(while list
(and (eq (funcall 'timer-function (car list)) function)
(funcall 'delete-timer (car list)))
(delete-timer (car list)))
(setq list (cdr list)))))
((memq type-break-emacs-variant '(xemacs lucid))
((fboundp 'delete-itimer)
(with-no-warnings
(let ((list itimer-list))
(while list
(and (eq (funcall 'itimer-function (car list)) function)
(funcall 'delete-itimer (car list)))
(delete-itimer (car list)))
(setq list (cdr list))))))))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment