*** pub/pgnus/lisp/gnus-agent.el Mon Sep 14 18:55:35 1998 --- pgnus/lisp/gnus-agent.el Thu Sep 24 02:33:02 1998 *************** *** 1073,1079 **** (gnus-set-default-directory) (setq mode-line-process nil) (use-local-map gnus-category-mode-map) ! (buffer-disable-undo (current-buffer)) (setq truncate-lines t) (setq buffer-read-only t) (gnus-run-hooks 'gnus-category-mode-hook)) --- 1073,1079 ---- (gnus-set-default-directory) (setq mode-line-process nil) (use-local-map gnus-category-mode-map) ! (buffer-disable-undo) (setq truncate-lines t) (setq buffer-read-only t) (gnus-run-hooks 'gnus-category-mode-hook)) *************** *** 1419,1430 **** ;; Maybe everything has been expired from `gnus-article-alist' ;; and so the above marking as read could not be conducted, ;; or there are expired article within the range of the alist. ! (when (or (not (caar gnus-agent-article-alist)) ! (> (car expired) (caar gnus-agent-article-alist))) ! (setcar (nthcdr 2 info) ! (gnus-add-to-range ! (nth 2 info) ! (nreverse expired)))) (gnus-dribble-enter (concat "(gnus-group-set-info '" (gnus-prin1-to-string info) --- 1419,1433 ---- ;; Maybe everything has been expired from `gnus-article-alist' ;; and so the above marking as read could not be conducted, ;; or there are expired article within the range of the alist. ! (when (and info ! expired ! (or (not (caar gnus-agent-article-alist)) ! (> (car expired) ! (caar gnus-agent-article-alist)))) ! (setcar (nthcdr 2 info) ! (gnus-add-to-range ! (nth 2 info) ! (nreverse expired)))) (gnus-dribble-enter (concat "(gnus-group-set-info '" (gnus-prin1-to-string info) *** pub/pgnus/lisp/gnus-art.el Mon Sep 14 18:55:35 1998 --- pgnus/lisp/gnus-art.el Thu Sep 24 02:33:03 1998 *************** *** 965,970 **** --- 965,971 ---- (save-restriction (message-narrow-to-head) (let* ((inhibit-point-motion-hooks t) + (case-fold-search t) (ct (message-fetch-field "Content-Type" t)) (cte (message-fetch-field "Content-Transfer-Encoding" t)) (ctl (and ct (condition-case () *************** *** 981,986 **** --- 982,988 ---- buffer-read-only) (goto-char (point-max)) (widen) + (forward-line 1) (narrow-to-region (point) (point-max)) (when (or (not ct) (equal (car ctl) "text/plain")) *************** *** 1888,1893 **** --- 1890,1897 ---- "\C-c\C-i" gnus-info-find-node "\C-c\C-b" gnus-bug + gnus-mouse-2 'widget-button-click + "\C-d" gnus-article-read-summary-keys "\M-*" gnus-article-read-summary-keys "\M-#" gnus-article-read-summary-keys *************** *** 1957,1964 **** (make-local-variable 'gnus-button-marker-list) (make-local-variable 'gnus-article-current-summary) (make-local-variable 'gnus-article-mime-handles) (gnus-set-default-directory) ! (buffer-disable-undo (current-buffer)) (setq buffer-read-only t) (set-syntax-table gnus-article-mode-syntax-table) (mm-enable-multibyte) --- 1961,1969 ---- (make-local-variable 'gnus-button-marker-list) (make-local-variable 'gnus-article-current-summary) (make-local-variable 'gnus-article-mime-handles) + (make-local-variable 'gnus-article-decoded-p) (gnus-set-default-directory) ! (buffer-disable-undo) (setq buffer-read-only t) (set-syntax-table gnus-article-mode-syntax-table) (mm-enable-multibyte) *************** *** 1990,1996 **** (if (get-buffer name) (save-excursion (set-buffer name) ! (buffer-disable-undo (current-buffer)) (setq buffer-read-only t) (unless (eq major-mode 'gnus-article-mode) (gnus-article-mode)) --- 1995,2001 ---- (if (get-buffer name) (save-excursion (set-buffer name) ! (buffer-disable-undo) (setq buffer-read-only t) (unless (eq major-mode 'gnus-article-mode) (gnus-article-mode)) *************** *** 2129,2138 **** ;; This hook must be called before being narrowed. (let ((gnus-article-buffer (current-buffer)) buffer-read-only) (gnus-run-hooks 'gnus-tmp-internal-hook) (gnus-run-hooks 'gnus-article-prepare-hook) (when gnus-display-mime-function ! (funcall gnus-display-mime-function)) ;; Perform the article display hooks. (gnus-run-hooks 'gnus-article-display-hook))) --- 2134,2146 ---- ;; This hook must be called before being narrowed. (let ((gnus-article-buffer (current-buffer)) buffer-read-only) + (unless (eq major-mode 'gnus-article-mode) + (gnus-article-mode)) (gnus-run-hooks 'gnus-tmp-internal-hook) (gnus-run-hooks 'gnus-article-prepare-hook) (when gnus-display-mime-function ! (let ((url-standalone-mode (not gnus-plugged))) ! (funcall gnus-display-mime-function))) ;; Perform the article display hooks. (gnus-run-hooks 'gnus-article-display-hook))) *************** *** 2144,2150 **** "The following specs can be used: %t The MIME type %n The `name' parameter ! %n The description, if any %l The length of the encoded part") (defvar gnus-mime-button-line-format-alist --- 2152,2158 ---- "The following specs can be used: %t The MIME type %n The `name' parameter ! %d The description, if any %l The length of the encoded part") (defvar gnus-mime-button-line-format-alist *************** *** 2180,2186 **** (defun gnus-mime-view-part () "Interactively choose a view method for the MIME part under point." (interactive) ! (let ((data (get-text-property (point) 'gnus-data))) (mm-interactively-view-part data))) (defun gnus-mime-copy-part () --- 2188,2195 ---- (defun gnus-mime-view-part () "Interactively choose a view method for the MIME part under point." (interactive) ! (let ((data (get-text-property (point) 'gnus-data)) ! (url-standalone-mode (not gnus-plugged))) (mm-interactively-view-part data))) (defun gnus-mime-copy-part () *************** *** 2197,2224 **** (interactive) (let* ((data (get-text-property (point) 'gnus-data)) (contents (mm-get-part data)) (b (point)) buffer-read-only) ! (forward-line 2) ! (mm-insert-inline data contents) ! (goto-char b))) (defun gnus-insert-mime-button (handle) (let ((gnus-tmp-name (mail-content-type-get (mm-handle-type handle) 'name)) (gnus-tmp-type (car (mm-handle-type handle))) (gnus-tmp-description (mm-handle-description handle)) ! (gnus-tmp-length (save-excursion ! (set-buffer (mm-handle-buffer handle)) ! (buffer-size))) b e) (setq gnus-tmp-name ! (if gnus-tmp-name ! (concat " (" gnus-tmp-name ")") ! "")) (setq gnus-tmp-description ! (if gnus-tmp-description ! (concat " (" gnus-tmp-description ")") ! "")) (setq b (point)) (gnus-eval-format gnus-mime-button-line-format gnus-mime-button-line-format-alist --- 2206,2235 ---- (interactive) (let* ((data (get-text-property (point) 'gnus-data)) (contents (mm-get-part data)) + (url-standalone-mode (not gnus-plugged)) (b (point)) buffer-read-only) ! (if (mm-handle-undisplayer data) ! (mm-remove-part data) ! (forward-line 2) ! (mm-insert-inline data contents) ! (goto-char b)))) (defun gnus-insert-mime-button (handle) (let ((gnus-tmp-name (mail-content-type-get (mm-handle-type handle) 'name)) (gnus-tmp-type (car (mm-handle-type handle))) (gnus-tmp-description (mm-handle-description handle)) ! (gnus-tmp-length (with-temp-buffer (mm-handle-buffer handle) ! (buffer-size))) b e) (setq gnus-tmp-name ! (if gnus-tmp-name ! (concat " (" gnus-tmp-name ")") ! "")) (setq gnus-tmp-description ! (if gnus-tmp-description ! (concat " (" gnus-tmp-description ")") ! "")) (setq b (point)) (gnus-eval-format gnus-mime-button-line-format gnus-mime-button-line-format-alist *************** *** 2227,2237 **** gnus-callback mm-display-part gnus-data ,handle)) (setq e (point)) ! (widget-convert-button 'link b e :action 'gnus-widget-press-button))) (defun gnus-widget-press-button (elems el) (goto-char (widget-get elems :from)) ! (gnus-article-press-button)) (defun gnus-display-mime () "Insert MIME buttons in the buffer." --- 2238,2250 ---- gnus-callback mm-display-part gnus-data ,handle)) (setq e (point)) ! (widget-convert-button 'link b e :action 'gnus-widget-press-button ! :button-keymap gnus-widget-button-keymap))) (defun gnus-widget-press-button (elems el) (goto-char (widget-get elems :from)) ! (let ((url-standalone-mode (not gnus-plugged))) ! (gnus-article-press-button))) (defun gnus-display-mime () "Insert MIME buttons in the buffer." *************** *** 2239,2266 **** (save-restriction (mail-narrow-to-head) (when (setq ct (mail-fetch-field "content-type")) ! (setq ctl (mail-header-parse-content-type ct)))) ! (let* ((handles (mm-dissect-buffer)) ! handle name type b e) ! (mapcar 'mm-destroy-part gnus-article-mime-handles) ! (setq gnus-article-mime-handles handles) ! (when handles ! (goto-char (point-min)) ! (search-forward "\n\n" nil t) ! (delete-region (point) (point-max)) ! (if (not (equal (car ctl) "multipart/alternative")) ! (while (setq handle (pop handles)) ! (gnus-insert-mime-button handle) ! (insert "\n\n") ! (when (and (mm-automatic-display-p (car (mm-handle-type handle))) ! (or (not (mm-handle-disposition handle)) ! (equal (car (mm-handle-disposition handle)) ! "inline"))) ! (forward-line -2) ! (mm-display-part handle t) ! (goto-char (point-max)))) ! ;; Here we have multipart/alternative ! (gnus-mime-display-alternative handles)))))) (defun gnus-mime-display-alternative (handles &optional preferred) (let* ((preferred (mm-preferred-alternative handles preferred)) --- 2252,2281 ---- (save-restriction (mail-narrow-to-head) (when (setq ct (mail-fetch-field "content-type")) ! (setq ctl (condition-case () ! (mail-header-parse-content-type ct) (error nil))) ! (let* ((handles (mm-dissect-buffer)) ! handle name type b e) ! (mapcar 'mm-destroy-part gnus-article-mime-handles) ! (setq gnus-article-mime-handles handles) ! (when handles ! (goto-char (point-min)) ! (search-forward "\n\n" nil t) ! (delete-region (point) (point-max)) ! (if (not (equal (car ctl) "multipart/alternative")) ! (while (setq handle (pop handles)) ! (gnus-insert-mime-button handle) ! (insert "\n\n") ! (when (and (mm-automatic-display-p ! (car (mm-handle-type handle))) ! (or (not (mm-handle-disposition handle)) ! (equal (car (mm-handle-disposition handle)) ! "inline"))) ! (forward-line -2) ! (mm-display-part handle t) ! (goto-char (point-max)))) ! ;; Here we have multipart/alternative ! (gnus-mime-display-alternative handles)))))))) (defun gnus-mime-display-alternative (handles &optional preferred) (let* ((preferred (mm-preferred-alternative handles preferred)) *************** *** 2698,2704 **** (if (get-buffer gnus-original-article-buffer) (set-buffer gnus-original-article-buffer) (set-buffer (gnus-get-buffer-create gnus-original-article-buffer)) ! (buffer-disable-undo (current-buffer)) (setq major-mode 'gnus-original-article-mode) (setq buffer-read-only t)) (let (buffer-read-only) --- 2713,2719 ---- (if (get-buffer gnus-original-article-buffer) (set-buffer gnus-original-article-buffer) (set-buffer (gnus-get-buffer-create gnus-original-article-buffer)) ! (buffer-disable-undo) (setq major-mode 'gnus-original-article-mode) (setq buffer-read-only t)) (let (buffer-read-only) *************** *** 2707,2713 **** (setq gnus-original-article (cons group article))) ;; Decode charsets. ! (run-hooks 'gnus-article-decode-hook)) ;; Update sparse articles. (when (and do-update-line --- 2722,2730 ---- (setq gnus-original-article (cons group article))) ;; Decode charsets. ! (run-hooks 'gnus-article-decode-hook) ! ;; Mark article as decoded or not. ! (setq gnus-article-decoded-p gnus-article-decode-hook)) ;; Update sparse articles. (when (and do-update-line *************** *** 3164,3170 **** (list gnus-mouse-face-prop gnus-article-mouse-face)) (list 'gnus-callback fun) (and data (list 'gnus-data data)))) ! (widget-convert-button 'link from to :action 'gnus-widget-press-button)) ;;; Internal functions: --- 3181,3188 ---- (list gnus-mouse-face-prop gnus-article-mouse-face)) (list 'gnus-callback fun) (and data (list 'gnus-data data)))) ! (widget-convert-button 'link from to :action 'gnus-widget-press-button ! :button-keymap gnus-widget-button-keymap)) ;;; Internal functions: *** pub/pgnus/lisp/gnus-bcklg.el Sat Aug 29 19:53:56 1998 --- pgnus/lisp/gnus-bcklg.el Thu Sep 24 02:33:03 1998 *************** *** 42,48 **** (or (get-buffer gnus-backlog-buffer) (save-excursion (set-buffer (gnus-get-buffer-create gnus-backlog-buffer)) ! (buffer-disable-undo (current-buffer)) (setq buffer-read-only t) (get-buffer gnus-backlog-buffer)))) --- 42,48 ---- (or (get-buffer gnus-backlog-buffer) (save-excursion (set-buffer (gnus-get-buffer-create gnus-backlog-buffer)) ! (buffer-disable-undo) (setq buffer-read-only t) (get-buffer gnus-backlog-buffer)))) *** pub/pgnus/lisp/gnus-ems.el Mon Aug 31 12:43:19 1998 --- pgnus/lisp/gnus-ems.el Thu Sep 24 02:33:03 1998 *************** *** 34,39 **** --- 34,40 ---- (defvar gnus-mouse-2 [mouse-2]) (defvar gnus-down-mouse-2 [down-mouse-2]) + (defvar gnus-widget-button-keymap nil) (defvar gnus-mode-line-modified (if (or gnus-xemacs (< emacs-major-version 20)) *** pub/pgnus/lisp/gnus-group.el Sun Sep 6 21:34:43 1998 --- pgnus/lisp/gnus-group.el Thu Sep 24 02:33:03 1998 *************** *** 764,770 **** (gnus-group-set-mode-line) (setq mode-line-process nil) (use-local-map gnus-group-mode-map) ! (buffer-disable-undo (current-buffer)) (setq truncate-lines t) (setq buffer-read-only t) (gnus-set-default-directory) --- 764,770 ---- (gnus-group-set-mode-line) (setq mode-line-process nil) (use-local-map gnus-group-mode-map) ! (buffer-disable-undo) (setq truncate-lines t) (setq buffer-read-only t) (gnus-set-default-directory) *************** *** 3064,3070 **** ;; Print out all the groups. (save-excursion (pop-to-buffer "*Gnus Help*") ! (buffer-disable-undo (current-buffer)) (erase-buffer) (setq groups (sort groups 'string<)) (while groups --- 3064,3070 ---- ;; Print out all the groups. (save-excursion (pop-to-buffer "*Gnus Help*") ! (buffer-disable-undo) (erase-buffer) (setq groups (sort groups 'string<)) (while groups *** pub/pgnus/lisp/gnus-int.el Mon Sep 14 18:55:35 1998 --- pgnus/lisp/gnus-int.el Thu Sep 24 02:33:03 1998 *************** *** 447,457 **** (cadr gnus-command-method) last))) ! (defun gnus-request-replace-article (article group buffer) ! (save-restriction ! (message-narrow-to-head) ! (mail-encode-encoded-word-buffer)) ! (message-encode-message-body) (let ((func (car (gnus-group-name-to-method group)))) (funcall (intern (format "%s-request-replace-article" func)) article (gnus-group-real-name group) buffer))) --- 447,458 ---- (cadr gnus-command-method) last))) ! (defun gnus-request-replace-article (article group buffer &optional no-encode) ! (unless no-encode ! (save-restriction ! (message-narrow-to-head) ! (mail-encode-encoded-word-buffer)) ! (message-encode-message-body)) (let ((func (car (gnus-group-name-to-method group)))) (funcall (intern (format "%s-request-replace-article" func)) article (gnus-group-real-name group) buffer))) *** pub/pgnus/lisp/gnus-kill.el Sat Sep 5 01:46:10 1998 --- pgnus/lisp/gnus-kill.el Thu Sep 24 02:33:04 1998 *************** *** 429,435 **** (defun gnus-score-insert-help (string alist idx) (save-excursion (pop-to-buffer "*Score Help*") ! (buffer-disable-undo (current-buffer)) (erase-buffer) (insert string ":\n\n") (while alist --- 429,435 ---- (defun gnus-score-insert-help (string alist idx) (save-excursion (pop-to-buffer "*Score Help*") ! (buffer-disable-undo) (erase-buffer) (insert string ":\n\n") (while alist *************** *** 566,572 **** (concat "\n" (gnus-prin1-to-string object)) (save-excursion (set-buffer (gnus-get-buffer-create "*Gnus PP*")) ! (buffer-disable-undo (current-buffer)) (erase-buffer) (insert (format "\n(%S %S\n '(" (nth 0 object) (nth 1 object))) (let ((klist (cadr (nth 2 object))) --- 566,572 ---- (concat "\n" (gnus-prin1-to-string object)) (save-excursion (set-buffer (gnus-get-buffer-create "*Gnus PP*")) ! (buffer-disable-undo) (erase-buffer) (insert (format "\n(%S %S\n '(" (nth 0 object) (nth 1 object))) (let ((klist (cadr (nth 2 object))) *************** *** 702,708 **** (and (car entry) (or (eq (car entry) t) (not (zerop (car entry)))))) ! (gnus-summary-read-group group nil t nil t) (when (eq (current-buffer) (get-buffer gnus-summary-buffer)) (gnus-summary-exit)))) ;; Exit Emacs. --- 702,710 ---- (and (car entry) (or (eq (car entry) t) (not (zerop (car entry)))))) ! (condition-case () ! (gnus-summary-read-group group nil t nil t) ! (error nil)) (when (eq (current-buffer) (get-buffer gnus-summary-buffer)) (gnus-summary-exit)))) ;; Exit Emacs. *** pub/pgnus/lisp/gnus-salt.el Mon Sep 14 18:55:36 1998 --- pgnus/lisp/gnus-salt.el Thu Sep 24 02:33:04 1998 *************** *** 131,137 **** (set-buffer gnus-summary-buffer) gnus-pick-mode)) (message-add-action ! '(gnus-configure-windows 'pick t) 'send 'exit 'postpone 'kill))) (defvar gnus-pick-line-number 1) (defun gnus-pick-line-number () --- 131,138 ---- (set-buffer gnus-summary-buffer) gnus-pick-mode)) (message-add-action ! '(gnus-configure-windows ,gnus-current-window-configuration t) ! 'send 'exit 'postpone 'kill))) (defvar gnus-pick-line-number 1) (defun gnus-pick-line-number () *************** *** 468,474 **** (setq mode-name "Tree") (setq major-mode 'gnus-tree-mode) (use-local-map gnus-tree-mode-map) ! (buffer-disable-undo (current-buffer)) (setq buffer-read-only t) (setq truncate-lines t) (save-excursion --- 469,475 ---- (setq mode-name "Tree") (setq major-mode 'gnus-tree-mode) (use-local-map gnus-tree-mode-map) ! (buffer-disable-undo) (setq buffer-read-only t) (setq truncate-lines t) (save-excursion *************** *** 969,975 **** (setq mode-name "Gnus Carpal") (setq mode-line-process nil) (use-local-map gnus-carpal-mode-map) ! (buffer-disable-undo (current-buffer)) (setq buffer-read-only t) (make-local-variable 'gnus-carpal-attached-buffer) (gnus-run-hooks 'gnus-carpal-mode-hook)) --- 970,976 ---- (setq mode-name "Gnus Carpal") (setq mode-line-process nil) (use-local-map gnus-carpal-mode-map) ! (buffer-disable-undo) (setq buffer-read-only t) (make-local-variable 'gnus-carpal-attached-buffer) (gnus-run-hooks 'gnus-carpal-mode-hook)) *** pub/pgnus/lisp/gnus-score.el Sat Sep 12 13:27:49 1998 --- pgnus/lisp/gnus-score.el Thu Sep 24 02:33:04 1998 *************** *** 672,678 **** (setq gnus-score-help-winconf (current-window-configuration)) (save-excursion (set-buffer (gnus-get-buffer-create "*Score Help*")) ! (buffer-disable-undo (current-buffer)) (delete-windows-on (current-buffer)) (erase-buffer) (insert string ":\n\n") --- 672,678 ---- (setq gnus-score-help-winconf (current-window-configuration)) (save-excursion (set-buffer (gnus-get-buffer-create "*Score Help*")) ! (buffer-disable-undo) (delete-windows-on (current-buffer)) (erase-buffer) (insert string ":\n\n") *************** *** 1406,1412 **** (save-excursion (set-buffer (gnus-get-buffer-create "*Headers*")) ! (buffer-disable-undo (current-buffer)) (when (gnus-buffer-live-p gnus-summary-buffer) (message-clone-locals gnus-summary-buffer)) --- 1406,1412 ---- (save-excursion (set-buffer (gnus-get-buffer-create "*Headers*")) ! (buffer-disable-undo) (when (gnus-buffer-live-p gnus-summary-buffer) (message-clone-locals gnus-summary-buffer)) *************** *** 2507,2513 **** ofiles not-match regexp) (save-excursion (set-buffer (gnus-get-buffer-create "*gnus score files*")) ! (buffer-disable-undo (current-buffer)) ;; Go through all score file names and create regexp with them ;; as the source. (while sfiles --- 2507,2513 ---- ofiles not-match regexp) (save-excursion (set-buffer (gnus-get-buffer-create "*gnus score files*")) ! (buffer-disable-undo) ;; Go through all score file names and create regexp with them ;; as the source. (while sfiles *** pub/pgnus/lisp/gnus-soup.el Sat Aug 29 22:25:16 1998 --- pgnus/lisp/gnus-soup.el Thu Sep 24 02:33:04 1998 *************** *** 374,380 **** (when (file-exists-p file) (save-excursion (set-buffer (nnheader-find-file-noselect file 'force)) ! (buffer-disable-undo (current-buffer)) (goto-char (point-min)) (while (not (eobp)) (push (vector (gnus-soup-field) --- 374,380 ---- (when (file-exists-p file) (save-excursion (set-buffer (nnheader-find-file-noselect file 'force)) ! (buffer-disable-undo) (goto-char (point-min)) (while (not (eobp)) (push (vector (gnus-soup-field) *************** *** 397,403 **** (let (replies) (save-excursion (set-buffer (nnheader-find-file-noselect file)) ! (buffer-disable-undo (current-buffer)) (goto-char (point-min)) (while (not (eobp)) (push (vector (gnus-soup-field) (gnus-soup-field) --- 397,403 ---- (let (replies) (save-excursion (set-buffer (nnheader-find-file-noselect file)) ! (buffer-disable-undo) (goto-char (point-min)) (while (not (eobp)) (push (vector (gnus-soup-field) (gnus-soup-field) *** pub/pgnus/lisp/gnus-srvr.el Sun Sep 6 21:34:44 1998 --- pgnus/lisp/gnus-srvr.el Thu Sep 24 02:33:05 1998 *************** *** 161,167 **** (gnus-set-default-directory) (setq mode-line-process nil) (use-local-map gnus-server-mode-map) ! (buffer-disable-undo (current-buffer)) (setq truncate-lines t) (setq buffer-read-only t) (gnus-run-hooks 'gnus-server-mode-hook)) --- 161,167 ---- (gnus-set-default-directory) (setq mode-line-process nil) (use-local-map gnus-server-mode-map) ! (buffer-disable-undo) (setq truncate-lines t) (setq buffer-read-only t) (gnus-run-hooks 'gnus-server-mode-hook)) *************** *** 575,581 **** (when gnus-carpal (gnus-carpal-setup-buffer 'browse)) (gnus-configure-windows 'browse) ! (buffer-disable-undo (current-buffer)) (let ((buffer-read-only nil)) (erase-buffer)) (gnus-browse-mode) --- 575,581 ---- (when gnus-carpal (gnus-carpal-setup-buffer 'browse)) (gnus-configure-windows 'browse) ! (buffer-disable-undo) (let ((buffer-read-only nil)) (erase-buffer)) (gnus-browse-mode) *************** *** 636,642 **** (setq mode-name "Browse Server") (setq mode-line-process nil) (use-local-map gnus-browse-mode-map) ! (buffer-disable-undo (current-buffer)) (setq truncate-lines t) (gnus-set-default-directory) (setq buffer-read-only t) --- 636,642 ---- (setq mode-name "Browse Server") (setq mode-line-process nil) (use-local-map gnus-browse-mode-map) ! (buffer-disable-undo) (setq truncate-lines t) (gnus-set-default-directory) (setq buffer-read-only t) *** pub/pgnus/lisp/gnus-start.el Sun Sep 13 09:36:26 1998 --- pgnus/lisp/gnus-start.el Thu Sep 24 02:33:05 1998 *************** *** 785,791 **** (erase-buffer) (setq buffer-file-name dribble-file) (auto-save-mode t) ! (buffer-disable-undo (current-buffer)) (bury-buffer (current-buffer)) (set-buffer-modified-p nil) (let ((auto (make-auto-save-file-name)) --- 785,791 ---- (erase-buffer) (setq buffer-file-name dribble-file) (auto-save-mode t) ! (buffer-disable-undo) (bury-buffer (current-buffer)) (set-buffer-modified-p nil) (let ((auto (make-auto-save-file-name)) *************** *** 1877,1883 **** (save-excursion (gnus-message 5 "Reading %s..." newsrc-file) (set-buffer (nnheader-find-file-noselect newsrc-file)) ! (buffer-disable-undo (current-buffer)) (gnus-newsrc-to-gnus-format) (kill-buffer (current-buffer)) (gnus-message 5 "Reading %s...done" newsrc-file))) --- 1877,1883 ---- (save-excursion (gnus-message 5 "Reading %s..." newsrc-file) (set-buffer (nnheader-find-file-noselect newsrc-file)) ! (buffer-disable-undo) (gnus-newsrc-to-gnus-format) (kill-buffer (current-buffer)) (gnus-message 5 "Reading %s...done" newsrc-file))) *************** *** 2274,2280 **** (setq buffer-file-name (concat gnus-current-startup-file ".eld")) (setq default-directory (file-name-directory buffer-file-name)) ! (buffer-disable-undo (current-buffer)) (erase-buffer) (gnus-message 5 "Saving %s.eld..." gnus-current-startup-file) (gnus-gnus-to-quick-newsrc-format) --- 2274,2280 ---- (setq buffer-file-name (concat gnus-current-startup-file ".eld")) (setq default-directory (file-name-directory buffer-file-name)) ! (buffer-disable-undo) (erase-buffer) (gnus-message 5 "Saving %s.eld..." gnus-current-startup-file) (gnus-gnus-to-quick-newsrc-format) *************** *** 2338,2344 **** info ranges range method) (setq buffer-file-name gnus-current-startup-file) (setq default-directory (file-name-directory buffer-file-name)) ! (buffer-disable-undo (current-buffer)) (erase-buffer) ;; Write options. (when gnus-newsrc-options --- 2338,2344 ---- info ranges range method) (setq buffer-file-name gnus-current-startup-file) (setq default-directory (file-name-directory buffer-file-name)) ! (buffer-disable-undo) (erase-buffer) ;; Write options. (when gnus-newsrc-options *** pub/pgnus/lisp/gnus-sum.el Mon Sep 14 18:55:37 1998 --- pgnus/lisp/gnus-sum.el Thu Sep 24 02:33:06 1998 *************** *** 767,772 **** --- 767,773 ---- ;;; Internal variables (defvar gnus-article-mime-handles nil) + (defvar gnus-article-decoded-p nil) (defvar gnus-scores-exclude-files nil) (defvar gnus-page-broken nil) *************** *** 1878,1884 **** (setq mode-name "Summary") (make-local-variable 'minor-mode-alist) (use-local-map gnus-summary-mode-map) ! (buffer-disable-undo (current-buffer)) (setq buffer-read-only t) ;Disable modification (setq truncate-lines t) (setq selective-display t) --- 1879,1885 ---- (setq mode-name "Summary") (make-local-variable 'minor-mode-alist) (use-local-map gnus-summary-mode-map) ! (buffer-disable-undo) (setq buffer-read-only t) ;Disable modification (setq truncate-lines t) (setq selective-display t) *************** *** 3911,3916 **** --- 3912,3918 ---- ;; Init the dependencies hash table. (setq gnus-newsgroup-dependencies (gnus-make-hashtable (length articles))) + (gnus-set-global-variables) ;; Retrieve the headers and read them in. (gnus-message 5 "Fetching headers for %s..." gnus-newsgroup-name) (setq gnus-newsgroup-headers *************** *** 5103,5111 **** (setq group-point (point)) (if temporary nil ;Nothing to do. ! (save-excursion ! (set-buffer gnus-article-buffer) ! (mapcar 'mm-destroy-part gnus-article-mime-handles)) ;; If we have several article buffers, we kill them at exit. (unless gnus-single-article-buffer (gnus-kill-buffer gnus-article-buffer) --- 5105,5114 ---- (setq group-point (point)) (if temporary nil ;Nothing to do. ! (when (gnus-buffer-live-p gnus-article-buffer) ! (save-excursion ! (set-buffer gnus-article-buffer) ! (mapcar 'mm-destroy-part gnus-article-mime-handles))) ;; If we have several article buffers, we kill them at exit. (unless gnus-single-article-buffer (gnus-kill-buffer gnus-article-buffer) *************** *** 5150,5158 **** (gnus-y-or-n-p "Discard changes to this group and exit? ")) (gnus-async-halt-prefetch) (gnus-run-hooks 'gnus-summary-prepare-exit-hook) ! (save-excursion ! (set-buffer gnus-article-buffer) ! (mapcar 'mm-destroy-part gnus-article-mime-handles)) ;; If we have several article buffers, we kill them at exit. (unless gnus-single-article-buffer (gnus-kill-buffer gnus-article-buffer) --- 5153,5162 ---- (gnus-y-or-n-p "Discard changes to this group and exit? ")) (gnus-async-halt-prefetch) (gnus-run-hooks 'gnus-summary-prepare-exit-hook) ! (when (gnus-buffer-live-p gnus-article-buffer) ! (save-excursion ! (set-buffer gnus-article-buffer) ! (mapcar 'mm-destroy-part gnus-article-mime-handles))) ;; If we have several article buffers, we kill them at exit. (unless gnus-single-article-buffer (gnus-kill-buffer gnus-article-buffer) *************** *** 7330,7336 **** (if (and (not read-only) (not (gnus-request-replace-article (cdr gnus-article-current) (car gnus-article-current) ! (current-buffer)))) (error "Couldn't replace article") ;; Update the summary buffer. (if (and references --- 7334,7341 ---- (if (and (not read-only) (not (gnus-request-replace-article (cdr gnus-article-current) (car gnus-article-current) ! (current-buffer) ! (not gnus-article-decoded-p)))) (error "Couldn't replace article") ;; Update the summary buffer. (if (and references *************** *** 8681,8687 **** (lambda (f) (if (equal f " ") f ! (gnus-quote-arg-for-sh-or-csh f))) files " "))))) (setq ps (cdr ps))))) (if (and gnus-view-pseudos (not not-view)) --- 8686,8692 ---- (lambda (f) (if (equal f " ") f ! (mm-quote-arg f))) files " "))))) (setq ps (cdr ps))))) (if (and gnus-view-pseudos (not not-view)) *** pub/pgnus/lisp/gnus-util.el Fri Sep 11 12:31:16 1998 --- pgnus/lisp/gnus-util.el Thu Sep 24 02:33:06 1998 *************** *** 639,644 **** --- 639,699 ---- ;;; Functions for saving to babyl/mail files. + (defvar rmail-default-rmail-file) + (defun gnus-output-to-rmail (filename &optional ask) + "Append the current article to an Rmail file named FILENAME." + (require 'rmail) + ;; Most of these codes are borrowed from rmailout.el. + (setq filename (expand-file-name filename)) + (setq rmail-default-rmail-file filename) + (let ((artbuf (current-buffer)) + (tmpbuf (gnus-get-buffer-create " *Gnus-output*"))) + (save-excursion + (or (get-file-buffer filename) + (file-exists-p filename) + (if (or (not ask) + (gnus-yes-or-no-p + (concat "\"" filename "\" does not exist, create it? "))) + (let ((file-buffer (create-file-buffer filename))) + (save-excursion + (set-buffer file-buffer) + (rmail-insert-rmail-file-header) + (let ((require-final-newline nil)) + (gnus-write-buffer filename))) + (kill-buffer file-buffer)) + (error "Output file does not exist"))) + (set-buffer tmpbuf) + (erase-buffer) + (insert-buffer-substring artbuf) + (gnus-convert-article-to-rmail) + ;; Decide whether to append to a file or to an Emacs buffer. + (let ((outbuf (get-file-buffer filename))) + (if (not outbuf) + (append-to-file (point-min) (point-max) filename) + ;; File has been visited, in buffer OUTBUF. + (set-buffer outbuf) + (let ((buffer-read-only nil) + (msg (and (boundp 'rmail-current-message) + (symbol-value 'rmail-current-message)))) + ;; If MSG is non-nil, buffer is in RMAIL mode. + (when msg + (widen) + (narrow-to-region (point-max) (point-max))) + (insert-buffer-substring tmpbuf) + (when msg + (goto-char (point-min)) + (widen) + (search-backward "\n\^_") + (narrow-to-region (point) (point-max)) + (rmail-count-new-messages t) + (when (rmail-summary-exists) + (rmail-select-summary + (rmail-update-summary))) + (rmail-count-new-messages t) + (rmail-show-message msg)) + (save-buffer))))) + (kill-buffer tmpbuf))) + (defun gnus-output-to-mail (filename &optional ask) "Append the current article to a mail file named FILENAME." (setq filename (expand-file-name filename)) *** pub/pgnus/lisp/gnus-uu.el Fri Sep 11 08:08:33 1998 --- pgnus/lisp/gnus-uu.el Thu Sep 24 02:33:06 1998 *************** *** 1025,1031 **** ;; finally just replaces the next to last number with "[0-9]+". (save-excursion (set-buffer (gnus-get-buffer-create gnus-uu-output-buffer-name)) ! (buffer-disable-undo (current-buffer)) (erase-buffer) (insert (regexp-quote string)) --- 1025,1031 ---- ;; finally just replaces the next to last number with "[0-9]+". (save-excursion (set-buffer (gnus-get-buffer-create gnus-uu-output-buffer-name)) ! (buffer-disable-undo) (erase-buffer) (insert (regexp-quote string)) *************** *** 1125,1131 **** string) (save-excursion (set-buffer (gnus-get-buffer-create gnus-uu-output-buffer-name)) ! (buffer-disable-undo (current-buffer)) (while string-list (erase-buffer) (insert (caar string-list)) --- 1125,1131 ---- string) (save-excursion (set-buffer (gnus-get-buffer-create gnus-uu-output-buffer-name)) ! (buffer-disable-undo) (while string-list (erase-buffer) (insert (caar string-list)) *** pub/pgnus/lisp/gnus-xmas.el Fri Sep 11 08:08:33 1998 --- pgnus/lisp/gnus-xmas.el Thu Sep 24 02:33:06 1998 *************** *** 28,33 **** --- 28,34 ---- (require 'text-props) (defvar menu-bar-mode (featurep 'menubar)) (require 'messagexmas) + (require 'wid-edit) (defgroup gnus-xmas nil "XEmacsoid support for Gnus" *************** *** 400,405 **** --- 401,407 ---- (defun gnus-xmas-define () (setq gnus-mouse-2 [button2]) + (setq gnus-widget-button-keymap widget-button-keymap) (unless (memq 'underline (face-list)) (and (fboundp 'make-face) *** pub/pgnus/lisp/gnus.el Mon Sep 14 18:55:37 1998 --- pgnus/lisp/gnus.el Thu Sep 24 02:33:07 1998 *************** *** 250,256 **** :link '(custom-manual "(gnus)Exiting Gnus") :group 'gnus) ! (defconst gnus-version-number "0.31" "Version number for this version of Gnus.") (defconst gnus-version (format "Pterodactyl Gnus v%s" gnus-version-number) --- 250,256 ---- :link '(custom-manual "(gnus)Exiting Gnus") :group 'gnus) ! (defconst gnus-version-number "0.32" "Version number for this version of Gnus.") (defconst gnus-version (format "Pterodactyl Gnus v%s" gnus-version-number) *************** *** 1648,1655 **** gnus-uu-decode-unshar-and-save-view gnus-uu-decode-save-view gnus-uu-decode-binhex-view gnus-uu-unmark-thread gnus-uu-mark-over) ! ("gnus-uu" gnus-uu-delete-work-dir gnus-quote-arg-for-sh-or-csh ! gnus-uu-unmark-thread) ("gnus-msg" (gnus-summary-send-map keymap) gnus-article-mail gnus-copy-article-buffer gnus-extended-version) ("gnus-msg" :interactive t --- 1648,1654 ---- gnus-uu-decode-unshar-and-save-view gnus-uu-decode-save-view gnus-uu-decode-binhex-view gnus-uu-unmark-thread gnus-uu-mark-over) ! ("gnus-uu" gnus-uu-delete-work-dir gnus-uu-unmark-thread) ("gnus-msg" (gnus-summary-send-map keymap) gnus-article-mail gnus-copy-article-buffer gnus-extended-version) ("gnus-msg" :interactive t *** pub/pgnus/lisp/lpath.el Mon Sep 14 18:55:37 1998 --- pgnus/lisp/lpath.el Thu Sep 24 02:33:07 1998 *************** *** 36,42 **** mule-write-region-no-coding-system find-charset-region base64-decode-string find-coding-systems-region get-charset-property ! coding-system-get w3-region)) (maybe-bind '(global-face-data mark-active transient-mark-mode mouse-selection-click-count mouse-selection-click-count-buffer buffer-display-table --- 36,45 ---- mule-write-region-no-coding-system find-charset-region base64-decode-string find-coding-systems-region get-charset-property ! coding-system-get w3-region ! rmail-summary-exists rmail-select-summary ! rmail-update-summary ! )) (maybe-bind '(global-face-data mark-active transient-mark-mode mouse-selection-click-count mouse-selection-click-count-buffer buffer-display-table *************** *** 66,73 **** mm-copy-tree url-view-url w3-prepare-buffer mule-write-region-no-coding-system char-int annotationp delete-annotation make-image-specifier ! make-annotation base64-decode-string ! w3-do-setup w3-region))) (setq load-path (cons "." load-path)) (require 'custom) --- 69,78 ---- mm-copy-tree url-view-url w3-prepare-buffer mule-write-region-no-coding-system char-int annotationp delete-annotation make-image-specifier ! make-annotation base64-decode-string base64-encode-region ! w3-do-setup w3-region ! rmail-summary-exists rmail-select-summary rmail-update-summary ! ))) (setq load-path (cons "." load-path)) (require 'custom) *** pub/pgnus/lisp/mailcap.el Mon Sep 14 18:55:37 1998 --- pgnus/lisp/mailcap.el Thu Sep 24 02:33:07 1998 *************** *** 271,276 **** --- 271,277 ---- (expand-file-name fname mailcap-temporary-directory)))) (defun mailcap-save-binary-file () + (goto-char (point-min)) (let ((file (read-file-name "Filename to save as: " (or mailcap-download-directory "~/"))) *************** *** 299,305 **** (defun mailcap-parse-mailcaps (&optional path force) "Parse out all the mailcaps specified in a unix-style path string PATH. If FORCE, re-parse even if already parsed." ! (interactive) (when (or (not mailcap-parsed-p) force) (cond --- 300,306 ---- (defun mailcap-parse-mailcaps (&optional path force) "Parse out all the mailcaps specified in a unix-style path string PATH. If FORCE, re-parse even if already parsed." ! (interactive (list nil t)) (when (or (not mailcap-parsed-p) force) (cond *************** *** 631,637 **** (if (mailcap-viewer-passes-test (car viewers) info) (setq passed (cons (car viewers) passed))) (setq viewers (cdr viewers))) ! (setq passed (sort (nreverse passed) 'mailcap-viewer-lessp)) (setq viewer (car passed)))) (when (and (stringp (cdr (assq 'viewer viewer))) passed) --- 632,638 ---- (if (mailcap-viewer-passes-test (car viewers) info) (setq passed (cons (car viewers) passed))) (setq viewers (cdr viewers))) ! (setq passed (sort passed 'mailcap-viewer-lessp)) (setq viewer (car passed)))) (when (and (stringp (cdr (assq 'viewer viewer))) passed) *************** *** 820,835 **** (setq extn (concat "." extn))) (cdr (assoc (downcase extn) mailcap-mime-extensions))) (defun mailcap-command-p (command) ! "Say whether COMMAND is in the exec path." (let ((path (if (file-name-absolute-p command) '(nil) exec-path)) ! file) (catch 'found ! (while path ! (when (and (file-executable-p ! (setq file (expand-file-name command (pop path)))) ! (not (file-directory-p file))) ! (throw 'found file)))))) (provide 'mailcap) --- 821,846 ---- (setq extn (concat "." extn))) (cdr (assoc (downcase extn) mailcap-mime-extensions))) + (defvar mailcap-binary-suffixes + (if (memq system-type '(ms-dos windows-nt)) + '(".exe" ".com" ".bat" ".cmd" ".btm" "") + '(""))) + (defun mailcap-command-p (command) ! "Say whether COMMAND is in the exec path. ! The path of COMMAND will be returned iff COMMAND is a command." (let ((path (if (file-name-absolute-p command) '(nil) exec-path)) ! file dir) (catch 'found ! (while (setq dir (pop path)) ! (let ((suffixes mailcap-binary-suffixes)) ! (while suffixes ! (when (and (file-executable-p ! (setq file (expand-file-name ! (concat command (pop suffixes)) ! dir))) ! (not (file-directory-p file))) ! (throw 'found file)))))))) (provide 'mailcap) *** pub/pgnus/lisp/message.el Mon Sep 14 18:55:38 1998 --- pgnus/lisp/message.el Thu Sep 24 02:33:07 1998 *************** *** 2220,2226 **** (unwind-protect (save-excursion (set-buffer tembuf) ! (buffer-disable-undo (current-buffer)) (erase-buffer) ;; Avoid copying text props. (insert (format --- 2220,2226 ---- (unwind-protect (save-excursion (set-buffer tembuf) ! (buffer-disable-undo) (erase-buffer) ;; Avoid copying text props. (insert (format *************** *** 3964,3970 **** (message "No matching groups") (save-selected-window (pop-to-buffer "*Completions*") ! (buffer-disable-undo (current-buffer)) (let ((buffer-read-only nil)) (erase-buffer) (let ((standard-output (current-buffer))) --- 3964,3970 ---- (message "No matching groups") (save-selected-window (pop-to-buffer "*Completions*") ! (buffer-disable-undo) (let ((buffer-read-only nil)) (erase-buffer) (let ((standard-output (current-buffer))) *************** *** 4048,4074 **** (defun message-encode-message-body () "Examine the message body, encode it, and add the requisite headers." (when (featurep 'mule) ! (save-excursion ! (save-restriction ! (message-narrow-to-headers-or-head) ! (message-remove-header ! "^Content-Transfer-Encoding:\\|^Content-Type:\\|^Mime-Version:" t) ! (goto-char (point-max)) ! (widen) ! (narrow-to-region (point) (point-max)) ! (let* ((charset (mm-encode-body)) ! (encoding (mm-body-encoding))) ! (when (consp charset) ! (error "Can't encode messages with multiple charsets (yet)")) ! (widen) (message-narrow-to-headers-or-head) (goto-char (point-max)) ! (setq charset (or charset (mm-mule-charset-to-mime-charset 'ascii))) ! ;; We don't insert MIME headers if they only say the default. ! (unless (and (eq charset 'us-ascii) ! (eq encoding '7bit)) ! (mm-insert-rfc822-headers charset encoding)) ! (mm-encode-body)))))) (run-hooks 'message-load-hook) --- 4048,4078 ---- (defun message-encode-message-body () "Examine the message body, encode it, and add the requisite headers." (when (featurep 'mule) ! (let (old-headers) ! (save-excursion ! (save-restriction (message-narrow-to-headers-or-head) + (unless (setq old-headers (message-fetch-field "mime-version")) + (message-remove-header + "^Content-Transfer-Encoding:\\|^Content-Type:\\|^Mime-Version:" t)) (goto-char (point-max)) ! (widen) ! (narrow-to-region (point) (point-max)) ! (let* ((charset (mm-encode-body)) ! (encoding (mm-body-encoding))) ! (when (consp charset) ! (error "Can't encode messages with multiple charsets (yet)")) ! (widen) ! (message-narrow-to-headers-or-head) ! (goto-char (point-max)) ! (setq charset (or charset ! (mm-mule-charset-to-mime-charset 'ascii))) ! ;; We don't insert MIME headers if they only say the default. ! (when (and (not old-headers) ! (not (and (eq charset 'us-ascii) ! (eq encoding '7bit)))) ! (mm-insert-rfc822-headers charset encoding)) ! (mm-encode-body))))))) (run-hooks 'message-load-hook) *** pub/pgnus/lisp/mm-bodies.el Mon Sep 14 18:55:38 1998 --- pgnus/lisp/mm-bodies.el Thu Sep 24 02:33:07 1998 *************** *** 25,31 **** ;;; Code: (eval-and-compile ! (or (fboundp 'base64-encode-region) (autoload 'base64-decode-region "base64" nil t))) (require 'mm-util) (require 'rfc2047) --- 25,31 ---- ;;; Code: (eval-and-compile ! (or (fboundp 'base64-decode-region) (autoload 'base64-decode-region "base64" nil t))) (require 'mm-util) (require 'rfc2047) *************** *** 120,128 **** (when (and charset (setq mule-charset (mm-charset-to-coding-system charset)) buffer-file-coding-system ! ;;(not (mm-coding-system-equal ! ;; buffer-file-coding-system mule-charset)) ! ) (mm-decode-coding-region (point-min) (point-max) mule-charset)))))) (provide 'mm-bodies) --- 120,127 ---- (when (and charset (setq mule-charset (mm-charset-to-coding-system charset)) buffer-file-coding-system ! (or (not (eq mule-charset 'ascii)) ! (setq mule-charset rfc2047-default-charset))) (mm-decode-coding-region (point-min) (point-max) mule-charset)))))) (provide 'mm-bodies) *** pub/pgnus/lisp/mm-decode.el Mon Sep 14 18:55:38 1998 --- pgnus/lisp/mm-decode.el Thu Sep 24 02:33:07 1998 *************** *** 192,207 **** (if (functionp method) (let ((cur (current-buffer))) (switch-to-buffer (generate-new-buffer "*mm*")) (insert-buffer-substring cur) (funcall method) (mm-handle-set-undisplayer handle (current-buffer))) ! (let* ((file (make-temp-name (expand-file-name "emm." mm-tmp-directory))) ! process) (write-region (point-min) (point-max) file nil 'nomesg nil 'no-conversion) (setq process ! (start-process "*display*" nil shell-file-name ! "-c" (format method file))) (mm-handle-set-undisplayer handle (cons file process)) (message "Displaying %s..." (format method file)))))) --- 192,228 ---- (if (functionp method) (let ((cur (current-buffer))) (switch-to-buffer (generate-new-buffer "*mm*")) + (buffer-disable-undo) + (mm-set-buffer-file-coding-system 'no-conversion) (insert-buffer-substring cur) (funcall method) (mm-handle-set-undisplayer handle (current-buffer))) ! (let* ((dir (make-temp-name (expand-file-name "emm." mm-tmp-directory))) ! (filename (mail-content-type-get ! (mm-handle-disposition handle) 'filename)) ! (needsterm (assoc "needsterm" ! (mailcap-mime-info ! (car (mm-handle-type handle)) t))) ! process file) ! ;; We create a private sub-directory where we store our files. ! (make-directory dir) ! (set-file-modes dir 448) ! (if filename ! (setq file (expand-file-name (or filename "mm.") dir)) ! (setq file (make-temp-name (expand-file-name "mm." dir)))) (write-region (point-min) (point-max) file nil 'nomesg nil 'no-conversion) (setq process ! (if needsterm ! (start-process "*display*" nil ! "xterm" ! "-e" (format method file)) ! (switch-to-buffer (generate-new-buffer "*mm*")) ! (buffer-disable-undo) ! (mm-set-buffer-file-coding-system 'no-conversion) ! (start-process "*display*" (current-buffer) ! shell-file-name ! "-c" (format method file)))) (mm-handle-set-undisplayer handle (cons file process)) (message "Displaying %s..." (format method file)))))) *************** *** 223,228 **** --- 244,252 ---- (delete-file (car object)) (error nil)) (condition-case () + (delete-directory (file-name-directory (car object))) + (error nil)) + (condition-case () (kill-process (cdr object)) (error nil))) ((bufferp object) *************** *** 305,310 **** --- 329,336 ---- (mm-decode-content-transfer-encoding (mm-handle-encoding handle)) (buffer-string))) + (defvar mm-default-directory nil) + (defun mm-save-part (handle) "Write HANDLE to a file." (let* ((name (mail-content-type-get (mm-handle-type handle) 'name)) *************** *** 316,322 **** (setq file (read-file-name "Save MIME part to: " (expand-file-name ! (or filename name "") default-directory))) (mm-with-unibyte-buffer (insert-buffer-substring (mm-handle-buffer handle)) (mm-decode-content-transfer-encoding (mm-handle-encoding handle)) --- 342,350 ---- (setq file (read-file-name "Save MIME part to: " (expand-file-name ! (or filename name "") ! (or mm-default-directory default-directory)))) ! (setq mm-default-directory (file-name-directory file)) (mm-with-unibyte-buffer (insert-buffer-substring (mm-handle-buffer handle)) (mm-decode-content-transfer-encoding (mm-handle-encoding handle)) *** pub/pgnus/lisp/mm-util.el Sun Sep 13 09:36:28 1998 --- pgnus/lisp/mm-util.el Thu Sep 24 02:33:08 1998 *************** *** 84,89 **** --- 84,90 ---- (device-type . ignore) (coding-system-equal . equal) (annotationp . ignore) + (set-buffer-file-coding-system . ignore) (make-char . (lambda (charset int) (int-to-char int))) *************** *** 96,103 **** (defvar mm-charset-coding-system-alist (let ((rest ! '((us-ascii . iso-8859-1) ! (gb2312 . cn-gb-2312) (iso-2022-jp-2 . iso-2022-7bit-ss2) (x-ctext . ctext))) (systems (mm-coding-system-list)) --- 97,103 ---- (defvar mm-charset-coding-system-alist (let ((rest ! '((gb2312 . cn-gb-2312) (iso-2022-jp-2 . iso-2022-7bit-ss2) (x-ctext . ctext))) (systems (mm-coding-system-list)) *************** *** 139,144 **** --- 139,147 ---- ((and (null (mm-coding-system-list)) (memq charset mm-known-charsets)) charset) + ;; ascii + ((eq charset 'us-ascii) + 'ascii) ;; Check to see whether we can handle this charset. ((memq charset (mm-coding-system-list)) charset) *** pub/pgnus/lisp/nnbabyl.el Sat Aug 29 19:54:01 1998 --- pgnus/lisp/nnbabyl.el Thu Sep 24 02:33:08 1998 *************** *** 574,580 **** (cons (cons (point-min) (point-max)) major-mode)) ! (buffer-disable-undo (current-buffer)) (widen) (setq buffer-read-only nil) (fundamental-mode) --- 574,580 ---- (cons (cons (point-min) (point-max)) major-mode)) ! (buffer-disable-undo) (widen) (setq buffer-read-only nil) (fundamental-mode) *** pub/pgnus/lisp/nndoc.el Mon Sep 14 18:55:38 1998 --- pgnus/lisp/nndoc.el Thu Sep 17 13:42:48 1998 *************** *** 290,295 **** --- 290,296 ---- (setq nndoc-dissection-alist nil) (save-excursion (set-buffer nndoc-current-buffer) + (mm-enable-multibyte) (erase-buffer) (if (stringp nndoc-address) (nnheader-insert-file-contents nndoc-address) *** pub/pgnus/lisp/nneething.el Sat Aug 29 22:25:18 1998 --- pgnus/lisp/nneething.el Thu Sep 24 02:33:08 1998 *************** *** 314,320 **** (save-excursion (set-buffer (get-buffer-create nneething-work-buffer)) (setq case-fold-search nil) ! (buffer-disable-undo (current-buffer)) (erase-buffer) (cond ((not (file-exists-p file)) --- 314,320 ---- (save-excursion (set-buffer (get-buffer-create nneething-work-buffer)) (setq case-fold-search nil) ! (buffer-disable-undo) (erase-buffer) (cond ((not (file-exists-p file)) *** pub/pgnus/lisp/nnfolder.el Sun Sep 13 09:36:29 1998 --- pgnus/lisp/nnfolder.el Thu Sep 24 02:33:08 1998 *************** *** 704,710 **** (minid (lsh -1 -1)) maxid start end newscantime buffer-read-only) ! (buffer-disable-undo (current-buffer)) (setq maxid (cdr active)) (goto-char (point-min)) --- 704,710 ---- (minid (lsh -1 -1)) maxid start end newscantime buffer-read-only) ! (buffer-disable-undo) (setq maxid (cdr active)) (goto-char (point-min)) *** pub/pgnus/lisp/nnheader.el Sun Sep 13 09:36:29 1998 --- pgnus/lisp/nnheader.el Thu Sep 24 02:33:08 1998 *************** *** 494,500 **** (defun nnheader-set-temp-buffer (name &optional noerase) "Set-buffer to an empty (possibly new) buffer called NAME with undo disabled." (set-buffer (get-buffer-create name)) ! (buffer-disable-undo (current-buffer)) (unless noerase (erase-buffer)) (current-buffer)) --- 494,500 ---- (defun nnheader-set-temp-buffer (name &optional noerase) "Set-buffer to an empty (possibly new) buffer called NAME with undo disabled." (set-buffer (get-buffer-create name)) ! (buffer-disable-undo) (unless noerase (erase-buffer)) (current-buffer)) *** pub/pgnus/lisp/nnmail.el Sun Sep 13 09:36:29 1998 --- pgnus/lisp/nnmail.el Thu Sep 24 02:33:08 1998 *************** *** 1507,1515 **** ;; Let the backend save the article (or not). (cond ((not duplication) - (nnmail-cache-insert message-id) (funcall func (setq group-art ! (nreverse (nnmail-article-group artnum-func))))) ((eq action 'delete) (setq group-art nil)) ((eq action 'warn) --- 1507,1515 ---- ;; Let the backend save the article (or not). (cond ((not duplication) (funcall func (setq group-art ! (nreverse (nnmail-article-group artnum-func)))) ! (nnmail-cache-insert message-id)) ((eq action 'delete) (setq group-art nil)) ((eq action 'warn) *** pub/pgnus/lisp/nnmbox.el Mon Sep 14 18:55:38 1998 --- pgnus/lisp/nnmbox.el Thu Sep 24 02:33:09 1998 *************** *** 166,171 **** --- 166,172 ---- (nnmbox-article-group-number))))))) (deffoo nnmbox-request-group (group &optional server dont-check) + (nnmbox-possibly-change-newsgroup nil server) (let ((active (cadr (assoc group nnmbox-group-alist)))) (cond ((or (null active) *************** *** 426,432 **** (set-buffer (setq nnmbox-mbox-buffer (nnheader-find-file-noselect nnmbox-mbox-file nil 'raw))) ! (buffer-disable-undo (current-buffer)))) (when (not nnmbox-group-alist) (nnmail-activate 'nnmbox)) (if newsgroup --- 427,434 ---- (set-buffer (setq nnmbox-mbox-buffer (nnheader-find-file-noselect nnmbox-mbox-file nil 'raw))) ! (mm-enable-multibyte) ! (buffer-disable-undo))) (when (not nnmbox-group-alist) (nnmail-activate 'nnmbox)) (if newsgroup *************** *** 514,520 **** (nnheader-find-file-noselect nnmbox-mbox-file nil 'raw))) (mm-enable-multibyte) ! (buffer-disable-undo (current-buffer)) ;; Go through the group alist and compare against ;; the mbox file. --- 516,522 ---- (nnheader-find-file-noselect nnmbox-mbox-file nil 'raw))) (mm-enable-multibyte) ! (buffer-disable-undo) ;; Go through the group alist and compare against ;; the mbox file. *** pub/pgnus/lisp/nnml.el Sun Sep 13 09:36:30 1998 --- pgnus/lisp/nnml.el Thu Sep 24 02:33:09 1998 *************** *** 771,777 **** (save-excursion ;; Init the nov buffer. (set-buffer nov-buffer) ! (buffer-disable-undo (current-buffer)) (erase-buffer) (set-buffer nntp-server-buffer) ;; Delete the old NOV file. --- 771,777 ---- (save-excursion ;; Init the nov buffer. (set-buffer nov-buffer) ! (buffer-disable-undo) (erase-buffer) (set-buffer nntp-server-buffer) ;; Delete the old NOV file. *** pub/pgnus/lisp/nnsoup.el Sun Sep 13 09:36:30 1998 --- pgnus/lisp/nnsoup.el Thu Sep 24 02:33:09 1998 *************** *** 530,536 **** (when (file-exists-p (concat nnsoup-directory file)) (save-excursion ; Load the file. (set-buffer (get-buffer-create buffer-name)) ! (buffer-disable-undo (current-buffer)) (push (cons nnsoup-current-group (current-buffer)) nnsoup-buffers) (nnheader-insert-file-contents (concat nnsoup-directory file)) (current-buffer)))))) --- 530,536 ---- (when (file-exists-p (concat nnsoup-directory file)) (save-excursion ; Load the file. (set-buffer (get-buffer-create buffer-name)) ! (buffer-disable-undo) (push (cons nnsoup-current-group (current-buffer)) nnsoup-buffers) (nnheader-insert-file-contents (concat nnsoup-directory file)) (current-buffer)))))) *** pub/pgnus/lisp/rfc2047.el Mon Sep 14 18:55:39 1998 --- pgnus/lisp/rfc2047.el Thu Sep 24 02:33:09 1998 *************** *** 59,65 **** (iso-8859-3 . Q) (iso-8859-4 . Q) (iso-8859-5 . B) ! (koi8-r . Q) (iso-8859-7 . Q) (iso-8859-8 . Q) (iso-8859-9 . Q) --- 59,65 ---- (iso-8859-3 . Q) (iso-8859-4 . Q) (iso-8859-5 . B) ! (koi8-r . B) (iso-8859-7 . Q) (iso-8859-8 . Q) (iso-8859-9 . Q) *************** *** 232,238 **** (goto-char (point-min)) (while (not (eobp)) (goto-char (min (point-max) (+ 64 (point)))) ! (search-backward "=" nil (- (point) 2)) (unless (eobp) (insert "\n"))))))) --- 232,238 ---- (goto-char (point-min)) (while (not (eobp)) (goto-char (min (point-max) (+ 64 (point)))) ! (search-backward "=" (- (point) 2) t) (unless (eobp) (insert "\n"))))))) *************** *** 304,309 **** --- 304,311 ---- If your Emacs implementation can't decode CHARSET, it returns nil." (let ((cs (mm-charset-to-coding-system charset))) (when cs + (when (eq cs 'ascii) + (setq cs rfc2047-default-charset)) (mm-decode-coding-string (cond ((equal "B" encoding) *** pub/pgnus/lisp/ChangeLog Mon Sep 14 18:55:34 1998 --- pgnus/lisp/ChangeLog Thu Sep 24 02:33:02 1998 *************** *** 1,3 **** --- 1,121 ---- + Thu Sep 24 02:29:57 1998 Lars Magne Ingebrigtsen + + * gnus.el: Pterodactyl Gnus v0.32 is released. + + 1998-09-24 00:27:11 Lars Magne Ingebrigtsen + + * gnus-kill.el (gnus-batch-score): Protect against errors. + + * gnus-art.el: Protect against broken headers. + + * mm-decode.el (mm-display-external): Respect needsterm. + (mm-display-external): Create buffer for external commands. + + 1998-09-23 22:04:05 Lars Magne Ingebrigtsen + + * mailcap.el (mailcap-mime-info): Return the proper viewer. + + * mm-decode.el (mm-display-external): Use file name. + + 1998-09-22 Markus Rost + + * gnus-util.el (gnus-output-to-rmail): adjust to + `rmail-output-to-rmail-file' + + 1998-09-23 20:07:00 Lars Magne Ingebrigtsen + + * gnus-util.el (gnus-output-to-rmail): Reinstated function. + + * gnus-sum.el (gnus-select-newsgroup): Set global variables before + headers. + + * gnus-art.el (article-decode-charset): Fold case. + + 1998-09-17 15:49:10 Simon Josefsson + + * mailcap.el (mailcap-save-binary-file): Goto point-min. + + 1998-09-23 19:48:52 Aaron M. Ucko + + * nnmail.el (nnmail-check-duplication): Enter into duplicate list + after being stored. + + Tue Sep 15 16:15:16 1998 Kurt Swanson + + * gnus-salt.el (gnus-pick-setup-message): Return from whence ye + come. + + 1998-09-23 19:42:03 Lars Magne Ingebrigtsen + + * gnus-xmas.el (wid-edit): Required. + + * gnus-ems.el (gnus-widget-button-keymap): New variable. + + Sun Sep 20 00:27:55 1998 ZHU Shenghuo + + * gnus-art.el (gnus-mime-inline-part): remove part if necessary + + 1998-09-23 19:30:52 Matt Armstrong + + * gnus-art.el (article-decode-charset): Narrow to the correct + region. + + * mm-bodies.el: Fix autoload. + + 1998-09-22 18:35:12 Lee Willis + + * gnus-art.el (gnus-mime-button-line-format): Doc fix. + + 1998-09-22 14:53:35 Lars Magne Ingebrigtsen + + * rfc2047.el (rfc2047-decode): Use rfc2047-default-charset. + + 1998-09-19 13:58:35 Lars Magne Ingebrigtsen + + * gnus-art.el (gnus-insert-mime-button): Specify keymap. + (gnus-article-add-button): Ditto. + + * gnus-sum.el (gnus-summary-insert-pseudos): Use mm. + + * gnus-art.el (gnus-article-prepare-display): Make article mode. + (gnus-article-prepare-display): Bind url-standalone-mode. + + * mm-decode.el (mm-remove-part): Also delete directory. + (mm-display-external): Create a private sub-dir. + + * mailcap.el (mailcap-binary-suffixes): New variable. + (mailcap-command-p): Use it. + + 1998-09-16 10:38:21 Lars Magne Ingebrigtsen + + * nnmbox.el (nnmbox-request-group): Change server. + (nnmbox-possibly-change-newsgroup): Enable multibyte. + + * message.el (message-encode-message-body): Don't stomp MIME + headers. + + * gnus-sum.el (gnus-summary-edit-article-done): Don't encode + unless useful. + (gnus-summary-exit): Check for a live article buffer. + (gnus-summary-exit-no-update): Ditto. + + * gnus-int.el (gnus-request-replace-article): Accept no-encode + param. + + * gnus-sum.el (gnus-article-decoded-p): New variable. + + * mm-decode.el (mm-display-external): Use no-conv. + + * rfc2047.el (rfc2047-q-encode-region): Bound properly. + (rfc2047-charset-encoding-alist): Use B encoding for koi8-r. + + * gnus-art.el (gnus-article-mode-map): Bind button2 to + mouse-click. + + 1998-09-15 14:38:02 Lars Magne Ingebrigtsen + + * gnus-agent.el (gnus-agent-expire): Protect against nil infos. + Mon Sep 14 18:55:38 1998 Lars Magne Ingebrigtsen * gnus.el: Pterodactyl Gnus v0.31 is released. *** pub/pgnus/texi/gnus.texi Mon Sep 14 18:55:40 1998 --- pgnus/texi/gnus.texi Thu Sep 24 02:33:11 1998 *************** *** 1,7 **** \input texinfo @c -*-texinfo-*- @setfilename gnus ! @settitle Pterodactyl Gnus 0.31 Manual @synindex fn cp @synindex vr cp @synindex pg cp --- 1,7 ---- \input texinfo @c -*-texinfo-*- @setfilename gnus ! @settitle Pterodactyl Gnus 0.32 Manual @synindex fn cp @synindex vr cp @synindex pg cp *************** *** 318,324 **** @tex @titlepage ! @title Pterodactyl Gnus 0.31 Manual @author by Lars Magne Ingebrigtsen @page --- 318,324 ---- @tex @titlepage ! @title Pterodactyl Gnus 0.32 Manual @author by Lars Magne Ingebrigtsen @page *************** *** 354,360 **** spool or your mbox file. All at the same time, if you want to push your luck. ! This manual corresponds to Pterodactyl Gnus 0.31. @end ifinfo --- 354,360 ---- spool or your mbox file. All at the same time, if you want to push your luck. ! This manual corresponds to Pterodactyl Gnus 0.32. @end ifinfo *************** *** 13100,13105 **** --- 13100,13111 ---- word scoring process will never bring down the score of an article to below this number. The default is @code{nil}. + @vindex gnus-adative-word-no-group-words + If @code{gnus-adative-word-no-group-words} is set to t, gnus won't + adaptively word score any of the words in the group name. Useful for + groups like comp.editors.emacs, where most of the subject lines contain + the word "emacs". + After using this scheme for a while, it might be nice to write a @code{gnus-psychoanalyze-user} command to go through the rules and see what words you like and what words you don't like. Or perhaps not. *************** *** 16125,16130 **** --- 16131,16137 ---- Sam Falkner, Nelson Jose dos Santos Ferreira, Sigbjorn Finne, + Paul Fisher, Decklin Foster, Gary D. Foster, Paul Franklin, *************** *** 16209,16214 **** --- 16216,16222 ---- Wolfgang Rupprecht, Jay Sachs, Dewey M. Sasser, + Conrad Sauerwald, Loren Schall, Dan Schmidt, Ralph Schleicher, *************** *** 18133,18138 **** --- 18141,18153 ---- @item The jingle is only played on the second invocation of Gnus. + + @item + gnus-ignored-mime-types to avoid seeing buttons for Vcards and the + like. + + @item + Boucing articles should do MIME. @item Solve the halting problem. *** pub/pgnus/texi/message.texi Mon Sep 14 18:55:40 1998 --- pgnus/texi/message.texi Thu Sep 24 02:33:11 1998 *************** *** 1,7 **** \input texinfo @c -*-texinfo-*- @setfilename message ! @settitle Pterodactyl Message 0.31 Manual @synindex fn cp @synindex vr cp @synindex pg cp --- 1,7 ---- \input texinfo @c -*-texinfo-*- @setfilename message ! @settitle Pterodactyl Message 0.32 Manual @synindex fn cp @synindex vr cp @synindex pg cp *************** *** 42,48 **** @tex @titlepage ! @title Pterodactyl Message 0.31 Manual @author by Lars Magne Ingebrigtsen @page --- 42,48 ---- @tex @titlepage ! @title Pterodactyl Message 0.32 Manual @author by Lars Magne Ingebrigtsen @page *************** *** 83,89 **** * Key Index:: List of Message mode keys. @end menu ! This manual corresponds to Pterodactyl Message 0.31. Message is distributed with the Gnus distribution bearing the same version number as this manual. --- 83,89 ---- * Key Index:: List of Message mode keys. @end menu ! This manual corresponds to Pterodactyl Message 0.32. Message is distributed with the Gnus distribution bearing the same version number as this manual.