(original) (raw)
HELP BUGS John Williams, Jun 1987 Updated Jun 1995 This file lists known bugs and omissions in the Poplog Common Lisp system. Poplog Common Lisp is an implementation of the language defined in Guy Steele's Common Lisp: The Language, 2nd Edition (Digital Press, 1990). It is not yet concordant with the forthcoming ANSI standard for Common Lisp. CONTENTS - (Use g to access required sections) 1 The Object System (CLOS) 2 Pretty Printing 3 Input/Output 4 File System Interface 5 Compilation and Compile-File 6 Miscellaneous ----------------------------------------------------------------------- 1 The Object System (CLOS) ----------------------------------------------------------------------- # User-defined method combination is not available. The associated functions and macros define-method-combination, invalid-method-error, method-combination-error, and function-keywords currently signal an error if executed. It is expected that user-defined method combination will be implemented in the next release of Poplog. # The special forms generic-flet, generic-labels, and with-added-methods have not been implemented because they are not included in the forthcoming ANSI standard. # The :documentation and :type slot options to defclass are not yet implemented. Such information is ignored. ----------------------------------------------------------------------- 2 Pretty Printing ----------------------------------------------------------------------- # Temporary changes to pretty print control variables (*print-lines*, *print-right-margin*, and *print-miser-width*) that occur inside a logical block do not effect the format of the final printed output. So, for example, the output from: (pprint-logical-block (nil nil) (write '(hello all you good people) :right-margin 15)) does not break after the word YOU. To get the desired effect, bind the control variable outside the block, e.g: (let ((*print-right-margin* 15)) (pprint-logical-block (nil nil) (write '(hello all you good people)))) ----------------------------------------------------------------------- 3 Input/Output ----------------------------------------------------------------------- # The functions get-macro-character and get-dispatch-macro-character return a function that takes zero arguments when applied to a built-in read macro. # The function clear-output has no effect. ----------------------------------------------------------------------- 4 File System Interface ----------------------------------------------------------------------- # On Unix Poplog systems, the functions delete-file and rename-file, if applied to a symbolic link, affect the file pointed to by the link, not the link itself. # On VMS Poplog systems, the function file-author returns the user-id number for the file, not the user name as a string. # Care should be taken when using open to create a stream connected to a Unix pipe (i.e. a special file created by /usr/etc/mknod). The call to open will "block" unless the keyword options :direction :io and :if-exists :overwrite are specified. # pathname-match-p can only cope with one wild-card character (*) per string component of a pathname. So, for example: (pathname-match-p #P"foobaz" #P"foo*z") returns t, but: (pathname-match-p #P"foobazgrum" #P"foo*z*um") returns nil. Functions that implicitly call pathname-match-p, i.e. translate-pathname and translate-logical-pathname, also behave in this way. ----------------------------------------------------------------------- 5 Compilation and Compile-File ----------------------------------------------------------------------- Poplog Common Lisp incrementally compiles expressions into machine code as they are read by the top-level loop, or the function load. It does not have a file compiler of the type discussed in Steele Chapter 25, Section 25.1 (The Compiler). The consequences of this are: # The function compile-file does nothing except signal a warning. # The macro with-compilation-unit is exactly equivalent to progn, except that it prints a warning message. # The macro step also does nothing except signal a warning (because there is no interpreter in Poplog Common Lisp either). ----------------------------------------------------------------------- 6 Miscellaneous ----------------------------------------------------------------------- # The eighth result of decode-universal-time (daylight-saving-time-p) is always nil (because Poplog does not know the times of the year at which daylight saving time is in effect in the all various time zones around the globe!). # The functions described in Steele 1990, Chapter 8, Section 8.5, (Environments) are not implemented, because they are not present in the forthcoming ANSI standard. These functions are: enclose, variable-information, function-information, declaration-information, augment-environment, define-declaration, and parse-macro. --- C.all/lisp/help/bugs --- Copyright University of Sussex 1995. All rights reserved.