|
2003 | 2003 | (let ((a (cadr lhs))
|
2004 | 2004 | (idxs (cddr lhs))
|
2005 | 2005 | (rhs (caddr e)))
|
| 2006 | + (if (any assignment? idxs) |
| 2007 | + (syntax-deprecation "assignment inside indexing" "" #f)) |
2006 | 2008 | (let* ((reuse (and (pair? a)
|
2007 | 2009 | (contains (lambda (x) (eq? x 'end))
|
2008 | 2010 | idxs)))
|
|
2061 | 2063 | 'ref
|
2062 | 2064 | (lambda (e)
|
2063 | 2065 | (let ((args (cddr e)))
|
| 2066 | + (if (any assignment? args) |
| 2067 | + (syntax-deprecation "assignment inside indexing" "" #f)) |
2064 | 2068 | (if (has-parameters? args)
|
2065 | 2069 | (error "unexpected semicolon in array expression")
|
2066 | 2070 | (expand-forms (partially-expand-ref e)))))
|
|
2069 | 2073 | (lambda (e)
|
2070 | 2074 | (if (has-parameters? (cddr e))
|
2071 | 2075 | (error (string "unexpected semicolon in \"" (deparse e) "\"")))
|
| 2076 | + (if (any assignment? (cddr e)) |
| 2077 | + (syntax-deprecation "assignment inside T{ }" "" #f)) |
2072 | 2078 | (let* ((p (extract-implicit-whereparams e))
|
2073 | 2079 | (curlyparams (car p))
|
2074 | 2080 | (whereparams (cdr p)))
|
|
2241 | 2247 | (lambda (e)
|
2242 | 2248 | (if (has-parameters? (cdr e))
|
2243 | 2249 | (error "unexpected semicolon in array expression"))
|
| 2250 | + (if (any assignment? (cdr e)) |
| 2251 | + (syntax-deprecation "assignment inside [ ]" "" #f)) |
2244 | 2252 | (expand-forms `(call (top vect) ,@(cdr e))))
|
2245 | 2253 |
|
2246 | 2254 | 'hcat
|
2247 |
| - (lambda (e) (expand-forms `(call (top hcat) ,@(cdr e)))) |
| 2255 | + (lambda (e) |
| 2256 | + (if (any assignment? (cdr e)) |
| 2257 | + (syntax-deprecation "assignment inside [ ]" "" #f)) |
| 2258 | + (expand-forms `(call (top hcat) ,@(cdr e)))) |
2248 | 2259 |
|
2249 | 2260 | 'vcat
|
2250 | 2261 | (lambda (e)
|
2251 | 2262 | (let ((a (cdr e)))
|
| 2263 | + (if (any assignment? a) |
| 2264 | + (syntax-deprecation "assignment inside [ ]" "" #f)) |
2252 | 2265 | (if (has-parameters? a)
|
2253 | 2266 | (error "unexpected semicolon in array expression")
|
2254 | 2267 | (expand-forms
|
|
2267 | 2280 | `(call (top vcat) ,@a))))))
|
2268 | 2281 |
|
2269 | 2282 | 'typed_hcat
|
2270 |
| - (lambda (e) (expand-forms `(call (top typed_hcat) ,@(cdr e)))) |
| 2283 | + (lambda (e) |
| 2284 | + (if (any assignment? (cddr e)) |
| 2285 | + (syntax-deprecation "assignment inside T[ ]" "" #f)) |
| 2286 | + (expand-forms `(call (top typed_hcat) ,@(cdr e)))) |
2271 | 2287 |
|
2272 | 2288 | 'typed_vcat
|
2273 | 2289 | (lambda (e)
|
2274 | 2290 | (let ((t (cadr e))
|
2275 | 2291 | (a (cddr e)))
|
| 2292 | + (if (any assignment? (cddr e)) |
| 2293 | + (syntax-deprecation "assignment inside T[ ]" "" #f)) |
2276 | 2294 | (expand-forms
|
2277 | 2295 | (if (any (lambda (x)
|
2278 | 2296 | (and (pair? x) (eq? (car x) 'row)))
|
|
0 commit comments