unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
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.

  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).