X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/6e9ddbb313cf7db66550f93a74cbba12e39e93c0..4ab03a1a7520fbe750355d760bca8831e3e3af08:/lisp/time.el diff --git a/lisp/time.el b/lisp/time.el index c7fa5927e4..ae04077a13 100644 --- a/lisp/time.el +++ b/lisp/time.el @@ -1,9 +1,9 @@ ;;; time.el --- display time, load and mail indicator in mode line of Emacs -*-coding: utf-8 -*- -;; Copyright (C) 1985-1987, 1993-1994, 1996, 2000-2012 -;; Free Software Foundation, Inc. +;; Copyright (C) 1985-1987, 1993-1994, 1996, 2000-2014 Free Software +;; Foundation, Inc. -;; Maintainer: FSF +;; Maintainer: emacs-devel@gnu.org ;; This file is part of GNU Emacs. @@ -206,12 +206,6 @@ a string to display as the label of that TIMEZONE's time." :type 'integer :version "23.1") -(defvar display-time-world-mode-map - (let ((map (make-sparse-keymap))) - (define-key map "q" 'kill-this-buffer) - map) - "Keymap of Display Time World mode.") - ;;;###autoload (defun display-time () "Enable display of time, load level, and mail flag in mode lines. @@ -329,8 +323,6 @@ would give mode line times like `94/12/30 21:07:48 (UTC)'." (defun display-time-event-handler () (display-time-update) - ;; Do redisplay right now, if no input pending. - (sit-for 0) (let* ((current (current-time)) (timer display-time-timer) ;; Compute the time when this timer will run again, next. @@ -358,8 +350,7 @@ Switches from the 1 to 5 to 15 minute load average, and then back to 1." (interactive) (if (= 3 (setq display-time-load-average (1+ display-time-load-average))) (setq display-time-load-average 0)) - (display-time-update) - (sit-for 0)) + (display-time-update)) (defun display-time-mail-check-directory () (let ((mail-files (directory-files display-time-mail-directory t)) @@ -465,7 +456,7 @@ update which can wait for the next redisplay." (seconds (substring time 17 19)) (time-zone (car (cdr (current-time-zone now)))) (day (substring time 8 10)) - (year (substring time 20 24)) + (year (format-time-string "%Y" now)) (monthname (substring time 4 7)) (month (cdr @@ -480,7 +471,7 @@ update which can wait for the next redisplay." ;; This is inside the let binding, but we are not going to document ;; what variables are available. (run-hooks 'display-time-hook)) - (force-mode-line-update)) + (force-mode-line-update 'all)) (defun display-time-file-nonempty-p (file) (let ((remote-file-name-inhibit-cache (- display-time-interval 5))) @@ -523,7 +514,7 @@ runs the normal hook `display-time-hook' after each update." 'display-time-event-handler))) -(define-derived-mode display-time-world-mode nil "World clock" +(define-derived-mode display-time-world-mode special-mode "World clock" "Major mode for buffer that displays times in various time zones. See `display-time-world'." (setq show-trailing-whitespace nil)) @@ -549,8 +540,8 @@ See `display-time-world'." (setenv "TZ" old-tz)) (setq fmt (concat "%-" (int-to-string max-width) "s %s\n")) (dolist (timedata (nreverse result)) - (insert (format fmt (car timedata) (cdr timedata))))) - (delete-char -1)) + (insert (format fmt (car timedata) (cdr timedata)))) + (delete-char -1))) ;;;###autoload (defun display-time-world () @@ -562,10 +553,10 @@ To turn off the world time display, go to that window and type `q'." (not (get-buffer display-time-world-buffer-name))) (run-at-time t display-time-world-timer-second 'display-time-world-timer)) (with-current-buffer (get-buffer-create display-time-world-buffer-name) - (display-time-world-display display-time-world-list)) - (pop-to-buffer display-time-world-buffer-name) - (fit-window-to-buffer) - (display-time-world-mode)) + (display-time-world-display display-time-world-list) + (display-buffer display-time-world-buffer-name + (cons nil '((window-height . fit-window-to-buffer)))) + (display-time-world-mode))) (defun display-time-world-timer () (if (get-buffer display-time-world-buffer-name) @@ -575,7 +566,8 @@ To turn off the world time display, go to that window and type `q'." (let ((list timer-list)) (while list (let ((elt (pop list))) - (when (equal (symbol-name (aref elt 5)) "display-time-world-timer") + (when (equal (symbol-name (timer--function elt)) + "display-time-world-timer") (cancel-timer elt))))))) ;;;###autoload