Merge from emacs--devo--0
authorMiles Bader <miles@gnu.org>
Sun, 24 Feb 2008 15:39:37 +0000 (15:39 +0000)
committerMiles Bader <miles@gnu.org>
Sun, 24 Feb 2008 15:39:37 +0000 (15:39 +0000)
Patches applied:

 * emacs--devo--0  (patch 1056, 1060, 1062, 1073-1074, 1076)

   - Remove incorrect entries from lisp/gnus/ChangeLog
   - Update from CVS
   - Merge from gnus--devo--0
   - Merge from emacs--rel--22
   - Revert removal of `mm-hack-charsets' in Gnus

 * emacs--rel--22  (patch 217, 222, 232)

   - Update from CVS
   - Merge from gnus--rel--5.10

2008-02-14  Glenn Morris  <rgm@gnu.org>

   * lisp/calendar/time-date.el (format-seconds): New function.

2008-02-10  Reiner Steib  <Reiner.Steib@gmx.de>

   * lisp/mm-util.el (mm-codepage-setup): If cp-supported-codepages isn't
   fbound (Emacs 23 unicode), signal an error.

2008-02-08  Glenn Morris  <rgm@gnu.org>

   * lisp/gnus-art.el (pgg-display-output-buffer): Declare as function.

Revision: emacs@sv.gnu.org/gnus--devo--0--patch-460

lisp/ChangeLog
lisp/deuglify.el
lisp/gnus-art.el
lisp/mm-util.el
lisp/time-date.el

index 6ac2901..980c6e6 100644 (file)
 
        * gnus-util.el (gnus-y-or-n-p, gnus-y-or-n-p): Update comments.
 
+2008-02-14  Glenn Morris  <rgm@gnu.org>
+
+       * calendar/time-date.el (format-seconds): New function.
+
 2008-02-14  Reiner Steib  <Reiner.Steib@gmx.de>
 
        * nnmail.el (nnmail-message-id-cache-file): Derive from
        (EMACS_COMP, install-el, install-elc, install-el-elc): Quote directory
        name that might contain whitespace.
 
+2008-02-10  Reiner Steib  <Reiner.Steib@gmx.de>
+
+       * mm-util.el (mm-codepage-setup): If cp-supported-codepages isn't
+       fbound (Emacs 23 unicode), signal an error.
+
+2008-02-08  Glenn Morris  <rgm@gnu.org>
+
+       * gnus-art.el (pgg-display-output-buffer): Declare as function.
+
 2008-02-07  Tassilo Horn  <tassilo@member.fsf.org>
 
        * nnimap.el (nnimap-open-connection): Add "143" and "993" as default
index 03c2bcf..85f508c 100644 (file)
@@ -68,7 +68,7 @@
 ;; > verb.  This sentence no verb.  This sentence no verb.  This
 ;; > sentence no verb.
 ;;
-;; Unwrapping "You forgot in all your sentences." would be illegal as
+;; Unwrapping "You forgot in all your sentences." would be invalid as
 ;; this part wasn't intended to be cited text.
 ;; `gnus-article-outlook-unwrap-lines' will only unwrap lines if the resulting
 ;; citation line will be of a certain maximum length.  You can control
