[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Beginingless paragraphs
From: |
Richard M. Stallman |
Subject: |
Re: Beginingless paragraphs |
Date: |
Sun, 04 Sep 2005 12:49:38 -0400 |
Overall, the change is good, but there are many details that should be
done differently.
I've worked out just what's been bugging me, and that's the definition of
`paragraph-start': It suggests (though it doesn't quite explicitly say)
that paragraph-start matches the start of _every_ paragraph. This isn't
true - any line following a separator line is the start of a paragraph.
That is true, but paragraph-start does have a match at or just before
the start of every paragraph. THat's because it is supposed to match
separator lines, too.
OK, here's my first shot at a patch: As a matter of interest, what's
this node doing in "Searching and Matching"?
Because that's where regexps are.
! This section describes the regular expressions Emacs uses to
! recognize pages, paragraphs, and sentences. By setting these
! variables appropriately, the Elisp programmer can control the precise
Please write "Emacs Lisp".
! @table @asis
! @cindex page
! @item Pages
@defvar page-delimiter
! This is the regular expression describing line-beginnings that
! separate pages. The default value is @code{"^\014"} (i.e.,
Using @defvar inside of @table is a peculiar thing to do.
It may look bad in TeX or in Makeinfo.
! This is the regular expression describing line-beginnings that
"Describing" is vague; what it does is match them.
! Buffers divide into @dfn{paragraphs},
That is a strange way to put it. It sounds like you're saying that
buffers actually split up. It would be better to make this
parallel to the info about pages.
! normally don't address@hidden is possible for a blank line to be
! both the last line of one paragraph and the first line of the next.}.
Are you sure? I don't think so. A blank line would normally
be a separator line, not the first or last line of any paragraph.
! This regular expression recognizes a line which starts a paragraph
! when the previous line is not a separator. It need only match some
! portion beginning at the line's left margin (@pxref{Margins for
! Filling}), not the whole line. It must also be set up to recognize a
! separator line.
I think this way of putting it is less clear than the the current way:
that it should match lines that either start or separate paragraphs.
+ The two variant forms of paragraph breaks are:
+
+ @table @asis
+ @item Paragraph break without separator lines
+ Any line, apart from a separator line, which @code{paragraph-start}
+ recognizes starts a new paragraph.
+
+ @item Paragraph break with separator lines
+ One or more separator lines split the old paragraph from the new one.
+ Whether @code{paragraph-start} would also recognize the first line of
+ the new paragraph is irrelevant.
+ @end table
Itemizing these two is a good idea (but you should use @itemize, not
@table). However, calling them "variant forms" is confusing.
I suggest calling them "two ways that paragraphs can be separated".
Also I suggest swapping them, because the first one is the usual case
and the simplest case to understand.
+
+ As a heuristic feature,
The phrase "heuristic feature" does not make sense to me.
if a line tentatively recognized as the
+ start of a paragraph follows a whitespace line, the whitespace line
+ becomes the start of the paragraph instead.
That is a confusing way to put it. It's clearer to say "is included in the
paragraph" than "becomes the start of the paragraph".