Commit 40d83b41 authored by Stefan Monnier's avatar Stefan Monnier

Merge from trunk

parents f488fb65 44f230aa
......@@ -5,5 +15,3 @@ makefile
# arch-tag: 75cd3c50-1875-4814-8360-190f7de38302
2011-03-28 Glenn Morris <>
* autogen/update_autogen: Pass -f to autoreconf.
* (get_version): Discard "not found" lines.
(check_version): Respect $AUTOCONF etc environment variables.
2011-03-27 Glenn Morris <>
* (AC_TYPE_SIGNAL): Remove obsolete macro.
(AH_BOTTOM): Do not define SIGTYPE.
2011-03-26 Glenn Morris <>
* Replace obsolete macros AC_TRY_COMPILE, AC_TRY_LINK,
2011-03-25 Andreas Schwab <>
* autogen/update_autogen: Remove useless function keyword.
2011-03-25 Eli Zaretskii <>
* config.bat: Generate src/config.h and lib/Makefile from
autogen/ and autogen/
2011-03-25 Glenn Morris <>
* compile, config.guess, config.sub, depcomp, install-sh, missing:
Remove; autoreconf can supply them.
* (sync-from-gnulib): Don't sync config.sub,
config.guess, install-sh. Pass -i to autoreconf.
* autogen/update_autogen (genfiles): Add compile, config.guess,
config.sub, depcomp, install-sh, missing. Pass -i to autoreconf.
Discard non-error output from autoreconf in -q case.
* autogen/compile, autogen/config.guess, autogen/config.sub:
* autogen/depcomp, autogen/install-sh, autogen/missing: New.
* autogen/copy_autogen: Add compile, config.guess, config.sub, depcomp,
install-sh, missing.
2011-03-23 Glenn Morris <>
* autogen/update_autogen: Fix typo.
(msg): Remove function; use `exec' instead.
* (mkdir): Use `install-sh -d' instead of mkinstalldirs.
(sync-from-gnulib): Don't sync mkinstalldirs.
* make-dist: Don't distribute mkinstalldirs.
2011-03-23 Paul Eggert <>
Fix more problems found by GCC 4.5.2's static checks.
* (GNULIB_MODULES): Add socklen.
* Do not check for sys/socket.h, since socklen does that.
* m4/socklen.m4: New automatically-generated file, from gnulib.
fakemail: Remove dependency on ignore-value.
* (GNULIB_MODULES): Add stdio.
* lib/, m4/stdio_h.m4: New files, automatically
imported from gnulib.
* .bzrignore: Add lib/stdio.h.
2011-03-22 Glenn Morris <>
* autogen/copy_autogen: Work from ./ or ../.
Fix time-stamps.
* Doc fix.
2011-03-20 Glenn Morris <>
* autogen/: New directory, to be excluded from releases.
......@@ -17,11 +17,11 @@ The `' script can help you figure out if you have the
necessary tools.
The first time you build, there are a couple of extra steps.
First, generate the `configure' script:
First, generate the `configure' script and some related files:
$ ./
(or you can just run `autoreconf -I m4').
(or you can just run `autoreconf -i -I m4').
You can then configure your build (use `./configure --help' to see
options you can set):
......@@ -332,7 +332,8 @@ DOS_gnulib_comp.m4 = gl-comp.m4
# as per $(gnulib_srcdir)/DEPENDENCIES.
crypto/md5 dtoastr filemode getloadavg getopt-gnu \
ignore-value intprops lstat mktime readlink strftime symlink sys_stat
ignore-value intprops lstat mktime readlink \
socklen stdio strftime symlink sys_stat
--import --no-changelog --no-vc-files
sync-from-gnulib: $(gnulib_srcdir)
......@@ -343,13 +344,9 @@ sync-from-gnulib: $(gnulib_srcdir)
cd $(srcdir)/m4 && mv gnulib-comp.m4 $(DOS_gnulib_comp.m4)
cp $(gnulib_srcdir)/build-aux/texinfo.tex $(srcdir)/doc/misc
cp \
$(gnulib_srcdir)/build-aux/config.sub \
$(gnulib_srcdir)/build-aux/config.guess \
$(gnulib_srcdir)/build-aux/install-sh \
$(gnulib_srcdir)/build-aux/mkinstalldirs \
$(gnulib_srcdir)/build-aux/move-if-change \
cd $(srcdir) && autoreconf -I m4
cd $(srcdir) && autoreconf -i -I m4
.PHONY: sync-from-gnulib
# These targets should be "${SUBDIR} without `src'".
......@@ -677,7 +674,7 @@ install-strip:
### Build all the directories we're going to install Emacs in. Since
### we may be creating several layers of directories (for example,
### /usr/local/lib/emacs/19.0/mips-dec-ultrix4.2), we use mkinstalldirs
### /usr/local/lib/emacs/19.0/mips-dec-ultrix4.2), we use install-sh -d
### instead of mkdir. Not all systems' mkdir programs have the `-p' flag.
### We set the umask so that any created directories are world-readable.
### FIXME it would be good to warn about non-standard permissions of
......@@ -691,7 +688,7 @@ mkdir: FRC
done ; \
icondirs=`echo "$${icondirs}" | sed 's,$(srcdir)/etc/images/icons,$(DESTDIR)${icondir},g'` ; \
umask 022 ; \
$(srcdir)/mkinstalldirs $(DESTDIR)${datadir} ${COPYDESTS} \
$(srcdir)/install-sh -d $(DESTDIR)${datadir} ${COPYDESTS} \
$(DESTDIR)${infodir} $(DESTDIR)${man1dir} \
$(DESTDIR)${bindir} $(DESTDIR)${docdir} $(DESTDIR)${libexecdir} \
$(DESTDIR)${datadir}/emacs/site-lisp \
......@@ -58,7 +58,6 @@ HAVE_TERMIOS
** Machine specific macros, decribed in detail in src/m/template.h
......@@ -238,7 +237,6 @@ SIGNALS_VIA_CHARACTERS
......@@ -29,9 +29,12 @@ For each step, check for possible errors.
when preparing a major Emacs release, or branching for it.)
5. Edit so that maintainer-mode is off by default.
(FIXME - need to find a better way of dealing with this).
(FIXME - need to find a better way of dealing with this.
Or maybe it's fine and indeed correct to leave it on?
and subsequent.)
autoreconf -I m4 --force
autoreconf -i -I m4 --force
make bootstrap
6. Commit etc/AUTHORS, all the files changed by M-x set-version, and
......@@ -65,23 +65,22 @@ removes a file, then remove the corresponding files by hand.
The following description uses bound branches, presumably it works in
a similar way with unbound ones.
0) (First time only) Get the bzr changelog_merge plugin:
0) (First time only) Get the bzr changelog_merge plugin
(this will be included by default in bzr 2.4 onwards):
cd ~/.bazaar/plugins
bzr branch lp:bzr-changelog-merge
# The following is an improved version of: lp:bzr-changelog-merge
bzr branch lp:~spiv/bzr-changelog-merge/non-head-edits-723968
mv bzr-changelog-merge changelog_merge
This will make merging ChangeLogs a lot smoother. It merges new
entries to the top of the file, rather than trying to fit them in
mid-way through.
This should make merging ChangeLogs smoother. It merges new entries
to the top of the file, rather than trying to fit them in mid-way
through. Newer versions of the plugin should also be able to deal
with changes to *old* ChangeLog entries, that should not be floated to
the head of the file (see launchpad#723968).
Sigh. This plugin has a drawback. People often like to edit older
ChangeLog entries, not at the head of the file. Frequently they do
this in the same commit as making new entries. Using this plugin
will merge ALL changed entries (including older ones) to the top of
the destination file.
Maybe the default Emacs behavior without this plugin is better, I dunno.
Maybe the default Emacs behavior without this plugin is better,
though, it's not clear yet.
1) Get clean, up-to-date copies of the emacs-23 and trunk branches.
Check for any uncommitted changes with bzr status.
......@@ -120,7 +120,10 @@ or even ChangeLogs, for older changes. People often installed changes
from others, without recording the true authorship.
[For reference, most of these points were established via email with
rms, 2007/1, "Copyright years".]
rms, 2007/1, "Copyright years".
In March 2011, information on some files no longer included was removed.
Consult older versions of this document if interested.]
lisp/version.el # emacs-copyright
......@@ -143,20 +146,9 @@ lib/
- this file is copyright MIT, which is OK. Leave the copyright alone.
public domain, leave alone.
also update the \def\year macro for the latest year.
etc/BABYL, ms-kermit
no notices (see below).
- written by Michael DeCorte, who has no assignment. But trivial
enough to not need license.
- doesn't need a humorless disclaimer, because Karl Fogel says we
can consider it part of Emacs, and he has a blanker disclaimer for
......@@ -389,9 +381,9 @@ does now.
- contains numerous copyrights from the GNU C library. Leave them alone.
src/acldef.h, chpdef.h, ndir.h
- see comments below. These files are OK to be released with Emacs
22, but we may want to revisit them afterwards.
- see comments below. This file is OK to be released with Emacs
22, but we may want to revisit it afterwards.
** Some notes on resolved issues, for historical information only
......@@ -402,15 +394,6 @@ which year, I can probably tell you which.) Either way, we have papers
for it." It was present in Emacs-16.56 (15-jul-85). rms: "Then I
conclude it was written by me."
Very obsolete file removed March 2007. Doesn't say who the author
is, but web-search suggests Karl Kleinpaste, who has no Emacs
assignment. Trivial anyway.\
(original 1987 source)
- had no copyright notice till Feb 2007. ChangeLog.3 suggests it was
written by Eric Raymond. When asked by rms on 14 Feb 2007 he said:
......@@ -431,20 +414,6 @@ src/unexhp9k800.c
HP. So this file is public domain.
K Rodgers changes
It was pointed out that K Rodgers only had assigments for VC and
ps-print, but had changed several other files. We tried to contact
him for a general assignment, but he proved uncommunicative (despite
initially indicating to rms he would sign an assignment). As a result, his
changes were removed and/or rewritten independently. For details, see
But then an assignment arrived before the release of Emacs 22:
Dave Love alerted us to a potential legal problem:
......@@ -460,14 +429,8 @@
File says it's in the public domain, but that might not make it so.
File written long ago by authors with no assignment. Keep them
without notices for now, try and contact authors if possible. Be
ready to remove these files if the authors ever object.
src/acldef.h, chpdef.h, ndir.h
On legal advice from Matt Norwood, the following comment was added
to these files in Feb/Mar 2007:
......@@ -480,25 +443,8 @@ src/acldef.h, chpdef.h, ndir.h
and possibly add a list of all authors who have changed these files.
(details in email from Matt Norwood to rms, 2007/02/03).
Says it was written by Andy Lowry and Joel Spolsky. No entry for
either in copyright.list. NB this file is not "constrained" like
ms-kermit (rms: "We know it isn't. A comment at the front says it has
other bindings which might be handy."). File removed March 2007.
Re-add if clear up status at some point.
No info on author. File removed March 2007. rms: "It says it is
RLK's way of remapping his keyboard, so it is not constrained. I think
it was written by RLK. Let's delete it; if we contact RLK again, we
can put it back." Actually, RLK == Robert Krawitz has an Emacs
assignment. So this could be restored if it is still useful, but Jan Djärv
says it is obsolete:
src/m/mips4.h, news-risc.h, pmax.h
src/s/aix3-2.h, bsd386.h, hpux8.h, hpux9.h, irix4-0.h, irix5-0.h,
netbsd.h, sol2-3.h, usg5-4-2.h
src/s/aix3-2.h, hpux8.h, hpux9.h, irix5-0.h, netbsd.h, usg5-4-2.h
[note some of these have since been merged into other files]
- all these (not obviously trivial) files were missing copyrights
till Feb 2007, when FSF copyright was added. Matt Norwood advised:
......@@ -513,22 +459,6 @@ netbsd.h, sol2-3.h, usg5-4-2.h
Here is my (rgm) take on the details of the above files:
might be trivial? started trivial, been added to in tiny changes by
those with FSF assignment, often result of email suggestions by others.
started trivial. Grown by tiny additions, plus chunk
from mips.h, which was and is Copyright FSF
started trivial. grown in tiny changes, except for maybe Jim Wilson's
? irix4-0.h
I would say started non-trivial (1992, rms). only tiny changes since
? irix5-0.h
I would say started non-trivial (1993, jimb, heavily based
on irix4-0.h). A few borderline non-tiny changes since.
......@@ -537,11 +467,7 @@ usg5-4-2.h
started non-trivial, but was heavily based on usg5-4.h, which was and is
copyright FSF. only tiny changes since installed.
started trivial. only non-tiny change (1994) incorporated code from
usg5-4.h, which was and is copyright FSF.
aix3-2.h, bsd386.h, hpux8.h, hpux9.h, netbsd.h
aix3-2.h, hpux8.h, hpux9.h, netbsd.h
started trivial, grown in tiny changes.
......@@ -556,8 +482,8 @@ Someone might want to tweak the copyright years (for dates before
Note: erring on the side of caution, I also added notices to some
files I thought might be considered non-trivial (if one includes
comment) in s/:
aix4-1.h hpux10.h irix6-0.h irix6-5.h
ptx4.h sol2.h
aix4-1.h hpux10.h irix6-5.h
(everything with > 30 non-blank lines, which at least is _some_ kind of
......@@ -30,6 +30,7 @@
### Code:
## Tools we need:
## Note that we respect the values of AUTOCONF etc, like autoreconf does.
progs="autoconf automake"
## Minimum versions we need:
......@@ -46,7 +47,8 @@ automake_min=1.11
## Also note that we do not handle micro versions.
get_version ()
$1 --version 2>&1 | sed -n '1 s/.* \([1-9][0-9\.]*\).*/\1/p'
## Remove eg "./ line 50: autoconf: command not found".
$1 --version 2>&1 | sed -e '/not found/d' -n -e '1 s/.* \([1-9][0-9\.]*\).*/\1/p'
## $1 = version string, eg "2.59"
......@@ -71,7 +73,14 @@ minor_version ()
## Return 3 for unexpected error (eg failed to parse version).
check_version ()
have_version=`get_version $1`
## Respect eg $AUTOMAKE if it is set, like autoreconf does.
uprog=`echo $1 | sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
eval uprog=\$${uprog}
[ x"$uprog" = x ] && uprog=$1
have_version=`get_version $uprog`
[ x"$have_version" = x ] && return 1
......@@ -177,14 +186,14 @@ this script.
If you know that the required versions are in your PATH, but this
script has made an error, then you can simply run
autoreconf -I m4
autoreconf -i -I m4
instead of this script.
If all else fails, you can try using the pre-built versions of the
generated files by doing:
cd autogen && ./copy_autogen
This is not recommended - see the comments in \`copy_autogen'.
......@@ -198,7 +207,7 @@ echo "Your system has the required tools, running autoreconf..."
## Let autoreconf figure out what, if anything, needs doing.
autoreconf -I m4 || exit $?
autoreconf -i -I m4 || exit $?
echo "You can now run \`./configure'."
This diff is collapsed.
......@@ -7,6 +7,12 @@ configure ../ autoconf ../src autoheader * also used by MSDOS bzr build
aclocal.m4 ../ aclocal ../lib automake
compile ../ automake
config.guess ../ automake
config.sub ../ automake
depcomp ../ automake
install-sh ../ automake
missing ../ automake
There are also some scripts:
......@@ -999,11 +999,13 @@ m4_include([m4/md5.m4])
This diff is collapsed.
......@@ -833,6 +833,9 @@ along with GNU Emacs. If not, see <>. */
/* Define to 1 if `vfork' works. */
/* Define to 1 if you have the <ws2tcpip.h> header file. */
/* Define to 1 if you want to use version 11 of X windows. Otherwise, Emacs
expects to use version 10. */
#undef HAVE_X11
......@@ -996,9 +999,6 @@ along with GNU Emacs. If not, see <>. */
slash */
/* Define as the return type of signal handlers (`int' or `void'). */
/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
'sig_atomic_t'. */
......@@ -1206,6 +1206,9 @@ along with GNU Emacs. If not, see <>. */
# define __restrict__
/* type to use in place of socklen_t if not defined */
#undef socklen_t
/* Define to any substitute for sys_siglist. */
#undef sys_siglist
......@@ -1268,11 +1271,6 @@ along with GNU Emacs. If not, see <>. */
/* SIGTYPE is the macro we actually use. */
#ifndef SIGTYPE
#ifdef emacs /* Don't do this for lib-src. */
/* Tell regex.c to use a type compatible with Emacs. */
#define RE_TRANSLATE_TYPE Lisp_Object
This diff is collapsed.
This diff is collapsed.
......@@ -8,12 +8,18 @@
## regenerate configure and will fail if you do not have the required
## tools. You will have to run this script again.
test -d autogen && cd autogen
if test ! -e; then
echo "You must run this script from the autogen/ directory."
echo "Cannot find autogen/ directory."
exit 1
cp configure aclocal.m4 ../
## Order implied by top-level Makefile's rules, for time-stamps.
cp compile config.guess config.sub depcomp install-sh missing ../
cp aclocal.m4 ../
cp configure ../
touch ../src/
cp ../src/
cp ../lib/
# install - install a program, script, or datafile
scriptversion=2011-01-19.21; # UTC
scriptversion=2009-04-28.21; # UTC
# This originates from X11R5 (mit/util/scripts/, which was
# later released in X11R6 (xc/config/util/ with the
......@@ -156,10 +156,6 @@ while test $# -ne 0; do
-s) stripcmd=$stripprog;;
-t) dst_arg=$2
# Protect names problematic for `test' and other utilities.
case $dst_arg in
-* | [=\(\)!]) dst_arg=./$dst_arg;;
-T) no_target_directory=true;;
......@@ -190,10 +186,6 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
shift # arg
# Protect names problematic for `test' and other utilities.
case $dst_arg in
-* | [=\(\)!]) dst_arg=./$dst_arg;;
......@@ -208,11 +200,7 @@ if test $# -eq 0; then
if test -z "$dir_arg"; then
do_exit='(exit $ret); exit $ret'
trap "ret=129; $do_exit" 1
trap "ret=130; $do_exit" 2
trap "ret=141; $do_exit" 13
trap "ret=143; $do_exit" 15
trap '(exit $?); exit' 1 2 13 15
# Set umask so as not to create temps with too-generous modes.
# However, 'strip' requires both read and write access to temps.
......@@ -240,9 +228,9 @@ fi
for src
# Protect names problematic for `test' and other utilities.
# Protect names starting with `-'.
case $src in
-* | [=\(\)!]) src=./$src;;
-*) src=./$src;;
if test -n "$dir_arg"; then
......@@ -264,7 +252,12 @@ do
echo "$0: no destination specified." >&2
exit 1
# Protect names starting with `-'.
case $dst in
-*) dst=./$dst;;
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
......@@ -392,7 +385,7 @@ do
case $dstdir in
/*) prefix='/';;
[-=\(\)!]*) prefix='./';;
-*) prefix='./';;
*) prefix='';;
......@@ -410,7 +403,7 @@ do
for d
test X"$d" = X && continue
test -z "$d" && continue