From: Andreas L. <av...@lo...> - 2012-11-17 17:28:03
|
"Duquette, William H (318K)" <wil...@jp...> wrote: > I've been reading through the Tcl 8.6 man pages looking for warts > [array startsearch], etc. > Remove the [array] iteration subcommands: anymore, donesearch, nextelement, startsearch I'm currently doing more Java programming than tcl, and when I come across old parts (parts from before Java 1.5) of our codebase, I often dump all the Iterator-loops and replace them by Java1.5's loops. However, every once in a while I find an Iterator that I cannot get rid of. Because of that, I think, we should keep old-style array iteration, just for those rare cases, where array-iteration is not meant to be exhaustive, or be spread out into other looping structures. > [if] > Does anybody ever use the "then" keywords in the [if] command? Need we continue to support them? I use it, when I feed my scripts to nagelfar, and it complains about lack of "then". I actually found one or two bugs that way, that might have otherwise bitten me badly. My own #1-pet peeve Wart: backslash-newline substitution within braced blocks. Not only has replacing it (and any trailing whitespace) by a single space never ever been my wanted thing for anything else than code, it is really superfluous for code, and it needs its special exception in the dodekalogue[6]: " ... except for backslash-newline substitutions described below,... I think it is a relic of pre-8.0 era, when excessive space was "expensive". Another thing is stuff like ${{{{{} being a valid subst for a variable named "{{{{". This is just confusing and inconsistent: it wouldn't work for "}}}}". I'd welcome an extra rule, that requires (unbackslashed) braces to be paired within each *word* (no matter if embedded in a braced block or not!). That would also disallow currently legal stuff like: cmd "{" foo "}" or even: cmd abc{ def ghi} which should be written with backslash-escaped braces, anyway, if needed. That odd "{{{{"named var can still be addressed as [set \{\{\{\{]. That would instantly avoid a couple of wtf's when code tried on interactive prompt is then placed in braced code blocks of a script, and wouldn't really leave any voids behind. |