unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Richard M Stallman <rms@gnu.org>
To: Chong Yidong <cyd@stupidchicken.com>
Cc: david.reitter@gmail.com, raman@users.sourceforge.net,
	monnier@iro.umontreal.ca, andrew.w.nosenko@gmail.com,
	emacs-devel@gnu.org
Subject: Re: line-move-visual never set to nil?
Date: Tue, 29 Jul 2008 23:46:56 -0400	[thread overview]
Message-ID: <E1KO2eO-0008CI-If@fencepost.gnu.org> (raw)
In-Reply-To: <87y73kbvz3.fsf@stupidchicken.com> (message from Chong Yidong on Tue, 29 Jul 2008 10:34:08 -0400)

If a command normally moves by screen lines, making it do something
different in a keyboard macro is incorrect.

Why doesn't it work right in a keyboard macro?
Is this because it uses data structures that are updated
only by redisplay, and the keyboard macro does not redisplay?

If that is the cause, these functions also are no use for other Lisp
programs to call.  Even when the user types commands by hand, Emacs
may not redisplay if the machine falls behind.  Using those facilities
is the wrong implementation for these commands.

The right solution is to implement the TODO item of functions similar
to compute-motion, vertical-motion, and current-column, which take
account of the width and height of characters and operate on positions
expressed in floating point.  These functions should look only at the
buffer contents and the fonts, so they work regardless of whether
the text has been displayed lately.

If you implement these commands based on those functions, they will
work reliably no matter where they are called from.




  parent reply	other threads:[~2008-07-30  3:46 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-26 17:43 line-move-visual never set to nil? T. V. Raman
2008-07-26 18:13 ` Stefan Monnier
2008-07-26 18:40   ` Vinicius Jose Latorre
2008-07-26 18:44     ` Stefan Monnier
2008-07-26 18:48   ` David Reitter
2008-07-26 18:57 ` Chong Yidong
2008-07-26 19:38   ` T. V. Raman
2008-07-26 19:41     ` Chong Yidong
2008-07-27 18:46   ` David Reitter
2008-07-27 20:59     ` Stefan Monnier
2008-07-27 21:08       ` Stefan Monnier
2008-07-28  0:23         ` T. V. Raman
2008-07-29  7:43       ` Andrew W. Nosenko
2008-07-29 14:34         ` Chong Yidong
2008-07-29 14:43           ` Lennart Borgman
2008-07-29 16:27           ` Stefan Monnier
2008-07-29 18:31             ` Chong Yidong
2008-07-29 18:37               ` David Reitter
2008-07-29 19:18                 ` Chong Yidong
2008-07-29 19:23                   ` Lennart Borgman (gmail)
2008-07-29 19:59                     ` Stefan Monnier
2008-07-29 21:23                   ` David De La Harpe Golden
2008-07-30  0:31                 ` Miles Bader
2008-07-30  0:42                   ` David Reitter
2008-07-30  3:46           ` Richard M Stallman [this message]
2008-07-30  4:43             ` Chong Yidong
2008-07-30  4:56               ` Miles Bader
2008-07-30  7:59               ` Lennart Borgman (gmail)
2008-07-31 17:24             ` Lennart Borgman (gmail)
2008-07-31 23:34               ` Miles Bader
2008-07-31 23:38                 ` Lennart Borgman (gmail)
2008-08-01  0:25                   ` David De La Harpe Golden
2008-08-01  0:27                     ` David De La Harpe Golden
2008-08-01  0:29                     ` Lennart Borgman (gmail)
2008-08-01  0:58                       ` David De La Harpe Golden
2008-08-01  1:01                         ` Lennart Borgman (gmail)
2008-08-01  1:49                           ` David De La Harpe Golden
2008-08-01  8:43                             ` Lennart Borgman (gmail)
2008-08-01 18:19                           ` Richard M Stallman
2008-08-01 19:06                             ` Chong Yidong
2008-08-01 19:29                               ` Lennart Borgman (gmail)
2008-08-01  0:33                   ` Miles Bader
2008-08-01  0:37                     ` Lennart Borgman (gmail)
2008-08-01  0:46                       ` Miles Bader
2008-08-01  0:50                         ` Lennart Borgman (gmail)
2008-08-01 10:16                         ` Andrew W. Nosenko
2008-08-01  4:43               ` Richard M Stallman

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E1KO2eO-0008CI-If@fencepost.gnu.org \
    --to=rms@gnu.org \
    --cc=andrew.w.nosenko@gmail.com \
    --cc=cyd@stupidchicken.com \
    --cc=david.reitter@gmail.com \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    --cc=raman@users.sourceforge.net \
    /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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).