Mercurial > emacs
view lisp/language/lao.el @ 109313:e856a274549b
Constify functions taking char *
* alloc.c (pending_malloc_warning, malloc_warning): Add const.
* callproc.c (relocate_fd, getenv_internal_1, getenv_internal)
(egetenv): Likewise.
* doprnt.c (doprnt): Likewise.
* editfns.c (set_time_zone_rule, format2): Likewise.
* emacs.c (decode_env_path): Likewise.
* eval.c (signal_error, error): Likewise.
* insdel.c (replace_range_2): Likewise.
* keyboard.c (cmd_error_internal): Likewise.
* lread.c (isfloat_string, make_symbol, dir_warning): Likewise.
* print.c (write_string, write_string_1, print_error_message):
Likewise.
* vm-limit.c (warn_function, memory_warnings): Likewise.
* xdisp.c (message1, message1_nolog, message_with_string)
(vmessage, message, message_nolog): Likewise.
* emacs.c: Remove duplicate declaration.
* keyboard.h: Likewise.
* lisp.h: Update prototypes.
author | Andreas Schwab <schwab@linux-m68k.org> |
---|---|
date | Sun, 11 Jul 2010 11:27:13 +0200 |
parents | 1d1d5d9bd884 |
children | 376148b31b5e |
line wrap: on
line source
;;; lao.el --- support for Lao -*- coding: utf-8; no-byte-compile: t -*- ;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 ;; Free Software Foundation, Inc. ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, ;; 2007, 2008, 2009, 2010 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO021 ;; Copyright (C) 2003 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H13PRO009 ;; Keywords: multilingual, Lao ;; This file is part of GNU Emacs. ;; GNU Emacs is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. ;;; Commentary: ;;; Code: (define-coding-system 'lao "8-bit encoding for ASCII (MSB=0) and LAO (MSB=1)." :coding-type 'charset :mnemonic ?L :charset-list '(lao)) (set-language-info-alist "Lao" '((charset lao) (coding-system lao) (coding-priority lao) (input-method . "lao") (unibyte-display . lao) (features lao-util) (documentation . t))) (let ((consonant "ກ-ຮໜໝ") (tone "່-໌") (vowel-upper-lower "ັິ-ົໍ") (semivowel-lower "ຼ") (fallback-rule [nil 0 compose-gstring-for-graphic])) ;; target characters regexp ;; ----------------- ------ (dolist (l `((,vowel-upper-lower . "[c].[t]?") (,tone . "[c].") (,semivowel-lower . "[c].[v][t]?") (,semivowel-lower . "[c].[t]"))) (let* ((chars (car l)) (len (length chars)) ;; Replace `c', `t', `v' to consonant, tone, and vowel. (regexp (mapconcat #'(lambda (c) (cond ((= c ?c) consonant) ((= c ?t) tone) ((= c ?v) vowel-upper-lower) (t (string c)))) (cdr l) "")) ;; Element of composition-function-table. (elt (list (vector regexp 1 'lao-composition-function) fallback-rule)) ch) (dotimes (i len) (setq ch (aref chars i)) (if (and (> i 1) (= (aref chars (1- i)) ?-)) ;; End of character range. (set-char-table-range composition-function-table (cons (aref chars (- i 2)) ch) elt) (if (or (= (1+ i) len) (and (/= ch ?-) (/= (aref chars (1+ i)) ?-))) ;; A character not forming a range. (set-char-table-range composition-function-table ch elt))))))) (provide 'lao) ;; arch-tag: ba540fd9-6352-4449-a9cd-669afd21fa57 ;;; lao.el ends here