summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenichi Handa <handa@m17n.org>1998-10-12 12:00:44 +0000
committerKenichi Handa <handa@m17n.org>1998-10-12 12:00:44 +0000
commit1a30e04cf79d192c3ad5138fd3d8a65dfe818b8d (patch)
tree2655a6145e1290d44e6f5ee350e87a0583f7c85e
parent4c0f64264f27371bd34041785bf16187b0e35ed6 (diff)
downloademacs-1a30e04cf79d192c3ad5138fd3d8a65dfe818b8d.tar.gz
(ccl-compile-if): If there's no false-cmds,
set unconditional-jump to nil. (ccl-compile-read-multibyte-character): Return nil. (ccl-compile-write-multibyte-character): Likewise. (ccl-compile-translate-character): Likewise (ccl-compile-map-multiple): Likewise. (ccl-compile-map-single): Likewise.
-rw-r--r--lisp/international/ccl.el22
1 files changed, 15 insertions, 7 deletions
diff --git a/lisp/international/ccl.el b/lisp/international/ccl.el
index b232ede8426..505ccce757b 100644
--- a/lisp/international/ccl.el
+++ b/lisp/international/ccl.el
@@ -574,7 +574,9 @@
(let ((unconditional-jump (ccl-compile-1 true-cmds)))
(if (null false-cmds)
;; This is the place to jump to if condition is false.
- (ccl-embed-current-address jump-cond-address)
+ (progn
+ (ccl-embed-current-address jump-cond-address)
+ (setq unconditional-jump nil))
(let (end-true-part-address)
(if (not unconditional-jump)
(progn
@@ -860,7 +862,8 @@
(rrr (nth 2 cmd)))
(ccl-check-register rrr cmd)
(ccl-check-register RRR cmd)
- (ccl-embed-extended-command 'read-multibyte-character rrr RRR 0)))
+ (ccl-embed-extended-command 'read-multibyte-character rrr RRR 0))
+ nil)
;; Compile write-multibyte-character
(defun ccl-compile-write-multibyte-character (cmd)
@@ -870,7 +873,8 @@
(rrr (nth 2 cmd)))
(ccl-check-register rrr cmd)
(ccl-check-register RRR cmd)
- (ccl-embed-extended-command 'write-multibyte-character rrr RRR 0)))
+ (ccl-embed-extended-command 'write-multibyte-character rrr RRR 0))
+ nil)
;; Compile translate-character
(defun ccl-compile-translate-character (cmd)
@@ -889,10 +893,12 @@
(ccl-embed-data Rrr))
(t
(ccl-check-register Rrr cmd)
- (ccl-embed-extended-command 'translate-character rrr RRR Rrr)))))
+ (ccl-embed-extended-command 'translate-character rrr RRR Rrr))))
+ nil)
(defun ccl-compile-iterate-multiple-map (cmd)
- (ccl-compile-multiple-map-function 'iterate-multiple-map cmd))
+ (ccl-compile-multiple-map-function 'iterate-multiple-map cmd)
+ nil)
(defun ccl-compile-map-multiple (cmd)
(if (/= (length cmd) 4)
@@ -916,7 +922,8 @@
arg)
(setq arg (append (list (nth 0 cmd) (nth 1 cmd) (nth 2 cmd))
(funcall func (nth 3 cmd) nil)))
- (ccl-compile-multiple-map-function 'map-multiple arg)))
+ (ccl-compile-multiple-map-function 'map-multiple arg))
+ nil)
(defun ccl-compile-map-single (cmd)
(if (/= (length cmd) 4)
@@ -933,7 +940,8 @@
(ccl-embed-data map)
(error "CCL: Invalid map: %s" map)))
(t
- (error "CCL: Invalid type of arguments: %s" cmd)))))
+ (error "CCL: Invalid type of arguments: %s" cmd))))
+ nil)
(defun ccl-compile-multiple-map-function (command cmd)
(if (< (length cmd) 4)