help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: trouble indenting looooong lines with visual-line-mode


From: Xah Lee
Subject: Re: trouble indenting looooong lines with visual-line-mode
Date: Wed, 2 Sep 2009 09:16:58 -0700 (PDT)
User-agent: G2/1.0

On Sep 1, 8:21 pm, Allan Gottlieb <gottl...@nyu.edu> wrote:
> (I am using emacs 23.1)
> Start with emacs -Q and a buffer in fundamental mode
>
> Consider a line wider than the frame, for example
>
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
>
> which exceeds an 80 column frame.
> Now assume you have a short line say
> yyyy
> followed by the above long line, i.e.
> yyyy
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
>
> So far so good.  Now indent the long line with say one space.
> If visual-line-mode is OFF, I see what I expect, the long line is
> preceded by one space.
>
> But with visual-line-mode ON, a blank line appears on the screen between
> the short and long lines, i.e. the long line (with only one word) was
> wrapped.
> This behavior seems wrong.  I am getting burned in the following case
> among others with html
>
> <ol>
>   <li>
>     <a
>       href="a-looong-url-that-naturally-contains-no-blanks">
>       go here
>     </a>
>
> When the looog-url exceeds the line length a blank line appears
> after the <a
>
> I realize the blank line is not in the file so the browser is not
> affected, but I find a plus of html to be that it reads well in emacs
> even when not formatted (by say w3m).
>
> Am I correct in viewing this as a bug?  If so I will file a bug report.

it's not a bug. It's a natural behavior of smart word wrapping. Try
that in any word processor, you see the same behavior.

The problem is that you have this un-natural long string, those 80 or
so x. Not human language or computer lang have such long string as
words.

for plain text, sure that happens, originated in 1980s as a hack of
using ASCII pict to emulate a horizontal line. i.e. in html it's <hr>.
Such a hack is less and less used today. If you must use it, word wrap
(aka emacs's visual-line-mode) is not suitable.

all this has to to with physical formatting, a mindset particularly
started by unix idiots. For references, see:

• A Simple Lisp Code Formatter
  http://xahlee.org/emacs/lisp_formatter.html

• A Text Editor Feature: Extend Selection By Semantic Unit
  http://xahlee.org/emacs/syntax_tree_walk.html

• The Harm of Hard-wrapping Lines
  http://xahlee.org/UnixResource_dir/writ/hard-wrap.html

• Tabs versus Spaces in Source Code
  http://xahlee.org/UnixResource_dir/writ/tabs_vs_spaces.html

• Plain-Text Email Fetish
  http://xahlee.org/UnixResource_dir/writ/plain_text.html

• A Text Editor Feature: Extend Selection By Semantic Unit
  http://xahlee.org/emacs/syntax_tree_walk.html

• Fundamental Problems of Lisp
  http://xahlee.org/UnixResource_dir/writ/lisp_problems.html

  Xah
∑ http://xahlee.org/

reply via email to

[Prev in Thread] Current Thread [Next in Thread]