Merge from gnus--rel--5.10
authorMiles Bader <miles@gnu.org>
Thu, 14 Jun 2007 10:02:55 +0000 (10:02 +0000)
committerMiles Bader <miles@gnu.org>
Thu, 14 Jun 2007 10:02:55 +0000 (10:02 +0000)
Patches applied:

 * emacs--devo--0  (patch 725, 740-741, 749, 768, 777, 786, 788-789, 792)

   - Merge from gnus--rel--5.10
   - Update from CVS
   - Merge from emacs--rel--22, gnus--rel--5.10

 * gnus--rel--5.10  (patch 217-229)

   - Update from CVS
   - Merge from emacs--devo--0, emacs--rel--22

Revision: emacs@sv.gnu.org/emacs--rel--22--patch-44

lisp/gnus/ChangeLog
lisp/gnus/gnus-art.el
lisp/gnus/gnus-ems.el
lisp/gnus/gnus-start.el
lisp/gnus/mm-decode.el
man/gnus.texi

index e5b314b..f93bc55 100644 (file)
@@ -1,21 +1,50 @@
+2007-06-08  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * gnus-ems.el (gnus-x-splash): Make it work.
+
+       * gnus-start.el (gnus-1): Relax restrictions that prevent gnus-x-splash
+       from being used.
+
+       * lpath.el: Bind line-spacing and tool-bar-mode for XEmacs.
+
+       * gnus-art.el (gnus-article-summary-command-nosave): Correct the order
+       of the arguments passed to pop-to-buffer.
+       (gnus-article-read-summary-keys): Ditto.
+
 2007-06-07  Juanma Barranquero  <lekktu@gmail.com>
 
-       * gnus-art.el (gnus-split-methods):
-       * mail-source.el (mail-source-delete-old-incoming-confirm):
-       Fix typo in docstring.
+       * gnus-art.el (gnus-split-methods): Fix typo in docstring.
 
 2007-06-06  Juanma Barranquero  <lekktu@gmail.com>
 
        * gnus-diary.el (gnus-diary-time-format, gnus-summary-sort-by-schedule):
        * gnus-sum.el (gnus-summary-highlight):
+       * mail-source.el (mail-source-delete-old-incoming-confirm):
        * nndiary.el (nndiary-reminders): Fix typos in docstrings.
 
+2007-06-04  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * gnus-art.el (gnus-mime-view-part-externally)
+       (gnus-mime-view-part-internally): Fix predicate function passed to
+       completing-read.
+
+       * mm-decode.el (mm-image-fit-p): Return t if argument is not an image;
+       return t if image size is just the same as window size.
+
 2007-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
 
        * message.el (message-pop-to-buffer): Add switch-function argument.
        (message-mail): Pass switch-function argument to it.
-       (message-narrow-to-headers-or-head): Ignore mail-header-separator in
-       the body.
+
+2007-05-24  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * message.el (message-narrow-to-headers-or-head): Ignore
+       mail-header-separator in the body.
+
+2007-05-10  Reiner Steib  <Reiner.Steib@gmx.de>
+
+       * gnus-art.el (gnus-article-mode): Fix comment about displaying
+       non-break space.
 
 2007-05-09  Didier Verna  <didier@xemacs.org>
 
        (mm-inline-text-html-render-with-w3m-standalone)
        (mm-inline-render-with-function): Use mail-parse-charset by default.
 
+2007-04-18  Levin Du  <zslevin@gmail.com>  (tiny change)
+
+       * calendar/parse-time.el (parse-time-string-chars): Check if CHAR
+       is less than the length of parse-time-syntax.
+
 2007-04-10  Katsumi Yamaoka  <yamaoka@jpl.org>
 
        * gnus-msg.el (gnus-inews-yank-articles): Use
