MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 18.191.89.16
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/time-stamp.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:06:32 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/time-stamp.el
;;; in Emacs version 24.3.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301\302\303\304\305\304\306&\210\307\310\311\312\313\314\304\301\315\316&	\210\307\317\320\321\313\322\304\301&\210\307\323\320\324\313\322\304\301\315\325&	\210\307\326\327\330\313\331\304\301&\210\307\332\302\333\313\334\304\301\315\316&	\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 "%:y-%02m-%02d %02H:%02M:%02S %u" "Format of the string inserted by \\[time-stamp].\nThe value may be a string or a list.  Lists are supported only for\nbackward compatibility; see variable `time-stamp-old-format-warn'.\n\nA string is used verbatim except for character sequences beginning\nwith %, as follows.  The values of non-numeric formatted items depend\non the locale setting recorded in `system-time-locale' and\n`locale-coding-system'.  The examples here are for the default\n(`C') locale.\n\n%:a  weekday name: `Monday'.		%#A gives uppercase: `MONDAY'\n%3a  abbreviated weekday: `Mon'.	%3A gives uppercase: `MON'\n%:b  month name: `January'.		%#B gives uppercase: `JANUARY'\n%3b  abbreviated month: `Jan'.		%3B 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: `03'			%:y 4-digit year: `2003'\n%z   time zone name: `est'.		%Z  gives uppercase: `EST'\n\nNon-date items:\n%%   a literal percent character: `%'\n%f   file name without directory	%F  gives absolute pathname\n%s   system name\n%u   user's login name			%U  user's full 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; years on the left.\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\nIn the future these formats will be aligned more with `format-time-string'.\nBecause of this transition, the default padding for numeric formats will\nchange in a future version.  Therefore either a padding width should be\nspecified, or the : modifier should be used to explicitly request the\nhistorical default." :type string :version "20.1" time-stamp-active t "Non-nil to enable time-stamping of buffers by \\[time-stamp].\nCan be toggled by \\[time-stamp-toggle-active].\nSee also the variable `time-stamp-warn-inactive'." boolean time-stamp-warn-inactive "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-old-format-warn 'ask "Action if `time-stamp-format' is an old-style list.\nIf `error', the format is not used.  If `ask', the user is queried about\nusing the time-stamp-format.  If `warn', a warning is displayed.\nIf nil, no notification is given." (choice (const :tag "Don't use the format" error) (const ask) (const warn) (const :tag "No notification" nil)) time-stamp-time-zone "If non-nil, a string naming the timezone to be used by \\[time-stamp].\nFormat is the same as that used by the environment variable TZ on your system." (choice (const nil) string)] 10)
#@666 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).

This value can also be set with the variable `time-stamp-pattern'.

