Gnus development mailing list
 help / color / mirror / Atom feed
* iCalendar support: reply to invitations, sync to org
@ 2013-04-02 22:21 Jan Tatarik
  2013-04-03  8:23 ` Adam Sjøgren
                   ` (2 more replies)
  0 siblings, 3 replies; 42+ messages in thread
From: Jan Tatarik @ 2013-04-02 22:21 UTC (permalink / raw)
  To: ding

Hi,

after incorporating feedback and code from David Engster and Dave
Goldberg, I have an implementation that's mostly working for me and, I
hope, could be useful to others.

Messages containing calendar invites will show the calendar details
inline in the article buffer. Accept/Tentative/Decline buttons are shown
when rsvp is required of the recipient.

Optionally, there's a possibility to sync the invite with org-mode
agenda. Sync/Show buttons appear in the article buffer when this feature
is enabled.

The code's available at https://github.com/jtatarik/ical-event



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-04-02 22:21 iCalendar support: reply to invitations, sync to org Jan Tatarik
@ 2013-04-03  8:23 ` Adam Sjøgren
  2013-04-03 12:38   ` Jan Tatarik
  2013-04-03 15:27 ` David Engster
  2013-04-12 16:25 ` Eric S Fraga
  2 siblings, 1 reply; 42+ messages in thread
From: Adam Sjøgren @ 2013-04-03  8:23 UTC (permalink / raw)
  To: ding

Jan Tatarik <jan.tatarik@gmail.com> writes:

> after incorporating feedback and code from David Engster and Dave
> Goldberg, I have an implementation that's mostly working for me and, I
> hope, could be useful to others.

This is great!

I got a colleague to send me an invite from Outlook and could
successfully accept it in Gnus.

Some ideas for improvements:

 * In Gnus I can't see that I have Accepted/Tentative'd/Declined an
   invitation. This would be nice to display - maybe by adding a custom
   header? Also the A'nswered mark could be set?

 * The reply sent is displayed in Outlook with my signature as an
   attached file. Maybe the emails generated should simply exclude the
   signature by default?

 * My colleague then canceled the meeting, but the cancel notification
   was shown with "Accept"-, "Tentative"-, and "Decline"-buttons, rather
   than the "Remove from calendar"-button (or no button) I expected.

 * Maybe add menu items and keyboard shortcuts for Accept, Tentative,
   Decline?

I have to repeat: This is great!!


  Best regards,

    Adam

-- 
 "You've got to be excited about what you are doing."         Adam Sjøgren
                                                         asjo@koldfront.dk




^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-04-03  8:23 ` Adam Sjøgren
@ 2013-04-03 12:38   ` Jan Tatarik
  0 siblings, 0 replies; 42+ messages in thread
From: Jan Tatarik @ 2013-04-03 12:38 UTC (permalink / raw)
  To: ding

On Wed, Apr 03 2013, Adam Sjøgren wrote:

> Some ideas for improvements:

>  * In Gnus I can't see that I have Accepted/Tentative'd/Declined an
>    invitation. This would be nice to display - maybe by adding a custom
>    header? Also the A'nswered mark could be set?

This is doable, all the supporting functions are already in place.

>  * The reply sent is displayed in Outlook with my signature as an
>    attached file. Maybe the emails generated should simply exclude the
>    signature by default?

I will look into this, I don't use signatures so I never noticed this
one.

>  * My colleague then canceled the meeting, but the cancel notification
>    was shown with "Accept"-, "Tentative"-, and "Decline"-buttons, rather
>    than the "Remove from calendar"-button (or no button) I expected.

Shooting from the waist now, but I think even CANCEL events can require
RSVP, hence the accept button.

Did the 'Sync to org' button show? This should keep the org event in
your agenda, but set the timestamp to inactive ([] instead of <>).

>  * Maybe add menu items and keyboard shortcuts for Accept, Tentative,
>    Decline?

Will do.

> I have to repeat: This is great!!

It's been bothering me for so long I got tired of waiting for somebody
else to fix it...



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-04-02 22:21 iCalendar support: reply to invitations, sync to org Jan Tatarik
  2013-04-03  8:23 ` Adam Sjøgren
@ 2013-04-03 15:27 ` David Engster
  2013-04-03 21:28   ` Jan Tatarik
  2013-06-06 15:15   ` Ted Zlatanov
  2013-04-12 16:25 ` Eric S Fraga
  2 siblings, 2 replies; 42+ messages in thread
From: David Engster @ 2013-04-03 15:27 UTC (permalink / raw)
  To: Jan Tatarik; +Cc: ding

Jan Tatarik writes:
> The code's available at https://github.com/jtatarik/ical-event

Thank you for working on this. This looks very interesting.

@Lars: This would be a valuable addition to Gnus, don't you think?

Jan, would you be interested in that? As you probably know, this would
require that you assign copyright of your code to the FSF and to sign
papers. Also, your code would need some changes to be compatible with
older Emacsen.

-David



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-04-03 15:27 ` David Engster
@ 2013-04-03 21:28   ` Jan Tatarik
  2013-04-03 22:01     ` David Engster
  2013-06-06 15:15   ` Ted Zlatanov
  1 sibling, 1 reply; 42+ messages in thread
From: Jan Tatarik @ 2013-04-03 21:28 UTC (permalink / raw)
  To: ding

On Wed, Apr 03 2013, David Engster wrote:

> Jan Tatarik writes:
>> The code's available at https://github.com/jtatarik/ical-event

> Thank you for working on this. This looks very interesting.

> @Lars: This would be a valuable addition to Gnus, don't you think?

> Jan, would you be interested in that? As you probably know, this would
> require that you assign copyright of your code to the FSF and to sign
> papers. Also, your code would need some changes to be compatible with
> older Emacsen.

My papers for emacs and gnus are already on file.

As far as making the code compatible, I would appreciate some guidance
there. Not just wrt older Emacsen, but also regarding coding
conventions, namespace, etc.



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-04-03 21:28   ` Jan Tatarik
@ 2013-04-03 22:01     ` David Engster
  2013-04-03 22:52       ` Jan Tatarik
  0 siblings, 1 reply; 42+ messages in thread
From: David Engster @ 2013-04-03 22:01 UTC (permalink / raw)
  To: Jan Tatarik; +Cc: ding

Jan Tatarik writes:
> On Wed, Apr 03 2013, David Engster wrote:
>> Jan, would you be interested in that? As you probably know, this would
>> require that you assign copyright of your code to the FSF and to sign
>> papers. Also, your code would need some changes to be compatible with
>> older Emacsen.
>
> My papers for emacs and gnus are already on file.

That's great.

> As far as making the code compatible, I would appreciate some guidance
> there. Not just wrt older Emacsen, but also regarding coding
> conventions, namespace, etc.

A good first read is the Appendix D.1 (Emacs Lisp Coding Conventions) in
the Emacs Lisp reference manual.

I haven't looked at your code in detail yet. But a first few comments:

The first and for you probably most frustrating problem is the
dependence on cl-lib, which is only available since 24.3. On older
Emacsen you only have 'cl', from which you're only allowed to use
macros, though (see the mentioned coding conventions for further
details). So I'm afraid you have to forgo the functions (but not macros)
you use from cl-lib. EIEIO is OK, though; Gnus provides a fallback
library for that on older Emacsen.

