aboutsummaryrefslogtreecommitdiff
path: root/org-drill.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-05 05:26:44 -0500
committerCraig Jennings <c@cjennings.net>2026-05-05 05:26:44 -0500
commitfd658b166a8dcf716c82cca28f370990a9df83af (patch)
tree33dba19d419831a0743779b14fd19b8aaa70d7a5 /org-drill.el
parentbac40a5dbc241cab055f92431a80b7971896fde4 (diff)
downloadorg-drill-fd658b166a8dcf716c82cca28f370990a9df83af.tar.gz
org-drill-fd658b166a8dcf716c82cca28f370990a9df83af.zip
fix: skip LaTeX preview on TTY frames (upstream #44)
Issue #44 (2021): running org-drill in a TTY emacsclient (the reporter mentioned tmux) raised "Window system frame should be used" because LaTeX preview helpers (org-latex-preview, org--latex-preview-region) require a window system and weren't guarded. Wrapped both call sites with (when (display-graphic-p) ...). - org-drill--show-latex-fragments: now a silent no-op on TTY - present-default-answer's clear-and-preview block: same guard LaTeX previews are inherently graphical. The right behavior on TTY is to skip the preview rather than crash the session — TTY users still see the underlying source text just fine.
Diffstat (limited to 'org-drill.el')
-rw-r--r--org-drill.el28
1 files changed, 18 insertions, 10 deletions
diff --git a/org-drill.el b/org-drill.el
index 6872d29..6885791 100644
--- a/org-drill.el
+++ b/org-drill.el
@@ -2261,13 +2261,16 @@ RESCHEDULE-FN is the function to reschedule."
(ignore-errors
(org-display-inline-images t))
(org-drill-hide-drawers)
- (org-clear-latex-preview)
- (save-excursion
- (org-mark-subtree)
- (let ((beg (region-beginning))
- (end (region-end)))
- (org--latex-preview-region beg end))
- (deactivate-mark))
+ ;; LaTeX preview helpers require a window-system frame
+ ;; (upstream issue #44). Skip on TTY.
+ (when (display-graphic-p)
+ (org-clear-latex-preview)
+ (save-excursion
+ (org-mark-subtree)
+ (let ((beg (region-beginning))
+ (end (region-end)))
+ (org--latex-preview-region beg end))
+ (deactivate-mark)))
(org-drill-with-hidden-cloze-hints
(funcall reschedule-fn session))))))
@@ -2285,9 +2288,14 @@ RESCHEDULE-FN is the function to reschedule."
(org-drill-hide-subheadings-if 'org-drill-entry-p))))))
(defun org-drill--show-latex-fragments ()
- "Show latex fragment."
- (org-clear-latex-preview)
- (org-latex-preview '(16)))
+ "Show LaTeX fragments as inline images.
+No-op on TTY frames — `org-latex-preview' requires a window system
+and otherwise raises \"Window system frame should be used\" (upstream
+issue #44, 2021). The TTY user just doesn't see preview images,
+which is the right behavior."
+ (when (display-graphic-p)
+ (org-clear-latex-preview)
+ (org-latex-preview '(16))))
(defun org-drill-present-two-sided-card (session)
(org-drill-with-hidden-comments