[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#67196: M-: uses a wrong value of debug-on-error when it is nil.
From: |
Stefan Monnier |
Subject: |
bug#67196: M-: uses a wrong value of debug-on-error when it is nil. |
Date: |
Fri, 24 Nov 2023 16:25:11 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
> + (let* ((debug-from--eval-expression eval-expression-debug-on-error)
> + (result (values--store-value
> + (eval (let ((lexical-binding t)) (macroexpand-all exp))
> t)))
> + (print-length (unless no-truncate eval-expression-print-length))
> + (print-level (unless no-truncate eval-expression-print-level))
> + (eval-expression-print-maximum-character char-print-limit)
> + (deactivate-mark)
> + (out (if insert-value (current-buffer) t)))
> + (prog1
> + (prin1 result out)
> + (let ((str (and char-print-limit
> + (eval-expression-print-format result))))
> + (when str (princ str out))))))
So you kicked the can a bit further down the road.
The next bug report will be that `M-: debug-from--eval-expression` does
not return the expected value.
FWIW, the other way I came up to circumvent the problem is to test the
shape of the expression to evaluate and only use
`eval-expression-debug-on-error` when the expression is not a mere
symbol (for which the backtrace would presumably not be interesting anyway).
But then we get the weird situation where `M-x debug-on-error` can
return nil but `M-x (list debug-on-error ...)` returns a list that
starts with t.
I think I'd rather keep the current code, whose semantics is
actually simpler.
Stefan
- bug#67196: M-: uses a wrong value of debug-on-error when it is nil., Alan Mackenzie, 2023/11/15
- bug#67196: M-: uses a wrong value of debug-on-error when it is nil., Eli Zaretskii, 2023/11/15
- bug#67196: M-: uses a wrong value of debug-on-error when it is nil., Alan Mackenzie, 2023/11/24
- bug#67196: M-: uses a wrong value of debug-on-error when it is nil., Eli Zaretskii, 2023/11/24
- bug#67196: M-: uses a wrong value of debug-on-error when it is nil., Alan Mackenzie, 2023/11/24
- bug#67196: M-: uses a wrong value of debug-on-error when it is nil.,
Stefan Monnier <=
- bug#67196: M-: uses a wrong value of debug-on-error when it is nil., Alan Mackenzie, 2023/11/24
- bug#67196: M-: uses a wrong value of debug-on-error when it is nil., Eli Zaretskii, 2023/11/25
- bug#67196: M-: uses a wrong value of debug-on-error when it is nil., Alan Mackenzie, 2023/11/25
- bug#67196: M-: uses a wrong value of debug-on-error when it is nil., Eli Zaretskii, 2023/11/25
- bug#67196: M-: uses a wrong value of debug-on-error when it is nil., Alan Mackenzie, 2023/11/25
- bug#67196: M-: uses a wrong value of debug-on-error when it is nil., Eli Zaretskii, 2023/11/25
- bug#67196: M-: uses a wrong value of debug-on-error when it is nil., Alan Mackenzie, 2023/11/25
- bug#67196: M-: uses a wrong value of debug-on-error when it is nil., Eli Zaretskii, 2023/11/25
- bug#67196: M-: uses a wrong value of debug-on-error when it is nil., Alan Mackenzie, 2023/11/25
- bug#67196: M-: uses a wrong value of debug-on-error when it is nil., Eli Zaretskii, 2023/11/25