From: Brice Waegenire <brice.wge@gmail.com>
To: Brice Waegenire <brice.wge@gmail.com>, emacs-orgmode@gnu.org
Subject: Re: [PATCH] org-timer.el: Use hh:mm:ss format instead of minutes
Date: Tue, 2 Jun 2015 23:04:32 +0200 [thread overview]
Message-ID: <CAL5NfX0hxhJQi06=4AssHgC5Q2K7E6UiWjor=1FXT4KOoQh1rQ@mail.gmail.com> (raw)
In-Reply-To: <876184i1zx.fsf@nicolasgoaziou.fr>
[-- Attachment #1: Type: text/plain, Size: 1065 bytes --]
Sorry for the long delayed response.
Here is that version of this patch, at least I hope it is.
Yes I signed the papers, my number is #1011602.
2015-05-07 22:09 GMT+02:00 Nicolas Goaziou <mail@nicolasgoaziou.fr>:
> Brice Waegenire <brice.wge@gmail.com> writes:
>
>> Thanks for help on this!
>> Here is the last version of the patch taking into account all of your
>> comments.
>
> Thank you.
>
>> (read-from-minibuffer
>> - "How many minutes left? "
>> - (if (not (eq org-timer-default-timer 0))
>> - (number-to-string org-timer-default-timer))))))
>> + "How much time left? (minutes or h:mm:ss) "
>> + (when (not (string-equal org-timer-default-timer "0"))
>
> Nitpick: `unless'
>
>> + (eval org-timer-default-timer))))))
>
> Since `org-timer-default-timer' is a string, there's no need to eval it.
>
> BTW, did you sign FSF papers already? If not, you need to add TINYCHANGE
> to the end of the commit message.
>
>
> Regards,
[-- Attachment #2: 0001-org-timer.el-hh-mm-ss-format-for-setting-a-timer.patch --]
[-- Type: text/x-patch, Size: 3825 bytes --]
From b4b22ce174dd8e1aca7de8a9c7029a6ce3f6dbd1 Mon Sep 17 00:00:00 2001
From: Brice Waegeneire <brice.wge@gmail.com>
Date: Tue, 2 Jun 2015 22:49:38 +0200
Subject: [PATCH] org-timer.el: hh:mm:ss format for setting a timer
* lisp/org-timer.el (org-timer-set-timer): Add support for hh:mm:ss
format.
(org-timer-default-timer): Type changed from number to string.
* testing/lisp/test-org-timer.el (test-org-timer/set-timer): Add
hh:mm:ss format in the test.
---
lisp/org-timer.el | 28 +++++++++++++++-------------
testing/lisp/test-org-timer.el | 8 ++++++++
2 files changed, 23 insertions(+), 13 deletions(-)
diff --git a/lisp/org-timer.el b/lisp/org-timer.el
index 0593573..d20812f 100644
--- a/lisp/org-timer.el
+++ b/lisp/org-timer.el
@@ -65,12 +65,13 @@ the value of the timer."
:group 'org-time
:type 'string)
-(defcustom org-timer-default-timer 0
- "The default timer when a timer is set.
+(defcustom org-timer-default-timer "0"
+ "The default timer when a timer is set, in minutes or hh:mm:ss format.
When 0, the user is prompted for a value."
:group 'org-time
- :version "24.1"
- :type 'number)
+ :version "25.1"
+ :package-version '(Org . "8.3")
+ :type 'string)
(defcustom org-timer-display 'mode-line
"When a timer is running, org-mode can display it in the mode
@@ -402,14 +403,14 @@ VALUE can be `on', `off', or `pause'."
;;;###autoload
(defun org-timer-set-timer (&optional opt)
- "Prompt for a duration and set a timer.
+ "Prompt for a duration in minutes or hh:mm:ss and set a timer.
If `org-timer-default-timer' is not zero, suggest this value as
the default duration for the timer. If a timer is already set,
prompt the user if she wants to replace it.
Called with a numeric prefix argument, use this numeric value as
-the duration of the timer.
+the duration of the timer in minutes.
Called with a `C-u' prefix arguments, use `org-timer-default-timer'
without prompting the user for a duration.
@@ -430,16 +431,17 @@ using three `C-u' prefix arguments."
effort-minutes
(number-to-string effort-minutes))
(and (numberp opt) (number-to-string opt))
- (and (listp opt) (not (null opt))
- (number-to-string org-timer-default-timer))
+ (and (consp opt) org-timer-default-timer)
+ (and (stringp opt) opt)
(read-from-minibuffer
- "How many minutes left? "
- (if (not (eq org-timer-default-timer 0))
- (number-to-string org-timer-default-timer))))))
+ "How much time left? (minutes or h:mm:ss) "
+ (unless (not (string-equal org-timer-default-timer "0"))
+ (org-timer-default-timer))))))
+ (when (string-match "\\`[0-9]+\\'" minutes)
+ (setq minutes (concat minutes ":00")))
(if (not (string-match "[0-9]+" minutes))
(org-timer-show-remaining-time)
- (let* ((mins (string-to-number (match-string 0 minutes)))
- (secs (* mins 60))
+ (let ((secs (org-timer-hms-to-secs (org-timer-fix-incomplete minutes)))
(hl (org-timer--get-timer-title)))
(if (or (not org-timer-countdown-timer)
(equal opt '(16))
diff --git a/testing/lisp/test-org-timer.el b/testing/lisp/test-org-timer.el
index 7164a5d..8abbb85 100644
--- a/testing/lisp/test-org-timer.el
+++ b/testing/lisp/test-org-timer.el
@@ -178,6 +178,14 @@ Also, mute output from `message'."
(org-timer-set-timer 10))
(test-org-timer/with-current-time test-org-timer/time1
(org-timer))
+ (org-trim (buffer-string)))))
+ (should
+ (equal "0:00:04"
+ (test-org-timer/with-temp-text ""
+ (test-org-timer/with-current-time test-org-timer/time0
+ (org-timer-set-timer "3:30"))
+ (test-org-timer/with-current-time test-org-timer/time1
+ (org-timer))
(org-trim (buffer-string))))))
(ert-deftest test-org-timer/pause-timer ()
--
2.4.2
next prev parent reply other threads:[~2015-06-02 21:04 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-24 12:48 [PATCH] org-timer.el: Use hh:mm:ss format instead of minutes Brice Waegenire
2015-04-24 16:49 ` Kyle Meyer
2015-04-29 21:52 ` Brice Waegenire
2015-04-30 0:38 ` Kyle Meyer
2015-05-01 8:47 ` Nicolas Goaziou
2015-05-05 14:34 ` Brice Waegenire
2015-05-07 20:09 ` Nicolas Goaziou
2015-06-02 21:04 ` Brice Waegenire [this message]
2015-06-02 21:24 ` Nicolas Goaziou
2015-06-03 22:00 ` Brice Waegenire
2015-06-06 7:30 ` Nicolas Goaziou
2015-08-05 0:00 ` Bastien Guerry
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAL5NfX0hxhJQi06=4AssHgC5Q2K7E6UiWjor=1FXT4KOoQh1rQ@mail.gmail.com' \
--to=brice.wge@gmail.com \
--cc=emacs-orgmode@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).