| Server IP : 217.160.0.212 / Your IP : 216.73.216.141 Web Server : Apache System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64 User : sws1073854427 ( 1073854427) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/share/emacs/28.2/lisp/ |
Upload File : |
;ELC
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.
(byte-code "\300\301\302\303\304\305\304\306&\210\307\310\311\312\313DD\314\315\316\317\320&\210\307\321\311\312\322DD\323\315\324%\210\307\325\311\312\326DD\327\315\324\317\330&\210\307\331\311\312\332DD\333\315\334\317\335&\207" [custom-declare-group time-stamp nil "Maintain last change time stamps in files edited by Emacs." :group data extensions custom-declare-variable time-stamp-format funcall function #[0 "\300\207" ["%Y-%02m-%02d %02H:%02M:%02S %l"] 1 #1=""] "Format of the string inserted by \\[time-stamp].\nThis is a string, used verbatim except for character sequences beginning\nwith %, as follows.\n\n%:A weekday name: `Monday' %#A gives uppercase: `MONDAY'\n%3a abbreviated weekday: `Mon' %#a gives uppercase: `MON'\n%:B month name: `January' %#B gives uppercase: `JANUARY'\n%3b abbreviated month: `Jan' %#b gives uppercase: `JAN'\n%02d day of month\n%02H 24-hour clock hour\n%02I 12-hour clock hour\n%02m month number\n%02M minute\n%#p `am' or `pm' %P gives uppercase: `AM' or `PM'\n%02S seconds\n%w day number of week, Sunday is 0\n%02y 2-digit year %Y 4-digit year\n%Z time zone name: `EST' %#Z gives lowercase: `est'\n%5z time zone offset: `-0500' (since Emacs 27; see note below)\n\nNon-date items:\n%% a literal percent character: `%'\n%f file name without directory %F absolute file name\n%l login name %L full name of logged-in user\n%q unqualified host name %Q fully-qualified host name\n%h mail host name\n\nDecimal digits between the % and the type character specify the\nfield width. Strings are truncated on the right.\nA leading zero in the field width zero-fills a number.\n\nFor example, to get the format used by the `date' command,\nuse \"%3a %3b %2d %02H:%02M:%02S %Z %Y\".\n\nThe values of non-numeric formatted items depend on the locale\nsetting recorded in `system-time-locale' and `locale-coding-system'.\nThe examples here are for the default (`C') locale.\n`time-stamp-time-zone' controls the time zone used.\n\nThe default padding of some formats has changed to be more compatible\nwith format-time-string. To be compatible with older versions of Emacs,\nspecify a padding width (as shown) or use the : modifier to request the\ntransitional behavior (again, as shown).\n\nThe behavior of `%5z' is new in Emacs 27. If your files might be\nedited by older versions of Emacs also, do not use this format yet." :type string :version "27.1" time-stamp-active #[0 "\300\207" [t] 1 #1#] "Non-nil to enable time-stamping of buffers by \\[time-stamp].\nCan be toggled by \\[time-stamp-toggle-active].\n\nThis option does not affect when `time-stamp' is run, only what it\ndoes when it runs. To activate automatic time-stamping of buffers\nwhen they are saved, either add this line to your init file:\n (add-hook \\='before-save-hook \\='time-stamp)\nor customize option `before-save-hook'.\n\nTo enable automatic time-stamping for only a specific file, add this\nline to a local variables list near the end of the file:\n eval: (add-hook \\='before-save-hook \\='time-stamp nil t)\n\nSee also the variable `time-stamp-warn-inactive'." boolean time-stamp-warn-inactive #[0 "\300\207" [t] 1 #1#] "Have \\[time-stamp] warn if a buffer did not get time-stamped.\nIf non-nil, a warning is displayed if `time-stamp-active' has\ndeactivated time stamping and the buffer contains a template that\notherwise would have been updated." "19.29" time-stamp-time-zone #[0 "\300\207" [nil] 1 #1#] "The time zone to be used by \\[time-stamp].\nIts format is that of the ZONE argument of the `format-time-string' function." (choice (const :tag "Emacs local time" nil) (const :tag "Universal Time" t) (const :tag "system wall clock time" wall) (string :tag "TZ environment variable value") (list :tag "Offset and name" (integer :tag "Offset (seconds east of UTC)") (string :tag "Time zone abbreviation")) (integer :tag "Offset (seconds east of UTC)")) "20.1"] 8)
#@157 Return non-nil if ZONE is of the correct type for a timezone rule.
Valid ZONE values are described in the documentation of `format-time-string'.
(fn ZONE)
(defalias 'time-stamp-zone-type-p #[257 "\211\300>\206% \211;\206% \211:\203# \211@\250\203# \211A:\203# \211A@;\206% \211\250\207" [(nil t wall)] 3 (#$ . 4149)])
#@723 Lines of a file searched; positive counts from start, negative from end.
The patterns `time-stamp-start' and `time-stamp-end' must be found in
the first (last) `time-stamp-line-limit' lines of the file for the
file to be time-stamped by \[time-stamp]. A value of 0 searches the
entire buffer (use with care).
It may be more convenient to use `time-stamp-pattern' if you set more
than one of `time-stamp-line-limit', `time-stamp-start', `time-stamp-end',
or `time-stamp-format'.
These variables are best changed with file-local variables.
If you were to change `time-stamp-line-limit', `time-stamp-start',
`time-stamp-end', or `time-stamp-pattern' in your init file, you
would be incompatible with other people's files.
(defvar time-stamp-line-limit 8 (#$ . 4475))
#@476 Regexp after which the time stamp is written by \[time-stamp].
It may be more convenient to use `time-stamp-pattern' if you set more
than one of `time-stamp-line-limit', `time-stamp-start', `time-stamp-end',
or `time-stamp-format'.
These variables are best changed with file-local variables.
If you were to change `time-stamp-line-limit', `time-stamp-start',
`time-stamp-end', or `time-stamp-pattern' in your init file, you
would be incompatible with other people's files.
(defvar time-stamp-start "Time-stamp:[ ]+\\\\?[\"<]+" (#$ . 5249))
#@995 Regexp marking the text after the time stamp.
\[time-stamp] deletes the text between the first match of `time-stamp-start'
and the following match of `time-stamp-end', then writes the
time stamp specified by `time-stamp-format' between them.
It may be more convenient to use `time-stamp-pattern' if you set more
than one of `time-stamp-line-limit', `time-stamp-start', `time-stamp-end',
or `time-stamp-format'.
The end text normally starts on the same line as the start text ends,
but if there are any newlines in `time-stamp-format', the same number
of newlines must separate the start and end. Thus \[time-stamp] tries
to not change the number of lines in the buffer; `time-stamp-inserts-lines'
controls this behavior.
These variables are best changed with file-local variables.
If you were to change `time-stamp-line-limit', `time-stamp-start',
`time-stamp-end', `time-stamp-pattern', or `time-stamp-inserts-lines' in
your init file, you would be incompatible with other people's files.
(defvar time-stamp-end "\\\\?[\">]" (#$ . 5799))
#@696 Whether \[time-stamp] can change the number of lines in a file.
If nil, \[time-stamp] skips as many lines as there are newlines in
`time-stamp-format' before looking for the `time-stamp-end' pattern,
thus it tries not to change the number of lines in the buffer.
If non-nil, \[time-stamp] starts looking for the end pattern
immediately after the start pattern. This behavior can cause
unexpected changes in the buffer if used carelessly, but it is useful
for generating repeated time stamps.
These variables are best changed with file-local variables.
If you were to change `time-stamp-end' or `time-stamp-inserts-lines' in
your init file, you would be incompatible with other people's files.
(defvar time-stamp-inserts-lines nil (#$ . 6849))
#@272 How many templates \[time-stamp] will look for in a buffer.
The same time stamp will be written in each case.
`time-stamp-count' is best changed with a file-local variable.
If you were to change it in your init file, you would be incompatible
with other people's files.
(defvar time-stamp-count 1 (#$ . 7601))
#@1687 Convenience variable setting all `time-stamp' location and format values.
This string has four parts, each of which is optional.
These four parts set `time-stamp-line-limit', `time-stamp-start',
`time-stamp-format', and `time-stamp-end'. See the documentation
for each of these variables for details.
The first part is a number followed by a slash; the number sets the number
of lines at the beginning (negative counts from end) of the file searched
for the time stamp. The number and the slash may be omitted to use the
normal value.
The second part is a regexp identifying the pattern preceding the time stamp.
This part may be omitted to use the normal pattern.
The third part specifies the format of the time stamp inserted. See
the documentation for `time-stamp-format' for details. Specify this
part as "%%" to use the normal format.
The fourth part is a regexp identifying the pattern following the time stamp.
This part may be omitted to use the normal pattern.
The pattern does not need to match the entire line of the time stamp.
These variables are best changed with file-local variables.
If you were to change `time-stamp-pattern', `time-stamp-line-limit',
`time-stamp-start', or `time-stamp-end' in your init file, you
would be incompatible with other people's files.
See also `time-stamp-count' and `time-stamp-inserts-lines'.
Examples:
"-10/" (sets only `time-stamp-line-limit')
"-9/^Last modified: %%$" (sets `time-stamp-line-limit',
`time-stamp-start' and `time-stamp-end')
"@set Time-stamp: %:B %1d, %Y$" (sets `time-stamp-start',
`time-stamp-format' and `time-stamp-end')
"newcommand{\\\\timestamp}{%%}" (sets `time-stamp-start'
and `time-stamp-end')
(defvar time-stamp-pattern nil (#$ . 7920))
#@1363 Update any time stamp string(s) in the buffer.
This function looks for a time stamp template and updates it with
the current date, time, and/or other info.
The template, which you manually create on one of the first 8 lines
of the file before running this function, by default can look like
one of the following (your choice):
Time-stamp: <>
Time-stamp: " "
This function writes the current time between the brackets or quotes,
by default formatted like this:
Time-stamp: <2020-08-07 17:10:21 gildea>
Although you can run this function manually to update a time stamp
once, usually you want automatic time stamp updating.
A time stamp can be automatically updated with current information
every time you save a file. To enable time-stamping for all files,
customize option `before-save-hook' or add this line to your init file:
(add-hook \='before-save-hook \='time-stamp)
To enable automatic time-stamping for only a specific file, add
this line to a local variables list near the end of the file:
eval: (add-hook \='before-save-hook \='time-stamp nil t)
If the file has no time-stamp template, this function does nothing.
You can set `time-stamp-pattern' in a file's local variables list
to customize the information in the time stamp and where it is written.
The time stamp is updated only if `time-stamp-active' is non-nil.
(defalias 'time-stamp #[0 " \n\f\306\307\310\211
;\203J \311\312
\"\210\313\224\203 \314\315\313
\"!\262 \316\224\203+ \315\316
\"\262\317\224\203? \315\317
\"\320\230\204? \315\317
\"\262\321\224\203J \315\321
\"\262\250\204[ \322\262 \323\324!\210\325\307!\210\250\204n \307\262\323\326!\210\325\307!\210\202w \307W\203w \307\262;\203\223 \306\311\327 #\203\222 T\262\306\225\262\202~ \210\306\311\327#\203\250 T\262\306\225\262\202\224 \210\212\214~\210\306V\203\304 e\211\262b\210y\210`\262\202\341 \306W\203\333 d\211\262b\210y\210`\262\202\341 e\262d\262*\203\nW\203\n\306V\203\n\330\n &\262S\262\202\342 \266 \310\207" [time-stamp-line-limit time-stamp-start time-stamp-format time-stamp-end time-stamp-count time-stamp-pattern 0 1 nil string-match "\\`\\(\\(-?[0-9]+\\)/\\)?\\([^%]+\\)?\\(\\(%[-.,:@+_ #^()0-9]*[A-Za-z%][^%]*\\)*%[-.,:@+_ #^()0-9]*[A-Za-z%]\\)?\\([^%]+\\)?\\'" 2 string-to-number match-string 3 4 "%%" 6 8 message "time-stamp-line-limit is not an integer" sit-for "time-stamp-count is not an integer" "\n" time-stamp-once] 17 (#$ . 9658) nil])
#@216 Update one time stamp. Internal routine called by \[time-stamp].
Returns the end point, which is where `time-stamp' begins the next search.
(fn START SEARCH-LIMIT TS-START TS-END TS-FORMAT FORMAT-LINES END-LINES)
(defalias 'time-stamp-once #[1799 "\304\211\211\211\212\214~\210\nb\nW\203c \204c \305 \306#\203c `\262 \204+ y\210\n`]\262y\307U\203\n n\203? \310u\210`\n^\211Y\203_ b\210\305 \311#\203_ \307\224\262\307\225Z\262\210\202\n *\203\314 \n\204{ \203\314 \312\313!\210\314\315!\210\202\314 ;\203\207 ;\204\222 \312\316!\210\314\315!\210\202\314 \317!\211;\203\313 {\230\204\313 \212\214~\210|\210b\210\320!\210`\262\321\322
\311#\203\312 \323\f\"\210`\262*\210\205\327 \211\205\327 \\)\207" [case-fold-search time-stamp-inserts-lines time-stamp-active time-stamp-warn-inactive nil re-search-forward move 0 -1 t message "Warning: time-stamp-active is off; did not time-stamp buffer." sit-for 1 "time-stamp-start or time-stamp-end is not a string" time-stamp-string insert-and-inherit search-backward " " untabify] 16 (#$ . 12156)])
#@161 Toggle `time-stamp-active', setting whether \[time-stamp] updates a buffer.
With ARG, turn time stamping on if and only if ARG is positive.
(fn &optional ARG)
(defalias 'time-stamp-toggle-active #[256 "\211\204 ?\202 \301!\302V\303\304\203 \305\202 \306\"\207" [time-stamp-active prefix-numeric-value 0 message "time-stamp is now %s." "active" "off"] 4 (#$ . 13252) "P"])
#@121 FORMAT a TIME in zone `time-stamp-time-zone'.
Internal helper used by `time-stamp-string-preprocess'.
(fn FORMAT TIME)
(defalias 'time-stamp--format #[514 "\301#\207" [time-stamp-time-zone format-time-string] 6 (#$ . 13640)])
#@261 Generate the new string to be inserted by \[time-stamp].
Optionally use format TS-FORMAT instead of `time-stamp-format' to
format the string. Optional second argument TIME is only for testing;
normally the current time is used.
(fn &optional TS-FORMAT TIME)
(defalias 'time-stamp-string #[512 "\206 \211\262;\205 \301\"\207" [time-stamp-format time-stamp-string-preprocess] 5 (#$ . 13877)])
#@62 String to use when the buffer is not associated with a file.
(defconst time-stamp-no-file "(no file)" (#$ . 14283))
#@262 Use a FORMAT to format date, time, file, and user information.
Optional second argument TIME is only for testing.
This is an internal routine implementing extensions to `format-time-string'
and all `time-stamp-format' compatibility.
(fn FORMAT &optional TIME)
(defalias 'time-stamp-string-preprocess #[513 "G\304\305\306W\203\376H\262\211\307=\203\357\305\306\305\304\305\211\211\211\211\304
T\262
W\2036 H\2027 \304\262
\f\310=\204 \f\311=\204 \f\312=\204 \f\313=\204 \f\314=\204 \f\315=\204 \f\316=\204 \f\317=\204 \f\320=\204 \f\321=\204 \f\322=\203\225 \323=\204\225 \211T\211\262\204 \f\324=\203\261 \323=\204\261 \211\304V\203\261 \211S\211\262\202\274 \211\304V\203\277
W\204 \325
X\203C\326
Y\203C
T\262W\203\346 H\202\347 \304\262\325X\203\367 \326Y\204\321 O\262S\262\211\262\266\f\262\n\f\327\267\202! T\262\202! \330\262\202! \330\262\202! \330\262\202! \331\262 \330\262\202! \332\262 \330\262\202! \202! \f\333\267\202~\334\202\304V\203h\306\230\203d\335\336\"\202\306\202\204p\203x\335\337\"\202\335\340\"\202\204\217\204\217\306\230\204\227\335\341\"\202\335\336\"\202\304V\203\271\306\230\203\265\335\342\"\202\306\202\204\301\203\311\335\343\"\202\335\344\"\202\204\340\204\340\306\230\204\350\335\345\"\202\335\342\"\202\346
$\202\346
$\202\346
$\202\346
$\202\346
$\202\203=\335\347\"\202\335\350\"\202\335\350\"\202\346
$\202\335\351\"\202\304V\203s\352\335\353\"!\202\306\230\204\203\352 !\354X\203\215\352\335\355\"!\202\356\357\360\"\353\"\210\352\335\353\"!\202\352\335\353\"!\202\352 !\247\203\267\202\315:\203\307@\247\203\307@\202\315\361\"@\306\262\203\333\266\306\202\304U\203\204\204\204\304U\203\356\362\363\"\210\335\363\"\266\202\202\364\f&\266\202\202\203\"\335\363\"\202\335\365\"\202 \2034\366 !\202\n\202 \206\n\202\367 \202\370 \202\371 \202\370 \202\371 \202\206\367 \202\367 \372\373\"\203s\211\304\211\224O\202t\211\262\202\367 \202\305\262\247\203\230\304U\203\230\306\230\203\230\374\262 \357\211\375\247\203\247\376\202\250\377# \206\257\306\"\211G\n\306\230\203\275\211\202\301\352!V\203\345\n;\203\337\201@ =\204\337\304O\266\202\202\350\266\202\202\350\266\202\262\266\212\202\364\201A !P\262T\262\202 \207" [time-stamp-time-zone buffer-file-name time-stamp-no-file mail-host-address 0 nil "" 37 46 44 58 64 45 43 95 32 35 94 40 92 41 48 57 #s(hash-table size 6 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (58 276 35 284 94 290 48 296 45 302 95 311)) t "1" "2" #s(hash-table size 28 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (37 330 97 334 65 384 98 415 66 465 100 496 72 509 73 522 109 535 77 548 112 561 80 581 83 589 119 602 121 610 89 672 122 682 90 790 102 810 70 824 115 832 117 837 85 842 108 847 76 852 104 857 113 866 81 889)) "%" time-stamp--format "%A" "%#a" "%a" "%#A" "%B" "%#b" "%b" "%#B" time-stamp-do-number "%#p" "%p" "%w" string-to-number "%Y" 2 "%y" time-stamp-conv-warn format "%%%sy" current-time-zone "%z" "%#Z" time-stamp-formatz-from-parsed-options "%Z" file-name-nondirectory system-name user-login-name user-full-name string-match "\\." "02" "%%%s%c" 100 115 122 char-to-string] 26 (#$ . 14406)])
#@307 Handle compatible FORMAT-CHAR where only default width/padding will change.
ALT-FORM is whether `#' was specified. FIELD-WIDTH is the string
width specification or "". TIME is the time to convert.
This is an internal helper for `time-stamp-string-preprocess'.
(fn FORMAT-CHAR ALT-FORM FIELD-WIDTH TIME)
(defalias 'time-stamp-do-number #[1028 "\300\301!P\302V\203 \303\230\204 \303\207\304\305\"!\207" ["%" char-to-string 0 "" string-to-number time-stamp--format] 9 (#$ . 17943)])
#@440 Enable warnings about soon-to-be-unsupported forms in `time-stamp-format'.
If nil, these warnings are disabled, which would be a bad idea!
You really need to update your files instead.
The new formats will work with old versions of Emacs.
New formats are being recommended now to allow `time-stamp-format'
to change in the future to be compatible with `format-time-string'.
The new forms being recommended now will continue to work then.
(defvar time-stamp-conversion-warn t (#$ . 18440))
#@122 Display a warning about a soon-to-be-obsolete format.
Suggests replacing OLD-FORM with NEW-FORM.
(fn OLD-FORM NEW-FORM)
(defalias 'time-stamp-conv-warn #[514 "\205# r\301\302!q\210db\210o\203 \303\304\305\261\210\306\307\310\261\210)\311\302!\207" [time-stamp-conversion-warn get-buffer-create "*Time-stamp-compatibility*" "The formats recognized in time-stamp-format will change in a future release\n" "to be more compatible with the format-time-string function.\n\n" "The following obsolescent time-stamp-format construct(s) were found:\n\n" "\"" "\" -- use " "\n" display-buffer] 7 (#$ . 18937)])
#@1415 Formats a time offset according to a %z variation.
With no flags, the output includes hours and minutes: +-HHMM
unless there is a non-zero seconds part, in which case the seconds
are included: +-HHMMSS
FLAG-MINIMIZE is whether "-" was specified. If non-nil, the
output may be limited to hours if minutes and seconds are zero.
FLAG-PAD-SPACES-ONLY is whether "_" was specified. If non-nil,
seconds must be output, so that any padding can be spaces only.
FLAG-PAD-ZEROS-FIRST is whether "0" was specified. If non-nil,
padding to the requested FIELD-WIDTH (if any) is done by adding
00 seconds before padding with spaces.
COLON-COUNT is the number of colons preceding the "z" (0-3). One or
two colons put that many colons in the output (+-HH:MM or +-HH:MM:SS).
Three colons outputs only hours if minutes and seconds are zero and
includes colon separators if minutes and seconds are output.
FIELD-WIDTH is a whole number giving the minimum number of characters
in the output; 0 specifies no minimum. Additional characters will be
added on the right if necessary. The added characters will be spaces
unless FLAG-PAD-ZEROS-FIRST is non-nil.
OFFSET-SECS is the time zone offset (in seconds east of UTC) to be
formatted according to the preceding parameters.
This is an internal function used by `time-stamp'.
(fn FLAG-MINIMIZE FLAG-PAD-SPACES-ONLY FLAG-PAD-ZEROS-FIRST COLON-COUNT FIELD-WIDTH OFFSET-SECS)
(defalias 'time-stamp-formatz-from-parsed-options #[1542 "\300!\301\245\300!\301\246\302\245\300!\302\246\303 \203 \304V\204\357 \203* \304V\204\357 \2034 \204\357 \203>