* Re: [PATCH] Update clocktable (C-cxr with point within clocktable) doesn't detect, inserts new clocktable at point
2010-11-19 18:54 [bug] Update clocktable (C-cxr with point within clocktable) doesn't detect, inserts new clocktable at point Jeff Kowalczyk
@ 2010-11-20 10:55 ` Achim Gratz
2010-11-20 11:26 ` Carsten Dominik
2010-11-22 17:40 ` [bug] " Jeff Kowalczyk
1 sibling, 1 reply; 4+ messages in thread
From: Achim Gratz @ 2010-11-20 10:55 UTC (permalink / raw)
To: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 626 bytes --]
--
Jeff Kowalczyk <jtk@yahoo.com> writes:
> With Org Mode git, when I use C-c C-x C-r inside an existing clocktable, Org
> inserts a new clocktable at point. The previous behavior was to detect and
> update the existing clocktable, which I presume is still the intended behavior.
I think this happens because your clocktable is flush left and due to a
patch by me that fixes the same bug for indented clocktables. :-P
Mistakenly I required at least one whitespace character instead of
allowing none also. Sorry for that, I missed it in my testing and thanks
for reporting. The attached patch fixes the issue I believe.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: fix for previous patch --]
[-- Type: text/x-patch, Size: 2281 bytes --]
From db7440881bed53fca2643b1bd491c336ab387d5c Mon Sep 17 00:00:00 2001
From: Achim Gratz <Stromeko@Stromeko.DE>
Date: Sat, 20 Nov 2010 11:43:45 +0100
Subject: [PATCH] org-clock.el: fix regex to recognize indented clock tables
* lisp/org-clock.el (org-get-clocktable)
previous patch incorrectly required whitespace in front of #+BEGIN: and #+END:
TINYCHANGE - This patch is in the public domain.
---
lisp/org-clock.el | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/lisp/org-clock.el b/lisp/org-clock.el
index 3146926..e798027 100644
--- a/lisp/org-clock.el
+++ b/lisp/org-clock.el
@@ -1623,7 +1623,7 @@ fontified, and then returned."
(font-lock-fontify-buffer)
(forward-line 2)
(buffer-substring (point) (progn
- (re-search-forward "^[ \t]+#\\+END" nil t)
+ (re-search-forward "^[ \t]*#\\+END" nil t)
(point-at-bol)))))
(defun org-clock-report (&optional arg)
@@ -1648,9 +1648,9 @@ buffer and update it."
(let ((pos (point)) start)
(save-excursion
(end-of-line 1)
- (and (re-search-backward "^[ \t]+#\\+BEGIN:[ \t]+clocktable" nil t)
+ (and (re-search-backward "^[ \t]*#\\+BEGIN:[ \t]+clocktable" nil t)
(setq start (match-beginning 0))
- (re-search-forward "^[ \t]+#\\+END:.*" nil t)
+ (re-search-forward "^[ \t]*#\\+END:.*" nil t)
(>= (match-end 0) pos)
start))))
@@ -1741,7 +1741,7 @@ the currently selected interval size."
(and (memq dir '(left down)) (setq n (- n)))
(save-excursion
(goto-char (point-at-bol))
- (if (not (looking-at "^[ \t]+#\\+BEGIN:[ \t]+clocktable\\>.*?:block[ \t]+\\(\\S-+\\)"))
+ (if (not (looking-at "^[ \t]*#\\+BEGIN:[ \t]+clocktable\\>.*?:block[ \t]+\\(\\S-+\\)"))
(error "Line needs a :block definition before this command works")
(let* ((b (match-beginning 1)) (e (match-end 1))
(s (match-string 1))
@@ -2134,7 +2134,7 @@ from the dynamic block defintion."
"Weekly report starting on: ")
(plist-get p1 :tstart) "\n")
(setq step-time (org-dblock-write:clocktable p1))
- (re-search-forward "^[ \t]+#\\+END:")
+ (re-search-forward "^[ \t]*#\\+END:")
(when (and (equal step-time 0) stepskip0)
;; Remove the empty table
(delete-region (point-at-bol)
--
1.7.1
[-- Attachment #3: Type: text/plain, Size: 129 bytes --]
Achim.
--
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+
DIY Stuff:
http://Synth.Stromeko.net/DIY.html
[-- Attachment #4: Type: text/plain, Size: 201 bytes --]
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
^ permalink raw reply related [flat|nested] 4+ messages in thread