diff options
author | rsc <devnull@localhost> | 2005-03-21 07:37:34 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2005-03-21 07:37:34 +0000 |
commit | b8c9f31785f3243a52432023d4d555d490963769 (patch) | |
tree | 4a55c22d8af3e61f4aa4528c4aefb03fd684769c /src/cmd/netfiles/main.c | |
parent | e96129189712a83de71d45cbc852a54c5960d575 (diff) | |
download | plan9port-b8c9f31785f3243a52432023d4d555d490963769.tar.gz plan9port-b8c9f31785f3243a52432023d4d555d490963769.tar.bz2 plan9port-b8c9f31785f3243a52432023d4d555d490963769.zip |
new
Diffstat (limited to 'src/cmd/netfiles/main.c')
-rw-r--r-- | src/cmd/netfiles/main.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/cmd/netfiles/main.c b/src/cmd/netfiles/main.c index 9c5f83e7..bb388c5f 100644 --- a/src/cmd/netfiles/main.c +++ b/src/cmd/netfiles/main.c @@ -173,12 +173,22 @@ isdot(Win *w, uint xq0, uint xq1) char* expandarg(Win *w, Event *e) { + uint q0, q1; + if(e->c2 == 'l') /* in tag - no choice but to accept acme's expansion */ return estrdup(e->text); - dprint("expand %d %d %d %d\n", e->oq0, e->oq1, e->q0, e->q1); - if(e->oq0 == e->oq1 && e->q0 != e->q1 && !isdot(w, e->q0, e->q1)) + winaddr(w, ","); + winctl(w, "addr=dot"); + + q0 = winreadaddr(w, &q1); + cprint("acme expanded %d-%d into %d-%d (dot %d-%d)\n", + e->oq0, e->oq1, e->q0, e->q1, q0, q1); + + if(e->oq0 == e->oq1 && e->q0 != e->q1 && !isdot(w, e->q0, e->q1)){ winaddr(w, "#%ud+#1-/[^ \t\\n]*/,#%ud-#1+/[^ \t\\n]*/", e->q0, e->q1); - else + q0 = winreadaddr(w, &q1); + cprint("\tre-expand to %d-%d\n", q0, q1); + }else winaddr(w, "#%ud,#%ud", e->q0, e->q1); return winmread(w, "xdata"); } |