TempleOSCD_140715.ISO

This commit is contained in:
Terry A. Davis authored and minexew committed 2018-09-08 21:46:09 +02:00
1 parent 7ef616a20e
commit 64f679eeb9
1095 files changed
+24814 -221011

No files matched your search

+26 -28
View File
@@ -10,11 +10,11 @@ U0 EdLiteUpdate(CLine *root,CLine *cur_line,I64 cur_col,I64 line_start_col)
U8 *st;
CLine *templ=cur_line;
Bool done_eof=FALSE;
sys_raw_col=0;
for (i=0;i<text_rows/2;i++)
text.raw_col=0;
for (i=0;i<text.rows/2;i++)
if (templ->last!=root)
templ=templ->last;
for (i=0;i<text_rows;i++) {
for (i=0;i<text.rows;i++) {
if (cursor_row<0 && templ==cur_line) {
k=0;
for (j=0;j<cur_col;j++)
@@ -34,46 +34,44 @@ U0 EdLiteUpdate(CLine *root,CLine *cur_line,I64 cur_col,I64 line_start_col)
k2=(k+8)&~7;
else
k2=k+1;
if (line_start_col<=k<line_start_col+text_cols) {
if (line_start_col<=k<line_start_col+text.cols) {
'' ch;
j=k2-line_start_col;
}
k=k2;
}
if (j<text_cols)
NewLine;
if (j<text.cols)
'\n';
templ=templ->next;
} else {
if (!done_eof) {
"<EOF>";
done_eof=TRUE;
}
NewLine;
'\n';
}
}
sys_raw_col=text_cols*cursor_row+cursor_col-line_start_col;
text.raw_col=text.cols*cursor_row+cursor_col-line_start_col;
RawPutChar(0x7F);
}
U0 EdLite(U8 *filename,I64 num=1)
{
//Light weight text editor for debugging
{//Light weight text editor for debugging.
U8 *src,*src2,*src3,*dst,*buf,*bin_data=NULL;
I64 i,cnt=0,ch,sc,size,bin_size=0,line_start_col=0,cur_col=0,
old_raw_flags=sys_raw_flags;
old_raw_flags=text.raw_flags;
CLine root,*templ,*templ1,*cur_line;
Bool old_raw=Raw(ON),
old_debug=InDbg(ON),
old_single=SingleUser(ON);
if (!filename) filename=sys_temp_filename;
if (!filename) filename=dsk.temp_filename;
buf=FileRead(filename,&size);
PUSHFD
CLI
sys_raw_flags=sys_raw_flags&~RWF_SCROLL|RWF_SHOW_DOLLAR;
sys_cur_scan_code=0;
text.raw_flags=text.raw_flags&~RWF_SCROLL|RWF_SHOW_DOLLAR;
kbd.scan_code=0;
QueInit(&root);
root.line=StrNew("");
@@ -120,7 +118,7 @@ U0 EdLite(U8 *filename,I64 num=1)
cur_col=0;
while (cur_col-line_start_col<0)
line_start_col-=8;
while (cur_col-line_start_col>=text_cols)
while (cur_col-line_start_col>=text.cols)
line_start_col+=8;
EdLiteUpdate(&root,cur_line,cur_col,line_start_col);
switch (ch=GetKey(&sc,FALSE,TRUE)) {
@@ -161,7 +159,7 @@ U0 EdLite(U8 *filename,I64 num=1)
}
break;
case SC_PAGE_UP:
for (i=1;i<text_rows;i++) {
for (i=1;i<text.rows;i++) {
if (cur_line->last!=&root)
cur_line=cur_line->last;
if (cur_col>StrLen(cur_line->line))
@@ -169,7 +167,7 @@ U0 EdLite(U8 *filename,I64 num=1)
}
break;
case SC_PAGE_DOWN:
for (i=1;i<text_rows;i++) {
for (i=1;i<text.rows;i++) {
if (cur_line!=&root)
cur_line=cur_line->next;
if (cur_col>StrLen(cur_line->line))
@@ -180,7 +178,7 @@ U0 EdLite(U8 *filename,I64 num=1)
if (cur_col==StrLen(cur_line->line)) {
templ=cur_line->next;
if (cur_line!=&root && templ!=&root) {
src=MPrint("%s%s",cur_line->line,templ->line);
src=MStrPrint("%s%s",cur_line->line,templ->line);
Free(cur_line->line);
Free(templ->line);
cur_line->line=src;
@@ -207,7 +205,7 @@ U0 EdLite(U8 *filename,I64 num=1)
cur_col--;
} else if (cur_line!=&root && cur_line->last!=&root) {
templ=cur_line->last;
src=MPrint("%s%s",templ->line,cur_line->line);
src=MStrPrint("%s%s",templ->line,cur_line->line);
cur_col=StrLen(templ->line);
Free(cur_line->line);
Free(templ->line);
@@ -285,18 +283,18 @@ U0 EdLite(U8 *filename,I64 num=1)
Raw(old_raw);
InDbg(old_debug);
SingleUser(old_single);
sys_raw_flags=sys_raw_flags&~RWF_SHOW_DOLLAR|old_raw_flags&RWF_SHOW_DOLLAR;
text.raw_flags=text.raw_flags&~RWF_SHOW_DOLLAR|old_raw_flags&RWF_SHOW_DOLLAR;
POPFD
}
U0 ToFileLine(U8 *_fl_file_line,U8 **_filename,I64 *_linenum)
{
{//"FI:D:/Dir/File.CPP,123" to "D:/Dir/File.CPP" and 123.
U8 *st,*fl_file_line=StrNew(_fl_file_line);
I64 linenum;
StrFirstRem(fl_file_line,":");
st=StrNew(fl_file_line);
StrLastRem(fl_file_line,",",st);
linenum=A2I64(st);
linenum=Str2I64(st);
Free(st);
*_filename=fl_file_line;
*_linenum=linenum;
@@ -313,21 +311,21 @@ U0 EdLiteFileLine(U8 *fl_file_line)
U0 SetFix(U8 *filename,I64 line)
{//Compiler calls this to set file line for Fix
U8 *st=MPrint("FL:%s,%d",filename,line);
U8 *st=MStrPrint("FL:%s,%d",filename,line);
while (LBts(&sys_semas[SYS_SEMA_FIX],0))
Yield;
Free(sys_fix_file_line);
sys_fix_file_line=AStrNew(st);
Free(dbg.fix_file_line);
dbg.fix_file_line=AStrNew(st);
LBtr(&sys_semas[SYS_SEMA_FIX],0);
}
U0 Fix()
{//Fix last compile err
{//Jump to last err src code to fix it.
U8 *st;
while (LBts(&sys_semas[SYS_SEMA_FIX],0))
Yield;
st=StrNew(sys_fix_file_line);
st=StrNew(dbg.fix_file_line);
LBtr(&sys_semas[SYS_SEMA_FIX],0);
if (st) {