(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.
This commit is contained in:
Kenichi Handa 1998-10-12 12:00:44 +00:00
parent 4c0f64264f
commit 1a30e04cf7

View file

@ -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)