[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] [bug] org-agenda-write does not handle date stamps without day o
From: |
Carsten Dominik |
Subject: |
Re: [O] [bug] org-agenda-write does not handle date stamps without day of week |
Date: |
Tue, 20 Mar 2012 06:54:33 +0100 |
I have just pushed the new version of this regexp into master.
Karl, let me know if it fixes the issues you where having
with writing agendas.
- Carsten
On 19.3.2012, at 10:12, Carsten Dominik wrote:
>
> On 17.3.2012, at 07:45, Nick Dokos wrote:
>
>> Karl Voit <address@hidden> wrote:
>>
>>> * Nick Dokos <address@hidden> wrote:
>>>> Karl Voit <address@hidden> wrote:
>>>>
>>>> For me, it was a "no time to work on org - stash it"...
>>>
>>> OK. I just wanted to make sure that it *is* on someone's todo list
>>> :-)
>>>
>>>>> * Karl Voit <address@hidden> wrote:
>>>>>>
>>>>>> * <2012-03-05 08:00-09:00> Wrong: ends up as full day event
>>>>
>>>> org-agenda-write calls org-export-icalendar which calls
>>>> org-print-icalendar-entries
>>>> which loops over all the entries and parses them, decomposing them into
>>>> timestamps.
>>>> Each timestamp is then passed to org-parse-time-string. It's this one that
>>>> cannot
>>>> handle non-standard formats: it uses a regexp and assumes that all the
>>>> matched parts
>>>> are going to be in fixed places:
>>>>
>>>> As to how to fix it, there are several possibilities:
>>>>
>>>> 1. fix your scripts that produce time stamps to include day-of-week.
>>>
>>> Sorry, deriving DOW from an arbitrary timestamps from arbitrary data
>>> sources is either pretty time consuming (calendar calculations) or
>>> simply hard to calculate.
>>>
>>> Outside Org-mode, DOW is seldom part of time-stamp data :-(
>>>
>>>> 2. change the callers of org-parse-time-string to make sure that DOW is
>>>> included.
>>>> There are roughly three dozen callers, so 2. is possible but a pain.
>>>
>>> Ack.
>>>
>>>> 3. change just one caller: org-print-icalendar-entries to make sure that
>>>> DOW is included.
>>>> 3. is simple but ugly as sin,
>>>
>>> Ouch, ack :-)
>>>
>>>> 4. change org-parse-time-string to handle a missing DOW.
>>>> 4. is the best way to handle it within org.
>>>
>>> Full ack.
>>>
>>>> I vote for 1. where *you* have to do all the work ;-)
>>>
>>> YMMD :-)
>>>
>>> If my brain would be compatible to ELISP, I'd send a patch.
>>> Promised.
>>>
>>> But I'll take my chance and wait for someone else (you?)
>>> implementing 4. to resolve this issue for everybody. I really
>>> appreciate every second you guys invest in maintaining Org-mode!
>>>
>>
>> I don't know about you, but whenever I engage in hand-to-hand combat
>> with a complicated regexp, I come out bruised, muddied and a lot worse
>> for wear. In any case, I'm attaching an org file with my investigations.
>> It contains a description and a code block for testing.
>>
>> I hope that the attachment will come through unscathed: it contains
>> regexps, and munging a regexp that looks like hen scratchings in the
>> first place through uncooperative mailers is not something to be
>> relished.
>>
>> BTW, I'm not advocating a change: I'll leave it to Karl to do that if he
>> really wants to and to the maintainers to decide whether it's worth
>> doing. But it can be done (more or less). And maybe somebody will come
>> up with a better way than the proof-of-concept that I'm attaching here.
>
> Hi Nick and Karl,
>
> since we did make a change to Org a while ago to allow date stamps
> without the name of the day, I think it is only consequent to also do
> it for this case. Must have slipped our attention back then.
> The only thing we must ensure is that this regexp matches fast
> as it is used a lot.
>
> Nick's proposal works, except for the fact that is also matches when
> the time is directly attached to day name. Maybe it is cleaner to
> not match in this case.
>
> If we are going to make the day name optional, then it is better to
> include matching of the whitespace after the date into the day-name
> part of the regexp.
>
> I am attaching Nick's file again, with a third proposal for an
> updated regexp.
>
> As far as speed is concerned, this regexp will, if there is name
> and time, match directly and straight. If the date name is
> missing, it will notice on the first digit belonging to
> the time and switch without backtracking (well, minimal
> backtracking when there are multiple spaces) to the regexp
> section for the time of day. Rematching the spaces after the
> date will be the only overhead.
>
> Cheers
>
> - Carsten
>
> <reproducer.org>
>
>
>
>>
>> Nick
>>
>> PS. BTW, if you look at the attachment, it helps if you have a wide window,
>> something like 165 characters wide.
>>
>> <reproducer.org>
>
- [O] [bug] org-agenda-write does not handle date stamps without day of week, Karl Voit, 2012/03/05
- Re: [O] [bug] org-agenda-write does not handle date stamps without day of week, Karl Voit, 2012/03/16
- Re: [O] [bug] org-agenda-write does not handle date stamps without day of week, Nick Dokos, 2012/03/16
- Re: [O] [bug] org-agenda-write does not handle date stamps without day of week, Karl Voit, 2012/03/16
- Re: [O] [bug] org-agenda-write does not handle date stamps without day of week, Nick Dokos, 2012/03/17
- Re: [O] [bug] org-agenda-write does not handle date stamps without day of week, Carsten Dominik, 2012/03/19
- Re: [O] [bug] org-agenda-write does not handle date stamps without day of week,
Carsten Dominik <=
- Re: [O] [bug] org-agenda-write does not handle date stamps without day of week, Karl Voit, 2012/03/20
- Re: [O] [bug] org-agenda-write does not handle date stamps without day of week, Nick Dokos, 2012/03/20
- Re: [O] [bug] org-agenda-write does not handle date stamps without day of week, Karl Voit, 2012/03/21
- Re: [O] [bug] org-agenda-write does not handle date stamps without day of week, Carsten Dominik, 2012/03/21
- Re: [O] [bug] org-agenda-write does not handle date stamps without day of week, Carsten Dominik, 2012/03/20
Re: [O] [bug] org-agenda-write does not handle date stamps without day of week, Simon Thum, 2012/03/17