Detects the end of line style of a file.
system
detect-eol-style pathname ef-spec buffer length => new-ef-spec
| pathname⇩ |
Pathname identifying location of buffer. |
| ef-spec⇩ |
An external format spec. |
| buffer⇩ |
A buffer whose contents are examined. |
| length⇩ |
Length (an integer) up to which buffer should be examined. |
| new-ef-spec |
A new external format spec created by merging ef-spec with the encoding that was found. |
The function detect-eol-style attempts to detect the end of line style from buffer.
When the encoding in ef-spec has foreign type (unsigned-byte 8), search buffer up to length for the first occurrence of the byte (10). If found, and it is preceded in buffer by (13), merge ef-spec with:
(:default :eol-style :crlf)
If found and is not preceded by (13), merge ef-spec with:
(:default :eol-style :lf)
Thus a complete external format spec is constructed. Otherwise, return ef-spec.
When the encoding in ef-spec has foreign type (unsigned-byte 16), search buffer up to length for the first occurrence of the byte sequence (13 0 10). If found, merge ef-spec with:
(:default :eol-style :crlf)
If (13 0 10) is not found, search buffer up to length for (10 0) or (0 10). If found, merge ef-spec with:
(:default :eol-style :lf)
Thus a complete external format spec is constructed. Otherwise, return ef-spec.
LispWorks® User Guide and Reference Manual - 18 Feb 2025 15:32:47