emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Bug: clock table report hang when using :tags [8.2.10 (release_8


From: Yichao Woo
Subject: Re: [O] 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/)]
Date: Tue, 16 Aug 2016 09:46:27 +0800

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:address@hidden:]+:\\)?[     ]*$") (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 <address@hidden> wrote:
Hello,

Yichao Woo <address@hidden> 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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]