Hi Ben,

On Oct 29, 2008, at 9:46 PM, Ben Alexander wrote:

Hi!

I'm cannot figure out how to use version control in general, and git in particular. However, I think there is a mistake with org-toggle- timestamp-type.

Currently, the message always returns "Timestamp is now active" regardless of wether 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 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")))))

I have applied a similar fix, thanks.




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]

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.

Yes, there is a problem with this regexp, and I not not know myself how to fix it. Negated character classes do not seem to work as advertised if there is a bracket inside.

Thanks!

- Carsten




_______________________________________________
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

Reply via email to