Does the following version of my patch look OK? If nobody ever would want to change `lao-key-alist', one could use something more along the lines of what Stefan suggested. However, the current defconst's are misleading and generate compiler warnings, so _some_ kind of change seems necessary. ===File ~/lao-latest-diff=================================== *** lao.el 01 Sep 2003 16:08:19 -0500 1.8 --- lao.el 22 Nov 2004 19:48:41 -0600 *************** *** 2,7 **** --- 2,8 ---- ;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN. ;; Licensed to the Free Software Foundation. + ;; Copyright (C) 2004 Free Software Foundation. ;; Keywords: multilingual, input method, Lao *************** *** 42,48 **** (compose-string (quail-lookup-map-and-concat quail-current-key)))) control-flag) ! (defconst lao-key-alist '(("!" . "1") ("\"" . "=") ("#" . "3") --- 43,51 ---- (compose-string (quail-lookup-map-and-concat quail-current-key)))) control-flag) ! ;; If you change the value of this variable while lao is already loaded, ! ;; you need to re-load it to properly re-initialize related alists. ! (defvar lao-key-alist '(("!" . "1") ("\"" . "=") ("#" . "3") *************** *** 148,159 **** ("\\9" . "໙") )) ! (defconst lao-consonant-key-alist nil) ! (defconst lao-semivowel-key-alist nil) ! (defconst lao-vowel-key-alist nil) ! (defconst lao-voweltone-key-alist nil) ! (defconst lao-tone-key-alist nil) ! (defconst lao-other-key-alist nil) (let ((tail lao-key-alist) elt phonetic-type) --- 151,170 ---- ("\\9" . "໙") )) ! (defvar lao-consonant-key-alist nil) ! (defvar lao-semivowel-key-alist nil) ! (defvar lao-vowel-key-alist nil) ! (defvar lao-voweltone-key-alist nil) ! (defvar lao-tone-key-alist nil) ! (defvar lao-other-key-alist nil) ! ! ;; These need to be re-initialized if lao is re-loaded. ! (setq lao-consonant-key-alist nil ! lao-semivowel-key-alist nil ! lao-vowel-key-alist nil ! lao-voweltone-key-alist nil ! lao-tone-key-alist nil ! lao-other-key-alist nil) (let ((tail lao-key-alist) elt phonetic-type) *************** *** 197,201 **** --- 208,214 ---- (v-state (lao-vowel-key-alist . t-state)) (t-state lao-tone-key-alist)))) + (provide 'lao) + ;;; arch-tag: 23863a30-a8bf-402c-b7ce-c517a7aa8570 ;;; lao.el ends here ============================================================ LocalWords: diff