1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-22 18:35:09 +00:00

time.el: Use `define-derived-mode'. Simplify.

* time.el (display-time-world-mode): Define with `define-derived-mode'.
  Set `show-trailing-whitespace' to nil.
  (display-time-world-display): Simplify.
This commit is contained in:
Juanma Barranquero 2010-07-19 13:06:42 +02:00
parent 311f0356ad
commit 16f3ade52e
2 changed files with 16 additions and 17 deletions

View File

@ -1,3 +1,9 @@
2010-07-19 Juanma Barranquero <lekktu@gmail.com>
* time.el (display-time-world-mode): Define with `define-derived-mode'.
Set `show-trailing-whitespace' to nil.
(display-time-world-display): Simplify.
2010-07-18 Alan Mackenzie <acm@muc.de>
Enhance `c-file-style' in file/directory local variables.

View File

@ -490,15 +490,10 @@ This runs the normal hook `display-time-hook' after each update."
'display-time-event-handler)))
(defun display-time-world-mode ()
(define-derived-mode display-time-world-mode nil "World clock"
"Major mode for buffer that displays times in various time zones.
See `display-time-world'."
(interactive)
(kill-all-local-variables)
(setq
major-mode 'display-time-world-mode
mode-name "World clock")
(use-local-map display-time-world-mode-map))
(setq show-trailing-whitespace nil))
(defun display-time-world-display (alist)
"Replace current buffer text with times in various zones, based on ALIST."
@ -506,24 +501,22 @@ See `display-time-world'."
(buffer-undo-list t))
(erase-buffer)
(let ((max-width 0)
(result ()))
(result ())
fmt)
(unwind-protect
(dolist (zone alist)
(let* ((label (cadr zone))
(width (string-width label)))
(set-time-zone-rule (car zone))
(setq result
(append result
(list
label width
(format-time-string display-time-world-time-format))))
(push (cons label
(format-time-string display-time-world-time-format))
result)
(when (> width max-width)
(setq max-width width))))
(set-time-zone-rule nil))
(while result
(insert (pop result)
(make-string (1+ (- max-width (pop result))) ?\s)
(pop result) "\n")))
(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)))
;;;###autoload