]> git.ipfire.org Git - thirdparty/vim.git/commit
runtime(sieve): preserve existing line endings in ftplugin
authorAndré-Patrick Bubel <code@apb.name>
Fri, 9 Jan 2026 17:44:04 +0000 (17:44 +0000)
committerChristian Brabandt <cb@256bit.org>
Fri, 9 Jan 2026 17:44:04 +0000 (17:44 +0000)
commitfc00006777594f969ba8fcff676e6ca1bcb43546
tree81d2d729bf8caf0c960196b3b1b861af55d79c9a
parent4023bd270a89a10feb9ca33c50b0c37b7da5e459
runtime(sieve): preserve existing line endings in ftplugin

Only set fileformat=dos for new files; preserve existing line endings
when editing. This satisfies RFC 5228 for new files while avoiding
issues with version control and existing workflows.

The previous change (3cb4148) unconditionally set fileformat=dos, which
converts existing files with LF line endings to CRLF on save. This
causes issues with version control (entire file appears changed) and
breaks workflows where sieve files are stored with unix line endings.

Dovecot Pigeonhole (the main sieve implementation) has explicitly
accepted LF line endings since 2008 (commit 97b967b5):
  /* Loose LF is allowed (non-standard) and converted to CRLF */
This behavior has remained unchanged for almost 18 years.

closes: #19144

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Signed-off-by: André-Patrick Bubel <code@apb.name>
Signed-off-by: Christian Brabandt <cb@256bit.org>
runtime/ftplugin/sieve.vim