|
@@ -380,11 +380,11 @@ BEGIN
|
|
END
|
|
END
|
|
END HandleTerminalKeyDown;
|
|
END HandleTerminalKeyDown;
|
|
|
|
|
|
-PROCEDURE HandleTerminalTextInput(s: ARRAY OF CHAR; sym: INTEGER);
|
|
|
|
|
|
+PROCEDURE HandleTerminalTextInput(s: ARRAY OF CHAR; ch: INTEGER);
|
|
BEGIN
|
|
BEGIN
|
|
- IF (sym # 0) & (inputBufLen < LEN(inputBuf)) THEN
|
|
|
|
- inputBuf[inputBufLen] := CHR(sym); INC(inputBufLen);
|
|
|
|
- T.Write(CHR(sym))
|
|
|
|
|
|
+ IF (ch # 0) & (inputBufLen < LEN(inputBuf)) THEN
|
|
|
|
+ inputBuf[inputBufLen] := OV.ToCP866(ch); INC(inputBufLen);
|
|
|
|
+ T.Write(OV.ToCP866(ch))
|
|
END
|
|
END
|
|
END HandleTerminalTextInput;
|
|
END HandleTerminalTextInput;
|
|
|
|
|
|
@@ -398,7 +398,7 @@ BEGIN quit := FALSE;
|
|
CASE event.type OF
|
|
CASE event.type OF
|
|
G.mouseMove: HandleMouseMotion
|
|
G.mouseMove: HandleMouseMotion
|
|
| G.keyDown: HandleTerminalKeyDown(event.key, quit)
|
|
| G.keyDown: HandleTerminalKeyDown(event.key, quit)
|
|
- | G.textInput: HandleTerminalTextInput(event.s, event.key.sym)
|
|
|
|
|
|
+ | G.textInput: HandleTerminalTextInput(event.s, event.ch)
|
|
ELSE
|
|
ELSE
|
|
END
|
|
END
|
|
END;
|
|
END;
|
|
@@ -454,7 +454,13 @@ BEGIN
|
|
cmd := 'data/bin/'; Strings.Append(command, cmd);
|
|
cmd := 'data/bin/'; Strings.Append(command, cmd);
|
|
Strings.Append('.sh ', cmd)
|
|
Strings.Append('.sh ', cmd)
|
|
END;
|
|
END;
|
|
- Strings.Append(fname, cmd);
|
|
|
|
|
|
+
|
|
|
|
+ IF Strings.Pos(Editor.stdPath, fname, 0) = 0 THEN
|
|
|
|
+ Strings.Extract(fname, Strings.Length(Editor.stdPath), LEN(s), s)
|
|
|
|
+ ELSE s := fname$
|
|
|
|
+ END;
|
|
|
|
+ Strings.Append(s, cmd);
|
|
|
|
+
|
|
IF main THEN Strings.Append(' -m', cmd)
|
|
IF main THEN Strings.Append(' -m', cmd)
|
|
ELSIF link & (list # NIL) THEN
|
|
ELSIF link & (list # NIL) THEN
|
|
p := list;
|
|
p := list;
|
|
@@ -732,12 +738,14 @@ RETURN p # NIL END ImportsGraph;
|
|
|
|
|
|
(* "Module.Mod" -> "Module" *)
|
|
(* "Module.Mod" -> "Module" *)
|
|
PROCEDURE GetModuleName(fname: ARRAY OF CHAR; VAR modname: ARRAY OF CHAR);
|
|
PROCEDURE GetModuleName(fname: ARRAY OF CHAR; VAR modname: ARRAY OF CHAR);
|
|
-VAR i: INTEGER;
|
|
|
|
-BEGIN i := 0;
|
|
|
|
|
|
+VAR i, j: INTEGER;
|
|
|
|
+BEGIN i := 0; j := 0;
|
|
|
|
+ WHILE (fname[i] # 0X) & (fname[i] # '/') DO INC(i) END;
|
|
|
|
+ IF fname[i] = 0X THEN i := 0 ELSE INC(i) END;
|
|
WHILE (fname[i] # 0X) & (fname[i] # '.') DO
|
|
WHILE (fname[i] # 0X) & (fname[i] # '.') DO
|
|
- modname[i] := fname[i]; INC(i)
|
|
|
|
|
|
+ modname[j] := fname[i]; INC(i); INC(j)
|
|
END;
|
|
END;
|
|
- modname[i] := 0X
|
|
|
|
|
|
+ modname[j] := 0X
|
|
END GetModuleName;
|
|
END GetModuleName;
|
|
|
|
|
|
PROCEDURE OnBuild(c: OV.Control);
|
|
PROCEDURE OnBuild(c: OV.Control);
|