From: Kenichi Handa Date: Tue, 18 Aug 2009 01:26:28 +0000 (+0000) Subject: (ucs-normalize-version): Changed to 1.1. X-Git-Tag: emacs-pretest-23.1.90~1812 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=58627cf05b69b8b7049947198ca47fad3b865a17;p=emacs.git (ucs-normalize-version): Changed to 1.1. (ucs-normalize-hfs-nfd-pre-write-conversion): New function. (utf-8-hfs): Make it perform normalization on encoding too. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index cc083c22aae..876e322c36e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,10 @@ 2009-08-18 Kenichi Handa + * international/ucs-normalize.el (ucs-normalize-version): Changed + to 1.1. + (ucs-normalize-hfs-nfd-pre-write-conversion): New function. + (utf-8-hfs): Make it perform normalization on encoding too. + * textmodes/paragraphs.el: Change to utf-8. Adjust coding cookie. (sentence-end-without-space): Delete duplicated chars. (sentence-end-base): Likewise. diff --git a/lisp/international/ucs-normalize.el b/lisp/international/ucs-normalize.el index 0c0f162efb2..22f0ca93eeb 100644 --- a/lisp/international/ucs-normalize.el +++ b/lisp/international/ucs-normalize.el @@ -108,7 +108,7 @@ ;;; Code: -(defconst ucs-normalize-version "1.1beta2") +(defconst ucs-normalize-version "1.1") (eval-when-compile (require 'cl)) @@ -589,19 +589,26 @@ COMPOSITION-PREDICATE will be used to compose region." (ucs-normalize-HFS-NFC-region (point-min) (point-max)) (- (point-max) (point-min)))))) +;; Pre-write conversion for `utf-8-hfs'. +(defun ucs-normalize-hfs-nfd-pre-write-conversion (from to) + (let ((old-buf (current-buffer))) + (set-buffer (generate-new-buffer " *temp*")) + (if (stringp from) + (insert from) + (insert-buffer-substring old-buf from to)) + (ucs-normalize-HFS-NFD-region (point-min) (point-max)) + nil)) + ;;; coding-system definition (define-coding-system 'utf-8-hfs - "UTF-8 base coding system with normalization on decoding. + "UTF-8 based coding system for MacOS HFS file names. The singleton characters in HFS normalization exclusion will not -be decomposed. It doesn't perform normalization on encoding." +be decomposed." :coding-type 'utf-8 :mnemonic ?U :charset-list '(unicode) - ;; :decode-translation-table (not necessary) :post-read-conversion 'ucs-normalize-hfs-nfd-post-read-conversion - ;; NFD encoder is not necessary because MacOS will automatically do it. - ;; :encode-translation-table 'nfd-encode-translation-table - ;; :pre-write-conversion 'nfd-encode-function + :pre-write-conversion 'ucs-normalize-hfs-nfd-pre-write-conversion ) (provide 'ucs-normalize)