emacs-diffs
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]