From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: To: 9fans@9fans.net Date: Tue, 25 Nov 2014 19:37:07 +0000 From: trebol@india.com In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: Re: [9fans] rc: null list in concatenation Topicbox-Message-UUID: 2e368746-ead9-11e9-9d60-3106f5b1d025 > maia% (aa bb)=aaaa; echo bbbb > rc: variable name not singleton! Interesting, I could expect something like '(aa bb) = aaaa --> aa=aaaa bb=aaaa' but of course there is not a concatenation, but an assigment. > It's a "null list" not a "null string". You can use a null string: > > % s='' > % ls $s^/x > > but not a null list (like using null in many lisp list operations, or the > difference between strcat of nil and strcat of ""): > > % s=() > % ls $s^/x > rc (-/bin/rc): null list in concatenation > > A completely unset variable is a null list. Also, `{...} returns a list > (of words) not a string, > hence the diagnostic in that case. Yeah... thanks a lot! So the correct way must bem something like: a = ('' `{ls file})^test; echo 'this part _is_ executed if file doesn''t exist' I feel ashamed... The man page is beautifully written, except may be the '\t\n' notation. Now this is not confusing for me because I've in mind that Plan9 ignore those escape sequence, but at first with my unix reflexes that was a problem, and I think it's important to remember those first steps to improve documentation. I remember the first time I type. $ man bash I had to power off the computer and go to the beach. trebol.