1. Euphoria 4.1 Linux 64-bit errors.

Considering that Euphoria 4.1 hasn't even been released yet, is it appropriate/beneficial for me to report errors I encounter here like this?

Sanity.ex fails at 4%

ken@ken-OptiPlex-360:~/euphoria/bin$ eui bugreport.ex 
Version 
---------------------------- 
4.1.0 development (5838:c4cf83a3db32, 2012-11-13 01:38:17) 
 
Operating System 
---------------------------- 
Platform: Linux, Build: ken-OptiPlex-360, 3.5.0-18-generic:0 
 
Include Directories 
---------------------------- 
1: /home/ken/euphoria/bin 
2: /home/ken/euphoria/include 
3: /home/ken/euphoria/include 
 
EUDIR 
---------------------------- 
/home/ken/euphoria 
 
PATH 
---------------------------- 
/home/ken/euphoria/bin:/home/ken/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games 

eui sanity.ex  
 
                   Euphoria SANITY TEST ...  
   4% 
/home/ken/euphoria/include/std/error.e:52 in procedure crash()  
sanity tests failed at line number shown in ex.err  
 
... called from /home/ken/euphoria/demo/sanity.ex:911 in procedure machine_level()   
 
... called from /home/ken/euphoria/demo/sanity.ex:1139 in procedure sanity()   
 
... called from /home/ken/euphoria/demo/sanity.ex:1181  
 
--> See ex.err  
ken@ken-OptiPlex-360:~/euphoria/demo$  

-- ex.err 
/home/ken/euphoria/include/std/error.e:52 in procedure crash()  
sanity tests failed at line number shown in ex.err  
    fmt = {115's',97'a',110'n',105'i',116't',121'y',32' ',116't',101'e',115's', 
116't',115's',32' ',102'f',97'a',105'i',108'l',101'e',100'd',32' ',97'a', 
116't',32' ',108'l',105'i',110'n',101'e',32' ',110'n',117'u',109'm',98'b', 
101'e',114'r',32' ',115's',104'h',111'o',119'w',110'n',32' ',105'i',110'n', 
32' ',101'e',120'x',46'.',101'e',114'r',114'r'} 
    data = {} 
    msg = {115's',97'a',110'n',105'i',116't',121'y',32' ',116't',101'e',115's', 
116't',115's',32' ',102'f',97'a',105'i',108'l',101'e',100'd',32' ',97'a', 
116't',32' ',108'l',105'i',110'n',101'e',32' ',110'n',117'u',109'm',98'b', 
101'e',114'r',32' ',115's',104'h',111'o',119'w',110'n',32' ',105'i',110'n', 
32' ',101'e',120'x',46'.',101'e',114'r',114'r'} 
 
... called from /home/ken/euphoria/demo/sanity.ex:911 in procedure machine_level()   
    addr = <no value> 
    dest = <no value> 
    src = <no value> 
    x = <no value> 
 
... called from /home/ken/euphoria/demo/sanity.ex:1139 in procedure sanity()   
    s1 = { 
           {65'A',7,66'B',7,67'C',7}, 
           {100'd',7,101'e',7,102'f',7} 
         } 
    s2 = { 
           {65'A',7,66'B',7,67'C',7}, 
           {100'd',7,101'e',7,102'f',7} 
         } 
    j = 0 
    z = <no value> 
    k = <no value> 
 
