﻿id	summary	reporter	owner	description	type	status	milestone	component	version	severity	resolution	keywords	cc
2758	_ArrayPermute cannot handle multi-symbol delimiters	anonymous	Jpm	"but actual culprit is internal __Array_ExeterInternal()

from Example:
{{{
; Declare a 1-dimensional array, return an Array of permutations

#include <Array.au3>

Local $aArray[4] = [1, 2, 3, 4]
Local $aNewArray = _ArrayPermute($aArray, "",,,"") ;Using Default Parameters
_ArrayDisplay($aNewArray, ""Array Permuted"")

}}}

proposed change:

{{{
Func __Array_ExeterInternal(ByRef $avArray, $iStart, $iSize, $sDelim, ByRef $aIdx, ByRef $aResult, ByRef $iCount)
	If $iStart == $iSize - 1 Then
		For $i = 0 To $iSize - 1
			$aResult[$iCount] &= $avArray[$aIdx[$i]] & $sDelim
		Next
		;If $sDelim <> """" Then $aResult[$iCount] = StringTrimRight($aResult[$iCount], 1) <--------V----------------------------
		If $sDelim <> """" Then $aResult[$iCount] = StringTrimRight($aResult[$iCount], StringLen($sDelim))
		$iCount += 1
	Else
		Local $iTemp
		For $i = $iStart To $iSize - 1
			$iTemp = $aIdx[$i]

			$aIdx[$i] = $aIdx[$iStart]
			$aIdx[$iStart] = $iTemp
			__Array_ExeterInternal($avArray, $iStart + 1, $iSize, $sDelim, $aIdx, $aResult, $iCount)
			$aIdx[$iStart] = $aIdx[$i]
			$aIdx[$i] = $iTemp
		Next
	EndIf
EndFunc   ;==>__Array_ExeterInternal
}}}
"	Bug	closed	3.3.13.0	Standard UDFs	Other	None	Fixed		
