* Bug: clock table report hang when using :tags [8.2.10 (release_8.2.10 @ c:/Program Files/emacs/share/emacs/24.5/lisp/org/)]
@ 2016-08-01 4:04 Yichao Woo
2016-08-07 21:16 ` Nicolas Goaziou
0 siblings, 1 reply; 6+ messages in thread
From: Yichao Woo @ 2016-08-01 4:04 UTC (permalink / raw)
To: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 3164 bytes --]
Using command org-dblock-update in the following piece of org-mode text
result in emacs hanging (but can exit using C-g key combo). The primary
reason I found for the issue is the use of ‘:tags “hello”. If I remove
it, the report will be generated.
here is the text resulting the hanging of command org-dblock-update
** hh
#+BEGIN: clocktable :maxlevel 5 :scope subtree :tags "hello"
#+END:
*** gogogo :hello:
:LOGBOOK:
CLOCK: [2016-07-26 Tue 12:45]--[2016-07-26 Tue 13:45] => 1:00
:END:
Emacs : GNU Emacs 24.5.1 (i686-pc-mingw32)
of 2015-04-11 on LEG570
Package: Org-mode version 8.2.10 (release_8.2.10 @ c:/Program
Files/emacs/share/emacs/24.5/lisp/org/)
current state:
(setq
org-ctrl-c-ctrl-c-hook '(org-babel-hash-at-point
org-babel-execute-safely-maybe)
org-clock-in-resume t
org-edit-timestamp-down-means-later t
org-clock-persist t
org-agenda-window-setup 'current-window
org-tab-first-hook '(org-hide-block-toggle-maybe
org-src-native-tab-command-maybe
org-babel-hide-result-toggle-maybe
org-babel-header-arg-expand)
org-refile-targets '((nil :maxlevel . 5) (org-agenda-files :maxlevel . 5))
org-cycle-hook '(org-cycle-hide-archived-subtrees
org-cycle-hide-drawers org-cycle-hide-inline-tasks
org-cycle-show-empty-lines
org-optimize-window-after-visibility-change)
org-agenda-before-write-hook '(org-agenda-add-entry-text)
org-speed-command-hook '(org-speed-command-default-hook
org-babel-speed-command-hook)
org-babel-pre-tangle-hook '(save-buffer)
org-occur-hook '(org-first-headline-recenter)
org-log-done 'time
org-clock-out-remove-zero-time-clocks t
org-metaup-hook '(org-babel-load-in-session-maybe)
org-confirm-elisp-link-function 'yes-or-no-p
org-fast-tag-selection-single-key 'expert
org-agenda-span 14
org-clock-in-hook '(sanityinc/show-org-clock-in-header-line)
org-clock-cancel-hook '(sanityinc/hide-org-clock-from-header-line)
org-refile-use-outline-path 'file
org-clock-out-hook '(org-clock-remove-empty-clock-drawer
sanityinc/hide-org-clock-from-header-line)
org-completion-use-ido t
org-agenda-include-diary t
org-mode-hook '(#[nil "\300\301\302\303\304$\207"
[org-add-hook change-major-mode-hook
org-show-block-all append local] 5]
#[nil "\300\301\302\303\304$\207"
[org-add-hook change-major-mode-hook
org-babel-show-result-all append local] 5]
org-babel-result-hide-spec org-babel-hide-all-hashes)
org-clock-into-drawer t
org-agenda-start-on-weekday nil
org-tags-column 80
org-clock-in-switch-to-state "STARTED"
org-metadown-hook '(org-babel-pop-to-session-maybe)
org-todo-keywords '((sequence "TODO(t)" "STARTED(s)" "|" "DONE(d!/!)")
(sequence "WAITING(w@/!)" "SOMEDAY(S)" "|"
"CANCELLED(c@/!)"))
org-src-mode-hook '(org-src-babel-configure-edit-buffer
org-src-mode-configure-edit-buffer)
org-after-todo-state-change-hook '(org-clock-out-if-current)
org-confirm-shell-link-function 'yes-or-no-p
)
[-- Attachment #2: Type: text/html, Size: 16678 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Bug: clock table report hang when using :tags [8.2.10 (release_8.2.10 @ c:/Program Files/emacs/share/emacs/24.5/lisp/org/)]
2016-08-01 4:04 Bug: clock table report hang when using :tags [8.2.10 (release_8.2.10 @ c:/Program Files/emacs/share/emacs/24.5/lisp/org/)] Yichao Woo
@ 2016-08-07 21:16 ` Nicolas Goaziou
2016-08-13 9:44 ` Yichao Woo
0 siblings, 1 reply; 6+ messages in thread
From: Nicolas Goaziou @ 2016-08-07 21:16 UTC (permalink / raw)
To: Yichao Woo; +Cc: emacs-orgmode
Hello,
Yichao Woo <wooyichao@gmail.com> writes:
> Using command org-dblock-update in the following piece of org-mode text
> result in emacs hanging (but can exit using C-g key combo). The primary
> reason I found for the issue is the use of ‘:tags “hello”. If I remove
> it, the report will be generated.
>
> here is the text resulting the hanging of command org-dblock-update
>
> ** hh
> #+BEGIN: clocktable :maxlevel 5 :scope subtree :tags "hello"
>
> #+END:
> *** gogogo :hello:
> :LOGBOOK:
> CLOCK: [2016-07-26 Tue 12:45]--[2016-07-26 Tue 13:45] => 1:00
> :END:
>
> Emacs : GNU Emacs 24.5.1 (i686-pc-mingw32)
> of 2015-04-11 on LEG570
> Package: Org-mode version 8.2.10 (release_8.2.10 @ c:/Program
> Files/emacs/share/emacs/24.5/lisp/org/)
You need to update Org to the latest stable release.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Bug: clock table report hang when using :tags [8.2.10 (release_8.2.10 @ c:/Program Files/emacs/share/emacs/24.5/lisp/org/)]
2016-08-07 21:16 ` Nicolas Goaziou
@ 2016-08-13 9:44 ` Yichao Woo
2016-08-15 15:12 ` Nicolas Goaziou
0 siblings, 1 reply; 6+ messages in thread
From: Yichao Woo @ 2016-08-13 9:44 UTC (permalink / raw)
To: Yichao Woo, emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 1257 bytes --]
Hey Nicolas:
I upgraded from 8.2.10 to 8.3.5, but still get the same result.
Have no idea why since I have little knowledge on how to read and debug
elisp code.
Sorry for the inconvenience
On Mon, Aug 8, 2016 at 5:16 AM, Nicolas Goaziou <mail@nicolasgoaziou.fr>
wrote:
> Hello,
>
> Yichao Woo <wooyichao@gmail.com> writes:
>
> > Using command org-dblock-update in the following piece of org-mode text
> > result in emacs hanging (but can exit using C-g key combo). The primary
> > reason I found for the issue is the use of ‘:tags “hello”. If I remove
> > it, the report will be generated.
> >
> > here is the text resulting the hanging of command org-dblock-update
> >
> > ** hh
> > #+BEGIN: clocktable :maxlevel 5 :scope subtree :tags "hello"
> >
> > #+END:
> > *** gogogo
> :hello:
> > :LOGBOOK:
> > CLOCK: [2016-07-26 Tue 12:45]--[2016-07-26 Tue 13:45] => 1:00
> > :END:
> >
> > Emacs : GNU Emacs 24.5.1 (i686-pc-mingw32)
> > of 2015-04-11 on LEG570
> > Package: Org-mode version 8.2.10 (release_8.2.10 @ c:/Program
> > Files/emacs/share/emacs/24.5/lisp/org/)
>
> You need to update Org to the latest stable release.
>
> Regards,
>
> --
> Nicolas Goaziou
>
--
Best Regards
Yichao
[-- Attachment #2: Type: text/html, Size: 2312 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Bug: clock table report hang when using :tags [8.2.10 (release_8.2.10 @ c:/Program Files/emacs/share/emacs/24.5/lisp/org/)]
2016-08-13 9:44 ` Yichao Woo
@ 2016-08-15 15:12 ` Nicolas Goaziou
2016-08-16 1:46 ` Yichao Woo
0 siblings, 1 reply; 6+ messages in thread
From: Nicolas Goaziou @ 2016-08-15 15:12 UTC (permalink / raw)
To: Yichao Woo; +Cc: emacs-orgmode
Hello,
Yichao Woo <wooyichao@gmail.com> writes:
> I upgraded from 8.2.10 to 8.3.5, but still get the same result.
Your upgrade may have failed, i.e., Org is reporting 8.3.5 but uses some
older libraries bundled with Emacs.
> Have no idea why since I have little knowledge on how to read and debug
> elisp code.
Try doing M-x toggle-debug-on-quit and reproduce the freeze. Once
frozen, quit with C-g and report the backtrace. Ideally, load Org
uncompiled first (C-u M-x org-reload).
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Bug: clock table report hang when using :tags [8.2.10 (release_8.2.10 @ c:/Program Files/emacs/share/emacs/24.5/lisp/org/)]
2016-08-15 15:12 ` Nicolas Goaziou
@ 2016-08-16 1:46 ` Yichao Woo
2016-08-19 22:29 ` Nicolas Goaziou
0 siblings, 1 reply; 6+ messages in thread
From: Yichao Woo @ 2016-08-16 1:46 UTC (permalink / raw)
To: Yichao Woo, emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 27038 bytes --]
Here is the Error trace I got with Org uncompiled
Debugger entered--Lisp error: (quit)
(save-restriction (widen) (end-of-line) (if (re-search-backward
org-outline-regexp-bol nil t) (1- (- (match-end 0) (match-beginning
0))) 0))
(save-excursion (save-restriction (widen) (end-of-line) (if
(re-search-backward org-outline-regexp-bol nil t) (1- (- (match-end 0)
(match-beginning 0))) 0)))
org-outline-level()
outline-up-heading(1 t)
(while (> (funcall outline-level) 1) (outline-up-heading 1 t)
(put-text-property (point) (point-at-eol)
:org-clock-force-headline-inclusion t))
(progn (while (> (funcall outline-level) 1) (outline-up-heading 1 t)
(put-text-property (point) (point-at-eol)
:org-clock-force-headline-inclusion t)))
(unwind-protect (progn (while (> (funcall outline-level) 1)
(outline-up-heading 1 t) (put-text-property (point) (point-at-eol)
:org-clock-force-headline-inclusion t))) (set-match-data
save-match-data-internal (quote evaporate)))
(let ((save-match-data-internal (match-data))) (unwind-protect
(progn (while (> (funcall outline-level) 1) (outline-up-heading 1 t)
(put-text-property (point) (point-at-eol)
:org-clock-force-headline-inclusion t))) (set-match-data
save-match-data-internal (quote evaporate))))
(save-excursion (let ((save-match-data-internal (match-data)))
(unwind-protect (progn (while (> (funcall outline-level) 1)
(outline-up-heading 1 t) (put-text-property (point) (point-at-eol)
:org-clock-force-headline-inclusion t))) (set-match-data
save-match-data-internal (quote evaporate)))))
(if headline-filter (save-excursion (let ((save-match-data-internal
(match-data))) (unwind-protect (progn (while (> (funcall
outline-level) 1) (outline-up-heading 1 t) (put-text-property (point)
(point-at-eol) :org-clock-force-headline-inclusion t)))
(set-match-data save-match-data-internal (quote evaporate))))))
(progn (if headline-included (let* ((l 0) (--cl-var-- level)) (while
(<= l --cl-var--) (aset ltimes l (+ (aref ltimes l) t1)) (setq l (+ l
1))) nil)) (setq time (aref ltimes level)) (goto-char (match-beginning
0)) (put-text-property (point) (point-at-eol) (or propname
:org-clock-minutes) time) (if headline-filter (save-excursion (let
((save-match-data-internal (match-data))) (unwind-protect (progn
(while (> ... 1) (outline-up-heading 1 t) (put-text-property ... ...
:org-clock-force-headline-inclusion t))) (set-match-data
save-match-data-internal (quote evaporate)))))))
(if (or headline-included headline-forced) (progn (if
headline-included (let* ((l 0) (--cl-var-- level)) (while (<= l
--cl-var--) (aset ltimes l (+ (aref ltimes l) t1)) (setq l (+ l 1)))
nil)) (setq time (aref ltimes level)) (goto-char (match-beginning 0))
(put-text-property (point) (point-at-eol) (or propname
:org-clock-minutes) time) (if headline-filter (save-excursion (let
((save-match-data-internal (match-data))) (unwind-protect (progn
(while ... ... ...)) (set-match-data save-match-data-internal (quote
evaporate))))))))
(progn (if (or headline-included headline-forced) (progn (if
headline-included (let* ((l 0) (--cl-var-- level)) (while (<= l
--cl-var--) (aset ltimes l (+ ... t1)) (setq l (+ l 1))) nil)) (setq
time (aref ltimes level)) (goto-char (match-beginning 0))
(put-text-property (point) (point-at-eol) (or propname
:org-clock-minutes) time) (if headline-filter (save-excursion (let
((save-match-data-internal ...)) (unwind-protect (progn ...)
(set-match-data save-match-data-internal ...))))))) (setq t1 0) (let*
((l level) (--cl-var-- (1- lmax))) (while (<= l --cl-var--) (aset
ltimes l 0) (setq l (+ l 1))) nil))
(if (or (> t1 0) (> (aref ltimes level) 0)) (progn (if (or
headline-included headline-forced) (progn (if headline-included (let*
((l 0) (--cl-var-- level)) (while (<= l --cl-var--) (aset ltimes l
...) (setq l ...)) nil)) (setq time (aref ltimes level)) (goto-char
(match-beginning 0)) (put-text-property (point) (point-at-eol) (or
propname :org-clock-minutes) time) (if headline-filter (save-excursion
(let (...) (unwind-protect ... ...)))))) (setq t1 0) (let* ((l level)
(--cl-var-- (1- lmax))) (while (<= l --cl-var--) (aset ltimes l 0)
(setq l (+ l 1))) nil)))
(let* ((headline-forced (get-text-property (point)
:org-clock-force-headline-inclusion)) (headline-included (or (null
headline-filter) (save-excursion (let ((save-match-data-internal ...))
(unwind-protect (progn ...) (set-match-data save-match-data-internal
...))))))) (setq level (- (match-end 1) (match-beginning 1))) (if (>=
level lmax) (progn (setq ltimes (vconcat ltimes (make-vector lmax 0))
lmax (* 2 lmax)))) (if (or (> t1 0) (> (aref ltimes level) 0)) (progn
(if (or headline-included headline-forced) (progn (if
headline-included (let* (... ...) (while ... ... ...) nil)) (setq time
(aref ltimes level)) (goto-char (match-beginning 0))
(put-text-property (point) (point-at-eol) (or propname
:org-clock-minutes) time) (if headline-filter (save-excursion (let ...
...))))) (setq t1 0) (let* ((l level) (--cl-var-- (1- lmax))) (while
(<= l --cl-var--) (aset ltimes l 0) (setq l (+ l 1))) nil))))
(cond ((match-end 2) (setq ts (match-string 2) te (match-string 3)
ts (org-float-time (apply (quote encode-time) (org-parse-time-string
ts))) te (org-float-time (apply (quote encode-time)
(org-parse-time-string te))) ts (if tstart (max ts tstart) ts) te (if
tend (min te tend) te) dt (- te ts) t1 (if (> dt 0) (+ t1 (floor (/ dt
60))) t1))) ((match-end 4) (setq t1 (+ t1 (string-to-number
(match-string 5)) (* 60 (string-to-number (match-string 4)))))) (t (if
(and org-clock-report-include-clocking-task (equal
(org-clocking-buffer) (current-buffer)) (equal (marker-position
org-clock-hd-marker) (point)) tstart tend (>= (org-float-time
org-clock-start-time) tstart) (<= (org-float-time
org-clock-start-time) tend)) (progn (let ((time (floor ... 60))) (setq
t1 (+ t1 time))))) (let* ((headline-forced (get-text-property (point)
:org-clock-force-headline-inclusion)) (headline-included (or (null
headline-filter) (save-excursion (let ... ...))))) (setq level (-
(match-end 1) (match-beginning 1))) (if (>= level lmax) (progn (setq
ltimes (vconcat ltimes (make-vector lmax 0)) lmax (* 2 lmax)))) (if
(or (> t1 0) (> (aref ltimes level) 0)) (progn (if (or
headline-included headline-forced) (progn (if headline-included ...)
(setq time ...) (goto-char ...) (put-text-property ... ... ... time)
(if headline-filter ...))) (setq t1 0) (let* ((l level) (--cl-var--
...)) (while (<= l --cl-var--) (aset ltimes l 0) (setq l ...))
nil))))))
(while (re-search-backward re nil t) (cond ((match-end 2) (setq ts
(match-string 2) te (match-string 3) ts (org-float-time (apply (quote
encode-time) (org-parse-time-string ts))) te (org-float-time (apply
(quote encode-time) (org-parse-time-string te))) ts (if tstart (max ts
tstart) ts) te (if tend (min te tend) te) dt (- te ts) t1 (if (> dt 0)
(+ t1 (floor (/ dt 60))) t1))) ((match-end 4) (setq t1 (+ t1
(string-to-number (match-string 5)) (* 60 (string-to-number
(match-string 4)))))) (t (if (and
org-clock-report-include-clocking-task (equal (org-clocking-buffer)
(current-buffer)) (equal (marker-position org-clock-hd-marker)
(point)) tstart tend (>= (org-float-time org-clock-start-time) tstart)
(<= (org-float-time org-clock-start-time) tend)) (progn (let ((time
...)) (setq t1 (+ t1 time))))) (let* ((headline-forced
(get-text-property (point) :org-clock-force-headline-inclusion))
(headline-included (or (null headline-filter) (save-excursion ...))))
(setq level (- (match-end 1) (match-beginning 1))) (if (>= level lmax)
(progn (setq ltimes (vconcat ltimes ...) lmax (* 2 lmax)))) (if (or (>
t1 0) (> (aref ltimes level) 0)) (progn (if (or headline-included
headline-forced) (progn ... ... ... ... ...)) (setq t1 0) (let* (...
...) (while ... ... ...) nil)))))))
(save-excursion (goto-char (point-max)) (while (re-search-backward
re nil t) (cond ((match-end 2) (setq ts (match-string 2) te
(match-string 3) ts (org-float-time (apply (quote encode-time)
(org-parse-time-string ts))) te (org-float-time (apply (quote
encode-time) (org-parse-time-string te))) ts (if tstart (max ts
tstart) ts) te (if tend (min te tend) te) dt (- te ts) t1 (if (> dt 0)
(+ t1 (floor ...)) t1))) ((match-end 4) (setq t1 (+ t1
(string-to-number (match-string 5)) (* 60 (string-to-number ...)))))
(t (if (and org-clock-report-include-clocking-task (equal
(org-clocking-buffer) (current-buffer)) (equal (marker-position
org-clock-hd-marker) (point)) tstart tend (>= (org-float-time
org-clock-start-time) tstart) (<= (org-float-time
org-clock-start-time) tend)) (progn (let (...) (setq t1 ...)))) (let*
((headline-forced (get-text-property ...
:org-clock-force-headline-inclusion)) (headline-included (or ...
...))) (setq level (- (match-end 1) (match-beginning 1))) (if (>=
level lmax) (progn (setq ltimes ... lmax ...))) (if (or (> t1 0) (>
... 0)) (progn (if ... ...) (setq t1 0) (let* ... ... nil))))))) (setq
org-clock-file-total-minutes (aref ltimes 0)))
(let* ((re (concat "^\\(\\*+\\)[ ]\\|^[ ]*" org-clock-string
"[ ]*\\(?:\\(\\[.*?\\]\\)-+\\(\\[.*?\\]\\)\\|=>[
]+\\([0-9]+\\):\\([0-9]+\\)\\)")) (lmax 30) (ltimes (make-vector lmax
0)) (t1 0) (level 0) ts te dt time) (if (stringp tstart) (setq tstart
(org-time-string-to-seconds tstart))) (if (stringp tend) (setq tend
(org-time-string-to-seconds tend))) (if (consp tstart) (setq tstart
(org-float-time tstart))) (if (consp tend) (setq tend (org-float-time
tend))) (remove-text-properties (point-min) (point-max) (cons (or
propname :org-clock-minutes) (quote (t
:org-clock-force-headline-inclusion t)))) (save-excursion (goto-char
(point-max)) (while (re-search-backward re nil t) (cond ((match-end 2)
(setq ts (match-string 2) te (match-string 3) ts (org-float-time
(apply ... ...)) te (org-float-time (apply ... ...)) ts (if tstart
(max ts tstart) ts) te (if tend (min te tend) te) dt (- te ts) t1 (if
(> dt 0) (+ t1 ...) t1))) ((match-end 4) (setq t1 (+ t1
(string-to-number ...) (* 60 ...)))) (t (if (and
org-clock-report-include-clocking-task (equal ... ...) (equal ... ...)
tstart tend (>= ... tstart) (<= ... tend)) (progn (let ... ...)))
(let* ((headline-forced ...) (headline-included ...)) (setq level (-
... ...)) (if (>= level lmax) (progn ...)) (if (or ... ...) (progn ...
... ...)))))) (setq org-clock-file-total-minutes (aref ltimes 0))))
(progn (let* ((re (concat "^\\(\\*+\\)[ ]\\|^[ ]*"
org-clock-string "[ ]*\\(?:\\(\\[.*?\\]\\)-+\\(\\[.*?\\]\\)\\|=>[
]+\\([0-9]+\\):\\([0-9]+\\)\\)")) (lmax 30) (ltimes (make-vector
lmax 0)) (t1 0) (level 0) ts te dt time) (if (stringp tstart) (setq
tstart (org-time-string-to-seconds tstart))) (if (stringp tend) (setq
tend (org-time-string-to-seconds tend))) (if (consp tstart) (setq
tstart (org-float-time tstart))) (if (consp tend) (setq tend
(org-float-time tend))) (remove-text-properties (point-min)
(point-max) (cons (or propname :org-clock-minutes) (quote (t
:org-clock-force-headline-inclusion t)))) (save-excursion (goto-char
(point-max)) (while (re-search-backward re nil t) (cond ((match-end 2)
(setq ts (match-string 2) te (match-string 3) ts (org-float-time ...)
te (org-float-time ...) ts (if tstart ... ts) te (if tend ... te) dt
(- te ts) t1 (if ... ... t1))) ((match-end 4) (setq t1 (+ t1 ...
...))) (t (if (and org-clock-report-include-clocking-task ... ...
tstart tend ... ...) (progn ...)) (let* (... ...) (setq level ...) (if
... ...) (if ... ...))))) (setq org-clock-file-total-minutes (aref
ltimes 0)))))
(unwind-protect (progn (let* ((re (concat "^\\(\\*+\\)[ ]\\|^[
]*" org-clock-string "[
]*\\(?:\\(\\[.*?\\]\\)-+\\(\\[.*?\\]\\)\\|=>[
]+\\([0-9]+\\):\\([0-9]+\\)\\)")) (lmax 30) (ltimes (make-vector lmax
0)) (t1 0) (level 0) ts te dt time) (if (stringp tstart) (setq tstart
(org-time-string-to-seconds tstart))) (if (stringp tend) (setq tend
(org-time-string-to-seconds tend))) (if (consp tstart) (setq tstart
(org-float-time tstart))) (if (consp tend) (setq tend (org-float-time
tend))) (remove-text-properties (point-min) (point-max) (cons (or
propname :org-clock-minutes) (quote (t
:org-clock-force-headline-inclusion t)))) (save-excursion (goto-char
(point-max)) (while (re-search-backward re nil t) (cond ((match-end 2)
(setq ts ... te ... ts ... te ... ts ... te ... dt ... t1 ...))
((match-end 4) (setq t1 ...)) (t (if ... ...) (let* ... ... ...
...)))) (setq org-clock-file-total-minutes (aref ltimes 0))))) (if
modified nil (restore-buffer-modified-p nil)))
(let* ((modified (buffer-modified-p)) (buffer-undo-list t)
(inhibit-read-only t) (inhibit-modification-hooks t) deactivate-mark
buffer-file-name buffer-file-truename) (unwind-protect (progn (let*
((re (concat "^\\(\\*+\\)[ ]\\|^[ ]*" org-clock-string "[
]*\\(?:\\(\\[.*?\\]\\)-+\\(\\[.*?\\]\\)\\|=>[
]+\\([0-9]+\\):\\([0-9]+\\)\\)")) (lmax 30) (ltimes (make-vector lmax
0)) (t1 0) (level 0) ts te dt time) (if (stringp tstart) (setq tstart
(org-time-string-to-seconds tstart))) (if (stringp tend) (setq tend
(org-time-string-to-seconds tend))) (if (consp tstart) (setq tstart
(org-float-time tstart))) (if (consp tend) (setq tend (org-float-time
tend))) (remove-text-properties (point-min) (point-max) (cons (or
propname :org-clock-minutes) (quote (t
:org-clock-force-headline-inclusion t)))) (save-excursion (goto-char
(point-max)) (while (re-search-backward re nil t) (cond (... ...) (...
...) (t ... ...))) (setq org-clock-file-total-minutes (aref ltimes
0))))) (if modified nil (restore-buffer-modified-p nil))))
org-clock-sum(nil nil (lambda nil (let* ((tags-list
(org-get-tags-at)) (org-scanner-tags tags-list)
(org-trust-scanner-tags t)) (eval matcher))))
(save-excursion (org-clock-sum ts te (if (null matcher) nil
(function (lambda nil (let* ((tags-list ...) (org-scanner-tags
tags-list) (org-trust-scanner-tags t)) (eval matcher)))))) (goto-char
(point-min)) (setq st t) (while (or (and (bobp) (prog1 st (setq st
nil)) (get-text-property (point) :org-clock-minutes) (setq p
(point-min))) (setq p (next-single-property-change (point)
:org-clock-minutes))) (goto-char p) (if (setq time (get-text-property
p :org-clock-minutes)) (progn (save-excursion (beginning-of-line 1)
(if (and (looking-at "\\(\\*+\\)[ ]+\\(.*?\\)\\([
]+:[[:alnum:]_@#%:]+:\\)?[ ]*$") (setq level ...) (<= level
maxlevel)) (progn (setq hdl ... tsp ... props ...) (if ... ...)))))))
(setq tbl (nreverse tbl)) (list file org-clock-file-total-minutes
tbl))
(let* ((maxlevel (or (plist-get params :maxlevel) 3)) (timestamp
(plist-get params :timestamp)) (ts (plist-get params :tstart)) (te
(plist-get params :tend)) (ws (plist-get params :wstart)) (ms
(plist-get params :mstart)) (block (plist-get params :block)) (link
(plist-get params :link)) (tags (plist-get params :tags)) (properties
(plist-get params :properties)) (inherit-property-p (plist-get params
:inherit-props)) todo-only (matcher (if tags (cdr
(org-make-tags-matcher tags)))) cc range-text st p time level hdl
props tsp tbl) (setq org-clock-file-total-minutes nil) (if block
(progn (setq cc (org-clock-special-range block nil t ws ms) ts (car
cc) te (nth 1 cc) range-text (nth 2 cc)))) (if (integerp ts) (progn
(setq ts (calendar-gregorian-from-absolute ts)))) (if (integerp te)
(progn (setq te (calendar-gregorian-from-absolute te)))) (if (and ts
(listp ts)) (progn (setq ts (format "%4d-%02d-%02d" (nth 2 ts) (car
ts) (nth 1 ts))))) (if (and te (listp te)) (progn (setq te (format
"%4d-%02d-%02d" (nth 2 te) (car te) (nth 1 te))))) (if ts (setq ts
(org-matcher-time ts))) (if te (setq te (org-matcher-time te)))
(save-excursion (org-clock-sum ts te (if (null matcher) nil (function
(lambda nil (let* (... ... ...) (eval matcher)))))) (goto-char
(point-min)) (setq st t) (while (or (and (bobp) (prog1 st (setq st
nil)) (get-text-property (point) :org-clock-minutes) (setq p
(point-min))) (setq p (next-single-property-change (point)
:org-clock-minutes))) (goto-char p) (if (setq time (get-text-property
p :org-clock-minutes)) (progn (save-excursion (beginning-of-line 1)
(if (and ... ... ...) (progn ... ...)))))) (setq tbl (nreverse tbl))
(list file org-clock-file-total-minutes tbl)))
org-clock-get-table-data(nil (:maxlevel 5 :lang "en" :scope subtree
:block nil :wstart 1 :mstart 1 :tstart nil :tend nil :step nil
:stepskip0 nil :fileskip0 nil :tags "hello" :emphasize nil :link nil
:narrow 40! :indent t :formula nil :timestamp nil :level nil :tcolumns
nil :formatter nil :name "clocktable" :indentation-column 0 :content
#("\n" 0 1 (fontified t org-category "8aug"))))
(cons (org-clock-get-table-data nil params) tbls)
(setq tbls (cons (org-clock-get-table-data nil params) tbls))
(save-restriction (org-agenda-prepare-buffers (list (or
(buffer-file-name) (current-buffer)))) (cond ((not scope)) ((eq scope
(quote file)) (widen)) ((eq scope (quote subtree))
(org-narrow-to-subtree)) ((eq scope (quote tree)) (while
(org-up-heading-safe)) (org-narrow-to-subtree)) ((and (symbolp scope)
(string-match "^tree\\([0-9]+\\)$" (symbol-name scope))) (setq level
(string-to-number (match-string 1 (symbol-name scope)))) (catch (quote
exit) (while (org-up-heading-safe) (looking-at org-outline-regexp) (if
(<= (org-reduced-level ...) level) (throw (quote exit) nil))))
(org-narrow-to-subtree))) (setq tbls (cons (org-clock-get-table-data
nil params) tbls)))
(if scope-is-list (let* ((files scope) file)
(org-agenda-prepare-buffers files) (while (setq file (car-safe (prog1
files (setq files (cdr files))))) (save-current-buffer (set-buffer
(find-buffer-visiting file)) (save-excursion (save-restriction (setq
tbls (cons ... tbls))))))) (save-restriction
(org-agenda-prepare-buffers (list (or (buffer-file-name)
(current-buffer)))) (cond ((not scope)) ((eq scope (quote file))
(widen)) ((eq scope (quote subtree)) (org-narrow-to-subtree)) ((eq
scope (quote tree)) (while (org-up-heading-safe))
(org-narrow-to-subtree)) ((and (symbolp scope) (string-match
"^tree\\([0-9]+\\)$" (symbol-name scope))) (setq level
(string-to-number (match-string 1 (symbol-name scope)))) (catch (quote
exit) (while (org-up-heading-safe) (looking-at org-outline-regexp) (if
(<= ... level) (throw ... nil)))) (org-narrow-to-subtree))) (setq tbls
(cons (org-clock-get-table-data nil params) tbls))))
(let* ((scope (plist-get params :scope)) (block (plist-get params
:block)) (ts (plist-get params :tstart)) (te (plist-get params :tend))
(link (plist-get params :link)) (maxlevel (or (plist-get params
:maxlevel) 3)) (ws (plist-get params :wstart)) (ms (plist-get params
:mstart)) (step (plist-get params :step)) (timestamp (plist-get params
:timestamp)) (formatter (or (plist-get params :formatter)
org-clock-clocktable-formatter (quote org-clocktable-write-default)))
cc range-text ipos pos one-file-with-archives scope-is-list tbls
level) (if block (progn (setq cc (org-clock-special-range block nil t
ws ms) ts (car cc) te (nth 1 cc) range-text (nth 2 cc)))) (if step
(progn (if (or block (and ts te)) nil (error "Clocktable `:step' can
only be used with `:block' or `:tstart,:end'")) (org-clocktable-steps
params) (throw (quote exit) nil))) (setq ipos (point)) (setq pos
(point)) (cond ((and scope (listp scope) (symbolp (car scope))) (setq
scope (eval scope))) ((eq scope (quote agenda)) (setq scope
(org-agenda-files t))) ((eq scope (quote agenda-with-archives)) (setq
scope (org-agenda-files t)) (setq scope (org-add-archive-files
scope))) ((eq scope (quote file-with-archives)) (setq scope (and
buffer-file-name (org-add-archive-files (list buffer-file-name)))
one-file-with-archives t))) (setq scope-is-list (and scope (listp
scope))) (if scope-is-list (let* ((files scope) file)
(org-agenda-prepare-buffers files) (while (setq file (car-safe (prog1
files (setq files ...)))) (save-current-buffer (set-buffer
(find-buffer-visiting file)) (save-excursion (save-restriction (setq
tbls ...)))))) (save-restriction (org-agenda-prepare-buffers (list (or
(buffer-file-name) (current-buffer)))) (cond ((not scope)) ((eq scope
(quote file)) (widen)) ((eq scope (quote subtree))
(org-narrow-to-subtree)) ((eq scope (quote tree)) (while
(org-up-heading-safe)) (org-narrow-to-subtree)) ((and (symbolp scope)
(string-match "^tree\\([0-9]+\\)$" (symbol-name scope))) (setq level
(string-to-number (match-string 1 ...))) (catch (quote exit) (while
(org-up-heading-safe) (looking-at org-outline-regexp) (if ... ...)))
(org-narrow-to-subtree))) (setq tbls (cons (org-clock-get-table-data
nil params) tbls)))) (setq tbls (nreverse tbls)) (setq params
(plist-put params :multifile scope-is-list)) (setq params (plist-put
params :one-file-with-archives one-file-with-archives)) (funcall
formatter ipos tbls params))
(catch (quote exit) (let* ((scope (plist-get params :scope)) (block
(plist-get params :block)) (ts (plist-get params :tstart)) (te
(plist-get params :tend)) (link (plist-get params :link)) (maxlevel
(or (plist-get params :maxlevel) 3)) (ws (plist-get params :wstart))
(ms (plist-get params :mstart)) (step (plist-get params :step))
(timestamp (plist-get params :timestamp)) (formatter (or (plist-get
params :formatter) org-clock-clocktable-formatter (quote
org-clocktable-write-default))) cc range-text ipos pos
one-file-with-archives scope-is-list tbls level) (if block (progn
(setq cc (org-clock-special-range block nil t ws ms) ts (car cc) te
(nth 1 cc) range-text (nth 2 cc)))) (if step (progn (if (or block (and
ts te)) nil (error "Clocktable `:step' can only be used with `:block'
or `:tstart,:end'")) (org-clocktable-steps params) (throw (quote exit)
nil))) (setq ipos (point)) (setq pos (point)) (cond ((and scope (listp
scope) (symbolp (car scope))) (setq scope (eval scope))) ((eq scope
(quote agenda)) (setq scope (org-agenda-files t))) ((eq scope (quote
agenda-with-archives)) (setq scope (org-agenda-files t)) (setq scope
(org-add-archive-files scope))) ((eq scope (quote file-with-archives))
(setq scope (and buffer-file-name (org-add-archive-files (list
buffer-file-name))) one-file-with-archives t))) (setq scope-is-list
(and scope (listp scope))) (if scope-is-list (let* ((files scope)
file) (org-agenda-prepare-buffers files) (while (setq file (car-safe
(prog1 files ...))) (save-current-buffer (set-buffer
(find-buffer-visiting file)) (save-excursion (save-restriction
...))))) (save-restriction (org-agenda-prepare-buffers (list (or
(buffer-file-name) (current-buffer)))) (cond ((not scope)) ((eq scope
(quote file)) (widen)) ((eq scope (quote subtree))
(org-narrow-to-subtree)) ((eq scope (quote tree)) (while
(org-up-heading-safe)) (org-narrow-to-subtree)) ((and (symbolp scope)
(string-match "^tree\\([0-9]+\\)$" ...)) (setq level (string-to-number
...)) (catch (quote exit) (while ... ... ...))
(org-narrow-to-subtree))) (setq tbls (cons (org-clock-get-table-data
nil params) tbls)))) (setq tbls (nreverse tbls)) (setq params
(plist-put params :multifile scope-is-list)) (setq params (plist-put
params :one-file-with-archives one-file-with-archives)) (funcall
formatter ipos tbls params)))
org-dblock-write:clocktable((:name "clocktable" :maxlevel 5 :scope
subtree :tags "hello" :indentation-column 0 :content #("\n" 0 1
(fontified t org-category "8aug"))))
funcall(org-dblock-write:clocktable (:name "clocktable" :maxlevel 5
:scope subtree :tags "hello" :indentation-column 0 :content #("\n" 0 1
(fontified t org-category "8aug"))))
(let* ((win (selected-window)) (pos (point)) (line
(org-current-line)) (params (org-prepare-dblock)) (name (plist-get
params :name)) (indent (plist-get params :indentation-column)) (cmd
(intern (concat "org-dblock-write:" name)))) (message "Updating
dynamic block `%s' at line %d..." name line) (funcall cmd params)
(message "Updating dynamic block `%s' at line %d...done" name line)
(goto-char pos) (if (and indent (> indent 0)) (progn (setq indent
(make-string indent 32)) (save-excursion (select-window win)
(org-beginning-of-dblock) (forward-line 1) (while (not (looking-at
org-dblock-end-re)) (insert indent) (beginning-of-line 2)) (if
(looking-at org-dblock-end-re) (progn (and (looking-at "[ ]+")
(replace-match "")) (insert indent)))))))
(save-excursion (let* ((win (selected-window)) (pos (point)) (line
(org-current-line)) (params (org-prepare-dblock)) (name (plist-get
params :name)) (indent (plist-get params :indentation-column)) (cmd
(intern (concat "org-dblock-write:" name)))) (message "Updating
dynamic block `%s' at line %d..." name line) (funcall cmd params)
(message "Updating dynamic block `%s' at line %d...done" name line)
(goto-char pos) (if (and indent (> indent 0)) (progn (setq indent
(make-string indent 32)) (save-excursion (select-window win)
(org-beginning-of-dblock) (forward-line 1) (while (not (looking-at
org-dblock-end-re)) (insert indent) (beginning-of-line 2)) (if
(looking-at org-dblock-end-re) (progn (and ... ...) (insert
indent))))))))
org-update-dblock()
org-clock-report(nil)
#<subr call-interactively>(org-clock-report nil nil)
funcall(#<subr call-interactively> org-clock-report nil nil)
(with-no-warnings (funcall ad--addoit-function function record-flag keys))
(setq ad-return-value (with-no-warnings (funcall ad--addoit-function
function record-flag keys)))
(let ((ido-ubiquitous-next-override
(ido-ubiquitous-get-command-override function))) (setq ad-return-value
(with-no-warnings (funcall ad--addoit-function function record-flag
keys))))
(ido-ubiquitous-with-override (ido-ubiquitous-get-command-override
function) (setq ad-return-value (with-no-warnings (funcall
ad--addoit-function function record-flag keys))))
(let (ad-return-value) (ido-ubiquitous-with-override
(ido-ubiquitous-get-command-override function) (setq ad-return-value
(with-no-warnings (funcall ad--addoit-function function record-flag
keys)))) ad-return-value)
ad-Advice-call-interactively(#<subr call-interactively>
org-clock-report nil nil)
apply(ad-Advice-call-interactively #<subr call-interactively>
(org-clock-report nil nil))
call-interactively(org-clock-report nil nil)
command-execute(org-clock-report)
On Mon, Aug 15, 2016 at 11:12 PM, Nicolas Goaziou <mail@nicolasgoaziou.fr>
wrote:
> Hello,
>
> Yichao Woo <wooyichao@gmail.com> writes:
>
> > I upgraded from 8.2.10 to 8.3.5, but still get the same result.
>
> Your upgrade may have failed, i.e., Org is reporting 8.3.5 but uses some
> older libraries bundled with Emacs.
>
> > Have no idea why since I have little knowledge on how to read and debug
> > elisp code.
>
> Try doing M-x toggle-debug-on-quit and reproduce the freeze. Once
> frozen, quit with C-g and report the backtrace. Ideally, load Org
> uncompiled first (C-u M-x org-reload).
>
> Regards,
>
> --
> Nicolas Goaziou
>
--
Best Regards
Yichao
[-- Attachment #2: Type: text/html, Size: 71666 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2016-08-19 22:29 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-01 4:04 Bug: clock table report hang when using :tags [8.2.10 (release_8.2.10 @ c:/Program Files/emacs/share/emacs/24.5/lisp/org/)] Yichao Woo
2016-08-07 21:16 ` Nicolas Goaziou
2016-08-13 9:44 ` Yichao Woo
2016-08-15 15:12 ` Nicolas Goaziou
2016-08-16 1:46 ` Yichao Woo
2016-08-19 22:29 ` Nicolas Goaziou
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).