emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Memnon Anon <gegendosenfleisch@googlemail.com>
To: emacs-orgmode@gnu.org
Subject: Re: Wish: switch active time-stamps to inactive when CANCELED
Date: Mon, 21 Jan 2013 10:18:55 +0000 (UTC)	[thread overview]
Message-ID: <87wqv6ri13.fsf@mean.albasani.net> (raw)
In-Reply-To: 6810.1358546398@alphaville.americas.hpqcorp.net

Nick Dokos <nicholas.dokos@hp.com> writes:

>> But unfortunately, I know that little of ELISP, that I am not able
>> to implement it by myself :-(
> Time to learn some then - and there is no better way than scratching
> your own itch :-)

Two days later, no reply so far. I'll give it a shot.
Karl, if you are still fiddling to make it work, ignore this posting 
and keep trying. :)

>>> [...] accomplish this with org-after-todo-state-change-hook:
>>> Write a function that checks if org-state is "CANCELED"
>>> [...] looks for active timestamps and calls
>>> org-toggle-timestamp-type on them.

Everything there, so...

--8<---------------cut here---------------start------------->8---
(defun my-org-active-to-inactive-ts ()
  "Toggle type on active timestamp in current heading if state was changed to 'CNCL'.
  
This function is supposed to be called by 'org-after-todo-state-change-hook.
This function expects only one active timestamp to be in the headline."

  (when (string= org-state "CNCL") ; 1.
    (save-excursion ; 2.
      (save-restriction
	(widen)
	(outline-back-to-heading t) ; 3.
	(narrow-to-region (point)
			  (or (outline-next-heading) (point-max)))
	(when (re-search-backward (org-re-timestamp 'active) nil t) ; 4.
	  (org-toggle-timestamp-type))))))
    
(add-hook 'org-after-todo-state-change-hook 'my-org-active-to-inactive-ts)
--8<---------------cut here---------------end--------------->8---

1.: Only when org-state is CNCL, do the rest.
2.: We are jumping around and narrowing, so let's save the way things are,
    first.
3.: Move point to the beginning of the current headline, make sure we 
    only touch it by narrowing to it. If there is no next headline,
    point-max will do.
4.: regex search for (only) one active timestamp. When there is one, point
    will end up there and we toggle it. 
    When there is none, search returns nil, nothing happens.

Memnon

  parent reply	other threads:[~2013-01-21 10:19 UTC|newest]

Thread overview: 157+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-07 15:55 Referencing elemts of a table Karl Voit
2011-06-07 17:22 ` Michael Brand
2011-06-08  0:05   ` kinouchou
2011-06-08  3:54     ` Jambunathan K
2011-06-08  4:25     ` Nick Dokos
2011-06-08 12:49   ` Karl Voit
2011-06-08 13:47     ` Michael Brand
     [not found]     ` <devnull@Karl-Voit.at>
2011-06-08 13:49       ` Nick Dokos
2011-06-24 14:32       ` org-time-stamp loses repeater interval Karl Voit
2011-06-24 16:08         ` Bernt Hansen
2011-06-24 16:01       ` Nick Dokos
2011-06-24 17:40         ` Michael Brand
2011-06-24 18:00           ` Nick Dokos
2011-06-26 11:30           ` Bug: " Karl Voit
2011-06-27 16:23             ` Bastien
2011-06-28 13:40               ` Karl Voit
2011-06-28 14:28                 ` Bastien
2011-06-28 15:04                   ` Nick Dokos
2011-06-28 15:13                   ` Karl Voit
2011-06-28 15:33                     ` Nick Dokos
2011-06-28 16:03                       ` Karl Voit
2011-06-28 15:48                     ` Bastien
2011-06-28 16:05                 ` Karl Voit
2011-06-28 17:27                   ` Bastien
2011-06-28 18:43                     ` Karl Voit
2011-06-28 23:02                       ` Bastien
2011-06-28 23:10                         ` Nick Dokos
2011-06-28 23:58                           ` Bastien
2011-06-29  1:44                             ` Nick Dokos
2011-06-29  7:28                               ` Sebastien Vauban
2011-06-29  9:30                                 ` Bastien
2011-06-29 14:34                                 ` Nick Dokos
2011-07-02 13:29                                   ` Bastien
2011-06-29 12:47                               ` Karl Voit
2011-07-02 13:26                                 ` Bastien
2011-07-02 13:26                               ` Bastien
2011-09-30 15:31       ` How to debug "Specified time is not representable" Nick Dokos
2011-10-18 17:26       ` Recurring events with exceptions Nick Dokos
2011-10-18 20:38         ` Karl Voit
2012-03-16 17:52       ` [bug] org-agenda-write does not handle date stamps without day of week Nick Dokos
2012-03-16 18:53         ` Karl Voit
2012-03-17  6:45       ` Nick Dokos
2012-03-19  9:12         ` Carsten Dominik
2012-03-20  5:54           ` Carsten Dominik
2012-03-20 12:26             ` Karl Voit
2012-03-20 13:47               ` Carsten Dominik
2012-04-10 17:38           ` Bastien
2012-04-10 17:44             ` Nick Dokos
2012-04-10 18:03               ` Bastien
2012-03-20 13:39       ` Nick Dokos
2012-03-21 16:32         ` Karl Voit
2012-03-21 16:57           ` Carsten Dominik
2012-03-26 16:10       ` Plotting (with gnuplot) using dates timestamps Nick Dokos
2012-08-13 22:27       ` table: referencing row of other table Nick Dokos
2012-08-13 22:44         ` Karl Voit
2012-08-19 12:32       ` What HW/SW issues influence org/Emacs performance? Nick Dokos
2012-08-19 13:04         ` Karl Voit
2012-08-20 17:23       ` Replacement for org-make-link Nick Dokos
2012-08-20 17:54         ` Bastien
2012-08-20 19:29           ` Karl Voit
2012-08-27 16:09       ` comma as decimal point: bug? Nick Dokos
2012-08-27 16:17         ` Karl Voit
2013-01-18 14:07       ` Wish: switch active time-stamps to inactive when CANCELED Nick Dokos
2013-01-18 21:24         ` Karl Voit
2013-01-18 21:59       ` Nick Dokos
2013-01-20 16:05         ` Karl Voit
2013-01-20 18:16           ` Viktor Rosenfeld
2013-01-21 10:18         ` Memnon Anon [this message]
2013-01-21 11:39           ` OT: Learning ELISP (was: Wish: switch active time-stamps to inactive when CANCELED) Karl Voit
2013-01-21 21:56             ` OT: Learning ELISP Jonathan Arkell
2013-01-23 14:40               ` Using Org/babel for Emacs config files (was: OT: Learning ELISP) Karl Voit
2013-01-23 15:52                 ` Using Org/babel for Emacs config files David Bjergaard
2013-01-23 22:06                 ` Using Org/babel for Emacs config files (was: OT: Learning ELISP) Darlan Cavalcante Moreira
2013-01-23 22:32                   ` Kyle Machulis
2013-01-24 13:27                     ` [OT] open url in emacs was: Re: Using Org/babel for Emacs config files Andreas Leha
2013-01-24 13:29                       ` Bastien
2013-01-24 14:13                         ` Andreas Leha
2013-01-24 15:19                           ` Bastien
2013-01-24 19:48                             ` Andreas Leha
2013-01-25  4:48                             ` Jambunathan K
2013-01-26  8:34                               ` Andreas Leha
2013-01-26 13:05                                 ` Jambunathan K
2013-01-28  9:41                                   ` Andreas Leha
2013-01-24 15:18                       ` Daimrod
2013-01-24  1:04                 ` Thorsten Jolitz
2013-01-24  1:33                   ` Thomas S. Dye
2013-01-24  8:42                     ` Thorsten Jolitz
2013-01-24 11:36                   ` full outline functionality in .el files: how? (was: Re: Using Org/babel for Emacs config files) Gregor Zattler
2013-01-24 12:48                     ` full outline functionality in .el files: how? Bastien
2013-01-24 13:40                       ` Thorsten Jolitz
2013-01-24 13:46                         ` Bastien
2013-01-24 14:17                           ` Thorsten Jolitz
2013-01-24 15:57                             ` Bastien
2013-01-24 13:36                     ` Thorsten Jolitz
2013-01-25 18:08                     ` Memnon Anon
  -- strict thread matches above, loose matches on Subject: below --
2011-09-30 14:32 How to debug "Specified time is not representable" Karl Voit
2011-09-30 14:52 ` Jambunathan K
2011-10-03 11:50   ` Karl Voit
2011-10-04  7:40     ` Jambunathan K
2011-10-04 11:42       ` Karl Voit
2011-10-04 12:13         ` Carsten Dominik
2011-10-04 11:41     ` Carsten Dominik
2011-10-04 11:47       ` Karl Voit
2011-10-18 16:52 Recurring events with exceptions Karl Voit
2011-10-18 17:04 ` Brian Wightman
2011-10-18 17:35   ` Karl Voit
2011-10-18 18:15   ` Skip Collins
2011-10-18 18:46     ` Tassilo Horn
2011-10-18 19:57     ` Eric S Fraga
2011-10-19  0:34       ` Skip Collins
2011-10-19 10:02         ` Eric S Fraga
2011-10-21 21:48           ` Skip Collins
2011-10-22  8:38             ` Sync with Outlook/Exchange (was: Recurring events with exceptions) Karl Voit
2011-10-24  7:13             ` Recurring events with exceptions Eric S Fraga
2012-03-05 14:44 [bug] org-agenda-write does not handle date stamps without day of week Karl Voit
2012-03-16 16:14 ` Karl Voit
2012-03-17 14:04 ` Simon Thum
2012-03-19  9:13   ` Carsten Dominik
2012-03-26 13:37 Plotting (with gnuplot) using dates timestamps Alan Schmitt
2012-03-26 14:00 ` Allen S. Rout
2012-03-26 14:06 ` Michael Brand
2012-03-26 14:07 ` Steven Buczkowski
     [not found]   ` <steven.buczkowski@gmail.com>
2012-03-26 14:37     ` Nick Dokos
2012-03-26 14:59       ` Alan Schmitt
2012-03-26 15:48         ` Karl Voit
2012-03-26 17:02           ` Alan Schmitt
2012-03-26 17:06             ` Karl Voit
2012-03-26 17:11               ` Ian Barton
2012-03-27  7:59                 ` Karl Voit
2012-03-30  1:09 ` Mueen Nawaz
2012-08-13 21:50 table: referencing row of other table Karl Voit
2012-08-19 10:56 What HW/SW issues influence org/Emacs performance? Karl Voit
2012-08-19 11:23 ` Achim Gratz
2012-08-19 16:45 ` Luis Anaya
2012-08-20 17:03 Replacement for org-make-link Karl Voit
2012-08-26 13:54 comma as decimal point: bug? Rainer Thiel
2012-08-26 20:57 ` Nicolas Goaziou
2012-08-26 21:05   ` Bastien
2012-08-26 21:08     ` Nicolas Goaziou
2012-08-27 16:19       ` Bastien
2012-08-27 15:44   ` Karl Voit
2012-08-26 20:59 ` Bastien
2012-08-27  9:08   ` Rainer Thiel
2012-08-27 12:30     ` AW
2013-01-18 10:34 Wish: switch active time-stamps to inactive when CANCELED Karl Voit
2013-01-18 11:04 ` Daimrod
2013-01-18 11:08   ` Karl Voit
2013-01-18 11:24     ` Daimrod
2013-01-18 21:22       ` Karl Voit
2013-01-18 21:59         ` Viktor Rosenfeld
2013-01-18 22:50           ` Daimrod
2013-01-20 15:39           ` Karl Voit
2013-01-23 13:18           ` Bastien
2013-01-23 17:21             ` Viktor Rosenfeld
2013-01-24 14:11               ` Bastien
2013-01-18 23:10 ` Samuel Wales
2013-01-26 11:06 ` Bastien

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=87wqv6ri13.fsf@mean.albasani.net \
    --to=gegendosenfleisch@googlemail.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).