2007-04-06 Chong Yidong <cyd@stupidchicken.com>
+ * emacs-lisp/byte-opt.el (byte-optimize-pure-func): Remove
+ function (originally checked in as byte-optimize-concat on
+ 1997-11-02).
+
* mail/sendmail.el (mail-text, mail-mode): Revert extant pieces of
1995-05-19 doc changes.
(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)