X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/4f9d7df139695e97cd1772d41940500480585df7..1bb596eece61147fcddbca871d5f9e5dcbbc4a3e:/lisp/time-stamp.el diff --git a/lisp/time-stamp.el b/lisp/time-stamp.el index f3b778392a..99d185690d 100644 --- a/lisp/time-stamp.el +++ b/lisp/time-stamp.el @@ -1,7 +1,7 @@ ;;; time-stamp.el --- Maintain last change time stamps in files edited by Emacs -;; Copyright (C) 1989, 1993, 1994, 1995, 1997, 2000, 2001, 2002, 2003, -;; 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +;; Copyright (C) 1989, 1993-1995, 1997, 2000-2014 Free Software +;; Foundation, Inc. ;; This file is part of GNU Emacs. @@ -29,7 +29,7 @@ ;; static char *ts = "sdmain.c Time-stamp: <2001-08-13 10:20:51 gildea>"; ;; See the top of `time-stamp.el' for another example. -;; To use time-stamping, add this line to your .emacs file: +;; To use time-stamping, add this line to your init file: ;; (add-hook 'before-save-hook 'time-stamp) ;; Now any time-stamp templates in your files will be updated automatically. @@ -44,7 +44,7 @@ :group 'extensions) (defcustom time-stamp-format "%:y-%02m-%02d %02H:%02M:%02S %u" - "*Format of the string inserted by \\[time-stamp]. + "Format of the string inserted by \\[time-stamp]. The value may be a string or a list. Lists are supported only for backward compatibility; see variable `time-stamp-old-format-warn'. @@ -94,7 +94,7 @@ historical default." ;;;###autoload(put 'time-stamp-format 'safe-local-variable 'stringp) (defcustom time-stamp-active t - "*Non-nil to enable time-stamping of buffers by \\[time-stamp]. + "Non-nil to enable time-stamping of buffers by \\[time-stamp]. Can be toggled by \\[time-stamp-toggle-active]. See also the variable `time-stamp-warn-inactive'." :type 'boolean @@ -254,7 +254,7 @@ time-stamped file itself.") (defun time-stamp () "Update the time stamp string(s) in the buffer. A template in a file can be automatically updated with a new time stamp -every time you save the file. Add this line to your .emacs file: +every time you save the file. Add this line to your init file: (add-hook 'before-save-hook 'time-stamp) or customize `before-save-hook' through Custom. Normally the template must appear in the first 8 lines of a file and @@ -267,7 +267,7 @@ The time stamp is updated only if the variable `time-stamp-active' is non-nil. The format of the time stamp is set by the variable `time-stamp-pattern' or `time-stamp-format'. The variables `time-stamp-pattern', `time-stamp-line-limit', `time-stamp-start', `time-stamp-end', -`time-stamp-count', and `time-stamp-inserts-lines' control finding +`time-stamp-count', and `time-stamp-inserts-lines' control finding the template." (interactive) (let ((line-limit time-stamp-line-limit) @@ -424,10 +424,10 @@ format the string." (let ((ts-real-time-zone (getenv "TZ"))) (unwind-protect (progn - (set-time-zone-rule time-stamp-time-zone) + (setenv "TZ" time-stamp-time-zone) (format-time-string (time-stamp-string-preprocess ts-format))) - (set-time-zone-rule ts-real-time-zone))) + (setenv "TZ" ts-real-time-zone))) (format-time-string (time-stamp-string-preprocess ts-format))) ;; handle version 1 compatibility @@ -470,7 +470,7 @@ and all `time-stamp-format' compatibility." (result "") field-width field-result - alt-form change-case require-padding + alt-form change-case (paren-level 0)) (while (< ind fmt-len) (setq cur-char (aref format ind)) @@ -480,7 +480,7 @@ and all `time-stamp-format' compatibility." (cond ((eq cur-char ?%) ;; eat any additional args to allow for future expansion - (setq alt-form nil change-case nil require-padding nil field-width "") + (setq alt-form nil change-case nil field-width "") (while (progn (setq ind (1+ ind)) (setq cur-char (if (< ind fmt-len) @@ -660,8 +660,7 @@ The new forms being recommended now will continue to work then.") Suggests replacing OLD-FORM with NEW-FORM." (cond (time-stamp-conversion-warn - (save-excursion - (set-buffer (get-buffer-create "*Time-stamp-compatibility*")) + (with-current-buffer (get-buffer-create "*Time-stamp-compatibility*") (goto-char (point-max)) (if (bobp) (progn @@ -705,74 +704,6 @@ around literals." (setq list (cdr list))) return-string)) -;;; Some functions used in time-stamp-format - -;;; These functions have been obsolete since 1995 -;;; and will be removed in Emacs 23. -;;; Meanwhile, discourage other packages from using them. -(dolist (function '(time-stamp-month-dd-yyyy time-stamp-dd/mm/yyyy - time-stamp-mon-dd-yyyy time-stamp-dd-mon-yy - time-stamp-yy/mm/dd time-stamp-yyyy/mm/dd - time-stamp-yyyy-mm-dd time-stamp-yymmdd - time-stamp-hh:mm:ss time-stamp-hhmm)) - (make-obsolete function - "use `time-stamp-string' or `format-time-string' instead." - "20.1")) - -;;; pretty form, suitable for a title page - -(defun time-stamp-month-dd-yyyy () - "Return the current date as a string in \"Month DD, YYYY\" form." - (format-time-string "%B %e, %Y")) - -(defun time-stamp-dd/mm/yyyy () - "Return the current date as a string in \"DD/MM/YYYY\" form." - (format-time-string "%d/%m/%Y")) - -;;; same as __DATE__ in ANSI C - -(defun time-stamp-mon-dd-yyyy () - "Return the current date as a string in \"Mon DD YYYY\" form. -The first character of DD is space if the value is less than 10." - (format-time-string "%b %d %Y")) - -;;; RFC 822 date - -(defun time-stamp-dd-mon-yy () - "Return the current date as a string in \"DD Mon YY\" form." - (format-time-string "%d %b %y")) - -;;; RCS 3 date - -(defun time-stamp-yy/mm/dd () - "Return the current date as a string in \"YY/MM/DD\" form." - (format-time-string "%y/%m/%d")) - -;;; RCS 5 date - -(defun time-stamp-yyyy/mm/dd () - "Return the current date as a string in \"YYYY/MM/DD\" form." - (format-time-string "%Y/%m/%d")) - -;;; ISO 8601 date - -(defun time-stamp-yyyy-mm-dd () - "Return the current date as a string in \"YYYY-MM-DD\" form." - (format-time-string "%Y-%m-%d")) - -(defun time-stamp-yymmdd () - "Return the current date as a string in \"YYMMDD\" form." - (format-time-string "%y%m%d")) - -(defun time-stamp-hh:mm:ss () - "Return the current time as a string in \"HH:MM:SS\" form." - (format-time-string "%T")) - -(defun time-stamp-hhmm () - "Return the current time as a string in \"HHMM\" form." - (format-time-string "%H%M")) - (provide 'time-stamp) -;; arch-tag: 8a12c5c3-25d6-4a71-adc5-24b0e025a1e7 ;;; time-stamp.el ends here