Mercurial > emacs
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 |
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 | 2 |
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 | 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 | 13 |
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 | 27 |
28 | |
29 Principle: Individual files need to have the year of the release | |
30 in the copyright notice if there is significant change. | |
31 | |
32 | |
33 Practice: | |
34 | |
35 - individual files | |
36 - each must be examined, along w/ its history, by a human | |
37 - automated tools facilitate but can never replace this process | |
38 | |
39 - year of the release | |
40 - may be different from year of file introduction, | |
41 or year of last significant change | |
42 - sometimes the release year slips, leaving a file w/ prematurely | |
43 marked release year => need update (e.g., s/2004/2005/ for Emacs 22) | |
44 - intervening years (between releases) are not valid and may cause | |
45 embarrassment later in case of dispute => remove (however, see next) | |
46 - years for new files (merged, contributed) that have been separately | |
47 published are valid even if between releases => leave alone | |
48 | |
49 - significant change | |
50 - insignificant | |
51 - whitespace | |
52 - copyright notice | |
53 - version control tags | |
54 - simple var/func renaming | |
55 - in-file reorganization/reordering | |
56 - typos | |
57 - small bugfixes | |
58 - small docfixes | |
59 - filename renaming | |
60 - most everything else is significant | |
61 - change to interface | |
62 - change in functionality | |
63 - new file | |
64 - many small changes may be significant in aggregate | |
65 | |
66 - when in doubt, ask (and update these guidelines -- thanks!) | |
67 | |
68 - sometimes people make mistakes | |
69 - if they have not read these guidelines, point them here | |
70 - if the guidelines are not helpful, improve the guidelines |