*** empty log message ***
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Sat, 24 Oct 1998 05:42:33 +0000 (05:42 +0000)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Sat, 24 Oct 1998 05:42:33 +0000 (05:42 +0000)
32 files changed:
lisp/ChangeLog
lisp/base64.el
lisp/gnus-agent.el
lisp/gnus-art.el
lisp/gnus-group.el
lisp/gnus-nocem.el
lisp/gnus-salt.el
lisp/gnus-spec.el
lisp/gnus-srvr.el
lisp/gnus-start.el
lisp/gnus-sum.el
lisp/gnus-xmas.el
lisp/gnus.el
lisp/ietf-drums.el
lisp/mailcap.el
lisp/mailheader.el
lisp/message.el
lisp/mm-bodies.el
lisp/mm-decode.el
lisp/mm-util.el
lisp/mm-uu.el
lisp/nndoc.el
lisp/nnheader.el
lisp/nnmail.el
lisp/nntp.el
lisp/nnvirtual.el
lisp/qp.el
lisp/rfc1843.el
lisp/rfc2231.el
lisp/smiley.el
texi/gnus.texi
texi/message.texi

index 4f6afb0..ae840c7 100644 (file)
@@ -1,3 +1,81 @@
+Sat Oct 24 07:41:42 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Pterodactyl Gnus v0.37 is released.
+
+1998-10-24 07:29:11  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * mm-bodies.el (mm-decode-body): Check for multibyticity.
+
+       * mm-util.el (mm-enable-multibyte): Don't always switch multibyte
+       on. 
+
+1998-10-22  Didier Verna  <verna@inf.enst.fr>
+
+       * gnus-spec.el (gnus-balloon-face-function): new function
+       (gnus-parse-format): understand the %< %> specifiers
+       (gnus-parse-complex-format): ditto.
+
+Tue Oct 20 23:37:43 1998  Shenghuo ZHU  <zsh@cs.rochester.edu>
+
+       * gnus-art.el (gnus-mime-display-mixed): Multipart in
+       mixed part.
+
+Tue Oct 20 23:36:43 1998  Shenghuo ZHU  <zsh@cs.rochester.edu>
+
+       * gnus-sum.el (gnus-summary-exit): Use mm-destroy-parts.
+       
+       * gnus-sum.el (gnus-summary-exit-no-update): Ditto.
+
+Tue Oct 20 16:22:51 1998  Shenghuo ZHU  <zsh@cs.rochester.edu>
+
+       * mm-uu.el (mm-uu-dissect): Create pseudo multipart head.
+
+1998-10-24 06:31:33  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus.el: Changed following-char to char-after throughout.
+
+1998-10-22 04:05:55  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * mm-decode.el (mm-display-external): Protect more and message. 
+
+Wed Oct 21 03:26:30 1998  Shenghuo ZHU  <zsh@cs.rochester.edu>
+
+       * gnus-xmas.el (gnus-xmas-article-push-button): Go to the
+       position.
+
+Tue Oct 20 23:37:43 1998  Shenghuo ZHU  <zsh@cs.rochester.edu>
+
+       * gnus-art.el (gnus-mime-display-mixed): Multipart in
+       mixed part.
+
+Tue Oct 20 23:36:43 1998  Shenghuo ZHU  <zsh@cs.rochester.edu>
+
+       * gnus-sum.el (gnus-summary-exit): Use mm-destroy-parts.
+       
+       * gnus-sum.el (gnus-summary-exit-no-update): Ditto.
+
+Tue Oct 20 16:22:51 1998  Shenghuo ZHU  <zsh@cs.rochester.edu>
+
+       * mm-uu.el (mm-uu-dissect): Create pseudo multipart head.
+
+1998-10-21  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * mailcap.el (mailcap-save-binary-file): Use unwind-protect.
+
+       * mm-decode.el (mm-display-external): Set undisplayer to mm
+       buffer, not the current buffer; use unwind-protect.
+
+1998-10-21 00:07:59  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-sum.el (gnus-summary-exit): Destroy parts.
+       (gnus-summary-exit-no-update): Ditto.
+
+1998-10-20 22:02:05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * mm-decode.el (mm-inline-media-tests): Look for w3.
+
+       * mailcap.el (mailcap-mime-data): Inline html.
+
 Tue Oct 20 20:25:03 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
        * gnus.el: Pterodactyl Gnus v0.36 is released.
index c874b22..5abc827 100644 (file)
@@ -162,7 +162,7 @@ base64-encoder-program.")
                    (error "at least %d bits missing at end of base64 encoding"
                           (* (- 4 counter) 6)))
                (setq done t))