index 9efb9a3..a967c88 100644 (file)
@@ -7895,6 +7895,9 @@ url is put as the `gnus-button-url' overlay property on the button."
   (Info-directory)
   (Info-menu url))
 
+;; Called after pgg-snarf-keys-region, which autoloads pgg.el.
+(declare-function pgg-display-output-buffer "pgg" (start end status))
+
 (defun gnus-button-openpgp (url)
   "Retrieve and add an OpenPGP key given URL from an OpenPGP header."
   (with-temp-buffer
index 1a60539..8e625c9 100644 (file)
@@ -219,7 +219,10 @@ non-nil, an alias is created and added to
 the alias.  Else windows-NUMBER is used."
   (interactive
    (let ((completion-ignore-case t)
-        (candidates (cp-supported-codepages)))
+        (candidates (if (fboundp 'cp-supported-codepages)
+                        (cp-supported-codepages)
+                      ;; Removed in Emacs 23 (unicode), sosignal an error:
+                      (error "`codepage-setup' is obsolete in this Emacs version."))))
      (list (completing-read "Setup DOS Codepage: (default 437) " candidates
                            nil t nil nil "437"))))
   (when alias
index d41145b..829bff8 100644 (file)
@@ -1,7 +1,7 @@
 ;;; time-date.el --- Date and time handling functions
 
-;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-;;   Free Software Foundation, Inc.
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+;;   2007, 2008  Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;;     Masanobu Umeda <umerin@mse.kyutech.ac.jp>
@@ -253,6 +253,85 @@ If DATE is malformed, return a time value of zeros."
       (date-to-time date)
     (error '(0 0))))
 
+\f
+;;;###autoload
+(defun format-seconds (string seconds)
+  "Use format control STRING to format the number SECONDS.
+The valid format specifiers are:
+%y is the number of (365-day) years.
+%d is the number of days.
+%h is the number of hours.
+%m is the number of minutes.
+%s is the number of seconds.
+%z is a non-printing control flag (see below).
+%% is a literal \"%\".
+
+Upper-case specifiers are followed by the unit-name (e.g. \"years\").
+Lower-case specifiers return only the unit.
+
+\"%\" may be followed by a number specifying a width, with an
+optional leading \".\" for zero-padding.  For example, \"%.3Y\" will
+return something of the form \"001 year\".
+
+The \"%z\" specifier does not print anything.  When it is used, specifiers
+must be given in order of decreasing size.  To the left of \"%z\", nothing
+is output until the first non-zero unit is encountered.
+
+This function does not work for SECONDS greater than `most-positive-fixnum'."
+  (let ((start 0)
+        (units '(("y" "year"   31536000)
+                 ("d" "day"       86400)
+                 ("h" "hour"       3600)
+                 ("m" "minute"       60)
+                 ("s" "second"        1)
+                 ("z")))
+        (case-fold-search t)
+        spec match usedunits zeroflag larger prev name unit num zeropos)
+    (while (string-match "%\\.?[0-9]*\\(.\\)" string start)
+      (setq start (match-end 0)
+            spec (match-string 1 string))
+      (unless (string-equal spec "%")
+        (or (setq match (assoc-string spec units t))
+            (error "Bad format specifier: `%s'" spec))
+        (if (assoc-string spec usedunits t)
+            (error "Multiple instances of specifier: `%s'" spec))
+        (if (string-equal (car match) "z")
+            (setq zeroflag t)
+          (unless larger
+            (setq unit (nth 2 match)
+                  larger (and prev (> unit prev))
+                  prev unit)))
+        (push match usedunits)))
+    (and zeroflag larger
+         (error "Units are not in decreasing order of size"))
+    (dolist (u units)
+      (setq spec (car u)
+            name (cadr u)
+            unit (nth 2 u))
+      (when (string-match (format "%%\\(\\.?[0-9]+\\)?\\(%s\\)" spec) string)
+        (if (string-equal spec "z")     ; must be last in units
+            (setq string
+                  (replace-regexp-in-string
+                   "%z" ""
+                   (substring string (min (or zeropos (match-end 0))
+                                          (match-beginning 0)))))
+          ;; Cf article-make-date-line in gnus-art.
+          (setq num (floor seconds unit)
+                seconds (- seconds (* num unit)))
+          ;; Start position of the first non-zero unit.
+          (or zeropos
+              (setq zeropos (unless (zerop num) (match-beginning 0))))
+          (setq string
+                (replace-match
+                 (format (concat "%" (match-string 1 string) "d%s") num
+                         (if (string-equal (match-string 2 string) spec)
+                             ""       ; lower-case, no unit-name
+                           (format " %s%s" name
+                                   (if (= num 1) "" "s"))))
+                 t t string))))))
+  (replace-regexp-in-string "%%" "%" string))
+
+
 (provide 'time-date)
 
 ;;; arch-tag: addcf07b-b20a-465b-af72-550b8ac5190f