On 7/21/18 2:47 PM, Chris Schoenberg wrote: > This only works in 4.4; earlier versions throw a 'bad substitution' error. It > causes an infinite loop of calls between 'expand_prompt_string' and > 'decode_prompt_string', > where calls to 'xmalloc' exhaust the heap: > > $\{_@P};${_@P} > > I decided to report this because it is not a user-defined recursive > function and it exhausts the heap rather than the stack.
It's user-defined recursive parameter expansion. A string that undergoes prompt expansion performs parameter expansion, as documented. If that parameter expansion passes the same string to prompt expansion, which performs parameter expansion, you've got user-defined recursion. -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, UTech, CWRU c...@case.edu http://tiswww.cwru.edu/~chet/