... called from /home/ken/euphoria/demo/sanity.ex:1181  
 
 
Public & Export & Global & Local Variables 
 
 /home/ken/euphoria/include/std/types.e: 
    Defined_Sets = { 
                     {98'b',99'c',100'd',102'f',103'g',104'h',106'j',107'k', 
108'l',109'm',110'n',112'p',113'q',114'r',115's',116't',118'v',119'w',120'x', 
121'y',122'z',66'B',67'C',68'D',70'F',71'G',72'H',74'J',75'K',76'L',77'M', 
78'N',80'P',81'Q',82'R',83'S',84'T',86'V',87'W',88'X',89'Y',90'Z'}, 
                     {97'a',101'e',105'i',111'o',117'u',65'A',69'E',73'I', 
79'O',85'U'}, 
                     { 
                       {48'0',57'9'}, 
                       {65'A',70'F'}, 
                       {97'a',102'f'} 
                     }, 
                     {32' ',9,10,13,11,160}, 
                     { 
                       {32' ',47'/'}, 
                       {58':',63'?'}, 
                       {91'[',96'`'}, 
                       {123'{',126'~'} 
                     }, 
                     { 
                       {32' ',126'~'} 
                     }, 
                     { 
                       {32' ',126'~'}, 
                       {32' ',32' '}, 
                       {9,9}, 
                       {10,10}, 
                       {13,13}, 
                       {8,8}, 
                       {7,7} 
                     }, 
                     { 
                       {97'a',122'z'} 
                     }, 
                     { 
                       {65'A',90'Z'} 
                     }, 
                     { 
                       {48'0',57'9'}, 
                       {97'a',122'z'}, 
                       {65'A',90'Z'} 
                     }, 
                     { 
                       {48'0',57'9'}, 
                       {97'a',122'z'}, 
                       {65'A',90'Z'}, 
                       {95'_',95'_'} 
                     }, 
                     { 
                       {97'a',122'z'}, 
                       {65'A',90'Z'} 
                     }, 
                     { 
                       {0,127} 
                     }, 
                     { 
                       {0,31}, 
                       {127,127} 
                     }, 
                     { 
                       {48'0',57'9'} 
                     }, 
                     { 
                       {33'!',126'~'} 
                     }, 
                     { 
                       {0,255} 
                     }, 
                     {95'_'}, 
                     {1,0} 
                   } 
 
 /home/ken/euphoria/include/std/datetime.e: 
    yydiff = 80'P' 
 
 /home/ken/euphoria/include/std/memconst.e: 
    DEP_really_works = 0 
    use_DEP = 1 
    FREE_RID = 2 
    kernel_dll = <no value> 
    memDLL_id = <no value> 
    VirtualAlloc_rid = <no value> 
    VirtualLock_rid = <no value> 
    VirtualUnlock_rid = <no value> 
    VirtualProtect_rid = <no value> 
    GetLastError_rid = <no value> 
    GetSystemInfo_rid = <no value> 
 
 /home/ken/euphoria/include/std/memory.e: 
    edges_only = <no value> 
    check_calls = 1 
    VirtualFree_rid = <no value> 
 
 /home/ken/euphoria/include/std/machine.e: 
    FREE_ARRAY_RID = 1 
    page_size = 4096 
 
 /home/ken/euphoria/include/std/io.e: 
    mem0 = 44457984 
    mem1 = 44457985 
    mem2 = 44457986 
    mem3 = 44457987 
 
 /home/ken/euphoria/include/std/scinot.e: 
    NATIVE_FORMAT = 3 
 
 /home/ken/euphoria/include/std/get.e: 
    input_file = 3 
    input_string = {35'#',54'6',52'4',32' '} 
    string_next = 5 
    ch = 32' ' 
    leading_whitespace = 1 
 
 /home/ken/euphoria/include/std/datetime.e: 
    month_names = { 
                    {74'J',97'a',110'n',117'u',97'a',114'r',121'y'}, 
                    {70'F',101'e',98'b',114'r',117'u',97'a',114'r',121'y'}, 
                    {77'M',97'a',114'r',99'c',104'h'}, 
                    {65'A',112'p',114'r',105'i',108'l'}, 
                    {77'M',97'a',121'y'}, 
                    {74'J',117'u',110'n',101'e'}, 
                    {74'J',117'u',108'l',121'y'}, 
                    {65'A',117'u',103'g',117'u',115's',116't'}, 
                    {83'S',101'e',112'p',116't',101'e',109'm',98'b',101'e', 
114'r'}, 
                    {79'O',99'c',116't',111'o',98'b',101'e',114'r'}, 
                    {78'N',111'o',118'v',101'e',109'm',98'b',101'e',114'r'}, 
                    {68'D',101'e',99'c',101'e',109'm',98'b',101'e',114'r'} 
                  } 
    month_abbrs = { 
                    {74'J',97'a',110'n'}, 
                    {70'F',101'e',98'b'}, 
                    {77'M',97'a',114'r'}, 
                    {65'A',112'p',114'r'}, 
                    {77'M',97'a',121'y'}, 
                    {74'J',117'u',110'n'}, 
                    {74'J',117'u',108'l'}, 
                    {65'A',117'u',103'g'}, 
                    {83'S',101'e',112'p'}, 
                    {79'O',99'c',116't'}, 
                    {78'N',111'o',118'v'}, 
                    {68'D',101'e',99'c'} 
                  } 
    day_names = { 
                  {83'S',117'u',110'n',100'd',97'a',121'y'}, 
                  {77'M',111'o',110'n',100'd',97'a',121'y'}, 
                  {84'T',117'u',101'e',115's',100'd',97'a',121'y'}, 
                  {87'W',101'e',100'd',110'n',101'e',115's',100'd',97'a', 
121'y'}, 
                  {84'T',104'h',117'u',114'r',115's',100'd',97'a',121'y'}, 
                  {70'F',114'r',105'i',100'd',97'a',121'y'}, 
                  {83'S',97'a',116't',117'u',114'r',100'd',97'a',121'y'} 
                } 
    day_abbrs = { 
                  {83'S',117'u',110'n'}, 
                  {77'M',111'o',110'n'}, 
                  {84'T',117'u',101'e'}, 
                  {87'W',101'e',100'd'}, 
                  {84'T',104'h',117'u'}, 
                  {70'F',114'r',105'i'}, 
                  {83'S',97'a',116't'} 
                } 
    ampm = { 
             {65'A',77'M'}, 
             {80'P',77'M'} 
           } 
 
 /home/ken/euphoria/include/std/filesys.e: 
    STAT_VER = 0 
    my_dir = -2 
    InitCurDir = {47'/',104'h',111'o',109'm',101'e',47'/',107'k',101'e',110'n', 
47'/',101'e',117'u',112'p',104'h',111'o',114'r',105'i',97'a',47'/',100'd', 
101'e',109'm',111'o',47'/'} 
    file_counters = {} 
 
 /home/ken/euphoria/include/std/pretty.e: 
    pretty_end_col = <no value> 
    pretty_chars = <no value> 
    pretty_start_col = <no value> 
    pretty_level = <no value> 
    pretty_file = <no value> 
    pretty_ascii = <no value> 
    pretty_indent = <no value> 
    pretty_ascii_min = <no value> 
    pretty_ascii_max = <no value> 
    pretty_line_count = <no value> 
    pretty_line_max = <no value> 
    pretty_dots = <no value> 
    pretty_line_breaks = <no value> 
    pretty_printing = <no value> 
    pretty_fp_format = <no value> 
    pretty_int_format = <no value> 
    pretty_line = <no value> 
 
 /home/ken/euphoria/include/std/serialize.e: 
    mem0 = 44462080 
    mem1 = 44462081 
    mem2 = 44462082 
    mem3 = 44462083 
    mem4 = 44462084 
    mem5 = 44462085 
    mem6 = 44462086 
    mem7 = 44462087 
 
 /home/ken/euphoria/include/std/text.e: 
    lower_case_SET = {} 
    upper_case_SET = {} 
    encoding_NAME = {65'A',83'S',67'C',73'I',73'I'} 
 
 /home/ken/euphoria/include/std/convert.e: 
    mem = 45072384 
    decimal_mark = 46'.' 
 
 /home/ken/euphoria/include/std/eumem.e: 
    ram_space = {} 
    ram_free_list = 0 
    free_rid = 6 
 
 /home/ken/euphoria/include/std/primes.e: 
    list_of_primes = {2,3} 
 
 /home/ken/euphoria/include/std/map.e: 
    threshold_size = 23 
 
 /home/ken/euphoria/include/std/graphcst.e: 
    true_fgcolor = {0,4,2,6,1,5,3,7,8,12,10,14,9,13,11,15,16,20,18,22,17, 
21,19,23,24,28,26,28,25,29,17,31} 
    true_bgcolor = {0,4,2,6,1,5,3,7,8,12,10,14,9,13,11,15,16,20,18,22,17, 
21,19,23,24,28,26,28,25,29,17,31} 
 
 /home/ken/euphoria/include/std/image.e: 
    fn = <no value> 
    error_code = <no value> 
    numXPixels = <no value> 
    numYPixels = <no value> 
    bitCount = <no value> 
    numRowBytes = <no value> 
 
 /home/ken/euphoria/include/std/win32/msgbox.e: 
    lib = <no value> 
    msgbox_id = <no value> 
    get_active_id = <no value> 
 
 /home/ken/euphoria/demo/sanity.ex: 
    y = { 
          {1.5,-3.5,10000000000,-1e+20,0,0.0001}, 
          {1.5,-3.5,10000000000,-1e+20,0,0.0001}, 
          {1.5,-3.5,10000000000,-1e+20,0,0.0001}, 
          {1.5,-3.5,10000000000,-1e+20,0,0.0001}, 
          {1.5,-3.5,10000000000,-1e+20,0,0.0001}, 
          {1.5,-3.5,10000000000,-1e+20,0,0.0001}, 
          {1.5,-3.5,10000000000,-1e+20,0,0.0001}, 
          {1.5,-3.5,10000000000,-1e+20,0,0.0001}, 
          {1.5,-3.5,10000000000,-1e+20,0,0.0001}, 
          {1.5,-3.5,10000000000,-1e+20,0,0.0001} 
        } 
    color = 1 
    rp = <no value> 
    eubin = {47'/',104'h',111'o',109'm',101'e',47'/',107'k',101'e',110'n', 
47'/',101'e',117'u',112'p',104'h',111'o',114'r',105'i',97'a',47'/',100'd', 
101'e',109'm',111'o'} 
new topic     » topic index » view message » categorize

