Я отлаживал проблему с плагином, работающим в Vim73 в Arch Linux, и, похоже, он произошел из-за ошибки в оценке строкового выражения.
В этой установке Vim выражение 'xxx' > ''
оценивается как 0 (false), тогда как во всех других Vims, которые я видел, выражение оценивает (как и должно быть) в 1 (true).
Кто-нибудь знает объяснение этому?Arch Linux Vim не был скомпилирован с большим количеством встроенных функций, но действительно ли может быть какая-то функция, которая изменяет оценку строковых выражений?
Есть ли какая-то настройка Vim (кодировка?), Которая могла бы изменить результатиз этого сравнения строк?Это была простая установка Vim (ничего особенного в vimrc), которая дала плохой результат, нигде не видела, что параметр можно было бы изменить, даже если есть некоторые параметры, влияющие на этот результат.
Спасибодля любой информации.
ОБНОВЛЕНИЕ: Оказывается, эта проблема была вызвана ошибкой в функции сравнения строк в последней версии 64-битного Vim, когда установлен флаг Vim 'ignorecase',Непустая строка должна быть больше пустой строки независимо от того, игнорируется ли регистр, но Vim возвращал false.Отчет об ошибке здесь: http://groups.google.com/group/vim_dev/browse_thread/thread/313bc7c46a19cd40
В качестве обходного пути можно было бы: (1) использовать оператор сравнения, который принудительно сравнивает регистр соответствия, например, mystring_var ># ''
или (2) использовать !empty(mystring_var)
.