aboutsummaryrefslogtreecommitdiffstats
path: root/admin/notes
diff options
context:
space:
mode:
Diffstat (limited to 'admin/notes')
-rw-r--r--admin/notes/BRANCH18
-rw-r--r--admin/notes/exit-value35
2 files changed, 53 insertions, 0 deletions
diff --git a/admin/notes/BRANCH b/admin/notes/BRANCH
new file mode 100644
index 00000000000..2c343e53f15
--- /dev/null
+++ b/admin/notes/BRANCH
@@ -0,0 +1,18 @@
1This file describes the CVS branch in which it is maintained.
2Everything below the line is branch-specific.
3________________________________________________________________________
4
5This is the "HEAD" branch, otherwise known as the "trunk". Its primary
6purpose is to accumulate changes that are not yet partitioned into a
7specific (versioned) release. When people say "use CVS emacs", this is
8the branch they are talking about. Likewise, a "cvs checkout" without
9the "-r" option results in this branch.
10
11The plans for this branch are not specified; Emacs hackers add to it
12relatively free of constraint (aside from proper legal / accounting
13practices), although sometimes there is related discussion on the
14emacs-devel mailing list.
15
16The closure process for this branch is undocumented; concepts such as
17"freeze", "release", or "integration with the trunk" are not applicable
18to this branch.
diff --git a/admin/notes/exit-value b/admin/notes/exit-value
new file mode 100644
index 00000000000..e59bb614b9b
--- /dev/null
+++ b/admin/notes/exit-value
@@ -0,0 +1,35 @@
1ttn 2004-05-09
2
3The exit value of a program returning to the shell on unixoid systems is
4typically 0 for success, and non-0 (such as 1) for failure. For vms it is
5odd (1,3,5...) for success, even (0,2,4...) for failure.
6
7This holds from the point of view of the "shell" (in quotes because vms has a
8different dispatch model that is not explained further here).
9
10From the point of view of the program, nowadays stdlib.h on both type of
11systems provides macros `EXIT_SUCCESS' and `EXIT_FAILURE' that should DTRT.
12
13NB: The numerical values of these macros DO NOT need to fulfill the the exit
14value requirements outlined in the first paragraph! That is the job of the
15`exit' function. Thus, this kind of construct shows misunderstanding:
16
17 #ifdef VMS
18 exit (1);
19 #else
20 exit (0);
21 #endif
22
23Values aside from EXIT_SUCCESS and EXIT_FAILURE are tricky.
24
25
26
27ttn 2004-05-12
28
29Values aside from EXIT_SUCCESS and EXIT_FAILURE can be used to indicate
30finer gradations of failure. If this is the only information available
31to the caller, clamping such values to EXIT_FAILURE loses information.
32If there are other ways to indicate the problem to the caller (such as
33a message to stderr) it may be ok to clamp. In all cases, it is the
34relationship between the program and its caller that must be examined.
35[Insert ZAMM quote here.]