summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--module/language/elisp/compile-tree-il.scm9
1 files changed, 6 insertions, 3 deletions
diff --git a/module/language/elisp/compile-tree-il.scm b/module/language/elisp/compile-tree-il.scm
index c683545d2..0e5e535d8 100644
--- a/module/language/elisp/compile-tree-il.scm
+++ b/module/language/elisp/compile-tree-il.scm
@@ -474,9 +474,12 @@
(defspecial eval-when (loc args)
(pmatch args
((,situations . ,forms)
- (let ((compile? (memq ':compile-toplevel situations))
- (load? (memq ':load-toplevel situations))
- (execute? (memq ':execute situations)))
+ (let ((compile? (or (memq ':compile-toplevel situations)
+ (memq 'compile situations)))
+ (load? (or (memq ':load-toplevel situations)
+ (memq 'load situations)))
+ (execute? (or (memq ':execute situations)
+ (memq 'eval situations))))
(cond
((not (fluid-ref toplevel?))
(if execute?