;ELC   
;;; Compiled by rms@psilocin.ai.mit.edu on Tue May 19 21:00:48 1998
;;; from file /gd/gnu/emacs/lisp/ls-lisp.el
;;; in Emacs version 20.2.93.12
;;; with bytecomp version 2.44
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`ls-lisp.el' was compiled for Emacs 19.29 or later"))

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


#@224 *Non-nil means file patterns are treated as shell wildcards.
nil means they are treated as Emacs regexps (for backward compatibility).
This variable is checked by \[insert-directory] only when `ls-lisp.el'
package is used.
(defvar ls-lisp-support-shell-wildcards t (#$ . -604))
#@73 Non-nil causes dired buffers to sort alphabetically regardless of case.
(defvar ls-lisp-dired-ignore-case nil (#$ . 888))
#@669 Insert directory listing for FILE, formatted according to SWITCHES.
Leaves point after the inserted text.
Optional third arg WILDCARD means treat FILE as shell wildcard.
Optional fourth arg FULL-DIRECTORY-P means file is a directory and
switches do not contain `d', so that a full listing is expected.

This version of the function comes from `ls-lisp.el'.  It doesn not
run any external programs or shells.  It supports ordinary shell
wildcards if `ls-lisp-support-shell-wildcards' variable is non-nil;
otherwise, it interprets wildcards as regular expressions to match
file names.

Not all `ls' switches are supported.  The switches that work
are: A a c i r S s t u
(defalias 'insert-directory #[(file &optional switches wildcard full-directory-p) "\306\307\"\211\203 	\307\n\f%\202\2031 \310\311\"\2031 \211GSH\312=\203/ \313GSO\314\315\n\316\"\203N \203F \317\320!!\202I \320!\321!\204V \f\203\322!\211)*\313+\316,\316-\323)\316#.\316/\324 0\3161\3162\325\n>\203\214 \326\327.\".\202\231 \330\n>\204\231 \326\331.\".\332\333.\"\211/\242\203\251 \334\202\252 \335c\210\336/\n\"//\203\353 /@,/A/,@-,A\2112\203\263 +\33728\\\211+\203\263 \340-2\n0$c\210\202\263 \212\341\342!\210\313\225b\210\343\344!\210\345\346+\313U\203\313\202\n+\347\245T\"c.\202\320!\340\350!\n\324 $c)\207" [file handler switches wildcard full-directory-p ls-lisp-support-shell-wildcards find-file-name-handler insert-directory string-match "[[?*]" 47 0 t append nil wildcard-to-regexp file-name-nondirectory file-name-directory file-name-as-directory directory-files current-time 65 ls-lisp-delete-matching "^\\.\\.?$" 97 "^\\." mapcar #[(x) "\301\302!!B\207" [x file-attributes expand-file-name] 4] "total \n" "(No match)\ntotal \n" ls-lisp-handle-switches 7 ls-lisp-format search-backward "total " delete-char -1 format "%d" 1024 file-attributes dir default-directory sum elt short file-list file-alist now fil attr] 7 (#$ . 1017)])
(defalias 'ls-lisp-delete-matching #[(regexp list) "\303	\203 \304\n	@\"\204 	@B	A\211\204 )\207" [result list regexp nil string-match] 4])
(defalias 'ls-lisp-handle-switches #[(file-alist switches) "\304\305	\306\n>\203 \307\202% \310\n>\203 \311\n!\312\202% \203$ \313\202% \314\")\315\n>\2031 	\237	\207" [index file-alist switches ls-lisp-dired-ignore-case nil sort 83 #[(x y) "\302A8\302	A8W\207" [y x 7] 3] 116 ls-lisp-time-index #[(x y) "\303	A8\nA8\"\207" [index y x ls-lisp-time-lessp] 4] #[(x y) "@\226	@\226\231\207" [x y] 2] #[(x y) "@	@\231\207" [x y] 2] 114] 4])
(defalias 'ls-lisp-time-lessp #[(time0 time1) "@	@A@	A@\211\fW\206 \fU\205 \nW,\207" [time0 time1 lo1 lo0 hi1 hi0] 5])
(defalias 'ls-lisp-format #[(file-name file-attr switches now) "@\306\n>\205 \307\310\3118\"\312\n>\205 \307\313\3148\315\245T\"\3168\307\317A@\320 \3218U\2034 \322 \2029 \323\3218!\324=\203C \325\202H \323\3268!\3148%\327\n\f#\330	;\203^ \331	P\202_ \332\333\260	)\207" [file-attr file-type switches system-type now file-name 105 format "%6d " 10 115 "%4d " 7 1024 8 " %3d %-8s %-8s %8d " user-uid 2 user-login-name int-to-string ms-dos "root" 3 ls-lisp-format-time " " " -> " "" "\n"] 10])
(defalias 'ls-lisp-time-index #[(switches) "\301>\203 \302\207\303>\203 \304\207\305\207" [switches 99 6 117 4 5] 2])
(defalias 'ls-lisp-format-time #[(file-attr switches now) "\306!	8\211@@Z\307\f\310\"\nA@A@Z\\\311\312\\[\313\312\\\314X\203M X\203M \307\315\"S\fX\203M \f\307\315\"TX\203M \316\202N \317\n\"-\207" [switches file-attr time now diff16 diff ls-lisp-time-index ash 16 15552000 0 3600 format-time-string -16 "%b %e %H:%M" "%b %e  %Y" past-cutoff future-cutoff] 6])
(provide 'ls-lisp)
