Re: Missing and out-of-date information in guile.1, the Guile man page

2011-03-05 Thread Andy Wingo
Hi Mark,

On Sat 05 Mar 2011 01:45, Mark Harig idirect...@aim.com writes:

 On Fri, Mar 04, 2011 at 10:35:50AM +0100, Andy Wingo wrote:
 On Tue 25 Jan 2011 08:05, Mark Harig idirect...@aim.com writes:

  On Mon, Jan 24, 2011 at 10:54:56PM +0100, Andy Wingo wrote:
 
  I updated the man page.  I don't really know groff
  though, so please reply with comments (text appended).
 
 
  Thank you for the updated version.
 
  I have written a patch to this updated version.  Please find
  it attached.

 Super, thanks!

 Can you attach it in git-format-patch format?  That way when I apply 
 it
 we get your commit log and your name on the commit.


 Done.  Please find attached a plain-text patch file for
 doc/guile.1 generated from the command:

Applied.  Thank you!

Andy
-- 
http://wingolog.org/



Re: Missing and out-of-date information in guile.1, the Guile man page

2011-03-04 Thread Andy Wingo
On Tue 25 Jan 2011 08:05, Mark Harig idirect...@aim.com writes:

 On Mon, Jan 24, 2011 at 10:54:56PM +0100, Andy Wingo wrote:

 I updated the man page.  I don't really know groff though, so please 
 reply
 with comments (text appended).


 Thank you for the updated version.

 I have written a patch to this updated version.  Please find
 it attached.

Super, thanks!

Can you attach it in git-format-patch format?  That way when I apply it
we get your commit log and your name on the commit.

Thanks,

Andy
-- 
http://wingolog.org/



Re: Missing and out-of-date information in guile.1, the Guile man page

2011-01-24 Thread Andy Wingo
Hi Mark,

I updated the man page.  I don't really know groff though, so please reply
with comments (text appended).

On Mon 17 Jan 2011 00:23, Mark Harig idirect...@aim.com writes:

  - There is no description in the Guile manual page,
guile.1, or the Guile Reference Manual, guile.info*, of
the environment variable GUILE_AUTO_COMPILE.

I think that's OK to not have it in the man page, though it should be in
the manual.  

  - The reference manual also briefly mentions the