2. Syncolor errors in 4.1 Linux 64-bit

In another thread I reported problems with single and double quotes as well as the symbol "#".

Likewise, the backtick symbol is not displayed in ed.ex:

-- copied from ed.ex 
-- menus.ex 
                                                                    Esc for commands  
include GtkEngine.e                                                                            
------------------------------------------------------------------------                       
-- A 'template' for starting your own menus                                                    
------------------------------------------------------------------------                       
integer screen_state = FALSE                                                                   
                                                                                               
constant docs =                                                                                
<u><b>Menus</b></u>                                                                            
                                                                                               
This is a template to give you a headstart on writing your own programs                        
                                                                                               
                                                                                               
                                                                                               
constant win = create(GtkWindow) 

This is the same code loaded in gedit:

-- copied from gedit: 
-- menus.ex 
 
include GtkEngine.e 
------------------------------------------------------------------------ 
-- A 'template' for starting your own menus 
------------------------------------------------------------------------ 
integer screen_state = FALSE 
 
constant docs = ` 

<u><b>Menus</b></u> 
 
This is a template to give you a headstart on writing your own programs. 
 
` 

 
constant win = create(GtkWindow) 

I just noticed in the preview that openeuphoria.org's syncolor file fails to recognize the closing backtick and so all the text following the initial backtick is colored green. This is what happens in one of my modified versions of ed.ex from a previous release - prior to syncolor.e using the file tokenize.e.

