Mercurial > hg > xemacs-beta
view nt/ChangeLog @ 665:fdefd0186b75
[xemacs-hg @ 2001-09-20 06:28:42 by ben]
The great integral types renaming.
The purpose of this is to rationalize the names used for various
integral types, so that they match their intended uses and follow
consist conventions, and eliminate types that were not semantically
different from each other.
The conventions are:
-- All integral types that measure quantities of anything are
signed. Some people disagree vociferously with this, but their
arguments are mostly theoretical, and are vastly outweighed by
the practical headaches of mixing signed and unsigned values,
and more importantly by the far increased likelihood of
inadvertent bugs: Because of the broken "viral" nature of
unsigned quantities in C (operations involving mixed
signed/unsigned are done unsigned, when exactly the opposite is
nearly always wanted), even a single error in declaring a
quantity unsigned that should be signed, or even the even more
subtle error of comparing signed and unsigned values and
forgetting the necessary cast, can be catastrophic, as
comparisons will yield wrong results. -Wsign-compare is turned
on specifically to catch this, but this tends to result in a
great number of warnings when mixing signed and unsigned, and
the casts are annoying. More has been written on this
elsewhere.
-- All such quantity types just mentioned boil down to EMACS_INT,
which is 32 bits on 32-bit machines and 64 bits on 64-bit
machines. This is guaranteed to be the same size as Lisp
objects of type `int', and (as far as I can tell) of size_t
(unsigned!) and ssize_t. The only type below that is not an
EMACS_INT is Hashcode, which is an unsigned value of the same
size as EMACS_INT.
-- Type names should be relatively short (no more than 10
characters or so), with the first letter capitalized and no
underscores if they can at all be avoided.
-- "count" == a zero-based measurement of some quantity. Includes
sizes, offsets, and indexes.
-- "bpos" == a one-based measurement of a position in a buffer.
"Charbpos" and "Bytebpos" count text in the buffer, rather than
bytes in memory; thus Bytebpos does not directly correspond to
the memory representation. Use "Membpos" for this.
-- "Char" refers to internal-format characters, not to the C type
"char", which is really a byte.
-- For the actual name changes, see the script below.
I ran the following script to do the conversion. (NOTE: This script
is idempotent. You can safely run it multiple times and it will
not screw up previous results -- in fact, it will do nothing if
nothing has changed. Thus, it can be run repeatedly as necessary
to handle patches coming in from old workspaces, or old branches.)
There are two tags, just before and just after the change:
`pre-integral-type-rename' and `post-integral-type-rename'. When
merging code from the main trunk into a branch, the best thing to
do is first merge up to `pre-integral-type-rename', then apply the
script and associated changes, then merge from
`post-integral-type-change' to the present. (Alternatively, just do
the merging in one operation; but you may then have a lot of
conflicts needing to be resolved by hand.)
Script `fixtypes.sh' follows:
----------------------------------- cut ------------------------------------
files="*.[ch] s/*.h m/*.h config.h.in ../configure.in Makefile.in.in ../lib-src/*.[ch] ../lwlib/*.[ch]"
gr Memory_Count Bytecount $files
gr Lstream_Data_Count Bytecount $files
gr Element_Count Elemcount $files
gr Hash_Code Hashcode $files
gr extcount bytecount $files
gr bufpos charbpos $files
gr bytind bytebpos $files
gr memind membpos $files
gr bufbyte intbyte $files
gr Extcount Bytecount $files
gr Bufpos Charbpos $files
gr Bytind Bytebpos $files
gr Memind Membpos $files
gr Bufbyte Intbyte $files
gr EXTCOUNT BYTECOUNT $files
gr BUFPOS CHARBPOS $files
gr BYTIND BYTEBPOS $files
gr MEMIND MEMBPOS $files
gr BUFBYTE INTBYTE $files
gr MEMORY_COUNT BYTECOUNT $files
gr LSTREAM_DATA_COUNT BYTECOUNT $files
gr ELEMENT_COUNT ELEMCOUNT $files
gr HASH_CODE HASHCODE $files
----------------------------------- cut ------------------------------------
`fixtypes.sh' is a Bourne-shell script; it uses 'gr':
----------------------------------- cut ------------------------------------
#!/bin/sh
# Usage is like this:
# gr FROM TO FILES ...
# globally replace FROM with TO in FILES. FROM and TO are regular expressions.
# backup files are stored in the `backup' directory.
from="$1"
to="$2"
shift 2
echo ${1+"$@"} | xargs global-replace "s/$from/$to/g"
----------------------------------- cut ------------------------------------
`gr' in turn uses a Perl script to do its real work,
`global-replace', which follows:
----------------------------------- cut ------------------------------------
: #-*- Perl -*-
### global-modify --- modify the contents of a file by a Perl expression
## Copyright (C) 1999 Martin Buchholz.
## Copyright (C) 2001 Ben Wing.
## Authors: Martin Buchholz <martin@xemacs.org>, Ben Wing <ben@xemacs.org>
## Maintainer: Ben Wing <ben@xemacs.org>
## Current Version: 1.0, May 5, 2001
# 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, 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 XEmacs; see the file COPYING. If not, write to the Free
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
eval 'exec perl -w -S $0 ${1+"$@"}'
if 0;
use strict;
use FileHandle;
use Carp;
use Getopt::Long;
use File::Basename;
(my $myName = $0) =~ s@.*/@@; my $usage="
Usage: $myName [--help] [--backup-dir=DIR] [--line-mode] [--hunk-mode]
PERLEXPR FILE ...
Globally modify a file, either line by line or in one big hunk.
Typical usage is like this:
[with GNU print, GNU xargs: guaranteed to handle spaces, quotes, etc.
in file names]
find . -name '*.[ch]' -print0 | xargs -0 $0 's/\bCONST\b/const/g'\n
[with non-GNU print, xargs]
find . -name '*.[ch]' -print | xargs $0 's/\bCONST\b/const/g'\n
The file is read in, either line by line (with --line-mode specified)
or in one big hunk (with --hunk-mode specified; it's the default), and
the Perl expression is then evalled with \$_ set to the line or hunk of
text, including the terminating newline if there is one. It should
destructively modify the value there, storing the changed result in \$_.
Files in which any modifications are made are backed up to the directory
specified using --backup-dir, or to `backup' by default. To disable this,
use --backup-dir= with no argument.
Hunk mode is the default because it is MUCH MUCH faster than line-by-line.
Use line-by-line only when it matters, e.g. you want to do a replacement
only once per line (the default without the `g' argument). Conversely,
when using hunk mode, *ALWAYS* use `g'; otherwise, you will only make one
replacement in the entire file!
";
my %options = ();
$Getopt::Long::ignorecase = 0;
&GetOptions (
\%options,
'help', 'backup-dir=s', 'line-mode', 'hunk-mode',
);
die $usage if $options{"help"} or @ARGV <= 1;
my $code = shift;
die $usage if grep (-d || ! -w, @ARGV);
sub SafeOpen {
open ((my $fh = new FileHandle), $_[0]);
confess "Can't open $_[0]: $!" if ! defined $fh;
return $fh;
}
sub SafeClose {
close $_[0] or confess "Can't close $_[0]: $!";
}
sub FileContents {
my $fh = SafeOpen ("< $_[0]");
my $olddollarslash = $/;
local $/ = undef;
my $contents = <$fh>;
$/ = $olddollarslash;
return $contents;
}
sub WriteStringToFile {
my $fh = SafeOpen ("> $_[0]");
binmode $fh;
print $fh $_[1] or confess "$_[0]: $!\n";
SafeClose $fh;
}
foreach my $file (@ARGV) {
my $changed_p = 0;
my $new_contents = "";
if ($options{"line-mode"}) {
my $fh = SafeOpen $file;
while (<$fh>) {
my $save_line = $_;
eval $code;
$changed_p = 1 if $save_line ne $_;
$new_contents .= $_;
}
} else {
my $orig_contents = $_ = FileContents $file;
eval $code;
if ($_ ne $orig_contents) {
$changed_p = 1;
$new_contents = $_;
}
}
if ($changed_p) {
my $backdir = $options{"backup-dir"};
$backdir = "backup" if !defined ($backdir);
if ($backdir) {
my ($name, $path, $suffix) = fileparse ($file, "");
my $backfulldir = $path . $backdir;
my $backfile = "$backfulldir/$name";
mkdir $backfulldir, 0755 unless -d $backfulldir;
print "modifying $file (original saved in $backfile)\n";
rename $file, $backfile;
}
WriteStringToFile ($file, $new_contents);
}
}
----------------------------------- cut ------------------------------------
In addition to those programs, I needed to fix up a few other
things, particularly relating to the duplicate definitions of
types, now that some types merged with others. Specifically:
1. in lisp.h, removed duplicate declarations of Bytecount. The
changed code should now look like this: (In each code snippet
below, the first and last lines are the same as the original, as
are all lines outside of those lines. That allows you to locate
the section to be replaced, and replace the stuff in that
section, verifying that there isn't anything new added that
would need to be kept.)
--------------------------------- snip -------------------------------------
/* Counts of bytes or chars */
typedef EMACS_INT Bytecount;
typedef EMACS_INT Charcount;
/* Counts of elements */
typedef EMACS_INT Elemcount;
/* Hash codes */
typedef unsigned long Hashcode;
/* ------------------------ dynamic arrays ------------------- */
--------------------------------- snip -------------------------------------
2. in lstream.h, removed duplicate declaration of Bytecount.
Rewrote the comment about this type. The changed code should
now look like this:
--------------------------------- snip -------------------------------------
#endif
/* The have been some arguments over the what the type should be that
specifies a count of bytes in a data block to be written out or read in,
using Lstream_read(), Lstream_write(), and related functions.
Originally it was long, which worked fine; Martin "corrected" these to
size_t and ssize_t on the grounds that this is theoretically cleaner and
is in keeping with the C standards. Unfortunately, this practice is
horribly error-prone due to design flaws in the way that mixed
signed/unsigned arithmetic happens. In fact, by doing this change,
Martin introduced a subtle but fatal error that caused the operation of
sending large mail messages to the SMTP server under Windows to fail.
By putting all values back to be signed, avoiding any signed/unsigned
mixing, the bug immediately went away. The type then in use was
Lstream_Data_Count, so that it be reverted cleanly if a vote came to
that. Now it is Bytecount.
Some earlier comments about why the type must be signed: This MUST BE
SIGNED, since it also is used in functions that return the number of
bytes actually read to or written from in an operation, and these
functions can return -1 to signal error.
Note that the standard Unix read() and write() functions define the
count going in as a size_t, which is UNSIGNED, and the count going
out as an ssize_t, which is SIGNED. This is a horrible design
flaw. Not only is it highly likely to lead to logic errors when a
-1 gets interpreted as a large positive number, but operations are
bound to fail in all sorts of horrible ways when a number in the
upper-half of the size_t range is passed in -- this number is
unrepresentable as an ssize_t, so code that checks to see how many
bytes are actually written (which is mandatory if you are dealing
with certain types of devices) will get completely screwed up.
--ben
*/
typedef enum lstream_buffering
--------------------------------- snip -------------------------------------
3. in dumper.c, there are four places, all inside of switch()
statements, where XD_BYTECOUNT appears twice as a case tag. In
each case, the two case blocks contain identical code, and you
should *REMOVE THE SECOND* and leave the first.
author | ben |
---|---|
date | Thu, 20 Sep 2001 06:31:11 +0000 |
parents | 3ab33cd99bbf |
children | 5c696033aec4 |
line wrap: on
line source
2001-09-07 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.3 "asparagus" is released. 2001-06-24 Ben Wing <ben@xemacs.org> * config.h: Turn sign-compare warnings back on. 2001-07-28 Stephen J. Turnbull <stephen@xemacs.org> * XEmacs 21.5.2 "artichoke" is released. 2001-07-26 Stephen J. Turnbull <stephen@xemacs.org> * xemacs.mak (configclean): New target. Convenience for multiplatform builds (need to delete the native config.h since it's newer than config.h.in). (distclean): Use it. * xemacs.mak (DEL): Remove error-suppressing "-" from definition. Use variable in shell structured commands. Prefix "-" to existing uses. (DELS, DELSQ): Remove definitions, WinME can't hack the switches. (distclean): Clean subdirectories of $(LISP) explicitly. * xemacs.mak: Move HAVE_WIDGET and HAVE_TOOLBAR configuration together. 2001-06-12 Stephen J. Turnbull <stephen@xemacs.org> * xemacs.mak (HAVE_ZLIB): New, defaults to HAVE_PNG. (USE_MINITAR): Default to HAVE_ZLIB. (MSW_LIBS): Add comctl32.lib if HAVE_WIDGETS. (mostlyclean, nicenclean, distclean, versionclean): Only one target per invocation of $(DEL); don't use unneeded switches (WinME support). (TEMACS_CPP_FLAGS): Add EMACS_PATCH_LEVEL. 2001-05-28 Nick V. Pakoulin <npak@ispras.ru> * xemacs.mak (install): Replace calls to (x)copy commands with COPY and COPYDIR variables. (COPY): New (COPYDIR): New 2001-05-26 Ben Wing <ben@xemacs.org> * xemacs.mak (DEPEND): * xemacs.mak (LASTFILE_OBJS): * xemacs.mak (LWLIB_OBJS): * xemacs.mak (TEMACS_OBJS): fix use of targets so that config.h doesn't end up being passed to the C compiler as an input file; that creates warnings. put back config.inc into depend-file targets; removed previously in a wrong attempt to fix this same problem. 2001-05-24 Ben Wing <ben@xemacs.org> * xemacs.mak (DOC): * xemacs.mak (TEMACS_OBJS): add glyphs-shared.c. 2001-05-23 Ben Wing <ben@xemacs.org> * xemacs.mak (installation): call `ver' to get the exact os version and put it in the installation; suggestion from adrian. 2001-05-21 Martin Buchholz <martin@xemacs.org> * xemacs.mak: Remove references to lwlib-config. 2001-05-01 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * xemacs.mak: Use link to make .rsrc writable, not editbin. 2001-05-10 Ben Wing <ben@xemacs.org> * xemacs.mak (TEMACS_LIBS): need another lib (netapi32.lib) for user-name-all-completions. * xemacs.mak (all): * xemacs.mak (OS): remove autoload-building target. 2001-05-09 Ben Wing <ben@xemacs.org> * xemacs.mak (OS): do not warn about gtk when we're not trying to compile with it. 2001-05-09 Martin Buchholz <martin@xemacs.org> * XEmacs 21.5.1 "anise" is released. 2001-05-01 Adrian Aichner <adrian@xemacs.org> * xemacs.mak: Define EMACS_PATCH_LEVEL like configure.in does. * xemacs.mak (XEMACS_VERSION_STRING): Build this more like configure.in does. * xemacs.mak (docfile): Use del instead of $(DEL) in shell command. 2001-05-01 Ben Wing <ben@xemacs.org> * config.inc.samp (MAKEINFO): point at more standard c: not f:. * minitar.c: * minitar.c (Usage): * minitar.c (octal): * minitar.c (makepath): * minitar.c (main): Fix more compiler warnings, clean up the style to conform more to standard XEmacs. 2001-05-01 Ben Wing <ben@xemacs.org> * xemacs.mak (DEPEND): Don't add config.inc to the horked depend file. It's not recognized by nmake and just results in warnings. * xemacs.mak (docfile): Don't use $(DEL) in the middle of a shell command, because it will try to call `-del' and fail. 2001-04-27 Adrian Aichner <adrian@xemacs.org> * compface.mak (clean): New target. * xemacs.mak: Use $(DEL) everywhere, instead of some occurences of del and @$(DEL). Add GTK supporting variables and document it as currently unsupported on MSWindows. * xemacs.mak (XEMACS_VERSION_STRING): Initialize according to emacs_is_beta. Use emacs_beta_version as patch level for non-beta version. * xemacs.mak (HAVE_GTK): New. * xemacs.mak (GTK_DIR): New. 2001-04-20 Ben Wing <ben@xemacs.org> * .cvsignore: Added stuff for Windows. 2001-04-18 Martin Buchholz <martin@xemacs.org> * XEmacs 21.5.0 "alfalfa" is released. 2001-03-14 Craig Lanning <CraigL@Knology.net> * minitar.c: Clean up some compiler warnings. 2001-03-21 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.46 "Urania" is released. 2001-03-06 Ben Wing <ben@xemacs.org> * xemacs.mak (DEPEND): Correct line that runs perl to do correct quoting regardless of whether nmake is run from bash. 2001-03-02 Ben Wing <ben@xemacs.org> * config.h: Sadly, we need to disable another warning (C4116, unnamed type definition in parentheses: A structure, union, or enumerated type with no name was defined in a parenthetical expression. The type definition is meaningless.), due to Martin's latest definition of ALIGNOF. 2001-02-23 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.45 "Thelxepeia" is released. 2001-02-09 Martin Buchholz <martin@xemacs.org> * config.h (HAVE_UTIME): New. * config.h (HAVE_UTIME_H): Remove. * config.h (HAVE_STRUCT_UTIMBUF): Remove. 2001-02-08 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.44 "Thalia" is released. 2001-01-26 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.43 "Terspichore" is released. 2001-01-20 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.42 "Poseidon" is released. 2001-01-17 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.41 "Polyhymnia" is released. 2001-01-08 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.40 is released. 2000-12-31 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.39 is released. 2000-12-05 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.38 is released. 2000-11-14 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.37 is released. 2000-10-27 Martin Buchholz <martin@xemacs.org> * config.h: Oops, _getpt ==> _getpty 2000-10-11 Martin Buchholz <martin@xemacs.org> * config.h (HAVE_XFREE86): Remove. (HAVE_XREGISTERIMINSTANTIATECALLBACK): New. (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New. 2000-10-10 Martin Buchholz <martin@xemacs.org> * config.h: Sync with pty/signaling related changes to src/config.h.in 2000-10-07 Adrian Aichner <aichner@ecf.teradyne.com> * xemacs.mak (default): Enforce runnig nmake from xemacs.mak's directory to avoid problems with relative paths. 2000-10-04 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.36 is released. 2000-09-30 Martin Buchholz <martin@xemacs.org> * config.h (HAVE_STRCASECMP): Remove. 2000-09-07 Jonathan Harris <jhar@tardis.ed.ac.uk> * xemacs.mak: Make src\depend parsing recognise "#if defined" instead of "#ifdef". Use matching single quotes to keep 4dos shell happy. 2000-08-07 Ben Wing <ben@xemacs.org> * xemacs.mak: add getloadavg.c. 2000-07-30 Ben Wing <ben@xemacs.org> * README (NOTE): Improve X documentation. Document nascent Mule support. Document current MS Windows contributors. 2000-07-15 Ben Wing <ben@xemacs.org> * xemacs.mak: added new file win32.c. took out unused alloca.c. * xemacs.mak (update-elc-2): added new target for rebuilding the remaining .elcs after dumped. its dependency is added for target all. * xemacs.mak (update-auto-and-custom): cleaned up ; now it byte-compiles custom-load.el. * xemacs.mak (mostlyclean): * xemacs.mak (clean): * xemacs.mak (nicenclean): * xemacs.mak (distclean): * xemacs.mak (realclean): * xemacs.mak (versionclean): Redid all the clean targets, to be similar to what's in the standard Makefile. 2000-07-18 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * xemacs.mak ($(PROGNAME)): Do check error code from temacs during dumping. 2000-07-19 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.35 is released. 2000-07-14 IKEYAMA Tomonori <tomonori@suiyokai.org> * config.h: Import C++ compilation stuff from src/config.h. 2000-07-05 Craig Lanning <lanning@scra.org> * xemacs.rc: Uppercase the id's so that windres will work. 2000-07-05 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * xemacs.mak (TEMACS_LIBS): Added comdlg32.lib 2000-06-12 Ben Wing <ben@xemacs.org> * config.h (ENCAPSULATE_STAT): Always encapsulate stat/fstat. Also suggested by Mike Alexander <mike.alexander@xemacs.org>. 2000-06-10 Ben Wing <ben@xemacs.org> * config.h: * config.h (HAVE_GETPAGESIZE): * config.h (HAVE_GETTIMEOFDAY): corrections to go along with removed nt/inc. removed HAVE_FEP. * config.inc.samp: correct graphics lib paths to agree with binaries provided in ftp aux dir. * xemacs.mak (DEPEND): * xemacs.mak (DEFINES): * xemacs.mak (LIB_SRC_DEFINES): * xemacs.mak (minitar): * xemacs.mak (TEMACS_LFLAGS): * xemacs.mak (tags): * xemacs.mak (all): * xemacs.mak (install): WINDOWSNT -> WIN32_NATIVE. Don't build run*.exe. comments about required ^^. Added setargv.obj to the list of linked entities, causing automatic wildcarding of filenames given on the command line. (As usual, enclose in double quotes to avoid this.) 2000-06-07 Ben Wing <ben@xemacs.org> * runemacs.c: Removed. No longer necessary. * Makefile.cygwin: Removed. * inc\*: Removed. At long-fucking-last! 2000-05-28 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.34 is released. 2000-05-12 Craig Lanning <CraigL@DyCon.com> * inc\sys\socket.h: Don't define timeval as ws_timeval for mingw32 2000-05-01 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.33 is released. 2000-04-27 Ben Wing <ben@xemacs.org> * xemacs.mak: combine auto-autoloads.el and custom.el update into one call to xemacs. 2000-04-26 Ben Wing <ben@xemacs.org> * xemacs.mak: put in support for QUICK_BUILD. * config.inc.samp: put in an entry for QUICK_BUILD. 2000-04-23 Ben Wing <ben@xemacs.org> * xemacs.mak: Modified section that dumps .exe to not dump when nothing has changed. It does this by relying on a flag set by update-elcs. Also in building of auto-autoloads.el, we no longer unconditionally remove the old one. That was pointless and made the whole build procedure a lot longer -- the autoload code is smart enough to update itself automatically from an out-of-date autoload file. 2000-04-04 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * xemacs.mak: Build the i utility and use it to pipe windowed [xt]emacs output to the build console. 2000-03-25 Didier Verna <didier@xemacs.org> * config.h: handle the renaming of `foo_h_path' to `foo_h_file'. 2000-03-22 Mike Alexander <mta@arbortext.com> * xemacs.mak (PROGRAM_DEFINES): Define EMACS_VERSION and EMACS_PROGNAME (DEPEND): Don't try to create $(OUTDIR) if it already exists ($(SRC)\dump-id.c): Make it (DOC_SRC11): Add dumper.c if portable dumping (dump-xemacs): Make portable dumping work again and create dump-id.c and compile it whenever we do a portable dump. (depend): Change $(SRCDIR) to $(SRC) 2000-03-22 Jonathan Harris <jhar@tardis.ed.ac.uk> * .cvsignore: New file, ignores user's config.inc and files containing the user's DevStudio workspace info. * config.h.samp: Added DEPEND option. Renamed HAVE_MSW and HAVE_X to HAVE_MS_WINDOWS and HAVE_X_WINDOWS. * README: Documented DEPEND option. Other small changes. * Todo: Removed - was hopelessly out of date. * config.h.samp: * xemacs.mak: Added DEPEND option to control use of dependency information generated by make-src-depend. Requires Perl. Defaults to disabled. Renamed HAVE_MSW and HAVE_X to HAVE_MS_WINDOWS and HAVE_X_WINDOWS as a side-effect. Handles '&' in XEmacs codenames by replacing with 'and'. * xemacs.dsp: Correct Output_Dir so that DevStudio finds the xemacs executable by default. 2000-03-20 Ben Wing <ben@xemacs.org> * README: Substantial rewrite. * xemacs.mak: Pdump fix. (not working yet, though) 2000-03-20 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.32 is released. 2000-03-15 Mike Alexander <mta@arbortext.com> * xemacs.mak: Fix for generation of $(XEMACS)\Installation. 2000-03-14 Adrian Aichner <adrain@xemacs.org> * xemacs.mak (LIB_SRC_TOOLS): LIB_SRC_TOOLS depend on XEMACS_INCLUDES when we USE_PORTABLE_DUMPER. 2000-03-13 Ben Wing <ben@xemacs.org> * xemacs.mak (TEMACS_ENTRYPOINT): Fix for portable dumper. 2000-03-12 Ben Wing <ben@xemacs.org> * xemacs.mak (*): * config.inc: New. a) Added a file called config.inc which makes it easier to set build options for MS Windows. (Previously, the only way to do this was through command line options to nmake.) b) Cleaned the file up a bit. c) Changed xemacs to be a windows application and not a console application, now that runemacs.exe is no longer necessary. d) Added support for building the tags file. * xemacs.dsw: New. * xemacs.dsp: New. For compiling, editing, and debugging XEmacs using the VC++ 5.0 GUI. They may well work under other versions of VC++, but I don't have access to them to test them. 2000-03-11 Andy Piper <andy@xemacs.org> * PROBLEMS: Doc fix from Reini Urban <rurban@x-ray.at>. 2000-02-27 Mike Alexander <mta@arbortext.com> * xemacs.rc: Include the portable dump data if INCLUDE_DUMP is defined * xemacs.mak: Add the portable dump data to the EXE as a resource 2000-03-07 Jonathan Harris <jhar@tardis.ed.ac.uk> * xemacs.mak (TEMACS_LIBS): Add ole32.lib and uuid.lib. (installation): Always regenerate installation report. 2000-02-25 Craig Lanning <CraigL@DyCon.com> * inc\sys\time.h: MinGW defines struct timeval in <winsock.h>. 2000-02-24 Martin Buchholz <martin@xemacs.org> * config.h (INLINE_HEADER): Define properly (?) for Windows. 2000-02-23 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.31 is released. 2000-02-22 Martin Buchholz <martin@xemacs.org> * config.h (gc_checking_assert): New. 2000-02-21 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.30 is released. 2000-02-21 Jonathan Harris <jhar@tardis.ed.ac.uk> * README: Tidy up. Document need for makeinfo program or texinfo package. * Xmd.patch: New file, previously in README. 2000-02-17 Martin Buchholz <martin@xemacs.org> * config.h: Delete unused HAVE_LINUX_VERSION_H. 2000-02-16 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.29 is released. 2000-02-06 Mike Alexander <mta@arbortext.com> * xemacs.mak (install): Copy xemacs.dmp if using the portable dumper. 2000-02-07 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.28 is released. 2000-02-03 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * Xpm.def: New file, required to build Xpm.dll. * Xpm.mak: Use DEBUG instead of DEBUG_XEMACS - this library is not xemacs-specific. Initialize to DEBUG_XEMACS if specified for compatibility. Build DLL instead of static LIB when USE_CRTDLL=1 is given to make. * xemacs.mak: Introduced USE_SYSTEM_MALLOC and USE_CRTDLL. Do not build lastfile.lib when neither unexec not gmalloc are used. * config.h: Deleted GNU_MALLOC and SYSTEM_MALLOC, as they are set in makefile. 2000-01-26 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * xemacs.mak (DOC_SRC9): Added tests.c ... (TEMACS_DEBUG_OBJS): ... and tests.obj ($(DOC)): Tweaked a bit, for `nmake docfile' unconditionally rebuild the docfile. 2000-01-22 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * xemacs.mak (docfile): Added shortcut target. 2000-01-19 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * xemacs.mak (TEMACS_LIBS): Added winspool.lib 2000-01-20 Martin Buchholz <martin@xemacs.org> * xemacs.mak (dump-xemacs): Remove redundant EMACSBOOTSTRAPMODULEPATH. 2000-01-18 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * xemacs.mak: Patch of 01/13 got in corrupted, fixed. 2000-01-18 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.27 is released. 2000-01-18 Martin Buchholz <martin@xemacs.org> * minitar.c: Errno.h --> errno.h. Remove errno declaration. 2000-01-13 Kirill 'Big K' Katsnelson <kkm@dtmx.com> * xemacs.mak: Added USE_PORTABLE_DUMPER make command line macro. (temacs:) Added dependency for lastfile.lib so that 'make temacs' builds it first. 1999-12-28 Scott Blachowicz <Scott.Blachowicz@seaslug.org> * minitar.mak: Add vars to allow building from main xemacs.mak. * xemacs.mak: Add rules to build & install minitar. 2000-01-03 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> * config.h: Fix stuff related to mail locking. 1999-12-31 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.26 is released. 1999-12-24 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.25 is released. 1999-12-15 Scott Blachowicz <Scott.Blachowicz@seaslug.org> * minitar.c (main): Add explicit exit(0) to get successful return code. 1999-12-14 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.24 is released. 1999-11-28 Adrian Aichner <adrian@xemacs.org> * xemacs.mak (depend): Only update `depend' if there were changes. Use "perl ./make-src-depend" instead of "mkdepend". 1999-12-07 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.23 is released. 1999-11-27 Adrian Aichner <adrian@xemacs.org> * xemacs.mak (SRCDIR): Make path to xemacs absolute to facilitate building info in man subdirs. Echo all cd commands, not just some of them. (makeinfo-test): Test for availability of `texinfo' package to build info. Recommend use of external `makeinfo' program for building info docs faster. (info): cd into man subdirs to support use of external `makeinfo' program. 1999-11-17 Martin Buchholz <martin@xemacs.org> * xemacs.mak: Remove references to index.unperm, index.perm. Fix dependencies. Shouldn't .obj and .info be in SUFFIXES? Remove extra `\'. 1999-11-29 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.2.22 is released 1999-11-28 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.21 is released. 1999-11-10 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.2.20 is released 1999-10-07 Norbert Koch <n.koch@eai-delta.de> * xemacs.mak: Ignore return code of 'del' calls. Use a make variable for 'del'. 1999-09-26 Adrian Aichner <adrian@xemacs.org> * xemacs.mak (all): Update $(LISP)/auto-autoloads.elc? and $(LISP)/custom-load.el using XEmacs itself, like xemacs-packages do. ($(LISP)\auto-autoloads.el): Add new rule. ($(LISP)\custom-load.el): Ditto. 1999-08-04 Andy Piper <andy@xemacs.org> * xemacs.mak (HAVE_WIDGETS): add define to appropriate places. 1999-07-26 Adrian Aichner <adrian@xemacs.org> * xemacs.mak ($(MANDIR)\lispref\lispref.texi): Replace bad dependency. 1999-07-30 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.2.19 is released 1999-07-10 Adrian Aichner <adrian@xemacs.org> * xemacs.mak (.SUFFIXES): Add .texi. (check): Improve automated test section. (info): Generate info files using XEmacs (no makeinfo.exe needed). 1999-07-19 Andy Piper <andy@xemacs.org> * xemacs.mak (DOC_SRC3): add gutter.c (TEMACS_OBJS): add gutter.obj. 1999-07-13 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.2.18 is released 1999-06-22 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.2.17 is released 1999-06-13 Adrian Aichner <adrian@xemacs.org> * xemacs.mak (DOC_SRC8): Remove mule-coding.c. (TEMACS_MULE_OBJS): Remove mule-coding.obj (check): Implement according to src/Makefile. (check-temacs): ditto. 1999-06-05 Norbert Koch <n.koch@delta-ii.de> * xemacs.mak (mule): remove dependencies from mule-coding.c 1999-06-11 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.2.16 is released 1999-05-14 Adrian Aichner <adrian@xemacs.org> * xemacs.mak (GUNG_HO): Explicitly default to 0. Fix some comment typos. ($(XEMACS)\Installation): Create it in the toplevel-directory, where it is expected by loadup.el 1999-06-04 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.2.15 is released 1999-05-31 Andy Piper <andy@xemacs.org> * xemacs.mak: add select & select-x targets. 1999-05-14 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.2.14 is released 1999-05-12 SL Baur <steve@gneiss.etl.go.jp> * xemacs.mak: please document me From Norbert Koch <n.koch@delta-ii.de> 1999-05-03 Hrvoje Niksic <hniksic@srce.hr> * xemacs.mak ($(LISP)\Installation.el): Don't use `replace-in-string'. 1999-03-17 Adrian Aichner <adrian@xemacs.org> * xemacs.mak: Remove ESC macro -- no longer needed. Remove small configuration report. Remove simplified version of Installation and Installation.el (Installation.el): Create it depending on "Installation" file. Replace \r characters by use of `replace-in-string' in lisp-land. (all): Make it depend on "Installation" file. (Installation): Create a complete "Installation" file, looking much like what is generated by "configure" on UNIX systems. Insert WARNING where appropriate (currently when building without HAVE_XPM, HAVE_PNG, and HAVE_MSW_C_DIRED). Type "Installation" to STDOUT much like the "small configuration report" did. 1999-04-29 Andy Piper <andy@xemacs.org> * sys/file.h: conditionalise definition of X_OK. 1999-03-12 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.2.13 is released 1999-03-07 Jonathan Harris <jhar@tardis.ed.ac.uk> * xemacs.mak: Don't link lib-src programs incrementally. Don't include debug info in release builds. Put intermediate files in the appropriate directories. Make "distclean" target delete all intermediate files. 1999-03-07 Jonathan Harris <jhar@tardis.ed.ac.uk> * xemacs.mak: Fix building on Windows 95/98 by conditionalising escape character '^'. Only put mule-packages in package path on MULE builds. Only build source browser files on debug builds. Build source browser database before link so that it's available even if link fails. 1999-03-05 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.2.12 is released 1999-03-03 Gleb Arshinov <gleb@cs.stanford.edu> * xemacs.mak (HAVE_XFACE): fix for building without X-Face support provided by Brent B. Powers <bpowers@ms.com>. * xemacs.mak (CONFIG_ERROR): Misc error detection for build with X-Face. 1999-02-01 Gleb Arshinov <gleb@cs.stanford.edu> * README: Document the X-Face build option. * compface.mak: New file Makefile for building compface library under MSVC. Build library only, not executables. Should be extended to build executables and propagated upstream, if possible. * xemacs.mak: Link in X-Face/Compface for NT native build. 1999-03-01 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.2.11 is released 1999-02-05 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.2.10 is released 1999-02-02 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.2.9 is released 1999-01-14 Adrian Aichner <adrian@xemacs.org> * xemacs.mak (MODULES): Adding variable. (update-elc): Setting EMACSBOOTSTRAPMODULEPATH. 1998-12-17 Charles G. Waldman <cgw@pgt.com> * minitar.c: New file * minitar.mak: New file 1998-12-29 Jonathan Harris <jhar@tardis.ed.ac.uk> * xemacs.mak: Changed x86 EMACS_CONFIGURATION to i586-pc-win32 since we build optimised for Pentium. Created CFLAGS variable, used in building all objects and in constructing config.values. Added glyphs-widget.c and gui-msw.c to list of sources. Added PACKAGE_PATH to EMACSBOOTSTRAPLOADPATH for mule builds. 1998-12-28 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.8 is released. 1998-12-24 Martin Buchholz <martin@xemacs.org> * XEmacs 21.2.7 is released. 1998-12-13 Jonathan Harris <jhar@tardis.ed.ac.uk> * xemacs.mak: Replaced PACKAGEPATH variable with PACKAGE_PREFIX. configure-package-path is initialised to contain subdirectories of PACKAGE_PREFIX. The install target makes a skeleton package tree under PACKAGE_PREFIX. * README, PROBLEMS: Documented the package path changes. Corrected the advice on a suitable minimal set of packages. 1998-12-17 Andy Piper <andy@xemacs.org> * xemacs.mak ($(LIB_SRC)/movemail.exe): adapt make rule to build with pop support. * xemacs.mak: add gui-msw.c and glyphs-widget.c object lists. 1998-12-16 Andy Piper <andy@xemacs.org> * XEmacs 21.2.6 is released 1998-12-11 Adrian Aichner <adrian@xemacs.org> * xemacs.mak (DOC_SRC2): CLASH_DETECTION is not supported under native Windows NT. Therefore src\filelock.c is not to be compiled. (TEMACS_OBJS): Consequently, don't link in $(OUTDIR)\filelock.obj. 1998-12-10 Jonathan Harris <jhar@tardis.ed.ac.uk> * xemacs.mak ($(OUTDIR)\alloc.obj): add a dependency on puresize-adjust.h to avoid infinite recursion. 1998-12-09 Andy Piper <andy@xemacs.org> * config.h: remove clash detection stuff. 1998-12-07 Martin Buchholz <martin@xemacs.org> * xemacs.mak (TEMACS_OBJS): (DOC_SRC4): - Remove pure.c, pure.obj 1998-11-04 Adrian Aichner <adrian@xemacs.org> * xemacs.mak: Creating minimal versions of Installation, Installation.el, and config.values to make (describe-installation) and (config-value ...) work in Windows NT native builds. Incorporating rule for movemail.exe courtesy of Andy Piper. 1998-12-05 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.2.5 is released 1998-11-28 SL Baur <steve@altair.xemacs.org> * XEmacs 21.2-beta4 is released. 1998-10-29 Andy Piper <andyp@parallax.co.uk> * xemacs.mak ($(LIB_SRC)/movemail.exe): add etags dependencies to pull in getopt and friends. 1998-10-15 SL Baur <steve@altair.xemacs.org> * XEmacs 21.2-beta3 is released. 1998-09-29 SL Baur <steve@altair.xemacs.org> * XEmacs 21.2-beta2 is released. 1998-09-19 Adrian Aichner <adrian@xemacs.org> * tiff.mak: New file provided by Charles Wilson <cwilson@ee.gatech.edu> * README: Update provided by Charles Wilson <cwilson@ee.gatech.edu>. Documenting use of the newly introduced tiff.mak. Renumbering subsequent build instruction items. 1998-09-20 Jonathan Harris <jhar@tardis.ed.ac.uk> * PROBLEMS: New file. * xemacs.mak: Install the PROBLEMS file in the root directory of the XEmacs installation. 1998-08-31 Jonathan Harris <jhar@tardis.ed.ac.uk> * xemacs.mak: Detect failure to supply PNG_DIR or XLIB_DIR when building with PNG support. 1998-08-31 Jonathan Harris <jhar@tardis.ed.ac.uk> * README: Document the PNG, ZLIB, JPEG, TIFF and GIF build options. 1998-08-12 Jeff Sparkes <jsparkes@internetivity.com> * xemacs.mak: Link in GIF, fix HAVE_JPEG default. 1998-08-09 Jonathan Harris <jhar@tardis.ed.ac.uk> * xemacs.mak (install): Win95 fixes: DOS mkdir doesn't create intermediate directories. xcopy does so use it to create the install and lock directories. Removed trailing backslashes from copy commands since DOS copy doesn't like them. 1998-08-05 Charles G. Waldman <cgw@pgt.com> * xemacs.mak: change "copy" to "xcopy" in install target 1998-08-04 Jeff Sparkes <jsparkes@internetivity.com> * xemacs.mak: Link in PNG, TIFF and JPEG in native build. 1998-08-04 Jonathan Harris <jhar@tardis.ed.ac.uk> * README: XEmacs has been successfully built with MSVC 4.0. Mention the vcvars32.bat file installed with the MSVC tools. 1998-07-19 SL Baur <steve@altair.xemacs.org> * XEmacs 21.2-beta1 is released. 1998-07-13 Jonathan Harris <jhar@tardis.ed.ac.uk> * xemacs.mak: Add path to xemacs.res dependency. 1998-07-12 SL Baur <steve@altair.xemacs.org> * XEmacs 21.0-pre5 is released. 1998-07-09 SL Baur <steve@altair.xemacs.org> * XEmacs 21.0-pre4 is released. 1998-07-04 Jonathan Harris <jhar@tardis.ed.ac.uk> * README: Documented the changed PACKAGEPATH option and the new INSTALL_DIR option, install target and runemacs executable. Added more debugging documentation. * config.h: Don't undef EMACS_CONFIGURATION because it's now set in the makefile. * xemacs.mak: Added an INSTALL_DIR option and install target. Renamed the default package location option to PACKAGEPATH and made it cope with paths with spaces in them. Made non-debug build the default; DEBUG_XEMACS defaults to 0. System configuration (EMACS_CONFIGURATION) now correctly determined at build-time by this makefile. Compiles the runemacs executable as part of the all target. 1998-06-29 SL Baur <steve@altair.xemacs.org> * config.h: * xemacs.mak: NT native sound fixes From Fabrice POPINEAU via Adrian Aichner <adrian@xemacs.org> 1998-06-21 Martin Buchholz <martin@xemacs.org> * xemacs.mak: It's XEmacs, not Xemacs! 1998-06-19 Jonathan Harris <jhar@tardis.ed.ac.uk> * file.ico, lisp.ico: New icons to represent a generic file and a lisp file. * xemacs.rc: Build file.ico and lisp.ico into the executable. 1998-06-15 Peter Windle <peterw@sdl.ug.eds.com> * xemacs.mak: Made XPM and X11 checks cope with case-sensitive NFS. Also apply Sean MacLennan's change allowing emacs_beta_version to be undefined. 1998-06-19 SL Baur <steve@altair.xemacs.org> * xemacs.mak (distclean): Reorder when puresize-adjust.h gets deleted. From Adrian Aichner <adrian@xemacs.org> 1998-06-08 Kirill M. Katsnelson <kkm@kis.ru> * config.h: Undefined DONT_ENCAPSULATE. Defined ENCAPSULATE_* for fopem, open, rename and mkdir. Removed MS-DOS code remains. 1998-06-03 Rick Rankin <Rick_Rankin-P15254@email.mot.com> * Makefile.cygwin: created to compile runemacs.c. This should probably have a Makefile.in, but... * runemacs.c: modified to check to see if xemacs is a symbolic link when compiled under Cygwin. 1998-05-31 Kirill M. Katsnelson <kkm@kis.ru> * xemacs.mak: Added lib-src/wakeup.exe 1998-05-30 Kirill M. Katsnelson <kkm@kis.ru> * xemacs.mak: Added rules for hexl.exe, movemail.exe, mmencode.exe sorted-doc.exe, etags.exe 1998-05-30 Kirill M. Katsnelson <kkm@kis.ru> * xemacs.mak: Support building InfoDock, with INFODOCK=1 macro in the command line. 1998-05-26 Kirill M. Katsnelson <kkm@kis.ru> * inc/sys/dir.h: Removed #ifndef WINDOWSNT around the code which should be compiled in (sic!). Removed 'extern' before function prototypes. 1998-05-20 Kirill M. Katsnelson <kkm@kis.ru> * xemacs.mak: Unified -nologo compiler switch handling and lib-src programs build (only make-docfile currently, adding other tools soon). 1998-05-23 Kirill M. Katsnelson <kkm@kis.ru> * xemacs.mak: Added HAVE_DIALOGS macro, and dialog-*.* files to docfile creation and compilation. Defaulted HAVE_MSW to 1. Changed lib-src references to be relative to $(XEMACS)/, not ../ 1998-05-16 Kirill M. Katsnelson <kkm@kis.ru> * xemacs.mak: Removed inline.{c,obj}. It did buy nothing. 1998-05-15 Kirill M. Katsnelson <kkm@kis.ru> * xemacs.mak: Comment out dialog.{c,obj} from build. 1998-05-11 Jonathan Harris <jhar@tardis.ed.ac.uk> * nt/config.h: Unconditionally define new HAVE_DRAGNDROP. 1998-05-10 Kirill M. Katsnelson <kkm@kis.ru> * xemacs.mak: Added dragdrop.{c,obj} 1998-05-08 Kirill M. Katsnelson <kkm@kis.ru> * config.h (enum_field): Redefine to be unsigned int. 1998-05-07 Kirill M. Katsnelson <kkm@kis.ru> * xemacs.mak: Really honor minimal tagbits, indexed lrecord and union type. 1998-05-03 Kirill M. Katsnelson <kkm@kis.ru> * inc/sys/socket.h: Removed encapsulating definitions for Winsock functions. 1998-05-04 Kirill M. Katsnelson <kkm@kis.ru> * xemacs.mak: Defined PATH_PROGNAME and PATH_VERSION C macros. Make _DEBUG defined only when DEBUG_XEMACS. 1998-04-26 Kirill M. Katsnelson <kkm@kis.ru> * xemacs.mak: Added glyphs-eimage.{c,obj} 1998-04-20 Kirill M. Katsnelson <kkm@kis.ru> * xemacs.mak: Support "Don't panic, I will restart make" exit code. Extra checks for externally specified X{PM,11}_DIR. Proper quoting to allow spaces in these paths. Conduct all config checks at once. New option VERBOSECC. When non-zero, C compiler echoes its commands. When zero, only name of the file being compiled is echoed. Default is 0 (do not echo). 1998-04-17 Jonathan Harris <jhar@tardis.ed.ac.uk> * README: Documented new msvc build procedure, including XPM support. * xemacs.mak: Added XPM and TOOLBARS support for native msvc build. * xpm.mak: New file Makefile for building xpm library under msvc. Hopefully this will be part of future xpm distributions. 1998-04-10 Kirill M. Katsnelson <kkm@kis.ru> * config.h: Do not USE_ASSERTION when DEBUG_XEMACS is not defined. * xemacs.mak: Added new file process-nt.c 1998-04-07 Kirill M. Katsnelson <kkm@kis.ru> * xemacs.mak: Added build options which can be defined in nmake command line (defaults are parentheses): HAVE_MSW=0/1 (0) Build with native GUI HAVE_X=0/1 (0) Build with X-Windows ** At least one must be defined X11_DIR=path () Path to the root dir of X11R6 installation ** Must be defined when HAVE_X=1 HAVE_MULE=0/1 (0) Compile in MULE HAVE_MSW_C_DIRED=0/1(1) Compile in fast dired PATH_PACKAGEPATH=path Package search path ("~/.xemacs") DEBUG_XEMACS=0/1 (1) Compile with symbols, assertions and extra debugging checks USE_UNION_TYPE=0/1 (0) USE_MINIMAL_TAGBITS=0/1 (0) USE_INDEXED_LRECORD_IMPLEMENTATION=0/1 (0) GUNG_HO=0/1 (none) When specified, overrides the above two. : Added output of a configuration report : Added copyright notice. : Deleted remains of ImageMagick. (distclean): Do not use mskedepend (install): echo "Not yet implmented". 1998-04-05 Kirill M. Katsnelson <kkm@kis.ru> * config.h (enum_field): Borrow new definition from config.h.in 1998-04-01 Kirill M. Katsnelson <kkm@kis.ru> * config.h: Patial sync-up with config.h.in 1998-03-25 jhar@tardis.ed.ac.uk * xemacs.mak: Adds glyphs-msw.c and imgproc.c and reflects alterations to package_path in nt/xemacs.mak. 1998-03-24 Kirill M. Katsnelson <kkm@kis.ru> * xemacs.mak (dump-xemacs): Replaced use of `touch' with `echo'. 1998-03-20 Kirill M. Katsnelson <kkm@kis.ru> * xemacs.mak: Removed all references to deleted dgif_lib.{c,obj}, gif_err.{c,obj} and gifalloc.{c,obj}. New image support is not compiled in yet. 1998-03-19 Kirill M. Katsnelson <kkm@kis.ru> * xemacs.mak: HAVE_FILE_CODING removed: it is no longer an option, since file I/O depends on it, and defined unconditioanlly in src/s/windowsnt.h. Added -nologo switch to different tools here and there. Suppressed some irrelevant make output. 1998-02-28 Kirill M. Katsnelson <kkm@kis.ru> * xemacs.mak: Defined HAVE_FILE_CODING variable, an equivalent of --with-file-coding configure option. Default is yes. 1998-03-13 Kirill M. Katsnelson <kkm@kis.ru> * xemacs.mak (update-elc): Copy Installation.el to $(LISP) * Installation.el: New file, copied by xemacs.mak during build. Fri Feb 20 21:22:34 1998 Darryl Okahata <darrylo@sr.hp.com> * xemacs.mak: Added entry for src/dired-msw.c. Use of the dired-in-C enhancements is optional, and is determined by HAVE_MSW_C_DIRED. See comments in xemacs.mak. 1998-02-18 Kirill M. Katsnelson <kkm@kis.ru> * xemacs.mak: Fixed lost docstrings 1998-01-28 Jonathon Harris <jhar@tardis.ed.ac.uk> * xemacs.mak: Updated accordingly. Creates the MSVC browse info immediately after the link. 1997-12-29 Kirill M. Katsnelson <kkm@kis.ru> * config.h: Suppressed MSVC warning 'relational' : signed/unsigned mismatch * config.h: INLINE defined to __inline for MSVC compilers >= 2.x 1997-12-26 Kirill M. Katsnelson <kkm@kis.ru> * xemacs.mak: added menubar-msw.c, menubar.c * xemacs.mak: scrollabrs and menubars are rearranged properly under different ifdef'd secions, so for example menubar.obj goes to always compiled section, and menubar-msw.obj is built only when HAVE_MSW. * xemacs.mak: Compiler warning flag definition moved to a macro CPP_WARN_FLAGS. Redefined from -w to -W3 (Doh!). 1997-12-11 David Hobley <davidh@wr.com.au> * Added support for auto generation of puresize-adjust.h in xemacs.mak. Also created new file puresize-adjust.h to copy into src on initial build. Mon December 08 1997 kkm@kis.ru * xemacs.mak: added profile.c, removed event-unixod.c * xemacs.mak: removed dangerous defines _IX_86, _X86_, _MSC_VER * config.h: removed #define HAVE_UNIXOID_EVENT_LOOP Thu December 04 1997 jhar@tardis.ed.ac.uk * xemacs.mak: Define DEBUG_XEMACS when compiling with debug. Tue November 29 12:29:33 1997 davidh * xemacs.mak and config.h updated to provide ability to specify DEBUG mode from the xemacs.mak file. Mon December 01 1997 jhar * msw-init.el: Provide default bindings for cut, paste, copy and undo * event-msw.c, event-msw.h, frame-msw.c, msw-proc.c: - Implemeted simple emacs_mswindows_event_pending_p(). - Fixed deleting frames. - Rewrote timeout code, eliminating "!NILP(rest)" bug. - Special processing for 'Ctrl-@' keystroke. - Support for some new keysyms. Mon December 01 1997 jhar * xemacs.mak: - Add PACKAGE_PATH and EMACS_BETA_VERSION defines. - Automatically copy changed include files from \nt to \src. - Corrected some DOC_SRC* lists. Tue November 18 21:45:06 1997 davidh * xemacs.mak updated to remove dependency on startup.elc HAVE_IMAGEMAGICK added for X build. Thu September 25 23:06:44 1997 davidh * xemacs.mak updated to make the build as simple as typing nmake -f xemacs.mak. Also support for native gui included which should mean the w32 directory is no longer required. * config.h synced with config.h.in from 20.3-b2 * synced in changes to support native gui. Thu September 25 23:06:44 1997 davidh * August Hill provided a patch to xemacs.mak to greatly simplify the build - the DOC file gets created correctly. Tue September 22 23:06:44 1997 davidh * August Hill provided some more patches - to expand ~ correctly and to correctly deal with drive letters in the path. * emacs.c patched to call init_ntproc() Tue July 15 19:32:21 1997 davidh * August Hill provided some more patches to make things better - there is a workaround for dired to make the ^M's disappear - a patch to fix shell-command Tue July 08 22:01:36 1997 davidh * #ifdef'd call to vfork and replaced with spawn as per GNU Emacs; as a result, removed /force - XEmacs now links normally. Thu June 31 21:16:21 1997 davidh * nt/TODO created. * nt/X11.patch created to help with the X build. * August Hill provided: a patch to fix the _WRETCODE undefined symbol, a patch to fix a problem with dired and generally helped clarify the build instructions. * Synced with 20.3b10 (Athens). * Made DIRECTORY_SEP be '\\'. Until I can change all code to use the macro, I decided this would be easiest. * Modified src/fileio.c to only open files in O_BINARY. This causes files to be opened and written without automatically writing ^M 's to the end of each line. MULE ought to sort this in theory, but I am less than convinced. * Updated the nt/README to provide a little more help. Thu May 29 23:11:21 1997 davidh * Synced with 20.3b2. * Removed nt/README.src, nt/src.m.windowsnt.h nt/src.s.windowsnt.h. * Updated README from marcpa. * Added example Win32.cf and site.def files for X. * Added sed.exe into nt/. * Modified nt/xemacs.mak to pass correct flags to lwlib compile. * Added extra .elc files to ensure make-docfile gets all symbols. * Modified balloon_help.c to compile (#if'd max definition) * Modified src/event-Xt.c so as not to add signal_event_pipe to be selected on - this is a hack until I can work out a better way. Thanks to Ben Wing for help on this. Thu Mar 27 20:56:21 1997 marcpa (marcpa at MARCPA) * Synced with 20.1b9. Sun Mar 16 00:32:15 1997 marcpa (marcpa at MARCPA) * lisp/eterm/README.term is truncated: is it just me (because I'm on NT) or everyone else sees this ? Answer: it is because it contains a ^Z embedded in it, therefore it needs to be inserted in binary mode in CVS. Thu Mar 13 00:19:25 1997 marcpa (marcpa at MARCPA) * At end of compilation, there are some unresolved symbols: link.exe @C:\TEMP\nma00115. sysdep.obj : error LNK2001: unresolved external symbol _vfork ../src/temacs.exe : warning LNK4088: image being generated due to /FORCE option; image may not run Wed Mar 12 23:18:53 1997 marcpa (marcpa at MARCPA) * Need to copy the nt/inc directory David originally submitted or NT code won't compile. * Need to copy nt/{config.h,paths.h,ad2c.sed,xemacs.mak} in src. * Had to modify XEmacs sources here and there : see the diffs between NT_FIRST_COMPILE and V20_1_beta9. * Needed to patch X11R6.3 sources: (include/x11/Xmd.h:155) BOOL is already defined by Windows and is a long, while X wants it to be an unsigned char. --- Xmd.h~ Thu Jun 08 23:20:40 1995 +++ Xmd.h Sun Mar 16 13:09:10 1997 @@ -150,8 +150,9 @@ typedef CARD16 BITS16; typedef CARD8 BYTE; +#ifndef WIN32 typedef CARD8 BOOL; - +#endif * cpp.exe not used: cl.exe from VC++4.2 seems to handle everything properly.