[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/emacs-lisp/byte-opt.el
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/emacs-lisp/byte-opt.el |
Date: |
Tue, 25 Mar 2003 11:34:00 -0500 |
Index: emacs/lisp/emacs-lisp/byte-opt.el
diff -c emacs/lisp/emacs-lisp/byte-opt.el:1.71
emacs/lisp/emacs-lisp/byte-opt.el:1.72
*** emacs/lisp/emacs-lisp/byte-opt.el:1.71 Tue Feb 4 07:53:34 2003
--- emacs/lisp/emacs-lisp/byte-opt.el Tue Mar 25 11:34:00 2003
***************
*** 1168,1173 ****
--- 1168,1185 ----
(if (equal '((quote xemacs)) (cdr-safe form))
nil
form))
+
+ (put 'set 'byte-optimizer 'byte-optimize-set)
+ (defun byte-optimize-set (form)
+ (let ((var (car-safe (cdr-safe form))))
+ (cond
+ ((and (eq (car-safe var) 'quote) (consp (cdr var)))
+ (list* 'setq (cadr var) (cddr form)))
+ ((and (eq (car-safe var) 'make-local-variable)
+ (eq (car-safe (setq var (car-safe (cdr var)))) 'quote)
+ (consp (cdr var)))
+ `(progn ,(cadr form) (setq ,(cadr var) ,@(cddr form))))
+ (t form))))
;;; enumerating those functions which need not be called if the returned
;;; value is not used. That is, something like
- [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/byte-opt.el,
Stefan Monnier <=