Browse Source

Move three functions and add appropriate require/declarations.

* org-clock.el (org-duration-string-to-minutes)
(org-minutes-to-hh:mm-string, org-hh:mm-string-to-minutes):
Move from org.el.
Bastien Guerry 13 years ago
parent
commit
8c3ecbe39a
6 changed files with 46 additions and 40 deletions
  1. 3 0
      lisp/org-agenda.el
  2. 40 0
      lisp/org-clock.el
  3. 1 0
      lisp/org-colview-xemacs.el
  4. 1 0
      lisp/org-colview.el
  5. 1 0
      lisp/org-taskjuggler.el
  6. 0 40
      lisp/org.el

+ 3 - 0
lisp/org-agenda.el

@@ -78,6 +78,9 @@
 (declare-function org-habit-get-priority "org-habit" (habit &optional moment))
 (declare-function org-pop-to-buffer-same-window "org-compat" 
 		  (&optional buffer-or-name norecord label))
+(declare-function org-duration-string-to-minutes "org-clock" (s))
+(declare-function org-hh:mm-string-to-minutes "org-clock" (s))
+(declare-function org-minutes-to-hh:mm-string "org-clock" (m))
 
 (defvar calendar-mode-map)
 (defvar org-clock-current-task) ; defined in org-clock.el

+ 40 - 0
lisp/org-clock.el

@@ -494,6 +494,46 @@ pointing to it."
 (defvar org-clock-update-period 60
   "Number of seconds between mode line clock string updates.")
 
+(defun org-duration-string-to-minutes (s)
+  "Convert a duration string S to minutes.
+
+A bare number is interpreted as minutes, modifiers can be set by
+customizing `org-effort-durations' (which see).
+
+Entries containing a colon are interpreted as H:MM by
+`org-hh:mm-string-to-minutes'."
+  (let ((result 0)
+	(re (concat "\\([0-9]+\\) *\\("
+		    (regexp-opt (mapcar 'car org-effort-durations))
+		    "\\)")))
+    (while (string-match re s)
+      (incf result (* (cdr (assoc (match-string 2 s) org-effort-durations))
+		      (string-to-number (match-string 1 s))))
+      (setq s (replace-match "" nil t s)))
+    (incf result (org-hh:mm-string-to-minutes s))
+    result))
+
+(defun org-minutes-to-hh:mm-string (m)
+  "Compute H:MM from a number of minutes."
+  (let ((h (/ m 60)))
+    (setq m (- m (* 60 h)))
+    (format org-time-clocksum-format h m)))
+
+(defun org-hh:mm-string-to-minutes (s)
+  "Convert a string H:MM to a number of minutes.
+If the string is just a number, interpret it as minutes.
+In fact, the first hh:mm or number in the string will be taken,
+there can be extra stuff in the string.
+If no number is found, the return value is 0."
+  (cond
+   ((integerp s) s)
+   ((string-match "\\([0-9]+\\):\\([0-9]+\\)" s)
+    (+ (* (string-to-number (match-string 1 s)) 60)
+       (string-to-number (match-string 2 s))))
+   ((string-match "\\([0-9]+\\)" s)
+    (string-to-number (match-string 1 s)))
+   (t 0)))
+
 (defun org-clock-get-clock-string ()
   "Form a clock-string, that will be shown in the mode line.
 If an effort estimate was defined for the current item, use

+ 1 - 0
lisp/org-colview-xemacs.el

@@ -33,6 +33,7 @@
 
 (eval-when-compile (require 'cl))
 (require 'org)
+(require 'org-clock)
 
 (declare-function org-agenda-redo "org-agenda" ())
 

+ 1 - 0
lisp/org-colview.el

@@ -30,6 +30,7 @@
 
 (eval-when-compile (require 'cl))
 (require 'org)
+(require 'org-clock)
 
 (declare-function org-agenda-redo "org-agenda" ())
 (declare-function org-agenda-do-context-action "org-agenda" ())

+ 1 - 0
lisp/org-taskjuggler.el

@@ -155,6 +155,7 @@
 
 (require 'org)
 (require 'org-exp)
+(require 'org-clock)
 
 ;;; User variables:
 

+ 0 - 40
lisp/org.el

@@ -15867,27 +15867,6 @@ If there is already a time stamp at the cursor position, update it."
       (org-insert-time-stamp
        (encode-time 0 0 0 (nth 1 cal-date) (car cal-date) (nth 2 cal-date))))))
 
-(defun org-minutes-to-hh:mm-string (m)
-  "Compute H:MM from a number of minutes."
-  (let ((h (/ m 60)))
-    (setq m (- m (* 60 h)))
-    (format org-time-clocksum-format h m)))
-
-(defun org-hh:mm-string-to-minutes (s)
-  "Convert a string H:MM to a number of minutes.
-If the string is just a number, interpret it as minutes.
-In fact, the first hh:mm or number in the string will be taken,
-there can be extra stuff in the string.
-If no number is found, the return value is 0."
-  (cond
-   ((integerp s) s)
-   ((string-match "\\([0-9]+\\):\\([0-9]+\\)" s)
-    (+ (* (string-to-number (match-string 1 s)) 60)
-       (string-to-number (match-string 2 s))))
-   ((string-match "\\([0-9]+\\)" s)
-    (string-to-number (match-string 1 s)))
-   (t 0)))
-
 (defcustom org-effort-durations
   `(("h" . 60)
     ("d" . ,(* 60 8))
@@ -15908,25 +15887,6 @@ effort string \"2hours\" is equivalent to 120 minutes."
   :type '(alist :key-type (string :tag "Modifier")
 		:value-type (number :tag "Minutes")))
 
-(defun org-duration-string-to-minutes (s)
-  "Convert a duration string S to minutes.
-
-A bare number is interpreted as minutes, modifiers can be set by
-customizing `org-effort-durations' (which see).
-
-Entries containing a colon are interpreted as H:MM by
-`org-hh:mm-string-to-minutes'."
-  (let ((result 0)
-	(re (concat "\\([0-9]+\\) *\\("
-		    (regexp-opt (mapcar 'car org-effort-durations))
-		    "\\)")))
-    (while (string-match re s)
-      (incf result (* (cdr (assoc (match-string 2 s) org-effort-durations))
-		      (string-to-number (match-string 1 s))))
-      (setq s (replace-match "" nil t s)))
-    (incf result (org-hh:mm-string-to-minutes s))
-    result))
-
 ;;;; Files
 
 (defun org-save-all-org-buffers ()