From: Noam Postavsky <npostavs@users.sourceforge.net>
To: Drew Adams <drew.adams@oracle.com>
Cc: 25777@debbugs.gnu.org
Subject: bug#25777: 25.1; [PATCH] `rectangle--pos-cols' should not move point
Date: Fri, 3 Mar 2017 13:16:35 -0500 [thread overview]
Message-ID: <CAM-tV-_hEhoKJ2e_rsg6C4+74KUQv0oBhcAuDxCNvZyNZtt+tA@mail.gmail.com> (raw)
In-Reply-To: <2b01eb6e-53b3-4ca1-abe9-ef3090981863@default>
On Fri, Mar 3, 2017 at 11:44 AM, Drew Adams <drew.adams@oracle.com> wrote:
>> >
>> > No, I don't think so. What did you have in mind? It can
>> > reset window parameter `rectangle--point-crutches' or variable
>> > `rectangle--mark-crutches', but I don't think those actions are
>> > worth mentioning. Do you?
>>
>> I thought they might be important. I'm not really sure what the
>> user-visible effect of those are though.
>
> AFAICT, those make use of recorded "crutches" (which are
> nowhere described explicitly, but which apparently associate
> a buffer position with a display column). And that, for a
> given window.
>
> They seem important for proper handling of a rectangle
> regarded with respect to display (columns are a display
> thing in this context).
>
> Put differently, and comparing the code and doc for Emacs 25
> with previous releases, it seems that Emacs 25 started
> treating rectangles, in at least some cases, wrt _display_
> and not just buffer position: respect of wide chars, window,
> places past eol,
Ah, with this hint I figured out what the user-visible side-effect is,
from 'emacs -Q' do:
C-x SPC
C-3 C-p M-f ;; the bottom 2 lines of the rectangle now extend past eol
C-x C-x ;; point is now past eol
M-: (save-excursion (rectangle--pos-cols 1 3)) RET ;; => (0 . 2)
C-f ;; Now point jumps to column 1 instead of 8.
So calling rectangle--pos-cols with START and END not corresponding to
the current rectangle can mess with the selection.
>
> The use case I have, in `modeline-posn.el', is about the
> rectangular region. It tries to report on displayed
> columns, not buffer positions. So I think that for my
> use case, at least, I need the full-blown
> `rectangle--pos-cols' code (under whatever name).
Perhaps you want this:
(defun rectangle-columns ()
"Return the current rectangle's columns.
The return value is a cons of the form (START-COLUMN . END-COLUMN)."
(save-excursion (rectangle--pos-cols (region-beginning) (region-end))))
Which should call rectangle--pos-cols only with positions
corresponding to the current rectangle, and so won't be able to affect
the selection (I think?).
next prev parent reply other threads:[~2017-03-03 18:16 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-17 17:51 bug#25777: 25.1; [PATCH] `rectangle--pos-cols' should not move point Drew Adams
2017-02-19 17:38 ` Drew Adams
2017-02-27 1:37 ` npostavs
2017-02-27 6:24 ` Drew Adams
2017-02-27 13:44 ` npostavs
2017-02-27 17:51 ` Drew Adams
2017-02-27 18:50 ` Noam Postavsky
2017-02-27 19:21 ` Drew Adams
2017-02-27 19:47 ` Noam Postavsky
2017-02-27 20:35 ` Drew Adams
2017-02-28 4:57 ` npostavs
2017-02-28 15:11 ` Drew Adams
2017-03-02 1:21 ` npostavs
2017-03-02 2:32 ` Drew Adams
2017-03-02 18:13 ` Drew Adams
2017-03-03 2:09 ` npostavs
2017-03-03 6:29 ` Drew Adams
2017-03-03 13:28 ` npostavs
2017-03-03 16:44 ` Drew Adams
2017-03-03 18:16 ` Noam Postavsky [this message]
2017-03-03 19:17 ` Drew Adams
2019-06-24 17:10 ` Lars Ingebrigtsen
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=CAM-tV-_hEhoKJ2e_rsg6C4+74KUQv0oBhcAuDxCNvZyNZtt+tA@mail.gmail.com \
--to=npostavs@users.sourceforge.net \
--cc=25777@debbugs.gnu.org \
--cc=drew.adams@oracle.com \
/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).