(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:
parent
4c0f64264f
commit
1a30e04cf7
1 changed files with 15 additions and 7 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Reference in a new issue