The set-but-not-used warning for 'ret' revealed an actual bug this time. Parsing sysconf cares whether any errors were encountered when parsing its contents, but BINDINGS=key1:cmd1,key2:cmd2 only returned the result of the first key in the comma-separated list because the result from recursive calls was lost to the set-but- not-used variable. Just adding use of that variable would have ended up reporting success if any key bound succesfully rather than requiring that they all do as sysconf parse handling intends. Also, binding comma to a command required that it be specified by its numeric value because parsing via recursion ate up the actual commas. Now allow "BINDINGS=,:cmd" or "keyM:cmdM,,:cmdN" or "BINDINGS=\,:cmd" or "keyM:cmdM,\,:cmdN". It also recognizes "BINDINGS=',':cmd" and "keyM:cmdM,',':cmdN" but that yields an invalid key error for "','". I thought txt2key() supported that but it doesn't. I've left this in because the error about ',' not being recognized as a key seems better than one about "'" not being a valid key bind and then accidentally binding single quote via post-comma "':command".
97 KiB
97 KiB