4.9.4 Compilation commands

Compile Defun

Editor Command

Argument: None
Key sequence:
Ctrl+Shift+C

Compiles the current top-level form. If the current point is between two forms, the previous form is evaluated.

If the form is a
defvar
form, then the command may first make the variable unbound, according to the value of Evaluate-Defvar-Action, and hence assign the new value.This is useful because, whilst
defvar
does not reassign the value of a bound variable, when editing a program it is likely that you do want the new value.

Compile Region

Editor Command

Argument: None
Key sequence:
Ctrl+Shift+R

Compiles the Lisp forms in the region between the current point and the mark.

Compile File

Editor Command

Argument:
file
Key sequence: None

Compiles all Lisp forms in
file
.

No checking is done on write dates for the source and binary files, to see if the file needs to be compiled. Also, no checking is done to see if there is a buffer for the file that should first be saved.

Compile Buffer

Editor Command

Argument: None
Key sequence:
Ctrl+Shift+B

Compiles and evaluates in turn each of the Lisp forms in the current buffer.

Compile Buffer File

Editor Command

Argument: None
Key sequence: None

Compiles the file in the current buffer if its associated binary file is older than the source file or does not exist. For a file with a
.lisp
suffix, the corresponding binary file has a
.fsl
suffix. When the binary file is up to date, the user is asked if the source should be compiled anyway. When Compile-Buffer-File-Confirm is non-
nil
, the user is always asked for confirmation, even when the date of the source file is later than that of the binary file.

A prefix argument causes the file to be compiled without checking the date or existence of the binary file.

Compile-Buffer-File-Confirm

Editor Variable

Default value:
t

Determines whetherCompile Buffer File should prompt for a compilation to proceed. If the value is non-
nil
, the user is always prompted for confirmation.

Compile Buffer Changed Definitions

Editor Command

Argument: None
Key sequence: None

Compiles definitions that have been changed in the current buffer during the current LispWorks session (use Buffer Changed Definitions on Buffer Changed Definitions to see which definitions have changed). A prefix argument equal to the value of Prefix-Argument-Default causes compilation of definitions changed since last compiled. A prefix argument of 1 causes compilation of definitions changed since last saved.

Compile Changed Definitions

Editor Command

Argument: None
Key sequence: None

Compiles definitions in all Lisp buffers that have been changed during the current LispWorks session. The effect of prefixes is the same as for Compile Buffer Changed Definitions.

Compile System

Editor Command

Argument:
system
Key sequence: None

Compiles all definitions in
system
.

Compile System Changed Definitions

Editor Command

Argument:
system
Key sequence: None

Compiles definitions that have been changed in
system
during the current LispWorks session.

Disassemble Definition

Editor Command

Argument:
definition
Key sequence: None

Outputs assembly code for
definition
to the Output window, compiling it first if necessary. The name of the current top-level definition is offered as a default value for
definition
.

Edit Recognized Source

Editor Command

Argument: None
Key sequence:
Ctrl+X ,

Edit the source of the next compiler message, warning or error. It should be used while viewing the Output window. Without a prefix argument, it searches forwards in the Output window until it finds text which it recognizes as a compiler message, warning or error, and then shows the source code associated with that message. With a prefix argument, it searches backwards.