Tue Aug 17 18:06:01 PDT 1999 Michael Jennings <mej@eterm.org>

Now that we have a fixed CVS server....  This includes the old 0.8.10
	code, but it's now 0.9.  It also includes a timer subsystem.


SVN revision: 52
This commit is contained in:
Michael Jennings 1999-08-18 01:12:47 +00:00
parent e64e1663de
commit 661b1b9448
122 changed files with 18748 additions and 15937 deletions

1053
ChangeLog

File diff suppressed because it is too large Load Diff

View File

@ -1,79 +1,107 @@
# Note that this is NOT a relocatable package
%define ver @VERSION@
%define rel SNAP
%define prefix /usr
%define rel 1
%define prefix @prefix@
Summary: Eterm Enlightened Terminal Emulator for X Windows
Summary: Enlightened terminal emulator
Name: Eterm
Version: %ver
Release: %rel
Version: %{ver}
Release: %{rel}
Copyright: GPL
Group: X11/Applications
Source: ftp://ftp.enlightenment.org/pub/Eterm/Eterm-%{ver}.tar.gz
BuildRoot: /tmp/Eterm-root
Packager: technoir <technoir@themes.org>
URL: http://e.themes.org/
Requires: imlib >= 1.8
Docdir: %{prefix}/doc
Group: Utilities/Terminal
Source: ../SOURCES/Eterm-%{ver}.tar.gz
BuildRoot: /tmp/Eterm-root/
URL: http://www.eterm.org/
Requires: imlib, libjpeg, libtiff, libungif, libpng, zlib, XFree86-libs
Packager: Todd Nemanich <trnemani@eos.ncsu.edu>
%ifarch i386
%description
Eterm is a color vt102 terminal emulator intended as an xterm replacement for users who want a term program integrated with Enlightenment, or simply want a little more "eye candy". Eterm uses Imlib for advanced graphic abilities.
This is an rpm of Eterm, a highly configurable and asethically pleasing
terminal emulator.
This rpm was optimized for i486 and was built without support
for libKenny.so.
(Egads! They killed Kenny! You bastards!)
%else
%description
This is an rpm of Eterm, a highly configurable and asethically pleasing
terminal emulator.
This rpm contains no architecture specific optimizations, and
was built without support for libKenny.so.
(Egads! They killed Kenny! You bastards!)
%endif
%changelog
* Sun Jun 6 1999 Todd Nemanich <trnemani@eos.ncsu.edu>
- Updated rpm to incorporate a few fixes for different architectures,
- specify /usr/local/share/Eterm/themes/* as config files, and
- a fix for the share directory problem.
* Wed Dec 30 1998 mej <mej@mw.3com.com>
* Tue Apr 27 1999 Todd Nemanich <trnemani@eos.ncsu.edu>
- Updated to version 8.9. Added a check to make sure /usr/local/lib
- is in /etc/ld.so.conf because too many people don't know how
- ld works.
- Also moving, so new email address for me.
* Sat Jan 23 1999 Todd Nemanich <tick@speak.rh.ncsu.edu>
- Updated to version 8.8
- Added spec file. Created by techn0ir <technoir@themes.org>
* Sat Oct 23 1998 Todd Nemanich <tick@speak.rh.ncsu.edu>
- Updated to version 0.8.7. A minor change in the Makefiles was made by hand,
- due to a linkinkg problem. This should not cause problems to people using the
- source rpm, but the call to configure has been removed.
* Mon Sep 21 1998 Todd Nemanich <tick@speak.rh.ncsu.edu>
- Bad link in /usr/local/bin corrected. THX to Andy Dustman for pointing this out.
%prep
%setup
rm -fr $RPM_BUILD_ROOT $RPM_BUILD_DIR/Eterm-%{ver}
mkdir $RPM_BUILD_ROOT
cd $RPM_BUILD_DIR
tar -xzf $RPM_SOURCE_DIR/Eterm-%{ver}.tar.gz
%build
# Optimize that damned code all the way
if [ ! -z "`echo -n ${RPM_OPT_FLAGS} | grep pentium`" ]; then
if [ ! -z `which egcs` ]; then
CC="egcs"
else
if [ ! -z `which pgcc` ]; then
CC="pgcc"
fi
fi
CFLAGS="${RPM_OPT_FLAGS}"
else
CFLAGS="${RPM_OPT_FLAGS}"
fi
if [ ! -f configure ]; then
CFLAGS="$RPM_OPT_FLAGS" ./autogen.sh --prefix=%prefix
else
CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%prefix
fi
cd $RPM_BUILD_DIR/Eterm-%{ver}
./configure --prefix=%{prefix}
%ifarch i386
make "CFLAGS=-O3 -m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2"
%else
make
%endif
%install
rm -rf $RPM_BUILD_ROOT
cd $RPM_BUILD_DIR/Eterm-%{ver}
make prefix=$RPM_BUILD_ROOT%{prefix} install
%postinst
LDPATH=`grep local /etc/ld.so.conf`
if [ "$LDPATH" = "" ] ; then
NEW='/usr/local/lib'
cat /etc/ld.so.conf >ld.tmp
echo "$NEW">>new.ld
cat ld.tmp new.ld > ld.so.conf
mv ld.so.conf /etc/ld.so.conf
rm -f new.ld ld.tmp
fi
/sbin/ldconfig
%clean
rm -rf $RPM_BUILD_ROOT
%post
%postun
rm -fr $RPM_BUILD_ROOT $RPM_BUILD_DIR/Eterm-%{ver}
%files
%defattr(-, root, root)
%{prefix}/bin/*
%(prefix)/doc/*
%{prefix}/lib/*
%{prefix}/share/*
%{prefix}/man/*
%doc COPYING
%doc ChangeLog
%doc README
%defattr(-,root,root)
%doc $RPM_BUILD_DIR/Eterm-%{ver}/README
%doc $RPM_BUILD_DIR/Eterm-%{ver}/COPYING
%doc $RPM_BUILD_DIR/Eterm-%{ver}/ChangeLog
%doc $RPM_BUILD_DIR/Eterm-%{ver}/ReleaseNotes
%doc $RPM_BUILD_DIR/Eterm-%{ver}/CVS-README
%doc $RPM_BUILD_DIR/Eterm-%{ver}/doc/*
%doc %{prefix}/man
%config %{prefix}/share/Eterm/themes/
%{prefix}/bin
%{prefix}/lib

View File

@ -2,6 +2,6 @@
AUTOMAKE_OPTIONS = foreign
SUBDIRS = libmej src themes utils doc bg
SUBDIRS = libmej src themes utils doc bg pix
EXTRA_DIST = README ReleaseNotes CVS-README COPYING ChangeLog autogen.sh

View File

@ -270,6 +270,9 @@
/* Do we need our own nanosleep()? */
#undef HAVE_NANOSLEEP
/* Is our snprintf() implementation buggy? */
#undef HAVE_SNPRINTF_BUG
/* Debugging level */
#undef DEBUG
@ -286,6 +289,29 @@
/* Do we have the X shape extension? */
#undef HAVE_X_SHAPE_EXT
/* Support for various features */
#undef USE_ACTIVE_TAGS
#undef USE_POSIX_THREADS
#undef MUTEX_SYNCH
#undef PIXMAP_SUPPORT
#undef PIXMAP_OFFSET
#undef BACKING_STORE
#undef FORCE_BACKSPACE
#undef FORCE_DELETE
#undef IMLIB_TRANS
#undef KS_DELETE
#undef NO_DELETE_KEY
#undef NO_XLOCALE
#undef PIXMAP_MENUBAR
#undef PIXMAP_SCROLLBAR
#undef UTMP_SUPPORT
#undef MULTI_CHARSET
#undef USE_XIM
#undef USE_X11R6_XIM
#undef NO_XLOCALE
#undef GREEK_SUPPORT
#undef CONFIG_SEARCH_PATH
/* Leave that blank line there!! Autoheader needs it.
If you're adding to this file, keep in mind:

View File

@ -4,6 +4,8 @@
DIE=0
echo "Generating configuration files for Eterm, please wait...."
(autoconf --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have autoconf installed to compile Eterm."
@ -32,11 +34,16 @@ if test "$DIE" -eq 1; then
exit 1
fi
echo " libtoolize --copy --force"
libtoolize --copy --force
aclocal $ACLOCAL_FLAGS
automake --add-missing
autoconf
echo " aclocal -I . $ACLOCAL_FLAGS"
aclocal -I . $ACLOCAL_FLAGS
echo " autoheader"
autoheader
echo " automake --add-missing"
automake --add-missing
echo " autoconf"
autoconf
if [ -x config.status -a -z "$*" ]; then
./config.status --recheck
@ -50,3 +57,10 @@ else
fi
./configure "$@"
fi
if [ -f cvs.motd ]; then
echo "ATTENTION CVS Users!"
echo ""
cat cvs.motd
echo ""
fi

View File

@ -8,35 +8,45 @@ pixmapdir = $(pkgdatadir)/pix
themedir = $(pkgdatadir)/themes
all: Makefile
@echo "*** Generating pixmaps.list file from images in tile/ and scale/..."
@echo "*** Generating pixmap list files from images in tile/ and scale/..."
@true > pixmaps.list
@cd tile ; \
for i in `ls -1 | grep -v CVS | grep -v \.cvsignore` ; do \
echo '" 0 0 '$$i'"' >> ../pixmaps.list ; \
true > tiled-pixmaps.list ; \
for i in `ls -1 | grep -v CVS | grep -v \.cvsignore | grep -v pixmaps.list` ; do \
echo $$i >> tiled-pixmaps.list ; \
echo '"'$$i'@0x0+0+0:tile"' >> ../pixmaps.list ; \
done ; \
cd .. ; \
cd scale ; \
for i in `ls -1 | grep -v CVS | grep -v \.cvsignore` ; do \
echo '"-1 -1 '$$i'"' >> ../pixmaps.list ; \
true > scaled-pixmaps.list ; \
for i in `ls -1 | grep -v CVS | grep -v \.cvsignore | grep -v pixmaps.list` ; do \
echo $$i >> scaled-pixmaps.list ; \
echo '"'$$i'@100x100"' >> ../pixmaps.list ; \
done
install-data-hook:
@if test ! -f pixmaps.list ; then $(MAKE) all ; fi
$(mkinstalldirs) $(DESTDIR)$(pixmapdir)
@for j in $(DIRS) ; do echo "Installing pixmaps in $$j" ; cd $$j ; \
for i in `ls -1 | grep -v CVS | grep -v \.cvsignore` ; do \
for i in `ls -1 | grep -v CVS | grep -v \.cvsignore | grep -v pixmaps.list` ; do \
echo $(INSTALL_DATA) $$i $(DESTDIR)${pixmapdir} ; \
$(INSTALL_DATA) $$i $(DESTDIR)${pixmapdir} ; \
done ; cd .. ; \
done
@if test -f $(DESTDIR)${pixmapdir}/pixmaps.list ; then \
$(CP) -p $(DESTDIR)${pixmapdir}/pixmaps.list $(DESTDIR)${pixmapdir}/pixmaps.list.old ; \
echo "WARNING: Backup of existing pixmaps.list created." ; \
fi
$(INSTALL_DATA) pixmaps.list $(DESTDIR)${pixmapdir}
@for i in `ls -1d $(DESTDIR)${themedir}/*` ; do \
if test $$i != "." -a $$i != ".." -a ! -f $$i/pixmaps.list ; then \
echo "$(LN_S) ../../pix/pixmaps.list $$i/pixmaps.list" ; \
$(LN_S) ../../pix/pixmaps.list $$i/pixmaps.list ; \
@for i in tiled-pixmaps.list scaled-pixmaps.list pixmaps.list ; do \
if test -f $(DESTDIR)${pixmapdir}/$$i ; then \
$(CP) -p $(DESTDIR)${pixmapdir}/$$i $(DESTDIR)${pixmapdir}/$$i.old ; \
echo "WARNING: Backup of existing $$i created." ; \
fi ; \
done
$(INSTALL_DATA) tile/tiled-pixmaps.list $(DESTDIR)${pixmapdir}
$(INSTALL_DATA) scale/scaled-pixmaps.list $(DESTDIR)${pixmapdir}
$(INSTALL_DATA) pixmaps.list $(DESTDIR)${pixmapdir}
@for i in `ls -1d $(DESTDIR)${themedir}/*` ; do \
for j in tiled-pixmaps.list scaled-pixmaps.list pixmaps.list ; do \
if test $$i != "." -a $$i != ".." -a ! -f $$i/$$j ; then \
echo "$(LN_S) ../../pix/$$j $$i/$$j" ; \
$(LN_S) ../../pix/$$j $$i/$$j ; \
fi ; \
done ; \
done

View File

@ -1,12 +1,12 @@
dnl# $Id$
AC_INIT(src/feature.h.in)
AM_INIT_AUTOMAKE(Eterm, 0.8.9)
AC_INIT(src/feature.h)
AM_INIT_AUTOMAKE(Eterm, 0.9)
dnl# Set some basic variables
DATE="21 January 1999"
DATE="`date '+%d %B %Y'`"
AC_SUBST(DATE)
AUTHORS="Tuomo Venalainen (vendu@cc.hut.fi) and Michael Jennings (mej@tcserv.com)"
AUTHORS="Tuomo Venalainen (vendu@cc.hut.fi) and Michael Jennings (mej@eterm.org)"
AC_SUBST(AUTHORS)
dnl# Supply default CFLAGS, if not specified by `CFLAGS=flags ./configure'
@ -139,6 +139,7 @@ AC_TYPE_UID_T
dnl# Checks for library functions.
AC_TYPE_SIGNAL
AC_CHECK_FUNCS(atexit _exit unsetenv setutent seteuid memmove putenv strsep setresuid setresgid memmem usleep snprintf)
dps_snprintf_oflow()
dnl# Check for the need for -lutil on BSD systems
AC_CHECK_FUNC(login,
@ -153,14 +154,6 @@ AC_CHECK_FUNC(logout,
))
AC_CHECK_FUNC(getpwuid, , AC_CHECK_LIB(sun, getpwuid, LIBS="$LIBS -lsun"))
dnl# Check for POSIX threads library
dnl# Don't comment this back in before multithreading actually works,
dnl# so people don't need thread-safe X libs to be able to run unthreaded
dnl# Eterm :) -vendu
#AC_CHECK_LIB(pthread, pthread_create, CFLAGS="$CFLAGS -D_REENTRANT";
# THREADLIBS="-lpthread", ,
# -D_REENTRANT -L/usr/lib -L/lib -L/usr/local/lib)
dnl# Did they want debugging?
AC_MSG_CHECKING(for debugging level)
AC_ARG_WITH(debugging, [ --with-debugging[=num] enable debugging output, num is an optional level],
@ -178,34 +171,144 @@ AC_ARG_WITH(debugging, [ --with-debugging[=num] enable debugging output, num i
AC_DEFINE_UNQUOTED(DEBUG, 4)
)
dnl# Check for support for menus
AC_MSG_CHECKING(whether or not to enable menubar support)
AC_ARG_ENABLE(menus, [ --disable-menus disable support for menubars (support enabled by default)],
if test "$enableval" != "no"; then
echo "yes" ; MENUSED="";
else echo "no" ; MENUSED='s/define MENUBAR_MAX .*/define MENUBAR_MAX 0/g';
fi, echo "yes" ; MENUSED="")
dnl# Check for graphics libraries.
dnl# Force Imlib flags - see below. -vendu
AC_MSG_CHECKING(whether or not to enable pixmap support)
dnl#
dnl# FEATURES
dnl#
AC_MSG_CHECKING(for pixmap support)
AC_ARG_WITH(imlib,
[ --with-imlib[=DIR] compile with Imlib support (Imlib residing in DIR/lib) [default]
--without-imlib compile with pixmap support disabled],
[ --with-imlib[=DIR] compile with Imlib support (Imlib residing in DIR/lib) (default)],
if test "$withval" != "no"; then
echo "yes" ; CFLAGS="$CFLAGS -I${withval}/include -L${withval}/lib";
GRLIBS="-lImlib" ; PIXMAPSED="";
else echo "no" ; PIXMAPSED='s/define PIXMAP_SUPPORT/undef PIXMAP_SUPPORT/g';
GRLIBS="";
fi, echo "yes" ; GRLIBS="-lImlib" ; PIXMAPSED="")
AC_MSG_RESULT(yes)
CFLAGS="$CFLAGS -I${withval}/include -L${withval}/lib"
GRLIBS="-lImlib"
AC_DEFINE(PIXMAP_SUPPORT)
AC_DEFINE(PIXMAP_SCROLLBAR)
AC_DEFINE(PIXMAP_MENUBAR)
AC_DEFINE(BACKING_STORE)
else
AC_MSG_RESULT(no)
GRLIBS=""
fi, AC_MSG_RESULT(yes)
GRLIBS="-lImlib"
AC_DEFINE(PIXMAP_SUPPORT)
AC_DEFINE(PIXMAP_SCROLLBAR)
AC_DEFINE(PIXMAP_MENUBAR)
AC_DEFINE(BACKING_STORE)
)
AC_MSG_CHECKING(for transparency support)
AC_ARG_ENABLE(trans,
[ --enable-trans[=imlib] compile with transparency support ("=imlib" will use Imlib instead of Xlib for transparency)],
if test "$enableval" = "imlib"; then
AC_MSG_RESULT(yes, using Imlib)
AC_DEFINE(PIXMAP_OFFSET)
AC_DEFINE(IMLIB_TRANS)
elif test "$enableval" != "no"; then
AC_MSG_RESULT(yes)
AC_DEFINE(PIXMAP_OFFSET)
else
AC_MSG_RESULT(no)
fi, AC_MSG_RESULT(yes)
AC_DEFINE(PIXMAP_OFFSET)
)
AC_MSG_CHECKING(for utmp support)
AC_ARG_ENABLE(utmp,
[ --enable-utmp compile with utmp support],
if test "$enableval" != "no"; then
AC_MSG_RESULT(yes)
AC_DEFINE(UTMP_SUPPORT)
else
AC_MSG_RESULT(no)
fi, AC_MSG_RESULT(yes)
AC_DEFINE(UTMP_SUPPORT)
)
AC_MSG_CHECKING(for backspace key configuration)
AC_ARG_WITH(backspace,
[ --with-backspace=KEY force backspace to send KEY (KEY is either "bs" for ^H or "del" for ^?)],
if test "$withval" = "bs"; then
AC_MSG_RESULT(forcing Backspace to send Ctrl-H)
AC_DEFINE(FORCE_BACKSPACE)
elif test "$withval" = "del"; then
AC_MSG_RESULT(forcing Backspace to send Ctrl-?)
AC_DEFINE(FORCE_DELETE)
else
AC_MSG_RESULT(default)
fi, AC_MSG_RESULT(default)
)
AC_MSG_CHECKING(for delete key configuration)
AC_ARG_WITH(delete,
[ --with-delete=SETTING force delete to SETTING ("server" to use the X server value always or
a quoted string to use a specific string)],
if test "$withval" = "server"; then
AC_MSG_RESULT(X server value)
AC_DEFINE(NO_DELETE_KEY)
else
AC_MSG_RESULT(forcing Delete to send "$withval")
AC_DEFINE_UNQUOTED(KS_DELETE, "$withval")
fi, AC_MSG_RESULT(default)
AC_DEFINE_UNQUOTED(KS_DELETE, "\177")
)
AC_MSG_CHECKING(for multi-charset support)
AC_ARG_ENABLE(multi-charset,
[ --enable-multi-charset compile with multi-charset support],
if test "$enableval" = "yes"; then
AC_MSG_RESULT(yes)
AC_DEFINE(MULTI_CHARSET)
else
AC_MSG_RESULT(no)
fi, AC_MSG_RESULT(no)
)
AC_MSG_CHECKING(for XIM support)
AC_ARG_ENABLE(xim,
[ --enable-xim compile with XIM support],
if test "$enableval" = "yes"; then
AC_MSG_RESULT(yes)
AC_DEFINE(USE_XIM)
XIM="TRUE"
else
AC_MSG_RESULT(no)
XIM="FALSE"
fi, AC_MSG_RESULT(no)
)
AC_MSG_CHECKING(for Greek keyboard support)
AC_ARG_ENABLE(greek,
[ --enable-greek compile with support for Greek keyboards],
if test "$enableval" = "yes"; then
AC_MSG_RESULT(yes)
AC_DEFINE(GREEK_SUPPORT)
else
AC_MSG_RESULT(no)
fi, AC_MSG_RESULT(no)
)
AC_MSG_CHECKING(which threads library to use)
AC_ARG_WITH(threads,
[ --with-threads[=STYLE] compile with threads support, STYLE is either "posix" or blank
(disabled by default)],
case $withval in
[yes | posix )]
AC_MSG_RESULT(POSIX)
THREADS_LIB=posix
;;
[* )]
AC_MSG_RESULT(none)
;;
esac
, AC_MSG_RESULT(none))
if test "$THREADS_LIB" = "posix"; then
AC_CHECK_LIB(pthread, pthread_create, CFLAGS="$CFLAGS -D_REENTRANT" ; THREADLIBS="-lpthread"
AC_DEFINE(USE_POSIX_THREADS)
AC_DEFINE(MUTEX_SYNCH)
, , -D_REENTRANT -L/usr/lib -L/lib -L/usr/local/lib)
fi
dnl#
dnl# X LIBRARIES
dnl#
AC_CHECK_LIB(X11, XOpenDisplay, X_LIBS="$X_LIBS -lX11", [
echo "ERROR: You need libX11 to build Eterm. Verify that you have libX11.a or";
echo " libX11.so installed and that it is located in the X libraries";
echo " directory shown above. If it is in a different directory, try using";
echo " the --x-libraries parameter to configure.";
AC_MSG_ERROR([Fatal: libX11 not found.])], $X_LIBS $SUBLIBS)
AC_CHECK_LIB(Xext, XextAddDisplay, X_LIBS="-lXext $X_LIBS", [
echo "ERROR: You need libXext to build Eterm. Verify that you have libXext.a or";
echo " libXext.so installed and that it is located in the X libraries";
@ -215,6 +318,14 @@ echo " the --x-libraries parameter to configure.";
AC_CHECK_LIB(Xext, XShapeQueryExtension, AC_DEFINE(HAVE_X_SHAPE_EXT), , $X_LIBS $SUBLIBS)
# check if we need X_LOCALE definition
AC_CHECK_LIB(X11, _Xsetlocale, , AC_DEFINE(NO_XLOCALE), , $X_LIBS $SUBLIBS)
# check X11R6 for XIM
if test "$XIM" = "TRUE"; then
AC_CHECK_LIB(X11, XRegisterIMInstantiateCallback, AC_DEFINE(USE_X11R6_XIM), , $X_LIBS $SUBLIBS)
fi
if test -z "$PIXMAPSED"; then
AC_CHECK_PROG(IMLIB_CONFIG, imlib-config, imlib-config, no)
@ -325,6 +436,8 @@ AC_CHECK_LIB(Kenny, life_signs, , [
])
fi
AC_DEFINE_UNQUOTED(CONFIG_SEARCH_PATH, "~/.Eterm/themes:~/.Eterm:${prefix}/share/Eterm/themes:${prefix}/share/Eterm")
CFLAGS=${CFLAGS--O}
LDFLAGS=${LDFLAGS--O}
@ -338,12 +451,6 @@ AC_SUBST(THREADLIBS)
AC_SUBST(GRLIBS)
basedir=.
FEATURE_CMD="$SED -e \"s%@PREFIX@%${prefix}%g\" -e \"s%@DATADIR@%${datadir}%g\" -e \"$PIXMAPSED\" -e \"$MENUSED\" "'${DIST_ROOT}'"/src/feature.h.in > "'${DIST_ROOT}'"/src/feature.h"
AC_SUBST(FEATURE_CMD)
dnl# common parts of the Makefile
dnl# MCOMMON=./Make.common
dnl# AC_SUBST_FILE(MCOMMON)
AM_CONFIG_HEADER(config.h)
@ -352,6 +459,7 @@ bg/Makefile \
doc/Makefile \
utils/Makefile \
libmej/Makefile \
pix/Makefile \
src/Makefile \
src/graphics/Makefile \
themes/Makefile \
@ -359,29 +467,24 @@ Eterm.spec \
)
dnl If we're not building with Imlib support, don't build Esetroot
if test -n "$PIXMAPSED"; then
if test -z "$GRLIBS"; then
sed -e 's/^bin_PROGRAMS.*$//g' doc/Makefile > doc/Makefile.new
mv doc/Makefile.new doc/Makefile
fi
echo "creating src/feature.h"
eval ${FEATURE_CMD}.new
if cmp -s ${DIST_ROOT}/src/feature.h.new ${DIST_ROOT}/src/feature.h 2>/dev/null ; then
echo "feature.h is unchanged"
rm -f ${DIST_ROOT}/src/feature.h.new
else
mv ${DIST_ROOT}/src/feature.h.new ${DIST_ROOT}/src/feature.h
fi
echo "
$PACKAGE $VERSION
Configuration:
--------------
Source code location: ${srcdir}
Compiler: ${CC} ${CFLAGS}
Host System Type: ${host}
Graphics libraries: ${GRLIBS}
X Windows libs/paths: ${X_LIBS}
X libraries/paths: ${X_LIBS}
Install path: ${prefix}
See src/feature.h for further configuration information."
echo
See src/feature.h for further configuration information.
Now type 'make' to build $PACKAGE $VERSION.
"

3
cvs.motd Normal file
View File

@ -0,0 +1,3 @@
Yet another change to the Eterm theme files. Shading and tinting as
you remember them no longer exist. Please update your Eterm theme
files, or stuff will not work. See the ChangeLog for details!

View File

@ -1249,7 +1249,7 @@ directive to allow for separation of the configuration information into
separate files.
.SH AUTHORS
Tuomo Venalainen (vendu@cc.hut.fi) and Michael Jennings (mej@tcserv.com).
Michael Jennings (mej@eterm.org) and Tuomo Venäläinen (vendu@cc.hut.fi).
Man page re-written for version 0.8 by Shaleh (shaleh@debian.org).
.SH URL(s)

View File

@ -450,7 +450,7 @@ If you run into problems with Eterm, please go through the steps outlined
<OL>
<LI> Comment out line 41 of <TT>src/feature.h</TT> where NDEBUG is defined.
<LI> Recompile Eterm.
<LI> Run the new copy of Eterm and mail the output to me (<I>mej@tcserv.com</I>).
<LI> Run the new copy of Eterm and mail the output to me (<I>mej@eterm.org</I>).
</OL>
This is the only way we can get the information we need about where the
program is when it runs into problems, or what privileges it has, or

View File

@ -6,7 +6,7 @@ libmej_la_SOURCES = debug.c mem.c strings.c snprintf.c
INCLUDES = -I. -I.. -I$(includedir) -I$(prefix)/include
libmej_la_LDFLAGS = -version-info 8:9:8
libmej_la_LDFLAGS = -version-info 9:0:9
EXTRA_DIST = debug.h global.h mem.h strings.h strptime.h strptime.c

View File

@ -4,7 +4,7 @@
* -- 20 December 1996 *
*********************************************************/
/*
* This file is original work by Michael Jennings <mej@tcserv.com>.
* This file is original work by Michael Jennings <mej@eterm.org>.
*
* Copyright (C) 1997, Michael Jennings
*
@ -26,6 +26,9 @@
static const char cvs_ident[] = "$Id$";
#include "config.h"
#include "../src/feature.h"
#include "global.h"
#include <stdio.h>
#include <stdlib.h>
@ -36,7 +39,6 @@ static const char cvs_ident[] = "$Id$";
#include <string.h>
#include <time.h>
#include <errno.h>
#define DEBUG_C
#include "debug.h"
int
@ -47,8 +49,7 @@ real_dprintf(const char *format,...)
int n;
va_start(args, format);
n = fprintf(stderr, "[debug] ");
n += vfprintf(stderr, format, args);
n = vfprintf(stderr, format, args);
va_end(args);
fflush(stderr);
return (n);

View File

@ -4,7 +4,7 @@
* -- 20 December 1996 *
**********************************************************/
/*
* This file is original work by Michael Jennings <mej@tcserv.com>.
* This file is original work by Michael Jennings <mej@eterm.org>.
*
* Copyright (C) 1997, Michael Jennings
*
@ -24,13 +24,11 @@
*
*/
#if !defined(DEBUG_C) && !defined(DEBUG_CC)
extern int real_dprintf(const char *, ...);
#endif
#ifndef _LIBMEJ_DEBUG_H
# define _LIBMEJ_DEBUG_H
extern int real_dprintf(const char *, ...);
#include "../src/debug.h"
#endif /* _LIBMEJ_DEBUG_H */

View File

@ -4,7 +4,7 @@
* -- 16 January 1997 *
***************************************************************/
/*
* This file is original work by Michael Jennings <mej@tcserv.com>.
* This file is original work by Michael Jennings <mej@eterm.org>.
*
* Copyright (C) 1997, Michael Jennings
*
@ -28,9 +28,6 @@
#define _GLOBAL_H_
#include "config.h"
#include "src/feature.h"
/* Other compile-time defines */
#ifdef LINUX
# define _GNU_SOURCE

View File

@ -5,7 +5,7 @@
* -- 07 January 1997 *
***************************************************************/
/*
* This file is original work by Michael Jennings <mej@tcserv.com>.
* This file is original work by Michael Jennings <mej@eterm.org>.
*
* Copyright (C) 1997, Michael Jennings
*
@ -27,6 +27,9 @@
static const char cvs_ident[] = "$Id$";
#include "config.h"
#include "../src/feature.h"
#include "global.h"
#include <stdio.h>
#include <stdlib.h>
@ -35,7 +38,7 @@ static const char cvs_ident[] = "$Id$";
#include <string.h>
#include <ctype.h>
#include <signal.h>
#define MEM_C
#include "debug.h"
#include "mem.h"
@ -44,12 +47,11 @@ static const char cvs_ident[] = "$Id$";
* The beginning of each one's respective function. (The ones with capitalized
* letters. I'm not sure that they'll be useful outside of gdb. Maybe.
*/
#if DEBUG >= DEBUG_MALLOC
#ifdef MALLOC_CALL_DEBUG
static int malloc_count = 0;
static int calloc_count = 0;
static int realloc_count = 0;
static int free_count = 0;
#endif
MemRec memrec =
@ -240,38 +242,26 @@ void *
Malloc(size_t size)
{
#if 0
char *temp = NULL;
#endif
void *temp = NULL;
#if DEBUG >= DEBUG_MALLOC
++malloc_count;
#ifdef MALLOC_CALL_DEBUG
++malloc_count;
if (!(malloc_count % MALLOC_MOD)) {
fprintf(stderr, "Calls to malloc(): %d\n", malloc_count);
}
#endif
#endif
#if DEBUG >= DEBUG_MALLOC
if (!memrec.init) {
D_MALLOC(("WARNING: You must call memrec_init() before using the libmej memory management calls.\n"));
memrec_init();
}
#endif
#if 0
temp = (char *) malloc(size);
#endif
temp = malloc(size);
temp = (void *) malloc(size);
if (!temp)
return NULL;
#if DEBUG >= DEBUG_MALLOC
memrec_add_var(temp, size);
#endif
if (debug_level >= DEBUG_MALLOC) {
memrec_add_var(temp, size);
}
return (temp);
}
@ -279,33 +269,27 @@ void *
Realloc(void *ptr, size_t size)
{
char *temp = NULL;
void *temp = NULL;
#if DEBUG >= DEBUG_MALLOC
#ifdef MALLOC_CALL_DEBUG
++realloc_count;
# ifdef MALLOC_CALL_DEBUG
if (!(realloc_count % REALLOC_MOD)) {
fprintf(stderr, "Calls to realloc(): %d\n", realloc_count);
}
# endif
#endif
/*
* Redundant. You know the drill :)
* #if DEBUG >= DEBUG_MALLOC
*/
if (!memrec.init) {
D_MALLOC(("WARNING: You must call memrec_init() before using the libmej memory management calls.\n"));
memrec_init();
}
/* #endif */
if (ptr == NULL) {
temp = (char *) Malloc(size);
temp = (void *) Malloc(size);
} else {
temp = (char *) realloc(ptr, size);
#if DEBUG >= DEBUG_MALLOC
memrec_chg_var(ptr, temp, size);
#endif
temp = (void *) realloc(ptr, size);
if (debug_level >= DEBUG_MALLOC) {
memrec_chg_var(ptr, temp, size);
}
}
if (!temp)
return NULL;
@ -318,27 +302,22 @@ Calloc(size_t count, size_t size)
char *temp = NULL;
#if DEBUG >= DEBUG_MALLOC
++calloc_count;
#ifdef MALLOC_CALL_DEBUG
++calloc_count;
if (!(calloc_count % CALLOC_MOD)) {
fprintf(stderr, "Calls to calloc(): %d\n", calloc_count);
}
#endif
#endif
#if DEBUG >= DEBUG_MALLOC
if (!memrec.init) {
D_MALLOC(("WARNING: You must call memrec_init() before using the libmej memory management calls.\n"));
memrec_init();
}
#endif
temp = (char *) calloc(count, size);
#if DEBUG >= DEBUG_MALLOC
memrec_add_var(temp, size * count);
#endif
if (debug_level >= DEBUG_MALLOC) {
memrec_add_var(temp, size * count);
}
if (!temp)
return NULL;
return (temp);
@ -348,25 +327,22 @@ void
Free(void *ptr)
{
#if DEBUG >= DEBUG_MALLOC
++free_count;
#ifdef MALLOC_CALL_DEBUG
++free_count;
if (!(free_count % FREE_MOD)) {
fprintf(stderr, "Calls to free(): %d\n", free_count);
}
#endif
#endif
#if DEBUG >= DEBUG_MALLOC
if (!memrec.init) {
D_MALLOC(("WARNING: You must call memrec_init() before using the libmej memory management calls.\n"));
memrec_init();
}
#endif
if (ptr) {
#if DEBUG >= DEBUG_MALLOC
memrec_rem_var(ptr);
#endif
if (debug_level >= DEBUG_MALLOC) {
memrec_rem_var(ptr);
}
free(ptr);
} else {
D_MALLOC(("Caught attempt to free NULL pointer\n"));
@ -384,12 +360,12 @@ HandleSigSegv(int sig)
/* Recursive seg faults are not cool.... */
if (segv_again) {
printf("RECURSIVE SEGMENTATION FAULT DETECTED!\n");
printf("Recursive segmentation fault detected!\n");
_exit(EXIT_FAILURE);
}
segv_again = 1;
#if DEBUG >= DEBUG_MALLOC
fprintf(stderr, "SEGMENTATION FAULT! DUMPING MEMORY TABLE\n");
fprintf(stderr, "Fatal memory fault (%d)! Dumping memory table.\n", sig);
memrec_dump();
#endif
exit(EXIT_FAILURE);

View File

@ -4,7 +4,7 @@
* -- 07 January 1997 *
***************************************************************/
/*
* This file is original work by Michael Jennings <mej@tcserv.com>.
* This file is original work by Michael Jennings <mej@eterm.org>.
*
* Copyright (C) 1997, Michael Jennings
*
@ -41,12 +41,12 @@ typedef struct memrec_struct {
# define CALLOC(type,n) calloc((n),(sizeof(type)))
# define REALLOC(mem,sz) fixed_realloc((mem),(sz))
# define FREE(ptr) free(ptr)
#elif defined(DEBUG) || !defined(NDEBUG)
#elif (DEBUG >= DEBUG_MALLOC)
# define MALLOC(sz) Malloc(sz)
# define CALLOC(type,n) Calloc((n),(sizeof(type)))
# define REALLOC(mem,sz) Realloc((mem),(sz))
/* # define FREE(ptr) Free(ptr) */
# define FREE(ptr) { Free(ptr); ptr = NULL; }
# define FREE(ptr) do { Free(ptr); ptr = NULL; } while(0)
# define MALLOC_MOD 25
# define REALLOC_MOD 25
# define CALLOC_MOD 25
@ -58,15 +58,13 @@ typedef struct memrec_struct {
# define FREE(ptr) free(ptr)
#endif
#ifndef MEM_C
extern char *SafeStr(char *, unsigned short);
extern MemRec memrec;
extern void memrec_init(void);
void memrec_add_var(void *, size_t);
void memrec_rem_var(void *);
void memrec_chg_var(void *, void *, size_t);
void memrec_dump(void);
extern void memrec_add_var(void *, size_t);
extern void memrec_rem_var(void *);
extern void memrec_chg_var(void *, void *, size_t);
extern void memrec_dump(void);
extern void *Malloc(size_t);
extern void *Realloc(void *, size_t);
extern void *Calloc(size_t, size_t);
@ -76,7 +74,6 @@ extern void HandleSigSegv(int);
extern char *GarbageCollect(char *, size_t);
extern char *FileGarbageCollect(char *, size_t);
extern void *fixed_realloc(void *, size_t);
#endif /* MEM_C */
#endif /* _MEM_H_ */

View File

@ -1,3 +1,6 @@
#include "config.h"
#include "../src/feature.h"
#include "global.h"
#include <errno.h>
@ -13,7 +16,7 @@ static const char cvs_ident[] = "$Id$";
* junk....
*/
#ifndef HAVE_SNPRINTF
#if !defined(HAVE_SNPRINTF) || (HAVE_SNPRINTF_BUG == 1)
#ifdef HAVE_STDARG_H
#include <stdarg.h>

View File

@ -4,7 +4,7 @@
* -- 08 January 1997 *
***************************************************************/
/*
* This file is original work by Michael Jennings <mej@tcserv.com>.
* This file is original work by Michael Jennings <mej@eterm.org>.
*
* Copyright (C) 1997, Michael Jennings
*
@ -26,6 +26,9 @@
static const char cvs_ident[] = "$Id$";
#include "config.h"
#include "../src/feature.h"
#include "global.h"
#include <stdio.h>
#include <stdlib.h>
@ -38,7 +41,6 @@ static const char cvs_ident[] = "$Id$";
#include <ctype.h>
#include "debug.h"
#include "mem.h"
#define STRINGS_C
#include "strings.h"
#ifndef HAVE_MEMMEM
@ -51,7 +53,7 @@ memmem(void *haystack, register size_t haystacklen, void *needle, register size_
register char *hs = (char *) haystack;
register char *n = (char *) needle;
register unsigned long i;
register len = haystacklen - needlelen;
register size_t len = haystacklen - needlelen;
for (i = 0; i < len; i++) {
if (!memcmp(hs + i, n, needlelen)) {
@ -396,6 +398,19 @@ StrRev(register char *str)
}
char *
StrDup(register const char *str)
{
register char *newstr;
register unsigned long len;
len = strlen(str) + 1; /* Copy NUL byte also */
newstr = (char *) MALLOC(len);
memcpy(newstr, str, len);
return (newstr);
}
#if !(HAVE_STRSEP)
char *
strsep(char **str, register char *sep)
@ -404,7 +419,7 @@ strsep(char **str, register char *sep)
register char *s = *str;
char *sptr;
D_STRINGS(("StrSep(%s, %s) called.\n", *str, sep));
D_STRINGS(("strsep(%s, %s) called.\n", *str, sep));
sptr = s;
for (; *s && !strchr(sep, *s); s++);
if (!*s) {

View File

@ -4,7 +4,7 @@
* -- 08 January 1997 *
***************************************************************/
/*
* This file is original work by Michael Jennings <mej@tcserv.com>.
* This file is original work by Michael Jennings <mej@eterm.org>.
*
* Copyright (C) 1997, Michael Jennings
*
@ -66,15 +66,15 @@
# include <regex.h>
#endif
#ifndef STRINGS_C
extern char *LeftStr(const char *, unsigned long);
extern char *MidStr(const char *, unsigned long, unsigned long);
extern char *RightStr(const char *, unsigned long);
#if defined(HAVE_REGEX_H) || defined(IRIX)
extern unsigned char Match(const char *, const char *);
#endif
extern char *Word(unsigned long index, const char *str);
extern char *PWord(unsigned long index, char *str);
extern char *Word(unsigned long, const char *);
extern char *PWord(unsigned long, char *);
extern unsigned long NumWords(const char *);
extern char *StripWhitespace(char *);
extern char *LowerStr(char *);
extern char *UpStr(char *);
@ -82,6 +82,7 @@ extern char *StrCaseStr(char *, const char *);
extern char *StrCaseChr(char *, char);
extern char *StrCasePBrk(char *, char *);
extern char *StrRev(char *);
extern char *StrDup(const char *);
#if !(HAVE_STRSEP)
extern char *strsep(char **, char *);
#endif
@ -101,6 +102,5 @@ extern void usleep(unsigned long);
extern void nanosleep(unsigned long);
#endif
*/
#endif
#endif /* _STRINGS_H_ */

View File

@ -5,7 +5,7 @@
* -- 2 April 1997 *
***************************************************************/
/*
* This file is original work by Michael Jennings <mej@tcserv.com>.
* This file is original work by Michael Jennings <mej@eterm.org>.
*
* Copyright (C) 1997, Michael Jennings
*
@ -29,12 +29,14 @@ static const char cvs_ident[] = "$Id$";
#ifdef IRIX
#include "config.h"
#include "../src/feature.h"
#include "global.h"
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <time.h>
#define STRPTIME_C
#include "strptime.h"
char *

View File

@ -4,7 +4,7 @@
* -- 2 April 1997 *
***************************************************************/
/*
* This file is original work by Michael Jennings <mej@tcserv.com>.
* This file is original work by Michael Jennings <mej@eterm.org>.
*
* Copyright (C) 1997, Michael Jennings
*
@ -63,14 +63,6 @@ static DTMap USMap = {
"PM"
};
#ifndef STRPTIME_C
# ifdef __cplusplus
extern "C" {
# else
extern {
# endif
extern char *strptime(char *, const char *, struct tm *);
}
#endif
extern char *strptime(char *, const char *, struct tm *);
#endif /* _STRPTIME_H_ */

2
pix/.cvsignore Normal file
View File

@ -0,0 +1,2 @@
Makefile
Makefile.in

14
pix/Makefile.am Normal file
View File

@ -0,0 +1,14 @@
# $Id$
EXTRA_DIST = bar_horizontal_1.png bar_horizontal_2.png bar_horizontal_3.png bar_vertical_1.png bar_vertical_2.png \
bar_vertical_3.png button_arrow_down_1.png button_arrow_down_2.png button_arrow_down_3.png \
button_arrow_up_1.png button_arrow_up_2.png button_arrow_up_3.png menu1.png menu2.png menu3.png
pixmapdir = $(pkgdatadir)/pix
install-data-hook:
$(mkinstalldirs) $(DESTDIR)$(pixmapdir)
@for i in $(EXTRA_DIST) ; do \
echo $(INSTALL_DATA) $$i $(DESTDIR)${pixmapdir} ; \
$(INSTALL_DATA) $$i $(DESTDIR)${pixmapdir} ; \
done

BIN
pix/bar_horizontal_1.png Normal file

Binary file not shown.

BIN
pix/bar_horizontal_2.png Normal file

Binary file not shown.

BIN
pix/bar_horizontal_3.png Normal file

Binary file not shown.

BIN
pix/bar_vertical_1.png Normal file

Binary file not shown.

BIN
pix/bar_vertical_2.png Normal file

Binary file not shown.

BIN
pix/bar_vertical_3.png Normal file

Binary file not shown.

BIN
pix/button_arrow_down_1.png Normal file

Binary file not shown.

BIN
pix/button_arrow_down_2.png Normal file

Binary file not shown.

BIN
pix/button_arrow_down_3.png Normal file

Binary file not shown.

BIN
pix/button_arrow_up_1.png Normal file

Binary file not shown.

BIN
pix/button_arrow_up_2.png Normal file

Binary file not shown.

BIN
pix/button_arrow_up_3.png Normal file

Binary file not shown.

BIN
pix/menu1.png Normal file

Binary file not shown.

BIN
pix/menu2.png Normal file

Binary file not shown.

BIN
pix/menu3.png Normal file

Binary file not shown.

View File

@ -2,29 +2,22 @@
lib_LTLIBRARIES = libEterm.la
libEterm_la_SOURCES = activeconfig.c activeeterm.c activetags.c command.c \
graphics.c grkelot.c menubar.c misc.c netdisp.c options.c \
pixmap.c screen.c scrollbar.c system.c threads.c utmp.c
libEterm_la_SOURCES = actions.c command.c e.c events.c graphics.c grkelot.c menus.c misc.c netdisp.c \
options.c pixmap.c screen.c scrollbar.c system.c term.c threads.c timer.c utmp.c windows.c
libEterm_la_LDFLAGS = -version-info 8:9:8
libEterm_la_LDFLAGS = -version-info 9:0:9
bin_PROGRAMS = Eterm
Eterm_SOURCES = main.c
Eterm_DEPENDENCIES = ../libmej/libmej.la feature.h
Eterm_DEPENDENCIES = libEterm.la ../libmej/libmej.la feature.h
INCLUDES = -I. -I../libmej -I.. -I$(includedir) -I$(prefix)/include $(X_CFLAGS)
INCLUDES = -I. -I$(top_srcdir)/libmej -I.. -I$(includedir) -I$(prefix)/include $(X_CFLAGS)
Eterm_LDFLAGS = -rpath $(libdir):$(pkglibdir)
LDADD = -L$(DIST_ROOT)/src/.libs -lEterm -L$(DIST_ROOT)/libmej/.libs -L$(libdir) -L$(prefix)/lib $(LIBS) -lmej $(GRLIBS) $(X_LIBS)
EXTRA_DIST = activeconfig.h activeeterm.h activetags.h command.h debug.h \
eterm_imlib.h feature.h.in graphics.h grkelot.h grx.h main.h \
menubar.h misc.h options.h pixmap.h profile.h screen.h scrollbar.h \
system.h threads.h graphics/Makefile.am graphics/Makefile.in \
graphics/README graphics/data graphics/grxlib.c graphics/grxlib.h \
graphics/qplot.c Eterm.xpm
feature.h: feature.h.in
$(FEATURE_CMD)
EXTRA_DIST = actions.h command.h debug.h e.h eterm_utmp.h events.h feature.h graphics.h grkelot.h grx.h main.h menus.h misc.h \
options.h pixmap.h profile.h screen.h scrollbar.h system.h term.h threads.h timer.h windows.h graphics/Makefile.am \
graphics/Makefile.in graphics/README graphics/data graphics/grxlib.c graphics/grxlib.h graphics/qplot.c Eterm.xpm

158
src/actions.c Normal file
View File

@ -0,0 +1,158 @@
/* actions.c -- Eterm action class module
* -- 3 August 1999, mej
*
* This file is original work by Michael Jennings <mej@eterm.org> and
* Tuomo Venalainen <vendu@cc.hut.fi>. This file, and any other file
* bearing this same message or a similar one, is distributed under
* the GNU Public License (GPL) as outlined in the COPYING file.
*
* Copyright (C) 1999-1997, Michael Jennings and Tuomo Venalainen
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
*/
static const char cvs_ident[] = "$Id$";
#include "config.h"
#include "feature.h"
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <limits.h>
#include "../libmej/debug.h"
#include "../libmej/strings.h"
#include "debug.h"
#include "main.h"
#include "mem.h"
#include "strings.h"
#include "actions.h"
#include "command.h"
#include "e.h"
#include "events.h"
#include "graphics.h"
#include "menus.h"
#include "options.h"
#include "pixmap.h"
#include "screen.h"
#include "scrollbar.h"
#include "term.h"
#include "windows.h"
action_t *action_list = NULL;
unsigned char
action_handle_string(event_t *ev, action_t *action) {
REQUIRE_RVAL(action->param.string != NULL, 0);
cmd_write(action->param.string, strlen(action->param.string));
return 1;
}
unsigned char
action_handle_echo(event_t *ev, action_t *action) {
REQUIRE_RVAL(action->param.string != NULL, 0);
tt_write(action->param.string, strlen(action->param.string));
return 1;
}
unsigned char
action_handle_menu(event_t *ev, action_t *action) {
REQUIRE_RVAL(action->param.menu != NULL, 0);
menu_invoke(ev->xbutton.x, ev->xbutton.y, TermWin.parent, action->param.menu, ev->xbutton.time);
return 1;
}
unsigned char
action_dispatch(event_t *ev, KeySym keysym) {
action_t *action;
ASSERT(ev != NULL);
for (action = action_list; action; action = action->next) {
D_ACTIONS(("Checking action. mod == 0x%08x, button == %d, keysym == 0x%08x\n", action->mod, action->button, action->keysym));
if (ev->xany.type == ButtonPress) {
if ((action->button == BUTTON_NONE) || ((action->button != BUTTON_ANY) && (action->button != ev->xbutton.button))) {
continue;
}
} else if (action->button != BUTTON_NONE) {
continue;
}
D_ACTIONS(("Button passed.\n"));
if (