Re: How to adjust man page line length [SOLVED]

2011-01-20 Thread Giorgos Keramidas
On Wed, 19 Jan 2011 22:51:45 -0600, David J. Weller-Fahy 
dave-lists-freebsd-questi...@weller-fahy.com wrote:
 * Giorgos Keramidas keram...@ceid.upatras.gr [2011-01-19 02:57 -0500]:
 On Tue, 18 Jan 2011 12:29:18 -0600, David Kelly dke...@hiwaay.net wrote:
  On Tue, Jan 18, 2011 at 06:11:13PM +0100, Giorgos Keramidas wrote:
  Set the 'columns' attribute of your tty:
  stty columns 60
  man xxx
 
  *Should*? You posted without trying it? (I tried, did not work).

 'Should' as in I tried it here and it worked.  I'm running a recent
 CURRENT snapshot, but I don't think this affects the results.  What
 does 'stty -a' show in your terminal?  What is your shell's
 environment (e.g. the value of COLUMNS)?  What is your PAGER? etc.

 Well... that was an interesting night of experimentation.  Thanks for
 the idea about stty (which I didn't know about), because otherwise I
 might have gone mad (apparently COLUMNS isn't set in the environment of
 a shell script... which makes sense when one thinks about it).

 Regardless, I ended up finding two solutions.

Nice!  I'll check with our groff maintainer(s) to see if they have plans
to MFC the latest man/groff stuff.



pgpxKqg0Mxboi.pgp
Description: PGP signature


Re: How to adjust man page line length [SOLVED]

2011-01-20 Thread Charlie Kester

On Wed 19 Jan 2011 at 21:36:19 PST David Kelly wrote:


On Jan 19, 2011, at 10:51 PM, David J. Weller-Fahy wrote:

[...]


That did the job, but made `man -k`, which my fingers find familiar,
unusable.  I remembered you were running a CURRENT snapshot, so figured
I'd check the difference between man in HEAD and 8.1-RELEASE... WOW!
The man in HEAD is now a shell script.



In ancient times man was originally a shell script. What is old is new
again.


Is this a consequence of the move to mdocml instead of groff?
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: How to adjust man page line length [SOLVED]

2011-01-20 Thread Giorgos Keramidas
On Thu, 20 Jan 2011 10:02:56 -0800, Charlie Kester corky1...@comcast.net 
wrote:
 In ancient times man was originally a shell script. What is old is new
 again.

 Is this a consequence of the move to mdocml instead of groff?

No, we are still using groff's groff_mdoc(7) package for authoring
manpage content.

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: How to adjust man page line length [SOLVED]

2011-01-20 Thread David J. Weller-Fahy
* Giorgos Keramidas keram...@ceid.upatras.gr [2011-01-20 06:03 -0500]:
 On Wed, 19 Jan 2011 22:51:45 -0600, David J. Weller-Fahy 
 dave-lists-freebsd-questi...@weller-fahy.com wrote:
  Regardless, I ended up finding two solutions.
 
 Nice!  I'll check with our groff maintainer(s) to see if they have
 plans to MFC the latest man/groff stuff.

That would be excellent, thank you!

Regards,
-- 
dave [ please don't CC me ]


pgpJuNrcD0Jyz.pgp
Description: PGP signature


Re: How to adjust man page line length [SOLVED]

2011-01-19 Thread David J. Weller-Fahy
* Giorgos Keramidas keram...@ceid.upatras.gr [2011-01-19 02:57 -0500]:
 On Tue, 18 Jan 2011 12:29:18 -0600, David Kelly dke...@hiwaay.net wrote:
  On Tue, Jan 18, 2011 at 06:11:13PM +0100, Giorgos Keramidas wrote:
  Set the 'columns' attribute of your tty:
  stty columns 60
  man xxx
 
  *Should*? You posted without trying it? (I tried, did not work).
 
 'Should' as in I tried it here and it worked.  I'm running a recent
 CURRENT snapshot, but I don't think this affects the results.  What
 does 'stty -a' show in your terminal?  What is your shell's
 environment (e.g. the value of COLUMNS)?  What is your PAGER? etc.

Well... that was an interesting night of experimentation.  Thanks for
the idea about stty (which I didn't know about), because otherwise I
might have gone mad (apparently COLUMNS isn't set in the environment of
a shell script... which makes sense when one thinks about it).

Regardless, I ended up finding two solutions.

First, I created the following shell script.

#v+
dave@heffalump:~$ cat bin/man.sh
#!/bin/sh
mpage=`man -w $1`
tcols=`stty -a | grep columns | awk '{ print $6 }'`

zcat -f `man -w $1` | groff -Tutf8 -man -rIN=7n -rLL=`echo ${tcols} - 3 | bc`n 
- | less
#v-

That did the job, but made `man -k`, which my fingers find familiar,
unusable.  I remembered you were running a CURRENT snapshot, so figured
I'd check the difference between man in HEAD and 8.1-RELEASE... WOW!
The man in HEAD is now a shell script.

That inspired a second solution: Take the shell script from HEAD, and
install it for my user's use.  So, I checked out the man from HEAD.

svn checkout svn://svn.freebsd.org/base/head/usr.bin/man

I installed fakeroot (needed to install the man pages).

The Makefile doesn't honor PREFIX, but does honor BINDIR/MANDIR, so I
used the following command-line to install the man from HEAD.

fakeroot make install BINDIR=/home/dave/usr/bin 
MANDIR=/home/dave/usr/man/man NO_MANCOMPRESS=YES

Whoops!  The program and man pages installed, but man pages were not
displayed using the number of columns.  Apparently there's more to the
modified behavior in HEAD than just the man display program... but the
new man is a shell script so I can modify it.

I applied the following patch.

#v+
--- man.sh.orig 2011-01-19 22:41:34.0 -0600
+++ man.sh  2011-01-19 22:41:33.0 -0600
@@ -891,9 +891,10 @@
search_whatis whatis $@
 }
 
+cols=`stty -a | grep columns | awk '{ print $6 }'`
 EQN=/usr/bin/eqn
 COL=/usr/bin/col
-NROFF='/usr/bin/groff -S -Wall -mtty-char -man'
+NROFF='/usr/bin/groff -S -Wall -mtty-char -man -rLL=`echo $cols - 3 | bc`n'
 PIC=/usr/bin/pic
 SYSCTL=/sbin/sysctl
 TBL=/usr/bin/tbl
#v-

I installed again, and done!

So, more gymnastics than I would like, but now man uses the current
number of columns.  I'll use this method until the new shell script
version in HEAD makes it into the base of a release I'm running.

Thanks to all for the information and inspiration!

Regards,
-- 
dave [ please don't CC me ]


pgpD8pPdV0bdR.pgp
Description: PGP signature


Re: How to adjust man page line length [SOLVED]

2011-01-19 Thread David Kelly

On Jan 19, 2011, at 10:51 PM, David J. Weller-Fahy wrote:

[...]

 That did the job, but made `man -k`, which my fingers find familiar,
 unusable.  I remembered you were running a CURRENT snapshot, so figured
 I'd check the difference between man in HEAD and 8.1-RELEASE... WOW!
 The man in HEAD is now a shell script.


In ancient times man was originally a shell script. What is old is new again.

--
David Kelly N4HHE, dke...@hiwaay.net

Whom computers would destroy, they must first drive mad.



___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org