comparison lisp/bytecomp.el @ 245:51092a27c943 r20-5b21

Import from CVS: tag r20-5b21
author cvs
date Mon, 13 Aug 2007 10:17:54 +0200
parents 41ff10fd062f
children 11cf20601dec
comparison
equal deleted inserted replaced
244:78d4f1140794 245:51092a27c943
1775 (eq (car form) 'autoload)) 1775 (eq (car form) 'autoload))
1776 (let ((print-escape-newlines t) 1776 (let ((print-escape-newlines t)
1777 (print-length nil) 1777 (print-length nil)
1778 (print-level nil) 1778 (print-level nil)
1779 (print-readably t) ; print #[] for bytecode, 'x for (quote x) 1779 (print-readably t) ; print #[] for bytecode, 'x for (quote x)
1780 (print-gensym nil)) ; this is too dangerous for now 1780 ;; Emacs 19 can't handle gensyms well.
1781 (print-gensym (if byte-compile-emacs19-compatibility nil
1782 t)))
1781 (princ "\n" byte-compile-outbuffer) 1783 (princ "\n" byte-compile-outbuffer)
1782 (prin1 form byte-compile-outbuffer) 1784 (prin1 form byte-compile-outbuffer)
1783 nil))) 1785 nil)))
1784 1786
1785 (defun byte-compile-output-docform (preface name info form specindex quoted) 1787 (defun byte-compile-output-docform (preface name info form specindex quoted)
1823 (insert preface) 1825 (insert preface)
1824 (prin1 name byte-compile-outbuffer))) 1826 (prin1 name byte-compile-outbuffer)))
1825 (insert (car info)) 1827 (insert (car info))
1826 (let ((print-escape-newlines t) 1828 (let ((print-escape-newlines t)
1827 (print-readably t) ; print #[] for bytecode, 'x for (quote x) 1829 (print-readably t) ; print #[] for bytecode, 'x for (quote x)
1828 (print-gensym nil) ; this is too dangerous for now 1830 ;; Use a cons cell to say that we want
1831 ;; print-gensym-alist not to be cleared between calls
1832 ;; to print functions.
1833 (print-gensym (if byte-compile-emacs19-compatibility nil
1834 '(t)))
1835 print-gensym-alist
1829 (index 0)) 1836 (index 0))
1830 (prin1 (car form) byte-compile-outbuffer) 1837 (prin1 (car form) byte-compile-outbuffer)
1831 (while (setq form (cdr form)) 1838 (while (setq form (cdr form))
1832 (setq index (1+ index)) 1839 (setq index (1+ index))
1833 (insert " ") 1840 (insert " ")
2040 ;; #### this is fairly disgusting. Rewrite the code instead 2047 ;; #### this is fairly disgusting. Rewrite the code instead
2041 ;; so that it doesn't create compiled objects in the first place! 2048 ;; so that it doesn't create compiled objects in the first place!
2042 ;; Much better than creating them and then "uncreating" them 2049 ;; Much better than creating them and then "uncreating" them
2043 ;; like this. 2050 ;; like this.
2044 (read (concat "(" 2051 (read (concat "("
2045 (substring (let ((print-readably t)) 2052 (substring (let ((print-readably t)
2053 (print-gensym
2054 (if byte-compile-emacs19-compatibility nil
2055 '(t)))
2056 (print-gensym-alist nil))
2046 (prin1-to-string obj)) 2057 (prin1-to-string obj))
2047 2 -1) 2058 2 -1)
2048 ")"))) 2059 ")")))
2049 2060
2050 (defun byte-compile-file-form-defmumble (form macrop) 2061 (defun byte-compile-file-form-defmumble (form macrop)