From d8f361705325cf91fc6c2ec84f281cdcd6bfa8b1 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Tue, 3 Dec 2019 21:23:24 +0100 Subject: [PATCH] core: Remove MES_PKGDATADIR. * configure: Do not add MES_PKGDATADIR to config.h. * configure.sh: Likewise. * simple.sh: Likewise. * src/mes.c (open_boot): Do not use MES_PKGDATADIR; rely on MES_PREFIX or cwd. --- configure | 1 - configure.sh | 1 - simple.sh | 2 -- src/mes.c | 13 ------------- 4 files changed, 17 deletions(-) diff --git a/configure b/configure index 8edb2ce7b..12d8323f2 100755 --- a/configure +++ b/configure @@ -666,7 +666,6 @@ See \"Porting GNU Mes\" in the manual, or try --with-courage\n" mes-system) ")) (display (string-append " #define MES_VERSION \"" VERSION "\" -#define MES_PKGDATADIR \"" pkgdatadir "\" "))))) (substitute (string-append srcdest "build-aux/config.make.in") pairs #:target ".config.make")) diff --git a/configure.sh b/configure.sh index 947ddd851..0139cbc36 100755 --- a/configure.sh +++ b/configure.sh @@ -244,7 +244,6 @@ EOF fi cat >> include/mes/config.h < include/mes/config.h < include/mes/config.h < 1) - { - eputs (";;; pkgdatadir="); - eputs (MES_PKGDATADIR); - eputs ("\n"); - } if (getenv ("MES_BOOT")) strcpy (boot, getenv ("MES_BOOT")); else @@ -1801,13 +1795,6 @@ open_boot () __stdin = try_open_boot (file_name, boot, "MES_PREFIX/share/mes"); } } - if (__stdin < 0) - { - strcpy (g_datadir, MES_PKGDATADIR); - strcpy (file_name, g_datadir); - strcpy (file_name + strlen (file_name), "/module/mes/"); - __stdin = try_open_boot (file_name, boot, "pkgdatadir"); - } if (__stdin < 0) { g_datadir[0] = 0; -- 2.24.0 commit 2f6fab05b3f09df02aba70c3e21d5fedb45dc567 Author: Jan Nieuwenhuizen Date: Sun Nov 24 23:12:29 2019 +0100 core: Throw instead of segfault on non-existing input file. WIP. Reported by theruran. * src/posix.c (open_input_file): Call error instead of failing silently. diff --git a/src/posix.c b/src/posix.c index 7ba2e9915..fd753232d 100644 --- a/src/posix.c +++ b/src/posix.c @@ -188,7 +188,10 @@ current_input_port () SCM open_input_file (SCM file_name) { - return MAKE_NUMBER (mes_open (CSTRING (file_name), O_RDONLY, 0)); + int filedes = mes_open (CSTRING (file_name), O_RDONLY, 0); + if (filedes == -1) + error (cell_symbol_system_error, cons (MAKE_STRING0 ("No such file or directory"), file_name)); + return MAKE_NUMBER (filedes); } SCM