Re: bug in the intinit.e file

new topic     » goto parent     » topic index » view thread      » older message » newer message

On Linux, but I can not reproduce these steps with eui r3414.

cp -a /home/eu/source/global.e /home/eu/source/keylist.e /home/eu/source/scanner.e /home/eu/source/parser.e /home/eu/source/emit.e /home/eu/source/pathopen.e /home/eu/source/eu.ex /home/eu/source/reswords.e /home/eu/source/error.e /home/eu/source/main.e /home/eu/source/opnames.e /home/eu/source/execute.e /tmp/y/ 
cd /tmp/y 
EUDIR=/home/eu EUINC=/home/eu/include:/home/eu/source eui eu.ex 

This gives me the help screen - or the display of the list of options.

bugfinder said...

There is a bug in the intinit.e file at line 60 when Argv = {} the slice will  
 
cause an error condition. 
 
I am running the eu.ex files in a directory other than the source directory. 
 
NOTE: I should get display of the options not a slice error. 
 
 
This other directory contains the following : 
 
global.e 
keylist.e 
symtab.e 
scanner.e 
parser.e 
emit.e 
pathopen.e 
eu.ex 
reswords.e 
error.e 
main.e 
opnames.e 
execute.e 
 
Enviroment: 
 
E:\WORKCDE4>set eudir 
EUDIR=E:\EU4 
 
E:\WORKCDE4>set euinc 
EUINC=E:\EU4\include;E:\EU4\source;E:\EU4\MTRINC 
 
   

 
This will work OK running from the source directory. 
 
 
   55:          Argv = expand_config_options(Argv) 
   56:          m:map opts = cmd_parse( get_options(), 
   57:                  { NO_VALIDATION_AFTER_FIRST_EXTRA, PAUSE_MSG, pause_msg 
   58:  trace(1) 
   59:          sequence tmp_Argv = Argv 
   60==>        Argv = Argv[1..2] & GetDefaultArgs() 
   61:          Argc = length(Argv) 
   62: 
   63:          m:map default_opts = cmd_parse( get_options(), , Argv ) 
   64:          merge_maps( opts, default_opts ) 
   65: 
   66:          Argv = tmp_Argv 
   67:          Argc = length( Argv ) 
   68: 
variable name? Argv 
Argv={{101e,58:,92\,101e,117u,524,92\,98b,105i,110n,92\,101e,117u,105i,46.,... 
 

 
This will FAIL running eu.ex from the different directory with 
 
source directory set in the path.  
 
 
 
   55:          Argv = expand_config_options(Argv) 
   56:          m:map opts = cmd_parse( get_options(), 
   57:                  { NO_VALIDATION_AFTER_FIRST_EXTRA, PAUSE_MSG, pause_msg 
   58:  trace(1) 
   59:          sequence tmp_Argv = Argv 
   60==>        Argv = Argv[1..2] & GetDefaultArgs() 
   61:          Argc = length(Argv) 
   62: 
   63:          m:map default_opts = cmd_parse( get_options(), , Argv ) 
   64:          merge_maps( opts, default_opts ) 
   65: 
   66:          Argv = tmp_Argv 
   67:          Argc = length( Argv ) 
   68: 
variable name? Argv 
Argv={} 
 

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu