]> git.eshelyaron.com Git - emacs.git/commitdiff
Merge from gnus--devo--0
authorMiles Bader <miles@gnu.org>
Sun, 9 Dec 2007 22:14:32 +0000 (22:14 +0000)
committerMiles Bader <miles@gnu.org>
Sun, 9 Dec 2007 22:14:32 +0000 (22:14 +0000)
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-950

lisp/ChangeLog
lisp/gnus/ChangeLog
lisp/gnus/nnmaildir.el
lisp/mail/hashcash.el
lisp/net/imap.el
lisp/pgg-parse.el
lisp/pgg.el

index 5c44fc072ef144197964bdbfe50d7d070de2388e..db5930b7db60c11870256788e9fe6aa324b3a121 100644 (file)
@@ -1,3 +1,10 @@
+2007-12-09  Reiner Steib  <Reiner.Steib@gmx.de>
+
+       * mail/hashcash.el, net/imap.el, pgg.el, pgg-parse.el
+       (declare-function): Add new no-op macro for backward compatibility.
+
+       * net/imap.el (imap-string-to-integer): New function.
+
 2007-12-09  David Kastrup  <dak@gnu.org>
 
        * emacs-lisp/lisp-mnt.el (lm-verify): Make it work with
index e54a5f4783e2c6d1e9c660005ae6068734521eef..4bddd3441158c6544b5a4f5c2429328a1f5eebf5 100644 (file)
 
        * gnus-start.el (gnus-load): Rename local variable to avoid confusion.
 
+2007-12-06  Christian Plate  <cplate@web.de>  (tiny change)
+
+       * nnmaildir.el (nnmaildir-request-update-info): Improved performance.
+       Call gnus-add-to-range ranges only once with a prepared article-list.
+
+2007-12-06  Paul Jarc  <prj@po.cwru.edu>
+
+       * nnmaildir.el (nnmaildir-request-list, nnmaildir-retrieve-groups,
+       nnmaildir-request-group, nnmaildir-retrieve-headers): Escape spaces in
+       group names with backslashes.  Reported by Tassilo Horn
+       <tassilo@member.fsf.org>.
+
 2007-12-06  D. Goel  <deego3@gmail.com>
 
        * gnus-art.el (article-make-date-line):
