Commit graph

362 commits

Author SHA1 Message Date
Graham Nelson
ac37350105 Changed first build methodology 2022-04-24 00:40:37 +01:00
Graham Nelson
0cc1077c47 Using new-style readme scripts 2022-04-23 23:41:01 +01:00
Graham Nelson
7b90e88dab Tidied up preprocessor code 2022-04-23 16:13:47 +01:00
Graham Nelson
517341513a Using new-style gitignore scripts 2022-04-23 14:08:38 +01:00
Graham Nelson
e6a2631e0c Further work on makescripts 2022-04-22 23:54:19 +01:00
Graham Nelson
162b0283f3 Migrated to new makescript format 2022-04-22 00:06:45 +01:00
Graham Nelson
0772b434b7 Merge branch 'master' of https://github.com/ganelson/inweb 2022-04-19 22:06:52 +01:00
Graham Nelson
3adb9a7dfa Scanning directories in alphabetical order 2022-04-19 22:06:18 +01:00
Graham Nelson
171dedae83 Removed foundation-test.mk 2022-04-16 18:17:25 +01:00
Graham Nelson
7d1fcb2260 Catching up with recent changes 2022-04-15 00:20:42 +01:00
Graham Nelson
4110147ef6
Merge pull request #2 from ptomato/linux-fixes
More Linux fixes
2022-04-14 23:43:53 +01:00
David Kinder
675b231539 More consistent logic on Windows for when to treat a system() command as Unix-like or not 2022-04-14 14:41:23 +01:00
David Kinder
97b84360ea Reduce core count by one to leave one CPU core idle by default 2022-04-14 08:43:07 +01:00
Philip Chimento
9f982e5c95 Mark strings as const when they underlie streams
In the family of functions that create a text stream from a string (e.g.,
Streams::open_from_ISO_string, Str::new_from_ISO_string) we can mark the
input string as const since it is not supposed to be modified.

I ran into this when experimenting with trying to create a text stream
from the output of "getenv" which is "const char *". I ended up not
needing that, but this seems like a good change nonetheless.
2022-04-13 22:51:33 -07:00
Philip Chimento
9e26459664 Tweak fall-through comment
GCC warns about switch statement fall-throughs unless they are annotated
with a /* fall through */ comment. However, it also has a mode that
understands the comment as long as it has the words "fall through"
somewhere in it. If we slightly tweak the wording of this comment, we can
use that mode to avoid the warning.
2022-04-13 22:51:33 -07:00
Graham Nelson
f57cde99e8 Merge branch 'master' of https://github.com/ganelson/inweb 2022-04-13 23:44:23 +01:00
Graham Nelson
395fc19c2f Minor debugging log changes to avoid compiler warnings 2022-04-13 23:42:22 +01:00
David Kinder
76958ef34a Temporary work-around for Windows to run clang under Cygwin 2022-04-11 20:39:51 +01:00
David Kinder
efa1019db2 Changing clang settings to c11, not c99, for Windows 2022-04-11 20:15:12 +01:00
Graham Nelson
a2f8669f9e Changing clang settings to c11, not c99, for MacOS 2022-04-10 23:01:43 +01:00
Graham Nelson
fac68c3d8c Marking Errors::internal_error_handler as _Noreturn 2022-04-10 16:39:42 +01:00
Graham Nelson
6b36028958 Removed spurious tags test 2022-04-08 10:50:57 +01:00
Graham Nelson
0ee872e89b Properly added tags test case file 2022-04-08 10:02:33 +01:00
Graham Nelson
42c8035bd3 Merge branch 'ptomato-linux-fixes' 2022-04-08 09:54:25 +01:00
Philip Chimento
436901adb6 Fix semver comparison with different numbers of prerelease elements
By my reading of the semantic versioning spec, the sense of the comparison
of the number of prerelease version segments has to be reversed when one
of those numbers is zero.

In other words, zero prerelease segments takes precedence over any nonzero
number, but any nonzero number takes precedence over any lower nonzero
number.

Example given in the specification:
1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < 1.0.0-beta <
  1.0.0-beta.2 < 1.0.0-beta.11 < 1.0.0-rc.1 < 1.0.0.

