- add a run-time check for WCONTINUED being defined in header files
but rejected with EINVAL by waitpid(). Fix from Maciej Rozycki
<macro@linux-mips.org>
+
+ 6/20
+ ----
+bashhist.c
+ - make sure calls to sv_histchars are protected by #ifdef BANG_HISTORY
+ - ditto for calls to history_expand_line_internal
+
+ 6/23
+ ----
+doc/bashref.texi
+ - remove extra blank lines in @menu constructs
+
+variables.c
+ - assign export_env to environ (extern char **) every time it changes
+ (mostly in add_to_export_env define), so maybe getenv will work on
+ systems that don't allow it to be replaced
@menu
* Introduction:: An introduction to the shell.
-
* Definitions:: Some definitions used in the rest of this
manual.
-
* Basic Shell Features:: The shell "building blocks".
-
* Shell Builtin Commands:: Commands that are a part of the shell.
-
* Shell Variables:: Variables used or set by Bash.
-
* Bash Features:: Features found only in Bash.
-
-* Job Control:: A chapter describing what job control is
- and how Bash allows you to use it.
-
-* Using History Interactively:: Chapter dealing with history expansion
- rules.
-
+* Job Control:: What job control is and how Bash allows you
+ to use it.
+* Using History Interactively:: Command History Expansion
* Command Line Editing:: Chapter describing the command line
editing features.
-
* Installing Bash:: How to build and install Bash on your system.
-
* Reporting Bugs:: How to report bugs in Bash.
-
* Major Differences From The Bourne Shell:: A terse list of the differences
between Bash and historical
versions of /bin/sh.
-
* Copying This Manual:: Copying this manual.
-
* Builtin Index:: Index of Bash builtin commands.
-
* Reserved Word Index:: Index of Bash reserved words.
-
* Variable Index:: Quick reference helps you find the
variable you want.
-
* Function Index:: Index of bindable Readline functions.
-
* Concept Index:: General index for concepts described in
this manual.
@end menu
@chapter Introduction
@menu
* What is Bash?:: A short description of Bash.
-
* What is a shell?:: A brief introduction to shells.
@end menu
@section Shell Syntax
@menu
* Shell Operation:: The basic operation of the shell.
-
* Quoting:: How to remove the special meaning from characters.
-
* Comments:: How to specify comments.
@end menu
* Double Quotes:: How to suppress most of the interpretation of a
sequence of characters.
* ANSI-C Quoting:: How to expand ANSI-C sequences in quoted strings.
-
* Locale Translation:: How to translate strings into different languages.
@end menu
@menu
* Simple Command Expansion:: How Bash expands simple commands before
executing them.
-
* Command Search and Execution:: How Bash finds commands and runs them.
-
* Command Execution Environment:: The environment in which Bash
executes commands that are not
shell builtins.
-
* Environment:: The environment given to a command.
-
* Exit Status:: The status returned by commands and how Bash
interprets it.
-
* Signals:: What happens when Bash or a command it runs
receives a signal.
-
@end menu
@node Simple Command Expansion
@menu
* Basic Installation:: Installation instructions.
-
* Compilers and Options:: How to set special options for various
systems.
-
* Compiling For Multiple Architectures:: How to compile Bash for more
than one kind of system from
the same source tree.
-
* Installation Names:: How to set the various paths used by the installation.
-
* Specifying the System Type:: How to configure Bash for a particular system.
-
* Sharing Defaults:: How to share default configuration values among GNU
programs.
-
* Operation Controls:: Options recognized by the configuration program.
-
* Optional Features:: How to enable and disable optional features when
building Bash.
@end menu
#define ifsname(s) ((s)[0] == 'I' && (s)[1] == 'F' && (s)[2] == 'S' && (s)[3] == '\0')
+extern char **environ;
+
/* Variables used here and defined in other files. */
extern int posixly_correct;
extern int line_number;
{ \
export_env_size += 16; \
export_env = strvec_resize (export_env, export_env_size); \
+ environ = export_env; \
} \
export_env[export_env_index++] = (do_alloc) ? savestring (envstr) : envstr; \
export_env[export_env_index] = (char *)NULL; \
{
export_env_size = new_size;
export_env = strvec_resize (export_env, export_env_size);
+ environ = export_env;
}
export_env[export_env_index = 0] = (char *)NULL;