|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T r
Length: 2439 (0x987)
Types: TextFile
Names: »run_ctrlat.clu«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki
└─⟦526ad3590⟧ »EUUGD11/gnu-31mar87/X.V10.R4.tar.Z«
└─⟦2109abc41⟧
└─⟦this⟧ »./X.V10R4/xted/run_ctrlat.clu«
run_ctrlat = proc (e: env, c: char) signals (errmsg(string), stop(env, string))
if e.this_arg > 1 cor e.this_arg < 0
then top_display(e, "GCing")
secs1, msecs1, usecs1: int := _get_runtime()
freed: int := gc()
left: int := _heap_size()
secs2, msecs2, usecs2: int := _get_runtime()
secs2, msecs2, usecs2 := _longsub(secs2, msecs2, usecs2,
secs1, msecs1, usecs1)
top_display(e, "GC #" || int$unparse(_gc$count()) || ": " ||
int$unparse(freed) || " freed, " ||
int$unparse(left) || " left, " ||
_time_format(secs2, msecs2, usecs2))
elseif e.this_arg = 0
then if env$fetch_num(e, "careful", 0) ~= 0
then cnt: int := 0
nms: string := ""
for b: buf, bnm, fnm: string in bufset$all_buffers() do
if buf$any_changed(b)
then if cnt = 2
then nms := nms || ", ..."
break
elseif cnt = 1
then nms := string$append("s" || nms, ',')
end
nms := string$append(nms, ' ') || bnm
cnt := cnt + 1
end
end
if cnt > 0 cand
~mconfirm(e, "Buffer" || nms || " changed, quit anyway", true)
then return end
end
keypad: int := env$fetch_num(e, "keypad", 0)
if keypad ~= 0
then _set_keypad_mode(false) end
_normal_chars()
screen$destroy()
quit_()
else olines, ochars: int := _get_screen_size()
_normal_chars()
_ted_chars()
nlines, nchars: int := _get_screen_size()
if nlines ~= olines cor nchars ~= ochars
then n: int := 1
otop: int := 0
ntop: int := 0
for ee: env in winset$all() do
ee.size := (ee.size * nlines) / olines
ee.width := nchars - 1
if ee.top_line = otop
then ee.top_line := ntop
else otop := ee.top_line
ntop := n
ee.top_line := n
n := n + ee.size + 1
end
if env$is_argenv(ee)
then continue end
title: string := ee.title
i: int := string$size(title)
while title[i] = '-' cor title[i] = ' ' do
i := i - 1
end except when bounds: end
update_title(ee, string$substr(title, 1, i))
end
if n < nlines
then n := nlines - n
for ee: env in winset$all() do
if ee.top_line = 1
then ee.size := ee.size + n
else ee.top_line := ee.top_line + n
end
end
end
end
env$clear(e)
end resignal errmsg
end run_ctrlat