aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiles Bader2007-06-14 10:02:55 +0000
committerMiles Bader2007-06-14 10:02:55 +0000
commit524705ae2da95c571fedb83b3a1c3a80e1335a72 (patch)
tree81902cb72a561aa7ae0af419c8481fc10965f40e
parent1f445a397e3411eda2c6baf712b7a48a7de26c8d (diff)
downloademacs-524705ae2da95c571fedb83b3a1c3a80e1335a72.tar.gz
emacs-524705ae2da95c571fedb83b3a1c3a80e1335a72.zip
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: emacs@sv.gnu.org/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 e5b314bf20a..f93bc55eb6e 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,21 +1,50 @@
12007-06-08 Katsumi Yamaoka <yamaoka@jpl.org>
2
3 * gnus-ems.el (gnus-x-splash): Make it work.
4
5 * gnus-start.el (gnus-1): Relax restrictions that prevent gnus-x-splash
6 from being used.
7
8 * lpath.el: Bind line-spacing and tool-bar-mode for XEmacs.
9
10 * gnus-art.el (gnus-article-summary-command-nosave): Correct the order
11 of the arguments passed to pop-to-buffer.
12 (gnus-article-read-summary-keys): Ditto.
13
12007-06-07 Juanma Barranquero <lekktu@gmail.com> 142007-06-07 Juanma Barranquero <lekktu@gmail.com>
2 15
3 * gnus-art.el (gnus-split-methods): 16 * gnus-art.el (gnus-split-methods): Fix typo in docstring.
4 * mail-source.el (mail-source-delete-old-incoming-confirm):
5 Fix typo in docstring.
6 17
72007-06-06 Juanma Barranquero <lekktu@gmail.com> 182007-06-06 Juanma Barranquero <lekktu@gmail.com>
8 19
9 * gnus-diary.el (gnus-diary-time-format, gnus-summary-sort-by-schedule): 20 * gnus-diary.el (gnus-diary-time-format, gnus-summary-sort-by-schedule):
10 * gnus-sum.el (gnus-summary-highlight): 21 * gnus-sum.el (gnus-summary-highlight):
22 * mail-source.el (mail-source-delete-old-incoming-confirm):
11 * nndiary.el (nndiary-reminders): Fix typos in docstrings. 23 * nndiary.el (nndiary-reminders): Fix typos in docstrings.
12 24
252007-06-04 Katsumi Yamaoka <yamaoka@jpl.org>
26
27 * gnus-art.el (gnus-mime-view-part-externally)
28 (gnus-mime-view-part-internally): Fix predicate function passed to
29 completing-read.
30
31 * mm-decode.el (mm-image-fit-p): Return t if argument is not an image;
32 return t if image size is just the same as window size.
33
132007-05-28 Katsumi Yamaoka <yamaoka@jpl.org> 342007-05-28 Katsumi Yamaoka <yamaoka@jpl.org>
14 35
15 * message.el (message-pop-to-buffer): Add switch-function argument. 36 * message.el (message-pop-to-buffer): Add switch-function argument.
16 (message-mail): Pass switch-function argument to it. 37 (message-mail): Pass switch-function argument to it.
17 (message-narrow-to-headers-or-head): Ignore mail-header-separator in 38
18 the body. 392007-05-24 Katsumi Yamaoka <yamaoka@jpl.org>
40
41 * message.el (message-narrow-to-headers-or-head): Ignore
42 mail-header-separator in the body.
43
442007-05-10 Reiner Steib <Reiner.Steib@gmx.de>
45
46 * gnus-art.el (gnus-article-mode): Fix comment about displaying
47 non-break space.
19 48
202007-05-09 Didier Verna <didier@xemacs.org> 492007-05-09 Didier Verna <didier@xemacs.org>
21 50
@@ -35,6 +64,11 @@
35 (mm-inline-text-html-render-with-w3m-standalone) 64 (mm-inline-text-html-render-with-w3m-standalone)
36 (mm-inline-render-with-function): Use mail-parse-charset by default. 65 (mm-inline-render-with-function): Use mail-parse-charset by default.
37 66
672007-04-18 Levin Du <zslevin@gmail.com> (tiny change)
68
69 * calendar/parse-time.el (parse-time-string-chars): Check if CHAR
70 is less than the length of parse-time-syntax.
71
382007-04-10 Katsumi Yamaoka <yamaoka@jpl.org> 722007-04-10 Katsumi Yamaoka <yamaoka@jpl.org>
39 73
40 * gnus-msg.el (gnus-inews-yank-articles): Use 74 * gnus-msg.el (gnus-inews-yank-articles): Use
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index 83e4ec71b79..90af0740318 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -3925,7 +3925,8 @@ commands:
3925 (make-local-variable 'gnus-article-image-alist) 3925 (make-local-variable 'gnus-article-image-alist)
3926 (make-local-variable 'gnus-article-charset) 3926 (make-local-variable 'gnus-article-charset)
3927 (make-local-variable 'gnus-article-ignored-charsets) 3927 (make-local-variable 'gnus-article-ignored-charsets)
3928 ;; Prevent recent Emacsen from displaying non-break space as "\ ". 3928 ;; Prevent Emacs 22 from displaying non-break space with `nobreak-space'
3929 ;; face.
3929 (set (make-local-variable 'nobreak-char-display) nil) 3930 (set (make-local-variable 'nobreak-char-display) nil)
3930 (setq cursor-in-non-selected-windows nil) 3931 (setq cursor-in-non-selected-windows nil)
3931 (gnus-set-default-directory) 3932 (gnus-set-default-directory)
@@ -4673,7 +4674,7 @@ specified charset."
4673 (mm-enable-external t)) 4674 (mm-enable-external t))
4674 (if (not (stringp method)) 4675 (if (not (stringp method))
4675 (gnus-mime-view-part-as-type 4676 (gnus-mime-view-part-as-type
4676 nil (lambda (type) (stringp (mailcap-mime-info type)))) 4677 nil (lambda (types) (stringp (mailcap-mime-info (car types)))))
4677 (when handle 4678 (when handle
4678 (if (mm-handle-undisplayer handle) 4679 (if (mm-handle-undisplayer handle)
4679 (mm-remove-part handle) 4680 (mm-remove-part handle)
@@ -4694,7 +4695,7 @@ If no internal viewer is available, use an external viewer."
4694 (inhibit-read-only t)) 4695 (inhibit-read-only t))
4695 (if (not (mm-inlinable-p handle)) 4696 (if (not (mm-inlinable-p handle))
4696 (gnus-mime-view-part-as-type 4697 (gnus-mime-view-part-as-type
4697 nil (lambda (type) (mm-inlinable-p handle type))) 4698 nil (lambda (types) (mm-inlinable-p handle (car types))))
4698 (when handle 4699 (when handle
4699 (if (mm-handle-undisplayer handle) 4700 (if (mm-handle-undisplayer handle)
4700 (mm-remove-part handle) 4701 (mm-remove-part handle)
@@ -5606,7 +5607,7 @@ not have a face in `gnus-article-boring-faces'."
5606 "Execute the last keystroke in the summary buffer." 5607 "Execute the last keystroke in the summary buffer."
5607 (interactive) 5608 (interactive)
5608 (let (func) 5609 (let (func)
5609 (pop-to-buffer gnus-article-current-summary 'norecord) 5610 (pop-to-buffer gnus-article-current-summary nil 'norecord)
5610 (setq func (lookup-key (current-local-map) (this-command-keys))) 5611 (setq func (lookup-key (current-local-map) (this-command-keys)))
5611 (call-interactively func))) 5612 (call-interactively func)))
5612 5613
@@ -5645,7 +5646,7 @@ not have a face in `gnus-article-boring-faces'."
5645 (member keys nosave-in-article)) 5646 (member keys nosave-in-article))
5646 (let (func) 5647 (let (func)
5647 (save-window-excursion 5648 (save-window-excursion
5648 (pop-to-buffer gnus-article-current-summary 'norecord) 5649 (pop-to-buffer gnus-article-current-summary nil 'norecord)
5649 ;; We disable the pick minor mode commands. 5650 ;; We disable the pick minor mode commands.
5650 (let (gnus-pick-mode) 5651 (let (gnus-pick-mode)
5651 (setq func (lookup-key (current-local-map) keys)))) 5652 (setq func (lookup-key (current-local-map) keys))))
@@ -5657,14 +5658,14 @@ not have a face in `gnus-article-boring-faces'."
5657 (call-interactively func) 5658 (call-interactively func)
5658 (setq new-sum-point (point))) 5659 (setq new-sum-point (point)))
5659 (when (member keys nosave-but-article) 5660 (when (member keys nosave-but-article)
5660 (pop-to-buffer gnus-article-buffer 'norecord))) 5661 (pop-to-buffer gnus-article-buffer nil 'norecord)))
5661 ;; These commands should restore window configuration. 5662 ;; These commands should restore window configuration.
5662 (let ((obuf (current-buffer)) 5663 (let ((obuf (current-buffer))
5663 (owin (current-window-configuration)) 5664 (owin (current-window-configuration))
5664 (opoint (point)) 5665 (opoint (point))
5665 win func in-buffer selected new-sum-start new-sum-hscroll) 5666 win func in-buffer selected new-sum-start new-sum-hscroll)
5666 (cond (not-restore-window 5667 (cond (not-restore-window
5667 (pop-to-buffer gnus-article-current-summary 'norecord)) 5668 (pop-to-buffer gnus-article-current-summary nil 'norecord))
5668 ((setq win (get-buffer-window gnus-article-current-summary)) 5669 ((setq win (get-buffer-window gnus-article-current-summary))
5669 (select-window win)) 5670 (select-window win))
5670 (t 5671 (t
diff --git a/lisp/gnus/gnus-ems.el b/lisp/gnus/gnus-ems.el
index 60e66adc98b..4400b81f041 100644
--- a/lisp/gnus/gnus-ems.el
+++ b/lisp/gnus/gnus-ems.el
@@ -172,40 +172,95 @@
172 172
173(defun gnus-x-splash () 173(defun gnus-x-splash ()
174 "Show a splash screen using a pixmap in the current buffer." 174 "Show a splash screen using a pixmap in the current buffer."
175 (let ((dir (nnheader-find-etc-directory "gnus")) 175 (interactive)
176 pixmap file height beg i) 176 (unless window-system
177 (save-excursion 177 (error "`gnus-x-splash' requires running on the window system"))
178 (switch-to-buffer (gnus-get-buffer-create gnus-group-buffer)) 178 (switch-to-buffer (gnus-get-buffer-create (if (or (gnus-alive-p)
179 (let ((buffer-read-only nil) 179 (interactive-p))
180 width height) 180 "*gnus-x-splash*"
181 (erase-buffer) 181 gnus-group-buffer)))
182 (when (and dir 182 (let ((inhibit-read-only nil)
183 (file-exists-p (setq file 183 (file (nnheader-find-etc-directory "images/gnus/x-splash" t))
184 (expand-file-name "x-splash" dir)))) 184 pixmap fcw fch width height fringes sbars left yoffset top ls)
185 (let ((coding-system-for-read 'raw-text) 185 (erase-buffer)
186 default-enable-multibyte-characters) 186 (when (and file
187 (with-temp-buffer 187 (ignore-errors
188 (insert-file-contents file) 188 (let ((coding-system-for-read 'raw-text)
189 (goto-char (point-min)) 189 default-enable-multibyte-characters)
190 (ignore-errors 190 (with-temp-buffer
191 (setq pixmap (read (current-buffer))))))) 191 (insert-file-contents file)
192 (when pixmap 192 (goto-char (point-min))
193 (make-face 'gnus-splash) 193 (setq pixmap (read (current-buffer)))))))
194 (setq height (/ (car pixmap) (frame-char-height)) 194 (setq fcw (float (frame-char-width))
195 width (/ (cadr pixmap) (frame-char-width))) 195 fch (float (frame-char-height))
196 (set-face-foreground 'gnus-splash "Brown") 196 width (/ (car pixmap) fcw)
197 (set-face-stipple 'gnus-splash pixmap) 197 height (/ (cadr pixmap) fch)
198 (insert-char ?\n (* (/ (window-height) 2 height) height)) 198 fringes (if (fboundp 'window-fringes)
199 (setq i height) 199 (eval '(window-fringes))
200 (while (> i 0) 200 '(10 11 nil))
201 (insert-char ?\ (* (/ (window-width) 2 width) width)) 201 sbars (frame-parameter nil 'vertical-scroll-bars))
202 (setq beg (point)) 202 (cond ((eq sbars 'right)
203 (insert-char ?\ width) 203 (setq sbars
204 (set-text-properties beg (point) '(face gnus-splash)) 204 (cons 0 (/ (or (frame-parameter nil 'scroll-bar-width) 14)
205 (insert ?\n) 205 fcw))))
206 (decf i)) 206 (sbars
207 (goto-char (point-min)) 207 (setq sbars
208 (sit-for 0)))))) 208 (cons (/ (or (frame-parameter nil 'scroll-bar-width) 14)
209 fcw)
210 0))))
211 (setq left (- (* (round (/ (1- (/ (+ (window-width)
212 (car sbars) (cdr sbars)
213 (/ (+ (or (car fringes) 0)
214 (or (cadr fringes) 0))
215 fcw))
216 width))
217 2))
218 width)
219 (car sbars)
220 (/ (or (car fringes) 0) fcw))
221 yoffset (cadr (window-edges))
222 top (max 0 (- (* (max (if (and tool-bar-mode
223 (not (featurep 'gtk))
224 (eq (frame-first-window)
225 (selected-window)))
226 1 0)
227 (round (/ (1- (/ (+ (1- (window-height))
228 (* 2 yoffset))
229 height))
230 2)))
231 height)
232 yoffset))
233 ls (/ (or line-spacing 0) fch)
234 height (max 0 (- height ls)))
235 (cond ((>= (- top ls) 1)
236 (insert
237 (propertize
238 " "
239 'display `(space :width 0 :ascent 100))
240 "\n"
241 (propertize
242 " "
243 'display `(space :width 0 :height ,(- top ls 1) :ascent 100))
244 "\n"))
245 ((> (- top ls) 0)
246 (insert
247 (propertize
248 " "
249 'display `(space :width 0 :height ,(- top ls) :ascent 100))
250 "\n")))
251 (if (and (> width 0) (> left 0))
252 (insert (propertize
253 " "
254 'display `(space :width ,left :height ,height :ascent 0)))
255 (setq width (+ width left)))
256 (when (> width 0)
257 (insert (propertize
258 " "
259 'display `(space :width ,width :height ,height :ascent 0)
260 'face `(gnus-splash :stipple ,pixmap))))
261 (goto-char (if (<= (- top ls) 0) (1- (point)) (point-min)))
262 (redraw-frame (selected-frame))
263 (sit-for 0))))
209 264
210;;; Image functions. 265;;; Image functions.
211 266
diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el
index 9fbab8b340b..d906cec6c6a 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."
758 (cond 758 (cond
759 ((featurep 'xemacs) 759 ((featurep 'xemacs)
760 (gnus-xmas-splash)) 760 (gnus-xmas-splash))
761 ((and window-system 761 (window-system
762 (= (frame-height) (1+ (window-height))))
763 (gnus-x-splash)))) 762 (gnus-x-splash))))
764 763
765 (let ((level (and (numberp arg) (> arg 0) arg)) 764 (let ((level (and (numberp arg) (> arg 0) arg))
diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el
index 6d52d8b2f16..028855ab341 100644
--- a/lisp/gnus/mm-decode.el
+++ b/lisp/gnus/mm-decode.el
@@ -1371,18 +1371,19 @@ be determined."
1371(defun mm-image-fit-p (handle) 1371(defun mm-image-fit-p (handle)
1372 "Say whether the image in HANDLE will fit the current window." 1372 "Say whether the image in HANDLE will fit the current window."
1373 (let ((image (mm-get-image handle))) 1373 (let ((image (mm-get-image handle)))
1374 (if (fboundp 'glyph-width) 1374 (or (not image)
1375 ;; XEmacs' glyphs can actually tell us about their width, so 1375 (if (fboundp 'glyph-width)
1376 ;; lets be nice and smart about them. 1376 ;; XEmacs' glyphs can actually tell us about their width, so
1377 (or mm-inline-large-images 1377 ;; lets be nice and smart about them.
1378 (and (< (glyph-width image) (window-pixel-width)) 1378 (or mm-inline-large-images
1379 (< (glyph-height image) (window-pixel-height)))) 1379 (and (<= (glyph-width image) (window-pixel-width))
1380 (let* ((size (image-size image)) 1380 (<= (glyph-height image) (window-pixel-height))))
1381 (w (car size)) 1381 (let* ((size (image-size image))
1382 (h (cdr size))) 1382 (w (car size))
1383 (or mm-inline-large-images 1383 (h (cdr size)))
1384 (and (< h (1- (window-height))) ; Don't include mode line. 1384 (or mm-inline-large-images
1385 (< w (window-width)))))))) 1385 (and (<= h (1- (window-height))) ; Don't include mode line.
1386 (<= w (window-width)))))))))
1386 1387
1387(defun mm-valid-image-format-p (format) 1388(defun mm-valid-image-format-p (format)
1388 "Say whether FORMAT can be displayed natively by Emacs." 1389 "Say whether FORMAT can be displayed natively by Emacs."
diff --git a/man/gnus.texi b/man/gnus.texi
index a3026251cb1..85167d53432 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.
4084@item v 4084@item v
4085@kindex v (Group) 4085@kindex v (Group)
4086@cindex keys, reserved for users (Group) 4086@cindex keys, reserved for users (Group)
4087The key @kbd{v} is reserved for users. You can bind it key to some 4087The key @kbd{v} is reserved for users. You can bind it to some
4088function or better use it as a prefix key. For example: 4088command or better use it as a prefix key. For example:
4089 4089
4090@lisp 4090@lisp
4091(define-key gnus-group-mode-map (kbd "v j d") 4091(define-key gnus-group-mode-map (kbd "v j d")
@@ -4498,8 +4498,8 @@ available in Emacs.
4498 4498
4499@kindex v (Summary) 4499@kindex v (Summary)
4500@cindex keys, reserved for users (Summary) 4500@cindex keys, reserved for users (Summary)
4501The key @kbd{v} is reserved for users. You can bind it key to some 4501The key @kbd{v} is reserved for users. You can bind it to some
4502function or better use it as a prefix key. For example: 4502command or better use it as a prefix key. For example:
4503@lisp 4503@lisp
4504(define-key gnus-summary-mode-map (kbd "v -") "LrS") ;; lower subthread 4504(define-key gnus-summary-mode-map (kbd "v -") "LrS") ;; lower subthread
4505@end lisp 4505@end lisp
@@ -11422,8 +11422,8 @@ buffer.
11422 11422
11423@kindex v (Article) 11423@kindex v (Article)
11424@cindex keys, reserved for users (Article) 11424@cindex keys, reserved for users (Article)
11425The key @kbd{v} is reserved for users. You can bind it key to some 11425The key @kbd{v} is reserved for users. You can bind it to some
11426function or better use it as a prefix key. 11426command or better use it as a prefix key.
11427 11427
11428A few additional keystrokes are available: 11428A few additional keystrokes are available:
11429 11429
@@ -12460,8 +12460,8 @@ Also @pxref{Formatting Variables}.
12460@item v 12460@item v
12461@kindex v (Server) 12461@kindex v (Server)
12462@cindex keys, reserved for users (Server) 12462@cindex keys, reserved for users (Server)
12463The key @kbd{v} is reserved for users. You can bind it key to some 12463The key @kbd{v} is reserved for users. You can bind it to some
12464function or better use it as a prefix key. 12464command or better use it as a prefix key.
12465 12465
12466@item a 12466@item a
12467@kindex a (Server) 12467@kindex a (Server)