annotate admin/notes/years @ 83374:0b75ace4f7ad

Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.) * src/keyboard.c (temporarily_switch_to_single_kboard) (record_single_kboard_state, restore_kboard_configuration): New functions. (timer_check): Use record_single_kboard_state instead of naive single_kboard state management. * src/fns.c: Include termhooks.h. (Fy_or_n_p): Use temporarily_switch_to_single_kboard to prevent crashes caused by bogus longjmps in read_char. * src/callint.c (Fcall_interactively): Use temporarily_switch_to_single_kboard instead of single_kboard_state. Make sure it is correctly unwinded. * src/keyboard.c (recursive_edit_unwind): Remove single_kboard stuff. (Frecursive_edit): Use temporarily_switch_to_single_kboard for single_kboard state management. * src/minibuf.c (read_minibuf): Use temporarily_switch_to_single_kboard instead of simply calling single_kboard_state. * src/keyboard.c (push_device_kboard): Remove function. (push_kboard): New function. (push_frame_kboard): Use it. (pop_frame_kboard): Rename to pop_kboard. * src/xdisp.c (display_mode_line, Fformat_mode_line): Update uses. * src/data.c: Include termhooks.h. (Fterminal_local_value, Fset_terminal_local_value): Update. * src/Makefile.in (data.o, fns.o): Add termhooks.h dependency. * src/keyboard.h (push_device_kboard, pop_frame_kboard): Remove declarations. (push_kboard, pop_kboard, temporarily_switch_to_single_kboard) (record_single_kboard_state): New declarations. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-414
author Karoly Lorentey <lorentey@elte.hu>
date Sun, 11 Sep 2005 06:42:03 +0000
parents c062f0fb51ba
children f3a5f0fb3297
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
64680
32b32ccdedc0 Update. Include emacs-devel message fragment.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 62697
diff changeset
1 How to Maintain Copyright Years for GNU Emacs
62697
344e02ca2730 *** empty log message ***
Kim F. Storm <storm@cua.dk>
parents: 62464
diff changeset
2
344e02ca2730 *** empty log message ***
Kim F. Storm <storm@cua.dk>
parents: 62464
diff changeset
3
64680
32b32ccdedc0 Update. Include emacs-devel message fragment.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 62697
diff changeset
4 "Our lawyer says it is ok if we add, to each file that has been in Emacs
32b32ccdedc0 Update. Include emacs-devel message fragment.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 62697
diff changeset
5 since Emacs 21 came out in 2001, all the subsequent years. We don't
32b32ccdedc0 Update. Include emacs-devel message fragment.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 62697
diff changeset
6 need to check whether *that file* was changed in those years.
32b32ccdedc0 Update. Include emacs-devel message fragment.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 62697
diff changeset
7 It's sufficient that *Emacs* was changed in those years (and it was!).
62697
344e02ca2730 *** empty log message ***
Kim F. Storm <storm@cua.dk>
parents: 62464
diff changeset
8
64680
32b32ccdedc0 Update. Include emacs-devel message fragment.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 62697
diff changeset
9 For those files that have been added since then, we should add
32b32ccdedc0 Update. Include emacs-devel message fragment.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 62697
diff changeset
10 the year it was added to Emacs, and all subsequent years."
32b32ccdedc0 Update. Include emacs-devel message fragment.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 62697
diff changeset
11
32b32ccdedc0 Update. Include emacs-devel message fragment.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 62697
diff changeset
12 --RMS, 2005-07-13
62697
344e02ca2730 *** empty log message ***
Kim F. Storm <storm@cua.dk>
parents: 62464
diff changeset
13
344e02ca2730 *** empty log message ***
Kim F. Storm <storm@cua.dk>
parents: 62464
diff changeset
14
65217
c062f0fb51ba Mention rendered/commented copyright notice practice
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64680
diff changeset
15 For the refcards under etc/, it's ok to simply use the latest year
c062f0fb51ba Mention rendered/commented copyright notice practice
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64680
diff changeset
16 (typically in a `\def\year{YEAR}' expression) for the rendered copyright
c062f0fb51ba Mention rendered/commented copyright notice practice
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64680
diff changeset
17 notice, while maintaining the full list of years in the copyright notice
c062f0fb51ba Mention rendered/commented copyright notice practice
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64680
diff changeset
18 in the comments.
c062f0fb51ba Mention rendered/commented copyright notice practice
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64680
diff changeset
19
c062f0fb51ba Mention rendered/commented copyright notice practice
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64680
diff changeset
20
64680
32b32ccdedc0 Update. Include emacs-devel message fragment.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 62697
diff changeset
21 ------------------------------------------------------------------------------
32b32ccdedc0 Update. Include emacs-devel message fragment.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 62697
diff changeset
22
32b32ccdedc0 Update. Include emacs-devel message fragment.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 62697
diff changeset
23
32b32ccdedc0 Update. Include emacs-devel message fragment.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 62697
diff changeset
24 Following is the policy that we tried to write down one time (mid 2005).
32b32ccdedc0 Update. Include emacs-devel message fragment.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 62697
diff changeset
25 Although it is incorrect, we keep it around to remind us how complicated
32b32ccdedc0 Update. Include emacs-devel message fragment.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 62697
diff changeset
26 things used to be (and may become in the future).
62464
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
27
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
28
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
29 Principle: Individual files need to have the year of the release
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
30 in the copyright notice if there is significant change.
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
31
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
32
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
33 Practice:
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
34
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
35 - individual files
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
36 - each must be examined, along w/ its history, by a human
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
37 - automated tools facilitate but can never replace this process
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
38
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
39 - year of the release
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
40 - may be different from year of file introduction,
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
41 or year of last significant change
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
42 - sometimes the release year slips, leaving a file w/ prematurely
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
43 marked release year => need update (e.g., s/2004/2005/ for Emacs 22)
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
44 - intervening years (between releases) are not valid and may cause
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
45 embarrassment later in case of dispute => remove (however, see next)
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
46 - years for new files (merged, contributed) that have been separately
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
47 published are valid even if between releases => leave alone
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
48
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
49 - significant change
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
50 - insignificant
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
51 - whitespace
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
52 - copyright notice
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
53 - version control tags
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
54 - simple var/func renaming
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
55 - in-file reorganization/reordering
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
56 - typos
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
57 - small bugfixes
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
58 - small docfixes
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
59 - filename renaming
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
60 - most everything else is significant
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
61 - change to interface
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
62 - change in functionality
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
63 - new file
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
64 - many small changes may be significant in aggregate
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
65
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
66 - when in doubt, ask (and update these guidelines -- thanks!)
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
67
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
68 - sometimes people make mistakes
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
69 - if they have not read these guidelines, point them here
fc472d032079 Initial revision
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
diff changeset
70 - if the guidelines are not helpful, improve the guidelines