From: Camm Maguire Date: Mon, 3 Feb 2025 20:01:46 +0000 (-0500) Subject: X-Git-Tag: archive/raspbian/2.6.14-12+rpi1^2~8 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=72c8245d06deeefc8afa9fa1fce79b887694a751;p=gcl.git TODO: Put a short summary on the line above and replace this paragraph with a longer explanation of this change. Complete the meta-information with other relevant fields (see below for details). To make it easier, the information below has been extracted from the changelog. Adjust it or drop it. gcl (2.6.14-5) unstable; urgency=medium * Version_2_6_15pre4 Gbp-Pq: Name Version_2_6_15pre4 --- diff --git a/RELEASE-2.5.1 b/RELEASE-2.5.1 index 1bfd0229..4e2314ab 100644 --- a/RELEASE-2.5.1 +++ b/RELEASE-2.5.1 @@ -133,6 +133,6 @@ TO DO: 1) Full ANSI compliance 2) Native optimized blas support 3) Integrate MPI support - 4) GCL as a suported GCC front end. + 4) GCL as a supported GCC front end. 5) Performance/memory optimization diff --git a/ansi-tests/ensure-directories-exist.lsp b/ansi-tests/ensure-directories-exist.lsp index af79efa5..0c9650dc 100644 --- a/ansi-tests/ensure-directories-exist.lsp +++ b/ansi-tests/ensure-directories-exist.lsp @@ -108,7 +108,7 @@ ;;; Case where directory shouldn't exist -;; The directort ansi-tests/scratch must not exist before this +;; The directory ansi-tests/scratch must not exist before this ;; test is run (deftest ensure-directories-exist.8 (let* ((subdir (make-pathname :directory '(:relative "scratch") diff --git a/ansi-tests/iteration.lsp b/ansi-tests/iteration.lsp index 5b6d13bc..b361f0ec 100644 --- a/ansi-tests/iteration.lsp +++ b/ansi-tests/iteration.lsp @@ -121,7 +121,7 @@ (%f)))) 45) -;;; Confirm that the variables in succesive iterations are +;;; Confirm that the variables in successive iterations are ;;; identical (deftest do.15 (mapcar #'funcall @@ -240,7 +240,7 @@ (%f)))) 45) -;;; Confirm that the variables in succesive iterations are +;;; Confirm that the variables in successive iterations are ;;; identical (deftest do*.15 (mapcar #'funcall diff --git a/ansi-tests/loop1.lsp b/ansi-tests/loop1.lsp index 37f9c75b..236f19a9 100644 --- a/ansi-tests/loop1.lsp +++ b/ansi-tests/loop1.lsp @@ -211,7 +211,7 @@ (loop for x from 1 to 5 do nil finally (return x)) 5) -;;; Test that the index variable acheives the exclusive +;;; Test that the index variable achieves the exclusive ;;; upper bound, but does not exceed it. (deftest loop.1.41 (loop for x from 1 below 5 do nil finally (return x)) @@ -224,4 +224,4 @@ (deftest loop.1.43 (loop for x from 10 above 0 do nil finally (return x)) 1) -|# \ No newline at end of file +|# diff --git a/git.tag b/git.tag index 2d0fa90a..1bc64dcf 100644 --- a/git.tag +++ b/git.tag @@ -1 +1 @@ -"Version_2_6_15pre3" +"Version_2_6_15pre4" diff --git a/h/elf64_riscv64_reloc.h b/h/elf64_riscv64_reloc.h index c2f8232d..08e94ce3 100644 --- a/h/elf64_riscv64_reloc.h +++ b/h/elf64_riscv64_reloc.h @@ -23,8 +23,50 @@ case R_RISCV_JAL: break; case R_RISCV_64: - store_val(where,MASK(64),(s+a)); + store_val(where,~0L,(s+a)); break; case R_RISCV_32: store_val(where,MASK(32),(s+a)); break; + case R_RISCV_32_PCREL: + store_val(where,MASK(32),(s+a)-p); + break; + case R_RISCV_ADD8: + add_val(where,MASK(8),(s+a)); + break; + case R_RISCV_ADD16: + add_val(where,MASK(16),(s+a)); + break; + case R_RISCV_ADD32: + add_val(where,MASK(32),(s+a)); + break; + case R_RISCV_ADD64: + add_val(where,~0L,(s+a)); + break; + case R_RISCV_SUB6: + add_val(where,MASK(6),-(s+a)); + break; + case R_RISCV_SUB8: + add_val(where,MASK(8),-(s+a)); + break; + case R_RISCV_SUB16: + add_val(where,MASK(16),-(s+a)); + break; + case R_RISCV_SUB32: + add_val(where,MASK(32),-(s+a)); + break; + case R_RISCV_SUB64: + add_val(where,~0L,-(s+a)); + break; + case R_RISCV_SET6: + store_val(where,MASK(6),(s+a)); + break; + case R_RISCV_SET8: + store_val(where,MASK(8),(s+a)); + break; + case R_RISCV_SET16: + store_val(where,MASK(16),(s+a)); + break; + case R_RISCV_SET32: + store_val(where,MASK(32),(s+a)); + break; diff --git a/info/chap-10.texi b/info/chap-10.texi index 8c240219..1b55cf3c 100644 --- a/info/chap-10.texi +++ b/info/chap-10.texi @@ -996,7 +996,7 @@ If there is no @i{property} with that @i{property indicator}, @b{setf} of @b{get} may be used to associate a new @i{object} with an existing indicator already on the @i{symbol}'s @i{property list}, -or to create a new assocation if none exists. +or to create a new association if none exists. If there are multiple @i{properties}_1 with that @i{property indicator}, @b{setf} of @b{get} associates the @i{new-value} diff --git a/info/chap-14.texi b/info/chap-14.texi index 7f4acdde..51588450 100644 --- a/info/chap-14.texi +++ b/info/chap-14.texi @@ -160,7 +160,7 @@ and the @i{cdr} is the @i{value} associated with that @i{key}. @w{ assoc assoc-if-not rassoc rassoc-if-not } @noindent -@w{ Figure 14--4: Some defined names related to assocation lists.} +@w{ Figure 14--4: Some defined names related to association lists.} @end group @end format @@ -3046,7 +3046,7 @@ If there is no @i{property} with that @i{property indicator}, @b{setf} of @b{getf} may be used to associate a new @i{object} with an existing indicator in the @i{property list} held by @i{place}, -or to create a new assocation if none exists. +or to create a new association if none exists. If there are multiple @i{properties}_1 with that @i{property indicator}, @b{setf} of @b{getf} associates the @i{new-value} diff --git a/info/chap-19.texi b/info/chap-19.texi index 2d2ea210..06e0e838 100644 --- a/info/chap-19.texi +++ b/info/chap-19.texi @@ -2119,7 +2119,7 @@ is signaled. @b{translate-logical-pathname} might perform additional translations, typically to provide translation of file types to local naming - conventions, to accomodate physical file systems with limited length + conventions, to accommodate physical file systems with limited length names, or to deal with special character requirements such as translating hyphens to underscores or uppercase letters to lowercase. Any such additional translations are @i{implementation-defined}. Some diff --git a/info/chap-21.texi b/info/chap-21.texi index 99ce2f54..cd2695c2 100644 --- a/info/chap-21.texi +++ b/info/chap-21.texi @@ -867,9 +867,9 @@ restricted to @b{integer} or a @i{subtype} of @i{type} @b{character}. @subsubheading Examples:: @example -;; Note that the stream must accomodate at least the specified type, -;; but might accomodate other types. Further note that even if it does -;; accomodate exactly the specified type, the type might be specified in +;; Note that the stream must accommodate at least the specified type, +;; but might accommodate other types. Further note that even if it does +;; accommodate exactly the specified type, the type might be specified in ;; any of several ways. (with-open-file (s "test" :element-type '(integer 0 1) :if-exists :error @@ -2180,7 +2180,7 @@ and some aspects of the @i{file system} are beyond the scope of this specificati to define. A given @i{implementation} might not be able to support all of these options in exactly the manner stated. An @i{implementation} is required to recognize all of these option keywords and to try to do something ``reasonable'' in the context of the -host @i{file system}. Where necessary to accomodate the @i{file system}, +host @i{file system}. Where necessary to accommodate the @i{file system}, an @i{implementation} deviate slightly from the semantics specified here without being disqualified for consideration as a @i{conforming implementation}. If it is utterly impossible for an @i{implementation} to handle some option diff --git a/info/chap-26.texi b/info/chap-26.texi index 344c3b9d..d3b1eca7 100644 --- a/info/chap-26.texi +++ b/info/chap-26.texi @@ -2218,7 +2218,7 @@ transitive verb and that is one of: the @i{symbol} @t{:default} (denoting an @i{implementation-dependent} default - @i{external file format} that can accomodate at least + @i{external file format} that can accommodate at least the @i{base characters}), some other @i{object} defined by the @i{implementation} to be an @i{external file format designator} diff --git a/info/chap-5.texi b/info/chap-5.texi index 79f28dbb..34765e55 100644 --- a/info/chap-5.texi +++ b/info/chap-5.texi @@ -3595,7 +3595,7 @@ rather than @b{eql} in a way that cannot be overridden by the @subsubheading Description:: The value of @b{eql} is @i{true} of two objects, @i{x} and -@i{y}, in the folowing cases: +@i{y}, in the following cases: @table @asis @item 1. diff --git a/info/chap-9.texi b/info/chap-9.texi index a5e91fb4..1aced622 100644 --- a/info/chap-9.texi +++ b/info/chap-9.texi @@ -681,7 +681,7 @@ the @t{:test} option to @b{restart-case}. A @i{restart} can be ``associated with'' a @i{condition} explicitly by @b{with-condition-restarts}, or implicitly by @b{restart-case}. -Such an assocation has @i{dynamic extent}. +Such an association has @i{dynamic extent}. A single @i{restart} may be associated with several @i{conditions} at the same time. @@ -2075,7 +2075,7 @@ This and the lack of any possibility of interception by differences between @b{break} and @b{cerror}. The user interface aspects of @b{break} and @b{cerror} are -permitted to vary more widely, in order to accomodate the interface +permitted to vary more widely, in order to accommodate the interface needs of the @i{implementation}. For example, it is permissible for a @i{Lisp read-eval-print loop} to be entered by @b{break} rather than the conventional debugger. @@ -3464,7 +3464,7 @@ by the @b{restart-case} clause to receive any necessary data from a call to @b{invoke-restart}. By default, @b{invoke-restart-interactively} passes no arguments and -all arguments must be optional in order to accomodate interactive +all arguments must be optional in order to accommodate interactive restarting. However, the arguments need not be optional if the @t{:interactive} keyword has been used to inform @b{invoke-restart-interactively} diff --git a/info/compile.texi b/info/compile.texi index d94dc206..8273b6f8 100755 --- a/info/compile.texi +++ b/info/compile.texi @@ -260,22 +260,22 @@ GPROF-SET with both argments set to 0. @defvar *DEFAULT-SYSTEM-P* -Pakcage:COMPILER +Package:COMPILER Specifies the default setting of :SYSTEM-P used by COMPILE. Defaults to NIL. @end defvar @defvar *DEFAULT-C-FILE* -Pakcage:COMPILER +Package:COMPILER Specifies the default setting of :C-FILE used by COMPILE. Defaults to NIL. @end defvar @defvar *DEFAULT-H-FILE* -Pakcage:COMPILER +Package:COMPILER Specifies the default setting of :H-FILE used by COMPILE. Defaults to NIL. @end defvar @defvar *DEFAULT-DATA-FILE* -Pakcage:COMPILER +Package:COMPILER Specifies the default setting of :DATA-FILE used by COMPILE. Defaults to NIL. @end defvar diff --git a/info/gcl-si.info b/info/gcl-si.info index a08eb480..8df02a0e 100644 --- a/info/gcl-si.info +++ b/info/gcl-si.info @@ -4228,19 +4228,19 @@ keyword is supplied to compile-file and *fasd-data* is not eq to restored by calling GPROF-SET with both argments set to 0. -- Variable: *DEFAULT-SYSTEM-P* - Pakcage:COMPILER Specifies the default setting of :SYSTEM-P used by + Package:COMPILER Specifies the default setting of :SYSTEM-P used by COMPILE. Defaults to NIL. -- Variable: *DEFAULT-C-FILE* - Pakcage:COMPILER Specifies the default setting of :C-FILE used by + Package:COMPILER Specifies the default setting of :C-FILE used by COMPILE. Defaults to NIL. -- Variable: *DEFAULT-H-FILE* - Pakcage:COMPILER Specifies the default setting of :H-FILE used by + Package:COMPILER Specifies the default setting of :H-FILE used by COMPILE. Defaults to NIL. -- Variable: *DEFAULT-DATA-FILE* - Pakcage:COMPILER Specifies the default setting of :DATA-FILE used + Package:COMPILER Specifies the default setting of :DATA-FILE used by COMPILE. Defaults to NIL. -- Variable: *FEATURES* diff --git a/info/gcl-si/Compilation.html b/info/gcl-si/Compilation.html index 5eaaf501..a33bbf13 100644 --- a/info/gcl-si/Compilation.html +++ b/info/gcl-si/Compilation.html @@ -312,32 +312,32 @@ to be profiled. All subsequent calls to GPROF-START will use this new address range. By default, the range is set to begin at the starting address of the .text section, and to end at the current end of the running core. These default values can be restored by calling -GPROF-SET with both argments set to 0. +GPROF-SET with both arguments set to 0.

Variable: *DEFAULT-SYSTEM-P*
-

Pakcage:COMPILER +

Package:COMPILER Specifies the default setting of :SYSTEM-P used by COMPILE. Defaults to NIL.

Variable: *DEFAULT-C-FILE*
-

Pakcage:COMPILER +

Package:COMPILER Specifies the default setting of :C-FILE used by COMPILE. Defaults to NIL.

Variable: *DEFAULT-H-FILE*
-

Pakcage:COMPILER +

Package:COMPILER Specifies the default setting of :H-FILE used by COMPILE. Defaults to NIL.

Variable: *DEFAULT-DATA-FILE*
-

Pakcage:COMPILER +

Package:COMPILER Specifies the default setting of :DATA-FILE used by COMPILE. Defaults to NIL.

diff --git a/info/gcl-si/User-Interface.html b/info/gcl-si/User-Interface.html index d1af4823..a64244d2 100644 --- a/info/gcl-si/User-Interface.html +++ b/info/gcl-si/User-Interface.html @@ -114,7 +114,7 @@ Start and End in order.
Variable: *BREAK-ENABLE*

Package:LISP -GCL specific: When an error occurrs, control enters to the break loop only +GCL specific: When an error occurs, control enters to the break loop only if the value of this variable is non-NIL.

diff --git a/info/gcl/eql.html b/info/gcl/eql.html index efa5e2bb..57a4b588 100644 --- a/info/gcl/eql.html +++ b/info/gcl/eql.html @@ -57,7 +57,7 @@ Next: , Previous:

Description::

The value of eql is true of two objects, x and -y, in the folowing cases: +y, in the following cases:

1.

If x and y are eq. diff --git a/info/gcl/get.html b/info/gcl/get.html index ab5a0545..c23fb3da 100644 --- a/info/gcl/get.html +++ b/info/gcl/get.html @@ -78,7 +78,7 @@ and returns its corresponding property value.

setf of get may be used to associate a new object with an existing indicator already on the symbol’s property list, -or to create a new assocation if none exists. +or to create a new association if none exists.

If there are multiple properties_1 with that property indicator, setf of get associates the new-value diff --git a/info/gcl/intersection.html b/info/gcl/intersection.html index f0703579..5236f8f6 100644 --- a/info/gcl/intersection.html +++ b/info/gcl/intersection.html @@ -99,7 +99,7 @@ the :key function typically returns part of the supplied element. If :key is not supplied or nil, the list-1 and list-2 elements are used.

-

For every pair that satifies the test, +

For every pair that satisfies the test, exactly one of the two elements of the pair will be put in the result. No element from either list appears in the result that does not satisfy the test for diff --git a/info/si-defs.texi b/info/si-defs.texi index da6ced29..1168f349 100755 --- a/info/si-defs.texi +++ b/info/si-defs.texi @@ -507,7 +507,7 @@ Faslink does not work on most UNIX systems which are derived from SYS V or AIX. @defun TOP-LEVEL () Package:SI -GCL specific: Starts the standard top-level listner of GCL. When the GCL +GCL specific: Starts the standard top-level listener of GCL. When the GCL process is invoked, it calls SI:TOP-LEVEL by (FUNCALL 'SI:TOP-LEVEL). To change the top-level of GCL, redefine SI:TOP-LEVEL and save the core imange in a file. When the saved imange is invoked, it will start the @@ -926,7 +926,7 @@ Non nil means that a string-match should ignore case Package: SI Match regexp PATTERN in STRING starting in string starting at START and ending at END. Return -1 if match not found, otherwise -return the start index of the first matchs. The variable +return the start index of the first matches. The variable *MATCH-DATA* will be set to a fixnum array of sufficient size to hold the matches, to be obtained with match-beginning and match-end. If it already contains such an array, then the contents of it will diff --git a/readme b/readme index 87221953..a2249434 100644 --- a/readme +++ b/readme @@ -160,7 +160,7 @@ A new compiler has been written, which is closer to the ANSI standard and provides some other benefits. It will be in a future release. We will need people willing to beta test and isolate any bugs. -Additonal work planned or desired: +Additional work planned or desired: * Clean up distribution and installation. Make it easier to link in C code such as Novak's window stuff. Faslink is not portable (since diff --git a/xgcl-2/Xakcl.paper b/xgcl-2/Xakcl.paper index 945c5331..1fd29a72 100644 --- a/xgcl-2/Xakcl.paper +++ b/xgcl-2/Xakcl.paper @@ -23,7 +23,7 @@ B. Creating and Using Windows 1. Creating Windows - 2. Controling Window attributes + 2. Controlling Window attributes 3. Getting Window Geometry C. How to Use the Graphics Context @@ -64,11 +64,11 @@ All rights reserved. See section G for full copyright statement. Xakcl is the basic Xwindows library for Akcl lisp (the C header files for the library correspond to Xlib.h, Xutil.h, and X.h). Since Xakcl supports only the basic Xwindows library, Xakcl -programming is intended to be a low level programming aproach to +programming is intended to be a low level programming approach to graphics. As a consequence, any Xwindows program written in C can also be written in Xakcl, with little cost in performance. The -primitive operations range from controling minute details in color, to -creating pixmaps, and configuring windows. Thus a programer using +primitive operations range from controlling minute details in color, to +creating pixmaps, and configuring windows. Thus a programmer using xakcl can exploit both the extensibility of Xwindows graphics capabilities and the ease of lisp programming. @@ -80,12 +80,12 @@ library routines and programming conventions would be helpful but is not required. All X functions in Xakcl begin with the letter 'X' , unless otherwise mentioned. The Syntax and names of Xakcl functions are kept as closely to the X library functions as possible, so that a -user of the Xwindows' C libary will have no trouble in learning how to +user of the Xwindows' C library will have no trouble in learning how to use Xakcl. Of course this also makes translation of X programs in C, into Lisp easier. For an introduction to X programming in C 'Xlib Programming Manual for version 11' by Adrian Nye is suggested. Also, any reference manual on the X library would be helpful, since the -names of Xakcl functions are identical to those of the C libararies' +names of Xakcl functions are identical to those of the C libraries' functions. @@ -107,7 +107,7 @@ I. Initializing the Display In the X windows system, a display on which graphics is being -done must be specified. The display is initilized by calling the X +done must be specified. The display is initialised by calling the X function XOpenDisplay. For example, @@ -123,7 +123,7 @@ can only handle events for one display at a time. Creating many displays could be useful for applications with many different windows, but there is a performance cost. It usually -takes the X serever some time to return a display ID. +takes the X server some time to return a display ID. @@ -144,7 +144,7 @@ commands: The default screen is the screen on which graphics will be -drawn, and the root window, is the window that the X serever creates +drawn, and the root window, is the window that the X server creates from which all other windows are created. This is the window that is created with the call to xstart, and resides in the background. @@ -187,7 +187,7 @@ on how drawings will be done. The line width will be determined by the graphics context, as well as the color and the way lines join (if they join at a rounded edge or at an angle.) For now, only the creation of the graphics context will be of concern. XDefaultGC will -get a default grapics context. For example: +get a default graphics context. For example: (setq *default-GC* (XDefaultGC *default-display* *default-screen*)) @@ -211,7 +211,7 @@ example, when using XDrawString, X will use the foreground pixel, in this case, Black in the GC to draw the string. Also, XDrawImageString could be used. This routine, X draws the string in the foreground pixel and fills the background with the background pixel. If the -foregorund and background pixels were switched than the string would +foreground and background pixels were switched than the string would be white letters on a black background. This is an example of highlighting text. @@ -226,7 +226,7 @@ colormap allows the user to match pixel values to an rgb value. The black pixel created by XBlackPixel is an example of a pixel value. A colormap may or may not have the exact color that is being requested. The closest pixel value is given to the user. In order to get a set -of specific colors it is necesary to create a unique colormap, however +of specific colors it is necessary to create a unique colormap, however for most applications, the default colormap will do. An example of creating a default colormap is shown below. @@ -296,7 +296,7 @@ structure, and it's initialization. Like all Xwindows structures in Xakcl, XSizeHints can be created using the function make followed by the type name of the -struture (note however that unlike Xsizehints, the graphics context is +structure (note however that unlike Xsizehints, the graphics context is created using the X function XCreateGC. The reason is that X provides a means of creating this structure, while the 'make' facility is provided to make C's struct in lisp). The fields in the structure is @@ -319,7 +319,7 @@ windows in the root window. the display, the window being managed, the window name, and the icon name. XSetStandardProperties also expects three other parameters, an icon_pixmap, which will represent the window when it is iconized, and -two arguments coressponding to resource information. Both these +two arguments corresponding to resource information. Both these featrues are beyond the scope of this paper (see 'Xlib Programming Manual for version 11' for more information). After XSetStandardProperties tells the window manager what to do, the window @@ -329,7 +329,7 @@ window on the screen. (Xmapwindow *default-display* a-window) The above function will map the window. Only one last -function needs to be caled for a window to appear on the screen. This +function needs to be called for a window to appear on the screen. This function is XFlush. This function, or another function that affects the event queue (discussed later) must be called whenever there is a drawing request for the X server. @@ -344,8 +344,8 @@ scaling measurements. Like most operations in X, there are two ways to change window attributes. The attributes could be changed directly by calling XChangeWindowAttributes with one of the parameters being a C structure, with the new information, and another parameter to -specifiy which attribute is being changed. This could be clumbersome -and inefficeint in lisp, but fortunately X usually provides a +specify which attribute is being changed. This could be clumbersome +and inefficient in lisp, but fortunately X usually provides a functional way of doing a task. Some functions for changing the window attributes are listed. Like most functions in X the names are self descriptive of the function. @@ -362,10 +362,10 @@ XDefineCursor As can be seen, the regularity in nameing conventions of X -routines. Only the function XSelectInput will be discussd in this +routines. Only the function XSelectInput will be discussed in this report (see section E). The list shown is meant to demonstrate how X -names functions, and how X can provid for functional equivalents for -most operations. (Ofcourse any function that is not provided by X can +names functions, and how X can provide for functional equivalents for +most operations. (Of course any function that is not provided by X can be written in lisp using primitive operations like XChangeWindowAttributes. The same applies for all objects in X.) @@ -386,16 +386,16 @@ is an example of a call to XGetGeometry. *height-return* *border-width-return* *depth-return*) The values that are returned by XGetGeometry is pointed to by -the parameters that are denoted by teh word 'return'. A root of a +the parameters that are denoted by the word 'return'. A root of a window can be extracted, along with it's position, and size. Its border width can also be returned, along with it's depth ( a depth tells X how many colors can be drawn for a drawble). This functions -also demonstrates how poitners are used in Xakcl to return multiple +also demonstrates how pointers are used in Xakcl to return multiple values. It is necessary to allocate an area of memory in order to write into that memory locations. The functions int-array and char-array will create a C array of integers and characters respectively. A pointer to the array is returned. XGetGemoetry -expects pointers to integers so it is necessary to alocate integer +expects pointers to integers so it is necessary to allocate integer arrays of one element. For example: @@ -449,7 +449,7 @@ i. XSetBackGround and XSetForeGround. XSetForeground and XSetBackground sets the foreground and background pixel as mentioned in section A. In order to Allocate a pixel besides black and white, a call to XAllocNamedColor must be -done. XAllocNamedColor needs two Xcolor structrues, so they must be +done. XAllocNamedColor needs two Xcolor structures, so they must be created as well. For example: (setq pixel-xcolor (make-Xcolor)) @@ -457,7 +457,7 @@ created as well. For example: (XAllocNamedColor display colormap (get-c-string color) pixel-xcolor exact-rgb) The above function will return a pixel value in the structure -pixel-color. this informaion can be extracted with (Xcolor-pixel +pixel-color. this information can be extracted with (Xcolor-pixel pixel-xcolor). XAllocNamedColo also expects a colormap (the default colormap will do), a display, and a String specifying the color (for a list of colors see the file rgb.txt in /usr/lib/X11). Thus the @@ -466,8 +466,8 @@ color. (Xsetforeground display GC (Xcolor-pixel pixel-xcolor)) - Similair to Xsetforeground, XSetBackGround will cause all -drawings needing the background color to use the sepcified pixel + Similar to Xsetforeground, XSetBackGround will cause all +drawings needing the background color to use the specified pixel value. @@ -486,7 +486,7 @@ the way lines join. The width is an integer, while line-style, cap-style and join-style are constants. The default styles are LineSolid, CapButt, and JoinMitter. This will make lines appear solid. They will join at a sharp angle and the lines will end in a -flat edge. See any X refernce manual for the complete options on the +flat edge. See any X reference manual for the complete options on the line styles. @@ -514,7 +514,7 @@ fid). iv. XSetFunction - Xwindows draws by applying bit operations on the pixel vlaues + Xwindows draws by applying bit operations on the pixel values on the screen along with a mask that it creates called the plan_mask. Most often only the pixel already on the screen is manipulated. This default logical operation is GXcopy (which is the default). However @@ -528,9 +528,9 @@ specified with a call to XSetFunction. The above function will make X draw ghost images in mono color screens using the function Xor. The pixel value on the screen is Xored with the pixel value of the plan_mask (which is derived from the -foregroudn color). On color screens the foregorund color must be set +foreground color). On color screens the foreground color must be set to (logxor foreground-pixel background-pixel) in order for ghosting -effects to occurr. Below is the complete function for ghosting +effects to occur. Below is the complete function for ghosting effects. (Xsetforeground *default-display* *default-GC* (logxor foreground-pixel background-pixel )) @@ -541,7 +541,7 @@ II. Getting Information from the Graphics Context In the above function, the foreground-pixel and background-pixel must be extracted from the graphics context. In -order to get information from the graphcis context the function +order to get information from the graphics context the function XGetGCVlues must be used. XGetGCVlues is an example of a X function that expects a structure, and a value mask. Below are functions for extracted the foreground color from the graphics context. Other @@ -591,7 +591,7 @@ request. II. Drawing Rectangles Drawing Rectangles is similar to drawing lines. The only -difference is that the size of the recatangle must be specified. +difference is that the size of the rectangle must be specified. (XDrawRectangle *default-display* a-window *default-GC* @@ -604,7 +604,7 @@ The function expects the x and y position and the width and height. II. Drawing Arcs. - Arcs can form enclosed areas such as elipses or cirlces or + Arcs can form enclosed areas such as ellipses or circles or they could be a curved line. The function XDrawArc will draw arcs. @@ -613,7 +613,7 @@ they could be a curved line. The function XDrawArc will draw arcs. This function call will draw a circle. The Arc will be bounded by a rectangle. The points 100 100 correspond to the upper -left edge of the recatangle. 10 and 10 specifies the width and height +left edge of the rectangle. 10 and 10 specifies the width and height respectively. The starting and ending position of the arc must also be specified. These two points are in sixty-fourths of a degrees. The first angle is relative to the three-o'clock position and the @@ -630,18 +630,18 @@ III. Drawing Text With the font loaded in the Graphics Context as shown in Section C, several functions can be called in order to draw text. -Only XDrawString will be dicussed here, but the other functions are +Only XDrawString will be discussed here, but the other functions are similar. (XDrawString *default-display* a-window *default-GC* 10 15 (get-c-string "hello") 4) (Xflush *default-display*) The above function will draw the string 'hello' at positions -10, 15 with the font specified in the default grpahics context. +10, 15 with the font specified in the default graphics context. XDrawString also expects the length of the string (in this case 4), and the display. - Often it is necesssary to the size of the string (the + Often it is necessary to the size of the string (the rectangle that bounds the string). This can be done with a call to XTextExtents. @@ -664,9 +664,9 @@ width (an ascent tells how far above a baseline a character is drawn, while the descent tells how far below). After a call to XTextExtents, the ascent will be have the maximum ascent of all the characters in the string. Likewise the descent will have the maximum descent of all -the characters. The width will be the sum of the characer width of +the characters. The width will be the sum of the character width of all the characters in the string (thus the width of the string in -number of pixels). From this information, the user shouldbe able to +number of pixels). From this information, the user should be able to position text precisely on the screen. @@ -677,15 +677,15 @@ E. Handling Events So far only request to the X server to do output on the screen have been discussed. X also has a means of getting information about -what is inputed by a user as well. The inputs can range from moving +what is inputted by a user as well. The inputs can range from moving or clicking the mouse to keys being pressed on the keyboard. The -input also encompases events like a window being uncovered or exposed +input also encompasses events like a window being uncovered or exposed by another window, or a window being resized. I. Setting the Input - These inputs are called Events. The Events themseleves only + These inputs are called events. The events themselves only have meaning when they pertain to a window. In other words, events occur in windows. Thus an attribute of the window must be set. The function XSelectInput must be used. @@ -698,7 +698,7 @@ Events, PointerMotion Events, and Exposure Event can occur. As can be seen this is specified using mask (for other mask see a Xlib manual or the file X.lsp or X.h). - After Specifiying the input, all events that occur in that + After specifying the input, all events that occur in that will go on the event queue. The event queue is a queue of what events have occurred, the first one being on top. The client can both get information form the queue and manipulate the queue. @@ -762,12 +762,12 @@ XSync can be used to do this. For example: F. Conclusion - With the commands demonstarted in this tutorial, most + With the commands demonstrated in this tutorial, most applications can be managed. Windows can be created, and graphics operations can be performed. For more complex applications a widget set can be created similar to the X Intrinsics library and the Athena Widget Set. For a lisp like implementation of widgets and an advance -aplications see the GWM application, in the GWM Manual by Colas +applications see the GWM application, in the GWM Manual by Colas Nahaboo. GWM is a generic window manager, that is similar to Xakcl. It supports objects that are similar to Widgets in most C Xwindows libraries. diff --git a/xgcl-2/gcl_Xakcl.example.lsp b/xgcl-2/gcl_Xakcl.example.lsp index 06bbd055..09971508 100644 --- a/xgcl-2/gcl_Xakcl.example.lsp +++ b/xgcl-2/gcl_Xakcl.example.lsp @@ -227,7 +227,7 @@ ;;the drawing goes so fast that you can't see the text invert, so the ;;function wiats for for about .2 seconds. but it would be better to ;;keep the text inverted until the button is released this is done by -;;setting the quit window to have buton release events as well and +;;setting the quit window to have button release events as well and ;;handling it appropriately (dotimes (i 1500)) diff --git a/xgcl-2/gcl_Xinit.lsp b/xgcl-2/gcl_Xinit.lsp index c6cc66f3..75d24dfe 100644 --- a/xgcl-2/gcl_Xinit.lsp +++ b/xgcl-2/gcl_Xinit.lsp @@ -27,10 +27,10 @@ ;;large extent. it would be beneficial to use a X 11 version 4, manual ;;in order to look up functions. the only unique functions of Xakcl are those ;;that involove manipulating C structs. all functions involved in creating -;;a C struct in X starts with a 'make' followed by the structure name. all +;;a C struct in X starts with a 'make' followed by the structure name. All ;;functions involved in getting a field of a C struct strats with the ;;name of the C struct followed by the name of the field. the -;;parameters it excepts is the variable contaning the structure. all +;;parameters it excepts is the variable containing the structure. All ;;functions to set a field of a C struct starts with 'set' followed by ;;the C struct name followed by the field name. these functions accept ;;as parameter, the variable containing the struct and the value to be @@ -102,8 +102,8 @@ ;;;;;;;;;;;;;;;;;;;;;; -;;this is an example of creating a window. this function takes care of -;;positioning, size and other attirbutes of the window. +;;This is an example of creating a window. This function takes care of +;;positioning, size and other attributes of the window. (defun open-window(&key (pos-x *pos-x* ) (pos-y *pos-y*) (win-width *win-width*) (win-height *win-height* ) @@ -134,7 +134,7 @@ (Xmapwindow *default-display* a-window) ;;the X server needs to have the output buffer sent to it before it can -;;process requests. this is acomplished with XFlush or functions that +;;process requests. this is accomplished with XFlush or functions that ;;read and manipulate the event queue. remember to do this after ;;operations that won't be calling an eventhandling function diff --git a/xgcl-2/gcl_sysinit.lsp b/xgcl-2/gcl_sysinit.lsp index e77963a0..33c1ab64 100644 --- a/xgcl-2/gcl_sysinit.lsp +++ b/xgcl-2/gcl_sysinit.lsp @@ -61,7 +61,7 @@ ;; invoke this to initialize maxima. -;; make this if you dont want the invocation done automatically. +;; make this if you don't want the invocation done automatically. ;(defentry user::user-init () "user_init")