[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#51037: [PATCH] Make `print-level` & `print-length` customizable in E
From: |
Michael |
Subject: |
bug#51037: [PATCH] Make `print-level` & `print-length` customizable in ERT batch tests |
Date: |
Mon, 22 Nov 2021 06:07:33 -0800 |
User-agent: |
mu4e 1.4.15; emacs 28.0.50 |
Filipp Gunbin <fgunbin@fastmail.fm> writes:
On 20/11/2021 08:49 -0800, Michael wrote:
On 19/11/2021 07:24 -0800, Michael wrote:
Lars Ingebrigtsen <larsi@gnus.org> writes:
Filipp Gunbin <fgunbin@fastmail.fm> writes:
The docstring for backtrace-line-length says: "If set to
nil
or
zero,
backtrace mode will not abbreviate the forms it prints."
So
the
above
sentence, which I removed, was indeed not true? (a quick
look over
its usages confirmed that to me, but I'd like someone else
to
check)
I think the intention is that a nil value of
backtrace-line-length
shouldn't limit the lengths -- but I haven't tested it.
Doesn't it
work?
Yes, I'm a bit lost, Filipp... what is your concern? And I
thought I *had* tested that.
That the docstring contained a sentence which is not true. A
minor
issue, of course. I give examples here:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=51037#117
(there was also fix of interactive spec of
`ert-run-tests-interactively',
but that's obvious I think)
Hey Filipp,
Note that _is_ true, as far as I know, and was intended to be
true before my patch, and I verified that it became true with
my
patch :) Can you provide a test case that demonstrates it to be
not true?
Yes, here
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=51037#117, as I
wrote above..
Oh.... oh, my-- you are on to something here, Filipp. My
apologies for not seeing it sooner. The problem lies in:
(defun cl-print-to-string-with-limit (print-function value
limit)
...
(setq limit (and (natnump limit)
(not (zerop limit))
limit))
;; Since this is used by the debugger when stack space may
be
;; limited, if you increase print-level here, add more depth
in
;; call_debugger (bug#31919).
(let* ((print-length (when limit (min limit 50)))
(print-level (when limit (min 8 (truncate (log
limit)))))
backtrace uses this function to print each frame, and as you can
see, if called with `limit' set to nil, `print-le{vel,ength}`
will *not* keep their current values, they will *also* be set to
`nil`.
So, we could do either of:
1. As Filipp suggests, just change the contract for
`ert-batch-backtrace-line-length' to: if set to nil, you get
full stack traces, period.
2. change `cl-print-to-string-with-limit' to respect the
existing values of `print-length' & `print-level' when
`limit' is nil. Note that the only caller (in Emacs) of this
function is the backtrace package.
I vote for option 2. What say you all?
--
Michael <sp1ff@pobox.com>
- bug#51037: [PATCH] Make `print-level` & `print-length` customizable in ERT batch tests, (continued)
- bug#51037: [PATCH] Make `print-level` & `print-length` customizable in ERT batch tests, Lars Ingebrigtsen, 2021/11/14
- bug#51037: [PATCH] Make `print-level` & `print-length` customizable in ERT batch tests, Michael, 2021/11/15
- bug#51037: [PATCH] Make `print-level` & `print-length` customizable in ERT batch tests, Lars Ingebrigtsen, 2021/11/16
- bug#51037: [PATCH] Make `print-level` & `print-length` customizable in ERT batch tests, Filipp Gunbin, 2021/11/17
- bug#51037: [PATCH] Make `print-level` & `print-length` customizable in ERT batch tests, Lars Ingebrigtsen, 2021/11/18
- bug#51037: [PATCH] Make `print-level` & `print-length` customizable in ERT batch tests, Filipp Gunbin, 2021/11/18
- bug#51037: [PATCH] Make `print-level` & `print-length` customizable in ERT batch tests, Michael, 2021/11/19
- bug#51037: [PATCH] Make `print-level` & `print-length` customizable in ERT batch tests, Filipp Gunbin, 2021/11/19
- bug#51037: [PATCH] Make `print-level` & `print-length` customizable in ERT batch tests, Michael, 2021/11/20
- bug#51037: [PATCH] Make `print-level` & `print-length` customizable in ERT batch tests, Filipp Gunbin, 2021/11/20
- bug#51037: [PATCH] Make `print-level` & `print-length` customizable in ERT batch tests,
Michael <=
- bug#51037: [PATCH] Make `print-level` & `print-length` customizable in ERT batch tests, Filipp Gunbin, 2021/11/22
- bug#51037: [PATCH] Make `print-level` & `print-length` customizable in ERT batch tests, Michael, 2021/11/24
- bug#51037: [PATCH] Make `print-level` & `print-length` customizable in ERT batch tests, Filipp Gunbin, 2021/11/24
- bug#51037: [PATCH] Make `print-level` & `print-length` customizable in ERT batch tests, Michael, 2021/11/29