;ELC   
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.



#@1861 Return a string based on FORMAT and SPECIFICATION.
FORMAT is a string containing `format'-like specs like "su - %u %k".
SPECIFICATION is an alist mapping format specification characters
to their substitutions.

For instance:

  (format-spec "su - %u %l"
               \=`((?u . ,(user-login-name))
                 (?l . "ls")))

Each %-spec may contain optional flag, width, and precision
modifiers, as follows:

  %<flags><width><precision>character

The following flags are allowed:

* 0: Pad to the width, if given, with zeros instead of spaces.
* -: Pad to the width, if given, on the right instead of the left.
* <: Truncate to the width and precision, if given, on the left.
* >: Truncate to the width and precision, if given, on the right.
* ^: Convert to upper case.
* _: Convert to lower case.

The width and truncation modifiers behave like the corresponding
ones in `format' when applied to %s.

For example, "%<010b" means "substitute into the output the
value associated with ?b in SPECIFICATION, either padding it with
leading zeros or truncating leading characters until it's ten
characters wide".

Any text properties of FORMAT are copied to the result, with any
text properties of a %-spec itself copied to its substitution.

IGNORE-MISSING indicates how to handle %-spec characters not
present in SPECIFICATION.  If it is nil or omitted, emit an
error; if it is the symbol `ignore', leave those %-specs verbatim
in the result, including their text properties, if any; if it is
the symbol `delete', remove those %-specs from the result;
otherwise do the same as for the symbol `ignore', but also leave
any occurrences of "%%" in FORMAT verbatim in the result.

If SPLIT, instead of returning a single string, a list of strings
is returned, where each format spec is its own element.

(fn FORMAT SPECIFICATION &optional IGNORE-MISSING SPLIT)
(defalias 'format-spec #[1026 "\300\301\302\"r\211q\210\303\304\"\216e\305c\210eb\210\306\307\305\302#\203g\310U\2031 \311>\203 \312\313!\210\202 \314\315!\203`\316\225\317\313!\317\320!\317\321!\322\317\323!!\211\f\236\n\203e S	U\204e S{B\262\211\203\240 \324\325\326A\"\327!\205| \330!\205\207 \331\313\"@$\262\332!\210`G\\|\210S|\210\202\361 \333\267\202\271 S|\210\202\361 \334\335\"\210\202\361 \211\203\361 \324\325\326A\"\327!\205\320 \330!\205\333 \331\313\"@$\262\332!\210`G\\|\210S|\210\n\203S`{B\262`\262	\266\202 \204 \334\336!\210\202 \204\337 \266\202\202/dU\204+d{B\262\211\237\266\202*\207" [generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] nil search-forward "%" 37 (nil ignore delete) delete-char 1 looking-at "\\([ 0<>^_-]+\\)?\\([[:digit:]]+\\)?\\(\\.[[:digit:]]+\\)?\\([[:alpha:]]\\)" 0 match-string 2 3 string-to-char 4 format-spec--do-flags format "%s" format-spec--parse-flags string-to-number read-from-string insert-and-inherit #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (delete 167 nil 177)) error "Invalid format character: `%%%c'" "Invalid format string" buffer-string] 21 (#$ . 86)])
#@250 Return STR formatted according to FLAGS, WIDTH, and TRUNC.
FLAGS is a list of keywords as returned by
`format-spec--parse-flags'.  WIDTH and TRUNC are either nil or
string widths corresponding to `format-spec' modifiers.

(fn STR FLAGS WIDTH TRUNC)
(defalias 'format-spec--do-flags #[1028 "\300\211\2033 \301!\262\211Z\211\262\302V\2033 \303>\203& \304#\202. \305\211\306\"\"\262\262\203\237 \211\206? \301!\262Z\262\302U\204\237 \302V\203z \307\310>\203_ \311\202` \312\"\313>\203o P\202s \211P\262\266\202\241 \303>\203\216 \304[#\262\266\202\241 \314>\203\237 \305\211\306\"\"\262\266\315>\203\252 \226\207\316>\203\263 \227\207\207" [nil string-width 0 :chop-left truncate-string-to-width format "%%.%ds" make-string :pad-zero 48 32 :pad-right :chop-right :upcase :downcase] 10 (#$ . 3263)])
#@75 Convert sequence of FLAGS to list of human-readable keywords.

(fn FLAGS)
(defalias 'format-spec--parse-flags #[257 "\300\301\"\207" [mapcan #[257 "\211\300\267\202 \301C\207\302C\207\303C\207\304C\207\305C\207\306C\207\307\207" [#s(hash-table size 6 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (48 6 45 9 60 12 62 15 94 18 95 21)) :pad-zero :pad-right :chop-left :chop-right :upcase :downcase nil] 3 "\n\n(fn CHAR)"]] 4 (#$ . 4122)])
#@135 Return an alist suitable for use in `format-spec' based on PAIRS.
PAIRS is a property list with characters as keys.

(fn &rest PAIRS)
(defalias 'format-spec-make #[128 "\300\203  A\204 \301\302!\210@A@BB\262AA\262\202 \211\237\207" [nil error "Invalid list of pairs"] 4 (#$ . 4586)])
(provide 'format-spec)
