* emacs-lisp/byte-opt.el (byte-optimize-pure-func): Remove function
(originally checked in as byte-optimize-concat on 1997-11-02).
This commit is contained in:
parent
5d83862984
commit
c990483162
2 changed files with 4 additions and 21 deletions
|
@ -1118,27 +1118,6 @@
|
|||
(byte-optimize-predicate form))
|
||||
form))
|
||||
|
||||
(put 'concat 'byte-optimizer 'byte-optimize-pure-func)
|
||||
(put 'symbol-name 'byte-optimizer 'byte-optimize-pure-func)
|
||||
(put 'regexp-opt 'byte-optimizer 'byte-optimize-pure-func)
|
||||
(put 'regexp-quote 'byte-optimizer 'byte-optimize-pure-func)
|
||||
(put 'string-to-syntax 'byte-optimizer 'byte-optimize-pure-func)
|
||||
(defun byte-optimize-pure-func (form)
|
||||
"Do constant folding for pure functions.
|
||||
This assumes that the function will not have any side-effects and that
|
||||
its return value depends solely on its arguments.
|
||||
If the function can signal an error, this might change the semantics
|
||||
of FORM by signaling the error at compile-time."
|
||||
(let ((args (cdr form))
|
||||
(constant t))
|
||||
(while (and args constant)
|
||||
(or (byte-compile-constp (car args))
|
||||
(setq constant nil))
|
||||
(setq args (cdr args)))
|
||||
(if constant
|
||||
(list 'quote (eval form))
|
||||
form)))
|
||||
|
||||
;; Avoid having to write forward-... with a negative arg for speed.
|
||||
;; Fixme: don't be limited to constant args.
|
||||
(put 'backward-char 'byte-optimizer 'byte-optimize-backward-char)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue