Mercurial > emacs
annotate lisp/time-stamp.el @ 16796:1198304e87d8
(mktime):
Use BROKEN_MKTIME instead of system-specific macros to determine
whether mktime is broken.
author | Paul Eggert <eggert@twinsun.com> |
---|---|
date | Tue, 31 Dec 1996 19:10:03 +0000 |
parents | 634b34517d56 |
children | 368547942e03 |
rev | line source |
---|---|
3854 | 1 ;;; time-stamp.el --- Maintain last change time stamps in files edited by Emacs |
2 | |
14169 | 3 ;; Copyright 1989, 1993, 1994, 1995 Free Software Foundation, Inc. |
4 | |
16287
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
5 ;; Maintainer's Time-stamp: <1996-08-13 14:03:17 gildea> |
3854 | 6 ;; Maintainer: Stephen Gildea <gildea@lcs.mit.edu> |
7 ;; Keywords: tools | |
8 | |
9 ;; This file is free software; you can redistribute it and/or modify | |
10 ;; it under the terms of the GNU General Public License as published by | |
11 ;; the Free Software Foundation; either version 2, or (at your option) | |
12 ;; any later version. | |
13 | |
14 ;; This file is distributed in the hope that it will be useful, | |
15 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 ;; GNU General Public License for more details. | |
18 | |
19 ;; You should have received a copy of the GNU General Public License | |
14169 | 20 ;; along with GNU Emacs; see the file COPYING. If not, write to the |
21 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
22 ;; Boston, MA 02111-1307, USA. | |
3854 | 23 |
24 ;;; Commentary: | |
25 | |
16287
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
26 ;; A template in a file can be updated with a new time stamp when |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
27 ;; you save the file. For example: |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
28 ;; static char *ts = "sdmain.c Time-stamp: <1996-08-13 10:20:51 gildea>"; |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
29 ;; See the top of `time-stamp.el' for another example. |
3854 | 30 |
16287
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
31 ;; To use time-stamping, add this line to your .emacs file: |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
32 ;; (add-hook 'write-file-hooks 'time-stamp) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
33 ;; Now any time-stamp templates in your files will be updated automatically. |
3854 | 34 |
16287
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
35 ;; See the documentation for the functions `time-stamp' |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
36 ;; and `time-stamp-toggle-active' for details. |
11404
b12a8765508b
(time-stamp-format): Replace list of Lisp
Richard M. Stallman <rms@gnu.org>
parents:
9016
diff
changeset
|
37 |
14231
069791dced1e
Fix Change Log comment line.
Erik Naggum <erik@naggum.no>
parents:
14169
diff
changeset
|
38 ;;; Change Log: |
3854 | 39 |
14169 | 40 ;; Originally based on the 19 Dec 88 version of |
41 ;; date.el by John Sturdy <mcvax!harlqn.co.uk!jcgs@uunet.uu.net> | |
16287
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
42 ;; Version 2, January 1995: replaced functions with %-escapes |
16714
634b34517d56
(time-stamp-mail-host-name): Get rid of time-stamp-mail-host.
Richard M. Stallman <rms@gnu.org>
parents:
16706
diff
changeset
|
43 ;; $Id: time-stamp.el,v 1.23 1996/12/17 00:19:01 rms Exp rms $ |
3854 | 44 |
45 ;;; Code: | |
46 | |
47 (defvar time-stamp-active t | |
13356 | 48 "*Non-nil to enable time-stamping of buffers by \\[time-stamp]. |
11404
b12a8765508b
(time-stamp-format): Replace list of Lisp
Richard M. Stallman <rms@gnu.org>
parents:
9016
diff
changeset
|
49 Can be toggled by \\[time-stamp-toggle-active]. |
16287
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
50 See also the variable `time-stamp-warn-inactive'.") |
11404
b12a8765508b
(time-stamp-format): Replace list of Lisp
Richard M. Stallman <rms@gnu.org>
parents:
9016
diff
changeset
|
51 |
b12a8765508b
(time-stamp-format): Replace list of Lisp
Richard M. Stallman <rms@gnu.org>
parents:
9016
diff
changeset
|
52 (defvar time-stamp-warn-inactive t |
16287
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
53 "Non-nil to have \\[time-stamp] warn if a buffer did not get time-stamped. |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
54 A warning is printed if `time-stamp-active' is nil and the buffer contains |
13356 | 55 a time stamp template that would otherwise have been updated.") |
3854 | 56 |
16287
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
57 (defvar time-stamp-old-format-warn 'ask |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
58 "Action to take if `time-stamp-format' is an old-style list. |
16674
91590d8f74c3
(time-stamp-am-pm): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents:
16517
diff
changeset
|
59 If `error', the format is not used. If `ask', the user is queried about |
91590d8f74c3
(time-stamp-am-pm): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents:
16517
diff
changeset
|
60 using the time-stamp-format. If `warn', a warning is displayed. |
16287
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
61 If nil, no notification is given.") |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
62 |
16705
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
63 (defvar time-stamp-format "%Y-%m-%d %H:%M:%S %u" |
16287
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
64 "*Format of the string inserted by \\[time-stamp]. |
16674
91590d8f74c3
(time-stamp-am-pm): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents:
16517
diff
changeset
|
65 The value may be a string or a list. Lists are supported only for |
91590d8f74c3
(time-stamp-am-pm): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents:
16517
diff
changeset
|
66 backward compatibility; see variable `time-stamp-old-format-warn'. |
13356 | 67 |
16674
91590d8f74c3
(time-stamp-am-pm): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents:
16517
diff
changeset
|
68 A string is used with `format-time-string'. |
13356 | 69 For example, to get the format used by the `date' command, |
16705
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
70 use \"%3a %3b %2d %H:%M:%S %Z %y\". |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
71 |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
72 In addition to the features of `format-time-string', |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
73 you can use the following %-constructs: |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
74 |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
75 %f file name without directory |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
76 %F full file name |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
77 %h mail host name |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
78 %s system name |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
79 %u user's login name") |
16287
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
80 |
3854 | 81 ;;; Do not change time-stamp-line-limit, time-stamp-start, or |
82 ;;; time-stamp-end in your .emacs or you will be incompatible | |
83 ;;; with other people's files! If you must change them, | |
84 ;;; do so only in the local variables section of the file itself. | |
85 | |
16287
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
86 |
5632
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
87 (defvar time-stamp-line-limit 8 ;Do not change! |
14042
161d50568707
(time-stamp-line-limit): negative value counts
Karl Heuer <kwzh@gnu.org>
parents:
13356
diff
changeset
|
88 "Lines of a file searched; positive counts from start, negative from end. |
5632
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
89 The patterns `time-stamp-start' and `time-stamp-end' must be found on one |
14042
161d50568707
(time-stamp-line-limit): negative value counts
Karl Heuer <kwzh@gnu.org>
parents:
13356
diff
changeset
|
90 of the first (last) `time-stamp-line-limit' lines of the file for the |
161d50568707
(time-stamp-line-limit): negative value counts
Karl Heuer <kwzh@gnu.org>
parents:
13356
diff
changeset
|
91 file to be time-stamped by \\[time-stamp]. |
5632
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
92 |
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
93 Do not change `time-stamp-line-limit', `time-stamp-start', or |
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
94 `time-stamp-end' for yourself or you will be incompatible |
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
95 with other people's files! If you must change them for some application, |
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
96 do so in the local variables section of the time-stamped file itself.") |
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
97 |
3854 | 98 |
5971
f97f4938fffa
(time-stamp-start): Allow more white space
Richard M. Stallman <rms@gnu.org>
parents:
5632
diff
changeset
|
99 (defvar time-stamp-start "Time-stamp:[ \t]+\\\\?[\"<]+" ;Do not change! |
3854 | 100 "Regexp after which the time stamp is written by \\[time-stamp]. |
5632
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
101 See also the variables `time-stamp-end' and `time-stamp-line-limit'. |
3854 | 102 |
5632
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
103 Do not change `time-stamp-line-limit', `time-stamp-start', or |
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
104 `time-stamp-end' for yourself or you will be incompatible |
3854 | 105 with other people's files! If you must change them for some application, |
106 do so in the local variables section of the time-stamped file itself.") | |
107 | |
108 | |
5632
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
109 (defvar time-stamp-end "\\\\?[\">]" ;Do not change! |
3854 | 110 "Regexp marking the text after the time stamp. |
5632
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
111 \\[time-stamp] deletes the text between the first match of `time-stamp-start' |
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
112 and the following match of `time-stamp-end' on the same line, |
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
113 then writes the time stamp specified by `time-stamp-format' between them. |
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
114 |
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
115 Do not change `time-stamp-line-limit', `time-stamp-start', or |
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
116 `time-stamp-end' for yourself or you will be incompatible |
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
117 with other people's files! If you must change them for some application, |
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
118 do so in the local variables section of the time-stamped file itself.") |
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
119 |
3854 | 120 |
16287
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
121 |
4327
771786f5d8c2
(time-stamp): Add autoload cookie.
Richard M. Stallman <rms@gnu.org>
parents:
4325
diff
changeset
|
122 ;;;###autoload |
3854 | 123 (defun time-stamp () |
124 "Update the time stamp string in the buffer. | |
16287
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
125 A template in a file can be automatically updated with a new time stamp |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
126 every time you save the file. Add this line to your .emacs file: |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
127 (add-hook 'write-file-hooks 'time-stamp) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
128 Normally the template must appear in the first 8 lines of a file and |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
129 look like one of the following: |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
130 Time-stamp: <> |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
131 Time-stamp: \" \" |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
132 The time stamp is written between the brackets or quotes: |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
133 Time-stamp: <1996-07-18 10:20:51 gildea> |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
134 Only updates the time stamp if the variable `time-stamp-active' is non-nil. |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
135 The format of the time stamp is set by the variable `time-stamp-format'. |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
136 The variables `time-stamp-line-limit', `time-stamp-start', |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
137 and `time-stamp-end' control finding the template." |
3854 | 138 (interactive) |
12023
1a3e7aef5f8a
(time-stamp): only warn about time-stamping
Karl Heuer <kwzh@gnu.org>
parents:
11429
diff
changeset
|
139 (let ((case-fold-search nil) |
16287
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
140 (start nil) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
141 (end nil) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
142 search-limit) |
12023
1a3e7aef5f8a
(time-stamp): only warn about time-stamping
Karl Heuer <kwzh@gnu.org>
parents:
11429
diff
changeset
|
143 (save-excursion |
1a3e7aef5f8a
(time-stamp): only warn about time-stamping
Karl Heuer <kwzh@gnu.org>
parents:
11429
diff
changeset
|
144 (save-restriction |
1a3e7aef5f8a
(time-stamp): only warn about time-stamping
Karl Heuer <kwzh@gnu.org>
parents:
11429
diff
changeset
|
145 (widen) |
16287
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
146 (cond ((> time-stamp-line-limit 0) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
147 (goto-char (setq start (point-min))) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
148 (forward-line time-stamp-line-limit) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
149 (setq search-limit (point))) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
150 (t |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
151 (goto-char (setq search-limit (point-max))) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
152 (forward-line time-stamp-line-limit) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
153 (setq start (point)))) |
14042
161d50568707
(time-stamp-line-limit): negative value counts
Karl Heuer <kwzh@gnu.org>
parents:
13356
diff
changeset
|
154 (goto-char start) |
16287
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
155 (while (and (< (point) search-limit) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
156 (not end) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
157 (re-search-forward time-stamp-start search-limit 'move)) |
14042
161d50568707
(time-stamp-line-limit): negative value counts
Karl Heuer <kwzh@gnu.org>
parents:
13356
diff
changeset
|
158 (setq start (point)) |
161d50568707
(time-stamp-line-limit): negative value counts
Karl Heuer <kwzh@gnu.org>
parents:
13356
diff
changeset
|
159 (end-of-line) |
161d50568707
(time-stamp-line-limit): negative value counts
Karl Heuer <kwzh@gnu.org>
parents:
13356
diff
changeset
|
160 (let ((line-end (point))) |
161d50568707
(time-stamp-line-limit): negative value counts
Karl Heuer <kwzh@gnu.org>
parents:
13356
diff
changeset
|
161 (goto-char start) |
161d50568707
(time-stamp-line-limit): negative value counts
Karl Heuer <kwzh@gnu.org>
parents:
13356
diff
changeset
|
162 (if (re-search-forward time-stamp-end line-end 'move) |
16287
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
163 (setq end (match-beginning 0))))))) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
164 (if end |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
165 (progn |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
166 ;; do all warnings outside save-excursion |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
167 (cond |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
168 ((not time-stamp-active) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
169 (if time-stamp-warn-inactive |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
170 ;; don't signal an error in a write-file-hook |
14042
161d50568707
(time-stamp-line-limit): negative value counts
Karl Heuer <kwzh@gnu.org>
parents:
13356
diff
changeset
|
171 (progn |
16287
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
172 (message "Warning: time-stamp-active is off; did not time-stamp buffer.") |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
173 (sit-for 1)))) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
174 ((not (and (stringp time-stamp-start) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
175 (stringp time-stamp-end))) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
176 (message "time-stamp-start or time-stamp-end is not a string") |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
177 (sit-for 1)) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
178 (t |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
179 (let ((new-time-stamp (time-stamp-string))) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
180 (if (stringp new-time-stamp) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
181 (save-excursion |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
182 (save-restriction |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
183 (widen) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
184 (delete-region start end) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
185 (goto-char start) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
186 (insert new-time-stamp) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
187 (setq end (point)) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
188 ;; remove any tabs used to format time stamp |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
189 (goto-char start) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
190 (if (search-forward "\t" end t) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
191 (untabify start end))))))))))) |
3854 | 192 ;; be sure to return nil so can be used on write-file-hooks |
193 nil) | |
194 | |
11404
b12a8765508b
(time-stamp-format): Replace list of Lisp
Richard M. Stallman <rms@gnu.org>
parents:
9016
diff
changeset
|
195 ;;;###autoload |
b12a8765508b
(time-stamp-format): Replace list of Lisp
Richard M. Stallman <rms@gnu.org>
parents:
9016
diff
changeset
|
196 (defun time-stamp-toggle-active (&optional arg) |
16287
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
197 "Toggle `time-stamp-active', setting whether \\[time-stamp] updates a buffer. |
11404
b12a8765508b
(time-stamp-format): Replace list of Lisp
Richard M. Stallman <rms@gnu.org>
parents:
9016
diff
changeset
|
198 With arg, turn time stamping on if and only if arg is positive." |
b12a8765508b
(time-stamp-format): Replace list of Lisp
Richard M. Stallman <rms@gnu.org>
parents:
9016
diff
changeset
|
199 (interactive "P") |
b12a8765508b
(time-stamp-format): Replace list of Lisp
Richard M. Stallman <rms@gnu.org>
parents:
9016
diff
changeset
|
200 (setq time-stamp-active |
b12a8765508b
(time-stamp-format): Replace list of Lisp
Richard M. Stallman <rms@gnu.org>
parents:
9016
diff
changeset
|
201 (if (null arg) |
b12a8765508b
(time-stamp-format): Replace list of Lisp
Richard M. Stallman <rms@gnu.org>
parents:
9016
diff
changeset
|
202 (not time-stamp-active) |
b12a8765508b
(time-stamp-format): Replace list of Lisp
Richard M. Stallman <rms@gnu.org>
parents:
9016
diff
changeset
|
203 (> (prefix-numeric-value arg) 0))) |
b12a8765508b
(time-stamp-format): Replace list of Lisp
Richard M. Stallman <rms@gnu.org>
parents:
9016
diff
changeset
|
204 (message "time-stamp is now %s." (if time-stamp-active "active" "off"))) |
16287
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
205 |
16705
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
206 (defconst time-stamp-no-file "(no file)" |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
207 "String to use when the buffer is not associated with a file.") |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
208 |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
209 (defun time-stamp-string-preprocess (format) |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
210 "Process occurrences in FORMAT of %f, %F, %h, %s and %u. |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
211 These are replaced with the file name (nondirectory part), |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
212 full file name, host name for mail, system name, and user name. |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
213 Do not alter other %-combinations, and do detect %%." |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
214 (let ((result "") (pos 0) (case-fold-search nil) |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
215 (file (or buffer-file-name "(no file)"))) |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
216 (while (string-match "%[%uhfFs]" format pos) |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
217 (setq result (concat result (substring format pos (match-beginning 0)))) |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
218 (let ((char (aref format (1+ (match-beginning 0))))) |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
219 (cond ((= char ?%) |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
220 (setq result (concat result "%%"))) |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
221 ((= char ?u) |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
222 (setq result (concat result (user-login-name)))) |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
223 ((= char ?f) |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
224 (setq result (concat result (file-name-nondirectory file)))) |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
225 ((= char ?f) |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
226 (setq result (concat result file))) |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
227 ((= char ?s) |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
228 (setq result (concat result (system-name)))) |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
229 ((= char ?h) |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
230 (setq result (concat result (time-stamp-mail-host-name)))))) |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
231 (setq pos (match-end 0))) |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
232 (concat result (substring format pos)))) |
11404
b12a8765508b
(time-stamp-format): Replace list of Lisp
Richard M. Stallman <rms@gnu.org>
parents:
9016
diff
changeset
|
233 |
3854 | 234 (defun time-stamp-string () |
235 "Generate the new string to be inserted by \\[time-stamp]." | |
11404
b12a8765508b
(time-stamp-format): Replace list of Lisp
Richard M. Stallman <rms@gnu.org>
parents:
9016
diff
changeset
|
236 (if (stringp time-stamp-format) |
16705
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
237 (format-time-string (time-stamp-string-preprocess time-stamp-format) |
db8a501954f6
(time-stamp-no-file): Reintroduced.
Richard M. Stallman <rms@gnu.org>
parents:
16674
diff
changeset
|
238 (current-time)) |
16287
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
239 ;; handle version 1 compatibility |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
240 (cond ((or (eq time-stamp-old-format-warn 'error) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
241 (and (eq time-stamp-old-format-warn 'ask) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
242 (not (y-or-n-p "Use non-string time-stamp-format? ")))) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
243 (message "Warning: no time-stamp: time-stamp-format not a string") |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
244 (sit-for 1) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
245 nil) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
246 (t |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
247 (cond ((eq time-stamp-old-format-warn 'warn) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
248 (message "Obsolescent time-stamp-format type; should be string") |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
249 (sit-for 1))) |
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
250 (time-stamp-fconcat time-stamp-format " "))))) |
11404
b12a8765508b
(time-stamp-format): Replace list of Lisp
Richard M. Stallman <rms@gnu.org>
parents:
9016
diff
changeset
|
251 |
14042
161d50568707
(time-stamp-line-limit): negative value counts
Karl Heuer <kwzh@gnu.org>
parents:
13356
diff
changeset
|
252 (defconst time-stamp-no-file "(no file)" |
161d50568707
(time-stamp-line-limit): negative value counts
Karl Heuer <kwzh@gnu.org>
parents:
13356
diff
changeset
|
253 "String to use when the buffer is not associated with a file.") |
161d50568707
(time-stamp-line-limit): negative value counts
Karl Heuer <kwzh@gnu.org>
parents:
13356
diff
changeset
|
254 |
11404
b12a8765508b
(time-stamp-format): Replace list of Lisp
Richard M. Stallman <rms@gnu.org>
parents:
9016
diff
changeset
|
255 (defun time-stamp-mail-host-name () |
b12a8765508b
(time-stamp-format): Replace list of Lisp
Richard M. Stallman <rms@gnu.org>
parents:
9016
diff
changeset
|
256 "Return the name of the host where the user receives mail. |
b12a8765508b
(time-stamp-format): Replace list of Lisp
Richard M. Stallman <rms@gnu.org>
parents:
9016
diff
changeset
|
257 This is the value of `mail-host-address' if bound and a string, |
16714
634b34517d56
(time-stamp-mail-host-name): Get rid of time-stamp-mail-host.
Richard M. Stallman <rms@gnu.org>
parents:
16706
diff
changeset
|
258 otherwise the value of the function system-name." |
11404
b12a8765508b
(time-stamp-format): Replace list of Lisp
Richard M. Stallman <rms@gnu.org>
parents:
9016
diff
changeset
|
259 (or (and (boundp 'mail-host-address) |
b12a8765508b
(time-stamp-format): Replace list of Lisp
Richard M. Stallman <rms@gnu.org>
parents:
9016
diff
changeset
|
260 (stringp mail-host-address) |
b12a8765508b
(time-stamp-format): Replace list of Lisp
Richard M. Stallman <rms@gnu.org>
parents:
9016
diff
changeset
|
261 mail-host-address) |
b12a8765508b
(time-stamp-format): Replace list of Lisp
Richard M. Stallman <rms@gnu.org>
parents:
9016
diff
changeset
|
262 (system-name))) |
b12a8765508b
(time-stamp-format): Replace list of Lisp
Richard M. Stallman <rms@gnu.org>
parents:
9016
diff
changeset
|
263 |
b12a8765508b
(time-stamp-format): Replace list of Lisp
Richard M. Stallman <rms@gnu.org>
parents:
9016
diff
changeset
|
264 ;;; the rest of this file is for version 1 compatibility |
3854 | 265 |
266 (defun time-stamp-fconcat (list sep) | |
5632
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
267 "Similar to (mapconcat 'funcall LIST SEP) but LIST allows literals. |
3854 | 268 If an element of LIST is a symbol, it is funcalled to get the string to use; |
269 the separator SEP is used between two strings obtained by funcalling a | |
270 symbol. Otherwise the element itself is inserted; no separator is used | |
271 around literals." | |
272 (let ((return-string "") | |
273 (insert-sep-p nil)) | |
274 (while list | |
275 (cond ((symbolp (car list)) | |
276 (if insert-sep-p | |
277 (setq return-string (concat return-string sep))) | |
278 (setq return-string (concat return-string (funcall (car list)))) | |
279 (setq insert-sep-p t)) | |
280 (t | |
281 (setq return-string (concat return-string (car list))) | |
282 (setq insert-sep-p nil))) | |
283 (setq list (cdr list))) | |
284 return-string)) | |
285 | |
16287
24fd930446f6
(time-stamp-old-format-warn): new variable.
Karl Heuer <kwzh@gnu.org>
parents:
14231
diff
changeset
|
286 ;;; Some functions used in time-stamp-format |
3854 | 287 |
288 ;;; Could generate most of a message-id with | |
5632
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
289 ;;; '(time-stamp-yymmdd "" time-stamp-hhmm "@" time-stamp-mail-host-name) |
3854 | 290 |
291 ;;; pretty form, suitable for a title page | |
292 | |
293 (defun time-stamp-month-dd-yyyy () | |
5632
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
294 "Return the current date as a string in \"Month DD, YYYY\" form." |
16706
450cb7cbf895
(time-stamp-month-dd-yyyy): Use format-time-string.
Richard M. Stallman <rms@gnu.org>
parents:
16705
diff
changeset
|
295 (format-time-string "%B %e, %Y")) |
3854 | 296 |
16517
1fa5a347e70f
(time-stamp-dd/mm/yyyy): New function.
Richard M. Stallman <rms@gnu.org>
parents:
16287
diff
changeset
|
297 (defun time-stamp-dd/mm/yyyy () |
1fa5a347e70f
(time-stamp-dd/mm/yyyy): New function.
Richard M. Stallman <rms@gnu.org>
parents:
16287
diff
changeset
|
298 "Return the current date as a string in \"DD/MM/YYYY\" form." |
16706
450cb7cbf895
(time-stamp-month-dd-yyyy): Use format-time-string.
Richard M. Stallman <rms@gnu.org>
parents:
16705
diff
changeset
|
299 (format-time-string "%d/%m/%Y")) |
16517
1fa5a347e70f
(time-stamp-dd/mm/yyyy): New function.
Richard M. Stallman <rms@gnu.org>
parents:
16287
diff
changeset
|
300 |
3854 | 301 ;;; same as __DATE__ in ANSI C |
302 | |
303 (defun time-stamp-mon-dd-yyyy () | |
5632
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
304 "Return the current date as a string in \"Mon DD YYYY\" form. |
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
305 The first character of DD is space if the value is less than 10." |
16706
450cb7cbf895
(time-stamp-month-dd-yyyy): Use format-time-string.
Richard M. Stallman <rms@gnu.org>
parents:
16705
diff
changeset
|
306 (format-time-string "%b %d %Y")) |
3854 | 307 |
308 ;;; RFC 822 date | |
309 | |
310 (defun time-stamp-dd-mon-yy () | |
5632
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
311 "Return the current date as a string in \"DD Mon YY\" form." |
16706
450cb7cbf895
(time-stamp-month-dd-yyyy): Use format-time-string.
Richard M. Stallman <rms@gnu.org>
parents:
16705
diff
changeset
|
312 (format-time-string "%d %b %y")) |
3854 | 313 |
314 ;;; RCS 3 date | |
315 | |
316 (defun time-stamp-yy/mm/dd () | |
5632
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
317 "Return the current date as a string in \"YY/MM/DD\" form." |
16706
450cb7cbf895
(time-stamp-month-dd-yyyy): Use format-time-string.
Richard M. Stallman <rms@gnu.org>
parents:
16705
diff
changeset
|
318 (format-time-string "%y/%m/%d")) |
3854 | 319 |
320 ;;; RCS 5 date | |
321 | |
322 (defun time-stamp-yyyy/mm/dd () | |
5632
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
323 "Return the current date as a string in \"YYYY/MM/DD\" form." |
16706
450cb7cbf895
(time-stamp-month-dd-yyyy): Use format-time-string.
Richard M. Stallman <rms@gnu.org>
parents:
16705
diff
changeset
|
324 (format-time-string "%Y/%m/%d")) |
3854 | 325 |
5632
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
326 ;;; ISO 8601 date |
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
327 |
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
328 (defun time-stamp-yyyy-mm-dd () |
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
329 "Return the current date as a string in \"YYYY-MM-DD\" form." |
16706
450cb7cbf895
(time-stamp-month-dd-yyyy): Use format-time-string.
Richard M. Stallman <rms@gnu.org>
parents:
16705
diff
changeset
|
330 (format-time-string "%Y-%m-%d")) |
5632
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
331 |
3854 | 332 (defun time-stamp-yymmdd () |
5632
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
333 "Return the current date as a string in \"YYMMDD\" form." |
16706
450cb7cbf895
(time-stamp-month-dd-yyyy): Use format-time-string.
Richard M. Stallman <rms@gnu.org>
parents:
16705
diff
changeset
|
334 (format-time-string "%y%m%d")) |
3854 | 335 |
336 (defun time-stamp-hh:mm:ss () | |
5632
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
337 "Return the current time as a string in \"HH:MM:SS\" form." |
16706
450cb7cbf895
(time-stamp-month-dd-yyyy): Use format-time-string.
Richard M. Stallman <rms@gnu.org>
parents:
16705
diff
changeset
|
338 (format-time-string "%T")) |
3854 | 339 |
340 (defun time-stamp-hhmm () | |
5632
63d80d94e0d7
Better, more user-oriented doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
5287
diff
changeset
|
341 "Return the current time as a string in \"HHMM\" form." |
16706
450cb7cbf895
(time-stamp-month-dd-yyyy): Use format-time-string.
Richard M. Stallman <rms@gnu.org>
parents:
16705
diff
changeset
|
342 (format-time-string "%H%M")) |
3854 | 343 |
344 (provide 'time-stamp) | |
345 | |
346 ;;; time-stamp.el ends here |