1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
From d8f361705325cf91fc6c2ec84f281cdcd6bfa8b1 Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@gnu.org>
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 <<EOF
#define MES_VERSION "$VERSION"
-#define MES_PKGDATADIR "$pkgdatadir"
EOF
cat <<EOF
diff --git a/simple.sh b/simple.sh
index db6950354..b54398a59 100755
--- a/simple.sh
+++ b/simple.sh
@@ -33,7 +33,6 @@ mes_bits=64
cat > include/mes/config.h <<EOF
#define SYSTEM_LIBC 1
#define MES_VERSION "git"
-#define MES_PKGDATADIR "/usr/local/share/mes"
EOF
## Build ##
@@ -126,7 +125,6 @@ mes_cpu=x86_64
cat > include/mes/config.h <<EOF
// #define SYSTEM_LIBC 0
#define MES_VERSION "git"
-#define MES_PKGDATADIR "/usr/local/share/mes"
EOF
## Build ##
diff --git a/src/mes.c b/src/mes.c
index d9760fad6..a5e7f2b69 100644
--- a/src/mes.c
+++ b/src/mes.c
@@ -1775,12 +1775,6 @@ open_boot ()
char boot[1024];
char file_name[1024];
strcpy (g_datadir, ".");
- if (g_debug > 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 <janneke@gnu.org>
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
|