> > > On Sun, Apr 24, 2011 at 04:33:44PM +0200, Andy Wingo wrote: > >> your patches should be "atomic" > > > > "3. No patch introduces a regression: after applying any > > initial part of the series, the resulting project still > > compiles and works, and has no bugs that it didn’t have > > before." > > Right, at the end of applying all of your patches, I'm sure that's the > case; however the first patch adds an @include without adding the > appropriate file, so applying just the first patch without the following > two would yield a project that doesn't compile. I just meant that you > need to squish the first two or three of them together. I can do that > when I apply them, though. > > By @itemx I just meant to do instead of: > > > +@item -s @var{script} @var{arg...} > > you would > > @item @var{script} @var{arg...} > @itemx -s @var{script} @var{arg} > > The other option would be > > @item [-s] @var{script} @var{arg} > > which is not as clear IMO. I feel that it's important to have a good > example up there, and making it clear that it's OK to just invoke Guile > as "guile foo.scm" is important. But your description is good too. OK. I have added an '@itemx' entry to distinguish between the usual case and the special case. > > > +For compatibility with some versions of Guile 1.4, you can also use the > > +form @code{(symbol ...)} (that is, a list of only symbols that doesn't > > +start with @code{@@}), which is equivalent to @code{(@@ (symbol ...) > > +main)}, or @code{(symbol ...) symbol} (that is, a list of only symbols > > +followed by a symbol), which is equivalent to @code{(@@ (symbol ...) > > +symbol)}. We recommend to use the equivalent forms directly since they > > +correspond to the @code{(@@ ...)} read syntax that can be used in > > +normal code. See @ref{Using Guile Modules} and @ref{Scripting > > +Examples}. > > Again, probably worth eliding the deprecated 1.4 stuff... > OK. I'm not going to change anything here (not that I disagree). I'll leave that for someone to make a separate change. > > +@item --auto-compile > > +Compile source files automatically (default behavior). > > + > > +@vnew{2.0} > > + > > +@item --no-auto-compile > > +Disable automatic source file compilation. > > + > > +@vnew{2.0} > > Need --fresh-auto-compile here too > > > +@item GUILE_AUTO_COMPILE > > +@vindex GUILE_AUTO_COMPILE > > Need to note GUILE_AUTO_COMPILE=fresh, and @ref to Compilation > OK. Added an entry to the command-line options section and updated the description in GUILE_AUTO_COMPILE. In order to expedite this change, I am attaching the three updated patches. --- P.S., My original patch set contained two additional patches that can be applied separately and independently. They correct errors that I found in unrelated files while checking the changes in this patch set.
From 4f69c9dc751408bb89a28f17c289e87de075aca8 Mon Sep 17 00:00:00 2001 From: Mark Harig <idirect...@aim.com> Date: Mon, 25 Apr 2011 11:33:22 -0400 Subject: [PATCH 1/3] * doc/ref/guile.texi (node Programming in Scheme): Added menu entry for the new section "Invoking Guile" to the chapter "Programming in Scheme". Added '@include' to add the new file 'guile-invoke.texi', which has the new section. --- doc/ref/guile.texi | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/doc/ref/guile.texi b/doc/ref/guile.texi index dfadd13..30b6d14 100644 --- a/doc/ref/guile.texi +++ b/doc/ref/guile.texi @@ -217,20 +217,22 @@ Guile's core language is Scheme, and a lot can be achieved simply by using Guile to write and run Scheme programs --- as opposed to having to dive into C code. In this part of the manual, we explain how to use Guile in this mode, and describe the tools that Guile provides to help you with script writing, -debugging and packaging your programs for distribution. +debugging, and packaging your programs for distribution. -For detailed reference information on the variables, functions -etc. that make up Guile's application programming interface (API), -@xref{API Reference}. +For detailed reference information on the variables, functions, and so +on that make up Guile's application programming interface (API), see +@ref{API Reference}. @menu * Guile Scheme:: Guile's implementation of Scheme. +* Invoking Guile:: Selecting optional features when starting Guile. * Guile Scripting:: How to write Guile scripts. * Using Guile Interactively:: Guile's REPL features. * Using Guile in Emacs:: Guile and Emacs. @end menu @include scheme-intro.texi +@include guile-invoke.texi @include scheme-scripts.texi @include scheme-using.texi -- 1.7.4.4
From 6a09439e3e87191de1fa8bd93fd825d46f32160c Mon Sep 17 00:00:00 2001 From: Mark Harig <idirect...@aim.com> Date: Mon, 25 Apr 2011 13:56:26 -0400 Subject: [PATCH 2/3] * doc/ref/scheme-scripts.texi (node Guile Scripting): Deleted the menu entry for the section "Invoking Guile." Deleted the node and subsection "Invoking Guile." This node has been moved to the new file 'doc/ref/guile-invoke.texi'. --- doc/ref/scheme-scripts.texi | 173 ------------------------------------------- 1 files changed, 0 insertions(+), 173 deletions(-) diff --git a/doc/ref/scheme-scripts.texi b/doc/ref/scheme-scripts.texi index c7d22a4..7552dba 100644 --- a/doc/ref/scheme-scripts.texi +++ b/doc/ref/scheme-scripts.texi @@ -14,7 +14,6 @@ then tells Guile how to handle the Scheme code. @menu * The Top of a Script File:: How to start a Guile script. -* Invoking Guile:: Command line options understood by Guile. * The Meta Switch:: Passing complex argument lists to Guile from shell scripts. * Command Line Handling:: Accessing the command line from a script. @@ -76,178 +75,6 @@ The rest of the file should be a Scheme program. Guile reads the program, evaluating expressions in the order that they appear. Upon reaching the end of the file, Guile exits. - -@node Invoking Guile -@subsection Invoking Guile -@cindex invocation - -Here we describe Guile's command-line processing in detail. Guile -processes its arguments from left to right, recognizing the switches -described below. For examples, see @ref{Scripting Examples}. - -@table @code - -@item -s @var{script} @var{arg...} -Read and evaluate Scheme source code from the file @var{script}, as the -@code{load} function would. After loading @var{script}, exit. Any -command-line arguments @var{arg...} following @var{script} become the -script's arguments; the @code{command-line} function returns a list of -strings of the form @code{(@var{script} @var{arg...})}. - -@item -c @var{expr} @var{arg...} -Evaluate @var{expr} as Scheme code, and then exit. Any command-line -arguments @var{arg...} following @var{expr} become command-line arguments; the -@code{command-line} function returns a list of strings of the form -@code{(@var{guile} @var{arg...})}, where @var{guile} is the path of the -Guile executable. - -@item -- @var{arg...} -Run interactively, prompting the user for expressions and evaluating -them. Any command-line arguments @var{arg...} following the @code{--} -become command-line arguments for the interactive session; the -@code{command-line} function returns a list of strings of the form -@code{(@var{guile} @var{arg...})}, where @var{guile} is the path of the -Guile executable. - -@item -L @var{directory} -Add @var{directory} to the front of Guile's module load path. The -given directories are searched in the order given on the command line -and before any directories in the GUILE_LOAD_PATH environment -variable. Paths added here are @emph{not} in effect during execution -of the user's @file{.guile} file. - -@item -x @var{extension} -Add @var{extension} to the front of Guile's load extension list -(@pxref{Loading, @code{%load-extensions}}). The specified extensions -are tried in the order given on the command line, and before the default -load extensions. Extensions added here are @emph{not} in effect during -execution of the user's @file{.guile} file. - -@item -l @var{file} -Load Scheme source code from @var{file}, and continue processing the -command line. - -@item -e @var{function} -Make @var{function} the @dfn{entry point} of the script. After loading -the script file (with @code{-s}) or evaluating the expression (with -@code{-c}), apply @var{function} to a list containing the program name -and the command-line arguments --- the list provided by the -@code{command-line} function. - -A @code{-e} switch can appear anywhere in the argument list, but Guile -always invokes the @var{function} as the @emph{last} action it performs. -This is weird, but because of the way script invocation works under -POSIX, the @code{-s} option must always come last in the list. - -The @var{function} is most often a simple symbol that names a function -that is defined in the script. It can also be of the form @code{(@@ -@var{module-name} @var{symbol})} and in that case, the symbol is -looked up in the module named @var{module-name}. - -For compatibility with some versions of Guile 1.4, you can also use the -form @code{(symbol ...)} (that is, a list of only symbols that doesn't -start with @code{@@}), which is equivalent to @code{(@@ (symbol ...) -main)}, or @code{(symbol ...) symbol} (that is, a list of only symbols -followed by a symbol), which is equivalent to @code{(@@ (symbol ...) -symbol)}. We recommend to use the equivalent forms directly since they -correspond to the @code{(@@ ...)} read syntax that can be used in -normal code, @xref{Using Guile Modules}. - -@xref{Scripting Examples}. - -@item -ds -Treat a final @code{-s} option as if it occurred at this point in the -command line; load the script here. - -This switch is necessary because, although the POSIX script invocation -mechanism effectively requires the @code{-s} option to appear last, the -programmer may well want to run the script before other actions -requested on the command line. For examples, see @ref{Scripting -Examples}. - -@item \ -Read more command-line arguments, starting from the second line of the -script file. @xref{The Meta Switch}. - -@item --use-srfi=@var{list} -The option @code{--use-srfi} expects a comma-separated list of numbers, -each representing a SRFI number to be loaded into the interpreter -before starting evaluating a script file or the REPL. Additionally, -the feature identifier for the loaded SRFIs is recognized by -`cond-expand' when using this option. - -@example -guile --use-srfi=8,13 -@end example - -@item --debug -Start with the debugging virtual machine engine. Using the debugging VM -will enable support for VM hooks, which are needed for tracing, -breakpoints, and accurate call counts when profiling. The debugging VM -is slower than the regular VM, though, by about 10 percent. @xref{VM -Hooks}, for more information. - -By default, the debugging VM engine is only used when entering an -interactive session. When executing a script with @code{-s} or -@code{-c}, the normal, faster VM is used by default. - -@vnew{1.8} -@item --no-debug -Do not use the debugging VM engine, even when entering an interactive -session. - -@item -q -Do not the local initialization file, @code{.guile}. This option only -has an effect when running interactively; running scripts does not load -the @code{.guile} file. @xref{Init File}. - -@item --listen[=@var{p}] -While this program runs, listen on a local port or a path for REPL -clients. If @var{p} starts with a number, it is assumed to be a local -port on which to listen. If it starts with a forward slash, it is -assumed to be a path to a UNIX domain socket on which to listen. - -If @var{p} is not given, the default is local port 37146. If you look -at it upside down, it almost spells ``Guile''. If you have netcat -installed, you should be able to @kbd{nc localhost 37146} and get a -Guile prompt. Alternately you can fire up Emacs and connect to the -process; see @ref{Using Guile in Emacs} for more details. - -Note that opening a port allows anyone who can connect to that port---in -the TCP case, any local user---to do anything Guile can do, as the user -that the Guile process is running as. Don't use @option{--listen} on -multi-user machines. Of course, if you don't pass @option{--listen} to -Guile, no port will be opened. - -That said, @code{--listen} is great for interactive debugging and -development. - -@vnew{2.0} - -@item --auto-compile -Compile source files automatically (default behavior). - -@vnew{2.0.1} - -@item --fresh-auto-compile -Treat the auto-compilation cache as invalid, forcing recompilation. - -@vnew{2.0} - -@item --no-auto-compile -Disable automatic source file compilation. - -@vnew{2.0} - -@item -h@r{, }--help -Display help on invoking Guile, and then exit. - -@item -v@r{, }--version -Display the current version of Guile, and then exit. - -@end table - - @node The Meta Switch @subsection The Meta Switch -- 1.7.4.4
From 80c6fd67b228ea8685def8ca4305bec9cdd98cd9 Mon Sep 17 00:00:00 2001 From: Mark Harig <idirect...@aim.com> Date: Mon, 25 Apr 2011 13:58:56 -0400 Subject: [PATCH 3/3] * doc/ref/guile-invoke.texi (node Invoking Guile): Initial revision. This file contains the former section "Invoking Guile" that was included in the chapter "Programming in Scheme" as a subsection named "Command-line Options." It also includes a new subsection "Environment Variables," which describes those variables that can be set in the operating system before Guile is started and which affect Guile's run-time behavior. --- doc/ref/guile-invoke.texi | 355 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 355 insertions(+), 0 deletions(-) create mode 100644 doc/ref/guile-invoke.texi diff --git a/doc/ref/guile-invoke.texi b/doc/ref/guile-invoke.texi new file mode 100644 index 0000000..9379a8b --- /dev/null +++ b/doc/ref/guile-invoke.texi @@ -0,0 +1,355 @@ +@c -*-texinfo-*- +@c This is part of the GNU Guile Reference Manual. +@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005, 2010, 2011 +@c Free Software Foundation, Inc. +@c See the file guile.texi for copying conditions. + +@node Invoking Guile +@section Invoking Guile +@cindex invocation + +Many features of Guile depend on and can be changed by information that +the user provides either before or when Guile is started. Below is a +description of what information to provide and how to provide it. + +@menu +* Command-line Options:: Command-line options understood by Guile. +* Environment Variables:: Variables that affect Guile's behavior. +@end menu + +@node Command-line Options +@subsection Command-line Options +@cindex Command-line Options +@cindex command-line arguments +@cindex arguments (command line) +@cindex options (command line) +@cindex switches (command line) +@cindex startup (command-line arguments) +@cindex invocation (command-line arguments) + +Here we describe Guile's command-line processing in detail. Guile +processes its arguments from left to right, recognizing the switches +described below. For examples, see @ref{Scripting Examples}. + +@table @code + +@item @var{script} @var{arg...} +@itemx -s @var{script} @var{arg...} +@cindex script mode +By default, Guile will read a file named on the command line as a +script. Any command-line arguments @var{arg...} following @var{script} +become the script's arguments; the @code{command-line} function returns +a list of strings of the form @code{(@var{script} @var{arg...})}. + +It is possible to name a file using a leading hyphen, for example, +@file{-myfile.scm}. In this case, the file name must be preceded by +@option{-s} to tell Guile that a (script) file is being named. + +Scripts are read and evaluated as Scheme source code just as the +@code{load} function would. After loading @var{script}, Guile exits. + +@item -c @var{expr} @var{arg...} +@cindex evaluate expression, command-line argument +Evaluate @var{expr} as Scheme code, and then exit. Any command-line +arguments @var{arg...} following @var{expr} become command-line +arguments; the @code{command-line} function returns a list of strings of +the form @code{(@var{guile} @var{arg...})}, where @var{guile} is the +path of the Guile executable. + +@item -- @var{arg...} +Run interactively, prompting the user for expressions and evaluating +them. Any command-line arguments @var{arg...} following the @option{--} +become command-line arguments for the interactive session; the +@code{command-line} function returns a list of strings of the form +@code{(@var{guile} @var{arg...})}, where @var{guile} is the path of the +Guile executable. + +@item -L @var{directory} +Add @var{directory} to the front of Guile's module load path. The given +directories are searched in the order given on the command line and +before any directories in the @env{GUILE_LOAD_PATH} environment +variable. Paths added here are @emph{not} in effect during execution of +the user's @file{.guile} file. + +@item -x @var{extension} +Add @var{extension} to the front of Guile's load extension list +(@pxref{Loading, @code{%load-extensions}}). The specified extensions +are tried in the order given on the command line, and before the default +load extensions. Extensions added here are @emph{not} in effect during +execution of the user's @file{.guile} file. + +@item -l @var{file} +Load Scheme source code from @var{file}, and continue processing the +command line. + +@item -e @var{function} +Make @var{function} the @dfn{entry point} of the script. After loading +the script file (with @option{-s}) or evaluating the expression (with +@option{-c}), apply @var{function} to a list containing the program name +and the command-line arguments---the list provided by the +@code{command-line} function. + +A @option{-e} switch can appear anywhere in the argument list, but Guile +always invokes the @var{function} as the @emph{last} action it performs. +This is weird, but because of the way script invocation works under +POSIX, the @option{-s} option must always come last in the list. + +The @var{function} is most often a simple symbol that names a function +that is defined in the script. It can also be of the form @code{(@@ +@var{module-name} @var{symbol})}, and in that case, the symbol is +looked up in the module named @var{module-name}. + +For compatibility with some versions of Guile 1.4, you can also use the +form @code{(symbol ...)} (that is, a list of only symbols that doesn't +start with @code{@@}), which is equivalent to @code{(@@ (symbol ...) +main)}, or @code{(symbol ...) symbol} (that is, a list of only symbols +followed by a symbol), which is equivalent to @code{(@@ (symbol ...) +symbol)}. We recommend to use the equivalent forms directly since they +correspond to the @code{(@@ ...)} read syntax that can be used in +normal code. See @ref{Using Guile Modules} and @ref{Scripting +Examples}. + +@item -ds +Treat a final @option{-s} option as if it occurred at this point in the +command line; load the script here. + +This switch is necessary because, although the POSIX script invocation +mechanism effectively requires the @option{-s} option to appear last, the +programmer may well want to run the script before other actions +requested on the command line. For examples, see @ref{Scripting +Examples}. + +@item \ +Read more command-line arguments, starting from the second line of the +script file. @xref{The Meta Switch}. + +@item --use-srfi=@var{list} +@cindex loading srfi modules (command line) +The option @option{--use-srfi} expects a comma-separated list of numbers, +each representing a SRFI module to be loaded into the interpreter +before evaluating a script file or starting the REPL. Additionally, +the feature identifier for the loaded SRFIs is recognized by +the procedure @code{cond-expand} when this option is used. + +Here is an example that loads the modules SRFI-8 ('receive') and SRFI-13 +('string library') before the GUILE interpreter is started: + +@example +guile --use-srfi=8,13 +@end example + +@item --debug +@cindex debugging virtual machine (command line) +Start with the debugging virtual machine (VM) engine. Using the +debugging VM will enable support for VM hooks, which are needed for +tracing, breakpoints, and accurate call counts when profiling. The +debugging VM is slower than the regular VM, though, by about ten +percent. @xref{VM Hooks}, for more information. + +By default, the debugging VM engine is only used when entering an +interactive session. When executing a script with @option{-s} or +@option{-c}, the normal, faster VM is used by default. + +@vnew{1.8} +@item --no-debug +@cindex debugging virtual machine (command line) +Do not use the debugging VM engine, even when entering an interactive +session. + +@item -q +@cindex init file, not loading +@cindex @file{.guile} file, not loading +Do not load the initialization file, @file{.guile}. This option only +has an effect when running interactively; running scripts does not load +the @file{.guile} file. @xref{Init File}. + +@item --listen[=@var{p}] +While this program runs, listen on a local port or a path for REPL +clients. If @var{p} starts with a number, it is assumed to be a local +port on which to listen. If it starts with a forward slash, it is +assumed to be a path to a UNIX domain socket on which to listen. + +If @var{p} is not given, the default is local port 37146. If you look +at it upside down, it almost spells ``Guile''. If you have netcat +installed, you should be able to @kbd{nc localhost 37146} and get a +Guile prompt. Alternately you can fire up Emacs and connect to the +process; see @ref{Using Guile in Emacs} for more details. + +Note that opening a port allows anyone who can connect to that port---in +the TCP case, any local user---to do anything Guile can do, as the user +that the Guile process is running as. Do not use @option{--listen} on +multi-user machines. Of course, if you do not pass @option{--listen} to +Guile, no port will be opened. + +That said, @option{--listen} is great for interactive debugging and +development. + +@vnew{2.0} + +@item --auto-compile +Compile source files automatically (default behavior). + +@vnew{2.0.1} + +@item --fresh-auto-compile +Treat the auto-compilation cache as invalid, forcing recompilation. + +@vnew{2.0} + +@item --no-auto-compile +Disable automatic source file compilation. + +@vnew{2.0} + +@item -h@r{, }--help +Display help on invoking Guile, and then exit. + +@item -v@r{, }--version +Display the current version of Guile, and then exit. + +@end table + +@node Environment Variables +@subsection Environment Variables +@cindex environment variables +@cindex shell +@cindex initialization +The @dfn{environment} is a feature of the operating system; it consists +of a collection of variables with names and values. Each variable is +called an @dfn{environment variable} (or, sometimes, a ``shell +variable''); environment variable names are case-sensitive, and it is +conventional to use upper-case letters only. The values are all text +strings, even those that are written as numerals. (Note that here we +are referring to names and values that are defined in the operating +system shell from which Guile is invoked. This is not the same as a +Scheme environment that is defined within a running instance of Guile. +For a description of Scheme environments, @pxref{About Environments}.) + +How to set environment variables before starting Guile depends on the +operating system and, especially, the shell that you are using. For +example, here is how to tell Guile to provide detailed warning messages +about deprecated features by setting @env{GUILE_WARN_DEPRECATED} using +Bash: + +@example +$ export GUILE_WARN_DEPRECATED="detailed" +$ guile +@end example + +@noindent +Or, detailed warnings can be turned on for a single invocation using: + +@example +$ env GUILE_WARN_DEPRECATED="detailed" guile +@end example + +If you wish to retrieve or change the value of the shell environment +variables that affect the run-time behavior of Guile from within a +running instance of Guile, see @ref{Runtime Environment}. + +Here are the environment variables that affect the run-time behavior of +Guile: + +@table @env +@item GUILE_AUTO_COMPILE +@vindex GUILE_AUTO_COMPILE +This is a flag that can be used to tell Guile whether or not to compile +Scheme source files automatically. Starting with Guile 2.0, Scheme +source files will be compiled automatically, by default. + +If a compiled (@file{.go}) file corresponding to a @file{.scm} file is +not found or is not newer than the @file{.scm} file, the @file{.scm} +file will be compiled on the fly, and the resulting @file{.go} file +stored away. An advisory note will be printed on the console. + +Compiled files will be stored in the directory +@file{$XDG_CACHE_HOME/@/guile/@/ccache}, where @env{XDG_CACHE_HOME} +defaults to the directory @file{$HOME/.cache}. This directory will be +created if it does not already exist. + +Note that this mechanism depends on the timestamp of the @file{.go} file +being newer than that of the @file{.scm} file; if the @file{.scm} or +@file{.go} files are moved after installation, care should be taken to +preserve their original timestamps. + +Set @env{GUILE_AUTO_COMPILE} to zero (0), to prevent Scheme files from +being compiled automatically. Set this variable to ``fresh'' to tell +Guile to compile Scheme files whether they are newer than the compiled +files or not. + +@xref{Compilation}. + +@item GUILE_HISTORY +@vindex GUILE_HISTORY +This variable names the file that holds the Guile REPL command history. +You can specify a different history file by setting this environment +variable. By default, the history file is @file{$HOME/.guile_history}. + +@item GUILE_LOAD_COMPILED_PATH +@vindex GUILE_LOAD_COMPILED_PATH +This variable may be used to augment the path that is searched for +compiled Scheme files (@file{.go} files) when loading. Its value should +be a colon-separated list of directories, which will be prefixed to the +value of the default search path stored in @code{%load-compiled-path}. + +Here is an example using the Bash shell that adds the current directory, +@file{.}, and the relative directory @file{../my-library} to +@code{%load-compiled-path}: + +@example +$ export GUILE_LOAD_COMPILED_PATH=".:../my-library" +$ guile -c '(display %load-compiled-path) (newline)' +(. ../my-library /usr/local/lib/guile/2.0/ccache) +@end example + +@item GUILE_LOAD_PATH +@vindex GUILE_LOAD_PATH +This variable may be used to augment the path that is searched for +Scheme files when loading. Its value should be a colon-separated list +of directories, which will be prefixed to the value of the default +search path stored in @code{%load-path}. + +Here is an example using the Bash shell that adds the current directory +and the parent of the current directory to @code{%load-path}: + +@example +$ env GUILE_LOAD_PATH=".:.." \ +guile -c '(display %load-path) (newline)' +(. .. /usr/local/share/guile/2.0 \ +/usr/local/share/guile/site/2.0 \ +/usr/local/share/guile/site /usr/local/share/guile) +@end example + +(Note: The line breaks, above, are for documentation purposes only, and +not required in the actual example.) + +@item GUILE_WARN_DEPRECATED +@vindex GUILE_WARN_DEPRECATED +As Guile evolves, some features will be eliminated or replaced by newer +features. To help users migrate their code as this evolution occurs, +Guile will issue warning messages about code that uses features that +have been marked for eventual elimination. @env{GUILE_WARN_DEPRECATED} +can be set to ``no'' to tell Guile not to display these warning +messages, or set to ``detailed'' to tell Guile to display more lengthy +messages describing the warning. @xref{Deprecation}. + +@item HOME +@vindex HOME +Guile uses the environment variable @env{HOME}, the name of your home +directory, to locate various files, such as @file{.guile} or +@file{.guile_history}. + +@item LTDL_LIBRARY_PATH +@vindex LTDL_LIBRARY_PATH +Guile now adds its install prefix to the @env{LTDL_LIBRARY_PATH}. + +Users may now install Guile in non-standard directories and run +`/path/to/bin/guile', without having also to set @env{LTDL_LIBRARY_PATH} +to include `/path/to/lib'. + +@end table + +@c Local Variables: +@c mode: texinfo +@c TeX-master: "guile" +@c End: -- 1.7.4.4