index 83e4ec7..90af074 100644 (file)
@@ -3925,7 +3925,8 @@ commands:
   (make-local-variable 'gnus-article-image-alist)
   (make-local-variable 'gnus-article-charset)
   (make-local-variable 'gnus-article-ignored-charsets)
-  ;; Prevent recent Emacsen from displaying non-break space as "\ ".
+  ;; Prevent Emacs 22 from displaying non-break space with `nobreak-space'
+  ;; face.
   (set (make-local-variable 'nobreak-char-display) nil)
   (setq cursor-in-non-selected-windows nil)
   (gnus-set-default-directory)
@@ -4673,7 +4674,7 @@ specified charset."
          (mm-enable-external t))
     (if (not (stringp method))
        (gnus-mime-view-part-as-type
-        nil (lambda (type) (stringp (mailcap-mime-info type))))
+        nil (lambda (types) (stringp (mailcap-mime-info (car types)))))
       (when handle
        (if (mm-handle-undisplayer handle)
            (mm-remove-part handle)
@@ -4694,7 +4695,7 @@ If no internal viewer is available, use an external viewer."
         (inhibit-read-only t))
     (if (not (mm-inlinable-p handle))
         (gnus-mime-view-part-as-type
-         nil (lambda (type) (mm-inlinable-p handle type)))
+         nil (lambda (types) (mm-inlinable-p handle (car types))))
       (when handle
        (if (mm-handle-undisplayer handle)
            (mm-remove-part handle)
@@ -5606,7 +5607,7 @@ not have a face in `gnus-article-boring-faces'."
   "Execute the last keystroke in the summary buffer."
   (interactive)
   (let (func)
-    (pop-to-buffer gnus-article-current-summary 'norecord)
+    (pop-to-buffer gnus-article-current-summary nil 'norecord)
     (setq func (lookup-key (current-local-map) (this-command-keys)))
     (call-interactively func)))
 
@@ -5645,7 +5646,7 @@ not have a face in `gnus-article-boring-faces'."
            (member keys nosave-in-article))
        (let (func)
          (save-window-excursion
-           (pop-to-buffer gnus-article-current-summary 'norecord)
+           (pop-to-buffer gnus-article-current-summary nil 'norecord)
            ;; We disable the pick minor mode commands.
            (let (gnus-pick-mode)
              (setq func (lookup-key (current-local-map) keys))))
@@ -5657,14 +5658,14 @@ not have a face in `gnus-article-boring-faces'."
            (call-interactively func)
            (setq new-sum-point (point)))
          (when (member keys nosave-but-article)
-           (pop-to-buffer gnus-article-buffer 'norecord)))
+           (pop-to-buffer gnus-article-buffer nil 'norecord)))
       ;; These commands should restore window configuration.
       (let ((obuf (current-buffer))
            (owin (current-window-configuration))
            (opoint (point))
            win func in-buffer selected new-sum-start new-sum-hscroll)
        (cond (not-restore-window
-              (pop-to-buffer gnus-article-current-summary 'norecord))
+              (pop-to-buffer gnus-article-current-summary nil 'norecord))
              ((setq win (get-buffer-window gnus-article-current-summary))
               (select-window win))
              (t
index 60e66ad..4400b81 100644 (file)
 
 (defun gnus-x-splash ()
   "Show a splash screen using a pixmap in the current buffer."
-  (let ((dir (nnheader-find-etc-directory "gnus"))
-       pixmap file height beg i)
-    (save-excursion
-      (switch-to-buffer (gnus-get-buffer-create gnus-group-buffer))
-      (let ((buffer-read-only nil)
-           width height)
-       (erase-buffer)
-       (when (and dir
-                  (file-exists-p (setq file
-                                       (expand-file-name "x-splash" dir))))
-         (let ((coding-system-for-read 'raw-text)
-               default-enable-multibyte-characters)
-           (with-temp-buffer
-             (insert-file-contents file)
-             (goto-char (point-min))
-             (ignore-errors
-               (setq pixmap (read (current-buffer)))))))
-       (when pixmap
-         (make-face 'gnus-splash)
-         (setq height (/ (car pixmap) (frame-char-height))
-               width (/ (cadr pixmap) (frame-char-width)))
-         (set-face-foreground 'gnus-splash "Brown")
-         (set-face-stipple 'gnus-splash pixmap)
-         (insert-char ?\n (* (/ (window-height) 2 height) height))
-         (setq i height)
-         (while (> i 0)
-           (insert-char ?\  (* (/ (window-width) 2 width) width))
-           (setq beg (point))
-           (insert-char ?\  width)
-           (set-text-properties beg (point) '(face gnus-splash))
-           (insert ?\n)
-           (decf i))
-         (goto-char (point-min))
-         (sit-for 0))))))
+  (interactive)
+  (unless window-system
+    (error "`gnus-x-splash' requires running on the window system"))
+  (switch-to-buffer (gnus-get-buffer-create (if (or (gnus-alive-p)
+                                                   (interactive-p))
+                                               "*gnus-x-splash*"
+                                             gnus-group-buffer)))
+  (let ((inhibit-read-only nil)
+       (file (nnheader-find-etc-directory "images/gnus/x-splash" t))
+       pixmap fcw fch width height fringes sbars left yoffset top ls)
+    (erase-buffer)
+    (when (and file
+              (ignore-errors
+               (let ((coding-system-for-read 'raw-text)
+                     default-enable-multibyte-characters)
+                 (with-temp-buffer
+                   (insert-file-contents file)
+                   (goto-char (point-min))
+                   (setq pixmap (read (current-buffer)))))))
+      (setq fcw (float (frame-char-width))
+           fch (float (frame-char-height))
+           width (/ (car pixmap) fcw)
+           height (/ (cadr pixmap) fch)
+           fringes (if (fboundp 'window-fringes)
+                       (eval '(window-fringes))
+                     '(10 11 nil))
+           sbars (frame-parameter nil 'vertical-scroll-bars))
+      (cond ((eq sbars 'right)
+            (setq sbars
+                  (cons 0 (/ (or (frame-parameter nil 'scroll-bar-width) 14)
+                             fcw))))
+           (sbars
+            (setq sbars
+                  (cons (/ (or (frame-parameter nil 'scroll-bar-width) 14)
+                           fcw)
+                        0))))
+      (setq left (- (* (round (/ (1- (/ (+ (window-width)
+                                          (car sbars) (cdr sbars)
+                                          (/ (+ (or (car fringes) 0)
+                                                (or (cadr fringes) 0))
+                                             fcw))
+                                       width))
+                                2))
+                      width)
+                   (car sbars)
+                   (/ (or (car fringes) 0) fcw))
+           yoffset (cadr (window-edges))
+           top (max 0 (- (* (max (if (and tool-bar-mode
+                                          (not (featurep 'gtk))
+                                          (eq (frame-first-window)
+                                              (selected-window)))
+                                     1 0)
+                                 (round (/ (1- (/ (+ (1- (window-height))
+                                                     (* 2 yoffset))
+                                                  height))
+                                           2)))
+                            height)
+                         yoffset))
+           ls (/ (or line-spacing 0) fch)
+           height (max 0 (- height ls)))
+      (cond ((>= (- top ls) 1)
+            (insert
+             (propertize
+              " "
+              'display `(space :width 0 :ascent 100))
+             "\n"
+             (propertize
+              " "
+              'display `(space :width 0 :height ,(- top ls 1) :ascent 100))
+             "\n"))
+           ((> (- top ls) 0)
+            (insert
+             (propertize
+              " "
+              'display `(space :width 0 :height ,(- top ls) :ascent 100))
+             "\n")))
+      (if (and (> width 0) (> left 0))
+         (insert (propertize
+                  " "
+                  'display `(space :width ,left :height ,height :ascent 0)))
+       (setq width (+ width left)))
+      (when (> width 0)
+       (insert (propertize
+                " "
+                'display `(space :width ,width :height ,height :ascent 0)
+                'face `(gnus-splash :stipple ,pixmap))))
+      (goto-char (if (<= (- top ls) 0) (1- (point)) (point-min)))
+      (redraw-frame (selected-frame))
+      (sit-for 0))))
 
 ;;; Image functions.
 
index 9fbab8b..d906cec 100644 (file)
@@ -758,8 +758,7 @@ prompt the user for the name of an NNTP server to use."
       (cond
        ((featurep 'xemacs)
        (gnus-xmas-splash))
-       ((and window-system
-            (= (frame-height) (1+ (window-height))))
+       (window-system
        (gnus-x-splash))))
 
     (let ((level (and (numberp arg) (> arg 0) arg))
index 6d52d8b..028855a 100644 (file)
@@ -1371,18 +1371,19 @@ be determined."
 (defun mm-image-fit-p (handle)
   "Say whether the image in HANDLE will fit the current window."
   (let ((image (mm-get-image handle)))
-    (if (fboundp 'glyph-width)
-       ;; XEmacs' glyphs can actually tell us about their width, so
-       ;; lets be nice and smart about them.
-       (or mm-inline-large-images
-           (and (< (glyph-width image) (window-pixel-width))
-                (< (glyph-height image) (window-pixel-height))))
-      (let* ((size (image-size image))
-            (w (car size))
-            (h (cdr size)))
-       (or mm-inline-large-images
-           (and (< h (1- (window-height))) ; Don't include mode line.
-                (< w (window-width))))))))
+    (or (not image)
+       (if (fboundp 'glyph-width)
+           ;; XEmacs' glyphs can actually tell us about their width, so
+           ;; lets be nice and smart about them.
+           (or mm-inline-large-images
+               (and (<= (glyph-width image) (window-pixel-width))
+                    (<= (glyph-height image) (window-pixel-height))))
+         (let* ((size (image-size image))
+                (w (car size))
+                (h (cdr size)))
+           (or mm-inline-large-images
+               (and (<= h (1- (window-height))) ; Don't include mode line.
+                    (<= w (window-width)))))))))
 
 (defun mm-valid-image-format-p (format)
   "Say whether FORMAT can be displayed natively by Emacs."
index a302625..85167d5 100644 (file)
@@ -4084,8 +4084,8 @@ happens.  You just have to be careful if you do stuff like that.
 @item v
 @kindex v (Group)
 @cindex keys, reserved for users (Group)
-The key @kbd{v} is reserved for users.  You can bind it key to some
-function or better use it as a prefix key.  For example:
+The key @kbd{v} is reserved for users.  You can bind it to some
+command or better use it as a prefix key.  For example:
 
 @lisp
 (define-key gnus-group-mode-map (kbd "v j d")
@@ -4498,8 +4498,8 @@ available in Emacs.
 
 @kindex v (Summary)
 @cindex keys, reserved for users (Summary)
-The key @kbd{v} is reserved for users.  You can bind it key to some
-function or better use it as a prefix key.  For example:
+The key @kbd{v} is reserved for users.  You can bind it to some
+command or better use it as a prefix key.  For example:
 @lisp
 (define-key gnus-summary-mode-map (kbd "v -") "LrS") ;; lower subthread
 @end lisp
@@ -11422,8 +11422,8 @@ buffer.
 
 @kindex v (Article)
 @cindex keys, reserved for users (Article)
-The key @kbd{v} is reserved for users.  You can bind it key to some
-function or better use it as a prefix key.
+The key @kbd{v} is reserved for users.  You can bind it to some
+command or better use it as a prefix key.
 
 A few additional keystrokes are available:
 
@@ -12460,8 +12460,8 @@ Also @pxref{Formatting Variables}.
 @item v
 @kindex v (Server)
 @cindex keys, reserved for users (Server)
-The key @kbd{v} is reserved for users.  You can bind it key to some
-function or better use it as a prefix key.
+The key @kbd{v} is reserved for users.  You can bind it to some
+command or better use it as a prefix key.
 
 @item a
 @kindex a (Server)