* lisp/imenu.el (imenu-flatten): New defcustom (bug#70846).
[emacs.git] / admin / notes / years
blob0510cb24b81d1dd4116336954b2dfd6407695a9d
1 HOW TO MAINTAIN COPYRIGHT YEARS FOR GNU EMACS
3 Maintaining copyright years is now very simple: every time a new year
4 rolls around, add that year to every FSF (and AIST) copyright notice.
5 Do this by running the 'admin/update-copyright' script on a fresh repo
6 checkout, redirecting its output to a file, so that you could later
7 examine the files that don't have copyright notices.  Inspect the
8 results for plausibility, then commit them.
10 A few known problems with the build-aux/update-copyright script:
12   . it doesn't update config.bat, msdos/depfiles.bat,
13     nt/configure.bat, etc/tutorials/TUTORIAL.cn,
14     etc/tutorials/TUTORIAL.el_GR, and etc/tutorials/TUTORIAL.he
15     because the "Copyright" statement begins in these files
16     after a prefix that is more than 5 characters long
17   . it doesn't update etc/tutorials/TUTORIAL.nl and
18     etc/tutorials/TUTORIAL.ro for some reason
19   . it doesn't update the second Copyright notice, the one that gets
20     output into PDF and PS, in etc/refcards/ru-refcard.tex
21   . it doesn't update etc/refcards/gnus-refcard.tex and
22     doc/misc/org.org because their Copyright statements have a
23     non-standard format
24   . several README and XPM files under etc/images/, and also
25     etc/refcards/README, msdos/README, and nt/icons/README aren't
26     updated either
27   - the copyright notice for headers generated by exec/configure.ac is
28     not updated as the file already bears a notice above it
30 These files need to be updated by hand.
32 Next, run "M-x set-copyright" from admin.el, which updates several
33 copyright notices in the Emacs sources.
35 You should also run the etags test suite in test/manual/etags/.  It
36 will most probably fail because the contents of the test files changes
37 due to copyright years update, so you need to move each ETAGS and
38 CTAGS file produced by the test runs into the corresponding
39 ETAGS.good* and CTAGS.good files, and then commit the new test files.
41 There's no need to worry about whether an individual file has changed
42 in a given year - it's sufficient that Emacs as a whole has changed.
44 Therefore the years are updated en-masse near the start of each year,
45 so basically there is no need for most people to do any updating of them.
47 The current (in 2011) version of "Information for Maintainers of GNU
48 Software" (see that document for more details) says that it is OK to use
49 ranges in copyright years, so in early 2011 the years were changed to use
50 ranges, which occupy less space and do not grow in length every year.
52 For more detailed information on maintaining copyright, see the file
53 "copyright" in this directory.
55 The previous policy was more complex, but is now only of historical
56 interest (see versions of this file from before 2009).
58 The refcards in etc/refcards can print only the latest copyright year,
59 but should keep the full list in a comment in the source.
62 "Our lawyer says it is ok if we add, to each file that has been in Emacs
63  since Emacs 21 came out in 2001, all the subsequent years[1].  We don't
64  need to check whether *that file* was changed in those years.
65  It's sufficient that *Emacs* was changed in those years (and it was!).
67  For those files that have been added since then, we should add
68  the year it was added to Emacs, and all subsequent years."
70  --RMS, 2005-07-13
72 [1] Note that this includes 2001 - see
73 <https://lists.gnu.org/r/emacs-pretest-bug/2006-12/msg00119.html>