Package: vim Version: 2:7.4.963-1+b2 Severity: normal Given a file containing the following:
""" #!/bin/sh if true; then echo Something fi apply_patch make-some-case-work if true; then echo Something fi apply_patch make-some-esac-work if true; then echo Something fi """ vim will highlight the 'case' in 'make-some-case-work' as though a keyword. Its parser then gets confused, such that it highlights the second 'fi' in red as an error. vim will do the same for the closing brace of a function, or the 'done' of a loop. A subsequent 'esac' (even if in the middle of a filename) will get the syntax highlighting back into the right state. (Conversely, a use of 'esac' other than as a shell construct, without vim already in this confused state from a 'case', will get highlighted in red as though an error.) Other keywords, like 'if' and 'while', get highlighted in the middle of filenames or similar but don't seem to confuse the parser in the same way. - Josh Triplett -- Package-specific info: --- real paths of main Vim binaries --- /usr/bin/vi is /usr/bin/vim.basic /usr/bin/vim is /usr/bin/vim.basic -- System Information: Debian Release: stretch/sid APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.4.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages vim depends on: ii libacl1 2.2.52-3 ii libc6 2.22-3 ii libgpm2 1.20.4-6.1+b2 ii libselinux1 2.4-3+b1 ii libtinfo5 6.0+20160213-1 ii vim-common 2:7.4.963-1+b2 ii vim-runtime 2:7.4.963-1 vim recommends no packages. Versions of packages vim suggests: pn ctags <none> pn vim-doc <none> ii vim-scripts 20130814 -- no debconf information