summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Guerry <bzg@altern.org>2011-08-17 16:08:02 +0200
committerBastien Guerry <bzg@altern.org>2011-08-17 16:08:02 +0200
commit8c3ecbe39a0c99e3724246d1eb460495a53721b6 (patch)
tree83b0afc51bb7d8121d4b582b0b6b751b26d1b980
parenta472bee33ddb3863b4f3ce21c643371a0af1ad11 (diff)
downloadorg-mode-8c3ecbe39a0c99e3724246d1eb460495a53721b6.tar.gz
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.
-rw-r--r--lisp/org-agenda.el3
-rw-r--r--lisp/org-clock.el40
-rw-r--r--lisp/org-colview-xemacs.el1
-rw-r--r--lisp/org-colview.el1
-rw-r--r--lisp/org-taskjuggler.el1
-rw-r--r--lisp/org.el40
6 files changed, 46 insertions, 40 deletions
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index f343244..c2b111a 100644
--- a/lisp/org-agenda.el
+++ b/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
diff --git a/lisp/org-clock.el b/lisp/org-clock.el
index 85e4d67..7c5182c 100644
--- a/lisp/org-clock.el
+++ b/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
diff --git a/lisp/org-colview-xemacs.el b/lisp/org-colview-xemacs.el
index b32e741e..370c287 100644
--- a/lisp/org-colview-xemacs.el
+++ b/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" ())
diff --git a/lisp/org-colview.el b/lisp/org-colview.el
index d78a52e..2ad5f95 100644
--- a/lisp/org-colview.el
+++ b/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" ())
diff --git a/lisp/org-taskjuggler.el b/lisp/org-taskjuggler.el
index 5ff6a5e..d155c77 100644
--- a/lisp/org-taskjuggler.el
+++ b/lisp/org-taskjuggler.el
@@ -155,6 +155,7 @@
(require 'org)
(require 'org-exp)
+(require 'org-clock)
;;; User variables:
diff --git a/lisp/org.el b/lisp/org.el
index 730b40a..850accc 100644
--- a/lisp/org.el
+++ b/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 ()