<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<div>https://github.com/tcsh-org/tcsh/pull/107</div>
<div>It's known variables expand earlier than expression evaluations. The procedure</div>
<div>if ( $?a && "$a" != ) echo "$a"</div>
<div><br>
</div>
<div>would fail if a isn't set. The correct behavior is to evaluate $?a first, and, if expanded to zero, cancel further processing.</div>
<div><br>
</div>
<div>This work remedies the issue by postponing variable expansions during expression evaluations. The function Dfix1 is used for I/O redirections, and fails if the expansion is null or, if not quoted, larger than one word/vector. I believe this behavior is
fine.</div>
<div><br>
</div>
<div>This work was also supposed to fix $< expansions on pipes and redirections. I had some success with a fix, but ends up blocking the shell, making it unusable and uninterruptible.</div>
</body>
</html>