Merge branch 'master' into letname

original commit: 18ef2f99a66b4050fd434e644afc6ccf110b8ebf
This commit is contained in:
R. Kent Dybvig 2018-07-09 10:42:15 -07:00 committed by GitHub
commit 9b0664956e
4 changed files with 37 additions and 5 deletions

5
LOG
View File

@ -960,5 +960,10 @@
schlib.c
- Updated csug socket code to match that in examples folder
csug/foreign.stex, examples/socket.ss
- add an option --disable-x11
c/version.h, configure
- allow s_ee_get_clipboard to use the pastebuffer on macOS even when X11 is not
available.
expeditor.c
- Adjust cp0 to not replace a procedure name from a let wrapper
cp0.ss, misc.ms

View File

@ -888,8 +888,10 @@ static void s_ee_line_feed(void) {
#include <X11/Xlib.h>
#include <X11/Xatom.h>
#include <sys/select.h>
#endif /* LIBX11 */
static ptr s_ee_get_clipboard(void) {
#ifdef LIBX11
static enum {UNINITIALIZED, INITIALIZED, FAILED} status = UNINITIALIZED;
static int (*pXConvertSelection)(Display *, Atom, Atom, Atom, Window, Time);
static int (*pXPending)(Display *display);
@ -899,9 +901,11 @@ static ptr s_ee_get_clipboard(void) {
static Display *D;
static Window R, W;
#endif /* LIBX11 */
ptr p = S_G.null_string;
#ifdef LIBX11
if (status == UNINITIALIZED) {
char *display_name;
void *handle;
@ -986,6 +990,7 @@ static ptr s_ee_get_clipboard(void) {
}
}
}
#endif /* LIBX11 */
#ifdef MACOSX
#define PBPASTEBUFSIZE 1024
@ -1013,11 +1018,6 @@ static ptr s_ee_get_clipboard(void) {
return p;
}
#else /* LIBX11 */
static ptr s_ee_get_clipboard(void) {
return S_G.null_string;
}
#endif
static void s_ee_write_char(wchar_t wch) {
locale_t old; char buf[MB_LEN_MAX]; size_t n;

View File

@ -14,6 +14,8 @@
* limitations under the License.
*/
#include "config.h"
#if (machine_type == machine_type_arm32le || machine_type == machine_type_tarm32le || machine_type == machine_type_arm64le || machine_type == machine_type_tarm64le)
#if (machine_type == machine_type_tarm32le || machine_type == machine_type_tarm64le)
#define PTHREADS
@ -34,7 +36,9 @@ typedef int tputsputcchar;
#define LOCKF
#define DIRMARKERP(c) ((c) == '/')
#define FLUSHCACHE
#ifndef DISABLE_X11
#define LIBX11 "libX11.so"
#endif
#define LSEEK lseek64
#define OFF_T off64_t
#define _LARGEFILE64_SOURCE
@ -67,7 +71,9 @@ typedef int tputsputcchar;
#define LOCKF
#define DIRMARKERP(c) ((c) == '/')
#define FLUSHCACHE
#ifndef DISABLE_X11
#define LIBX11 "libX11.so"
#endif
#define LSEEK lseek64
#define OFF_T off64_t
#define _LARGEFILE64_SOURCE
@ -100,7 +106,9 @@ typedef char *memcpy_t;
typedef int tputsputcchar;
#define LOCKF
#define DIRMARKERP(c) ((c) == '/')
#ifndef DISABLE_X11
#define LIBX11 "libX11.so"
#endif
#define LSEEK lseek64
#define OFF_T off64_t
#define _LARGEFILE64_SOURCE
@ -133,7 +141,9 @@ typedef char *memcpy_t;
typedef int tputsputcchar;
#define LOCKF
#define DIRMARKERP(c) ((c) == '/')
#ifndef DISABLE_X11
#define LIBX11 "libX11.so"
#endif
#define SECATIME(sb) (sb).st_atimespec.tv_sec
#define SECCTIME(sb) (sb).st_ctimespec.tv_sec
#define SECMTIME(sb) (sb).st_mtimespec.tv_sec
@ -164,7 +174,9 @@ typedef char *memcpy_t;
typedef int tputsputcchar;
#define LOCKF
#define DIRMARKERP(c) ((c) == '/')
#ifndef DISABLE_X11
#define LIBX11 "libX11.so"
#endif
#define SECATIME(sb) (sb).st_atimespec.tv_sec
#define SECCTIME(sb) (sb).st_ctimespec.tv_sec
#define SECMTIME(sb) (sb).st_mtimespec.tv_sec
@ -248,7 +260,9 @@ typedef char *memcpy_t;
typedef int tputsputcchar;
#define LOCKF
#define DIRMARKERP(c) ((c) == '/')
#ifndef DISABLE_X11
#define LIBX11 "libX11.so"
#endif
#define SECATIME(sb) (sb).st_atimespec.tv_sec
#define SECCTIME(sb) (sb).st_ctimespec.tv_sec
#define SECMTIME(sb) (sb).st_mtimespec.tv_sec
@ -279,7 +293,9 @@ typedef char *memcpy_t;
typedef int tputsputcchar;
#define LOCKF
#define DIRMARKERP(c) ((c) == '/')
#ifndef DISABLE_X11
#define LIBX11 "/usr/X11R6/lib/libX11.dylib"
#endif
#define _DARWIN_USE_64_BIT_INODE
#define SECATIME(sb) (sb).st_atimespec.tv_sec
#define SECCTIME(sb) (sb).st_ctimespec.tv_sec
@ -346,7 +362,9 @@ typedef char *memcpy_t;
typedef char tputsputcchar;
#define LOCKF
#define DIRMARKERP(c) ((c) == '/')
#ifndef DISABLE_X11
#define LIBX11 "libX11.so"
#endif
#define SECATIME(sb) (sb).st_atim.tv_sec
#define SECCTIME(sb) (sb).st_ctim.tv_sec
#define SECMTIME(sb) (sb).st_mtim.tv_sec

9
configure vendored
View File

@ -37,6 +37,7 @@ installman=""
installschemename="scheme"
installpetitename="petite"
installscriptname="scheme-script"
disablex11=no
: ${CC:="gcc"}
: ${CPPFLAGS:=""}
: ${CFLAGS:=""}
@ -200,6 +201,9 @@ while [ $# != 0 ] ; do
--help)
help=yes
;;
--disable-x11)
disablex11=yes
;;
CC=*)
CC=`echo $1 | sed -e 's/^CC=//'`
;;
@ -266,6 +270,7 @@ if [ "$help" = "yes" ]; then
echo " -m=<machine type> same as --machine <machine type> ($m)"
echo " --threads specify threaded version ($threads)"
echo " --32|--64 specify 32/64-bit version ($bits)"
echo " --disable-x11 disabling x11"
echo " --installprefix=<pathname> final installation root ($installprefix)"
echo " --installbin=<pathname> bin directory ($installbin)"
echo " --installlib=<pathname> lib directory ($installlib)"
@ -368,6 +373,10 @@ cat > $w/c/config.h << END
#endif
END
if [ "$disablex11" = "yes" ]; then
echo '#define DISABLE_X11' >> $w/c/config.h
fi
cat > $w/c/Mf-config << END
CC=$CC
CPPFLAGS=$CPPFLAGS