summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/src/cmd/acme/ecmd.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/sys/src/cmd/acme/ecmd.c b/sys/src/cmd/acme/ecmd.c
index 06d09f38b..ebfa87ec2 100644
--- a/sys/src/cmd/acme/ecmd.c
+++ b/sys/src/cmd/acme/ecmd.c
@@ -132,11 +132,11 @@ edittext(Window *w, int q, Rune *r, int nr)
{
File *f;
- f = w->body.file;
switch(editing){
case Inactive:
return "permission denied";
case Inserting:
+ f = w->body.file;
eloginsert(f, q, r, nr);
return nil;
case Collecting:
@@ -157,11 +157,13 @@ filelist(Text *t, Rune *r, int nr)
if(nr == 0)
return nil;
r = skipbl(r, nr, &nr);
- if(r[0] != '<')
- return runestrdup(r);
- /* use < command to collect text */
clearcollection();
- runpipe(t, '<', r+1, nr-1, Collecting);
+ if(r[0] != '<'){
+ if((collection = runestrdup(r)) != nil)
+ ncollection += runestrlen(r);
+ }else
+ /* use < command to collect text */
+ runpipe(t, '<', r+1, nr-1, Collecting);
return collection;
}