From: "Bart Schaefer" <schaefer@candle.brasslantern.com>
To: Peter Stephenson <pws@csr.com>,
zsh-workers@sunsite.dk (Zsh hackers list)
Subject: Re: PATCH: bash-transpose-words
Date: Fri, 20 Jul 2001 18:08:29 +0000 [thread overview]
Message-ID: <1010720180829.ZM7428@candle.brasslantern.com> (raw)
In-Reply-To: <Tc0a88d0154dc9a3f0a@mailsweeper01.cambridgesiliconradio.com>
On Jul 20, 11:49am, Peter Stephenson wrote:
}
} Now what I'd really like is for the cursor to stay at the point [...]
} with marks --- which I still don't trust if text has been moving around,
} but I haven't analysed what I don't trust well enough to suggest what needs
} fixing.
The mark in zsh is just an offset in $BUFFER. In emacs it (effectively)
is a zero-width pseudo-character located between two real characters.
That means you can move stuff around the mark in emacs and it shifts left
or right along with the unchanging characters adjacent to it. In zsh,
this effect is sometimes mimicked by (in|de)crementing the mark position
as characters are (inserted|deleted), but it is not done consistently.
So given this text:
echo abcdefg dcba
^
cursor and mark both here
In emacs, after transpose-words:
echo dcba abcdefg
^
cursor and mark both here (moved with the space)
But in zsh:
echo dcba abcdefg
^
mark here (same buffer offset), cursor at end
Sven and I had a discussion a while back about the difficulty of keeping
the mark consistent when one can do wholesale assignments to $BUFFER
without passing through the usual zle functions. It was inconclusive.
--
Bart Schaefer Brass Lantern Enterprises
http://www.well.com/user/barts http://www.brasslantern.com
Zsh: http://www.zsh.org | PHPerl Project: http://phperl.sourceforge.net
prev parent reply other threads:[~2001-07-20 18:09 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-07-20 10:49 Peter Stephenson
2001-07-20 18:08 ` Bart Schaefer [this message]
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=1010720180829.ZM7428@candle.brasslantern.com \
--to=schaefer@candle.brasslantern.com \
--cc=pws@csr.com \
--cc=zsh-workers@sunsite.dk \
/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.vuxu.org/mirror/zsh/
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 NNTP newsgroup(s).