emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Org-drill broken with Org 9.2
@ 2019-01-05 20:36 Neeum Zawan
  0 siblings, 0 replies; 3+ messages in thread
From: Neeum Zawan @ 2019-01-05 20:36 UTC (permalink / raw)
  To: emacs-orgmode


Hi,

When I try to run Org-drill, I get the backtrace below.

Others are seeing it too:

https://bitbucket.org/eeeickythump/org-drill/issues/62/org-drill-doesnt-work-with-org-mode-92
Ideas?

Thanks.

Debugger entered--Lisp error: (error "Invalid match tag: \"\"")
  signal(error ("Invalid match tag: \"\""))
  error("Invalid match tag: %S" "")
  org-tags-expand("")
  org-make-tags-matcher("")
  org-map-entries((lambda nil (if (and (not (org-invisible-p)) (> 
  (org-current-level) drill-entry-level)) (progn (if (or (/= 
  (org-current-level) (1+ drill-entry-level)) (funcall test)) 
  (progn (hide-subtree))) (setq drill-sections (cons (point) 
  drill-sections))))) "" tree)
  (save-excursion (org-map-entries (function (lambda nil (if (and 
  (not (org-invisible-p)) (> (org-current-level) 
  drill-entry-level)) (progn (if (or (/= (org-current-level) (1+ 
  drill-entry-level)) (funcall test)) (progn (hide-subtree))) 
  (setq drill-sections (cons (point) drill-sections)))))) "" 
  'tree))
  (let ((drill-entry-level (org-current-level)) (drill-sections 
  nil)) (org-show-subtree) (save-excursion (org-map-entries 
  (function (lambda nil (if (and (not (org-invisible-p)) (> 
  (org-current-level) drill-entry-level)) (progn (if (or (/= 
  (org-current-level) (1+ drill-entry-level)) (funcall test)) 
  (progn (hide-subtree))) (setq drill-sections (cons (point) 
  drill-sections)))))) "" 'tree)) (reverse drill-sections))
  org-drill-hide-subheadings-if((lambda nil (let ((drill-heading 
  (org-get-heading t))) (not (member drill-heading 
  heading-list)))))
  org-drill-hide-all-subheadings-except(nil)
  (progn (org-drill-hide-all-subheadings-except nil) 
  (org-drill--show-latex-fragments) (condition-case nil (progn 
  (org-display-inline-images t)) (error nil)) 
  (org-cycle-hide-drawers 'all) (prog1 
  (org-drill-presentation-prompt) (org-drill-hide-subheadings-if 
  'org-drill-entry-p)))
  (unwind-protect (progn (org-drill-hide-all-subheadings-except 
  nil) (org-drill--show-latex-fragments) (condition-case nil 
  (progn (org-display-inline-images t)) (error nil)) 
  (org-cycle-hide-drawers 'all) (prog1 
  (org-drill-presentation-prompt) (org-drill-hide-subheadings-if 
  'org-drill-entry-p))) (org-drill-unhide-clozed-text))
  (progn (org-drill-hide-clozed-text) (unwind-protect (progn 
  (org-drill-hide-all-subheadings-except nil) 
  (org-drill--show-latex-fragments) (condition-case nil (progn 
  (org-display-inline-images t)) (error nil)) 
  (org-cycle-hide-drawers 'all) (prog1 
  (org-drill-presentation-prompt) (org-drill-hide-subheadings-if 
  'org-drill-entry-p))) (org-drill-unhide-clozed-text)))
  (progn (progn (org-drill-hide-clozed-text) (unwind-protect 
  (progn (org-drill-hide-all-subheadings-except nil) 
  (org-drill--show-latex-fragments) (condition-case nil (progn 
  (org-display-inline-images t)) (error nil)) 
  (org-cycle-hide-drawers 'all) (prog1 
  (org-drill-presentation-prompt) (org-drill-hide-subheadings-if 
  'org-drill-entry-p))) (org-drill-unhide-clozed-text))))
  (unwind-protect (progn (progn (org-drill-hide-clozed-text) 
  (unwind-protect (progn (org-drill-hide-all-subheadings-except 
  nil) (org-drill--show-latex-fragments) (condition-case nil 
  (progn (org-display-inline-images t)) (error nil)) 
  (org-cycle-hide-drawers 'all) (prog1 
  (org-drill-presentation-prompt) (org-drill-hide-subheadings-if 
  'org-drill-entry-p))) (org-drill-unhide-clozed-text)))) 
  (org-drill-unhide-text))
  (progn (org-drill-hide-cloze-hints) (unwind-protect (progn 
  (progn (org-drill-hide-clozed-text) (unwind-protect (progn 
  (org-drill-hide-all-subheadings-except nil) 
  (org-drill--show-latex-fragments) (condition-case nil (progn 
  (org-display-inline-images t)) (error nil)) 
  (org-cycle-hide-drawers 'all) (prog1 
  (org-drill-presentation-prompt) (org-drill-hide-subheadings-if 
  'org-drill-entry-p))) (org-drill-unhide-clozed-text)))) 
  (org-drill-unhide-text)))
  (progn (progn (org-drill-hide-cloze-hints) (unwind-protect 
  (progn (progn (org-drill-hide-clozed-text) (unwind-protect 
  (progn (org-drill-hide-all-subheadings-except nil) 
  (org-drill--show-latex-fragments) (condition-case nil (progn 
  (org-display-inline-images t)) (error nil)) 
  (org-cycle-hide-drawers 'all) (prog1 
  (org-drill-presentation-prompt) (org-drill-hide-subheadings-if 
  'org-drill-entry-p))) (org-drill-unhide-clozed-text)))) 
  (org-drill-unhide-text))))
  (unwind-protect (progn (progn (org-drill-hide-cloze-hints) 
  (unwind-protect (progn (progn (org-drill-hide-clozed-text) 
  (unwind-protect (progn (org-drill-hide-all-subheadings-except 
  nil) (org-drill--show-latex-fragments) (condition-case nil 
  (progn (org-display-inline-images t)) (error nil)) 
  (org-cycle-hide-drawers 'all) (prog1 
  (org-drill-presentation-prompt) (org-drill-hide-subheadings-if 
  'org-drill-entry-p))) (org-drill-unhide-clozed-text)))) 
  (org-drill-unhide-text)))) (org-drill-unhide-text))
  (progn (if org-drill-hide-item-headings-p 
  (org-drill-hide-heading-at-point)) (org-drill-hide-comments) 
  (unwind-protect (progn (progn (org-drill-hide-cloze-hints) 
  (unwind-protect (progn (progn (org-drill-hide-clozed-text) 
  (unwind-protect (progn (org-drill-hide-all-subheadings-except 
  nil) (org-drill--show-latex-fragments) (condition-case nil 
  (progn (org-display-inline-images t)) (error nil)) 
  (org-cycle-hide-drawers 'all) (prog1 
  (org-drill-presentation-prompt) (org-drill-hide-subheadings-if 
  'org-drill-entry-p))) (org-drill-unhide-clozed-text)))) 
  (org-drill-unhide-text)))) (org-drill-unhide-text)))
  org-drill-present-simple-card()
  funcall(org-drill-present-simple-card)
  (setq cont (funcall presentation-fn))
  (cond ((null presentation-fn) (message "%s:%d: Unrecognised card 
  type '%s', skipping..." (buffer-name) (point) card-type) 
  (sit-for 0.5) 'skip) (t (setq cont (funcall presentation-fn)) 
  (cond ((not cont) (message "Quit") nil) ((eql cont 'edit) 'edit) 
  ((eql cont 'skip) 'skip) (t (save-excursion (funcall answer-fn 
  (function (lambda nil (org-drill-reschedule)))))))))
  (prog1 (cond ((null presentation-fn) (message "%s:%d: 
  Unrecognised card type '%s', skipping..." (buffer-name) (point) 
  card-type) (sit-for 0.5) 'skip) (t (setq cont (funcall 
  presentation-fn)) (cond ((not cont) (message "Quit") nil) ((eql 
  cont 'edit) 'edit) ((eql cont 'skip) 'skip) (t (save-excursion 
  (funcall answer-fn (function (lambda nil 
  (org-drill-reschedule))))))))) 
  (org-remove-latex-fragment-image-overlays))
  (let ((presentation-fn (cdr (assoc card-type 
  org-drill-card-type-alist)))) (if (listp presentation-fn) (progn 
  (setq answer-fn (prog1 (or (car (cdr presentation-fn)) 
  'org-drill-present-default-answer) (setq present-empty-cards 
  (prog1 (car (cdr (cdr presentation-fn))) (setq presentation-fn 
  (first presentation-fn)))))) nil)) (prog1 (cond ((null 
  presentation-fn) (message "%s:%d: Unrecognised card type '%s', 
  skipping..." (buffer-name) (point) card-type) (sit-for 0.5) 
  'skip) (t (setq cont (funcall presentation-fn)) (cond ((not 
  cont) (message "Quit") nil) ((eql cont 'edit) 'edit) ((eql cont 
  'skip) 'skip) (t (save-excursion (funcall answer-fn (function 
  (lambda nil (org-drill-reschedule))))))))) 
  (org-remove-latex-fragment-image-overlays)))
  (save-restriction (org-narrow-to-subtree) (org-show-subtree) 
  (org-cycle-hide-drawers 'all) (let ((presentation-fn (cdr (assoc 
  card-type org-drill-card-type-alist)))) (if (listp 
  presentation-fn) (progn (setq answer-fn (prog1 (or (car (cdr 
  presentation-fn)) 'org-drill-present-default-answer) (setq 
  present-empty-cards (prog1 (car (cdr (cdr presentation-fn))) 
  (setq presentation-fn (first presentation-fn)))))) nil)) (prog1 
  (cond ((null presentation-fn) (message "%s:%d: Unrecognised card 
  type '%s', skipping..." (buffer-name) (point) card-type) 
  (sit-for 0.5) 'skip) (t (setq cont (funcall presentation-fn)) 
  (cond ((not cont) (message "Quit") nil) ((eql cont 'edit) 'edit) 
  ((eql cont 'skip) 'skip) (t (save-excursion (funcall answer-fn 
  (function (lambda nil (org-drill-reschedule))))))))) 
  (org-remove-latex-fragment-image-overlays))))
  (progn (save-restriction (org-narrow-to-subtree) 
  (org-show-subtree) (org-cycle-hide-drawers 'all) (let 
  ((presentation-fn (cdr (assoc card-type 
  org-drill-card-type-alist)))) (if (listp presentation-fn) (progn 
  (setq answer-fn (prog1 (or (car (cdr presentation-fn)) 
  'org-drill-present-default-answer) (setq present-empty-cards 
  (prog1 (car (cdr (cdr presentation-fn))) (setq presentation-fn 
  (first presentation-fn)))))) nil)) (prog1 (cond ((null 
  presentation-fn) (message "%s:%d: Unrecognised card type '%s', 
  skipping..." (buffer-name) (point) card-type) (sit-for 0.5) 
  'skip) (t (setq cont (funcall presentation-fn)) (cond ((not 
  cont) (message "Quit") nil) ((eql cont 'edit) 'edit) ((eql cont 
  'skip) 'skip) (t (save-excursion (funcall answer-fn (function 
  (lambda nil (org-drill-reschedule))))))))) 
  (org-remove-latex-fragment-image-overlays)))))
  (unwind-protect (progn (save-restriction (org-narrow-to-subtree) 
  (org-show-subtree) (org-cycle-hide-drawers 'all) (let 
  ((presentation-fn (cdr (assoc card-type 
  org-drill-card-type-alist)))) (if (listp presentation-fn) (progn 
  (setq answer-fn (prog1 (or (car (cdr presentation-fn)) 
  'org-drill-present-default-answer) (setq present-empty-cards 
  (prog1 (car (cdr (cdr presentation-fn))) (setq presentation-fn 
  (first presentation-fn)))))) nil)) (prog1 (cond ((null 
  presentation-fn) (message "%s:%d: Unrecognised card type '%s', 
  skipping..." (buffer-name) (point) card-type) (sit-for 0.5) 
  'skip) (t (setq cont (funcall presentation-fn)) (cond ((not 
  cont) (message "Quit") nil) ((eql cont 'edit) 'edit) ((eql cont 
  'skip) 'skip) (t (save-excursion (funcall answer-fn (function 
  (lambda nil (org-drill-reschedule))))))))) 
  (org-remove-latex-fragment-image-overlays))))) (save-excursion 
  (save-restriction (widen) (let ((--dolist-tail-- 
  --invisible-types) type) (while --dolist-tail-- (setq type (car 
  --dolist-tail--)) (remove-overlays (point-min) (point-max) 
  'invisible type) (setq --dolist-tail-- (cdr --dolist-tail--)))) 
  (let ((--dolist-tail-- (delq nil --data)) x0) (while 
  --dolist-tail-- (setq x0 (car --dolist-tail--)) (let* ((x1 (car 
  x0)) (x2 (cdr x0)) (x3 (car x2)) (x4 (cdr x2)) (x5 (car x4)) (x6 
  (cdr x4))) (let ((type x5) (end x3) (beg x1)) (progn 
  (org-flag-region beg end t type) (if --markers\? (progn 
  (set-marker beg nil) (set-marker end nil)))))) (setq 
  --dolist-tail-- (cdr --dolist-tail--)))))))
  (let* ((--invisible-types '(org-hide-block org-hide-drawer 
  outline)) (--markers\? t) (--data (mapcar (function (lambda (o) 
  (let ((beg (overlay-start o)) (end (overlay-end o)) (type 
  (overlay-get o 'invisible))) (and beg end (> end beg) (memq type 
  --invisible-types) (list (if --markers\? (copy-marker beg) beg) 
  (if --markers\? (copy-marker end t) end) type))))) 
  (save-excursion (save-restriction (widen) (overlays-in 
  (point-min) (point-max))))))) (unwind-protect (progn 
  (save-restriction (org-narrow-to-subtree) (org-show-subtree) 
  (org-cycle-hide-drawers 'all) (let ((presentation-fn (cdr (assoc 
  card-type org-drill-card-type-alist)))) (if (listp 
  presentation-fn) (progn (setq answer-fn (prog1 (or (car (cdr 
  presentation-fn)) 'org-drill-present-default-answer) (setq 
  present-empty-cards (prog1 (car (cdr (cdr presentation-fn))) 
  (setq presentation-fn (first presentation-fn)))))) nil)) (prog1 
  (cond ((null presentation-fn) (message "%s:%d: Unrecognised card 
  type '%s', skipping..." (buffer-name) (point) card-type) 
  (sit-for 0.5) 'skip) (t (setq cont (funcall presentation-fn)) 
  (cond ((not cont) (message "Quit") nil) ((eql cont 'edit) 'edit) 
  ((eql cont 'skip) 'skip) (t (save-excursion (funcall answer-fn 
  (function (lambda nil (org-drill-reschedule))))))))) 
  (org-remove-latex-fragment-image-overlays))))) (save-excursion 
  (save-restriction (widen) (let ((--dolist-tail-- 
  --invisible-types) type) (while --dolist-tail-- (setq type (car 
  --dolist-tail--)) (remove-overlays (point-min) (point-max) 
  'invisible type) (setq --dolist-tail-- (cdr --dolist-tail--)))) 
  (let ((--dolist-tail-- (delq nil --data)) x0) (while 
  --dolist-tail-- (setq x0 (car --dolist-tail--)) (let* ((x1 (car 
  x0)) (x2 (cdr x0)) (x3 (car x2)) (x4 (cdr x2)) (x5 (car x4)) (x6 
  (cdr x4))) (let ((type x5) (end x3) (beg x1)) (progn 
  (org-flag-region beg end t type) (if --markers\? (progn 
  (set-marker beg nil) (set-marker end nil)))))) (setq 
  --dolist-tail-- (cdr --dolist-tail--))))))))
  (let ((card-type (org-entry-get (point) "DRILL_CARD_TYPE" t)) 
  (answer-fn 'org-drill-present-default-answer) 
  (present-empty-cards nil) (cont nil) (outline-view-change-hook 
  nil)) (setq drill-answer nil) (let* ((--invisible-types 
  '(org-hide-block org-hide-drawer outline)) (--markers\? t) 
  (--data (mapcar (function (lambda (o) (let ((beg (overlay-start 
  o)) (end (overlay-end o)) (type (overlay-get o 'invisible))) 
  (and beg end (> end beg) (memq type --invisible-types) (list (if 
  --markers\? (copy-marker beg) beg) (if --markers\? (copy-marker 
  end t) end) type))))) (save-excursion (save-restriction (widen) 
  (overlays-in (point-min) (point-max))))))) (unwind-protect 
  (progn (save-restriction (org-narrow-to-subtree) 
  (org-show-subtree) (org-cycle-hide-drawers 'all) (let 
  ((presentation-fn (cdr (assoc card-type 
  org-drill-card-type-alist)))) (if (listp presentation-fn) (progn 
  (setq answer-fn (prog1 (or (car (cdr presentation-fn)) 
  'org-drill-present-default-answer) (setq present-empty-cards 
  (prog1 (car (cdr (cdr presentation-fn))) (setq presentation-fn 
  (first presentation-fn)))))) nil)) (prog1 (cond ((null 
  presentation-fn) (message "%s:%d: Unrecognised card type '%s', 
  skipping..." (buffer-name) (point) card-type) (sit-for 0.5) 
  'skip) (t (setq cont (funcall presentation-fn)) (cond ((not 
  cont) (message "Quit") nil) ((eql cont 'edit) 'edit) ((eql cont 
  'skip) 'skip) (t (save-excursion (funcall answer-fn (function 
  (lambda nil (org-drill-reschedule))))))))) 
  (org-remove-latex-fragment-image-overlays))))) (save-excursion 
  (save-restriction (widen) (let ((--dolist-tail-- 
  --invisible-types) type) (while --dolist-tail-- (setq type (car 
  --dolist-tail--)) (remove-overlays (point-min) (point-max) 
  'invisible type) (setq --dolist-tail-- (cdr --dolist-tail--)))) 
  (let ((--dolist-tail-- (delq nil --data)) x0) (while 
  --dolist-tail-- (setq x0 (car --dolist-tail--)) (let* ((x1 (car 
  x0)) (x2 (cdr x0)) (x3 (car x2)) (x4 (cdr x2)) (x5 (car x4)) (x6 
  (cdr x4))) (let ((type x5) (end x3) (beg x1)) (progn 
  (org-flag-region beg end t type) (if --markers\? (progn 
  (set-marker beg nil) (set-marker end nil)))))) (setq 
  --dolist-tail-- (cdr --dolist-tail--)))))))))
  org-drill-entry()
  (setq result (org-drill-entry))
  (cond ((not (org-drill-entry-due-p)) (message "Entry no longer 
  due, skipping...") (sit-for 0.3) nil) (t (setq result 
  (org-drill-entry)) (cond ((null result) (message "Quit") (setq 
  end-pos :quit) (throw '--cl-block-org-drill-entries-- nil)) 
  ((eql result 'edit) (setq end-pos (point-marker)) (throw 
  '--cl-block-org-drill-entries-- nil)) ((eql result 'skip) (setq 
  *org-drill-current-item* nil) nil) (t (cond ((<= result 
  org-drill-failure-quality) (if *org-drill-again-entries* (setq 
  *org-drill-again-entries* (shuffle-list 
  *org-drill-again-entries*))) (setq *org-drill-again-entries* 
  (append *org-drill-again-entries* (list m)))) (t (setq 
  *org-drill-done-entries* (cons m *org-drill-done-entries*)))) 
  (setq *org-drill-current-item* nil)))))
  (save-excursion (org-drill-goto-entry m) (cond ((not 
  (org-drill-entry-due-p)) (message "Entry no longer due, 
  skipping...") (sit-for 0.3) nil) (t (setq result 
  (org-drill-entry)) (cond ((null result) (message "Quit") (setq 
  end-pos :quit) (throw '--cl-block-org-drill-entries-- nil)) 
  ((eql result 'edit) (setq end-pos (point-marker)) (throw 
  '--cl-block-org-drill-entries-- nil)) ((eql result 'skip) (setq 
  *org-drill-current-item* nil) nil) (t (cond ((<= result 
  org-drill-failure-quality) (if *org-drill-again-entries* (setq 
  *org-drill-again-entries* (shuffle-list 
  *org-drill-again-entries*))) (setq *org-drill-again-entries* 
  (append *org-drill-again-entries* (list m)))) (t (setq 
  *org-drill-done-entries* (cons m *org-drill-done-entries*)))) 
  (setq *org-drill-current-item* nil))))))
  (let ((m (cond ((or (not resuming-p) (null 
  *org-drill-current-item*) (not (org-drill-entry-p 
  *org-drill-current-item*))) (org-drill-pop-next-pending-entry)) 
  (t (setq resuming-p nil) *org-drill-current-item*)))) (setq 
  *org-drill-current-item* m) (if m nil (error "Unexpectedly ran 
  out of pending drill items")) (save-excursion 
  (org-drill-goto-entry m) (cond ((not (org-drill-entry-due-p)) 
  (message "Entry no longer due, skipping...") (sit-for 0.3) nil) 
  (t (setq result (org-drill-entry)) (cond ((null result) (message 
  "Quit") (setq end-pos :quit) (throw 
  '--cl-block-org-drill-entries-- nil)) ((eql result 'edit) (setq 
  end-pos (point-marker)) (throw '--cl-block-org-drill-entries-- 
  nil)) ((eql result 'skip) (setq *org-drill-current-item* nil) 
  nil) (t (cond ((<= result org-drill-failure-quality) (if 
  *org-drill-again-entries* (setq *org-drill-again-entries* 
  (shuffle-list *org-drill-again-entries*))) (setq 
  *org-drill-again-entries* (append *org-drill-again-entries* 
  (list m)))) (t (setq *org-drill-done-entries* (cons m 
  *org-drill-done-entries*)))) (setq *org-drill-current-item* 
  nil)))))))
  (while (org-drill-entries-pending-p) (let ((m (cond ((or (not 
  resuming-p) (null *org-drill-current-item*) (not 
  (org-drill-entry-p *org-drill-current-item*))) 
  (org-drill-pop-next-pending-entry)) (t (setq resuming-p nil) 
  *org-drill-current-item*)))) (setq *org-drill-current-item* m) 
  (if m nil (error "Unexpectedly ran out of pending drill items")) 
  (save-excursion (org-drill-goto-entry m) (cond ((not 
  (org-drill-entry-due-p)) (message "Entry no longer due, 
  skipping...") (sit-for 0.3) nil) (t (setq result 
  (org-drill-entry)) (cond ((null result) (message "Quit") (setq 
  end-pos :quit) (throw '--cl-block-org-drill-entries-- nil)) 
  ((eql result 'edit) (setq end-pos (point-marker)) (throw 
  '--cl-block-org-drill-entries-- nil)) ((eql result 'skip) (setq 
  *org-drill-current-item* nil) nil) (t (cond ((<= result 
  org-drill-failure-quality) (if *org-drill-again-entries* (setq 
  *org-drill-again-entries* (shuffle-list 
  *org-drill-again-entries*))) (setq *org-drill-again-entries* 
  (append *org-drill-again-entries* (list m)))) (t (setq 
  *org-drill-done-entries* (cons m *org-drill-done-entries*)))) 
  (setq *org-drill-current-item* nil))))))))
  (catch '--cl-block-org-drill-entries-- (while 
  (org-drill-entries-pending-p) (let ((m (cond ((or (not 
  resuming-p) (null *org-drill-current-item*) (not 
  (org-drill-entry-p *org-drill-current-item*))) 
  (org-drill-pop-next-pending-entry)) (t (setq resuming-p nil) 
  *org-drill-current-item*)))) (setq *org-drill-current-item* m) 
  (if m nil (error "Unexpectedly ran out of pending drill items")) 
  (save-excursion (org-drill-goto-entry m) (cond ((not 
  (org-drill-entry-due-p)) (message "Entry no longer due, 
  skipping...") (sit-for 0.3) nil) (t (setq result 
  (org-drill-entry)) (cond ((null result) (message "Quit") (setq 
  end-pos :quit) (throw '--cl-block-org-drill-entries-- nil)) 
  ((eql result 'edit) (setq end-pos (point-marker)) (throw 
  '--cl-block-org-drill-entries-- nil)) ((eql result 'skip) (setq 
  *org-drill-current-item* nil) nil) (t (cond ((<= result 
  org-drill-failure-quality) (if *org-drill-again-entries* (setq 
  *org-drill-again-entries* (shuffle-list 
  *org-drill-again-entries*))) (setq *org-drill-again-entries* 
  (append *org-drill-again-entries* (list m)))) (t (setq 
  *org-drill-done-entries* (cons m *org-drill-done-entries*)))) 
  (setq *org-drill-current-item* nil)))))))))
  org-drill-entries(nil)
  (cond ((and (null *org-drill-current-item*) (null 
  *org-drill-new-entries*) (null *org-drill-failed-entries*) (null 
  *org-drill-overdue-entries*) (null 
  *org-drill-young-mature-entries*) (null 
  *org-drill-old-mature-entries*)) (message "I did not find any 
  pending drill items.")) (t (org-drill-entries resume-p) (message 
  "Drill session finished!")))
  (save-excursion (if resume-p nil (let ((org-trust-scanner-tags 
  t) (warned-about-id-creation nil)) (org-map-drill-entries 
  'org-map-drill-entry-function scope drill-match) 
  (org-drill-order-overdue-entries overdue-data) (setq 
  *org-drill-overdue-entry-count* (length 
  *org-drill-overdue-entries*)))) (setq 
  *org-drill-due-entry-count* (org-drill-pending-entry-count)) 
  (cond ((and (null *org-drill-current-item*) (null 
  *org-drill-new-entries*) (null *org-drill-failed-entries*) (null 
  *org-drill-overdue-entries*) (null 
  *org-drill-young-mature-entries*) (null 
  *org-drill-old-mature-entries*)) (message "I did not find any 
  pending drill items.")) (t (org-drill-entries resume-p) (message 
  "Drill session finished!"))))
  (unwind-protect (save-excursion (if resume-p nil (let 
  ((org-trust-scanner-tags t) (warned-about-id-creation nil)) 
  (org-map-drill-entries 'org-map-drill-entry-function scope 
  drill-match) (org-drill-order-overdue-entries overdue-data) 
  (setq *org-drill-overdue-entry-count* (length 
  *org-drill-overdue-entries*)))) (setq 
  *org-drill-due-entry-count* (org-drill-pending-entry-count)) 
  (cond ((and (null *org-drill-current-item*) (null 
  *org-drill-new-entries*) (null *org-drill-failed-entries*) (null 
  *org-drill-overdue-entries*) (null 
  *org-drill-young-mature-entries*) (null 
  *org-drill-old-mature-entries*)) (message "I did not find any 
  pending drill items.")) (t (org-drill-entries resume-p) (message 
  "Drill session finished!")))) (progn (if end-pos nil (setq 
  *org-drill-cram-mode* nil) (org-drill-free-markers 
  *org-drill-done-entries*))))
  (progn (if resume-p nil (org-drill-free-markers t) (setq 
  *org-drill-current-item* nil *org-drill-done-entries* nil 
  *org-drill-dormant-entry-count* 0 *org-drill-due-entry-count* 0 
  *org-drill-due-tomorrow-count* 0 *org-drill-overdue-entry-count* 
  0 *org-drill-new-entries* nil *org-drill-overdue-entries* nil 
  *org-drill-young-mature-entries* nil 
  *org-drill-old-mature-entries* nil *org-drill-failed-entries* 
  nil *org-drill-again-entries* nil) (setq 
  *org-drill-session-qualities* nil) (setq *org-drill-start-time* 
  (float-time (current-time)))) (setq *random-state* 
  (make-random-state t)) (unwind-protect (save-excursion (if 
  resume-p nil (let ((org-trust-scanner-tags t) 
  (warned-about-id-creation nil)) (org-map-drill-entries 
  'org-map-drill-entry-function scope drill-match) 
  (org-drill-order-overdue-entries overdue-data) (setq 
  *org-drill-overdue-entry-count* (length 
  *org-drill-overdue-entries*)))) (setq 
  *org-drill-due-entry-count* (org-drill-pending-entry-count)) 
  (cond ((and (null *org-drill-current-item*) (null 
  *org-drill-new-entries*) (null *org-drill-failed-entries*) (null 
  *org-drill-overdue-entries*) (null 
  *org-drill-young-mature-entries*) (null 
  *org-drill-old-mature-entries*)) (message "I did not find any 
  pending drill items.")) (t (org-drill-entries resume-p) (message 
  "Drill session finished!")))) (progn (if end-pos nil (setq 
  *org-drill-cram-mode* nil) (org-drill-free-markers 
  *org-drill-done-entries*)))))
  (let ((end-pos nil) (overdue-data nil) (cnt 0)) (progn (if 
  resume-p nil (org-drill-free-markers t) (setq 
  *org-drill-current-item* nil *org-drill-done-entries* nil 
  *org-drill-dormant-entry-count* 0 *org-drill-due-entry-count* 0 
  *org-drill-due-tomorrow-count* 0 *org-drill-overdue-entry-count* 
  0 *org-drill-new-entries* nil *org-drill-overdue-entries* nil 
  *org-drill-young-mature-entries* nil 
  *org-drill-old-mature-entries* nil *org-drill-failed-entries* 
  nil *org-drill-again-entries* nil) (setq 
  *org-drill-session-qualities* nil) (setq *org-drill-start-time* 
  (float-time (current-time)))) (setq *random-state* 
  (make-random-state t)) (unwind-protect (save-excursion (if 
  resume-p nil (let ((org-trust-scanner-tags t) 
  (warned-about-id-creation nil)) (org-map-drill-entries 
  'org-map-drill-entry-function scope drill-match) 
  (org-drill-order-overdue-entries overdue-data) (setq 
  *org-drill-overdue-entry-count* (length 
  *org-drill-overdue-entries*)))) (setq 
  *org-drill-due-entry-count* (org-drill-pending-entry-count)) 
  (cond ((and (null *org-drill-current-item*) (null 
  *org-drill-new-entries*) (null *org-drill-failed-entries*) (null 
  *org-drill-overdue-entries*) (null 
  *org-drill-young-mature-entries*) (null 
  *org-drill-old-mature-entries*)) (message "I did not find any 
  pending drill items.")) (t (org-drill-entries resume-p) (message 
  "Drill session finished!")))) (progn (if end-pos nil (setq 
  *org-drill-cram-mode* nil) (org-drill-free-markers 
  *org-drill-done-entries*))))) (cond (end-pos (if (markerp 
  end-pos) (progn (org-drill-goto-entry end-pos) (org-reveal) 
  (org-show-entry))) (let ((keystr (command-keybinding-to-string 
  'org-drill-resume))) (message "You can continue the drill 
  session with the command `org-drill-resume'.%s" (if keystr 
  (format "\nYou can run this command by pressing %s." keystr) 
  "")))) (t (org-drill-final-report) (if (eql 'sm5 
  org-drill-spaced-repetition-algorithm) 
  (org-drill-save-optimal-factor-matrix)) (if 
  org-drill-save-buffers-after-drill-sessions-p 
  (save-some-buffers)) (message "Drill session finished!"))))
  org-drill()
  funcall-interactively(org-drill)
  #<subr call-interactively>(org-drill record nil)
  apply(#<subr call-interactively> org-drill (record nil))
  call-interactively@ido-cr+-record-current-command(#<subr 
  call-interactively> org-drill record nil)
  apply(call-interactively@ido-cr+-record-current-command #<subr 
  call-interactively> (org-drill record nil))
  call-interactively(org-drill record nil)
  command-execute(org-drill record)
  execute-extended-command(nil "org-drill")


-- 
Hipatitis: Terminal coolness.



 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Org-drill broken with Org 9.2
@ 2019-01-06  2:39 Neeum Zawan
  2019-01-07  0:48 ` stardiviner
  0 siblings, 1 reply; 3+ messages in thread
From: Neeum Zawan @ 2019-01-06  2:39 UTC (permalink / raw)
  To: emacs-orgmode

 
Hi,

When I try to run Org-drill, I get the backtrace below.

Others are seeing it too:

https://bitbucket.org/eeeickythump/org-drill/issues/62/org-drill-doesnt-work-with-org-mode-92
Ideas?

Thanks.


Debugger entered--Lisp error: (error "Invalid match tag: \"\"")
  signal(error ("Invalid match tag: \"\""))
  error("Invalid match tag: %S" "")
  org-tags-expand("")
  org-make-tags-matcher("")
  org-map-entries((lambda nil (if (and (not (org-invisible-p)) (> 
  (org-current-level) drill-entry-level)) (progn (if (or (/= 
  (org-current-level) (1+ drill-entry-level)) (funcall test)) 
  (progn (hide-subtree))) (setq drill-sections (cons (point) 
  drill-sections))))) "" tree)
  (save-excursion (org-map-entries (function (lambda nil (if (and 
  (not (org-invisible-p)) (> (org-current-level) 
  drill-entry-level)) (progn (if (or (/= (org-current-level) (1+ 
  drill-entry-level)) (funcall test)) (progn (hide-subtree))) 
  (setq drill-sections (cons (point) drill-sections)))))) "" 
  'tree))
  (let ((drill-entry-level (org-current-level)) (drill-sections 
  nil)) (org-show-subtree) (save-excursion (org-map-entries 
  (function (lambda nil (if (and (not (org-invisible-p)) (> 
  (org-current-level) drill-entry-level)) (progn (if (or (/= 
  (org-current-level) (1+ drill-entry-level)) (funcall test)) 
  (progn (hide-subtree))) (setq drill-sections (cons (point) 
  drill-sections)))))) "" 'tree)) (reverse drill-sections))
  org-drill-hide-subheadings-if((lambda nil (let ((drill-heading 
  (org-get-heading t))) (not (member drill-heading 
  heading-list)))))
  org-drill-hide-all-subheadings-except(nil)
  (progn (org-drill-hide-all-subheadings-except nil) 
  (org-drill--show-latex-fragments) (condition-case nil (progn 
  (org-display-inline-images t)) (error nil)) 
  (org-cycle-hide-drawers 'all) (prog1 
  (org-drill-presentation-prompt) (org-drill-hide-subheadings-if 
  'org-drill-entry-p)))
  (unwind-protect (progn (org-drill-hide-all-subheadings-except 
  nil) (org-drill--show-latex-fragments) (condition-case nil 
  (progn (org-display-inline-images t)) (error nil)) 
  (org-cycle-hide-drawers 'all) (prog1 
  (org-drill-presentation-prompt) (org-drill-hide-subheadings-if 
  'org-drill-entry-p))) (org-drill-unhide-clozed-text))
  (progn (org-drill-hide-clozed-text) (unwind-protect (progn 
  (org-drill-hide-all-subheadings-except nil) 
  (org-drill--show-latex-fragments) (condition-case nil (progn 
  (org-display-inline-images t)) (error nil)) 
  (org-cycle-hide-drawers 'all) (prog1 
  (org-drill-presentation-prompt) (org-drill-hide-subheadings-if 
  'org-drill-entry-p))) (org-drill-unhide-clozed-text)))
  (progn (progn (org-drill-hide-clozed-text) (unwind-protect 
  (progn (org-drill-hide-all-subheadings-except nil) 
  (org-drill--show-latex-fragments) (condition-case nil (progn 
  (org-display-inline-images t)) (error nil)) 
  (org-cycle-hide-drawers 'all) (prog1 
  (org-drill-presentation-prompt) (org-drill-hide-subheadings-if 
  'org-drill-entry-p))) (org-drill-unhide-clozed-text))))
  (unwind-protect (progn (progn (org-drill-hide-clozed-text) 
  (unwind-protect (progn (org-drill-hide-all-subheadings-except 
  nil) (org-drill--show-latex-fragments) (condition-case nil 
  (progn (org-display-inline-images t)) (error nil)) 
  (org-cycle-hide-drawers 'all) (prog1 
  (org-drill-presentation-prompt) (org-drill-hide-subheadings-if 
  'org-drill-entry-p))) (org-drill-unhide-clozed-text)))) 
  (org-drill-unhide-text))
  (progn (org-drill-hide-cloze-hints) (unwind-protect (progn 
  (progn (org-drill-hide-clozed-text) (unwind-protect (progn 
  (org-drill-hide-all-subheadings-except nil) 
  (org-drill--show-latex-fragments) (condition-case nil (progn 
  (org-display-inline-images t)) (error nil)) 
  (org-cycle-hide-drawers 'all) (prog1 
  (org-drill-presentation-prompt) (org-drill-hide-subheadings-if 
  'org-drill-entry-p))) (org-drill-unhide-clozed-text)))) 
  (org-drill-unhide-text)))
  (progn (progn (org-drill-hide-cloze-hints) (unwind-protect 
  (progn (progn (org-drill-hide-clozed-text) (unwind-protect 
  (progn (org-drill-hide-all-subheadings-except nil) 
  (org-drill--show-latex-fragments) (condition-case nil (progn 
  (org-display-inline-images t)) (error nil)) 
  (org-cycle-hide-drawers 'all) (prog1 
  (org-drill-presentation-prompt) (org-drill-hide-subheadings-if 
  'org-drill-entry-p))) (org-drill-unhide-clozed-text)))) 
  (org-drill-unhide-text))))
  (unwind-protect (progn (progn (org-drill-hide-cloze-hints) 
  (unwind-protect (progn (progn (org-drill-hide-clozed-text) 
  (unwind-protect (progn (org-drill-hide-all-subheadings-except 
  nil) (org-drill--show-latex-fragments) (condition-case nil 
  (progn (org-display-inline-images t)) (error nil)) 
  (org-cycle-hide-drawers 'all) (prog1 
  (org-drill-presentation-prompt) (org-drill-hide-subheadings-if 
  'org-drill-entry-p))) (org-drill-unhide-clozed-text)))) 
  (org-drill-unhide-text)))) (org-drill-unhide-text))
  (progn (if org-drill-hide-item-headings-p 
  (org-drill-hide-heading-at-point)) (org-drill-hide-comments) 
  (unwind-protect (progn (progn (org-drill-hide-cloze-hints) 
  (unwind-protect (progn (progn (org-drill-hide-clozed-text) 
  (unwind-protect (progn (org-drill-hide-all-subheadings-except 
  nil) (org-drill--show-latex-fragments) (condition-case nil 
  (progn (org-display-inline-images t)) (error nil)) 
  (org-cycle-hide-drawers 'all) (prog1 
  (org-drill-presentation-prompt) (org-drill-hide-subheadings-if 
  'org-drill-entry-p))) (org-drill-unhide-clozed-text)))) 
  (org-drill-unhide-text)))) (org-drill-unhide-text)))
  org-drill-present-simple-card()
  funcall(org-drill-present-simple-card)
  (setq cont (funcall presentation-fn))
  (cond ((null presentation-fn) (message "%s:%d: Unrecognised card 
  type '%s', skipping..." (buffer-name) (point) card-type) 
  (sit-for 0.5) 'skip) (t (setq cont (funcall presentation-fn)) 
  (cond ((not cont) (message "Quit") nil) ((eql cont 'edit) 'edit) 
  ((eql cont 'skip) 'skip) (t (save-excursion (funcall answer-fn 
  (function (lambda nil (org-drill-reschedule)))))))))
  (prog1 (cond ((null presentation-fn) (message "%s:%d: 
  Unrecognised card type '%s', skipping..." (buffer-name) (point) 
  card-type) (sit-for 0.5) 'skip) (t (setq cont (funcall 
  presentation-fn)) (cond ((not cont) (message "Quit") nil) ((eql 
  cont 'edit) 'edit) ((eql cont 'skip) 'skip) (t (save-excursion 
  (funcall answer-fn (function (lambda nil 
  (org-drill-reschedule))))))))) 
  (org-remove-latex-fragment-image-overlays))
  (let ((presentation-fn (cdr (assoc card-type 
  org-drill-card-type-alist)))) (if (listp presentation-fn) (progn 
  (setq answer-fn (prog1 (or (car (cdr presentation-fn)) 
  'org-drill-present-default-answer) (setq present-empty-cards 
  (prog1 (car (cdr (cdr presentation-fn))) (setq presentation-fn 
  (first presentation-fn)))))) nil)) (prog1 (cond ((null 
  presentation-fn) (message "%s:%d: Unrecognised card type '%s', 
  skipping..." (buffer-name) (point) card-type) (sit-for 0.5) 
  'skip) (t (setq cont (funcall presentation-fn)) (cond ((not 
  cont) (message "Quit") nil) ((eql cont 'edit) 'edit) ((eql cont 
  'skip) 'skip) (t (save-excursion (funcall answer-fn (function 
  (lambda nil (org-drill-reschedule))))))))) 
  (org-remove-latex-fragment-image-overlays)))
  (save-restriction (org-narrow-to-subtree) (org-show-subtree) 
  (org-cycle-hide-drawers 'all) (let ((presentation-fn (cdr (assoc 
  card-type org-drill-card-type-alist)))) (if (listp 
  presentation-fn) (progn (setq answer-fn (prog1 (or (car (cdr 
  presentation-fn)) 'org-drill-present-default-answer) (setq 
  present-empty-cards (prog1 (car (cdr (cdr presentation-fn))) 
  (setq presentation-fn (first presentation-fn)))))) nil)) (prog1 
  (cond ((null presentation-fn) (message "%s:%d: Unrecognised card 
  type '%s', skipping..." (buffer-name) (point) card-type) 
  (sit-for 0.5) 'skip) (t (setq cont (funcall presentation-fn)) 
  (cond ((not cont) (message "Quit") nil) ((eql cont 'edit) 'edit) 
  ((eql cont 'skip) 'skip) (t (save-excursion (funcall answer-fn 
  (function (lambda nil (org-drill-reschedule))))))))) 
  (org-remove-latex-fragment-image-overlays))))
  (progn (save-restriction (org-narrow-to-subtree) 
  (org-show-subtree) (org-cycle-hide-drawers 'all) (let 
  ((presentation-fn (cdr (assoc card-type 
  org-drill-card-type-alist)))) (if (listp presentation-fn) (progn 
  (setq answer-fn (prog1 (or (car (cdr presentation-fn)) 
  'org-drill-present-default-answer) (setq present-empty-cards 
  (prog1 (car (cdr (cdr presentation-fn))) (setq presentation-fn 
  (first presentation-fn)))))) nil)) (prog1 (cond ((null 
  presentation-fn) (message "%s:%d: Unrecognised card type '%s', 
  skipping..." (buffer-name) (point) card-type) (sit-for 0.5) 
  'skip) (t (setq cont (funcall presentation-fn)) (cond ((not 
  cont) (message "Quit") nil) ((eql cont 'edit) 'edit) ((eql cont 
  'skip) 'skip) (t (save-excursion (funcall answer-fn (function 
  (lambda nil (org-drill-reschedule))))))))) 
  (org-remove-latex-fragment-image-overlays)))))
  (unwind-protect (progn (save-restriction (org-narrow-to-subtree) 
  (org-show-subtree) (org-cycle-hide-drawers 'all) (let 
  ((presentation-fn (cdr (assoc card-type 
  org-drill-card-type-alist)))) (if (listp presentation-fn) (progn 
  (setq answer-fn (prog1 (or (car (cdr presentation-fn)) 
  'org-drill-present-default-answer) (setq present-empty-cards 
  (prog1 (car (cdr (cdr presentation-fn))) (setq presentation-fn 
  (first presentation-fn)))))) nil)) (prog1 (cond ((null 
  presentation-fn) (message "%s:%d: Unrecognised card type '%s', 
  skipping..." (buffer-name) (point) card-type) (sit-for 0.5) 
  'skip) (t (setq cont (funcall presentation-fn)) (cond ((not 
  cont) (message "Quit") nil) ((eql cont 'edit) 'edit) ((eql cont 
  'skip) 'skip) (t (save-excursion (funcall answer-fn (function 
  (lambda nil (org-drill-reschedule))))))))) 
  (org-remove-latex-fragment-image-overlays))))) (save-excursion 
  (save-restriction (widen) (let ((--dolist-tail-- 
  --invisible-types) type) (while --dolist-tail-- (setq type (car 
  --dolist-tail--)) (remove-overlays (point-min) (point-max) 
  'invisible type) (setq --dolist-tail-- (cdr --dolist-tail--)))) 
  (let ((--dolist-tail-- (delq nil --data)) x0) (while 
  --dolist-tail-- (setq x0 (car --dolist-tail--)) (let* ((x1 (car 
  x0)) (x2 (cdr x0)) (x3 (car x2)) (x4 (cdr x2)) (x5 (car x4)) (x6 
  (cdr x4))) (let ((type x5) (end x3) (beg x1)) (progn 
  (org-flag-region beg end t type) (if --markers\? (progn 
  (set-marker beg nil) (set-marker end nil)))))) (setq 
  --dolist-tail-- (cdr --dolist-tail--)))))))
  (let* ((--invisible-types '(org-hide-block org-hide-drawer 
  outline)) (--markers\? t) (--data (mapcar (function (lambda (o) 
  (let ((beg (overlay-start o)) (end (overlay-end o)) (type 
  (overlay-get o 'invisible))) (and beg end (> end beg) (memq type 
  --invisible-types) (list (if --markers\? (copy-marker beg) beg) 
  (if --markers\? (copy-marker end t) end) type))))) 
  (save-excursion (save-restriction (widen) (overlays-in 
  (point-min) (point-max))))))) (unwind-protect (progn 
  (save-restriction (org-narrow-to-subtree) (org-show-subtree) 
  (org-cycle-hide-drawers 'all) (let ((presentation-fn (cdr (assoc 
  card-type org-drill-card-type-alist)))) (if (listp 
  presentation-fn) (progn (setq answer-fn (prog1 (or (car (cdr 
  presentation-fn)) 'org-drill-present-default-answer) (setq 
  present-empty-cards (prog1 (car (cdr (cdr presentation-fn))) 
  (setq presentation-fn (first presentation-fn)))))) nil)) (prog1 
  (cond ((null presentation-fn) (message "%s:%d: Unrecognised card 
  type '%s', skipping..." (buffer-name) (point) card-type) 
  (sit-for 0.5) 'skip) (t (setq cont (funcall presentation-fn)) 
  (cond ((not cont) (message "Quit") nil) ((eql cont 'edit) 'edit) 
  ((eql cont 'skip) 'skip) (t (save-excursion (funcall answer-fn 
  (function (lambda nil (org-drill-reschedule))))))))) 
  (org-remove-latex-fragment-image-overlays))))) (save-excursion 
  (save-restriction (widen) (let ((--dolist-tail-- 
  --invisible-types) type) (while --dolist-tail-- (setq type (car 
  --dolist-tail--)) (remove-overlays (point-min) (point-max) 
  'invisible type) (setq --dolist-tail-- (cdr --dolist-tail--)))) 
  (let ((--dolist-tail-- (delq nil --data)) x0) (while 
  --dolist-tail-- (setq x0 (car --dolist-tail--)) (let* ((x1 (car 
  x0)) (x2 (cdr x0)) (x3 (car x2)) (x4 (cdr x2)) (x5 (car x4)) (x6 
  (cdr x4))) (let ((type x5) (end x3) (beg x1)) (progn 
  (org-flag-region beg end t type) (if --markers\? (progn 
  (set-marker beg nil) (set-marker end nil)))))) (setq 
  --dolist-tail-- (cdr --dolist-tail--))))))))
  (let ((card-type (org-entry-get (point) "DRILL_CARD_TYPE" t)) 
  (answer-fn 'org-drill-present-default-answer) 
  (present-empty-cards nil) (cont nil) (outline-view-change-hook 
  nil)) (setq drill-answer nil) (let* ((--invisible-types 
  '(org-hide-block org-hide-drawer outline)) (--markers\? t) 
  (--data (mapcar (function (lambda (o) (let ((beg (overlay-start 
  o)) (end (overlay-end o)) (type (overlay-get o 'invisible))) 
  (and beg end (> end beg) (memq type --invisible-types) (list (if 
  --markers\? (copy-marker beg) beg) (if --markers\? (copy-marker 
  end t) end) type))))) (save-excursion (save-restriction (widen) 
  (overlays-in (point-min) (point-max))))))) (unwind-protect 
  (progn (save-restriction (org-narrow-to-subtree) 
  (org-show-subtree) (org-cycle-hide-drawers 'all) (let 
  ((presentation-fn (cdr (assoc card-type 
  org-drill-card-type-alist)))) (if (listp presentation-fn) (progn 
  (setq answer-fn (prog1 (or (car (cdr presentation-fn)) 
  'org-drill-present-default-answer) (setq present-empty-cards 
  (prog1 (car (cdr (cdr presentation-fn))) (setq presentation-fn 
  (first presentation-fn)))))) nil)) (prog1 (cond ((null 
  presentation-fn) (message "%s:%d: Unrecognised card type '%s', 
  skipping..." (buffer-name) (point) card-type) (sit-for 0.5) 
  'skip) (t (setq cont (funcall presentation-fn)) (cond ((not 
  cont) (message "Quit") nil) ((eql cont 'edit) 'edit) ((eql cont 
  'skip) 'skip) (t (save-excursion (funcall answer-fn (function 
  (lambda nil (org-drill-reschedule))))))))) 
  (org-remove-latex-fragment-image-overlays))))) (save-excursion 
  (save-restriction (widen) (let ((--dolist-tail-- 
  --invisible-types) type) (while --dolist-tail-- (setq type (car 
  --dolist-tail--)) (remove-overlays (point-min) (point-max) 
  'invisible type) (setq --dolist-tail-- (cdr --dolist-tail--)))) 
  (let ((--dolist-tail-- (delq nil --data)) x0) (while 
  --dolist-tail-- (setq x0 (car --dolist-tail--)) (let* ((x1 (car 
  x0)) (x2 (cdr x0)) (x3 (car x2)) (x4 (cdr x2)) (x5 (car x4)) (x6 
  (cdr x4))) (let ((type x5) (end x3) (beg x1)) (progn 
  (org-flag-region beg end t type) (if --markers\? (progn 
  (set-marker beg nil) (set-marker end nil)))))) (setq 
  --dolist-tail-- (cdr --dolist-tail--)))))))))
  org-drill-entry()
  (setq result (org-drill-entry))
  (cond ((not (org-drill-entry-due-p)) (message "Entry no longer 
  due, skipping...") (sit-for 0.3) nil) (t (setq result 
  (org-drill-entry)) (cond ((null result) (message "Quit") (setq 
  end-pos :quit) (throw '--cl-block-org-drill-entries-- nil)) 
  ((eql result 'edit) (setq end-pos (point-marker)) (throw 
  '--cl-block-org-drill-entries-- nil)) ((eql result 'skip) (setq 
  *org-drill-current-item* nil) nil) (t (cond ((<= result 
  org-drill-failure-quality) (if *org-drill-again-entries* (setq 
  *org-drill-again-entries* (shuffle-list 
  *org-drill-again-entries*))) (setq *org-drill-again-entries* 
  (append *org-drill-again-entries* (list m)))) (t (setq 
  *org-drill-done-entries* (cons m *org-drill-done-entries*)))) 
  (setq *org-drill-current-item* nil)))))
  (save-excursion (org-drill-goto-entry m) (cond ((not 
  (org-drill-entry-due-p)) (message "Entry no longer due, 
  skipping...") (sit-for 0.3) nil) (t (setq result 
  (org-drill-entry)) (cond ((null result) (message "Quit") (setq 
  end-pos :quit) (throw '--cl-block-org-drill-entries-- nil)) 
  ((eql result 'edit) (setq end-pos (point-marker)) (throw 
  '--cl-block-org-drill-entries-- nil)) ((eql result 'skip) (setq 
  *org-drill-current-item* nil) nil) (t (cond ((<= result 
  org-drill-failure-quality) (if *org-drill-again-entries* (setq 
  *org-drill-again-entries* (shuffle-list 
  *org-drill-again-entries*))) (setq *org-drill-again-entries* 
  (append *org-drill-again-entries* (list m)))) (t (setq 
  *org-drill-done-entries* (cons m *org-drill-done-entries*)))) 
  (setq *org-drill-current-item* nil))))))
  (let ((m (cond ((or (not resuming-p) (null 
  *org-drill-current-item*) (not (org-drill-entry-p 
  *org-drill-current-item*))) (org-drill-pop-next-pending-entry)) 
  (t (setq resuming-p nil) *org-drill-current-item*)))) (setq 
  *org-drill-current-item* m) (if m nil (error "Unexpectedly ran 
  out of pending drill items")) (save-excursion 
  (org-drill-goto-entry m) (cond ((not (org-drill-entry-due-p)) 
  (message "Entry no longer due, skipping...") (sit-for 0.3) nil) 
  (t (setq result (org-drill-entry)) (cond ((null result) (message 
  "Quit") (setq end-pos :quit) (throw 
  '--cl-block-org-drill-entries-- nil)) ((eql result 'edit) (setq 
  end-pos (point-marker)) (throw '--cl-block-org-drill-entries-- 
  nil)) ((eql result 'skip) (setq *org-drill-current-item* nil) 
  nil) (t (cond ((<= result org-drill-failure-quality) (if 
  *org-drill-again-entries* (setq *org-drill-again-entries* 
  (shuffle-list *org-drill-again-entries*))) (setq 
  *org-drill-again-entries* (append *org-drill-again-entries* 
  (list m)))) (t (setq *org-drill-done-entries* (cons m 
  *org-drill-done-entries*)))) (setq *org-drill-current-item* 
  nil)))))))
  (while (org-drill-entries-pending-p) (let ((m (cond ((or (not 
  resuming-p) (null *org-drill-current-item*) (not 
  (org-drill-entry-p *org-drill-current-item*))) 
  (org-drill-pop-next-pending-entry)) (t (setq resuming-p nil) 
  *org-drill-current-item*)))) (setq *org-drill-current-item* m) 
  (if m nil (error "Unexpectedly ran out of pending drill items")) 
  (save-excursion (org-drill-goto-entry m) (cond ((not 
  (org-drill-entry-due-p)) (message "Entry no longer due, 
  skipping...") (sit-for 0.3) nil) (t (setq result 
  (org-drill-entry)) (cond ((null result) (message "Quit") (setq 
  end-pos :quit) (throw '--cl-block-org-drill-entries-- nil)) 
  ((eql result 'edit) (setq end-pos (point-marker)) (throw 
  '--cl-block-org-drill-entries-- nil)) ((eql result 'skip) (setq 
  *org-drill-current-item* nil) nil) (t (cond ((<= result 
  org-drill-failure-quality) (if *org-drill-again-entries* (setq 
  *org-drill-again-entries* (shuffle-list 
  *org-drill-again-entries*))) (setq *org-drill-again-entries* 
  (append *org-drill-again-entries* (list m)))) (t (setq 
  *org-drill-done-entries* (cons m *org-drill-done-entries*)))) 
  (setq *org-drill-current-item* nil))))))))
  (catch '--cl-block-org-drill-entries-- (while 
  (org-drill-entries-pending-p) (let ((m (cond ((or (not 
  resuming-p) (null *org-drill-current-item*) (not 
  (org-drill-entry-p *org-drill-current-item*))) 
  (org-drill-pop-next-pending-entry)) (t (setq resuming-p nil) 
  *org-drill-current-item*)))) (setq *org-drill-current-item* m) 
  (if m nil (error "Unexpectedly ran out of pending drill items")) 
  (save-excursion (org-drill-goto-entry m) (cond ((not 
  (org-drill-entry-due-p)) (message "Entry no longer due, 
  skipping...") (sit-for 0.3) nil) (t (setq result 
  (org-drill-entry)) (cond ((null result) (message "Quit") (setq 
  end-pos :quit) (throw '--cl-block-org-drill-entries-- nil)) 
  ((eql result 'edit) (setq end-pos (point-marker)) (throw 
  '--cl-block-org-drill-entries-- nil)) ((eql result 'skip) (setq 
  *org-drill-current-item* nil) nil) (t (cond ((<= result 
  org-drill-failure-quality) (if *org-drill-again-entries* (setq 
  *org-drill-again-entries* (shuffle-list 
  *org-drill-again-entries*))) (setq *org-drill-again-entries* 
  (append *org-drill-again-entries* (list m)))) (t (setq 
  *org-drill-done-entries* (cons m *org-drill-done-entries*)))) 
  (setq *org-drill-current-item* nil)))))))))
  org-drill-entries(nil)
  (cond ((and (null *org-drill-current-item*) (null 
  *org-drill-new-entries*) (null *org-drill-failed-entries*) (null 
  *org-drill-overdue-entries*) (null 
  *org-drill-young-mature-entries*) (null 
  *org-drill-old-mature-entries*)) (message "I did not find any 
  pending drill items.")) (t (org-drill-entries resume-p) (message 
  "Drill session finished!")))
  (save-excursion (if resume-p nil (let ((org-trust-scanner-tags 
  t) (warned-about-id-creation nil)) (org-map-drill-entries 
  'org-map-drill-entry-function scope drill-match) 
  (org-drill-order-overdue-entries overdue-data) (setq 
  *org-drill-overdue-entry-count* (length 
  *org-drill-overdue-entries*)))) (setq 
  *org-drill-due-entry-count* (org-drill-pending-entry-count)) 
  (cond ((and (null *org-drill-current-item*) (null 
  *org-drill-new-entries*) (null *org-drill-failed-entries*) (null 
  *org-drill-overdue-entries*) (null 
  *org-drill-young-mature-entries*) (null 
  *org-drill-old-mature-entries*)) (message "I did not find any 
  pending drill items.")) (t (org-drill-entries resume-p) (message 
  "Drill session finished!"))))
  (unwind-protect (save-excursion (if resume-p nil (let 
  ((org-trust-scanner-tags t) (warned-about-id-creation nil)) 
  (org-map-drill-entries 'org-map-drill-entry-function scope 
  drill-match) (org-drill-order-overdue-entries overdue-data) 
  (setq *org-drill-overdue-entry-count* (length 
  *org-drill-overdue-entries*)))) (setq 
  *org-drill-due-entry-count* (org-drill-pending-entry-count)) 
  (cond ((and (null *org-drill-current-item*) (null 
  *org-drill-new-entries*) (null *org-drill-failed-entries*) (null 
  *org-drill-overdue-entries*) (null 
  *org-drill-young-mature-entries*) (null 
  *org-drill-old-mature-entries*)) (message "I did not find any 
  pending drill items.")) (t (org-drill-entries resume-p) (message 
  "Drill session finished!")))) (progn (if end-pos nil (setq 
  *org-drill-cram-mode* nil) (org-drill-free-markers 
  *org-drill-done-entries*))))
  (progn (if resume-p nil (org-drill-free-markers t) (setq 
  *org-drill-current-item* nil *org-drill-done-entries* nil 
  *org-drill-dormant-entry-count* 0 *org-drill-due-entry-count* 0 
  *org-drill-due-tomorrow-count* 0 *org-drill-overdue-entry-count* 
  0 *org-drill-new-entries* nil *org-drill-overdue-entries* nil 
  *org-drill-young-mature-entries* nil 
  *org-drill-old-mature-entries* nil *org-drill-failed-entries* 
  nil *org-drill-again-entries* nil) (setq 
  *org-drill-session-qualities* nil) (setq *org-drill-start-time* 
  (float-time (current-time)))) (setq *random-state* 
  (make-random-state t)) (unwind-protect (save-excursion (if 
  resume-p nil (let ((org-trust-scanner-tags t) 
  (warned-about-id-creation nil)) (org-map-drill-entries 
  'org-map-drill-entry-function scope drill-match) 
  (org-drill-order-overdue-entries overdue-data) (setq 
  *org-drill-overdue-entry-count* (length 
  *org-drill-overdue-entries*)))) (setq 
  *org-drill-due-entry-count* (org-drill-pending-entry-count)) 
  (cond ((and (null *org-drill-current-item*) (null 
  *org-drill-new-entries*) (null *org-drill-failed-entries*) (null 
  *org-drill-overdue-entries*) (null 
  *org-drill-young-mature-entries*) (null 
  *org-drill-old-mature-entries*)) (message "I did not find any 
  pending drill items.")) (t (org-drill-entries resume-p) (message 
  "Drill session finished!")))) (progn (if end-pos nil (setq 
  *org-drill-cram-mode* nil) (org-drill-free-markers 
  *org-drill-done-entries*)))))
  (let ((end-pos nil) (overdue-data nil) (cnt 0)) (progn (if 
  resume-p nil (org-drill-free-markers t) (setq 
  *org-drill-current-item* nil *org-drill-done-entries* nil 
  *org-drill-dormant-entry-count* 0 *org-drill-due-entry-count* 0 
  *org-drill-due-tomorrow-count* 0 *org-drill-overdue-entry-count* 
  0 *org-drill-new-entries* nil *org-drill-overdue-entries* nil 
  *org-drill-young-mature-entries* nil 
  *org-drill-old-mature-entries* nil *org-drill-failed-entries* 
  nil *org-drill-again-entries* nil) (setq 
  *org-drill-session-qualities* nil) (setq *org-drill-start-time* 
  (float-time (current-time)))) (setq *random-state* 
  (make-random-state t)) (unwind-protect (save-excursion (if 
  resume-p nil (let ((org-trust-scanner-tags t) 
  (warned-about-id-creation nil)) (org-map-drill-entries 
  'org-map-drill-entry-function scope drill-match) 
  (org-drill-order-overdue-entries overdue-data) (setq 
  *org-drill-overdue-entry-count* (length 
  *org-drill-overdue-entries*)))) (setq 
  *org-drill-due-entry-count* (org-drill-pending-entry-count)) 
  (cond ((and (null *org-drill-current-item*) (null 
  *org-drill-new-entries*) (null *org-drill-failed-entries*) (null 
  *org-drill-overdue-entries*) (null 
  *org-drill-young-mature-entries*) (null 
  *org-drill-old-mature-entries*)) (message "I did not find any 
  pending drill items.")) (t (org-drill-entries resume-p) (message 
  "Drill session finished!")))) (progn (if end-pos nil (setq 
  *org-drill-cram-mode* nil) (org-drill-free-markers 
  *org-drill-done-entries*))))) (cond (end-pos (if (markerp 
  end-pos) (progn (org-drill-goto-entry end-pos) (org-reveal) 
  (org-show-entry))) (let ((keystr (command-keybinding-to-string 
  'org-drill-resume))) (message "You can continue the drill 
  session with the command `org-drill-resume'.%s" (if keystr 
  (format "\nYou can run this command by pressing %s." keystr) 
  "")))) (t (org-drill-final-report) (if (eql 'sm5 
  org-drill-spaced-repetition-algorithm) 
  (org-drill-save-optimal-factor-matrix)) (if 
  org-drill-save-buffers-after-drill-sessions-p 
  (save-some-buffers)) (message "Drill session finished!"))))
  org-drill()
  funcall-interactively(org-drill)
  #<subr call-interactively>(org-drill record nil)
  apply(#<subr call-interactively> org-drill (record nil))
  call-interactively@ido-cr+-record-current-command(#<subr 
  call-interactively> org-drill record nil)
  apply(call-interactively@ido-cr+-record-current-command #<subr 
  call-interactively> (org-drill record nil))
  call-interactively(org-drill record nil)
  command-execute(org-drill record)
  execute-extended-command(nil "org-drill")

-- 
Hipatitis: Terminal coolness.


                    /\  /\               /\  /
                   /  \/  \ u e e n     /  \/  a w a z
                       >>>>>>mueen@nawaz.org<<<<<<
                                   anl

 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Org-drill broken with Org 9.2
  2019-01-06  2:39 Org-drill broken with Org 9.2 Neeum Zawan
@ 2019-01-07  0:48 ` stardiviner
  0 siblings, 0 replies; 3+ messages in thread
From: stardiviner @ 2019-01-07  0:48 UTC (permalink / raw)
  To: emacs-orgmode


Confirmed, I got same problem.

I'm using the latest master branch of Org source code.

-- 
[ stardiviner ]
       I try to make every word tell the meaning what I want to express.

       Blog: https://stardiviner.github.io/
       IRC(freenode): stardiviner, Matrix: stardiviner
       GPG: F09F650D7D674819892591401B5DF1C95AE89AC3
      

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-01-07  0:46 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-06  2:39 Org-drill broken with Org 9.2 Neeum Zawan
2019-01-07  0:48 ` stardiviner
  -- strict thread matches above, loose matches on Subject: below --
2019-01-05 20:36 Neeum Zawan

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).