Mercurial > emacs
changeset 61079:e40c5e9ccd69
(thai-word-table): Declare it by defvar,
use dolist to initialize it.
(thai-kill-word, thai-backward-kill-word, thai-transpose-words)
(thai-fill-find-break-point): New functions.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Tue, 29 Mar 2005 07:47:09 +0000 |
parents | d93a1dcde0e5 |
children | 2ca1aa1eb959 |
files | lisp/language/thai-word.el |
diffstat | 1 files changed, 38 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/language/thai-word.el Tue Mar 29 06:03:46 2005 +0000 +++ b/lisp/language/thai-word.el Tue Mar 29 07:47:09 2005 +0000 @@ -1,7 +1,8 @@ ;;; thai-word.el -- find Thai word boundaries -;; Copyright (C) 2000, 2001, 2002, 2003, 2004 -;; Electrotechnical Laboratory, JAPAN. +;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 +;; National Institute of Advanced Industrial Science and Technology (AIST) +;; Registration Number H14PRO021 ;; Author: Kenichi HANDA <handa@etl.go.jp> @@ -72,13 +73,10 @@ ;; which means that you can easily index the list character by ;; character. -(defconst thai-word-table nil) - - -;; Set up `thai-word-table'. - -(let - ((l +(defvar thai-word-table + (let ((table (list 'thai-words))) + (dolist (elt + ;;; The following is indented as this to minimize this file size. '("¡¡" "¡¡Å" "¡¡Ø¸Àѳ±ì" @@ -10732,11 +10730,10 @@ "äÎâ¡ÃÁÔàµÍÃì" "äÎâ´Ã¤ÒÃìºÍ¹" "äÎâÅ" - ))) - (setq thai-word-table (list 'thai-words)) - (while l - (set-nested-alist (car l) 1 thai-word-table) - (setq l (cdr l)))) + )) + (set-nested-alist elt 1 table)) + table) + "Nested alist of Thai words.") (defun thai-update-word-table (file &optional append) @@ -11042,6 +11039,33 @@ (thai-forward-word (- count))) +(defun thai-kill-word (arg) + "Like kill-word but pay attention to Thai word boundaries. +With argument, do this that many times." + (interactive "p") + (kill-region (point) (progn (thai-forward-word arg) (point)))) + + +(defun thai-backward-kill-word (arg) + "Like backward-kill-word but pay attention to Thai word boundaries." + (interactive "p") + (thai-kill-word (- arg))) + + +(defun thai-transpose-words (arg) + "Like transpose-words but pay attention to Thai word boundaries." + (interactive "*p") + (transpose-subr 'thai-forward-word arg)) + +(defun thai-fill-find-break-point (linebeg) + "Go to a line breaking position near point considering Thai word boundaries." + (let ((pos (point))) + (thai-forward-word -1) + (when (<= (point) linebeg) + (goto-char pos) + (thai-forward-word 1)) + (kinsoku linebeg))) + (provide 'thai-word)