mirror of
https://github.com/Zeal-Operating-System/ZealOS.git
synced 2024-12-30 17:26:31 +00:00
dbf8647d59
Added top & right borders to RawDr. Improved spacing in some debug and compiler reporting. Fixed RawPutChar and EdLite tab width. Fixed Ui missing '0x' prefix syntax highlighter bug. Added 32BitPaint demo.
779 lines
86 KiB
HTML
Executable file
779 lines
86 KiB
HTML
Executable file
<!DOCTYPE HTML>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html;charset=US-ASCII">
|
|
<meta name="generator" content="ZealOS V0.08">
|
|
<style type="text/css">
|
|
body {background-color:#000000;}
|
|
.cF0{color:#ffffff;background-color:#000000;}
|
|
.cF1{color:#3465a4;background-color:#000000;}
|
|
.cF2{color:#4e9a06;background-color:#000000;}
|
|
.cF3{color:#06989a;background-color:#000000;}
|
|
.cF4{color:#a24444;background-color:#000000;}
|
|
.cF5{color:#75507b;background-color:#000000;}
|
|
.cF6{color:#ce982f;background-color:#000000;}
|
|
.cF7{color:#bcc0b9;background-color:#000000;}
|
|
.cF8{color:#555753;background-color:#000000;}
|
|
.cF9{color:#729fcf;background-color:#000000;}
|
|
.cFA{color:#82bc49;background-color:#000000;}
|
|
.cFB{color:#34e2e2;background-color:#000000;}
|
|
.cFC{color:#ac3535;background-color:#000000;}
|
|
.cFD{color:#ad7fa8;background-color:#000000;}
|
|
.cFE{color:#fce94f;background-color:#000000;}
|
|
.cFF{color:#000000;background-color:#000000;}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<pre style="font-family:monospace;font-size:12pt">
|
|
<a name="l1"></a><span class=cF0>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>"DolDoc/Misc"</span><span class=cF0>
|
|
<a name="l2"></a>
|
|
<a name="l3"></a></span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>EdReplaceTroubleOne</span><span class=cF0>(</span><span class=cF9>CDoc</span><span class=cF0> *doc, </span><span class=cF1>U8</span><span class=cF0> *st_original, </span><span class=cF1>U8</span><span class=cF0> *st_safe, </span><span class=cF9>I64</span><span class=cF0> num, </span><span class=cF1>Bool</span><span class=cF0> to_safe, </span><span class=cF1>Bool</span><span class=cF0> sel)
|
|
<a name="l4"></a>{
|
|
<a name="l5"></a> </span><span class=cF1>U8</span><span class=cF0> buf[</span><span class=cF3>STR_LEN</span><span class=cF0>];
|
|
<a name="l6"></a>
|
|
<a name="l7"></a> </span><span class=cF5>StrPrint</span><span class=cF0>(buf, st_safe,num);
|
|
<a name="l8"></a> </span><span class=cF1>if</span><span class=cF0> (to_safe)
|
|
<a name="l9"></a> </span><span class=cF5>EdReplace</span><span class=cF0>(doc, st_original, buf, sel);
|
|
<a name="l10"></a> </span><span class=cF1>else</span><span class=cF0>
|
|
<a name="l11"></a> </span><span class=cF5>EdReplace</span><span class=cF0>(doc, buf, st_original, sel);
|
|
<a name="l12"></a>}
|
|
<a name="l13"></a>
|
|
<a name="l14"></a></span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>EdReplaceTroubleAll</span><span class=cF0>(</span><span class=cF9>CDoc</span><span class=cF0> *doc,</span><span class=cF1>Bool</span><span class=cF0> to_safe,</span><span class=cF1>Bool</span><span class=cF0> sel)
|
|
<a name="l15"></a>{
|
|
<a name="l16"></a> </span><span class=cF9>I64</span><span class=cF0> i = </span><span class=cFE>0</span><span class=cF0>;
|
|
<a name="l17"></a>
|
|
<a name="l18"></a> </span><span class=cF5>EdReplaceTroubleOne</span><span class=cF0>(doc, </span><span class=cF6>"#assert"</span><span class=cF0> , </span><span class=cF6>"//<@%d@>"</span><span class=cF0>, i++, to_safe, sel);
|
|
<a name="l19"></a> </span><span class=cF5>EdReplaceTroubleOne</span><span class=cF0>(doc, </span><span class=cF6>"#define"</span><span class=cF0> , </span><span class=cF6>"//<@%d@>"</span><span class=cF0>, i++, to_safe, sel);
|
|
<a name="l20"></a> </span><span class=cF5>EdReplaceTroubleOne</span><span class=cF0>(doc, </span><span class=cF6>"#include"</span><span class=cF0>, </span><span class=cF6>"//<@%d@>"</span><span class=cF0>, i++, to_safe, sel);
|
|
<a name="l21"></a>
|
|
<a name="l22"></a></span><span class=cF2>//#if will match #if,#ifdef,#ifndef,#ifaot and #ifjit</span><span class=cF0>
|
|
<a name="l23"></a> </span><span class=cF5>EdReplaceTroubleOne</span><span class=cF0>(doc, </span><span class=cF6>"#if"</span><span class=cF0>, </span><span class=cF6>"//<@%d@>"</span><span class=cF0>, i++, to_safe, sel);
|
|
<a name="l24"></a> </span><span class=cF5>EdReplaceTroubleOne</span><span class=cF0>(doc, </span><span class=cF6>"#endif"</span><span class=cF0>, </span><span class=cF6>"//<@%d@>"</span><span class=cF0>, i++, to_safe, sel);
|
|
<a name="l25"></a>
|
|
<a name="l26"></a></span><span class=cF2>//Convert #exe to union because we want that indent pattern.</span><span class=cF0>
|
|
<a name="l27"></a> </span><span class=cF5>EdReplaceTroubleOne</span><span class=cF0>(doc, </span><span class=cF6>"#exe"</span><span class=cF0>, </span><span class=cF6>"union @%d@"</span><span class=cF0>, i++, to_safe, sel);
|
|
<a name="l28"></a> </span><span class=cF5>EdReplaceTroubleOne</span><span class=cF0>(doc, </span><span class=cF6>"'{'"</span><span class=cF0>, </span><span class=cF6>"'<@%d@>'"</span><span class=cF0>, i++, to_safe, sel);
|
|
<a name="l29"></a> </span><span class=cF5>EdReplaceTroubleOne</span><span class=cF0>(doc, </span><span class=cF6>"'}'"</span><span class=cF0>, </span><span class=cF6>"'<@%d@>'"</span><span class=cF0>, i++, to_safe, sel);
|
|
<a name="l30"></a>}
|
|
<a name="l31"></a>
|
|
<a name="l32"></a>#</span><span class=cF1>define</span><span class=cF0> </span><span class=cF3>C_INDENT_SPACES</span><span class=cF0> </span><span class=cFE>2</span><span class=cF0>
|
|
<a name="l33"></a>#</span><span class=cF1>define</span><span class=cF0> </span><span class=cF3>ASM_RENUM_SPACING</span><span class=cF0> </span><span class=cFE>5</span><span class=cF0>
|
|
<a name="l34"></a>
|
|
<a name="l35"></a>#</span><span class=cF1>define</span><span class=cF0> </span><span class=cF3>EF_REINDENT</span><span class=cF0> </span><span class=cFE>0</span><span class=cF0>
|
|
<a name="l36"></a>#</span><span class=cF1>define</span><span class=cF0> </span><span class=cF3>EF_CMP_CHK</span><span class=cF0> </span><span class=cFE>1</span><span class=cF0>
|
|
<a name="l37"></a>#</span><span class=cF1>define</span><span class=cF0> </span><span class=cF3>EF_RENUM_ASM</span><span class=cF0> </span><span class=cFE>2</span><span class=cF0>
|
|
<a name="l38"></a>#</span><span class=cF1>define</span><span class=cF0> </span><span class=cF3>EF_CTRL_SLIDER</span><span class=cF0> </span><span class=cFE>3</span><span class=cF0>
|
|
<a name="l39"></a>#</span><span class=cF1>define</span><span class=cF0> </span><span class=cF3>EF_CH_SC</span><span class=cF0> </span><span class=cFE>4</span><span class=cF0>
|
|
<a name="l40"></a>
|
|
<a name="l41"></a></span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>PopUpEdFormat</span><span class=cF0>()
|
|
<a name="l42"></a>{
|
|
<a name="l43"></a> </span><span class=cF9>I64</span><span class=cF0> i;
|
|
<a name="l44"></a> </span><span class=cF9>CDoc</span><span class=cF0> *doc = </span><span class=cF5>DocNew</span><span class=cF0>;
|
|
<a name="l45"></a>
|
|
<a name="l46"></a> </span><span class=cF5>DocPrint</span><span class=cF0>(doc, </span><span class=cF6>"$LTBLUE$$MU,\"Compile Check\",LE=EF_CMP_CHK$\n"</span><span class=cF0>
|
|
<a name="l47"></a> </span><span class=cF6>"$MU,\"Reindent CosmiC Fun (Beware braces in strings.)\","</span><span class=cF0>
|
|
<a name="l48"></a> </span><span class=cF6>"LE=EF_REINDENT$\n"</span><span class=cF0>
|
|
<a name="l49"></a> </span><span class=cF6>"$MU,\"Renum Asm Local @@ Labels for Fun\",LE=EF_RENUM_ASM$\n"</span><span class=cF0>
|
|
<a name="l50"></a> </span><span class=cF6>"$MU,\"Insert Template Code: Ctrl Slider\",LE=EF_CTRL_SLIDER$\n"</span><span class=cF0>
|
|
<a name="l51"></a> </span><span class=cF6>"$MU,\"Insert ASCII/Scan Code Hex Codes for key pressed\","</span><span class=cF0>
|
|
<a name="l52"></a> </span><span class=cF6>"LE=EF_CH_SC$\n\n"</span><span class=cF0>
|
|
<a name="l53"></a> </span><span class=cF6>"$MU,\"CANCEL\",LE=DOCM_CANCEL$\n\n"</span><span class=cF0>
|
|
<a name="l54"></a> </span><span class=cF6>"$GREEN$<ALT-BACKSPACE>$FG$ to undo if not happy\n"</span><span class=cF0>
|
|
<a name="l55"></a> </span><span class=cF6>"with the ress.\n"</span><span class=cF0>);
|
|
<a name="l56"></a> i = </span><span class=cF5>PopUpMenu</span><span class=cF0>(doc);
|
|
<a name="l57"></a> </span><span class=cF5>DocDel</span><span class=cF0>(doc);
|
|
<a name="l58"></a>
|
|
<a name="l59"></a> </span><span class=cF1>return</span><span class=cF0> i;
|
|
<a name="l60"></a>}
|
|
<a name="l61"></a>
|
|
<a name="l62"></a></span><span class=cF1>class</span><span class=cF0> </span><span class=cF9>CRILex</span><span class=cF0>
|
|
<a name="l63"></a>{
|
|
<a name="l64"></a> </span><span class=cF9>CCompCtrl</span><span class=cF0> *cc1, *cc2;
|
|
<a name="l65"></a> </span><span class=cF9>CQueueVectU8</span><span class=cF0> *indent;
|
|
<a name="l66"></a> </span><span class=cF9>I64</span><span class=cF0> depth, exp_depth, one_shot;
|
|
<a name="l67"></a> </span><span class=cF1>Bool</span><span class=cF0> was_new_line, is_not_cont;
|
|
<a name="l68"></a>};
|
|
<a name="l69"></a>
|
|
<a name="l70"></a></span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>EdRILex</span><span class=cF0>(</span><span class=cF9>CRILex</span><span class=cF0> *rx)
|
|
<a name="l71"></a>{
|
|
<a name="l72"></a> rx->is_not_cont = </span><span class=cF3>FALSE</span><span class=cF0>;
|
|
<a name="l73"></a>
|
|
<a name="l74"></a> </span><span class=cF9>I64</span><span class=cF0> i;
|
|
<a name="l75"></a> </span><span class=cF9>CLexFile</span><span class=cF0> *tmpf;
|
|
<a name="l76"></a>
|
|
<a name="l77"></a> </span><span class=cF1>do</span><span class=cF0>
|
|
<a name="l78"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l79"></a> </span><span class=cF5>Lex</span><span class=cF0>(rx->cc1);
|
|
<a name="l80"></a> </span><span class=cF5>Lex</span><span class=cF0>(rx->cc2);
|
|
<a name="l81"></a> i = </span><span class=cF5>ParseKeyWord</span><span class=cF0>(rx->cc2);
|
|
<a name="l82"></a> </span><span class=cF1>if</span><span class=cF0> ( rx->cc1->token == </span><span class=cF6>'\n'</span><span class=cF0> && rx->cc2->token == </span><span class=cF6>';'</span><span class=cF0> ||
|
|
<a name="l83"></a> rx->cc2->token == </span><span class=cF6>'{'</span><span class=cF0> || rx->cc2->token == </span><span class=cF6>'}'</span><span class=cF0> || rx->cc2->token == </span><span class=cF6>':'</span><span class=cF0> || rx->cc2->token == </span><span class=cF6>')'</span><span class=cF0> &&
|
|
<a name="l84"></a> !rx->exp_depth || i == </span><span class=cF3>KW_ELSE</span><span class=cF0> || i == </span><span class=cF3>KW_CATCH</span><span class=cF0> || i == </span><span class=cF3>KW_DO</span><span class=cF0>)
|
|
<a name="l85"></a> rx->is_not_cont = </span><span class=cF3>TRUE</span><span class=cF0>;
|
|
<a name="l86"></a> </span><span class=cF1>if</span><span class=cF0> (rx->was_new_line && </span><span class=cF7>(</span><span class=cF0>rx->cc1->token != </span><span class=cF6>':'</span><span class=cF0> || i == </span><span class=cF3>KW_CASE</span><span class=cF0> || i == </span><span class=cF3>KW_DEFAULT</span><span class=cF0> || i == </span><span class=cF3>KW_START</span><span class=cF0> || i == </span><span class=cF3>KW_END</span><span class=cF7>)</span><span class=cF0>)
|
|
<a name="l87"></a> {
|
|
<a name="l88"></a> tmpf = rx->cc2->lex_include_stack;
|
|
<a name="l89"></a> </span><span class=cF1>while</span><span class=cF0> (tmpf->next)
|
|
<a name="l90"></a> tmpf = tmpf->next;
|
|
<a name="l91"></a> </span><span class=cF5>QueueVectU8Put</span><span class=cF0>(rx->indent, tmpf->cur_entry->y, rx->depth + rx->one_shot);
|
|
<a name="l92"></a> rx->one_shot = </span><span class=cFE>0</span><span class=cF0>;
|
|
<a name="l93"></a> }
|
|
<a name="l94"></a> </span><span class=cF1>if</span><span class=cF0> (rx->cc2->token == </span><span class=cF6>'\n'</span><span class=cF0>)
|
|
<a name="l95"></a> rx->was_new_line = </span><span class=cF3>TRUE</span><span class=cF0>;
|
|
<a name="l96"></a> </span><span class=cF1>else</span><span class=cF0>
|
|
<a name="l97"></a> rx->was_new_line = </span><span class=cF3>FALSE</span><span class=cF0>;
|
|
<a name="l98"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l99"></a> </span><span class=cF1>while</span><span class=cF0> (rx->cc1->token == </span><span class=cF6>'\n'</span><span class=cF0>);
|
|
<a name="l100"></a>
|
|
<a name="l101"></a> </span><span class=cF1>return</span><span class=cF0> rx->cc1->token;
|
|
<a name="l102"></a>}
|
|
<a name="l103"></a>
|
|
<a name="l104"></a></span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>EdRIExp</span><span class=cF0>(</span><span class=cF9>CRILex</span><span class=cF0> *rx)
|
|
<a name="l105"></a>{
|
|
<a name="l106"></a> </span><span class=cF1>if</span><span class=cF0> (rx->cc1->token == </span><span class=cF6>'('</span><span class=cF0>)
|
|
<a name="l107"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l108"></a> </span><span class=cF1>if</span><span class=cF0> (!rx->exp_depth++)
|
|
<a name="l109"></a> rx->depth += </span><span class=cFE>3</span><span class=cF0>;
|
|
<a name="l110"></a> </span><span class=cF5>EdRILex</span><span class=cF0>(rx);
|
|
<a name="l111"></a> </span><span class=cF1>while</span><span class=cF0> (rx->cc1->token && rx->cc1->token != </span><span class=cF6>')'</span><span class=cF0>)
|
|
<a name="l112"></a> </span><span class=cF5>EdRIExp</span><span class=cF0>(rx);
|
|
<a name="l113"></a> </span><span class=cF1>if</span><span class=cF0> (!--rx->exp_depth)
|
|
<a name="l114"></a> {
|
|
<a name="l115"></a> rx->depth -= </span><span class=cFE>3</span><span class=cF0>;
|
|
<a name="l116"></a> </span><span class=cF1>if</span><span class=cF0> (rx->depth < </span><span class=cFE>0</span><span class=cF0>)
|
|
<a name="l117"></a> rx->depth = </span><span class=cFE>0</span><span class=cF0>;
|
|
<a name="l118"></a> }
|
|
<a name="l119"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l120"></a> </span><span class=cF1>else</span><span class=cF0> </span><span class=cF1>if</span><span class=cF0> (rx->cc1->token == </span><span class=cF6>'['</span><span class=cF0>)
|
|
<a name="l121"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l122"></a> </span><span class=cF1>if</span><span class=cF0> (!rx->exp_depth++)
|
|
<a name="l123"></a> rx->depth += </span><span class=cFE>3</span><span class=cF0>;
|
|
<a name="l124"></a> </span><span class=cF5>EdRILex</span><span class=cF0>(rx);
|
|
<a name="l125"></a> </span><span class=cF1>while</span><span class=cF0> (rx->cc1->token && rx->cc1->token != </span><span class=cF6>']'</span><span class=cF0>)
|
|
<a name="l126"></a> </span><span class=cF5>EdRIExp</span><span class=cF0>(rx);
|
|
<a name="l127"></a> </span><span class=cF1>if</span><span class=cF0> (!--rx->exp_depth)
|
|
<a name="l128"></a> {
|
|
<a name="l129"></a> rx->depth -= </span><span class=cFE>3</span><span class=cF0>;
|
|
<a name="l130"></a> </span><span class=cF1>if</span><span class=cF0> (rx->depth < </span><span class=cFE>0</span><span class=cF0>)
|
|
<a name="l131"></a> rx->depth = </span><span class=cFE>0</span><span class=cF0>;
|
|
<a name="l132"></a> }
|
|
<a name="l133"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l134"></a> </span><span class=cF5>EdRILex</span><span class=cF0>(rx);
|
|
<a name="l135"></a>}
|
|
<a name="l136"></a>
|
|
<a name="l137"></a></span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>EdRIStatement</span><span class=cF0>(</span><span class=cF9>CRILex</span><span class=cF0> *rx, </span><span class=cF1>Bool</span><span class=cF0> indent)
|
|
<a name="l138"></a>{
|
|
<a name="l139"></a> </span><span class=cF9>I64</span><span class=cF0> i;
|
|
<a name="l140"></a> </span><span class=cF1>Bool</span><span class=cF0> cont;
|
|
<a name="l141"></a>
|
|
<a name="l142"></a> </span><span class=cF1>if</span><span class=cF0> (rx->cc1->token == </span><span class=cF6>'{'</span><span class=cF0>)
|
|
<a name="l143"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l144"></a> rx->depth++;
|
|
<a name="l145"></a> </span><span class=cF5>EdRILex</span><span class=cF0>(rx);
|
|
<a name="l146"></a> </span><span class=cF1>while</span><span class=cF0> (rx->cc1->token && rx->cc1->token != </span><span class=cF6>'}'</span><span class=cF0>)
|
|
<a name="l147"></a> </span><span class=cF5>EdRIStatement</span><span class=cF0>(rx, </span><span class=cF3>FALSE</span><span class=cF0>);
|
|
<a name="l148"></a> </span><span class=cF1>if</span><span class=cF0> (--rx->depth < </span><span class=cFE>0</span><span class=cF0>)
|
|
<a name="l149"></a> rx->depth = </span><span class=cFE>0</span><span class=cF0>;
|
|
<a name="l150"></a> </span><span class=cF5>EdRILex</span><span class=cF0>(rx);
|
|
<a name="l151"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l152"></a> </span><span class=cF1>else</span><span class=cF0>
|
|
<a name="l153"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l154"></a> </span><span class=cF1>if</span><span class=cF0> (indent)
|
|
<a name="l155"></a> rx->depth++;
|
|
<a name="l156"></a> </span><span class=cF1>do</span><span class=cF0>
|
|
<a name="l157"></a> {
|
|
<a name="l158"></a> cont = </span><span class=cF3>FALSE</span><span class=cF0>;
|
|
<a name="l159"></a> </span><span class=cF1>switch</span><span class=cF0> (</span><span class=cF5>ParseKeyWord</span><span class=cF7>(</span><span class=cF0>rx->cc1</span><span class=cF7>)</span><span class=cF0>)
|
|
<a name="l160"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l161"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cF3>KW_IF</span><span class=cF0>:
|
|
<a name="l162"></a> </span><span class=cF5>EdRILex</span><span class=cF0>(rx);
|
|
<a name="l163"></a> </span><span class=cF5>EdRIExp</span><span class=cF0>(rx);
|
|
<a name="l164"></a> </span><span class=cF5>EdRIStatement</span><span class=cF0>(rx, </span><span class=cF3>TRUE</span><span class=cF0>);
|
|
<a name="l165"></a> </span><span class=cF1>if</span><span class=cF0> (</span><span class=cF5>ParseKeyWord</span><span class=cF7>(</span><span class=cF0>rx->cc1</span><span class=cF7>)</span><span class=cF0> == </span><span class=cF3>KW_ELSE</span><span class=cF0>)
|
|
<a name="l166"></a> {
|
|
<a name="l167"></a> </span><span class=cF5>EdRILex</span><span class=cF0>(rx);
|
|
<a name="l168"></a> </span><span class=cF1>if</span><span class=cF0> (</span><span class=cF5>ParseKeyWord</span><span class=cF7>(</span><span class=cF0>rx->cc1</span><span class=cF7>)</span><span class=cF0> == </span><span class=cF3>KW_IF</span><span class=cF0> && rx->cc2->token != </span><span class=cF6>'\n'</span><span class=cF0>)
|
|
<a name="l169"></a> </span><span class=cF5>EdRIStatement</span><span class=cF0>(rx, </span><span class=cF3>FALSE</span><span class=cF0>);
|
|
<a name="l170"></a> </span><span class=cF1>else</span><span class=cF0>
|
|
<a name="l171"></a> </span><span class=cF5>EdRIStatement</span><span class=cF0>(rx, </span><span class=cF3>TRUE</span><span class=cF0>);
|
|
<a name="l172"></a> }
|
|
<a name="l173"></a> </span><span class=cF1>break</span><span class=cF0>;
|
|
<a name="l174"></a>
|
|
<a name="l175"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cF3>KW_TRY</span><span class=cF0>:
|
|
<a name="l176"></a> </span><span class=cF5>EdRILex</span><span class=cF0>(rx);
|
|
<a name="l177"></a> </span><span class=cF5>EdRIStatement</span><span class=cF0>(rx, </span><span class=cF3>TRUE</span><span class=cF0>);
|
|
<a name="l178"></a> </span><span class=cF1>if</span><span class=cF0> (</span><span class=cF5>ParseKeyWord</span><span class=cF7>(</span><span class=cF0>rx->cc1</span><span class=cF7>)</span><span class=cF0> == </span><span class=cF3>KW_CATCH</span><span class=cF0>)
|
|
<a name="l179"></a> {
|
|
<a name="l180"></a> </span><span class=cF5>EdRILex</span><span class=cF0>(rx);
|
|
<a name="l181"></a> </span><span class=cF5>EdRIStatement</span><span class=cF0>(rx, </span><span class=cF3>TRUE</span><span class=cF0>);
|
|
<a name="l182"></a> }
|
|
<a name="l183"></a> </span><span class=cF1>break</span><span class=cF0>;
|
|
<a name="l184"></a>
|
|
<a name="l185"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cF3>KW_LOCK</span><span class=cF0>:
|
|
<a name="l186"></a> </span><span class=cF5>EdRILex</span><span class=cF0>(rx);
|
|
<a name="l187"></a> </span><span class=cF5>EdRIStatement</span><span class=cF0>(rx, </span><span class=cF3>TRUE</span><span class=cF0>);
|
|
<a name="l188"></a> </span><span class=cF1>break</span><span class=cF0>;
|
|
<a name="l189"></a>
|
|
<a name="l190"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cF3>KW_FOR</span><span class=cF0>:
|
|
<a name="l191"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cF3>KW_WHILE</span><span class=cF0>:
|
|
<a name="l192"></a> </span><span class=cF5>EdRILex</span><span class=cF0>(rx);
|
|
<a name="l193"></a> </span><span class=cF5>EdRIExp</span><span class=cF0>(rx);
|
|
<a name="l194"></a> </span><span class=cF5>EdRIStatement</span><span class=cF0>(rx, </span><span class=cF3>TRUE</span><span class=cF0>);
|
|
<a name="l195"></a> </span><span class=cF1>break</span><span class=cF0>;
|
|
<a name="l196"></a>
|
|
<a name="l197"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cF3>KW_ASM</span><span class=cF0>:
|
|
<a name="l198"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cF3>KW_CLASS</span><span class=cF0>:
|
|
<a name="l199"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cF3>KW_UNION</span><span class=cF0>:
|
|
<a name="l200"></a> </span><span class=cF1>if</span><span class=cF0> (</span><span class=cF5>EdRILex</span><span class=cF7>(</span><span class=cF0>rx</span><span class=cF7>)</span><span class=cF0> == </span><span class=cF3>TK_IDENT</span><span class=cF0>)
|
|
<a name="l201"></a> </span><span class=cF5>EdRILex</span><span class=cF0>(rx);
|
|
<a name="l202"></a> </span><span class=cF5>EdRIStatement</span><span class=cF0>(rx, </span><span class=cF3>TRUE</span><span class=cF0>);
|
|
<a name="l203"></a> </span><span class=cF1>break</span><span class=cF0>;
|
|
<a name="l204"></a>
|
|
<a name="l205"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cF3>KW_DO</span><span class=cF0>:
|
|
<a name="l206"></a> </span><span class=cF5>EdRILex</span><span class=cF0>(rx);
|
|
<a name="l207"></a> </span><span class=cF5>EdRIStatement</span><span class=cF0>(rx, </span><span class=cF3>TRUE</span><span class=cF0>);
|
|
<a name="l208"></a> </span><span class=cF1>if</span><span class=cF0> (</span><span class=cF5>ParseKeyWord</span><span class=cF7>(</span><span class=cF0>rx->cc1</span><span class=cF7>)</span><span class=cF0> == </span><span class=cF3>KW_WHILE</span><span class=cF0>)
|
|
<a name="l209"></a> {
|
|
<a name="l210"></a> </span><span class=cF5>EdRILex</span><span class=cF0>(rx);
|
|
<a name="l211"></a> </span><span class=cF5>EdRIExp</span><span class=cF0>(rx);
|
|
<a name="l212"></a> }
|
|
<a name="l213"></a> </span><span class=cF1>if</span><span class=cF0> (rx->cc1->token == </span><span class=cF6>';'</span><span class=cF0>)
|
|
<a name="l214"></a> </span><span class=cF5>EdRILex</span><span class=cF0>(rx);
|
|
<a name="l215"></a> </span><span class=cF1>break</span><span class=cF0>;
|
|
<a name="l216"></a>
|
|
<a name="l217"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cF3>KW_SWITCH</span><span class=cF0>:
|
|
<a name="l218"></a> </span><span class=cF5>EdRILex</span><span class=cF0>(rx);
|
|
<a name="l219"></a> </span><span class=cF5>EdRIExp</span><span class=cF0>(rx);
|
|
<a name="l220"></a> </span><span class=cF1>if</span><span class=cF0> (rx->cc1->token == </span><span class=cF6>'{'</span><span class=cF0>)
|
|
<a name="l221"></a> {
|
|
<a name="l222"></a> rx->depth++;
|
|
<a name="l223"></a> </span><span class=cF5>EdRILex</span><span class=cF0>(rx);
|
|
<a name="l224"></a> i = </span><span class=cFE>0</span><span class=cF0>;
|
|
<a name="l225"></a> </span><span class=cF1>while</span><span class=cF0> (rx->cc1->token && rx->cc1->token != </span><span class=cF6>'}'</span><span class=cF0>)
|
|
<a name="l226"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l227"></a> </span><span class=cF1>switch</span><span class=cF0> (</span><span class=cF5>ParseKeyWord</span><span class=cF7>(</span><span class=cF0>rx->cc1</span><span class=cF7>)</span><span class=cF0>) {
|
|
<a name="l228"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cF3>KW_START</span><span class=cF0>:
|
|
<a name="l229"></a> rx->depth += i;
|
|
<a name="l230"></a> i = </span><span class=cFE>0</span><span class=cF0>;
|
|
<a name="l231"></a> </span><span class=cF1>while</span><span class=cF0> (</span><span class=cF5>EdRILex</span><span class=cF7>(</span><span class=cF0>rx</span><span class=cF7>)</span><span class=cF0> && rx->cc1->token != </span><span class=cF6>':'</span><span class=cF0>);
|
|
<a name="l232"></a> </span><span class=cF5>EdRILex</span><span class=cF0>(rx);
|
|
<a name="l233"></a> i++;
|
|
<a name="l234"></a> </span><span class=cF1>break</span><span class=cF0>;
|
|
<a name="l235"></a>
|
|
<a name="l236"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cF3>KW_END</span><span class=cF0>:
|
|
<a name="l237"></a> rx->depth += i;
|
|
<a name="l238"></a> i = </span><span class=cFE>0</span><span class=cF0>;
|
|
<a name="l239"></a> </span><span class=cF1>if</span><span class=cF0> (--rx->depth < </span><span class=cFE>0</span><span class=cF0>)
|
|
<a name="l240"></a> rx->depth = </span><span class=cFE>0</span><span class=cF0>;
|
|
<a name="l241"></a> </span><span class=cF1>while</span><span class=cF0> (</span><span class=cF5>EdRILex</span><span class=cF7>(</span><span class=cF0>rx</span><span class=cF7>)</span><span class=cF0> && rx->cc1->token != </span><span class=cF6>':'</span><span class=cF0>);
|
|
<a name="l242"></a> </span><span class=cF5>EdRILex</span><span class=cF0>(rx);
|
|
<a name="l243"></a> </span><span class=cF1>break</span><span class=cF0>;
|
|
<a name="l244"></a>
|
|
<a name="l245"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cF3>KW_CASE</span><span class=cF0>:
|
|
<a name="l246"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cF3>KW_DEFAULT</span><span class=cF0>:
|
|
<a name="l247"></a> rx->depth += i;
|
|
<a name="l248"></a> i = </span><span class=cFE>0</span><span class=cF0>;
|
|
<a name="l249"></a> </span><span class=cF1>while</span><span class=cF0> (</span><span class=cF5>EdRILex</span><span class=cF7>(</span><span class=cF0>rx</span><span class=cF7>)</span><span class=cF0> && rx->cc1->token != </span><span class=cF6>':'</span><span class=cF0>);
|
|
<a name="l250"></a> </span><span class=cF5>EdRILex</span><span class=cF0>(rx);
|
|
<a name="l251"></a> </span><span class=cF1>break</span><span class=cF0>;
|
|
<a name="l252"></a>
|
|
<a name="l253"></a> </span><span class=cF1>default</span><span class=cF0>:
|
|
<a name="l254"></a> </span><span class=cF1>if</span><span class=cF0> (rx->cc1->token)
|
|
<a name="l255"></a> </span><span class=cF5>EdRIStatement</span><span class=cF0>(rx, </span><span class=cF3>TRUE</span><span class=cF0>);
|
|
<a name="l256"></a> }
|
|
<a name="l257"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l258"></a> </span><span class=cF1>if</span><span class=cF0> (--rx->depth < </span><span class=cFE>0</span><span class=cF0>)
|
|
<a name="l259"></a> rx->depth = </span><span class=cFE>0</span><span class=cF0>;
|
|
<a name="l260"></a> </span><span class=cF5>EdRILex</span><span class=cF0>(rx);
|
|
<a name="l261"></a> }
|
|
<a name="l262"></a> </span><span class=cF1>break</span><span class=cF0>;
|
|
<a name="l263"></a>
|
|
<a name="l264"></a> </span><span class=cF1>default</span><span class=cF0>:
|
|
<a name="l265"></a> </span><span class=cF1>if</span><span class=cF0> (rx->cc1->token == </span><span class=cF3>TK_IDENT</span><span class=cF0> &&
|
|
<a name="l266"></a> rx->cc1->hash_entry && rx->cc1->hash_entry->type & </span><span class=cF7>(</span><span class=cF3>HTT_OPCODE</span><span class=cF0> | </span><span class=cF3>HTT_ASM_KEYWORD</span><span class=cF7>)</span><span class=cF0>)
|
|
<a name="l267"></a> {
|
|
<a name="l268"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>rx->one_shot=4-rx->depth;</span><span class=cF0>
|
|
<a name="l269"></a> </span><span class=cF1>do</span><span class=cF0> </span><span class=cF5>EdRILex</span><span class=cF0>(rx);
|
|
<a name="l270"></a> </span><span class=cF1>while</span><span class=cF0> (rx->cc2->token && rx->cc2->token != </span><span class=cF6>'\n'</span><span class=cF0>);
|
|
<a name="l271"></a> rx->is_not_cont = </span><span class=cF3>TRUE</span><span class=cF0>;
|
|
<a name="l272"></a> }
|
|
<a name="l273"></a> </span><span class=cF1>else</span><span class=cF0>
|
|
<a name="l274"></a> {
|
|
<a name="l275"></a> </span><span class=cF1>while</span><span class=cF0> (rx->cc1->token && rx->cc1->token != </span><span class=cF6>';'</span><span class=cF0> && rx->cc1->token != </span><span class=cF6>':'</span><span class=cF0>)
|
|
<a name="l276"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l277"></a> </span><span class=cF1>if</span><span class=cF0> (rx->cc2->token == </span><span class=cF6>'\n'</span><span class=cF0> && !rx->is_not_cont)
|
|
<a name="l278"></a> rx->one_shot = </span><span class=cFE>3</span><span class=cF0>;
|
|
<a name="l279"></a> </span><span class=cF5>EdRILex</span><span class=cF0>(rx);
|
|
<a name="l280"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l281"></a> </span><span class=cF1>if</span><span class=cF0> (rx->cc1->token == </span><span class=cF6>':'</span><span class=cF0>)
|
|
<a name="l282"></a> cont = </span><span class=cF3>TRUE</span><span class=cF0>;
|
|
<a name="l283"></a> </span><span class=cF5>EdRILex</span><span class=cF0>(rx);
|
|
<a name="l284"></a> }
|
|
<a name="l285"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l286"></a> }
|
|
<a name="l287"></a> </span><span class=cF1>while</span><span class=cF0> (cont && rx->cc1->token != </span><span class=cF6>'}'</span><span class=cF0>);
|
|
<a name="l288"></a>
|
|
<a name="l289"></a> </span><span class=cF1>if</span><span class=cF0> (indent && --rx->depth < </span><span class=cFE>0</span><span class=cF0>)
|
|
<a name="l290"></a> rx->depth = </span><span class=cFE>0</span><span class=cF0>;
|
|
<a name="l291"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l292"></a>}
|
|
<a name="l293"></a>
|
|
<a name="l294"></a></span><span class=cF9>CQueueVectU8</span><span class=cF0> *</span><span class=cF5>EdRICode</span><span class=cF0>(</span><span class=cF9>CDoc</span><span class=cF0> *doc)
|
|
<a name="l295"></a>{
|
|
<a name="l296"></a> </span><span class=cF9>CQueueVectU8</span><span class=cF0> *res;
|
|
<a name="l297"></a> </span><span class=cF9>CRILex</span><span class=cF0> *rx = </span><span class=cF5>CAlloc</span><span class=cF0>(</span><span class=cF1>sizeof</span><span class=cF7>(</span><span class=cF9>CRILex</span><span class=cF7>)</span><span class=cF0>);
|
|
<a name="l298"></a>
|
|
<a name="l299"></a> rx->cc1 = </span><span class=cF5>CompCtrlNew</span><span class=cF0>(, </span><span class=cF3>CCF_KEEP_NEW_LINES</span><span class=cF0> | </span><span class=cF3>CCF_DONT_FREE_BUF</span><span class=cF0>, doc->filename.name);
|
|
<a name="l300"></a> </span><span class=cF5>Free</span><span class=cF0>(rx->cc1->lex_include_stack->full_name);
|
|
<a name="l301"></a> </span><span class=cF5>LexAttachDoc</span><span class=cF0>(rx->cc1, rx->cc1->lex_include_stack, doc,, doc->cur_entry, doc->cur_col);
|
|
<a name="l302"></a>
|
|
<a name="l303"></a> rx->cc2 = </span><span class=cF5>CompCtrlNew</span><span class=cF0>(, </span><span class=cF3>CCF_KEEP_NEW_LINES</span><span class=cF0> | </span><span class=cF3>CCF_DONT_FREE_BUF</span><span class=cF0>, doc->filename.name);
|
|
<a name="l304"></a> </span><span class=cF5>Free</span><span class=cF0>(rx->cc2->lex_include_stack->full_name);
|
|
<a name="l305"></a> </span><span class=cF5>LexAttachDoc</span><span class=cF0>(rx->cc2, rx->cc2->lex_include_stack, doc,, doc->cur_entry, doc->cur_col);
|
|
<a name="l306"></a>
|
|
<a name="l307"></a> rx->indent = </span><span class=cF5>QueueVectU8New</span><span class=cF0>(doc->cur_entry->y);
|
|
<a name="l308"></a>
|
|
<a name="l309"></a> </span><span class=cF5>Lex</span><span class=cF0>(rx->cc1);
|
|
<a name="l310"></a> </span><span class=cF5>EdRIStatement</span><span class=cF0>(rx, </span><span class=cF3>FALSE</span><span class=cF0>);
|
|
<a name="l311"></a>
|
|
<a name="l312"></a> </span><span class=cF5>CompCtrlDel</span><span class=cF0>(rx->cc1);
|
|
<a name="l313"></a> </span><span class=cF5>CompCtrlDel</span><span class=cF0>(rx->cc2);
|
|
<a name="l314"></a> res = rx->indent;
|
|
<a name="l315"></a> </span><span class=cF5>Free</span><span class=cF0>(rx);
|
|
<a name="l316"></a>
|
|
<a name="l317"></a> </span><span class=cF1>return</span><span class=cF0> res;
|
|
<a name="l318"></a>}
|
|
<a name="l319"></a>
|
|
<a name="l320"></a></span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>EdRemFunLeadingSpace</span><span class=cF0>(</span><span class=cF9>CDoc</span><span class=cF0> *doc)
|
|
<a name="l321"></a>{
|
|
<a name="l322"></a> </span><span class=cF1>Bool</span><span class=cF0> unlock = </span><span class=cF5>DocLock</span><span class=cF0>(doc), start_of_line = </span><span class=cF3>TRUE</span><span class=cF0>;
|
|
<a name="l323"></a> </span><span class=cF1>U8</span><span class=cF0> *ptr;
|
|
<a name="l324"></a> </span><span class=cF9>I64</span><span class=cF0> ch, levels = </span><span class=cFE>1</span><span class=cF0>;
|
|
<a name="l325"></a> </span><span class=cF9>CDocEntry</span><span class=cF0> *doc_e, *doc_e2;
|
|
<a name="l326"></a>
|
|
<a name="l327"></a> </span><span class=cF5>EdGoToFun</span><span class=cF0>(doc, </span><span class=cF3>FALSE</span><span class=cF0>, </span><span class=cF3>FALSE</span><span class=cF0>);
|
|
<a name="l328"></a> doc_e = doc->cur_entry->next;
|
|
<a name="l329"></a> </span><span class=cF1>do</span><span class=cF0>
|
|
<a name="l330"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l331"></a> doc_e2 = doc_e->next;
|
|
<a name="l332"></a> </span><span class=cF1>if</span><span class=cF0> (doc_e != doc && doc_e != doc->cur_entry && !</span><span class=cF7>(</span><span class=cF0>doc_e->de_flags & (</span><span class=cF3>DOCEG_DONT_EDIT</span><span class=cF0> - </span><span class=cF3>DOCEF_SCROLLING_X</span><span class=cF0>)</span><span class=cF7>)</span><span class=cF0>)
|
|
<a name="l333"></a> </span><span class=cF1>switch</span><span class=cF0> (doc_e->type_u8)
|
|
<a name="l334"></a> {
|
|
<a name="l335"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cF3>DOCT_TEXT</span><span class=cF0>:
|
|
<a name="l336"></a> ptr = doc_e->tag;
|
|
<a name="l337"></a> </span><span class=cF1>if</span><span class=cF0> (start_of_line)
|
|
<a name="l338"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l339"></a> </span><span class=cF1>while</span><span class=cF0> (*ptr == </span><span class=cF3>CH_SPACE</span><span class=cF0>)
|
|
<a name="l340"></a> ptr++;
|
|
<a name="l341"></a> </span><span class=cF1>if</span><span class=cF0> (*ptr)
|
|
<a name="l342"></a> start_of_line = </span><span class=cF3>FALSE</span><span class=cF0>;
|
|
<a name="l343"></a> ptr = </span><span class=cF5>StrNew</span><span class=cF0>(ptr, doc->mem_task);
|
|
<a name="l344"></a> </span><span class=cF5>Free</span><span class=cF0>(doc_e->tag);
|
|
<a name="l345"></a> doc_e->tag = ptr;
|
|
<a name="l346"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l347"></a> </span><span class=cF1>if</span><span class=cF0> (!*ptr)
|
|
<a name="l348"></a> </span><span class=cF5>DocEntryDel</span><span class=cF0>(doc, doc_e);
|
|
<a name="l349"></a> </span><span class=cF1>else</span><span class=cF0>
|
|
<a name="l350"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l351"></a> </span><span class=cF1>while</span><span class=cF0> (ch = *ptr++)
|
|
<a name="l352"></a> </span><span class=cF1>if</span><span class=cF0> (ch == </span><span class=cF6>'{'</span><span class=cF0>)
|
|
<a name="l353"></a> levels++;
|
|
<a name="l354"></a> </span><span class=cF1>else</span><span class=cF0> </span><span class=cF1>if</span><span class=cF0> (ch == </span><span class=cF6>'}'</span><span class=cF0>)
|
|
<a name="l355"></a> {
|
|
<a name="l356"></a> </span><span class=cF1>if</span><span class=cF0> (!--levels)
|
|
<a name="l357"></a> </span><span class=cF1>break</span><span class=cF0>;
|
|
<a name="l358"></a> }
|
|
<a name="l359"></a> </span><span class=cF1>if</span><span class=cF0> (!levels)
|
|
<a name="l360"></a> </span><span class=cF1>goto</span><span class=cF0> ls_done;
|
|
<a name="l361"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l362"></a> </span><span class=cF1>break</span><span class=cF0>;
|
|
<a name="l363"></a>
|
|
<a name="l364"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cF3>DOCT_TAB</span><span class=cF0>:
|
|
<a name="l365"></a> </span><span class=cF1>if</span><span class=cF0> (start_of_line)
|
|
<a name="l366"></a> </span><span class=cF5>DocEntryDel</span><span class=cF0>(doc, doc_e);
|
|
<a name="l367"></a> </span><span class=cF1>break</span><span class=cF0>;
|
|
<a name="l368"></a>
|
|
<a name="l369"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cF3>DOCT_NEW_LINE</span><span class=cF0>:
|
|
<a name="l370"></a> start_of_line = </span><span class=cF3>TRUE</span><span class=cF0>;
|
|
<a name="l371"></a> </span><span class=cF1>break</span><span class=cF0>;
|
|
<a name="l372"></a>
|
|
<a name="l373"></a> </span><span class=cF1>default</span><span class=cF0>:
|
|
<a name="l374"></a> start_of_line = </span><span class=cF3>FALSE</span><span class=cF0>;
|
|
<a name="l375"></a> }
|
|
<a name="l376"></a> doc_e = doc_e2;
|
|
<a name="l377"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l378"></a> </span><span class=cF1>while</span><span class=cF0> (doc_e != doc->cur_entry);
|
|
<a name="l379"></a>
|
|
<a name="l380"></a>ls_done:
|
|
<a name="l381"></a> </span><span class=cF5>DocRecalc</span><span class=cF0>(doc);
|
|
<a name="l382"></a> </span><span class=cF5>DocCenter</span><span class=cF0>(doc);
|
|
<a name="l383"></a> </span><span class=cF1>if</span><span class=cF0> (unlock)
|
|
<a name="l384"></a> </span><span class=cF5>DocUnlock</span><span class=cF0>(doc);
|
|
<a name="l385"></a>}
|
|
<a name="l386"></a>
|
|
<a name="l387"></a></span><span class=cF1>class</span><span class=cF0> </span><span class=cF9>CRenum</span><span class=cF0>
|
|
<a name="l388"></a>{
|
|
<a name="l389"></a> </span><span class=cF9>CRenum</span><span class=cF0> *next, *last;
|
|
<a name="l390"></a> </span><span class=cF1>U8</span><span class=cF0> label[</span><span class=cF1>sizeof</span><span class=cF0>(</span><span class=cF9>CEdFindText</span><span class=cF0>.find_text)];
|
|
<a name="l391"></a>};
|
|
<a name="l392"></a>
|
|
<a name="l393"></a></span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>EdRAGetU8</span><span class=cF0>(</span><span class=cF9>CDoc</span><span class=cF0> *doc)
|
|
<a name="l394"></a>{
|
|
<a name="l395"></a> </span><span class=cF9>I64</span><span class=cF0> res = -</span><span class=cFE>1</span><span class=cF0>;
|
|
<a name="l396"></a>
|
|
<a name="l397"></a> </span><span class=cF1>while</span><span class=cF0> (doc->cur_entry != doc && doc->cur_entry->type & </span><span class=cF3>DOCET_SEL</span><span class=cF0> && res < </span><span class=cFE>0</span><span class=cF0>)
|
|
<a name="l398"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l399"></a> res = </span><span class=cF5>EdCurU8</span><span class=cF0>(doc);
|
|
<a name="l400"></a> </span><span class=cF5>EdCursorRight</span><span class=cF0>(doc);
|
|
<a name="l401"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l402"></a>
|
|
<a name="l403"></a> </span><span class=cF1>return</span><span class=cF0> res;
|
|
<a name="l404"></a>}
|
|
<a name="l405"></a>
|
|
<a name="l406"></a></span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>EdRACollect</span><span class=cF0>(</span><span class=cF9>CDoc</span><span class=cF0> *doc, </span><span class=cF9>CRenum</span><span class=cF0> *head)
|
|
<a name="l407"></a>{
|
|
<a name="l408"></a> </span><span class=cF9>I64</span><span class=cF0> ch, i;
|
|
<a name="l409"></a> </span><span class=cF9>CRenum</span><span class=cF0> *tmpr;
|
|
<a name="l410"></a> </span><span class=cF1>U8</span><span class=cF0> buf[</span><span class=cF1>sizeof</span><span class=cF0>(</span><span class=cF9>CEdFindText</span><span class=cF0>.find_text)];
|
|
<a name="l411"></a>
|
|
<a name="l412"></a> ch = </span><span class=cF5>EdRAGetU8</span><span class=cF0>(doc);
|
|
<a name="l413"></a> </span><span class=cF1>while</span><span class=cF0> (ch >= </span><span class=cFE>0</span><span class=cF0>)
|
|
<a name="l414"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l415"></a> </span><span class=cF1>if</span><span class=cF0> (ch != </span><span class=cF6>'@'</span><span class=cF0>)
|
|
<a name="l416"></a> ch = </span><span class=cF5>EdRAGetU8</span><span class=cF0>(doc);
|
|
<a name="l417"></a> </span><span class=cF1>else</span><span class=cF0>
|
|
<a name="l418"></a> {
|
|
<a name="l419"></a> ch = </span><span class=cF5>EdRAGetU8</span><span class=cF0>(doc);
|
|
<a name="l420"></a> </span><span class=cF1>if</span><span class=cF0> (ch == </span><span class=cF6>'@'</span><span class=cF0>)
|
|
<a name="l421"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l422"></a> ch = </span><span class=cF5>EdRAGetU8</span><span class=cF0>(doc);
|
|
<a name="l423"></a> </span><span class=cF5>StrCopy</span><span class=cF0>(buf, </span><span class=cF6>"@@"</span><span class=cF0>);
|
|
<a name="l424"></a> i = </span><span class=cFE>2</span><span class=cF0>;
|
|
<a name="l425"></a> </span><span class=cF1>while</span><span class=cF0> (ch >= </span><span class=cFE>0</span><span class=cF0> && i < </span><span class=cF1>sizeof</span><span class=cF7>(</span><span class=cF9>CEdFindText</span><span class=cF0>.find_text</span><span class=cF7>)</span><span class=cF0>)
|
|
<a name="l426"></a> {
|
|
<a name="l427"></a> </span><span class=cF1>if</span><span class=cF0> (</span><span class=cF5>Bt</span><span class=cF7>(</span><span class=cFB>char_bmp_alpha_numeric</span><span class=cF0>, ch</span><span class=cF7>)</span><span class=cF0>)
|
|
<a name="l428"></a> buf[i++] = ch;
|
|
<a name="l429"></a> </span><span class=cF1>else</span><span class=cF0>
|
|
<a name="l430"></a> </span><span class=cF1>break</span><span class=cF0>;
|
|
<a name="l431"></a> ch = </span><span class=cF5>EdRAGetU8</span><span class=cF0>(doc);
|
|
<a name="l432"></a> }
|
|
<a name="l433"></a> </span><span class=cF1>if</span><span class=cF0> (i < </span><span class=cF1>sizeof</span><span class=cF7>(</span><span class=cF9>CEdFindText</span><span class=cF0>.find_text</span><span class=cF7>)</span><span class=cF0>)
|
|
<a name="l434"></a> {
|
|
<a name="l435"></a> buf[i++] = </span><span class=cFE>0</span><span class=cF0>;
|
|
<a name="l436"></a> </span><span class=cF1>while</span><span class=cF0> (ch >= </span><span class=cFE>0</span><span class=cF0> && </span><span class=cF5>Bt</span><span class=cF7>(</span><span class=cFB>char_bmp_white_space</span><span class=cF0>, ch</span><span class=cF7>)</span><span class=cF0>)
|
|
<a name="l437"></a> ch = </span><span class=cF5>EdRAGetU8</span><span class=cF0>(doc);
|
|
<a name="l438"></a> </span><span class=cF1>if</span><span class=cF0> (ch == </span><span class=cF6>':'</span><span class=cF0>)
|
|
<a name="l439"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l440"></a> ch = </span><span class=cF5>EdRAGetU8</span><span class=cF0>(doc);
|
|
<a name="l441"></a> tmpr = </span><span class=cF5>MAlloc</span><span class=cF0>(</span><span class=cF1>sizeof</span><span class=cF7>(</span><span class=cF9>CRenum</span><span class=cF7>)</span><span class=cF0>);
|
|
<a name="l442"></a> </span><span class=cF5>StrCopy</span><span class=cF0>(tmpr->label,buf);
|
|
<a name="l443"></a> </span><span class=cF5>QueueInsert</span><span class=cF0>(tmpr, head->last);
|
|
<a name="l444"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l445"></a> }
|
|
<a name="l446"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l447"></a> }
|
|
<a name="l448"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l449"></a></span><span class=cF2>//This is needed because we moved the</span><span class=cF0>
|
|
<a name="l450"></a> </span><span class=cF2>//cursor and it didn't recalc.</span><span class=cF0>
|
|
<a name="l451"></a> </span><span class=cF5>DocRecalc</span><span class=cF0>(doc);
|
|
<a name="l452"></a>}
|
|
<a name="l453"></a>
|
|
<a name="l454"></a></span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>EdRenumAsm</span><span class=cF0>(</span><span class=cF9>CDoc</span><span class=cF0> *doc)
|
|
<a name="l455"></a>{
|
|
<a name="l456"></a> </span><span class=cF1>Bool</span><span class=cF0> unlock = </span><span class=cF5>DocLock</span><span class=cF0>(doc);
|
|
<a name="l457"></a> </span><span class=cF9>I64</span><span class=cF0> num = </span><span class=cFE>0</span><span class=cF0>;
|
|
<a name="l458"></a> </span><span class=cF9>CRenum</span><span class=cF0> head, *tmpr, *tmpr1;
|
|
<a name="l459"></a> </span><span class=cF1>U8</span><span class=cF0> buf[</span><span class=cF1>sizeof</span><span class=cF0>(</span><span class=cF9>CEdFindText</span><span class=cF0>.find_text)], buf2[</span><span class=cF1>sizeof</span><span class=cF0>(</span><span class=cF9>CEdFindText</span><span class=cF0>.find_text)];
|
|
<a name="l460"></a>
|
|
<a name="l461"></a> </span><span class=cF5>QueueInit</span><span class=cF0>(&head);
|
|
<a name="l462"></a> </span><span class=cF5>EdSelFun</span><span class=cF0>(doc, </span><span class=cF3>TRUE</span><span class=cF0>);
|
|
<a name="l463"></a> </span><span class=cF5>EdRACollect</span><span class=cF0>(doc, &head);
|
|
<a name="l464"></a>
|
|
<a name="l465"></a> tmpr = head.next;
|
|
<a name="l466"></a> </span><span class=cF1>while</span><span class=cF0> (tmpr != &head)
|
|
<a name="l467"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l468"></a> tmpr1 = tmpr->next;
|
|
<a name="l469"></a> num += </span><span class=cF3>ASM_RENUM_SPACING</span><span class=cF0>;
|
|
<a name="l470"></a> </span><span class=cF5>StrPrint</span><span class=cF0>(buf, </span><span class=cF6>"@#%02d"</span><span class=cF0>, num);
|
|
<a name="l471"></a> </span><span class=cF5>EdReplace</span><span class=cF0>(doc, tmpr->label, buf, </span><span class=cF3>TRUE</span><span class=cF0>, </span><span class=cF3>TRUE</span><span class=cF0>, </span><span class=cF3>TRUE</span><span class=cF0>);
|
|
<a name="l472"></a> </span><span class=cF5>Free</span><span class=cF0>(tmpr);
|
|
<a name="l473"></a> tmpr = tmpr1;
|
|
<a name="l474"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l475"></a>
|
|
<a name="l476"></a> </span><span class=cF1>while</span><span class=cF0> (num)
|
|
<a name="l477"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l478"></a> </span><span class=cF5>StrPrint</span><span class=cF0>(buf, </span><span class=cF6>"@#%02d"</span><span class=cF0>, num);
|
|
<a name="l479"></a> </span><span class=cF5>StrPrint</span><span class=cF0>(buf2, </span><span class=cF6>"@@%02d"</span><span class=cF0>, num);
|
|
<a name="l480"></a> </span><span class=cF5>EdReplace</span><span class=cF0>(doc, buf, buf2, </span><span class=cF3>TRUE</span><span class=cF0>, </span><span class=cF3>TRUE</span><span class=cF0>, </span><span class=cF3>TRUE</span><span class=cF0>);
|
|
<a name="l481"></a> num -= </span><span class=cF3>ASM_RENUM_SPACING</span><span class=cF0>;
|
|
<a name="l482"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l483"></a> </span><span class=cF5>EdSelAll</span><span class=cF0>(doc, </span><span class=cF3>FALSE</span><span class=cF0>);
|
|
<a name="l484"></a> </span><span class=cF5>DocRecalc</span><span class=cF0>(doc);
|
|
<a name="l485"></a> </span><span class=cF5>DocCenter</span><span class=cF0>(doc);
|
|
<a name="l486"></a> </span><span class=cF1>if</span><span class=cF0> (unlock)
|
|
<a name="l487"></a> </span><span class=cF5>DocUnlock</span><span class=cF0>(doc);
|
|
<a name="l488"></a>}
|
|
<a name="l489"></a>
|
|
<a name="l490"></a></span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>EdCodeTools2</span><span class=cF0>(</span><span class=cF9>CDoc</span><span class=cF0> *doc, </span><span class=cF9>I64</span><span class=cF0> tool_action, </span><span class=cF1>Bool</span><span class=cF0> beep=</span><span class=cF3>TRUE</span><span class=cF0>)
|
|
<a name="l491"></a>{
|
|
<a name="l492"></a> </span><span class=cF1>Bool</span><span class=cF0> okay, unlock = </span><span class=cF5>DocLock</span><span class=cF0>(doc), start_of_line = </span><span class=cF3>TRUE</span><span class=cF0>;
|
|
<a name="l493"></a> </span><span class=cF9>CDocEntry</span><span class=cF0> *doc_e, *doc_ne;
|
|
<a name="l494"></a> </span><span class=cF9>I64</span><span class=cF0> i, start_y, end_y, x, r, goto_line_num;
|
|
<a name="l495"></a> </span><span class=cF1>U8</span><span class=cF0> *b, *st, *st2, *prj_file;
|
|
<a name="l496"></a> </span><span class=cF9>CTask</span><span class=cF0> *task = </span><span class=cF3>NULL</span><span class=cF0>;
|
|
<a name="l497"></a> </span><span class=cF9>CJob</span><span class=cF0> *tmpc;
|
|
<a name="l498"></a> </span><span class=cF9>CQueueVectU8</span><span class=cF0> *indent;
|
|
<a name="l499"></a>
|
|
<a name="l500"></a> </span><span class=cF5>DocRecalc</span><span class=cF0>(doc);
|
|
<a name="l501"></a> goto_line_num = doc->cur_entry->y + </span><span class=cFE>1</span><span class=cF0>;
|
|
<a name="l502"></a>
|
|
<a name="l503"></a> </span><span class=cF5>DocCaptureUndo</span><span class=cF0>(doc, </span><span class=cF3>TRUE</span><span class=cF0>);
|
|
<a name="l504"></a> </span><span class=cF1>switch</span><span class=cF0> (tool_action)
|
|
<a name="l505"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l506"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cF3>EF_CMP_CHK</span><span class=cF0>:
|
|
<a name="l507"></a> okay = </span><span class=cF3>FALSE</span><span class=cF0>;
|
|
<a name="l508"></a> </span><span class=cF1>if</span><span class=cF0> (doc->flags & </span><span class=cF3>DOCF_PLAIN_TEXT</span><span class=cF0>)
|
|
<a name="l509"></a> </span><span class=cF5>DocFlagsToggle</span><span class=cF0>(doc, </span><span class=cF3>DOCF_PLAIN_TEXT</span><span class=cF0>);
|
|
<a name="l510"></a> </span><span class=cF5>DocWrite</span><span class=cF0>(doc);
|
|
<a name="l511"></a> task = </span><span class=cF5>Spawn</span><span class=cF0>(&</span><span class=cF5>ServerCmdLine</span><span class=cF0>, </span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF6>"Server"</span><span class=cF0>,, </span><span class=cF5>Fs</span><span class=cF0>);
|
|
<a name="l512"></a> st2 = </span><span class=cF5>DirCur</span><span class=cF0>;
|
|
<a name="l513"></a> st = </span><span class=cF5>MStrPrint</span><span class=cF0>(</span><span class=cF6>"Cd(\"%s\");"</span><span class=cF0>, st2);
|
|
<a name="l514"></a> tmpc = </span><span class=cF5>TaskExe</span><span class=cF0>(task, </span><span class=cF5>Fs</span><span class=cF0>, st, </span><span class=cFE>1</span><span class=cF0> << </span><span class=cF3>JOBf_WAKE_MASTER</span><span class=cF0> | </span><span class=cFE>1</span><span class=cF0> << </span><span class=cF3>JOBf_FOCUS_MASTER</span><span class=cF0>);
|
|
<a name="l515"></a> </span><span class=cF5>Free</span><span class=cF0>(st2);
|
|
<a name="l516"></a> </span><span class=cF5>Free</span><span class=cF0>(st);
|
|
<a name="l517"></a> </span><span class=cF5>WinHorz</span><span class=cF0>(</span><span class=cF5>Fs</span><span class=cF0>->win_left, </span><span class=cF5>Fs</span><span class=cF0>->win_right, task);
|
|
<a name="l518"></a> </span><span class=cF5>WinVert</span><span class=cF0>(</span><span class=cF5>Fs</span><span class=cF0>->win_top, </span><span class=cF5>Fs</span><span class=cF0>->win_bottom, task);
|
|
<a name="l519"></a> </span><span class=cF1>if</span><span class=cF0> (</span><span class=cF5>JobResScan</span><span class=cF7>(</span><span class=cF0>tmpc, &r</span><span class=cF7>)</span><span class=cF0>)
|
|
<a name="l520"></a> {
|
|
<a name="l521"></a> st = </span><span class=cF5>DirFile</span><span class=cF0>(doc->filename.name,, </span><span class=cF6>"PRJ"</span><span class=cF0>);
|
|
<a name="l522"></a> prj_file = </span><span class=cF5>FileNameAbs</span><span class=cF0>(st);
|
|
<a name="l523"></a> </span><span class=cF5>Free</span><span class=cF0>(st);
|
|
<a name="l524"></a> </span><span class=cF1>if</span><span class=cF0> (</span><span class=cF5>FileFind</span><span class=cF7>(</span><span class=cF0>prj_file</span><span class=cF7>)</span><span class=cF0>)
|
|
<a name="l525"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l526"></a> st2 = </span><span class=cF5>DirFile</span><span class=cF0>(prj_file), st = </span><span class=cF5>MStrPrint</span><span class=cF0>(</span><span class=cF6>"Cd(\"%s\");"</span><span class=cF0>, st2);
|
|
<a name="l527"></a> </span><span class=cF5>Free</span><span class=cF0>(st2);
|
|
<a name="l528"></a> tmpc = </span><span class=cF5>TaskExe</span><span class=cF0>(task, </span><span class=cF5>Fs</span><span class=cF0>, st, </span><span class=cFE>1</span><span class=cF0> << </span><span class=cF3>JOBf_WAKE_MASTER</span><span class=cF0> | </span><span class=cFE>1</span><span class=cF0> << </span><span class=cF3>JOBf_FOCUS_MASTER</span><span class=cF0> | </span><span class=cFE>1</span><span class=cF0> << </span><span class=cF3>JOBf_FREE_ON_COMPLETE</span><span class=cF0>);
|
|
<a name="l529"></a> </span><span class=cF5>Free</span><span class=cF0>(st);
|
|
<a name="l530"></a> st = </span><span class=cF5>MStrPrint</span><span class=cF0>(</span><span class=cF6>"\"$WW,1$\";Comp(\"%s\",\"SysTmp\",\"SysTmp\");"</span><span class=cF0>, prj_file);
|
|
<a name="l531"></a> tmpc = </span><span class=cF5>TaskExe</span><span class=cF0>(task, </span><span class=cF5>Fs</span><span class=cF0>, st, </span><span class=cFE>1</span><span class=cF0> << </span><span class=cF3>JOBf_WAKE_MASTER</span><span class=cF0> | </span><span class=cFE>1</span><span class=cF0> << </span><span class=cF3>JOBf_FOCUS_MASTER</span><span class=cF0>);
|
|
<a name="l532"></a> </span><span class=cF5>Free</span><span class=cF0>(st);
|
|
<a name="l533"></a> </span><span class=cF1>if</span><span class=cF0> (</span><span class=cF5>JobResScan</span><span class=cF7>(</span><span class=cF0>tmpc, &r</span><span class=cF7>)</span><span class=cF0>)
|
|
<a name="l534"></a> </span><span class=cF1>if</span><span class=cF0> (!r)
|
|
<a name="l535"></a> {
|
|
<a name="l536"></a> tmpc = </span><span class=cF5>TaskExe</span><span class=cF0>(task, </span><span class=cF5>Fs</span><span class=cF0>, </span><span class=cF6>"Load(\"SysTmp\",LDF_JUST_LOAD);"</span><span class=cF0>,
|
|
<a name="l537"></a> </span><span class=cFE>1</span><span class=cF0> << </span><span class=cF3>JOBf_WAKE_MASTER</span><span class=cF0> | </span><span class=cFE>1</span><span class=cF0> << </span><span class=cF3>JOBf_FOCUS_MASTER</span><span class=cF0>);
|
|
<a name="l538"></a> </span><span class=cF1>if</span><span class=cF0> (</span><span class=cF5>JobResScan</span><span class=cF7>(</span><span class=cF0>tmpc, &r</span><span class=cF7>)</span><span class=cF0>)
|
|
<a name="l539"></a> okay = </span><span class=cF3>TRUE</span><span class=cF0>;
|
|
<a name="l540"></a> }
|
|
<a name="l541"></a> tmpc = </span><span class=cF5>TaskExe</span><span class=cF0>(task, </span><span class=cF5>Fs</span><span class=cF0>, </span><span class=cF6>"Del(\"SysTmp.*\");"</span><span class=cF0>, </span><span class=cFE>1</span><span class=cF0> << </span><span class=cF3>JOBf_WAKE_MASTER</span><span class=cF0> | </span><span class=cFE>1</span><span class=cF0> << </span><span class=cF3>JOBf_FOCUS_MASTER</span><span class=cF0>);
|
|
<a name="l542"></a> </span><span class=cF5>JobResScan</span><span class=cF0>(tmpc, &r);
|
|
<a name="l543"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l544"></a> </span><span class=cF1>else</span><span class=cF0>
|
|
<a name="l545"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l546"></a> </span><span class=cF5>Free</span><span class=cF0>(prj_file);
|
|
<a name="l547"></a> st = </span><span class=cF5>DirFile</span><span class=cF0>(doc->filename.name, </span><span class=cF6>"Load"</span><span class=cF0>, </span><span class=cF6>"CC"</span><span class=cF0>);
|
|
<a name="l548"></a> prj_file = </span><span class=cF5>FileNameAbs</span><span class=cF0>(st);
|
|
<a name="l549"></a> </span><span class=cF5>Free</span><span class=cF0>(st);
|
|
<a name="l550"></a> </span><span class=cF1>if</span><span class=cF0> (</span><span class=cF5>FileFind</span><span class=cF7>(</span><span class=cF0>prj_file</span><span class=cF7>)</span><span class=cF0>)
|
|
<a name="l551"></a> st = </span><span class=cF5>MStrPrint</span><span class=cF0>(</span><span class=cF6>"\"$WW,1$\";ExeFile(\"%s\",CCF_JUST_LOAD);"</span><span class=cF0>, prj_file);
|
|
<a name="l552"></a> </span><span class=cF1>else</span><span class=cF0>
|
|
<a name="l553"></a> st = </span><span class=cF5>MStrPrint</span><span class=cF0>(</span><span class=cF6>"\"$WW,1$\";ExeFile(\"%s\",CCF_JUST_LOAD);"</span><span class=cF0>, doc->filename.name);
|
|
<a name="l554"></a> tmpc=</span><span class=cF5>TaskExe</span><span class=cF0>(task, </span><span class=cF5>Fs</span><span class=cF0>, st, </span><span class=cFE>1</span><span class=cF0> << </span><span class=cF3>JOBf_WAKE_MASTER</span><span class=cF0> | </span><span class=cFE>1</span><span class=cF0> << </span><span class=cF3>JOBf_FOCUS_MASTER</span><span class=cF0>);
|
|
<a name="l555"></a> </span><span class=cF5>Free</span><span class=cF0>(st);
|
|
<a name="l556"></a> </span><span class=cF1>if</span><span class=cF0> (</span><span class=cF5>JobResScan</span><span class=cF7>(</span><span class=cF0>tmpc, &r</span><span class=cF7>)</span><span class=cF0> && r)
|
|
<a name="l557"></a> okay = </span><span class=cF3>TRUE</span><span class=cF0>;
|
|
<a name="l558"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l559"></a> </span><span class=cF5>Free</span><span class=cF0>(prj_file);
|
|
<a name="l560"></a> }
|
|
<a name="l561"></a> </span><span class=cF1>if</span><span class=cF0> (!okay)
|
|
<a name="l562"></a> {
|
|
<a name="l563"></a> </span><span class=cF5>PopUpOk</span><span class=cF0>(</span><span class=cF6>"Has Errors"</span><span class=cF0>);
|
|
<a name="l564"></a> </span><span class=cF1>while</span><span class=cF0> (</span><span class=cF5>LBts</span><span class=cF7>(</span><span class=cF0>&</span><span class=cFB>sys_semas</span><span class=cF0>[</span><span class=cF3>SEMA_FIX</span><span class=cF0>], </span><span class=cFE>0</span><span class=cF7>)</span><span class=cF0>)
|
|
<a name="l565"></a> </span><span class=cF5>Yield</span><span class=cF0>;
|
|
<a name="l566"></a> </span><span class=cF5>ToFileLine</span><span class=cF0>(</span><span class=cFB>debug</span><span class=cF0>.fix_file_line, &st, &i);
|
|
<a name="l567"></a> </span><span class=cF5>LBtr</span><span class=cF0>(&</span><span class=cFB>sys_semas</span><span class=cF0>[</span><span class=cF3>SEMA_FIX</span><span class=cF0>], </span><span class=cFE>0</span><span class=cF0>);
|
|
<a name="l568"></a> </span><span class=cF1>if</span><span class=cF0> (!</span><span class=cF5>StrCompare</span><span class=cF7>(</span><span class=cF0>st, doc->filename.name</span><span class=cF7>)</span><span class=cF0>)
|
|
<a name="l569"></a> goto_line_num = i;
|
|
<a name="l570"></a> </span><span class=cF5>Free</span><span class=cF0>(st);
|
|
<a name="l571"></a> }
|
|
<a name="l572"></a> </span><span class=cF1>break</span><span class=cF0>;
|
|
<a name="l573"></a>
|
|
<a name="l574"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cF3>EF_REINDENT</span><span class=cF0>:
|
|
<a name="l575"></a> start_y = doc->cur_entry->y;
|
|
<a name="l576"></a> </span><span class=cF5>EdReplaceTroubleAll</span><span class=cF0>(doc, </span><span class=cF3>TRUE</span><span class=cF0>, </span><span class=cF3>FALSE</span><span class=cF0>);
|
|
<a name="l577"></a> </span><span class=cF5>DocGoToLine</span><span class=cF0>(doc, start_y + </span><span class=cFE>1</span><span class=cF0>);
|
|
<a name="l578"></a> </span><span class=cF1>if</span><span class=cF0> (</span><span class=cF5>EdGoToFun</span><span class=cF7>(</span><span class=cF0>doc, </span><span class=cF3>FALSE</span><span class=cF0>, </span><span class=cF3>FALSE</span><span class=cF7>)</span><span class=cF0>)
|
|
<a name="l579"></a> {
|
|
<a name="l580"></a> start_y = doc->cur_entry->y;
|
|
<a name="l581"></a> indent = </span><span class=cF5>EdRICode</span><span class=cF0>(doc);
|
|
<a name="l582"></a> </span><span class=cF5>DocUnlock</span><span class=cF0>(doc);
|
|
<a name="l583"></a> </span><span class=cF1>if</span><span class=cF0> (beep)
|
|
<a name="l584"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l585"></a> </span><span class=cF5>Sound</span><span class=cF0>(</span><span class=cFE>86</span><span class=cF0>);
|
|
<a name="l586"></a> </span><span class=cF5>Sleep</span><span class=cF0>(</span><span class=cFE>150</span><span class=cF0>);
|
|
<a name="l587"></a> </span><span class=cF5>Sound</span><span class=cF0>;
|
|
<a name="l588"></a> </span><span class=cF5>Sleep</span><span class=cF0>(</span><span class=cFE>100</span><span class=cF0>);
|
|
<a name="l589"></a> </span><span class=cF5>Sound</span><span class=cF0>(</span><span class=cFE>86</span><span class=cF0>);
|
|
<a name="l590"></a> </span><span class=cF5>Sleep</span><span class=cF0>(</span><span class=cFE>150</span><span class=cF0>);
|
|
<a name="l591"></a> </span><span class=cF5>Sound</span><span class=cF0>;
|
|
<a name="l592"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l593"></a> </span><span class=cF5>DocLock</span><span class=cF0>(doc);
|
|
<a name="l594"></a> </span><span class=cF5>EdRemFunLeadingSpace</span><span class=cF0>(doc);
|
|
<a name="l595"></a> </span><span class=cF5>DocGoToLine</span><span class=cF0>(doc, start_y + </span><span class=cFE>1</span><span class=cF0>);
|
|
<a name="l596"></a> doc_e = doc->cur_entry;
|
|
<a name="l597"></a> end_y = start_y + indent->total_count;
|
|
<a name="l598"></a> </span><span class=cF1>while</span><span class=cF0> (start_y <= doc_e->y < end_y)
|
|
<a name="l599"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l600"></a> </span><span class=cF1>if</span><span class=cF0> (doc_e != doc && doc_e != doc->cur_entry && !</span><span class=cF7>(</span><span class=cF0>doc_e->de_flags & (</span><span class=cF3>DOCEG_DONT_EDIT</span><span class=cF0> - </span><span class=cF3>DOCEF_SCROLLING_X</span><span class=cF0>)</span><span class=cF7>)</span><span class=cF0>)
|
|
<a name="l601"></a> {
|
|
<a name="l602"></a> </span><span class=cF1>if</span><span class=cF0> (doc_e->type_u8 == </span><span class=cF3>DOCT_NEW_LINE</span><span class=cF0> || doc_e->type_u8 == </span><span class=cF3>DOCT_SOFT_NEW_LINE</span><span class=cF0>)
|
|
<a name="l603"></a> start_of_line = </span><span class=cF3>TRUE</span><span class=cF0>;
|
|
<a name="l604"></a> </span><span class=cF1>else</span><span class=cF0>
|
|
<a name="l605"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l606"></a> </span><span class=cF1>if</span><span class=cF0> (start_of_line)
|
|
<a name="l607"></a> {
|
|
<a name="l608"></a> i = </span><span class=cF5>QueueVectU8Get</span><span class=cF0>(indent, doc_e->y) * </span><span class=cF3>C_INDENT_SPACES</span><span class=cF0>;
|
|
<a name="l609"></a> x = doc_e->x + </span><span class=cFE>1</span><span class=cF0>;
|
|
<a name="l610"></a> </span><span class=cF1>while</span><span class=cF0> (i > </span><span class=cFE>8</span><span class=cF0>)
|
|
<a name="l611"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l612"></a> doc_ne = </span><span class=cF5>DocEntryNewBase</span><span class=cF0>(doc,
|
|
<a name="l613"></a> </span><span class=cF3>DOCT_TAB</span><span class=cF0> | doc->settings_head.default_text_attr << </span><span class=cFE>8</span><span class=cF0>,,
|
|
<a name="l614"></a> x, doc_e->y, doc_e->page_line_num);
|
|
<a name="l615"></a> </span><span class=cF5>MemCopy</span><span class=cF0>(&doc_ne->settings, &doc_e->settings, </span><span class=cF1>sizeof</span><span class=cF7>(</span><span class=cF9>CDocSettings</span><span class=cF7>)</span><span class=cF0>);
|
|
<a name="l616"></a> </span><span class=cF5>QueueInsert</span><span class=cF0>(doc_ne, doc_e->last);
|
|
<a name="l617"></a> i -= </span><span class=cFE>8</span><span class=cF0>;
|
|
<a name="l618"></a> x += </span><span class=cFE>8</span><span class=cF0>;
|
|
<a name="l619"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l620"></a> </span><span class=cF1>if</span><span class=cF0> (i > </span><span class=cFE>0</span><span class=cF0>)
|
|
<a name="l621"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l622"></a> b = </span><span class=cF5>MAlloc</span><span class=cF0>(i + </span><span class=cFE>1</span><span class=cF0>, doc->mem_task);
|
|
<a name="l623"></a> </span><span class=cF5>MemSet</span><span class=cF0>(b, </span><span class=cF3>CH_SPACE</span><span class=cF0>, i);
|
|
<a name="l624"></a> b[i] = </span><span class=cFE>0</span><span class=cF0>;
|
|
<a name="l625"></a> doc_ne = </span><span class=cF5>DocEntryNewBase</span><span class=cF0>(doc,
|
|
<a name="l626"></a> </span><span class=cF3>DOCT_TEXT</span><span class=cF0> | doc->settings_head.default_text_attr << </span><span class=cFE>8</span><span class=cF0>,,
|
|
<a name="l627"></a> x, doc_e->y, doc_e->page_line_num);
|
|
<a name="l628"></a> doc_ne->tag = b;
|
|
<a name="l629"></a> doc_ne->max_col = </span><span class=cFE>1</span><span class=cF0>;
|
|
<a name="l630"></a> </span><span class=cF5>MemCopy</span><span class=cF0>(&doc_ne->settings, &doc_e->settings, </span><span class=cF1>sizeof</span><span class=cF7>(</span><span class=cF9>CDocSettings</span><span class=cF7>)</span><span class=cF0>);
|
|
<a name="l631"></a> </span><span class=cF5>QueueInsert</span><span class=cF0>(doc_ne, doc_e->last);
|
|
<a name="l632"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l633"></a> }
|
|
<a name="l634"></a> start_of_line = </span><span class=cF3>FALSE</span><span class=cF0>;
|
|
<a name="l635"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l636"></a> }
|
|
<a name="l637"></a> doc_e = doc_e->next;
|
|
<a name="l638"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l639"></a> </span><span class=cF5>QueueVectU8Del</span><span class=cF0>(indent);
|
|
<a name="l640"></a> }
|
|
<a name="l641"></a> start_y = doc->cur_entry->y;
|
|
<a name="l642"></a> </span><span class=cF5>EdReplaceTroubleAll</span><span class=cF0>(doc, </span><span class=cF3>FALSE</span><span class=cF0>, </span><span class=cF3>FALSE</span><span class=cF0>);
|
|
<a name="l643"></a> </span><span class=cF5>DocGoToLine</span><span class=cF0>(doc, start_y + </span><span class=cFE>1</span><span class=cF0>);
|
|
<a name="l644"></a> </span><span class=cF1>break</span><span class=cF0>;
|
|
<a name="l645"></a>
|
|
<a name="l646"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cF3>EF_RENUM_ASM</span><span class=cF0>:
|
|
<a name="l647"></a> </span><span class=cF1>if</span><span class=cF0> (</span><span class=cF5>EdGoToFun</span><span class=cF7>(</span><span class=cF0>doc, </span><span class=cF3>FALSE</span><span class=cF0>, </span><span class=cF3>TRUE</span><span class=cF7>)</span><span class=cF0>)
|
|
<a name="l648"></a> {
|
|
<a name="l649"></a> </span><span class=cF1>if</span><span class=cF0> (</span><span class=cF5>EdCurU8</span><span class=cF7>(</span><span class=cF0>doc</span><span class=cF7>)</span><span class=cF0> == </span><span class=cF6>'{'</span><span class=cF0>)
|
|
<a name="l650"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l651"></a> </span><span class=cF5>EdCursorRight</span><span class=cF0>(doc);
|
|
<a name="l652"></a> </span><span class=cF5>DocRecalc</span><span class=cF0>(doc);
|
|
<a name="l653"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l654"></a> </span><span class=cF1>else</span><span class=cF0> </span><span class=cF1>if</span><span class=cF0> (</span><span class=cF5>EdCurU8</span><span class=cF7>(</span><span class=cF0>doc</span><span class=cF7>)</span><span class=cF0> == </span><span class=cF6>':'</span><span class=cF0>)
|
|
<a name="l655"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l656"></a> </span><span class=cF5>EdCursorRight</span><span class=cF0>(doc);
|
|
<a name="l657"></a> </span><span class=cF1>if</span><span class=cF0> (</span><span class=cF5>EdCurU8</span><span class=cF7>(</span><span class=cF0>doc</span><span class=cF7>)</span><span class=cF0> == </span><span class=cF6>':'</span><span class=cF0>)
|
|
<a name="l658"></a> </span><span class=cF5>EdCursorRight</span><span class=cF0>(doc);
|
|
<a name="l659"></a> </span><span class=cF5>DocRecalc</span><span class=cF0>(doc);
|
|
<a name="l660"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l661"></a> </span><span class=cF5>DocUnlock</span><span class=cF0>(doc);
|
|
<a name="l662"></a> </span><span class=cF1>if</span><span class=cF0> (beep)
|
|
<a name="l663"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l664"></a> </span><span class=cF5>Sound</span><span class=cF0>(</span><span class=cFE>86</span><span class=cF0>);
|
|
<a name="l665"></a> </span><span class=cF5>Sleep</span><span class=cF0>(</span><span class=cFE>150</span><span class=cF0>);
|
|
<a name="l666"></a> </span><span class=cF5>Sound</span><span class=cF0>;
|
|
<a name="l667"></a> </span><span class=cF5>Sleep</span><span class=cF0>(</span><span class=cFE>100</span><span class=cF0>);
|
|
<a name="l668"></a> </span><span class=cF5>Sound</span><span class=cF0>(</span><span class=cFE>86</span><span class=cF0>);
|
|
<a name="l669"></a> </span><span class=cF5>Sleep</span><span class=cF0>(</span><span class=cFE>150</span><span class=cF0>);
|
|
<a name="l670"></a> </span><span class=cF5>Sound</span><span class=cF0>;
|
|
<a name="l671"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l672"></a> </span><span class=cF5>DocLock</span><span class=cF0>(doc);
|
|
<a name="l673"></a> </span><span class=cF5>EdRenumAsm</span><span class=cF0>(doc);
|
|
<a name="l674"></a> }
|
|
<a name="l675"></a> </span><span class=cF1>break</span><span class=cF0>;
|
|
<a name="l676"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l677"></a>
|
|
<a name="l678"></a> </span><span class=cF5>DocRecalc</span><span class=cF0>(doc);
|
|
<a name="l679"></a> </span><span class=cF5>DocGoToLine</span><span class=cF0>(doc, goto_line_num);
|
|
<a name="l680"></a>
|
|
<a name="l681"></a> </span><span class=cF5>DocUnlock</span><span class=cF0>(doc);
|
|
<a name="l682"></a> </span><span class=cF1>if</span><span class=cF0> (!unlock)
|
|
<a name="l683"></a> </span><span class=cF5>DocLock</span><span class=cF0>(doc);
|
|
<a name="l684"></a> </span><span class=cF1>if</span><span class=cF0> (task)
|
|
<a name="l685"></a> </span><span class=cF5>Kill</span><span class=cF0>(task, </span><span class=cF3>FALSE</span><span class=cF0>);
|
|
<a name="l686"></a>}
|
|
<a name="l687"></a>
|
|
<a name="l688"></a></span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>EdPopUpChSC</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> *_ch, </span><span class=cF9>I64</span><span class=cF0> *_sc)
|
|
<a name="l689"></a>{
|
|
<a name="l690"></a> </span><span class=cF9>I64</span><span class=cF0> sc;
|
|
<a name="l691"></a>
|
|
<a name="l692"></a> </span><span class=cF6>"Press A Key\n"</span><span class=cF0>;
|
|
<a name="l693"></a> </span><span class=cF5>DocPut</span><span class=cF0>->flags |= </span><span class=cF3>DOCF_SIZE_MIN</span><span class=cF0>;
|
|
<a name="l694"></a> </span><span class=cF1>do</span><span class=cF0> </span><span class=cF5>MessageGet</span><span class=cF0>(_ch, &sc, </span><span class=cFE>1</span><span class=cF0> << </span><span class=cF3>MESSAGE_KEY_DOWN</span><span class=cF0>);
|
|
<a name="l695"></a> </span><span class=cF1>while</span><span class=cF0> (sc.u8[</span><span class=cFE>0</span><span class=cF0>] == </span><span class=cF3>SC_SHIFT</span><span class=cF0> || sc.u8[</span><span class=cFE>0</span><span class=cF0>] == </span><span class=cF3>SC_CTRL</span><span class=cF0> || sc.u8[</span><span class=cFE>0</span><span class=cF0>] == </span><span class=cF3>SC_ALT</span><span class=cF0>);
|
|
<a name="l696"></a> *_sc = sc;
|
|
<a name="l697"></a>}
|
|
<a name="l698"></a>
|
|
<a name="l699"></a></span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>EdChSC</span><span class=cF0>(</span><span class=cF9>CDoc</span><span class=cF0> *doc)
|
|
<a name="l700"></a>{
|
|
<a name="l701"></a> </span><span class=cF9>I64</span><span class=cF0> ch, sc;
|
|
<a name="l702"></a> </span><span class=cF1>U8</span><span class=cF0> buf[</span><span class=cF3>STR_LEN</span><span class=cF0>];
|
|
<a name="l703"></a>
|
|
<a name="l704"></a> </span><span class=cF5>StrPrint</span><span class=cF0>(buf, </span><span class=cF6>"EdPopUpChSC(%d,%d);"</span><span class=cF0>, &ch, &sc);
|
|
<a name="l705"></a> </span><span class=cF5>PopUp</span><span class=cF0>(buf, </span><span class=cF5>Fs</span><span class=cF0>);
|
|
<a name="l706"></a> </span><span class=cF1>if</span><span class=cF0> (ch == </span><span class=cF3>CH_BACKSPACE</span><span class=cF0>)
|
|
<a name="l707"></a> </span><span class=cF5>DocPrint</span><span class=cF0>(doc, </span><span class=cF6>"CH_BACKSPACE,0x%X"</span><span class=cF0>, sc);
|
|
<a name="l708"></a> </span><span class=cF1>else</span><span class=cF0> </span><span class=cF1>if</span><span class=cF0> (ch == </span><span class=cF6>'\n'</span><span class=cF0>)
|
|
<a name="l709"></a> </span><span class=cF5>DocPrint</span><span class=cF0>(doc, </span><span class=cF6>"'\n',0x%X"</span><span class=cF0>, sc);
|
|
<a name="l710"></a> </span><span class=cF1>else</span><span class=cF0> </span><span class=cF1>if</span><span class=cF0> (</span><span class=cF3>CH_CTRLA</span><span class=cF0> <= ch <= </span><span class=cF3>CH_CTRLZ</span><span class=cF0>)
|
|
<a name="l711"></a> </span><span class=cF5>DocPrint</span><span class=cF0>(doc, </span><span class=cF6>"CH_CTRL%C,0x%X"</span><span class=cF0>, ch + </span><span class=cF6>'@'</span><span class=cF0>, sc);
|
|
<a name="l712"></a> </span><span class=cF1>else</span><span class=cF0> </span><span class=cF1>if</span><span class=cF0> (ch == </span><span class=cF6>'$'</span><span class=cF0>)
|
|
<a name="l713"></a> </span><span class=cF5>DocPrint</span><span class=cF0>(doc, </span><span class=cF6>"'$$',0x%X"</span><span class=cF0>, sc);
|
|
<a name="l714"></a> </span><span class=cF1>else</span><span class=cF0> </span><span class=cF1>if</span><span class=cF0> (ch == </span><span class=cF6>'\\'</span><span class=cF0>)
|
|
<a name="l715"></a> </span><span class=cF5>DocPrint</span><span class=cF0>(doc, </span><span class=cF6>"'\\\\',0x%X"</span><span class=cF0>, sc);
|
|
<a name="l716"></a> </span><span class=cF1>else</span><span class=cF0> </span><span class=cF1>if</span><span class=cF0> (ch == </span><span class=cF6>'\''</span><span class=cF0>)
|
|
<a name="l717"></a> </span><span class=cF5>DocPrint</span><span class=cF0>(doc, </span><span class=cF6>"'\\\'',0x%X"</span><span class=cF0>, sc);
|
|
<a name="l718"></a> </span><span class=cF1>else</span><span class=cF0> </span><span class=cF1>if</span><span class=cF0> (ch == </span><span class=cF3>CH_ESC</span><span class=cF0>)
|
|
<a name="l719"></a> </span><span class=cF5>DocPrint</span><span class=cF0>(doc, </span><span class=cF6>"CH_ESC,0x%X"</span><span class=cF0>, sc);
|
|
<a name="l720"></a> </span><span class=cF1>else</span><span class=cF0> </span><span class=cF1>if</span><span class=cF0> (ch == </span><span class=cF3>CH_SHIFT_ESC</span><span class=cF0>)
|
|
<a name="l721"></a> </span><span class=cF5>DocPrint</span><span class=cF0>(doc, </span><span class=cF6>"CH_SHIFT_ESC,0x%X"</span><span class=cF0>, sc);
|
|
<a name="l722"></a> </span><span class=cF1>else</span><span class=cF0> </span><span class=cF1>if</span><span class=cF0> (ch == </span><span class=cF3>CH_SPACE</span><span class=cF0>)
|
|
<a name="l723"></a> </span><span class=cF5>DocPrint</span><span class=cF0>(doc,</span><span class=cF6>"CH_SPACE,0x%X"</span><span class=cF0>, sc);
|
|
<a name="l724"></a> </span><span class=cF1>else</span><span class=cF0> </span><span class=cF1>if</span><span class=cF0> (</span><span class=cF5>Bt</span><span class=cF7>(</span><span class=cFB>char_bmp_displayable</span><span class=cF0>, ch</span><span class=cF7>)</span><span class=cF0>)
|
|
<a name="l725"></a> </span><span class=cF5>DocPrint</span><span class=cF0>(doc, </span><span class=cF6>"'%c',0x%X"</span><span class=cF0>, ch, sc);
|
|
<a name="l726"></a> </span><span class=cF1>else</span><span class=cF0>
|
|
<a name="l727"></a> </span><span class=cF5>DocPrint</span><span class=cF0>(doc, </span><span class=cF6>"0x%X,0x%X"</span><span class=cF0>, ch, sc);
|
|
<a name="l728"></a>}
|
|
<a name="l729"></a>
|
|
<a name="l730"></a></span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>EdCodeTools</span><span class=cF0>(</span><span class=cF9>CDoc</span><span class=cF0> *doc)
|
|
<a name="l731"></a>{
|
|
<a name="l732"></a> </span><span class=cF9>I64</span><span class=cF0> tool_action = </span><span class=cF5>PopUpEdFormat</span><span class=cF0>;
|
|
<a name="l733"></a>
|
|
<a name="l734"></a> </span><span class=cF1>switch</span><span class=cF0> (tool_action)
|
|
<a name="l735"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l736"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cF3>EF_CMP_CHK</span><span class=cF0>:
|
|
<a name="l737"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cF3>EF_REINDENT</span><span class=cF0>:
|
|
<a name="l738"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cF3>EF_RENUM_ASM</span><span class=cF0>:
|
|
<a name="l739"></a> </span><span class=cF5>EdCodeTools2</span><span class=cF0>(doc, tool_action);
|
|
<a name="l740"></a> </span><span class=cF1>break</span><span class=cF0>;
|
|
<a name="l741"></a>
|
|
<a name="l742"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cF3>EF_CTRL_SLIDER</span><span class=cF0>:
|
|
<a name="l743"></a> </span><span class=cF5>TemplateCtrlSlider</span><span class=cF0>(doc);
|
|
<a name="l744"></a> </span><span class=cF1>break</span><span class=cF0>;
|
|
<a name="l745"></a>
|
|
<a name="l746"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cF3>EF_CH_SC</span><span class=cF0>:
|
|
<a name="l747"></a> </span><span class=cF5>EdChSC</span><span class=cF0>(doc);
|
|
<a name="l748"></a> </span><span class=cF1>break</span><span class=cF0>;
|
|
<a name="l749"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l750"></a>}
|
|
</span></pre></body>
|
|
</html>
|