[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] Bug: Agenda clockcheck: org-duration-to-minutes: Wrong type argu
From: |
Nicolas Goaziou |
Subject: |
Re: [O] Bug: Agenda clockcheck: org-duration-to-minutes: Wrong type argument: stringp [9.0.5 (release_9.0.5-318-gb1353c @ /tmp/emacs/org-mode/lisp\ /)] |
Date: |
Thu, 23 Feb 2017 12:54:51 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
Hello,
Dale <address@hidden> writes:
> Hi! I think org-mode from master currently has a bug in agenda's
> clockcheck mode. Steps to reproduce:
>
> 1. Start emacs -Q and load org-mode master (b1353cb6f83)
>
> 2. Open a empty org-mode buffer, e.g.: C-x C-f test.org RET
>
> 3. M-x org-agenda RET
>
> 4. Hit "a" for "Agenda for current day or week"
>
> 5. Hit "v" then "c" to switch to clockcheck view
>
> Expected results: clockcheck view is engaged (albeit empty given the
> empty org-mode file)
>
> Observed results: I receive the following error:
>
> org-duration-to-minutes: Wrong type argument: stringp, 0
>
> Due to this error, clockcheck mode does not seem to activate.
>
> Emacs : GNU Emacs 25.1.1 (x86_64-apple-darwin15.6.0)
> of 2017-01-30
> Package: Org mode version 9.0.5 (release_9.0.5-318-gb1353c @
> /tmp/emacs/org-mode/lisp/)
>
> Other information:
>
> I suspect this is happening as of the recent switch to using the
> org-duration library (7e8cf5f4c20), which replaced some/all uses of
> org-hh:mm-string-to-minutes with org-duration-to-minutes.
> org-hh:mm-string-to-minutes accepted an integer as its argument
> (despite its name):
>
> (cond
> ((integerp s) s)
> ...
>
> In contrast, org-duration-to-minutes only expects a string as its
> argument. The "Wrong type argument" seems to be coming from its first
> string-match-p call.
>
> org-agenda-show-clocking-issues will potentially call
> org-duration-to-minutes with the integer 0 as its argument:
>
> (mintime (org-duration-to-minutes
> (or (plist-get pl :min-duration) 0)))
>
> The default value for org-agenda-clock-consistency-checks also
> specifies :min-duration 0; that is, an integer rather than a string.
>
> I cannot say whether org-duration-string should accept a number, as
> org-hh:mm-string-to-minutes did, or instead whether org-agenda.el
> should be changed to always pass it a string.
I did the former. This is now fixed. Thank you.
Regards,
--
Nicolas Goaziou