From: Eli Zaretskii <eliz@gnu.org>
To: Christian Ohler <ohler+emacs@fastmail.net>
Cc: rms@gnu.org, emacs-devel@gnu.org
Subject: Re: ert.el --- Emacs Lisp Regression Testing
Date: Sat, 05 Jan 2008 15:06:45 +0200 [thread overview]
Message-ID: <uprwgv2u2.fsf@gnu.org> (raw)
In-Reply-To: <477F6ADD.4000908@fastmail.net> (message from Christian Ohler on Sat, 05 Jan 2008 12:32:45 +0100)
> Date: Sat, 05 Jan 2008 12:32:45 +0100
> From: Christian Ohler <ohler+emacs@fastmail.net>
> Cc: emacs-devel@gnu.org
>
> > It occurs to me that M-x term could be used to test for redisplay.
> > The idea is that you run a sub-Emacs, send it commands, and check what
> > it displayed (because what it displayed is now in a buffer).
>
> Does a significant share of the input/redisplay bugs that occur in a GUI
> Emacs also occur on the terminal?
To answer this question, one should analyze the ChangeLog entries for
display code and partition the bugfixes according to the display
backend. FWIW, I don't think this is a good way of using our
resources, since there's no easy way of knowing whether a given change
is a new feature or a bugfix.
More generally, I think each display backend has the same chance of
getting a bug as any other. I also think that all the backends we
currently support are of equal importance. If others agree, it means
that we need a way to detect bugs in all of the different display
backends.
> The first step would be to identify a few bug reports involving input
> and redisplay that should be reproducible under M-x term and should make
> good candidates for automation.
I think the first step is to design and implement infrastructure that
will allow us to compare actual display with the desired one; using
M-x term is just a partial hack that could work in some cases.
For a general-purpose display testing, we need to add code to the
display engine (both its high-level device-independent part, and
lower-level display backend) that would expose to a Lisp application
the glyphs that are produced by the display engine and the
backend-dependent display commands sent to the display API
(termcap/terminfo for text terminal, X for X Window system, etc.).
The lower-level part of the above is more important than the
high-level, because it's eventually the lower-level that is sent to
the underlying display system. But having the high-level part is also
important, because we sometimes change the translation between
high-level glyphs and the corresponding low-level commands, with the
intent that the displayed stuff remains the same.
In other words, we need a description language for describing the
stuff Emacs is about to display, code in the display engine that will
produce such a description as part of redisplay, and a Lisp interface
to that description.
next prev parent reply other threads:[~2008-01-05 13:06 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-30 23:00 ert.el --- Emacs Lisp Regression Testing Christian Ohler
2007-12-30 23:28 ` Lennart Borgman (gmail)
2008-01-05 11:32 ` Christian Ohler
2007-12-31 14:42 ` Richard Stallman
2008-01-05 11:32 ` Christian Ohler
2008-01-05 13:06 ` Eli Zaretskii [this message]
2008-01-06 8:10 ` Richard Stallman
2008-01-06 19:46 ` Eli Zaretskii
2008-01-07 11:31 ` Richard Stallman
2008-01-07 13:00 ` Mike Mattie
2008-01-03 18:48 ` Phil Hagelberg
2008-01-05 11:32 ` Christian Ohler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=uprwgv2u2.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=ohler+emacs@fastmail.net \
--cc=rms@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).