*** pub/pgnus/lisp/gnus-art.el Wed Nov 18 02:20:15 1998 --- pgnus/lisp/gnus-art.el Thu Nov 19 04:44:21 1998 *************** *** 2477,2501 **** (ihandles handles) (point (point)) handle buffer-read-only from props begend not-pref) ! (when preferred ! (save-restriction ! (when ibegend ! (narrow-to-region (car ibegend) (cdr ibegend)) ! (delete-region (point-min) (point-max)) ! (mm-remove-parts handles)) ! (setq begend (list (point-marker))) ! ;; Do the toggle. ! (unless (setq not-pref (cadr (member preferred ihandles))) ! (setq not-pref (car ihandles))) (gnus-add-text-properties (setq from (point)) (progn ! (insert (format "%d. " id)) (point)) `(gnus-callback (lambda (handles) (gnus-mime-display-alternative ! ',ihandles ',not-pref ',begend ,id)) local-map ,gnus-mime-button-map ,gnus-mouse-face-prop ,gnus-article-mouse-face --- 2477,2525 ---- (ihandles handles) (point (point)) handle buffer-read-only from props begend not-pref) ! (save-restriction ! (when ibegend ! (narrow-to-region (car ibegend) (cdr ibegend)) ! (delete-region (point-min) (point-max)) ! (mm-remove-parts handles)) ! (setq begend (list (point-marker))) ! ;; Do the toggle. ! (unless (setq not-pref (cadr (member preferred ihandles))) ! (setq not-pref (car ihandles))) ! (gnus-add-text-properties ! (setq from (point)) ! (progn ! (insert (format "%d. " id)) ! (point)) ! `(gnus-callback ! (lambda (handles) ! (gnus-mime-display-alternative ! ',ihandles ',not-pref ! ',begend ,id)) ! local-map ,gnus-mime-button-map ! ,gnus-mouse-face-prop ,gnus-article-mouse-face ! face ,gnus-article-button-face ! keymap ,gnus-mime-button-map ! gnus-part ,id ! gnus-data ,handle)) ! (widget-convert-button 'link from (point) ! :action 'gnus-widget-press-button ! :button-keymap gnus-widget-button-keymap) ! ;; Do the handles ! (while (setq handle (pop handles)) (gnus-add-text-properties (setq from (point)) (progn ! (insert (format "[%c] %-18s" ! (if (equal handle preferred) ?* ? ) ! (if (stringp (car handle)) ! (car handle) ! (car (mm-handle-type handle))))) (point)) `(gnus-callback (lambda (handles) (gnus-mime-display-alternative ! ',ihandles ',handle ',begend ,id)) local-map ,gnus-mime-button-map ,gnus-mouse-face-prop ,gnus-article-mouse-face *************** *** 2506,2546 **** (widget-convert-button 'link from (point) :action 'gnus-widget-press-button :button-keymap gnus-widget-button-keymap) ! ;; Do the handles ! (while (setq handle (pop handles)) ! (gnus-add-text-properties ! (setq from (point)) ! (progn ! (insert (format "[%c] %-18s" ! (if (equal handle preferred) ?* ? ) ! (if (stringp (car handle)) ! (car handle) ! (car (mm-handle-type handle))))) ! (point)) ! `(gnus-callback ! (lambda (handles) ! (gnus-mime-display-alternative ! ',ihandles ',handle ! ',begend ,id)) ! local-map ,gnus-mime-button-map ! ,gnus-mouse-face-prop ,gnus-article-mouse-face ! face ,gnus-article-button-face ! keymap ,gnus-mime-button-map ! gnus-part ,id ! gnus-data ,handle)) ! (widget-convert-button 'link from (point) ! :action 'gnus-widget-press-button ! :button-keymap gnus-widget-button-keymap) ! (insert " ")) ! (insert "\n\n") ! (when preferred ! (if (stringp (car preferred)) ! (gnus-display-mime preferred) ! (mm-display-part preferred) ! (goto-char (point-max)) ! (setcdr begend (point-marker))))) ! (when ibegend ! (goto-char point))))) (defun gnus-article-wash-status () "Return a string which display status of article washing." --- 2530,2545 ---- (widget-convert-button 'link from (point) :action 'gnus-widget-press-button :button-keymap gnus-widget-button-keymap) ! (insert " ")) ! (insert "\n\n") ! (when preferred ! (if (stringp (car preferred)) ! (gnus-display-mime preferred) ! (mm-display-part preferred) ! (goto-char (point-max))) ! (setcdr begend (point-marker)))) ! (when ibegend ! (goto-char point)))) (defun gnus-article-wash-status () "Return a string which display status of article washing." *************** *** 3135,3141 **** :type 'regexp) (defcustom gnus-button-alist ! `(("<\\(url:[>\n\t ]*?\\)?news:[>\n\t ]*\\([^>\n\t ]*@[^)!;:,>\n\t ]*\\)>" 0 t gnus-button-message-id 2) ("\\bnews:\\([^>\n\t ]*@[^>)!;:,\n\t ]*\\)" 0 t gnus-button-message-id 1) ("\\(\\b<\\(url:[>\n\t ]*\\)?news:[>\n\t ]*\\(//\\)?\\([^>\n\t ]*\\)>\\)" --- 3134,3140 ---- :type 'regexp) (defcustom gnus-button-alist ! `(("<\\(url:[>\n\t ]*?\\)?news:[>\n\t ]*\\([^>\n\t ]*@[^>\n\t ]*\\)>" 0 t gnus-button-message-id 2) ("\\bnews:\\([^>\n\t ]*@[^>)!;:,\n\t ]*\\)" 0 t gnus-button-message-id 1) ("\\(\\b<\\(url:[>\n\t ]*\\)?news:[>\n\t ]*\\(//\\)?\\([^>\n\t ]*\\)>\\)" *** pub/pgnus/lisp/gnus-cache.el Sat Oct 24 20:35:25 1998 --- pgnus/lisp/gnus-cache.el Thu Nov 19 04:44:22 1998 *************** *** 77,82 **** --- 77,85 ---- (defvar gnus-cache-overview-coding-system 'raw-text "Coding system used on Gnus cache files.") + (defvar gnus-cache-coding-system 'binary + "Coding system used on Gnus cache files.") + ;;; Internal variables. *************** *** 255,261 **** (when (file-exists-p file) (erase-buffer) (gnus-kill-all-overlays) ! (insert-file-contents file) t))) (defun gnus-cache-possibly-alter-active (group active) --- 258,265 ---- (when (file-exists-p file) (erase-buffer) (gnus-kill-all-overlays) ! (let ((coding-system-for-read gnus-cache-coding-system)) ! (insert-file-contents file)) t))) (defun gnus-cache-possibly-alter-active (group active) *************** *** 644,650 **** ;; Go through all the other files. (while alphs (when (and (file-directory-p (car alphs)) ! (not (string-match "^\\.\\.?$" (file-name-nondirectory (car alphs))))) ;; We descend directories. (gnus-cache-generate-active (car alphs))) --- 648,654 ---- ;; Go through all the other files. (while alphs (when (and (file-directory-p (car alphs)) ! (not (string-match "^\\." (file-name-nondirectory (car alphs))))) ;; We descend directories. (gnus-cache-generate-active (car alphs))) *** pub/pgnus/lisp/gnus-cus.el Sat Nov 14 01:50:23 1998 --- pgnus/lisp/gnus-cus.el Thu Nov 19 04:44:22 1998 *************** *** 176,183 **** (defvar gnus-custom-group) (defvar gnus-custom-topic) ! (defun gnus-group-customize (group topic) ! "Edit the group or topicon the current line." (interactive (list (gnus-group-group-name) (gnus-group-topic-name))) (let (info (types (mapcar (lambda (entry) --- 176,183 ---- (defvar gnus-custom-group) (defvar gnus-custom-topic) ! (defun gnus-group-customize (group &optional topic) ! "Edit the group or topic on the current line." (interactive (list (gnus-group-group-name) (gnus-group-topic-name))) (let (info (types (mapcar (lambda (entry) *** pub/pgnus/lisp/gnus-group.el Sun Nov 8 01:04:31 1998 --- pgnus/lisp/gnus-group.el Thu Nov 19 04:44:22 1998 *************** *** 3068,3074 **** (mapatoms (lambda (group) (and (string-match regexp (symbol-value group)) - (gnus-active (symbol-name group)) (push (symbol-name group) groups))) gnus-description-hashtb)) (if (not groups) --- 3068,3073 ---- *** pub/pgnus/lisp/gnus-score.el Sat Nov 14 01:50:24 1998 --- pgnus/lisp/gnus-score.el Thu Nov 19 04:44:23 1998 *************** *** 2341,2351 **** 1 "No score rules apply to the current article (default score %d)." gnus-summary-default-score) (set-buffer "*Score Trace*") (while trace (insert (format "%S -> %s\n" (cdar trace) ! (if (caar trace) ! (file-name-nondirectory (caar trace)) ! "(non-file rule)"))) (setq trace (cdr trace))) (goto-char (point-min)) (gnus-configure-windows 'score-trace))) --- 2341,2350 ---- 1 "No score rules apply to the current article (default score %d)." gnus-summary-default-score) (set-buffer "*Score Trace*") + (setq truncate-lines t) (while trace (insert (format "%S -> %s\n" (cdar trace) ! (or (caar trace) "(non-file rule)"))) (setq trace (cdr trace))) (goto-char (point-min)) (gnus-configure-windows 'score-trace))) *** pub/pgnus/lisp/gnus-sum.el Wed Nov 18 05:02:45 1998 --- pgnus/lisp/gnus-sum.el Thu Nov 19 04:44:23 1998 *************** *** 1287,1292 **** --- 1287,1293 ---- "\C-d" gnus-summary-enter-digest-group "\M-\C-d" gnus-summary-read-document "\M-\C-e" gnus-summary-edit-parameters + "\M-\C-g" gnus-summary-customize-parameters "\C-c\C-b" gnus-bug "*" gnus-cache-enter-article "\M-*" gnus-cache-remove-article *************** *** 1806,1811 **** --- 1807,1813 ---- ["Edit local kill file" gnus-summary-edit-local-kill t] ["Edit main kill file" gnus-summary-edit-global-kill t] ["Edit group parameters" gnus-summary-edit-parameters t] + ["Customize group parameters" gnus-summary-customize-parameters t] ["Send a bug report" gnus-bug t] ("Exit" ["Catchup and exit" gnus-summary-catchup-and-exit t] *************** *** 6601,6606 **** --- 6603,6613 ---- "Edit the group parameters of the current group." (interactive) (gnus-group-edit-group gnus-newsgroup-name 'params)) + + (defun gnus-summary-customize-parameters () + "Customize the group parameters of the current group." + (interactive) + (gnus-group-customize gnus-newsgroup-name)) (defun gnus-summary-enter-digest-group (&optional force) "Enter an nndoc group based on the current article. *** pub/pgnus/lisp/gnus.el Wed Nov 18 05:02:46 1998 --- pgnus/lisp/gnus.el Thu Nov 19 04:44:24 1998 *************** *** 254,260 **** :link '(custom-manual "(gnus)Exiting Gnus") :group 'gnus) ! (defconst gnus-version-number "0.50" "Version number for this version of Gnus.") (defconst gnus-version (format "Pterodactyl Gnus v%s" gnus-version-number) --- 254,260 ---- :link '(custom-manual "(gnus)Exiting Gnus") :group 'gnus) ! (defconst gnus-version-number "0.51" "Version number for this version of Gnus.") (defconst gnus-version (format "Pterodactyl Gnus v%s" gnus-version-number) *************** *** 935,940 **** --- 935,941 ---- \"nnml+private:mail.misc\", for instance." :group 'gnus-message :type '(choice (const :tag "none" nil) + function sexp string)) *************** *** 1648,1654 **** ("nnvirtual" nnvirtual-catchup-group nnvirtual-convert-headers) ("rmailout" rmail-output rmail-output-to-rmail-file) ("rmail" rmail-insert-rmail-file-header rmail-count-new-messages ! rmail-show-message) ("gnus-audio" :interactive t gnus-audio-play) ("gnus-xmas" gnus-xmas-splash) ("gnus-soup" :interactive t --- 1649,1656 ---- ("nnvirtual" nnvirtual-catchup-group nnvirtual-convert-headers) ("rmailout" rmail-output rmail-output-to-rmail-file) ("rmail" rmail-insert-rmail-file-header rmail-count-new-messages ! rmail-show-message rmail-summary-exists ! rmail-select-summary rmail-update-summary) ("gnus-audio" :interactive t gnus-audio-play) ("gnus-xmas" gnus-xmas-splash) ("gnus-soup" :interactive t *** pub/pgnus/lisp/message.el Wed Nov 18 02:20:17 1998 --- pgnus/lisp/message.el Thu Nov 19 04:44:24 1998 *************** *** 4110,4142 **** (list file (completing-read (format "MIME type for %s: " file) ! (mapcar (lambda (m) (list (cdr m))) mailcap-mime-extensions) nil nil type)))) (insert (format "<#part type=%s filename=\"%s\"><#/part>\n" type file))) (defun message-encode-message-body () ! (message-goto-body) ! (save-restriction ! (narrow-to-region (point) (point-max)) ! (let ((new (mml-generate-mime))) ! (delete-region (point-min) (point-max)) ! (insert new) ! (goto-char (point-min)) ! (widen) ! (forward-line -1) ! (let ((beg (point)) ! (line (buffer-substring (point) (progn (forward-line 1) (point))))) ! (delete-region beg (point)) ! (insert "Mime-Version: 1.0\n") ! (search-forward "\n\n") ! (forward-char -1) ! (insert line) ! (when (save-excursion ! (re-search-backward "^Content-Type: multipart/" nil t)) ! (insert "This is a MIME multipart message. If you are reading\n") ! (insert "this, you shouldn't.\n")))))) ! (run-hooks 'message-load-hook) (provide 'message) --- 4110,4149 ---- (list file (completing-read (format "MIME type for %s: " file) ! (delete-duplicates ! (mapcar (lambda (m) (list (cdr m))) mailcap-mime-extensions)) nil nil type)))) (insert (format "<#part type=%s filename=\"%s\"><#/part>\n" type file))) (defun message-encode-message-body () ! (let (lines multipart-p) ! (message-goto-body) ! (save-restriction ! (narrow-to-region (point) (point-max)) ! (let ((new (mml-generate-mime))) ! (delete-region (point-min) (point-max)) ! (insert new) ! (goto-char (point-min)) ! (if (eq (aref new 0) ?\n) ! (delete-char 1) ! (search-forward "\n\n") ! (setq lines (buffer-substring (point-min) (1- (point)))) ! (delete-region (point-min) (point))))) ! (save-restriction ! (message-narrow-to-headers-or-head) ! (message-remove-header "Mime-Version") ! (goto-char (point-max)) ! (insert "Mime-Version: 1.0\n") ! (when lines ! (insert lines)) ! (setq multipart-p ! (re-search-backward "^Content-Type: multipart/" nil t))) ! (when multipart-p ! (message-goto-body) ! (insert "This is a MIME multipart message. If you are reading\n") ! (insert "this, you shouldn't.\n")))) ! (run-hooks 'message-load-hook) (provide 'message) *** pub/pgnus/lisp/mml.el Wed Nov 18 05:02:46 1998 --- pgnus/lisp/mml.el Thu Nov 19 04:44:25 1998 *************** *** 23,28 **** --- 23,32 ---- ;;; Code: + (require 'mm-util) + (require 'mm-bodies) + (require 'mm-encode) + (defvar mml-syntax-table (let ((table (copy-syntax-table emacs-lisp-mode-syntax-table))) (modify-syntax-entry ?\\ "/" table) *************** *** 50,56 **** "Parse the current buffer as an MML document." (let (struct) (while (and (not (eobp)) ! (not (looking-at " mml-multipart-number 17) ! (format "%x" mml-multipart-number) ! "") ! mml-base-boundary)) ! ! (defun mml-make-string (num string) ! (let ((out "")) ! (while (not (zerop (decf num))) ! (setq out (concat out string))) ! out)) (provide 'mml) *** pub/pgnus/lisp/nntp.el Sun Nov 8 23:18:02 1998 --- pgnus/lisp/nntp.el Thu Nov 19 04:44:25 1998 *************** *** 653,659 **** (deffoo nntp-request-group (group &optional server dont-check) (nntp-possibly-change-group nil server) ! (when (nntp-send-command "^21.*\n" "GROUP" group) (let ((entry (nntp-find-connection-entry nntp-server-buffer))) (setcar (cddr entry) group)))) --- 653,659 ---- (deffoo nntp-request-group (group &optional server dont-check) (nntp-possibly-change-group nil server) ! (when (nntp-send-command "^[245].*\n" "GROUP" group) (let ((entry (nntp-find-connection-entry nntp-server-buffer))) (setcar (cddr entry) group)))) *************** *** 980,986 **** (set-buffer (process-buffer (car entry))) (erase-buffer) (nntp-send-string (car entry) (concat "GROUP " group)) ! (nntp-wait-for-string "^2.*\n") (setcar (cddr entry) group) (erase-buffer)))))) --- 980,988 ---- (set-buffer (process-buffer (car entry))) (erase-buffer) (nntp-send-string (car entry) (concat "GROUP " group)) ! ;; allow for unexpected responses, since this can be called ! ;; from a timer with quit inhibited ! (nntp-wait-for-string "^[245].*\n") (setcar (cddr entry) group) (erase-buffer)))))) *** pub/pgnus/lisp/ChangeLog Wed Nov 18 05:02:45 1998 --- pgnus/lisp/ChangeLog Thu Nov 19 04:44:21 1998 *************** *** 1,3 **** --- 1,44 ---- + Thu Nov 19 04:48:42 1998 Lars Magne Ingebrigtsen + + * gnus.el: Pterodactyl Gnus v0.51 is released. + + 1998-11-19 04:02:34 Lars Magne Ingebrigtsen + + * gnus.el: Applied patches from 5.6.45. + + * gnus-score.el (gnus-score-find-trace): Print complete file + paths. + (gnus-score-find-trace): Truncate lines. + + * gnus.el (gnus-message-archive-group): Allow function. + + * message.el (message-encode-message-body): Remove Mime-Version + before inserting. + + * gnus-cus.el (gnus-group-customize): Optional topic. + + * gnus-sum.el (gnus-summary-customize-parameters): New command and + keystroke. + + Wed Nov 18 13:46:08 1998 Shenghuo ZHU + + * message.el (message-encode-message-body): Rewrite. + + 1998-11-18 07:37:47 Lars Magne Ingebrigtsen + + * mml.el (mml-base-boundary): New variable. + (mml-make-boundary): New function. + + * gnus-cache.el (gnus-cache-coding-system): New variable. + (gnus-cache-request-article): Use it. + + * message.el (message-insert-mime-part): Delete duplicates. + + Wed Nov 18 11:52:19 1998 Shenghuo ZHU + + * gnus-art.el (gnus-mime-display-alternative): Set end of + multipart and display even when nothing is preferred. + Wed Nov 18 05:06:44 1998 Lars Magne Ingebrigtsen * gnus.el: Pterodactyl Gnus v0.50 is released. *** pub/pgnus/texi/gnus.texi Wed Nov 18 05:02:48 1998 --- pgnus/texi/gnus.texi Thu Nov 19 04:44:27 1998 *************** *** 1,7 **** \input texinfo @c -*-texinfo-*- @setfilename gnus ! @settitle Pterodactyl Gnus 0.50 Manual @synindex fn cp @synindex vr cp @synindex pg cp --- 1,7 ---- \input texinfo @c -*-texinfo-*- @setfilename gnus ! @settitle Pterodactyl Gnus 0.51 Manual @synindex fn cp @synindex vr cp @synindex pg cp *************** *** 318,324 **** @tex @titlepage ! @title Pterodactyl Gnus 0.50 Manual @author by Lars Magne Ingebrigtsen @page --- 318,324 ---- @tex @titlepage ! @title Pterodactyl Gnus 0.51 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.50. @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.51. @end ifinfo *************** *** 7682,7687 **** --- 7682,7693 ---- @findex gnus-summary-edit-parameters Edit the group parameters (@pxref{Group Parameters}) of the current group (@code{gnus-summary-edit-parameters}). + + @item M-C-g + @kindex M-C-g (Summary) + @findex gnus-summary-customize-parameters + Customize the group parameters (@pxref{Group Parameters}) of the current + group (@code{gnus-summary-customize-parameters}). @end table *** pub/pgnus/texi/message.texi Wed Nov 18 05:02:48 1998 --- pgnus/texi/message.texi Thu Nov 19 04:44:27 1998 *************** *** 1,7 **** \input texinfo @c -*-texinfo-*- @setfilename message ! @settitle Pterodactyl Message 0.50 Manual @synindex fn cp @synindex vr cp @synindex pg cp --- 1,7 ---- \input texinfo @c -*-texinfo-*- @setfilename message ! @settitle Pterodactyl Message 0.51 Manual @synindex fn cp @synindex vr cp @synindex pg cp *************** *** 42,48 **** @tex @titlepage ! @title Pterodactyl Message 0.50 Manual @author by Lars Magne Ingebrigtsen @page --- 42,48 ---- @tex @titlepage ! @title Pterodactyl Message 0.51 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.50. 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.51. Message is distributed with the Gnus distribution bearing the same version number as this manual. *** pub/pgnus/texi/ChangeLog Wed Nov 18 05:02:49 1998 --- pgnus/texi/ChangeLog Thu Nov 19 04:44:27 1998 *************** *** 1,3 **** --- 1,7 ---- + 1998-11-19 04:05:15 Lars Magne Ingebrigtsen + + * gnus.texi (Really Various Summary Commands): Addition. + 1998-11-18 00:52:46 Lars Magne Ingebrigtsen * gnus.texi (MIME Commands): Addition.