Commit acafeff7 authored by Kenichi Handa's avatar Kenichi Handa

(kinsoku-longer, kinsoku-shorter): Do not choose a

line break position in the middle of a non-kinsoku (e.g. latin)
word, making it skip until either a space or a character with
category "|".
(kinsoku-longer): Test for end of buffer.
parent e019878d
2003-08-29 Thierry Emery <thierry.emery@club-internet.fr> (tiny change)
* kinsoku.el (kinsoku-longer, kinsoku-shorter): Do not choose a
line break position in the middle of a non-kinsoku (e.g. latin)
word, making it skip until either a space or a character with
category "|".
(kinsoku-longer): Test for end of buffer.
2003-08-28 Eli Zaretskii <eliz@elta.co.il>
* mail/rmail.el (rmail-convert-to-babyl-format): Detect
......
......@@ -121,11 +121,17 @@ The value 0 means there's no limitation.")
;; Try to resolve `kinsoku' restriction by making the current line longer.
(defun kinsoku-longer ()
(let ((pos-and-column (save-excursion
(forward-char 1)
(while (aref (char-category-set (following-char)) ?>)
(forward-char 1))
(cons (point) (current-column)))))
(let ((pos-and-column
(save-excursion
(forward-char 1)
(while (and (not (eobp))
(or (aref (char-category-set (following-char)) ?>)
;; protect non-kinsoku words
(not (or (eq (preceding-char) ? )
(aref (char-category-set (preceding-char))
?|)))))
(forward-char 1))
(cons (point) (current-column)))))
(if (or (<= kinsoku-limit 0)
(< (cdr pos-and-column) (+ (current-fill-column) kinsoku-limit)))
(goto-char (car pos-and-column)))))
......@@ -135,9 +141,14 @@ The value 0 means there's no limitation.")
(defun kinsoku-shorter (linebeg)
(let ((pos (save-excursion
(forward-char -1)
(while (and (< linebeg (point))
(or (aref (char-category-set (preceding-char)) ?<)
(aref (char-category-set (following-char)) ?>)))
(while (and
(< linebeg (point))
(or (aref (char-category-set (preceding-char)) ?<)
(aref (char-category-set (following-char)) ?>)
;; protect non-kinsoku words
(not (or (eq (preceding-char) ? )
(aref (char-category-set (preceding-char))
?|)))))
(forward-char -1))
(point))))
(if (< linebeg pos)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment