Lines Matching refs:to
44 back to the main command loop */
52 events occur. The intent is to improve modularity by isolating
53 the information about which modules need to be explicitly
68 Preprocessor #define statements are copied to init.c without any
69 special action to request this.
73 cluded that the optimal amount to indent is in the range of four
74 to six spaces. I use six spaces since it is not too big a jump
76 indentation, use the adjind (source included) program to change
77 it to something else.
85 pose of EXSHELLPROC is to perform the cleanup actions associated
91 EXINT exception to return to the main command loop. (Exception:
102 big advantage is that when an exception occurs all we have to do
103 to free up the memory in use at the time of the exception is to
107 STPUTC: If the stack were contiguous, it would be easy to store
109 string was going to be:
126 called from main to parse the shell arguments when the shell is
130 (in trap.c) are called to handle changes to these options.
134 used to classify characters during lexical analysis. There are
138 ables and the range of a char varies from machine to machine.
144 Nodes of type NARG are used to represent both words and the con-
148 formance. It would have been nice to make it an option to use
150 machines, but the code to keep track of when to delete the tem-
153 years, and to the best of my knowledge they still haven't gotten
154 it to handle temporary files correctly in obscure cases.)
156 The text field of a NARG structure points to the text of the
196 they can be passed through transparently. CTLESC is also used to
200 CTLESC characters have proved to be particularly tricky to get
201 right. In the case of here documents which are not subject to
203 CTLESC characters to begin with (so the contents of the text
205 ments, and words which are not subject to splitting and file name
213 redir.c Code to handle redirection of input and output.
214 jobs.c Code to handle forking, waiting, and job control.
215 exec.c Code to to path searches and the actual exec sys call.
216 expand.c Code to evaluate arguments.
221 native entry evalbackcmd is called to evaluate commands in back
223 tin; otherwise it forks off a child to execute the command and
224 connects the standard output of the child to a pipe.
226 JOBS.C: To create a process, you call makejob to return a job
228 an argument) to create the process. Waitforjob waits for a job
229 to complete. These routines take care of process groups if job
232 REDIR.C: Ash allows file descriptors to be redirected and then
236 cated to.
240 third argument specifies whether it is to print an error message
243 fore any forking is done, so to get the commands into the hash
244 table of the parent process. But to make command hashing as
249 The routine shellexec is the interface to the exec system call.
262 switch to extensible hashing. The variable name is stored in the
264 no string copying is needed to create the environment of a com-
271 the variable table as the simplest way to strip duplicates, and
272 then calls "environment" to get the value of the environment.
273 There are two consequences of this. First, if an assignment to
275 ment must be remembered and passed to shellexec. Second, if the
276 program turns out to be a shell procedure, the strings from the
285 ways end in "cmd". The mapping from names to procedures is
290 normal program. A builtin command is allowed to overwrite its
291 arguments. Builtin routines can call nextopt to do option pars-
293 argv to it. Builtin routines can also call error. This routine
294 normally terminates the shell (or returns to the main command
296 command it causes the builtin command to terminate with an exit
307 "main", and #define main to be the name of the routine to use
310 gram is to be compiled stand-alone.
314 has already done a cd to an absolute pathname), but then
323 received and invokes the signal system call to set the signal ac-
326 is called at appropriate points to actually handle the signal.
333 which is to be stored in memory. This last is used when a buil-
334 tin command appears in backquotes, to allow its output to be col-
336 The variables out1 and out2 normally point to output and errout,
337 respectively, but they are set to point to memout when appropri-
343 input to come from a string rather than a file. (This is for the
350 write debugging information to the file $HOME/trace. Most of
355 number of arguments. Defining DEBUG also causes the shell to