diff options
author | Richard M. Stallman <rms@gnu.org> | 1998-01-26 09:48:21 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1998-01-26 09:48:21 +0000 |
commit | 70b40ea144bd82deeeaf96253c5a829ba77b4591 (patch) | |
tree | ac188c7746b296627da1781e36f2464cd2be9e7e /lisp/emacs-lisp/byte-opt.el | |
parent | cbff28e8a0f78fb555b9a6ac35932dfe88f083ba (diff) | |
download | emacs-70b40ea144bd82deeeaf96253c5a829ba77b4591.tar.gz emacs-70b40ea144bd82deeeaf96253c5a829ba77b4591.tar.bz2 emacs-70b40ea144bd82deeeaf96253c5a829ba77b4591.zip |
(byte-compile-inline-expand): Use string-as-unibyte, if it is defined.
Diffstat (limited to 'lisp/emacs-lisp/byte-opt.el')
-rw-r--r-- | lisp/emacs-lisp/byte-opt.el | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el index 90154728f34..cbfc5c7d800 100644 --- a/lisp/emacs-lisp/byte-opt.el +++ b/lisp/emacs-lisp/byte-opt.el @@ -279,10 +279,13 @@ (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))))))) |