* [9fans] edit -- a new acme(4) file @ 2006-11-12 0:39 Arvindh Rajesh Tamilmani 2006-11-14 18:56 ` Sascha Retzki 0 siblings, 1 reply; 6+ messages in thread From: Arvindh Rajesh Tamilmani @ 2006-11-12 0:39 UTC (permalink / raw) To: 9fans A quick-and-dirty patch to acme that introduces 'edit', a new acme(4) file, to which Edit commands can be written. With this, echo -n ',d' >/mnt/acme/$winid/edit would delete the window's content. I am planning to port this to Acme SAC, so that I can write acme scripts that don't depend on sed/ed, which are only partially implemented in Inferno. Comments welcome. Thanks. Arvindh acme-sources/dat.h:14,19 - acme/dat.h:14,20 QWbody, QWctl, QWdata, + QWedit, QWeditout, QWerrors, QWevent, diff -c acme-sources/fsys.c acme/fsys.c acme-sources/fsys.c:80,85 - acme/fsys.c:80,86 { "body", QTAPPEND, QWbody, 0600|DMAPPEND }, { "ctl", QTFILE, QWctl, 0600 }, { "data", QTFILE, QWdata, 0600 }, + { "edit", QTFILE, QWedit, 0200 }, { "editout", QTFILE, QWeditout, 0200 }, { "errors", QTFILE, QWerrors, 0200 }, { "event", QTFILE, QWevent, 0600 }, diff -c acme-sources/xfid.c acme/xfid.c acme-sources/xfid.c:110,116 - acme/xfid.c:110,119 break; case QWdata: case QWxdata: + case QWedit: w->nopen[q]++; + seq++; + filemark(t->file); break; case QWevent: if(w->nopen[q]++ == 0){ acme-sources/xfid.c:215,226 - acme/xfid.c:218,230 break; case QWdata: case QWxdata: + case QWedit: w->nomark = FALSE; /* fall through */ case QWaddr: case QWevent: /* BUG: do we need to shut down Xfid? */ if(--w->nopen[q] == 0){ - if(q == QWdata || q == QWxdata) + if(q == QWdata || q == QWxdata || q == QWedit) w->nomark = FALSE; if(q==QWevent && !w->isdir && w->col!=nil){ w->filemenu = TRUE; acme-sources/xfid.c:423,428 - acme/xfid.c:427,445 break; } w->addr = a; + fc.count = x->count; + respond(x, &fc, nil); + break; + + case QWedit: + x->data[x->count] = 0; + r = bytetorune(x->data, &nr); + t = &w->body; + wincommit(w, t); + if(w->nomark == FALSE) + seq++; + editcmd(t, r, nr); + free(r); fc.count = x->count; respond(x, &fc, nil); break; ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [9fans] edit -- a new acme(4) file 2006-11-12 0:39 [9fans] edit -- a new acme(4) file Arvindh Rajesh Tamilmani @ 2006-11-14 18:56 ` Sascha Retzki 2006-11-14 19:56 ` Arvindh Rajesh Tamilmani 2006-11-14 20:11 ` Arvindh Rajesh Tamilmani 0 siblings, 2 replies; 6+ messages in thread From: Sascha Retzki @ 2006-11-14 18:56 UTC (permalink / raw) To: 9fans > A quick-and-dirty patch to acme that introduces 'edit', a new acme(4) > file, to which Edit commands can be written. [...] > > Comments welcome. *Arrr* I love it. Always wanted an edit-file, makes acme even more powerful. patch(1) :-D ? > I am planning to port this to Acme > SAC Excuse me, What's 'Acme SAC'? Did I miss something? Is it a internet-acronym I never heared of? ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [9fans] edit -- a new acme(4) file 2006-11-14 18:56 ` Sascha Retzki @ 2006-11-14 19:56 ` Arvindh Rajesh Tamilmani 2006-11-15 18:33 ` Sascha Retzki 2006-11-14 20:11 ` Arvindh Rajesh Tamilmani 1 sibling, 1 reply; 6+ messages in thread From: Arvindh Rajesh Tamilmani @ 2006-11-14 19:56 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs > Excuse me, What's 'Acme SAC'? Did I miss something? > Is it a internet-acronym I never heared of? Acme SAC is Caerwyn's stand alone Acme, based on Inferno. http://www.caerwyn.com/acme http://code.google.com/p/acme-sac Quite useful when you are stuck in a Windows-only environment, like me. Arvindh ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [9fans] edit -- a new acme(4) file 2006-11-14 19:56 ` Arvindh Rajesh Tamilmani @ 2006-11-15 18:33 ` Sascha Retzki 0 siblings, 0 replies; 6+ messages in thread From: Sascha Retzki @ 2006-11-15 18:33 UTC (permalink / raw) To: 9fans > > Quite useful when you are stuck in a Windows-only environment, like me. > Awesome, you made my day - thanks :-) ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [9fans] edit -- a new acme(4) file 2006-11-14 18:56 ` Sascha Retzki 2006-11-14 19:56 ` Arvindh Rajesh Tamilmani @ 2006-11-14 20:11 ` Arvindh Rajesh Tamilmani 2006-11-14 22:06 ` Russ Cox 1 sibling, 1 reply; 6+ messages in thread From: Arvindh Rajesh Tamilmani @ 2006-11-14 20:11 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs On 11/14/06, Sascha Retzki <sretzki@gmx.de> wrote: > > A quick-and-dirty patch to acme that introduces 'edit', a new acme(4) > > file, to which Edit commands can be written. > [...] > > > > Comments welcome. > > *Arrr* I love it. Thanks :-) > patch(1) :-D ? I haven't fully understood acme control files :-) Don't see the point of wrsel and rdsel -- the functionality can be easily achieved using other files. Yet to figure out the use of /mnt/acme/editout -- managed to crash acme using this though :-) Arvindh ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [9fans] edit -- a new acme(4) file 2006-11-14 20:11 ` Arvindh Rajesh Tamilmani @ 2006-11-14 22:06 ` Russ Cox 0 siblings, 0 replies; 6+ messages in thread From: Russ Cox @ 2006-11-14 22:06 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs rdsel, wrsel, and editout are only for acme's own use when running external commands. Try opening a new window, highlight some text in it, and then run each of: |cat /proc/$pid/fd Edit |cat /proc/$pid/fd Russ ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2006-11-15 18:33 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2006-11-12 0:39 [9fans] edit -- a new acme(4) file Arvindh Rajesh Tamilmani 2006-11-14 18:56 ` Sascha Retzki 2006-11-14 19:56 ` Arvindh Rajesh Tamilmani 2006-11-15 18:33 ` Sascha Retzki 2006-11-14 20:11 ` Arvindh Rajesh Tamilmani 2006-11-14 22:06 ` Russ Cox
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).