;; kinsoku ascii
(loop for char in (string-to-char-list kinsoku-ascii-bol)
do (modify-category-entry char ?s))
-(loop for char in kinsoku-ascii-eol
+(loop for char in (string-to-char-list kinsoku-ascii-eol)
do (modify-category-entry char ?e))
;; kinsoku-jis
(loop for char in (string-to-char-list kinsoku-jis-bol)
(loop for char in (string-to-char-list kinsoku-jis-eol)
do (modify-category-entry char ?e))
;; kinsoku-gb
-(loop for char in kinsoku-gb-bol
+(loop for char in (string-to-char-list kinsoku-gb-bol)
do (modify-category-entry char ?s))
-(loop for char in kinsoku-gb-eol
+(loop for char in (string-to-char-list kinsoku-gb-eol)
do (modify-category-entry char ?e))
;; kinsoku-big5
-(loop for char in kinsoku-big5-bol
+(loop for char in (string-to-char-list kinsoku-big5-bol)
do (modify-category-entry char ?s))
-(loop for char in kinsoku-big5-eol
+(loop for char in (string-to-char-list kinsoku-big5-eol)
do (modify-category-entry char ?e))
(defun kinsoku-bol-p ()
Uses category \'s\' to check.
point\e$B$G2~9T$9$k$H9TF,6XB'$K?($l$k$+$I$&$+$r$+$($9!#\e(B
\e$B9TF,6XB'J8;z$O\e(B\'s\'\e$B$N\e(Bcategory\e$B$G;XDj$9$k!#\e(B"
- (let ((ch (char-after)))
- (if (and ch
+ (let ((before (char-before))
+ (after (char-after)))
+ (if (and after
(or
- (and kinsoku-ascii (char-in-category-p ch ?a))
- (and kinsoku-jis (char-in-category-p ch ?j))
- (and kinsoku-gb (char-in-category-p ch ?c))
- (and kinsoku-big5 (char-in-category-p ch ?t))))
- (char-in-category-p ch ?s)
+ (and kinsoku-ascii (char-in-category-p after ?a))
+ (and kinsoku-jis (or (char-in-category-p after ?j)
+ (and before
+ (char-in-category-p before ?j))))
+ (and kinsoku-gb (or (char-in-category-p after ?c)
+ (and before
+ (char-in-category-p before ?c))))
+ (and kinsoku-big5 (or (char-in-category-p after ?t)
+ (and before
+ (char-in-category-p before ?t))))))
+ (char-in-category-p after ?s)
nil)))
(defun kinsoku-eol-p ()
Uses category \'e\' to check.
point\e$B$G2~9T$9$k$H9TKv6XB'$K?($l$k$+$I$&$+$r$+$($9!#\e(B
\e$B9TKv6XB'J8;z$O\e(B\'s\'\e$B$N\e(Bcategory\e$B$G;XDj$9$k!#\e(B"
- (let ((ch (char-before)))
- (if (and ch
+ (let ((before (char-before))
+ (after (char-after)))
+ (if (and before
(or
- (and kinsoku-ascii (char-in-category-p ch ?a))
- (and kinsoku-jis (char-in-category-p ch ?j))
- (and kinsoku-gb (char-in-category-p ch ?c))
- (and kinsoku-big5 (char-in-category-p ch ?t))))
- (char-in-category-p ch ?e)
+ (and kinsoku-ascii (char-in-category-p before ?a))
+ (and kinsoku-jis (or (char-in-category-p before ?j)
+ (and after
+ (char-in-category-p after ?j))))
+ (and kinsoku-gb (or (char-in-category-p before ?c)
+ (and after
+ (char-in-category-p after ?c))))
+ (and kinsoku-big5 (or (char-in-category-p before ?t)
+ (and after
+ (char-in-category-p after ?t))))))
+ (char-in-category-p before ?e)
nil)))
(defvar kinsoku-extend-limit nil