Commit graph

200 commits

Author SHA1 Message Date
Graham Nelson
60735b4c46 Candidate for release 7.2.0 2022-08-20 11:02:58 +01:00
Graham Nelson
79311e5cb2 Paving the way for 7.2.0 release 2022-08-20 10:43:06 +01:00
Graham Nelson
58d0087bdd Allows backslash-quote in strings, inexplicably omitted from JSON reader 2022-08-09 10:04:38 +01:00
Graham Nelson
c5c845749c Relaxed rules on backslash use in preprocessing 2022-07-28 17:45:04 +01:00
Graham Nelson
739b6b8c74 Minor improvements to preprocessing 2022-07-25 23:41:35 +01:00
Graham Nelson
6ad9715480 Refactored HTML generation functions to use CSS classes rather than explicit colours 2022-06-16 23:43:15 +01:00
Graham Nelson
293e0f7427 Added wrapper functions for CSS spans 2022-06-13 19:43:47 +01:00
Graham Nelson
3b87d62b42 Tidied up JSON code 2022-06-03 12:18:18 +01:00
Graham Nelson
030eb040b3 Improved paragraph numbering and fixed bug leading to circular writes of paragraph numbers 2022-05-16 16:49:04 +01:00
Graham Nelson
cca0366c8f More reliable text file existence checking 2022-05-15 15:35:53 +01:00
Graham Nelson
254243cf01 Minor changes to HTML generation 2022-05-04 23:22:26 +01:00
Graham Nelson
3532dcafa6 Fix for bug in locale string-writing 2022-05-01 16:58:44 +01:00
Graham Nelson
07ec28d140 Added Apple Silicon support 2022-04-30 17:12:14 +01:00
Graham Nelson
9f4ca7c845 Again 2022-04-30 15:38:55 +01:00
Graham Nelson
4577537c09 To remove one potential compiler warning 2022-04-30 15:19:23 +01:00
Graham Nelson
1237824333 Beginning work on better building for Apple Silicon Macs 2022-04-30 11:41:53 +01:00
Graham Nelson
60cc499743 Corrected link to GitHub Pages 2022-04-28 16:25:04 +01:00
Graham Nelson
4adc5c9c10 Advanced build to 7.1.0-beta 2022-04-28 16:00:22 +01:00
Graham Nelson
d8a4183543 Fixed an undefined behaviour bug appearing only under -O2 optimisation 2022-04-25 23:31:02 +01:00
Graham Nelson
04343a64a5 Allowed parameter-less preprocessor macro definitions 2022-04-25 16:46:46 +01:00
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
3adb9a7dfa Scanning directories in alphabetical order 2022-04-19 22:06:18 +01:00
Graham Nelson
7d1fcb2260 Catching up with recent changes 2022-04-15 00:20:42 +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
395fc19c2f Minor debugging log changes to avoid compiler warnings 2022-04-13 23:42:22 +01:00
Graham Nelson
fac68c3d8c Marking Errors::internal_error_handler as _Noreturn 2022-04-10 16:39:42 +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
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
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
Graham Nelson
570424145a Initial make now makes foundation-test 2021-04-19 11:27:18 +01:00