Kenneth Rhodes

new topic     » goto parent     » topic index » view message » categorize

3. Re: Syncolor errors in 4.1 Linux 64-bit

-- syncolor.e 
elsif class = tokenize:T_KEYWORD then 
			seg_flush(KEYWORD_COLOR) 
 
		elsif class = tokenize:T_BUILTIN then 
--                      seg_flush(KEYWORD_COLOR)  --<----------keyword color "flushed" should be: 
			seg_flush(BUILTIN_COLOR) 
new topic     » goto parent     » topic index » view message » categorize

4. Re: Syncolor errors in 4.1 Linux 64-bit

Please report all errors you find with 4.1. I know I do. [Edit: tense change] :)

new topic     » goto parent     » topic index » view message » categorize

5. Re: Syncolor errors in 4.1 Linux 64-bit

I have just tried this with 4.1 (Alternative Literals Branch) 32-bit Windows. Same problem. I cannot see the back tick in ed.ex.

Shawn

new topic     » goto parent     » topic index » view message » categorize

6. syncolor.e + tokenize.e = an absolute disaster

Euphoria 3.1 ed.ex shrouded = ed.il = 64k, syncolor.e file = 8k Euphoria 4.1 ed.ex shrouded = ed.il = 260k, syncolor.e file + tokenize.e = 36k 260/64 = 4.33 36/8 = 4.5

