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.
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 (<active> 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-<up> 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-<up> 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