* gnus-msg.el (gnus-summary-send-map): Fix binding for very-wide.
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Thu, 3 Jan 2002 06:18:39 +0000 (06:18 +0000)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Thu, 3 Jan 2002 06:18:39 +0000 (06:18 +0000)
2002-01-03  Reiner Steib  <reiner.steib@gmx.de>

* gnus-sum.el (gnus-summary-make-menu-bar): Menu bar entries for
very wide reply.

2002-01-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>

* gnus-picon.el (gnus-picon-transform-address): Cache stuff.
(gnus-picon-cache): New variable.
(gnus-picon-transform-newsgroups): Cache stuff.

lisp/ChangeLog
lisp/gnus-fun.el
lisp/gnus-msg.el
lisp/gnus-picon.el
lisp/gnus-sum.el

index 6242e5f..292cbea 100644 (file)
@@ -1,5 +1,18 @@
 2002-01-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
+       * gnus-msg.el (gnus-summary-send-map): Fix binding for very-wide. 
+
+2002-01-03  Reiner Steib  <reiner.steib@gmx.de>
+
+       * gnus-sum.el (gnus-summary-make-menu-bar): Menu bar entries for
+       very wide reply.
+
+2002-01-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-picon.el (gnus-picon-transform-address): Cache stuff.
+       (gnus-picon-cache): New variable.
+       (gnus-picon-transform-newsgroups): Cache stuff.
+
        * gnus-art.el (gnus-article-reply-with-original): New command.
        (gnus-article-followup-with-original): New command.
 
