All Manuals > LispWorks® User Guide and Reference Manual > 47 The SYSTEM Package

detect-eol-style Function

Summary

Detects the end of line style of a file.

Package

system

Signature

detect-eol-style pathname ef-spec buffer length => new-ef-spec

Arguments
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.
Values
new-ef-spec
A new external format spec created by merging ef-spec with the encoding that was found.
Description

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.

pathname is ignored.

See also

*file-eol-style-detection-algorithm*


LispWorks® User Guide and Reference Manual - 01 Dec 2021 19:31:02