rnews.elc 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  1. (require (quote mail-utils))
  2. (defvar news-path "/usr/spool/news/" "The root directory below which all news files are stored.")
  3. (defvar news-startup-file "$HOME/.newsrc" "Contains ~/.newsrc")
  4. (defvar news-inews-program "/usr/local/inews" "Function to post news.")
  5. (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.")
  6. (defvar news-mode-map nil)
  7. (defvar news-read-first-time-p t)
  8. (defvar news-user-group-list nil)
  9. (defvar news-current-news-group nil)
  10. (defvar news-current-group-begin nil)
  11. (defvar news-current-group-end nil)
  12. (defvar news-message-filter nil "User specifiable filter function that will be called during
  13. formatting of the news file")
  14. (defvar news-mode-group-string "Starting-Up" "Mode line group name info is held in this variable")
  15. (defvar news-list-of-files nil "Global variable in which we store the list of files
  16. associated with the current newsgroup")
  17. (defvar news-group-article-assoc nil)
  18. (defvar news-current-message-number 0 "Displayed Article Number")
  19. (defvar news-total-current-group 0 "Total no of messages in group")
  20. (defvar news-unsubscribe-groups nil)
  21. (defvar news-point-pdl nil "List of visited news messages.")
  22. (defvar news-no-jumps-p t)
  23. (defvar news-buffer nil "Buffer into which news files are read.")
  24. (defmacro caar (x) (byte-code "ÁÁDD‡" [x car] 3))
  25. (defmacro cadr (x) (byte-code "ÁÂDD‡" [x car cdr] 3))
  26. (defmacro cdar (x) (byte-code "ÁÂDD‡" [x cdr car] 3))
  27. (defmacro caddr (x) (byte-code "ÁÂÂDDD‡" [x car cdr] 4))
  28. (defmacro cadar (x) (byte-code "ÁÂÁDDD‡" [x car cdr] 4))
  29. (defmacro caadr (x) (byte-code "ÁÁÂDDD‡" [x car cdr] 4))
  30. (defmacro cdadr (x) (byte-code "ÁÂÁDDD‡" [x cdr car] 4))
  31. (defun rnews nil "\
  32. Read netnews for groups for which you are a member and add or delete groups.
  33. You can reply to articles posted and send articles to any group.
  34. Type Help m once reading news to get a list of rnews commands." (interactive) (byte-code "ˆÄÅÆ!‰!ˆÇ ˆ
  35. ‰ˆÈ ˆ ‰ˆÉ !ˆÊË!ˆÌÍ!ˆÎ ˆÏ ‡" [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))
  36. (defun news-set-minor-modes nil "\
  37. Creates a minor mode list that has group name, total articles,
  38. and attribute for current article." (byte-code "Ã Ä
  39. Å RBC‰‡" [minor-modes news-current-message-number news-total-current-group foo "/" news-get-attribute-string] 6))
  40. (defun news-set-message-counters nil "\
  41. Scan through current news-groups filelist to figure out how many messages
  42. are there. Set counters for use with minor mode display." (byte-code "?ƒ ‰‚ Ç" [news-list-of-files news-current-message-number 0 nil] 4))
  43. (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)))
  44. (defun news-mode nil "\
  45. News Mode is used by M-x news for editing News files.
  46. All normal editing commands are turned off.
  47. Instead, these commands are available:
  48. . Move dot to front of this news article (same as Meta-<).
  49. Space Scroll to next screen of this news article.
  50. Delete Scroll down previous page of this news article.
  51. n Move to Next news article.
  52. p Move to Previous news article.
  53. j Jump to news article specified by numeric position.
  54. + goto current article plus count.
  55. - goto current article minus count.
  56. J Jump to news group.
  57. N Goto next news group.
  58. P Goto previous news group.
  59. l List all the news groups with current-status.
  60. ? Print this help message.
  61. q Quit without updating .newsrc file.
  62. e Exit updating .newsrc file.
  63. s Save the current article in the named file. (append if file exists)
  64. m Mail a news article. Same as C-x 4 m.
  65. r Reply to this news article. Like m but initializes some fields.
  66. t Show all the headers this news article originally had.
  67. u Unsubscribe from current newsgroup.
  68. U Unsubscribe from any newsgroup." (interactive) (byte-code "ÊˆÍ ˆÎÏ!ˆÎÀ!ˆÎÁ!ˆÎÂ!ˆÎÐ!ˆÎÑ!ˆÒ‰ˆÓ‰ˆÓ‰ˆÔ‰ˆÕ‰ˆÖ ˆ× !ˆØ!ˆ‰ˆ
  69. ‰ ˆ ‰ ‡" [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))
  70. (defun string-subst-char (new old string) (byte-code "ÄÅÆ !!
  71. ÇÄO‰ˆÈ
  72. \"‰…
  73.  Iˆ‚)ˆ
  74. ‡" [index old string new nil regexp-quote char-to-string 0 string-match] 9))
  75. (defmacro news-update-message-read (ngroup nno) (byte-code "ÂÃÄÅED E‡" [ngroup nno setcar cdadr assoc news-group-article-assoc] 5))
  76. (defun news-parse-range (number-string) "\
  77. Parse string representing range of numbers of he form <a>-<b>
  78. to a list (a . b)" (byte-code "Âà \"ƒÄ ÅO!Ä TÆO!B‚#Ä !‰ˆB)‡" [n number-string string-match "-" string-to-int 0 nil] 11))
  79. (defun news-get-new-news nil "\
  80. Get new netnews if there is any for the current user." (interactive) (byte-code "Áˆ ‰ˆ ‰ˆÎÏ!ˆÐ ! ŠÑ !ÁÁÁÁ
  81.  qˆÒbˆÓÔ  #…|`‰ˆÕ ˆ`‰ˆÖ ˆ`‰ ˆ×ØZ\"‰
  82. ˆÙ× \"! 
  83. B
  84.  @ A AEDB‰)ˆ‚-ˆÚ!-)ˆÛ !‰ˆÎÜ!ˆÝ !ˆ ‰ˆ …¡Þ @ \"?…¬ 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))
  85. (defun news-list-news-groups nil "\
  86. Display all the news groups to which you belong." (interactive) (byte-code "ˆ?ƒ ÇÈ!‚:
  87. ɉˆÊËÌ\"ˆÊÍÎ\"ˆÊÏÐ\"ˆÑbˆŠÒ ˆÓcˆÔcˆ
  88. Â+))‡" [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.
  89. " "------------------------- -------------------------
  90. "] 16))
  91. (defun news-get-back nil "\
  92. Called when you quit from seeing the news groups list." (interactive) (byte-code "Áˆ Å ˆÆÇÈ\"ˆÉ ˆÊ
  93. ËÌÍ #ÎÏ !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))
  94. (defun news-set-mode-line nil "\
  95. Set mode line string to something useful." (byte-code "ÄÅ ÆÇ
  96. !ƒÈ
  97. !‚ÉÊÇ !ƒÈ !‚ Ë&‰‡" [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))
  98. (defun news-goto-news-group (gp) "\
  99. 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))
  100. (defun news-go-to-news-group (gp) (byte-code "Æ
  101. \"?ƒÇÈ \"‚&ÉÆ
  102. \"A@A @A\"ˆÊ@ \"ˆË )‡" [grp gp news-group-article-assoc news-current-news-group news-point-pdl nil assoc error "No such newsgroup: %s" setcar news-read-files-into-buffer news-set-mode-line] 12))
  103. (defun news-goto-message (arg) "\
  104. Goes to the article ARG in current newsgroup." (interactive "p") (byte-code "ˆ?ƒÃÄÅ\"‰‚ÂˆÆ !‡" [current-prefix-arg arg nil read-no-blanks-input "Go to article: " "" news-go-to-message] 6))
  105. (defun news-go-to-message (arg) (byte-code ";ƒ È!‰‚ň
  106. ÉÊË #ÌRÍ !ƒE @ATUƒ4Î@\"‚5ň‰ˆÏ !ˆÐ )‚IÑÒ\")‡" [arg file news-path news-current-news-group buffer-read-only nil news-point-pdl news-current-message-number string-to-int string-subst-char 47 46 "/" file-exists-p setcdr news-read-in-file news-set-mode-line error "Article %d nonexistent"] 19))
  107. (defun news-move-to-message (arg) "\
  108. Given arg move forward or backward within the news group." (byte-code "
  109. \\ W†  VƒK ÊUƒ#ËÌ!ˆÍ ˆËÎ!‚H ÏUƒ@ËÐ!ˆÑÒ \"A@@\"ˆËÓ!‚H…HÔÕ!‚pÒÖ
  110. ! \" ×WƒgØ [SA@8!‚oØ S@8!))‡" [no arg news-current-message-number news-current-group-begin news-current-group-end news-current-news-group news-user-group-list t plist news-list-of-files 1 message "Moving to next news group..." news-next-group "Moving to next news group... done" -1 "Moving to previous news group..." news-read-files-into-buffer news-get-motion-lists "Moving to previous news group... done" error "article out of range?" int-to-string 0 news-go-to-message] 26))
  111. (defun news-next-message nil "\
  112. Goes to the next article within a newsgroup." (interactive) (byte-code "È ÄÅ!ˆÆ \"?ƒ
  113. ?…Ç ˆ‚‚Ã)‡" [cg news-current-news-group news-list-of-files nil news-move-to-message 1 equal news-next-group] 8))
  114. (defun news-previous-message nil "\
  115. Goes to the previous article within a newsgroup." (interactive) (byte-code "È ÄÅ!ˆÆ \"?ƒ
  116. ?…Ç ˆ‚‚Ã)‡" [cg news-current-news-group news-list-of-files nil news-move-to-message -1 equal news-previous-group] 8))
  117. (defun news-plus-n-messages (num) "\
  118. Moves forward n articles within a newsgroup." (interactive "p") (byte-code "ÁˆÂ!‡" [num nil news-move-to-message] 3))
  119. (defun news-minus-n-messages (num) "\
  120. Moves backward n articles within a newsgroup." (interactive "p") (byte-code "ÁˆÂ[!‡" [num nil news-move-to-message] 3))
  121. (defun news-move-to-group (arg) "\
  122. Given arg move forward or backward to a new newsgroup." (byte-code " Å \" ÆWƒÇ [S
  123. A@8!‚Ç
  124. @8!))‡" [cg news-current-news-group plist news-user-group-list arg news-get-motion-lists 0 news-go-to-news-group] 11))
  125. (defun news-next-group nil "\
  126. Moves to the next user group." (interactive) (byte-code "ÀˆÁÂ!ˆÃÄ!ˆÁÅ!‡" [nil message "Moving to next group..." news-move-to-group 0 "Moving to next group... done."] 5))
  127. (defun news-previous-group nil "\
  128. Moves to the previous user group." (interactive) (byte-code "ÀˆÁÂ!ˆÃÄ!ˆÁÅ!‡" [nil message "Moving to previous group..." news-move-to-group -1 "Moving to previous group... done."] 5))
  129. (defun news-get-motion-lists (arg listy) "\
  130. Given a msgnumber/group this will return a list of two lists;
  131. one for moving forward and one for moving backward." (byte-code " ÅÆ�*‡" [temp listy result nil arg out (byte-code "…(Ã@ \"ƒÄÅA
  132. CB\"‚$Æ@C
  133. \"‰ˆA‰ˆ‚‡" [temp arg result equal throw out nconc] 9)] 7))
  134. (defun news-read-in-file (filename) (byte-code " ˆ`à !ˆÄ ˆbˆÅÆ!ˆmƒÇÈ!‚b)‡" [start filename erase-buffer insert-file-contents news-convert-format forward-line 1 message "(Empty file?)"] 11))
  135. (defun news-convert-format nil (byte-code "ŠŒ`ÂÆÇ� …@È \"ˆbˆÉÊ
  136. #‰ˆ ?…' …9bˆÉË!ˆÌ ˆÍ ˆÍ ˆÎ!ˆb,))‡" [start end nil has-from has-date t (byte-code "ÀÁ!ˆ`‡" [search-forward "
  137. "] 3) ((error (byte-code "À‡" ["Can't find eoh"] 2))) narrow-to-region search-forward "
  138. From:" "
  139. Date:" beginning-of-line kill-line news-delete-headers] 21))
  140. (defun news-delete-headers (pos) (byte-code "bˆÄ
  141. #…Å ˆÆ`ÄÇ!ˆÈÉ!ˆ`\"ˆ‚‡" [pos news-ignored-headers nil t re-search-forward beginning-of-line delete-region "
  142. [^ ]" forward-char -1] 8))
  143. (defun news-quit nil "\
  144. Quit news reading without updating newsrc file." (interactive) (byte-code "ˆÃÄ!ƒÅ!ˆÆÇÈ !\"‚ÆÉ!‡" [news-buffer news-startup-file nil y-or-n-p "Quit without updating .newsrc? " kill-buffer message "%s left unmolested" substitute-in-file-name ""] 10))
  145. (defun news-exit nil "\
  146. Quit news reading session and update the newsrc file." (interactive) (byte-code "ÁˆÂÃ!ƒÄÅ!ˆÆ ˆÄÇ!ˆÈ!ˆÄÉ!‚ ÄÊ!‡" [news-buffer nil y-or-n-p "Do you really wanna quit reading news ? " message "Updating .newsrc..." news-update-newsrc-file "Updating .newsrc... done" kill-buffer "Now do some real work" ""] 12))
  147. (defun news-update-newsrc-file nil "\
  148. Updates the newsrc file in the users home dir." (byte-code "ÊË !!ÇŠÌÍ \"A@A @A\"ˆÎ!ˆ…xÍ@ \"‰ˆ
  149. A@A@
  150. A@AA@Uƒ<‚mÏbˆÐ
  151. @ÑP#ƒSÒ!‚\\Ó
  152. @Ô\"ˆÕÖ!ˆÓ×
  153. A@@!Ø×
  154. A@A@!#ˆA‰ˆ‚ˆ …ÀÍ @ \"‰ˆÏbˆÐ
  155. @ÑP#ƒ´ÕÙ!ˆÒ!ˆÓÚ×
  156. A@@!Ø×
  157. A@A@!$‚µÇˆ A‰ ˆ‚yˆÛ ˆÜp!)*‡" [newsrcbuf news-startup-file group news-current-news-group news-group-article-assoc news-point-pdl news-user-group-list nil t news-unsubscribe-groups find-file-noselect substitute-in-file-name setcar assoc switch-to-buffer 0 search-forward ": " kill-line insert ":
  158. " backward-char 1 int-to-string "-" 2 "! " save-buffer kill-buffer] 37))
  159. (defun news-unsubscribe-any-group (group) "\
  160. Removes the group from the list of groups that you currently subscribe too." (interactive "sUnsubscribe from group: ") (byte-code "ÁˆÂ!‡" [group nil news-unsubscribe-internal] 3))
  161. (defun news-unsubscribe-group nil "\
  162. Removes the user from current group." (interactive) (byte-code "ÁˆÂÃ!ƒÄ!‚Á‡" [news-current-news-group nil y-or-n-p "Do you really want to unsubscribe from this group ? " news-unsubscribe-internal] 5))
  163. (defun news-unsubscribe-internal (group) (byte-code "Æ
  164. \"ƒ1 B‰ˆÇÆ
  165. \"A@A @A\"ˆÈ \"ƒ(É ‚)ʈËÌ \"‚5ÍÎ \")‡" [tem group news-group-article-assoc news-unsubscribe-groups news-point-pdl news-current-news-group assoc setcar equal news-next-group nil message "Member-p of %s ==> nil" error "No such group: %s"] 16))
  166. (defun news-save-item-in-file (file) "\
  167. Save the current article that is being read into a file." (interactive "FSave item in file: ") (byte-code "ÁˆÂ!‡" [file nil write-file] 3))
  168. (defun news-get-pruned-list-of-files (gp-list end-file-no) "\
  169. Given a news group it does an ls to give all files in the news group.
  170. The arg must be in slashified format." (byte-code " ÈÉÊ
  171. #PÅ ‰ˆË!?ƒ ‚qÌ!AA‰‰ˆ …NÍÎ @\"?†7Ï @!XƒDÐ @ \"‰‚Eň A‰ˆ‚#ˆ ?ƒ]щˆ ‚qÒ Ó\"‰ˆÏÔ GS\"!‰ˆ *‡" [file-directory news-path gp-list tem news-list-of-files nil end-file-no news-current-group-end string-subst-char 47 46 file-directory-p directory-files string-match "^[0-9]*$" string-to-int delq 0 sort (lambda (x y) (< (string-to-int x) (string-to-int y))) elt] 28))
  172. (defun news-read-files-into-buffer (group reversep) (byte-code "Ð
  173. \"A@@A@ ‰ˆÑ \"ˆ@A@BC‰ˆ ?ƒLÒ ˆ ‰
  174. ˆ ‰ ˆ ‰ ˆÓ ˆÔÕ Ö#ˆ‚Ÿ× @!‰ ˆ ƒb
  175. ‰ ‚€× @! VƒyØ@× @!\"‚zƈ ‰ ˆÙ ˆÓ ˆÚÛÜÝ #Þß !R!ˆÙ ˆÓ ˆ,‡" [files-start-end group news-group-article-assoc start-file-no end-file-no buffer-read-only nil news-current-news-group news-point-pdl news-list-of-files news-current-group-end news-current-group-begin news-current-message-number reversep news-path t assoc news-get-pruned-list-of-files erase-buffer news-set-mode-line insert "No new articles in " " group." string-to-int setcdr news-set-message-counters news-read-in-file string-subst-char 47 46 "/" int-to-string] 37))
  176. (defvar news-reply-mode-map nil "Mode map used by news-reply.")
  177. (defun news-reply-mode nil "\
  178. Major mode for editing news to be posted on netnews.
  179. Like Text Mode but with these additional commands:
  180. C-c C-s, C-c C-c news-inews (send the message and exit)
  181. C-c t mail-to (move to To: field) C-c s mail-subject (move to Subj:)
  182. C-c b mail-bcc (move to Bcc: field) C-c c mail-cc (move to Cc: field)
  183. C-c y mail-yank-original (insert msg being replied to)." (interactive) (byte-code "ÁˆËÌ!† ÍÎ!ˆÏ ˆÐÀ!ˆ ‰ˆÑ
  184. !ˆ †SÒ ‰ˆÓ ÔÕ#ˆÓ Ö×#ˆÓ ØÙ#ˆÓ ÚÛ#ˆÓ ÜÝ#ˆÓ Þß#ˆÓ àá#ˆÓ âá#ˆã !ˆ ‰ˆä‰ˆå‰ˆÐÉ!ˆÐÈ!ˆæP‰ˆæ P‰ ˆçÊ!…�
  185. …�è
  186. !‡" [mail-reply-buffer nil text-mode-syntax-table news-reply-mode-map local-abbrev-table text-mode-abbrev-table major-mode mode-name paragraph-start paragraph-separate news-reply-mode-hook fboundp mail-setup load "sendmail" kill-all-local-variables make-local-variable set-syntax-table make-keymap define-key "?" describe-mode "t" mail-to "b" mail-bcc "c" mail-cc "s" mail-subject "y" mail-yank-original "" news-inews "" use-local-map news-reply-mode "News" "^--text follows this line--$\\|" boundp funcall] 32))
  187. (defun news-setup (to subject in-reply-to newsgroups replybuffer) (byte-code " ‰ˆ É  %ˆŠdbˆÊË!ˆÌ͆Î\"))ˆÏÈ!…2…2Ð!‡" [mail-reply-buffer replybuffer mail-setup-hook nil to subject in-reply-to newsgroups news-setup-hook mail-setup search-backward "
  188. Subject:" insert "
  189. Newsgroups: " "" boundp funcall] 13))
  190. (defun news-inews nil "\
  191. Send a news message using inews." (interactive) (byte-code "ÈÃà ŒebˆÅÆ!ˆÇe`\"ˆÈÉ!ÈÊ!‰)ˆËÌ!ˆÍ`d Î Ï Ð&
  192. ˆËÑ!ˆÒ !ˆÓp!ˆÔÕ!…GÕp!+‡" [newsgroups subject case-fold-search nil news-inews-program search-forward "
  193. --text follows this line--
  194. " narrow-to-region mail-fetch-field "newsgroups" "subject" message "Posting..." call-process-region 0 "-t" "-n" "Posting... done" set-buffer-modified-p delete-windows-on fboundp bury-buffer] 20))
  195. (defun news-reply nil "\
  196. Reply to the current message.
  197. While composing the reply, use \\[mail-yank-original] to yank the original message into it." (interactive) (byte-code "ɈÉÉÉÉÉÉÉpŒÊeËÌ!ˆ`ÍZ\"ˆÎÏ!ÎÐ!†+ÎÑ!ÎÒ!ÎÓ!‰ˆÔÕ!ˆÖ ˆ× ˆØ ÙÚ\"ƒ[ÛO‚\\Ü Q)%).‡" [from reply-to cc subject date to newsgroups buffer stop-pos nil narrow-to-region search-forward "
  198. " 2 mail-fetch-field "from" "reply-to" "subject" "date" "newsgroups" pop-to-buffer "*post-news*" news-reply-mode erase-buffer news-setup string-match " *at \\| *@ \\| *(\\| *<" 0 "'s message of "] 29))
  199. (defun news-post-news nil "\
  200. Post a new news article." (interactive) (byte-code "ÀˆÁÂ!ˆÃ ˆÄ ˆÅ%‡" [nil pop-to-buffer "*post-news*" news-reply-mode erase-buffer news-setup] 9))