Subject: bug#12756: closed (Re: bug#12756: 24.2; woman.el vs adaptive-fill-mode hanging indent)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 06 Nov 2012 01:54:02 +0000

Your bug report

#12756: 24.2; woman.el vs adaptive-fill-mode hanging indent

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
12756: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12756
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#12756: 24.2; woman.el vs adaptive-fill-mode hanging indent
From: Stefan Monnier <[email-masked]>
To: Kevin Ryde <[email-masked]>
Cc: [email-masked]
Date: Mon, 05 Nov 2012 20:50:11 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

>> Does the patch below work as well for you?
> Yes,

Thanks, installed,

        Stefan

Subject: 24.2; woman.el vs adaptive-fill-mode hanging indent
From: Kevin Ryde <[email-masked]>
To: [email-masked]
Date: Mon, 29 Oct 2012 08:44:26 +1100
List-Id: <debbugs-submit.debbugs.gnu.org>

With the file percent.1 below and an 80-column screen the file percent.1
below processed with

    M-x woman-find-file percent.1

gives

    %%%%Some percents  one two three  four five six  seven eight
        nine ten eleven twelve thirteen fourteen fifteen.

Where I expected

    %%%%Some percents  one two three  four five six  seven eight
    nine ten eleven twelve thirteen fourteen fifteen.

It seems woman.el uses fill-region-as-paragraph and that
adaptive-fill-mode, which is t by default, causes the "%"s in the input
to become a fill prefix.  I think that shouldn't be done, that instead
woman.el should control all indentation.

It seems this only affects roff source where the paragraph flowed is a
single line of the input.  You can make a very long input line to see
multiple hanging lines in the output.  Various other prefix characters
in adaptive-fill-regexp are affected similarly, eg "#" instead of "%".

I get some joy from forcing adaptive-fill-mode off in
woman-decode-region.

2012-10-27  Kevin Ryde	<[email-masked]>

	* woman.el (woman-decode-region): Let-bind adaptive-fill-mode nil so a
	paragraph consisting of a single long input line "%%Foo ..." doesn't
	have "%" treated as a hanging indent.

--- woman.el.orig	2012-10-27 16:21:40.000000000 +1100
+++ woman.el	2012-10-27 16:25:06.000000000 +1100
@@ -2228,6 +2228,7 @@
   ;; it were it would need to be a marker rather than a position!
   ;; First force the correct environment:
   (let ((case-fold-search nil)		; This is necessary!
+	(adaptive-fill-mode nil)        ; No special "%" "#" etc filling.
 	(woman-string-alist woman-string-alist)
 	(woman-fill-column woman-fill-column)
 	woman-negative-vertical-space)

In GNU Emacs 24.2.1 (i486-pc-linux-gnu, GTK+ Version 2.24.10)
 of 2012-09-10 on biber, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.10707000
Configured using:
 `configure '--build' 'i486-linux-gnu' '--build' 'i486-linux-gnu'
 '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib'
 '--localstatedir=/var/lib' '--infodir=/usr/share/info'
 '--mandir=/usr/share/man' '--with-pop=yes'
 '--enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.2/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.2/site-lisp:/usr/share/emacs/site-lisp'
 '--with-crt-dir=/usr/lib/i386-linux-gnu' '--with-x=yes'
 '--with-x-toolkit=gtk' '--with-toolkit-scroll-bars'
 'build_alias=i486-linux-gnu' 'CFLAGS=-g -O2 -fstack-protector
 --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall'
 'CPPFLAGS=-D_FORTIFY_SOURCE=2''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_AU
  value of $XMODIFIERS: nil
  locale-coding-system: iso-latin-1-unix
  default enable-multibyte-characters: t