;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (require 'cl) (defvar *cg-integer-hex-digits* nil) #@61 Value used to define that a marker has type 'insert after'. (defvar *cg-insert-after* nil (#$ . 138)) #@62 Value used to define that a marker has type 'insert before'. (defvar *cg-insert-before* t (#$ . 246)) #@80 Calculate the number of hex digits that are required to represent any integer. (defalias 'cg-integer-hex-digits #[nil "\305\306\f\204\n\306U\204\307\n\310\" T\202\n +\f\207" [most-negative-fixnum hex-digit-ct an-integer fname *cg-integer-hex-digits* "cg-integer-hex-digits" 0 lsh -4] 3 (#$ . 354)]) #@48 Return a hex formatted representation of PAIR. (defalias 'OBS-cg-hex-format-pair #[(pair) "\304\305 \306\307\310 \"\211\211P\307 @ A#+\207" [formatter hex-digit-count fname pair "cg-hex-format-pair" cg-integer-hex-digits nil format "%%0%dx"] 5 (#$ . 671)]) #@50 Return a hex formatted representation of TRIPLE. (defalias 'OBS-cg-hex-format-triple #[(triple) "\304\305 \306\307\310 \"\211\211Q\307 @ A@ AA$+\207" [formatter hex-digit-count fname triple "cg-hex-format-triple" cg-integer-hex-digits nil format "%%0%dx"] 6 (#$ . 940)]) #@205 Round NUMBER up to the next multiple of MODULUS. If number ≡ 0 (modulus), then the NUMBER is already rounded up, so NUMBER is returned. CAVEAT: If NUMBER is negative, then the result may be surprising. (defalias 'cg-round-up #[(number modulus) "\303 \250\203\f\n\250\204\304\305\"\210\306 \n\"\307U\203 \202E\310 !\311U\2031\n \n\\S\n\245_\202E\310 !\312U\203A\n \n\245_\202E\304\313\")\207" [fname number modulus "cg-round-up" error "%s() takes integer arguments." mod 0 signum 1 -1 "%s(): Impossible condition."] 3 (#$ . 1225)]) #@162 Pad STRING on the right with CHAR until it is at least WIDTH characters wide. CHAR is typically a character or a single character string, but may be any string. (defalias 'cg-pad-right #[(string width char) "\304\305 !\203\f\306 !\nG W\203\n P\211\202 \n)\207" [fname char string width "cg-pad-right" characterp char-to-string] 3 (#$ . 1778)]) #@143 Strip the given RE from the right end of STRING. If the optional argument MULTIPLES is not NIL, then match as many copies of RE as are there. (defalias 'cg-strip-right #[(re string &optional multiples) "\306\203\f\307 \310Q\202 \311P\n\312 \313\216\314\f\n\"\203&\n\315\211\224O* +\207" [multiples re string result inner-re fname "cg-strip-right" "\\(" "\\)+\\'" "\\'" match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] string-match 0 save-match-data-internal] 4 (#$ . 2136)]) #@142 Strip the given RE from the left end of STRING. If the optional argument MULTIPLES is not NIL, then match as many copies of RE as are there. (defalias 'cg-strip-left #[(re string &optional multiples) "\306\203\f\307 \310Q\202\311 P\n\312 \313\216\314\f\n\"\203&\n\315\225\316O* +\207" [multiples re string result inner-re fname "cg-strip-left" "\\`\\(" "\\)+" "\\`" match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] string-match 0 nil save-match-data-internal] 4 (#$ . 2670)]) #@140 Remove the given RE from both ends of STRING. If the optional argument MULTIPLES is not NIL, then match as many copies of RE as are there. (defalias 'cg-strip #[(re string &optional multiples) "\305\306\307\n\310\n \f#\f#*\207" [result fname re string multiples "strip" nil cg-strip-left cg-strip-right] 6 (#$ . 3205)]) #@94 Pad the given STRING with PAD-CHAR so that the resulting string has at least length MODULUS. (defalias 'cpio-pad #[(string modulus pad-char) "\306 G\307\n \"\310 \f #+\207" [fname string string-length modulus desired-length pad-char "cpio-padded" cg-round-up cg-pad-right] 4 (#$ . 3533)]) #@230 Return the uid (an integer) for the given OWNER (a string) if it exists. If it doesn't exist, then return NIL. If OWNER is a sequence of digits, then return OWNER as the GID. CAVEAT: This deletes any buffer holding /etc/passwd. (defalias 'cpio-uid-for-owner #[(owner) "\306\307\310!\311\312 \311\313\314#)\266\203\203 \202Mr q\210eb\210\315 \316\216\3172K`dW\205J\320 \321P!\203D\322\323!\324\317\"\210\311y\210\202-0\210+\325 !\210\205X\326!+\207" [uid passwd-buffer fname owner inhibit-changing-match-data save-match-data-internal "cpio-uid-for-owner" find-file-noselect "/etc/passwd" nil "\\`[[:digit:]]+\\'" t string-match match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] found-it looking-at ":[[:graph:]]+:\\([[:digit:]]+\\):[[:digit:]]+:" match-string-no-properties 1 throw kill-buffer string-to-number] 7 (#$ . 3832)]) #@229 Return the GID (an integer) for the given GROUP (a string) if it exists. If it doesn't exist, then return NIL. If GROUP is a sequence of digits, then return GROUP as the GID. CAVEAT: This deletes any buffer holding /etc/group. (defalias 'cpio-gid-for-group #[(group) "\306\307\310!\311 \204\311\202i ;\203h\312 \311\313\314#)\266\203\203* \202Zr q\210eb\210\315 \316\216\3172X`dW\205W\320 \321P!\203Q\322\323!\324\317\"\210\311y\210\202:0\210+\325 !\210\205i\326!\202i\311+\207" [gid group-buffer fname group inhibit-changing-match-data save-match-data-internal "cpio-gid-for-group" find-file-noselect "/etc/group" nil "\\`[[:digit:]]+\\'" t string-match match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] found-it looking-at ":[[:graph:]]+:\\([[:digit:]]+\\):" match-string-no-properties 1 throw kill-buffer string-to-number] 7 (#$ . 4728)]) #@106 Run body with the current buffer writable. Reset the buffer's read-only (or not) status after execution. (defalias 'with-writable-buffer '(macro . #[(&rest body) "\301\302\303\304\305\"BBB\207" [body let ((bro-before buffer-read-only)) (setq buffer-read-only nil) append ((setq buffer-read-only bro-before))] 6 (#$ . 5643)])) #@361 Return an emacs time from a HUMAN-TIME. HUMAN-TIME may be any of many time formats typically used by humans. If I've missed one, please let me know. Star dates, really, star dates. Besides that, with general relativity can we really be sure? CAVEAT: This function attampts to handle multiple forms of dates in English. Other languages are not yet implemented. (defalias 'encode-human-time #[(human-time) "\306\307\310\211\211\211\211\311\312\313\314\315\316'()*+,-\317 .\320\216\321\322 \323 \323 \324\325\260 /\"\203~\326\327\330/\"!,\331\327\332/\"!+\326\327\333/\"!*\326\327\334/\"\206^\335!)\326\327\336/\"\206k\335!(\326\327\337/\"\206x\335!'\202\330\321\322 \323\f\323 \324\325\260 /\"\203\325\326\327\330/\"!,\331\327\332/\"!+\326\327\333/\"!*\326\327\334/\"\206\265\335!)\326\327\336/\"\206\302\335!(\326\327\337/\"\206\317\335!'\202\330\321\322 \323 \340 \341\325\260 /\"\203,\326\327\333/\"!,\331\327\330/\"!+\326\327\332/\"!*\326\327\334/\"\206\f\335!)\326\327\336/\"\206\335!(\326\327\337/\"\206&\335!'\202\330\321\322\f\323 \342 \341\325\260 /\"\203\207\326\327\333/\"!,\331\327\330/\"!+\326\327\332/\"!*\326\327\334/\"\206c\335!)\326\327\336/\"\206p\335!(\326\327\337/\"\206}\335!'\343\344!\210\202\330\321\322 \323\n\323 \341\325\260 /\"\203\253\321\322 \323 \323\n\341\325\260 /\"\204\330\321\322\n\323 \323 \341\325\260 /\"\203\317\321\322 \323\n\323 \341\325\260 /\"\204\330\321\322 \323\n\323 \341\325\260 /\"\203&\326\327\330/\"!,\326\327\332/\"!+\326\327\333/\"!*\326\327\334/\"\206\335!)\326\327\336/\"\206\335!(\326\327\337/\"\206 \335!'\202\330\321\322\n\323 \323 \341\325\260 /\"\203}\326\327\333/\"!,\326\327\330/\"!+\326\327\332/\"!*\326\327\334/\"\206]\335!)\326\327\336/\"\206j\335!(\326\327\337/\"\206w\335!'\202\330\321\322 \323\n\323 \341\325\260 /\"\203\324\326\327\330/\"!,\326\327\332/\"!+\326\327\333/\"!*\326\327\334/\"\206\264\335!)\326\327\336/\"\206\301\335!(\326\327\337/\"\206\316\335!'\202\330\343\345!\210*,\205\355\346'()*+,&. \207" [time-re day-re mm-re month-re mon-re year-re "encode-human-time" nil 0 "\\([[:digit:]]\\{4\\}\\)" "\\(jan\\|feb\\|mar\\|apr\\|may\\|jun\\|jul\\|aug\\|sep\\|oct\\|nov\\|dec\\)" "\\(january\\|february\\|march\\|april\\|may\\|june\\|july\\|august\\|september\\|october\\|november\\|december\\)" "\\(0?[[:digit:]]\\|1[012]\\)" "\\([012]?[[:digit:]]\\|3[01]\\)" "\\(\\([012]?[[:digit:]]\\):\\([012345][[:digit:]]\\)\\(:\\([0123456][[:digit:]]\\)\\)?\\)" match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] string-match "\\`" "[-/ ]+" "[- ]*" "?\\'" string-to-number match-string-no-properties 1 month-to-number 2 3 5 "0" 6 8 "[,]?\\s-+" "[-/ ]*" "[,]?\\s-*" message "Format: [[Month dd, YYYY hh:mm:ss]]" "Unknown format." encode-time second minute hour day month year fname save-match-data-internal human-time] 13 (#$ . 5977)]) #@45 Convert The MONTH-NAME to a number (1..12). (defalias 'month-to-number #[(month-name) "\303\304 \305\216\306\307\n\310\311O\"\203\312\202\264\306\313\n\310\311O\"\203#\314\202\264\306\315\n\310\311O\"\2031\311\202\264\306\316\n\310\311O\"\203?\317\202\264\306\320\n\310\311O\"\203M\321\202\264\306\322\n\310\311O\"\203[\323\202\264\306\324\n\310\311O\"\203i\325\202\264\306\326\n\310\311O\"\203w\327\202\264\306\330\n\310\311O\"\203\205\331\202\264\306\332\n\310\311O\"\203\223\333\202\264\306\334\n\310\311O\"\203\241\335\202\264\306\336\n\310\311O\"\203\257\337\202\264\340\341\n#+\207" [fname save-match-data-internal month-name "month-to-number" match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] string-match "jan" 0 3 1 "feb" 2 "mar" "apr" 4 "may" 5 "jun" 6 "jul" 7 "aug" 8 "sep" 9 "oct" 10 "nov" 11 "dec" 12 error "%s(): Unknown month [[%s]]."] 5 (#$ . 8994)]) #@27 Test (encode-human-time). (defalias 'test-encode-human-time #[nil "\306\307\310!\311\211\211\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377\201A\201B\201C\201D\201E\201F\201G\201H\201I\201J\201K\201L\201M\201N\201O\201P\201Q\201R\201S\201T\201U\201V\201W\201X\201Y\201Z\201[\201\\\201]\201^\201_\201`\201a\201b\201c\201d\201e\201f\201g\201h\201i\201j\375\376\377\201A\201B\201C\201D\201E\201F\201G\201H\201I\201J\201K\201L\201M\201N\201O\201P\201Q\257s@r q\210\201k \210)\201l\201m\"\210\201n !\210eb.\207" [test-dates format time-out emacs-time time-in results-buf "test-encode-human-time" get-buffer-create "*Human time results*" nil "" "2018 Nov 9" "2018 Nov 9 9:53" "2018 Nov 9 09:53" "2018 Nov 9 9:53:23" "2018 Nov 9 09:53:23" "2018 Nov 09" "2018 Nov 09 9:53" "2018 Nov 09 09:53" "2018 Nov 09 9:53:23" "2018 Nov 09 09:53:23" "2018 Nov 19" "2018 Nov 19 9:53" "2018 Nov 19 09:53" "2018 Nov 19 9:53:23" "2018 Nov 19 09:53:23" "2018-Nov-29" "2018-Nov-29 9:53" "2018-Nov-29 09:53" "2018-Nov-29 9:53:23" "2018-Nov-29 09:53:23" "2018/Nov/19" "2018/Nov/19 9:53" "2018/Nov/19 09:53" "2018/Nov/19 9:53:23" "2018/Nov/19 09:53:23" "2018 November 9" "2018 November 9 9:53" "2018 November 9 09:53" "2018 November 9 9:53:23" "2018 November 9 09:53:23" "2018 November 09" "2018 November 09 9:53" "2018 November 09 09:53" "2018 November 09 9:53:23" "2018 November 09 09:53:23" "2018 November 19" "2018 November 19 9:53" "2018 November 19 09:53" "2018 November 19 9:53:23" "2018 November 19 09:53:23" "2018-November-29" "2018-November-29 9:53" "2018-November-29 09:53" "2018-November-29 9:53:23" "2018-November-29 09:53:23" "2018/November/19" "2018/November/19 9:53" "2018/November/19 09:53" "2018/November/19 9:53:23" "2018/November/19 09:53:23" "11 09 2018" "11 09 2018 9:53" "11 09 2018 09:53" fname "11 09 2018 9:53:23" "11 09 2018 09:53:23" "11 19 2018" "11 19 2018 9:53" "11 19 2018 09:53" "11 19 2018 9:53:23" "11 19 2018 09:53:23" "11-29-2018" "11-29-2018 9:53" "11-29-2018 09:53" "11-29-2018 9:53:23" "11-29-2018 09:53:23" "11/19/2018" "11/19/2018 9:53" "11/19/2018 09:53" "11/19/2018 9:53:23" "11/19/2018 09:53:23" "2018 11 9" "2018 11 9 9:53" "2018 11 9 09:53" "2018 11 9 9:53:23" "2018 11 9 09:53:23" "2018 11 09" "2018 11 09 9:53" "2018 11 09 09:53" "2018 11 09 9:53:23" "2018 11 09 09:53:23" "2018 11 19" "2018 11 19 9:53" "2018 11 19 09:53" "2018 11 19 9:53:23" "2018 11 19 09:53:23" "2018-11-29" "2018-11-29 9:53" "2018-11-29 09:53" "2018-11-29 9:53:23" "2018-11-29 09:53:23" "2018/11/19" "2018/11/19 9:53" "2018/11/19 09:53" "2018/11/19 9:53:23" "2018/11/19 09:53:23" erase-buffer mapc #[(str) "rq\210 \305 !\211\203\306 !\202\307\310 \"db\210\307\311\n \f$c)\207" [results-buf str time-in emacs-time time-out encode-human-time current-time-string format "(encode-human-time \"%s\") returned NIL." "%s --> %s --> %s\n"] 5] pop-to-buffer] 121 (#$ . 9935) nil]) (provide 'cpio-generic)