Zhang Wei <[EMAIL PROTECTED]> writes: > `kinsoku processing' and `nospace-between-words' don't work with > auto-fill-mode.
Would this patch be useful?
? patch ? admin/unidata/unidata.txt Index: lisp/international/characters.el =================================================================== RCS file: /cvsroot/cvs.savannah.gnu.org/emacs/emacs/lisp/international/characters.el,v retrieving revision 1.42.4.18 diff -u -r1.42.4.18 characters.el --- lisp/international/characters.el 28 Aug 2006 02:32:19 -0000 1.42.4.18 +++ lisp/international/characters.el 21 Oct 2006 18:09:44 -0000 @@ -869,8 +869,10 @@ ;; Setup auto-fill-chars for charsets that should invoke auto-filling. -;; SPACE and NEWLINE are already set. Also put `nospace-between-words' -;; property on the charsets. +;; SPACE and NEWLINE are already set, put `nospace-between-words' +;; property on the charsets. Also put `fill-find-break-point-function' +;; property to charsets which require special functions to find line +;; breaking point. (set-char-table-range auto-fill-chars '(#x3041 . #x30FF) t) (set-char-table-range auto-fill-chars '(#x3400 . #x4DB5) t) @@ -879,16 +881,31 @@ (set-char-table-range auto-fill-chars '(#xFF00 . #xFF9F) t) (set-char-table-range auto-fill-chars '(#x20000 . #x2FFFF) t) -(let ((l '(katakana-jisx0201 - japanese-jisx0208 japanese-jisx0212 - japanese-jisx0213-1 japanese-jisx0213-2 - chinese-gb2312 chinese-gbk chinese-big5-1 chinese-big5-2 - chinese-cns11643-1 chinese-cns11643-2 chinese-cns11643-3 - chinese-cns11643-4 chinese-cns11643-5 chinese-cns11643-6 - chinese-cns11643-7))) - (while l - (put-charset-property (car l) 'nospace-between-words t) - (setq l (cdr l)))) +(dolist (pair '((katakana-jisx0201 . kinsoku) + (japanese-jisx0208 . kinsoku) + (japanese-jisx0212 . kinsoku) + (japanese-jisx0213-1 . kinsoku) + (japanese-jisx0213-2 . kinsoku) + (chinese-gb2312 . kinsoku) + (chinese-gbk . kinsoku) + (gb18030-2-byte . kinsoku) + (gb18030-4-byte-bmp . kinsoku) + (gb18030-4-byte-smp . kinsoku) + (gb18030-4-byte-ext-1 . kinsoku) + (gb18030-4-byte-ext-2 . kinsoku) + (chinese-big5-1 . kinsoku) + (chinese-big5-2 . kinsoku) + (big5-hkscs . kinsoku) + (chinese-cns11643-1 . kinsoku) + (chinese-cns11643-2 . kinsoku) + (chinese-cns11643-3 . kinsoku) + (chinese-cns11643-4 . kinsoku) + (chinese-cns11643-5 . kinsoku) + (chinese-cns11643-6 . kinsoku) + (chinese-cns11643-7 . kinsoku) + (unicode . kinsoku))) + (put-charset-property (car pair) 'fill-find-break-point-function (cdr pair)) + (put-charset-property (car pair) 'nospace-between-words t)) ;; CJK double width characters. Index: lisp/textmodes/fill.el =================================================================== RCS file: /cvsroot/cvs.savannah.gnu.org/emacs/emacs/lisp/textmodes/fill.el,v retrieving revision 1.164.2.16 diff -u -r1.164.2.16 fill.el --- lisp/textmodes/fill.el 14 Sep 2006 09:23:51 -0000 1.164.2.16 +++ lisp/textmodes/fill.el 21 Oct 2006 18:09:44 -0000 @@ -368,16 +368,6 @@ (looking-at paragraph-start)))) (run-hook-with-args-until-success 'fill-nobreak-predicate))))) -;; Put `fill-find-break-point-function' property to charsets which -;; require special functions to find line breaking point. -(dolist (pair '((katakana-jisx0201 . kinsoku) - (chinese-gb2312 . kinsoku) - (japanese-jisx0208 . kinsoku) - (japanese-jisx0212 . kinsoku) - (chinese-big5-1 . kinsoku) - (chinese-big5-2 . kinsoku))) - (put-charset-property (car pair) 'fill-find-break-point-function (cdr pair))) - (defun fill-find-break-point (limit) "Move point to a proper line breaking position of the current line. Don't move back past the buffer position LIMIT.
_______________________________________________ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug