Subject: bug#77924: 31.0.50; [Feature branch] Change marker implementation

From: Visuwesh <[email-masked]>
Date: Thu, 24 Apr 2025 16:02:50 +0530

[வியாழன் ஏப்ரல் 24, 2025] Gerd Möllmann wrote:

>>> Seems to have something to do with prog-mode, so maybe this depends on
>>> the test file being a C file, which might be interesting for Visuwesh.
>>
>> I commented out (elb-smie-mode) form in the above snippet and that
>> showed a backtrace which I could not explain.  Replacing the form with
>> (text-mode) didn't help either.  So I'm running the benchmark with that
>> form intact, even though the file I'm scrolling through is a text file.
>> I am running the benchmark currently, and will report the results once
>> they are done.
>>
>> Debugger entered--Lisp error: (overflow-error)
>>   round(-0.0e+NaN)
>>   (let ((squares (apply #'+ (mapcar #'(lambda (x) (expt x 2)) errs))))
>> (round (/ (* 100 (sqrt squares)) elapsed)))
>>   (format "|%2d%%\n" (let ((squares (apply #'+ (mapcar #'(lambda ...
>> ...) errs)))) (round (/ (* 100 (sqrt squares)) elapsed))))
>>   (insert (format "|%2d%%\n" (let ((squares (apply #'+ (mapcar #'...
>> errs)))) (round (/ (* 100 (sqrt squares)) elapsed)))))
>>   (let* ((--cl-var-- tests) (test nil) (l nil) (test-elapsed nil)
>> (test-gcs nil) (test-gc-elapsed nil) (test-err nil) (elapsed 0) (gcs
>> 0) (gc-elapsed 0) (errs nil) (--cl-var-- t)) (while (consp --cl-var--)
>> (setq test (car --cl-var--)) (setq l (gethash test res)) (setq
>> test-elapsed (let* ((--cl-var-- l) (x nil) (--cl-var-- 0)) (while
>> (consp --cl-var--) (setq x (car --cl-var--)) (setq --cl-var-- (+
>> --cl-var-- (car x))) (setq --cl-var-- (cdr --cl-var--))) --cl-var--))
>> (setq test-gcs (let* ((--cl-var-- l) (x nil) (--cl-var-- 0)) (while
>> (consp --cl-var--) (setq x (car --cl-var--)) (setq --cl-var-- (+
>> --cl-var-- (car ...))) (setq --cl-var-- (cdr --cl-var--)))
>> --cl-var--)) (setq test-gc-elapsed (let* ((--cl-var-- l) (x nil)
>> (--cl-var-- 0)) (while (consp --cl-var--) (setq x (car --cl-var--))
>> (setq --cl-var-- (+ --cl-var-- (car ...))) (setq --cl-var-- (cdr
>> --cl-var--))) --cl-var--)) (setq test-err (if (cdr l)
>> (elb-std-deviation (mapcar #'car l)))) (insert (apply #'format
>
> Something went wrong when computing the "err" values, apparently. Maybe
> it'll work if you increase the number of runs the NaN goes away?

Oddly enough, it throws an error as soon as I start the benchmark.  I
don't think even a single iteration in the loop of elb-scroll-entry is
complete, let alone a complete run.