;ELC ;;; compiled by kwzh@nutrimat.gnu.ai.mit.edu on Wed Jul 17 16:52:34 1996 ;;; from file /gd/gnu/emacs/19.0/lisp/gnus-uu.el ;;; emacs version 19.31.94.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"))) (#$ . -529)) #@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 (#$ . -2555)) #@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"))) (#$ . -2758)) (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 (#$ . -3355)) #@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 (#$ . -3685)) #@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 (#$ . -4082)) (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/" (#$ . -5525)) #@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 (#$ . -5648)) #@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 (#$ . -5814)) #@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 (#$ . -6011)) #@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 (#$ . -6285)) #@90 *Non-nil means that gnus-uu will strip all carriage returns from articles. Default is t. (defvar gnus-uu-kill-carriage-return t (#$ . -6504)) #@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 (#$ . -6653)) #@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 (#$ . -6908)) #@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 (#$ . -7085)) #@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 (#$ . -7268)) #@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:")) (#$ . -7655)) #@67 *Non-nil means that gnus-uu will save articles in separate files. (defvar gnus-uu-save-separate-articles nil (#$ . -7943)) (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 (#$ . 10041) "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 (#$ . 10209) (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 (#$ . 10536) "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 (#$ . 10720) (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 (#$ . 11054) (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 (#$ . 11419) (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 (#$ . 11798) "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 (#$ . 11980) (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 (#$ . 12301) "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 (#$ . 12489) (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 (#$ . 12810) (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 (#$ . 13161) (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!{AO )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 (#$ . 13546) "P"]) #@36 Digest and forward to a newsgroup. (defalias 'gnus-uu-digest-post-forward #[(&optional n) " \"" [gnus-uu-digest-mail-forward n t] 3 (#$ . 14342) "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 (#$ . 14502) (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 (#$ . 14951) (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 (#$ . 15214) 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 (#$ . 15498) "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 (#$ . 15977) "r"]) #@53 Set the process mark on all articles in the buffer. (defalias 'gnus-uu-mark-buffer #[nil "ed\"" [gnus-uu-mark-region] 3 (#$ . 16157) 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 (#$ . 16304) 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 (#$ . 16458) 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 (#$ . 17007) 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 (#$ . 17563) "P"]) #@49 Mark all series that have some articles marked. (defalias 'gnus-uu-mark-sparse #[nil " ‰!c@\f8!? H!!\f  Z @! @A\" ACA \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 (#$ . 17910) 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 (#$ . 18432) 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 (#$ . 18761) "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 (#$ . 18956) "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 (#$ . 19149) (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 (#$ . 19494) (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\" \nB 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 (#$ . 20448)]) #@20 Save FILES in DIR. (defalias 'gnus-uu-save-files #[(files dir) "G !Pĉ A@At!\"͕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 (#$ . 20802)]) (defalias 'gnus-uu-save-article #[(buffer in-state) "; qd\f P#=\fD9=+\fE9=7C9C) v qd\f$=X\fDt=f\fEt=rCtC)`\"!)`\" 8HHBB)\f!\"Q!\"#$%&'()*==C!!q )!q *$c)=C!!qd(b q3ed#ed$ed$)eb!)#Oy!c9)`Sd{#e`}=&jed{$&&@%&A&eb%#j$#`Sy`{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>zy` !?C͉#BCdbQ#!f\n>c\nBeCyy!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) "Cqeb# CVy`\f#4CV`!q\f #AQed\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#!! SX 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`\"$!)`\". BD #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:MA@UUUM8HM\"M@BBM-?\"\"\"+" [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ʉ#4eb#`Ԕԕ{!\"!Hd{@\nA) *" [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؂qP$)\n!qq\f\"+\n!>\f=\f=>   ! !>@  >F  ; C \n@ \n\nA@B\nBDB&5&'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 (#$ . 28538)]) #@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 (#$ . 28787)]) (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 -#,!)#?#&Cy`!VC!!)ym|!|y`y`|d!>!!#!$%(\"%\"C(P\fB,#Bdb#y-!>-0 `\">!>-\"!>-C->@\fGU9\f@:\fBB." [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 start-process "*uudecode*" get-buffer-create gnus-uu-output-buffer-name shell-file-name shell-command-switch format "cd %s ; uudecode" gnus-uu-work-dir 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)] 8]) (defalias 'gnus-uu-unshar-article #[(process-buffer in-state) "C\fqeb#C5y`\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!\"\fP# ," [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@!& !\", BA+" [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!!̚lB!># !h@\n_@BBD\fBAJ* 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!)!ym?qQ!k Oy``\nZy` `\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!\"!\fB 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!*" [nil pst 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ʼnO\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 (#$ . 35036)]) (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) (#$ . 35635)) #@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 (#$ . 36072)) #@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 (#$ . 36396)) #@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 (#$ . 36567)) #@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 (#$ . 36924)) (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 (#$ . 37515) 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 (#$ . 38023) 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\"cqeb !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<25CB \"*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 (#$ . 39393) nil]) (defalias 'gnus-uu-post-insert-binary #[nil "!\f!\f\"db \"c\f\"/\fOP\f\"@\fӔTOB\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 \n \f p ebN!QT !Q#^!yy`d!q  #ebd\"''WT)y`d\"eb !Q#y`{eb+#\"c  V!!q c+00\"cc4&GZ V6  \"4UT SV \"&\feb#+{#cUU!dbq bUdb'yTU`d\"Wy`) #\fcc Teb !Q#yy!Q#!y\fcc= ))!\n1\n!!\n@\n!?Z@!AB!ZB ." ["*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))