The current windows version of syncolor.e which includes tokenize.e provides multi-line string support and multi-line comments which were not supported in the Euphoria 3.1 version of these files. However; under Linux in ed.ex all the initial entry of these "tokens" (`, ", /*) are not displayed, nor is any text following them displayed, until a corresponding closing symbol is entered. Additionally, under Linux, the two initial symbols of the SHEBANG line, #!, are not visible when entered and remain invisible.

I have a version of syncolor.e which does not include tokenize.e, but on Linux it does handle the SHEBANG line and all the other symbols mentioned above correctly - and it does it in about 1/3 to 1/4 the code. I believe it was from Euphoria 4.0.3., perhaps it was from an earlier release.

Kenneth Rhodes

reference: http://openeuphoria.org/ticket/507.wc

new topic     » goto parent     » topic index » view message » categorize

7. Re: syncolor.e + tokenize.e = an absolute disaster

Where is this syncolor.e from? Could you post a link to a pastey bin here?

Shawn

new topic     » goto parent     » topic index » view message » categorize

8. Re: Syncolor errors in 4.1 Linux 64-bit

SDPringle said...

I have just tried this with 4.1 (Alternative Literals Branch) 32-bit Windows. Same problem. I cannot see the back tick in ed.ex.

Shawn

Have you tried hitting two back ticks in a row?

Obviously, this isn't the smartest way to handle errors from the tokenizer, but this can be worked around with the following patch: (note that the entire line will lose colour, however)

--- a/include/euphoria/syncolor.e 
+++ b/include/euphoria/syncolor.e 
@@ -178,6 +178,9 @@ 
 
        line = tokenize:tokenize_string(pline, token) 
        -- TODO error checking? 
+       if line[2] != 0 then 
+               return append(color_segments, {NORMAL_COLOR, pline}) 
+       end if 
        line = line[1] 
        current_color = DONT_CARE 
        seg = 1 
@@ -197,7 +200,7 @@ 
                        seg_flush(KEYWORD_COLOR) 
 
                elsif class = tokenize:T_BUILTIN then 
-                       seg_flush(KEYWORD_COLOR) 
+                       seg_flush(BUILTIN_COLOR) 
 
                elsif class = tokenize:T_IDENTIFIER then 
                        seg_flush(NORMAL_COLOR) 
new topic     » goto parent     » topic index » view message » categorize

9. Re: syncolor.e + tokenize.e = an absolute disaster

SDPringle said...

Where is this syncolor.e from? Could you post a link to a pastey bin here?

It comes with euphoria. It's at include/euphoria/syncolor.e.

Matt

new topic     » goto parent     » topic index » view message » categorize

10. Re: syncolor.e + tokenize.e = an absolute disaster

Syncolor.e from Euphoria 4.0.4 works perfectly.

Which begs the question... Why has perfectly functioning code been replaced with bloated (+200k), obfuscated, buggy code?

Kenneth Rhodes

new topic     » goto parent     » topic index » view message » categorize

11. Re: syncolor.e + tokenize.e = an absolute disaster

K_D_R said...

Syncolor.e from Euphoria 4.0.4 works perfectly.

Which begs the question... Why has perfectly functioning code been replaced with bloated (+200k), obfuscated, buggy code?

Kenneth Rhodes

What's taking up 200k?

new topic     » goto parent     » topic index » view message » categorize

12. Re: syncolor.e + tokenize.e = an absolute disaster

K_D_R said...

Syncolor.e from Euphoria 4.0.4 works perfectly.

Which begs the question... Why has perfectly functioning code been replaced with bloated (+200k), obfuscated, buggy code?

Like Jim, I'm not sure what +200K refers to. The combination of tokenize.e and syncolor.e are about 1400 lines (including white space and comments) for a total of about 31K.

It's been a while, but IIRC (and I wasn't directly involved), the goal was to move some more old C code into easier to maintain euphoria code. Obviously, the transition has introduced some regressions.

Matt

new topic     » goto parent     » topic index » view message » categorize

13. Re: syncolor.e + tokenize.e = an absolute disaster

mattlewis said...

Like Jim, I'm not sure what +200K refers to. The combination of tokenize.e and syncolor.e are about 1400 lines (including white space and comments) for a total of about 31K.

It's been a while, but IIRC (and I wasn't directly involved), the goal was to move some more old C code into easier to maintain euphoria code. Obviously, the transition has introduced some regressions.

Matt

I stand corrected - 31k, then... syncolor.e sans tokenize.e = 8.3k: 31k/8.3k = 3.74, nearly %375 of the original code size.

Here are some ed.ex routines to deal with syncolor.e's current problems:

-- ed.ex routines to automate insertion of matching closing tokens for 
-- multi-line comments, single quote marks, double quote marks,  
-- & multi-line quote (backtick) marks: 
 
-- Once you insert these routines in the list of elsif clauses  
-- found in the procedure "get_escape", 
-- you can execute them by typing ESC + / or ', ", or `. 
-- You will have to press the return/enter to complete execution of the command, 
-- unless you enter the token in the list of "hot-keys" found in the line: 
 command = key_gets("hcqswnedfrlm/`\'\"", {}) & ' ' 
-- which is located earlier in the procedure. 
 
        elsif command[1] = '/' then                                                            
            add_queue("/*  */" & repeat(ARROW_LEFT,3))                                         
                                                                                               
        elsif command[1] = '\'' then                                                           
            add_queue("\' \'" & repeat(ARROW_LEFT,2))                                          
                                                                                               
        elsif command[1] = '\"' then                                                           
            add_queue("\" \"" & repeat(ARROW_LEFT,2))                                          
                                                                                               
        elsif command[1] = '`' then                                                            
            add_queue("` `" & repeat(ARROW_LEFT,2))       
 

Kenneth Rhodes

new topic     » goto parent     » topic index » view message » categorize

14. Re: syncolor.e + tokenize.e = an absolute disaster

K_D_R said...
mattlewis said...

Like Jim, I'm not sure what +200K refers to. The combination of tokenize.e and syncolor.e are about 1400 lines (including white space and comments) for a total of about 31K.

It's been a while, but IIRC (and I wasn't directly involved), the goal was to move some more old C code into easier to maintain euphoria code. Obviously, the transition has introduced some regressions.

