endlocal doesn't work on arrays?

Jul 1, 2008
81
0
74
Montreal
TCC 10.00.41 Windows XP [Version 5.1.2600]
This batch file fills a small array
--
setlocal
echo setarray displays %@execstr[setarray]
setarray tablo[4,3]
set cnt=-1
do row = 0 to 3
do col = 0 to 2
set cnt=%@inc[%cnt]
set tablo[%row,%col]=%cnt
enddo
enddo
endlocal
--
and displays
TCC: C:\btm\test1.btm [2] No array variables defined
setarray displays

If I run the batch file again, it displays
setarray displays tablo[4,3]
TCC: C:\btm\test1.btm [3] Array variable is already defined "tablo"

Shouldn't "setlocal" have flushed the the array with the other local variables when the batch file ended? As it is, to clear it I have to "unsetarray tablo" either in the batch file or on the command line.
--
Peter
 

rconn

Administrator
Staff member
May 14, 2008
12,316
148
Peter Bratton wrote:


> Shouldn't "setlocal" have flushed the the array with the
> other local variables when the batch file ended? As it is,
> to clear it I have to "unsetarray tablo" either in the batch
> file or on the command line.

SETLOCAL and ENDLOCAL do not save & restore array variables.

Doing this (particularly with multidimensional arrays) is IMO much more
trouble than it's worth (complex code & a significant slowdown).

Rex Conn
JP Software
 
Similar threads
Thread starter Title Forum Replies Date
Peter Murschall v27.00.16/17: ENDLOCAL with exporting variables wipes out the complete Environment Support 2
Peter Murschall OPTION //directive=value is a ENDLOCAL Support 3
Joe Caverly Update ENDLOCAL to include LIBRARY Support 0
H EndLocal in DO Loop Support 2
Charles Dye Read-only environment variables wiped by SETLOCAL / ENDLOCAL Support 5
T Documentation SETARRAY & SETLOCAL/ENDLOCAL Support 8
M How to? Does the "Do" command effectively do a "SetLocal/EndLocal"??? Support 2
vefatica Setting array variable ignores leading spaces (and @execarray doesn't) Support 4
MickeyF Why doesn't my python program get executed without specifying its path? Support 2
gworley Virtual network drive filename completion doesn’t get directories Support 0
vefatica Win10's ANSI doesn't like 2>NUL Support 10
vefatica Win10, alternative screen buffer, cursor doesn't blink Support 11
M Trying to use ffind with a @file.lst doesn't work Support 4
Charles Dye Ctrl-Shift-Up doesn't update directory history Support 1
gschizas Take Command (Environment) doesn't show v2 ANSI colors Support 30
vefatica Fixed JOBS /K doesn't work Support 2
E Fixed SHRALIAS doesn't work / SHRALIAS.EXE is missing in v20.11.35 Support 2
D WAD Reboot doesn't shutdown or restart Support 13
M Documentation Q.Search doesn't support selection? Support 1
R Fixed 7ZIP Compression Method Option Doesn't Work Support 1
T Regex engine doesn't recognize native DOS line endings Support 2
E Fixed DEDUPE doesn't handle filenames with whitespace properly when symlinking Support 1
D Docking doesn't persist Support 5
E WAD DESCRIBE under TCC 19 doesn't work with diacritics Support 14
C VIEW PRINT /Wrap doesn't work Support 0
D CD doesn't always find everything Support 8
M View doesn't recognize Ctrl+End and Ctrl+Pos1 Support 2
M Ctrl-End doesn't work. DelToEnd is not executed Support 13
B Fixed FFIND doesn't find last character in file without CR/LF at EOF Support 1
G .BTM association doesn't work anymore Support 1
jadaml Documentation Is COPY realy doesn't work for any HTTP and FTP? Support 3
D do /s doesn't recurse Support 1
D WAD Alt-Left doesn't work, but Alt-Shift-Left does Support 1
I How to? Bat Works but BTM Doesn't Support 6
B %@lines doesn't count last line without cr/lf at eof Support 1
williamleara WAD ribbon doesn't remember expand/collapse setting Support 3
vefatica Why doesn't "IDE %_ININAME" work? Support 4
M How to? /Elevated doesn't do it for me... Support 8
D Why doesn't ffind find directory? Support 3
Phileosophos TPIPE doesn't work at all with v16 Support 3
D ejectmedia doesn't work in v16 Support 2
Phileosophos Fixed Register for all users doesn't register for all users Support 10
T "Checking for a newer version" doesn't complete Support 18
vefatica Doesn't IDE auto-indent? Support 3
C FFind /w works but FFind /= doesn't? Support 2
noahcoad WAD cmd.exe under tcc doesn't find apps Support 4
vefatica Fixed TPIPE doesn't /SPLIT at characters Support 0
M Site doesn't recognise cookies Support 0
D What's New doesn't mention copydir movedir Support 25
D TIMER OFF doesn't work Support 21

Similar threads