aboutsummaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
authorBill Wohler2013-02-18 10:11:43 -0800
committerBill Wohler2013-02-18 10:11:43 -0800
commit21733e4f154f8830fa568a347a0d6dbd59793c2b (patch)
tree3170dbbcdfafeb42f6c381d6b80b251e9f31b788 /admin
parent6d14beddb06b5ae86f9dd770a1661ebd24846f28 (diff)
parent587feed443522f738b65b57b22a31cc8a25525c5 (diff)
downloademacs-21733e4f154f8830fa568a347a0d6dbd59793c2b.tar.gz
emacs-21733e4f154f8830fa568a347a0d6dbd59793c2b.zip
Merge from trunk; up to 2013-02-18T01:30:27Z!monnier@iro.umontreal.ca.
Diffstat (limited to 'admin')
-rw-r--r--admin/CPP-DEFINES1
-rw-r--r--admin/ChangeLog42
-rw-r--r--admin/MAINTAINERS13
-rw-r--r--admin/README6
-rw-r--r--admin/admin.el2
-rw-r--r--admin/alloc-colors.c2
-rwxr-xr-xadmin/build-configs2
-rw-r--r--admin/bzrmerge.el2
-rw-r--r--admin/charsets/mapfiles/README2
-rwxr-xr-xadmin/check-doc-strings8
-rw-r--r--admin/coccinelle/xsave.cocci11
-rw-r--r--admin/cus-test.el2
-rwxr-xr-xadmin/diff-tar-files2
-rw-r--r--admin/emacs-pretesters217
-rw-r--r--admin/grammars/c.by2
-rw-r--r--admin/grammars/grammar.wy2
-rw-r--r--admin/grammars/java-tags.wy2
-rw-r--r--admin/grammars/js.wy2
-rw-r--r--admin/grammars/make.by2
-rw-r--r--admin/grammars/python.wy2
-rw-r--r--admin/grammars/scheme.by2
-rw-r--r--admin/grammars/srecode-template.wy2
-rwxr-xr-xadmin/make-announcement87
-rwxr-xr-xadmin/make-changelog-diff29
-rwxr-xr-xadmin/make-emacs2
-rw-r--r--admin/make-tarball.txt120
-rwxr-xr-xadmin/merge-gnulib11
-rw-r--r--admin/notes/bzr114
-rw-r--r--admin/notes/copyright2
-rw-r--r--admin/notes/font-backend2
-rw-r--r--admin/notes/lel-TODO2
-rw-r--r--admin/notes/multi-tty2
-rw-r--r--admin/notes/unicode2
-rw-r--r--admin/nt/README-UNDUMP.W322
-rw-r--r--admin/nt/README-ftp-server4
-rwxr-xr-xadmin/quick-install-emacs2
-rw-r--r--admin/unidata/Makefile.in2
37 files changed, 278 insertions, 433 deletions
diff --git a/admin/CPP-DEFINES b/admin/CPP-DEFINES
index 13c3da1745a..393cf56e993 100644
--- a/admin/CPP-DEFINES
+++ b/admin/CPP-DEFINES
@@ -9,7 +9,6 @@ documented in config.in, and this file would not be necessary.
9 9
10AIX 10AIX
11_AIX 11_AIX
12BSD4_2
13BSD_SYSTEM 12BSD_SYSTEM
14CYGWIN Compiling the Cygwin port. 13CYGWIN Compiling the Cygwin port.
15__CYGWIN__ Ditto 14__CYGWIN__ Ditto
diff --git a/admin/ChangeLog b/admin/ChangeLog
index 9c6413aa14f..7e72e10cd9f 100644
--- a/admin/ChangeLog
+++ b/admin/ChangeLog
@@ -1,3 +1,32 @@
12013-02-11 Paul Eggert <eggert@cs.ucla.edu>
2
3 Tune by using memchr and memrchr.
4 * merge-gnulib (GNULIB_MODULES): Add memrchr.
5
62013-02-01 Paul Eggert <eggert@cs.ucla.edu>
7
8 Use fdopendir, fstatat and readlinkat, for efficiency (Bug#13539).
9 * merge-gnulib (GNULIB_MODULES): Add fdopendir, fstatat, readlinkat.
10 (GNULIB_TOOL_FLAGS): Do not avoid at-internal, openat-h.
11 Avoid dup, open, opendir.
12
132013-01-15 Dmitry Antipov <dmantipov@yandex.ru>
14
15 * coccinelle/xsave.cocci: Semantic patch to adjust users of
16 XSAVE_POINTER and XSAVE_INTEGER macros.
17
182013-01-03 Glenn Morris <rgm@gnu.org>
19
20 * check-doc-strings: Update for CVS->bzr, moved lispref/ directory.
21
22 * emacs-pretesters, make-announcement, make-changelog-diff:
23 Remove files.
24
252012-12-14 Paul Eggert <eggert@cs.ucla.edu>
26
27 Fix permissions bugs with setgid directories etc. (Bug#13125)
28 * CPP-DEFINES (BSD4_2): Remove.
29
12012-12-08 Paul Eggert <eggert@cs.ucla.edu> 302012-12-08 Paul Eggert <eggert@cs.ucla.edu>
2 31
3 Use putenv+unsetenv instead of modifying environ directly (Bug#13070). 32 Use putenv+unsetenv instead of modifying environ directly (Bug#13070).
@@ -120,15 +149,14 @@
120 149
121 * grammars/bovine-grammar.el (bovine--grammar-newstyle-unquote): 150 * grammars/bovine-grammar.el (bovine--grammar-newstyle-unquote):
122 Remove. 151 Remove.
123 (bovine-grammar-expand-form): Test for emacs-major-version. 152 (bovine-grammar-expand-form): Test for emacs-major-version.
124 153
125 * grammars/c.by: Add EXPLICIT to keyword tokens. 154 * grammars/c.by: Add EXPLICIT to keyword tokens.
155 Add %provide token.
126 156
127 * grammars/f90.by: Add %provide token. 157 * grammars/grammar.wy (semantic-grammar-lexer): Remove, since it
128
129 * grammar/grammar.wy (semantic-grammar-lexer): Remove, since it
130 was copied to grammar.el. New %provide token to generate prefix 158 was copied to grammar.el. New %provide token to generate prefix
131 which conforms with Emacs conventions. Remove lexer definition, 159 which conforms with Emacs conventions. Remove lexer definition,
132 which is now in grammar.el. 160 which is now in grammar.el.
133 161
1342012-09-27 Glenn Morris <rgm@gnu.org> 1622012-09-27 Glenn Morris <rgm@gnu.org>
@@ -172,7 +200,7 @@
1722012-09-13 Paul Eggert <eggert@cs.ucla.edu> 2002012-09-13 Paul Eggert <eggert@cs.ucla.edu>
173 201
174 Simplify SIGIO usage (Bug#12408). 202 Simplify SIGIO usage (Bug#12408).
175 * CPP_DEFINES (BROKEN_SIGAIO, BROKEN_SIGIO, BROKEN_SIGPOLL) 203 * CPP-DEFINES (BROKEN_SIGAIO, BROKEN_SIGIO, BROKEN_SIGPOLL)
176 (BROKEN_SIGPTY, NO_TERMIO): Remove. 204 (BROKEN_SIGPTY, NO_TERMIO): Remove.
177 205
1782012-09-11 Paul Eggert <eggert@cs.ucla.edu> 2062012-09-11 Paul Eggert <eggert@cs.ucla.edu>
@@ -1660,7 +1688,7 @@
1660;; coding: utf-8 1688;; coding: utf-8
1661;; End: 1689;; End:
1662 1690
1663 Copyright (C) 2001-2012 Free Software Foundation, Inc. 1691 Copyright (C) 2001-2013 Free Software Foundation, Inc.
1664 1692
1665 This file is part of GNU Emacs. 1693 This file is part of GNU Emacs.
1666 1694
diff --git a/admin/MAINTAINERS b/admin/MAINTAINERS
index 34763083e9a..efcc63081b5 100644
--- a/admin/MAINTAINERS
+++ b/admin/MAINTAINERS
@@ -16,9 +16,6 @@ maintainer has been found so far.
161. 161.
17============================================================================== 17==============================================================================
18 18
19Richard Stallman
20 ???
21
22Jason Rumney 19Jason Rumney
23 W32 20 W32
24 21
@@ -71,13 +68,6 @@ Jay Belanger
71 etc/calccard.tex 68 etc/calccard.tex
72 doc/misc/calc.texi 69 doc/misc/calc.texi
73 70
74Michael Olson
75 ERC
76 lisp/erc/*
77 etc/ERC-NEWS
78 doc/misc/erc.texi
79 lisp/emacs-lisp/tq.el
80
81Bastien Guerry 71Bastien Guerry
82 Org 72 Org
83 lisp/org/* 73 lisp/org/*
@@ -87,9 +77,6 @@ Bastien Guerry
872. 772.
88============================================================================== 78==============================================================================
89 79
90Steven Tamm
91 MacOS
92
93Eli Zaretskii 80Eli Zaretskii
94 doc/* 81 doc/*
95 lispref/* 82 lispref/*
diff --git a/admin/README b/admin/README
index b5eefc2da7a..d696a14176e 100644
--- a/admin/README
+++ b/admin/README
@@ -1,4 +1,4 @@
1Copyright (C) 2001-2012 Free Software Foundation, Inc. 1Copyright (C) 2001-2013 Free Software Foundation, Inc.
2See the end of the file for license conditions. 2See the end of the file for license conditions.
3 3
4 4
@@ -24,10 +24,6 @@ Instructions to create pretest or release tarballs, announcements, etc.
24 24
25Utilities for setting version numbers and alike. 25Utilities for setting version numbers and alike.
26 26
27** make-announcement, make-changelog-diff
28
29Scripts used to prepare release announcements.
30
31 27
32* Scripts that can be used to build and test Emacs. 28* Scripts that can be used to build and test Emacs.
33 29
diff --git a/admin/admin.el b/admin/admin.el
index ec78fb27865..e815dfade47 100644
--- a/admin/admin.el
+++ b/admin/admin.el
@@ -1,6 +1,6 @@
1;;; admin.el --- utilities for Emacs administration 1;;; admin.el --- utilities for Emacs administration
2 2
3;; Copyright (C) 2001-2012 Free Software Foundation, Inc. 3;; Copyright (C) 2001-2013 Free Software Foundation, Inc.
4 4
5;; This file is part of GNU Emacs. 5;; This file is part of GNU Emacs.
6 6
diff --git a/admin/alloc-colors.c b/admin/alloc-colors.c
index 2ad5acadcb0..d8fc97cc721 100644
--- a/admin/alloc-colors.c
+++ b/admin/alloc-colors.c
@@ -1,6 +1,6 @@
1/* Allocate X colors. Used for testing with dense colormaps. 1/* Allocate X colors. Used for testing with dense colormaps.
2 2
3Copyright (C) 2001-2012 Free Software Foundation, Inc. 3Copyright (C) 2001-2013 Free Software Foundation, Inc.
4 4
5This file is part of GNU Emacs. 5This file is part of GNU Emacs.
6 6
diff --git a/admin/build-configs b/admin/build-configs
index 59a3a1bbbca..8b738befb18 100755
--- a/admin/build-configs
+++ b/admin/build-configs
@@ -1,7 +1,7 @@
1#! /usr/bin/perl 1#! /usr/bin/perl
2# Build Emacs in several different configurations. 2# Build Emacs in several different configurations.
3 3
4# Copyright (C) 2001-2012 Free Software Foundation, Inc. 4# Copyright (C) 2001-2013 Free Software Foundation, Inc.
5 5
6# This file is part of GNU Emacs. 6# This file is part of GNU Emacs.
7 7
diff --git a/admin/bzrmerge.el b/admin/bzrmerge.el
index 8d64dd9edbf..b95c96d77ef 100644
--- a/admin/bzrmerge.el
+++ b/admin/bzrmerge.el
@@ -1,6 +1,6 @@
1;;; bzrmerge.el --- help merge one Emacs bzr branch to another 1;;; bzrmerge.el --- help merge one Emacs bzr branch to another
2 2
3;; Copyright (C) 2010-2012 Free Software Foundation, Inc. 3;; Copyright (C) 2010-2013 Free Software Foundation, Inc.
4 4
5;; Author: Stefan Monnier <monnier@iro.umontreal.ca> 5;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
6;; Keywords: maint 6;; Keywords: maint
diff --git a/admin/charsets/mapfiles/README b/admin/charsets/mapfiles/README
index b43611db11d..0a742854811 100644
--- a/admin/charsets/mapfiles/README
+++ b/admin/charsets/mapfiles/README
@@ -1,4 +1,4 @@
1Copyright (C) 2009-2012 Free Software Foundation, Inc. 1Copyright (C) 2009-2013 Free Software Foundation, Inc.
2Copyright (C) 2009, 2010, 2011 2Copyright (C) 2009, 2010, 2011
3 National Institute of Advanced Industrial Science and Technology (AIST) 3 National Institute of Advanced Industrial Science and Technology (AIST)
4 Registration Number H13PRO009 4 Registration Number H13PRO009
diff --git a/admin/check-doc-strings b/admin/check-doc-strings
index ef4b203cd79..c69ff47ebfb 100755
--- a/admin/check-doc-strings
+++ b/admin/check-doc-strings
@@ -17,7 +17,7 @@ formal parameters, docstrings, and lispref texi.
17This program is in the public domain.\n"; 17This program is in the public domain.\n";
18 18
19die $usage if @ARGV; 19die $usage if @ARGV;
20die $usage unless -r "src/alloc.c" && -d "CVS" && -d "lisp"; 20die $usage unless -r "src/alloc.c" && -d ".bzr" && -d "lisp";
21 21
22my %texi_funtype; 22my %texi_funtype;
23my %texi_arglist; 23my %texi_arglist;
@@ -197,10 +197,8 @@ sub Check_function {
197 Show_details $show_details, $function, "@parms", $docstring; 197 Show_details $show_details, $function, "@parms", $docstring;
198} 198}
199 199
200my $lisprefdir; 200my $lisprefdir = "doc/lispref";
201if (-d "man/lispref") { $lisprefdir = "man/lispref"; } 201die "Can't find lispref texi directory.\n" unless -d $lisprefdir;
202elsif (-d "lispref") { $lisprefdir = "lispref"; }
203else { die "Can't find lispref texi directory.\n"; }
204 202
205open (FIND, "find $lisprefdir -name '*.texi' -print |") or die; 203open (FIND, "find $lisprefdir -name '*.texi' -print |") or die;
206while (my $file = <FIND>) { 204while (my $file = <FIND>) {
diff --git a/admin/coccinelle/xsave.cocci b/admin/coccinelle/xsave.cocci
new file mode 100644
index 00000000000..5172bb55b33
--- /dev/null
+++ b/admin/coccinelle/xsave.cocci
@@ -0,0 +1,11 @@
1// Adjust users of XSAVE_POINTER and XSAVE_INTEGER.
2@@
3expression E;
4@@
5(
6- XSAVE_POINTER (E)
7+ XSAVE_POINTER (E, 0)
8|
9- XSAVE_INTEGER (E)
10+ XSAVE_INTEGER (E, 1)
11)
diff --git a/admin/cus-test.el b/admin/cus-test.el
index 11d781ed01e..c93a14297f8 100644
--- a/admin/cus-test.el
+++ b/admin/cus-test.el
@@ -1,6 +1,6 @@
1;;; cus-test.el --- tests for custom types and load problems 1;;; cus-test.el --- tests for custom types and load problems
2 2
3;; Copyright (C) 1998, 2000, 2002-2012 Free Software Foundation, Inc. 3;; Copyright (C) 1998, 2000, 2002-2013 Free Software Foundation, Inc.
4 4
5;; Author: Markus Rost <markus.rost@mathematik.uni-regensburg.de> 5;; Author: Markus Rost <markus.rost@mathematik.uni-regensburg.de>
6;; Maintainer: Markus Rost <rost@math.ohio-state.edu> 6;; Maintainer: Markus Rost <rost@math.ohio-state.edu>
diff --git a/admin/diff-tar-files b/admin/diff-tar-files
index 1dbf9a12399..af892d6ce41 100755
--- a/admin/diff-tar-files
+++ b/admin/diff-tar-files
@@ -1,6 +1,6 @@
1#! /bin/sh 1#! /bin/sh
2 2
3# Copyright (C) 2001-2012 Free Software Foundation, Inc. 3# Copyright (C) 2001-2013 Free Software Foundation, Inc.
4 4
5# This file is part of GNU Emacs. 5# This file is part of GNU Emacs.
6 6
diff --git a/admin/emacs-pretesters b/admin/emacs-pretesters
deleted file mode 100644
index 3b1270b477c..00000000000
--- a/admin/emacs-pretesters
+++ /dev/null
@@ -1,217 +0,0 @@
1Here are the guidelines for being an Emacs pretester.
2If you would like to do this, say so, and I'll add you to
3the pretest list.
4
5
6 Information for Emacs Pretesters
7
8The purpose of Emacs pretesting is to verify that the new Emacs
9distribution, about to be released, works properly on your system *with
10no change whatever*, when installed following the precise
11recommendations that come with the Emacs distribution.
12
13Here are some guidelines on how to do pretesting so as to make it
14helpful. All of them follow from common sense together with the
15nature of the purpose and the situation.
16
17Please save this file, and reread it when a new series of pretests
18starts.
19
20* Get the pretest from gnu/emacs/pretest/emacs-MM.0.NN.tar.gz
21on alpha.gnu.org.
22
23* After a few days of testing, if there are no problems, please report
24that Emacs works for you and what configuration you are testing it on.
25
26* If you want to communicate with other pretesters, send mail to
27emacs-pretesters@gnu.org. I don't use that mailing list when I send
28to you because I've found that mailing lists tend to amplify random
29noise into long discussions or even arguments, and that can waste a
30lot of time. But when you have a reason to ask other pretesters for
31help, you can do it that way.
32
33* It is absolutely vital that you report even the smallest change or
34departure from the standard sources and procedure.
35
36Otherwise, you are not testing the same program that we asked you to
37test. Testing a different program is usually of no use whatever. It
38can even cause trouble, if you fail to tell us that you tested some
39other program instead of what we are about to release. We might think
40that Emacs works, when in fact it has not even been tried, and might
41have a glaring fault.
42
43* Don't use a site-load.el file or a site-init.el file when you pretest.
44Using either of those files means you are not testing Emacs as a typical
45site would use it.
46
47Actually, it does no harm to test Emacs with such customizations *as
48well as* testing it "out of the box". Anything you do that could find
49a bug is useful, as long as you make sure we know exactly what you
50did. The important point is that testing with local changes is no
51substitute for testing Emacs exactly as it is distributed.
52
53* Even changing the compilation options counts as a change in the
54program. The Emacs sources specify which compilation options to use.
55Some of them are specified in makefiles, and some in machine-specific
56configuration files. They also give you ways to override this--but if
57you do, then you are not testing what ordinary users will do.
58Therefore, when pretesting, it is vital to test with the default
59compilation options.
60
61(Testing with a different set of options can be useful *in addition*,
62but not *instead of* the default options.)
63
64* The machine and system configuration files of Emacs are parts of
65Emacs. So when you test Emacs, you need to do it with the
66configuration files that come with Emacs.
67
68If Emacs does not come with configuration files for a certain machine,
69and you test it with configuration files that don't come with Emacs,
70this is effectively changing Emacs. Because the crucial fact about
71the planned release is that, without changes, it doesn't work on that
72machine.
73
74To make Emacs work on that machine, we would need to install new
75configuration files. That is not out of the question, since it is
76safe--it certainly won't break any other machines that already work.
77But you will have to rush in the legal papers to give the FSF
78permission to use such a large piece of text.
79
80* Look in the etc/MACHINES file.
81
82The etc/MACHINES file says which configuration files to use for your
83machine, so use the ones that are recommended. If you guess, you might
84guess wrong and encounter spurious difficulties. What's more, if you
85don't follow etc/MACHINES then you aren't helping to test that its
86recommendations are valid.
87
88The etc/MACHINES file may describe other things that you need to do
89to make Emacs work on your machine. If so, you should follow these
90recommendations also, for the same reason.
91
92* Send your problem reports to bug-gnu-emacs@gnu.org.
93
94Sometimes we won't know what to do about a system-dependent issue, and
95we may need people to say what happens if you try a certain thing on a
96certain system. When this happens, we'll send out a query.
97
98* Don't delay sending information.
99
100When you test on a system and encounter no problems, please report it
101right away. That way, we will know that someone has tested Emacs on
102that kind of system.
103
104Please don't wait for several days "to see if it really works before
105you say anything." Tell us right away that Emacs seems basically to
106work; then, if you notice a problem a few days later, tell us
107immediately about that when you see it.
108
109It is okay if you double check things before reporting a problem, such
110as to see if you can easily fix it. But don't wait very long. A good
111rule to use in pretesting is always to report every problem on the
112same day you encounter it, even if that means you can't find a
113solution before you report the problem.
114
115I'd much rather hear about a problem today and a solution tomorrow
116than get both of them tomorrow at the same time.
117
118* Make each bug report self-contained.
119
120If you refer back to another message, whether from you or from someone
121else, then it will be necessary for anyone who wants to investigate
122the bug to find the other message. This may be difficult, it is
123probably time-consuming.
124
125To help save our time, simply copy the relevant parts of any previous
126messages into your own bug report.
127
128In particular, if we ask you for more information because a bug report
129was incomplete, it is best to send me the *entire* collection of
130relevant information, all together. If you send just the additional
131information, that makes extra work for us. There is even a risk that
132we won't remember what question you are sending the answer to.
133
134* When you encounter a bug that manifests itself as a Lisp error,
135try setting debug-on-error to t and making the bug happen again.
136Then you will get a Lisp backtrace. Including that in your bug report
137is very useful.
138
139* For advice on debugging, see etc/DEBUG.
140
141* Debugging optimized code is possible, if you compile with GCC, but
142in some cases the optimized code can be confusing. If you are not
143accustomed to that, recompile Emacs without -O. One way to do this is
144
145 make clean
146 make CFLAGS=-g
147
148* Configure tries to figure out what kind of system you have by
149compiling and linking programs which calls various functions and looks
150at whether that succeeds. The file config.log contains any messages
151produced by compilers while running configure, to aid debugging if
152configure makes a mistake. But note that config.cache reads:
153
154# Giving --cache-file=/dev/null disables caching, for debugging configure.
155
156or more simply,
157
158rm config.cache
159./configure
160
161* Don't try changing Emacs *in any way* during pretest unless it fails
162to work unchanged.
163
164* Always be precise when talking about changes you have made. Show
165things rather than describing them. Use exact filenames (relative to
166the main directory of the distribution), not partial ones. For
167example, say "I changed Makefile" rather than "I changed the
168makefile". Instead of saying "I defined the MUMBLE macro", send a
169diff.
170
171* Always use `diff -c' to make diffs. If you don't include context, it
172may be hard for us to figure out where you propose to make the
173changes. So we might ignore your patch.
174
175* When you write a fix, keep in mind that we can't install a change
176that *might* break other systems without the risk that it will fail to
177work and therefore require an additional cycle of pretesting.
178
179People often suggest fixing a problem by changing config.h or
180src/Makefile to do something special that a particular system needs.
181Sometimes it is totally obvious that such changes would break Emacs
182for almost all users. We can't possibly make a change like that. All
183we can do is ask you to find a fix that is safe to install.
184
185Sometimes people send fixes that *might* be an improvement in
186general--but it is hard to be sure of this. I can install such
187changes some of the time, but not during pretest, when I am trying to
188get a new version to work reliably as quickly as possible.
189
190The safest changes for us to install are changes to the s- and m-
191files. At least those can't break other systems.
192
193Another safe kind of change is one that uses a conditional to make
194sure it will apply only to a particular kind of system. Ordinarily,
195that is a bad way to solve a problem, and I would want to find a
196cleaner alternative. But the virtue of safety can make it superior at
197pretest time.
198
199* Don't suggest changes during pretest to add features or make
200something cleaner. Every change risks introducing a bug, so I won't
201install a change during pretest unless it is *necessary*.
202
203* If you would like to suggest changes for purposes other than fixing
204user-visible bugs, don't wait till pretest time. Instead, send them
205after we have made a release that proves to be stable. That is the
206easiest time to consider such suggestions. If you send them at
207pretest time, we will have to defer them till later, and that might
208mean we forget all about them.
209
210* In some cases, if you don't follow these guidelines, your
211information might still be useful, but we would have to do more work
212to make use of it. That might cause it to fall by the wayside.
213
214Local Variables:
215mode: text
216End:
217
diff --git a/admin/grammars/c.by b/admin/grammars/c.by
index dfced9813d1..5d2f407e8e3 100644
--- a/admin/grammars/c.by
+++ b/admin/grammars/c.by
@@ -1,5 +1,5 @@
1;;; c.by -- LL grammar for C/C++ language specification 1;;; c.by -- LL grammar for C/C++ language specification
2;; Copyright (C) 1999-2012 Free Software Foundation, Inc. 2;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
3;; 3;;
4;; Author: Eric M. Ludlam <zappo@gnu.org> 4;; Author: Eric M. Ludlam <zappo@gnu.org>
5;; David Ponce <david@dponce.com> 5;; David Ponce <david@dponce.com>
diff --git a/admin/grammars/grammar.wy b/admin/grammars/grammar.wy
index f89fe6220ff..c5e5413e64c 100644
--- a/admin/grammars/grammar.wy
+++ b/admin/grammars/grammar.wy
@@ -1,6 +1,6 @@
1;;; semantic-grammar.wy -- LALR grammar of Semantic input grammars 1;;; semantic-grammar.wy -- LALR grammar of Semantic input grammars
2;; 2;;
3;; Copyright (C) 2002-2012 Free Software Foundation, Inc. 3;; Copyright (C) 2002-2013 Free Software Foundation, Inc.
4;; 4;;
5;; Author: David Ponce <david@dponce.com> 5;; Author: David Ponce <david@dponce.com>
6;; Maintainer: David Ponce <david@dponce.com> 6;; Maintainer: David Ponce <david@dponce.com>
diff --git a/admin/grammars/java-tags.wy b/admin/grammars/java-tags.wy
index 708715533ff..408d0f0da29 100644
--- a/admin/grammars/java-tags.wy
+++ b/admin/grammars/java-tags.wy
@@ -1,6 +1,6 @@
1;;; java-tags.wy -- Semantic LALR grammar for Java 1;;; java-tags.wy -- Semantic LALR grammar for Java
2 2
3;; Copyright (C) 2002-2012 Free Software Foundation, Inc. 3;; Copyright (C) 2002-2013 Free Software Foundation, Inc.
4;; 4;;
5;; Author: David Ponce <david@dponce.com> 5;; Author: David Ponce <david@dponce.com>
6;; Maintainer: David Ponce <david@dponce.com> 6;; Maintainer: David Ponce <david@dponce.com>
diff --git a/admin/grammars/js.wy b/admin/grammars/js.wy
index 7b55f5c3834..3b602296552 100644
--- a/admin/grammars/js.wy
+++ b/admin/grammars/js.wy
@@ -1,6 +1,6 @@
1;;; javascript-jv.wy -- LALR grammar for Javascript 1;;; javascript-jv.wy -- LALR grammar for Javascript
2 2
3;; Copyright (C) 2005-2012 Free Software Foundation, Inc. 3;; Copyright (C) 2005-2013 Free Software Foundation, Inc.
4;; Copyright (C) 1998-2011 Ecma International. 4;; Copyright (C) 1998-2011 Ecma International.
5 5
6;; Author: Joakim Verona 6;; Author: Joakim Verona
diff --git a/admin/grammars/make.by b/admin/grammars/make.by
index 6cff4716f82..dcb3bb2f7d7 100644
--- a/admin/grammars/make.by
+++ b/admin/grammars/make.by
@@ -1,6 +1,6 @@
1;;; make.by -- BY notation for Makefiles. 1;;; make.by -- BY notation for Makefiles.
2 2
3;; Copyright (C) 1999-2012 Free Software Foundation, Inc. 3;; Copyright (C) 1999-2013 Free Software Foundation, Inc.
4;; 4;;
5;; Author: Eric M. Ludlam <zappo@gnu.org> 5;; Author: Eric M. Ludlam <zappo@gnu.org>
6;; David Ponce <david@dponce.com> 6;; David Ponce <david@dponce.com>
diff --git a/admin/grammars/python.wy b/admin/grammars/python.wy
index f17f41c9b1b..02fb7390b01 100644
--- a/admin/grammars/python.wy
+++ b/admin/grammars/python.wy
@@ -1,6 +1,6 @@
1;;; python.wy -- LALR grammar for Python 1;;; python.wy -- LALR grammar for Python
2 2
3;; Copyright (C) 2002-2012 Free Software Foundation, Inc. 3;; Copyright (C) 2002-2013 Free Software Foundation, Inc.
4;; Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 4;; Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
5;; 2009, 2010 Python Software Foundation; All Rights Reserved 5;; 2009, 2010 Python Software Foundation; All Rights Reserved
6 6
diff --git a/admin/grammars/scheme.by b/admin/grammars/scheme.by
index 98e75901a71..a433d776df5 100644
--- a/admin/grammars/scheme.by
+++ b/admin/grammars/scheme.by
@@ -1,6 +1,6 @@
1;;; scheme.by -- Scheme BNF language specification 1;;; scheme.by -- Scheme BNF language specification
2 2
3;; Copyright (C) 2001-2012 Free Software Foundation, Inc. 3;; Copyright (C) 2001-2013 Free Software Foundation, Inc.
4 4
5;; This file is part of GNU Emacs. 5;; This file is part of GNU Emacs.
6 6
diff --git a/admin/grammars/srecode-template.wy b/admin/grammars/srecode-template.wy
index f84a414b46e..de9bf351ac6 100644
--- a/admin/grammars/srecode-template.wy
+++ b/admin/grammars/srecode-template.wy
@@ -1,6 +1,6 @@
1;;; srecode-template.wy --- Semantic Recoder Template parser 1;;; srecode-template.wy --- Semantic Recoder Template parser
2 2
3;; Copyright (C) 2005-2012 Free Software Foundation, Inc. 3;; Copyright (C) 2005-2013 Free Software Foundation, Inc.
4 4
5;; Author: Eric Ludlam <zappo@gnu.org> 5;; Author: Eric Ludlam <zappo@gnu.org>
6;; Keywords: syntax 6;; Keywords: syntax
diff --git a/admin/make-announcement b/admin/make-announcement
deleted file mode 100755
index 5b45d09e89b..00000000000
--- a/admin/make-announcement
+++ /dev/null
@@ -1,87 +0,0 @@
1#! /bin/bash
2
3## Copyright (C) 2002-2012 Free Software Foundation, Inc.
4
5## Author: Francesco Potorti` <pot@gnu.org>
6
7## This file is part of GNU Emacs.
8
9## GNU Emacs is free software: you can redistribute it and/or modify
10## it under the terms of the GNU General Public License as published by
11## the Free Software Foundation, either version 3 of the License, or
12## (at your option) any later version.
13
14## GNU Emacs is distributed in the hope that it will be useful,
15## but WITHOUT ANY WARRANTY; without even the implied warranty of
16## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17## GNU General Public License for more details.
18
19## You should have received a copy of the GNU General Public License
20## along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
21
22
23### Code:
24
25if [ $# -ne 2 ]; then
26 echo "usage: $0 <old version number> <new version number>" >&2
27 exit 1
28fi
29
30if [ ! -f INSTALL -o ! -f configure -o ! -d lib-src ]; then
31 echo "this script should be run in the emacs root directory" >&2
32 exit 2
33fi
34
35OLD=$1
36NEW=$2
37outfile=emacs-$NEW.announce
38oldtag=EMACS_PRETEST_$(echo $OLD|tr . _)
39newtag=EMACS_PRETEST_$(echo $NEW|tr . _)
40
41if [ -f $outfile ]; then
42 echo "$outfile exists"
43 echo -n "interrupt to abort, ENTER to overwrite "; read answer
44fi
45
46echo -n "tag name for OLD emacs version $OLD [$oldtag]: "; read answer
47if [ "$answer" ]; then oldtag=$answer; fi
48
49echo -n "tag name for NEW emacs version $NEW [$newtag]: "; read answer
50if [ "$answer" ]; then newtag=$answer; fi
51
52exec > $outfile
53
54cat <<EOF
55
56There is a new pretest available in
57
58 <ftp://alpha.gnu.org/gnu/emacs/pretest/emacs-$NEW.tar.gz>
59
60Please report results from compiling and running the pretest to
61<bug-gnu-emacs@gnu.org>. Your feedback is necessary for us
62to know on which platforms the pretest has been tried.
63
64If you have the tars from the previous pretest, and you have the
65\`xdelta' utility, you can instead download the much smaller
66
67 <ftp://alpha.gnu.org/gnu/emacs/pretest/emacs-$OLD-$NEW.xdelta>
68
69You can use a command like
70
71 $ xdelta patch XDELTA PREVIOUS-TAR CURRENT-TAR
72
73to generate the new tar from the old one, where XDELTA is the xdelta
74file you downloaded, PREVIOUS-TAR is the tar file from the previous
75pretest, and CURRENT-TAR is the name of the tar file you downloaded.
76
77Information about xdelta can be found on the GNU ftp site, in
78/non-gnu/xdelta.README.
79
80Changes since $OLD
81
82EOF
83
84make-changelog-diff $oldtag $newtag
85
86echo " announcement created in $outfile" >&2
87
diff --git a/admin/make-changelog-diff b/admin/make-changelog-diff
deleted file mode 100755
index 88461131a3f..00000000000
--- a/admin/make-changelog-diff
+++ /dev/null
@@ -1,29 +0,0 @@
1#! /bin/bash
2
3## Author: Francesco Potorti` <pot@gnu.org>
4
5if [ $# -ne 2 ]; then
6 echo "usage: $0 TAG1 TAG2" >&2
7 exit 1
8fi
9
10if [ ! -f INSTALL -o ! -f configure -o ! -d lib-src ]; then
11 echo "this script should be run in the emacs root directory" >&2
12 exit 2
13fi
14
15cvs -q diff -b -r $1 -r $2 $(find -name ChangeLog|sort) |
16 sed -n -e 's/^=\+/======/p' -e 's/^> //p' -e 's/^diff.*//p' \
17 -e 's/^RCS file: .cvsroot.emacs.emacs.\(.*\),v/\1/p' |
18 sed -n -e "/^======$/ {
19 N
20 N
21 h
22 d
23 }
24 H
25 s/.*//
26 x
27 s/^\n//
28 p"
29
diff --git a/admin/make-emacs b/admin/make-emacs
index 688f5c196bf..58295c9607a 100755
--- a/admin/make-emacs
+++ b/admin/make-emacs
@@ -2,7 +2,7 @@
2# Build Emacs with various options for profiling, debugging, 2# Build Emacs with various options for profiling, debugging,
3# with and without warnings enabled etc. 3# with and without warnings enabled etc.
4 4
5# Copyright (C) 2001-2012 Free Software Foundation, Inc. 5# Copyright (C) 2001-2013 Free Software Foundation, Inc.
6 6
7# This file is part of GNU Emacs. 7# This file is part of GNU Emacs.
8 8
diff --git a/admin/make-tarball.txt b/admin/make-tarball.txt
index eda28b639d2..3825ac49278 100644
--- a/admin/make-tarball.txt
+++ b/admin/make-tarball.txt
@@ -2,41 +2,66 @@ Instructions to create pretest or release tarballs.
2-- originally written by Gerd Moellmann, amended by Francesco Potortì 2-- originally written by Gerd Moellmann, amended by Francesco Potortì
3 with the initial help of Eli Zaretskii 3 with the initial help of Eli Zaretskii
4 4
5For each step, check for possible errors. 5
6Steps to take before starting on the first pretest in any release sequence:
7
81. Decide on versions of automake and autoconf, and ensure you will
9 have them available for the duration of the release process.
10
112. Consider increasing the value of the variable
12 `customize-changed-options-previous-release' in cus-edit.el to
13 refer to a newer version of Emacs. (This is probably needed only
14 when preparing the first pretest for a major Emacs release.)
15 Commit cus-edit.el if changed.
16
17
18General steps (for each step, check for possible errors):
6 19
71. `bzr update' (for a bound branch), or `bzr pull'. 201. `bzr update' (for a bound branch), or `bzr pull'.
8 bzr status # check for locally modified files 21 bzr status # check for locally modified files
9 22
102. Bootstrap to make 100% sure all elc files are up-to-date, and to 232. Bootstrap to make 100% sure all elc files are up-to-date, and to
11 make sure that the later tagged version will bootstrap, should it be 24 make sure that the later tagged version will bootstrap, should it be
12 necessary to check it out. 25 necessary to check it out.
13 26
143. Regenerate Emacs' etc/AUTHORS file (M-x load-file RET 273. Regenerate the etc/AUTHORS file:
15 lisp/emacs-lisp/authors.el RET, then M-x authors RET, then save 28 M-: (require 'authors) RET
16 the *Authors* buffer). This may require fixing syntactically 29 M-x authors RET
17 incorrect ChangeLog entries beforehand. 30
31 There is almost guaranteed to be an "*Authors Errors*" buffer with
32 problems caused by certain bad ChangeLog entries. You can ignore
33 the very old ones (eg lisp/erc has a lot). If there are errors
34 related to new entries (especially entries that are new since the
35 last pretest), see if you can fix them. If there was a ChangeLog
36 typo, fix it. If a file was deleted or renamed, consider adding
37 an appropriate entry to authors-ignored-files, authors-valid-file-names,
38 or authors-renamed-files-alist.
39
40 If necessary, repeat M-x authors after making those changes.
41 Save the "*Authors*" buffer as etc/AUTHORS.
42 Check the diff looks reasonable. Maybe add entries to
43 authors-ambiguous-files or authors-aliases, and repeat.
44 Commit any fixes to ChangeLogs or authors.el.
18 45
194. Set the version number (M-x load-file RET admin/admin.el RET, then 464. Set the version number (M-x load-file RET admin/admin.el RET, then
20 M-x set-version RET). For a release, add released change log 47 M-x set-version RET). For a release, add released ChangeLog
21 entries (M-x add-release-logs RET). 48 entries (M-x add-release-logs RET).
22 49
23 For a pretest, start at version .90. After .99, use .990 (so that 50 For a pretest, start at version .90. After .99, use .990 (so that
24 it sorts). 51 it sorts).
25 52
26 If needed, increment the value of the variable
27 `customize-changed-options-previous-release' in cus-edit.el to
28 refer to a newer release of Emacs. (This is probably needed only
29 when preparing a major Emacs release, or branching for it.)
30
315. autoreconf -i -I m4 --force 535. autoreconf -i -I m4 --force
32 make bootstrap 54 make bootstrap
33 55
346. Commit etc/AUTHORS, all the files changed by M-x set-version, and 566. Copy lisp/loaddefs.el to lisp/ldefs-boot.el.
35 lisp/cus-edit.el (if modified). 57
36 Copy lisp/loaddefs.el to lisp/ldefs-boot.el and commit lisp/ldefs-boot.el. 58 Commit etc/AUTHORS, lisp/ldefs-boot.el, and the files changed
59 by M-x set-version.
37 For a release, also commit the ChangeLog files in all directories. 60 For a release, also commit the ChangeLog files in all directories.
38 61
397. make-dist --snapshot. Check the contents of the new tar with 627. ./make-dist --snapshot --no-compress
63
64 Check the contents of the new tar with
40 admin/diff-tar-files against an older tar file. Some old pretest 65 admin/diff-tar-files against an older tar file. Some old pretest
41 tarballs may be found at <ftp://alpha.gnu.org/gnu/emacs/pretest>; 66 tarballs may be found at <ftp://alpha.gnu.org/gnu/emacs/pretest>;
42 old release tarballs are at <ftp://ftp.gnu.org/pub/gnu/emacs/>. 67 old release tarballs are at <ftp://ftp.gnu.org/pub/gnu/emacs/>.
@@ -46,17 +71,15 @@ For each step, check for possible errors.
46 something like `find . | sort' in a clean bzr tree, and compare the 71 something like `find . | sort' in a clean bzr tree, and compare the
47 results against the new tar contents. 72 results against the new tar contents.
48 73
498. xdelta delta emacs-OLD.tar.gz emacs-NEW.tar.gz emacs-OLD-NEW.xdelta 748. tar -xf emacs-NEW.tar; cd emacs-NEW
50 75 ./configure --prefix=/tmp/emacs && make && make install
519. tar -zxf emacs-NEW.tar.gz; cd emacs-NEW
52 ./configure && make && make -n install
53 Use `script' or M-x compile to save the compilation log in 76 Use `script' or M-x compile to save the compilation log in
54 compile-NEW.log and compare it against an old one. The easiest way 77 compile-NEW.log and compare it against an old one. The easiest way
55 to do that is to visit the old log in Emacs, change the version 78 to do that is to visit the old log in Emacs, change the version
56 number of the old Emacs to __, do the same with the new log and do 79 number of the old Emacs to __, do the same with the new log and do
57 M-x ediff. Especially check that Info files aren't built. 80 M-x ediff. Especially check that Info files aren't built.
58 81
5910. cd EMACS_ROOT_DIR; bzr tag TAG 829. cd EMACS_ROOT_DIR && bzr tag TAG
60 TAG is emacs-XX.Y.ZZ for a pretest, emacs-XX.Y for a release. 83 TAG is emacs-XX.Y.ZZ for a pretest, emacs-XX.Y for a release.
61 84
62 Shortly before the release, cut the version branch also, and open 85 Shortly before the release, cut the version branch also, and open
@@ -64,17 +87,37 @@ For each step, check for possible errors.
64 be sent to the emacs-diffs mailing list (by default, the list 87 be sent to the emacs-diffs mailing list (by default, the list
65 normally only gets commits to the trunk). 88 normally only gets commits to the trunk).
66 89
6711. Now you should upload the files to the GNU ftp server. In order to 9010. Decide what compression schemes to offer.
91 For a release, at least gz and xz:
92 gzip --best -c emacs-NEW.tar > emacs-NEW.tar.gz
93 xz -c emacs-NEW.tar > emacs-NEW.tar.xz
94
95 Now you should upload the files to the GNU ftp server. In order to
68 do that, you must be registered as an Emacs maintainer and have your 96 do that, you must be registered as an Emacs maintainer and have your
69 GPG key acknowledged by the ftp people. Mail <ftp-upload@gnu.org> 97 GPG key acknowledged by the ftp people. For instructions, see
70 for instructions. 98 http://www.gnu.org/prep/maintain/html_node/Automated-Upload-Registration.html
99 The simplest method is to use the gnulib <http://www.gnu.org/s/gnulib/>
100 script "build-aux/gnupload" to upload each FILE, like this:
101
102 For a pretest:
103 gnupload [--user your@gpg.key.email] --to alpha.gnu.org:emacs/pretest \
104 FILE.gz FILE.xz ...
105
106 For a release:
107 gnupload [--user your@gpg.key.email] --to ftp.gnu.org:emacs \
108 FILE.gz FILE.xz ...
109
110 You only need the --user part if you have multiple GPG keys and do
111 not want to use the default.
112 Obviously, if you do not have a fast uplink, be prepared for the
113 upload to take a while.
71 114
72 You can use the gnupload script to upload each FILE, like this:
73 gnupload --to alpha.gnu.org:emacs/pretest FILE (for a pretest)
74 gnupload --to ftp.gnu.org:emacs FILE (for a release)
75 115
76 Instead of using gnupload, for each FILE, create a detached GPG 116 If you prefer to do it yourself rather than use gnupload:
77 binary signature and a clearsigned directive file like this: 117
118 For each FILE, create a detached GPG binary signature and a
119 clearsigned directive file like this:
120
78 gpg -b FILE 121 gpg -b FILE
79 echo directory: emacs/pretest > FILE.directive (for a pretest) 122 echo directory: emacs/pretest > FILE.directive (for a pretest)
80 echo directory: emacs > FILE.directive (for a release) 123 echo directory: emacs > FILE.directive (for a release)
@@ -85,16 +128,17 @@ For each step, check for possible errors.
85 For a pretest, place the files in /incoming/alpha instead, so that 128 For a pretest, place the files in /incoming/alpha instead, so that
86 they appear on ftp://alpha.gnu.org/. 129 they appear on ftp://alpha.gnu.org/.
87 130
88 For a release, upload a bz2 tarfile as well; this can save a lot 13111. After five minutes, verify that the files are visible at
89 of bandwidth. 132 ftp://alpha.gnu.org/gnu/emacs/pretest/ for a pretest, or
90
9112. After five minutes, verify that the files are visible at
92 ftp://alpha.gnu.org/gnu/emacs/pretest/ for a pretest, at
93 ftp://ftp.gnu.org/gnu/emacs/ for a release. 133 ftp://ftp.gnu.org/gnu/emacs/ for a release.
94 134
9513. For a pretest, announce it on emacs-devel and BCC the pretesters. 135 Download them and check the signatures. Check they build.
96 For a release, announce it on info-gnu@gnu.org, 136
97 info-gnu-emacs@gnu.org, and emacs-devel. 13712. For a pretest, announce it on emacs-devel and info-gnu-emacs@gnu.org.
138 For a release, also announce it on info-gnu@gnu.org. (Probably
139 bcc the info- addresses to make it less likely that people will
140 followup on those lists.)
98 141
9914. For a release, update the Emacs homepage in the web repository. 14213. For a release, update the Emacs homepage in the web repository.
100 Also add the new NEWS file as NEWS.xx.y. 143 Also add the new NEWS file as NEWS.xx.y.
144 Maybe regenerate the html manuals, update the FAQ, etc, etc.
diff --git a/admin/merge-gnulib b/admin/merge-gnulib
index 1f60bb2973e..b43f2bd9bb8 100755
--- a/admin/merge-gnulib
+++ b/admin/merge-gnulib
@@ -4,7 +4,7 @@
4# 4#
5# admin/merge-gnulib 5# admin/merge-gnulib
6 6
7# Copyright 2012 Free Software Foundation, Inc. 7# Copyright 2012-2013 Free Software Foundation, Inc.
8 8
9# This file is part of GNU Emacs. 9# This file is part of GNU Emacs.
10 10
@@ -29,9 +29,10 @@ GNULIB_MODULES='
29 alloca-opt c-ctype c-strcase 29 alloca-opt c-ctype c-strcase
30 careadlinkat close-stream crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 30 careadlinkat close-stream crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512
31 dtoastr dtotimespec dup2 environ execinfo faccessat 31 dtoastr dtotimespec dup2 environ execinfo faccessat
32 fcntl-h filemode getloadavg getopt-gnu gettime gettimeofday 32 fcntl-h fdopendir filemode fstatat getloadavg getopt-gnu gettime gettimeofday
33 ignore-value intprops largefile lstat 33 ignore-value intprops largefile lstat
34 manywarnings mktime pselect pthread_sigmask putenv readlink 34 manywarnings memrchr mktime
35 pselect pthread_sigmask putenv readlink readlinkat
35 sig2str socklen stat-time stdalign stdarg stdbool stdio 36 sig2str socklen stat-time stdalign stdarg stdbool stdio
36 strftime strtoimax strtoumax symlink sys_stat 37 strftime strtoimax strtoumax symlink sys_stat
37 sys_time time timer-time timespec-add timespec-sub unsetenv utimens 38 sys_time time timer-time timespec-add timespec-sub unsetenv utimens
@@ -39,10 +40,10 @@ GNULIB_MODULES='
39' 40'
40 41
41GNULIB_TOOL_FLAGS=' 42GNULIB_TOOL_FLAGS='
42 --avoid=at-internal 43 --avoid=dup
43 --avoid=errno --avoid=fchdir --avoid=fcntl --avoid=fstat 44 --avoid=errno --avoid=fchdir --avoid=fcntl --avoid=fstat
44 --avoid=malloc-posix --avoid=msvc-inval --avoid=msvc-nothrow 45 --avoid=malloc-posix --avoid=msvc-inval --avoid=msvc-nothrow
45 --avoid=openat-die --avoid=openat-h 46 --avoid=open --avoid=openat-die --avoid=opendir
46 --avoid=raise 47 --avoid=raise
47 --avoid=save-cwd --avoid=select --avoid=sigprocmask --avoid=sys_types 48 --avoid=save-cwd --avoid=select --avoid=sigprocmask --avoid=sys_types
48 --avoid=threadlib 49 --avoid=threadlib
diff --git a/admin/notes/bzr b/admin/notes/bzr
index 50eaf3710ee..f35ff95f9d6 100644
--- a/admin/notes/bzr
+++ b/admin/notes/bzr
@@ -182,6 +182,71 @@ where revision N+1 is the one where file was removed.
182You could also try `bzr add --file-ids-from', if you have a copy of 182You could also try `bzr add --file-ids-from', if you have a copy of
183another branch where file still exists. 183another branch where file still exists.
184 184
185* Undoing a commit (uncommitting)
186
187It is possible to undo/remove a bzr commit (ie, to uncommit).
188Only do this if you really, really, need to. For example, if you
189somehow made a commit that triggers a bug in bzr itself.
190Don't do it because you made a typo in a commit or the log.
191
192If you do need to do this, do it as soon as possible, because the
193longer you leave it, the more work is involved.
194
1950. First, tell emacs-devel that you are going to do this, and suggest
196people not commit anything to the affected branch for the duration.
197
198In the following, replace USER with your Savannah username, and
199BRANCH with the name of the branch.
200Let's assume that revno 100 is the bad commit, and that there have
201been two more commits after that (because nothing is ever easy).
202
2031. Ensure your copy of the branch is up-to-date (for a bound
204branch, bzr up; for an unbound branch, bzr pull) and has no local
205changes (bzr st).
206
2072. Make a record of the commits you are going to undo:
208bzr diff -c 102 > /tmp/102.diff
209etc
210
211Also record the commit message, author, and any --fixes information.
212
2133. Most Emacs branches are set up to prevent just this kind of thing.
214So we need to disable that protection:
215
216bzr config append_revisions_only=False \
217 -d bzr+ssh://USER@bzr.savannah.gnu.org/emacs/BRANCH/
218
2194. Undo the commits:
220bzr uncommit -r -4
221
222This will show the commits it is going to undo, and prompt you to confirm.
223
2245. If using an unbound branch:
225bzr push --overwrite
226
2276. Now, replay the commits you just undid (obviously, fix whatever it
228was in the bad commit that caused the problem):
229
230patch -p0 < /tmp/100.diff
231bzr commit --author ... --fixes ... -F /tmp/100.log
232etc
233
2347. If using an unbound branch:
235bzr push
236
2378. Finally, re-enable the branch protection:
238bzr config append_revisions_only=True \
239 -d bzr+ssh://USER@bzr.savannah.gnu.org/emacs/BRANCH/
240
2419. Tell emacs-devel that it is ok to use the branch again.
242Anyone with local changes should back them up before doing anything.
243
244For a bound branch, bzr up will convert any of the undone commits to a
245pending merge. Just bzr revert these away.
246
247For an unbound branch, bzr pull will complain about diverged branches
248and refuse to do anything. Use bzr pull --overwrite.
249
185* Loggerhead 250* Loggerhead
186 251
187Loggerhead is the bzr tool for viewing a repository over http (similar 252Loggerhead is the bzr tool for viewing a repository over http (similar
@@ -202,3 +267,52 @@ For example, on RHEL6 I needed:
202 yum --enablerepo=epel install python-simpletal 267 yum --enablerepo=epel install python-simpletal
203 268
204Then point your web-browser to http://127.0.0.1:8080/ . 269Then point your web-browser to http://127.0.0.1:8080/ .
270
271* Bisecting
272
273This is a semi-automated way to find the revision that introduced a bug.
274
275First, get the bzr bisect plugin if you do not have it already:
276
277 cd ~/.bazaar/plugins
278 bzr branch lp:bzr-bisect bisect
279
280`bzr help bisect' should work now.
281
282It's probably simplest to make a new copy of the branch to work in
283from this point onwards.
284
285Identify the last known "good" revision where the relevant issue is
286NOT present (e.g. maybe Emacs 24.1). Let's say this is revision 1000.
287
288 bzr bisect start
289 bzr bisect no -r 1000
290
291At this point, bzr will switch to the mid-point of revision 1000 and
292the current revision. If you know that the issue was definitely
293present in some specific revision (say 2000), you can use:
294
295 bzr bisect yes -r 2000
296
297Now bzr switches to revision 1500.
298
299Now test whether the issue is present. You might need to rebuild
300Emacs to do this, or if you know the problem is in a specific Lisp
301file, you might be able to get away with just loading that one file in
302current Emacs.
303
304If the issue is present, use
305
306 bzr bisect yes
307
308If it is not, use
309
310 bzr bisect no
311
312Repeat until you zero-in on the specific revision.
313
314When finished, use
315
316 bzr bisect reset
317
318or simply delete the entire branch if you created it just for this.
diff --git a/admin/notes/copyright b/admin/notes/copyright
index 173ff83343a..3a404b69678 100644
--- a/admin/notes/copyright
+++ b/admin/notes/copyright
@@ -1,4 +1,4 @@
1Copyright (C) 2007-2012 Free Software Foundation, Inc. 1Copyright (C) 2007-2013 Free Software Foundation, Inc.
2See the end of the file for license conditions. 2See the end of the file for license conditions.
3 3
4 4
diff --git a/admin/notes/font-backend b/admin/notes/font-backend
index ec2dc11345b..cdf2001580d 100644
--- a/admin/notes/font-backend
+++ b/admin/notes/font-backend
@@ -1,4 +1,4 @@
1Copyright (C) 2002-2012 Free Software Foundation, Inc. 1Copyright (C) 2002-2013 Free Software Foundation, Inc.
2See the end of the file for license conditions. 2See the end of the file for license conditions.
3 3
4 4
diff --git a/admin/notes/lel-TODO b/admin/notes/lel-TODO
index 139aa09e919..2c6d86a4ffd 100644
--- a/admin/notes/lel-TODO
+++ b/admin/notes/lel-TODO
@@ -1,6 +1,6 @@
1Some lisp/emacs-lisp/ Features and Where They Are Documented 1Some lisp/emacs-lisp/ Features and Where They Are Documented
2 2
3Copyright (C) 2007-2012 Free Software Foundation, Inc. 3Copyright (C) 2007-2013 Free Software Foundation, Inc.
4See the end of the file for license conditions. 4See the end of the file for license conditions.
5 5
6 6
diff --git a/admin/notes/multi-tty b/admin/notes/multi-tty
index 5408b9a3d00..c4edd3abc93 100644
--- a/admin/notes/multi-tty
+++ b/admin/notes/multi-tty
@@ -1,6 +1,6 @@
1-*- coding: utf-8; mode: text; -*- 1-*- coding: utf-8; mode: text; -*-
2 2
3Copyright (C) 2007-2012 Free Software Foundation, Inc. 3Copyright (C) 2007-2013 Free Software Foundation, Inc.
4See the end of the file for license conditions. 4See the end of the file for license conditions.
5 5
6From README.multi-tty in the multi-tty branch. 6From README.multi-tty in the multi-tty branch.
diff --git a/admin/notes/unicode b/admin/notes/unicode
index dda6ec4cc93..21704c78a00 100644
--- a/admin/notes/unicode
+++ b/admin/notes/unicode
@@ -1,6 +1,6 @@
1 -*-mode: text; coding: latin-1;-*- 1 -*-mode: text; coding: latin-1;-*-
2 2
3Copyright (C) 2002-2012 Free Software Foundation, Inc. 3Copyright (C) 2002-2013 Free Software Foundation, Inc.
4See the end of the file for license conditions. 4See the end of the file for license conditions.
5 5
6Problems, fixmes and other unicode-related issues 6Problems, fixmes and other unicode-related issues
diff --git a/admin/nt/README-UNDUMP.W32 b/admin/nt/README-UNDUMP.W32
index d3dd88a99ec..8138d0ba0f1 100644
--- a/admin/nt/README-UNDUMP.W32
+++ b/admin/nt/README-UNDUMP.W32
@@ -1,4 +1,4 @@
1Copyright (C) 2001-2012 Free Software Foundation, Inc. 1Copyright (C) 2001-2013 Free Software Foundation, Inc.
2See the end of the file for license conditions. 2See the end of the file for license conditions.
3 3
4 Emacs for Windows 4 Emacs for Windows
diff --git a/admin/nt/README-ftp-server b/admin/nt/README-ftp-server
index 1b0c9390889..5983a0f9617 100644
--- a/admin/nt/README-ftp-server
+++ b/admin/nt/README-ftp-server
@@ -1,4 +1,4 @@
1Copyright (C) 2001-2012 Free Software Foundation, Inc. 1Copyright (C) 2001-2013 Free Software Foundation, Inc.
2See the end of the file for license conditions. 2See the end of the file for license conditions.
3 3
4 Precompiled Distributions of 4 Precompiled Distributions of
@@ -288,4 +288,4 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
288GNU General Public License for more details. 288GNU General Public License for more details.
289 289
290You should have received a copy of the GNU General Public License 290You should have received a copy of the GNU General Public License
291along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. 291along with GNU Emacs. If not, see http://www.gnu.org/licenses/.
diff --git a/admin/quick-install-emacs b/admin/quick-install-emacs
index 4abef102dc4..e74a2a5af49 100755
--- a/admin/quick-install-emacs
+++ b/admin/quick-install-emacs
@@ -1,7 +1,7 @@
1#!/bin/sh 1#!/bin/sh
2### quick-install-emacs --- do a halfway-decent job of installing emacs quickly 2### quick-install-emacs --- do a halfway-decent job of installing emacs quickly
3 3
4## Copyright (C) 2001-2012 Free Software Foundation, Inc. 4## Copyright (C) 2001-2013 Free Software Foundation, Inc.
5 5
6## Author: Miles Bader <miles@gnu.org> 6## Author: Miles Bader <miles@gnu.org>
7 7
diff --git a/admin/unidata/Makefile.in b/admin/unidata/Makefile.in
index ecbd0490246..49cd9bb6d3a 100644
--- a/admin/unidata/Makefile.in
+++ b/admin/unidata/Makefile.in
@@ -1,6 +1,6 @@
1# Makefile -- Makefile to generate character property tables. 1# Makefile -- Makefile to generate character property tables.
2 2
3# Copyright (C) 2012 Free Software Foundation, Inc. 3# Copyright (C) 2012-2013 Free Software Foundation, Inc.
4 4
5# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011 5# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
6# National Institute of Advanced Industrial Science and Technology (AIST) 6# National Institute of Advanced Industrial Science and Technology (AIST)