summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1998-01-26 09:48:21 +0000
committerRichard M. Stallman <rms@gnu.org>1998-01-26 09:48:21 +0000
commit70b40ea144bd82deeeaf96253c5a829ba77b4591 (patch)
treeac188c7746b296627da1781e36f2464cd2be9e7e /lisp/emacs-lisp
parentcbff28e8a0f78fb555b9a6ac35932dfe88f083ba (diff)
downloademacs-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')
-rw-r--r--lisp/emacs-lisp/byte-opt.el7
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)))))))