*** pub/sgnus/lisp/auc-menu.el Tue Sep 26 00:35:59 1995 --- sgnus/lisp/auc-menu.el Tue Sep 26 01:00:44 1995 *************** *** 1,313 **** - ;;; auc-menu.el - Easy menu support for GNU Emacs 19 and XEmacs. - ;; - ;; $Id: auc-menu.el,v 5.7 1994/11/28 01:41:22 amanda Exp $ - ;; - ;; LCD Archive Entry: - ;; auc-menu|Per Abrahamsen|abraham@iesd.auc.dk| - ;; Easy menu support for GNU Emacs 19 and XEmacs| - ;; $Date: 1994/11/28 01:41:22 $|$Revision: 5.7 $|~/misc/auc-menu.el.gz| - - ;; Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc. - ;; Copyright (C) 1994 Per Abrahamsen - ;; - ;; This program is free software; you can redistribute it and/or modify - ;; it under the terms of the GNU General Public License as published by - ;; the Free Software Foundation; either version 2, or (at your option) - ;; any later version. - ;; - ;; This program is distributed in the hope that it will be useful, - ;; but WITHOUT ANY WARRANTY; without even the implied warranty of - ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - ;; GNU General Public License for more details. - ;; - ;; You should have received a copy of the GNU General Public License - ;; along with this program; if not, write to the Free Software - ;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - ;; Commentary: - ;; - ;; Easymenu allows you to define menus for both Emacs 19 and XEmacs. - ;; The advantages of using easymenu are: - ;; - ;; - Easier to use than either the Emacs 19 and XEmacs menu syntax. - ;; - ;; - Common interface for Emacs 18, Emacs 19, and XEmacs. - ;; (The code does nothing when run under Emacs 18). - ;; - ;; The public functions are: - ;; - ;; - Function: easy-menu-define SYMBOL MAPS DOC MENU - ;; SYMBOL is both the name of the variable that holds the menu and - ;; the name of a function that will present a the menu. - ;; MAPS is a list of keymaps where the menu should appear in the menubar. - ;; DOC is the documentation string for the variable. - ;; MENU is an XEmacs style menu description. - ;; - ;; See the documentation for easy-menu-define for details. - ;; - ;; - Function: easy-menu-change PATH NAME ITEMS - ;; Change an existing menu. - ;; The menu must already exist an be visible on the menu bar. - ;; PATH is a list of strings used for locating the menu on the menu bar. - ;; NAME is the name of the menu. - ;; ITEMS is a list of menu items, as defined in `easy-menu-define'. - ;; - ;; - Function: easy-menu-add MENU [ MAP ] - ;; Add MENU to the current menubar in MAP. - ;; - ;; - Function: easy-menu-remove MENU - ;; Remove MENU from the current menubar. - ;; - ;; GNU Emacs 19 never uses `easy-menu-add' or `easy-menu-remove', - ;; menus automatically appear and disappear when the keymaps - ;; specified by the MAPS argument to `easy-menu-define' are - ;; activated. - ;; - ;; XEmacs will bind the map to button3 in each MAPS, but you must - ;; explicitly call `easy-menu-add' and `easy-menu-remove' to add and - ;; remove menus from the menu bar. - - ;; auc-menu.el define the easymenu API included in Emacs 19.29 and - ;; later. In fact, the Emacs 19 specific code should be identical. - - ;;; Code: - - ;;;###autoload - (defmacro easy-menu-define (symbol maps doc menu) - "Define a menu bar submenu in maps MAPS, according to MENU. - The arguments SYMBOL and DOC are ignored; they are present for - compatibility only. SYMBOL is not evaluated. In other Emacs versions - these arguments may be used as a variable to hold the menu data, and a - doc string for that variable. - - The first element of MENU must be a string. It is the menu bar item name. - The rest of the elements are menu items. - - A menu item is usually a vector of three elements: [NAME CALLBACK ENABLE] - - NAME is a string--the menu item name. - - CALLBACK is a command to run when the item is chosen, - or a list to evaluate when the item is chosen. - - ENABLE is an expression; the item is enabled for selection - whenever this expression's value is non-nil. - - Alternatively, a menu item may have the form: - - [ NAME CALLBACK [ KEYWORD ARG ] ... ] - - Where KEYWORD is one of the symbol defined below. - - :keys KEYS - - KEYS is a string; a complex keyboard equivalent to this menu item. - - :active ENABLE - - ENABLE is an expression; the item is enabled for selection - whenever this expression's value is non-nil. - - :suffix NAME - - NAME is a string; the name of an argument to CALLBACK. - - :style STYLE - - STYLE is a symbol describing the type of menu item. The following are - defined: - - toggle: A checkbox. - Currently just prepend the name with the string \"Toggle \". - radio: A radio button. - nil: An ordinary menu item. - - :selected SELECTED - - SELECTED is an expression; the checkbox or radio button is selected - whenever this expression's value is non-nil. - Currently just disable radio buttons, no effect on checkboxes. - - A menu item can be a string. Then that string appears in the menu as - unselectable text. A string consisting solely of hyphens is displayed - as a solid horizontal line. - - A menu item can be a list. It is treated as a submenu. - The first element should be the submenu name. That's used as the - menu item in the top-level menu. The cdr of the submenu list - is a list of menu items, as above." - (` (progn - (defvar (, symbol) nil (, doc)) - (easy-menu-do-define (quote (, symbol)) (, maps) (, doc) (, menu))))) - - (cond - - ;;; Emacs 18 - - ((< (string-to-int emacs-version) 19) - - (defun easy-menu-do-define (symbol maps doc menu) - (fset symbol (symbol-function 'ignore))) - - (defun easy-menu-remove (menu)) - - (defun easy-menu-add (menu &optional map)) - - (defun easy-menu-change (path name items)) - - ) ;Emacs 18 - - ;;; XEmacs - - ((string-match "XEmacs\\|Lucid" emacs-version) - - (defun easy-menu-do-define (symbol maps doc menu) - (set symbol menu) - (fset symbol (list 'lambda '(e) - doc - '(interactive "@e") - '(run-hooks 'activate-menubar-hook) - '(setq zmacs-region-stays 't) - (list 'popup-menu symbol))) - (mapcar (function (lambda (map) (define-key map 'button3 symbol))) - (if (keymapp maps) (list maps) maps))) - - (fset 'easy-menu-change (symbol-function 'add-menu)) - - (defun easy-menu-add (menu &optional map) - "Add MENU to the current menu bar." - (cond ((null current-menubar) - ;; Don't add it to a non-existing menubar. - nil) - ((assoc (car menu) current-menubar) - ;; Already present. - nil) - ((equal current-menubar '(nil)) - ;; Set at left if only contains right marker. - (set-buffer-menubar (list menu nil))) - (t - ;; Add at right. - (set-buffer-menubar (copy-sequence current-menubar)) - (add-menu nil (car menu) (cdr menu))))) - - (defun easy-menu-remove (menu) - "Remove MENU from the current menu bar." - (and current-menubar - (assoc (car menu) current-menubar) - (delete-menu-item (list (car menu))))) - - ) ;XEmacs - - ;;; GNU Emacs 19 - - (t - - (defun easy-menu-do-define (symbol maps doc menu) - ;; We can't do anything that might differ between Emacs dialects in - ;; `easy-menu-define' in order to make byte compiled files - ;; compatible. Therefore everything interesting is done in this - ;; function. - (set symbol (easy-menu-create-keymaps (car menu) (cdr menu))) - (fset symbol (` (lambda (event) (, doc) (interactive "@e") - (easy-popup-menu event (, symbol))))) - (mapcar (function (lambda (map) - (define-key map (vector 'menu-bar (intern (car menu))) - (cons (car menu) (symbol-value symbol))))) - (if (keymapp maps) (list maps) maps))) - - (defvar easy-menu-item-count 0) - - ;; Return a menu keymap corresponding to a XEmacs style menu list - ;; MENU-ITEMS, and with name MENU-NAME. - (defun easy-menu-create-keymaps (menu-name menu-items) - (let ((menu (make-sparse-keymap menu-name))) - ;; Process items in reverse order, - ;; since the define-key loop reverses them again. - (setq menu-items (reverse menu-items)) - (while menu-items - (let* ((item (car menu-items)) - (callback (if (vectorp item) (aref item 1))) - command enabler name) - (cond ((stringp item) - (setq command nil) - (setq name (if (string-match "^-+$" item) "" item))) - ((consp item) - (setq command (easy-menu-create-keymaps (car item) (cdr item))) - (setq name (car item))) - ((vectorp item) - (setq command (make-symbol (format "menu-function-%d" - easy-menu-item-count))) - (setq easy-menu-item-count (1+ easy-menu-item-count)) - (setq name (aref item 0)) - (let ((keyword (aref item 2))) - (if (and (symbolp keyword) - (= ?: (aref (symbol-name keyword) 0))) - (let ((count 2) - style selected active keys - arg) - (while (> (length item) count) - (setq keyword (aref item count)) - (setq arg (aref item (1+ count))) - (setq count (+ 2 count)) - (cond ((eq keyword ':keys) - (setq keys arg)) - ((eq keyword ':active) - (setq active arg)) - ((eq keyword ':suffix) - (setq name (concat name " " arg))) - ((eq keyword ':style) - (setq style arg)) - ((eq keyword ':selected) - (setq selected arg)))) - (if keys - (setq name (concat name " (" keys ")"))) - (if (eq style 'toggle) - ;; Simulate checkboxes. - (setq name (concat "Toggle " name))) - (if active - (put command 'menu-enable active) - (and (eq style 'radio) - selected - ;; Simulate radio buttons with menu-enable. - (put command 'menu-enable - (list 'not selected))))))) - (if (keymapp callback) - (setq name (concat name " ..."))) - (if (symbolp callback) - (fset command callback) - (fset command (list 'lambda () '(interactive) callback))))) - (if (null command) - ;; Handle inactive strings specially--allow any number - ;; of identical ones. - (setcdr menu (cons (list nil name) (cdr menu))) - (if name - (define-key menu (vector (intern name)) (cons name command))))) - (setq menu-items (cdr menu-items))) - menu)) - - (defun easy-menu-change (path name items) - "Change menu found at PATH as item NAME to contain ITEMS. - PATH is a list of strings for locating the menu containing NAME in the - menu bar. ITEMS is a list of menu items, as in `easy-menu-define'. - These items entirely replace the previous items in that map. - - Call this from `activate-menubar-hook' to implement dynamic menus." - (let ((map (key-binding (apply 'vector - 'menu-bar - (mapcar 'intern (append path (list name))))))) - (if (keymapp map) - (setcdr map (cdr (easy-menu-create-keymaps name items))) - (error "Malformed menu in `easy-menu-change'")))) - - (defun easy-menu-remove (menu)) - - (defun easy-menu-add (menu &optional map)) - - ) ;GNU Emacs 19 - - ) ;cond - - (provide 'easymenu) - (provide 'auc-menu) - - ;;; auc-menu.el ends here --- 0 ---- *** pub/sgnus/lisp/custom.el Tue Sep 26 00:35:59 1995 --- sgnus/lisp/custom.el Tue Sep 26 01:00:46 1995 *************** *** 264,270 **** ;; Put it in the Help menu, if possible. (if (string-match "XEmacs" emacs-version) ;; XEmacs (disabled because it doesn't work) ! (add-menu-item '("Help") "Customize..." 'customize nil) ;; Emacs 19.28 and earlier (global-set-key [ menu-bar help customize ] '("Customize..." . customize)) --- 264,271 ---- ;; Put it in the Help menu, if possible. (if (string-match "XEmacs" emacs-version) ;; XEmacs (disabled because it doesn't work) ! (and current-menubar ! (add-menu-item '("Help") "Customize..." 'customize nil)) ;; Emacs 19.28 and earlier (global-set-key [ menu-bar help customize ] '("Customize..." . customize)) *** pub/sgnus/lisp/gnus-ems.el Tue Sep 26 00:36:00 1995 --- sgnus/lisp/gnus-ems.el Tue Sep 26 01:28:53 1995 *************** *** 25,31 **** ;;; Code: (defvar gnus-mouse-2 [mouse-2]) - (defvar gnus-easymenu 'easymenu) (defvar gnus-group-mode-hook ()) (defvar gnus-summary-mode-hook ()) (defvar gnus-article-mode-hook ()) --- 25,30 ---- *************** *** 133,139 **** ;; XEmacs definitions. (setq gnus-mouse-2 [button2]) - (setq gnus-easymenu 'auc-menu) (or (memq 'underline (list-faces)) (and (fboundp 'make-face) --- 132,137 ---- *************** *** 361,367 **** b) (or (gnus-summary-goto-subject article) (error (format "No such article: %d" article))) ! (gnus-summary-position-cursor) ;; If all commands are to be bunched up on one line, we collect ;; them here. (if gnus-view-pseudos-separately --- 359,365 ---- b) (or (gnus-summary-goto-subject article) (error (format "No such article: %d" article))) ! (gnus-summary-position-point) ;; If all commands are to be bunched up on one line, we collect ;; them here. (if gnus-view-pseudos-separately *************** *** 398,404 **** (while pslist (gnus-summary-goto-subject (or (cdr (assq 'article (car pslist))) (gnus-summary-article-number))) ! (forward-line 1) (setq b (point)) (insert " " (file-name-nondirectory (cdr (assq 'name (car pslist)))) --- 396,406 ---- (while pslist (gnus-summary-goto-subject (or (cdr (assq 'article (car pslist))) (gnus-summary-article-number))) ! (gnus-data-enter ! (gnus-summary-article-number) ! gnus-reffed-article-number gnus-unread-mark ! (progn (forward-line 1) (point)) ! (car pslist) 0) (setq b (point)) (insert " " (file-name-nondirectory (cdr (assq 'name (car pslist)))) *************** *** 416,423 **** (1+ b) (1+ (gnus-point-at-eol)) '(gnus-number nil gnus-mark nil gnus-level nil)) (forward-line -1) ! (gnus-sethash (int-to-string gnus-reffed-article-number) ! (car pslist) gnus-newsgroup-headers-hashtb-by-number) (setq gnus-reffed-article-number (1- gnus-reffed-article-number)) (setq pslist (cdr pslist))))))) --- 418,425 ---- (1+ b) (1+ (gnus-point-at-eol)) '(gnus-number nil gnus-mark nil gnus-level nil)) (forward-line -1) ! (setq gnus-newsgroup-unreads ! (cons gnus-reffed-article-number gnus-newsgroup-unreads)) (setq gnus-reffed-article-number (1- gnus-reffed-article-number)) (setq pslist (cdr pslist))))))) *** pub/sgnus/lisp/gnus-kill.el Tue Sep 26 00:36:00 1995 --- sgnus/lisp/gnus-kill.el Tue Sep 26 01:09:07 1995 *************** *** 602,608 **** marked as read or ticked are ignored." (save-excursion (let ((killed-no 0) ! function article) (if (or (null field) (string-equal field "")) (setq function nil) ;; Get access function of header filed. --- 602,608 ---- marked as read or ticked are ignored." (save-excursion (let ((killed-no 0) ! function article header) (if (or (null field) (string-equal field "")) (setq function nil) ;; Get access function of header filed. *************** *** 622,629 **** (not ignore-marked) nil backward))) (and (or (null gnus-newsgroup-kill-headers) (memq article gnus-newsgroup-kill-headers)) ! (gnus-execute-1 function regexp form ! (gnus-summary-article-header article)) (setq killed-no (1+ killed-no)))) killed-no))) --- 622,629 ---- (not ignore-marked) nil backward))) (and (or (null gnus-newsgroup-kill-headers) (memq article gnus-newsgroup-kill-headers)) ! (vectorp (setq header (gnus-summary-article-header article))) ! (gnus-execute-1 function regexp form header) (setq killed-no (1+ killed-no)))) killed-no))) *** pub/sgnus/lisp/gnus-msg.el Tue Sep 26 00:36:00 1995 --- sgnus/lisp/gnus-msg.el Tue Sep 26 01:56:33 1995 *************** *** 976,982 **** (Path (gnus-inews-path)) (Subject nil) (Newsgroups nil) ! (In-Reply-To (gnus-inews-in-reply-yo)) (To nil) (Distribution nil) (Lines (gnus-inews-lines)) --- 976,982 ---- (Path (gnus-inews-path)) (Subject nil) (Newsgroups nil) ! (In-Reply-To (gnus-inews-in-reply-to)) (To nil) (Distribution nil) (Lines (gnus-inews-lines)) *************** *** 1571,1577 **** (run-hooks 'gnus-mail-hook))))) (defun gnus-new-news (&optional group) ! (let (subject) (and gnus-interactive-post (not gnus-expert-user) (not group) --- 1571,1578 ---- (run-hooks 'gnus-mail-hook))))) (defun gnus-new-news (&optional group) ! (let ((winconf (current-window-configuration)) ! subject) (and gnus-interactive-post (not gnus-expert-user) (not group) *************** *** 1580,1589 **** (setq group (completing-read "Group: " gnus-active-hashtb))) (setq subject (read-string "Subject: ")))) ! (pop-to-buffer "*post-news*") (erase-buffer) (news-reply-mode) (news-setup nil subject nil group nil) (local-set-key "\C-c\C-c" 'gnus-inews-news))) (defun gnus-news-followup (&optional yank group) --- 1581,1592 ---- (setq group (completing-read "Group: " gnus-active-hashtb))) (setq subject (read-string "Subject: ")))) ! (pop-to-buffer gnus-post-news-buffer) (erase-buffer) (news-reply-mode) (news-setup nil subject nil group nil) + (make-local-variable 'gnus-prev-winconf) + (setq gnus-prev-winconf winconf) (local-set-key "\C-c\C-c" 'gnus-inews-news))) (defun gnus-news-followup (&optional yank group) *************** *** 1600,1606 **** from subject date reply-to message-of references message-id sender follow-to sendto elt followup-to distribution) ! (set-buffer (get-buffer-create gnus-mail-buffer)) (news-reply-mode) (if (and (buffer-modified-p) (> (buffer-size) 0) --- 1603,1609 ---- from subject date reply-to message-of references message-id sender follow-to sendto elt followup-to distribution) ! (set-buffer (get-buffer-create gnus-post-news-buffer)) (news-reply-mode) (if (and (buffer-modified-p) (> (buffer-size) 0) *** pub/sgnus/lisp/gnus.el Tue Sep 26 00:36:00 1995 --- sgnus/lisp/gnus.el Tue Sep 26 01:56:31 1995 *************** *** 1450,1456 **** "gnus-bug@ifi.uio.no (The Gnus Bugfixing Girls + Boys)" "The mail address of the Gnus maintainers.") ! (defconst gnus-version "September Gnus v0.3" "Version number for this version of Gnus.") (defvar gnus-info-nodes --- 1450,1456 ---- "gnus-bug@ifi.uio.no (The Gnus Bugfixing Girls + Boys)" "The mail address of the Gnus maintainers.") ! (defconst gnus-version "September Gnus v0.4" "Version number for this version of Gnus.") (defvar gnus-info-nodes *************** *** 3414,3419 **** --- 3414,3421 ---- (or level gnus-group-default-list-level gnus-level-subscribed)))) + (defvar gnus-tmp-prev-perm nil) + ;;;###autoload (defun gnus-no-server (&optional arg) "Read network news. *************** *** 3423,3430 **** prompt the user for the name of an NNTP server to use. As opposed to `gnus', this command will not connect to the local server." (interactive "P") ! (setq gnus-group-use-permanent-levels t) ! (gnus (or arg (1- gnus-level-default-subscribed)) t)) ;;;###autoload (defun gnus-slave (&optional arg) --- 3425,3436 ---- prompt the user for the name of an NNTP server to use. As opposed to `gnus', this command will not connect to the local server." (interactive "P") ! (let ((perm ! (cons gnus-group-use-permanent-levels gnus-group-default-list-level))) ! (setq gnus-tmp-prev-perm nil) ! (setq gnus-group-use-permanent-levels t) ! (gnus (or arg (1- gnus-level-default-subscribed)) t) ! (setq gnus-tmp-prev-perm perm))) ;;;###autoload (defun gnus-slave (&optional arg) *************** *** 3447,3452 **** --- 3453,3463 ---- (gnus-clear-system) (nnheader-init-server-buffer) + ;; We do this if `gnus-no-server' has been run. + (if gnus-tmp-prev-perm + (setq gnus-group-use-permanent-levels (car gnus-tmp-prev-perm) + gnus-group-default-list-level (cdr gnus-tmp-prev-perm) + gnus-tmp-prev-perm nil)) (gnus-read-init-file) (setq gnus-slave slave) *************** *** 3522,3529 **** __ ! Gnus * A newsreader for Emacsen ! A Praxis release * larsi@ifi.uio.no " gnus-version)) ;; And then hack it. --- 3533,3540 ---- __ ! %s * A newsreader for Emacsen ! A Praxis release * larsi@ifi.uio.no " gnus-version)) ;; And then hack it. *************** *** 5088,5096 **** "Faq dir: " (and (listp gnus-group-faq-directory) gnus-group-faq-directory)))))) (or faq-dir ! (if (listp gnus-group-faq-directory) ! (car gnus-group-faq-directory) ! gnus-group-faq-directory)) (or group (error "No group name given")) (let ((file (concat (file-name-as-directory faq-dir) (gnus-group-real-name group)))) --- 5099,5107 ---- "Faq dir: " (and (listp gnus-group-faq-directory) gnus-group-faq-directory)))))) (or faq-dir ! (setq faq-dir (if (listp gnus-group-faq-directory) ! (car gnus-group-faq-directory) ! gnus-group-faq-directory))) (or group (error "No group name given")) (let ((file (concat (file-name-as-directory faq-dir) (gnus-group-real-name group)))) *************** *** 6248,6254 **** (defun gnus-summary-insert-line (sformat header level current unread replied expirable subject-or-nil ! &optional dummy score) (or sformat (setq sformat gnus-summary-line-format-spec)) (let* ((indentation (aref gnus-thread-indent-array level)) (lines (mail-header-lines header)) --- 6259,6265 ---- (defun gnus-summary-insert-line (sformat header level current unread replied expirable subject-or-nil ! &optional dummy score process) (or sformat (setq sformat gnus-summary-line-format-spec)) (let* ((indentation (aref gnus-thread-indent-array level)) (lines (mail-header-lines header)) *************** *** 6259,6265 **** gnus-summary-zcore-fuzz)) ? (if (< score gnus-summary-default-score) gnus-score-below-mark gnus-score-over-mark))) ! (replied (if replied gnus-replied-mark ? )) (from (mail-header-from header)) (name (cond ((string-match "(.+)" from) --- 6270,6278 ---- gnus-summary-zcore-fuzz)) ? (if (< score gnus-summary-default-score) gnus-score-below-mark gnus-score-over-mark))) ! (replied (cond (process gnus-process-mark) ! (replied gnus-replied-mark) ! (t gnus-unread-mark))) (from (mail-header-from header)) (name (cond ((string-match "(.+)" from) *************** *** 6876,6884 **** (not (zerop level)) gnus-tmp-prev-subject (not (gnus-subject-equal gnus-tmp-prev-subject subject))) ! (setq new-roots (if (cdr (car thread)) ! (nconc new-roots (list (car thread))) ! new-roots) thread-end t header nil)) ((and gnus-newsgroup-limit --- 6889,6895 ---- (not (zerop level)) gnus-tmp-prev-subject (not (gnus-subject-equal gnus-tmp-prev-subject subject))) ! (setq new-roots (nconc new-roots (list (car thread))) thread-end t header nil)) ((and gnus-newsgroup-limit *************** *** 6944,6950 **** (and (eq gnus-summary-make-false-root 'adopt) (= level 1) (memq number gnus-tmp-gathered)) ! (cdr (assq number gnus-newsgroup-scored)))) (setq gnus-newsgroup-data (cons (gnus-data-make number mark (- (point) 4) --- 6955,6962 ---- (and (eq gnus-summary-make-false-root 'adopt) (= level 1) (memq number gnus-tmp-gathered)) ! (cdr (assq number gnus-newsgroup-scored)) ! (memq number gnus-newsgroup-processable))) (setq gnus-newsgroup-data (cons (gnus-data-make number mark (- (point) 4) *************** *** 7004,7010 **** nil header 0 nil mark (memq number gnus-newsgroup-replied) (memq number gnus-newsgroup-expirable) (mail-header-subject header) nil ! (cdr (assq number gnus-newsgroup-scored)))))))) (defun gnus-select-newsgroup (group &optional read-all) "Select newsgroup GROUP. --- 7016,7023 ---- nil header 0 nil mark (memq number gnus-newsgroup-replied) (memq number gnus-newsgroup-expirable) (mail-header-subject header) nil ! (cdr (assq number gnus-newsgroup-scored)) ! (memq number gnus-newsgroup-processable))))))) (defun gnus-select-newsgroup (group &optional read-all) "Select newsgroup GROUP. *************** *** 11595,11612 **** (and (process-status "gnus-x-face") (delete-process "gnus-x-face")) (let ((inhibit-point-motion-hooks t) ! (case-fold-search nil)) (save-restriction (goto-char (point-min)) (search-forward "\n\n") (narrow-to-region (point-min) (point)) (goto-char (point-min)) (if (not (and gnus-article-x-face-command (or force (not gnus-article-x-face-too-ugly) ! (and gnus-article-x-face-too-ugly (not (string-match gnus-article-x-face-too-ugly ! (mail-fetch-field "from"))))) (progn (goto-char (point-min)) (re-search-forward "^X-Face: " nil t)))) --- 11608,11627 ---- (and (process-status "gnus-x-face") (delete-process "gnus-x-face")) (let ((inhibit-point-motion-hooks t) ! (case-fold-search nil) ! from) (save-restriction (goto-char (point-min)) (search-forward "\n\n") (narrow-to-region (point-min) (point)) (goto-char (point-min)) + (setq from (mail-fetch-field "from")) (if (not (and gnus-article-x-face-command (or force (not gnus-article-x-face-too-ugly) ! (and gnus-article-x-face-too-ugly from (not (string-match gnus-article-x-face-too-ugly ! from)))) (progn (goto-char (point-min)) (re-search-forward "^X-Face: " nil t)))) *** pub/sgnus/lisp/nnvirtual.el Tue Sep 26 00:36:01 1995 --- sgnus/lisp/nnvirtual.el Tue Sep 26 01:01:01 1995 *************** *** 85,90 **** --- 85,91 ---- (gnus-find-method-for-group group)) (and (or (gnus-server-opened group-method) (gnus-open-server group-method)) + (gnus-request-group group t) (gnus-retrieve-headers articles group))))) (save-excursion (set-buffer nntp-server-buffer) *** pub/sgnus/lisp/ChangeLog Tue Sep 26 00:36:01 1995 --- sgnus/lisp/ChangeLog Tue Sep 26 01:56:26 1995 *************** *** 1,4 **** --- 1,15 ---- + Tue Sep 26 01:36:17 1995 Lars Magne Ingebrigtsen + + * gnus.el (gnus-summary-prepare-threads): New roots would be + ignored. + + * gnus-msg.el (gnus-new-news): Didn't save winconf. + + * gnus.el (gnus-group-fetch-faq): Didn't really work. + Mon Sep 25 22:43:22 1995 Lars Magne Ingebrigtsen + + * gnus.el: 0.3 is released. * gnus-msg.el (gnus-inews-insert-headers): Heed check-before-posting.