- removed the old (commented out) curl stuff
- add another note to the error message
- simplified the libcurl download loop to use only EOF and not LOF anymore
- add a hidden external curl fallback option, read comments from line 1140 for more info
- former versions did simply link to the top of the referenced page, ignoring the link anchor value (#)
- now links can point to any page section heading and the section (if found) is placed in the visible area
- to try use the links in the bottom nav section on the alphabetical index
This helps when compiling several files in a row very quickly, Mac OS
only has a one second accuracy on the file modification time which can
cause Make to not notice a file has been modified. With the changes to
avoid startup delays it's possible to have compiles happen that quickly
in succession now.
This was overlooked in #258, previously this printing was being skipped
over via a check of idemode, but after changing where it was located so
it only prints once it now runs when using the IDE, which screwed up the
drawing of the IDE screen.
The simple fix is to check for idemode before doing the printing, which
is effectively what it was doing before anyway.
Fixes: #266
Starting with #201, source files relative to `_StartDir$` are allowed to
be passed to `-x` and compile as expected. Additionally as part of that
change, when the `-x` parameter is relative to `_StartDir$`, the `-o`
argument is _also_ treated relative to `_StartDir$`. This is simply the
behavior everyone using the compiler would expect - that the source file
and `-o` are relative to the same location.
An overlooked behavior was the executable location when `-o` is not
provided. It still writes to compiler directory, but it really should be
writing to `_Startdir$` since the output executable is intended to be
relative to the same location the source file is relative too. Overall
this is fairly straight forward to fix as the logic is the same, we just
need to make use of it when the `-o` flag is not provided.
Fixes: #257
Some commands like NoPrefix trigger a complete "recompile" due to how
they work. This has the accidental effect of duplicating the command
line output, which should still only be printed once. Moving the
printing logic up a bit is a simple solution.
Fixes: #256
https://github.com/QB64-Phoenix-Edition/QB64pe/issues/233
This should fix the comparisons with $IF and VERSION. A few things of note here, which might affect future version labeling:
This expects to find version numbers which follow our current style -- ##.##.## -- 3 numbers, separated by periods.
Adding in alphabetic characters will basically get ignored, and versions with less than 3 values will generate FALSE results in all comparisons.
This effectively adds Http support to QB64-PE via adding $Unstable:Http
which will trigger building with DEP_HTTP, which enables Http support in
libqb.
The 'New Dialogs' menu option was renamed to 'GUI Dialogs' to better
explain what it does. Additionally the setting of which dialogs to use
is saved to the config.ini file so that it presists across multiple runs
of QB64-PE.
This gives QB64-PE the ability to automatically generate a text file
comprising all of the licenses that apply to your QB64 program. This
file can then be distributed with your program to meet the requirements
of those licenses, and also examined to understand what licenses apply
to your program.
The generation is controlled via a configuration flag, settable either
via the `Run` dialog, or via a new `-f` setting on the comamnd line.
Fixes: #145
There's some logic for handling `Bit * n` types that doesn't properly
handle NoPrefix. There's both a faulty error check which only works for
the `_` version (It was using `OR` so it always failed), and then also
the code that pulls out the number only works if the `_` is present.
Both of those are fixed in this commit.
The original issue comes from b87dde8. Fellippe was fixing using
NoPrefix types with Declare Library, which uses some of the same logic
as Static arrays. Unfortunately, his change broke the `String *n` syntax
and `Bit * n` syntax because he stopped using LEFT$() to check only the
prefix of the type. Cory fixed the issue over in QB64Official/qb64#35
by reverting the code to use LEFT$() again and I pulled some of that
logic in here.
Note that I've modified his solution a bit. During testing of that fix I
noticed that `_Unsigned Integer64` no longer worked, because is because
it aliases with `_Unsigned Integer` and the shorter type gets checked
first. This may have been what Fellippe was trying to fix (since
removing the LEFT$() avoids this issue) but it's hard to say.
I addressed that issue by only applying $LEFT() to the two types that
are allowed to have text after them (`Bit` and `String`). The rest of
the types continue to use the direct string comparison that requires an
exact match. Additionally I reorganized the checks a bit to make them
easier to read and also easier to confirm all combinations are checked.