From mboxrd@z Thu Jan 1 00:00:00 1970 From: Richard Riley Subject: Re: Re: Problem with org-toggle-timestamp-type Date: Thu, 30 Oct 2008 16:46:51 +0100 Message-ID: References: <0A7CF9F9-391A-4424-AB1A-D124293AD9A8@alexanderonline.org> <60C89E98-67D2-45E1-B996-57751B9A4C65@alexanderonline.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KvZjk-0005QJ-NL for emacs-orgmode@gnu.org; Thu, 30 Oct 2008 11:47:04 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KvZjj-0005Pb-PZ for emacs-orgmode@gnu.org; Thu, 30 Oct 2008 11:47:03 -0400 Received: from [199.232.76.173] (port=42417 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KvZjj-0005PU-H2 for emacs-orgmode@gnu.org; Thu, 30 Oct 2008 11:47:03 -0400 Received: from nf-out-0910.google.com ([64.233.182.187]:24382) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KvZjj-0004h5-7p for emacs-orgmode@gnu.org; Thu, 30 Oct 2008 11:47:03 -0400 Received: by nf-out-0910.google.com with SMTP id c7so356860nfi.26 for ; Thu, 30 Oct 2008 08:46:57 -0700 (PDT) In-Reply-To: <60C89E98-67D2-45E1-B996-57751B9A4C65@alexanderonline.org> (Ben Alexander's message of "Thu, 30 Oct 2008 17:21:57 +0200") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Ben Alexander Cc: emacs-orgmode Org-Mode Ben Alexander writes: > I apologize if this is a repeat. It's in my sent items, but I haven't > seen it on the list yet. I edited the message bit, and added a bit > more: >> >> Hi! >> >> I cannot figure out how to use version control in general, and git >> in particular. So I can't generate a proper patch. However, I think >> there is a mistake with org-toggle-timestamp-type. With regard to git: I have been playing with git and its a bit of a muddle as there are so many options and alternatives which cover similar command subsets. Having just discovered dvc the waters are even muddier. http://www.emacswiki.org/cgi-bin/wiki/Git But if you use emacs 23 then most basic revision control commands are there are described in the version control section of the emacs manual. My personal favorite is here as it includes a good tutorial but, for some reason, refuses to status my .emacs.d. But it works well with org-mode project which you can clone. Note the use of the graphical tool gitk too. It is also the only one which use ediff as a default and the only one which provides graphical status bar indicators of your file's git status. http://tsgates.cafe24.com/git/git-emacs.html The most promising one with regard to staging and branching is magit: http://github.com/technomancy/magit/tree/master And the author is generally online in the #emacs irc channel. regards richard. >> >> Currently, the message always returns "Timestamp is now active" >> regardless of whether it is or not. I think this is because the >> message is not inside the save-excursion block, so we can't be sure >> whether point was outside the timestamp (just in front) or inside >> (at the very end). Inside save-excursion, I think it is always >> moved to the end, does the edit, and is moved outside. >> >> Also, I think the sense of the test is backwards. And for some >> reason (if (equal (char-before) ?]) "in" "") didn't work (went to >> elisp debugger). I can't read this much lisp, it's beyond me. >> >> So here's the change I made (to org-version 6.10c) >> >> >> (defun org-toggle-timestamp-type () >> "Toggle the type ( or [inactive]) of a time stamp." >> (interactive) >> (when (org-at-timestamp-p t) >> (save-excursion >> (goto-char (match-beginning 0)) >> (insert (if (equal (char-after) ?<) "[" "<")) (delete-char 1) >> (goto-char (1- (match-end 0))) >> (insert (if (equal (char-after) ?>) "]" ">")) (delete-char 1) >> (message "Timestamp is now %sactive" >> (if (equal (char-before) ?>) "" "in"))))) >> >> There's something else, and this might very well because my git repo >> is not what emacs is actually running, and my modified Makefile >> install target might be foobar. >> >> If I have a timestamp that looks like <2009-01-29 Thu>--<2009-01-29 >> Thu> and the cursor is in front of the first > symbol and then I hit >> the S- twice, my timestamp no longer is a range. It now looks >> like [2009-01-30 Fri] >> > And if the cursor is in front of the the first < symbol and I hit the > S- key once (or if I use M-x org-toggle-timestamp-type), I get > [2009-01-29 Thu]--<2009-01-29 Thu> > but a second time, I get > <2009-01-29 Thu]--<2009-01-29 Thu] > > That suggests to me that the regular expression isn't symmetric > w.r.t. square brackets and curly brackets. I kinda know perl regex, > but am completely unfamiliar with elisp's version. > >> I tried to look at the org-ts[r]?-regexp-* variables, but my eyes >> crossed. Plus, I'm very afraid that any change I'd make would add >> parentheses, and thereby screwup every (match-begin 8) in the code. >> >> TFOM* >> >> Ben >> >> ---- >> footnotes >> * TFOM = Thanks for Org-Mode >> >> > > > > _______________________________________________ > Emacs-orgmode mailing list > Remember: use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode -- important and urgent problems of the technology of today are no longer the satisfactions of the primary needs or of archetypal wishes, but the reparation of the evils and damages by the technology of yesterday. ~Dennis Gabor, Innovations: Scientific, Technological and Social, 1970