The post here establishes the line feed character char(10) is considered as a value separator in a string of text (just like a carriage return would).
The quote function is used by members of the community, not only to prevent evaluation by the calculation engine, but also as a means to encapsulate data elements in a single string of text that will be parsed later on. Among possible uses, position based script parameters (as opposed to some type of name pair convention) is one of the existing use case. Basically, anything where a developper would do something like:
list ( quote(firstField) ; quote(secondField) )
and then use value based functions to parse the contents where the parsing technique relies on the assumption a quoted field will always output a single value. This assumption is proven false if a line feed character is present in any fields being quoted. In the example above, if firstField contains a line feed that is not the last character of the field, the output of the list function will have valuecount = 3.
Updating both the quote() and evaluate() functions to handle line feeds in a similar fashion to the carriage returns would fix this problem.