(if (symbolp fn)
(byte-compile-inline-expand (cons fn (cdr form)))
(if (byte-code-function-p fn)
- (progn
+ (let (string)
(fetch-bytecode fn)
+ (setq string (aref fn 1))
+ (if (fboundp 'string-as-unibyte)
+ (setq string (string-as-unibyte string)))
(cons (list 'lambda (aref fn 0)
- (list 'byte-code (aref fn 1) (aref fn 2) (aref fn 3)))
+ (list 'byte-code string (aref fn 2) (aref fn 3)))
(cdr form)))
(if (not (eq (car fn) 'lambda)) (error "%s is not a lambda" name))
(cons fn (cdr form)))))))