aboutsummaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
authorEli Zaretskii2014-10-15 16:16:10 +0300
committerEli Zaretskii2014-10-15 16:16:10 +0300
commitb8ec977659df3970a6c8afb7a5b79c9b61e08307 (patch)
tree58d317d79edc1406c8f50235062c86cb71ae18b5 /admin
parent48af58622bd07f37124a7b35f903b00de119f4a8 (diff)
parent73d4c39e1519a5fec742686e3c81941113d41448 (diff)
downloademacs-b8ec977659df3970a6c8afb7a5b79c9b61e08307.tar.gz
emacs-b8ec977659df3970a6c8afb7a5b79c9b61e08307.zip
Merge from trunk.
Diffstat (limited to 'admin')
-rw-r--r--admin/notes/exit-value28
-rw-r--r--admin/notes/iftc26
-rw-r--r--admin/notes/lel-TODO124
-rw-r--r--admin/notes/versioning26
-rw-r--r--admin/versioning49
5 files changed, 26 insertions, 227 deletions
diff --git a/admin/notes/exit-value b/admin/notes/exit-value
deleted file mode 100644
index 96337e4c8dd..00000000000
--- a/admin/notes/exit-value
+++ /dev/null
@@ -1,28 +0,0 @@
1ttn 2004-05-09
2
3The exit value of a program returning to the shell on unixoid systems
4is typically 0 for success, and non-0 (such as 1) for failure. This is
5not always the case on other systems.
6
7From the point of view of the program stdlib.h provides macros
8`EXIT_SUCCESS' and `EXIT_FAILURE' that should DTRT. N.B. The
9numerical values of these macros DO NOT need to fulfill the exit value
10requirements outlined in the first paragraph! That is the job of the
11`exit' function. Thus, this kind of construct shows misunderstanding:
12
13 #ifdef WEIRD_OS
14 exit (1);
15 #else
16 exit (0);
17 #endif
18
19Values aside from EXIT_SUCCESS and EXIT_FAILURE are tricky, but can be
20used to indicate finer gradations of failure. If this is the only
21information available to the caller, clamping such values to
22EXIT_FAILURE loses information. If there are other ways to indicate
23the problem to the caller (such as a message to stderr) it may be ok
24to clamp. In all cases, it is the relationship between the program
25and its caller that must be examined.
26
27[Insert ZAMM quote here.] <-- I presume this refers to ``Zen and the
28Art of Motorcycle Maintenance'' - Reuben Thomas <rrt@sc3d.org>.
diff --git a/admin/notes/iftc b/admin/notes/iftc
deleted file mode 100644
index 983b1486685..00000000000
--- a/admin/notes/iftc
+++ /dev/null
@@ -1,26 +0,0 @@
1Iso-Functional Type Contour
2
3
4This is a term coined to describe "column int->float" change approach, and can
5be used whenever low-level types need to change (hopefully not often!) but the
6meanings of the values (whose type has changed) do not.
7
8The premise is that changing a low-level type potentially means lots of code
9needs to be changed as well, and the question is how to do this incrementally,
10which is the preferred way to change things.
11
12Say LOW and HIGH are C functions:
13
14 int LOW (void) { return 1; }
15 void HIGH (void) { int value = LOW (); }
16
17We want to convert LOW to return float, so we cast HIGH usage:
18
19 float LOW (void) { return 1.0; }
20 void HIGH (void) { int value = (int) LOW (); } /* iftc */
21
22The comment /* iftc */ is used to mark this type of casting to differentiate
23it from other casting. We commit the changes and can now go about modifying
24LOW and HIGH separately. When HIGH is ready to handle the type change, the
25cast can be removed.
26
diff --git a/admin/notes/lel-TODO b/admin/notes/lel-TODO
deleted file mode 100644
index 4a4ccb5e6e8..00000000000
--- a/admin/notes/lel-TODO
+++ /dev/null
@@ -1,124 +0,0 @@
1Some lisp/emacs-lisp/ Features and Where They Are Documented
2
3Copyright (C) 2007-2014 Free Software Foundation, Inc.
4See the end of the file for license conditions.
5
6
7* Status Key
8 - -- as yet unknown
9 n/a -- not applicable (internal, uninteresting, etc)
10 obsolete -- an obsolete feature, to be removed in future
11 todo -- not documented but should be
12 NODE -- documented in or under info node NODE
13
14
15* Features
16 advice (elisp) Advising Functions
17 advice-preload n/a
18 assoc -
19 authors -
20 autoload (elisp) Autoload
21 avl-tree -
22 backquote n/a
23 benchmark n/a
24 bindat (elisp) Byte Packing
25 byte-compile (elisp) Byte Compilation
26 byte-opt -
27 bytecomp (elisp) Compilation Functions
28 checkdoc (elisp) Documentation Tips
29 cl (cl)
30 cl-compat n/a
31 cl-specs n/a
32 copyright -
33 crm -
34 cust-print (elisp) Printing in Edebug
35 debug (elisp) Debugger
36 derived (elisp) Derived Modes
37 disass (elisp) Disassembly
38 easy-mmode (elisp) Defining Minor Modes
39 easymenu -
40 edebug (elisp) Edebug
41 eldoc -
42 elint -
43 elp n/a
44 ewoc (elisp) Separated Rendering
45 find-func -
46 find-gc -
47 generic (elisp) Generic Modes
48 gulp n/a
49 helper -
50 levents obsolete
51 lisp-float-type -
52 lisp-mnt -
53 lisp-mode n/a
54 lmenu obsolete
55 lucid obsolete
56 macroexp (elisp) Expansion
57 pp (emacs) Program Indent
58 re-builder -
59 regexp-opt (elisp) Regexp Functions
60 regi -
61 ring (elisp) Rings
62 rx -
63 shadow -
64 sregex obsolete
65 syntax (elisp) Position Parse
66 testcover -
67 timer (elisp) Timers
68 tq (elisp) Transaction Queues
69 trace -
70 unsafep (elisp) Function Safety
71 warnings (elisp) Warnings
72
73
74* Above list created using default directory lisp/emacs-lisp/ with
75 (shell-command
76 "sed '/^(provide '\\''/!d;s// /;s/).*//' *.el | sort | uniq")
77
78
79* How to use this file to improve Emacs
80 (loop
81 (let* ((feature (choose-one Features))
82 (status (feature-status feature)))
83 (if (or (eq '- status) (not (verify status)))
84 (update feature (current-docs feature))
85 (case status
86 (todo (let (doc patch feedback)
87 (while (not (grok feature))
88 (or (play-with feature)
89 (grep feature Internet)
90 (grep feature (wisdom-maybe "emacs-devel"))))
91 (setq doc (write-documentation feature)
92 patch (diff (current-docs) doc))
93 (while (not (and (correct doc)
94 (well-placed doc)
95 (well-formed patch)))
96 (setq doc (revise doc)
97 patch (diff (current-docs) doc))
98 feedback (wisdom-maybe "emacs-devel" patch))
99 (when (install patch)
100 (when (update feature (current-docs feature))
101 (job-well-done user-login-name)))))
102 (n/a (job-well-done user-login-name))))))
103
104
105* Etc
106
107This file is part of GNU Emacs.
108
109GNU Emacs is free software: you can redistribute it and/or modify
110it under the terms of the GNU General Public License as published by
111the Free Software Foundation, either version 3 of the License, or
112(at your option) any later version.
113
114GNU Emacs is distributed in the hope that it will be useful,
115but WITHOUT ANY WARRANTY; without even the implied warranty of
116MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
117GNU General Public License for more details.
118
119You should have received a copy of the GNU General Public License
120along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
121
122 Local variables:
123 mode: outline
124 End:
diff --git a/admin/notes/versioning b/admin/notes/versioning
new file mode 100644
index 00000000000..e422b22e432
--- /dev/null
+++ b/admin/notes/versioning
@@ -0,0 +1,26 @@
1GNU EMACS VERSIONING -*- org -*-
2
3Ref: http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00872.html
4
5Emacs version numbers have the form
6
7 major.minor[.devel].build
8
9"build" increments each time Emacs is built in the same location
10(without cleaning) and isn't really part of the version.
11
12bugfix releases increase "minor" by 1.
13non-bugfix releases increase "major" by 1, and reset "minor" to 1.
14(The division between bugfix and non-bugfix has not always been clear
15historically.)
16
17Unreleased (development) versions have an extra "devel" component.
18This is a fairly meaningless number that may be unchanged for a long time.
19It is normally 50.
20When the release process starts, it changes to 90, 91, ...
21When the actual release is made, this component is removed.
22
23The development version for a new major release has "minor" = 0.
24The development version for a new minor release has "minor" = that of
25the previous release.
26
diff --git a/admin/versioning b/admin/versioning
deleted file mode 100644
index da547ee94ca..00000000000
--- a/admin/versioning
+++ /dev/null
@@ -1,49 +0,0 @@
1GNU EMACS VERSIONING -*- org -*-
2
3The version number scheme of Emacs, including how to determine when to
4bump various components of the version number, has evolved over the
5years. This file defines the current method, explains why it was
6chosen, and lightly documents the previous schemes. It was prompted
7by http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00872.html.
8
9Related info:
10- [[file:FOR-RELEASE][FOR-RELEASE]]
11- [[file:make-tarball.txt][make-tarball.txt]]
12
13* what: MAJOR.MINOR
14
15This has always been the case (see [[was]], below). MINOR is 1 or more,
16usually, the exception being for pretest releases, where there is
17an additional trailing ".ALPHA" (e.g., 24.3.95 prior to 24.4).
18
19To determine any release's version, we follow this algorithm:
20
21- If MAJOR-CHANGES, increment MAJOR and set MINOR to 1.
22- Otherwise, increment MINOR.
23
24where MAJOR-CHANGES is defined roughly as the union of:
25
26- dropped support for IMPORTANT
27 - platforms (almost never happens)
28 - Emacs Lisp features
29 - non-programming features/packages
30- IMPORTANT additions and changes
31 - Emacs Lisp features
32 - non-programming features/packages
33
34and IMPORTANT is defined through discussion on the [[http://mail.gnu.org/archive/html/emacs-devel/][emacs-devel]]
35mailing list and/or private arm-twisting (although this latter
36method is somewhat discouraged :-D).
37
38* why
39
40People expect bumps in MINOR for "minor" changes. This typically
41includes bugfixes, doc improvements, or fully-backward-compatible
42additions and changes, only.
43
44Anything else is actually IMPORTANT, to the user. [Actually, who
45really knows what the user thinks? I certainly don't. --ttn]
46
47* was
48
49TODO (be sure to include "ad-hoc" :-D)