Next Previous Up Top Contents Index

18 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

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.
See also

*file-eol-style-detection-algorithm*


LispWorks Reference Manual - 15 Oct 1998

Next Previous Up Top Contents Index

Generated with Harlequin WebMaker