;ELC   
;;; compiled by gsstark@lola-granola.MIT.EDU on Tue Jul 23 13:34:51 1996
;;; from file /afs/sipb.mit.edu/contrib/emacs/packages/gnus-5.2.37/lisp/gnus-uu.el
;;; emacs version 19.30.1.
;;; bytecomp version FSF 2.10
;;; optimization is on.
;;; this file uses opcodes which do not exist in Emacs 18.

(if (and (boundp 'emacs-version)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`gnus-uu.el' was compiled for Emacs 19.29 or later"))


(byte-code "!!" [require gnus gnus-msg] 2)
#@1216 *Default actions to be taken when the user asks to view a file.  
To change the behaviour, you can either edit this variable or set
`gnus-uu-user-view-rules' to something useful.

For example:

To make gnus-uu use 'xli' to display JPEG and GIF files, put the
following in your .emacs file:

  (setq gnus-uu-user-view-rules '(("jpg$\\|gif$" "xli")))

Both these variables are lists of lists with two string elements. The
first string is a regular expression. If the file name matches this
regular expression, the command in the second string is executed with
the file as an argument.

If the command string contains "%s", the file name will be inserted
at that point in the command string. If there's no "%s" in the
command string, the file name will be appended to the command string
before executing.

There are several user variables to tailor the behaviour of gnus-uu to
your needs. First we have `gnus-uu-user-view-rules', which is the
variable gnus-uu first consults when trying to decide how to view a
file. If this variable contains no matches, gnus-uu examines the
default rule variable provided in this package. If gnus-uu finds no
match here, it uses `gnus-uu-user-view-rules-end' to try to make a
match.
(defvar gnus-uu-default-view-rules (quote (("\\.te?xt$\\|\\.doc$\\|read.*me\\|\\.c?$\\|\\.h$\\|\\.bat$\\|\\.asm$\\|makefile" "cat %s | sed s///g") ("\\.pas$" "cat %s | sed s///g") ("\\.[1-9]$" "groff -mandoc -Tascii %s | sed s/.//g") ("\\.\\(jpe?g\\|gif\\|tiff?\\|p[pgb]m\\|xwd\\|xbm\\|pcx\\)$" "xv") ("\\.tga$" "tgatoppm %s | xv -") ("\\.\\(wav\\|aiff\\|hcom\\|u[blw]\\|s[bfw]\\|voc\\|smp\\)$" "sox -v .5 %s -t .au -u - > /dev/audio") ("\\.au$" "cat %s > /dev/audio") ("\\.midi?$" "playmidi -f") ("\\.mod$" "str32") ("\\.ps$" "ghostview") ("\\.dvi$" "xdvi") ("\\.html$" "xmosaic") ("\\.mpe?g$" "mpeg_play") ("\\.\\(flc\\|fli\\|rle\\|iff\\|pfx\\|avi\\|sme\\|rpza\\|dl\\|qt\\|rsrc\\|mov\\)$" "xanim") ("\\.\\(tar\\|arj\\|zip\\|zoo\\|arc\\|gz\\|Z\\|lzh\\|ar\\|lha\\)$" "gnus-uu-archive"))) (#$ . -560))
#@147 *Variable detailing what actions are to be taken to view a file.
See the documentation on the `gnus-uu-default-view-rules' variable for 
details.
(defvar gnus-uu-user-view-rules nil (#$ . -2586))
#@162 *Variable saying what actions are to be taken if no rule matched the file name.
See the documentation on the `gnus-uu-default-view-rules' variable for 
details.
(defvar gnus-uu-user-view-rules-end (quote (("" "file"))) (#$ . -2789))
(byte-code "! B! DB" [boundp gnus-uu-default-archive-rules (("\\.tar$" "tar xf") ("\\.zip$" "unzip -o") ("\\.ar$" "ar x") ("\\.arj$" "unarj x") ("\\.zoo$" "zoo -e") ("\\.\\(lzh\\|lha\\)$" "lha x") ("\\.Z$" "uncompress") ("\\.gz$" "gunzip") ("\\.arc$" "arc -x")) current-load-list gnus-uu-destructive-archivers "uncompress" "gunzip"] 2)
#@271 *A list that can be set to override the default archive unpacking commands.
To use, for instance, 'untar' to unpack tar files and 'zip -x' to
unpack zip files, say the following:
  (setq gnus-uu-user-archive-rules 
    '(("\\.tar$" "untar")
      ("\\.zip$" "zip -x")))
(defvar gnus-uu-user-archive-rules nil (#$ . -3386))
#@336 *A regular expression saying what files should not be viewed based on name.
If, for instance, you want gnus-uu to ignore all .au and .wav files, 
you could say something like

  (setq gnus-uu-ignore-files-by-name "\\.au$\\|\\.wav$")

Note that this variable can be used in conjunction with the
`gnus-uu-ignore-files-by-type' variable.
(defvar gnus-uu-ignore-files-by-name nil (#$ . -3716))
#@361 *A regular expression saying what files that shouldn't be viewed, based on MIME file type.
If, for instance, you want gnus-uu to ignore all audio files and all mpegs, 
you could say something like

  (setq gnus-uu-ignore-files-by-type "audio/\\|video/mpeg")

Note that this variable can be used in conjunction with the
`gnus-uu-ignore-files-by-name' variable.
(defvar gnus-uu-ignore-files-by-type nil (#$ . -4113))
(byte-code "\nB" [(("\\.gif$" "image/gif") ("\\.jpe?g$" "image/jpeg") ("\\.tiff?$" "image/tiff") ("\\.xwd$" "image/xwd") ("\\.pbm$" "image/pbm") ("\\.pgm$" "image/pgm") ("\\.ppm$" "image/ppm") ("\\.xbm$" "image/xbm") ("\\.pcx$" "image/pcx") ("\\.tga$" "image/tga") ("\\.ps$" "image/postscript") ("\\.fli$" "video/fli") ("\\.wav$" "audio/wav") ("\\.aiff$" "audio/aiff") ("\\.hcom$" "audio/hcom") ("\\.voc$" "audio/voc") ("\\.smp$" "audio/smp") ("\\.mod$" "audio/mod") ("\\.dvi$" "image/dvi") ("\\.mpe?g$" "video/mpeg") ("\\.au$" "audio/basic") ("\\.\\(te?xt\\|doc\\|c\\|h\\)$" "text/plain") ("\\.\\(c\\|h\\)$" "text/source") ("read.*me" "text/plain") ("\\.html$" "text/html") ("\\.bat$" "text/bat") ("\\.[1-6]$" "text/man") ("\\.flc$" "video/flc") ("\\.rle$" "video/rle") ("\\.pfx$" "video/pfx") ("\\.avi$" "video/avi") ("\\.sme$" "video/sme") ("\\.rpza$" "video/prza") ("\\.dl$" "video/dl") ("\\.qt$" "video/qt") ("\\.rsrc$" "video/rsrc") ("\\..*$" "unknown/unknown")) gnus-uu-ext-to-mime-list current-load-list] 2)
#@71 *Variable saying where gnus-uu is to do its work.
Default is "/tmp/".
(defvar gnus-uu-tmp-dir "/tmp/" (#$ . -5556))
#@103 *Non-nil means that gnus-uu won't peek inside archives looking for files to display. 
Default is nil.
(defvar gnus-uu-do-not-unpack-archives nil (#$ . -5679))
#@131 *Non-nil means that gnus-uu will ignore the default viewing rules.
Only the user viewing rules will be consulted. Default is nil.
(defvar gnus-uu-ignore-default-view-rules nil (#$ . -5845))
#@211 *Functions run on each file after successful decoding.
They will be called with the name of the file as the argument.
Likely functions you can use in this list are `gnus-uu-grab-view' 
and `gnus-uu-grab-move'.
(defvar gnus-uu-grabbed-file-functions nil (#$ . -6042))
#@151 *Non-nil means that gnus-uu will ignore the default archive unpacking commands.  
Only the user unpacking commands will be consulted. Default is nil.
(defvar gnus-uu-ignore-default-archive-rules nil (#$ . -6316))
#@90 *Non-nil means that gnus-uu will strip all carriage returns from articles.
Default is t.
(defvar gnus-uu-kill-carriage-return t (#$ . -6535))
#@196 *Non-nil means that files will be viewed with metamail.
The gnus-uu viewing functions will be ignored and gnus-uu will try
to guess at a content-type based on file name suffixes. Default
it nil.
(defvar gnus-uu-view-with-metamail nil (#$ . -6684))
#@109 *Non-nil means that gnus-uu will mark articles that were unsuccessfully decoded as unread. 
Default is nil.
(defvar gnus-uu-unmark-articles-not-decoded nil (#$ . -6939))
#@119 *Non-nil means that gnus-uu will *try* to fix uuencoded files that have had trailing spaces deleted. 
Default is nil.
(defvar gnus-uu-correct-stripped-uucode nil (#$ . -7116))
#@332 *Non-nil means that gnus-uu, when asked to save without decoding, will save in digests.
If this variable is nil, gnus-uu will just save everything in a 
file without any embellishments. The digesting almost conforms to RFC1153 -
no easy way to specify any meaningful volume and issue numbers were found, 
so I simply dropped them.
(defvar gnus-uu-save-in-digest nil (#$ . -7299))
#@129 *List of regexps to match headers included in digested messages.
The headers will be included in the sequence they are matched.
(defvar gnus-uu-digest-headers (quote ("^Date:" "^From:" "^To:" "^Cc:" "^Subject:" "^Message-ID:" "^Keywords:" "^Summary:" "^References:")) (#$ . -7686))
#@67 *Non-nil means that gnus-uu will save articles in separate files.
(defvar gnus-uu-save-separate-articles nil (#$ . -7974))
(byte-code "! BBB	BSV7 	P	# 	P	)B!N BBBB!p BB! B! BB! B!  B\"\"\"" [boundp gnus-uu-saved-article-name nil current-load-list "^begin[ 	]+[0-7][0-7][0-7][ 	]+\\(.*\\)$" gnus-uu-begin-string "^end[ 	]*$" gnus-uu-end-string "^M" gnus-uu-body-line 61 i 0 "[^a-z]" ".?$" "^#! */bin/sh" gnus-uu-shar-begin-string gnus-uu-shar-file-name "begin [0-7][0-7][0-7][ 	]+\\(\\(\\w\\|\\.\\)*\\b\\)" gnus-uu-shar-name-marker "^%!PS-" gnus-uu-postscript-begin-string "^%%EOF$" gnus-uu-postscript-end-string gnus-uu-file-name gnus-uu-uudecode-process gnus-uu-binhex-article-name gnus-uu-work-dir " *Gnus UU Output*" gnus-uu-output-buffer-name gnus-uu-default-dir gnus-article-save-directory gnus-uu-digest-from-subject gnus-define-keys-1 (gnus-uu-mark-map "P" gnus-summary-mark-map) ("p" gnus-summary-mark-as-processable "u" gnus-summary-unmark-as-processable "U" gnus-summary-unmark-all-processable "v" gnus-uu-mark-over "s" gnus-uu-mark-series "r" gnus-uu-mark-region "R" gnus-uu-mark-by-regexp "t" gnus-uu-mark-thread "T" gnus-uu-unmark-thread "a" gnus-uu-mark-all "b" gnus-uu-mark-buffer "S" gnus-uu-mark-sparse) (gnus-uu-extract-map "X" gnus-summary-mode-map) ("u" gnus-uu-decode-uu "U" gnus-uu-decode-uu-and-save "s" gnus-uu-decode-unshar "S" gnus-uu-decode-unshar-and-save "o" gnus-uu-decode-save "O" gnus-uu-decode-save "b" gnus-uu-decode-binhex "B" gnus-uu-decode-binhex "p" gnus-uu-decode-postscript "P" gnus-uu-decode-postscript-and-save) (gnus-uu-extract-view-map "v" gnus-uu-extract-map) ("u" gnus-uu-decode-uu-view "U" gnus-uu-decode-uu-and-save-view "s" gnus-uu-decode-unshar-view "S" gnus-uu-decode-unshar-and-save-view "o" gnus-uu-decode-save-view "O" gnus-uu-decode-save-view "b" gnus-uu-decode-binhex-view "B" gnus-uu-decode-binhex-view "p" gnus-uu-decode-postscript-view "P" gnus-uu-decode-postscript-and-save-view)] 3)
#@32 Uudecodes the current article.
(defalias 'gnus-uu-decode-uu #[(&optional n) "\n\"" [gnus-uu-decode-with-method gnus-uu-uustrip-article n] 3 (#$ . 10072) "P"])
#@39 Decodes and saves the resulting file.
(defalias 'gnus-uu-decode-uu-and-save #[(n dir) "\nĉ&" [gnus-uu-decode-with-method gnus-uu-uustrip-article n dir nil t] 7 (#$ . 10240) (list current-prefix-arg (file-name-as-directory (read-file-name "Uudecode and save in dir: " gnus-uu-default-dir gnus-uu-default-dir t)))])
#@30 Unshars the current article.
(defalias 'gnus-uu-decode-unshar #[(&optional n) "\nÉ&" [gnus-uu-decode-with-method gnus-uu-unshar-article n nil scan t] 7 (#$ . 10567) "P"])
#@40 Unshars and saves the current article.
(defalias 'gnus-uu-decode-unshar-and-save #[(n dir) "\n&" [gnus-uu-decode-with-method gnus-uu-unshar-article n dir nil scan t] 7 (#$ . 10751) (list current-prefix-arg (file-name-as-directory (read-file-name "Unshar and save in dir: " gnus-uu-default-dir gnus-uu-default-dir t)))])
#@28 Saves the current article.
(defalias 'gnus-uu-decode-save #[(n file) "\f$" [file gnus-uu-saved-article-name gnus-uu-decode-with-method gnus-uu-save-article n nil t] 5 (#$ . 11085) (list current-prefix-arg (read-file-name (if gnus-uu-save-separate-articles "Save articles is dir: " "Save articles in file: ") gnus-uu-default-dir gnus-uu-default-dir))])
#@33 Unbinhexes the current article.
(defalias 'gnus-uu-decode-binhex #[(n dir) "	P!#" [make-temp-name gnus-uu-work-dir "binhex" gnus-uu-binhex-article-name gnus-uu-decode-with-method gnus-uu-binhex-article n dir] 4 (#$ . 11450) (list current-prefix-arg (file-name-as-directory (read-file-name "Unbinhex and save in dir: " gnus-uu-default-dir gnus-uu-default-dir)))])
#@42 Uudecodes and views the current article.
(defalias 'gnus-uu-decode-uu-view #[(&optional n) " !)" [gnus-view-pseudos automatic gnus-uu-decode-uu n] 2 (#$ . 11829) "P"])
#@46 Decodes, views and saves the resulting file.
(defalias 'gnus-uu-decode-uu-and-save-view #[(n dir) " \f\")" [gnus-view-pseudos automatic gnus-uu-decode-uu-and-save n dir] 3 (#$ . 12011) (list current-prefix-arg (read-file-name "Uudecode, view and save in dir: " gnus-uu-default-dir gnus-uu-default-dir t))])
#@40 Unshars and views the current article.
(defalias 'gnus-uu-decode-unshar-view #[(&optional n) " !)" [gnus-view-pseudos automatic gnus-uu-decode-unshar n] 2 (#$ . 12332) "P"])
#@40 Unshars and saves the current article.
(defalias 'gnus-uu-decode-unshar-and-save-view #[(n dir) " \f\")" [gnus-view-pseudos automatic gnus-uu-decode-unshar-and-save n dir] 3 (#$ . 12520) (list current-prefix-arg (read-file-name "Unshar, view and save in dir: " gnus-uu-default-dir gnus-uu-default-dir t))])
#@38 Saves and views the current article.
(defalias 'gnus-uu-decode-save-view #[(n file) " \f\")" [gnus-view-pseudos automatic gnus-uu-decode-save n file] 3 (#$ . 12841) (list current-prefix-arg (read-file-name (if gnus-uu-save-separate-articles "Save articles is dir: " "Save articles in file: ") gnus-uu-default-dir gnus-uu-default-dir))])
#@43 Unbinhexes and views the current article.
(defalias 'gnus-uu-decode-binhex-view #[(n file) "	P!\f \")" [make-temp-name gnus-uu-work-dir "binhex" gnus-uu-binhex-article-name gnus-view-pseudos automatic gnus-uu-decode-binhex n file] 3 (#$ . 13192) (list current-prefix-arg (read-file-name "Unbinhex, view and save in dir: " gnus-uu-default-dir gnus-uu-default-dir))])
#@51 Digests and forwards all articles in this series.
(defalias 'gnus-uu-digest-mail-forward #[(&optional n post) "\nP!ĉ	\n\f\"!!   !\n @@@A!A X  g @@g { @A!{ AO   )eb! ```b)|ceb! ```b)|c!!!ĉ\n-" [t make-temp-name gnus-uu-tmp-dir "forward" nil from subject buf file gnus-uu-save-in-digest gnus-uu-digest-from-subject gnus-uu-decode-save n switch-to-buffer get-buffer-create " *gnus-uu-forward*" gnus-add-current-to-buffer-list erase-buffer delete-other-windows insert-file fs gnus-simplify-subject-fuzzy "Digested Articles" "Various" re-search-forward "^Subject: " p "^From: " message-forward post delete-file kill-buffer] 6 (#$ . 13577) "P"])
#@36 Digest and forward to a newsgroup.
(defalias 'gnus-uu-digest-post-forward #[(&optional n) "	\"" [gnus-uu-digest-mail-forward n t] 3 (#$ . 14373) "P"])
#@83 Ask for a regular expression and set the process mark on all articles that match.
(defalias 'gnus-uu-mark-by-regexp #[(regexp &optional unmark) " \n!% \f A@! A@! !) " [gnus-set-global-variables gnus-uu-find-articles-matching regexp articles unmark gnus-summary-remove-process-mark gnus-summary-set-process-mark message "" gnus-summary-position-point] 3 (#$ . 14533) (list (read-from-minibuffer "Mark (regexp): "))])
#@86 Ask for a regular expression and remove the process mark on all articles that match.
(defalias 'gnus-uu-unmark-by-regexp #[(regexp &optional unmark) "	\"" [gnus-uu-mark-by-regexp regexp t] 3 (#$ . 14982) (list (read-from-minibuffer "Mark (regexp): "))])
#@48 Mark the current series with the process mark.
(defalias 'gnus-uu-mark-series #[nil "   \n@!\nA\n !) " [gnus-set-global-variables gnus-uu-find-articles-matching articles gnus-summary-set-process-mark message "" gnus-summary-position-point] 3 (#$ . 15245) nil])
#@62 Set the process mark on all articles between point and mark.
(defalias 'gnus-uu-mark-region #[(beg end &optional unmark) " 	b`\nWR 0 `\"! !)`\"+  !L `\"@ !)`\"J  !y ) " [gnus-set-global-variables beg end unmark gnus-summary-remove-process-mark get-text-property gnus-intangible to gnus-summary-goto-subject gnus-number gnus-summary-last-subject gnus-summary-set-process-mark 1 gnus-summary-position-point] 5 (#$ . 15529) "r"])
#@67 Remove the process mark from all articles between point and mark.
(defalias 'gnus-uu-unmark-region #[(beg end) "	\n#" [gnus-uu-mark-region beg end t] 4 (#$ . 16008) "r"])
#@53 Set the process mark on all articles in the buffer.
(defalias 'gnus-uu-mark-buffer #[nil "ed\"" [gnus-uu-mark-region] 3 (#$ . 16188) nil])
#@56 Remove the process mark on all articles in the buffer.
(defalias 'gnus-uu-unmark-buffer #[nil "ed#" [gnus-uu-mark-region t] 4 (#$ . 16335) nil])
#@46 Marks all articles downwards in this thread.
(defalias 'gnus-uu-mark-thread #[nil " 	= `\" ł2 `\"$ !)`\".  8\f`\"D !)`\"N  ! !U 	=k `\"k ł `\"{ !)`\"  8\fV4 ) " [gnus-set-global-variables gnus-summary-make-false-root dummy get-text-property gnus-intangible 0 4 to gnus-summary-goto-subject gnus-number gnus-summary-last-subject gnus-newsgroup-data level gnus-summary-set-process-mark gnus-summary-next-subject 1 gnus-summary-position-point] 5 (#$ . 16489) nil])
#@48 Unmarks all articles downwards in this thread.
(defalias 'gnus-uu-unmark-thread #[nil " 	= `\" ł2 `\"$ !)`\".  8\f`\"D !)`\"N  ! !U 	=k `\"k ł `\"{ !)`\"  8\fV4 ) " [gnus-set-global-variables gnus-summary-make-false-root dummy get-text-property gnus-intangible 0 4 to gnus-summary-goto-subject gnus-number gnus-summary-last-subject gnus-newsgroup-data level gnus-summary-remove-process-mark gnus-summary-next-subject 1 gnus-summary-position-point] 5 (#$ . 17038) nil])
#@57 Mark all articles with a score over SCORE (the prefix.)
(defalias 'gnus-uu-mark-over #[(&optional score) "	!\n+ @@\fA  	V$ @@!A ) *" [gnus-score-default score gnus-newsgroup-data data gnus-newsgroup-scored gnus-summary-default-score 0 gnus-summary-set-process-mark gnus-summary-position-point] 3 (#$ . 17594) "P"])
#@49 Mark all series that have some articles marked.
(defalias 'gnus-uu-mark-sparse #[nil " 	 !c @\f8!? H!!\fZ @!@A\"AC A  \f) -" [gnus-set-global-variables gnus-newsgroup-processable nil headers total articles subject marked error "No articles marked with the process mark" vectorp 3 gnus-newsgroup-data 1 gnus-uu-find-articles-matching gnus-uu-reginize-string gnus-summary-set-process-mark delq gnus-summary-position-point] 6 (#$ . 17940) nil])
#@38 Mark all articles in "series" order.
(defalias 'gnus-uu-mark-all #[nil " / @@\n>( @8!( \f! A + " [gnus-set-global-variables nil gnus-newsgroup-processable gnus-newsgroup-data number data vectorp 3 gnus-summary-goto-subject gnus-uu-mark-series gnus-summary-position-point] 4 (#$ . 18462) nil])
#@41 Gets postscript of the current article.
(defalias 'gnus-uu-decode-postscript #[(&optional n) "\n\"" [gnus-uu-decode-with-method gnus-uu-decode-postscript-article n] 3 (#$ . 18791) "P"])
#@37 Gets and views the current article.
(defalias 'gnus-uu-decode-postscript-view #[(&optional n) " !)" [gnus-view-pseudos automatic gnus-uu-decode-postscript n] 2 (#$ . 18986) "P"])
#@52 Extracts postscript and saves the current article.
(defalias 'gnus-uu-decode-postscript-and-save #[(n dir) "\nĉ&" [gnus-uu-decode-with-method gnus-uu-decode-postscript-article n dir nil t] 7 (#$ . 19179) (list current-prefix-arg (file-name-as-directory (read-file-name "Save in dir: " gnus-uu-default-dir gnus-uu-default-dir t)))])
#@46 Decodes, views and saves the resulting file.
(defalias 'gnus-uu-decode-postscript-and-save-view #[(n dir) " \f\")" [gnus-view-pseudos automatic gnus-uu-decode-postscript-and-save n dir] 3 (#$ . 19524) (list current-prefix-arg (read-file-name "Where do you want to save the file(s)? " gnus-uu-default-dir gnus-uu-default-dir t))])
(defalias 'gnus-uu-decode-with-method #[(method n &optional save not-insert scan cdir) "	!\n\n \n	! \f! \n! \n!! \n\"	!\f\f#\f@	B !)\nM \n\"=Z !!q ?q \n\"*" [gnus-uu-initialize scan save gnus-uu-default-dir cdir file-exists-p make-directory t gnus-uu-get-list-of-articles n nil files articles gnus-uu-grab-articles method gnus-current-article gnus-uu-scan-directory gnus-uu-work-dir gnus-uu-save-files gnus-uu-do-not-unpack-archives gnus-uu-unpack-files gnus-uu-get-actions not-insert gnus-insert-pseudo-articles gnus-summary-insert-pseudos] 4])
#@39 Return a list of all files under DIR.
(defalias 'gnus-uu-scan-directory #[(dir &optional rec) "	\"ÉA@9 \f!ȝ\n \fBBDB\f!\n \f\"\n B D +" [directory-files dir t nil file out files file-name-nondirectory ("." "..") name article gnus-current-article file-directory-p gnus-uu-scan-directory rec] 3 (#$ . 20478)])
#@20 Save FILES in DIR.
(defalias 'gnus-uu-save-files #[(files dir) "G!Pĉ	A@At ! \"͕O!Q P! P\" P!h \"! щ$ 	U ڂ $-" [files "^" regexp-quote gnus-uu-work-dir nil fromdir file to-file reg len name file-exists-p string-match 0 file-directory-p dir make-directory t gnus-y-or-n-p format "%s exists; overwrite? " copy-file gnus-message 5 "Saved %d file%s" 1 "" "s"] 6 (#$ . 20832)])
(defalias 'gnus-uu-save-article #[(buffer in-state) "; 	qd\fP#= \fD9 =+ \fE9 =7 C9 C)v 	qd\f$=X \fDt =f \fEt =r Ct C)`\" !)`\"  8HHBB)\f!\"Q!\"#$%&'()*= = C!!q )!q  *$c)=C!!qd(b	q3ed#ed$ed$)eb!)#Oy!c9)`Sd{#e`}=&jed{$&&@%&A&eb%#j$#`Sy`{P$|~*$cdb#cdb\"Qc(b@ #ÔÕ{'!qA '\"c))==J!qB ܁C \"\"cd\f#)!qdbD *\"\"Pc\"GE \"Pcd\f$)F !!F !!!B!!>X\f!BZ!.\n" [gnus-uu-save-separate-articles buffer write-region 1 gnus-uu-saved-article-name gnus-current-article in-state first begin first-and-last end last middle gnus-uu-save-in-digest t 3 get-text-property gnus-intangible to gnus-summary-goto-subject gnus-number gnus-summary-last-subject gnus-newsgroup-data header 2 gnus-uu-digest-from-subject file-name-nondirectory "^" make-string 30 45 "$" nil state end-string body sorthead headline headers subj beg delim name get-buffer-create "*gnus-uu-body*" erase-buffer "*gnus-uu-pre*" format "Date: %s\nFrom: %s\nSubject: %s Digest\n\nTopics:\n" current-time-string get-buffer buffer-read-only gnus-set-text-properties put-text-property invisible intangible re-search-forward "\n\n" 0 delete-char " " gnus-uu-digest-headers "^[^ 	]" "\n" "^Subject: \\(.*\\)$" "   %s\n" "\n\n%s\n\n" 70 "End of %s Digest" 42 kill-buffer] 11])
(byte-code "\nB\nB\nB" ["^[^:]...............................................................$" gnus-uu-binhex-body-line current-load-list "^:...............................................................$" gnus-uu-binhex-begin-line ":$" gnus-uu-binhex-end-line] 2)
(defalias 'gnus-uu-binhex-article #[(buffer in-state) "q~eb#! #! C\n>z y`!? C͉#B CdbQ#!f \n>c \nBe Cyy!z 	`#)\n> \nB \n*" [nil start-char state buffer re-search-forward gnus-uu-binhex-begin-line t gnus-uu-binhex-body-line wrong-type 0 looking-at begin write-region 1 gnus-uu-binhex-article-name middle re-search-backward "\\|" gnus-uu-binhex-end-line end file-exists-p append-to-file] 4])
(defalias 'gnus-uu-decode-postscript-article #[(process-buffer in-state) "Cqeb#  CV y`\f#4 CV `!q\f#AQed\n#\nE)," [ok nil file-name end-char start-char state process-buffer re-search-forward gnus-uu-postscript-begin-string t wrong-type 0 gnus-uu-postscript-end-string get-buffer-create gnus-uu-output-buffer-name insert-buffer-substring gnus-uu-work-dir gnus-article-current ".ps" write-region begin end] 4])
(defalias 'gnus-uu-get-actions #[(files) "; @A\n!4 Ƙ% B( B\n\"BD@A\n \f+" [files nil name action ofiles gnus-uu-get-action "gnus-uu-archive" "file" execute gnus-uu-command] 7])
(defalias 'gnus-uu-get-action #[(file-name) "? #\" ʘ1 1 \f\"1 	\"	)" [nil action gnus-uu-choose-action file-name append gnus-uu-user-view-rules gnus-uu-ignore-default-view-rules gnus-uu-default-view-rules gnus-uu-user-view-rules-end "" "gnus-uu-archive" gnus-uu-view-with-metamail gnus-uu-ext-to-mime-list format "metamail -d -b -c \"%s\""] 7])
(defalias 'gnus-uu-reginize-string #[(string) "!qp! !ceb\f!1 \fЉ#\fGb#C ! b#U ! # V !t `SbWf #!!SX b# Љ# d{," [2 "v[0-9]+[a-z][0-9]+:" nil beg vernum count get-buffer-create gnus-uu-output-buffer-name buffer-disable-undo erase-buffer regexp-quote string 1 case-fold-search looking-at replace-match t re-search-forward "[ 	]*[0-9]+/[0-9]+" " [0-9]+/[0-9]+" "[0-9]+[ 	]*of[ 	]*[0-9]+" "[0-9]+ of [0-9]+" re-search-backward "[0-9]" 0 "[0-9]+" backward-char 5 "[ 	]+" "[ 	]*"] 4])
(defalias 'gnus-uu-get-list-of-articles #[(n) "\nK \nW\n!\nVD `\"$ !)`\".  	BD #D \nS )	*Y W !Y  )" [nil articles n 0 abs backward get-text-property gnus-intangible to gnus-summary-goto-subject gnus-number gnus-summary-last-subject gnus-summary-search-forward gnus-newsgroup-processable reverse gnus-uu-find-articles-matching] 5])
(defalias 'gnus-uu-string< #[(l1 l2) "@	@" [l1 l2] 2])
(defalias 'gnus-uu-find-articles-matching #[(&optional subject only-unread do-not-translate) "4 `\" !)`\"  	8\n2 \n!2 \nH)! 	͉ A@8:M  A@U U UM 8HM \"M @BBM -?\"\"\"+" [subject gnus-uu-reginize-string 3 get-text-property gnus-intangible to gnus-summary-goto-subject gnus-number gnus-summary-last-subject gnus-newsgroup-data headers vectorp 1 nil list-of-subjects t d mark subj data case-fold-search only-unread gnus-unread-mark gnus-ticked-mark gnus-dormant-mark string-match mapcar #[(sub) "A" [sub] 1] sort gnus-uu-expand-numbers do-not-translate gnus-uu-string<] 7])
(defalias 'gnus-uu-expand-numbers #[(string-list &optional translate) "!qp!p  @@ceb#, ! ebE #E ʉ#4 eb#` Ԕԕ{!\"!H d{@\nA )*" [string-list nil string out-list get-buffer-create gnus-uu-output-buffer-name buffer-disable-undo erase-buffer re-search-forward "[ 	]+" t replace-match " " translate "[A-Za-z]" "a" "[0-9]+" format "%06d" string-to-int 0 1] 7])
(byte-code "! B" [boundp gnus-uu-has-been-grabbed nil current-load-list] 2)
(defalias 'gnus-uu-unmark-list-of-grabbed #[(&optional dont-unmark-last-article) "\n- - \f \n@\nA\n% \n@\"\nA \f- 	C)" [nil art gnus-uu-has-been-grabbed gnus-uu-unmark-articles-not-decoded dont-unmark-last-article gnus-summary-tick-article t] 4])
(defalias 'gnus-uu-grab-articles #[(articles process-function &optional sloppy limit no-errors) "	\n\f>5 >A@\nBW \f=T \fW \f\n!\nؘm ؂q P$)\n!qq\f\"+\n!> \f= \f= >  	 	! 	!> @	>F	; 	C 	\n@	\n\nA@B\nBDB &5&'<!'C''4'A'@	!!)(FG(UF\f=T\f=l>l	l	!l	!>z>*\n\">>C\"! \f !\">\">>\"*A@\"." [first nil files article-series gnus-article-prepare-hook gnus-article-display-hook gnus-summary-display-article-function process-state result-files result-file article has-been-begin state articles error sloppy end first-and-last last gnus-uu-part-number part gnus-message 6 "Getting article %d%s..." "" ", " gnus-summary-display-article gnus-original-article-buffer buffer-read-only gnus-summary-buffer process-function gnus-summary-remove-process-mark begin ok file-exists-p delete-file t name gnus-uu-grabbed-file-functions funcs limit wrong-type gnus-uu-unmark-articles-not-decoded gnus-summary-tick-article middle 2 "No begin part at the beginning" sleep-for message "Wrong type file" "An error occurred during decoding" "End of articles reached before end of file"] 12])
#@38 View FILE using the gnus-uu methods.
(defalias 'gnus-uu-grab-view #[(file) "	!\n\" \n	\" \n	Q=\")" [gnus-uu-get-action file action gnus-execute-command string-match "%" format " " gnus-view-pseudos not-confirm] 4 (#$ . 28568)])
#@25 Move FILE to somewhere.
(defalias 'gnus-uu-grab-move #[(file) " !!P\f\"!? \f\")" [gnus-uu-default-dir file-name-as-directory file-name-nondirectory file to-file rename-file file-exists-p make-symbolic-link] 3 (#$ . 28817)])
(defalias 'gnus-uu-part-number #[(article) "	\n8 H  \"  \"! *" [3 article gnus-newsgroup-data header 1 subject string-match "[0-9]+ */[0-9]+\\|[0-9]+ * of *[0-9]+" match-string 0 ""] 4])
(defalias 'gnus-uu-uudecode-sentinel #[(process event) "\n!!" [delete-process get-process process] 3])
(defalias 'gnus-uu-uustrip-article #[(process-buffer in-state) "qCeb	- #, ! )#? #4Cy`!V C !!)ym| !| y`y`|d  !> !! !$!(!)*$-#%*\"C$P\fB1# B db#y- !>- 5 `\">!>- \"-!>- C- >N\fGUG\f@H\fBP." [process-buffer wrong-type nil start-char files buffer-read-only case-fold-search process-connection-type state gnus-uu-kill-carriage-return search-forward "" t delete-backward-char 1 re-search-forward gnus-uu-begin-string gnus-uu-body-line ok 0 looking-at middle ((47 . 44) (32 . 95) (42 . 95) (36 . 95)) nnheader-file-name-translation-alist nnheader-translate-file-chars match-string gnus-uu-file-name gnus-uu-uudecode-process process-status (run stop) delete-process gnus-uu-unmark-list-of-grabbed default-directory cdir ((cd cdir)) cd gnus-uu-work-dir start-process "*uudecode*" get-buffer-create gnus-uu-output-buffer-name shell-file-name shell-command-switch format "cd %s %s uudecode" gnus-shell-command-separator set-process-sentinel gnus-uu-uudecode-sentinel begin gnus-uu-end-string end re-search-backward (run stop) gnus-uu-correct-stripped-uucode gnus-uu-check-correct-stripped-uucode (byte-code "	\n`#" [process-send-region gnus-uu-uudecode-process start-char] 4) ((error (byte-code "	!\"C" [delete-process gnus-uu-uudecode-process gnus-message 2 "gnus-uu: Couldn't uudecode" wrong-type state] 3))) (process-send-eof gnus-uu-uudecode-process) ((error)) (open run) accept-process-output (run stop)] 9])
(defalias 'gnus-uu-unshar-article #[(process-buffer in-state) "C\fqeb# C5 y`\nd!Q&)*" [ok nil start-char state process-buffer re-search-forward gnus-uu-shar-begin-string t wrong-type 0 call-process-region shell-file-name get-buffer-create gnus-uu-output-buffer-name shell-command-switch "cd " gnus-uu-work-dir " ; sh"] 11])
(defalias 'gnus-uu-find-name-in-shar #[nil "`eb\f# Ɣƕ{\nb	*" [nil res oldpoint re-search-forward gnus-uu-shar-name-marker t 1] 4])
(defalias 'gnus-uu-choose-action #[(file-name file-action-list &optional no-ignore) "	!É6 	 	\"Z \f6 \f#2 \"Z =Z \fZ @A@\"6 A@6 \f," [copy-sequence file-action-list t nil action rule case-fold-search action-list no-ignore gnus-uu-ignore-files-by-name string-match file-name gnus-uu-ignore-files-by-type gnus-uu-choose-action gnus-uu-ext-to-mime-list ""] 6])
(defalias 'gnus-uu-treat-archive #[(file-path) "	\n? \"\"# \"\"ЉO\f@ P#\n\f\"#!q )\f\"#!&Uy ! \"\f P#," [t nil dir command action did-unpack gnus-uu-choose-action file-path append gnus-uu-user-archive-rules gnus-uu-ignore-default-archive-rules gnus-uu-default-archive-rules error "No unpackers for the file %s" string-match "/[^/]*$" 0 gnus-uu-destructive-archivers copy-file "~" format "cd %s ; %s" gnus-uu-command get-buffer-create gnus-uu-output-buffer-name erase-buffer gnus-message 5 "Unpacking: %s..." call-process shell-file-name shell-command-switch message "" 2 "Error during unpacking of archive" rename-file] 8])
(defalias 'gnus-uu-dir-files #[(dir) "	#ĉ5 @!& !\", BA +" [directory-files dir t "[^/][^\\.][^\\.]?$" nil file files dirs file-directory-p append gnus-uu-dir-files] 5])
(defalias 'gnus-uu-unpack-files #[(files &optional ignore) "	!s @A	l !!̚l B!> #	!h @\n_ @BBD\fBAJ *A  \f	\"\" \f," [gnus-uu-ls-r gnus-uu-work-dir totfiles files ofiles nil file did-unpack name ignore gnus-uu-get-action file-name-nondirectory "gnus-uu-archive" gnus-uu-treat-archive gnus-message 2 "Error during unpacking of %s" newfiles nfiles original gnus-uu-unpack-files append] 6])
(defalias 'gnus-uu-ls-r #[(dir) "	\"' @!  @\f\"\f@!\"A \f*" [gnus-uu-directory-files dir t files ofiles file-directory-p delete append gnus-uu-ls-r] 5])
(defalias 'gnus-uu-directory-files #[(dir &optional full) "\"% @A	!ȝ\f 	\nB\f \n+" [nil file out files directory-files dir full file-name-nondirectory ("." "..")] 4])
(defalias 'gnus-uu-check-correct-stripped-uucode #[(start end) "\fq b#/ bm?q !) !y m?q Q!k O y``\nZy`	`\nZUk 	`\nZZ\"cy/ ," [nil length beg found gnus-uu-correct-stripped-uucode start re-search-forward " \\|`" end t looking-at "\n" replace-match "" 1 gnus-uu-begin-string "\\|" gnus-uu-end-string 0 make-string 32] 4])
(byte-code "! B" [boundp gnus-uu-tmp-alist nil current-load-list] 2)
(defalias 'gnus-uu-initialize #[(&optional scan) "\n+ \f\"+ 	A! 	A$ 	\"+ ɂx \f!!\f\f!C \f\"P \f!P \f\"\fP!!d !\"!\fBB)" [nil entry scan assoc gnus-newsgroup-name gnus-uu-tmp-alist file-exists-p gnus-uu-work-dir delq t file-name-as-directory expand-file-name gnus-uu-tmp-dir file-directory-p error "Temp directory %s doesn't exist" file-writable-p "Temp directory %s can't be written to" make-temp-name "gnus" gnus-make-directory set-file-modes 448] 3])
(defalias 'gnus-uu-clean-up #[nil "\n \n\f !> \n!!\" 	!)" [nil buf gnus-uu-uudecode-process process-status "nevair" (stop run) delete-process get-buffer gnus-uu-output-buffer-name kill-buffer] 2])
(defalias 'gnus-uu-command #[(action file) "\f\"\" 	\fŉO\fŔŕOR\fŔTO 	\fR\n\"8 \n	\"= \n	Q)" ["" ofile string-match "!\\|`\\|\"\\|\\$\\|\\\\\\|&" file 0 "\\" nil "\"" "%s" action format " "] 6])
#@72 Delete recursively all files and directories under `gnus-uu-work-dir'.
(defalias 'gnus-uu-delete-work-dir #[(&optional dir) " # \f] !] $	\n\nA\n@	X 	!̝$ 	!I 	!$ 	#	!$ !*\"" [dir gnus-message 7 "Deleting directory %s..." gnus-uu-work-dir file-exists-p directory-files t nil file files file-name-nondirectory ("." "..") file-directory-p gnus-uu-delete-work-dir 9 "Deleting file %s..." delete-file delete-directory ""] 5 (#$ . 35145)])
(byte-code "\"\"" [add-hook gnus-exit-group-hook gnus-uu-clean-up gnus-uu-delete-work-dir] 3)
#@345 Function used for encoding binary files.
There are three functions supplied with gnus-uu for encoding files:
`gnus-uu-post-encode-uuencode', which does straight uuencoding;
`gnus-uu-post-encode-mime', which encodes with base64 and adds MIME 
headers; and `gnus-uu-post-encode-mime-uuencode', which encodes with 
uuencode and adds MIME headers.
(defvar gnus-uu-post-encode-method (quote gnus-uu-post-encode-uuencode) (#$ . 35744))
#@254 Non-nil means that gnus-uu will ask for a file to encode before you compose the article.
If this variable is t, you can either include an encoded file with
\[gnus-uu-post-insert-binary-in-article] or have one included for you when you post the article.
(defvar gnus-uu-post-include-before-composing nil (#$ . 36181))
#@119 Maximum length of an article.
The encoded file will be split into how many articles it takes to
post the entire file.
(defvar gnus-uu-post-length 990 (#$ . 36505))
#@303 Non-nil means that gnus-uu will post the encoded file in a thread.
This may not be smart, as no other decoder I have seen are able to
follow threads when collecting uuencoded articles. (Well, I have seen
one package that does that - gnus-uu, but somehow, I don't think that 
counts...) Default is nil.
(defvar gnus-uu-post-threaded nil (#$ . 36676))
#@285 Non-nil means that the description will be posted in a separate article.
The first article will typically be numbered (0/x). If this variable
is nil, the description the user enters will be included at the 
beginning of the first article, which will be numbered (1/x). Default 
is t.
(defvar gnus-uu-post-separate-description t (#$ . 37033))
(byte-code "! B! B!! B!. BŇ" [boundp gnus-uu-post-binary-separator "--binary follows this line--" current-load-list gnus-uu-post-message-id nil gnus-uu-post-inserted-file-name gnus-uu-winconf-post-news] 2)
#@46 Compose an article and post an encoded file.
(defalias 'gnus-uu-post-news #[nil "   !!\"\"\"\".  )" [nil gnus-uu-post-inserted-file-name current-window-configuration gnus-uu-winconf-post-news gnus-summary-post-news use-local-map copy-keymap current-local-map local-set-key "" gnus-summary-edit-article-done gnus-uu-post-news-inews "" "	" gnus-uu-post-insert-binary-in-article gnus-uu-post-include-before-composing gnus-uu-post-insert-binary] 3 (#$ . 37624) nil])
#@80 Inserts an encoded file in the buffer.
The user will be asked for a file name.
(defalias 'gnus-uu-post-insert-binary-in-article #[nil " )" [gnus-uu-post-insert-binary gnus-uu-post-inserted-file-name] 2 (#$ . 38132) nil])
(defalias 'gnus-uu-post-encode-uuencode #[(path file-name) "\n# eby# ! ȇ" [gnus-uu-post-encode-file "uuencode" path file-name 1 re-search-forward " " nil t replace-match "`"] 4])
(defalias 'gnus-uu-post-encode-mime-uuencode #[(path file-name) "	\n\" \n\"Ň" [gnus-uu-post-encode-uuencode path file-name gnus-uu-post-make-mime "x-uue" t] 3])
(defalias 'gnus-uu-post-encode-mime #[(path file-name) "\n# \"Ƈ" [gnus-uu-post-encode-file "mmencode" path file-name gnus-uu-post-make-mime "base64" t] 4])
(defalias 'gnus-uu-post-make-mime #[(file-name encoding) "eb\f\"#c\"cqeb!Q!y`}!8 ~c~)" [format "Content-Type: %s; name=\"%s\"\n" gnus-uu-choose-action file-name gnus-uu-ext-to-mime-list "Content-Transfer-Encoding: %s\n\n" encoding gnus-message-buffer re-search-forward "^" regexp-quote mail-header-separator "$" -1 1 mail-fetch-field "mime-version" "MIME-Version: 1.0\n"] 5])
(defalias 'gnus-uu-post-encode-file #[(command path file-name) "	\f	$&U" [call-process shell-file-name nil t shell-command-switch format "%s %s %s" command path file-name 0] 11])
#@116 Posts the composed news article and encoded file.
If no file has been included, the user will be asked for a file.
(defalias 'gnus-uu-post-news-inews #[nil "\n \n  \fF > \" B<2 5 CB	\"*K 	\")W !" [nil file-name gnus-uu-post-inserted-file-name gnus-uu-post-insert-binary gnus-uu-post-threaded Message-ID message-required-news-headers gnus-inews-article-hook (lambda nil (save-excursion (goto-char (point-min)) (if (re-search-forward "^Message-ID: \\(.*\\)$" nil t) (setq gnus-uu-post-message-id (buffer-substring (match-beginning 1) (match-end 1))) (setq gnus-uu-post-message-id nil)))) gnus-uu-post-encoded t gnus-uu-winconf-post-news set-window-configuration] 3 (#$ . 39502) nil])
(defalias 'gnus-uu-post-insert-binary #[nil "!\f! \f\"db\"c\f\"/ \fOP\f\"@ \fӔTOB \fԎ!q \f\n\")_ !c !)\n," ["*uuencode buffer*" nil file-name uubuf file-path uuencode-buffer-name read-file-name "What file do you want to encode? " file-exists-p error "%s: No such file" format "\n%s\n" gnus-uu-post-binary-separator string-match "^~/" "$HOME" 1 "/[^/]*$" 0 ((kill-buffer uubuf)) get-buffer-create erase-buffer gnus-uu-post-encode-method insert-buffer-substring "Encoding unsuccessful"] 4])
(defalias 'gnus-uu-post-encoded #[(file-name &optional threaded) "Pŉ	\n\fp	ebN !QT !Q#^ !yy`d!q 	#ebd\"''W T) y`d\"eb!Q#y`{eb + # \"c V!!q c+00\"cc4&GZV6\"4UTSV\"&\feb#+{#cUU!dbqbUdb'yTU`d\"Wy`)#\fccTeb!Q#yy!Q#!y\fcc= ) )!\n1\n!!\n@\n!?Z@ !A B !ZB  ." ["*uuencode send buffer*" "*encoded buffer*" "[ cut here %s (%s %d/%d) %s gnus-uu ]" mail-header-separator "\n\n" nil end-binary beg-binary whole-len post-buf buf minlen beg-line beg end i header parts length uubuf separator top-string encoded-buffer-name send-buffer-name re-search-forward gnus-uu-post-separate-description "^" regexp-quote gnus-uu-post-binary-separator "$" t error "Internal error: No binary/header separator" 0 1 get-buffer-create erase-buffer insert-buffer-substring count-lines gnus-uu-post-length 4 -1 kill-region threaded "^Subject: " format " (0/%d)" message-send gnus-uu-post-message-id "References: %s\n" 62 "" file-name 2 make-string 45 " (%d/%d)" replace-match "Subject: Re: " -4 "\n" message-sent-message-via get-buffer kill-buffer set-buffer-modified-p fboundp bury-buffer] 19])
(provide (quote gnus-uu))
