@@ -63,16 +63,19 @@ Possible values are:
6363The default for DISPLAY-NAMESPACES is taken from
6464`cider-macroexpansion-display-namespaces' ."
6565 (cider-ensure-op-supported " macroexpand" )
66- (thread-first `(" op" " macroexpand"
67- " expander" , expander
68- " code" , expr
69- " ns" ,(cider-current-ns)
70- " display-namespaces" ,(or display-namespaces
71- (symbol-name cider-macroexpansion-display-namespaces)))
72- (nconc (when cider-macroexpansion-print-metadata
73- '(" print-meta" " true" )))
74- (cider-nrepl-send-sync-request)
75- (nrepl-dict-get " expansion" )))
66+ (let ((result (thread-first `(" op" " macroexpand"
67+ " expander" , expander
68+ " code" , expr
69+ " ns" ,(cider-current-ns)
70+ " display-namespaces" ,(or display-namespaces
71+ (symbol-name cider-macroexpansion-display-namespaces)))
72+ (nconc (when cider-macroexpansion-print-metadata
73+ '(" print-meta" " true" )))
74+ (cider-nrepl-send-sync-request))))
75+ (nrepl-dbind-response result (expansion status)
76+ (if (member " macroexpand-error" status)
77+ (user-error " Macroexpansion failed. Check *cider-error* for more details" )
78+ expansion))))
7679
7780(defun cider-macroexpand-undo (&optional arg )
7881 " Undo the last macroexpansion, using `undo-only' .
0 commit comments