diff options
author | Michal Nazarewicz <mina86@mina86.com> | 2013-11-03 23:29:59 -0500 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2013-11-03 23:29:59 -0500 |
commit | 0a749fa0e64fc88bcd1772253774d7e44ecfe8ce (patch) | |
tree | 214a0cfeb1f5759ffcedd2940ec7852d86920412 /lisp | |
parent | ec79b92bfa0b040917a8f3250fe2f819cd8d92db (diff) | |
download | emacs-0a749fa0e64fc88bcd1772253774d7e44ecfe8ce.tar.gz |
* lisp/textmodes/fill.el (fill-single-char-nobreak-p): New function
checking whether point is after a 1-letter word.
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/ChangeLog | 7 | ||||
-rw-r--r-- | lisp/textmodes/fill.el | 13 |
2 files changed, 18 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index fb4f29befe1..9ff4ab8f04c 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,4 +1,9 @@ -2013-11-03 Nathan Trapuzzano <nbtrap@nbtrap.com> (tiny change) +2013-11-04 Michal Nazarewicz <mina86@mina86.com> + + * textmodes/fill.el (fill-single-char-nobreak-p): New function + checking whether point is after a 1-letter word. + +2013-11-04 Nathan Trapuzzano <nbtrap@nbtrap.com> (tiny change) * progmodes/cperl-mode.el (cperl-font-lock-fontify-region-function): Don't infloop when expanding region over `multiline' syntax-type that diff --git a/lisp/textmodes/fill.el b/lisp/textmodes/fill.el index 119b4b04593..73b9362da76 100644 --- a/lisp/textmodes/fill.el +++ b/lisp/textmodes/fill.el @@ -329,13 +329,24 @@ places." (and (memq (preceding-char) '(?\t ?\s)) (eq (char-syntax (following-char)) ?w))))))) +(defun fill-single-char-nobreak-p () + "Return t if point is placed just after a 1-letter word. +This is used in `fill-nobreak-predicate' to prevent breaking line just +after a 1-letter word (usually conjunction or preposition) which is +considered composition error in Polish and Czech typography." + (save-excursion + (skip-chars-backward " \t") + (backward-char 2) + (looking-at "[[:space:]][[:alpha:]]"))) + (defcustom fill-nobreak-predicate nil "List of predicates for recognizing places not to break a line. The predicates are called with no arguments, with point at the place to be tested. If it returns t, fill commands do not break the line there." :group 'fill :type 'hook - :options '(fill-french-nobreak-p fill-single-word-nobreak-p)) + :options '(fill-french-nobreak-p fill-single-word-nobreak-p + fill-single-char-nobreak-p)) (defcustom fill-nobreak-invisible nil "Non-nil means that fill commands do not break lines in invisible text." |