Subject: 26.3; `view-lossage': Use a variable for the lossage limit
From: Drew Adams <[email-masked]>
To: [email-masked]
Date: Sun, 29 Dec 2019 09:04:54 -0800 (PST)
List-Id: <debbugs-submit.debbugs.gnu.org>

This report is a follow-up to this emacs-devel thread:

https://lists.gnu.org/archive/html/emacs-devel/2019-12/msg00678.html

and to the older thread that it references:

https://lists.gnu.org/archive/html/emacs-devel/2006-03/msg01012.html

Please use a variable for the limit of how many characters to use for
recording lossage.

Doing that will give users (and Lisp code) control over the limit.
Having a limit that is hard-coded in C is not user-friendly - it's even
unemacsy.

The latter thread mentioned above ended with RMS's decision to have this
taken care of after the release that was then incipient.  But this was
never done.

I'd prefer to see this as a user option, but an ordinary defvar would
already be a great improvement.

I don't think it's uncommon to have mistakenly typed some keys, gotten
in a strange or unfamiliar situation as a result of that, and then tried
to find out just what keys led to that.  Depending on what else you did
in the meantime, before hitting `C-h l' (e.g., to get out of the strange
situation), `view-lossage' might not reach far enough backward to show
you the mistake you made.

It shouldn't be a big deal to move this limit to a Lisp variable.  Can
this please be done now?

---

Not part of this bug report, but `view-lossage' could also be improved
by letting you (or Lisp code) filter the recorded "keystroke" history,
to remove stuff that you feel is really extraneous (e.g. not keyboard
keystrokes).  Such filtering could be just hiding that from view.

(This is all the more relevant if we can control the lossage limit.  The
really relevant user input is sometimes a relatively small subset of the
full list of recorded events you see now with `C-h l'.)

In GNU Emacs 26.3 (build 1, x86_64-w64-mingw32)
 of 2019-08-29
Repository revision: 96dd0196c28bc36779584e47fffcca433c9309cd
Windowing system distributor `Microsoft Corp.', version 10.0.17763
Configured using:
 `configure --without-dbus --host=x86_64-w64-mingw32
 --without-compress-install 'CFLAGS=-O2 -static -g3''