home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 4
/
FreshFish_May-June1994.bin
/
bbs
/
gnu
/
emacs-18.59-bin.lha
/
lib
/
emacs
/
18.59
/
lisp
/
rnews.elc
< prev
next >
Wrap
Text File
|
1991-09-13
|
24KB
|
379 lines
(provide (quote rnews))
(require (quote mail-utils))
(autoload (quote rmail-output) "rmailout" "\
Append this message to Unix mail file named FILE-NAME." t)
(autoload (quote news-reply) "rnewspost" "\
Compose and post a reply to the current article on USENET.
While composing the reply, use \\[mail-yank-original] to yank the original
message into it." t)
(autoload (quote news-mail-other-window) "rnewspost" "\
Send mail in another window.
While composing the message, use \\[mail-yank-original] to yank the
original message into it." t)
(autoload (quote news-post-news) "rnewspost" "\
Begin editing a new USENET news article to be posted." t)
(autoload (quote news-mail-reply) "rnewspost" "\
Mail a reply to the author of the current article.
While composing the reply, use \\[mail-yank-original] to yank the original
message into it." t)
(defvar rmail-last-file (expand-file-name "~/mbox.news"))
(defvar news-startup-file "$HOME/.newsrc" "\
Contains ~/.newsrc")
(defvar news-certification-file "$HOME/.news-dates" "\
Contains ~/.news-dates")
(defvar news-ignored-headers "^Path:\\|^Posting-Version:\\|^Article-I.D.:\\|^Expires:\\|^Date-Received:\\|^References:\\|^Control:\\|^Xref:\\|^Lines:\\|^Posted:\\|^Relay-Version:\\|^Message-ID:\\|^Nf-ID:\\|^Nf-From:\\|^Approved:\\|^Sender:" "\
All random fields within the header of a message.")
(defvar news-mode-map nil)
(defvar news-read-first-time-p t)
(defvar news-user-group-list nil)
(defvar news-current-news-group nil)
(defvar news-current-group-begin nil)
(defvar news-current-group-end nil)
(defvar news-current-certifications nil "\
An assoc list of a group name and the time at which it is
known that the group had no new traffic")
(defvar news-current-certifiable nil "\
The time when the directory we are now working on was written")
(defvar news-message-filter nil "\
User specifiable filter function that will be called during
formatting of the news file")
(defvar news-list-of-files nil "\
Global variable in which we store the list of files
associated with the current newsgroup")
(defvar news-list-of-files-possibly-bogus nil "\
variable indicating we only are guessing at which files are available.
Not currently used.")
(defvar news-group-article-assoc nil)
(defvar news-current-message-number 0 "\
Displayed Article Number")
(defvar news-total-current-group 0 "\
Total no of messages in group")
(defvar news-unsubscribe-groups nil)
(defvar news-point-pdl nil "\
List of visited news messages.")
(defvar news-no-jumps-p t)
(defvar news-buffer nil "\
Buffer into which news files are read.")
(defmacro news-push (item ref) (byte-code "ÂÃ EE" [ref item setq cons] 5))
(defmacro news-cadr (x) (byte-code "ÁÂDD" [x car cdr] 3))
(defmacro news-cdar (x) (byte-code "ÁÂDD" [x cdr car] 3))
(defmacro news-caddr (x) (byte-code "ÁÂÂDDD" [x car cdr] 4))
(defmacro news-cadar (x) (byte-code "ÁÂÁDDD" [x car cdr] 4))
(defmacro news-caadr (x) (byte-code "ÁÁÂDDD" [x car cdr] 4))
(defmacro news-cdadr (x) (byte-code "ÁÂÁDDD" [x cdr car] 4))
(defmacro news-wins (pfx index) (byte-code "ÂÃÄÅ DFD" [pfx index file-exists-p concat "/" int-to-string] 6))
(defvar news-max-plausible-gap 2 "\
* In an rnews directory, the maximum possible gap size.
A gap is a sequence of missing messages between two messages that exist.
An empty file does not contribute to a gap -- it ends one.")
(defun news-find-first-and-last (prefix base) (byte-code "ÂÃÄ !Q! Å Æ#Å Ç#B" [prefix base file-exists-p "/" int-to-string news-find-first-or-last -1 1] 8))
(defmacro news-/ (a1 a2) (byte-code "ÂÃÄÅ\"!Ã E\"ÆÇÈEÉÃÉD EDÃ EF" [a1 a2 zerop / -1 2 if < 0 -] 8))
(defun news-find-first-or-last (pfx base dirn) (byte-code " Æ
ÇÈ \\!Q! É Ê\"Ë Ê\"Ë Ê\"ÌÍ\" LÆ
ÇÈÎ #!Q! A \\ËÊ\"&)É\"ÌÍ\" gÆ
ÇÈÎ #!Q!? sZSÍU \\Ï
Î ##))" [original-dir dirn pfx base offset news-max-plausible-gap file-exists-p "/" int-to-string * 2 / /= 0 + news-find-first-or-last] 21))
(defun rnews nil "\
Read USENET news for groups for which you are a member and add or
delete groups.
You can reply to articles posted and send articles to any group.
Type \\[describe-mode] once reading news to get a list of rnews commands." (interactive) (byte-code "ÄÆ ÇÈ!ÉÊË!!Ì ÄÍ ÅÎÅ!ÏÐ!ÑÒ!Ó Ô Õ )" [last-buffer news-buffer news-buffer-save buffer-read-only nil t buffer-name make-local-variable rmail-last-file switch-to-buffer get-buffer-create "*news*" news-mode erase-buffer set-buffer-modified-p sit-for 0 message "Getting new USENET news..." news-set-mode-line news-get-certifications news-get-new-news] 13))
(defun news-group-certification (group) (byte-code "ÂÃ \"!" [group news-current-certifications cdr-safe assoc] 4))
(defun news-set-current-certifiable nil (byte-code " ÄÅÆ
#PÇÈÉ!!8)" [file news-path news-current-news-group news-current-certifiable string-subst-char 47 46 5 file-attributes file-symlink-p] 5))
(defun news-get-certifications nil (byte-code "Á)" [news-current-certifications ((byte-code "ÁÂÃÄ!" [news-current-certifications car-safe var (byte-code "Ã !Ä!Å! Æ
Ç\"ÈÉÊ !)*" [file news-certification-file buf substitute-in-file-name find-file-noselect file-exists-p switch-to-buffer norecord ((byte-code "Á!" [buf kill-buffer] 2)) read-from-string buffer-string] 7) ((error (byte-code "À" [nil] 1)))] 4))] 1))
(defun news-write-certifications nil (byte-code "Ã)" [news-current-certifications buf news-certification-file ((byte-code "ÃÄ!ÅÃ!Æ !ÇÈ
!!É !)" [news-current-certifications buf news-certification-file "*CeRtIfIcAtIoNs*" print get-buffer switch-to-buffer write-file substitute-in-file-name kill-buffer] 7))] 1))
(defun news-set-current-group-certification nil (byte-code "Ä
\"Å\" B
B)" [cgc news-current-news-group news-current-certifications news-current-certifiable assoc setcdr] 4))
(defun news-set-minor-modes nil "\
Creates a minor mode list that has group name, total articles,
and attribute for current article." (byte-code "Ä Å
Æ RBCÇÈ!" [news-minor-modes news-current-message-number news-total-current-group minor-modes foo "/" news-get-attribute-string boundp minor-mode-alist] 6))
(defun news-set-message-counters nil "\
Scan through current news-groups filelist to figure out how many messages
are there. Set counters for use with minor mode display." (byte-code "? Â" [news-list-of-files news-current-message-number 0] 2))
(if news-mode-map nil (setq news-mode-map (make-keymap)) (suppress-keymap news-mode-map) (define-key news-mode-map "." (quote beginning-of-buffer)) (define-key news-mode-map " " (quote scroll-up)) (define-key news-mode-map "" (quote scroll-down)) (define-key news-mode-map "n" (quote news-next-message)) (define-key news-mode-map "c" (quote news-make-link-to-message)) (define-key news-mode-map "p" (quote news-previous-message)) (define-key news-mode-map "j" (quote news-goto-message)) (define-key news-mode-map "q" (quote news-exit)) (define-key news-mode-map "e" (quote news-exit)) (define-key news-mode-map "j" (quote news-goto-news-group)) (define-key news-mode-map "n" (quote news-next-group)) (define-key news-mode-map "p" (quote news-previous-group)) (define-key news-mode-map "l" (quote news-list-news-groups)) (define-key news-mode-map "?" (quote describe-mode)) (define-key news-mode-map "g" (quote news-get-new-news)) (define-key news-mode-map "f" (quote news-reply)) (define-key news-mode-map "m" (quote news-mail-other-window)) (define-key news-mode-map "a" (quote news-post-news)) (define-key news-mode-map "r" (quote news-mail-reply)) (define-key news-mode-map "o" (quote news-save-item-in-file)) (define-key news-mode-map "" (quote rmail-output)) (define-key news-mode-map "t" (quote news-show-all-headers)) (define-key news-mode-map "x" (quote news-force-update)) (define-key news-mode-map "A" (quote news-add-news-group)) (define-key news-mode-map "u" (quote news-unsubscribe-current-group)) (define-key news-mode-map "U" (quote news-unsubscribe-group)) (define-key news-mode-map "" (quote news-caesar-buffer-body)))
(defun news-mode nil "\
News Mode is used by M-x rnews for reading