Remove deprecated register attribute
Ensure correct type used to store result of system calls
Use memset to zero buffer vs byte-at-a-time stores
Use GetPosSmallP where appropriate
Remove deprecated register attribute
Use #ifdef SYM (vs #if SYM) when SYM may be undefined
Use ptrdiff_t rather than int for pointer differences
Correct signedness problems
Many of the warnings were newly visible after the DBPRINT macro
was modified, but the pedantic warnings also caught existing printf
family usage which was not strictly correct.
Mostly replacing 0x%x with %p for pointers, adding (void *) for
those and other pointers, %td for ptrdiff_t, but also changing
some function parameters from UNSIGNED (uintptr_t) to int
where that was the more appropriate type.
Combines arith2.c ... arith4.c files and their associated header files
into new arithops.c/arithopsdefs.h files, and adjusts the CMakeLists.txt,
and old-style makefile-tail. Also updates makefile-dos,
inlnPS2.h, and inlndos.h to reflect these changes, though these are not
used.
Combines the array..array6 files and their associated header files
into new arrayops.c/arrayopsdefs.h files, and adjusts the CMakeLists.txt
and old-style makefile-tail to reflect these changes.
Remove unused #define PERCENT_OF_SCREEN in MyWindow.h
Move structures for dir.c to dirdefs.h where they are used
Resolve S_CHAR vs S_CHARACTER in favor of S_CHARACTER and cleanup #defines
Fix = vs == bug in FSDEBUG code in dir.c
Eliminate duplicate/unused constant definitions in gcr.c
Declare static internal function bytecmp in mkatom.c
Update many source and include files to include headers for what they use
If the debugging printf macros are elided by the preprocessor
rather than being removed by the compiler's optimizer then
the debugging statements may get out-of-date as variables are
modified. Wrap the non-debug case in "if (0) ..." instead.
Github is deprecating the MacOS-10.15 environment as MacOS-12 is coming
online (currently beta), so this runner must be updated to MacOS-11
Ubuntu 22.04 LTS is now available so add that to the builds.
Ubuntu 18.04 LTS should be supported until April 2023.
* arithmetic opcode implementations should return LispPTR rather than int
* all callers of ERROR_EXIT() have return type LispPTR, therefore ERROR_EXIT should too
* N_[I]GETNUMBER, [N_]ARITH_SWITCH need (int) casts for some large constants that would otherwise be unsigned
* Expand use of macro N_ARITH_BODY_1_UNSIGNED and correct types
* Remove unused macros N_ARITH_BODY_1 and N_ARITH_BODY_1_UNSIGNED
* Cast to correct type for storing to TopOfStack, and return type of TIMER_EXIT()
* Pedantic C compilers want an extern declaration separate from initialization
* Remove duplicate definitions for fns in initdspdefs.h from display.h
* Remove misleading comments on structure member offsets and reorder to minimize padding
The device_before_raid() call that disables X11 scrolling and bit-gravity
selection needs to avoid referring to the scrollbars and other ancillary
windows that have not been initialized when the "-noscroll" option was
given at startup.
Keyboard, cursor, and mouse pointers are not initialized in
ldeinit. Do not process X events as they will cause a segmentation
fault referencing the uninitialized pointers.
Prior to this change there was no mechanism within Medley to create a new directory
on a {UNIX} style device. This change makes the {UNIX} directory creation happen in
the same manner that {DSK} directory creation is done. Opening a file with access
OUTPUT, BOTH, or APPEND, which would create the file if it does not exist, will also
create any missing directories in the path.
stat.st_mode cannot be tested for whether a node is S_IFDIR with
if (stat.st_mode & S_IFDIR) ...
since S_IFDIR bit (0040000) is a subset of S_IFSOCK (0140000) bits.
A correct check is
if ((stat.st_mode & S_IFMT) == S_IFDIR) ...
or alternatively, since the convenience macros are defined on all modern systems
if (S_ISDIR(stat.st_mode)) ...
If the argument to DELFILE represents a directory on the {unix} device
either directly or through resolving to a full pathname via the connected
host/directory, and the directory is empty, then the directory will be deleted
and the deleted directory name will be returned. Will error if the
directory is not empty, and return NIL if the argument does not name a directory
or file.