environment variable GUILE_HISTORY (it describes the
default value as `.guile_history', but does not mention
its default location, presumably $HOME, correct?), but
the manual page does not mention it.

Yes, it does put it in $HOME, though argually it should go in .local or
.cache or something.  

I'm also OK with the man page not mentioning this, FWIW.

  - Is there an environment variable that can specify the
name of the Guile initialization file (default: .guile)?

Nope.  You can use -q and -l though.

  - Are there any other environment variables that are not
documented in the Guile Reference Manual?

Yes.  Would you like to submit a patch documenting them?  Feel free to
ask on the list about what they mean, if the meanings are not clear :)

  - For comparison, the Emacs manual includes a section
describing the environment variables that may effect it
when it is invoked.  See the Info node (emacs)
Environment (a subsection of the appendix Invoking
Emacs).

Would be good to add to Guile as well.

Cheers,

Andy



guile.1
Description: Unix manual page


Re: Missing and out-of-date information in guile.1, the Guile man page

2011-01-24 Thread Mark Harig


On Mon, Jan 24, 2011 at 10:06:20PM +0100, Andy Wingo wrote:


On Thu 13 Jan 2011 22:58, Mark Harig writes:

 3) Should the manual page include some information about the
  environment variable 'LD_LIBRARY_PATH' in the ENVIRONMENT
  section, or is this considered to be an O/S-dependent variable?

I think we fixed this in the 1.9 series, in commits
eb350124a85dd4daf39bacbdc50452ef87a33a43 and
28af5ee5eccb7797b73ad1caf88183e95eef0a28.  Is there something that is
not working for you with 1.9.14, or are you working off of 1.8?



Yes, the instructions in Section 2.3 Linking Guile into
Programs failed when I attempted to run the generated
'simple-guile' executable file.

[guile]$ unset LD_LIBRARY_PATH
[guile]$ ./simple-guile
./simple-guile: error while loading shared libraries:
libguile-2.0.so.18: cannot open shared object file: No such
file or directory

[guile]$ export LD_LIBRARY_PATH=/usr/local/lib
[guile]$ ./simple-guile
GNU Guile 1.9.14
Copyright (C) 1995-2010 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type
`,show w'.
This program is free software, and you are welcome to
redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
scheme@(guile-user) ,q

[guile]$ locate libguile-2.0.so.18
/usr/local/lib/libguile-2.0.so.18
/usr/local/lib/libguile-2.0.so.18.0.0

--



Re: Missing and out-of-date information in guile.1, the Guile man page

2011-01-24 Thread Mark Harig

On Mon, Jan 24, 2011 at 10:54:56PM +0100, Andy Wingo wrote:


I updated the man page.  I don't really know groff though, so please 

reply

with comments (text appended).



Thank you for the updated version.

I have written a patch to this updated version.  Please find
it attached.  It includes the following:

1. I added the current month and year, Guile version
descriptive text, and the text GNU to the title.  This
matches what is found in other GNU programs, for example,
Emacs and coreutils.  The new text appears in at the top and
the bottom (final line) of the manual page.  This should be
useful for other people when they check the manual page to
know when it was written and for what version of Guile.

2. I followed the formatting that 'man' describes for the
synopsis, namely:

  bold text  type exactly as shown.
  italic textreplace with appropriate argument.
  [-abc] any or all arguments within [ ] are optional.
   -a|-b  options delimited by | cannot be used 
together.

  argument ...   argument is repeatable.
  [expression] ...   entire expression within [ ] is repeatable.

The options are now in bold text and their arguments are in
italic, which will appear as underlining for those
environments that don't have italics.  So, for example,

  -L [DIRECTORY]

has '-L' in bold, the brackets in normal font, and DIRECTORY
in italic (or underlined) text.  This helps to make it clear
which text is fixed and which needs to be entered by the
user.  Previously, all text was bold.

3. I made similar changes in formatting in the OPTIONS
section so that the reader can easily see which text needs
to be typed exactly and which is user-defined.

4. I corrected grammar, spelling, and capitalization (for
example, 'scheme' to 'Scheme').

5. Vertical white-space was non-standard (two lines between
some sections, one space between others).  I changed this to
the standard one empty line before each section heading.  I
added dots (a single period on a line) before every section
heading (.SH) so that maintainers will still find the
readability unchanged.

6. 'groff' recommends starting every sentence on its own
line, and breaking sentences at punctuation.  I added this
white space to many sentences.

7. Corrected an error in the info command:
info guile(Invoking Guile)
  won't work.  It should be:
info (guile)Invoking Guile

8. Compared the options list with the list generated by
'guile --help', and added the missing option '--no-debug',
and the short switches '-h' and '-v'.

9. The new version of the manual page added a description of
the environment variable GUILE_LOAD_COMPILED_PATH.  That
description referenced the guile variable %load-path.  I
changed that to %load-compiled-path.

10. Updated the copyright to include 2011.

In general, with this patch the manual page should look more
like other GNU manual pages, for example:

  man man
  man test

--
diff --git a/doc/guile.1 b/doc/guile.1
index 571638d..f892a7b 100644
--- a/doc/guile.1
+++ b/doc/guile.1
@@ -3,113 +3,210 @@
 .\ Process this file with
 .\ groff -man -Tascii foo.1
 .\
-.TH GUILE 1
+.TH GUILE 1 January 2011 GNU Guile 2.0 GNU
+.
 .SH NAME
 guile \- the GNU extension language
+.
 .SH SYNOPSIS
-.B guile [-L DIRECTORY] [-l FILE] [-e FUNCTION] []
-.B [-c EXPR] [-s SCRIPT] [--] [SCRIPT] [ARG...]
+.B guile
+.RB [\| \-L
+.IR DIRECTORY \|]
+.RB [\| \-l
+.IR FILE \|]
+.RB [\| \-e
+.IR FUNCTION \|]
+.\.RI [\|  \|]
+.RB [\| \e \|]
+.RB [\| \-c
+.IR EXPR \|]
+.RB [\| \-s
+.IR SCRIPT \|]
+.RB [\| \-\- \|]
+.RI [\| SCRIPT \|]
+.RI [\| SCRIPT's\ ARGs... \|]
 
-Only the most useful options are listed here; see below for the
-remainder.
+Only the most useful options are listed here; 
+see below for the remainder.
+.
 .SH DESCRIPTION
-GNU Guile is an implemention of the Scheme programming language.  It
-extends the R5RS and R6RS language standards, providing additional
-features necessary for real-world use.  Guile works well for interactive
-use, basic scripting, and extension of larger applications, as well as
-for stand-alone Scheme application development.
+GNU Guile is an implementation of the Scheme programming language.
+It extends the R5RS and R6RS language standards,
+providing additional features necessary for real-world use.
+
+Guile works well for interactive use,
+basic scripting,
+and extension of larger applications,
+as well as for stand-alone Scheme application development.
 
 The
 .B guile
 executable itself provides a stand-alone interactive compiler and
-run-time for Scheme programs, both for interactive use and for executing
-Scheme scripts or programs.
+run-time for Scheme programs,
+both for interactive use and for executing Scheme scripts or programs.
 
 This manual page provides only brief instruction in invoking
 .B guile
-from the command line.  Please consult the guile info documentation
+from the command line.
+Please consult the Guile info documentation
 (type 

Re: Missing and out-of-date information in guile.1, the Guile man page

2011-01-19 Thread Ken Raeburn
On Jan 16, 2011, at 14:38, Mark Harig wrote:
 
 I'd say too OS-dependent; or more to do with how guile should be
 properly installed, than how to use it once it is installed.
 
 But on the other hand, I might be misunderstanding what you had in 
 mind;
 if you'd like to propose some specific text...
 
 
 If a user has followed the instructions in the section Obtaining and
 Installing Guile, and installed guile in the /usr/local/ directory
 tree, then, on systems that use the dynamic linker/loader ld.so or
 ld-linux.so*, the instructions in the section Linking Guile into
 Programs will fail because the new program 'simple-guile' will not be
 able to locate the shared library 'libguile-2.0.so*'.

I think the right answer for that is not to tell people that they have to set 
environment variables in order to run Guile programs, but to tell developers 
how to link programs properly so that they find the library at run time.  This 
tends to be somewhat platform-dependent, but often arguments like -R or 
-rpath are needed; libtool should just Do The Right Thing, if it's used.  I'm 
less familiar with pkg-config, but expect it should be have similarly.  In 
fact, the man page for pkg-config on my system (Mac OS X with MacPorts 
installed) says the --libs-only-L option prints the -L/-R part of the link 
options, which suggests to me that pkg-config is indeed supposed to be printing 
options to set the run-time load path.  If it's not doing that for you, then we 
should figure out why not.

In short, don't document how to work around a bug, if you can just fix the bug. 
:-)

Ken


Re: Missing and out-of-date information in guile.1, the Guile man page

2011-01-19 Thread Mark Harig
On Wed, Jan 19, 2011 at 02:50:29PM -0500, Ken Raeburn wrote:


 I think the right answer for that is not to tell people that they
 have to set environment variables in order to run Guile programs,
 but to tell developers how to link programs properly so that they
 find the library at run time.  This tends to be somewhat
 platform-dependent, but often arguments like -R or -rpath are
 needed; libtool should just Do The Right Thing, if it's used.  I'm
 less familiar with pkg-config, but expect it should be have
 similarly.  In fact, the man page for pkg-config on my system (Mac
 OS X with MacPorts installed) says the --libs-only-L option
 prints the -L/-R part of the link options, which suggests to me
 that pkg-config is indeed supposed to be printing options to set the
 run-time load path.  If it's not doing that for you, then we should
 figure out why not.

 In short, don't document how to work around a bug, if you can just
 fix the bug. :-)


OK.  Whichever approach is taken, readers of the Guile Reference
Manual should be able to follow the steps described and have those
steps work, that is, the generated program should run.  My aim is to
help get Guile 2.0 have as few defects as possible before it is
released so that when new users try it, they have an error-free first
pass.



Re: Missing and out-of-date information in guile.1, the Guile man page

2011-01-16 Thread Mark Harig

On Sat, Jan 15, 2011 at 08:48:58PM +, Neil Jerram wrote:


 3) Should the manual page include some information about the
  environment variable 'LD_LIBRARY_PATH' in the ENVIRONMENT
  section, or is this considered to be an O/S-dependent variable?

