aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiles Bader <[email protected]>2007-06-14 10:02:55 +0000
committerMiles Bader <[email protected]>2007-06-14 10:02:55 +0000
commit524705ae2da95c571fedb83b3a1c3a80e1335a72 (patch)
tree81902cb72a561aa7ae0af419c8481fc10965f40e
parent1f445a397e3411eda2c6baf712b7a48a7de26c8d (diff)
Merge from gnus--rel--5.10
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: [email protected]/emacs--rel--22--patch-44
-rw-r--r--lisp/gnus/ChangeLog44
-rw-r--r--lisp/gnus/gnus-art.el15
-rw-r--r--lisp/gnus/gnus-ems.el123
-rw-r--r--lisp/gnus/gnus-start.el3
-rw-r--r--lisp/gnus/mm-decode.el25
-rw-r--r--man/gnus.texi16
6 files changed, 158 insertions, 68 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index e5b314bf20..f93bc55eb6 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,21 +1,50 @@
+2007-06-08 Katsumi Yamaoka <[email protected]>
+
+ * 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 <[email protected]>
- * 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 <[email protected]>
* 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 <[email protected]>
+
+ * 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 <[email protected]>
* 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 <[email protected]>
+
+ * message.el (message-narrow-to-headers-or-head): Ignore
+ mail-header-separator in the body.
+
+2007-05-10 Reiner Steib <[email protected]>
+
+ * gnus-art.el (gnus-article-mode): Fix comment about displaying
+ non-break space.
2007-05-09 Didier Verna <[email protected]>
@@ -35,6 +64,11 @@
(mm-inline-text-html-render-with-w3m-standalone)
(mm-inline-render-with-function): Use mail-parse-charset by default.
+2007-04-18 Levin Du <[email protected]> (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 <[email protected]>
* gnus-msg.el (gnus-inews-yank-articles): Use
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index 83e4ec71b7..90af074031 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -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
diff --git a/lisp/gnus/gnus-ems.el b/lisp/gnus/gnus-ems.el
index 60e66adc98..4400b81f04 100644
--- a/lisp/gnus/gnus-ems.el
+++ b/lisp/gnus/gnus-ems.el
@@ -172,40 +172,95 @@
(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.
diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el
index 9fbab8b340..d906cec6c6 100644
--- a/lisp/gnus/gnus-start.el
+++ b/lisp/gnus/gnus-start.el
@@ -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))
diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el
index 6d52d8b2f1..028855ab34 100644
--- a/lisp/gnus/mm-decode.el
+++ b/lisp/gnus/mm-decode.el
@@ -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."
diff --git a/man/gnus.texi b/man/gnus.texi
index a3026251cb..85167d5343 100644
--- a/man/gnus.texi
+++ b/man/gnus.texi
@@ -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)