I am trying out MacVim for the first time and Vim seems to think I have a surplus of closing parentheses:
However, Vim seems to change it's mind. Each highlighted closing parenthesis is no longer highlighted after placing the cursor over it. I demonstrate this in a short video:
https://www.youtube.com/watch?v=0O9pthxkSRE
(Notice the highlighted closing parentheses at the end of the 1st, 3rd, and 4th procedure definition.)
I confirmed that the parentheses are balanced using DrRacket, and the code does compile and run properly. In an attempt to troubleshoot, I tested the code using MacVim on a different user account on the same computer. Parentheses were still being highlighted as if they were surplus.
The full text of the file, named yetanotherscm.scm
is here:
(define atom?
(lambda (x)
(and (not (pair? x)) (not (null? x)))))
(define lat?
(lambda (l)
(cond
((null? l) #t)
((atom? (car l))(lat? (cdr l)))
(else #f))))
(define member?
(lambda (a lat)
(cond
((null? lat) #f)
((eq? a (car lat)) #t)
(else (member? a (cdr lat))))))
(define rember
(lambda (a lat)
(cond
((null? lat) lat)
((eq? a (car lat))(cdr lat))
(else (cons (car lat) (rember a (cdr lat)))))))
(define firsts
(lambda (l)
(cond
((null? l) '())
(else (cons (car (car l)) (firsts (cdr l)))))))
(define sbst
(lambda (new old lat)
(cond
((null? lat) '() )
((eq? (car lat) old)(cons new (cdr lat)))
(else (cons (car lat) (sbst new old (cdr lat)) )))))
(sbst 'joseph 'hpesoj '(joseph spelt backwords is hpesoj is it not?))
(define multirember
(lambda (a lat)
(cond
((null? lat) lat)
((eq? (car lat) a)(multirember a (cdr lat)))
((cons (car lat) (multirember a (cdr lat)))))))
(define multiinsertR
(lambda (new old lat)
(cond
((null? lat) lat)
((eq? (car lat) old)(cons old (cons new (multiinsertR new old (cdr lat)))))
(else (cons (car lat) (multiinsertR new old (cdr lat)))))))
(multiinsertR 'new 'old '(this table is old and i am happy that it is old so old happy))
(define multiinsertL2
(lambda (new old lat)
(cond
((null? lat) lat)
((eq? (car lat) old)(cons new (cons old (multiinsertL2 new old (cdr lat)))))
(else (cons (car lat) (multiinsertL2 new old (cdr lat))))
)))
(multiinsertL2 'fried 'fish '(chips and fish or fish and fried))
(define multisubst
(lambda (new old lat)
(cond
((null? lat) lat)
((eq? (car lat) old) (cons new (multisubst new old (cdr lat))))
(else (cons (car lat) (multisubst new old (cdr lat)))))))
(multisubst 'joe 'joseph '(joseph is a pretty cool guy joseph was not here joseph))
(define two-in-a-row
(lambda (lat)
(cond
((null? lat) #f)
((eq? (car lat) (car (cdr lat) #t)))
(else (two-in-a-row (cdr lat))))))
The version of Vim/MacVim:
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jun 8 2015 16:45:59)
MacOS X (unix) version
Included patches: 1-712
Compiled by Homebrew
- Do you have any idea what's going on?
- What steps can i take to correct this?
- Is there a user preferences file(s)/folder(s) i can delete, so I can reinstall MacVim through Homebrew?