Blob Blame Raw
--- a/check.t	2010/07/19 22:41:01	1.383
+++ b/check.t	2010/07/21 11:31:13	1.384
@@ -184,6 +184,17 @@ stdin:
 expected-stdout:
 	tf
 	tf
+---
+name: alias-10
+description:
+	Check that recursion is detected/avoided in aliases.
+	Regression, introduced during an old bugfix.
+stdin:
+	alias foo='print hello '
+	alias bar='foo world'
+	echo $(bar)
+expected-stdout:
+	hello world
 ---
 name: arith-lazy-1
 description:
--- a/lex.c	2010/07/17 22:09:36	1.116
+++ b/lex.c	2010/07/21 11:31:15	1.117
@@ -1110,7 +1110,7 @@ yylex(int cf)
 			else {
 				Source *s = source;
 
-				while (s->flags & SF_HASALIAS)
+				while (s && (s->flags & SF_HASALIAS))
 					if (s->u.tblp == p)
 						return (LWORD);
 					else