comparison lisp/emacs-lisp/bytecomp.el @ 90796:4ef881a120fe

Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 675-697) - Update from CVS - Merge from gnus--rel--5.10 - Release ERC 5.2. * gnus--rel--5.10 (patch 211-215) - Update from CVS - Merge from emacs--devo--0 Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-189
author Miles Bader <miles@gnu.org>
date Wed, 11 Apr 2007 00:17:47 +0000
parents 91bf6e05918b 14feb20665af
children e6fdae9180d4
comparison
equal deleted inserted replaced
90795:b9182b6a90c9 90796:4ef881a120fe
2339 (setq tail (cdr tail))) 2339 (setq tail (cdr tail)))
2340 (while (and (consp (car (cdr tail))) 2340 (while (and (consp (car (cdr tail)))
2341 (eq (car (car (cdr tail))) 'declare)) 2341 (eq (car (car (cdr tail))) 'declare))
2342 (let ((declaration (car (cdr tail)))) 2342 (let ((declaration (car (cdr tail))))
2343 (setcdr tail (cdr (cdr tail))) 2343 (setcdr tail (cdr (cdr tail)))
2344 (princ `(if macro-declaration-function 2344 (prin1 `(if macro-declaration-function
2345 (funcall macro-declaration-function 2345 (funcall macro-declaration-function
2346 ',name ',declaration)) 2346 ',name ',declaration))
2347 outbuffer))))) 2347 outbuffer)))))
2348 2348
2349 (let* ((new-one (byte-compile-lambda (nthcdr 2 form) t)) 2349 (let* ((new-one (byte-compile-lambda (nthcdr 2 form) t))
3146 (byte-compile-constant (eval form)))) 3146 (byte-compile-constant (eval form))))
3147 3147
3148 3148
3149 ;; more complicated compiler macros 3149 ;; more complicated compiler macros
3150 3150
3151 (byte-defop-compiler char-before)
3151 (byte-defop-compiler list) 3152 (byte-defop-compiler list)
3152 (byte-defop-compiler concat) 3153 (byte-defop-compiler concat)
3153 (byte-defop-compiler fset) 3154 (byte-defop-compiler fset)
3154 (byte-defop-compiler (indent-to-column byte-indent-to) byte-compile-indent-to) 3155 (byte-defop-compiler (indent-to-column byte-indent-to) byte-compile-indent-to)
3155 (byte-defop-compiler indent-to) 3156 (byte-defop-compiler indent-to)
3156 (byte-defop-compiler insert) 3157 (byte-defop-compiler insert)
3157 (byte-defop-compiler-1 function byte-compile-function-form) 3158 (byte-defop-compiler-1 function byte-compile-function-form)
3158 (byte-defop-compiler-1 - byte-compile-minus) 3159 (byte-defop-compiler-1 - byte-compile-minus)
3159 (byte-defop-compiler19 (/ byte-quo) byte-compile-quo) 3160 (byte-defop-compiler19 (/ byte-quo) byte-compile-quo)
3160 (byte-defop-compiler19 nconc) 3161 (byte-defop-compiler19 nconc)
3162
3163 (defun byte-compile-char-before (form)
3164 (cond ((= 2 (length form))
3165 (byte-compile-form `(char-after (1- ,(nth 1 form)))))
3166 ((= 1 (length form))
3167 (byte-compile-form '(char-after (1- (point)))))
3168 (t (byte-compile-subr-wrong-args form "0-1"))))
3161 3169
3162 (defun byte-compile-list (form) 3170 (defun byte-compile-list (form)
3163 (let ((count (length (cdr form)))) 3171 (let ((count (length (cdr form))))
3164 (cond ((= count 0) 3172 (cond ((= count 0)
3165 (byte-compile-constant nil)) 3173 (byte-compile-constant nil))