Commit 740fa20c authored by Joel Rosdahl's avatar Joel Rosdahl
Browse files

Fiddled with various release-related things. Fixes bugs 298, 299

and 300.

* Makefile: Revamped and somewhat commented. Create three
different kinds of distribution archives: 1. A "source" dist with
configure + Makefile + separate .el files; 2. A single lyskom.el
with all languages included; 3. A single lyskom.el with just one
included language. Archives are named lyskom-elisp-client-*
instead of lyskom-*. autoconf files config.{cache,log,status} are
no longer included.

* distribution-Makefile.in: Create file lists from the "developer"
Makefile.

* distribution-configure.in: Make English the default language.

* distribution-README: Removed.

* distribution-README.begin: New file. Common begin text for
source and non-source dists.

* distribution-README.end: New file. Common end text for source
and non-source dists.

* distribution-README.install-nonsrc: New file. Installation
instructions for non-source dists.

* distribution-README.install-src: New file. Installation
instructions for the source dist.
parent 12eab961
2002-03-21 Joel Rosdahl <joel@lysator.liu.se>
Fiddled with various release-related things. Fixes bugs 298, 299
and 300.
* Makefile: Revamped and somewhat commented. Create three
different kinds of distribution archives: 1. A "source" dist with
configure + Makefile + separate .el files; 2. A single lyskom.el
with all languages included; 3. A single lyskom.el with just one
included language. Archives are named lyskom-elisp-client-*
instead of lyskom-*. autoconf files config.{cache,log,status} are
no longer included.
* distribution-Makefile.in: Create file lists from the "developer"
Makefile.
* distribution-configure.in: Make English the default language.
* distribution-README: Removed.
* distribution-README.begin: New file. Common begin text for
source and non-source dists.
* distribution-README.end: New file. Common end text for source
and non-source dists.
* distribution-README.install-nonsrc: New file. Installation
instructions for non-source dists.
* distribution-README.install-src: New file. Installation
instructions for the source dist.
Added "View session status" to the person button menu and
grouped actions in text number buttons:
......
# -*- Makefile -*-
# $Id$
# Copyright (C) 1991-2002 Lysator Academic Computer Association.
#
# This file is part of the LysKOM Emacs LISP client.
......@@ -23,47 +21,52 @@
# Please mail bug reports to bug-lyskom@lysator.liu.se.
#
# $Id$
#
# Useful targets:
#
# all - Build lyskom.el from source files and compile it with $(EMACS).
# verbose - Same as above, but also print some progress messages.
# fast - Separately compile each uncompiled source file with $(EMACS)
# and produce lyskom.elc from the results.
# check - Perform test cases.
# release - Make distribution archives.
# ======================================================================
# Useful targets: all, lyskom.el lyskom.elc check verbose TAGS release
# clean distclean install
# ======================================================================
######################################################################
# Version of the client.
#
# NOTE: If you change this file, don't forget to change the distribution
# makefile too!
#
# Also remember to change version number in ../doc/Makefile!
CLIENTVERSION = 0.46.2-BETA-2
DOCFILES=NEWS-0.46 NEWS-0.46.1
DEBIANCLIENTVERSION = $(shell echo $(CLIENTVERSION) | tr - .)
REDHATCLIENTVERSION = $(shell echo $(CLIENTVERSION) | tr - .)
RPMROOT = /usr/src/redhat
######################################################################
FTPDIR=/home/davby/www-pub
#REMOTEDIR=sanna.lysator.liu.se:/lysator/ftp/pub/lyskom/elisp-client
#FTPDIR = /usr/ftp/pub/lyskom/elisp-client
LISPDIR = /usr/gnu/share/emacs/site-lisp
LANGUAGES = swedish english
DEFAULTLISPDIR=/usr/local/share/emacs/site-lisp
DEFAULTPREFIX=/usr/local
SHELL = /bin/sh
RM = /bin/rm -f
EMACS=xemacs
EMACS-BATCH = $(EMACS) -batch
GENERIC-CLEAN = *~ *.o core
GENERIC-DIST-CLEAN = TAGS
TARGET=lyskom.elc
TARGET-EL=$(TARGET:%.elc=%.el)
LANGUAGE-EL=$(LANGUAGES:=-strings.el)
SOURCES = $(LANGUAGE-EL) \
komtypes.el \
# Default Emacs to use for compilation by developers.
EMACS = xemacs
# The available languages.
LANGUAGES = english swedish
# These files are included in all distribution archives.
DOCFILES = ../doc/NEWS-0.46 ../doc/NEWS-0.46.1
# Default target.
TARGET = lyskom.elc
TARGET-EL := $(TARGET:%.elc=%.el)
# These will be placed first in lyskom.el.
HEADER = header.el \
defvar.el \
feature.el \
$(VARS-EL) \
macros.el \
compatibility.el \
language.el
# Next come the language definitions.
LANGUAGE-EL := $(LANGUAGES:=-strings.el)
# Finally, other source files.
SOURCES = komtypes.el \
clienttypes.el \
deferred-insert.el \
utilities.el \
......@@ -100,148 +103,191 @@ SOURCES = $(LANGUAGE-EL) \
option-edit.el \
talkback.el \
lyskom-rest.el
# lyskom-rest.el should be the last file!
HEADER = header.el \
defvar.el \
feature.el \
vars.el \
macros.el \
compatibility.el \
language.el
# Included in the source distribution archive.
EXTRA-SRCDIST = \
distribution-COPYING distribution-configure.in \
distribution-Makefile.in
EXTRA-SRCVERBATIM = \
envcheck.el lpath.el autoconf.el \
$(DOCFILES)
MISC = envcheck.el \
lpath.el \
autoconf.el
# Included in the non-source distribution archives.
EXTRA-NONSRCDIST = \
distribution-COPYING
EXTRA-NONSRCVERBATIM = \
$(DOCFILES)
DISTFILES = README \
COPYING \
Makefile.in \
configure.in
# Base name of distribution packages.
PACKAGENAME = lyskom-elisp-client
DISTSRC = $(DISTFILES:%=distribution-%)
HEADER-ELC = $(HEADER:%.el=%.elc)
SOURCES-ELC = $(SOURCES:%.el=%.elc)
# Default paths in the source dist Makefile.
DEFAULTLISPDIR = /usr/local/share/emacs/site-lisp
DEFAULTPREFIX = /usr/local
ifeq ($(MAKECMDGOALS),release)
VARS-EL = vars.el-release
else
VARS-EL = vars.el
endif
EMACS-BATCH := $(EMACS) -batch
all: $(TARGET)
vars.el: vars.el.in Makefile
rm -f vars.el
if test -d CVS -a x$(DO_RELEASE) = x; then \
sed "s/@@CLIENTVERSION@@/$(CLIENTVERSION) (from CVS; built `date +%Y-%m-%d`)/g" < vars.el.in > vars.el ; \
else \
sed 's/@@CLIENTVERSION@@/$(CLIENTVERSION)/g' < vars.el.in > vars.el ; \
fi
chmod 444 vars.el
rm -f $@
sed "s/@@CLIENTVERSION@@/$(CLIENTVERSION) (from CVS; built `date +%Y-%m-%d`)/g" <$< >$@
chmod 444 $@
%.elc: %.el _header.el
$(EMACS-BATCH) -l ./lpath.el -l ./_header.el -f batch-byte-compile $<
vars.el-release: vars.el.in Makefile
sed 's/@@CLIENTVERSION@@/$(CLIENTVERSION)/g' <$< >$@
_header.el: $(HEADER)
cat $(HEADER) > _header.el
$(TARGET-EL) lyskom-all-$(CLIENTVERSION).el: \
$(HEADER) $(LANGUAGE-EL) $(SOURCES)
cat $^ >$@
fast: $(HEADER-ELC) $(SOURCES-ELC)
cat $(HEADER-ELC) $(SOURCES-ELC) > $(TARGET)
lyskom-%-$(CLIENTVERSION).el: $(HEADER) %-strings.el $(SOURCES)
cat $^ >$@
$(TARGET-EL): $(HEADER) $(SOURCES)
if test -d CVS -a x$(DO_RELEASE) = x; then \
rm -f vars.el ; \
$(MAKE) vars.el ; \
fi
cat $(HEADER) $(SOURCES) > $(TARGET-EL)
verbose: verbose-el $(TARGET)
verbose-el: $(HEADER) $(LANGUAGE-EL) $(SOURCES)
cp /dev/null $@
for i in $^ ; do \
echo '(eval-when-compile (message "Compiling %s" "'$$i'"))' \
>>$@ ; \
cat $$i >>$@ ; \
done
%.elc: %.el _header.el
$(EMACS-BATCH) -l lpath.el -l _header.el -f batch-byte-compile $<
$(TARGET): $(TARGET-EL)
$(EMACS-BATCH) -l ./lpath.el -f batch-byte-compile $(TARGET-EL)
$(EMACS-BATCH) -l lpath.el -f batch-byte-compile $<
HEADER-ELC = $(HEADER:%.el=%.elc)
LANGUAGE-ELC = $(LANGUAGE-EL:.el%.elc)
SOURCES-ELC = $(SOURCES:%.el=%.elc)
_header.el: $(HEADER)
cat $(HEADER) >_header.el
fast: $(HEADER-ELC) $(LANGUAGE-ELC) $(SOURCES-ELC)
cat $^ >$(TARGET)
check: $(TARGET-EL)
$(EMACS-BATCH) -l ./lpath.el -l ./$(TARGET-EL) -l ./check-strings.el \
$(EMACS-BATCH) -l lpath.el -l $< -l check-strings.el \
-f lyskom-check-strings
.PHONY: verbose
.PHONY: verbose-el
TAGS: $(HEADER) $(LANGUAGE-EL) $(SOURCES)
etags $^
distribution-README-%: \
distribution-README.begin \
distribution-README.install-% \
distribution-README.end
cat $^ >$@
RELEASE-DIST-FLAVOURS := src all $(LANGUAGES)
RELEASE-DIST-ARCHIVES := \
$(patsubst %,$(PACKAGENAME)-%-$(CLIENTVERSION).tar.gz,$(RELEASE-DIST-FLAVOURS)) \
$(patsubst %,$(PACKAGENAME)-%-$(CLIENTVERSION).zip,$(RELEASE-DIST-FLAVOURS))
release: $(VARS-EL) $(RELEASE-DIST-ARCHIVES)
@echo
@echo
@echo "Release archives created:"
@echo
@for i in $(RELEASE-DIST-ARCHIVES); do \
echo " $$i" ; \
done
@echo
%.tar: %.buildstamp
tar cvf $@ $*
%.gz: %
gzip -f --best $<
%.zip: %.buildstamp
zip -R9y $@ $*/*
############################################################
# Source dist.
RELEASE-SOURCE-SRC = $(HEADER) $(LANGUAGE-EL) $(SOURCES) $(MISC)
RELEASE-BASE-SRC = $(PACKAGENAME)-src-$(CLIENTVERSION)
$(RELEASE-BASE-SRC).buildstamp: \
$(RELEASE-SOURCE-SRC) $(EXTRA-SRCDIST) $(EXTRA-SRCVERBATIM) \
distribution-README-src
mkdir -p $(RELEASE-BASE-SRC)
cp $(RELEASE-SOURCE-SRC) $(RELEASE-BASE-SRC)
sed 's/@@CLIENTVERSION@@/$(CLIENTVERSION)/g' \
<distribution-README-src \
>$(RELEASE-BASE-SRC)/README
for i in $(subst distribution-,,$(EXTRA-SRCDIST)); do \
sed -e 's/@@CLIENTVERSION@@/$(CLIENTVERSION)/g' \
-e 's/@@HEADER@@/$(HEADER)/g' \
-e 's/@@SOURCES@@/$(SOURCES)/g' \
<distribution-$$i \
>$(RELEASE-BASE-SRC)/$$i ; \
done
cp $(EXTRA-SRCVERBATIM) $(RELEASE-BASE-SRC)
sed -e "s/#CLIENTVERSION#/$(CLIENTVERSION)/" \
-e "s/#REDHATCLIENTVERSION#/$(REDHATCLIENTVERSION)/" \
<$(PACKAGENAME).spec \
>$(RELEASE-BASE-SRC)/$(PACKAGENAME)-$(REDHATCLIENTVERSION).spec
cd $(RELEASE-BASE-SRC) && autoconf
cd $(RELEASE-BASE-SRC) && ./configure --prefix=$(DEFAULTPREFIX) \
--with-lispdir=$(DEFAULTLISPDIR)
cd $(RELEASE-BASE-SRC) && rm config.log config.status config.cache
touch $@
############################################################
# Normal dist.
RELEASE-BASE-NONSRC = $(PACKAGENAME)-$*-$(CLIENTVERSION)
$(PACKAGENAME)-%-$(CLIENTVERSION).buildstamp: \
lyskom-%-$(CLIENTVERSION).el $(EXTRA-NONSRCDIST) \
distribution-README-nonsrc
mkdir -p $(RELEASE-BASE-NONSRC)
cp $< $(RELEASE-BASE-NONSRC)
sed -e 's/@@CLIENTVERSION@@/$(CLIENTVERSION)/g' \
-e 's/@@FLAVOUR@@/$*/g' \
<distribution-README-nonsrc \
>$(RELEASE-BASE-NONSRC)/README
for i in $(subst distribution-,,$(EXTRA-NONSRCDIST)); do \
sed 's/@@CLIENTVERSION@@/$(CLIENTVERSION)/g' \
<distribution-$$i \
>$(RELEASE-BASE-NONSRC)/$$i ; \
done
cp $(EXTRA-NONSRCVERBATIM) $(RELEASE-BASE-NONSRC)
touch $@
######################################################################
# RPM packages
REDHATCLIENTVERSION := $(subst -,.,$(CLIENTVERSION))
RPMROOT = /usr/src/redhat
verbose: verbose-el $(TARGET)
verbose-el: $(HEADER) $(SOURCES)
@echo "Building lyskom.el"
@echo "" > $(TARGET-EL)
@for i in $(HEADER) $(SOURCES) ; do \
echo '(eval-when-compile (message "Compiling %s" "'$$i'"))' \
>> $(TARGET-EL) ;\
cat $$i >> $(TARGET-EL) ; \
done
TAGS: $(HEADER) $(SOURCES)
etags $(HEADER) $(SOURCES)
install: $(TARGET) $(TARGET-EL)
cp $(TARGET-EL) $(TARGET) $(LISPDIR)
release: release-files release-move
release-files: clean
$(MAKE) do-release-files DO_RELEASE=1
do-release-files: $(HEADER) $(SOURCES) $(DISTSRC) $(MISC)
mkdir -p lyskom-$(CLIENTVERSION)
cp $(HEADER) $(SOURCES) $(MISC) lyskom-$(CLIENTVERSION)
for i in $(DISTFILES) ; do \
sed 's/@@CLIENTVERSION@@/$(CLIENTVERSION)/g' < distribution-$$i \
> lyskom-$(CLIENTVERSION)/$$i; \
done
for i in $(DOCFILES) ; do \
cp ../doc/$$i lyskom-$(CLIENTVERSION)/$$i ; \
done
sed -e "s/#CLIENTVERSION#/$(CLIENTVERSION)/" -e "s/#REDHATCLIENTVERSION#/$(REDHATCLIENTVERSION)/" <lyskom-elisp-client.spec >lyskom-$(CLIENTVERSION)/lyskom-elisp-client-$(REDHATCLIENTVERSION).spec
( cd lyskom-$(CLIENTVERSION); \
autoconf ; \
./configure --prefix=$(DEFAULTPREFIX) --with-lispdir=$(DEFAULTLISPDIR) ; \
make lyskom-$(CLIENTVERSION).el )
chmod -R u+rw,g+r,o+r lyskom-$(CLIENTVERSION)
tar cvf lyskom-$(CLIENTVERSION).tar lyskom-$(CLIENTVERSION)
gzip -9 lyskom-$(CLIENTVERSION).tar
zip -R9y lyskom-$(CLIENTVERSION).zip 'lyskom-$(CLIENTVERSION)/*'
release-move:
if [ ! -z "$(REMOTEDIR)" ] ; then \
scp lyskom-$(CLIENTVERSION).tar.gz $(REMOTEDIR); \
scp lyskom-$(CLIENTVERSION).zip $(REMOTEDIR); \
else \
echo "Kopierade inte release-filerna till remote-system." ; \
fi
if [ -d $(FTPDIR) ]; then \
mv lyskom-$(CLIENTVERSION).tar.gz $(FTPDIR) ; \
mv lyskom-$(CLIENTVERSION).zip $(FTPDIR) ; \
else \
echo "Flyttade inte release-filerna till $(FTPDIR)." ; \
fi
debian-package: release-files debian-build
debian-build: release-files
cp -R debian lyskom-$(CLIENTVERSION)
$(RM) -rf lyskom-$(CLIENTVERSION)/debian/CVS
sed '1s/(.*)/($(DEBIANCLIENTVERSION)-1)/' <debian/changelog >lyskom-$(CLIENTVERSION)/debian/changelog
sed 's/@@CLIENTVERSION@@/$(CLIENTVERSION)/g' <debian/rules >lyskom-$(CLIENTVERSION)/debian/rules
mv lyskom-$(CLIENTVERSION) lyskom-elisp-client-$(DEBIANCLIENTVERSION)
cp lyskom-$(CLIENTVERSION).tar.gz lyskom-elisp-client_$(DEBIANCLIENTVERSION).orig.tar.gz
cd lyskom-elisp-client-$(DEBIANCLIENTVERSION) && dpkg-buildpackage
redhat-packages: release-files redhat-build
redhat-build: release-files
cp lyskom-$(CLIENTVERSION).tar.gz $(RPMROOT)/SOURCES/
sed -e "s/#CLIENTVERSION#/$(CLIENTVERSION)/" -e "s/#REDHATCLIENTVERSION#/$(REDHATCLIENTVERSION)/" <lyskom-elisp-client.spec >$(RPMROOT)/SPECS/lyskom-elisp-client-$(REDHATCLIENTVERSION).spec
rpm -ba $(RPMROOT)/SPECS/lyskom-elisp-client-$(REDHATCLIENTVERSION).spec
redhat-packages: $(PACKAGENAME)-src-$(CLIENTVERSION).tar.gz
cp $< $(RPMROOT)/SOURCES/
sed -e "s/#CLIENTVERSION#/$(CLIENTVERSION)/" \
-e "s/#REDHATCLIENTVERSION#/$(REDHATCLIENTVERSION)/" \
<$(PACKAGENAME).spec \
>$(RPMROOT)/SPECS/$(PACKAGENAME)-$(REDHATCLIENTVERSION).spec
rpm -ba $(RPMROOT)/SPECS/$(PACKAGENAME)-$(REDHATCLIENTVERSION).spec
clean:
$(RM) *.el.gz *.elc.gz $(TARGET-EL)
$(RM) -rf lyskom-$(CLIENTVERSION) \
lyskom-$(CLIENTVERSION).tar \
lyskom-$(CLIENTVERSION).tar.gz \
lyskom-$(CLIENTVERSION).zip \
lyskom-elisp-client-$(DEBIANCLIENTVERSION)
$(RM) vars.el *.elc $(GENERIC-CLEAN)
$(RM) -r build-stamp lyskom-elisp-client*.gz lyskom-elisp-client*.deb \
lyskom-elisp-client*.dsc lyskom-elisp-client*.changes
rm -f *~ *.gz *.zip *.buildstamp *.elc* _header.el $(TARGET-EL)
rm -rf $(PACKAGENAME)-*-$(CLIENTVERSION)* lyskom-*-$(CLIENTVERSION).el
rm -f vars.el vars.el-release
rm -f distribution-README-src distribution-README-nonsrc
.PHONY: all verbose verbose-el fast check release redhat-packages clean
......@@ -4,27 +4,28 @@
#
# ======================================================================
# EMACS is the command used to start Emacs on your system. You need
# Gnu Emacs 19.34 or later, or XEmacs 19.15 or 20.2 or later.
# EMACS is the command used to start Emacs on your system. Read README
# for information about the Emacs versions that can be used.
# ======================================================================
EMACS=@emacs@
EMACS = @emacs@
# ======================================================================
# The following lines control where things go when installed
# The following lines control where things go when installed.
#
# LISPDIR is where lyskom.el and lyskom.elc go
# INFODIR is where documentation goes (if there is any)
# ======================================================================
prefix=@prefix@
LISPDIR=@lispdir@
INFODIR=@infodir@
prefix = @prefix@
LISPDIR = @lispdir@
INFODIR = @infodir@
# ======================================================================
# LANGUAGE is a list of languages to compile in. Entries in the list
# are separated by whitespace. The following # languages are available
# are separated by whitespace. The following languages are available:
#
# Name in list Language
# swedish Swedish
......@@ -33,86 +34,41 @@ INFODIR=@infodir@
# The first language in the list will be the default language.
# ======================================================================
LANGUAGES=@languages@
LANGUAGES = @languages@
# ======================================================================
# ======================================================================
#
# You should change nothing beyond this point
# You should change nothing beyond this point.
#
# ======================================================================
# ======================================================================
RM=/bin/rm -f
SHELL=/bin/sh
LANGUAGE-EL=$(LANGUAGES:=-strings.el)
EMACS-BATCH=$(EMACS) -batch
SOURCES = $(LANGUAGE-EL) \
komtypes.el \
clienttypes.el \
deferred-insert.el \
utilities.el \
completing-read.el \
command.el \
buffers.el \
aux-items.el \
mime.el \
prefetch.el \
startup.el \
reading.el \
internal.el \
services.el \
parse.el \
cache.el \
view-mode.el \
commands1.el \
commands2.el \
review.el \
edit-text.el \
filter.el \
filter-edit.el \
lyskom-buttons.el \
view-text.el \
async.el \
mship-edit.el \
prioritize.el \
flags.el \
messages.el \
ansaphone.el \
remote-control.el \
menus.el slow.el \
elib-string.el \
option-edit.el \
talkback.el \
lyskom-rest.el
HEADER = header.el \
defvar.el \
feature.el \
vars.el \
macros.el \
compatibility.el \
language.el
RM = /bin/rm -f
SHELL = /bin/sh
LANGUAGE-EL = $(LANGUAGES:=-strings.el)
EMACS-BATCH = $(EMACS) -batch
HEADER = @@HEADER@@
SOURCES = @@SOURCES@@
all: envcheck lyskom-@@CLIENTVERSION@@.elc
envcheck:
$(EMACS-BATCH) -l ./envcheck.el -f lyskom-check-environment
$(EMACS-BATCH) -l envcheck.el -f lyskom-check-environment
lyskom-@@CLIENTVERSION@@.elc: lyskom-@@CLIENTVERSION@@.el
$(EMACS-BATCH) -l ./lpath.el -f batch-byte-compile lyskom-@@CLIENTVERSION@@.el
$(EMACS-BATCH) -l lpath.el -f batch-byte-compile lyskom-@@CLIENTVERSION@@.el
lyskom-@@CLIENTVERSION@@.el: $(HEADER) $(SOURCES)
cat $(HEADER) $(SOURCES) > lyskom-@@CLIENTVERSION@@.el
lyskom-@@CLIENTVERSION@@.el: $(HEADER) $(LANGUAGE-EL) $(SOURCES)
cat $(HEADER) $(LANGUAGE-EL) $(SOURCES) >lyskom-@@CLIENTVERSION@@.el
install: lyskom-@@CLIENTVERSION@@.elc
cp lyskom-@@CLIENTVERSION@@.el lyskom-@@CLIENTVERSION@@.elc $(LISPDIR)
rm -f $(LISPDIR)/lyskom.el
ln -s $(LISPDIR)/lyskom-@@CLIENTVERSION@@.el $(LISPDIR)/lyskom.el
ln -s lyskom-@@CLIENTVERSION@@.el $(LISPDIR)/lyskom.el
rm -f $(LISPDIR)/lyskom.elc
ln -s $(LISPDIR)/lyskom-@@CLIENTVERSION@@.elc $(LISPDIR)/lyskom.elc
ln -s lyskom-@@CLIENTVERSION@@.elc $(LISPDIR)/lyskom.elc
clean:
$(RM) lyskom-@@CLIENTVERSION@@.el
......
The LysKOM Emacs Lisp Client
-------------------------------------------
Release notes for version @@CLIENTVERSION@@
LysKOM is a project in progress at the Lysator Academic Computing
Society at Linköping University in Sweden. For information about
Lysator, see <URL:http://www.lysator.liu.se/>. For more information
on LysKOM, see <URL:http://www.lysator.liu.se/lyskom/>.
The latest version of the Emacs Lisp client for LysKOM is available
from <URL:ftp://ftp.lysator.liu.se/pub/lyskom/elisp-client/>.
LysKOM 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, or (at your
option) any later version.
LysKOM 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 LysKOM; see the file COPYING. If not, write to Lysator,
c/o ISY, Linköpings universitet, S-581 83 Linköping, SWEDEN, or
the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
02139, USA.
Please mail bug reports to bug-lyskom@lysator.liu.se.
Please mail change requests to kom@lysator.liu.se.
1. REQUIREMENTS
You need an Emacs. The client appears to work with the following
versions of Emacs:
* XEmacs version 20.4, 21.1 and newer
* Gnu Emacs version 19.34 [1]
* Gnu Emacs version 20.7 and newer [2]
[1] You'll have to replace the included custom package, and if you
use Gnus, you may have to update that as well.
[2] It should be possible to run the client in Gnu Emacs 20.2 and
later, but you may experience some additional problems. Column
alignment is known to fail in version 20.2.
There are also some requirements on supplemental elisp packages:
* custom
You need to have a recent version of the custom package