123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275 |
- (require (quote mail-utils))
- (defvar news-path "/usr/spool/news/" "The root directory below which all news files are stored.")
- (defvar news-startup-file "$HOME/.newsrc" "Contains ~/.newsrc")
- (defvar news-inews-program "/usr/local/inews" "Function to post news.")
- (defvar news-ignored-headers "^Path:\\|^Posting-Version:\\|^Article-I.D.:\\|^Followup-To:\\|^Expires:\\|^Date-Received:\\|^Organization:\\|^References:\\|^Control:\\|^Xref:\\|^Lines:\\|^Posted:\\|^Relay-Version:\\|^Message-ID:\\|^Nf-ID:" "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-message-filter nil "User specifiable filter function that will be called during
- formatting of the news file")
- (defvar news-mode-group-string "Starting-Up" "Mode line group name info is held in this variable")
- (defvar news-list-of-files nil "Global variable in which we store the list of files
- associated with the current newsgroup")
- (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 caar (x) (byte-code "ÁÁDD‡" [x car] 3))
- (defmacro cadr (x) (byte-code "ÁÂDD‡" [x car cdr] 3))
- (defmacro cdar (x) (byte-code "ÁÂDD‡" [x cdr car] 3))
- (defmacro caddr (x) (byte-code "ÁÂÂDDD‡" [x car cdr] 4))
- (defmacro cadar (x) (byte-code "ÁÂÁDDD‡" [x car cdr] 4))
- (defmacro caadr (x) (byte-code "ÁÁÂDDD‡" [x car cdr] 4))
- (defmacro cdadr (x) (byte-code "ÁÂÁDDD‡" [x cdr car] 4))
- (defun rnews nil "\
- Read netnews 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 Help m once reading news to get a list of rnews commands." (interactive) (byte-code "ˆÄÅÆ!‰!ˆÇ ˆ
- ‰ˆÈ ˆ‰ˆÉ!ˆÊË!ˆÌÍ!ˆÎ ˆÏ ‡" [news-buffer buffer-read-only nil t switch-to-buffer get-buffer-create "*news*" news-mode erase-buffer set-buffer-modified-p sit-for 0 message "Getting new net news..." news-set-mode-line news-get-new-news] 14))
- (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‰‡" [minor-modes news-current-message-number news-total-current-group foo "/" news-get-attribute-string] 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 nil] 4))
- (if news-mode-map nil (setq news-mode-map (make-keymap)) (suppress-keymap news-mode-map) (define-key news-mode-map "." (quote beginning-of-article)) (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 "p" (quote news-previous-message)) (define-key news-mode-map "j" (quote news-goto-message)) (define-key news-mode-map "+" (quote news-plus-n-messages)) (define-key news-mode-map "-" (quote news-minus-n-messages)) (define-key news-mode-map "q" (quote news-quit)) (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 "m" (quote news-post-news)) (define-key news-mode-map "r" (quote news-reply)) (define-key news-mode-map "s" (quote news-save-item-in-file)) (define-key news-mode-map "t" (quote news-show-all-headers)) (define-key news-mode-map "u" (quote news-unsubscribe-group)) (define-key news-mode-map "U" (quote news-unsubscribe-any-group)))
- (defun news-mode nil "\
- News Mode is used by M-x news for editing News files.
- All normal editing commands are turned off.
- Instead, these commands are available:
- . Move dot to front of this news article (same as Meta-<).
- Space Scroll to next screen of this news article.
- Delete Scroll down previous page of this news article.
- n Move to Next news article.
- p Move to Previous news article.
- j Jump to news article specified by numeric position.
- + goto current article plus count.
- - goto current article minus count.
- J Jump to news group.
- N Goto next news group.
- P Goto previous news group.
- l List all the news groups with current-status.
- ? Print this help message.
- q Quit without updating .newsrc file.
- e Exit updating .newsrc file.
- s Save the current article in the named file. (append if file exists)
- m Mail a news article. Same as C-x 4 m.
- r Reply to this news article. Like m but initializes some fields.
- t Show all the headers this news article originally had.
- u Unsubscribe from current newsgroup.
- U Unsubscribe from any newsgroup." (interactive) (byte-code "ÊˆÍ ˆÎÏ!ˆÎÀ!ˆÎÁ!ˆÎÂ!ˆÎÐ!ˆÎÑ!ˆÒ‰ˆÓ‰ˆÓ‰ˆÔ‰ˆÕ‰ˆÖ ˆ×
!ˆØ!ˆ‰ˆ
- ‰ ˆ‰‡" [news-current-news-group news-current-group-begin news-current-message-number major-mode mode-name text-mode-syntax-table news-mode-map news-read-first-time-p t news-group-article-assoc nil local-abbrev-table text-mode-abbrev-table kill-all-local-variables make-local-variable news-read-first-timep-p news-total-current-group news-point-pdl "??" 0 news-mode "NEWS" news-set-mode-line set-syntax-table use-local-map] 20))
- (defun string-subst-char (new old string) (byte-code "ÄÅÆ !!
- ÇÄO‰ˆÈ
- \"‰…
- Iˆ‚ )ˆ
- ‡" [index old string new nil regexp-quote char-to-string 0 string-match] 9))
- (defmacro news-update-message-read (ngroup nno) (byte-code "ÂÃÄÅED E‡" [ngroup nno setcar cdadr assoc news-group-article-assoc] 5))
- (defun news-parse-range (number-string) "\
- Parse string representing range of numbers of he form <a>-<b>
- to a list (a . b)" (byte-code "Âà \"ƒ Ä ÅO!Ä TÆO!B‚# Ä !‰ˆB)‡" [n number-string string-match "-" string-to-int 0 nil] 11))
- (defun news-get-new-news nil "\
- Get new netnews if there is any for the current user." (interactive) (byte-code "Áˆ ‰ˆ ‰ˆÎÏ!ˆÐ! ŠÑ!ÁÁÁÁ
- qˆÒbˆÓÔ #…| `‰ˆÕ ˆ`‰ˆÖ ˆ`‰ ˆ×ØZ\"‰
- ˆÙ× \"!
-
B
- @AAEDB‰)ˆ‚- ˆÚ!-)ˆÛ
!‰ˆÎÜ!ˆÝ
!ˆ
‰ˆ
…¡ Þ
@ \"?…¬
A‰ˆ‚— ˆ
?ƒ¸ Îß!‚» Îà!*‡" [news-group-article-assoc nil news-user-group-list file news-startup-file temp-user-groups newsrcbuf start end endofline tem t range news-buffer message "Looking up .newsrc file..." substitute-in-file-name find-file-noselect 0 search-forward ": " beginning-of-line end-of-line buffer-substring 2 news-parse-range kill-buffer nreverse "Prefrobnicating..." switch-to-buffer news-read-files-into-buffer "No news is good news." ""] 40))
- (defun news-list-news-groups nil "\
- Display all the news groups to which you belong." (interactive) (byte-code "ˆ?ƒ
ÇÈ!‚:
- ɉˆÊËÌ\"ˆÊÍÎ\"ˆÊÏÐ\"ˆÑbˆŠÒ ˆÓcˆÔcˆ
- Â+))‡" [news-user-group-list buffer-read-only nil mode-line-format temp flag while message "No user groups read yet!" "--%%--[q: to goback, space: scroll-forward, delete:scroll-backward] %M --%--" local-set-key " " scroll-up "" scroll-down "q" news-get-back 0 erase-buffer "News Group Msg No. News Group Msg No.
- " "------------------------- -------------------------
- "] 16))
- (defun news-get-back nil "\
- Called when you quit from seeing the news groups list." (interactive) (byte-code "Áˆ Å ˆÆÇÈ\"ˆÉ ˆÊ
- ËÌÍ#ÎÏ!R!)‡" [buffer-read-only nil news-path news-current-news-group news-current-message-number erase-buffer local-set-key "q" news-quit news-set-mode-line news-read-in-file string-subst-char 47 46 "/" int-to-string] 11))
- (defun news-set-mode-line nil "\
- Set mode line string to something useful." (byte-code "ÄÅ ÆÇ
- !ƒ È
- !‚ ÉÊÇ!ƒ È!‚ Ë&‰‡" [mode-line-format news-current-news-group news-current-message-number news-current-group-end concat "--%1*%1*-News(1): (" "),Mesg: [" integerp int-to-string "??" "/" "] %M ----%3p-%-"] 16))
- (defun news-goto-news-group (gp) "\
- Takes a string and goes to that news group." (interactive "sNewsGroup: ") (byte-code "ÁˆÂÃ\"ˆÄ!ˆÂÅ\"‡" [gp nil message "Jumping to news group %s..." news-go-to-news-group "Jumping to news group %s... done."] 5))
- (defun news-go-to-news-group (gp) (byte-code "Æ
- \"?ƒ ÇÈ \"‚&
|