bug#4264: 23.1.50; byte-compile-lapcode broken

jpff <[email protected]>
Newsgroups gmane.emacs.bugs,gmane.emacs.pretest.bugs
Message-ID <[email protected]>
if lisp/emacs-lisp/bytecomp.el, function
(defun byte-compile-lapcode (lap)

has its brackets all wrong, leading to bytes falling out of scope
I think it should read
    (let (bytes)
      (while patchlist
	(setq bytes (car patchlist))
	(cond ((atom (car bytes)))	; Tag
	      (t			; Absolute jump
	       (setq pc (car (cdr (car bytes))))	; Pick PC from tag
	       (setcar (cdr bytes) (logand pc 255))
	       (setcar bytes (lsh pc -8))
               ;; FIXME: Replace this by some workaround.
               (if (> (car bytes) 255) (error "Bytecode overflow")))))
      (setq patchlist (cdr patchlist))
      (apply 'unibyte-string (nreverse bytes)))))

but I am having trouble checking


In GNU Emacs 23.1.50.54 (x86_64-unknown-linux-gnu, GTK+ Version 2.14.4)
 of 2009-08-26 on harvey
Windowing system distributor `The X.Org Foundation', version 11.0.10502000
configured using `configure  '--with-gif=no''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_GB.UTF-8
  value of $XMODIFIERS: @im=local
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  eldoc-mode: t
  auto-image-file-mode: t
  show-paren-mode: t
  display-time-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C-x C-f G N U <tab> e m a c s - <tab> 2 2 <tab> l i 
s <tab> / e m a <tab> i <tab> b y t e c <tab> <return> 
C-u 8 6 0 C-n <down> <up> <up> <up> <up> <up> <up> 
<up> <up> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <right> <down> <escape> C-f 
<down> <down> <left> <escape> C-b q <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <down> <down> <down> <tab> <down> <down> 
<tab> <down> <tab> <down> <tab> <down> <tab> <down> 
<tab> <down> <tab> <down> <tab> <down> <tab> <down> 
<tab> <down> <tab> <down> <tab> <up> C-e <backspace> 
<down> <tab> <down> <tab> <up> <down> <right> <right> 
<right> <right> <right> <escape> C-b <escape> C-f C-d 
C-x C-s y <left> <left> <left> <left> <left> <left> 
<left> <left> C-s C-w C-l C-l C-l C-s 1 C-x 1 C-l C-l 
C-x C-x C-a C-l C-l C-l <tab> <up> <tab> <down> <left> 
<left> <backspace> <tab> <right> <backspace> <tab> 
<down> <tab> <right> <right> <right> <right> <right> 
) ) C-x C-s y M-v M-v <down-mouse-1> <mouse-movement> 
<mouse-movement> <drag-mouse-1> M-m r C-g C-x k <return> 
M-x r e p <tab> o <tab> r t <tab> <return>

Recent messages:
Mark saved where search started [2 times]
Saving file /home/jpff/GNU_21/emacs-22.0.50/lisp/emacs-lisp/bytecomp.el...
Wrote /home/jpff/GNU_21/emacs-22.0.50/lisp/emacs-lisp/bytecomp.el
Byte-compile /home/jpff/GNU_21/emacs-22.0.50/lisp/emacs-lisp/bytecomp.el? (y or n) 
Compiling /home/jpff/GNU_21/emacs-22.0.50/lisp/emacs-lisp/bytecomp.el...done
Wrote /home/jpff/GNU_21/emacs-22.0.50/lisp/emacs-lisp/bytecomp.elc
Loading mail-extr...done
Parsing /home/jpff/.mailrc... done
Quit
Making completion list... [2 times]

Load-path shadows:
/home/jpff/GNU_21/local-lisp/t-mouse hides /home/jpff/GNU_21/emacs-22.0.50/lisp/t-mouse
/home/jpff/GNU_21/local-lisp/emerge hides /home/jpff/GNU_21/emacs-22.0.50/lisp/emerge
/home/jpff/GNU_21/local-lisp/scroll-lock hides /home/jpff/GNU_21/emacs-22.0.50/lisp/scroll-lock
/home/jpff/GNU_21/local-lisp/ruler-mode hides /home/jpff/GNU_21/emacs-22.0.50/lisp/ruler-mode
/home/jpff/GNU_21/local-lisp/url hides /home/jpff/GNU_21/emacs-22.0.50/lisp/url/url
/home/jpff/GNU_21/local-lisp/url-parse hides /home/jpff/GNU_21/emacs-22.0.50/lisp/url/url-parse
/home/jpff/GNU_21/local-lisp/url-cache hides /home/jpff/GNU_21/emacs-22.0.50/lisp/url/url-cache
/home/jpff/GNU_21/local-lisp/url-file hides /home/jpff/GNU_21/emacs-22.0.50/lisp/url/url-file
/home/jpff/GNU_21/local-lisp/url-misc hides /home/jpff/GNU_21/emacs-22.0.50/lisp/url/url-misc
/home/jpff/GNU_21/local-lisp/url-vars hides /home/jpff/GNU_21/emacs-22.0.50/lisp/url/url-vars
/home/jpff/GNU_21/local-lisp/url-ns hides /home/jpff/GNU_21/emacs-22.0.50/lisp/url/url-ns
/home/jpff/GNU_21/local-lisp/url-cookie hides /home/jpff/GNU_21/emacs-22.0.50/lisp/url/url-cookie
/home/jpff/GNU_21/local-lisp/url-irc hides /home/jpff/GNU_21/emacs-22.0.50/lisp/url/url-irc
/home/jpff/GNU_21/local-lisp/url-gw hides /home/jpff/GNU_21/emacs-22.0.50/lisp/url/url-gw
/home/jpff/GNU_21/local-lisp/url-ldap hides /home/jpff/GNU_21/emacs-22.0.50/lisp/url/url-ldap
/home/jpff/GNU_21/local-lisp/url-http hides /home/jpff/GNU_21/emacs-22.0.50/lisp/url/url-http
/home/jpff/GNU_21/local-lisp/url-nfs hides /home/jpff/GNU_21/emacs-22.0.50/lisp/url/url-nfs
/home/jpff/GNU_21/local-lisp/url-auth hides /home/jpff/GNU_21/emacs-22.0.50/lisp/url/url-auth
/home/jpff/GNU_21/local-lisp/url-cid hides /home/jpff/GNU_21/emacs-22.0.50/lisp/url/url-cid
/home/jpff/GNU_21/local-lisp/url-news hides /home/jpff/GNU_21/emacs-22.0.50/lisp/url/url-news
/home/jpff/GNU_21/local-lisp/remember hides /home/jpff/GNU_21/emacs-22.0.50/lisp/textmodes/remember
/home/jpff/GNU_21/local-lisp/socks hides /home/jpff/GNU_21/emacs-22.0.50/lisp/net/socks
/home/jpff/GNU_21/emacs-22.0.50/lisp/vc-mcvs hides /home/jpff/GNU_21/emacs-22.0.50/lisp/obsolete/vc-mcvs
/home/jpff/GNU_21/emacs-22.0.50/lisp/resume hides /home/jpff/GNU_21/emacs-22.0.50/lisp/obsolete/resume

==John ffitch
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.