LispWorks IDE User Guide

NextPrevTopIndex

Contents

Preface

1 Introduction

1.1 Major tools

1.1.1 The Listener

1.1.2 The Editor

1.1.3 The Class Browser

1.1.4 The Output Browser

1.1.5 The Inspector

1.1.6 The Object Clipboard

2 A Short Tutorial

2.1 Starting the environment

2.2 Creating a Listener

2.3 Using the Debugger

2.4 Viewing output

2.5 Inspecting objects using the Inspector

2.6 Examining classes in the Class Browser

2.7 Switching between windows

2.8 Summary

3 Common Features

3.1 Displaying tool windows

3.1.1 Displaying existing windows

3.1.2 Iconifying existing windows

3.1.3 Displaying tools using the mouse

3.1.4 Displaying tools using the keyboard

3.1.4.1 Tool accelerator modifier keys

3.1.4.2 Tool accelerator keys

3.1.5 Re-using tool windows

3.1.5.1 Global control of re-use

3.1.5.2 Per-window control of re-use

3.1.6 Toolbar configurations

3.1.7 Copying windows

3.1.8 Closing windows

3.1.9 Updating windows

3.2 Setting preferences

3.2.1 General options

3.2.1.1 The window options

3.2.1.2 Controlling completion behavior

3.2.1.3 Quitting the environment

3.2.1.4 Automatic filters on dialogs

3.2.1.5 Automatic use of Find Definitions view

3.2.1.6 Initialization file

3.2.2 Configuring the editor emulation

3.2.2.1 Choosing the key input style

3.2.2.2 Specifying a Meta key

3.2.2.3 Setting the cursor blink rate

3.2.3 Setting the editor font, color and other style attributes

3.2.3.1 Setting the text style attributes

3.2.3.2 Controlling parenthesis coloring

3.2.4 Setting the default encodings

3.3 Performing editing functions

3.3.1 Undoing changes

3.3.2 Using the clipboard

3.3.3 Using the Object operations with the clipboard

3.3.4 Selecting text and objects

3.3.5 Searching for text and objects

3.4 The Break gesture

3.5 The history list

3.5.1 Repeating events from the history list

3.5.2 Editing the history list

3.6 Operating on files

3.7 Displaying packages

3.7.1 Specifying a package

3.8 Performing operations on selected objects

3.8.1 Operations available

3.9 Using different views

3.9.1 Sorting items in views

3.10 Tracing symbols from tools

3.11 Linking tools together

3.12 Filtering information

3.12.1 Plain Filtering

3.12.2 Advanced Filtering

3.13 Regexp matching

3.13.1 Regular expression syntax

3.13.2 Regexp and plain string matching

3.14 Completion

3.14.1 Invoking completion

3.14.2 Selecting the completed input

3.14.2.1 In-place completion

3.14.2.2 Filtering in-place completion

3.14.3 Completion dialog

3.14.3.1 Filtering modal dialog completion

3.15 Examining a window

4 Getting Help

4.1 Online manuals in HTML format

4.1.1 Browsing manuals online

4.1.2 Searching the online manuals

4.1.3 Getting help on the current tool

4.1.4 Getting help on the current symbol

4.1.5 Getting help from the LispWorks website

4.1.6 Getting patches from the LispWorks website

4.1.7 Configuring the browser used

4.2 Online help for editor commands

4.3 Browsing manuals online using Adobe Reader

4.4 Reporting bugs

5 Session Saving

5.1 What session saving does

5.2 The default session

5.3 What is saved and what is not saved

5.4 Saving sessions

5.4.1 Scheduling automatic session saving

5.4.2 The Save Session dialog and actual saving

5.4.3 Saving a session interactively

5.5 Redirecting images to a Saved Session image

5.6 Non-IDE interfaces and session saving

6 Manipulating Graphs

6.1 An overview of graphs

6.2 Searching graphs

6.3 Expanding and collapsing graphs

6.3.1 Expanding and collapsing by clicking

6.3.2 Expanding and collapsing by menu commands

6.4 Moving nodes in graphs

6.5 Displaying plans of graphs

6.6 Preferences for graphs

6.6.1 Altering the depth and breadth of graphs

6.6.2 Displaying different graph layouts

6.7 Using graphs in your programs

7 LispWorks menus and the toolbar

7.1 LispWorks menus

7.2 The LispWorks toolbar

7.3 Specifying the initial tools

8 The Class Browser

8.1 Simple use of the Class Browser

8.1.1 Examining slots

8.1.2 Examining inherited slots

8.1.3 Filtering slot information