I had two failing test cases in foundation-test; in one case, the blessed
output seemed to be wrong, whereas the other case made this fix necessary.
2022-04-07 22:34:51 -07:00
Philip Chimento
e628307c1e Ensure _Results_Actual folder is created in git checkout
The tests always fail for me the first time I run them because this folder
doesn't exist. This adds a dummy file, traditionally called .gitkeep, so
that git will create the folder on checkout.
2022-04-07 21:33:43 -07:00
Philip Chimento
92e5d195b8 Fix possible strncpy no-op
There's a possible execution path here, where extindex is equal to 0 at
the time it's used as the count parameter in strncpy. GCC warns about this
because it leaves the destination string unchanged while the programmer
may expect it to be 0-terminated.

In this case it's OK because we write a 0 to the string directly
afterwards, but still we can silence the warning and avoid a no-op call
to strncpy by checking the count first.
2022-04-07 21:33:43 -07:00
Philip Chimento
2eda898ed3 Fix self-comparison
Here, a value was being compared for equality with itself. GCC warns that
this is probably a mistake. I'm assuming that here we are meant to write
out a word count when the minimum and maximum counted words are equal?
2022-04-07 21:33:43 -07:00
Philip Chimento
f5b5971aac Fix return type of InCSupport::tangle_line
This method is called with INT_METHOD_CALL, but had a void return type.
This caused the return value to be some random value from the stack, and
if it happened to be FALSE, LanguageMethods::tangle_line would write the
line out a second time. This was causing inweb to output invalid programs
due to every line being duplicated.
2022-04-07 21:33:43 -07:00
Philip Chimento
658833d167 Include stdint.h for uint32_t
Without including stdint.h, the compiler chokes on uint32_t. I assume that
on other platforms, another header must be pulling it in already, but on
GCC on Linux, it's not. However, stdint.h should be safe to include on all
platforms as it's part of C99.
2022-04-07 21:33:43 -07:00
Graham Nelson
89bb595c34 Bug fix to handle relative pathnames edge case 2022-04-07 22:38:41 +01:00
Graham Nelson
a882bf208e Fixed bug in deleting elements from linked lists 2022-04-05 12:15:52 +01:00
Graham Nelson
464e855c50 Fixed bug in weaving links to named sections of colony members 2022-04-04 18:29:56 +01:00
Graham Nelson
40582edfca Added new (html) inclusion feature 2022-04-04 00:00:46 +01:00
Graham Nelson
59d3e6beb9 Minor speed optimisations following profiling of inform7 2022-03-23 23:02:07 +00:00
Graham Nelson
23180b41f8 Minor bug fix 2022-03-11 11:15:49 +00:00
Graham Nelson
a8e6c508ac Added md5 hashing of binary files 2022-03-05 21:36:26 +00:00
Graham Nelson
df15511d7e Bug fix for semantic versioning with prerelease modifiers 2022-02-13 22:33:19 +00:00
Graham Nelson
fbead7a233 Added simple tangler to foundation module 2021-11-28 23:33:48 +00:00
Graham Nelson
69da61fe56 Added ctags support 2021-08-11 12:01:50 +01:00
Graham Nelson
7875f3e7e6 Added feature for extract files 2021-08-10 16:15:43 +01:00
Graham Nelson
796d71d80d Added cache for prototype HTML, Javascript and CSS files 2021-07-07 23:44:18 +01:00
Graham Nelson
f720db9559 Added error message for unlocated C functions 2021-04-25 09:52:39 +01:00
Toby Nelson
1f2d23e27a Fix for Inform 6 platform environment variable 2021-04-19 15:50:58 +01:00
Graham Nelson
570424145a Initial make now makes foundation-test 2021-04-19 11:27:18 +01:00
Graham Nelson
92414ff876 Windows changes 2021-04-19 09:22:06 +01:00
Graham Nelson
679345805f Merge branch 'master' of https://github.com/ganelson/inweb 2021-04-19 09:21:14 +01:00
Graham Nelson
ebfa98aa5d No significant change 2021-04-19 09:20:17 +01:00
David Kinder
5a70f521b2 Updated Windows build settings for rsync() implemnentation 2021-03-08 15:37:16 +00:00
David Kinder
a6bb5c1b6c Simple Win32 implementation of rsync() 2021-03-08 15:33:33 +00:00