it returns a vector:
. 1 1
instead of returning the correct:
1 . .
It appears to be a bug limited to the case of the first input being a string array and the second being just a string. It has been posted on the bug list for development to look at.
Thanks. Actually in the case you mentioned it returns 1 instead of . and . instead of 1. There should be a typo in the "underline" code. Do you know I can modify he underline code of this command manually?
Unfortunately, the code for this command cannot be modified by the user, but here is a procedure (with an example) that you can use as a workaround until a patch is released with this bug fixed:
what = "1"$|"2"$|"3"; where = "1"; print indsav(what, where); print "---------------"; print indsavtmp(what, where); proc (1) = indsavtmp(what, where); //If where is a string, force it //to be a string array as workaround if type(where) == 13; where = where$|where; endif; retp(indsav(what, where)); endp;
type is a command that returns the type of a variable. The number 13 means a string.
This fix has been implemented in version 13.0.6 and is now available for download.