*** pub/rgnus/lisp/custom-edit.el Tue Nov 19 18:03:33 1996 --- rgnus/lisp/custom-edit.el Sat Nov 23 20:08:24 1996 *************** *** 4,10 **** ;; ;; Author: Per Abrahamsen ;; Keywords: help, faces ! ;; Version: 1.00 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/ ;;; Commentary: --- 4,10 ---- ;; ;; Author: Per Abrahamsen ;; Keywords: help, faces ! ;; Version: 1.02 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/ ;;; Commentary: *************** *** 528,535 **** (widget-put tmp :options options)) tmp)) (conv (widget-convert type)) ! (value (if (boundp symbol) ! (symbol-value symbol) (widget-get conv :value)))) ;; If the widget is new, the child determine whether it is hidden. (cond (state) --- 528,535 ---- (widget-put tmp :options options)) tmp)) (conv (widget-convert type)) ! (value (if (default-boundp symbol) ! (default-value symbol) (widget-get conv :value)))) ;; If the widget is new, the child determine whether it is hidden. (cond (state) *************** *** 555,562 **** (car (get symbol 'saved-value))) ((get symbol 'factory-value) (car (get symbol 'factory-value))) ! ((boundp symbol) ! (custom-quote (symbol-value symbol))) (t (custom-quote (widget-get conv :value)))))) (push (widget-create-child-and-convert widget 'sexp --- 555,562 ---- (car (get symbol 'saved-value))) ((get symbol 'factory-value) (car (get symbol 'factory-value))) ! ((default-boundp symbol) ! (custom-quote (default-value symbol))) (t (custom-quote (widget-get conv :value)))))) (push (widget-create-child-and-convert widget 'sexp *************** *** 583,589 **** (defun custom-variable-state-set (widget) "Set the state of WIDGET." (let* ((symbol (widget-value widget)) ! (value (symbol-value symbol)) (state (if (get symbol 'saved-value) (if (condition-case nil (equal value --- 583,589 ---- (defun custom-variable-state-set (widget) "Set the state of WIDGET." (let* ((symbol (widget-value widget)) ! (value (default-value symbol)) (state (if (get symbol 'saved-value) (if (condition-case nil (equal value *** pub/rgnus/lisp/custom.el Tue Nov 19 18:03:26 1996 --- rgnus/lisp/custom.el Sat Nov 23 20:08:19 1996 *************** *** 4,10 **** ;; ;; Author: Per Abrahamsen ;; Keywords: help, faces ! ;; Version: 1.00 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/ ;;; Commentary: --- 4,10 ---- ;; ;; Author: Per Abrahamsen ;; Keywords: help, faces ! ;; Version: 1.02 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/ ;;; Commentary: *************** *** 79,85 **** ;;;###autoload (defun custom-declare-variable (symbol value doc &rest args) "Like `defcustom', but SYMBOL and VALUE are evaluated as notmal arguments." ! (unless (default-boundp symbol) (set-default symbol (if (get symbol 'saved-value) (eval (car (get symbol 'saved-value))) (eval value)))) --- 79,86 ---- ;;;###autoload (defun custom-declare-variable (symbol value doc &rest args) "Like `defcustom', but SYMBOL and VALUE are evaluated as notmal arguments." ! (unless (and (default-boundp symbol) ! (not (get symbol 'saved-value))) (set-default symbol (if (get symbol 'saved-value) (eval (car (get symbol 'saved-value))) (eval value)))) *************** *** 142,148 **** "Like `defface', but FACE is evaluated as a normal argument." (put face 'factory-face spec) (when (fboundp 'facep) ! (unless (facep face) ;; If the user has already created the face, respect that. (let ((value (or (get face 'saved-face) spec))) (custom-face-display-set face value)))) --- 143,150 ---- "Like `defface', but FACE is evaluated as a normal argument." (put face 'factory-face spec) (when (fboundp 'facep) ! (unless (and (facep face) ! (not (get face 'saved-face))) ;; If the user has already created the face, respect that. (let ((value (or (get face 'saved-face) spec))) (custom-face-display-set face value)))) *************** *** 291,298 **** "Set FACE to the attributes to the first matching entry in SPEC. Iff optional FRAME is non-nil, set it for that frame only. See `defface' for information about SPEC." ! (when (fboundp 'make-face) ! (make-face face) (copy-face 'custom-face-empty face) (while spec (let* ((entry (car spec)) --- 293,299 ---- "Set FACE to the attributes to the first matching entry in SPEC. Iff optional FRAME is non-nil, set it for that frame only. See `defface' for information about SPEC." ! (when (fboundp 'copy-face) (copy-face 'custom-face-empty face) (while spec (let* ((entry (car spec)) *************** *** 329,340 **** (setq display (cdr display)) (cond ((eq req 'type) (let ((type (if (fboundp 'device-type) ! (device-type frame) window-system))) (setq match (memq type options)))) ((eq req 'class) (let ((class (if (fboundp 'device-class) ! (device-class frame) (frame-property frame 'display-type)))) (setq match (memq class options)))) ((eq req 'background) --- 330,341 ---- (setq display (cdr display)) (cond ((eq req 'type) (let ((type (if (fboundp 'device-type) ! (device-type (frame-device frame)) window-system))) (setq match (memq type options)))) ((eq req 'class) (let ((class (if (fboundp 'device-class) ! (device-class (frame-device frame)) (frame-property frame 'display-type)))) (setq match (memq class options)))) ((eq req 'background) *************** *** 346,352 **** (error "Unknown req `%S' with options `%S'" req options))))) match))) ! (defvar custom-face-attributes '((:bold (toggle :format "Bold: %v") custom-set-face-bold) (:italic (toggle :format "Italic: %v") custom-set-face-italic) (:underline --- 347,353 ---- (error "Unknown req `%S' with options `%S'" req options))))) match))) ! (defconst custom-face-attributes '((:bold (toggle :format "Bold: %v") custom-set-face-bold) (:italic (toggle :format "Italic: %v") custom-set-face-italic) (:underline *************** *** 363,368 **** --- 364,397 ---- The SET function should take three arguments, the face to modify, the value of the attribute, and optionally the frame where the face should be changed.") + + (when (string-match "XEmacs" emacs-version) + ;; Support for special XEmacs font attributes. + (require 'font) + + (unless (fboundp 'face-font-name) + (defun face-font-name (face &rest args) + (apply 'face-font face args))) + + (defun set-face-font-size (face size &rest args) + "Set the font of FACE to SIZE" + (let* ((font (apply 'face-font-name face args)) + (fontobj (font-create-object font))) + (set-font-size fontobj size) + (apply 'set-face-font face fontobj args))) + + (defun set-face-font-family (face family &rest args) + "Set the font of FACE to FAMILY" + (let* ((font (apply 'face-font-name face args)) + (fontobj (font-create-object font))) + (set-font-family fontobj family) + (apply 'set-face-font face fontobj args))) + + (nconc custom-face-attributes + '((:family (editable-field :format "Family: %v") + set-face-font-family) + (:size (editable-field :format "Size: %v") + set-face-font-size)))) (defun custom-face-attribites-set (face frame &rest atts) "For FACE on FRAME set the attributes [KEYWORD VALUE].... *** pub/rgnus/lisp/gnus-dup.el Fri Nov 22 00:05:39 1996 --- rgnus/lisp/gnus-dup.el Sat Nov 23 20:28:14 1996 *************** *** 132,145 **** (unless gnus-dup-list (gnus-dup-open)) (gnus-message 6 "Suppressing duplicates...") ! (let ((data gnus-newsgroup-data) ! number d) ! (while (setq d (pop data)) ! (when (and (intern-soft (mail-header-id (gnus-data-header d)) ! gnus-dup-hashtb) ! (gnus-data-unread-p d)) (setq gnus-newsgroup-unreads ! (delq (setq number (gnus-data-number d)) gnus-newsgroup-unreads)) (push (cons number gnus-duplicate-mark) gnus-newsgroup-reads)))) (gnus-message 6 "Suppressing duplicates...done")) --- 132,145 ---- (unless gnus-dup-list (gnus-dup-open)) (gnus-message 6 "Suppressing duplicates...") ! (let ((headers gnus-newsgroup-headers) ! number header) ! (while (setq header (pop headers)) ! (when (and (intern-soft (mail-header-id header) gnus-dup-hashtb) ! (gnus-summary-article-unread-p (mail-header-number header))) (setq gnus-newsgroup-unreads ! (delq (setq number (mail-header-number header)) ! gnus-newsgroup-unreads)) (push (cons number gnus-duplicate-mark) gnus-newsgroup-reads)))) (gnus-message 6 "Suppressing duplicates...done")) *** pub/rgnus/lisp/gnus-group.el Sat Nov 23 04:58:16 1996 --- rgnus/lisp/gnus-group.el Sat Nov 23 20:28:17 1996 *************** *** 3171,3178 **** (format "Are you sure you want to restart Gnus? ")) (gnus-save-newsrc-file) (gnus-clear-system) ! (gnus-setup-news 'force) ! (gnus-group-list-groups arg))) (defun gnus-group-read-init-file () "Read the Gnus elisp init file." --- 3171,3177 ---- (format "Are you sure you want to restart Gnus? ")) (gnus-save-newsrc-file) (gnus-clear-system) ! (gnus))) (defun gnus-group-read-init-file () "Read the Gnus elisp init file." *** pub/rgnus/lisp/gnus-sum.el Sat Nov 23 06:06:02 1996 --- rgnus/lisp/gnus-sum.el Sat Nov 23 20:57:06 1996 *************** *** 2125,2131 **** (setcdr list (cdr data)) (setcdr data ilist) (when offset ! (gnus-data-update-list (cdr data) offset))) (setq gnus-newsgroup-data-reverse nil)))) (defun gnus-data-remove (article &optional offset) --- 2125,2131 ---- (setcdr list (cdr data)) (setcdr data ilist) (when offset ! (gnus-data-update-list (cdr list) offset))) (setq gnus-newsgroup-data-reverse nil)))) (defun gnus-data-remove (article &optional offset) *************** *** 2155,2171 **** (setcar (nthcdr 2 (car data)) (+ offset (nth 2 (car data)))) (setq data (cdr data)))) - (defun gnus-data-compute-positions () - "Compute the positions of all articles." - (let ((data gnus-newsgroup-data) - pos) - (while data - (when (setq pos (text-property-any - (point-min) (point-max) - 'gnus-number (gnus-data-number (car data)))) - (gnus-data-set-pos (car data) (+ pos 3))) - (setq data (cdr data))))) - (defun gnus-summary-article-pseudo-p (article) "Say whether this article is a pseudo article or not." (not (vectorp (gnus-data-header (gnus-data-find article))))) --- 2155,2160 ---- *************** *** 2400,2405 **** --- 2389,2398 ---- (set-buffer gnus-article-buffer) (setq gnus-summary-buffer summary)))))) + (defun gnus-summary-article-unread-p (article) + "Say whether ARTICLE is unread or not." + (memq article gnus-newsgroup-unreads)) + (defun gnus-summary-first-article-p (&optional article) "Return whether ARTICLE is the first article in the buffer." (if (not (setq article (or article (gnus-summary-article-number)))) *************** *** 3052,3057 **** --- 3045,3051 ---- (defun gnus-rebuild-thread (id) "Rebuild the thread containing ID." (let ((buffer-read-only nil) + (old-pos (gnus-point-at-bol)) current thread data) (if (not gnus-show-threads) (setq thread (list (car (gnus-id-to-thread id)))) *************** *** 3086,3093 **** (setq data (nreverse gnus-newsgroup-data)) (setq threads gnus-newsgroup-threads)) ;; We splice the new data into the data structure. ! (gnus-data-enter-list current data) ! (gnus-data-compute-positions) (setq gnus-newsgroup-threads (nconc threads gnus-newsgroup-threads))))) (defun gnus-number-to-header (number) --- 3080,3086 ---- (setq data (nreverse gnus-newsgroup-data)) (setq threads gnus-newsgroup-threads)) ;; We splice the new data into the data structure. ! (gnus-data-enter-list current data (- (point) old-pos)) (setq gnus-newsgroup-threads (nconc threads gnus-newsgroup-threads))))) (defun gnus-number-to-header (number) *************** *** 3207,3222 **** (defun gnus-remove-thread-1 (thread) "Remove the thread THREAD recursively." ! (let ((number (mail-header-number (car thread))) ! pos) ! (when (setq pos (text-property-any ! (point-min) (point-max) 'gnus-number number)) ! (goto-char pos) ! (gnus-delete-line) ! (gnus-data-remove number)) ! (setq thread (cdr thread)) (while thread ! (gnus-remove-thread-1 (pop thread))))) (defun gnus-sort-threads (threads) "Sort THREADS." --- 3200,3218 ---- (defun gnus-remove-thread-1 (thread) "Remove the thread THREAD recursively." ! (let ((number (mail-header-number (pop thread))) ! d) ! (setq thread (reverse thread)) (while thread ! (gnus-remove-thread-1 (pop thread))) ! (when (setq d (gnus-data-find number)) ! (goto-char (gnus-data-pos d)) ! (gnus-data-remove ! number ! (- (gnus-point-at-bol) ! (prog1 ! (1+ (gnus-point-at-eol)) ! (gnus-delete-line))))))) (defun gnus-sort-threads (threads) "Sort THREADS." *************** *** 4404,4421 **** (let ((header (if (and old-header use-old-header) old-header (gnus-read-header id))) (number (and (numberp id) id)) ! pos) (when header ;; Rebuild the thread that this article is part of and go to the ;; article we have fetched. (when (and (not gnus-show-threads) old-header) ! (when (setq pos (text-property-any ! (point-min) (point-max) 'gnus-number ! (mail-header-number old-header))) ! (goto-char pos) ! (gnus-delete-line) ! (gnus-data-remove (mail-header-number old-header)))) (when old-header (mail-header-set-number header (mail-header-number old-header))) (setq gnus-newsgroup-sparse --- 4400,4419 ---- (let ((header (if (and old-header use-old-header) old-header (gnus-read-header id))) (number (and (numberp id) id)) ! pos d) (when header ;; Rebuild the thread that this article is part of and go to the ;; article we have fetched. (when (and (not gnus-show-threads) old-header) ! (when (setq d (gnus-data-find (mail-header-number old-header))) ! (goto-char (gnus-data-pos d)) ! (gnus-data-remove ! number ! (- (gnus-point-at-bol) ! (prog1 ! (1+ (gnus-point-at-eol)) ! (gnus-delete-line)))))) (when old-header (mail-header-set-number header (mail-header-number old-header))) (setq gnus-newsgroup-sparse *** pub/rgnus/lisp/gnus-xmas.el Tue Nov 19 18:36:57 1996 --- rgnus/lisp/gnus-xmas.el Sat Nov 23 21:10:42 1996 *************** *** 641,650 **** gnus-summary-save-article-file t "Save article in file"] [gnus-summary-save-article gnus-summary-save-article t "Save article"] - [gnus-summary-catchup-and-exit - gnus-summary-catchup-and-exit t "Catchup and exit"] [gnus-summary-catchup gnus-summary-catchup t "Catchup"] [gnus-summary-exit gnus-summary-exit t "Exit this summary"] ) "The summary buffer mail toolbar.") --- 641,650 ---- gnus-summary-save-article-file t "Save article in file"] [gnus-summary-save-article gnus-summary-save-article t "Save article"] [gnus-summary-catchup gnus-summary-catchup t "Catchup"] + [gnus-summary-catchup-and-exit + gnus-summary-catchup-and-exit t "Catchup and exit"] [gnus-summary-exit gnus-summary-exit t "Exit this summary"] ) "The summary buffer mail toolbar.") *** pub/rgnus/lisp/gnus.el Fri Nov 22 00:37:22 1996 --- rgnus/lisp/gnus.el Sat Nov 23 07:38:41 1996 *************** *** 42,48 **** "Score and kill file handling." :group 'gnus ) ! (defconst gnus-version-number "0.69" "Version number for this version of Gnus.") (defconst gnus-version (format "Red Gnus v%s" gnus-version-number) --- 42,48 ---- "Score and kill file handling." :group 'gnus ) ! (defconst gnus-version-number "0.70" "Version number for this version of Gnus.") (defconst gnus-version (format "Red Gnus v%s" gnus-version-number) *** pub/rgnus/lisp/message.el Fri Nov 22 22:32:43 1996 --- rgnus/lisp/message.el Sun Nov 24 00:16:47 1996 *************** *** 942,947 **** --- 942,948 ---- ["Fill Yanked Message" message-fill-yanked-message t] ["Insert Signature" message-insert-signature t] ["Caesar (rot13) Message" message-caesar-buffer-body t] + ["Caesar (rot13) Region" message-caesar-region t] ["Rename buffer" message-rename-buffer t] ["Spellcheck" ispell-message t] "----" *************** *** 951,956 **** --- 952,960 ---- (easy-menu-define message-mode-field-menu message-mode-map "" '("Field" + ["Fetch To" message-insert-to t] + ["Fetch Newsgroups" message-insert-newsgroups t] + "----" ["To" message-goto-to t] ["Subject" message-goto-subject t] ["Cc" message-goto-cc t] *** pub/rgnus/lisp/nnkiboze.el Mon Sep 30 23:42:42 1996 --- rgnus/lisp/nnkiboze.el Sun Nov 24 00:53:22 1996 *************** *** 70,76 **** (nnoo-define-basics nnkiboze) - (deffoo nnkiboze-retrieve-headers (articles &optional group server fetch-old) (nnkiboze-possibly-change-group group) (unless gnus-nov-is-evil --- 70,75 ---- *************** *** 115,120 **** --- 114,120 ---- beg end total) (save-excursion (set-buffer nntp-server-buffer) + (erase-buffer) (if (not (file-exists-p nov-file)) (nnheader-report 'nnkiboze "Can't select group %s" group) (insert-file-contents nov-file) *************** *** 215,221 **** gnus-thread-sort-functions gnus-show-threads gnus-visual method nnkiboze-newsrc nov-buffer gname newsrc active ! ginfo lowest glevel) (unless info (error "No such group: %s" group)) ;; Load the kiboze newsrc file for this group. --- 215,221 ---- gnus-thread-sort-functions gnus-show-threads gnus-visual method nnkiboze-newsrc nov-buffer gname newsrc active ! ginfo lowest glevel orig-info) (unless info (error "No such group: %s" group)) ;; Load the kiboze newsrc file for this group. *************** *** 256,298 **** ;; Ok, we have a valid component group, so we jump to it. (switch-to-buffer gnus-group-buffer) (gnus-group-jump-to-group (caar newsrc)) ! ;; We set all list of article marks to nil. Since we operate ! ;; on copies of the real lists, we can destroy anything we ! ;; want here. ! (and (setq ginfo (nth 2 (gnus-gethash (gnus-group-group-name) ! gnus-newsrc-hashtb))) ! (nth 3 ginfo) ! (setcar (nthcdr 3 ginfo) nil)) ! ;; We set the list of read articles to be what we expect for ! ;; this kiboze group -- either nil or `(1 . LOWEST)'. ! (when ginfo ! (setcar (nthcdr 2 ginfo) ! (and (not (= lowest 1)) (cons 1 lowest)))) ! (if (not (and (or (not ginfo) ! (> (length (gnus-list-of-unread-articles ! (car ginfo))) ! 0)) ! (progn ! (gnus-group-select-group nil) ! (eq major-mode 'gnus-summary-mode)))) ! () ; No unread articles, or we couldn't enter this group. ! ;; We are now in the group where we want to be. ! (setq method (gnus-find-method-for-group gnus-newsgroup-name)) ! (when (eq method gnus-select-method) ! (setq method nil)) ! ;; We go through the list of scored articles. ! (while gnus-newsgroup-scored ! (when (> (caar gnus-newsgroup-scored) lowest) ! ;; If it has a good score, then we enter this article ! ;; into the kiboze group. ! (nnkiboze-enter-nov ! nov-buffer ! (gnus-summary-article-header ! (caar gnus-newsgroup-scored)) ! gnus-newsgroup-name)) ! (setq gnus-newsgroup-scored (cdr gnus-newsgroup-scored))) ! ;; That's it. We exit this group. ! (gnus-summary-exit-no-update))) (setcdr (car newsrc) (car active)) (setq newsrc (cdr newsrc))) ;; We save the nov file. --- 256,301 ---- ;; Ok, we have a valid component group, so we jump to it. (switch-to-buffer gnus-group-buffer) (gnus-group-jump-to-group (caar newsrc)) ! (setq ginfo (gnus-get-info (gnus-group-group-name)) ! orig-info (gnus-copy-sequence ginfo)) ! (unwind-protect ! (progn ! ;; We set all list of article marks to nil. Since we operate ! ;; on copies of the real lists, we can destroy anything we ! ;; want here. ! (when (nth 3 ginfo) ! (setcar (nthcdr 3 ginfo) nil)) ! ;; We set the list of read articles to be what we expect for ! ;; this kiboze group -- either nil or `(1 . LOWEST)'. ! (when ginfo ! (setcar (nthcdr 2 ginfo) ! (and (not (= lowest 1)) (cons 1 lowest)))) ! (when (and (or (not ginfo) ! (> (length (gnus-list-of-unread-articles ! (car ginfo))) ! 0)) ! (progn ! (gnus-group-select-group nil) ! (eq major-mode 'gnus-summary-mode))) ! ;; We are now in the group where we want to be. ! (setq method (gnus-find-method-for-group gnus-newsgroup-name)) ! (when (eq method gnus-select-method) ! (setq method nil)) ! ;; We go through the list of scored articles. ! (while gnus-newsgroup-scored ! (when (> (caar gnus-newsgroup-scored) lowest) ! ;; If it has a good score, then we enter this article ! ;; into the kiboze group. ! (nnkiboze-enter-nov ! nov-buffer ! (gnus-summary-article-header ! (caar gnus-newsgroup-scored)) ! gnus-newsgroup-name)) ! (setq gnus-newsgroup-scored (cdr gnus-newsgroup-scored))) ! ;; That's it. We exit this group. ! (gnus-summary-exit-no-update))) ! ;; Restore the proper info. ! (setcdr ginfo (cdr orig-info)))) (setcdr (car newsrc) (car active)) (setq newsrc (cdr newsrc))) ;; We save the nov file. *************** *** 304,311 **** (insert "(setq nnkiboze-newsrc '") (gnus-prin1 nnkiboze-newsrc) (insert ")\n")) ! (switch-to-buffer gnus-group-buffer) ! (gnus-group-list-groups 5 nil))) (defun nnkiboze-enter-nov (buffer header group) (save-excursion --- 307,313 ---- (insert "(setq nnkiboze-newsrc '") (gnus-prin1 nnkiboze-newsrc) (insert ")\n")) ! t)) (defun nnkiboze-enter-nov (buffer header group) (save-excursion *** pub/rgnus/lisp/widget-edit.el Tue Nov 19 18:03:38 1996 --- rgnus/lisp/widget-edit.el Sat Nov 23 20:08:31 1996 *************** *** 4,10 **** ;; ;; Author: Per Abrahamsen ;; Keywords: extensions ! ;; Version: 1.00 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/ ;;; Commentary: --- 4,10 ---- ;; ;; Author: Per Abrahamsen ;; Keywords: extensions ! ;; Version: 1.02 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/ ;;; Commentary: *************** *** 19,27 **** (autoload 'Info-goto-node "info") ;; The following should go away when bundled with Emacs. ! (condition-case () ! (require 'custom) ! (error nil)) (unless (and (featurep 'custom) (fboundp 'custom-declare-variable)) ;; We have the old custom-library, hack around it! --- 19,28 ---- (autoload 'Info-goto-node "info") ;; The following should go away when bundled with Emacs. ! (eval-and-compile ! (condition-case () ! (require 'custom) ! (error nil))) (unless (and (featurep 'custom) (fboundp 'custom-declare-variable)) ;; We have the old custom-library, hack around it! *************** *** 558,563 **** --- 559,569 ---- (message "Error: `widget-after-change' called on two fields")) (t (let ((size (widget-get field :size))) + (and (string-match "XEmacs" emacs-version) + ;; XEmacs cannot handle zero-sized fields. + (or (null size) + (zerop size)) + (setq size 1)) (if size (let ((begin (1+ (widget-get field :value-from))) (end (1- (widget-get field :value-to)))) *************** *** 896,901 **** --- 902,912 ---- (insert value) (if (< (length value) size) (insert-char ?\ (- size (length value))))) + (and (string-match "XEmacs" emacs-version) + ;; XEmacs cannot handle zero-sized fields. + (or (null size) + (zerop size)) + (insert " ")) (unless (memq widget widget-field-list) (setq widget-field-new (cons widget widget-field-new))) (widget-put widget :value-to (copy-marker (point))) *** pub/rgnus/lisp/widget.el Tue Nov 19 18:03:35 1996 --- rgnus/lisp/widget.el Sat Nov 23 20:08:27 1996 *************** *** 4,10 **** ;; ;; Author: Per Abrahamsen ;; Keywords: help, extensions, faces, hypermedia ! ;; Version: 1.00 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/ ;;; Commentary: --- 4,10 ---- ;; ;; Author: Per Abrahamsen ;; Keywords: help, extensions, faces, hypermedia ! ;; Version: 1.02 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/ ;;; Commentary: *** pub/rgnus/lisp/ChangeLog Sat Nov 23 07:09:53 1996 --- rgnus/lisp/ChangeLog Sun Nov 24 00:16:39 1996 *************** *** 1,3 **** --- 1,29 ---- + Sat Nov 23 23:22:27 1996 Per Abrahamsen + + * message.el (message-mode-menu): Added `message-caesar-region'. + (message-mode-field-menu): Added `message-insert-to' and + `message-insert-newsgroups'. + + Sat Nov 23 19:53:30 1996 Lars Magne Ingebrigtsen + + * nnkiboze.el: Would destroy all component group infos. + + * gnus-xmas.el (gnus-summary-mail-toolbar): Reversed cathup. + + * gnus-sum.el (gnus-summary-article-unread-p): New function. + (gnus-remove-thread-1): Avoid `text-propery-any'. + (gnus-summary-insert-subject): Ditto. + (gnus-data-compute-positions): Removed. + + * gnus-dup.el (gnus-dup-suppress-articles): Didn't do anything. + + * gnus-group.el (gnus-group-restart): Just start up Gnus + properly. + + Sat Nov 23 07:16:39 1996 Lars Magne Ingebrigtsen + + * gnus.el: Red Gnus v0.69 is released. + Sat Nov 23 05:00:36 1996 Lars Magne Ingebrigtsen * gnus-cache.el (gnus-cache-update-active): Wouldn't mark the *** pub/rgnus/texi/gnus.texi Sat Nov 23 07:14:51 1996 --- rgnus/texi/gnus.texi Sun Nov 24 01:31:12 1996 *************** *** 1,7 **** \input texinfo @c -*-texinfo-*- @setfilename gnus ! @settitle Red Gnus 0.69 Manual @synindex fn cp @synindex vr cp @synindex pg cp --- 1,7 ---- \input texinfo @c -*-texinfo-*- @setfilename gnus ! @settitle Red Gnus 0.70 Manual @synindex fn cp @synindex vr cp @synindex pg cp *************** *** 287,293 **** @tex @titlepage ! @title Red Gnus 0.69 Manual @author by Lars Magne Ingebrigtsen @page --- 287,293 ---- @tex @titlepage ! @title Red Gnus 0.70 Manual @author by Lars Magne Ingebrigtsen @page *************** *** 323,329 **** spool or your mbox file. All at the same time, if you want to push your luck. ! This manual corresponds to Red Gnus 0.69 @end ifinfo --- 323,329 ---- spool or your mbox file. All at the same time, if you want to push your luck. ! This manual corresponds to Red Gnus 0.70 @end ifinfo