aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenichi Handa1998-10-12 12:00:44 +0000
committerKenichi Handa1998-10-12 12:00:44 +0000
commit1a30e04cf79d192c3ad5138fd3d8a65dfe818b8d (patch)
tree2655a6145e1290d44e6f5ee350e87a0583f7c85e
parent4c0f64264f27371bd34041785bf16187b0e35ed6 (diff)
downloademacs-1a30e04cf79d192c3ad5138fd3d8a65dfe818b8d.tar.gz
emacs-1a30e04cf79d192c3ad5138fd3d8a65dfe818b8d.zip
(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 @@
574 (let ((unconditional-jump (ccl-compile-1 true-cmds))) 574 (let ((unconditional-jump (ccl-compile-1 true-cmds)))
575 (if (null false-cmds) 575 (if (null false-cmds)
576 ;; This is the place to jump to if condition is false. 576 ;; This is the place to jump to if condition is false.
577 (ccl-embed-current-address jump-cond-address) 577 (progn
578 (ccl-embed-current-address jump-cond-address)
579 (setq unconditional-jump nil))
578 (let (end-true-part-address) 580 (let (end-true-part-address)
579 (if (not unconditional-jump) 581 (if (not unconditional-jump)
580 (progn 582 (progn
@@ -860,7 +862,8 @@
860 (rrr (nth 2 cmd))) 862 (rrr (nth 2 cmd)))
861 (ccl-check-register rrr cmd) 863 (ccl-check-register rrr cmd)
862 (ccl-check-register RRR cmd) 864 (ccl-check-register RRR cmd)
863 (ccl-embed-extended-command 'read-multibyte-character rrr RRR 0))) 865 (ccl-embed-extended-command 'read-multibyte-character rrr RRR 0))
866 nil)
864 867
865;; Compile write-multibyte-character 868;; Compile write-multibyte-character
866(defun ccl-compile-write-multibyte-character (cmd) 869(defun ccl-compile-write-multibyte-character (cmd)
@@ -870,7 +873,8 @@
870 (rrr (nth 2 cmd))) 873 (rrr (nth 2 cmd)))
871 (ccl-check-register rrr cmd) 874 (ccl-check-register rrr cmd)
872 (ccl-check-register RRR cmd) 875 (ccl-check-register RRR cmd)
873 (ccl-embed-extended-command 'write-multibyte-character rrr RRR 0))) 876 (ccl-embed-extended-command 'write-multibyte-character rrr RRR 0))
877 nil)
874 878
875;; Compile translate-character 879;; Compile translate-character
876(defun ccl-compile-translate-character (cmd) 880(defun ccl-compile-translate-character (cmd)
@@ -889,10 +893,12 @@
889 (ccl-embed-data Rrr)) 893 (ccl-embed-data Rrr))
890 (t 894 (t
891 (ccl-check-register Rrr cmd) 895 (ccl-check-register Rrr cmd)
892 (ccl-embed-extended-command 'translate-character rrr RRR Rrr))))) 896 (ccl-embed-extended-command 'translate-character rrr RRR Rrr))))
897 nil)
893 898
894(defun ccl-compile-iterate-multiple-map (cmd) 899(defun ccl-compile-iterate-multiple-map (cmd)
895 (ccl-compile-multiple-map-function 'iterate-multiple-map cmd)) 900 (ccl-compile-multiple-map-function 'iterate-multiple-map cmd)
901 nil)
896 902
897(defun ccl-compile-map-multiple (cmd) 903(defun ccl-compile-map-multiple (cmd)
898 (if (/= (length cmd) 4) 904 (if (/= (length cmd) 4)
@@ -916,7 +922,8 @@
916 arg) 922 arg)
917 (setq arg (append (list (nth 0 cmd) (nth 1 cmd) (nth 2 cmd)) 923 (setq arg (append (list (nth 0 cmd) (nth 1 cmd) (nth 2 cmd))
918 (funcall func (nth 3 cmd) nil))) 924 (funcall func (nth 3 cmd) nil)))
919 (ccl-compile-multiple-map-function 'map-multiple arg))) 925 (ccl-compile-multiple-map-function 'map-multiple arg))
926 nil)
920 927
921(defun ccl-compile-map-single (cmd) 928(defun ccl-compile-map-single (cmd)
922 (if (/= (length cmd) 4) 929 (if (/= (length cmd) 4)
@@ -933,7 +940,8 @@
933 (ccl-embed-data map) 940 (ccl-embed-data map)
934 (error "CCL: Invalid map: %s" map))) 941 (error "CCL: Invalid map: %s" map)))
935 (t 942 (t
936 (error "CCL: Invalid type of arguments: %s" cmd))))) 943 (error "CCL: Invalid type of arguments: %s" cmd))))
944 nil)
937 945
938(defun ccl-compile-multiple-map-function (command cmd) 946(defun ccl-compile-multiple-map-function (command cmd)
939 (if (< (length cmd) 4) 947 (if (< (length cmd) 4)