index e7674168484360301c91722b39af8ab2f0bba655..829b3761cd3fcc387d0feea0f6ec895f61d1a207 100644 (file)
@@ -884,7 +884,9 @@ by nnmaildir-request-article.")
                        pgname (nnmaildir--pgname nnmaildir--cur-server pgname)
                        group (symbol-value group)
                        ro (nnmaildir--param pgname 'read-only))
-                 (insert (nnmaildir--grp-name group) " ")
+                 (insert (gnus-replace-in-string
+                          (nnmaildir--grp-name group) " " "\\ " t)
+                         " ")
                   (princ (nnmaildir--group-maxnum nnmaildir--cur-server group)
                         nntp-server-buffer)
                  (insert " ")
@@ -911,14 +913,17 @@ by nnmaildir-request-article.")
          (insert " ")
          (princ (nnmaildir--group-maxnum nnmaildir--cur-server group)
                 nntp-server-buffer)
-         (insert " " gname "\n")))))
+         (insert " "
+                 (gnus-replace-in-string gname " " "\\ " t)
+                 "\n")))))
   'group)
 
 (defun nnmaildir-request-update-info (gname info &optional server)
   (let ((group (nnmaildir--prepare server gname))
        pgname flist always-marks never-marks old-marks dotfile num dir
        markdirs marks mark ranges markdir article read end new-marks ls
-       old-mmth new-mmth mtime mark-sym existing missing deactivate-mark)
+       old-mmth new-mmth mtime mark-sym existing missing deactivate-mark
+       article-list)
     (catch 'return
       (unless group
        (setf (nnmaildir--srv-error nnmaildir--cur-server)
@@ -966,12 +971,13 @@ by nnmaildir-request-article.")
            (setq ranges (assq mark-sym old-marks))
            (if ranges (setq ranges (cdr ranges)))
            (throw 'got-ranges nil))
+         (setq article-list nil)
          (dolist (prefix (funcall ls markdir nil "\\`[^.]" 'nosort))
            (setq article (nnmaildir--flist-art flist prefix))
            (if article
-               (setq ranges
-                     (gnus-add-to-range ranges
-                                        `(,(nnmaildir--art-num article)))))))
+               (setq article-list
+                     (cons (nnmaildir--art-num article) article-list))))
+         (setq ranges (gnus-add-to-range ranges (sort article-list '<))))
        (if (eq mark-sym 'read) (setq read ranges)
          (if ranges (setq marks (cons (cons mark-sym ranges) marks)))))
       (gnus-info-set-read info (gnus-range-add read missing))
@@ -999,7 +1005,7 @@ by nnmaildir-request-article.")
        (insert " ")
        (princ (nnmaildir--group-maxnum nnmaildir--cur-server group)
               nntp-server-buffer)
-       (insert " " gname "\n")
+       (insert " " (gnus-replace-in-string gname " " "\\ " t) "\n")
        t))))
 
 (defun nnmaildir-request-create-group (gname &optional server args)
@@ -1161,7 +1167,7 @@ by nnmaildir-request-article.")
              (insert "\t" (nnmaildir--nov-get-beg nov) "\t"
                      (nnmaildir--art-msgid article) "\t"
                      (nnmaildir--nov-get-mid nov) "\tXref: nnmaildir "
-                     gname ":")
+                     (gnus-replace-in-string gname " " "\\ " t) ":")
              (princ num nntp-server-buffer)
              (insert "\t" (nnmaildir--nov-get-end nov) "\n"))))
     (catch 'return
index 1f4483a7c9489b183a6c9b935497fc108825ce44..36cd17fe6fccf0a49c8ce7ede305fe6bbdba3c6a 100644 (file)
@@ -115,13 +115,15 @@ For example, you may want to set this to '(\"-Z2\") to reduce header length."
 (require 'mail-utils)
 
 (eval-and-compile
- (if (fboundp 'point-at-bol)
-     (defalias 'hashcash-point-at-bol 'point-at-bol)
-   (defalias 'hashcash-point-at-bol 'line-beginning-position))
+  (unless (fboundp 'declare-function) (defmacro declare-function (&rest r)))
 
- (if (fboundp 'point-at-eol)
-     (defalias 'hashcash-point-at-eol 'point-at-eol)
-   (defalias 'hashcash-point-at-eol 'line-end-position)))
+  (if (fboundp 'point-at-bol)
+      (defalias 'hashcash-point-at-bol 'point-at-bol)
+    (defalias 'hashcash-point-at-bol 'line-beginning-position))
+
+  (if (fboundp 'point-at-eol)
+      (defalias 'hashcash-point-at-eol 'point-at-eol)
+    (defalias 'hashcash-point-at-eol 'line-end-position)))
 
 (defun hashcash-strip-quoted-names (addr)
   (setq addr (mail-strip-quoted-names addr))
index 85af73972fe06bd5376a530cf58c142528762794..40e41d79de7fcba1f7e43f8399a219b2e535676a 100644 (file)
@@ -1735,6 +1735,18 @@ is non-nil return these properties."
                  (concat "UID STORE " articles
                          " +FLAGS" (if silent ".SILENT") " (" flags ")"))))))
 
+;; Cf. http://thread.gmane.org/gmane.emacs.gnus.general/65317/focus=65343
+;; Signal an error if we'd get an integer overflow.
+;;
+;; FIXME: Identify relevant calls to `string-to-number' and replace them with
+;; `imap-string-to-integer'.
+(defun imap-string-to-integer (string &optional base)
+  (let ((number (string-to-number string base)))
+    (if (> number most-positive-fixnum)
+       (error
+        (format "String %s cannot be converted to a lisp integer" number))
+      number)))
+
 (defun imap-message-copyuid-1 (mailbox)
   (if (imap-capability 'UIDPLUS)
       (list (nth 0 (imap-mailbox-get-1 'copyuid mailbox))
index 336c492efde51cf13fa686bdcb2e0293162a7b22..87bafc08fd438f4d41945a95dc2a3b5108836d3a 100644 (file)
@@ -36,7 +36,9 @@
 
 ;;; Code:
 
-(eval-when-compile (require 'cl))
+(eval-when-compile
+  (unless (fboundp 'declare-function) (defmacro declare-function (&rest r)))
+  (require 'cl))
 
 (defgroup pgg-parse ()
   "OpenPGP packet parsing."
index 6e4a2a874ec74ef07bcd813ed782f8f0fb44643c..74b6ed7cb226ea00313711d1a28ac3f81554211a 100644 (file)
@@ -35,6 +35,7 @@
 
 ;; Don't merge these two `eval-when-compile's.
 (eval-when-compile
+  (unless (fboundp 'declare-function) (defmacro declare-function (&rest r)))
   (require 'cl))
 
 ;;; @ utility functions