aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/language
diff options
context:
space:
mode:
authorKenichi Handa <[email protected]>2005-03-29 07:47:09 +0000
committerKenichi Handa <[email protected]>2005-03-29 07:47:09 +0000
commit675ae7bc050a15b30418aed04ec0b0b6c54842ab (patch)
tree62cd98a612f73423ee588798cbe8e644528ced99 /lisp/language
parentd59ea3ae6d3986d8f9b313b2f1258535ad0674c1 (diff)
(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.
Diffstat (limited to 'lisp/language')
-rw-r--r--lisp/language/thai-word.el52
1 files changed, 38 insertions, 14 deletions
diff --git a/lisp/language/thai-word.el b/lisp/language/thai-word.el
index 82f6fcdea6..9c3ba81859 100644
--- a/lisp/language/thai-word.el
+++ b/lisp/language/thai-word.el
@@ -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 <[email protected]>
@@ -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 @@ If COUNT is negative, move point forward (- COUNT) words."
(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)