updated for version 7.4.229
Problem:    Using ":let" for listing variables and the second one is a curly
            braces expression may fail.
Solution:   Check for an "=" in a better way. (ZyX)
diff --git a/src/testdir/test104.in b/src/testdir/test104.in
index f329d2d..fd84713 100644
--- a/src/testdir/test104.in
+++ b/src/testdir/test104.in
@@ -1,4 +1,4 @@
-Tests for autoload.  vim: set ft=vim ts=8 :
+Tests for :let.  vim: set ft=vim ts=8 :
 
 STARTTEST
 :so small.vim
@@ -10,6 +10,20 @@
 :catch
 :  $put ='FAIL: ' . v:exception
 :endtry
+:let a = 1
+:let b = 2
+:for letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a {0 == 1 ? "a" : "b"}']
+:  try
+:    redir => messages
+:    execute 'let' letargs
+:    redir END
+:    $put ='OK:'
+:    $put =split(substitute(messages, '\n', '\0  ', 'g'), '\n')
+:  catch
+:    $put ='FAIL: ' . v:exception
+:    redir END
+:  endtry
+:endfor
 :/^Results/,$wq! test.out
 ENDTEST