diff options
author | Andy Moreton <andrewjmoreton@gmail.com> | 2018-08-05 12:56:33 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2018-08-05 12:56:33 -0600 |
commit | 68ebff23f7057090da260830500cb278f7b886a5 (patch) | |
tree | 6520d1133ba3bb2f5b4afd00ca1e074b85347388 /lisp/international | |
parent | 1303f8a4806fb170c14375c53b0f79d03e288eb3 (diff) | |
download | emacs-68ebff23f7057090da260830500cb278f7b886a5.tar.gz |
Fix test and comment in CCL change
* lisp/international/ccl.el (ccl-fixnum): Update comment.
* test/lisp/international/ccl-tests.el (prog-midi-dump): Add
trailing space to expected result.
Diffstat (limited to 'lisp/international')
-rw-r--r-- | lisp/international/ccl.el | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lisp/international/ccl.el b/lisp/international/ccl.el index d1b82ceb9ce..58083f05d92 100644 --- a/lisp/international/ccl.el +++ b/lisp/international/ccl.el @@ -184,8 +184,10 @@ (defvar ccl-current-ic 0 "The current index for `ccl-program-vector'.") -;; This is needed because CCL assumes the pre-bigint (wrapping) -;; semantics of integer overflow. +;; The CCL compiled codewords are 28bits, but the CCL implementation +;; assumes that the codewords are sign-extended, so that data constants in +;; the upper part of the codeword are signed. This function truncates a +;; codeword to 28bits, and then sign extends the result to a fixnum. (defun ccl-fixnum (code) "Convert a CCL code word to a fixnum value." (- (logxor (logand code #x0fffffff) #x08000000) #x08000000)) |