diff --git a/BUILDING.rst b/BUILDING.rst index 06c78becd..1dd416e56 100644 --- a/BUILDING.rst +++ b/BUILDING.rst @@ -15,20 +15,20 @@ Clone the git repository:: UNIX ==== +.. note:: Much of what is described here is encoded into + `release-with-batteries.sh + `_ + and running that script may be sufficient. + Dependencies ------------ -Binary releases come packaged with all of the necessary -dependencies. The current binary release includes +Binary releases come packaged with all of the necessary dependencies. The +current binary release includes -- `LLVM/Clang - `_ (subsetted to include only necessary components) -- `LLVM libunwind - `_ - (snapshot revision `22b615a9 - `_) -- `BDW GC 8.0.4 `_ +- `LLVM/Clang `_ (subsetted to include + only necessary components, including libunwind) +- `BDW GC `_ If you build from source, you may need to supply these dependencies as described below. @@ -38,7 +38,7 @@ All 64-bit platforms and macOS must use the Boehm Demers Weiser conservative GC is only integrated with the HARP back-end, which itself only works on 32-bit x86 platforms. -* 64-bit systems and macOS (LLVM or C back-end) -> `boehm-gc +* 64-bit systems (LLVM or C back-end) -> `boehm-gc `_, usually installed via a package (see below). * 32-bit x86 Linux or FreeBSD (HARP back-end) -> `MPS 1.114 @@ -64,7 +64,7 @@ FreeBSD. If available, it is used to display stack traces for unhandled error conditions. (The ``libunwind`` API is built-in on macOS.) -You may also want to install ``lldb-10`` for debugging if you are using the LLVM +You may also want to install ``lldb`` for debugging if you are using the LLVM back-end. Building diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index b947e09a7..059fa5a7b 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -1,7 +1,7 @@ How to Contribute ================= -If you would like to start contributing to Open Dylan, please see `How to -Contribute to Open Dylan `_ or -open the file `documentation/hacker-guide/source/index.rst` in this -distribution for guidelines and ideas on where to start. Thanks! +If you would like to start contributing to Open Dylan, please see the `Open +Dylan Hacker's Guide `_ or open the file +`documentation/hacker-guide/source/index.rst` in this distribution for +guidelines and ideas on where to start. Thanks! diff --git a/README.md b/README.md index 4029110dc..96f24bcaf 100644 --- a/README.md +++ b/README.md @@ -30,11 +30,11 @@ the same directory). ## What Next? If this is your first time trying Open Dylan, take a look at the [Getting -Started guide](http://opendylan.org/documentation/getting-started-cli/). +Started](https://opendylan.org/getting-started-cli/) guide. See also: * [BUILDING.rst](BUILDING.rst) - how to build the compiler and IDE -* [How to Contribute to Open - Dylan](https://opendylan.org/documentation/hacker-guide/contribute.html) +* See the [Open Dylan Hacker's Guide](https://opendylan.org/hacker-guide/) for + how to contribute to Open Dylan or its libraries. * [opendylan.org](https://opendylan.org) - our main website diff --git a/documentation/getting-started-ide/source/coloring.rst b/documentation/getting-started-ide/source/coloring.rst index 22cb7eaeb..e742e34b7 100644 --- a/documentation/getting-started-ide/source/coloring.rst +++ b/documentation/getting-started-ide/source/coloring.rst @@ -254,7 +254,7 @@ We can recompile the application to see what effect our change has had. The refreshed coloring shows the call to ``make`` on ```` in the *reversi-game-board* slot definition in light gray. This coloring means that the compiler determined which ``make`` method to call, computed -the result of the call—a ```` object—and inlined the +the result of the call — a ```` object — and inlined the object. Looking further down *game.dylan*, notice that the definition of @@ -332,7 +332,7 @@ being made. The *size(squares)* call is now colored green. Green coloring means the compiler determined that the call was equivalent to a slot -access—particularly, an access to slot having a fixed offset from the +access — particularly, an access to a slot having a fixed offset from the memory address at which its class is located. The compiler removed the need for run-time method dispatch by replacing the call with code to access the location that would contain the slot value. diff --git a/documentation/getting-started-ide/source/com-projects.rst b/documentation/getting-started-ide/source/com-projects.rst index a94f089eb..a6a639c9a 100644 --- a/documentation/getting-started-ide/source/com-projects.rst +++ b/documentation/getting-started-ide/source/com-projects.rst @@ -44,7 +44,7 @@ Creating the server stubs library First we use the New Project wizard to create a Dylan library defining server-side stubs for the encryption interface. -Choose **File > New…** from the main window. +Choose **File > New...** from the main window. #. Select **Project** and click **OK**. @@ -57,7 +57,7 @@ The next page allows you to name a type library to be translated. Most COM components store the location of their type libraries in the Windows Registry. These registered type libraries are listed in the Installed Type Libraries section of the window. You can select a type library from -the list, or click **Browse…** in the Location pane to select a type +the list, or click **Browse...** in the Location pane to select a type library file from disk. .. figure:: images/motwiz.png @@ -67,7 +67,7 @@ library file from disk. In this case, we use a type library supplied with Open Dylan. -#. Click **Browse…** and navigate to the Open Dylan examples folder. +#. Click **Browse...** and navigate to the Open Dylan examples folder. The folder required is called Examples and is placed under the top-level Open Dylan folder. @@ -164,7 +164,7 @@ The specification file looks something like this: .. code-block:: dylan Origin: COM-type-library - Type-library: C:\\Program Files\\Open Dylan\\Examples\\…\\RotNExample.tlb + Type-library: C:\\Program Files\\Open Dylan\\Examples\\...\\RotNExample.tlb Module: type-library-module Module-file: type-library-module.dylan Generate: dispatch-servers @@ -254,7 +254,7 @@ Creating the server Now we create the actual server application. -Choose **File > New…** from the main window. +Choose **File > New...** from the main window. #. Select *Project* and click **OK**. @@ -468,7 +468,7 @@ Creating the client stubs library Now we create a project for the client-side stubs of the encryption interface. -Choose **File > New…** from the main window. +Choose **File > New...** from the main window. #. Select **Project** and click **OK**. @@ -476,7 +476,7 @@ The New Project wizard appears. #. In the Project Type section, select "Interface to COM Type Library" and click **Next**. -#. Click **Browse…** and navigate to the Open Dylan examples folder. +#. Click **Browse...** and navigate to the Open Dylan examples folder. The folder required is called Examples and is placed under the top-level Open Dylan folder. @@ -510,7 +510,7 @@ Note that the "OLE Automation" option on the "OLE Automation support" page is automatically selected. That is what we want. #. Click **Next**. -#. Choose the "NoneÝ" option from "Database support" and click **Next**. +#. Choose the "None" option from "Database support" and click **Next**. We are now at the final page of the New Project wizard. @@ -578,7 +578,7 @@ Creating the client Now we create the actual client application. -Choose **File > New…** from the main window. +Choose **File > New...** from the main window. #. Select **Project** and click **OK**. @@ -664,7 +664,7 @@ return ``#t``, and the server to call ``register-coclass``. Open the RotNExample-server project and build it. -#. Select *Project > Settings…* in the RotNExample-server project +#. Select *Project > Settings...* in the RotNExample-server project window. The Project Settings dialog appears. @@ -685,7 +685,7 @@ the environment. First, however, we need to remove the */RegServer* argument from the project settings, so that the server can run normally. -#. Select **Project > Settings…** in the RotNExample-server project +#. Select **Project > Settings...** in the RotNExample-server project window. The Project Settings dialog appears. diff --git a/documentation/getting-started-ide/source/debug.rst b/documentation/getting-started-ide/source/debug.rst index a6bbd7a31..7d4633c78 100644 --- a/documentation/getting-started-ide/source/debug.rst +++ b/documentation/getting-started-ide/source/debug.rst @@ -312,7 +312,7 @@ of an interactive evaluation. - If you issue the pause command (**Application > Pause** or - If you issue the pause command from the project window or editor, the - debugger for the application’s main thread is refreshed. + debugger for the application's main thread is refreshed. In all of these circumstances, any other open debugger windows will not be refreshed unless you choose **View > Refresh** in them. If you choose @@ -346,7 +346,7 @@ In a debugger window, the commands act upon the application that created the thread being debugged. In an editor window, the commands act upon the application of the active project. (Note that the **Application** menu is not available in the editor if the source file being edited is not -part of the active project—the project whose name is visible in the main +part of the active project — the project whose name is visible in the main window's drop-down list. See `The active project`_ for more details.) .. index:: @@ -466,7 +466,7 @@ to set things running, such as a call to start an event loop in a windowing application. See :ref:`start-function` for details. You can specify a start function on the Debug page of the **Project > -Settings…** dialog. When you use **Application > Debug** or **Application > +Settings...** dialog. When you use **Application > Debug** or **Application > Interact**, the environment places a temporary breakpoint on the start function so that the application starts and then enters the debugger on entry to the start function. For this reason, the expression that calls @@ -497,7 +497,7 @@ debugger. Nonetheless, for debugging it is still useful to be able to pause the DLL once it has initialized completely but before it exits. To do this, simply remove the name in the Start Function section of the **Project > -Settings…** dialog's Debug page. Then, when you choose **Application > +Settings...** dialog's Debug page. Then, when you choose **Application > Debug** or **Application > Interact**, the debugger lets the DLL execute all its top-level expressions, and pauses the DLL just as its main thread is about to exit. This gives you access to all the definitions @@ -519,7 +519,7 @@ Interact** the environment runs the EXE. The point at which the EXE is paused again depends on whether you supply a start function. Alternatively, you can supply your own EXE in the Executable field of -the **Project > Settings…** dialog's Debug page. The **Application > Start**, +the **Project > Settings...** dialog's Debug page. The **Application > Start**, **Application > Debug**, and **Application > Interact** commands then call your EXE and behave in the same way as if your EXE was the project target file. That is to say, execution of the EXE proceeds @@ -537,7 +537,7 @@ DLLs, you can use the same debugging processes as described in If you want to test your server or control in a container application, simply enter the name of the application executable in the Executable -field of the **Project > Settings…** dialog's Debug page. This executable +field of the **Project > Settings...** dialog's Debug page. This executable could be any OLE container, such as WordPad. The **Application > Start**, **Application > Debug**, and **Application > Interact** commands then execute the container executable. Execution proceeds normally until the @@ -566,15 +566,15 @@ handled, or due to it reaching a breakpoint. You cannot do so if the application has paused because you used **Application > Pause**. (Use **Application > Resume** to restart your application in that case.) -To select a restart to be signalled, choose **Thread > Continue…**, which +To select a restart to be signalled, choose **Thread > Continue...**, which displays a dialog listing all available restarts. For convenience, there are two other menu items for signalling :drm:`` restarts, which are defined to mean "terminate the current computation". -**Thread > Abort** signals the innermost available :drm:`` restart—that -is, it aborts as little as possible—whereas **Thread > Abort All** signals -the outermost :drm:`` restart—that is, it aborts as much as possible. +**Thread > Abort** signals the innermost available :drm:`` restart — that +is, it aborts as little as possible — whereas **Thread > Abort All** signals +the outermost :drm:`` restart — that is, it aborts as much as possible. Although the meaning of :drm:`` restarts is part of the Dylan language, your application must provide handlers to implement them. If @@ -596,7 +596,7 @@ time. The command we have seen so far, **Application > Debug**, debugs only the application's main thread. To debug another thread in the application, choose **Go > Threads** from the debugger, project window, or editor. From the debugger window you can also use **Thread > Select -Thread…**. To bring up multiple debugger windows, use **Window > New +Thread...**. To bring up multiple debugger windows, use **Window > New Window** from an existing debugger. The **Go > Threads** command launches a browser on the application itself, @@ -1008,7 +1008,7 @@ The answer is that the editor has an *active project*. This is the project whose name is visible in the drop-down list in the main window. You can change the active project by changing the setting in the list. The active project is always one of the projects that have been -explicitly opened—that is, one for which there is a project window. +explicitly opened — that is, one for which there is a project window. The editor also uses the active project to determine two other things. First, the editor shows breakpoint information in its leftmost column @@ -1018,7 +1018,7 @@ source files that are not part of the active project. A project can become the active project automatically as well as by being set explicitly in the main window's drop-down list. The main -window's **Options > Environment Options…** dialog has two options on the +window's **Options > Environment Options...** dialog has two options on the General page controlling when projects become active automatically: "Project becomes active when opened" and "Project becomes active when application started". @@ -1088,7 +1088,7 @@ development environment, via **Application > Start** and similar commands. When you set a breakpoint in a function that is in a used library, the breakpoint does not go into the project that owns the function, but -instead into the project you are browsing—or the active project, if in +instead into the project you are browsing — or the active project, if in the editor. Setting breakpoints on functions @@ -1200,7 +1200,7 @@ complete list of commands follows. "Clear Breakpoint" Removes any breakpoint at the line the mouse pointer is on. -Edit Breakpoint Options… +Edit Breakpoint Options... Pops up a dialog for editing breakpoint options. See `Breakpoint options`_. @@ -1236,7 +1236,7 @@ all enabled breakpoints. Breakpoint options ------------------ -The **Edit Breakpoint Options…** dialog, available from the shortcut +The **Edit Breakpoint Options...** dialog, available from the shortcut (right-click) menu, contains the following sections. - "Enabled" Check item for toggling whether a breakpoint is enabled or @@ -1385,8 +1385,8 @@ run two instances of the environment, with one debugging the client and the other debugging the server: if any libraries are shared between the applications, both environment instances will attempt to lock the compiler database files for those libraries. Since all applications -ultimately use the Dylan library, and most share other libraries—not the -least of which in this case being networking libraries—using two +ultimately use the Dylan library, and most share other libraries — not the +least of which in this case being networking libraries — using two Open Dylan processes is never a practical debugging method. This is not a disadvantage. By running both client and server in one @@ -1398,7 +1398,7 @@ Once you have both projects open, you can start both applications up. Note that by default the action of starting a project will switch the active project, so the last project you start will be the active one by default. You can change this behavior in the main window with **Options > -Environment Options…** so that the active project does not switch in this +Environment Options...** so that the active project does not switch in this situation. See `The active project`_ for more information. If you need to rebuild a library shared between the client and server, @@ -1427,12 +1427,12 @@ Exporting a bug report or a compiler warnings report ==================================================== You can save a formatted bug report or compiler warnings report for an -application by choosing **File > Export…** in the debugger or project +application by choosing **File > Export...** in the debugger or project window. The bug report includes a stack backtrace for all threads in the application, while the compiler warnings report contains the same information provided in the project window's Warnings page. -The Export… dialog gives you the option of saving the report as either +The Export... dialog gives you the option of saving the report as either text HTML. If you choose to save the report to a file, an editor window automatically opens to show the file. The saved report contains a section for user-supplied information into which you can type @@ -1445,7 +1445,7 @@ supplemental text. .. figure:: images/export.png :align: center - The Export… dialog. + The Export... dialog. .. index:: single: debugging; debugger options @@ -1458,7 +1458,7 @@ Debugger options The **View > Debugger Options** command brings up a dialog that controls the options for the debugger. This dialog has three property pages: Stack, Exceptions, and Misc. The options on these pages apply on a -per-thread basis—you can have different settings for different threads' +per-thread basis — you can have different settings for different threads' debuggers. .. index:: diff --git a/documentation/getting-started-ide/source/editopt.rst b/documentation/getting-started-ide/source/editopt.rst index 906639f37..33ca81282 100644 --- a/documentation/getting-started-ide/source/editopt.rst +++ b/documentation/getting-started-ide/source/editopt.rst @@ -12,11 +12,10 @@ of its most unique features is that it actually lets you compile selections of code as you develop your application. This is why we say the editor is *interactive*. -You can use the editor in one of two styles: Emacs or Windows. Using the -editor options, as described in -` <../../../../../../ldisk2/doc/dylan/product/guide/environment/src/appx.htm#52521>`_, -you can choose from either an Emacs or Windows style keyboard layout and -default settings. +You can use the editor in one of two styles: Emacs or Windows. Using the editor +options, as described in `Changing the editor options and layout`_, you can +choose from either an Emacs or Windows style keyboard layout and default +settings. The editor allows you to perform a wide range of operations by using menu commands, as well as keyboard commands. These operations range from @@ -71,14 +70,14 @@ Display conventions The editor separates each definition in a source file with a gray line. Printed in the middle of each line is the name of the definition below it. These code separators also appear above top-level expressions -wrapped with *begin* … *end*. A file has to have been compiled for code +wrapped with *begin* ... *end*. A file has to have been compiled for code separators to show. The code separators are just a visual aid, and are not part of the file itself. If you opened the source file in a different editor you would not see the separators. The compiler also ignores them. -When you add a new definition, or a new *begin* … *end* top-level form, +When you add a new definition, or a new *begin* ... *end* top-level form, the code separators will only be updated if you manually refresh the editor window (**View > Refresh** ), move the cursor past an existing separator, or perform some other operation that forces the editor to @@ -98,11 +97,9 @@ Changing the editor options and layout By default the editor uses Windows-style defaults and therefore associates each opened file with a new editor window. However, you can change this and edit many different files at once in the same editor by -using the **View > Editor Options…** Display tab page. Alternatively, you +using the **View > Editor Options...** Display tab page. Alternatively, you can use the Restore tab page to switch to Emacs defaults, which changes -this default (and others). For details about the Editor Options dialog, -its tab pages and settings, see -` <../../../../../../ldisk2/doc/dylan/product/guide/environment/src/appx.htm#52521>`_. +this default (and others). The editor offers a number of different viewing options for the window's layout. @@ -111,10 +108,10 @@ layout. examine any output messages from the environment. You can show or hide the status bar using **View > Status Bar**. This is where you will see messages displayed about your interactive development, such - as "Compiling definition…" when you compile a selection. + as "Compiling definition..." when you compile a selection. - The standard Dylan toolbar can be viewed or hidden with **View > Toolbar**. -- The color dispatch optimizations feature, as described in +- The color dispatch optimizations feature, as described in :doc:`coloring`, shows you where and how to optimize your code and is controlled by **View > Color Dispatch Optimizations**. @@ -124,7 +121,7 @@ The editor window's context: the active project In an editor window, the toolbar and menu commands act upon the application of the active project. For instance, the **Project**, **Build**, and **Application** menus are not available in the editor -if the source file being edited is not part of the active project—the +if the source file being edited is not part of the active project — the project whose name is visible in the main window's drop-down list. See :ref:`active-project` for more details. @@ -269,7 +266,7 @@ Change the word *circle* to *square*, so that the line reads: Select the line of code and choose **Project > Compile Selection**. -Notice that the status bar says "Compiling region…" and then +Notice that the status bar says "Compiling region..." and then "\*reversi-piece-shape\* successfully downloaded". Make a few moves on the board. @@ -340,45 +337,45 @@ The SourceSafe menu commands The **SourceSafe** menu provides the following commands: -Get Latest Version… +Get Latest Version... Copies the latest version of a file in the database onto the developer's machine. -Check Out… +Check Out... Copies the latest version of a file in the database onto the developer's machine. In addition, the database is updated to note that the file is being edited by the developer. -Check In… +Check In... Copies a file from the developer's machine back into the database, creating a new version of the file, and notes that the file is no longer being edited by the developer. -Undo Check Out… +Undo Check Out... Notes in the database that a file is no longer being edited by the developer and does not change the latest version of the file. In addition, the latest version of the file is copied from the database onto the developer's machine; any changes the developer may have made to the local copy of the file are abandoned. -Merge with Source Control… +Merge with Source Control... Merges the changes made by the developer to the local copy of a file with the latest version of the file in the database and replaces the local copy of the file with the merged edition; the file remains checked out by the developer. -Add to Source Control… +Add to Source Control... Creates the first version of a file in the source control database using the copy on the developer's machine as the initial content. -Remove from Source Control… +Remove from Source Control... Removes a file and its history from the database. -Show History… +Show History... Displays the list of changes made to a file as recorded in the database. -Show Differences… +Show Differences... Compares the latest version of a file in the database against a copy on the developer's machine and displays the differences, if any. This command can be used to check to see if others may have made changes @@ -422,8 +419,8 @@ SourceSafe database. In :ref:`select-project-file-dialog` the developer has selected a project three levels below the root. When using Visual SourceSafe, you may omit the file name in all -operations (except for **SourceSafe > Add to Source Control…** and **Remove -from Source Control…** ) to cause the operation to be performed on all +operations (except for **SourceSafe > Add to Source Control...** and **Remove +from Source Control...** ) to cause the operation to be performed on all files in the project. For instance, to check out all the files in a project, leave the File field empty in the Select Project and File dialog. diff --git a/documentation/getting-started-ide/source/expanding.rst b/documentation/getting-started-ide/source/expanding.rst index e64602808..0eeb5b147 100644 --- a/documentation/getting-started-ide/source/expanding.rst +++ b/documentation/getting-started-ide/source/expanding.rst @@ -135,13 +135,13 @@ An editor window appears. Notice how the editor separates each definition in a source file with a gray line. Printed in the middle of each line is the name of the definition below it. These code separators also appear above top-level -expressions wrapped with *begin* … *end*. +expressions wrapped with *begin* ... *end*. The code separators are just a visual aid, and are not part of the file itself. If you opened the source file in a different editor you would not see the separators. They are ignored by the compiler. -When you add a new definition, or a new *begin* … *end* top-level form, +When you add a new definition, or a new *begin* ... *end* top-level form, the code separators will only be updated if you manually refresh the editor window (**View > Refresh**), move the cursor past an existing separator, or perform some other operation that forces the editor to @@ -190,7 +190,7 @@ Change the last line of the definition so that it appears as follows:: Choose **File > Save** in the editor. Open Dylan saves the file, first making a backup of the previous -version in *saving.dylan~* —that is, in a file of the same name, but +version in *saving.dylan~* — that is, in a file of the same name, but with an extra character in the file extension, a tilde (~), to show that it is a backup file. @@ -329,7 +329,7 @@ recent at the top of the list. The frames are represented by the names of the functions whose call created them, and are accompanied by an icon denoting the sort of call it was. See :ref:`call-frames` for details of the icons and their meanings, but note for now that the green arrow -icon represents the current location of the stack pointer—that is, the +icon represents the current location of the stack pointer — that is, the call at which the thread was paused. .. _searching-stack-backtrace-for-cause: @@ -404,10 +404,10 @@ Filtered visible frames Filtered local frames Shows a filtered list of function calls from the current module only. -The "Filtered…" settings do not, by default, show foreign function -calls, cleanup frames, and frames of unknown type, whereas the "All…" +The "Filtered..." settings do not, by default, show foreign function +calls, cleanup frames, and frames of unknown type, whereas the "All..." settings show everything. You can set the filtering rules using **View > -Debugger Options…**, see :ref:`stack-options` for details. +Debugger Options...**, see :ref:`stack-options` for details. .. figure:: images/unfilterederrstack2-0.png :align: center @@ -486,7 +486,7 @@ We can see that this method calls ``reversi-board-squares`` on the ```` instance and then iterates over the value returned, apparently writing each element to the stream with ``reversi-square-write-data``. (Notice that ``reversi-square-write-data`` -does not appear on the stack—this is because it contains only a tail +does not appear on the stack — this is because it contains only a tail call to ``write-element``, and so is optimized away.) We are closing in on the bug. It is looking like the value representing @@ -520,7 +520,7 @@ The notation board = {} -means that *board* is an instance of ```` —an actual +means that *board* is an instance of ```` — an actual instance in the paused application. The curly braces mean that this is an instance of the class rather than the class definition itself. @@ -645,7 +645,7 @@ Here is the code: So *number-for-piece* is most likely returning the integer value that was passed to ``write-element`` (and that we can see on the stack as the -*elt* local variable). The square value has type ```` —this, then, +*elt* local variable). The square value has type ```` — this, then, is the element type of the sequence used to represent the state of the board. diff --git a/documentation/getting-started-ide/source/model.rst b/documentation/getting-started-ide/source/model.rst index 93c760c5e..2aab41f56 100644 --- a/documentation/getting-started-ide/source/model.rst +++ b/documentation/getting-started-ide/source/model.rst @@ -397,7 +397,7 @@ Versioning A project can have major and minor version numbers that will be recorded in the DLL or EXE that the project builds. You can enter these numbers -on the **Project > Settings…** dialog's Link page. +on the **Project > Settings...** dialog's Link page. Open Dylan uses version numbers at compile time and run time to determine if compatible versions of Dylan libraries are in use. @@ -449,8 +449,8 @@ a library is loosely bound, other libraries will be loosely bound to it. Similarly, if code is tightly bound within a library, other libraries will bind tightly to it. -The code within all libraries that Open Dylan supplies—the system -libraries—is tightly bound. This means that all libraries you develop +The code within all libraries that Open Dylan supplies — the system +libraries — is tightly bound. This means that all libraries you develop will bind tightly to whichever of the system libraries you use. When libraries are compiled in Interactive Development mode, they are @@ -514,7 +514,7 @@ Linkers Open Dylan offers you a choice of linkers to use to link your Dylan programs. The default linker is a GNU linker. If you own Microsoft Developer Studio, you can use Microsoft's linker instead. See the Linker -page of the main window's **Options > Environment Options…** dialog. +page of the main window's **Options > Environment Options...** dialog. Executing programs ================== @@ -582,7 +582,7 @@ Source, database, and run-time views We have seen that Open Dylan provides several tools to allow us to view projects in different ways. Some tools can look at the source representation of a project, while others can look at the run-time -representation—the threads of a running application built from a +representation — the threads of a running application built from a project. It is useful to think of there being three "worlds" in which we can diff --git a/documentation/getting-started-ide/source/projects.rst b/documentation/getting-started-ide/source/projects.rst index 58eb240a1..4c261749a 100644 --- a/documentation/getting-started-ide/source/projects.rst +++ b/documentation/getting-started-ide/source/projects.rst @@ -110,7 +110,7 @@ Windows file names. In addition, the project name is used as the default name of the library and module that the project defines, so unless you change those names -(with the *Advanced…* dialog; see `Advanced project settings`_), the +(with the *Advanced...* dialog; see `Advanced project settings`_), the project name must also be a valid Dylan name. Here we can also specify, using the "Include any available templates" @@ -292,14 +292,14 @@ Name the project *GUI-App* and choose a location for it. The New Project wizard can set up some skeleton program code for our project, according to the project's characteristics as we specify them. -Template code is not relevant for all kinds of projects—for instance, +Template code is not relevant for all kinds of projects — for instance, our Hello project would not have benefited from any more initial program -structure than it had—but the wizard will include any that is relevant +structure than it had — but the wizard will include any that is relevant if we check the "Include any available templates" box. Make sure the "Include any available templates" box is checked. -We ignore the **Advanced…** button again. +We ignore the **Advanced...** button again. Click **Next**. @@ -479,7 +479,7 @@ that are saved persistently are as follows. The parent folder is saved in the expectation that you will want to create several projects in sibling folders. -- In the *Advanced…* dialog (see `Advanced project settings`_), +- In the *Advanced...* dialog (see `Advanced project settings`_), the contents of the Start Function box and the setting of Compilation Mode. - The setting of the "Include any available templates" check-box. @@ -507,10 +507,10 @@ The Library and Module Names section allows you to specify names for your project's main library and module. The default value in both cases is the name of the project. -The remaining sections—Start Function, Version Information, Compilation -Mode, and Windows Subsystem—all control settings that you can both set +The remaining sections — Start Function, Version Information, Compilation +Mode, and Windows Subsystem — all control settings that you can both set here and change after creating a project by choosing **Project > -Settings…**. See `Project settings`_ for details. +Settings...**. See `Project settings`_ for details. Adding, moving, and deleting project sources ============================================ @@ -596,7 +596,7 @@ your start function to be recorded in its project information. By default, this name will be *main*, and corresponds to the *main* function that the New Project creates by default in the *project-name* *.dylan* file for all new projects. However, you are free to change the -name if you like—there is nothing special about it. +name if you like — there is nothing special about it. The *project-name* *.dylan* file for all new projects will contain a definition of *main* and a call to it. Projects that include template @@ -626,7 +626,7 @@ with this expression: end; The name of the Start Function is one of the project settings you can -change in the **Project > Settings…** dialog. It appears on the Debug page +change in the **Project > Settings...** dialog. It appears on the Debug page in the Start Function section. The default name is *main*, but you can change it to any valid Dylan name you like. If you do so, make sure to replace the call to *main* with a call to your new start function. The @@ -634,7 +634,7 @@ source file is not updated automatically. Note that you can make the wizard use a different start function name in new project files by changing the default setting in the Advanced -Project Settings dialog. Click **Advanced…** on the second wizard page to +Project Settings dialog. Click **Advanced...** on the second wizard page to produce the dialog. In this case, the generated project code will call the correct new name without requiring you to make a change by hand. @@ -672,7 +672,7 @@ each category, each described below. Compile page ------------ -The **Project > Settings…** dialog's Compile page controls the compilation +The **Project > Settings...** dialog's Compile page controls the compilation mode setting for the current project. Any project can be compiled in one of two modes: Interactive Development mode, and Production mode. See :ref:`compilation-modes` for details of the modes. @@ -685,7 +685,7 @@ of two modes: Interactive Development mode, and Production mode. See Link page --------- -The **Project > Settings…** dialog's Link page controls whether a project +The **Project > Settings...** dialog's Link page controls whether a project is linked as an executable or as a DLL, and what its name will be. It also allows you to specify version information for the target, a base address for it, and the Windows subsystem it runs in. @@ -693,13 +693,13 @@ address for it, and the Windows subsystem it runs in. .. note:: The default linker used in Open Dylan is a GNU linker. If you own Microsoft Developer Studio, you can use the Microsoft linker instead. To change the default linker, go to the main window and choose - **Options > Environment Options…**, then choose that dialog's Build + **Options > Environment Options...**, then choose that dialog's Build page. Target File section of the Link page ------------------------------------ -The **Project > Settings…** dialog's Link page has a Target File section +The **Project > Settings...** dialog's Link page has a Target File section that contains the name of the project target and the type of the target. The default target name is derived from the name of the project. Note that the name will always end in .EXE or .DLL according to the target @@ -708,7 +708,7 @@ type, regardless of any extension you give to the target's name. Base Address section of the Link page ------------------------------------- -The **Project > Settings…** dialog's Link page has a Base Address section +The **Project > Settings...** dialog's Link page has a Base Address section that allows you to specify a base address for your target file. This is the address at which the target will be loaded into memory. @@ -722,7 +722,7 @@ hexadecimal, using Dylan's *#x* prefix: for example, *#x1000000*. Version Information section of the Link page -------------------------------------------- -The **Project > Settings…** dialog's Link page has a Version Information +The **Project > Settings...** dialog's Link page has a Version Information section that allows you to add major and minor version numbers to a DLL or EXE. The values in this section are recorded in the DLL or EXE that the project builds. Open Dylan uses them at compile time and run @@ -732,7 +732,7 @@ See :ref:`versioning` for details. Windows Subsystem section of the Link page ------------------------------------------ -The **Project > Settings…** dialog's Link page has a Win32 Subsystem +The **Project > Settings...** dialog's Link page has a Win32 Subsystem section that allows you to specify that the target should run in the "Windows GUI" (WINDOWS) subsystem or the "Windows Console" (CONSOLE) subsystem. You may wish to change this value if you change the code of a @@ -750,7 +750,7 @@ to run in the "Windows GUI" (WINDOWS) subsystem. Debug page ---------- -The **Project > Settings…** dialog's Debug page allows you to specify a +The **Project > Settings...** dialog's Debug page allows you to specify a command line with which to execute the project target, and the start function for the project. diff --git a/documentation/getting-started-ide/source/remotedbg.rst b/documentation/getting-started-ide/source/remotedbg.rst index 53a9d900e..6067fa70c 100644 --- a/documentation/getting-started-ide/source/remotedbg.rst +++ b/documentation/getting-started-ide/source/remotedbg.rst @@ -37,13 +37,13 @@ perform these steps on the target machine: #. Install the Open Dylan runtime system. - The runtime installer executable, the name of which begins "*hdrun* …", + The runtime installer executable, the name of which begins "*hdrun* ...", resides in the *Extras* folder at the top-level of your Dylan CD-ROM. #. Install the debugging server application. The debugging server installer executable, the name of which begins with - "*hddbg* …", also resides in the *Extras* folder. + "*hddbg* ...", also resides in the *Extras* folder. #. Copy the *bin* folder for your project onto the remote machine. @@ -98,14 +98,14 @@ menu items **Application > Start**, **Application > Debug** and The only difference is that for remote startup you must specify a remote machine in the project's debug settings. -#. Select **Project > Settings…** and select the Debug page. +#. Select **Project > Settings...** and select the Debug page. In the "Remote machine" section, an option box displays the name of the machine on which the project's application is to be run. By default, the selection will be the local machine. Before you can select a remote machine, you must first establish a debugging connection. -#. Click the **Open New Connection…** button. +#. Click the **Open New Connection...** button. #. In the dialog that appears, enter the network address of the machine to which you wish to connect, and enter the password for the debugging @@ -170,8 +170,8 @@ by the environment. It is very simple to do this: #. Open the project whose application, DLL, or control is running. -#. Choose **Application > Attach…** from the project window, or choose - **Tools > Attach Debugger…** from the main window. +#. Choose **Application > Attach...** from the project window, or choose + **Tools > Attach Debugger...** from the main window. A dialog listing all available running processes appears. @@ -191,7 +191,7 @@ machine. You can also attach to a process that is running on a remote machine provided that the debugging server application (see `Starting the debugging server`_) is running on that machine. The process list dialog has an option box that allows you to select the machine whose -process list you want to view. There is also an **Open New Connection…** +process list you want to view. There is also an **Open New Connection...** button for creating new connections to remote machines, which works in the same way as described in `Starting an application remotely`_.