8.1.4 Examining other classes

8.1.5 Sorting information

8.2 Examining slot information

8.2.1 Class box

8.2.2 Filter area

8.2.3 Slots list

8.2.4 Description list

8.2.5 Performing operations on the current class

8.3 Examining superclasses and subclasses

8.3.1 Class box

8.3.2 Superclasses list

8.3.3 Subclasses list

8.3.4 Description list

8.3.5 Performing operations on the selected classes or the current class

8.4 Examining classes graphically

8.4.1 Class box

8.4.2 Subclasses and superclasses graphs

8.4.3 Description list

8.4.4 Performing operations on the selected classes or the current class

8.4.5 An example

8.5 Examining generic functions and methods

8.5.1 Class box

8.5.2 Filter box

8.5.3 List of functions or methods

8.5.4 Description list

8.5.5 Performing operations on the current class

8.5.6 Operations specific to the current function or method

8.6 Examining initargs

8.6.1 Class box

8.6.2 Filter box

8.6.3 List of initargs

8.6.4 Description list

8.6.5 Performing operations on the current class

8.7 Examining class precedences

8.7.1 Class box

8.7.2 Filter box

8.7.3 List of precedences

8.7.4 Description list

8.7.5 Performing operations on the selected classes or the current class

9 The Object Clipboard

9.1 Placing objects on the Object Clipboard

9.1.1 The Listener

9.1.2 The Class Browser

9.1.3 The Inspector

9.1.4 The Function Call Browser

9.1.5 The Generic Function Browser

9.1.6 The Debugger

9.1.7 The Stepper

9.1.8 The System Browser

9.1.9 General clipping

9.2 Browsing clipped objects

9.2.1 The Inspector

9.2.2 The Class Browser

9.2.3 The Listener

9.2.4 General browsing

9.2.5 Pasting of clipped objects

9.3 Removing objects

9.4 Filtering

9.5 Using the Object Clipboard with a Listener

10 The Compilation Conditions Browser

10.1 Introduction

10.2 Examining error conditions

10.3 Configuring the display

10.3.1 Display preferences

10.3.2 Condition type preferences

10.4 Access to other tools

11 The Debugger Tool

11.1 Description of the Debugger

11.1.1 Condition box

11.1.2 Backtrace area

11.1.2.1 Frames and Variables in a tree

11.1.2.2 Frames and Variables in two lists

11.1.3 Toolbar buttons

11.2 What the Debugger tool does

11.3 Simple use of the Debugger tool

11.4 The stack in the Debugger

11.5 An example debugging session

11.6 Performing operations on the error condition

11.7 Performing operations on stack frames

11.7.1 Source location, documentation, inspect and method combination for the current frame

11.7.2 Restarts and returning from the frame

11.7.3 Tracing the function in the frame

11.8 Performing operations on frame variables

11.9 Configuring the debugger tool

11.9.1 Configuring the call frames displayed

11.9.2 Displaying package information

11.9.3 Behavior on closing the Debugger

11.9.4 Frames and variables display

11.10 The Notifier window

12 The Tracer

12.1 Introduction

12.2 Tracing and Untracing functions

12.2.1 Tracing methods

12.3 Examining the output of tracing

12.3.1 The Output Data view

12.3.2 The Output Text view

12.4 Example

13 The Editor

13.1 Displaying and editing files

13.1.1 The toolbar

13.1.2 The editor window

13.1.3 The echo area

13.1.4 Using keyboard commands

13.2 Displaying output messages in the Editor

13.3 Displaying and swapping between buffers

13.3.1 Filter area

13.3.2 Buffers area

13.4 Displaying Common Lisp definitions

13.4.1 Filter box

13.4.2 Definitions area

13.5 Changed definitions

13.5.1 Setting the reference point for changed definitions

13.6 Finding definitions

13.7 Setting Editor preferences

13.7.1 Controlling other aspects of the Editor

13.7.2 Controlling options specific to the Editor

13.7.2.1 Sorting items in lists

13.7.2.2 Displaying package information

13.7.2.3 Controlling toolbar display

13.8 Basic Editor commands

13.8.1 Opening, saving and printing files

13.8.2 Moving around files

13.8.3 Inserting and deleting text

13.8.4 Using several buffers

13.9 Other essential commands

13.9.1 Aborting commands

13.9.2 Undoing commands

13.9.3 Repeating commands

13.10 Cutting, copying and pasting using the clipboard

13.11 Cutting, copying and pasting using the kill ring

13.11.1 Marking the region

13.11.2 Cutting or copying text

