;ELC ;;; compiled by rms@mole.gnu.ai.mit.edu on Wed May 3 23:15:28 1995 ;;; from file /home/fsf/rms/e19/lisp/gnus-uu.el ;;; emacs version 19.28.90.6. ;;; 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"))) (error "`/home/fsf/rms/e19/lisp/gnus-uu.el' was compiled for Emacs 19")) (byte-code "!!!B! \f#\f#\f#\f#\f#\f#\f#\f# # #\f#\f#\f#\f#\f#\f#\f#\f#\f#\f#\f#\f#\f#\f#\f#\f#\f#\f#\f@A#\fBC#\fDE#\fFG#" [require gnus gnuspost boundp gnus-uu-ctl-map nil current-load-list define-prefix-command define-key gnus-summary-mode-map "" "" gnus-uu-decode-and-view "v" gnus-uu-decode-and-save "" gnus-uu-shar-and-view "s" gnus-uu-shar-and-save " " gnus-uu-multi-decode-and-view "m" gnus-uu-multi-decode-and-save "" gnus-uu-decode-and-show-in-buffer "#" gnus-uu-mark-article "" gnus-uu-unmark-article "" gnus-uu-unmark-all-articles "" gnus-uu-mark-by-regexp "r" "t" gnus-uu-mark-thread "" gnus-uu-marked-decode-and-view "" gnus-uu-marked-decode-and-save "" gnus-uu-marked-shar-and-view "" gnus-uu-marked-shar-and-save "" gnus-uu-marked-multi-decode-and-view "" gnus-uu-marked-multi-decode-and-save "f" gnus-uu-digest-and-forward "" gnus-uu-marked-digest-and-forward " " gnus-uu-toggle-interactive-view "" gnus-uu-toggle-any-variable "\f" gnus-uu-edit-begin-line "a" gnus-uu-decode-and-save-all-unread-articles "w" gnus-uu-decode-and-save-all-articles "" gnus-uu-decode-and-view-all-unread-articles "" gnus-uu-decode-and-view-all-articles "\n" gnus-uu-threaded-multi-decode-and-view "j" gnus-uu-threaded-multi-decode-and-save "p" gnus-uu-post-news] 4) #@13962 gnus-uu is a package for uudecoding and viewing articles. Keymap overview: By default, all gnus-uu keystrokes begin with `C-c C-v'. There four decoding commands categories: All commands for viewing are `C-c C-v C-LETTER'. All commands for saving are `C-c C-v LETTER'. All commands for marked viewing are `C-c C-v C-M-LETTER'. All commands for marked saving are `C-c C-v M-LETTER'. \\[gnus-uu-decode-and-view] Decode and view articles \[gnus-uu-decode-and-save] Decode and save articles \[gnus-uu-shar-and-view] Unshar and view articles \[gnus-uu-shar-and-save] Unshar and save articles \[gnus-uu-multi-decode-and-view] Choose a decoding method, decode and view articles \[gnus-uu-multi-decode-and-save] Choose a decoding method, decode and save articles \[gnus-uu-threaded-multi-decode-and-view] Decode a thread and view \[gnus-uu-threaded-multi-decode-and-save] Decode a thread and save \[gnus-uu-decode-and-show-in-buffer] Decode the current article and view the result in a buffer \[gnus-uu-edit-begin-line] Edit the 'begin' line of an uuencoded article \[gnus-uu-decode-and-save-all-unread-articles] Decode and save all unread articles \[gnus-uu-decode-and-save-all-articles] Decode and save all articles \[gnus-uu-decode-and-view-all-unread-articles] Decode and view all unread articles \[gnus-uu-decode-and-view-all-articles] Decode and view all articles \[gnus-uu-digest-and-forward] Digest and forward a series of articles \[gnus-uu-marked-digest-and-forward] Digest and forward all marked articles \[gnus-uu-mark-article] Mark the current article for decoding \[gnus-uu-unmark-article] Unmark the current article \[gnus-uu-unmark-all-articles] Unmark all articles \[gnus-uu-mark-by-regexp] Mark articles for decoding by regexp \[gnus-uu-mark-thread] Mark articles in this thread \[gnus-uu-marked-decode-and-view] Decode and view marked articles \[gnus-uu-marked-decode-and-save] Decode and save marked articles \[gnus-uu-marked-shar-and-view] Unshar and view marked articles \[gnus-uu-marked-shar-and-save] Unshar and save marked articles \[gnus-uu-marked-multi-decode-and-view] Choose decoding method, decode and view marked articles \[gnus-uu-marked-multi-decode-and-save] Choose decoding method, decode and save marked articles \[gnus-uu-toggle-asynchronous] Toggle asynchronous viewing mode \[gnus-uu-toggle-query] Toggle whether to ask before viewing a file \[gnus-uu-toggle-always-ask] Toggle whether to ask to save a file after viewing \[gnus-uu-toggle-kill-carriage-return] Toggle whether to strip trailing carriage returns \[gnus-uu-toggle-interactive-view] Toggle whether to use interactive viewing mode \[gnus-uu-toggle-correct-stripped-articles] Toggle whether to 'correct' articles \[gnus-uu-toggle-view-with-metamail] Toggle whether to use metamail for viewing \[gnus-uu-toggle-any-variable] Toggle any of the things above \[gnus-uu-post-news] Post an uuencoded article Function description: `gnus-uu-decode-and-view' will try to find all articles in the same series, uudecode them and view the resulting file(s). gnus-uu guesses what articles are in the series according to the following simplish rule: The subjects must be (nearly) identical, except for the last two numbers of the line. (Spaces are largely ignored, however.) For example: If you choose a subject called "cat.gif (2/3)" gnus-uu will find all the articles that matches "^cat.gif ([0-9]+/[0-9]+).*$". Subjects that are nonstandard, like "cat.gif (2/3) Part 6 of a series", will not be properly recognized by any of the automatic viewing commands, and you have to mark the articles manually with '#'. `gnus-uu-decode-and-save' will do the same as `gnus-uu-decode-and-view', except that it will not display the resulting file, but save it instead. `gnus-uu-shar-and-view' and `gnus-uu-shar-and-save' are the "shar" equivalents to the uudecode functions. Instead of feeding the articles to uudecode, they are run through /bin/sh. Most shar files can be viewed and/or saved with the normal uudecode commands, which is much safer, as no foreign code is run. Instead of having windows popping up automatically, it can be handy to view files interactivly, especially when viewing archives. Use `gnus-uu-toggle-interactive-mode' to toggle interactive mode. `gnus-uu-mark-article' marks an article for later decoding/unsharing/saving/viewing. The files will be decoded in the sequence they were marked. To decode the files after you've marked the articles you are interested in, type the corresponding key strokes as the normal decoding commands, but put a `M-' in the last keystroke. For instance, to perform a standard uudecode and view, you would type `C-c C-v C-v'. To perform a marked uudecode and view, say `C-v C-v M-C-v'. All the other view and save commands are handled the same way; marked uudecode and save is then `C-c C-v M-v'. `gnus-uu-unmark-article' will remove the mark from a previosly marked article. `gnus-uu-unmark-all-articles' will remove the mark from all marked articles. `gnus-uu-mark-by-regexp' will prompt for a regular expression and mark all articles matching that regular expression. `gnus-uu-mark-thread' will mark all articles downward in the current thread. There's an additional way to reach the decoding functions to make future expansions easier: `gnus-uu-multi-decode-and-view' and the corresponding save, marked view and marked save functions. You will be prompted for a decoding method, like uudecode, shar, binhex or plain save. Note that methods like binhex and save doesn't have view modes; even if you issue a view command (`C-c C-v C-m' and "binhex"), gnus-uu will just save the resulting binhex file. `gnus-uu-decode-and-show-in-buffer' will decode the current article and display the results in an emacs buffer. This might be useful if there's jsut some text in the current article that has been uuencoded by some perverse poster. `gnus-uu-decode-and-save-all-articles' looks at all the articles in the current newsgroup and tries to uudecode everything it can find. The user will be prompted for a directory where the resulting files (if any) will be saved. `gnus-uu-decode-and-save-unread-articles' does only checks unread articles. `gnus-uu-decode-and-view-all-articles' does the same as the function above, only viewing files instead of saving them. `gnus-uu-edit-begin-line' lets you edit the begin line of an uuencoded file in the current article. Useful to change a corrupted begin line. When using the view commands, `gnus-uu-decode-and-view' for instance, gnus-uu will (normally, see below) try to view the file according to the rules given in `gnus-uu-default-view-rules' and `gnus-uu-user-view-rules'. If it recognizes the file, it will display it immediately. If the file is some sort of archive, gnus-uu will attempt to unpack the archive and see if any of the files in the archive can be viewed. For instance, if you have a gzipped tar file "pics.tar.gz" containing the files "pic1.jpg" and "pic2.gif", gnus-uu will uncompress and detar the main file, and then view the two pictures. This unpacking process is recursive, so if the archive contains archives of archives, it'll all be unpacked. If the view command doesn't recognise the file type, or can't view it because you don't have the viewer, or can't view *any* of the files in the archive, the user will be asked if she wishes to have the file saved somewhere. Note that if the decoded file is an archive, and gnus-uu manages to view some of the files in the archive, it won't tell the user that there were some files that were unviewable. Try interactive view for a different approach. Note that gnus-uu adds a function to `gnus-exit-group-hook' to clear the list of marked articles and check for any generated files that might have escaped deletion if the user typed `C-g' during viewing. `gnus-uu-toggle-asynchronous' toggles the `gnus-uu-asynchronous' variable. `gnus-uu-toggle-query' toggles the `gnus-uu-ask-before-view' variable. `gnus-uu-toggle-always-ask' toggles the `gnus-uu-view-and-save' variable. `gnus-uu-toggle-kill-carriage-return' toggles the `gnus-uu-kill-carriage-return' variable. `gnus-uu-toggle-interactive-view' toggles interactive mode. If it is turned on, gnus-uu won't view files immediately, but will give you a buffer with the default commands and files and let you edit the commands and execute them at leisure. `gnus-uu-toggle-correct-stripped-articles' toggles whether to check and correct uuencoded articles that may have had trailing spaces stripped by mailers. `gnus-uu-toggle-view-with-metamail' toggles whether to skip the gnus-uu viewing methods and just guess at an content-type based on the file name suffix and feed it to metamail. `gnus-uu-toggle-any-variable' is an interface to the toggle commands listed above. Customization Rule Variables gnus-uu uses "rule" variables to decide how to view a file. All these variables are of the form (list '(regexp1 command2) '(regexp2 command2) ...) `gnus-uu-user-view-rules' This variable is consulted first when viewing files. If you wish to use, for instance, sox to convert an .au sound file, you could say something like: (setq gnus-uu-user-view-rules (list '("\\.au$" "sox %s -t .aiff > /dev/audio"))) `gnus-uu-user-view-rules-end' This variable is consulted if gnus-uu couldn't make any matches from the user and default view rules. `gnus-uu-user-interactive-view-rules' This is the variable used instead of `gnus-uu-user-view-rules' when in interactive mode. `gnus-uu-user-interactive-view-rules-end' This variable is used instead of `gnus-uu-user-view-rules-end' when in interactive mode. `gnus-uu-user-archive-rules` This variable can be used to say what comamnds should be used to unpack archives. Other Variables `gnus-uu-ignore-files-by-name' Files with name matching this regular expression won't be viewed. `gnus-uu-ignore-files-by-type' Files with a MIME type matching this variable won't be viewed. Note that gnus-uu tries to guess what type the file is based on the name. gnus-uu is not a MIME package, so this is slightly kludgy. `gnus-uu-tmp-dir' Where gnus-uu does its work. `gnus-uu-do-not-unpack-archives' Non-nil means that gnus-uu won't peek inside archives looking for files to dispay. `gnus-uu-view-and-save' Non-nil means that the user will always be asked to save a file after viewing it. `gnus-uu-asynchronous' Non-nil means that files will be viewed asynchronously. This can be useful if you're viewing long .mod files, for instance, which often takes several minutes. Note, however, that since gnus-uu doesn't ask, and if you are viewing an archive with lots of viewable files, you'll get them all up more or less at once, which can be confusing, to say the least. To get gnus-uu to ask you before viewing a file, set the `gnus-uu-ask-before-view' variable. `gnus-uu-ask-before-view' Non-nil means that gnus-uu will ask you before viewing each file `gnus-uu-ignore-default-view-rules' Non-nil means that gnus-uu will ignore the default viewing rules. `gnus-uu-ignore-default-archive-rules' Non-nil means that gnus-uu will ignore the default archive unpacking commands. `gnus-uu-kill-carriage-return' Non-nil means that gnus-uu will strip all carriage returns from articles. `gnus-uu-unmark-articles-not-decoded' Non-nil means that gnus-uu will mark articles that were unsuccessfully decoded as unread. `gnus-uu-output-window-height' This variable says how tall the output buffer window is to be when using interactive view mode. `gnus-uu-correct-stripped-uucode' Non-nil means that gnus-uu will *try* to fix uuencoded files that have had traling spaces deleted. `gnus-uu-use-interactive-view' Non-nil means that gnus-uu will use interactive viewing mode. `gnus-uu-view-with-metamail' Non-nil means that gnus-uu will ignore the viewing commands defined by the rule variables and just fudge a MIME content type based on the file name. The result will be fed to metamail for viewing. `gnus-uu-save-in-digest' 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. `gnus-uu-post-include-before-composing' 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. `gnus-uu-post-length' Maximum length of an article. The encoded file will be split into how many articles it takes to post the entire file. `gnus-uu-post-threaded' 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. `gnus-uu-post-separate-description' 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.  (defalias 'gnus-uu #[nil "" [nil] 1 (#$ . 1920) nil]) #@1390 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 (list '("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 vaiable 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. Unless, of course, you are using the interactive view mode. Then `gnus-uu-user-interactive-view-rules' and `gnus-uu-user-interactive-view-rules-end' will be used instead. (defvar gnus-uu-default-view-rules (list (quote ("\\.\\(jpe?g\\|gif\\|tiff?\\|p[pgb]m\\|xwd\\|xbm\\|pcx\\)$" "xv")) (quote ("\\.tga$" "tgatoppm %s | xv -")) (quote ("\\.te?xt$\\|\\.doc$\\|read.*me" "xterm -e less")) (quote ("\\.\\(wav\\|aiff\\|hcom\\|u[blw]\\|s[bfw]\\|voc\\|smp\\)$" "sox -v .5 %s -t .au -u - > /dev/audio")) (quote ("\\.au$" "cat %s > /dev/audio")) (quote ("\\.mod$" "str32")) (quote ("\\.ps$" "ghostview")) (quote ("\\.dvi$" "xdvi")) (quote ("\\.[1-6]$" "xterm -e man -l")) (quote ("\\.html$" "xmosaic")) (quote ("\\.mpe?g$" "mpeg_play")) (quote ("\\.\\(flc\\|fli\\|rle\\|iff\\|pfx\\|avi\\|sme\\|rpza\\|dl\\|qt\\|rsrc\\)$" "xanim")) (quote ("\\.\\(tar\\|arj\\|zip\\|zoo\\|arc\\|gz\\|Z\\|lzh\\|ar\\|lha\\)$" "gnus-uu-archive"))) (#$ . 15945)) #@146 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 (#$ . 18102)) #@161 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 nil (#$ . 18304)) #@174 Variable detailing what actions are to be taken to view a file when using interactive mode. See the documentation on the `gnus-uu-default-view-rules' variable for details. (defvar gnus-uu-user-interactive-view-rules nil (#$ . 18525)) #@189 Variable saying what actions are to be taken if no rule matched the file name when using interactive mode. See the documentation on the `gnus-uu-default-view-rules' variable for details. (defvar gnus-uu-user-interactive-view-rules-end nil (#$ . 18767)) (byte-code "!\nD\fB!C\fB!.Я \fB!=D\fB" [boundp gnus-uu-default-interactive-view-rules-begin ("\\.te?xt$\\|\\.doc$\\|read.*me\\|\\.c?$\\|\\.h$\\|\\.bat$\\|\\.asm$\\|makefile" "cat %s | sed s/ //g") ("\\.pas$" "cat %s | sed s/ //g") current-load-list gnus-uu-default-interactive-view-rules-end (".*" "file") 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") gnus-uu-destructive-archivers "uncompress" "gunzip"] 9) #@280 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 (list '("\\.tar$" "untar") '("\\.zip$" "zip -x"))) (defvar gnus-uu-user-archive-rules nil (#$ . 19668)) #@335 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 (#$ . 20007)) #@360 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 (#$ . 20403)) (byte-code "%%&B&" [("\\.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] 37) #@70 Variable saying where gnus-uu is to do its work. Default is "/tmp/". (defvar gnus-uu-tmp-dir "/tmp/" (#$ . 21884)) #@101 Non-nil means that gnus-uu won't peek inside archives looking for files to dispay. Default is nil. (defvar gnus-uu-do-not-unpack-archives nil (#$ . 22006)) #@191 Non-nil means that the user will always be asked to save a file after viewing it. If the variable is nil, the suer will only be asked to save if the viewing is unsuccessful. Default is nil. (defvar gnus-uu-view-and-save nil (#$ . 22170)) #@73 Non-nil means that files will be viewed asynchronously. Default is nil. (defvar gnus-uu-asynchronous nil (#$ . 22414)) #@138 Non-nil means that gnus-uu will ask you before viewing each file. Especially useful when `gnus-uu-asynchronous' is set. Default is nil. (defvar gnus-uu-ask-before-view nil (#$ . 22540)) #@130 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 (#$ . 22734)) #@150 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 (#$ . 22930)) #@89 Non-nil means that gnus-uu will strip all carriage returns from articles. Default is t. (defvar gnus-uu-kill-carriage-return t (#$ . 23148)) #@195 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 (#$ . 23296)) #@108 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 (#$ . 23550)) #@144 This variable says how tall the output buffer window is to be when using interactive view mode. Change it at your convenience. Default is 20. (defvar gnus-uu-output-window-height 20 (#$ . 23726)) #@117 Non-nil means that gnus-uu will *try* to fix uuencoded files that have had traling spaces deleted. Default is nil. (defvar gnus-uu-correct-stripped-uucode nil (#$ . 23930)) #@185 Non-nil means that gnus-uu will use interactive viewing mode. Gnus-uu will create a special buffer where the user may choose interactively which files to view and how. Default is nil. (defvar gnus-uu-use-interactive-view nil (#$ . 24111)) #@331 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 (#$ . 24357)) (byte-code "\nB\nB\nBSV*PP) \nB!A\nB\nB!U\nB!b\nB!o\nB\nB!\nB!\nB!\nB!\nB\nB\nB \nB\"\nBЇ" ["^begin[ ]+[0-7][0-7][0-7][ ]+\\(.*\\)$" gnus-uu-begin-string current-load-list "^end[ ]*$" gnus-uu-end-string "^M" gnus-uu-body-line 61 i 0 "[^a-z]" ".?$" "^#! */bin/sh" gnus-uu-shar-begin-string boundp gnus-uu-shar-file-name nil "begin [0-7][0-7][0-7][ ]+\\(\\(\\w\\|\\.\\)*\\b\\)" gnus-uu-shar-name-marker gnus-uu-shar-directory gnus-uu-file-name gnus-uu-list-of-files-decoded gnus-uu-uudecode-process gnus-uu-interactive-file-list gnus-uu-marked-article-list gnus-uu-generated-file-list gnus-uu-work-dir "*gnus-uu interactive*" gnus-uu-interactive-buffer-name "*Gnus UU Output*" gnus-uu-output-buffer-name "*Gnus UU Result Buffer*" gnus-uu-result-buffer 1 gnus-uu-highest-article-number] 2) #@315 UUdecodes and 'views' (if possible) the resulting file. 'Viewing' can be any action at all, as defined in the `gnus-uu-file-action-list' variable. Running 'xv' on gifs and 'cat >/dev/audio' on au files are popular actions. If the file can't be viewed, the user is asked if she would like to save the file instead. (defalias 'gnus-uu-decode-and-view #[nil "\"" [gnus-uu-decode-and-view-or-save t nil] 3 (#$ . 25680) nil]) #@39 Decodes and saves the resulting file. (defalias 'gnus-uu-decode-and-save #[nil "\"" [gnus-uu-decode-and-view-or-save nil] 3 (#$ . 26111) nil]) #@88 Decodes and views articles marked. The marked equivalent to `gnus-uu-decode-and-view'. (defalias 'gnus-uu-marked-decode-and-view #[nil "\"" [gnus-uu-decode-and-view-or-save t] 3 (#$ . 26264) nil]) #@88 Decodes and saves articles marked. The marked equivalent to `gnus-uu-decode-and-save'. (defalias 'gnus-uu-marked-decode-and-save #[nil "\"" [gnus-uu-decode-and-view-or-save nil t] 3 (#$ . 26471) nil]) #@79 Unshars and views articles. The shar equivalent of `gnus-uu-decode-and-view'. (defalias 'gnus-uu-shar-and-view #[nil "\"" [gnus-uu-unshar-and-view-or-save t nil] 3 (#$ . 26682) nil]) #@76 Unshars and saves files. The shar equivalent to `gnus-uu-decode-and-save'. (defalias 'gnus-uu-shar-and-save #[nil "\"" [gnus-uu-unshar-and-view-or-save nil] 3 (#$ . 26875) nil]) #@86 Unshars and views articles marked. The marked equivalent to `gnus-uu-shar-and-view'. (defalias 'gnus-uu-marked-shar-and-view #[nil "\"" [gnus-uu-unshar-and-view-or-save t] 3 (#$ . 27063) nil]) #@86 Unshars and saves articles marked. The marked equivalent to `gnus-uu-shar-and-save'. (defalias 'gnus-uu-marked-shar-and-save #[nil "\"" [gnus-uu-unshar-and-view-or-save nil t] 3 (#$ . 27266) nil]) #@39 Decodes and saves the resulting file. (defalias 'gnus-uu-threaded-decode-and-view #[nil "!" [gnus-uu-threaded-decode-and-view-or-save t] 2 (#$ . 27473) nil]) #@39 Decodes and saves the resulting file. (defalias 'gnus-uu-threaded-decode-and-save #[nil "!" [gnus-uu-threaded-decode-and-view-or-save nil] 2 (#$ . 27640) nil]) #@39 Decodes and saves the resulting file. (defalias 'gnus-uu-threaded-multi-decode-and-view #[nil "!" [gnus-uu-threaded-multi-decode-and-view-or-save t] 2 (#$ . 27809) nil]) #@39 Decodes and saves the resulting file. (defalias 'gnus-uu-threaded-multi-decode-and-save #[nil "!" [gnus-uu-threaded-multi-decode-and-view-or-save nil] 2 (#$ . 27988) nil]) (defalias 'gnus-uu-threaded-decode-and-view-or-save #[(&optional view) " \"" [gnus-uu-unmark-all-articles gnus-uu-mark-thread gnus-uu-decode-and-view-or-save view t] 3]) (defalias 'gnus-uu-threaded-multi-decode-and-view-or-save #[(view) "! U& U& U& U& \" U4 UB\"i UP\"i U^\"i Ui\")" [nil type message "Decode type: [u]udecode, (s)har, s(a)ve, (b)inhex: " read-char 117 115 98 97 error "No such decoding method '%c'" gnus-uu-unmark-all-articles gnus-uu-mark-thread 13 gnus-uu-decode-and-view-or-save view t gnus-uu-unshar-and-view-or-save gnus-uu-binhex-and-save gnus-uu-save-articles] 4]) #@45 This function toggles asynchronous viewing. (defalias 'gnus-uu-toggle-asynchronous #[nil "? !!" [gnus-uu-asynchronous message "gnus-uu will now view files asynchronously" "gnus-uu will now view files synchronously"] 2 (#$ . 28836) nil]) #@61 This function toggles whether to ask before viewing or not. (defalias 'gnus-uu-toggle-query #[nil "? !!" [gnus-uu-ask-before-view message "gnus-uu will now ask before viewing" "gnus-uu will now view without asking first"] 2 (#$ . 29090) nil]) #@75 This function toggles whether to always ask to save a file after viewing. (defalias 'gnus-uu-toggle-always-ask #[nil "? !!" [gnus-uu-view-and-save message "gnus-uu will now ask to save the file after viewing" "gnus-uu will now not ask to save after successful viewing"] 2 (#$ . 29350) nil]) #@56 This function toggles whether to use interactive view. (defalias 'gnus-uu-toggle-interactive-view #[nil "? !!" [gnus-uu-use-interactive-view message "gnus-uu will now use interactive view" "gnus-uu will now use non-interactive view"] 2 (#$ . 29658) nil]) #@63 This function toggles whether to unmark articles not decoded. (defalias 'gnus-uu-toggle-unmark-undecoded #[nil "? !!" [gnus-uu-unmark-articles-not-decoded message "gnus-uu will now unmark articles not decoded" "gnus-uu will now not unmark articles not decoded"] 2 (#$ . 29930) nil]) #@76 This function toggles the stripping of carriage returns from the articles. (defalias 'gnus-uu-toggle-kill-carriage-return #[nil "? !!" [gnus-uu-kill-carriage-return message "gnus-uu will now strip carriage returns" "gnus-uu won't strip carriage returns"] 2 (#$ . 30230) nil]) #@60 This function toggles whether to view files with metamail. (defalias 'gnus-uu-toggle-view-with-metamail #[nil "? !!" [gnus-uu-view-with-metamail message "gnus-uu will now view with metamail" "gnus-uu will now view with the gnus-uu viewing functions"] 2 (#$ . 30523) nil]) #@59 This function toggles whether to correct stripped uucode. (defalias 'gnus-uu-toggle-correct-stripped-uucode #[nil "? !!" [gnus-uu-correct-stripped-uucode message "gnus-uu will now correct stripped uucode" "gnus-uu won't check and correct stripped uucode"] 2 (#$ . 30812) nil]) #@59 This function ask what variable the user wants to toggle. (defalias 'gnus-uu-toggle-any-variable #[nil "! U U U$ U- U6 U? UH UP )" [nil rep message "(a)sync, (q)uery, (p)ask, (k)ill CR, (i)nteract, (u)nmark, (c)orrect, (m)eta" read-char 97 gnus-uu-toggle-asynchronous 113 gnus-uu-toggle-query 112 gnus-uu-toggle-always-ask 107 gnus-uu-toggle-kill-carriage-return 117 gnus-uu-toggle-unmark-undecoded 99 gnus-uu-toggle-correct-stripped-uucode 109 gnus-uu-toggle-view-with-metamail 105 gnus-uu-toggle-interactive-view] 3 (#$ . 31106) nil]) #@182 Uudecodes the current article and displays the result in a buffer. Might be useful if someone has, for instance, some text uuencoded in their sigs. (Stranger things have happened.) (defalias 'gnus-uu-decode-and-show-in-buffer #[nil " \n! >C\">\n P> q \f!)! \"\f\"\f!+" [gnus-uu-initialize get-buffer-create gnus-uu-output-buffer-name nil file-name uu-buffer gnus-summary-select-article gnus-uu-grab-articles gnus-current-article gnus-uu-uustrip-article-as gnus-uu-work-dir gnus-uu-file-name erase-buffer insert-file-contents set-window-buffer get-buffer-window gnus-article-buffer message "Showing file %s in buffer" delete-file] 3 (#$ . 31707) nil]) #@45 Edit the begin line of the current article. (defalias 'gnus-uu-edit-begin-line #[nil " q!#!9y` `{\n\" `|\n!," [nil b begin buffer-read-only gnus-summary-select-article gnus-article-buffer goto-line 1 re-search-forward "begin " t error "No begin line in the current article" 0 read-string "" insert-string] 4 (#$ . 32402) nil]) #@196 Choose a method of decoding and then decode and view. This function lets the user decide what method to use for decoding. Other than that, it's equivalent to the other decode-and-view functions. (defalias 'gnus-uu-multi-decode-and-view #[nil "\"" [gnus-uu-multi-decode-and-view-or-save t nil] 3 (#$ . 32776) nil]) #@197 Choose a method of decoding and then decode and save. This function lets the user decide what method to use for decoding. Other than that, it's equivalent to the other decode-and-save functions. (defalias 'gnus-uu-multi-decode-and-save #[nil "\"" [gnus-uu-multi-decode-and-view-or-save nil] 3 (#$ . 33101) nil]) #@224 Choose a method of decoding and then decode and view the marked articles. This function lets the user decide what method to use for decoding. Other than that, it's equivalent to the other marked decode-and-view functions. (defalias 'gnus-uu-marked-multi-decode-and-view #[nil "\"" [gnus-uu-multi-decode-and-view-or-save t] 3 (#$ . 33425) nil]) #@224 Choose a method of decoding and then decode and save the marked articles. This function lets the user decide what method to use for decoding. Other than that, it's equivalent to the other marked decode-and-save functions. (defalias 'gnus-uu-marked-multi-decode-and-save #[nil "\"" [gnus-uu-multi-decode-and-view-or-save t] 3 (#$ . 33781) nil]) (defalias 'gnus-uu-multi-decode-and-view-or-save #[(view marked) "! U U  \"Q U/ \"Q U> \"Q UM \"Q \")" [nil type message "[u]udecode, (s)har, s(a)ve, (b)inhex: " read-char 13 117 gnus-uu-decode-and-view-or-save view marked 115 gnus-uu-unshar-and-view-or-save 98 gnus-uu-binhex-and-save 97 gnus-uu-save-articles error "Unknown decode method '%c'."] 4]) (byte-code "\nB!\nB" [nil gnus-uu-rest-of-articles current-load-list boundp gnus-uu-current-save-dir] 2) #@97 Try to decode all articles and view the result. ARG delimits the number of files to be decoded. (defalias 'gnus-uu-decode-and-view-all-articles #[(arg &optional unread) " $ Ȃ\"ĉ V& $" [gnus-uu-get-list-of-articles "^." nil unread t gnus-uu-marked-article-list error "No%s articles to be decoded" " unread" "" gnus-uu-decode-and-view-or-save arg 1] 6 (#$ . 34661) "p"]) #@104 Try to decode all unread articles and view the result. ARG delimits the number of files to be decoded. (defalias 'gnus-uu-decode-and-view-all-unread-articles #[(arg) " \"" [gnus-uu-decode-and-view-all-articles arg t] 3 (#$ . 35066) "p"]) #@293 Try to decode all unread articles and saves the result. This function reads all unread articles in the current group and sees whether it can uudecode the articles. The user will be prompted for an directory to put the resulting (if any) files. ARG delimits the number of files to be decoded. (defalias 'gnus-uu-decode-and-save-all-unread-articles #[(arg) " ‰#" [gnus-uu-decode-and-save-articles arg t] 4 (#$ . 35314) "p"]) #@220 Try to decode all articles and saves the result. Does the same as `gnus-uu-decode-and-save-all-unread-articles', except that it grabs all articles visible, unread or not. ARG delimits the number of files to be decoded. (defalias 'gnus-uu-decode-and-save-all-articles #[(arg) " #" [gnus-uu-decode-and-save-articles arg nil t] 4 (#$ . 35747) "p"]) (defalias 'gnus-uu-decode-and-save-articles #[(arg &optional unread unmark) "\f$\fɂ\"4! V/$!)" [nil dir gnus-uu-get-list-of-articles "^." unread t gnus-uu-marked-article-list error "No%s articles to be decoded." " unread" "" gnus-uu-read-directory "Where do you want the files? " gnus-uu-decode-and-view-or-save arg 1 message "Saved."] 6]) (defalias 'gnus-uu-decode-and-view-or-save #[(view marked &optional save-dir limit) " \f #* \n\"* \f# ) \n??\n? N\nN\n?P )" [gnus-uu-initialize nil decoded gnus-uu-decode-and-strip marked limit t view gnus-uu-view-directory gnus-uu-work-dir gnus-uu-use-interactive-view gnus-uu-save-directory save-dir gnus-uu-check-for-generated-files gnus-uu-summary-next-subject gnus-uu-do-interactive gnus-uu-clean-up] 4]) (defalias 'gnus-uu-unshar-and-view-or-save #[(view marked) " P!!! \"\" \" GVnP!P\f!!\f$&g\f!\f!| ޜ! ޜ!)  \n  \n? +" [gnus-uu-initialize nil decoded files tar-file make-temp-name gnus-uu-tmp-dir "gnusuush" gnus-uu-shar-directory make-directory gnus-uu-add-file gnus-uu-decode-and-strip t marked directory-files append gnus-uu-generated-file-list 3 "gnusuuar" ".tar" call-process "sh" get-buffer-create gnus-uu-output-buffer-name "-c" format "cd %s ; tar cf %s * ; cd .. ; rm -r %s" view gnus-uu-view-file gnus-uu-save-file 2 gnus-uu-summary-next-subject gnus-uu-use-interactive-view gnus-uu-do-interactive gnus-uu-clean-up] 11]) (byte-code "\nB" [nil gnus-uu-saved-article-name current-load-list] 2) (defalias 'gnus-uu-save-articles #[(view marked &optional no-save) "  ! ! \n, 2 #P! #N\nN!P*" [nil list-of-articles gnus-uu-initialize marked gnus-uu-get-list-of-articles reverse gnus-uu-marked-article-list error "No list of articles" gnus-uu-work-dir no-save gnus-newsgroup-name read-file-name "Enter file name: " gnus-uu-saved-article-name gnus-uu-add-file gnus-uu-grab-articles gnus-uu-save-article t gnus-uu-save-file] 5]) (defalias 'gnus-uu-save-article #[(buffer in-state) ": qd\f$=\fD8=*\fE8=6C8C)͉\f\"\fÔÕO=p=C!q )!q $c)=C!qdb qb!`Sd{`}@AbQ#{Q~*cdbcdb\"Qcb#5ÔÕ{!q\"c))=D=!q\"\"cd\f#)!qdb\"PcG\"Pcd\f$)!!!!B>\fB. " [gnus-uu-save-in-digest buffer write-region 1 gnus-uu-saved-article-name t in-state first begin first-and-last end last middle nil state end-string body sorthead headline headers name subj beg string-match "/\\([^/]*\\)$" 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 re-search-forward "\n\n" "Date:" "From:" "To:" "Cc:" "Subject:" "Message-ID:" "Keywords:" "Summary:" "^" ".*$" 0 "\n" make-string 30 45 "^Subject: \\(.*\\)$" " %s\n" "\n\n%s\n\n" 70 "End of %s Digest" 42 kill-buffer] 9]) #@46 Forward the current message to another user. (autoload (quote gnus-mail-forward-using-mail) "gnusmail" '(#$ . 39352) t) #@46 Forward the current message to another user. (autoload (quote gnus-mail-forward-using-mhe) "gnusmail" '(#$ . 39478) t) #@51 Digests and forwards all articles in this series. (defalias 'gnus-uu-digest-and-forward #[(&optional marked) "#!! !b\n! +" [t nil buf file gnus-uu-save-in-digest gnus-uu-save-articles marked switch-to-buffer get-buffer-create "*gnus-uu-forward*" erase-buffer delete-other-windows insert-file 1 bury-buffer gnus-mail-forward-method] 4 (#$ . 39603) nil]) #@43 Digests and forwards all marked articles. (defalias 'gnus-uu-marked-digest-and-forward #[(&optional marked) "!" [gnus-uu-digest-and-forward t] 2 (#$ . 39998) nil]) (byte-code "\nB\nB\nB!\nBɇ" ["^[^:]...............................................................$" gnus-uu-binhex-body-line current-load-list "^:...............................................................$" gnus-uu-binhex-begin-line ":$" gnus-uu-binhex-end-line boundp gnus-uu-binhex-article-name nil] 2) (defalias 'gnus-uu-binhex-and-save #[(view marked) "   !\n ! \f#P  !\n#= !* " [gnus-uu-initialize nil list-of-articles marked gnus-uu-get-list-of-articles reverse gnus-uu-marked-article-list error "No list of articles" gnus-uu-work-dir read-file-name "Enter binhex file name: " gnus-newsgroup-name gnus-uu-binhex-article-name gnus-uu-add-file gnus-uu-grab-articles gnus-uu-binhex-article t gnus-uu-save-file gnus-uu-check-for-generated-files gnus-uu-summary-next-subject] 5]) (defalias 'gnus-uu-binhex-article #[(buffer in-state) " q~b#\"#\"C\n>|y`!ACĉ#DCdbQ#!h\n>e\nBgCyy!| `#)\n>\nB\n*" [nil start-char state buffer 1 re-search-forward gnus-uu-binhex-begin-line t gnus-uu-binhex-body-line wrong-type 0 looking-at begin write-region 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-view-file #[(file &optional silent) "\f!% kk\f\"!\f!k@\n/͘@\n:\f\"kZ\f\"!S\f\n\"!k\f\n\"k k\f!\f! \n͘\f! *" [nil did-view action gnus-uu-get-action file silent gnus-uu-use-interactive-view message "Couldn't find any rule for file '%s'" sleep-for 2 gnus-uu-ask-to-save-file "" "gnus-uu-archive" gnus-uu-enter-interactive-file gnus-uu-ask-before-view y-or-n-p format "Do you want to view %s? " gnus-uu-call-file-action file-exists-p gnus-uu-asynchronous delete-file] 4]) (defalias 'gnus-uu-call-file-action #[(file action) " \n \"\n \" \n!" [gnus-uu-asynchronous gnus-uu-call-asynchronous file action gnus-uu-call-synchronous gnus-uu-view-and-save gnus-uu-ask-to-save-file] 3]) (defalias 'gnus-uu-ask-to-save-file #[(file) " \"! !!" [y-or-n-p format "Do you want to save the file %s? " file gnus-uu-save-file message ""] 4]) (defalias 'gnus-uu-get-action #[(file-name) "  ??\" ?*\n = ?9\f\"? $\"GϘ`` \"` \" )" [nil action gnus-uu-choose-action file-name append gnus-uu-use-interactive-view gnus-uu-user-interactive-view-rules gnus-uu-user-view-rules gnus-uu-ignore-default-view-rules gnus-uu-default-interactive-view-rules-begin gnus-uu-default-view-rules gnus-uu-user-interactive-view-rules-end gnus-uu-default-interactive-view-rules-end 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\""] 10]) (defalias 'gnus-uu-call-synchronous #[(file-name action) "\f!q \" \" &UHb#9!*d{P!!N!)\n*" [nil command did-view get-buffer-create gnus-uu-output-buffer-name erase-buffer gnus-uu-command action file-name message "Viewing with '%s'" call-process "sh" t "-c" 0 1 re-search-forward "\n" replace-match " " "Error: " sit-for 2 ""] 7]) (defalias 'gnus-uu-call-asynchronous #[(file-name action) " #ȔT O P4\n#\n \"\f#\f\"\f%,ˇ" [nil start tmp-file file command string-match "/" file-name 0 gnus-uu-work-dir rename-file t gnus-uu-command action format "%s ; rm -f %s" message "Viewing with %s" start-process "gnus-uu-view" "sh" "-c"] 7]) (defalias 'gnus-uu-decode-and-strip #[(&optional shar use-marked limit) "\n ! !  2  -ʂ. $*" [nil list-of-articles use-marked gnus-uu-marked-article-list message "No articles marked" reverse gnus-uu-get-list-of-articles gnus-uu-grab-articles shar gnus-uu-unshar-article gnus-uu-uustrip-article-as t limit] 5]) (defalias 'gnus-uu-reginize-string #[(string) "‰!q  !c b !0 Љ# G b#B! b#T!#V!t`SbWf#!!SW b#Љ#d{-" [2 "v[0-9]+[a-z][0-9]+:" nil beg reg vernum count get-buffer-create gnus-uu-output-buffer-name 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 #[(&optional subject mark-articles only-unread do-not-translate) "@`y #4!!@` {!P\fb\f#vy`c!p`{ BJJ) ?\" \" @! \" \nB A\n\n." [nil art-num list-of-numbers list-of-subjects reg-subject end beg subject 0 re-search-forward "\\] " t message "No valid subject chosen" sit-for 2 "\\[.*\\] " gnus-uu-reginize-string case-fold-search 1 only-unread looking-at " \\|-" gnus-uu-expand-numbers do-not-translate sort gnus-uu-string< gnus-uu-article-number mark-articles gnus-summary-mark-as-read 35] 7]) (defalias 'gnus-uu-expand-numbers #[(string-list &optional translate) "!q| @A\fcb#5!&bN#N̉#=b##qؔؕ{!\"!Yd{ B) ," [nil num pos out-list string get-buffer-create gnus-uu-output-buffer-name string-list erase-buffer 1 re-search-forward "[ ]+" t replace-match " " translate "[A-Za-z]" "a" search-forward "] " "[0-9]+" format "%06d" string-to-int 0] 7]) (defalias 'gnus-uu-string< #[(string1 string2) "\"O\f\f\"O" [string1 string-match "\\] " nil string2] 5]) (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-mark-as-unread t] 4]) (defalias 'gnus-uu-grab-articles #[(list-of-articles process-function &optional sloppy limit) " !ĉ \n \f  q )n >n> >n@ABV[=r\f=o\fr\f\"~U!!q~)\f\" >\f=\f= >\n!! @\n >B \n#G#U$\f= \f=\" >\"\"!\"! >1 <%<\"D \nhh >Z >hC!!(\f(\n! > > >! .. " [get-buffer-create gnus-uu-result-buffer first t nil process-state result-files result-file article has-been-end has-been-begin wrong-type state result-buffer erase-buffer gnus-uu-has-been-grabbed list-of-articles error sloppy end gnus-uu-highest-article-number first-and-last last message "Getting article %d" gnus-current-article 0 gnus-summary-display-article gnus-summary-mark-as-read gnus-article-buffer process-function begin ok file-exists-p delete-file limit gnus-uu-marked-article-list gnus-uu-unmark-articles-not-decoded gnus-summary-mark-as-unread middle "No begin part at the beginning" sleep-for 2 "Wrong type file" "End of articles reached before end of file" gnus-uu-unmark-list-of-grabbed gnus-uu-list-of-files-decoded] 9]) (defalias 'gnus-uu-uudecode-sentinel #[(process event) "\n!!" [delete-process get-process process] 3]) (defalias 'gnus-uu-uustrip-article-as #[(process-buffer in-state) "Cq \nb\f4#1!\"b#J#JC>Wy`!˕˔b\n#u!f b\n#!x \n{!\f=\f=!!'!,\"%\"C,P!Cdb4Q#y4!ByN !N\f=\f=J66 `\"db4Q#y>N!NCWC*>j,PBl." [ok nil name-end name-beg pst start-char process-connection-type state process-buffer buffer-read-only case-fold-search 1 gnus-uu-kill-carriage-return search-forward " " t delete-backward-char re-search-forward gnus-uu-begin-string gnus-uu-body-line wrong-type 0 looking-at "/" replace-match "," " " "_" gnus-uu-file-name gnus-uu-uudecode-process process-status "nevair" stop run delete-process gnus-uu-unmark-list-of-grabbed start-process "*uudecode*" get-buffer-create gnus-uu-output-buffer-name "sh" "-c" format "cd %s ; uudecode" gnus-uu-work-dir set-process-sentinel gnus-uu-uudecode-sentinel begin gnus-uu-add-file middle re-search-backward "\\|" gnus-uu-end-string end gnus-uu-correct-stripped-uucode gnus-uu-check-correct-stripped-uucode err (byte-code " \n`#" [process-send-region gnus-uu-uudecode-process start-char] 4) ((error (byte-code "!!C!" [message "gnus-uu: Couldn't uudecode" sleep-for 2 wrong-type state delete-process gnus-uu-uudecode-process] 2))) accept-process-output] 8]) (defalias 'gnus-uu-unshar-article #[(process-buffer in-state) "C\fqb#C3y`\nd!Q&) *" [ok nil start-char state process-buffer 1 re-search-forward gnus-uu-shar-begin-string t wrong-type 0 call-process-region "sh" get-buffer-create gnus-uu-output-buffer-name "-c" "cd " gnus-uu-shar-directory " ; sh"] 11]) (defalias 'gnus-uu-find-name-in-shar #[nil "`b #ÔÕ{\nb *" [nil res oldpoint 1 re-search-forward gnus-uu-shar-name-marker t] 4]) (defalias 'gnus-uu-article-number #[(subject) "\f#ƕ\f\f# O!)" [nil end string-match "[0-9]+[^0-9]" subject 1 0 string-to-int "[0-9]"] 6]) (defalias 'gnus-uu-choose-action #[(file-name file-action-list &optional no-ignore) " !‰2 \"R\n2\n \f#.\"R =R R @ A\f@ \"2\fA@2 +" [copy-sequence file-action-list nil action rule 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 t ""] 6]) (defalias 'gnus-uu-save-directory #[(from-dir &optional default-dir ignore-existing) "\"  -\nGW(͂)Q!\nq\n@\nA \" ҔTO\f\"-d \fP!d \fP\f%h \fP \f#--" [nil file files command file-name dir directory-files from-dir t default-dir gnus-uu-read-directory "Where do you want the file" 3 "s" "" "? " string-match "/[^/]*$" 0 "^\\.\\.?$" ignore-existing file-exists-p read-file-name "File exists. Enter a new name: " rename-file] 6]) (defalias 'gnus-uu-save-file #[(from-file-name &optional default-dir ignore-existing) "\"ǔTO#! = \nP!= \nP\n%A \nP\n#+" [nil command file-name dir string-match "/[^/]*$" from-file-name 0 default-dir gnus-uu-read-directory "Where do you want the file? " ignore-existing file-exists-p read-file-name "File exist. Enter a new name: " rename-file t] 6]) (defalias 'gnus-uu-read-directory #[(prompt &optional default) "\nm  # \", ˉO !F ! \"!U` U` \" I U ! P+" [nil create ok dir t default read-file-name prompt gnus-uu-current-save-dir string-match "/$" 0 file-exists-p file-directory-p message "%s is a file" sit-for 2 111 121 110 "%s: No such directory. Do you want to create it? (y/n)" read-char make-directory "/"] 5]) (defalias 'gnus-uu-treat-archive #[(file-path) "\n\f ?\"\"-\n\"\n\"\nӔTO\nӉO\"T\nP#\n\n\"#!q )\n\"\"!&U!$!!\"\nP\n#." [t nil dir file-name file files 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-string-in-list gnus-uu-destructive-archivers copy-file "~" format "cd %s ; %s" gnus-uu-command get-buffer-create gnus-uu-output-buffer-name erase-buffer message "Unpacking: %s..." call-process "sh" "-c" "" gnus-uu-use-interactive-view "Error during unpacking of archive" sleep-for 2 rename-file] 8]) (defalias 'gnus-uu-view-directory #[(dir &optional dont-delete-files not-top) "# !  \f$C+?+\n\"@#!#! @ A\f!ZИ\f\"\f!x\f#t \f\" II\f!I\f!I\"݉O!! -" [t nil ignore-files did-view file files first directory-files dir "[^/][^\\.][^\\.]?$" gnus-uu-add-file gnus-uu-unpack-archives not-top "." gnus-uu-get-action "" "gnus-uu-archive" set-file-modes 448 file-directory-p gnus-uu-view-directory dont-delete-files gnus-uu-view-file gnus-uu-asynchronous file-exists-p delete-file string-match "/$" delete-directory 0] 5]) (defalias 'gnus-uu-unpack-archives #[(files &optional ignore) " @ @ A\n \"\n!!ɘ\n!5 5\n\" \n! *" [nil did-unpack path files gnus-uu-string-in-list ignore gnus-uu-get-action gnus-uu-name-from-path "" "gnus-uu-archive" gnus-uu-treat-archive gnus-uu-use-interactive-view gnus-uu-enter-interactive-file "# error during unpacking of" delete-file] 3]) (defalias 'gnus-uu-enter-mark-in-list #[nil "y` `{!\n\"\nB+" [nil beg article 0 gnus-uu-article-number message "Adding article %d to list" gnus-uu-marked-article-list] 3]) #@48 Marks the current article to be decoded later. (defalias 'gnus-uu-mark-article #[(&optional dont-move) " \"\"" [gnus-uu-enter-mark-in-list gnus-summary-mark-as-read nil 35 gnus-summary-next-subject 1] 3 (#$ . 53564) nil]) #@30 Unmarks the current article. (defalias 'gnus-uu-unmark-article #[nil " !‰`y` `{!\"P@U?@BG\"A+\fX!!\"\"." [copy-sequence gnus-uu-marked-article-list nil old-point found beg article out in 0 gnus-uu-article-number message "Removing article %d" t "Not a marked article." reverse gnus-summary-mark-as-unread gnus-summary-next-subject 1] 7 (#$ . 53802) nil]) #@57 Removes the mark from all articles marked for decoding. (defalias 'gnus-uu-unmark-all-articles #[nil "@!\"AÇ" [gnus-uu-marked-article-list gnus-summary-goto-subject gnus-summary-mark-as-unread nil t] 4 (#$ . 54239) nil]) #@66 Asks for a regular expression and marks all articles that match. (defalias 'gnus-uu-mark-by-regexp #[nil "! \"!\"!)" [nil exp read-from-minibuffer "Mark (regexp): " append gnus-uu-marked-article-list reverse gnus-uu-get-list-of-articles t message ""] 6 (#$ . 54484) nil]) #@46 Marks all articles downwards in this thread. (defalias 'gnus-uu-mark-thread #[nil "y#??2i \" \niW0 \"  )" [0 nil level search-forward ":" t gnus-uu-enter-mark-in-list gnus-summary-mark-as-read 35 gnus-summary-search-forward gnus-summary-search-backward] 4 (#$ . 54776) nil]) (defalias 'gnus-uu-string-in-list #[(string list) "@ A" [list string] 2]) (defalias 'gnus-uu-name-from-path #[(path) "\n\"\nÔTO" [string-match "/[^/]*$" path 0 nil] 3]) (defalias 'gnus-uu-directory-files #[(dir) " \" # @ A \" \nB \n!+" [nil file out files directory-files dir t string-match "/\\.\\.?$" reverse] 4]) (defalias 'gnus-uu-check-correct-stripped-uucode #[(start end) " ??vb #4bm?v!.!ym?vQ!p\fTy`` Zy`\n` ZUp\n` ZZ\"cy4," [nil short 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]) (defalias 'gnus-uu-initialize #[nil " \f!\f\"\fP\f!\"\f\"-\f!-\f\"\f!P!!E!P҉" [1 gnus-uu-highest-article-number gnus-uu-check-for-generated-files expand-file-name gnus-uu-tmp-dir string-match "[^/]$" "/" 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-uu-work-dir gnus-uu-add-file make-directory nil gnus-uu-interactive-file-list] 3]) (defalias 'gnus-uu-clean-up #[nil " $ !$ = =$ ! 6 !6\n! !B\n!*" [nil pst buf gnus-uu-uudecode-process process-status "nevair" stop run delete-process gnus-uu-asynchronous get-buffer gnus-uu-output-buffer-name kill-buffer gnus-uu-result-buffer] 2]) (defalias 'gnus-uu-check-for-generated-files #[nil " / @ A\n\"\n!\"\n B\n!\n!  [ @ A\n!2\n\"T\nˉO!2\n!2*" [nil dirs file gnus-uu-generated-file-list string-match "/\\.[\\.]?$" file-directory-p file-exists-p delete-file "/$" delete-directory 0] 4]) (defalias 'gnus-uu-add-file #[(file) ";  B \"" [file gnus-uu-generated-file-list append] 3]) (defalias 'gnus-uu-summary-next-subject #[nil "!b!!`! b )" [nil opi gnus-summary-search-forward t 1 sit-for 0 gnus-summary-goto-subject gnus-uu-highest-article-number gnus-summary-recenter] 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]) (byte-code "\"! B!B!+B ##########Ň" [add-hook gnus-exit-group-hook (lambda nil (gnus-uu-clean-up) (setq gnus-uu-marked-article-list nil) (gnus-uu-check-for-generated-files)) boundp gnus-uu-output-window nil current-load-list gnus-uu-mode-hook gnus-uu-mode-map make-sparse-keymap define-key "" gnus-uu-interactive-execute "" " " "" gnus-uu-interactive-end "" gnus-uu-interactive-save-current-file "" gnus-uu-interactive-save-current-file-silent "" gnus-uu-interactive-save-all-files "" gnus-uu-interactive-save-original-file "" gnus-uu-interactive-rescan-directory "" gnus-uu-interactive-scan-directory] 4) (defalias 'gnus-uu-interactive-set-up-windows #[nil "\f!q\n!\n!\n!! !?4  Z\"\f\f \"*" [nil out-buf int-buf get-buffer-create gnus-uu-interactive-buffer-name get-buffer-window switch-to-buffer-other-window pop-to-buffer gnus-uu-output-buffer-name split-window window-height gnus-uu-output-window-height gnus-uu-output-window set-window-buffer] 4]) (defalias 'gnus-uu-do-interactive #[(&optional dont-do-windows) " \"\f !q ) !qby!" [gnus-uu-interactive-file-list gnus-uu-enter-interactive-file "#" "" dont-do-windows gnus-uu-interactive-set-up-windows get-buffer-create gnus-uu-output-buffer-name erase-buffer gnus-uu-interactive-buffer-name 1 3 run-hooks gnus-uu-mode-hook] 3]) (defalias 'gnus-uu-enter-interactive-file #[(action file) " !q\f c\fB\n\"db \"c*" [nil command get-buffer-create gnus-uu-interactive-buffer-name gnus-uu-interactive-file-list erase-buffer gnus-uu-mode "# Press return to execute a command.\n# Press `C-c C-c' to exit interactive view.\n\n" file gnus-uu-command action format "%s\n"] 3]) #@63 Executes the command on the current line in interactive mode. (defalias 'gnus-uu-interactive-execute #[nil "y` `{!\nq \"c) #!@\n %N\n &!yU^cy+" [nil command out-buf beg 0 get-buffer-create gnus-uu-output-buffer-name erase-buffer format "$ %s \n\n" "cd %s ; %s" gnus-uu-work-dir message "Executing..." gnus-uu-asynchronous start-process "gnus-uu-view" "sh" "-c" call-process "" 1 "\n"] 7 (#$ . 59288) nil]) #@72 This function exits interactive view mode and returns to summary mode. (defalias 'gnus-uu-interactive-end #[nil " !  !  ! ' ! !)" [nil buf delete-window gnus-uu-output-window gnus-uu-clean-up gnus-uu-asynchronous gnus-uu-check-for-generated-files get-buffer gnus-uu-interactive-buffer-name gnus-article-buffer switch-to-buffer kill-buffer pop-to-buffer gnus-summary-buffer] 2 (#$ . 59770) nil]) #@155 Read any directory and view the files. When used in interactive mode, the files and commands will be displayed, as usual, in the interactive mode buffer. (defalias 'gnus-uu-interactive-scan-directory #[(dir) " \f\"!" [nil gnus-uu-interactive-file-list gnus-uu-view-directory dir gnus-uu-use-interactive-view gnus-uu-do-interactive t] 3 (#$ . 60202) "DDirectory: "]) #@157 Reread the directory and view the files. When used in interactive mode, the files and commands will be displayed, as usual, in the interactive mode buffer. (defalias 'gnus-uu-interactive-rescan-directory #[nil " !" [gnus-uu-interactive-scan-directory gnus-uu-work-dir] 2 (#$ . 60582) nil]) #@68 Saves the file from whence the file on the current line came from. (defalias 'gnus-uu-interactive-save-original-file #[nil "‰\\@A !H\f9GV3͂4\"! !Q #\fU\"\f!\f-" [gnus-uu-list-of-files-decoded "" nil dir did file filestr files file-exists-p gnus-uu-read-directory format "Where do you want the file%s? " 1 "s" t gnus-uu-name-from-path " " gnus-uu-save-file message "Saved %s" "Already saved."] 5 (#$ . 60880) nil]) #@74 Saves the file referred to on the current line in the current directory. (defalias 'gnus-uu-interactive-save-current-file-silent #[nil "!" [gnus-uu-interactive-save-current-file t] 2 (#$ . 61366) nil]) #@49 Saves the file referred to on the current line. (defalias 'gnus-uu-interactive-save-current-file #[(&optional dont-ask silent) "!y` `{\f3\f@!Q\n\"3\fAyy\fM\f?]!!] V\f# `|," [nil file line beg files copy-sequence gnus-uu-interactive-file-list 0 string-match "" regexp-quote 1 silent message "Could not find file" sit-for 2 gnus-uu-save-file dont-ask gnus-uu-current-save-dir] 6 (#$ . 61577) nil]) #@56 Saves all files referred to in the interactive buffer. (defalias 'gnus-uu-interactive-save-all-files #[nil "b!m?Ɖ\" )" [nil dir 1 gnus-uu-read-directory "Where do you want the files? " gnus-uu-interactive-save-current-file t] 3 (#$ . 62039) nil]) #@661 Major mode for editing view commands in gnus-uu. Commands: \Return, C-c C-v, C-c C-x Execute the current command \[gnus-uu-interactive-end] End interactive mode \[gnus-uu-interactive-save-current-file] Save the current file \[gnus-uu-interactive-save-current-file-silent] Save the current file without asking where to put it \[gnus-uu-interactive-save-all-files] Save all files \[gnus-uu-interactive-save-original-file] Save the original file: If the files originated in an archive, the archive file is saved. \[gnus-uu-interactive-rescan-directory] Rescan the directory \[gnus-uu-interactive-scan-directory] Scan any directory  (defalias 'gnus-uu-mode #[nil " \n!ʼn" [kill-all-local-variables use-local-map gnus-uu-mode-map "gnus-uu" mode-name gnus-uu-mode major-mode] 2 (#$ . 62309) nil]) (byte-code " # # # # # # # #!!" [define-key gnus-uu-mode-map "" gnus-uu-interactive-execute "" " " "" gnus-uu-interactive-end "s" gnus-uu-interactive-save-current-file "" gnus-uu-interactive-save-current-file-silent "" gnus-uu-interactive-save-all-files "" gnus-uu-interactive-save-original-file require sendmail rnews] 4) #@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) (#$ . 63521)) #@284 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 (#$ . 63958)) #@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 (#$ . 64312)) #@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 (#$ . 64483)) #@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 (#$ . 64840)) (byte-code "\nB!\nB!\nB!(\nBŇ" ["--binary follows this line--" gnus-uu-post-binary-separator current-load-list boundp gnus-uu-post-message-id nil gnus-uu-post-inserted-file-name gnus-uu-winconf-post-news] 2) #@38 Mode map used by gnus-uu-post-reply. (defvar gnus-uu-post-reply-mode-map nil (#$ . 65429)) (byte-code "[ ##############" [gnus-uu-post-reply-mode-map make-keymap define-key "?" describe-mode "" news-reply-distribution " " news-reply-keywords "" news-reply-newsgroups "" news-reply-followup-to "" mail-subject "" gnus-uu-post-reply-summary "" news-caesar-buffer-body "" news-reply-signature "" news-reply-yank-original "" mail-fill-yanked-message "" gnus-uu-post-news-inews "" " " gnus-uu-post-insert-binary-in-article] 4) #@2789 Major mode for editing binary news to be posted on USENET. First-time posters are asked to please read the articles in newsgroup: news.announce.newusers . Like news-reply-mode, which is like Text Mode, but with these additional commands: \\[gnus-uu-post-news-inews] post the message. C-c C-f move to a header field (and create it if there isn't): C-c C-f C-n move to Newsgroups: C-c C-f C-s move to Subj: C-c C-f C-f move to Followup-To: C-c C-f C-k move to Keywords: C-c C-f C-d move to Distribution: C-c C-f C-a move to Summary: C-c C-y news-reply-yank-original (insert current message, in NEWS). C-c C-q mail-fill-yanked-message (fill what was yanked). C-c C-r caesar rotate all letters by 13 places in the article's body (rot13). \[gnus-uu-post-insert-binary-in-article] encode and include a file in this article. This mode is almost identical to news-reply-mode, but has some additional commands for treating encoded binary articles. In particular, \[gnus-uu-post-news-inews] will ask for a file to include, if one hasn't been included already. It will post, first, the message composed, and then it will post as many additional articles it takes to post the entire encoded files. Relevant Variables `gnus-uu-post-encode-method' 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. `gnus-uu-post-include-before-composing' 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 `C-c C-i' or have one included for you when you post the article. `gnus-uu-post-length' Maximum length of an article. The encoded file will be split into how many articles it takes to post the entire file. `gnus-uu-post-separate-description' 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. `gnus-uu-post-threaded' 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.  (defalias 'gnus-uu-post-reply-mode #[nil "!\n! ! ! !\f !!QQ\"" [fboundp mail-setup load "sendmail" kill-all-local-variables make-local-variable mail-reply-buffer nil set-syntax-table text-mode-syntax-table use-local-map gnus-uu-post-reply-mode-map text-mode-abbrev-table local-abbrev-table gnus-uu-post-reply-mode major-mode "Gnus UU News" mode-name paragraph-separate paragraph-start mail-header-separator "$\\|" run-hooks text-mode-hook gnus-uu-post-reply-mode-hook] 3 (#$ . 66067) nil]) #@46 Compose an article and post an encoded file. (defalias 'gnus-uu-post-news #[nil " M  ))" [nil gnus-uu-post-inserted-file-name current-window-configuration gnus-uu-winconf-post-news news-reply-mode gnus-uu-post-reply-mode gnus-summary-post-news gnus-uu-post-include-before-composing gnus-uu-post-insert-binary] 2 (#$ . 69404) 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 "p !=\f! )" [get-buffer gnus-post-news-buffer error "Not in post-news buffer" gnus-uu-post-insert-binary gnus-uu-post-inserted-file-name] 3 (#$ . 69762) nil]) (defalias 'gnus-uu-post-encode-uuencode #[(path file-name) "\n #by#!ȇ" [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) "b\f \"\f#c\"cqb\n!yy`}!6~c~)" [1 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-post-news-buffer re-search-forward mail-header-separator 0 -1 mail-fetch-field "mime-version" "MIME-Version: 1.0\n"] 5]) (defalias 'gnus-uu-post-encode-file #[(command path file-name) " $&U" [call-process "sh" nil t "-c" 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 "p !=\f! X\n>-\n1\nBĉ \f\n\f