Your package is a bit complicated since it involves three things:
icalendar, Gnus and Org. Still, I think it would be preferable to have
everything in a single file with a single namespace 'gnus-calendar'.
Everything should be prefixed with that; this includes methods and
macros (like your currently used `with-decoded-handle'). If you think
that some of your stuff would better fit in the icalendar package, Org,
or somewhere else in Gnus, then we should try to get this in there.

Also, M-x checkdoc is very helpful. :-)

-David



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-04-03 22:01     ` David Engster
@ 2013-04-03 22:52       ` Jan Tatarik
  0 siblings, 0 replies; 42+ messages in thread
From: Jan Tatarik @ 2013-04-03 22:52 UTC (permalink / raw)
  To: ding

On Thu, Apr 04 2013, David Engster wrote:

> Jan Tatarik writes:
>> On Wed, Apr 03 2013, David Engster wrote:
>>> Jan, would you be interested in that? As you probably know, this would
>>> require that you assign copyright of your code to the FSF and to sign
>>> papers. Also, your code would need some changes to be compatible with
>>> older Emacsen.

>> As far as making the code compatible, I would appreciate some guidance
>> there. Not just wrt older Emacsen, but also regarding coding
>> conventions, namespace, etc.

> I haven't looked at your code in detail yet. But a first few comments:

> The first and for you probably most frustrating problem is the
> dependence on cl-lib, which is only available since 24.3. On older
> Emacsen you only have 'cl', from which you're only allowed to use
> macros, though (see the mentioned coding conventions for further
> details). So I'm afraid you have to forgo the functions (but not macros)
> you use from cl-lib. EIEIO is OK, though; Gnus provides a fallback
> library for that on older Emacsen.

> Your package is a bit complicated since it involves three things:
> icalendar, Gnus and Org. Still, I think it would be preferable to have
> everything in a single file with a single namespace 'gnus-calendar'.
> Everything should be prefixed with that; this includes methods and
> macros (like your currently used `with-decoded-handle'). If you think
> that some of your stuff would better fit in the icalendar package, Org,
> or somewhere else in Gnus, then we should try to get this in there.

The code belongs to gnus, I think. I will start condensing it into
single package that would fit in gnus.



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-04-02 22:21 iCalendar support: reply to invitations, sync to org Jan Tatarik
  2013-04-03  8:23 ` Adam Sjøgren
  2013-04-03 15:27 ` David Engster
@ 2013-04-12 16:25 ` Eric S Fraga
  2013-04-15  1:34   ` Jan Tatarik
  2 siblings, 1 reply; 42+ messages in thread
From: Eric S Fraga @ 2013-04-12 16:25 UTC (permalink / raw)
  To: ding

Jan Tatarik <jan.tatarik@gmail.com> writes:

> Hi,
>
> after incorporating feedback and code from David Engster and Dave
> Goldberg, I have an implementation that's mostly working for me and, I
> hope, could be useful to others.

Brilliant!!!  Thanks for this.

I have tried this with invites from both Google and Outlook calendars
and both work very well in terms of showing the details in the
email.  This alone makes my life so much simpler!

I am not sure about the responses yet but I will play some more.  

However, the integration with org is definitely not working for me.  I
have:

#+begin_src emacs-lisp
(setq gnus-calendar-org-capture-file "~/s/notes/diary.org")
(setq gnus-calendar-org-capture-headline '("email"))
(gnus-calendar-org-setup)
#+end_src

but when I select the button to add the event to my org file, I get:

: org-find-olp: Heading not found on level 1: email

The diary file, mentioned above, has:

* email

as one of the lines.  What am I doing wrong?

Thanks again,
eric

-- 
: Eric S Fraga, GnuPG: 0xC89193D8FFFCF67D
: in Emacs 24.3.50.1 + Ma Gnus v0.6 + evil 1.0-dev
: BBDB version 3.02 ($Date: 2013/02/16 14:37:17 $)




^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-04-12 16:25 ` Eric S Fraga
@ 2013-04-15  1:34   ` Jan Tatarik
  2013-04-16  9:05     ` Eric S Fraga
  0 siblings, 1 reply; 42+ messages in thread
From: Jan Tatarik @ 2013-04-15  1:34 UTC (permalink / raw)
  To: ding

On Fri, Apr 12 2013, Eric S Fraga Eric S Fraga wrote:


[...]


> I have tried this with invites from both Google and Outlook calendars
> and both work very well in terms of showing the details in the
> email.  This alone makes my life so much simpler!

> I am not sure about the responses yet but I will play some more.  

> However, the integration with org is definitely not working for me.  I
> have:

> #+begin_src emacs-lisp
> (setq gnus-calendar-org-capture-file "~/s/notes/diary.org")
> (setq gnus-calendar-org-capture-headline '("email"))
> (gnus-calendar-org-setup)
> #+end_src

> but when I select the button to add the event to my org file, I get:

> : org-find-olp: Heading not found on level 1: email

> The diary file, mentioned above, has:

> * email

> as one of the lines.  What am I doing wrong?

I can only reproduce the error message when

- the diary file does not exist on the filesystem (unsaved emacs buffer
  is not enough)

- the diary file exists, but does not contain '* email'

Please check whether ~/s/notes/diary.org is saved to the filesystem
and really contains the 'email' outline.

I tested with the same org file path/name as above, and the org file
contained single line

* email

and it worked.

Let me know if you cannot get it work, we'll try another approach.



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-04-15  1:34   ` Jan Tatarik
@ 2013-04-16  9:05     ` Eric S Fraga
  0 siblings, 0 replies; 42+ messages in thread
From: Eric S Fraga @ 2013-04-16  9:05 UTC (permalink / raw)
  To: ding

Jan Tatarik <jan.tatarik@gmail.com> writes:


[...]

> I can only reproduce the error message when
>
> - the diary file does not exist on the filesystem (unsaved emacs buffer
>   is not enough)
>
> - the diary file exists, but does not contain '* email'
>
> Please check whether ~/s/notes/diary.org is saved to the filesystem
> and really contains the 'email' outline.

I've tried again and it works just fine.  <blush>  I must have not saved
my diary file :(

Thanks again for a really useful extension to gnus and sorry for the noise.

-- 
: Eric S Fraga, GnuPG: 0xC89193D8FFFCF67D
: in Emacs 24.3.50.1 + Ma Gnus v0.6 + evil 1.0-dev
: BBDB version 3.02 ($Date: 2013/02/16 14:37:17 $)




^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-04-03 15:27 ` David Engster
  2013-04-03 21:28   ` Jan Tatarik
@ 2013-06-06 15:15   ` Ted Zlatanov
  2013-06-06 17:08     ` David Engster
  1 sibling, 1 reply; 42+ messages in thread
From: Ted Zlatanov @ 2013-06-06 15:15 UTC (permalink / raw)
  To: Jan Tatarik; +Cc: ding

On Wed, 03 Apr 2013 17:27:19 +0200 David Engster <deng@randomsample.de> wrote: 

DE> Jan Tatarik writes:
>> The code's available at https://github.com/jtatarik/ical-event

DE> Thank you for working on this. This looks very interesting.

DE> @Lars: This would be a valuable addition to Gnus, don't you think?

I'd be OK with that, but maybe under contrib?

Ted



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-06-06 15:15   ` Ted Zlatanov
@ 2013-06-06 17:08     ` David Engster
  2013-06-06 17:49       ` Ted Zlatanov
  0 siblings, 1 reply; 42+ messages in thread
From: David Engster @ 2013-06-06 17:08 UTC (permalink / raw)
  To: Jan Tatarik; +Cc: ding

Ted Zlatanov writes:
> On Wed, 03 Apr 2013 17:27:19 +0200 David Engster <deng@randomsample.de> wrote: 
>
> DE> Jan Tatarik writes:
>>> The code's available at https://github.com/jtatarik/ical-event
>
> DE> Thank you for working on this. This looks very interesting.
>
> DE> @Lars: This would be a valuable addition to Gnus, don't you think?
>
> I'd be OK with that, but maybe under contrib?

Why not Gnus proper?

-David



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-06-06 17:08     ` David Engster
@ 2013-06-06 17:49       ` Ted Zlatanov
  2013-06-06 18:12         ` David Engster
  0 siblings, 1 reply; 42+ messages in thread
From: Ted Zlatanov @ 2013-06-06 17:49 UTC (permalink / raw)
  To: ding

On Thu, 06 Jun 2013 19:08:14 +0200 David Engster <deng@randomsample.de> wrote: 

DE> Ted Zlatanov writes:
>> On Wed, 03 Apr 2013 17:27:19 +0200 David Engster <deng@randomsample.de> wrote: 
>> 
DE> Jan Tatarik writes:
>>>> The code's available at https://github.com/jtatarik/ical-event
>> 
DE> Thank you for working on this. This looks very interesting.
>> 
DE> @Lars: This would be a valuable addition to Gnus, don't you think?
>> 
>> I'd be OK with that, but maybe under contrib?

DE> Why not Gnus proper?

iCalendar is proprietary software so I don't think support for it should
be in the base Gnus.  Or is this a universal format?

Ted




^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-06-06 17:49       ` Ted Zlatanov
@ 2013-06-06 18:12         ` David Engster
  2013-06-06 18:17           ` Ted Zlatanov
  0 siblings, 1 reply; 42+ messages in thread
From: David Engster @ 2013-06-06 18:12 UTC (permalink / raw)
  To: ding

Ted Zlatanov writes:
> On Thu, 06 Jun 2013 19:08:14 +0200 David Engster <deng@randomsample.de> wrote: 
>
> DE> Ted Zlatanov writes:
>>> On Wed, 03 Apr 2013 17:27:19 +0200 David Engster <deng@randomsample.de> wrote: 
>>> 
> DE> Jan Tatarik writes:
>>>>> The code's available at https://github.com/jtatarik/ical-event
>>> 
> DE> Thank you for working on this. This looks very interesting.
>>> 
> DE> @Lars: This would be a valuable addition to Gnus, don't you think?
>>> 
>>> I'd be OK with that, but maybe under contrib?
>
> DE> Why not Gnus proper?
>
> iCalendar is proprietary software so I don't think support for it should
> be in the base Gnus.  Or is this a universal format?

It's RFC 5545. You're probably confusing it with Apple iCal. See

http://en.wikipedia.org/wiki/ICalendar

-David



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-06-06 18:12         ` David Engster
@ 2013-06-06 18:17           ` Ted Zlatanov
  2013-06-06 20:57             ` Jan Tatarik
  0 siblings, 1 reply; 42+ messages in thread
From: Ted Zlatanov @ 2013-06-06 18:17 UTC (permalink / raw)
  To: ding

On Thu, 06 Jun 2013 20:12:27 +0200 David Engster <deng@randomsample.de> wrote: 

DE> Ted Zlatanov writes:

>> iCalendar is proprietary software so I don't think support for it should
>> be in the base Gnus.  Or is this a universal format?

DE> It's RFC 5545. You're probably confusing it with Apple iCal. See

DE> http://en.wikipedia.org/wiki/ICalendar

Oh OK.  That's OK with me then.  Sorry for the confusion.

Ted




^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-06-06 18:17           ` Ted Zlatanov
@ 2013-06-06 20:57             ` Jan Tatarik
  2013-06-07 11:43               ` Steinar Bang
                                 ` (2 more replies)
  0 siblings, 3 replies; 42+ messages in thread
From: Jan Tatarik @ 2013-06-06 20:57 UTC (permalink / raw)
  To: ding

On Thu, Jun 06 2013, Ted Zlatanov wrote:

> On Thu, 06 Jun 2013 20:12:27 +0200 David Engster <deng@randomsample.de> wrote: 

> DE> Ted Zlatanov writes:

>>> iCalendar is proprietary software so I don't think support for it should
>>> be in the base Gnus.  Or is this a universal format?

> DE> It's RFC 5545. You're probably confusing it with Apple iCal. See

> DE> http://en.wikipedia.org/wiki/ICalendar

> Oh OK.  That's OK with me then.  Sorry for the confusion.

> Ted

I'm trying to whip it into shape for inclusion, the current effort is at
https://github.com/jtatarik/gnus/blob/icalendar/lisp/gnus-icalendar.el

It contains everything in ical-event, plus few improvements and some
bugfixes.



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-06-06 20:57             ` Jan Tatarik
@ 2013-06-07 11:43               ` Steinar Bang
  2013-06-07 12:13                 ` Jan Tatarik
  2013-06-21  6:56               ` David Engster
  2013-08-01 15:40               ` Lars Magne Ingebrigtsen
  2 siblings, 1 reply; 42+ messages in thread
From: Steinar Bang @ 2013-06-07 11:43 UTC (permalink / raw)
  To: ding

>>>>> Jan Tatarik <jan.tatarik@gmail.com>:

> I'm trying to whip it into shape for inclusion, the current effort is at
> https://github.com/jtatarik/gnus/blob/icalendar/lisp/gnus-icalendar.el

Note that since this repo is structured like the gnus repo itself, it
should be possible to merge this in with full history.

The reason I say "should be" instead of "is", is that the icalendar repo
seems to come from something called "emacsmirror", rather than the gnus
repo
 https://github.com/jtatarik/gnus/network

I'm guessing that emacsmirror is a git repo shadowing the emacs bzr
repo...? 

If it had been from the gnus repo, the process from a Gnus committer's
POV, would have been:
 git remote add jtatarik-gnus https://github.com/jtatarik/gnus.git
 git fetch jtatarik-gnus

Then move to the head of master (which will be the gnus master branch): 
 git checkout master
 git pull --ff-only

And then
 git merge --no-ff --no-commit jtatarik-gnus/icalendar
and then inspect the modified files in the working directory and if the
changes look ok (just the icalendar.el file added, and the file added to
the configuration) then complete the commit with
 git commmit

(--no-commit makes it stop before the commit, and --no-ff is probably
not necessary here: it creates a commit even when the merge is a fast
forward operation in the master branch)

If the merge results look bad, they can be cleared out of the working
directory with
 git reset --hard origin/master
(which is a somewhat dangerous command.  Check that you are on master
before doing it, and that you don't have any outstanding changes that
are not part of the merge, because they will all be cleaned away by the
reset)

In any case it is simple to just try doing this merge and see what the
results are.




^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-06-07 11:43               ` Steinar Bang
@ 2013-06-07 12:13                 ` Jan Tatarik
  2013-06-07 12:41                   ` Ted Zlatanov
  0 siblings, 1 reply; 42+ messages in thread
From: Jan Tatarik @ 2013-06-07 12:13 UTC (permalink / raw)
  To: ding

On Fri, Jun 07 2013, Steinar Bang wrote:

>>>>>> Jan Tatarik <jan.tatarik@gmail.com>:

>> I'm trying to whip it into shape for inclusion, the current effort is at
>> https://github.com/jtatarik/gnus/blob/icalendar/lisp/gnus-icalendar.el

> Note that since this repo is structured like the gnus repo itself, it
> should be possible to merge this in with full history.

> The reason I say "should be" instead of "is", is that the icalendar repo
> seems to come from something called "emacsmirror", rather than the gnus
> repo
>  https://github.com/jtatarik/gnus/network

> I'm guessing that emacsmirror is a git repo shadowing the emacs bzr
> repo...? 

If it makes the merge process easier, I will simply clone the original
repo instead of the emacsmirror one, and continue development against
that.




^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-06-07 12:13                 ` Jan Tatarik
@ 2013-06-07 12:41                   ` Ted Zlatanov
  2013-06-07 13:37                     ` Steinar Bang
  0 siblings, 1 reply; 42+ messages in thread
From: Ted Zlatanov @ 2013-06-07 12:41 UTC (permalink / raw)
  To: ding

On Fri, 07 Jun 2013 14:13:27 +0200 Jan Tatarik <jan.tatarik@gmail.com> wrote: 

JT> On Fri, Jun 07 2013, Steinar Bang wrote:
>>>>>>> Jan Tatarik <jan.tatarik@gmail.com>:

>>> I'm trying to whip it into shape for inclusion, the current effort is at
>>> https://github.com/jtatarik/gnus/blob/icalendar/lisp/gnus-icalendar.el

>> Note that since this repo is structured like the gnus repo itself, it
>> should be possible to merge this in with full history.

>> The reason I say "should be" instead of "is", is that the icalendar repo
>> seems to come from something called "emacsmirror", rather than the gnus
>> repo
>> https://github.com/jtatarik/gnus/network

>> I'm guessing that emacsmirror is a git repo shadowing the emacs bzr
>> repo...? 

JT> If it makes the merge process easier, I will simply clone the original
JT> repo instead of the emacsmirror one, and continue development against
JT> that.

It's probably better, yes, but either way we can make it happen.

Ted




^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-06-07 12:41                   ` Ted Zlatanov
@ 2013-06-07 13:37                     ` Steinar Bang
  0 siblings, 0 replies; 42+ messages in thread
From: Steinar Bang @ 2013-06-07 13:37 UTC (permalink / raw)
  To: ding

> On Fri, 07 Jun 2013 14:13:27 +0200 Jan Tatarik <jan.tatarik@gmail.com> wrote: 

JT> If it makes the merge process easier, I will simply clone the original
JT> repo instead of the emacsmirror one, and continue development against
JT> that.

You don't have to clone the original repo, I think...?

The first thing I would have tried, is something like this:
 - Preserve any outstanding changes you might have
    git stash
   (recover afterwards with "git stash pop")
 - Add the Gnus git repo as a remote and fetch its content
    git remote add gnus-repo http://git.gnus.org/gnus.git
    git fetch gnus-repo
 - Check out the Gnus master branch and test merge your changes against
   this branch
    git checkout -b gnus-master --track gnus-repo/master
    git merge --no-ff --no-commit origin/icalendar

Then you inspect the working directory with eg. magit (recommended!) and
check that what's in there are just your diffs.

Next step then would be to merge in the current Gnus master into your
branch:
 - First clear out the results from the merge
    git reset --hard gnus-repo/master
 - Then merge the Gnus master HEAD into your branch
    git merge gnus-repo/master
 - Build clean and test the Gnus

After this, your icalendar branch is up to date with Gnus master, and
any merges from your branch into Gnus master should be problem free
(ie. you won't have to re-merge before submitting... unless they
completely reorganize the Gnus directory structure in the meantime).




^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-06-06 20:57             ` Jan Tatarik
  2013-06-07 11:43               ` Steinar Bang
@ 2013-06-21  6:56               ` David Engster
  2013-08-01 15:40               ` Lars Magne Ingebrigtsen
  2 siblings, 0 replies; 42+ messages in thread
From: David Engster @ 2013-06-21  6:56 UTC (permalink / raw)
  To: Jan Tatarik; +Cc: ding

Jan Tatarik writes:
> I'm trying to whip it into shape for inclusion, the current effort is at
> https://github.com/jtatarik/gnus/blob/icalendar/lisp/gnus-icalendar.el
>
> It contains everything in ical-event, plus few improvements and some
> bugfixes.

Two small comments:

- The `gmm-flet' macro is not working here. I've no idea why, but I also
  don't think that it matters because IMO you can just use `flet' since
  it is a macro, and use

  (eval-when-compile (require 'cl))

  (Why do we need gmm-flet at all? It seems it was removed once already
  but brought back from some reason.)

- From my experience, Gnus users do not like it at all when a mail is
  send automatically without giving them a chance to look over it, even
  when they just contain MIME markers. Also, like in Outlook, it would
  be nice if people could still add some text to the calendar reply. So
  I would remove the (mail-send-and-exit) and make it possible to
  somehow edit the text/plain part. People can just hit C-c C-c when
  they do not want to add/change anything.

Anyway, otherwise it's working fine. Great job.

-David



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-06-06 20:57             ` Jan Tatarik
  2013-06-07 11:43               ` Steinar Bang
  2013-06-21  6:56               ` David Engster
@ 2013-08-01 15:40               ` Lars Magne Ingebrigtsen
  2013-08-01 18:47                 ` Jan Tatarik
  2 siblings, 1 reply; 42+ messages in thread
From: Lars Magne Ingebrigtsen @ 2013-08-01 15:40 UTC (permalink / raw)
  To: Jan Tatarik; +Cc: ding

Jan Tatarik <jan.tatarik@gmail.com> writes:

> I'm trying to whip it into shape for inclusion, the current effort is at
> https://github.com/jtatarik/gnus/blob/icalendar/lisp/gnus-icalendar.el

Looks great.  Is it ready for inclusion in Gnus now?  It could probably
do with some documentation in gnus.texi...

-- 
(domestic pets only, the antidote for overdose, milk.)
  No Gnus T-Shirt for sale: http://ingebrigtsen.no/no.php



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-08-01 15:40               ` Lars Magne Ingebrigtsen
@ 2013-08-01 18:47                 ` Jan Tatarik
  2013-08-01 21:07                   ` Lars Magne Ingebrigtsen
  0 siblings, 1 reply; 42+ messages in thread
From: Jan Tatarik @ 2013-08-01 18:47 UTC (permalink / raw)
  To: Lars Magne Ingebrigtsen; +Cc: ding

On Thu, Aug 01 2013, Lars Magne Ingebrigtsen wrote:

> Jan Tatarik <jan.tatarik@gmail.com> writes:

>> I'm trying to whip it into shape for inclusion, the current effort is at
>> https://github.com/jtatarik/gnus/blob/icalendar/lisp/gnus-icalendar.el

> Looks great.  Is it ready for inclusion in Gnus now?  It could probably
> do with some documentation in gnus.texi...

As for readiness for inclusion... Haven't tried to run it with recent
gnus since beginning of June.

Didn't have much time to work on this recently, but it seems to work
fine (got no complaints recently from my 5 and a half users). There is
one feature request to give the user more control over the sending of
replies. Right now the reply mail gets sent immediately after clicking
the reply button, without giving you the chance to include a custom
reply message. Looks like a reasonable thing to have, but nothing breaks
without it.

Jan






^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-08-01 18:47                 ` Jan Tatarik
@ 2013-08-01 21:07                   ` Lars Magne Ingebrigtsen
  2013-08-01 21:28                     ` Lars Magne Ingebrigtsen
                                       ` (3 more replies)
  0 siblings, 4 replies; 42+ messages in thread
From: Lars Magne Ingebrigtsen @ 2013-08-01 21:07 UTC (permalink / raw)
  To: Jan Tatarik; +Cc: ding

Jan Tatarik <jan.tatarik@gmail.com> writes:

> As for readiness for inclusion... Haven't tried to run it with recent
> gnus since beginning of June.

I've now included it in Ma Gnus.  Could you write some documentation for
gnus.texi and GNUS-NEWS that describes the functionality?

-- 
(domestic pets only, the antidote for overdose, milk.)
  No Gnus T-Shirt for sale: http://ingebrigtsen.no/no.php



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-08-01 21:07                   ` Lars Magne Ingebrigtsen
@ 2013-08-01 21:28                     ` Lars Magne Ingebrigtsen
  2013-08-06 20:45                       ` Jan Tatarik
  2013-08-09 22:07                       ` Mats Lidell
  2013-08-01 21:51                     ` Jan Tatarik
                                       ` (2 subsequent siblings)
  3 siblings, 2 replies; 42+ messages in thread
From: Lars Magne Ingebrigtsen @ 2013-08-01 21:28 UTC (permalink / raw)
  To: Jan Tatarik; +Cc: ding

Lars Magne Ingebrigtsen <larsi@gnus.org> writes:

> I've now included it in Ma Gnus.

It gives various errors in various Emacs versions.  >"?

Emacs 23:

In toplevel form:
gnus-icalendar.el:166:55:Error: `"REQUEST"' is a malformed function

Emacs 24.1:

In toplevel form:
gnus-icalendar.el:166:1:Error: Unknown upattern `REQUEST'

Hm.  Same line...

XEmacs 21.5:

While compiling gnus-icalendar-event--decode-datefield in file /var/lib/buildbot/slaves/debian/build-xemacs21.5/build/lisp/gnus-icalendar.el:
  !! error (("icalendar--decode-isodatetime called with 3 arguments, but accepts only 1-2"))

Hm...  that function in XEmacs 21.5 doesn't take a timezone?  *sigh*

-- 
(domestic pets only, the antidote for overdose, milk.)
  No Gnus T-Shirt for sale: http://ingebrigtsen.no/no.php



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-08-01 21:07                   ` Lars Magne Ingebrigtsen
  2013-08-01 21:28                     ` Lars Magne Ingebrigtsen
@ 2013-08-01 21:51                     ` Jan Tatarik
  2013-08-01 22:08                     ` Jan Tatarik
  2013-08-02  6:20                     ` Steinar Bang
  3 siblings, 0 replies; 42+ messages in thread
From: Jan Tatarik @ 2013-08-01 21:51 UTC (permalink / raw)
  To: Lars Magne Ingebrigtsen; +Cc: ding

On Thu, Aug 01 2013, Lars Magne Ingebrigtsen wrote:

> Jan Tatarik <jan.tatarik@gmail.com> writes:

>> As for readiness for inclusion... Haven't tried to run it with recent
>> gnus since beginning of June.

> I've now included it in Ma Gnus.  Could you write some documentation for
> gnus.texi and GNUS-NEWS that describes the functionality?

Will do.



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-08-01 21:07                   ` Lars Magne Ingebrigtsen
  2013-08-01 21:28                     ` Lars Magne Ingebrigtsen
  2013-08-01 21:51                     ` Jan Tatarik
@ 2013-08-01 22:08                     ` Jan Tatarik
  2013-08-01 23:10                       ` Lars Magne Ingebrigtsen
  2013-08-02  6:20                     ` Steinar Bang
  3 siblings, 1 reply; 42+ messages in thread
From: Jan Tatarik @ 2013-08-01 22:08 UTC (permalink / raw)
  To: Lars Magne Ingebrigtsen; +Cc: ding

On Thu, Aug 01 2013, Lars Magne Ingebrigtsen wrote:

> Jan Tatarik <jan.tatarik@gmail.com> writes:

>> As for readiness for inclusion... Haven't tried to run it with recent
>> gnus since beginning of June.

> I've now included it in Ma Gnus.  Could you write some documentation for
> gnus.texi and GNUS-NEWS that describes the functionality?

Getting compilation errors from the buildbot. Is the pcase macro
available in older versions?



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-08-01 22:08                     ` Jan Tatarik
@ 2013-08-01 23:10                       ` Lars Magne Ingebrigtsen
  2013-08-01 23:26                         ` Jan Tatarik
  2013-08-06 20:32                         ` Jan Tatarik
  0 siblings, 2 replies; 42+ messages in thread
From: Lars Magne Ingebrigtsen @ 2013-08-01 23:10 UTC (permalink / raw)
  To: Jan Tatarik; +Cc: ding

Jan Tatarik <jan.tatarik@gmail.com> writes:

> Getting compilation errors from the buildbot. Is the pcase macro
> available in older versions?

I think it first became available in Emacs 24.  But Emacs 24.1 didn't
support some expressions that it now supports, so using it for anything
other than Emacs 24.3 and up isn't very backward-compatible,
unfortunately.

-- 
(domestic pets only, the antidote for overdose, milk.)
  No Gnus T-Shirt for sale: http://ingebrigtsen.no/no.php



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-08-01 23:10                       ` Lars Magne Ingebrigtsen
@ 2013-08-01 23:26                         ` Jan Tatarik
  2013-08-06 20:32                         ` Jan Tatarik
  1 sibling, 0 replies; 42+ messages in thread
From: Jan Tatarik @ 2013-08-01 23:26 UTC (permalink / raw)
  To: Lars Magne Ingebrigtsen; +Cc: ding


On 2 Aug 2013, at 01:10, Lars Magne Ingebrigtsen <larsi@gnus.org> wrote:

> Jan Tatarik <jan.tatarik@gmail.com> writes:
> 
>> Getting compilation errors from the buildbot. Is the pcase macro
>> available in older versions?
> 
> I think it first became available in Emacs 24.  But Emacs 24.1 didn't
> support some expressions that it now supports, so using it for anything
> other than Emacs 24.3 and up isn't very backward-compatible,
> unfortunately.
> 


I'll drop the pcase, then, and look into the timezone thing.




> -- 
> (domestic pets only, the antidote for overdose, milk.)
>  No Gnus T-Shirt for sale: http://ingebrigtsen.no/no.php



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-08-01 21:07                   ` Lars Magne Ingebrigtsen
                                       ` (2 preceding siblings ...)
  2013-08-01 22:08                     ` Jan Tatarik
@ 2013-08-02  6:20                     ` Steinar Bang
  2013-08-02 12:40                       ` Lars Magne Ingebrigtsen
  3 siblings, 1 reply; 42+ messages in thread
From: Steinar Bang @ 2013-08-02  6:20 UTC (permalink / raw)
  To: ding

>>>>> Lars Magne Ingebrigtsen <larsi@gnus.org>:

> I've now included it in Ma Gnus.

Just out of curiosity, did you merge the git branch into gnus, and get
the full history? Or did you just copy it into your local working
directory and add it as a new file?




^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-08-02  6:20                     ` Steinar Bang
@ 2013-08-02 12:40                       ` Lars Magne Ingebrigtsen
  2013-08-02 13:25                         ` Steinar Bang
  0 siblings, 1 reply; 42+ messages in thread
From: Lars Magne Ingebrigtsen @ 2013-08-02 12:40 UTC (permalink / raw)
  To: ding

Steinar Bang <sb@dod.no> writes:

> Just out of curiosity, did you merge the git branch into gnus, and get
> the full history? Or did you just copy it into your local working
> directory and add it as a new file?

I just added it as a new file.  The other options looked way too
complicated for someone who knows nothing about git.  I.e., me.

-- 
(domestic pets only, the antidote for overdose, milk.)
  No Gnus T-Shirt for sale: http://ingebrigtsen.no/no.php




^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-08-02 12:40                       ` Lars Magne Ingebrigtsen
@ 2013-08-02 13:25                         ` Steinar Bang
  0 siblings, 0 replies; 42+ messages in thread
From: Steinar Bang @ 2013-08-02 13:25 UTC (permalink / raw)
  To: ding

>>>>> Lars Magne Ingebrigtsen <larsi@gnus.org>:

> I just added it as a new file.  The other options looked way too
> complicated for someone who knows nothing about git.  I.e., me.

Ok. What made it complicated was that it was cloned from the "wrong
repository".  But if the files are the exact same in the two
repositories (or at least: share commits in their history where they
hade the exact same SHA1) a merge should/could be possible.

I wrote some suggestions in 
 nntp://news.gmane.org/gmane.emacs.gnus.general/83294
 http://permalink.gmane.org/gmane.emacs.gnus.general/83294

But those were directed at the author of the the iCalendar
support. Ie. an attempt to merge in the current gnus git development
into his repository.  If he had been successful in doing so, you could
easily have merged in his changes into gnus git master.

But even without that change to the iCalendar support git repo in place
(it isn't in place) you could have tried a merge of his branch into your
master in the following way:

 1. stash all of your local uncommitted changes
     git stash
 2. add the iCalendar support repo
     git remote add jtatarik-gnus https://github.com/jtatarik/gnus.git
     git fetch jtatarik-gnus
 3. go to master HEAD
     git checkout master
     git pull
 4. do a merge that stops before creating a commit
     git merge --no-ff --no-commit jtatarik-gnus/master
 5. examine the outstanding changes in your working directory (I prefer
    using magit for this `M-x magit-status RET')
     - If you only have lisp/gnus-icalendar.el as added as the only
       change, you're good, and can just complete the merge with
         git commit
       Future merges from the jtatarik repo should be problem free, and
       can be done with
        git fetch jtatarik-gnus
        git merge jtatarik-gnus/master
       (though I always prefer the "--no-ff --no-commit" behaviour when
       merging in others' changes)
     - If you see a lot of unrelated changes in the merge, you can get
       back on track with:
        git checkout origin/master .
        git checkout jtatarik-gnus/master lisp/gnus-icalendar.el
        git commit
       (this takes all files in the form they appear on the gnus git
       master, except for gnus-icalendar.el which is taken from Jans
       repo and will keep its entire commit history from there)
       Future merges after this should be problem free, using the same
       commands as above, unless Jan changes some other files outside of
       gnus-icalendar.el (eg. by doing a merge with the repo he
       originally cloned from. But if so, you can get back on track with
       the same trick as above)
 6. Recover your stashed uncommitted changes
     git stash pop




^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-08-01 23:10                       ` Lars Magne Ingebrigtsen
  2013-08-01 23:26                         ` Jan Tatarik
@ 2013-08-06 20:32                         ` Jan Tatarik
  2013-08-06 20:36                           ` Lars Magne Ingebrigtsen
  2013-08-06 20:52                           ` Lars Magne Ingebrigtsen
  1 sibling, 2 replies; 42+ messages in thread
From: Jan Tatarik @ 2013-08-06 20:32 UTC (permalink / raw)
  To: Lars Magne Ingebrigtsen; +Cc: ding

[-- Attachment #1: Type: text/plain, Size: 451 bytes --]

On Fri, Aug 02 2013, Lars Magne Ingebrigtsen wrote:

> Jan Tatarik <jan.tatarik@gmail.com> writes:

>> Getting compilation errors from the buildbot. Is the pcase macro
>> available in older versions?

> I think it first became available in Emacs 24.  But Emacs 24.1 didn't
> support some expressions that it now supports, so using it for anything
> other than Emacs 24.3 and up isn't very backward-compatible,
> unfortunately.

How about this, then?


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: replace pcase with cond --]
[-- Type: text/x-diff, Size: 3211 bytes --]

diff --git a/lisp/gnus-icalendar.el b/lisp/gnus-icalendar.el
index 0286fd5dd8908ad7839b1f541a5946d2814bea3d..3a9e743e8ed98a0b694a2a2f1d597a6e69ae3142 100644
--- a/lisp/gnus-icalendar.el
+++ b/lisp/gnus-icalendar.el
@@ -183,11 +183,11 @@
                      :end (gnus-icalendar-event--decode-datefield event 'DTEND zone-map)
                      :rsvp (string= (plist-get (cadr attendee) 'RSVP)
                                     "TRUE")))
-         (event-class (pcase method
-                        ("REQUEST" 'gnus-icalendar-event-request)
-                        ("CANCEL" 'gnus-icalendar-event-cancel)
-                        ("REPLY" 'gnus-icalendar-event-reply)
-                        (_ 'gnus-icalendar-event))))
+         (event-class (cond
+                       ((string= method "REQUEST") 'gnus-icalendar-event-request)
+                       ((string= method "CANCEL") 'gnus-icalendar-event-cancel)
+                       ((string= method "REPLY") 'gnus-icalendar-event-reply)
+                       (t 'gnus-icalendar-event))))
 
     (labels ((map-property (prop)
                    (let ((value (icalendar--get-event-property event prop)))
@@ -252,14 +252,15 @@ status will be retrieved from the first matching attendee record."
                             ;; NOTE: not all of the below fields are mandatory,
                             ;; but they are often present in other clients'
                             ;; replies. Can be helpful for debugging, too.
-                            (new-line (pcase key
-                                        ("ATTENDEE" (update-attendee-status line))
-                                        ("SUMMARY" (update-summary line))
-                                        ("DTSTAMP" (update-dtstamp))
-                                        ((or "ORGANIZER" "DTSTART" "DTEND"
-                                             "LOCATION" "DURATION" "SEQUENCE"
-                                             "RECURRENCE-ID" "UID") line)
-                                        (_ nil))))
+                            (new-line
+                             (cond
+                              ((string= key "ATTENDEE") (update-attendee-status line))
+                              ((string= key "SUMMARY") (update-summary line))
+                              ((string= key "DTSTAMP") (update-dtstamp))
+                              ((find key '("ORGANIZER" "DTSTART" "DTEND"
+                                           "LOCATION" "DURATION" "SEQUENCE"
+                                           "RECURRENCE-ID" "UID")) line)
+                              (t nil))))
                        (when new-line
                          (push new-line reply-event-lines))))))
 
@@ -405,7 +406,8 @@ Return nil for non-recurring EVENT."
 
 (defun gnus-icalendar--deactivate-org-timestamp (ts)
   (replace-regexp-in-string "[<>]"
-                            (lambda (m) (pcase m ("<" "[") (">" "]")))
+                            (lambda (m) (cond ((string= m "<") "[")
+                                              ((string= m ">") "]")))
                             ts))
 
 (defun gnus-icalendar-find-org-event-file (event &optional org-file)

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-08-06 20:32                         ` Jan Tatarik
@ 2013-08-06 20:36                           ` Lars Magne Ingebrigtsen
  2013-08-06 20:52                           ` Lars Magne Ingebrigtsen
  1 sibling, 0 replies; 42+ messages in thread
From: Lars Magne Ingebrigtsen @ 2013-08-06 20:36 UTC (permalink / raw)
  To: Jan Tatarik; +Cc: ding

Jan Tatarik <jan.tatarik@gmail.com> writes:

> How about this, then?

Thanks; applied.

-- 
(domestic pets only, the antidote for overdose, milk.)
  No Gnus T-Shirt for sale: http://ingebrigtsen.no/no.php
  and http://lars.ingebrigtsen.no/2013/08/twenty-years-of-september.html



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-08-01 21:28                     ` Lars Magne Ingebrigtsen
@ 2013-08-06 20:45                       ` Jan Tatarik
  2013-08-06 20:54                         ` Lars Magne Ingebrigtsen
  2013-08-09 22:07                       ` Mats Lidell
  1 sibling, 1 reply; 42+ messages in thread
From: Jan Tatarik @ 2013-08-06 20:45 UTC (permalink / raw)
  To: Lars Magne Ingebrigtsen; +Cc: ding

[-- Attachment #1: Type: text/plain, Size: 559 bytes --]

On Thu, Aug 01 2013, Lars Magne Ingebrigtsen wrote:

> Lars Magne Ingebrigtsen <larsi@gnus.org> writes:

>> I've now included it in Ma Gnus.

> It gives various errors in various Emacs versions.  >"?


[...]


> XEmacs 21.5:

> While compiling gnus-icalendar-event--decode-datefield in file /var/lib/buildbot/slaves/debian/build-xemacs21.5/build/lisp/gnus-icalendar.el:
>   !! error (("icalendar--decode-isodatetime called with 3 arguments, but accepts only 1-2"))

> Hm...  that function in XEmacs 21.5 doesn't take a timezone?  *sigh*

This should fix it.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: fix for missing timezone support in xemacs --]
[-- Type: text/x-diff, Size: 801 bytes --]

diff --git a/lisp/gnus-icalendar.el b/lisp/gnus-icalendar.el
index 3a9e743e8ed98a0b694a2a2f1d597a6e69ae3142..8f8ccc2766ac7816de35731c7dfb9aec97d457fe 100644
--- a/lisp/gnus-icalendar.el
+++ b/lisp/gnus-icalendar.el
@@ -140,7 +140,10 @@
                      (icalendar--get-event-property-attributes
                       ical field)
                      zone-map))
-         (date-decoded (icalendar--decode-isodatetime date nil date-zone)))
+         (date-decoded (if (featurep 'xemacs)
+                           ;; XEmacs does not support timezone in this function
+                           (icalendar--decode-isodatetime date)
+                         (icalendar--decode-isodatetime date nil date-zone))))
 
     (concat (icalendar--datetime-to-iso-date date-decoded "-")
             " "

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-08-06 20:32                         ` Jan Tatarik
  2013-08-06 20:36                           ` Lars Magne Ingebrigtsen
@ 2013-08-06 20:52                           ` Lars Magne Ingebrigtsen
  2013-08-06 21:24                             ` Jan Tatarik
  1 sibling, 1 reply; 42+ messages in thread
From: Lars Magne Ingebrigtsen @ 2013-08-06 20:52 UTC (permalink / raw)
  To: Jan Tatarik; +Cc: ding

Jan Tatarik <jan.tatarik@gmail.com> writes:

> How about this, then?

Now it fails with

In toplevel form:
gnus-icalendar.el:840:1:Error: the following functions are not known to be defined: org-narrow-to-element, org-capture-string, setq-local

on Emacs 24.1 and

In toplevel form:
gnus-icalendar.el:317:1:Error: Cannot open load file: org-capture

on Emacs 23.3...

-- 
(domestic pets only, the antidote for overdose, milk.)
  No Gnus T-Shirt for sale: http://ingebrigtsen.no/no.php
  and http://lars.ingebrigtsen.no/2013/08/twenty-years-of-september.html



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-08-06 20:45                       ` Jan Tatarik
@ 2013-08-06 20:54                         ` Lars Magne Ingebrigtsen
  0 siblings, 0 replies; 42+ messages in thread
From: Lars Magne Ingebrigtsen @ 2013-08-06 20:54 UTC (permalink / raw)
  To: Jan Tatarik; +Cc: ding

Jan Tatarik <jan.tatarik@gmail.com> writes:

> +         (date-decoded (if (featurep 'xemacs)
> +                           ;; XEmacs does not support timezone in this function
> +                           (icalendar--decode-isodatetime date)
> +                         (icalendar--decode-isodatetime date nil date-zone))))

This will still give a warning when compiling.  The best way to fix this
is to define an alias `gnus-decode-isodatetime', and redefine it in
gnus-xmas to call `icalendar--decode-isodatetime' without the second
parameter, I think.

-- 
(domestic pets only, the antidote for overdose, milk.)
  No Gnus T-Shirt for sale: http://ingebrigtsen.no/no.php
  and http://lars.ingebrigtsen.no/2013/08/twenty-years-of-september.html



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-08-06 20:52                           ` Lars Magne Ingebrigtsen
@ 2013-08-06 21:24                             ` Jan Tatarik
  2013-08-12 17:32                               ` Lars Magne Ingebrigtsen
  0 siblings, 1 reply; 42+ messages in thread
From: Jan Tatarik @ 2013-08-06 21:24 UTC (permalink / raw)
  To: Lars Magne Ingebrigtsen; +Cc: ding

On Tue, Aug 06 2013, Lars Magne Ingebrigtsen wrote:

> Jan Tatarik <jan.tatarik@gmail.com> writes:

>> How about this, then?

> Now it fails with

> In toplevel form:
> gnus-icalendar.el:840:1:Error: the following functions are not known to be defined: org-narrow-to-element, org-capture-string, setq-local

> on Emacs 24.1 and

> In toplevel form:
> gnus-icalendar.el:317:1:Error: Cannot open load file: org-capture

> on Emacs 23.3...

Well... I think the whole org-part is a no-go, because it only works
with org version 8+.

Shall I extract the org support into separate module that would be only
available to emacs 24.3+ users? I'm not willing to spend any time
backporting to old org versions.



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-08-01 21:28                     ` Lars Magne Ingebrigtsen
  2013-08-06 20:45                       ` Jan Tatarik
@ 2013-08-09 22:07                       ` Mats Lidell
  1 sibling, 0 replies; 42+ messages in thread
From: Mats Lidell @ 2013-08-09 22:07 UTC (permalink / raw)
  To: Lars Magne Ingebrigtsen; +Cc: Jan Tatarik, ding

>>>>> Lars Magne Ingebrigtsen <larsi@gnus.org> writes:

> Hm...  that function in XEmacs 21.5 doesn't take a timezone?  *sigh*

OK. Thanks for pointing that out. I'll see what we can do about it.

When you encounter other problems with XEmacs it would be really
appreciated if you could bring that to our attention. You can either
drop a line to "xemacs-beta@xemacs.org", probably easiest, or file a
bug report at "http://tracker.xemacs.org".
 
Yours
-- 
%% Mats



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-08-06 21:24                             ` Jan Tatarik
@ 2013-08-12 17:32                               ` Lars Magne Ingebrigtsen
  2013-08-12 19:09                                 ` Jan Tatarik
  0 siblings, 1 reply; 42+ messages in thread
From: Lars Magne Ingebrigtsen @ 2013-08-12 17:32 UTC (permalink / raw)
  To: Jan Tatarik; +Cc: ding

Jan Tatarik <jan.tatarik@gmail.com> writes:

> Shall I extract the org support into separate module that would be only
> available to emacs 24.3+ users?

If it's a lot of work splitting that out, we could just say that the
icalendar support is only for 24.3+ users.  >"?

-- 
(domestic pets only, the antidote for overdose, milk.)
  No Gnus T-Shirt for sale: http://ingebrigtsen.no/no.php
  and http://lars.ingebrigtsen.no/2013/08/twenty-years-of-september.html



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-08-12 17:32                               ` Lars Magne Ingebrigtsen
@ 2013-08-12 19:09                                 ` Jan Tatarik
  2013-08-12 19:20                                   ` Lars Magne Ingebrigtsen
  0 siblings, 1 reply; 42+ messages in thread
From: Jan Tatarik @ 2013-08-12 19:09 UTC (permalink / raw)
  To: Lars Magne Ingebrigtsen; +Cc: ding


On 12 Aug 2013, at 19:32, Lars Magne Ingebrigtsen <larsi@gnus.org> wrote:

> Jan Tatarik <jan.tatarik@gmail.com> writes:
> 
>> Shall I extract the org support into separate module that would be only
>> available to emacs 24.3+ users?
> 
> If it's a lot of work splitting that out, we could just say that the
> icalendar support is only for 24.3+ users.  >"?

I would be happy with that. What about the buildbot, though, can it be silenced somehow?




^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: iCalendar support: reply to invitations, sync to org
  2013-08-12 19:09                                 ` Jan Tatarik
@ 2013-08-12 19:20                                   ` Lars Magne Ingebrigtsen
  0 siblings, 0 replies; 42+ messages in thread
From: Lars Magne Ingebrigtsen @ 2013-08-12 19:20 UTC (permalink / raw)
  To: Jan Tatarik; +Cc: ding

Jan Tatarik <jan.tatarik@gmail.com> writes:

>> If it's a lot of work splitting that out, we could just say that the
>> icalendar support is only for 24.3+ users.  >"?
>
> I would be happy with that. What about the buildbot, though, can it be
> silenced somehow?

Yes, I've disabled compiling gnus-icalendar on everything but Emacs 24.3
and newer.

-- 
(domestic pets only, the antidote for overdose, milk.)
  No Gnus T-Shirt for sale: http://ingebrigtsen.no/no.php
  and http://lars.ingebrigtsen.no/2013/08/twenty-years-of-september.html



^ permalink raw reply	[flat|nested] 42+ messages in thread

end of thread, other threads:[~2013-08-12 19:20 UTC | newest]

Thread overview: 42+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-04-02 22:21 iCalendar support: reply to invitations, sync to org Jan Tatarik
2013-04-03  8:23 ` Adam Sjøgren
2013-04-03 12:38   ` Jan Tatarik
2013-04-03 15:27 ` David Engster
2013-04-03 21:28   ` Jan Tatarik
2013-04-03 22:01     ` David Engster
2013-04-03 22:52       ` Jan Tatarik
2013-06-06 15:15   ` Ted Zlatanov
2013-06-06 17:08     ` David Engster
2013-06-06 17:49       ` Ted Zlatanov
2013-06-06 18:12         ` David Engster
2013-06-06 18:17           ` Ted Zlatanov
2013-06-06 20:57             ` Jan Tatarik
2013-06-07 11:43               ` Steinar Bang
2013-06-07 12:13                 ` Jan Tatarik
2013-06-07 12:41                   ` Ted Zlatanov
2013-06-07 13:37                     ` Steinar Bang
2013-06-21  6:56               ` David Engster
2013-08-01 15:40               ` Lars Magne Ingebrigtsen
2013-08-01 18:47                 ` Jan Tatarik
2013-08-01 21:07                   ` Lars Magne Ingebrigtsen
2013-08-01 21:28                     ` Lars Magne Ingebrigtsen
2013-08-06 20:45                       ` Jan Tatarik
2013-08-06 20:54                         ` Lars Magne Ingebrigtsen
2013-08-09 22:07                       ` Mats Lidell
2013-08-01 21:51                     ` Jan Tatarik
2013-08-01 22:08                     ` Jan Tatarik
2013-08-01 23:10                       ` Lars Magne Ingebrigtsen
2013-08-01 23:26                         ` Jan Tatarik
2013-08-06 20:32                         ` Jan Tatarik
2013-08-06 20:36                           ` Lars Magne Ingebrigtsen
2013-08-06 20:52                           ` Lars Magne Ingebrigtsen
2013-08-06 21:24                             ` Jan Tatarik
2013-08-12 17:32                               ` Lars Magne Ingebrigtsen
2013-08-12 19:09                                 ` Jan Tatarik
2013-08-12 19:20                                   ` Lars Magne Ingebrigtsen
2013-08-02  6:20                     ` Steinar Bang
2013-08-02 12:40                       ` Lars Magne Ingebrigtsen
2013-08-02 13:25                         ` Steinar Bang
2013-04-12 16:25 ` Eric S Fraga
2013-04-15  1:34   ` Jan Tatarik
2013-04-16  9:05     ` Eric S Fraga

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 NNTP newsgroup(s).