[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bug in the CCL compiler of Emacs 21.3

From: TAKAI Kousuke
Subject: Bug in the CCL compiler of Emacs 21.3
Date: Fri, 13 Feb 2004 02:35:46 +0900
User-agent: T-gnus/6.17.1 (based on No Gnus v0.1) SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.6 Emacs/21.3 (i386-unknown-freebsd4.4) MULE/5.0 (SAKAKI)


I have found a bug in the CCL compiler included in Emacs 21.3.
With this bug, `write-expr-register' CCL operator is compiled
incorrectly.  For example:

  (ccl-dump (ccl-compile '(1 (write (r1 | r2)))))
    -| Out-buffer must be as large as in-buffer.
    -| Main-body:
    -|     2:[write-expr-register] write (r2 + r6)
    -| At EOF:
    -|     3:[end] end

Here is a patch to fix this bug and its change-log entry.

2004-02-13  TAKAI Kousuke  <tak@kmc.gr.jp>

        * international/ccl.el (ccl-compile-write): Pass `left' to
        ccl-embed-code to generate correct code of write-expr-register.

*** emacs-21.3/lisp/international/ccl.el.orig   2002-10-22 17:14:33.000000000 
--- emacs-21.3/lisp/international/ccl.el        2004-02-05 18:38:41.000000000 
*************** (defun ccl-compile-write (cmd)
*** 770,776 ****
               (ccl-check-register right rrr)
               (ccl-embed-code 'write-expr-register 0
                               (logior (ash op 3)
!                                      (get right 'ccl-register-number))))))
           (error "CCL: Invalid argument: %s" cmd))))
--- 770,777 ----
               (ccl-check-register right rrr)
               (ccl-embed-code 'write-expr-register 0
                               (logior (ash op 3)
!                                      (get right 'ccl-register-number))
!                              left))))
           (error "CCL: Invalid argument: %s" cmd))))
[patch ends here]


 TAKAI Kousuke <tak@kmc.gr.jp>
        Kyoto University Microcomputer Club, Kyoto, Japan.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]