summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES1
-rw-r--r--acme/dis/win.disbin9295 -> 9379 bytes
-rw-r--r--appl/acme/acme/bin/src/win.b4
-rw-r--r--appl/acme/exec.b2
-rw-r--r--appl/acme/row.b2
-rw-r--r--appl/acme/wind.b8
-rw-r--r--appl/acme/xfid.b4
-rw-r--r--dis/acme.disbin24121 -> 24121 bytes
-rw-r--r--dis/acme/acme.disbin24121 -> 24121 bytes
-rw-r--r--dis/acme/buff.disbin3426 -> 3426 bytes
-rw-r--r--dis/acme/col.disbin9113 -> 9113 bytes
-rw-r--r--dis/acme/dat.disbin587 -> 587 bytes
-rw-r--r--dis/acme/disk.disbin1501 -> 1501 bytes
-rw-r--r--dis/acme/ecmd.disbin15427 -> 15427 bytes
-rw-r--r--dis/acme/edit.disbin6827 -> 6827 bytes
-rw-r--r--dis/acme/elog.disbin3064 -> 3064 bytes
-rw-r--r--dis/acme/exec.disbin19072 -> 19072 bytes
-rw-r--r--dis/acme/file.disbin3490 -> 3490 bytes
-rw-r--r--dis/acme/frame.disbin13561 -> 13561 bytes
-rw-r--r--dis/acme/fsys.disbin9031 -> 9031 bytes
-rw-r--r--dis/acme/graph.disbin633 -> 633 bytes
-rw-r--r--dis/acme/gui.disbin1598 -> 1598 bytes
-rw-r--r--dis/acme/look.disbin9778 -> 9778 bytes
-rw-r--r--dis/acme/regx.disbin11415 -> 11415 bytes
-rw-r--r--dis/acme/row.disbin12121 -> 12127 bytes
-rw-r--r--dis/acme/scrl.disbin1984 -> 1984 bytes
-rw-r--r--dis/acme/text.disbin18896 -> 18896 bytes
-rw-r--r--dis/acme/time.disbin804 -> 804 bytes
-rw-r--r--dis/acme/util.disbin5715 -> 5715 bytes
-rw-r--r--dis/acme/wind.disbin8495 -> 8655 bytes
-rw-r--r--dis/acme/xfid.disbin15865 -> 15877 bytes
-rw-r--r--man/4/acme4
32 files changed, 18 insertions, 7 deletions
diff --git a/CHANGES b/CHANGES
index 682edfa5..035a7487 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,7 @@
20070608
update /lib9 functions to use silly va_copy (and then va_end) instead of just assigning, to account for silly C implementations
change /appl/cmd/mc.b not to require Draw or Env (so lc works on smaller systems)
+ update acme to include the font size data (eg, for use by mc(1))
20070607
/appl/wm/man.b /appl/lib/man.b to allow 10.1 etc as section references
20070605
diff --git a/acme/dis/win.dis b/acme/dis/win.dis
index ed473574..a5f6e4c6 100644
--- a/acme/dis/win.dis
+++ b/acme/dis/win.dis
Binary files differ
diff --git a/appl/acme/acme/bin/src/win.b b/appl/acme/acme/bin/src/win.b
index f8299ee1..857539cf 100644
--- a/appl/acme/acme/bin/src/win.b
+++ b/appl/acme/acme/bin/src/win.b
@@ -4,9 +4,11 @@ include "sys.m";
include "draw.m";
include "workdir.m";
include "sh.m";
+include "env.m";
sys : Sys;
workdir : Workdir;
+env: Env;
OREAD, OWRITE, ORDWR, FORKNS, FORKENV, FORKFD, NEWPGRP, MREPL, FD, UTFmax, pctl, open, read, write, fprint, sprint, fildes, bind, dup, byte2char, utfbytes : import sys;
@@ -35,6 +37,7 @@ init(ctxt : ref Draw->Context, argl : list of string)
{
sys = load Sys Sys->PATH;
workdir = load Workdir Workdir->PATH;
+ env = load Env Env->PATH;
drawctxt = ctxt;
stdout = fildes(1);
stderr = fildes(2);
@@ -222,6 +225,7 @@ main(argv : list of string)
error("ctl");
id = int string buf;
buf = nil;
+ env->setenv("acmewin", string id);
b := sprint("/chan/%d/tag", id);
fd = open(b, OWRITE);
write(fd, array of byte " Send Delete", 12);
diff --git a/appl/acme/exec.b b/appl/acme/exec.b
index 204b6c37..93a4b67d 100644
--- a/appl/acme/exec.b
+++ b/appl/acme/exec.b
@@ -1164,7 +1164,7 @@ run(win : ref Window, s : string, rdir : string, ndir : int, newns : int, argadd
pipechar := 0;
if (t < len s && (s[t] == '<' || s[t] == '|' || s[t] == '>')){
pipechar = s[t++];
- s = s[1: ];
+ s = s[t:];
}
c.pid = sys->pctl(0, nil);
c.iseditcmd = iseditcmd;
diff --git a/appl/acme/row.b b/appl/acme/row.b
index 9c857c93..478ec930 100644
--- a/appl/acme/row.b
+++ b/appl/acme/row.b
@@ -446,7 +446,7 @@ Row.dump(row : self ref Row, file : string)
w.body.file.buf.nc, fontname));
}
a = nil;
- buf = w.ctlprint();
+ buf = w.ctlprint(0);
b.puts(buf);
m = min(BUFSIZE, w.tag.file.buf.nc);
w.tag.file.buf.read(0, r, 0, m);
diff --git a/appl/acme/wind.b b/appl/acme/wind.b
index 2b97fafa..aa4e1950 100644
--- a/appl/acme/wind.b
+++ b/appl/acme/wind.b
@@ -527,10 +527,14 @@ Window.clean(w : self ref Window, conservative : int, exiting : int) : int # as
return TRUE;
}
-Window.ctlprint(w : self ref Window) : string
+Window.ctlprint(w : self ref Window, fonts : int) : string
{
- return sprint("%11d %11d %11d %11d %11d ", w.id, w.tag.file.buf.nc,
+ s := sprint("%11d %11d %11d %11d %11d ", w.id, w.tag.file.buf.nc,
w.body.file.buf.nc, w.isdir, w.dirty);
+ if(fonts)
+ return sprint("%s%11d %q %11d ", s, w.body.frame.r.dx(),
+ w.body.reffont.f.name, w.body.frame.maxtab);
+ return s;
}
Window.event(w : self ref Window, fmt : string)
diff --git a/appl/acme/xfid.b b/appl/acme/xfid.b
index 0533a70e..85d9da9f 100644
--- a/appl/acme/xfid.b
+++ b/appl/acme/xfid.b
@@ -374,7 +374,7 @@ Xfid.read(x : self ref Xfid)
QWbody =>
x.utfread(w.body, 0, w.body.file.buf.nc, QWbody);
QWctl =>
- sbuf = w.ctlprint();
+ sbuf = w.ctlprint(1);
QWevent =>
x.eventread(w);
QWdata =>
@@ -1052,7 +1052,7 @@ Xfid.indexread(x : self ref Xfid)
# only show the currently active window of a set
if(w.body.file.curtext != w.body)
continue;
- ctls := w.ctlprint();
+ ctls := w.ctlprint(0);
ctlb := array of byte ctls;
if (len ctls != Ctlsize || len ctlb != Ctlsize)
error("bad length in indexread");
diff --git a/dis/acme.dis b/dis/acme.dis
index cdbe24ed..69a820ec 100644
--- a/dis/acme.dis
+++ b/dis/acme.dis
Binary files differ
diff --git a/dis/acme/acme.dis b/dis/acme/acme.dis
index cdbe24ed..69a820ec 100644
--- a/dis/acme/acme.dis
+++ b/dis/acme/acme.dis
Binary files differ
diff --git a/dis/acme/buff.dis b/dis/acme/buff.dis
index f7c59585..7c93bb1b 100644
--- a/dis/acme/buff.dis
+++ b/dis/acme/buff.dis
Binary files differ
diff --git a/dis/acme/col.dis b/dis/acme/col.dis
index f4d3e1c8..9d1a5ab4 100644
--- a/dis/acme/col.dis
+++ b/dis/acme/col.dis
Binary files differ
diff --git a/dis/acme/dat.dis b/dis/acme/dat.dis
index adf2c3af..6d6dabc6 100644
--- a/dis/acme/dat.dis
+++ b/dis/acme/dat.dis
Binary files differ
diff --git a/dis/acme/disk.dis b/dis/acme/disk.dis
index 9bd48c92..4aed1a2d 100644
--- a/dis/acme/disk.dis
+++ b/dis/acme/disk.dis
Binary files differ
diff --git a/dis/acme/ecmd.dis b/dis/acme/ecmd.dis
index 00380fee..ceeef6ea 100644
--- a/dis/acme/ecmd.dis
+++ b/dis/acme/ecmd.dis
Binary files differ
diff --git a/dis/acme/edit.dis b/dis/acme/edit.dis
index fbd9dbaf..c0e606ef 100644
--- a/dis/acme/edit.dis
+++ b/dis/acme/edit.dis
Binary files differ
diff --git a/dis/acme/elog.dis b/dis/acme/elog.dis
index c2f7aa24..7edaa5cb 100644
--- a/dis/acme/elog.dis
+++ b/dis/acme/elog.dis
Binary files differ
diff --git a/dis/acme/exec.dis b/dis/acme/exec.dis
index de8fa26c..49ed1406 100644
--- a/dis/acme/exec.dis
+++ b/dis/acme/exec.dis
Binary files differ
diff --git a/dis/acme/file.dis b/dis/acme/file.dis
index c45a9b2a..35200a55 100644
--- a/dis/acme/file.dis
+++ b/dis/acme/file.dis
Binary files differ
diff --git a/dis/acme/frame.dis b/dis/acme/frame.dis
index e37fa1ce..3b2a5c92 100644
--- a/dis/acme/frame.dis
+++ b/dis/acme/frame.dis
Binary files differ
diff --git a/dis/acme/fsys.dis b/dis/acme/fsys.dis
index fc11c938..c0d8e57a 100644
--- a/dis/acme/fsys.dis
+++ b/dis/acme/fsys.dis
Binary files differ
diff --git a/dis/acme/graph.dis b/dis/acme/graph.dis
index fbc35709..f6e5b743 100644
--- a/dis/acme/graph.dis
+++ b/dis/acme/graph.dis
Binary files differ
diff --git a/dis/acme/gui.dis b/dis/acme/gui.dis
index 939f20e0..ca557231 100644
--- a/dis/acme/gui.dis
+++ b/dis/acme/gui.dis
Binary files differ
diff --git a/dis/acme/look.dis b/dis/acme/look.dis
index 67ac6b76..289cc76a 100644
--- a/dis/acme/look.dis
+++ b/dis/acme/look.dis
Binary files differ
diff --git a/dis/acme/regx.dis b/dis/acme/regx.dis
index bfe9b4a5..a55d07ee 100644
--- a/dis/acme/regx.dis
+++ b/dis/acme/regx.dis
Binary files differ
diff --git a/dis/acme/row.dis b/dis/acme/row.dis
index 0df89b44..38fce882 100644
--- a/dis/acme/row.dis
+++ b/dis/acme/row.dis
Binary files differ
diff --git a/dis/acme/scrl.dis b/dis/acme/scrl.dis
index 51cb6c9d..9f7a7c28 100644
--- a/dis/acme/scrl.dis
+++ b/dis/acme/scrl.dis
Binary files differ
diff --git a/dis/acme/text.dis b/dis/acme/text.dis
index 3a8f8e90..c0051d7a 100644
--- a/dis/acme/text.dis
+++ b/dis/acme/text.dis
Binary files differ
diff --git a/dis/acme/time.dis b/dis/acme/time.dis
index 478506e2..caff406c 100644
--- a/dis/acme/time.dis
+++ b/dis/acme/time.dis
Binary files differ
diff --git a/dis/acme/util.dis b/dis/acme/util.dis
index feb83a93..bcb431ae 100644
--- a/dis/acme/util.dis
+++ b/dis/acme/util.dis
Binary files differ
diff --git a/dis/acme/wind.dis b/dis/acme/wind.dis
index 3336955d..1adcd022 100644
--- a/dis/acme/wind.dis
+++ b/dis/acme/wind.dis
Binary files differ
diff --git a/dis/acme/xfid.dis b/dis/acme/xfid.dis
index 89cc0d46..8ba3ed6c 100644
--- a/dis/acme/xfid.dis
+++ b/dis/acme/xfid.dis
Binary files differ
diff --git a/man/4/acme b/man/4/acme
index 092d01dc..20b39746 100644
--- a/man/4/acme
+++ b/man/4/acme
@@ -154,7 +154,9 @@ is always appended; the file offset is ignored.
.B ctl
may be read to recover the five numbers as held in the
.B index
-file, described above.
+file, described above, plus three more fields: the width of the
+window in pixels, the name of the font used in the window,
+and the width of a tab character in pixels.
Text messages may be written to
.B ctl
to affect the window.