|
|
1.1 root 1: # extend
2:
3: qs = sequence[string]
4: qi = sequence[int]
5:
6: qp = sequence[eproc]
7: tab = qp$[run_ctrlat, run_ctrla, run_ctrlb, run_ctrlat,
8: run_ctrld, run_ctrle, run_ctrlf, run_ctrlg,
9: ed_help, insert_char, run_interactive, run_ctrlk,
10: run_ctrll, run_ctrlm, run_ctrlnp, run_ctrlo,
11: run_ctrlnp, run_ctrlq, run_ctrlr, run_ctrls,
12: run_ctrlt, run_ctrlu, run_ctrlv, run_ctrlw,
13: run_ctrlx, run_ctrly, incremental_update, run_ctrlsk,
14: indyan, run_adjust, run_ctrlsn, run_ctrlso]
15:
16: start_up = proc ()
17: own done: bool := false
18: jcl: string := get_jcl()
19: options: qs := qs$new()
20: while ~string$empty(jcl) cand
21: (jcl[1] = '-' cor jcl[1] = ':' cor jcl[1] = '=') do
22: i: int := string$indexc(' ', jcl)
23: s: string
24: if i = 0
25: then s := jcl
26: jcl := ""
27: else s := string$substr(jcl, 1, i - 1)
28: jcl := string$rest(jcl, i + 1)
29: end
30: options := qs$addh(options, s)
31: end
32: while jcl[1] = ' ' do
33: jcl := string$rest(jcl, 2)
34: end except when bounds: end
35: _reset_input()
36: screen$init(options)
37: e: env
38: if done
39: then e := winset$reset()
40: else _gc$control(2**18 - 2**15, 2**17 - 1)
41: e := env$create(false)
42: bufset$init()
43: winset$init(e)
44: bufset$display(e, bufset$create_buf("Main", "", e.buffer))
45: chtab: vec := vec$fill(0, 128, insert_char)
46: for i: int in qp$indexes(tab) do
47: chtab[i - 1] := tab[i]
48: end
49: chtab[c2i(del)] := run_del
50: e.chtab := chtab
51: e.title := "---- Buffer: Main (type ^H for help)"
52: nlines, nchars: int := _get_screen_size()
53: e.top_line := 1
54: e.size := nlines - 2
55: e.width := nchars - 1
56: umask: int := _umask(0)
57: env$store_num(e, "umask", umask)
58: env$store_num(e, "write_mode", i_and(0666, -umask - 1))
59: env$store_str(e, "terminal", "vs100")
60: env$store_str(e, "host", _host_name())
61: done := true
62: end except when not_possible (*): end
63: env$clear(e)
64: if ~string$empty(jcl)
65: then _push_macro_chars(c2s(ctrlr) || jcl || "\r") end
66: macro_file(e, fname$create(_environ("HOME"), "", "ted_init", ""))
67: except when not_found, not_possible (*): end
68: ted(e)
69: end start_up
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.