comparison man/lispref/compile.texi @ 217:d44af0c54775 r20-4b7

Import from CVS: tag r20-4b7
author cvs
date Mon, 13 Aug 2007 10:08:34 +0200
parents 376386a54a3c
children 262b8bb4a523
comparison
equal deleted inserted replaced
216:43306a74e31c 217:d44af0c54775
18 interpreter, instead of being executed directly by the machine's 18 interpreter, instead of being executed directly by the machine's
19 hardware (as true compiled code is), byte-code is completely 19 hardware (as true compiled code is), byte-code is completely
20 transportable from machine to machine without recompilation. It is not, 20 transportable from machine to machine without recompilation. It is not,
21 however, as fast as true compiled code. 21 however, as fast as true compiled code.
22 22
23 In general, any version of Emacs can run byte-compiled code produced 23 In general, any version of Emacs can run byte-compiled code produced
24 by recent earlier versions of Emacs, but the reverse is not true. In 24 by recent earlier versions of Emacs, but the reverse is not true. In
25 particular, if you compile a program with Emacs 19.29, the compiled 25 particular, if you compile a program with XEmacs 20, the compiled code
26 code does not run in earlier versions. 26 may not run in earlier versions.
27 @iftex 27 @iftex
28 @xref{Docs and Compilation}. 28 @xref{Docs and Compilation}.
29 @end iftex 29 @end iftex
30 Files compiled in versions before 19.29 may not work in 19.29 if they
31 contain character constants with modifier bits, because the bits were
32 renumbered in Emacs 19.29.
33 30
34 @xref{Compilation Errors}, for how to investigate errors occurring in 31 @xref{Compilation Errors}, for how to investigate errors occurring in
35 byte compilation. 32 byte compilation.
36 33
37 @menu 34 @menu
68 "Fri Mar 18 17:26:28 1994") ; @r{31 seconds} 65 "Fri Mar 18 17:26:28 1994") ; @r{31 seconds}
69 @end group 66 @end group
70 67
71 @group 68 @group
72 (byte-compile 'silly-loop) 69 (byte-compile 'silly-loop)
73 @result{} @r{[Compiled code not shown]} 70 @result{} #<compiled-function ...>
74 @end group 71 @end group
75 72
76 @group 73 @group
77 (silly-loop 100000) 74 (silly-loop 100000)
78 @result{} ("Fri Mar 18 17:26:52 1994" 75 @result{} ("Fri Mar 18 17:26:52 1994"
136 @end group 133 @end group
137 134
138 @group 135 @group
139 (byte-compile 'factorial) 136 (byte-compile 'factorial)
140 @result{} 137 @result{}
141 #<byte-code (integer) 138 #<compiled-function (integer)
142 "ÁU«‚Á‡ÂS!_‡" 139 "ÁU«‚Á‡ÂS!_‡"
143 [integer 1 factorial] 140 [integer 1 factorial]
144 3 "Compute factorial of INTEGER."> 141 3 "Compute factorial of INTEGER.">
145 @end group 142 @end group
146 @end example 143 @end example
147 144
148 @noindent 145 @noindent
149 The result is a compiled-function object. The string it contains is 146 The result is a compiled-function object. The string it contains is