13.11.3 Pasting text

13.12 Searching and replacing text

13.12.1 Searching for text

13.12.2 Incremental searches

13.12.3 Replacing text

13.13 Using Lisp-specific commands

13.13.1 Lisp mode

13.13.2 Current buffers, definitions and expression

13.13.3 Evaluating code

13.13.4 Compiling code

13.13.4.1 Compiling in memory

13.13.4.2 Compiling to a file

13.13.5 Argument list information

13.13.6 Breakpoints

13.13.6.1 Setting breakpoints

13.13.6.2 Editing breakpoints

13.13.6.3 Removing breakpoints

13.13.6.4 Reloading code with breakpoints

13.13.7 Tracing symbols and functions

13.13.8 Packages

13.13.8.1 The primary package

13.13.8.2 The current package for Lisp operations

13.13.9 Indentation of forms

13.13.10 Other facilities

13.14 Help with editing

14 The Function Call Browser

14.1 Introduction

14.2 Examining functions using the graph views

14.2.1 Function area

14.2.2 Show functions control

14.2.3 Graph area

14.2.4 Echo area

14.2.5 The function description button

14.2.5.1 Function description area

14.2.5.2 Documentation area

14.3 Examining functions using the text view

14.3.1 Called By area

14.3.2 Calls Into area

14.4 Configuring the function call browser

14.4.1 Sorting entries

14.4.2 Displaying package information

14.5 Configuring graph displays

14.5.1 Graph layout settings

14.5.2 Graph expansion settings

14.5.3 Plan mode settings

14.6 Performing operations on functions

15 The Generic Function Browser

15.1 Examining information about methods

15.1.1 Function area

15.1.2 Filter area

15.1.3 Methods list

15.1.4 Description list

15.1.5 Performing operations on the current function or selected methods

15.2 Examining information about combined methods

15.2.1 Function box

15.2.2 Signatures button

15.2.3 Arguments types box

15.2.4 List of method combinations

15.2.5 Description list

15.2.6 Restricting displayed signatures by class

15.3 Configuring the Generic Function Browser

16 The Search Files tool

16.1 Introduction

16.2 Performing searches

16.2.1 Entering Search Specifications directly

16.2.1.1 Plain Directory searches

16.2.1.2 Root and Patterns searches

16.2.1.3 System Search

16.2.1.4 Known definitions searches

16.2.1.5 Grep searches

16.2.2 Using context-dependent searches

16.2.2.1 Context-dependent searches using Editor commands

16.2.2.2 Context-dependent searches using menu commands

16.2.2.3 Search History

16.3 Viewing the results

16.3.1 Displaying in an Editor

16.3.2 Linking to an Editor

16.3.3 Filtering the results

16.3.4 Hiding certain results

16.4 Modifying the matched lines

16.5 Configuring the Search Files tool

16.5.1 Search Parameters

16.5.2 Display

16.5.3 File Types

16.5.4 The External Grep Program

17 The Inspector

17.1 Inspecting the current object

17.2 Description of the Inspector tool

17.2.1 Adding a Listener to the Inspector

17.3 Filtering the display

17.3.1 Updating the display

17.4 Examining objects

17.5 Operating upon objects and items

17.5.1 Examination operations

17.5.1.1 Example

17.5.1.2 Recursive inspection

17.5.2 Examining attributes

17.5.3 Tracing slot access

17.5.4 Manipulation operations

17.5.4.1 Example

17.5.5 Copying in the Inspector

17.6 Configuring the Inspector

17.7 Customizing the Inspector

17.8 Creating new inspection formats

17.8.1 Example

18 The Symbol Browser

18.1 Introduction

18.2 Description of the Symbol Browser

18.2.1 Search Settings

18.2.1.1 Packages

18.2.1.2 Type

18.2.1.3 Accessibility

18.2.2 Filter area

18.2.3 Symbols list

18.2.4 Description area

18.2.5 Documentation area

18.3 Configuring the Symbol Browser

19 The Listener

19.1 The basic features of a Listener

19.2 Evaluating simple forms

19.3 Re-evaluating forms

19.4 Interrupting evaluation

19.5 The History menu

19.6 The Expression menu

19.7 The Values menu

19.8 The Debug menu

19.9 Execute mode

19.9.1 History commands

19.9.2 Debugger commands

19.9.3 Miscellaneous Listener commands

19.10 Setting Listener preferences

19.11 Running Editor forms in the Listener

19.12 Switching to and from other tools

19.13 Help with editing in the Listener

20 The Output Browser

20.1 Interactive compilation messages

