Discussion:
[9fans] acme: copy selection to new window
(too old to reply)
Jacek Masiulaniec
2011-11-27 15:03:37 UTC
Permalink
In plan9port acme, I'd like a command to copy selected text into new window.
Here's rc implementation:

% cat >/tmp/copy
#!/usr/bin/env rc

. $PLAN9/lib/acme.rc

winctl 'addr=dot'
winread data >/tmp/selection
@{
       newwindow
       cat /tmp/selection | winwrite body
}
%

Consider the scenario:

(1) Create a window that reads:

foo
bar
baz

(2) Add tag command /tmp/copy.

(3) Select "bar".

(4) Execute /tmp/copy.

I expect new window to contain only the text "bar".
In reality, the window contains "bar", and the unexpected "baz".

Where's the problem?

Thanks.

Jacek
Akshat Kumar
2011-11-28 01:41:46 UTC
Permalink
I believe you have to keep the addr file open, while
you are making changes to it (through ctl or otherwise)
and while you read from the data file.


ak

On Sun, Nov 27, 2011 at 7:03 AM, Jacek Masiulaniec
Post by Jacek Masiulaniec
In plan9port acme, I'd like a command to copy selected text into new window.
% cat >/tmp/copy
#!/usr/bin/env rc
. $PLAN9/lib/acme.rc
winctl 'addr=dot'
winread data >/tmp/selection
@{
       newwindow
       cat /tmp/selection | winwrite body
}
%
foo
bar
baz
(2) Add tag command /tmp/copy.
(3) Select "bar".
(4) Execute /tmp/copy.
I expect new window to contain only the text "bar".
In reality, the window contains "bar", and the unexpected "baz".
Where's the problem?
Thanks.
Jacek
Loading...