I'd say too OS-dependent; or more to do with how guile should be
properly installed, than how to use it once it is installed.

But on the other hand, I might be misunderstanding what you had in 

mind;

if you'd like to propose some specific text...



Related:

 - There is no description in the Guile manual page,
   guile.1, or the Guile Reference Manual, guile.info*, of
   the environment variable GUILE_AUTO_COMPILE.

 - The reference manual also briefly mentions the
   environment variable GUILE_HISTORY (it describes the
   default value as `.guile_history', but does not mention
   its default location, presumably $HOME, correct?), but
   the manual page does not mention it.

 - Is there an environment variable that can specify the
   name of the Guile initialization file (default: .guile)?

 - Are there any other environment variables that are not
   documented in the Guile Reference Manual?

 - For comparison, the Emacs manual includes a section
   describing the environment variables that may effect it
   when it is invoked.  See the Info node (emacs)
   Environment (a subsection of the appendix Invoking
   Emacs).

--



Re: Missing and out-of-date information in guile.1, the Guile man page

2011-01-15 Thread Neil Jerram
Mark Harig idirect...@aim.com writes:

 Looking at the latest revision pulled from the git repository:

 1) The manual page does not document the '-q' command-line option.

 2) The manual page includes the text:

  There is also a tutorial (info guile-tut) available.

  It appears that the Guile tutorial is no longer available as a
 separate Info manual, so this text should be deleted.

Thanks, I'll fix these.

 3) Should the manual page include some information about the
  environment variable 'LD_LIBRARY_PATH' in the ENVIRONMENT
  section, or is this considered to be an O/S-dependent variable?

I'd say too OS-dependent; or more to do with how guile should be
properly installed, than how to use it once it is installed.

But on the other hand, I might be misunderstanding what you had in mind;
if you'd like to propose some specific text...

Thanks,
Neil