diff --git a/src/julia-parser.scm b/src/julia-parser.scm index c77ab37a4594b7..2f855440e54824 100644 --- a/src/julia-parser.scm +++ b/src/julia-parser.scm @@ -2038,15 +2038,18 @@ (take-token s) (with-space-sensitive (let* ((head (parse-unary-prefix s)) - (t (peek-token s))) - (if (ts:space? s) - `(macrocall ,(macroify-name head) - ,@(parse-space-separated-exprs s)) - (let ((call (parse-call-chain s head #t))) - (if (and (pair? call) (eq? (car call) 'call)) - `(macrocall ,(macroify-name (cadr call)) ,@(cddr call)) - `(macrocall ,(macroify-name call) - ,@(parse-space-separated-exprs s)))))))) + (t (peek-token s)) + (rval + (if (ts:space? s) + `(macrocall ,(macroify-name head) + ,@(parse-space-separated-exprs s)) + (let ((call (parse-call-chain s head #t))) + (if (and (pair? call) (eq? (car call) 'call)) + `(macrocall ,(macroify-name (cadr call)) ,@(cddr call)) + `(macrocall ,(macroify-name call) + ,@(parse-space-separated-exprs s))))))) + (if (eqv? head '__LOCATION__) `(let ,rval (= __LOCATION__ ,(line-number-node s))) + rval)))) ;; command syntax ((eqv? t #\`)