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

From: Gerd Möllmann <[email-masked]>
Date: Thu, 24 Apr 2025 12:06:40 +0200

Visuwesh <[email-masked]> writes:

> [வியாழன் ஏப்ரல் 24, 2025] Gerd Möllmann wrote:
>
>> looks similar, but I don't know what elb-smie-mode does.
>
> elb-smie-mode's is Stefan's SMIE demo as a C major-mode AFAIU.

Thanks, but I have no idea what that does.

>
>> 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?