index 91c4ff0..8447863 100644 (file)
@@ -74,7 +74,7 @@
        (push (cons (* step i) i) color-alist)))
     (when (file-exists-p file)
       (with-temp-buffer
-       (insert (shell-command-to-string (format "giftopnm '%s' | ppmnorm 2>/dev/null | pnmscale -width 48 -height 48 | ppmquant -map %s 2>/dev/null | ppmtopgm | pnmnoraw"
+       (insert (shell-command-to-string (format "giftopnm '%s' | ppmnorm 2>/dev/null | pnmscale -width 48 -height 48 | ppmquant -fs -map %s 2>/dev/null | ppmtopgm | pnmnoraw"
                               file mapfile)))
        (goto-char (point-min))
        (forward-line 3)
index 900d18a..b2d89e8 100644 (file)
@@ -238,7 +238,7 @@ Thank you for your help in stamping out bugs.
   "w" gnus-summary-wide-reply
   "W" gnus-summary-wide-reply-with-original
   "v" gnus-summary-very-wide-reply
-  "W" gnus-summary-very-wide-reply-with-original
+  "V" gnus-summary-very-wide-reply-with-original
   "n" gnus-summary-followup-to-mail
   "N" gnus-summary-followup-to-mail-with-original
   "m" gnus-summary-mail-other-window
index a878b32..f27ab4e 100644 (file)
@@ -96,6 +96,7 @@ Some people may want to add \"unknown\" to this list."
 (defvar gnus-picon-glyph-alist nil
   "Picon glyphs cache.
 List of pairs (KEY . GLYPH) where KEY is either a filename or an URL.")
+(defvar gnus-picon-cache nil)
 
 ;;; Functions:
 
@@ -162,36 +163,39 @@ GLYPH can be either a glyph or a string."
   (gnus-with-article-headers
     (let ((addresses
           (mail-header-parse-addresses (mail-fetch-field header)))
-         spec file point)
+         spec file point cache)
       (dolist (address addresses)
        (setq address (car address))
        (when (and (stringp address)
                   (setq spec (gnus-picon-split-address address)))
-         (when (setq file (or (gnus-picon-find-face
-                               address gnus-picon-user-directories)
-                              (gnus-picon-find-face
+         (if (setq cache (cdr (assoc address gnus-picon-cache)))
+             (setq spec cache)
+           (when (setq file (or (gnus-picon-find-face
+                                 address gnus-picon-user-directories)
+                                (gnus-picon-find-face
+                                 (concat "unknown@"
+                                         (mapconcat
+                                          'identity (cdr spec) "."))
+                                 gnus-picon-user-directories)))
+             (setcar spec (cons (gnus-picon-create-glyph file)
+                                (car spec))))
+             
+           (dotimes (i (1- (length spec)))
+             (when (setq file (gnus-picon-find-face
                                (concat "unknown@"
                                        (mapconcat
-                                        'identity (cdr spec) "."))
-                               gnus-picon-user-directories)))
-           (setcar spec (cons (gnus-picon-create-glyph file)
-                              (car spec))))
-             
-         (dotimes (i (1- (length spec)))
-           (when (setq file (gnus-picon-find-face
-                             (concat "unknown@"
-                                     (mapconcat
-                                      'identity (nthcdr (1+ i) spec) "."))
-                             gnus-picon-domain-directories t))
-             (setcar (nthcdr (1+ i) spec)
-                     (cons (gnus-picon-create-glyph file)
-                           (nth (1+ i) spec)))))
+                                        'identity (nthcdr (1+ i) spec) "."))
+                               gnus-picon-domain-directories t))
+               (setcar (nthcdr (1+ i) spec)
+                       (cons (gnus-picon-create-glyph file)
+                             (nth (1+ i) spec)))))
+           (setq spec (nreverse spec))
+           (push (cons address spec) gnus-picon-cache))
          
          (gnus-article-goto-header header)
          (mail-header-narrow-to-field)
          (when (search-forward address nil t)
            (delete-region (match-beginning 0) (match-end 0))
-           (setq spec (nreverse spec))
            (setq point (point))
            (while spec
              (goto-char point)
@@ -209,16 +213,18 @@ GLYPH can be either a glyph or a string."
     (let ((groups (message-tokenize-header (mail-fetch-field header)))
          spec file point)
       (dolist (group groups)
-       (setq spec (nreverse (split-string group "[.]")))
-       (dotimes (i (length spec))
-         (when (setq file (gnus-picon-find-face
-                           (concat "unknown@"
-                                   (mapconcat
-                                    'identity (nthcdr i spec) "."))
-                           gnus-picon-news-directories t))
-           (setcar (nthcdr i spec)
-                   (cons (gnus-picon-create-glyph file)
-                         (nth i spec)))))
+       (unless (setq spec (cdr (assoc group gnus-picon-cache)))
+         (setq spec (nreverse (split-string group "[.]")))
+         (dotimes (i (length spec))
+           (when (setq file (gnus-picon-find-face
+                             (concat "unknown@"
+                                     (mapconcat
+                                      'identity (nthcdr i spec) "."))
+                             gnus-picon-news-directories t))
+             (setcar (nthcdr i spec)
+                     (cons (gnus-picon-create-glyph file)
+                           (nth i spec)))))
+           (push (cons group spec) gnus-picon-cache))
        (when (search-forward group nil t)
          (delete-region (match-beginning 0) (match-end 0))
          (save-restriction
index e893ab6..9e6744a 100644 (file)
@@ -2070,6 +2070,10 @@ increase the score of each group you read."
        ["Wide reply and yank" gnus-summary-wide-reply-with-original
         ,@(if (featurep 'xemacs) '(t)
             '(:help "Mail a reply, quoting this article"))]
+        ["Very wide reply" gnus-summary-very-wide-reply t]
+        ["Very wide reply and yank" gnus-summary-very-wide-reply-with-original
+       ,@(if (featurep 'xemacs) '(t)
+           '(:help "Mail a very wide reply, quoting this article"))]
        ["Mail forward" gnus-summary-mail-forward t]
        ["Post forward" gnus-summary-post-forward t]
        ["Digest and mail" gnus-uu-digest-mail-forward t]
@@ -8624,18 +8628,22 @@ groups."
   (let (force raw current-handles)
     (cond
      ((null arg))
-     ((eq arg 1) (setq raw t))
-     ((eq arg 2) (setq raw t
-                      force t))
-     ((eq arg 3) (setq current-handles
-                      (and (gnus-buffer-live-p gnus-article-buffer)
-                           (with-current-buffer gnus-article-buffer
-                             (prog1
-                                 gnus-article-mime-handles
-                               (setq gnus-article-mime-handles nil))))))
-     (t (setq force t)))
-    (if (and raw (not force) (equal gnus-newsgroup-name "nndraft:drafts"))
-       (error "Can't edit the raw article in group nndraft:drafts"))
+     ((eq arg 1)
+      (setq raw t))
+     ((eq arg 2)
+      (setq raw t
+           force t))
+     ((eq arg 3)
+      (setq current-handles
+           (and (gnus-buffer-live-p gnus-article-buffer)
+                (with-current-buffer gnus-article-buffer
+                  (prog1
+                      gnus-article-mime-handles
+                    (setq gnus-article-mime-handles nil))))))
+     (t
+      (setq force t)))
+    (when (and raw (not force) (equal gnus-newsgroup-name "nndraft:drafts"))
+      (error "Can't edit the raw article in group nndraft:drafts"))
     (save-excursion
       (set-buffer gnus-summary-buffer)
       (let ((mail-parse-charset gnus-newsgroup-charset)