emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] bulk org-agenda-do-date-later problem OMG BACKTRACE ATTACHED


From: Nick Dokos
Subject: Re: [O] bulk org-agenda-do-date-later problem OMG BACKTRACE ATTACHED
Date: Sun, 05 Jan 2014 22:56:47 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Douglas <address@hidden> writes:

> The backtrace is attached.  I am trying to bulk push org-agenda entries one 
> day later in the agenda using org-agenda-do-date-later.  I'm trying to change 
> the timestamp of these
> tasks. I am not using "SCHEDULED: [timestamp]".  .emacs has not been included 
> due to an abundance of personal information.  org-agenda-files has been 
> excised due to personal
> information.
>
> What I did:
>
> 1. Loaded the org-agenda using "C-c a a".
> 2. Set the view to day using "d".
> 3. Went to the day before yesterday (Jan 3, 2014) at the time (Jan 5, 2014) 
> using "b".
> 4. Marked a done task (to test) for bulk action using "m".
> 5. Brought up the menu for bulk action using "B".
> 6. Selected the Function option using "f".
> 7. Typed "org-agenda-do-date-later" into the echo/evaluation buffer at the 
> bottom of the window and hit return.
>
> I expected the marked task to be pushed one day later in the agenda to 
> January 4, 2014.  I expected what normally occurs when I press S-<right>.  
> Instead a long error popped up in
> the echo buffer.  Nothing happened in the agenda buffer.  The mark remained.
>

The probable reason the backtrace did not make it through the mail is
that it was produced using compiled code and so it contained binary
stuff (perhaps nul bytes) that confused the mailer. You should try to
produce backtraces using uncompiled code: they are much more informative
in general. Or you could elide the strings containing the binary stuff
as I have done below but that's less informative.

In this case, the backtrace is simple enough:

,----
| Debugger entered--Lisp error: (wrong-number-of-arguments #[(arg)
|   "..." [arg last-command this-command (16) (org-agenda-date-later-minutes 
org-agenda-date-earlier-minutes) org-agenda-date-later-minutes 1 (4) 
(org-agenda-date-later-hours org-agenda-date-earlier-hours) 
org-agenda-date-later-hours org-agenda-date-later prefix-numeric-value] 4 nil 
"P"] 0)
|   org-agenda-do-date-later()   <<< called with no argument
|   eval((org-agenda-do-date-later))
|   ...
|   org-agenda-bulk-action(nil)
|   call-interactively(org-agenda-bulk-action nil nil)
`----

C-h f org-agenda-do-date-later RET says:

,----
| org-agenda-do-date-later is an interactive Lisp function in
| `org-agenda.el'.
| 
| (org-agenda-do-date-later ARG)
| 
| Not documented.
`----
                            ^^^

i.e. org-agenda-do-date-later takes a mandatory argument while you
called it with no argument. That's an error on your part, not a bug in
the code.  Try defining a helper function to do the appropriate
impedance matching:

(defun my-org-agend-do-one-day-later ()
       (interactive)
       (org-agenda-do-date-later 1))

and passing that as the function in the bulk action.

Untested and I'm not sure that 1 is the right value to pass.

-- 
Nick




reply via email to

[Prev in Thread] Current Thread [Next in Thread]