Matt

I stand corrected - 31k, then... syncolor.e sans tokenize.e = 8.3k: 31k/8.3k = 3.74, nearly %375 of the original code size.

Here are some ed.ex routines to deal with syncolor.e's current problems:

I've been taking a look at syncolor/tokenize. I think that tokenize was written with the idea that it would be working with correct euphoria code, which is obviously inappropriate for a text editor. I've got some updates that I think fix the issues with quotes and shebangs. They just need some more testing to make sure I didn't break something else.

Matt

new topic     » goto parent     » topic index » view message » categorize

15. Re: syncolor.e + tokenize.e = an absolute disaster

mattlewis said...

I've been taking a look at syncolor/tokenize. I think that tokenize was written with the idea that it would be working with correct euphoria code, which is obviously inappropriate for a text editor. I've got some updates that I think fix the issues with quotes and shebangs. They just need some more testing to make sure I didn't break something else.

I just pushed up those changes. ed.ex doesn't handle multi-line quotes properly, because it colors lines independently, so it doesn't know that it's inside of a string. Strange things happen with /* */ style quotes, too. In particular, if you hit enter after starting one, the line below disappears.

Matt

new topic     » goto parent     » topic index » view message » categorize

16. Re: syncolor.e + tokenize.e = an absolute disaster

mattlewis said...
mattlewis said...

I've been taking a look at syncolor/tokenize. I think that tokenize was written with the idea that it would be working with correct euphoria code, which is obviously inappropriate for a text editor. I've got some updates that I think fix the issues with quotes and shebangs. They just need some more testing to make sure I didn't break something else.

I just pushed up those changes. ed.ex doesn't handle multi-line quotes properly, because it colors lines independently, so it doesn't know that it's inside of a string. Strange things happen with /* */ style quotes, too. In particular, if you hit enter after starting one, the line below disappears.

OK, /* */ style comments should be better now. The actual multi-line stuff isn't properly colored (for them or strings), but they don't eat lines now.

Matt

new topic     » goto parent     » topic index » view message » categorize

17. Re: syncolor.e + tokenize.e = an absolute disaster

mattlewis said...
mattlewis said...
mattlewis said...

I've been taking a look at syncolor/tokenize. I think that tokenize was written with the idea that it would be working with correct euphoria code, which is obviously inappropriate for a text editor. I've got some updates that I think fix the issues with quotes and shebangs. They just need some more testing to make sure I didn't break something else.

I just pushed up those changes. ed.ex doesn't handle multi-line quotes properly, because it colors lines independently, so it doesn't know that it's inside of a string. Strange things happen with /* */ style quotes, too. In particular, if you hit enter after starting one, the line below disappears.

OK, /* */ style comments should be better now. The actual multi-line stuff isn't properly colored (for them or strings), but they don't eat lines now.

Matt

Thanks, Matt. I know I moan and groan a lot, but as I have said before, I do understand and appreciate that you guys are constantly pouring time into OpenEuphoria by the bucketfulls.

Kenneth Rhodes

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu