T-gnus 6.15.19 (quimby) revision 00. t-gnus-6_15_19-00-quimby
authoryamaoka <yamaoka>
Sun, 13 Apr 2003 13:26:55 +0000 (13:26 +0000)
committeryamaoka <yamaoka>
Sun, 13 Apr 2003 13:26:55 +0000 (13:26 +0000)
24 files changed:
ChangeLog
README.T-gnus
README.semi
README.semi.ja
lisp/ChangeLog
lisp/gnus-agent.el
lisp/gnus-art.el
lisp/gnus-cus.el
lisp/gnus-draft.el
lisp/gnus-msg.el
lisp/gnus-sum.el
lisp/gnus-vers.el
lisp/lpath.el
lisp/mail-source.el
lisp/message.el
lisp/mm-bodies.el
lisp/mml.el
lisp/nnimap.el
texi/ChangeLog
texi/emacs-mime.texi
texi/gnus-ja.texi
texi/gnus.texi
texi/message-ja.texi
texi/message.texi

index 03d7585..61b1e62 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2003-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * lisp/gnus-vers.el: T-gnus 6.15.19 (quimby) revision 00.
+
+2003-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * lisp/gnus-vers.el: T-gnus 6.15.18 revision 00.
+
+       * lisp/message.el (message-forward-subject-name-subject): Rewrite.
+
+       * lisp/mail-source.el (mail-source-fetch-pop): Require `pop3'
+       explicitly.
+       (mail-source-check-pop): Ditto.
+
 2003-04-07  Katsumi Yamaoka  <yamaoka@jpl.org>
 
        * lisp/nnmail.el (nnmail-split-it): Revoke the change of 1999-08-19.
index 2ef7e1c..a4cda91 100644 (file)
@@ -33,5 +33,5 @@ NEWS:
 
 * T-gnus 6.15 - this is based on Oort Gnus.
 
-  The latest T-gnus is T-gnus 6.15.18 (based on Oort Gnus 0.18).  It
+  The latest T-gnus is T-gnus 6.15.19 (based on Oort Gnus 0.19).  It
   requires SEMI 1.14, FLIM 1.14, and APEL 10.0 or later.
index d2442d6..c3a19e6 100644 (file)
@@ -4,7 +4,7 @@ What is T-gnus?
 ===============
 
   T-gnus is an improvement of Gnus with SEMI's MIME feature. T-gnus
-6.15 is based on Oort Gnus v0.18. SEMI may stand for "SEMI is Emacs
+6.15 is based on Oort Gnus v0.19. SEMI may stand for "SEMI is Emacs
 MIME Interface" and is developped to provide an easy interfaces for
 users to handle MIME message structures. For further information,
 refer to REASME.en of SEMI.
index 69c7338..3e6a8a2 100644 (file)
@@ -4,7 +4,7 @@ T-gnus \e$B$H$O!)\e(B
 =============
 
   T-gnus \e$B$O!"\e(BSEMI \e$B$rMxMQ$7$F\e(B Gnus \e$B$K\e(B MIME \e$B5!G=$rDI2C$9$k$b$N$G$9!#\e(B
-T-gnus 6.15 \e$B$O\e(B Oort Gnus v0.18 \e$B$r%Y!<%9$K$7$F$$$^$9!#\e(BSEMI \e$B$O\e(B Emacs \e$B$G\e(B
+T-gnus 6.15 \e$B$O\e(B Oort Gnus v0.19 \e$B$r%Y!<%9$K$7$F$$$^$9!#\e(BSEMI \e$B$O\e(B Emacs \e$B$G\e(B
 MIME \e$B$r;H$($k$h$&$K$9$k$b$N$G!"\e(BMIME message \e$B$N9=J8$N9=B$$HMxMQ<T$N4V$r\e(B
 \e$B$D$J$0%$%s%?!<%U%'!<%9$rDs6!$7$^$9!#>\$7$/$O!"\e(BSEMI \e$B$N\e(B README.en \e$B$r;2>H\e(B
 \e$B$7$F$/$@$5$$!#\e(B
index a9db169..ca8c2b0 100644 (file)
@@ -1,3 +1,62 @@
+2003-04-13  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus.el (gnus-version-number): Bump.
+
+2003-04-13 01:12:01 Lars Magne Ingebrigtsen <lars@ingebrigtsen.no>
+
+       * gnus.el: Oort Gnus v0.18 is released.
+
+2003-04-13  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-draft.el (gnus-draft-send): Add message-hidden-headers. 
+
+2003-04-12  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-art.el (gnus-article-next-page): Use
+       gnus-article-over-scroll.
+       (gnus-article-over-scroll): New variable.
+
+       * message.el (message-newline-and-reformat): Place a boundary
+       before filling.
+       (message-make-forward-subject-function): Changed default to
+       message-forward-subject-name-subject. 
+       (message-forward-subject-name-subject): New function.
+
+       * nnimap.el (nnimap-split-fancy): Ditto.
+
+       * gnus-sum.el (gnus-summary-line-message-size): Ditto.
+
+       * gnus-cus.el (gnus-group-parameters): Removed "which see".
+
+       * mml.el (mml-minibuffer-read-file): Bind
+       completion-ignored-extensions to nil.
+
+       * message.el (message-fix-before-sending): Comment fix.
+       (message-fix-before-sending): Make hidden headers visible.
+       (message-hide-headers): Bind after-change-functions to nil.
+       (message-forbidden-properties): Put invisible and intangible
+       back. 
+       (message-strip-forbidden-properties): Ignore message-hidden text.
+
+       * gnus-msg.el: Hide headers.
+
+       * message.el (message-hidden-headers): New variable.
+       (message-hide-headers): New function.
+       (message-hide-header-p): New function.
+       (message-hide-header-p): Change logic.
+       (message-forbidden-properties): Remove intangible nil invisible
+       nil. 
+       (message-hide-headers): Narrow to headers.
+
+       * lpath.el (featurep): Bind Info-directory, Info-menu.
+
+2003-04-12  Jesper Harder  <harder@ifa.au.dk>
+
+       * mm-bodies.el (mm-body-charset-encoding-alist): UTF-16 *must* be
+       encoded.
+       (mm-encode-body): Don't corrupt UTF-16.
+       (mm-body-encoding): Pay attention to mm-body-charset-encoding-alist.
+
 2003-04-10  Kevin Greiner <kgreiner@xpediantsolutions.com>
 
        * gnus-agent.el (gnus-agent-get-undownloaded-list): Articles in
@@ -8,6 +67,11 @@
        same directory.
        (gnus-agent-group-pathname): New function. Wrapper for
        nnmail-group-pathname.
+       (gnus-agent-expire-unagentized-dirs): New variable.  May be
+       customized to disable gnus-agent-expire-unagentized-dirs.
+       (gnus-agent-expire-unagentized-dirs): Expand gnus-agent-directory
+       as the directories in gnus-agent-expire-current-dirs were
+       expanded.
 
 2003-04-10  Jesper Harder  <harder@ifa.au.dk>
 
index 4912bcb..fca87dd 100644 (file)
@@ -181,6 +181,11 @@ enable expiration per categories, topics, and groups."
   :type '(radio (const :format "Enable " ENABLE)
                 (const :format "Disable " DISABLE)))
 
+(defcustom gnus-agent-expire-unagentized-dirs t
+"Have gnus-agent-expire scan the directories under
+\(gnus-agent-directory) for groups that are no longer agentized.  When
+found, offer to remove them.")
+
 ;;; Internal variables
 
 (defvar gnus-agent-history-buffers nil)
@@ -2855,13 +2860,14 @@ articles in every agentized group."))
           (gnus-message 4 "Expiry...done")))))
 
 (defun gnus-agent-expire-unagentized-dirs ()
-  (when (boundp 'gnus-agent-expire-current-dirs)
+  (when (and gnus-agent-expire-unagentized-dirs
+             (boundp 'gnus-agent-expire-current-dirs))
     (let* ((keep (gnus-make-hashtable))
           ;; Formally bind gnus-agent-expire-current-dirs so that the
           ;; compiler will not complain about free references.
           (gnus-agent-expire-current-dirs
            (symbol-value 'gnus-agent-expire-current-dirs))
-         dir)
+           dir)
 
       (gnus-sethash gnus-agent-directory t keep)
       (while gnus-agent-expire-current-dirs
@@ -2872,68 +2878,69 @@ articles in every agentized group."))
            (gnus-sethash dir t keep)
            (setq dir (file-name-directory (directory-file-name dir))))))
 
-  (let* (to-remove
-        checker
-        (checker
-         (function
-          (lambda (d)
-             "Given a directory, check it and its subdirectories for 
+      (let* (to-remove
+             checker
+             (checker
+              (function
+               (lambda (d)
+                 "Given a directory, check it and its subdirectories for 
               membership in the keep hash.  If it isn't found, add 
               it to to-remove." 
-            (let ((files (directory-files d))
-                  file)
-              (while (setq file (pop files))
-                (cond ((equal file ".") ; Ignore self
-                       nil)
-                      ((equal file "..") ; Ignore parent
-                       nil)
-                      ((equal file ".overview") 
-                        ;; Directory must contain .overview to be
-                        ;; agent's cache of a group.
-                       (let ((d (file-name-as-directory d))
-                             r)
-                          ;; Search ancestor's for last directory NOT
-                          ;; found in keep hash.
-                         (while (not (gnus-gethash
-                                      (setq d (file-name-directory d)) keep))
-                           (setq r d
-                                 d (directory-file-name d)))
-                          ;; if ANY ancestor was NOT in keep hash and
-                          ;; it it's already in to-remove, add it to
-                          ;; to-remove.                          
-                         (if (and r
-                                   (not (member r to-remove)))
-                             (push r to-remove))))
-                      ((file-directory-p (setq file (nnheader-concat d file)))
-                       (funcall checker file)))))))))
-    (funcall checker gnus-agent-directory)
-
-    (when (and to-remove
-              (gnus-y-or-n-p
-               "gnus-agent-expire has identified local directories that are\
+                 (let ((files (directory-files d))
+                       file)
+                   (while (setq file (pop files))
+                     (cond ((equal file ".") ; Ignore self
+                            nil)
+                           ((equal file "..") ; Ignore parent
+                            nil)
+                           ((equal file ".overview") 
+                            ;; Directory must contain .overview to be
+                            ;; agent's cache of a group.
+                            (let ((d (file-name-as-directory d))
+                                  r)
+                              ;; Search ancestor's for last directory NOT
+                              ;; found in keep hash.
+                              (while (not (gnus-gethash
+                                           (setq d (file-name-directory d)) keep))
+                                (setq r d
+                                      d (directory-file-name d)))
+                              ;; if ANY ancestor was NOT in keep hash and
+                              ;; it it's already in to-remove, add it to
+                              ;; to-remove.                          
+                              (if (and r
+                                       (not (member r to-remove)))
+                                  (push r to-remove))))
+                           ((file-directory-p (setq file (nnheader-concat d file)))
+                            (funcall checker file)))))))))
+        (funcall checker (expand-file-name gnus-agent-directory))
+
+        (when (and to-remove
+                   (or gnus-expert-user
+                       (gnus-y-or-n-p
+                        "gnus-agent-expire has identified local directories that are\
  not currently required by any agentized group.         Do you wish to consider\
- deleting them?"))
-      (while to-remove
-       (let ((dir (pop to-remove)))
-         (if (gnus-y-or-n-p (format "Delete %s?" dir))
-             (let* (delete-recursive
-                    (delete-recursive
-                     (function
-                      (lambda (f-or-d)
-                        (ignore-errors
-                         (if (file-directory-p f-or-d)
-                             (condition-case nil
-                                 (delete-directory f-or-d)
-                               (file-error
-                                (mapcar (lambda (f)
-                                          (or (member f '("." ".."))
-                                              (funcall delete-recursive
-                                                       (nnheader-concat
-                                                        f-or-d f))))
-                                        (directory-files f-or-d))
-                                (delete-directory f-or-d)))
-                           (delete-file f-or-d)))))))
-               (funcall delete-recursive dir))))))))))
+ deleting them?")))
+          (while to-remove
+            (let ((dir (pop to-remove)))
+              (if (gnus-y-or-n-p (format "Delete %s?" dir))
+                  (let* (delete-recursive
+                         (delete-recursive
+                          (function
+                           (lambda (f-or-d)
+                             (ignore-errors
+                               (if (file-directory-p f-or-d)
+                                   (condition-case nil
+                                       (delete-directory f-or-d)
+                                     (file-error
+                                      (mapcar (lambda (f)
+                                                (or (member f '("." ".."))
+                                                    (funcall delete-recursive
+                                                             (nnheader-concat
+                                                              f-or-d f))))
+                                              (directory-files f-or-d))
+                                      (delete-directory f-or-d)))
+                                 (delete-file f-or-d)))))))
+                    (funcall delete-recursive dir))))))))))
 
 ;;;###autoload
 (defun gnus-agent-batch ()
index b93bef1..9cbfe5b 100644 (file)
@@ -1441,6 +1441,11 @@ This requires GNU Libidn, and by default only enabled if it is found."
   :group 'gnus-article-headers
   :type 'boolean)
 
+(defcustom gnus-article-over-scroll nil
+  "If non-nil, allow scrolling the article buffer even when there no more text."
+  :group 'gnus-article
+  :type 'boolean)
+
 ;;; Internal variables
 
 (defvar gnus-english-month-names
@@ -5292,7 +5297,8 @@ Argument LINES specifies lines to be scrolled up."
        (move-to-window-line lines)
        (unless (search-backward "\n\n" nil t)
          (setq start (point)))))
-    (cond (end-of-buffer t)
+    (cond (end-of-buffer
+          (not gnus-article-over-scroll))
          (end-of-page
           (gnus-narrow-to-page 1)
           nil)
index 9de3266..f991297 100644 (file)
@@ -159,7 +159,7 @@ days (not necessarily an integer) or the symbols `never' or
                           string) "\
 Where expired messages end up.
 
