Gnus works! I had forgotten this because of the confusing nature of Emacs
itself. The result I was looking for in the first place was simply to
have it remember locally stored articles from one session to another.
It does this, but I became so caught up in the overall configuration of
Emacs, which is not a simple thing overall, that I forgot about it.
Then I was trying other newsreaders, like KNode and Pan, and even
complaining about them on newsgroups, not realizing that the
solution had been found already. If anyone wants to get to set it up
for themselves, you can copy my .emacs and .gnus files:
~/.emacs file:
--8<---------------cut here---------------start------------->8---
;
; emacs
;
(defalias 'yes-or-no-p 'y-or-n-p)
(defun roys-kill-buffer ()
(interactive)
(kill-buffer (current-buffer)))
(defun roys-speed ()
(interactive)
(if (display-graphic-p)
(speedbar)
(ibuffer)))
(global-set-key (kbd "<f1>") 'switch-to-prev-buffer)
(global-set-key (kbd "<f2>") 'switch-to-next-buffer)
(global-set-key (kbd "<f3>") 'roys-speed)
(global-set-key (kbd "<f4>") 'query-replace)
(global-set-key (kbd "<f5>") 'set-mark-command)
(global-set-key (kbd "<f6>") 'yank)
(global-set-key (kbd "<f7>") 'copy-region-as-kill)
(global-set-key (kbd "<f8>") 'kill-region)
(global-set-key (kbd "<f9>") 'roys-kill-buffer)
(global-set-key (kbd "<f10>") 'delete-window)
(global-set-key (kbd "<f11>") 'delete-other-windows)
(global-set-key (kbd "<f12>") 'delete-frame)
(global-set-key (kbd "C-c i") 'ibuffer)
(global-set-key (kbd "C-c m") 'menu-bar-mode)
(global-set-key (kbd "C-c k") 'save-buffers-kill-emacs)
(global-unset-key (kbd "C-z"))
(let ((map mode-line-buffer-identification-keymap))
(define-key map [mode-line mouse-2]
'speedbar))
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(browse-url-browser-function (quote w3m-browse-url))
'(dired-dwim-target t)
'(display-time-day-and-date t)
'(display-time-mode t)
'(fill-column 80)
'(inhibit-startup-screen t)
'(menu-bar-mode nil)
'(mm-text-html-renderer (quote w3m))
'(mode-line-format
(quote
("%e" mode-line-front-space mode-line-mule-info mode-line-client mode-line-modified mode-line-remote mode-line-frame-identification " " mode-line-position " " mode-line-buffer-identification
(vc-mode vc-mode)
" " mode-line-modes mode-line-misc-info mode-line-end-spaces)))
'(read-mail-command (quote gnus))
'(scroll-bar-mode (quote right))
'(tool-bar-mode nil)
'(w3m-bookmark-default-section "Bookmark")
'(w3m-key-binding (quote info)))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(default ((t (:inherit nil :stipple nil :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 120 :width normal :foundry "PfEd" :family "DejaVu Sans Mono"))))
'(gnus-summary-high-unread ((((type tty)) (:foreground "green"))))
'(gnus-summary-low-ancient ((((type tty)) (:foreground "yellow"))))
'(gnus-summary-low-read ((((type tty)) (:foreground "magenta"))))
'(gnus-summary-normal-read ((((type tty)) (:foreground "red"))))
'(gnus-summary-normal-unread ((((type tty)) (:foreground "white"))))
'(gnus-summary-selected ((((type tty)) (:background "yellow")))))
; '(mode-line ((((type tty)) (:foreground "green"))))
; '(mode-line-inactive ((((type tty)) (:foreground "white")))))
;; hooks
;
(add-hook 'text-mode-hook 'flyspell-mode)
(add-hook 'text-mode-hook 'auto-fill-mode)
(add-hook 'prog-mode-hook 'flyspell-prog-mode)
;; package repo (do M-x list-packages)
;
(when (> emacs-major-version 23)
(require 'package)
(package-initialize)
(add-to-list 'package-archives
'("melpa" . "
http://melpa.milkbox.net/packages/")
'APPEND))
;; init
;
(server-mode 1)
(display-time)
--8<---------------cut here---------------end--------------->8---
~/.gnus file:
--8<---------------cut here---------------start------------->8---
;
; gnus
;
(gnus-add-configuration
'(article
(vertical 1.0
(summary 15 point)
(article 1.0))))
(setq gnus-activate-level 4)
(setq gnus-after-exiting-gnus-hook (quote (delete-frame)))
(setq gnus-always-force-window-configuration t)
(setq gnus-agent nil)
(setq gnus-ancient-mark 32)
(setq gnus-article-mode-line-format "U%U %S")
(setq gnus-fetch-old-headers t)
(setq gnus-group-line-format "%L%S%B %5N:%M:%-5R %* %(%g%) %O
")
(setq gnus-group-sort-function (quote (gnus-group-sort-by-unread)))
(setq gnus-header-face-alist
(quote
(("From" nil gnus-header-subject)
("" gnus-header-name gnus-header-content))))
(setq gnus-interactive-exit nil)
(setq gnus-large-newsgroup nil)
(setq gnus-level-default-subscribed 5)
(setq gnus-level-subscribed 5)
(setq gnus-message-archive-group "my-posts")
(setq gnus-parameters
'((".*"
(display . default))
))
(setq gnus-permanently-visible-groups ".*")
(setq gnus-posting-styles
'((".*"
(name "ernobe")
(address "
ern...@yahoo.com")
(organization "World Order of Baha'u'llah")
(signature-file "~/.signature"))))
(setq gnus-score-expiry-days nil)
(setq gnus-score-interactive-default-score 1)
(setq gnus-secondary-select-methods (quote ((nnml ""))))
(setq gnus-select-method (quote (nnspool "")))
(setq gnus-sum-thread-tree-false-root nil)
(setq gnus-sum-thread-tree-indent " ")
(setq gnus-sum-thread-tree-leaf-with-other "")
(setq gnus-sum-thread-tree-root nil)
(setq gnus-sum-thread-tree-single-indent nil)
(setq gnus-sum-thread-tree-single-leaf "")
(setq gnus-sum-thread-tree-vertical " |")
(setq gnus-summary-line-format "%[%U%R%2i%] %B |_%(%f%)%*
")
(setq gnus-summary-mode-line-format "U%U %S")
(setq gnus-summary-thread-gathering-function (quote gnus-gather-threads-by-references))
(setq gnus-thread-hide-subtree t)
(setq gnus-thread-sort-functions (quote gnus-thread-sort-by-most-recent-date))
(setq gnus-treat-hide-citation t)
(setq gnus-unread-mark 42)
(setq gnus-use-adaptive-scoring nil)
(setq gnus-use-cache nil)
(setq gnus-use-dribble-file nil)
(setq gnus-visible-headers "^From:")
;
; nnspool
;
(setq nnspool-active-file "~/spool/data/active")
(setq nnspool-inews-program "sh")
(setq nnspool-inews-switches '("-c" "cat >~/spool/out.going/X$(date +%s)-$$-1.$LOGNAME"))
(setq nnspool-nov-directory "~/spool/news")
(setq nnspool-spool-directory "~/spool/news")
;
; uncomment to enable agent, then invoke gnus with 'gnus-unplugged' (not recommended)
;
;(setq gnus-agent t)
;(setq gnus-agent-expire-days 55)
;(setq gnus-nntp-server "
news.eternal-september.org")
;
; uncomment (and edit) for mail
;
;(setq user-mail-address "
ern...@yahoo.com")
;(setq smtpmail-default-smtp-server "
smtp.mail.yahoo.com")
;(setq smtpmail-local-domain "
yahoo.com")
;(setq user-full-name "Roy Fullmer")
;(setq mail-sources nil)
;(setq mail-sources (quote ((pop :server "
pop.mail.yahoo.com"
; :port 995
; :user "
ern...@yahoo.com"
; :password ""))))
--8<---------------cut here---------------end--------------->8---
As you can see, you must use a spool directory. Install slrnpull, and
configure it to populate it with your favorite newsgroup posts, then
make sure the spool directory setting in my .gnus file above corresponds with
your spool location (also edit the newsgroup name and email settings).
--
https://archive.org/services/purl/bahai