emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: emacs-unicode-2: `kinsoku processing' and `nospace-between-words' do


From: Zhang Wei
Subject: Re: emacs-unicode-2: `kinsoku processing' and `nospace-between-words' don't work
Date: Sun, 22 Oct 2006 02:24:48 +0800
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/23.0.0 (gnu/linux)

Zhang Wei <address@hidden> 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.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]