-Overrides `nnmail-expiry-target', which see.")
+Overrides `nnmail-expiry-target'.")
 
     (score-file (file :tag "Score File") "\
 Make the specified file into the current score file.
index 4d0bbf0..4bad775 100644 (file)
   "Send message ARTICLE."
   (let ((message-syntax-checks (if interactive message-syntax-checks
                                 'dont-check-for-anything-just-trust-me))
+       (message-hidden-headers nil)
        (message-inhibit-body-encoding (or (not group)
                                           (equal group "nndraft:queue")
                                           message-inhibit-body-encoding))
index 83db06b..3f3eca3 100644 (file)
@@ -476,6 +476,7 @@ Thank you for your help in stamping out bugs.
         (set (make-local-variable 'gnus-newsgroup-name) ,group)
         (gnus-maybe-setup-default-charset)
         (gnus-run-hooks 'gnus-message-setup-hook))
+       (message-hide-headers)
        (gnus-add-buffer)
        (gnus-configure-windows ,config t)
        (run-hooks 'post-command-hook)
index 85439f7..6624e04 100644 (file)
@@ -3374,7 +3374,7 @@ the thread are to be displayed."
 (defsubst gnus-summary-line-message-size (head)
   "Return pretty-printed version of message size.
 This function is intended to be used in
-`gnus-summary-line-format-alist', which see."
+`gnus-summary-line-format-alist'."
   (let ((c (or (mail-header-chars head) -1)))
     (cond ((< c 0) "n/a")              ; chars not available
          ((< c (* 1000 10)) (format "%1.1fk" (/ c 1024.0)))
index 83a20bf..dc7dc6f 100644 (file)
 ;; Product information of this gnus.
 (product-provide 'gnus-vers
   (product-define "T-gnus" nil
-                 (list 6 15 18
+                 (list 6 15 19
                        (string-to-number gnus-revision-number))))
 
-(defconst gnus-original-version-number "0.18"
+(defconst gnus-original-version-number "0.19"
   "Version number for this version of Gnus.")
 
 (provide 'running-pterodactyl-gnus-0_73-or-later)
index b9ca483..bd4a7eb 100644 (file)
@@ -31,6 +31,7 @@
 (if (featurep 'xemacs)
     (progn
       (maybe-fbind '(ccl-execute-on-string
+                    Info-directory Info-menu
                     char-charset charsetp coding-system-get
                     coding-system-list coding-system-p decode-coding-region
                     decode-coding-string define-ccl-program delete-overlay
index 381f215..e84f79c 100644 (file)
 (eval-when-compile
   (require 'cl)
   (require 'imap)
-  (eval-when-compile (defvar display-time-mail-function)))
-(eval-and-compile
-  (defvar pop3-leave-mail-on-server)
+  (defvar display-time-mail-function)
   (autoload 'pop3-movemail "pop3")
-  (autoload 'pop3-get-message-count "pop3")
+  (autoload 'pop3-get-message-count "pop3"))
+(eval-and-compile
   (autoload 'nnheader-cancel-timer "nnheader")
   (autoload 'nnheader-run-at-time "nnheader"))
 (require 'format-spec)
@@ -742,6 +741,7 @@ Pass INFO on to CALLBACK."
              (funcall function mail-source-crash-box))
             ;; The default is to use pop3.el.
             (t
+             (require 'pop3)
              (let ((pop3-password password)
                    (pop3-maildrop user)
                    (pop3-mailhost server)
@@ -752,7 +752,7 @@ Pass INFO on to CALLBACK."
                    (pop3-leave-mail-on-server
                     (or leave
                         (and (boundp 'pop3-leave-mail-on-server)
-                             pop3-leave-mail-on-server))))
+                             (symbol-value 'pop3-leave-mail-on-server)))))
                (if (or debug-on-quit debug-on-error)
                    (save-excursion (pop3-movemail mail-source-crash-box))
                  (condition-case err
@@ -808,6 +808,7 @@ Pass INFO on to CALLBACK."
             (function)
             ;; The default is to use pop3.el.
             (t
+             (require 'pop3)
              (let ((pop3-password password)
                    (pop3-maildrop user)
                    (pop3-mailhost server)
index d3e8b0a..566585d 100644 (file)
@@ -558,7 +558,7 @@ If t, use `message-user-organization-file'."
   :type 'regexp)
 
 (defcustom message-make-forward-subject-function
-  'message-forward-subject-author-subject
+  'message-forward-subject-name-subject
   "*List of functions called to generate subject headers for forwarded messages.
 The subject generated by the previous function is passed into each
 successive function.
@@ -567,6 +567,8 @@ The provided functions are:
 
 * `message-forward-subject-author-subject' (Source of article (author or
       newsgroup)), in brackets followed by the subject
+* `message-forward-subject-name-subject' (Source of article (name of author
+      or newsgroup)), in brackets followed by the subject
 * `message-forward-subject-fwd' (Subject of article with 'Fwd:' prepended
       to it."
   :group 'message-forwarding
@@ -1187,6 +1189,13 @@ candidates:
   (or (not (listp message-shoot-gnksa-feet))
       (memq feature message-shoot-gnksa-feet)))
 
+(defcustom message-hidden-headers nil
+  "Regexp of headers to be hidden when composing new messages.
+This can also be a list of regexps to match headers.  Or a list
+starting with `not' and followed by regexps.."
+  :group 'message
+  :type '(repeat regexp))
+
 ;;; Internal variables.
 ;;; Well, not really internal.
 
@@ -2457,7 +2466,7 @@ message composition doesn't break too bad."
   ;; No reason this should be clutter up customize.  We make it a
   ;; property list (rather than a list of property symbols), to be
   ;; directly useful for `remove-text-properties'.
-  '(field nil read-only nil intangible nil invisible nil
+  '(field nil read-only nil invisible nil intangible nil
          mouse-face nil modification-hooks nil insert-in-front-hooks nil
          insert-behind-hooks nil point-entered nil point-left nil)
   ;; Other special properties:
@@ -2490,7 +2499,11 @@ See also `message-forbidden-properties'."
             (message-tamago-not-in-use-p begin)
             ;; Check whether the invisible MIME part is not inserted.
             (not (text-property-any begin end 'mime-edit-invisible t)))
-    (remove-text-properties begin end message-forbidden-properties)))
+    (while (not (= begin end))
+      (when (not (get-text-property begin 'message-hidden))
+       (remove-text-properties begin (1+ begin)
+                               message-forbidden-properties))
+      (incf begin))))
 
 ;;;###autoload
 (define-derived-mode message-mode text-mode "Message"
@@ -2955,6 +2968,7 @@ Prefix arg means justify as well."
        (delete-region (point) (re-search-forward "[ \t]*"))
        (when (and quoted (not bolp))
          (insert quoted leading-space)))
+      (undo-boundary)
       (if quoted
          (let* ((adaptive-fill-regexp
                  (regexp-quote (concat quoted leading-space)))
@@ -3736,6 +3750,13 @@ used to distinguish whether the invisible text is a MIME part or not."
   (goto-char (point-max))
   (unless (bolp)
     (insert "\n"))
+  ;; Make the hidden headers visible.
+  (let ((points (message-text-with-property 'message-hidden)))
+    (when points
+      (goto-char (car points))
+      (dolist (point points)
+       (add-text-properties point (1+ point)
+                            '(invisible nil intangible nil)))))
   ;; Delete all invisible text except for the mime parts which might
   ;; be inserted by the MIME-Edit.
   (message-check 'invisible-text
@@ -6581,6 +6602,20 @@ the list of newsgroups is was posted to."
                "(nowhere)"))
          "] " subject))
 
+(defun message-forward-subject-name-subject (subject)
+  "Generate a SUBJECT for a forwarded message.
+The form is: [Source] Subject, where if the original message was mail,
+Source is the name of the sender, and if the original message was
+news, Source is the list of newsgroups is was posted to."
+  (concat "["
+         (let ((prefix (message-fetch-field "newsgroups")))
+           (or prefix
+               (and (setq prefix (message-fetch-field "from"))
+                    (car (std11-extract-address-components
+                          (nnheader-decode-from prefix))))
+               "(nowhere)"))
+         "] " subject))
+
 (defun message-forward-subject-fwd (subject)
   "Generate a SUBJECT for a forwarded message.
 The form is: Fwd: Subject, where Subject is the original subject of
@@ -7255,6 +7290,39 @@ regexp varstr."
                             (if (and (or to cc) bcc) ", ")
                             (or bcc "")))))))
 
+(defun message-hide-headers ()
+  "Hide headers based on the `message-hidden-headers' variable."
+  (let ((regexps (if (stringp message-hidden-headers)
+                    (list message-hidden-headers)
+                  message-hidden-headers))
+       (inhibit-point-motion-hooks t)
+       (after-change-functions nil))
+    (when regexps
+      (save-excursion
+       (save-restriction
+         (message-narrow-to-headers)
+         (goto-char (point-min))
+         (while (not (eobp))
+           (if (not (message-hide-header-p regexps))
+               (message-next-header)
+             (let ((begin (point)))
+               (message-next-header)
+               (add-text-properties begin (point)
+                                    '(intangible t invisible t
+                                                 message-hidden t))))))))))
+
+(defun message-hide-header-p (regexps)
+  (let ((result nil)
+       (reverse nil))
+    (when (eq (car regexps) 'not)
+      (setq reverse t)
+      (pop regexps))
+    (dolist (regexp regexps)
+      (setq result (or result (looking-at regexp))))
+    (if reverse
+       (not result)
+      result)))
+
 (when (featurep 'xemacs)
   (require 'messagexmas)
   (message-xmas-redefine))
index 0d23eb0..9a7d7b5 100644 (file)
 
 (defcustom mm-body-charset-encoding-alist
   '((iso-2022-jp . 7bit)
-    (iso-2022-jp-2 . 7bit))
+    (iso-2022-jp-2 . 7bit)
+    ;; We MUST encode UTF-16 because it can contain \0's which is
+    ;; known to break servers.
+    (utf-16 . base64)
+    (utf-16be . base64)
+    (utf-16le . base64))
   "Alist of MIME charsets to encodings.
 Valid encodings are `7bit', `8bit', `quoted-printable' and `base64'."
   :type '(repeat (cons (symbol :tag "charset")
@@ -85,8 +90,7 @@ If no encoding was done, nil is returned."
            charset)
        (goto-char (point-min))
        (let ((charsets (mm-find-mime-charset-region (point-min) (point-max)
-                                                    mm-hack-charsets))
-             start)
+                                                    mm-hack-charsets)))
          (cond
           ;; No encoding.
           ((null charsets)
@@ -96,24 +100,11 @@ If no encoding was done, nil is returned."
            charsets)
           ;; We encode.
           (t
-           (setq charset (car charsets))
-           (while (not (eobp))
-             (if (eq (mm-charset-after) 'ascii)
-                 (when start
-                   (save-restriction
-                     (narrow-to-region start (point))
-                     (mm-encode-coding-region
-                      start (point) (mm-charset-to-coding-system charset))
-                     (goto-char (point-max)))
-                   (setq start nil))
-               (unless start
-                 (setq start (point))))
-             (forward-char 1))
-           (when start
-             (mm-encode-coding-region start (point)
-                                      (mm-charset-to-coding-system charset))
-             (setq start nil))
-           charset)))))))
+           (prog1
+               (setq charset (car charsets))
+             (mm-encode-coding-region (point-min) (point-max)
+                                      (mm-charset-to-coding-system charset))))
+          ))))))
 
 (defun mm-long-lines-p (length)
   "Say whether any of the lines in the buffer is longer than LINES."
@@ -143,7 +134,7 @@ If no encoding was done, nil is returned."
       bits)
      ((and (not mm-use-ultra-safe-encoding)
           (not longp)
-          (not (eq '7bit (cdr (assq charset mm-body-charset-encoding-alist))))
+          (not (cdr (assq charset mm-body-charset-encoding-alist)))
           (or (eq t (cdr message-posting-charset))
               (memq charset (cdr message-posting-charset))
               (eq charset mail-parse-charset)))
index 35e279e..703aa1b 100644 (file)
@@ -881,7 +881,8 @@ See Info node `(emacs-mime)Composing'.
 ;;;
 
 (defun mml-minibuffer-read-file (prompt)
-  (let ((file (read-file-name prompt nil nil t)))
+  (let* ((completion-ignored-extensions nil)
+        (file (read-file-name prompt nil nil t)))
     ;; Prevent some common errors.  This is inspired by similar code in
     ;; VM.
     (when (file-directory-p file)
index 3f6390b..8415705 100644 (file)
@@ -194,7 +194,7 @@ RFC2060 section 6.4.4."
   :type 'string)
 
 (defcustom nnimap-split-fancy nil
-  "Like the variable `nnmail-split-fancy', which see."
+  "Like the variable `nnmail-split-fancy'."
   :group 'nnimap
   :type 'sexp)
 
index 6cd913a..93b7209 100644 (file)
@@ -1,3 +1,16 @@
+2003-04-13  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus.texi (Misc Article): Addition.
+
+2003-04-12  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * message.texi (Message Headers): Addition.
+
+2003-04-12  Jesper Harder  <harder@ifa.au.dk>
+
+       * emacs-mime.texi (Encoding Customization): Update default for
+       mm-body-charset-encoding-alist.
+
 2003-04-08  Jesper Harder  <harder@ifa.au.dk>
 
        * emacs-mime.texi (Non-MIME): Add diff.
index c68450d..a36c5b0 100644 (file)
@@ -777,8 +777,17 @@ This plain text part is an attachment.
 Mapping from @sc{mime} charset to encoding to use.  This variable is
 usually used except, e.g., when other requirements force a specific
 encoding (digitally signed messages require 7bit encodings).  The
-default is @code{((iso-2022-jp . 7bit) (iso-2022-jp-2 . 7bit))}.  As
-an example, if you do not want to have ISO-8859-1 characters
+default is 
+
+@lisp
+((iso-2022-jp . 7bit)
+ (iso-2022-jp-2 . 7bit)
+ (utf-16 . base64)
+ (utf-16be . base64)
+ (utf-16le . base64))
+@end lisp
+
+As an example, if you do not want to have ISO-8859-1 characters
 quoted-printable encoded, you may add @code{(iso-8859-1 . 8bit)} to
 this variable.  You can override this setting on a per-message basis
 by using the @code{encoding} MML tag (@pxref{MML Definition}).
index 07e7c62..b19428e 100644 (file)
@@ -10464,6 +10464,12 @@ GNUS \e$B$d\e(B Gnus \e$B$G$O!"$3$N$?$A$N0-$$LdBj$G6C$+$5$l$J$$$h$&$K$9$k$K$O!"35N,
 \e$B5-;v%P%C%U%!$GMQ$$$i$l$k%7%s%?%C%/%9%F!<%V%k$G$9!#$3$l\e(B
 \e$B$O\e(B @code{text-mode-syntax-table} \e$B$r$b$H$K=i4|2=$5$l$^$9!#\e(B
 
+@vindex gnus-article-over-scroll
+@item gnus-article-over-scroll
+\e$BHs\e(B-@code{nil} \e$B$K$9$k$3$H$K$h$C$F!"$=$l0J>e%9%/%m!<%k$9$k?7$7$$%F%-%9%H$,\e(B
+\e$BL5$/$F$b5-;v%P%C%U%!$r%9%/%m!<%k$9$k$3$H$r2DG=$K$7$^$9!#%G%#%U%)%k%H\e(B
+\e$B$O\e(B @code{nil} \e$B$G$9!#\e(B(\e$BLuCm\e(B: \e$B8=<B$NF0:n$H9g$C$F$$$J$$$h$&$J5$$,$9$k!#\e(B)
+
 @vindex gnus-article-mode-line-format
 @item gnus-article-mode-line-format
 \e$B$3$NJQ?t$O\e(B @code{gnus-summary-mode-line-format} \e$B$HF1$89T$K=>$C$?MM<0J8;z\e(B
index 2aab7a3..690dba5 100644 (file)
@@ -10542,6 +10542,7 @@ Browse the mailing list archive, if List-Archive field exists.
 
 @end table
 
+
 @node Article Buffer
 @chapter Article Buffer
 @cindex article buffer
@@ -11015,6 +11016,11 @@ Hook called in article mode buffers.
 Syntax table used in article buffers.  It is initialized from
 @code{text-mode-syntax-table}.
 
+@vindex gnus-article-over-scroll
+@item gnus-article-over-scroll
+If non-@code{nil}, allow scrolling the article buffer even when there
+no more new text to scroll in.  The default is @code{nil}.
+
 @vindex gnus-article-mode-line-format
 @item gnus-article-mode-line-format
 This variable is a format string along the same lines as
index 8972dc8..ebd985d 100644 (file)
@@ -1352,6 +1352,17 @@ Message \e$B$,\e(B gnus \e$B>e$GAv$C$F$$$k>l9g!"%a%C%;!<%8%P%C%U%!$O%I%i%U%H%0%k!<%
 \e$BDj$7$^$9!#\e(B@code{always} \e$B$@$C$?$i$H$K$+$/Aw?.$7!"\e(B@code{never} \e$B$@$C$?$iAw\e(B
 \e$B?.$7$^$;$s!#\e(B@code{ask} (\e$B$=$l$,%G%#%U%)%k%H\e(B) \e$B$@$C$?$i!"$I$&$9$k$+?R$M$i$l\e(B
 \e$B$^$9!#\e(B
+
+@item message-hidden-headers
+@vindex message-hidden-headers
+\e$B@55,I=8=!"@55,I=8=$N%j%9%H!"$^$?$O:G=i$NMWAG$,\e(B @code{not} \e$B$G;D$j$,@55,I=\e(B
+\e$B8=$G$"$k%j%9%H!#%a%C%;!<%8$N:n@.Cf$K$I$N%X%C%@!<$r1#$7$?$^$^$K$7$F$*$/$+\e(B
+\e$B$r7h$a$^$9!#\e(B
+
+@lisp
+(setq message-hidden-headers
+      '(not "From" "Subject" "To" "Cc" "Newsgroups"))
+@end lisp
 @end table
 
 @node Mail Headers
index bb0d009..9e91da5 100644 (file)
@@ -1380,6 +1380,17 @@ Specifies what to do when there are no recipients other than
 allowed.  If it is @code{never}, the posting is not allowed.  If it is
 @code{ask} (the default), you are prompted.
 
+@item message-hidden-headers
+@vindex message-hidden-headers
+A regexp, a list of regexps, or a list where the first element is
+@code{not} and the rest are regexps.  It says which headers to keep
+hidden when composing a message.
+
+@lisp
+(setq message-hidden-headers
+      '(not "From" "Subject" "To" "Cc" "Newsgroups"))
+@end lisp
+
 @end table