diff --exclude=*.elc --exclude=*~ --exclude=*-[0-9] --exclude=gnus --exclude=readme --context --recursive pub/dgnus/lisp/ChangeLog dgnus/lisp/ChangeLog *** pub/dgnus/lisp/ChangeLog Wed Apr 19 03:54:37 1995 --- dgnus/lisp/ChangeLog Wed Apr 19 07:03:03 1995 *************** *** 1,3 **** --- 1,42 ---- + Wed Apr 19 05:51:27 1995 Lars Magne Ingebrigtsen + + * nntp.el (nntp-request-group): Error in regexp when using LIST + ACTIVE. + + * gnus.el (gnus-parse-newsrc-body): Don't reset levels. + (gnus-group-always-list-unread): New variable. + + * gnus-uu.el (gnus-uu-save-files): Ask user whether to overwrite + existing files. + + * nnmbox.el (nnmbox-request-expire-articles): Fix from Ilja Weis. + + Tue Apr 18 02:45:28 1995 Christian Limpach + + * gnus.el (gnus-point-at-bol): new subst + (gnus-point-at-eol): new subst + * gnus.el: changed all save-excursions to find point at the + beginning or end of a line to use either gnus-point-at-bol or + gnus-point-at-eol. + + Wed Apr 19 03:59:04 1995 Lars Magne Ingebrigtsen + + * gnus-visual.el (gnus-visual-highlight-selected-summary): + Highlight correctly with no mouse-face present. + + * gnus.el (gnus-current-score-file-nondirectory): New function. + (gnus-mode-non-string-length): New semantics from Sudish Joseph. + + * gnus-uu.el: Included all of Eric Selbergs PostScript functions. + + * gnus.el (gnus-summary-mode-line-format-alist): Missing ?s in g + spec. + (gnus-summary-read-group): Go to the next group if the group can't + be selected. + (gnus-update-summary-mark-positions): Don't bug out on threads. + (gnus-summary-copy-article): Accept the prefix as the default + group. + Wed Apr 19 03:28:37 1995 Lars Magne Ingebrigtsen * gnus.el: Major changes in server handling; new mode; and lots of diff --exclude=*.elc --exclude=*~ --exclude=*-[0-9] --exclude=gnus --exclude=readme --context --recursive pub/dgnus/lisp/gnus-uu.el dgnus/lisp/gnus-uu.el *** pub/dgnus/lisp/gnus-uu.el Wed Apr 19 03:54:33 1995 --- dgnus/lisp/gnus-uu.el Wed Apr 19 06:06:51 1995 *************** *** 243,248 **** --- 243,251 ---- (defvar gnus-uu-shar-file-name nil) (defconst gnus-uu-shar-name-marker "begin [0-7][0-7][0-7][ \t]+\\(\\(\\w\\|\\.\\)*\\b\\)") + (defconst gnus-uu-postscript-begin-string "^%!PS-") + (defconst gnus-uu-postscript-end-string "^%%EOF$") + (defvar gnus-uu-file-name nil) (defconst gnus-uu-uudecode-process nil) *************** *** 449,454 **** --- 452,491 ---- (forward-line 1)))) (gnus-summary-position-cursor)) + ;; All PostScript functions written by Erik Selberg . + + (defun gnus-uu-decode-postscript (n) + "Gets postscript of the current article." + (interactive "P") + (gnus-uu-decode-with-method 'gnus-uu-decode-postscript-article n)) + + (defun gnus-uu-decode-postscript-view (n) + "Gets and views the current article." + (interactive "P") + (let ((gnus-view-pseudos (or gnus-view-pseudos 'automatic))) + (gnus-uu-decode-postscript n))) + + (defun gnus-uu-decode-postscript-and-save (n dir) + "Extracts postscript and saves the current article." + (interactive + (list current-prefix-arg + (read-file-name "Where do you want to save the file(s)? " + gnus-uu-default-dir + gnus-uu-default-dir t))) + (gnus-uu-decode-with-method 'gnus-uu-decode-postscript-article n dir)) + + + (defun gnus-uu-decode-postscript-and-save-view (n dir) + "Decodes, views and saves the resulting file." + (interactive + (list current-prefix-arg + (read-file-name "Where do you want to save the file(s)? " + gnus-uu-default-dir + gnus-uu-default-dir t))) + (let ((gnus-view-pseudos (or gnus-view-pseudos 'automatic))) + (gnus-uu-decode-postscript-and-save n dir))) + + ;; Internal functions. (defun gnus-uu-decode-with-method (method n &optional save) *************** *** 465,477 **** (defun gnus-uu-save-files (files dir) (let ((len (length files)) ! file) (while files (setq file (cdr (assq 'name (car files)))) (and (file-exists-p file) ! (copy-file file (if (file-directory-p dir) ! (concat dir (file-name-nondirectory file)) dir) ! 1 t)) (setq files (cdr files))) (message "Saved %d file%s" len (if (> len 1) "s" "")))) --- 502,518 ---- (defun gnus-uu-save-files (files dir) (let ((len (length files)) ! to-file file) (while files (setq file (cdr (assq 'name (car files)))) (and (file-exists-p file) ! (progn ! (setq to-file (if (file-directory-p dir) ! (concat dir (file-name-nondirectory file)) ! dir)) ! (and (or (not (file-exists-p to-file)) ! (gnus-y-or-n-p (format "%s exists; overwrite? "))) ! (copy-file file to-file 1 t)))) (setq files (cdr files))) (message "Saved %d file%s" len (if (> len 1) "s" "")))) *************** *** 616,621 **** --- 657,687 ---- (if (memq 'begin state) (cons gnus-uu-binhex-article-name state) state))) + + ;; PostScript + + (defun gnus-uu-decode-postscript-article (process-buffer in-state) + (let ((state (list 'ok)) + start-char end-char file-name) + (save-excursion + (set-buffer process-buffer) + (goto-char 1) + (if (not (re-search-forward gnus-uu-postscript-begin-string nil t)) + (setq state (list 'wrong-type)) + (beginning-of-line) + (setq start-char (point)) + (if (not (re-search-forward gnus-uu-postscript-end-string nil t)) + (setq state (list 'wrong-type)) + (setq end-char (point)) + (set-buffer (get-buffer-create gnus-uu-output-buffer-name)) + (insert-buffer-substring process-buffer start-char end-char) + (setq file-name (concat gnus-uu-work-dir (cdr gnus-article-current) ".ps")) + (write-region (point-min) (point-max) file-name) + (setq state (list file-name'begin 'end)) + + )) + ) + state)) ;; Find actions. diff --exclude=*.elc --exclude=*~ --exclude=*-[0-9] --exclude=gnus --exclude=readme --context --recursive pub/dgnus/lisp/gnus-visual.el dgnus/lisp/gnus-visual.el *** pub/dgnus/lisp/gnus-visual.el Wed Apr 19 03:54:33 1995 --- dgnus/lisp/gnus-visual.el Wed Apr 19 05:30:21 1995 *************** *** 406,412 **** (overlay-put gnus-newsgroup-selected-overlay 'face gnus-summary-selected-face)))))) ! (defun gnus-visual-highlight-selected-summary () ;; Added by Per Abrahamsen . ;; Highlight selected article in summary buffer (if gnus-summary-selected-face --- 406,412 ---- (overlay-put gnus-newsgroup-selected-overlay 'face gnus-summary-selected-face)))))) ! (defun gnus-visual-highlight-selected-summary () ;; Added by Per Abrahamsen . ;; Highlight selected article in summary buffer (if gnus-summary-selected-face *************** *** 415,428 **** (end (progn (end-of-line) (point))) (to (max 1 (1- (previous-single-property-change end 'mouse-face nil beg)))) ! (from (1+ (previous-single-property-change ! to 'mouse-face nil beg)))) (if gnus-newsgroup-selected-overlay (move-overlay gnus-newsgroup-selected-overlay from to (current-buffer)) (setq gnus-newsgroup-selected-overlay (make-overlay from to)) (overlay-put gnus-newsgroup-selected-overlay 'face ! gnus-summary-selected-face))))))) ;; New implementation by Christian Limpach . (defun gnus-visual-summary-highlight-line () --- 415,434 ---- (end (progn (end-of-line) (point))) (to (max 1 (1- (previous-single-property-change end 'mouse-face nil beg)))) ! (from (1+ (next-single-property-change ! beg 'mouse-face nil end)))) ! (if (< to beg) ! (progn ! (setq from beg) ! (setq to end))) (if gnus-newsgroup-selected-overlay (move-overlay gnus-newsgroup-selected-overlay from to (current-buffer)) (setq gnus-newsgroup-selected-overlay (make-overlay from to)) (overlay-put gnus-newsgroup-selected-overlay 'face ! gnus-summary-selected-face)))))) ! ) ! ;; New implementation by Christian Limpach . (defun gnus-visual-summary-highlight-line () diff --exclude=*.elc --exclude=*~ --exclude=*-[0-9] --exclude=gnus --exclude=readme --context --recursive pub/dgnus/lisp/gnus.el dgnus/lisp/gnus.el *** pub/dgnus/lisp/gnus.el Wed Apr 19 03:54:34 1995 --- dgnus/lisp/gnus.el Wed Apr 19 06:36:04 1995 *************** *** 497,502 **** --- 497,506 ---- (defvar gnus-group-default-list-level 5 "*Default listing level.") + (defvar gnus-group-always-list-unread 5 + "*Always list groups less than this variable with unread articles. + If nil, use parameter to specify.") + (defvar gnus-user-login-name nil "*The login name of the user. Got from the function `user-login-name' if undefined.") *************** *** 819,831 **** %s Subject if it is at the root of a thread, and \"\" otherwise (string) %n Name of the poster (string) %A Address of the poster (string) ! %L Number of lines in the article (integer) ! %c Number of characters in the article (integer) %D Date of the article (string) %I Indentation based on thread level (a string of spaces) %T A string with two possible values: 80 spaces if the article is on thread level two or larger and 0 spaces on level one ! %U Status of this article (character, \"D\", \"K\", \"-\" or \" \") %[ Opening bracket (character, \"[\" or \"<\") %] Closing bracket (character, \"]\" or \">\") %> Spaces of length thread-level (string) --- 823,840 ---- %s Subject if it is at the root of a thread, and \"\" otherwise (string) %n Name of the poster (string) %A Address of the poster (string) ! %F Contents of the From: header (string) ! %x Contents of the Xref: header (string) %D Date of the article (string) + %M Message-id of the article (string) + %r References of the article (string) + %c Number of characters in the article (integer) + %L Number of lines in the article (integer) %I Indentation based on thread level (a string of spaces) %T A string with two possible values: 80 spaces if the article is on thread level two or larger and 0 spaces on level one ! %R \"R\" if this article has been replied to, \" \" otherwise (character) ! %U Status of this article (character, \"D\", \"K\", \"-\" or \" \") %[ Opening bracket (character, \"[\" or \"<\") %] Closing bracket (character, \"]\" or \">\") %> Spaces of length thread-level (string) *************** *** 902,908 **** ;; Added by Keinonen Kari . (defvar gnus-mode-non-string-length 21 ! "*Max length of mode-line non-string contents buffer contents.") ;; Added by Per Abrahamsen . (defvar gnus-mouse-face 'highlight --- 911,919 ---- ;; Added by Keinonen Kari . (defvar gnus-mode-non-string-length 21 ! "*Max length of mode-line non-string contents. ! If this is nil, Gnus will take space as is needed, leaving the rest ! of the modeline intact.") ;; Added by Per Abrahamsen . (defvar gnus-mouse-face 'highlight *************** *** 1267,1273 **** (defconst gnus-summary-mode-line-format-alist (list (list ?G 'group-name ?s) ! (list ?g '(gnus-short-group-name group-name)) (list ?A 'article-number ?d) (list ?Z 'unread-and-unselected ?s) (list ?V 'gnus-version ?s) --- 1278,1284 ---- (defconst gnus-summary-mode-line-format-alist (list (list ?G 'group-name ?s) ! (list ?g '(gnus-short-group-name group-name) ?s) (list ?A 'article-number ?d) (list ?Z 'unread-and-unselected ?s) (list ?V 'gnus-version ?s) *************** *** 1275,1281 **** (list ?S 'subject ?s) (list ?e 'unselected ?d) (list ?u 'user-defined ?s) ! (list ?s 'gnus-current-score-file ?s))) (defconst gnus-group-mode-line-format-alist (list (list ?S 'news-server ?s) --- 1286,1292 ---- (list ?S 'subject ?s) (list ?e 'unselected ?d) (list ?u 'user-defined ?s) ! (list ?s '(gnus-current-score-file-nondirectory)?s))) (defconst gnus-group-mode-line-format-alist (list (list ?S 'news-server ?s) *************** *** 1287,1293 **** (defconst gnus-maintainer "Lars Magne Ingebrigtsen " "The mail address of the Gnus maintainer.") ! (defconst gnus-version "(ding) Gnus v0.51" "Version number for this version of Gnus.") (defvar gnus-info-nodes --- 1298,1304 ---- (defconst gnus-maintainer "Lars Magne Ingebrigtsen " "The mail address of the Gnus maintainer.") ! (defconst gnus-version "(ding) Gnus v0.52" "Version number for this version of Gnus.") (defvar gnus-info-nodes *************** *** 1524,1529 **** --- 1535,1544 ---- (autoload 'gnus-uu-decode-unshar-and-save-view "gnus-uu") (autoload 'gnus-uu-decode-save-view "gnus-uu") (autoload 'gnus-uu-decode-binhex-view "gnus-uu") + (autoload 'gnus-uu-decode-postscript "gnus-uu") + (autoload 'gnus-uu-decode-postscript-and-save "gnus-uu") + (autoload 'gnus-uu-decode-postscript-view "gnus-uu") + (autoload 'gnus-uu-decode-postscript-and-save-view "gnus-uu") (autoload 'gnus-kill "gnus-kill") (autoload 'gnus-apply-kill-file-internal "gnus-kill") *************** *** 1604,1609 **** --- 1619,1640 ---- (defsubst gnus-goto-char (point) (and point (goto-char point))) + (defsubst gnus-point-at-bol () + "Return point at the beginning of line." + (let ((p (point))) + (beginning-of-line) + (prog1 + (point) + (goto-char p)))) + + (defsubst gnus-point-at-eol () + "Return point at the beginning of line." + (let ((p (point))) + (end-of-line) + (prog1 + (point) + (goto-char p)))) + ;;; ;;; Gnus Utility Functions *************** *** 1632,1638 **** (defun gnus-goto-colon () (beginning-of-line) ! (search-forward ":" (save-excursion (end-of-line) (point)) t)) (defun gnus-narrow-to-headers () (widen) --- 1663,1669 ---- (defun gnus-goto-colon () (beginning-of-line) ! (search-forward ":" (gnus-point-at-eol) t)) (defun gnus-narrow-to-headers () (widen) *************** *** 1679,1684 **** --- 1710,1716 ---- (let ((gnus-replied-mark 129) (gnus-score-below-mark 130) (gnus-score-over-mark 130) + (thread nil) pos) (set-buffer (get-buffer-create " *gnus work*")) (buffer-disable-undo (current-buffer)) *************** *** 3105,3111 **** (concat "(gnus-group-set-info '" (prin1-to-string (nth 2 entry)) ")"))) (beginning-of-line) ! (delete-region (point) (save-excursion (forward-line 1) (point))) (gnus-group-insert-group-line-info group) (forward-line -1) (gnus-group-position-cursor))) --- 3137,3143 ---- (concat "(gnus-group-set-info '" (prin1-to-string (nth 2 entry)) ")"))) (beginning-of-line) ! (delete-region (point) (progn (forward-line 1) (point))) (gnus-group-insert-group-line-info group) (forward-line -1) (gnus-group-position-cursor))) *************** *** 3242,3254 **** (defun gnus-group-group-name () "Get the name of the newsgroup on the current line." ! (let ((group (get-text-property ! (save-excursion (beginning-of-line) (point)) 'gnus-group))) (and group (symbol-name group)))) (defun gnus-group-group-level () "Get the level of the newsgroup on the current line." ! (get-text-property (save-excursion (beginning-of-line) (point)) 'gnus-level)) (defun gnus-group-search-forward (&optional backward all level first-too) "Find the next newsgroup with unread articles. --- 3274,3285 ---- (defun gnus-group-group-name () "Get the name of the newsgroup on the current line." ! (let ((group (get-text-property (gnus-point-at-bol) 'gnus-group))) (and group (symbol-name group)))) (defun gnus-group-group-level () "Get the level of the newsgroup on the current line." ! (get-text-property (gnus-point-at-bol) 'gnus-level)) (defun gnus-group-search-forward (&optional backward all level first-too) "Find the next newsgroup with unread articles. *************** *** 3885,3891 **** (gnus-get-unread-articles (or arg 6))) (let ((gnus-read-active-file nil)) (gnus-get-unread-articles (or arg 6)))) ! (gnus-group-list-groups nil gnus-have-all-newsgroups)) (defun gnus-group-get-new-news-this-group (n) "Check for newly arrived news in the current group (and the N-1 next groups). --- 3916,3923 ---- (gnus-get-unread-articles (or arg 6))) (let ((gnus-read-active-file nil)) (gnus-get-unread-articles (or arg 6)))) ! (gnus-group-list-groups ! (or gnus-group-always-list-unread arg 5) gnus-have-all-newsgroups)) (defun gnus-group-get-new-news-this-group (n) "Check for newly arrived news in the current group (and the N-1 next groups). *************** *** 4634,4639 **** --- 4666,4674 ---- (define-key gnus-summary-extract-map "O" 'gnus-uu-decode-save) (define-key gnus-summary-extract-map "b" 'gnus-uu-decode-binhex) (define-key gnus-summary-extract-map "B" 'gnus-uu-decode-binhex) + (define-key gnus-summary-extract-map "p" 'gnus-uu-decode-postscript) + (define-key gnus-summary-extract-map "P" 'gnus-uu-decode-postscript-and-save) + (define-prefix-command 'gnus-summary-extract-view-map) (define-key gnus-summary-extract-map "v" 'gnus-summary-extract-view-map) *************** *** 4645,4650 **** --- 4680,4687 ---- (define-key gnus-summary-extract-view-map "O" 'gnus-uu-decode-save-view) (define-key gnus-summary-extract-view-map "b" 'gnus-uu-decode-binhex-view) (define-key gnus-summary-extract-view-map "B" 'gnus-uu-decode-binhex-view) + (define-key gnus-summary-extract-view-map "p" 'gnus-uu-decode-postscript-view) + (define-key gnus-summary-extract-view-map "P" 'gnus-uu-decode-postscript-and-save-view) (define-prefix-command 'gnus-summary-various-map) *************** *** 5069,5075 **** (message "Couldn't select newsgroup") (and (eq major-mode 'gnus-summary-mode) (kill-buffer (current-buffer))) ! (switch-to-buffer gnus-group-buffer))) (defun gnus-summary-prepare () "Prepare summary list of current newsgroup in summary buffer." --- 5106,5113 ---- (message "Couldn't select newsgroup") (and (eq major-mode 'gnus-summary-mode) (kill-buffer (current-buffer))) ! (switch-to-buffer gnus-group-buffer) ! (gnus-group-next-unread-group 1))) (defun gnus-summary-prepare () "Prepare summary list of current newsgroup in summary buffer." *************** *** 5799,5811 **** (subject (if gnus-current-headers (header-subject gnus-current-headers) "")) ! (max-len (- (frame-width) gnus-mode-non-string-length))) (setq mode-string (eval mformat)) ! (if (> (length mode-string) max-len) ! (setq mode-string ! (concat (substring mode-string 0 (- max-len 3)) "..."))) ! (setq mode-string (format (format "%%-%ds" max-len 5) ! mode-string)))) (setq mode-line-buffer-identification mode-string) (set-buffer-modified-p t)))) --- 5837,5853 ---- (subject (if gnus-current-headers (header-subject gnus-current-headers) "")) ! (max-len (- (frame-width) gnus-mode-non-string-length)) ! header) ;; passed as argument to any user-format-funcs (setq mode-string (eval mformat)) ! (and (numberp max-len) ! (progn ! (if (> (length mode-string) max-len) ! (setq mode-string ! (concat (substring mode-string 0 (- max-len 3)) ! "..."))) ! (setq mode-string (format (format "%%-%ds" max-len) ! mode-string)))))) (setq mode-line-buffer-identification mode-string) (set-buffer-modified-p t)))) *************** *** 5949,5955 **** (equal (nth 1 m1) (nth 1 m2))))))) (defsubst gnus-header-value () ! (buffer-substring (match-end 0) (save-excursion (end-of-line) (point)))) (defun gnus-get-newsgroup-headers () (setq gnus-article-internal-prepare-hook nil) --- 5991,5997 ---- (equal (nth 1 m1) (nth 1 m2))))))) (defsubst gnus-header-value () ! (buffer-substring (match-end 0) (gnus-point-at-eol))) (defun gnus-get-newsgroup-headers () (setq gnus-article-internal-prepare-hook nil) *************** *** 6119,6128 **** (defun gnus-nov-parse-line (number dependencies) "Point has to be after the number on the beginning of the line." (let ((none 0) ! header eol ref id dep) ! (save-excursion ! (end-of-line) ! (setq eol (point))) (forward-char) ;; overview: [num subject from date id refs chars lines misc] (save-restriction --- 6161,6167 ---- (defun gnus-nov-parse-line (number dependencies) "Point has to be after the number on the beginning of the line." (let ((none 0) ! header (eol (gnus-point-at-eol)) ref id dep) (forward-char) ;; overview: [num subject from date id refs chars lines misc] (save-restriction *************** *** 6372,6394 **** (defun gnus-summary-thread-level () "The thread level of the article on the current line." ! (or (get-text-property ! (save-excursion (beginning-of-line) (point)) 'gnus-thread) 0)) (defun gnus-summary-pseudo-article () "The thread level of the article on the current line." ! (get-text-property ! (save-excursion (beginning-of-line) (point)) 'gnus-pseudo)) (defun gnus-summary-article-mark () "The mark on the current line." ! (get-text-property (save-excursion (beginning-of-line) (point)) 'gnus-mark)) (defun gnus-summary-subject-string () "Return current subject string or nil if nothing." ! (get-text-property ! (save-excursion (beginning-of-line) (point)) 'gnus-subject)) (defalias 'gnus-summary-score 'gnus-summary-article-score) (make-obsolete 'gnus-summary-score 'gnus-summary-article-score) --- 6411,6430 ---- (defun gnus-summary-thread-level () "The thread level of the article on the current line." ! (or (get-text-property (gnus-point-at-bol) 'gnus-thread) 0)) (defun gnus-summary-pseudo-article () "The thread level of the article on the current line." ! (get-text-property (gnus-point-at-bol) 'gnus-pseudo)) (defun gnus-summary-article-mark () "The mark on the current line." ! (get-text-property (gnus-point-at-bol) 'gnus-mark)) (defun gnus-summary-subject-string () "Return current subject string or nil if nothing." ! (get-text-property (gnus-point-at-bol) 'gnus-subject)) (defalias 'gnus-summary-score 'gnus-summary-article-score) (make-obsolete 'gnus-summary-score 'gnus-summary-article-score) *************** *** 7369,7374 **** --- 7405,7411 ---- (or (gnus-check-backend-function 'request-move-article gnus-newsgroup-name) (error "The current newsgroup does not support article moving")) (let ((articles (gnus-summary-work-articles n)) + (prefix (gnus-group-real-prefix gnus-newsgroup-name)) art-group) (if (and (not to-newsgroup) (not select-method)) (setq to-newsgroup *************** *** 7380,7388 **** (if gnus-current-move-group (format "(%s default) " gnus-current-move-group) "")) ! gnus-active-hashtb nil nil ! (gnus-group-real-prefix gnus-newsgroup-name)))) ! (if (string= to-newsgroup "") (setq to-newsgroup (or gnus-current-move-group ""))) (or (gnus-gethash to-newsgroup gnus-active-hashtb) (error "No such group: %s" to-newsgroup)) --- 7417,7424 ---- (if gnus-current-move-group (format "(%s default) " gnus-current-move-group) "")) ! gnus-active-hashtb nil nil prefix))) ! (if (or (string= to-newsgroup "") (string= to-newsgroup prefix)) (setq to-newsgroup (or gnus-current-move-group ""))) (or (gnus-gethash to-newsgroup gnus-active-hashtb) (error "No such group: %s" to-newsgroup)) *************** *** 7418,7424 **** (article (car articles)) (marked (nth 3 info))) (gnus-summary-goto-subject article) ! (delete-region (progn (beginning-of-line) (point)) (progn (forward-line 1) (point))) (if (not (memq article gnus-newsgroup-unreads)) (setcar (cdr (cdr info)) --- 7454,7461 ---- (article (car articles)) (marked (nth 3 info))) (gnus-summary-goto-subject article) ! (beginning-of-line) ! (delete-region (point) (progn (forward-line 1) (point))) (if (not (memq article gnus-newsgroup-unreads)) (setcar (cdr (cdr info)) *************** *** 7490,7495 **** --- 7527,7533 ---- (gnus-set-global-variables) (let ((articles (gnus-summary-work-articles n)) (copy-buf (get-buffer-create "*copy work*")) + (prefix (gnus-group-real-prefix gnus-newsgroup-name)) art-group) (buffer-disable-undo copy-buf) (if (and (not to-newsgroup) (not select-method)) *************** *** 7502,7510 **** (if gnus-current-move-group (format "(%s default) " gnus-current-move-group) "")) ! gnus-active-hashtb nil nil ! (gnus-group-real-prefix gnus-newsgroup-name)))) ! (if (string= to-newsgroup "") (setq to-newsgroup (or gnus-current-move-group ""))) (or (gnus-gethash to-newsgroup gnus-active-hashtb) (error "No such group: %s" to-newsgroup)) --- 7540,7547 ---- (if gnus-current-move-group (format "(%s default) " gnus-current-move-group) "")) ! gnus-active-hashtb nil nil prefix))) ! (if (or (string= to-newsgroup "") (string= to-newsgroup prefix)) (setq to-newsgroup (or gnus-current-move-group ""))) (or (gnus-gethash to-newsgroup gnus-active-hashtb) (error "No such group: %s" to-newsgroup)) *************** *** 8138,8144 **** (marks (concat "^[" marks "]"))) (goto-char (point-min)) (while (search-forward-regexp marks (point-max) t) ! (delete-region (progn (beginning-of-line) (point)) (progn (forward-line 1) (point))))) (or (zerop (buffer-size)) (if (eobp) --- 8175,8182 ---- (marks (concat "^[" marks "]"))) (goto-char (point-min)) (while (search-forward-regexp marks (point-max) t) ! (beginning-of-line) ! (delete-region (point) (progn (forward-line 1) (point))))) (or (zerop (buffer-size)) (if (eobp) *************** *** 8349,8356 **** (prog1 (save-excursion (let ((buffer-read-only nil) ! (beg (progn (beginning-of-line) (point))) ! (end (save-excursion (end-of-line) (point)))) (prog1 ;; Any hidden lines here? (search-forward "\r" end t) --- 8387,8395 ---- (prog1 (save-excursion (let ((buffer-read-only nil) ! ;; first goto end then to beg, to have point at beg after let ! (end (progn (end-of-line) (point))) ! (beg (progn (beginning-of-line) (point)))) (prog1 ;; Any hidden lines here? (search-forward "\r" end t) *************** *** 8631,8637 **** (narrow-to-region (point) (or (search-forward "\n\n" nil t) (point-max))) (while (re-search-forward "^X-Gnus" nil t) ! (delete-region (progn (beginning-of-line) (point)) (progn (forward-line 1) (point)))) (widen)))) (if gnus-default-article-saver --- 8670,8677 ---- (narrow-to-region (point) (or (search-forward "\n\n" nil t) (point-max))) (while (re-search-forward "^X-Gnus" nil t) ! (beginning-of-line) ! (delete-region (point) (progn (forward-line 1) (point)))) (widen)))) (if gnus-default-article-saver *************** *** 10096,10102 **** (interactive (list (completing-read "Score file: " gnus-score-cache))) (setq gnus-current-score-file file) ! (gnus-score-load-file file)) (defun gnus-score-edit-alist (file) "Edit the current score alist." --- 10136,10143 ---- (interactive (list (completing-read "Score file: " gnus-score-cache))) (setq gnus-current-score-file file) ! (gnus-score-load-file file) ! (gnus-set-mode-line 'summary)) (defun gnus-score-edit-alist (file) "Edit the current score alist." *************** *** 10452,10460 **** (goto-char (point-min)) (while (search-forward this-id nil t) ;; found a match. remove this line ! (progn ! (beginning-of-line) ! (kill-line 1)))) ;; now for each line: update its articles with score by moving to ;; every end-of-line in the buffer and read the articles property --- 10493,10500 ---- (goto-char (point-min)) (while (search-forward this-id nil t) ;; found a match. remove this line ! (beginning-of-line) ! (kill-line 1))) ;; now for each line: update its articles with score by moving to ;; every end-of-line in the buffer and read the articles property *************** *** 10911,10916 **** --- 10951,10962 ---- (setq files (cdr files))) (setq gnus-internal-global-score-files out))) + (defun gnus-current-score-file-nondirectory (&optional score-file) + (let ((score-file (or score-file gnus-current-score-file))) + (if score-file + (gnus-short-group-name (file-name-nondirectory score-file)) + "none"))) + ;;; ;;; Score mode. ;;; *************** *** 13580,13590 **** ;; We have already read .newsrc.eld, so we gently update the ;; data in the hash table with the information we have just ;; read. ! (let ((info (nth 2 (gnus-gethash newsgroup gnus-newsrc-hashtb)))) (if info (progn (setcar (nthcdr 2 info) (nreverse read-list)) ! (setcar (cdr info) (if subscribe 3 (if read-list 6 7)))) (setq gnus-newsrc-assoc (cons (list newsgroup (if subscribe 3 (if read-list 6 7)) (nreverse read-list)) --- 13626,13645 ---- ;; We have already read .newsrc.eld, so we gently update the ;; data in the hash table with the information we have just ;; read. ! (let ((info (nth 2 (gnus-gethash newsgroup gnus-newsrc-hashtb))) ! level) (if info (progn (setcar (nthcdr 2 info) (nreverse read-list)) ! ;; We update the level very gently. In fact, we ! ;; only change it if there's been a status change ! ;; from subscribed to unsubscribed, or vice versa. ! (setq level (nth 1 info)) ! (cond ((and (<= level 5) (not subscribe)) ! (setq level (if read-list 6 7))) ! ((and (> level 5) subscribe) ! (setq level 3))) ! (setcar (cdr info) level)) (setq gnus-newsrc-assoc (cons (list newsgroup (if subscribe 3 (if read-list 6 7)) (nreverse read-list)) *************** *** 13748,13754 **** (read (current-buffer)))) (skip-chars-forward " \t") (set group (buffer-substring ! (point) (save-excursion (end-of-line) (point)))) (forward-line 1)))) (message "Reading descriptions file...done") t))) --- 13803,13809 ---- (read (current-buffer)))) (skip-chars-forward " \t") (set group (buffer-substring ! (point) (gnus-point-at-eol))) (forward-line 1)))) (message "Reading descriptions file...done") t))) diff --exclude=*.elc --exclude=*~ --exclude=*-[0-9] --exclude=gnus --exclude=readme --context --recursive pub/dgnus/lisp/nnbabyl.el dgnus/lisp/nnbabyl.el *** pub/dgnus/lisp/nnbabyl.el Wed Apr 19 03:54:34 1995 --- dgnus/lisp/nnbabyl.el Wed Apr 19 04:10:41 1995 *************** *** 144,150 **** t) (defun nnbabyl-server-opened (&optional server) ! (equal server nnbabyl-current-server)) (defun nnbabyl-status-message (&optional server) nnbabyl-status-string) --- 144,152 ---- t) (defun nnbabyl-server-opened (&optional server) ! (and (equal server nnbabyl-current-server) ! nntp-server-buffer ! (buffer-name nntp-server-buffer))) (defun nnbabyl-status-message (&optional server) nnbabyl-status-string) diff --exclude=*.elc --exclude=*~ --exclude=*-[0-9] --exclude=gnus --exclude=readme --context --recursive pub/dgnus/lisp/nnfolder.el dgnus/lisp/nnfolder.el *** pub/dgnus/lisp/nnfolder.el Wed Apr 19 03:54:34 1995 --- dgnus/lisp/nnfolder.el Wed Apr 19 06:36:42 1995 *************** *** 61,67 **** (defvar nnfolder-buffer-alist nil) (defmacro nnfolder-article-string (article) ! (` (concat "\n" nnfolder-article-marker (int-to-string (, article)) ""))) --- 61,67 ---- (defvar nnfolder-buffer-alist nil) (defmacro nnfolder-article-string (article) ! (` (concat "\n" nnfolder-article-marker (int-to-string (, article)) " "))) *************** *** 92,97 **** --- 92,99 ---- (delim-string (concat "^" rmail-unix-mail-delimiter)) beg article art-string start stop) (nnfolder-possibly-change-group newsgroup) + (set-buffer nnfolder-current-buffer) + (goto-char (point-min)) (while sequence (setq article (car sequence)) (setq art-string (nnfolder-article-string article)) *************** *** 143,149 **** t) (defun nnfolder-server-opened (&optional server) ! (equal server nnfolder-current-server)) (defun nnfolder-request-close () (let ((alist nnfolder-buffer-alist)) --- 145,153 ---- t) (defun nnfolder-server-opened (&optional server) ! (and (equal server nnfolder-current-server) ! nntp-server-buffer ! (buffer-name nntp-server-buffer))) (defun nnfolder-request-close () (let ((alist nnfolder-buffer-alist)) *************** *** 162,168 **** nil (save-excursion (set-buffer nnfolder-current-buffer) ! (goto-char 1) (if (search-forward (nnfolder-article-string article) nil t) (let (start stop) (re-search-backward (concat "^" rmail-unix-mail-delimiter) nil t) --- 166,172 ---- nil (save-excursion (set-buffer nnfolder-current-buffer) ! (goto-char (point-min)) (if (search-forward (nnfolder-article-string article) nil t) (let (start stop) (re-search-backward (concat "^" rmail-unix-mail-delimiter) nil t) *************** *** 263,274 **** (setq articles (cdr articles))) (save-buffer) ;; Find the lowest active article in this group. ! (let ((active (nth 1 (assoc newsgroup nnfolder-group-alist)))) (goto-char (point-min)) ! (while (not (search-forward ! (nnfolder-article-string (car active)) nil t)) ! (setcar active (1+ (car active))) ! (goto-char (point-min)))) (nnmail-save-active nnfolder-group-alist nnfolder-active-file) rest))) --- 267,284 ---- (setq articles (cdr articles))) (save-buffer) ;; Find the lowest active article in this group. ! (let* ((active (car (cdr (assoc newsgroup nnfolder-group-alist)))) ! (marker (concat "\n" nnfolder-article-marker)) ! (number "[0-9]+") ! (activemin (cdr active))) (goto-char (point-min)) ! (while (and (search-forward marker nil t) ! (re-search-forward number nil t)) ! (setq activemin (min activemin ! (string-to-number (buffer-substring ! (match-beginning 0) ! (match-end 0)))))) ! (setcar active activemin)) (nnmail-save-active nnfolder-group-alist nnfolder-active-file) rest))) *************** *** 493,508 **** ;; Keep track of the active number on our own, and insert it back into ;; the active list when we're done. Also, prime the pump to cut down on ;; the number of searches we do. ! (setq end (or (and (re-search-forward delim nil t) ! (match-beginning 0)) ! (point-max))) (while (not (= end (point-max))) ! (setq start end) (goto-char end) (end-of-line) ! (setq end (or (and (re-search-forward delim nil t) ! (match-beginning 0)) ! (point-max))) (goto-char start) (if (not (search-forward marker end t)) (progn --- 503,519 ---- ;; Keep track of the active number on our own, and insert it back into ;; the active list when we're done. Also, prime the pump to cut down on ;; the number of searches we do. ! (setq end (point-marker)) ! (set-marker end (or (and (re-search-forward delim nil t) ! (match-beginning 0)) ! (point-max))) (while (not (= end (point-max))) ! (setq start (marker-position end)) (goto-char end) (end-of-line) ! (set-marker end (or (and (re-search-forward delim nil t) ! (match-beginning 0)) ! (point-max))) (goto-char start) (if (not (search-forward marker end t)) (progn diff --exclude=*.elc --exclude=*~ --exclude=*-[0-9] --exclude=gnus --exclude=readme --context --recursive pub/dgnus/lisp/nnmbox.el dgnus/lisp/nnmbox.el *** pub/dgnus/lisp/nnmbox.el Wed Apr 19 03:54:35 1995 --- dgnus/lisp/nnmbox.el Wed Apr 19 05:51:41 1995 *************** *** 143,149 **** t) (defun nnmbox-server-opened (&optional server) ! (equal server nnmbox-current-server)) (defun nnmbox-status-message (&optional server) nnmbox-status-string) --- 143,151 ---- t) (defun nnmbox-server-opened (&optional server) ! (and (equal server nnmbox-current-server) ! nntp-server-buffer ! (buffer-name nntp-server-buffer))) (defun nnmbox-status-message (&optional server) nnmbox-status-string) *************** *** 247,253 **** (goto-char (point-min)) (while (not (search-forward (nnmbox-article-string (car active)) nil t)) ! (setcar (car active) (1+ (car active))) (goto-char (point-min)))) (nnmail-save-active nnmbox-group-alist nnmbox-active-file) rest))) --- 249,255 ---- (goto-char (point-min)) (while (not (search-forward (nnmbox-article-string (car active)) nil t)) ! (setcar active (1+ (car active))) (goto-char (point-min)))) (nnmail-save-active nnmbox-group-alist nnmbox-active-file) rest))) diff --exclude=*.elc --exclude=*~ --exclude=*-[0-9] --exclude=gnus --exclude=readme --context --recursive pub/dgnus/lisp/nnmh.el dgnus/lisp/nnmh.el *** pub/dgnus/lisp/nnmh.el Wed Apr 19 03:54:35 1995 --- dgnus/lisp/nnmh.el Wed Apr 19 04:10:40 1995 *************** *** 133,139 **** t) (defun nnmh-server-opened (&optional server) ! (equal server nnmh-current-server)) (defun nnmh-status-message (&optional server) nnmh-status-string) --- 133,141 ---- t) (defun nnmh-server-opened (&optional server) ! (and (equal server nnmh-current-server) ! nntp-server-buffer ! (buffer-name nntp-server-buffer))) (defun nnmh-status-message (&optional server) nnmh-status-string) diff --exclude=*.elc --exclude=*~ --exclude=*-[0-9] --exclude=gnus --exclude=readme --context --recursive pub/dgnus/lisp/nnml.el dgnus/lisp/nnml.el *** pub/dgnus/lisp/nnml.el Wed Apr 19 03:54:35 1995 --- dgnus/lisp/nnml.el Wed Apr 19 04:10:42 1995 *************** *** 160,166 **** t) (defun nnml-server-opened (&optional server) ! (equal server nnml-current-server)) (defun nnml-status-message (&optional server) nnml-status-string) --- 160,168 ---- t) (defun nnml-server-opened (&optional server) ! (and (equal server nnml-current-server) ! nntp-server-buffer ! (buffer-name nntp-server-buffer))) (defun nnml-status-message (&optional server) nnml-status-string) diff --exclude=*.elc --exclude=*~ --exclude=*-[0-9] --exclude=gnus --exclude=readme --context --recursive pub/dgnus/lisp/nnspool.el dgnus/lisp/nnspool.el *** pub/dgnus/lisp/nnspool.el Wed Apr 19 03:54:35 1995 --- dgnus/lisp/nnspool.el Wed Apr 19 04:10:39 1995 *************** *** 168,174 **** t) (defun nnspool-server-opened (&optional server) ! (equal server nnspool-current-server)) (defun nnspool-status-message (&optional server) "Return server status response as string." --- 168,176 ---- t) (defun nnspool-server-opened (&optional server) ! (and (equal server nnspool-current-server) ! nntp-server-buffer ! (buffer-name nntp-server-buffer))) (defun nnspool-status-message (&optional server) "Return server status response as string." diff --exclude=*.elc --exclude=*~ --exclude=*-[0-9] --exclude=gnus --exclude=readme --context --recursive pub/dgnus/lisp/nntp.el dgnus/lisp/nntp.el *** pub/dgnus/lisp/nntp.el Wed Apr 19 03:54:35 1995 --- dgnus/lisp/nntp.el Wed Apr 19 07:03:03 1995 *************** *** 264,269 **** --- 264,271 ---- (defun nntp-server-opened (&optional server) "Say whether a connection to SERVER has been opened." (and (equal server nntp-current-server) + nntp-server-buffer + (buffer-name nntp-server-buffer) nntp-server-process (memq (process-status nntp-server-process) '(open run)))) *************** *** 328,334 **** ;; does, we transform the output. (cond ((looking-at "2[0-9]+") (forward-line 1) ! (if (looking-at "[^ ] +\\([0-9]\\) +\\([0-9]\\)") (let ((end (progn (goto-char (match-beginning 1)) (read (current-buffer)))) (beg (read (current-buffer)))) --- 330,336 ---- ;; does, we transform the output. (cond ((looking-at "2[0-9]+") (forward-line 1) ! (if (looking-at "[^ ]+[ \t]+\\([0-9]\\)[ \t]+\\([0-9]\\)") (let ((end (progn (goto-char (match-beginning 1)) (read (current-buffer)))) (beg (read (current-buffer)))) diff --exclude=*.elc --exclude=*~ --exclude=*-[0-9] --exclude=gnus --exclude=readme --context --recursive pub/dgnus/texi/gnus.texi dgnus/texi/gnus.texi *** pub/dgnus/texi/gnus.texi Wed Apr 19 03:54:39 1995 --- dgnus/texi/gnus.texi Wed Apr 19 05:35:03 1995 *************** *** 3169,3174 **** --- 3169,3175 ---- (@code{gnus-summary-clear-above}). @end table + @code{gnus-summary-goto-unread} The @code{gnus-summary-goto-unread} variable controls what action should be taken after setting a mark. If non-@code{nil}, point will move to the next/previous unread article. If @code{nil}, point will just move *************** *** 3643,3648 **** --- 3644,3650 ---- @menu * Uuencoded Articles:: Uudecode articles. * Shared Articles:: Unshar articles. + * PostScript Files:: Split PoscScript. @end menu All these functions use the process/prefix convention *************** *** 3736,3741 **** --- 3738,3769 ---- @findex gnus-uu-decode-unshar-and-save-view Unshars, views and saves the current series (@code{gnus-uu-decode-unshar-and-save-view}). + @end table + + @node PostScript Files + @subsection PostScript Files + @cindex PostScript + + @table @kbd + @item X p + @kindex X p (Summary) + @findex gnus-uu-decode-postscript + Unpack the current PostScript series (@code{gnus-uu-decode-postscript}). + @item X P + @kindex X P (Summary) + @findex gnus-uu-decode-postscript-and-save + Unpack and save the current PostScript series + (@code{gnus-uu-decode-postscript-and-save}). + @item X v p + @kindex X v p (Summary) + @findex gnus-uu-decode-postscript-view + View the current PostScript series + (@code{gnus-uu-decode-postscript-view}). + @item X v P + @kindex X v P (Summary) + @findex gnus-uu-decode-postscript-and-save-view + View and save the current PostScript series + (@code{gnus-uu-decode-postscript-and-save-view}). @end table @node Decoding Variables