> We're talking about what sentence-end should match; that is to say, > where M-e should stop. > > It should stop after an ellipsis if the ellipsis is followed by two > spaces or a newline. An ellipsis followed by just one space is not > the end of a sentence. > > As for filling, it does not break the line after a period > followed by one space, because doing so would make it appear > to be the end of a sentence.
While looking at fixing this, I noticed that there are more cases where `fill-nobreak-p' doesn't allow breaking at the end of a sentence (where M-e stops). For example, filling: It's not necessary to buy a new computer just for a DVD drive. . . Today, the most important part of a computer is the amount of RAM -- the more, the better. It's far more important than a fast CPU. doesn't break at two spaces between `. . .' and `Today'. Whereas the expected result of filling would be: It's not necessary to buy a new computer just for a DVD drive. . . Today, the most important part of a computer is the amount of RAM -- the more, the better. It's far more important than a fast CPU. There is another example: It's not necessary to buy a new computer just for a DVD drive. . . Today, the most important part of a computer is the amount of RAM -- the more, the better. It's far more important than a fast CPU. where filling breaks at wrong point, turning this paragraph into: It's not necessary to buy a new computer just for a DVD drive. . . Today, the most important part of a computer is the amount of RAM -- the more, the better. It's far more important than a fast CPU. while the expected result should have breaking at two spaces: It's not necessary to buy a new computer just for a DVD drive. . . Today, the most important part of a computer is the amount of RAM -- the more, the better. It's far more important than a fast CPU. The patch below fixes these cases as well as the original problem: Index: lisp/textmodes/fill.el =================================================================== RCS file: /cvsroot/emacs/emacs/lisp/textmodes/fill.el,v retrieving revision 1.181 diff -c -r1.181 fill.el *** lisp/textmodes/fill.el 9 Aug 2005 14:01:29 -0000 1.181 --- lisp/textmodes/fill.el 14 Oct 2005 11:38:09 -0000 *************** *** 344,356 **** ;; it at the end of the line. (and sentence-end-double-space (save-excursion ! (skip-chars-backward ". ") ! (looking-at "\\. \\([^ ]\\|$\\)"))) ;; Another approach to the same problem. (save-excursion ! (skip-chars-backward ". ") ! (and (looking-at "\\.") ! (not (looking-at (sentence-end))))) ;; Don't split a line if the rest would look like a new paragraph. (unless use-hard-newlines (save-excursion --- 344,357 ---- ;; it at the end of the line. (and sentence-end-double-space (save-excursion ! (skip-chars-backward " ") ! (and (eq (preceding-char) ?.) ! (looking-at " \\([^ ]\\|$\\)")))) ;; Another approach to the same problem. (save-excursion ! (skip-chars-backward " ") ! (and (eq (preceding-char) ?.) ! (not (progn (forward-char -1) (looking-at (sentence-end)))))) ;; Don't split a line if the rest would look like a new paragraph. (unless use-hard-newlines (save-excursion -- Juri Linkov http://www.jurta.org/emacs/ _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel