summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorKenichi Handa <handa@m17n.org>1997-03-18 23:14:07 +0000
committerKenichi Handa <handa@m17n.org>1997-03-18 23:14:07 +0000
commitcf33d172193e945aae1c8ffab99a141f27158ffc (patch)
treec7520a38381f993a64e75f961e0646accb273238 /lisp
parentb274e305830448554957f0cabb7a99603497906d (diff)
downloademacs-cf33d172193e945aae1c8ffab99a141f27158ffc.tar.gz
(viet-decode-viqr-region): Supply correct
argumnents to rassoc. (viqr-post-read-conversion, viqr-pre-write-conversion): New functions.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/language/viet-util.el23
1 files changed, 21 insertions, 2 deletions
diff --git a/lisp/language/viet-util.el b/lisp/language/viet-util.el
index cbae104a523..af6a5519357 100644
--- a/lisp/language/viet-util.el
+++ b/lisp/language/viet-util.el
@@ -224,7 +224,7 @@ positions (integers or markers) specifying the stretch of the region."
(goto-char (point-min))
(while (re-search-forward viqr-regexp nil t)
(let* ((viqr (buffer-substring (match-beginning 0) (match-end 0)))
- (ch (car (rassoc viet-viqr-alist viqr))))
+ (ch (car (rassoc viqr viet-viqr-alist))))
(if ch
(progn
(delete-region (match-beginning 0) (match-end 0))
@@ -247,7 +247,7 @@ positions (integers or markers) specifying the stretch of the region."
(goto-char (point-min))
(while (re-search-forward "\\cv" nil t)
(let* ((ch (preceding-char))
- (viqr (cdr (assoc viet-viqr-alist ch))))
+ (viqr (cdr (assq ch viet-viqr-alist))))
(if viqr
(progn
(delete-char -1)
@@ -259,6 +259,25 @@ positions (integers or markers) specifying the stretch of the region."
(interactive)
(viet-encode-viqr-region (point-min) (point-max)))
+;;;###autoload
+(defun viqr-post-read-conversion (len)
+ (save-excursion
+ (save-restriction
+ (narrow-to-region (point) (+ (point) len))
+ (let ((buffer-modified-p (buffer-modified-p)))
+ (viet-decode-viqr-region (point-min) (point-max))
+ (set-buffer-modified-p buffer-modified-p)
+ (- (point-max) (point-min))))))
+
+;;;###autoload
+(defun viqr-pre-write-conversion (from to)
+ (let ((old-buf (current-buffer))
+ (work-buf (get-buffer-create " *viet-work*")))
+ (set-buffer work-buf)
+ (erase-buffer)
+ (insert-buffer-substring old-buf from to)
+ (viet-encode-viqr-region (point-min) (point-max))))
+
;;;
(provide 'language/viet-util)