From: Xah Lee <xahlee@gmail.com>
To: help-gnu-emacs@gnu.org
Subject: Re: line-move-visual
Date: Fri, 4 Jun 2010 10:49:08 -0700 (PDT) [thread overview]
Message-ID: <580d5f23-e251-483f-9752-7e77b1ca2fb7@40g2000pry.googlegroups.com> (raw)
In-Reply-To: 871vcmhq79.fsf@wivenhoe.ul.ie
On Jun 4, 6:39 am, brendan.hal...@ul.ie (Brendan Halpin) wrote:
> Attempted thread-jack: why use visual-line-mode instead of
> longlines-mode?
longlines-mode has serious bugs, i believe still so even i haven't
used it since emacs 23.1 a year or 2 ago.
basically, whenever large chunk of text is inserted or removed in a
buffer (either manually, or sometimes automatically by commands such
as patch and version control etc), then the text will be screwed up...
missing parts or something i forgot.
there are 1 or more bug reports of it in emacs bug track. If i recall
correctly, the situation is that it's hard to fix, because longlines-
mode was a hack for lack of visual line move, and i think it is done
by basically just inserting line-breaks in the background but display
and save it otherwise. (i haven't actually looked at the code though)
the visual line move feature is a critical feature in emacs. Before
emacs 23, there are a few packages or code that tries to introduce the
visual line move feature (see emacswiki), and longlines-mode is one of
them. However, because it is such a fundamental feature, it is hard
for a 3rd-party elisp package to get it correct. They all have major
problems...
i think Emacs 23.2's move by visual line feature is great because:
• it fixed a frequently asked feature. (e.g. i think ALL editors/IDEs
after mid 1990s, move by visual line )
• it fixed a issue that 3rd party elisp packages cannot address well.
Btw, who actually coded the visual line mode? I can't find the info. I
like to document it in my emacs pages.
--------------------------------------------------
Personally, i find moving by visual line is not just a good feature,
but a critical one, with consequences that effect the evolution of
language design and thinking, long term. The hard-coded lines is
fundamentally introduced by unix and C gang, and brain damaged a whole
generation of coders.
I've written about 7 essays addressing this point in the past 10
years. See:
• Xah on Programing Languages
http://xahlee.org/Periodic_dosage_dir/comp_lang.html
See the articles under the Formatting section.
Each of these is written in a different context, but they essentially
discuss the same thing. That is, the importance of separating
appearance/formatting from semantic or logical structure.
Here's a synapses on how each article relates to the line move visual
issue.
------------------------------
• The Harm of Hard-wrapping Lines
http://xahlee.org/UnixResource_dir/writ/hard-wrap.html
A introduction. (written as a diatribe )
------------------------------
• Tabs versus Spaces in Source Code
http://xahlee.org/UnixResource_dir/writ/tabs_vs_spaces.html
introduces the idea as semantic based formatting vs hard-coded
formatting.
------------------------------
• Plain-Text Email Fetish
http://xahlee.org/UnixResource_dir/writ/plain_text.html
• Unix, RFC, and Line Truncation
http://xahlee.org/UnixResource_dir/writ/truncate_line.html
Shows some connection of the hard-coded habit from unix.
------------------------------
• A Simple Lisp Code Formatter
http://xahlee.org/emacs/lisp_formatter.html
A example of what actually can happen when hard-coded formatting
hasn't become the conventional thought.
------------------------------
• A Text Editor Feature: Extend Selection By Semantic Unit
http://xahlee.org/emacs/syntax_tree_walk.html
Another example of what could happen if unix didn't made people to
think about hard-coded short lines.
------------------------------
• Fundamental Problems of Lisp
http://xahlee.org/UnixResource_dir/writ/lisp_problems.html
Half of the essay, discuss the above issues with respect to lisp the
language, and consequences.
Xah
∑ http://xahlee.org/
☄
next prev parent reply other threads:[~2010-06-04 17:49 UTC|newest]
Thread overview: 174+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <alpine.OSX.2.00.1006031053170.77397@hsinghsing.panda.com>
[not found] ` <hu925r$1b$1@north.jnrs.ja.net>
[not found] ` <alpine.OSX.2.00.1006031431510.77397@hsinghsing.panda.com>
2010-06-04 7:59 ` line-move-visual Uday S Reddy
[not found] ` <87pr07qjio.fsf@thinkpad.tsdh.de>
2010-06-04 11:24 ` line-move-visual Uday S Reddy
2010-06-04 12:49 ` line-move-visual Tassilo Horn
2010-06-09 19:51 ` line-move-visual Joseph Brenner
2010-06-09 20:22 ` line-move-visual Brendan Halpin
2010-06-10 1:23 ` line-move-visual Stefan Monnier
[not found] ` <hualdf$eln$1@north.jnrs.ja.net>
2010-06-04 13:00 ` line-move-visual Tassilo Horn
2010-06-04 14:51 ` line-move-visual Stefan Monnier
2010-06-04 20:53 ` line-move-visual Tassilo Horn
2010-06-09 19:42 ` proposed keyboard-macro to record to elisp (was Re: line-move-visual) Joseph Brenner
2010-06-09 22:42 ` LanX
[not found] ` <871vcmhq79.fsf@wivenhoe.ul.ie>
[not found] ` <hub2ss$is4$1@north.jnrs.ja.net>
2010-06-04 14:45 ` line-move-visual Brendan Halpin
2010-06-04 17:49 ` Xah Lee [this message]
2010-06-04 18:18 ` line-move-visual Mark Crispin
2010-06-04 19:19 ` line-move-visual Xah Lee
[not found] ` <alpine.OSX.2.00.1006041829210.77397@hsinghsing.panda.com>
[not found] ` <089883ee-0a63-4cb4-a0ec-d2fe4e71cc03@y18g2000prn.googlegroups.com>
2010-06-06 9:53 ` line-move-visual Uday S Reddy
2010-06-06 9:39 ` line-move-visual David Kastrup
[not found] ` <hug5rv$6d2$1@north.jnrs.ja.net>
2010-06-06 15:21 ` line-move-visual Tassilo Horn
2010-06-07 8:19 ` line-move-visual Uday S Reddy
[not found] ` <m2fx0z46wj.fsf@gmail.com>
2010-06-07 16:20 ` line-move-visual Stefan Monnier
2010-06-06 15:43 ` line-move-visual Alain Ketterlin
[not found] ` <87wrucccl3.fsf_-_@marauder.physik.uni-ulm.de>
2010-06-07 6:18 ` Wrong use of format=flowed antidote Uday S Reddy
2010-06-07 21:30 ` line-move-visual Joost Kremers
2010-06-06 18:17 ` line-move-visual Mark Crispin
[not found] ` <4C0C466E.3000803@thadlabs.com>
2010-06-07 2:53 ` line-move-visual Mark Crispin
2010-06-07 8:46 ` line-move-visual Tim X
2010-06-07 16:23 ` line-move-visual Stefan Monnier
2010-06-09 20:23 ` line-move-visual Joseph Brenner
2010-06-07 8:39 ` line-move-visual Tim X
2010-06-10 10:12 ` line-move-visual Uday S Reddy
2010-06-10 13:43 ` line-move-visual Stefan Monnier
2010-06-10 15:17 ` line-move-visual Uday S Reddy
2010-06-10 19:53 ` line-move-visual Stefan Monnier
2010-06-10 15:44 ` line-move-visual despen
2010-06-10 22:02 ` line-move-visual Tassilo Horn
2010-06-10 23:56 ` line-move-visual Uday S Reddy
2010-06-10 22:48 ` line-move-visual Evans Winner
[not found] ` <slrni2ja96.6pq.nospam-abuse@powdermilk.math.berkeley.edu>
2010-06-29 11:09 ` HOWTO: Cowtow to old farts Xah Lee
2010-06-10 16:57 ` line-move-visual Mark Crispin
2010-06-10 18:38 ` line-move-visual Uday S Reddy
2010-06-11 23:56 ` line-move-visual Mark Crispin
2010-06-12 0:17 ` line-move-visual Wojciech Meyer
2010-06-13 17:23 ` line-move-visual Mark Crispin
2010-06-13 20:56 ` line-move-visual Alan Mackenzie
2010-06-14 0:42 ` line-move-visual Jim Diamond
2010-06-14 10:49 ` line-move-visual Uday S Reddy
2010-06-14 17:16 ` line-move-visual Alan Mackenzie
2010-06-14 17:34 ` line-move-visual Uday S Reddy
2010-06-15 9:26 ` line-move-visual Tim X
2010-06-15 13:49 ` line-move-visual Stefan Monnier
[not found] ` <87sk4n3ocs.fsf@rapttech.com.au>
2010-06-16 14:43 ` line-move-visual Stefan Monnier
[not found] ` <m2k4q18od5.fsf@softwarematters.org>
[not found] ` <jwvaaqxbcca.fsf-monnier+gnu.emacs.help@gnu.org>
2010-06-15 6:54 ` line-move-visual Pascal J. Bourguignon
2010-06-15 8:42 ` line-move-visual Uday S Reddy
2010-06-15 9:30 ` line-move-visual David Kastrup
2010-06-15 9:38 ` line-move-visual Tim X
2010-06-15 13:45 ` line-move-visual Stefan Monnier
2010-06-15 13:57 ` line-move-visual David Kastrup
[not found] ` <jwvbpbb6oyk.fsf-monnier+gnu.emacs.help@gnu.org>
2010-06-16 18:04 ` line-move-visual David Kastrup
[not found] ` <hv8gvf$98o$1@north.jnrs.ja.net>
[not found] ` <hv8iog$313e$1@colin2.muc.de>
2010-06-15 19:37 ` line-move-visual Leo
[not found] ` <871vc8dpga.fsf@imladris.arda>
2010-06-16 12:37 ` Emacs language Leo
2010-06-17 8:00 ` Teemu Likonen
2010-06-15 21:04 ` line-move-visual Uday S Reddy
2010-06-16 15:33 ` line-move-visual Alan Mackenzie
2010-06-17 8:51 ` line-move-visual Uday S Reddy
2010-06-16 14:33 ` line-move-visual Stefan Monnier
[not found] ` <db13ae67-9d9a-4556-9a7c-8f86de63011f@b4g2000pra.googlegroups.com>
2010-07-19 22:41 ` minor mode on/off/toggle with t/nil question Stefan Monnier
2010-06-15 16:51 ` line-move-visual Alan Mackenzie
2010-06-16 12:43 ` line-move-visual David Kastrup
2010-06-15 19:17 ` line-move-visual Xah Lee
2010-06-16 14:49 ` espresso-mode (was: line-move-visual) Stefan Monnier
[not found] ` <4C17FE36.30102@thadlabs.com>
2010-06-15 22:45 ` line-move-visual Xah Lee
2010-06-15 23:31 ` line-move-visual Thad Floryan
2010-06-16 3:30 ` line-move-visual Evans Winner
2010-06-16 16:14 ` line-move-visual Xah Lee
2010-06-16 23:23 ` line-move-visual Chris F.A. Johnson
[not found] ` <b1e84c4a-e74e-4ace-9b0f-a00b370eb61d@q39g2000prh.googlegroups.com>
2010-06-16 23:45 ` Keyboard Hardware's Influence on Keyboard Shortcut Design Xah Lee
2010-06-16 14:52 ` line-move-visual Stefan Monnier
[not found] ` <87r5k6sqg2.fsf@unm.edu>
2010-06-17 2:25 ` line-move-visual Stefan Monnier
2010-06-17 3:51 ` line-move-visual Chris F.A. Johnson
2010-06-17 9:03 ` line-move-visual Uday S Reddy
2010-06-20 18:42 ` line-move-visual B. T. Raven
2010-06-20 17:08 ` line-move-visual B. T. Raven
2010-06-12 4:18 ` line-move-visual Tim X
2010-06-12 4:37 ` line-move-visual Evans Winner
2010-06-12 8:30 ` line-move-visual David Kastrup
2010-06-12 8:40 ` line-move-visual Evans Winner
2010-06-12 9:30 ` line-move-visual Uday S Reddy
2010-06-12 12:30 ` line-move-visual Tim X
2010-06-12 20:09 ` line-move-visual Joseph Brenner
2010-06-13 1:41 ` line-move-visual Tim X
2010-06-13 10:22 ` line-move-visual Uday S Reddy
2010-06-13 10:51 ` line-move-visual David Kastrup
2010-06-13 11:32 ` line-move-visual Uday S Reddy
2010-06-14 0:46 ` line-move-visual Tim X
[not found] ` <hv4nkd$quq$1@north.jnrs.ja.net>
2010-06-15 9:20 ` line-move-visual Tim X
2010-06-15 11:29 ` line-move-visual Uday S Reddy
2010-06-16 9:29 ` line-move-visual Tim X
2010-06-14 4:48 ` line-move-visual Tim X
[not found] ` <m2iq5nw4pj.fsf@gmail.com>
[not found] ` <hv2htd$4li$1@north.jnrs.ja.net>
[not found] ` <m239wravxb.fsf@gmail.com>
2010-06-16 2:11 ` line-move-visual Joseph Brenner
2010-06-16 6:46 ` line-move-visual Helmut Eller
2010-06-13 10:36 ` line-move-visual David Kastrup
2010-06-16 2:19 ` line-move-visual Joseph Brenner
[not found] ` <huvsd5$8pm$1@north.jnrs.ja.net>
2010-06-12 12:25 ` line-move-visual Tim X
2010-06-12 20:17 ` line-move-visual Joseph Brenner
2010-06-10 19:57 ` line-move-visual Stefan Monnier
2010-06-13 12:46 ` line-move-visual Uday S Reddy
2010-06-09 21:38 ` line-move-visual Joseph Brenner
[not found] ` <slrni10ga0.t64.Jim.Diamond@jdiamond-nb.acadiau.ca>
2010-06-10 16:15 ` line-move-visual Mark Crispin
2010-06-04 17:52 ` line-move-visual Mark Crispin
2010-06-04 18:28 ` line-move-visual David Kastrup
[not found] ` <alpine.OSX.2.00.1006041808540.77397@hsinghsing.panda.com>
[not found] ` <878w6truxc.fsf@lola.goethe.zz>
2010-06-06 2:25 ` line-move-visual Mark Crispin
[not found] ` <87typc9dt8.fsf@kzsu.stanford.edu>
[not found] ` <alpine.OSX.2.00.1006091815150.93771@hsinghsing.panda.com>
2010-06-10 7:12 ` line-move-visual David Kastrup
2010-06-04 21:16 ` line-move-visual Stefan Monnier
2010-06-05 1:29 ` line-move-visual Mark Crispin
2010-06-04 13:20 ` line-move-visual sable
2009-07-09 18:12 line-move-visual Johan Myréen
2009-07-10 4:26 ` line-move-visual Bastien
2009-07-10 4:43 ` line-move-visual Miles Bader
2009-07-10 5:48 ` line-move-visual Bastien
2009-07-10 6:14 ` line-move-visual Kenichi Handa
2009-07-10 6:58 ` line-move-visual Bastien
2009-07-10 8:13 ` line-move-visual Alfred M. Szmidt
2009-07-10 10:10 ` line-move-visual Bastien
2009-07-10 8:43 ` line-move-visual Scot Becker
2009-07-10 8:57 ` line-move-visual Eli Zaretskii
2009-07-10 9:04 ` line-move-visual Lennart Borgman
2009-07-10 10:32 ` line-move-visual Bastien
2009-07-10 9:08 ` line-move-visual Scot Becker
2009-07-10 9:13 ` line-move-visual joakim
2009-07-10 9:22 ` line-move-visual Scot Becker
2009-07-10 16:11 ` line-move-visual Drew Adams
2009-07-10 16:22 ` line-move-visual Lennart Borgman
2009-07-10 17:20 ` line-move-visual Drew Adams
2009-07-10 17:40 ` line-move-visual Drew Adams
2009-07-10 9:52 ` line-move-visual Miles Bader
2009-07-10 16:11 ` line-move-visual Drew Adams
2009-07-10 11:35 ` line-move-visual Stephen J. Turnbull
2009-07-10 13:38 ` line-move-visual Eli Zaretskii
2009-07-10 16:11 ` line-move-visual Drew Adams
2009-07-10 18:01 ` line-move-visual Eli Zaretskii
2009-07-10 18:16 ` line-move-visual Drew Adams
2009-07-11 19:34 ` line-move-visual Juri Linkov
2009-07-10 13:56 ` line-move-visual Lennart Borgman
2009-07-10 15:07 ` line-move-visual Scot Becker
2009-07-10 20:29 ` line-move-visual Lennart Borgman
2009-07-10 15:43 ` line-move-visual Alfred M. Szmidt
2009-07-10 15:56 ` line-move-visual Sean O'Rourke
2009-07-10 9:14 ` line-move-visual Tassilo Horn
2009-07-10 9:56 ` line-move-visual Miles Bader
2009-07-10 10:22 ` line-move-visual Scot Becker
2009-07-10 16:11 ` line-move-visual Drew Adams
2009-07-10 10:36 ` line-move-visual Ulrich Mueller
2009-07-10 10:56 ` line-move-visual Eli Zaretskii
2009-07-10 11:07 ` line-move-visual Christian Faulhammer
2009-07-10 11:29 ` line-move-visual Ulrich Mueller
2009-07-10 18:15 ` line-move-visual Bastien
2009-07-10 20:40 ` line-move-visual Richard Stallman
2009-07-11 1:58 ` line-move-visual Stephen J. Turnbull
2009-07-11 2:29 ` line-move-visual Miles Bader
2009-07-11 2:44 ` line-move-visual Bastien
2009-07-11 18:30 ` line-move-visual Richard Stallman
2009-07-10 6:12 ` line-move-visual Stephen J. Turnbull
2009-07-10 21:19 ` line-move-visual Johan Myréen
2009-07-10 22:14 ` line-move-visual Scot Becker
2009-07-11 1:34 ` line-move-visual Miles Bader
2009-07-11 2:46 ` line-move-visual Bastien
2009-07-11 5:25 ` line-move-visual Miles Bader
2009-07-11 5:49 ` line-move-visual Kenichi Handa
2009-07-11 6:13 ` line-move-visual Miles Bader
2009-07-11 9:22 ` line-move-visual Bastien
2009-07-10 4:35 ` line-move-visual Miles Bader
2009-07-10 13:31 ` line-move-visual Chong Yidong
2009-07-11 6:42 ` line-move-visual Andrey Paramonov
2009-07-11 7:21 ` line-move-visual Teemu Likonen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=580d5f23-e251-483f-9752-7e77b1ca2fb7@40g2000pry.googlegroups.com \
--to=xahlee@gmail.com \
--cc=help-gnu-emacs@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.