Do not change `time-stamp-line-limit', `time-stamp-start',
`time-stamp-end', or `time-stamp-pattern' for yourself or you will be
incompatible with other people's files!  If you must change them for some
application, do so in the local variables section of the time-stamped file
itself.
(defvar time-stamp-line-limit 8 (#$ . 3934))
#@488 Regexp after which the time stamp is written by \[time-stamp].
See also the variables `time-stamp-end' and `time-stamp-line-limit'.

This value can also be set with the variable `time-stamp-pattern'.

Do not change `time-stamp-line-limit', `time-stamp-start',
`time-stamp-end', or `time-stamp-pattern' for yourself or you will be
incompatible with other people's files!  If you must change them for some
application, do so in the local variables section of the time-stamped file
itself.
(defvar time-stamp-start "Time-stamp:[ 	]+\\\\?[\"<]+" (#$ . 4651))
#@909 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.

This value can also be set with the variable `time-stamp-pattern'.

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.  \[time-stamp] tries
to not change the number of lines in the buffer.  `time-stamp-inserts-lines'
controls this behavior.

Do not change `time-stamp-start', `time-stamp-end', `time-stamp-pattern',
or `time-stamp-inserts-lines' for yourself or you will be incompatible
with other people's files!  If you must change them for some application,
do so in the local variables section of the time-stamped file itself.
(defvar time-stamp-end "\\\\?[\">]" (#$ . 5213))
#@740 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.

Do not change `time-stamp-end' or `time-stamp-inserts-lines' for
yourself or you will be incompatible with other people's files!
If you must change them for some application, do so in the local
variables section of the time-stamped file itself.
(defvar time-stamp-inserts-lines nil (#$ . 6177))
#@328 How many templates \[time-stamp] will look for in a buffer.
The same time stamp will be written in each case.

Do not change `time-stamp-count' for yourself or you will be
incompatible with other people's files!  If you must change it for
some application, do so in the local variables section of the
time-stamped file itself.
(defvar time-stamp-count 1 (#$ . 6973))
#@1378 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.

Examples:
"-10/"
"-9/^Last modified: %%$"
"@set Time-stamp: %:b %:d, %:y$"
"newcommand{\\\\timestamp}{%%}"

Do not change `time-stamp-pattern' `time-stamp-line-limit',
`time-stamp-start', or `time-stamp-end' for yourself or you will be
incompatible with other people's files!  If you must change them for
some application, do so only in the local variables section of the
time-stamped file itself.
(defvar time-stamp-pattern nil (#$ . 7348))
#@883 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 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
look like one of the following:
      Time-stamp: <>
      Time-stamp: " "
The time stamp is written between the brackets or quotes:
      Time-stamp: <2001-02-18 10:20:51 gildea>
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
the template.
(defalias 'time-stamp #[nil "	\n\f\306\307\310\211 !;\203b\311\312!\"\210\313\224\2034\314\315\313!\"! \316\224\203@\315\316!\"\317\224\203V\315\317!\"\320\230\204V\315\317!\"\321\224\203b\315\321!\" \250\204s\322 \323\324!\210\325\307!\210\250\204\207\307\323\326!\210\325\307!\210\202\221\307W\203\221\307;\203\261\306\"\311\327\"#\203\260T\306\225\"\202\232)\306\"\311\327\"#\203\312T\306\225\"\202\264)\212\214~\210 \306V\203\345e\211b\210 y\210`\202 \306W\203\373d\211b\210 y\210`\202ed*\203.
W\203.\306V\203.\330
&S\202.	\310\207" [time-stamp-line-limit time-stamp-start time-stamp-format time-stamp-end time-stamp-count search-limit 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 start end-lines format-lines ts-count ts-end ts-format ts-start line-limit time-stamp-pattern nl-start] 9 (#$ . 8776) nil])
#@142 Update one time stamp.  Internal routine called by \[time-stamp].
Returns the end point, which is where `time-stamp' begins the next search.
(defalias 'time-stamp-once #[(start search-limit ts-start ts-end ts-format format-lines end-lines) "\306\211\211\211\212\214~\210\fb
W\203b\n\204b\307
\310#\203b`\204+y\210\f`]y\311U\203\fn\203>\312u\210`
^\211	Y\203^	b\210\307\313#\203^\311\224\311\225\nZ)\202\f*\n\203\312\204|\203\312\314\315!\210\316\317!\210\202\312;\203\210;\204\223\314\320!\210\316\317!\210\202\312\321!\211;\203\311\f\n{\230\204\311\212\214~\210\f\n|\210\fb\210\322!\210`\323\324\f\313#\203\310\325\f\n\"\210`*)\n\205\325\205\325\n\\,\207" [end-length end-search-start end case-fold-search start search-limit 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 ts-start time-stamp-inserts-lines format-lines end-lines line-end ts-end time-stamp-active time-stamp-warn-inactive ts-format new-time-stamp] 5 (#$ . 10867)])
#@141 Toggle `time-stamp-active', setting whether \[time-stamp] updates a buffer.
With ARG, turn time stamping on if and only if arg is positive.
(defalias 'time-stamp-toggle-active #[(&optional arg) "\204		?\202\302!\303V\304\305	\203\306\202\307\"\207" [arg time-stamp-active prefix-numeric-value 0 message "time-stamp is now %s." "active" "off"] 3 (#$ . 12057) "P"])
#@143 Generate the new string to be inserted by \[time-stamp].
Optionally use format TS-FORMAT instead of `time-stamp-format' to
format the string.
(defalias 'time-stamp-string #[(&optional ts-format) "\204	;\203(\n;\203\"\305\306!\307\216\310\306\n\"\210\311\312!!*\207\311\312!!\207\f\313=\204:\f\314=\203D\315\316!\204D\317\320!\210\321\322!\210\323\207\f\324=\203R\317\325!\210\321\322!\210\326\327\"\207" [ts-format time-stamp-format time-stamp-time-zone ts-real-time-zone time-stamp-old-format-warn getenv "TZ" ((setenv "TZ" ts-real-time-zone)) setenv format-time-string time-stamp-string-preprocess error ask y-or-n-p "Use non-string time-stamp-format? " message "Warning: no time-stamp: time-stamp-format not a string" sit-for 1 nil warn "Obsolescent time-stamp-format type; should be string" time-stamp-fconcat " "] 3 (#$ . 12438)])
#@62 String to use when the buffer is not associated with a file.
(defconst time-stamp-no-file "(no file)" (#$ . 13295))
#@213 Use a FORMAT to format date, time, file, and user information.
Optional second argument TIME is only for testing.
Implements non-time extensions to `format-time-string'
and all `time-stamp-format' compatibility.
(defalias 'time-stamp-string-preprocess #[(format &optional time) "G\306\307\211\310\307\211\211\211\306@ABCDCDW\203ACHB@B\311=\203/\307\211\310CT\211CDW\203JCH\202K\306\211B\312=\204B\313=\204B\314=\204B\315=\204B\316=\204B\317=\204B\320=\204B\321=\204B\322=\204B\323=\204B\324=\203\247A\325=\204\247	T\211\204B\326=\203\302A\325=\204\302	\306V\203\302	S\211\202\315	\306V\203\320CDW\204\327BX\203/\330BY\203/CECT\211CDW\203\365CH\202\366\306B\327BX\203\330BY\204\342ECOCSC)BAB\314=\203#\331\2027B\322=\2037\331\2027B\311=\203:\332\202\315B\333=\203r\n\203M\334\335F\"\202\315\204\\
\310\230\203\\\336\337\340\"\210\203j
\310\230\204j\310\202\315\334\341F\"\202\315B\342=\203\234\203\205\334\341F\"\202\315\n\204\224
\310\230\203\224\336\341\343\"\210\334\343F\"\202\315B\344=\203\324\n\203\257\334\345F\"\202\315\204\276
\310\230\203\276\336\346\347\"\210\203\314
\310\230\204\314\310\202\315\334\350F\"\202\315B\351=\203\376\203\347\334\350F\"\202\315\n\204\366
\310\230\203\366\336\350\352\"\210\334\352F\"\202\315B\353=\203\354B
F$\202\315B\355=\203\"\354B
F$\202\315B\356=\2034\354B
F$\202\315B\357=\203F\354B
F$\202\315B\360=\203X\354B
F$\202\315B\361=\203p\n\204h\336\362\363\"\210\334\363F\"\202\315B\364=\203\334\362F\"\202\315B\365=\203\221\354B
F$\202\315B\366=\203\240\334\367F\"\202\315B\370=\203\300\204\266
\310\230\203\266\336\371\372\"\210\373\334\374F\"!\202\315B\375=\203\321\373\334\374F\"!\202\315B\376=\203\350\n\203\340\310\202\315\334\377F\"\202\315B\201M=\203\n\203\375\334\377F\"\202\315\334\201NF\"\202\315B\201O=\203#G\203\201PG!\202\315H\202\315B\201Q=\2036G\206\315H\202\315B\201R=\203F\201S \202\315B\201T=\203V\201U \202\315B\201V=\203f\201W \202\315B\201X=\203v\201U \202\315B\201Y=\203\206\201W \202\315B\201Z=\203\226\201[ \202\315B\201\\=\203\300\201S I\201]\201^I\"\203\272I\306\211\224O\202\274I)\202\315B\201_=\205\315\201S \300\211\201`
\f\247\203\335\353\202\340\201R#\f\206\346\310\"\211JGK
\310\230\203\370K\202\373\373
!LKLV\203)\f;\203J\306LO\202+B\370=\203$JL[\307O\202+J\202+J+\2025\201aB!P@CT\211C\202@.\n\207" [format paren-level change-case alt-form field-result field-width 0 nil "" 37 46 44 58 64 45 43 95 32 35 94 40 92 41 48 57 t "%%" 97 format-time-string "%#a" time-stamp-conv-warn "%a" "%:a" "%A" 65 "%#A" 98 "%#b" "%b" "%:b" "%B" 66 "%#B" 100 time-stamp-do-number 72 73 109 77 112 "%p" "%#p" 80 83 119 "%w" 121 "%y" "%:y" string-to-number "%Y" 89 122 "%#Z" result prev-char cur-char ind fmt-len field-index time buffer-file-name time-stamp-no-file qualname padded-result initial-length desired-length 90 "%Z" 102 file-name-nondirectory 70 115 system-name 117 user-login-name 85 user-full-name 108 76 104 time-stamp-mail-host-name 113 string-match "\\." 81 "%%%s%c" char-to-string] 11 (#$ . 13418)])
#@196 Handle compatible FORMAT-CHAR where only default width/padding will change.
ALT-FORM is whether `#' specified.  FIELD-WIDTH is the string
width specification or "".  TIME is the time to convert.
(defalias 'time-stamp-do-number #[(format-char alt-form field-width time) "\305\306!P\n\204\307\230\203\310	\311\312\"\"\210\n\203&\307\230\204&\307\202,\313\314	\f\"!)\207" [format-char format-string alt-form field-width time "%" char-to-string "" time-stamp-conv-warn format "%%:%c" string-to-number format-time-string] 5 (#$ . 16740)])
#@429 Warn 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 (#$ . 17293))
#@98 Display a warning about a soon-to-be-obsolete format.
Suggests replacing OLD-FORM with NEW-FORM.
(defalias 'time-stamp-conv-warn #[(old-form new-form) "\205#r\303\304!q\210db\210o\203\305\306\307\261\210\310	\311\n\312\261\210)\313\304!\207" [time-stamp-conversion-warn old-form new-form get-buffer-create "*Time-stamp-compatibility*" "The formats recognized in time-stamp-format will change in a future release\n" "to be compatible with the new, expanded format-time-string function.\n\n" "The following obsolescent time-stamp-format construct(s) were found:\n\n" "\"" "\" -- use " "\n" display-buffer] 5 (#$ . 17778)])
#@174 Return the name of the host where the user receives mail.
This is the value of `mail-host-address' if bound and a string,
otherwise the value of the function `system-name'.
(defalias 'time-stamp-mail-host-name #[nil "\301\300!\203;\203\206\302 \207" [mail-host-address boundp system-name] 2 (#$ . 18412)])
#@305 Similar to (mapconcat 'funcall LIST SEP) but LIST allows literals.
If an element of LIST is a symbol, it is funcalled to get the string to use;
the separator SEP is used between two strings obtained by funcalling a
symbol.  Otherwise the element itself is inserted; no separator is used
around literals.
(defalias 'time-stamp-fconcat #[(list sep) "\304\305\n\203/\n@9\203!\203	P	\n@ P\306\202(	\n@P\305\nA\211\204	*\207" [insert-sep-p return-string list sep "" nil t] 3 (#$ . 18733)])
(provide 'time-stamp)

MMCT - 2023