-              ((= (char-after (point)) ?=)
+              ((eq (char-after (point)) ?=)
                (setq done t)
                (cond ((= counter 1)
                       (error "at least 2 bits missing at end of base64 encoding"))
index 20c2380..6c595f1 100644 (file)
@@ -115,6 +115,8 @@ for download via the Agent.")
   (gnus-category-read)
   (setq gnus-agent-overview-buffer
        (gnus-get-buffer-create " *Gnus agent overview*"))
+  (with-current-buffer gnus-agent-overview-buffer
+    (mm-enable-multibyte))
   (add-hook 'gnus-group-mode-hook 'gnus-agent-mode)
   (add-hook 'gnus-summary-mode-hook 'gnus-agent-mode)
   (add-hook 'gnus-server-mode-hook 'gnus-agent-mode))
index 4388158..8df3139 100644 (file)
@@ -870,7 +870,7 @@ MAP is an alist where the elements are on the form (\"from\" \"to\")."
     (when (search-forward "\n\n" nil t)
       (let ((buffer-read-only nil))
        (while (search-forward "\b" nil t)
-         (let ((next (following-char))
+         (let ((next (char-after))
                (previous (char-after (- (point) 2))))
            ;; We do the boldification/underlining by hiding the
            ;; overstrikes and putting the proper text property
@@ -2377,7 +2377,11 @@ If ALL-HEADERS is non-nil, no headers are hidden."
 (defun gnus-mime-display-mixed (handles)
   (let (handle)
     (while (setq handle (pop handles))
-      (gnus-mime-display-single handle))))
+      (if (stringp (car handle))
+         (if (equal (car handle) "multipart/alternative")
+             (gnus-mime-display-alternative (cdr handle))
+           (gnus-mime-display-mixed (cdr handle)))
+       (gnus-mime-display-single handle)))))
 
 (defun gnus-mime-display-single (handle)
   (let (display)
index 4d3a312..6c6bb82 100644 (file)
@@ -1340,7 +1340,7 @@ If FIRST-TOO, the current line is also eligible as a target."
        (beginning-of-line)
        (forward-char (or (cdr (assq 'process gnus-group-mark-positions)) 2))
        (subst-char-in-region
-        (point) (1+ (point)) (following-char)
+        (point) (1+ (point)) (char-after)
         (if unmark
             (progn
               (setq gnus-group-marked (delete group gnus-group-marked))
index 7535a25..8659779 100644 (file)
@@ -271,7 +271,7 @@ matches an previously scanned and verified nocem message."
                              gnus-nocem-real-group-hashtb)
            ;; Valid group.
            (beginning-of-line)
-           (while (= (following-char) ?\t)
+           (while (eq (char-after) ?\t)
              (forward-line -1))
            (setq id (buffer-substring (point) (1- (search-forward "\t"))))
            (unless (gnus-gethash id gnus-nocem-hashtb)
@@ -279,7 +279,7 @@ matches an previously scanned and verified nocem message."
              (gnus-sethash id t gnus-nocem-hashtb)
              (push id ncm))
            (forward-line 1)
-           (while (= (following-char) ?\t)
+           (while (eq (char-after) ?\t)
              (forward-line 1))))))
       (when ncm
        (setq gnus-nocem-touched-alist t)
index 68d0f3c..b50341d 100644 (file)
@@ -705,7 +705,7 @@ Two predefined functions are available:
          (while (progn
                   (forward-line -1)
                   (forward-char col)
-                  (= (following-char) ? ))
+                  (eq (char-after) ? ))
            (delete-char 1)
            (insert (caddr gnus-tree-parent-child-edges)))
          (goto-char beg)))
@@ -763,7 +763,7 @@ Two predefined functions are available:
          (forward-char -1)
          ;; Draw "-" lines leftwards.
          (while (and (> (point) 1)
-                     (= (char-after (1- (point))) ? ))
+                     (eq (char-after (1- (point))) ? ))
            (delete-char -1)
            (insert (car gnus-tree-parent-child-edges))
            (forward-char -1))
index d910ae6..b4e44e3 100644 (file)
     (point) (progn ,@form (point))
     '(gnus-face t face ,(symbol-value (intern (format "gnus-face-%d" type))))))
 
+(defun gnus-balloon-face-function (form type)
+  `(gnus-put-text-property 
+    (point) (progn ,@form (point))
+    'balloon-help
+    ,(intern (format "gnus-balloon-face-%d" type))))
+
 (defun gnus-tilde-max-form (el max-width)
   "Return a form that limits EL to MAX-WIDTH."
   (let ((max (abs max-width)))
   ;; SPEC-ALIST and returns a list that can be eval'ed to return the
   ;; string.  If the FORMAT string contains the specifiers %( and %)
   ;; the text between them will have the mouse-face text property.
+  ;; If the FORMAT string contains the specifiers %< and %>, the text between
+  ;; them will have the balloon-help text property.
   (if (string-match
-       "\\`\\(.*\\)%[0-9]?[{(]\\(.*\\)%[0-9]?[})]\\(.*\n?\\)\\'"
+       "\\`\\(.*\\)%[0-9]?[{(<]\\(.*\\)%[0-9]?[})>]\\(.*\n?\\)\\'"
        format)
       (gnus-parse-complex-format format spec-alist)
     ;; This is a simple format.
       (replace-match "\\\"" nil t))
     (goto-char (point-min))
     (insert "(\"")
-    (while (re-search-forward "%\\([0-9]+\\)?\\([{}()]\\)" nil t)
+    (while (re-search-forward "%\\([0-9]+\\)?\\([{}()<>]\\)" nil t)
       (let ((number (if (match-beginning 1)
                        (match-string 1) "0"))
            (delim (aref (match-string 2) 0)))
        (if (or (= delim ?\()
-               (= delim ?\{))
-           (replace-match (concat "\"(" (if (= delim ?\() "mouse" "face")
+               (= delim ?\{)
+               (= delim ?\<))
+           (replace-match (concat "\"(" 
+                                  (cond ((= delim ?\() "mouse")
+                                        ((= delim ?\{) "face")
+                                        (t "balloon"))
                                   " " number " \""))
          (replace-match "\")\""))))
     (goto-char (point-max))
             (t
              nil)))
        ;; User-defined spec -- find the spec name.
-       (when (= (setq spec (following-char)) ?u)
+       (when (eq (setq spec (char-after)) ?u)
          (forward-char 1)
-         (setq user-defined (following-char)))
+         (setq user-defined (char-after)))
        (forward-char 1)
        (delete-region spec-beg (point))
 
index 849a2da..560c0e9 100644 (file)
@@ -706,7 +706,7 @@ buffer.
     (save-excursion
       (beginning-of-line)
       ;; If this group it killed, then we want to subscribe it.
-      (when (= (following-char) ?K)
+      (when (eq (char-after) ?K)
        (setq sub t))
       (setq group (gnus-browse-group-name))
       (when (and sub
index 5b9d98a..2956d33 100644 (file)
@@ -1772,13 +1772,13 @@ newsgroup."
                       (progn
                         (skip-chars-forward " \t")
                         (not
-                         (or (= (following-char) ?=)
-                             (= (following-char) ?x)
-                             (= (following-char) ?j)))))
+                         (or (eq (char-after) ?=)
+                             (eq (char-after) ?x)
+                             (eq (char-after) ?j)))))
                  (progn
                    (set group (cons min max))
                    ;; if group is moderated, stick in moderation table
-                   (when (= (following-char) ?m)
+                   (when (eq (char-after) ?m)
                      (unless gnus-moderated-hashtb
                        (setq gnus-moderated-hashtb (gnus-make-hashtable)))
                      (gnus-sethash (symbol-name group) t
@@ -1836,7 +1836,7 @@ newsgroup."
       (let (min max group)
        (while (not (eobp))
          (condition-case ()
-             (when (= (following-char) ?2)
+             (when (eq (char-after) ?2)
                (read cur) (read cur)
                (setq min (read cur)
                      max (read cur))
@@ -2053,7 +2053,7 @@ If FORCE is non-nil, the .newsrc file is read."
        (unless (boundp symbol)
          (set symbol nil))
        ;; It was a group name.
-       (setq subscribed (= (following-char) ?:)
+       (setq subscribed (eq (char-after) ?:)
              group (symbol-name symbol)
              reads nil)
        (if (eolp)
@@ -2077,7 +2077,7 @@ If FORCE is non-nil, the .newsrc file is read."
                           (read buf)))
              (widen)
              ;; If the next character is a dash, then this is a range.
-             (if (= (following-char) ?-)
+             (if (eq (char-after) ?-)
                  (progn
                    ;; We read the upper bound of the range.
                    (forward-char 1)
@@ -2099,8 +2099,8 @@ If FORCE is non-nil, the .newsrc file is read."
                (push num1 reads))
              ;; If the next char in ?\n, then we have reached the end
              ;; of the line and return nil.
-             (/= (following-char) ?\n))
-            ((= (following-char) ?\n)
+             (not (eq (char-after) ?\n)))
+            ((eq (char-after) ?\n)
              ;; End of line, so we end.
              nil)
             (t
@@ -2226,7 +2226,7 @@ If FORCE is non-nil, the .newsrc file is read."
                  (gnus-point-at-eol)))
        ;; Search for all "words"...
        (while (re-search-forward "[^ \t,\n]+" eol t)
-         (if (= (char-after (match-beginning 0)) ?!)
+         (if (eq (char-after (match-beginning 0)) ?!)
              ;; If the word begins with a bang (!), this is a "not"
              ;; spec.  We put this spec (minus the bang) and the
              ;; symbol `ignore' into the list.
index 0aa4ec5..227fb58 100644 (file)
@@ -2253,7 +2253,7 @@ marks of articles."
     (while (setq point (pop config))
       (when (and (< point (point-max))
                 (goto-char point)
-                (= (following-char) ?\n))
+                (eq (char-after) ?\n))
        (subst-char-in-region point (1+ point) ?\n ?\r)))))
 
 ;; Various summary mode internalish functions.
@@ -3062,7 +3062,7 @@ Returns HEADER if it was entered in the DEPENDENCIES.  Returns nil otherwise."
 
 (defmacro gnus-nov-read-integer ()
   '(prog1
-       (if (= (following-char) ?\t)
+       (if (eq (char-after) ?\t)
           0
         (let ((num (ignore-errors (read buffer))))
           (if (numberp num) num 0)))
@@ -3102,7 +3102,7 @@ Returns HEADER if it was entered in the DEPENDENCIES.  Returns nil otherwise."
                 (gnus-nov-field)       ; refs
                 (gnus-nov-read-integer) ; chars
                 (gnus-nov-read-integer) ; lines
-                (unless (= (following-char) ?\n)
+                (unless (eq (char-after) ?\n)
                   (gnus-nov-field))))) ; misc
 
       (widen))
@@ -4601,7 +4601,7 @@ This is meant to be called in `gnus-article-internal-prepare-hook'."
          (save-restriction
            (nnheader-narrow-to-headers)
            (goto-char (point-min))
-           (when (or (and (eq (downcase (following-char)) ?x)
+           (when (or (and (eq (downcase (char-after)) ?x)
                           (looking-at "Xref:"))
                      (search-forward "\nXref:" nil t))
              (goto-char (1+ (match-end 0)))
@@ -5125,7 +5125,7 @@ gnus-exit-group-hook is called with no arguments if that value is non-nil."
       (when (gnus-buffer-live-p gnus-article-buffer)
        (save-excursion
          (set-buffer gnus-article-buffer)
-         (mapcar 'mm-destroy-part gnus-article-mime-handles)))
+         (mm-destroy-parts 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)
@@ -5174,7 +5174,7 @@ gnus-exit-group-hook is called with no arguments if that value is non-nil."
       (when (gnus-buffer-live-p gnus-article-buffer)
        (save-excursion
          (set-buffer gnus-article-buffer)
-         (mapcar 'mm-destroy-part gnus-article-mime-handles)))
+         (mm-destroy-parts 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)
@@ -7815,7 +7815,7 @@ marked."
       ;; Go to the right position on the line.
       (goto-char (+ forward (point)))
       ;; Replace the old mark with the new mark.
-      (subst-char-in-region (point) (1+ (point)) (following-char) mark)
+      (subst-char-in-region (point) (1+ (point)) (char-after) mark)
       ;; Optionally update the marks by some user rule.
       (when (eq type 'unread)
         (gnus-data-set-mark
index 4eca76e..87aa453 100644 (file)
@@ -246,6 +246,7 @@ call it with the value of the `gnus-data' text property."
   (let* ((pos (event-closest-point event))
         (data (get-text-property pos 'gnus-data))
         (fun (get-text-property pos 'gnus-callback)))
+    (goto-char pos)
     (when fun
       (funcall fun data))))
 
index ae36a70..301a499 100644 (file)
@@ -250,7 +250,7 @@ is restarted, and sometimes reloaded."
   :link '(custom-manual "(gnus)Exiting Gnus")
   :group 'gnus)
 
-(defconst gnus-version-number "0.36"
+(defconst gnus-version-number "0.37"
   "Version number for this version of Gnus.")
 
 (defconst gnus-version (format "Pterodactyl Gnus v%s" gnus-version-number)
index 2ef7d61..713b14a 100644 (file)
     (let (c)
       (ietf-drums-init string)
       (while (not (eobp))
-       (setq c (following-char))
+       (setq c (char-after))
        (cond
         ((eq c ?\")
          (forward-sexp 1))
     (ietf-drums-init string)
     (let (c)
       (while (not (eobp))
-       (setq c (following-char))
+       (setq c (char-after))
        (cond
         ((eq c ?\")
          (forward-sexp 1))
     (ietf-drums-init string)
     (let (result c)
       (while (not (eobp))
-       (setq c (following-char))
+       (setq c (char-after))
        (cond
         ((eq c ?\")
          (forward-sexp 1))
     (let (display-name mailbox c display-string)
       (ietf-drums-init string)
       (while (not (eobp))
-       (setq c (following-char))
+       (setq c (char-after))
        (cond
         ((or (eq c ? )
              (eq c ?\t))
     (let ((beg (point))
          pairs c)
       (while (not (eobp))
-       (setq c (following-char))
+       (setq c (char-after))
        (cond
         ((memq c '(?\" ?< ?\())
          (forward-sexp 1))
index ab71695..74cf2bf 100644 (file)
@@ -272,11 +272,12 @@ not.")
 
 (defun mailcap-save-binary-file ()
   (goto-char (point-min))
-  (let ((file (read-file-name
-              "Filename to save as: "
-              (or mailcap-download-directory "~/")))
-       (require-final-newline nil))
-    (write-region (point-min) (point-max) file)
+  (unwind-protect
+      (let ((file (read-file-name
+                  "Filename to save as: "
+                  (or mailcap-download-directory "~/")))
+           (require-final-newline nil))
+       (write-region (point-min) (point-max) file))
     (kill-buffer (current-buffer))))
 
 (defun mailcap-maybe-eval ()
@@ -360,7 +361,7 @@ If FORCE, re-parse even if already parsed."
        (downcase-region save-pos (point))
        (setq minor
              (cond
-              ((= ?* (or (char-after save-pos) 0)) ".*")
+              ((eq ?* (or (char-after save-pos) 0)) ".*")
               ((= (point) save-pos) ".*")
               (t (buffer-substring save-pos (point)))))
        (skip-chars-forward "; \t\n")
@@ -370,7 +371,7 @@ If FORCE, re-parse even if already parsed."
        (skip-chars-forward "; \t\n")
        (setq save-pos (point))
        (skip-chars-forward "^;\n")
-       (if (= (or (char-after save-pos) 0) ?')
+       (if (eq (or (char-after save-pos) 0) ?')
            (setq viewer (progn
                           (narrow-to-region (1+ save-pos) (point))
                           (goto-char (point-min))
@@ -411,7 +412,7 @@ If FORCE, re-parse even if already parsed."
        (downcase-region name-pos (point))
        (setq name (buffer-substring name-pos (point)))
        (skip-chars-forward " \t\n")
-       (if (/= (or (char-after (point)) 0)  ?=) ; There is no value
+       (if (not (eq (or (char-after (point)) 0) ?=)) ; There is no value
            (setq value nil)
          (skip-chars-forward " \t\n=")
          (setq val-pos (point))
@@ -425,7 +426,7 @@ If FORCE, re-parse even if already parsed."
                  (error (goto-char (point-max)))))
            (while (not done)
              (skip-chars-forward "^;")
-             (if (= (or (char-after (1- (point))) 0) ?\\ )
+             (if (eq (or (char-after (1- (point))) 0) ?\\ )
                  (progn
                    (subst-char-in-region (1- (point)) (point) ?\\ ? )
                    (skip-chars-forward ";"))
index 5e2b097..6eb5669 100644 (file)
@@ -60,7 +60,7 @@ that name."
        start end)
     (while (and (setq start (point))
                (> (skip-chars-forward "^\0- :") 0)
-               (= (following-char) ?:)
+               (eq (char-after) ?:)
                (setq end (point))
                (progn (forward-char)
                       (> (skip-chars-forward " \t") 0)))
index 0c35251..9eadf92 100644 (file)
@@ -997,12 +997,12 @@ The cdr of ech entry is a function for applying the face to a region.")
                               (not paren))))
                 (push (buffer-substring beg (point)) elems)
                 (setq beg (match-end 0)))
-               ((= (following-char) ?\")
+               ((eq (char-after) ?\")
                 (setq quoted (not quoted)))
-               ((and (= (following-char) ?\()
+               ((and (eq (char-after) ?\()
                      (not quoted))
                 (setq paren t))
-               ((and (= (following-char) ?\))
+               ((and (eq (char-after) ?\))
                      (not quoted))
                 (setq paren nil))))
        (nreverse elems)))))
@@ -2547,7 +2547,7 @@ to find out how to use this."
       (while (not (eobp))
        (when (not (looking-at "[ \t\n]"))
          (setq sum (logxor (ash sum 1) (if (natnump sum) 0 1)
-                           (following-char))))
+                           (char-after))))
        (forward-char 1)))
     sum))
 
@@ -2947,7 +2947,7 @@ Headers already prepared in the buffer are not modified."
                  (progn
                    ;; The header was found.  We insert a space after the
                    ;; colon, if there is none.
-                   (if (/= (following-char) ? ) (insert " ") (forward-char 1))
+                   (if (/= (char-after) ? ) (insert " ") (forward-char 1))
                    ;; Find out whether the header is empty...
                    (looking-at "[ \t]*$")))
          ;; So we find out what value we should insert.
@@ -3056,7 +3056,7 @@ Headers already prepared in the buffer are not modified."
       (goto-char (point-min))
       (while (not (eobp))
        (skip-chars-forward "^,\"" (point-max))
-       (if (or (= (following-char) ?,)
+       (if (or (eq (char-after) ?,)
                (eobp))
            (when (not quoted)
              (if (and (> (current-column) 78)
@@ -3121,7 +3121,7 @@ Headers already prepared in the buffer are not modified."
     (search-backward ":" )
     (widen)
     (forward-char 1)
-    (if (= (following-char) ? )
+    (if (eq (char-after) ? )
        (forward-char 1)
       (insert " ")))
    (t
@@ -3899,7 +3899,7 @@ which specify the range to operate on."
       (goto-char (min start end))
       (while (< (point) end1)
        (or (looking-at "[_\^@- ]")
-           (insert (following-char) "\b"))
+           (insert (char-after) "\b"))
        (forward-char 1)))))
 
 ;;;###autoload
@@ -3913,7 +3913,7 @@ which specify the range to operate on."
       (move-marker end1 (max start end))
       (goto-char (min start end))
       (while (re-search-forward "\b" end1 t)
-       (if (eq (following-char) (char-after (- (point) 2)))
+       (if (eq (char-after) (char-after (- (point) 2)))
            (delete-char -2))))))
 
 (defalias 'message-exchange-point-and-mark 'exchange-point-and-mark)
index 261d05b..93f6e08 100644 (file)
@@ -62,7 +62,7 @@ If no encoding was done, nil is returned."
                    (not (mm-coding-system-equal
                          mime-charset buffer-file-coding-system)))
            (while (not (eobp))
-             (if (eq (char-charset (following-char)) 'ascii)
+             (if (eq (char-charset (char-after)) 'ascii)
                  (when start
                    (save-restriction
                      (narrow-to-region start (point))
@@ -135,6 +135,7 @@ The characters in CHARSET should then be decoded."
        (when (and charset
                   (setq mule-charset (mm-charset-to-coding-system charset))
                   buffer-file-coding-system
+                  enable-multibyte-characters
                   (or (not (eq mule-charset 'ascii))
                       (setq mule-charset rfc2047-default-charset)))
          (mm-decode-coding-region (point-min) (point-max) mule-charset))))))
index 24d3de7..bac00f6 100644 (file)
@@ -56,7 +56,7 @@
     ("text/plain" mm-inline-text t)
     ("text/enriched" mm-inline-text t)
     ("text/richtext" mm-inline-text t)
-    ("text/html" mm-inline-text (featurep 'w3))
+    ("text/html" mm-inline-text (locate-library "w3"))
     ("message/delivery-status" mm-inline-text t)
     ("audio/wav" mm-inline-audio
      (and (or (featurep 'nas-sound) (featurep 'native-sound))
          (buffer-disable-undo)
          (mm-set-buffer-file-coding-system 'no-conversion)
          (insert-buffer-substring cur)
-         (funcall method)
-         (mm-handle-set-undisplayer handle (current-buffer)))
+         (message "Viewing with %s" method)
+         (let ((mm (current-buffer)))
+           (unwind-protect
+               (funcall method)
+             (mm-handle-set-undisplayer handle mm))))
       (let* ((dir (make-temp-name (expand-file-name "emm." mm-tmp-directory)))
             (filename (mail-content-type-get
                        (mm-handle-disposition handle) 'filename))
          (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" shell-file-name "-c"
-                                (format method
-                                        (mm-quote-arg file)))
-               (start-process "*display*" (generate-new-buffer "*mm*")
-                              shell-file-name
-                              "-c" (format method
-                                           (mm-quote-arg file)))))
-       (mm-handle-set-undisplayer handle (cons file process))
+       (message "Viewing with %s" method)
+       (unwind-protect
+           (setq process
+                 (if needsterm
+                     (start-process "*display*" nil
+                                    "xterm"
+                                    "-e" shell-file-name "-c"
+                                    (format method
+                                            (mm-quote-arg file)))
+                   (start-process "*display*" (generate-new-buffer "*mm*")
+                                  shell-file-name
+                                  "-c" (format method
+                                               (mm-quote-arg file)))))
+         (mm-handle-set-undisplayer handle (cons file process)))
        (message "Displaying %s..." (format method file))))))
 
 (defun mm-remove-parts (handles)
index f7c7ed5..6069df9 100644 (file)
@@ -168,7 +168,8 @@ used as the line break code type of the coding system."
 
 (defsubst mm-enable-multibyte ()
   "Enable multibyte in the current buffer."
-  (when (fboundp 'set-buffer-multibyte)
+  (when (and (fboundp 'set-buffer-multibyte)
+            (default-value enable-multibyte-characters))
     (set-buffer-multibyte t)))
 
 (defsubst mm-disable-multibyte ()
@@ -206,15 +207,17 @@ See also `with-temp-file' and `with-output-to-string'."
         (with-temp-buffer ,@forms)
        (let ((,multibyte (default-value enable-multibyte-characters))
             ,temp-buffer)
-        (setq-default enable-multibyte-characters nil)
-        (setq ,temp-buffer
-              (get-buffer-create (generate-new-buffer-name " *temp*")))
         (unwind-protect
-            (with-current-buffer ,temp-buffer
-              (let (buffer-file-coding-system)
-                ,@forms))
-          (and (buffer-name ,temp-buffer)
-               (kill-buffer ,temp-buffer))
+            (progn
+              (setq-default enable-multibyte-characters nil)
+              (setq ,temp-buffer
+                    (get-buffer-create (generate-new-buffer-name " *temp*")))
+              (unwind-protect
+                  (with-current-buffer ,temp-buffer
+                    (let (buffer-file-coding-system)
+                      ,@forms))
+                (and (buffer-name ,temp-buffer)
+                     (kill-buffer ,temp-buffer))))
           (setq-default enable-multibyte-characters ,multibyte))))))
 (put 'mm-with-unibyte-buffer 'lisp-indent-function 0)
 (put 'mm-with-unibyte-buffer 'edebug-form-spec '(body))
index eed099c..b8efebe 100644 (file)
@@ -2,7 +2,7 @@
 ;; Copyright (c) 1998 by Shenghuo Zhu <zsh@cs.rochester.edu>
 
 ;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
-;; $Revision: 1.1 $
+;; $Revision: 5.1 $
 ;; Keywords: news postscript uudecode binhex shar
   
 ;; This file is not part of GNU Emacs, but the same permissions
                     '("application/x-shar") nil nil nil nil))) 
             result)
            (setq text-start end-char))))
-      (if (and result
-              (> start-char text-start))
-         (push
-          (list (mm-uu-copy-to-buffer text-start (point-max)) 
-                '("text/plain") nil nil nil nil) 
-          result))
-      (nreverse result))))
+      (when result
+       (if (> start-char text-start)
+           (push
+            (list (mm-uu-copy-to-buffer text-start (point-max)) 
+                  '("text/plain") nil nil nil nil) 
+            result))
+       (setq result (cons "multipart/mixed" (nreverse result))))
+      result)))
 
 (provide 'mm-uu)
 
index f43e206..7e165f5 100644 (file)
@@ -188,7 +188,7 @@ from the document.")
                (insert-buffer-substring
                 nndoc-current-buffer (car entry) (nth 1 entry)))
              (goto-char (point-max))
-             (unless (= (char-after (1- (point))) ?\n)
+             (unless (eq (char-after (1- (point))) ?\n)
                (insert "\n"))
              (insert (format "Lines: %d\n" (nth 4 entry)))
              (insert ".\n")))
index aea9620..ed5a021 100644 (file)
@@ -270,7 +270,7 @@ on your system, you could say something like:
 
 (defmacro nnheader-nov-read-integer ()
   '(prog1
-       (if (= (following-char) ?\t)
+       (if (eq (char-after) ?\t)
           0
         (let ((num (ignore-errors (read (current-buffer)))))
           (if (numberp num) num 0)))
@@ -290,7 +290,7 @@ on your system, you could say something like:
      (nnheader-nov-field)              ; refs
      (nnheader-nov-read-integer)       ; chars
      (nnheader-nov-read-integer)       ; lines
-     (if (= (following-char) ?\n)
+     (if (eq (char-after) ?\n)
         nil
        (nnheader-nov-field))           ; misc
      )))
@@ -715,7 +715,7 @@ If FILE, find the \".../etc/PACKAGE\" file instead."
       (when (string-match (car ange-ftp-path-format) path)
        (ange-ftp-re-read-dir path)))))
 
-(defvar nnheader-file-coding-system 'raw-text
+(defvar nnheader-file-coding-system 'no-conversion
   "Coding system used in file backends of Gnus.")
 
 (defun nnheader-insert-file-contents (filename &optional visit beg end replace)
index 950ce0d..f59acca 100644 (file)
@@ -803,7 +803,7 @@ is a spool.  If not using procmail, return GROUP."
          (when (and (or (bobp)
                         (save-excursion
                           (forward-line -1)
-                          (= (following-char) ?\n)))
+                          (eq (char-after) ?\n)))
                     (save-excursion
                       (forward-line 1)
                       (while (looking-at ">From \\|From ")
@@ -832,7 +832,7 @@ is a spool.  If not using procmail, return GROUP."
          (when (and (or (bobp)
                         (save-excursion
                           (forward-line -1)
-                          (= (following-char) ?\n)))
+                          (eq (char-after) ?\n)))
                     (save-excursion
                       (forward-line 1)
                       (while (looking-at ">From \\|From ")
@@ -1702,11 +1702,11 @@ If ARGS, PROMPT is used as an argument to `format'."
        (goto-char (point-min))
        (while (re-search-forward "[^ \t=]+" nil t)
          (setq name (match-string 0))
-         (if (not (= (following-char) ?=))
+         (if (not (eq (char-after) ?=))
              ;; Implied "yes".
              (setq value "yes")
            (forward-char 1)
-           (if (not (= (following-char) ?\"))
+           (if (not (eq (char-after) ?\"))
                (if (not (looking-at "[^ \t]"))
                    ;; Implied "no".
                    (setq value "no")
index 228f50a..354dc72 100644 (file)
@@ -396,7 +396,7 @@ If this variable is nil, which is the default, no timers are set.")
   (cond
    ;; A result that starts with a 2xx code is terminated by
    ;; a line with only a "." on it.
-   ((eq (following-char) ?2)
+   ((eq (char-after) ?2)
     (if (re-search-forward "\n\\.\r?\n" nil t)
        t
       nil))
index a6e92f5..b1d4119 100644 (file)
@@ -385,7 +385,7 @@ to virtual article number.")
     (insert "\t"))
 
   ;; Remove any spaces at the beginning of the Xref field.
-  (while (= (char-after (1- (point))) ? )
+  (while (eq (char-after (1- (point))) ? )
     (forward-char -1)
     (delete-char 1))
 
@@ -417,7 +417,7 @@ to virtual article number.")
 
   ;; Ensure a trailing \t.
   (end-of-line)
-  (or (= (char-after (1- (point))) ?\t)
+  (or (eq (char-after (1- (point))) ?\t)
       (insert ?\t)))
 
 
index e26f927..f0c7397 100644 (file)
   (save-excursion
     (goto-char from)
     (while (search-forward "=" to t)
-      (cond ((eq (following-char) ?\n)
+      (cond ((eq (char-after) ?\n)
             (delete-char -1)
             (delete-char 1))
            ((and
-             (memq (following-char) quoted-printable-encoding-characters)
+             (memq (char-after) quoted-printable-encoding-characters)
              (memq (char-after (1+ (point)))
                    quoted-printable-encoding-characters))
             (subst-char-in-region
index 2f5b272..8561c72 100644 (file)
@@ -2,7 +2,7 @@
 ;; Copyright (c) 1998 by Shenghuo Zhu <zsh@cs.rochester.edu>
 
 ;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
-;; $Revision: 1.3 $
+;; $Revision: 5.1 $
 ;; Keywords: news HZ 
 ;; Time-stamp: <Tue Oct  6 23:48:49 EDT 1998 zsh>
   
@@ -100,10 +100,10 @@ ftp://ftp.math.psu.edu/pub/simpson/chinese/hzp/hzp.doc"
                       (if (eq firstc ?{) 'cn-gb-2312 'cn-big5))))
            (goto-char (point-min))
            (while (search-forward "~" (point-max) t)  
-             (cond ((eq (following-char) ?\n)
+             (cond ((eq (char-after) ?\n)
                     (delete-char -1)
                     (delete-char 1))
-                 ((eq (following-char) ?~)
+                 ((eq (char-after) ?~)
                   (delete-char 1)))))))))
 
 (defun rfc1843-decode-string (string)
index e7a0417..cb0d53d 100644 (file)
@@ -46,18 +46,18 @@ The list will be on the form
       (let ((table (copy-syntax-table ietf-drums-syntax-table)))
        (modify-syntax-entry ?\' "w" table)
        (set-syntax-table table))
-      (setq c (following-char))
+      (setq c (char-after))
       (when (and (memq c ttoken)
                 (not (memq c stoken)))
        (setq type (downcase (buffer-substring
                              (point) (progn (forward-sexp 1) (point)))))
        ;; Do the params
        (while (not (eobp))
-         (setq c (following-char))
+         (setq c (char-after))
          (unless (eq c ?\;)
            (error "Invalid header: %s" string))
          (forward-char 1)
-         (setq c (following-char))
+         (setq c (char-after))
          (if (and (memq c ttoken)
                   (not (memq c stoken)))
              (setq attribute
@@ -66,21 +66,21 @@ The list will be on the form
                      (buffer-substring
                       (point) (progn (forward-sexp 1) (point))))))
            (error "Invalid header: %s" string))
-         (setq c (following-char))
+         (setq c (char-after))
          (setq encoded nil)
          (when (eq c ?*)
            (forward-char 1)
-           (setq c (following-char))
+           (setq c (char-after))
            (when (memq c ntoken)
              (setq number
                    (string-to-number
                     (buffer-substring
                      (point) (progn (forward-sexp 1) (point)))))
-             (setq c (following-char))
+             (setq c (char-after))
              (when (eq c ?*)
                (setq encoded t)
                (forward-char 1)
-               (setq c (following-char)))))
+               (setq c (char-after)))))
          ;; See if we have any previous continuations.
          (when (and prev-attribute
                     (not (eq prev-attribute attribute)))
@@ -90,7 +90,7 @@ The list will be on the form
          (unless (eq c ?=)
            (error "Invalid header: %s" string))
          (forward-char 1)
-         (setq c (following-char))
+         (setq c (char-after))
          (cond
           ((eq c ?\")
            (setq value
index e6c13f7..ac1a65f 100644 (file)
@@ -294,10 +294,10 @@ Mouse button3 - menu"))
   (save-excursion
     (goto-char start)
     (when (and (re-search-backward "[()]" nil t)
-              (= (following-char) ?\()
+              (eq (char-after) ?\()
               (goto-char end)
               (or (not (re-search-forward "[()]" nil t))
-                  (= (char-after (1- (point))) ?\()))
+                  (eq (char-after (1- (point))) ?\()))
       t)))
 
 (defvar gnus-article-buffer)
index 6ffd9a0..e5d078c 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus
-@settitle Pterodactyl Gnus 0.36 Manual
+@settitle Pterodactyl Gnus 0.37 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -318,7 +318,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
-@title Pterodactyl Gnus 0.36 Manual
+@title Pterodactyl Gnus 0.37 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -354,7 +354,7 @@ can be gotten by any nefarious means you can think of---@sc{nntp}, local
 spool or your mbox file.  All at the same time, if you want to push your
 luck.
 
-This manual corresponds to Pterodactyl Gnus 0.36.
+This manual corresponds to Pterodactyl Gnus 0.37.
 
 @end ifinfo
 
@@ -18214,6 +18214,9 @@ Bouncing articles should do MIME.
 Crossposted articles should "inherit" the % or @ mark from the other
 groups it has been crossposted to, or something.  (Agent.)
 
+@item
+`S D r' should allow expansion of aliases.
+
 @item
 Solve the halting problem.
 
index e0f3892..a47d69c 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename message
-@settitle Pterodactyl Message 0.36 Manual
+@settitle Pterodactyl Message 0.37 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -42,7 +42,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
-@title Pterodactyl Message 0.36 Manual
+@title Pterodactyl Message 0.37 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -83,7 +83,7 @@ Message mode buffers.
 * Key Index::         List of Message mode keys.
 @end menu
 
-This manual corresponds to Pterodactyl Message 0.36.  Message is
+This manual corresponds to Pterodactyl Message 0.37.  Message is
 distributed with the Gnus distribution bearing the same version number
 as this manual.