20.1.1 Compilation message styles

21 The Process Browser

21.1 The process list

21.2 Process control

21.3 Other ways of breaking processes

21.4 Updating the Process Browser

21.5 Process Browser Preferences

22 The Profiler

22.1 Introduction

22.2 Display of Profiler Data

22.2.1 Call Tree

22.2.2 Cumulative Results

22.3 A description of profiling

22.3.1 Description of call tree data

22.3.2 Description of cumulative data

22.4 Steps involved in profiling code

22.4.1 Choosing the functions to profile

22.4.1.1 Choosing individual functions

22.4.1.2 Choosing packages

22.4.2 Specifying the code to run while profiling

22.4.3 Performing the profile

22.5 Format of the cumulative results

22.6 Interpreting the cumulative results

22.7 Profiling pitfalls

22.7.1 Effects of random sampling

22.7.2 Recursive functions

22.7.3 Structure accessors

22.7.4 Consequences of restricted profiling

22.7.5 Effect of compiler optimizations

22.7.6 Effect of compiler transforms

22.8 Some examples

23 The Shell and Remote Shell Tools

23.1 Introduction

23.2 The Shell tool

23.3 Command history in the shell

23.4 Configuring the shell to run

23.5 The remote shell tool

24 The Stepper

24.1 Introduction

24.1.1 Stepper toolbar

24.1.2 Source area

24.1.3 Backtrace area

24.1.4 Listener area

24.2 Simple examples

24.2.1 Standalone use of the stepper

24.2.2 Invoking the Stepper via a breakpoint

24.3 The implementation of the Stepper

24.3.1 Requirements for stepping

24.3.2 Editing source code

24.3.3 Side-effects of stepping

24.3.4 Atomic and constant forms

24.4 Stepper controls

24.4.1 Shortcut keys for the Stepper

24.5 Stepper restarts

24.6 Breakpoints

24.6.1 Setting breakpoints

24.6.2 Conditional breakpoints

24.6.3 Printing breakpoints

24.6.4 Editing breakpoints

24.6.5 Removing breakpoints

24.7 Stepping macro forms

24.7.1 Interactive macroexpansion

24.7.2 Macroexpansion in the stepper

24.7.3 Collapsing macroexpansions

24.7.4 Controlling macroexpansion

24.8 Listener area

24.9 Configuring the Stepper

24.9.1 Operator preferences

24.9.2 Backtrace preferences

25 The System Browser

25.1 Introduction

25.2 A brief introduction to systems

25.2.1 Examples

25.3 The System Browser

25.4 A description of the System Browser

25.5 Examining the system tree

25.5.1 System area

25.5.2 Tree area

25.5.3 Description area

25.5.4 Performing operations on system members

25.6 Examining systems in the text view

25.6.1 System area

25.6.2 Parent system area

25.6.3 Subsystems area

25.6.4 Files area

25.6.5 File description area

25.7 Generating and executing plans in the preview view

25.7.1 System area

25.7.2 Actions area

25.7.3 Filter area

25.7.4 Plan area

25.7.5 File description area

25.7.6 Executing plans in the preview view

25.8 Examining output in the output view

25.8.1 System area

25.8.2 Output area

25.9 ASDF Integration

25.9.1 Interface to source code managers

25.10 Configuring the display

25.10.1 Sorting entries

25.10.2 Displaying package information

25.10.3 Display of the toolbar

25.11 Setting options in the system browser

26 The Window Browser

26.1 Introduction

26.1.1 Graph box

26.1.2 Window graph

26.1.3 Description list

26.2 Configuring the Window Browser

26.2.1 Sorting entries

26.2.2 Displaying package information

26.2.3 Displaying the toolbar

26.2.4 Displaying different types of window

26.2.5 Displaying short or long names

26.3 Performing operations on windows

26.3.1 Navigating the window hierarchy

26.3.2 Window control

27 The Application Builder

27.1 Introduction

27.1.1 What the Application Builder does

27.2 Preparing to build your application

27.2.1 The script

27.2.1.1 Using your existing delivery script

27.2.1.2 Creating a new delivery script

27.3 Building your application

27.4 Editing the script

27.5 Troubleshooting

27.5.1 Viewing errors

27.5.2 Clearing the output

27.6 Running the saved application

27.6.1 Passing arguments and redirecting output

27.6.2 Executing a different file

27.6.3 Killing application processes

27.7 Building universal binaries

27.8 Configuring the Application Builder

Index

 


LispWorks IDE User Guide (Macintosh version) - 22 Dec 2009

NextPrevTopIndex