Changes committed gnus/lisp (5 files)

"Miles Bader" <[email protected]>
Newsgroups gmane.emacs.gnus.commits
Message-ID <[email protected]>
Modified: ChangeLog deuglify.el gnus-art.el mm-util.el time-date.el

Merge from emacs--devo--0

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  <[email protected]>

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

2008-02-10  Reiner Steib  <[email protected]>

   * 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  <[email protected]>

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

Revision: [email protected]/gnus--devo--0--patch-460


Index: ChangeLog
diff -u gnus/lisp/ChangeLog:7.1756 gnus/lisp/ChangeLog:7.1757
--- ChangeLog:7.1756	Sun Feb 24 11:29:15 2008
+++ ChangeLog	Sun Feb 24 16:39:37 2008
@@ -10,6 +10,10 @@
 
 	* gnus-util.el (gnus-y-or-n-p, gnus-y-or-n-p): Update comments.
 
+2008-02-14  Glenn Morris  <[email protected]>
+
+	* calendar/time-date.el (format-seconds): New function.
+
 2008-02-14  Reiner Steib  <[email protected]>
 
 	* nnmail.el (nnmail-message-id-cache-file): Derive from
@@ -39,6 +43,15 @@
 	* Makefile.in (datarootdir): Define.
 	(EMACS_COMP, install-el, install-elc, install-el-elc): Quote directory
 	name that might contain whitespace.
+
+2008-02-10  Reiner Steib  <[email protected]>
+
+	* mm-util.el (mm-codepage-setup): If cp-supported-codepages isn't
+	fbound (Emacs 23 unicode), signal an error.
+
+2008-02-08  Glenn Morris  <[email protected]>
+
+	* gnus-art.el (pgg-display-output-buffer): Declare as function.
 
 2008-02-07  Tassilo Horn  <[email protected]>
 
Index: deuglify.el
diff -u gnus/lisp/deuglify.el:7.17 gnus/lisp/deuglify.el:7.18
--- deuglify.el:7.17	Sun Jan 20 06:23:57 2008
+++ deuglify.el	Sun Feb 24 16:39:37 2008
@@ -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: gnus-art.el
diff -u gnus/lisp/gnus-art.el:7.260 gnus/lisp/gnus-art.el:7.261
--- gnus-art.el:7.260	Fri Feb  1 07:44:02 2008
+++ gnus-art.el	Sun Feb 24 16:39:37 2008
@@ -7895,6 +7895,9 @@
   (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: mm-util.el
diff -u gnus/lisp/mm-util.el:7.75 gnus/lisp/mm-util.el:7.76
--- mm-util.el:7.75	Sun Feb 24 07:23:40 2008
+++ mm-util.el	Sun Feb 24 16:39:37 2008
@@ -219,7 +219,10 @@
 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: time-date.el
diff -u gnus/lisp/time-date.el:7.12 gnus/lisp/time-date.el:7.13
--- time-date.el:7.12	Sun Jan 20 06:23:57 2008
+++ time-date.el	Sun Feb 24 16:39:37 2008
@@ -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 <[email protected]>
 ;;	Masanobu Umeda <[email protected]>
@@ -252,6 +252,85 @@
   (condition-case ()
       (date-to-time date)
     (error '(0 0))))
+
+
+;;;###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)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.