At some point between ash 0.3.5-11.0.1 and ash 0.3.8-37, Debian
ash stopped using the EXSHELLPROC exception to handle shell
scripts without a magic number.

Remove all remaining references to it to avoid confusion.

Signed-off-by: Jonathan Nieder <>
 src/TOUR    |   11 +----------
 src/error.h |    5 ++---
 2 files changed, 3 insertions(+), 13 deletions(-)

diff --git a/src/TOUR b/src/TOUR
index 4baac62..056e79b 100644
--- a/src/TOUR
+++ b/src/TOUR
@@ -43,10 +43,6 @@ C source files for entries looking like:
                            back to the main command loop */
-        SHELLPROC {
-              x = 3;    /* executed when the shell runs a shell procedure */
-        }
 It pulls this code out into routines which are when particular
 events occur.  The intent is to improve modularity by isolating
 the information about which modules need to be explicitly
@@ -79,12 +75,7 @@ EXCEPTIONS:  Code for dealing with exceptions appears in
 exceptions.c.  The C language doesn't include exception handling,
 so I implement it using setjmp and longjmp.  The global variable
 exception contains the type of exception.  EXERROR is raised by
-calling error.  EXINT is an interrupt.  EXSHELLPROC is an excep-
-tion which is raised when a shell procedure is invoked.  The pur-
-pose of EXSHELLPROC is to perform the cleanup actions associated
-with other exceptions.  After these cleanup actions, the shell
-can interpret a shell procedure itself without exec'ing a new
-copy of the shell.
+calling error.  EXINT is an interrupt.
 INTERRUPTS:  In an interactive shell, an interrupt will cause an
 EXINT exception to return to the main command loop.  (Exception:
diff --git a/src/error.h b/src/error.h
index 3162e15..15ccbe3 100644
--- a/src/error.h
+++ b/src/error.h
@@ -66,9 +66,8 @@ extern int exception;
 /* exceptions */
 #define EXINT 0                /* SIGINT received */
 #define EXERROR 1      /* a generic error */
-#define EXSHELLPROC 2  /* execute a shell procedure */
-#define EXEXEC 3       /* command execution failed */
-#define EXEXIT 4       /* exit the shell */
+#define EXEXEC 2       /* command execution failed */
+#define EXEXIT 3       /* exit the shell */

To unsubscribe from this list: send the line "unsubscribe dash" in
the body of a message to
More majordomo info at

Reply via email to