This is just generated output from commits in this repository. For full log use GitHub commits.
73a481
TCP connection not working on Haiku OS
8a44ea
Implemented passing a struct value to an extension
9c9fef
Updated mbedTLS code to version 3.3.09a327d
Simplified use of TO_ defines and included Linux armv6 targets (and using armv7 instead of arm32 now)6e7fa5
Includingsystem/build/os-version
information (if known)1dbefc
Usingsystem/platform
instead ofsystem/build/os
to get an extension url0d5d91
Better information insystem/build/os
about build on Linux759609
Modified version info937c97
Includedsystem/build/libc
info on systems where available555f89
Display directories before files in thelist-dir
outputf5016c
JSON codec code cleanup3faac7
Including download link to Rebol/MathPresso extension5f4f43
Replaced crash report url
f5f6ae
Make sure that os-info is always loadable4070cf
Missing define from the previous changeb99a78
32bit builds crashes when struct is being recycledde73f7
Crash when resolving file name containing a colon char on Posix systems1bc5cd
Avoid overwritingsys
417992
Makedelta-time
a little bit more precise29ada6
Regression related to the recent series changes
5b6e84
Including API_EXPORT define for the external extension use43c02f
Handle's context accessible from an external extensione6c778
New script which amalgamate Rebol extension related include files into a single one
4ef198
Enhanced number of possible series flags from 8 to 32 (could be lowered in the future and use some of these bits for something else)a27822
Including download link to Rebol/Easing extension and updated Rebol/SQLitee34c37
Updated ZLIB code to version 1.2.1371e7aa
Not using _To_Upper_Case and _To_Lower_Case functions in debug buids053f84
Necessary changes related to havingimport
's module argument not evaluatedbd09ce
Using lit-word as amodule
argument of theimport
function, so one can just useimport module-name
(no need to use lit-word for the module's name)79c3e6
Associatep7s
file suffix with theDER
codec7680e4
Allow plain words as a logid
argument
4bac74
Removed unnecessary castingee9b2a
Usingread
with a wildcard path without any result was throwing an error on macOS instead of an empty block8f9e3b
Regression incrush
compressiondb3818
Invalid data in loaded images with an alpha channel on macOSff5e13
Safely handle a case when path to the exe is not resolved0cdee8
Regression in importing an unnamed module3725ef
It was possible to modify a hidden value usingextend
78f683
Regression in debase 36eae5e6
Theinfo
struct member is now calledsizes
6fb6e0
Disallowed loop variable context access8503e0
Clang warning: function declared 'noreturn' should not return7af6eb
Crash when usingforeach
with a set-word and values not in a block87e010
Not usingREB_NORETURN
define inside a struct13e361
Mark OS_Exit and OS_Crash functions asnoreturn
0a0757
Warning: unreferenced local variablef7a9e9
Warning: 'puts' undefined; assuming extern returninga14b4b
Allow bincode/init size value to be zerodc9401
Warning: 'puts' undefined; assuming extern returning149789
Many unsigned/signed variable conflict warnings1742fa
Warning: differs in levels of indirection6e8f18
Warning: unreferenced local variablee28909
Not including winerror.h as it redefines IS_ERROR52cf02
Warning: unreferenced local variablee86310
Msvc warning: conversion to a greater size6d914c
Possible use of uninitialized variablecacaf5
Avoid redefinition of typedef warnings when using amalgamated extension includes with-std=c99
compilation flage7273e
Have reb-args.h included also in external Rebol extensions4ebb17
Make sure that there is REBARGS define as a part of extension includeb5179c
RL defined in host-lib.c file, in all embedded extensions it must be used as extern47b542
RL defined in host-lib.c file, in all embedded extensions it must be used as extern16a4ea
Silent compiler's warnings6d7fa4
Warning: incompatible pointer types passinga12dd9
Warning C4018: signed/unsigned mismatch982a42
Warning: incompatible pointer types passing41a828
Don't redefine MIN/MAX5eb72e
Silent dereferencing NULL pointer warnings287398
Clang warning: implicit conversion from 'long long' to 'double' changes value from 9223372036854775807 to 9223372036854775808e347ad
Using extern link to RL_LIB in the test extension (GCC was failing without it)c337fe
Warning C4003 (not enough arguments for function-like macro invocation)b95505
Warning C6308 (possible memory leak)361b4d
Silent "The prior call to 'wcsncpy' might not zero-terminate string" warnings3f3bea
find/any
failing in some cases
5337c8
Newswap-endian
native function for swapping binary byte order1b758a
Register.docx
file suffix with ZIP codec9c128d
Added possibility to keep a track of a Rebol series in a handle's context (guarding this series from GC as long as the handle is referenced)36828a
Fine tune memory pool sizes783309
Newtruncate
native for shortening a seriesc51876
Using built in WebSocket handshake function in the test serverbae6cf
Minimalistic WebSocket support in thehttpd
scheme
f94ebb
Bitwise operation on binary: the shorter argument is used repeatedly
76cb96
Visual Studio compiler not knowinguint*_t
typesde9a63
Warning: incompatible pointer types initializinge8a0f7
Warning: format specifies typebda36a
Warning: incompatible pointer types assigningbe4656
Warning: non-void function does not return a value05f7f9
Warning: incompatible integer to pointer conversionaeeb6a
Pair'sarea
was not correctly computed for decimal values93b62c
Warning: incompatible-pointer-types-discards-qualifiersa1f8e8
Warning: for loop has empty body235ade
Warning: expression result unused (in unused asserts)dba08b
Regression: failed boot of BASE build versions. Added tests to the Github workflow.4d3dd3
Creating a directory with a name containing Unicode chars on Posix platforms931ddf
Missing include when usedSHOW_SIZEOFS
definefb8a03
httpd
scheme: correct timeout; updated header269032
Unnecessary series initialization31e72e
Block-like series must be terminated with the END value
0695bf
Pair'sarea
accessor
34df08
find/any
returning incorrect result9a63e8
Not available image size when passed in to an extension (regression)
bcaa10
Implemented set operations onmap!
603035
Optional LZW compression methodf8f551
Enable loading exact frame from an image on macOS381337
Cleanedsystem/catalog/datatypes
initializationdc48b3
Small code optimization (removing unnecessary SERIES_FULL check)469ba7
New Bincode dialectCROP
command for shrinking buffers from the left side at the read buffer index position
2b5318
Don't allow binary input for set operations (does not work anyway)421b2f
Updated ZLIB code to version 1.2.12972dcc
Not settingdatatypes
value in the library context587c22
Shorter SMTP title and added one more log message646cb4
Using same error type forto-issue "a a"
andto-issue "a^Aa"
07e09a
union/skip
not working correctly in some cases00f44f
Codecs/zip/verbose ignored by encode2f601f
TAKE/part of offset gob! returning contents from head of gob!22b822
Lost index information when passing image value between core and extensiond915c0
Better port validation when dealing with native port actors664904
Loading unnamed modules was causing failing testaacacc
Incorrectly dealing with vector item's width22f793
Reverted leaked unwanted modification in the previous commit115099
Fixed regression withbreak
in areduce
block
b96911
Addedswitch/case
option to make it use case-sensitive comparisons24faca
Implementedreverse
on avector!
value8951d9
Using Knuth's multiplicative hash for color tuples5e9b14
Implementedtranscode/line
for getting information about number of lines scannedfe4495
Implementedtranscode/one
for translating just one value2e55f6
Allow string input totranscode
fd8188
transcode
used without any refinement returns only scanned datae9990a
Better construction syntax for typesetsed5e1e
Better construction syntax for datatypes (compatible with Red language)
687167
Correcting datatype value detection logic8fb93e
Requiredfind/only
when searching for a datatype value7c8549
reduce/only
emits#[unset]
for undefined word instead of an error67dfe1
Enableripemd160
checksumf229de
transcode/error
of an invalid serialized constructor triggers the error it should insert97496e
Error throwing an error on empty input must be only when used/next
or/one
refinements9ea5fc
Line numbering for error messages doesn't account for header047f03
Throwing an error when usedtranscode/next
ortranscode/one
with an empty input769b5e
Updatetranscode
input position only when needed
-
1c0004
Usingcompose
instead of slowerjoin
-
843fcc
Implementedcollect into
andcollect after
parse's command -
fe5df3
Allow lowering assertions level usingALEVEL
define -
9d919b
Implementedcollect set
parse's command -
4c14cd
Initial implementation of parse'scollect
andkeep
commands. -
1a46e3
Cherry picked Ladislav Mecir's modifications -
e2c232
daytime
scheme: initial version of the Daytime Protocol (RFC-867) -
01ee80
Usingmime-types
module inhttpd
scheme for more complete list of mime types -
099275
Implementedquery/mode
on network ports -
d7e55e
Newflush
action for flushing console output stream buffers -
2005a7
Implementedread/all
andwrite/all
onurl!
, which returns also status code and headers and not just content. It also don't throws an error! -
74f3df
Implementedread/seek
onurl!
-
a92ab7
pop3
scheme: initial version of the Post Office Protocol (v3) -
5dab0c
Including first version of higher levelmail
scheme for sending emails So far it is possible to use Rebol2 likesend
function:import 'mail ; sending just a plain message: send you@example.com "Hello^/ this is just simple message" ; sending single file: send you@example.com %path/to/file ; sending more files: send you@example.com [%path/to/file1 %path/to/file2] ; sending more complete message: send friends [ subject: "Invitation" message: "Hi friends, check the invitation!" attach: %path/to/invitation ]
It is also possible to use the scheme directly, like:
write mail:// [ From: ["Oldes" oldes@example.com] To: ["Bob" bob@example.com "Eva" eva@example.com] subject: "Invitation" message: "Hi friends, check the invitation!" attach: %path/to/invitation ]
In all cases above is expected, that
system/user
is configured and that there is availablesmtp
specification (host/user/password) undersystem/users/data
!This is still just the initial version. So far it works only in sync mode, but the idea is, to be able use it in async mode as well (for example from a server instance).
-
d906bf
smtp
scheme: recipient's address validation and possibility to have more than one; Better error handling. -
b6108e
Allowemail!
as system user's name -
ab0c6a
Usingsafe
scheme to handle persistent encrypted system user's data -
c0ff57
Includedsafe
scheme as a persistent encrypted key/value data storage -
7329f5
Usingput
action in theextend
mezzanine (no need ofreduce
call) -
a04226
Implementedput
action onobject!
(extending) -
8e00cc
Allow definition of one function to multiple actions in scheme's actor dialect -
fcdf59
Allowput
action onport!
-
f20211
Includedsafe
codec (for a simple data storage in encrypted files) -
d84882
Allow making a scheme without specifying its title -
68cb9d
Implementedindexz?
,at
andatz
actions on file port -
f0ecd1
Handle negative part values when reading from a file port -
3822b5
Less strictto-date
conversion -
00008a
Includingmime-field
codec -
592c36
Includingsystem/catalog/bitsets/space
bitset (TAB+SP) -
cbc7b8
reduce paren!
evaluate and generateparen!
-
b5fc6f
Implementedcase
andno-case
PARSE keywords -
6b47c2
Implementedodd?
andeven?
onpair!
-
e4459c
Replaced mezzaninewith
with a lightweight and faster native version
c214c2
Includingcomma
,dot
anddbl-quote
char constantsf84268
Using shorter url for links to Rebol module's sources46bc61
enbase
using line breaks by default; newenbase/flat
for old behavior.7644be
Always using construction syntax when molding bitsets98ead9
Removed limit onkye
value types input
actionb4787d
system
object reordered + includeduser
901728
sys/make-scheme
returns the created scheme's spec instead ofsystem/schemes
1a9db6
Removed/all
refine fromparse
0ee3b5
Removed series-splitting functionality fromparse
b7d6db
Decoration removed byform
andto-string
from (lit/set/get)-words and (lit/set/get)-paths4dff72
do word!
behavior made compatible with Rebol2 and Red2d91e5
do path!
behavior made compatible with Rebol2 and Red
6eff98
Crash in nestedcollect
with an expression0ae1ba
Missing newcollect
related errors29e86d
fail
parse's command must closecollect
if used8d3e13
Improved output of the??
parse command (limited and flattened)8549ca
Parse'sreject
working incorrectlyc1ce59
Resolved issue when usedPOP3
scheme without console output5f2b6a
Including network mode wordsda4f11
ImprovedUDP
scheme server/client test scriptsb4d35e
Output buffer tail extension must be done only for UDPc5e159
Missing messages inUDP
server40632b
Moving the newRDC_FLUSH
device command to the tail (so it does not breaks unsupported devices)90b975
Invalid data with the partial http response regression1171af
There is noin_addr_t
defined on Windowsfa9920
Resolved warningse6527b
Writing data tosmtp
scheme must use chunks not higher than 16KiB (TLS limitation)d044c2
Better doc-string forenbase/flat
043512
Used external IP in the SMTP's EHLO message, when domain name is not availableec9959
Make sure, that values from safe scheme are always copied, if possible0bf389
Protectsystem/user
value17b485
Usingsplit-lines
native (untilsplit
will not be native as well)5de5f2
Regression inreword
withnone
as an escape value0bad6f
Equality of extended objects5bd5af
Simplified code using the newno-case
parse's keyword9a592d
Removed now unusedparse/all
refine37b539
Use of escape char^
must not be allowed in unquoted file notationeef408
Removed series-splitting functionality fromparse
30569d
Don't allowerror!
andtask!
to be abind
's context01a1f2
Some TLS code optimizations9e7aa5
Maketrace
output better aligned1093ae
Tinny code optimizatione3a200
to integer! "00"
failing on MacOS446a1e
Crash when decoding image from invalid data on MacOS0b50d9
Better handling odd part values when usingappend/part
onobject!
andmap!
1ca9df
Implementedappend/part
andappend/dup
4bde88
Write file fails were silently ignored; closing port on read errors before throwing3c43f4
Error writing files of exact size 0xffffffff on Windowsd61afe
Code cleanup8c92c8
Resolved implicit conversion warning
32dd19
Newcombine
function as alternative torejoin
9ea810
Allowtry
to accept code as aparen!
435e29
debase
andenbase
having/part
handling compatible withcopy/part
3fd5b6
Automatically handle unicode non-binarydehex
inputc6bbba
quoted-printable
codec with special space/no-space optionsb24107
enhex/uri
anddehex/uri
for a special short variant of space encoding394370
Added date/time formatting53e3db
Includingquoted-printable
codec4b7d14
Updated link to Rebol/Blend2D extension version 0.0.18.105a616
Including link to Rebol/Triangulate extension53108a
Including links to sources of optional modules33d32b
Automatic download of the well known extension modules4a0d81
Counting an hourly money rate using division of time! with money!821962
Allow multiplication between time! and money! values
1a80f5
quoted-printable
codec is delayed (requiredimport 'quoted-printable
before use)
6ac01e
Not using flattened source code6005b1
construct
multiline unfolding missing space66bf62
enhex/uri
anddehex/uri
with an unicode input24bb10
Handle PLAIN SMTP authentication responsedc02d7
Correctly handle failed extension downloads8e0606
Usingquery
on URL sometimes reportsdate: none
19f638
Loaded/saved image data have reversed RGB colour order on macOS
a63913
SMTP
protocol scheme updated to work with the recent TLS changesd70bab
Fine-tunning what crypto features are included in base/core/bulk builds125fce
Using only cipher modes, which are really supported in the TLS protocol8e3985
Converted original CSV-tools script to proper CSV/TSV codecs4d0841
Including Brian Hawley's CSV handling tools script downloaded from www.rebol.orgc8befe
Added support for SHA384 cipher modes in the TLS protocolc17863
Added support for GCM ciphers in the TLS protocolf1a82b
Added support for authentication in GCM (Galois/Counter mode) cipher modef6f7c6
Updated CCM (Counter with CBC-MAC) cipher modeb08704
Added support for CCM (Counter with CBC-MAC) cipher mode7cb433
Added support to upgrade plain SMTP connection with a TLS layer (STARTTLS)5ae9b0
Tiny code optimization in the HTTP schemee89f4b
Added possibility to start TLS connection reusing existing TCP port
bef541
Deprecatedchacha20
,chacha20poly1305
andpoly1305
natives are now completely removed
dd3f3e
Host is not using os provided crypt device3f38fc
Unreferenced local variable warning22794e
Assignment from incompatible pointer type warningdd9300
Incompatible pointer types warning9589ec
Always false result warning5eedc5
Incompatible integer to pointer conversion warning13c4d3
Removed unused config include79ccb3
Incompatible pointer types warningb527b1
import/check
with an invalid checksum was failing with a wrong error (Oldes/Rebol-issues#1686)2660ab
Updatedppk
codec using the new crypt portdd3651
Cleanup and better resolvingcode-page
charset encoding5a29c1
Wrong length of the IV in the GCM cipher mode initializatione4d80c
Implicit declaration of function and incompatible pointer types9f3bdc
CHACHA20-POLY1305
decryption in the TLS protocol was not correctly checking themac
6efd1d
Missing CCM crypt mode source file6c8d19
ECDHE_ECDSA verification (ec public key may start with a zero byte)200a42
Trying to get a console width under CI on Windows trows an error0ca83b
Usinginit-vector
instead of justiv
in crypt port specification;take
on crypt port is now likeread update
; updated crypt port initialization to be compatible with the changes ofdecode-url
function.975eb9
Comparing blocks with a1.#NaN
valueb75188
1.#NaN
sorting inconsistency
8aa3f5
enbase
/debase
with base 36 (alphanumeric)0df0d4
Some useful responses from the test httpd server266b20
Allow conversionto word!
from any string datatype (if don't have invalid chars)81699e
Initial rewrite of the oldsmtp
protocolc4547d
Included codec for Apple's Provision Profile files31dae9
Added optional codec (decoder) forplist
files7447dc
Addeduid
attribute as a known OID
98fd68
Improved fingerprint checksum counter in thecrt
codec
a4f4fc
Wrong return value093c89
Reset unused parts of the http uri during redirection and some tiny optimizationse2ef1a
Updated http request construction to work with changes indecode-url
3dd0df
Regression related to the new output fromdecode-url
function48a3fc
Optimized url/file escape table initialization92c65f
Special char escaping when molding a file (so it is backwards loadable)7bf61f
Rewrittendecode-url
function,mold
properly escaping urls9dc15a
Regression in thehttpd
scheme347d73
split/at
when the delimiter is not found4fb0ac
Using shorter code variant for extending a series at its tail044c59
Using set-words in thedh parameters
parse rule2ce523
Don't silently ignore leading zero byte in theder
codec data
080cd3
Support for direct DH params initialization from.key
filesf0d33e
form-oid
function for conversion of OID binary value into its numeric string format5868c1
Added (limited) support for a TLS server roleace3ec
Providing better info onport!
values fromhelp
8c051b
Added support to load X.509 encoded private RSA keys07f79c
Allowread/lines
on urls (HTTP scheme)ab481c
Newsplit-lines
native5ec4bb
Allow char as an argument for writing to a file porte22657
Added certificate'sfingerprint
calculation61609d
tls
scheme - using the new cryptography code9ea657
Simplecrypt
port test/example file7d0849
Added support forGCM
(Galois/Counter Mode) cipher moded4614b
Add/part
refinement toremold
function
070c6b
Added newrelease
native as an universal way how to release internal resources available thru handles. Removed all non universal ways of releasing crypt keys!3cdba9
Minor TLS code rearrangementb2059c
Removed the rest of the old legacy TLS codef4ed6b
Removed legacy TLS support, first steps to have a server side TLSf66b9a
Replacedport/spec/port-id
withport/spec/port
c54b35
Replacedport/locals
withport/extra
d19b88
Replacedload/type
withload/as
942d1a
Renamedremove/part
argument fromlength
torange
and allowedremove/part
on bitset when the argument is string, binary, block or char2d9411
Allowto-decimal "1e"
356292
Usingrange
instead oflength
for the/part
argument, as it may be negative.6c7fd4
Allow making error using error as a make's type
811d22
set
with any-block types18fdf2
Move elyptic curves on top (these are the most common now)60bfc8
RSA binary input values were expecting, that series are always at its heade114d7
Warning: incompatible pointer typesc58fba
Better error message when using unsupported port action6ca57f
Correct width expansion when appending char in range 128-255b633ce
Leaked local variablec6efa2
Using correct checksum method in thefingerprint
calculationbcb875
Minor TLS code optimization580ad3
http
scheme - situation when server does not provide Content-Length and just closes connection1b6b88
Shortened doc-string756721
Large integer from stringacd983
Regression introduced in https://github.com/Oldes/Rebol3/commit/356292c3813fc196f4b2bad90183253c779676e48892f7
make event!
using existingevent!
as amake
type56c14d
save
tostring!
needsmold
c7e3d7
Optional definition of the message digest algorithm to sign/verify data usingrsa
ef0280
profile
function for easy code speed comparisons, like:profile [[wait 0.1][wait 0.2]]
ca4ddb
Rewritten crypt port not to depend on mbedTLS's cipher-wrapping; included ARIA cipher and initialchacha20-poly1305
crypt's implementation (still WIP!)d4bd52
Included CHACHA20 cipher with possibility to set initial block countera86c3e
Added info about possible output limitation ofprobe
d9c7fb
Simplified extension test definitione9ed58
Updated mbedTLS code (used for checksums only so far) to version 3.1.0aa70ed
Added FreeBSD support
e74518
Crypt port (work in progress)902eeb
Report port error reasons as positive integersf46f9b
Replaced the oldECDH
andECDSA implementation with code from
mbedTLS`d6db6f
Replaced the oldDH
implementation with code frommbedTLS
e12f0a
Replaced the oldRSA
implementation with code frommbedTLS
77aac4
Wrong context casting2077fb
Static declaration of 'free_crypt_cipher_context' follows non-static declarationbb08b5
Using unsigned integer799019
Improved precision of theprofile
function even moreb171da
Improved precision of theprofile
function73c731
mbedtls/common.h
file is only for private usef4e8e6
Missing free call for ARIA cipher context95f974
Provide title and type for the QOI codec710e66
echo
does not error on bad path5bbac3
trim
onblock!
removing nones only from head and tail,trim/all
everywhere6e0d26
trim
onbinary!
should deal with NULL char instead of white-spaces like onstring!
13da59
Make sure that error message always starts on a new linec41c33
'for' loop initial declarationsa8fbea
'for' loop initial declarations9ed043
Explicitly define all platform names (useful in the bootstrap phase)c6ea2e
Conflicting typesecd379
Updated banner to year 2022 + includingsystem/product
info346412
Failing Base and Core buildse7f2b6
Crash while using parse with non-utf-8 data from file989235
Macro redefinitiona84d39
Incorrect codepage id forCP819
aliasIBM819
codepage name1fdda5
iconv
on FreeBSD does not acceptCP12000
forUTF-32LE
codepage0c62ea
iconv
not acceptingutf8
codepage on BSD systems5a8c6e
Make sure thatsetenv
is used on FreeBSDa53862
Executable path not resolved correctly on OpenBSD and FreeBSD platforms734eda
Occasional HTTPS read fails when server used ECDHE_ECDSA key method06425a
Occasional HTTPS read fails when server used ECDHE_ECDSA key method
c474d0
Updated optionalqoi
(Quite OK Image) codecb26f9b
COLLECT-WORDS /as type [datatype!]
option3d83ca
Errors and debug messages printed to stderr95d535
Added possibility to change console output fromstdout
tostderr
(windows)9c4036
Added possibility to change console output fromstdout
tostderr
(posix)53b04b
Newlcm
native for resolving the least common multiple of two integers12794b
Newgcd
native for resolving the greatest common divisor of two integersf64cd3
Partialcrush
decompressionb7fb49
Optional custom LZ77-based compression algorithm (crush
)3a3076
Bincode - added padding commandPAD
fa46cb
BinCode - added commands:F16LE
,F16BE
,F32LE
,F32BE
,F64LE
andF64BE
15de62
QOI codec (The "Quite OK Image" format for fast, lossless image compression)cc1025
Added example how to prevent hacking attempts to the http test serverb4789f
Added example how to serverhumans.txt
data from the test server
061773
Havesystem/ports/output
to be same assystem/ports/input
(instead ofnone
)3139f4
Keep/
at the head of the HTTP request target (httpd
module)
c99eb2
Better fix of JSON's non-valid-word keys (https://github.com/Oldes/Rebol3/commit/82efc99dca20e8d5b938ea51569cb7c208031b20)dcdb67
Correct tuple length struct name015441
Pass all 12 tuple bytes in the extension argument including info about tuple's sizeea3e47
Warning: VA_ARGS can only appear in the expansion of a C99 variadic macrocf9b34
split-path
was returningnone
for these paths:%/
,%./
and%../
82efc9
Don't fail when decoding "+1" key fromJSON
data68679a
read/lines
andread/string
onsystem/ports/input
not working50caf1
Returning same status code across all systems993380
Command line consumes first argument when --script is used84090f
Resolved possible buffer overrun warning738476
Using system output to print version info03a4b6
Make project compile able with Xcode v13.2d0aa12
Accidentally removed--do
option storage done in https://github.com/Oldes/Rebol3/commit/ca7c0256d23f159dcebfa25146b4288efbe00cbaca7c02
Interpreter too eagerly consuming command-line arguments & arguments containing whitespace7f1343
Evaluate--do
boot argument6588c3
switch
withref!
value typed744ce
Memory corruption when usedcrush
compressionc33ff2
Force garbage collection before measuringdelta-profile
stats34e0e2
Missing change for: https://github.com/Oldes/Rebol3/commit/15de62ce49cb6ead3478aa3062cc34e2eb1893dfa09ee2
httpd
module: don't keep opened connection if client (like Rebol2) don't want it
5fa5b8
Updated ZIP codec- Access to comment and extra field of uncompressed data
- Added support to include file comments, extras or insternal and external attributes
- Added support to include uncompressed data (useful when making APK targeting version 30 and above)
b49781
Possibility to resolve context handle's type27ab5a
Make context type handles comparablee837a8
Allowinsert
onobject!
cfe7e2
Allowselect
onmodule
5ae487
Register.deb
file extension fithAR
codec3a5f9e
Including last git commit version in thesystem/build/git
and full version info when used-v
boot argument4b321e
Extended maximum number of tuple values to 126f451f
Tweaked doc-string ofclear
actionab5ae7
Improved doc-string forat
andatz
actions
f9fe06
Including some of modules as a delayed (required toimport
them before use)9458d4
Modified single-line doc string for modules in thehelp
outputd4e947
Storingsystem/modules
as anobject!
; added support to include delayed modules04c71d
More detailed info about used compilation target; new build output names; rewritten build specification to be better prepared for a future cross-compilation possibility.
5f9695
Enhanced precision in comparison of time with integerb1a65b
Usingcall/shell
in thelaunch
functiona14d3a
Use user context filtering only for pattern matches and withstrict-equal?
74d0c3
There must beget-word!
used in case that value is a functione26d3d
Include user context values in thehelp
output067fee
Length-specified script embeddingef13db
Improved resolving console width for help output trunctation43886c
Improved resolving console width for help output trunctation7a4a44
Improved resolving console width for help output trunctationa96c89
Improved resolving console width for help output trunctationcd1afe
Improved resolving console width for help output trunctatione3520a
Opening a library (extension import) requires absolute path2b7b6c
Use default terminal width 80 chars when not resolved from system (CI)
60cc1f
Simplified resolving of the path to the executable (as it is now resolved in C usingOS_Get_Boot_Path
)180dc3
Linux version ofOS_Get_Boot_Path
function39693b
MacOS version ofOS_Get_Boot_Path
function11b46d
Windows version ofOS_Get_Boot_Path
functiond99656
Win32 variant ofto-real-file
native31e7c2
Newto-real-file
native (posix version) for resolving canonicalized filenames (removing..
and.
path components, simplification of sequences of multiple slashes, removal of trailing slashes, and the resolution of symbolic links).e108cf
Optionally truncate output ofprobe
function2ee6c0
Improvedar
codec to be able decode also System V (or GNU) variant filesaaa70e
Minimalistic Unix Archive File (AR) decoderfb0daa
NewATz
action returning the seriest at 0-based position (index)101284
Newindexz?
action returning 0-based position (index) of the series7d3a04
PICKZ and POKEZ functions for 0-based indexing877514
Don't allowclear
on not opened port, allowsize?
on port
5d1a4c
New wording forrepend/only
function doc string2cd3c8
Rewrittencompress
anddecompress
so it's now compatible with the recent Red language. Now it also correctly handles output buffer expansion. It does not store the uncompress length at the tail of compressed data anymore!fb0daa
at
action on image with pair position was 0-based, now is 1-basedc8a593
Replaced internalboot-print
andloud-print
functions with system log calls117e16
Limit output ofhelp
to single line if used with some value typesc5c3b4
Made colors in console's prompt and result optionale4b1a8
Fine-tune decimal non-strict comparison (to cover also percent datatype)
502382
Generated RL defines were not counting with possibility of variadic arguments (like in RL_PRINT)cd463f
Make sure that TO_OSX define is used even for 64bit builds5fcb00
Using the newcompress
in build scripts720514
Wrong member name whenRAW_MAIN_ARGS
define is used180264
Don't treat zero value inmold/part
as unlimited outputaaed74
Removed debug trace811bb3
Missing log traces in boot sequence14a003
Resolve correct canonized absolute path to main process executable4c6e88
Non-void function does not return a value226461
Convert TAB in the terminal input to 4 spaces (posix)2ac8c1
Update file info after clearing file-port (posix)f1395c
Update index afterwrite
into a file-portc6276d
Making sure that image codecs extensions are included after image codecs22de60
WRITE on file-port does not update file size (posix fix)4127a7
Non-void function does not return a value
dedf26
Allow making op! from action!d797a9
Supportto date! integer!
andto integer! date!
using unixtime as an integer value10a5b4
Implemented copy of nested maps14bc42
PDF encoder input validationcb0521
Initial implementation of the PDF codec770a06
Make PNG filter's native functions optionale0d567
PNG's pre-compression filter algorithms exposed asfilter
andunfilter
natives2947e8
Print a human friendly list of available codecs onhelp codecs
f27939
Define codec's types53167c
Optimize powerof2 memory allocatione5868f
Made parse'sahead
being a synonym forand
for better compatibility with Red19974e
MacOS support for DirectDraw Surfacedds
encoding/decoding5bf90d
codecs/dds/size?
function for resolving dds image size without need of decoding64734d
codecs/bmp/size?
function for resolving bmp image size without need of decoding1d3e2c
codecs/gif/size?
function for resolving gif image size without need of decoding
093728
Appending aword
into anobject
sets its value tounset
instead ofnone
8bf1f2
Allowcopy error!
9ce9d9
Use plaintext
codec for.cgi
files131090
Merged macOS and Windows OS codecs registrations62d8db
Using Gregg Irwin'ssplit
updates
c8198a
Invalid byte-size of protected vector! datad40897
Handle loading 24bit WAV files + minor wav codec fixesb6c9a3
Unexpected slowdown when processing deep recursive loopsad2819
resolve/all
bypassingprotect/hide
552ec9
Faileddecompress
when input data was not at head85de1d
Corrected code forcopy map!
9d225e
Resolved signed/unsigned mismatch warningab3288
Handle text encoded stream data5c7f72
Regression inalter
function7d936d
Silenced non-prototype definition warningsc52c47
Silenced possibly uninitialized variables warnings244c5b
Silenced non-prototype definition warningsde3d53
Silenced possibly uninitialized variables warnings515149
Removed unused variables8857d4
Silenced lower precedence warningf10ea4
Silenced discarding qualifiers warning431bb3
Silenced type specifier missing warningb83216
Silenced macro redefined warningscfb060
Silenced incompatible pointer types passing warning218e5c
Silenced discarding qualifiers warninge97679
Silenced incompatible function pointer warningf46546
Silenced incompatible pointer warningscf86e5
Recognize also older GIF87a version
7591f4
Allow FIND binary! char!547f35
Optimizedparse
when checkingref!
andtag!
datatypes384602
codecs/jpeg/size?
function for resolving jpeg image size without need of decodingb35117
MacOS basic clipboard port implementationdbe8aa
MacOS image codecs cleanup and added support forhaif
encoding/decoding894708
Using native system image codecs on macOS
db5ebf
FIND bitset! block!
is looking for ALL of the values in the block by default807740
Makefind/match
not imply/tail
458f59
Makingfind
case-insensitive by default on BITSET when used with a CHAR9817d0
FIND string! tag! misses < and >9e0f24
Makestruct!
result visible in console6f9f15
Resolved some of the unused variable warnings1a3606
Some of xcode warnings9f0b07
Resolved some of possibly uninitialized variables warnings95016d
Missing native jpeg codec on posix platforms
515c16
Conversion ofstruct!
tobinary!
319531
Add support forword!
struct fields476327
Including Atronix's source ofstruct!
datatype implementationaf7772
Better deal with stack size definition while compilationf1b74c
Store last console result insystem/state/last-result
4fab4c
REFLECT module! 'title
could return the module header title
e564c5
Using!
at the end of struct value type specification0248e8
Revisited vector construction syntax types Now accepting for examplei16!
anduint16!
instead of previoussi16!
andui16!
.2cc8c7
Disable support for Rebol values in struct
72d0d2
Don't allow code evaluation inside struct construction specificationd135f0
Removed debug traces49481f
Allow pool size to be larger than series total length inevoke
memory check6901c1
Validate missing struct initialization field value1fb779
Possible use of uninitialized variablefb6624
Crash when usingdo
on a function which returns itselfd1ff72
Crash when usingcontext?
on function's local word outside of its function
-
c75649
Newblur
native function for fast Gaussian blur of images Based on Ivan Kuckir's Fastest Gaussian blur implementation algorithm from article: http://blog.ivank.net/fastest-gaussian-blur.htmlUsage example:
image: load %some-image.jpg blur image 15 ;@@ image is modified! save %blured-image.png image
-
77426b
Munge code updated using the new built-in ZIP encoder -
52b269
AddedZIP
encoder -
13d7c9
Munge (quickly modified to be runnable from Oldes' R3 derivative)
9c5892
RL_Register_Handle
from extension returns word's symbol id99a5c2
Swappedcrc
anddata
values in ZIP decoder's result
99b5db
Pass handle flags from external (extension) argument to the internal (host) valuecf1a20
Crash when using special handle's object (HOB)a03a3b
Munge - a little bit more optimizations7d8c10
Munge - make working loading excel sheet even in case when there is no info about number of columnsda902d
Munge -sheets?
function was not working73b7f3
Munge - replaced ZIP unarchive code with R3's ZIP codec
a2bcfe
Allow conversion fromobject!
tomap!
933514
Reimplementedmod
andmodulo
in C,//
is nowop!
formodulo
and%
is nowop!
forremainder
72a7b9
Allow makingop!
fromfunction!
c9aa62
Allow slash words30b179
Added simple test extension + handlingRXR_BAD_ARGS
value from extension command call
6dad57
Don't protectsystem/dialects
as it's not used anywaybc48fe
Allow direct comparison oftime!
withnumber!
typesc31151
Rename MAXIMUM-OF and MINIMUM-OF to FIND-MAX and FIND-MINc72b15
Better sorting of specific runtime extension module values
e868db
Not truncating random time to seconds only512505
Import of native extension (library) on Windows
69cd34
In cloud builds it's not possible to resolve console width1075e8
Not changing default definition ofbinary-base
fromprebol
module6384bc
Typo in ico's identify functiona7adc4
%
is not an empty path anymore4167ab
Allow various variants of arrow-like words (fixed CC warning)19f86b
Make sure that console's input buffer is not growing over 2GBcefbc9
Allow various variants of arrow-like words4b2eda
Allow comparison ofchar!
withinteger!
e9b0bb
debase
acceptingany-string!
for it's value5ed41d
Allow creation ofpath!
from any value46e3a2
Extended PNG codec withchunks
functiona5ba0f
Added a simple codec for decoding/encoding ICO filesfd67a5
Added a simple codec for decoding/encoding ICO files3f45b9
Updatedprebol
(Rebol Preprocessor) to be a real module working with current Rebol22a6d0
Added possibility not to process default application arguments on boot
aece05
Have%
to be a valid word and not an empty file1e71aa
Removed ANSI related functions from colors mezzanine file
277ab5
Parse rule fails when input is modified and so does not advanceea3aab
Crash on boot on Windows7 (regression since 3.4.0)452893
Crash on boot on Windows7 (regression since 3.4.0)d83cf1
HTTP redirection does not handle correctly locations with url-encoded content
552e2c
Parse string! using any-string!9249a3
Exporting new library functions for registering, creation and releasing handles (so these may be also used from external native modules.c990e8
Simple TCP port scanner (module)b6cbac
Do some minimal extension's module protection4d44e9
When $SHELL is not set on POSIX OS,/bin/sh
is used as a default
bbf89c
DELETE
returningfalse
if called on not existing file or directory6809c8
Registered new system ID 0.4.46 as a 64bit Linux usingmusl
compiler (musl.libc.org)d352af
Renamed module's local context fromlocal-lib
tolib-local
500d3d
Force UTF-8 console output code page on Windowsf09840
Using NOT_FOUND instead of 0 in handle's registration
a2b1a4
UpdatingPWD
system environment variable after each directory change9b5723
Resolved crash in lower level (debugging) value formatter1864b6
Better results fromchange-dir
function (on error and also on success).a90ee0
Crash when re-opening listening port multiple times98d66e
Using at least one image in the ICO file as a PNG encoded in RGBA32 format82f0ae
Updated banners lookbe2463
Memory leak inlist-env
functiond1e316
to word!
accepting delimiters in the input stringa81b86
to word!
accepting delimiters in the input string
-
102488
POSIX wildcard support inread
'sfile
argument -
b83660
Replaceddir?
mezzanine as anative!
with optional/check
refinement -
0f71dd
Macro for getting c-string from a symbol -
65ac08
Register*.key
suffix for SSH keys -
15eaec
Allow to decode*.crt
files stored inPKIX
format -
88086a
Preliminary support for system managed handles -
2cd73c
break/return
now has priority over regular return value fromremove-each
-
355df8
Supportmap!
inremove-each
-
1ab00e
Improved dealing with automatically collected natives from C sources -
775155
Replacing old checksum code with implementations from the Mbed TLS library (including optionally also SHA224, MD4 and RIPE-MD-160 checksums) -
40ddbf
Introducing user defined config file for compile optionsUsing INCLUDE_* instead of USE_* definition names for optional parts
-
0f4d26
REMOVE-EACH
returns the modified series at the argument position as in Rebol2Added a
REMOVE-EACH/count
refinement, which togglesREMOVE-EACH
to returning the removal count. -
8f30a4
MakingCHECKSUM
more compatible with Red language- removed
/method
; now method is always used as second argument - removed
/tcp
; now accessible as:checksum data 'tcp
- removed
/secure
; now accessible as:checksum data 'sha1
(sha1
is not considered as too secure anyway these days) - removed
/hash
; now accessible as:checksum/with value 'hash 256
- renamed
/key
to/with
; givenspec
is used as a key for HMAC and or size of hash table
Available checksum methods are now listed in:
system/catalog/checksums
Note: checksum port does not support these methods: adler32, crc24, crc32 and tcp
- removed
5060ce
HTTPD: allow target to be a none in decode-target040c9c
POSIX:query
not handling correctly file names with non ASCII chars2d5a75
Not possible to read url after failed lookup on posix676405
Disposing all handles on exit (so Valgrind doesn't report errors)e29986
Invalid handle's spec offset681851
Updated build scripts to be compatible with the recentCHECKSUM
change516dfe
reword
expecting that maps cannot acceptnone
valuesb7118b
foreach
not seeingnone
values inmap!
98b806
Update MIDI device code to use the new option's configuration9723d4
Add missing library dependency forrequest-dir
function on Windows61ab30
Avoiding compiler warningsa96958
Resolved redefinition warning
379072
Unified line breaks when converting map to block33e013
Implementedrequest-dir
on Windowsd5efc5
Revisiteddelete-dir
function6fc873
wildcard
function - returns block of absolute path files filtered using * and ? wildcards.7b1ec8
Allowed to makeblock!
usingpair!
52a67d
Allow line-comments inside binary value specification.9ca83b
Extended system'slog
function with/error
refinementb42fc9
Allownone
as amap!
value, implementremove/key
-
0688a1
Have EXISTS? return the type field or none instead of true/false -
b71d81
Allowunset none
to be a no-op instead of throwing an error -
0c7beb
Replacebind?
andbound?
withcontext?
-
b19a10
SimplifyTO BLOCK!
and complex construct viaMAKE BLOCK!
This is major change which may break some things (in a few places there may be need to replace
to block!
withmake block!
), but it's good to do it now.See the included unit tests for currently expected results!
-
d07af9
Don't allowto
conversion fromlogic!
tointeger!
,money!
andpercent!
-
54493f
Evaluatinguser.reb
file if found in user's home directory.Home directory (
system/options/home
) can be set by using one ofREBOL_HOME
,USERPROFILE
orHOME
environmental variables (preference in this order). If none of these is defined, as home is used same directory as directory with used executable.
87c5fe
MOLD NEW-LINE? behavior indents too much in BLOCK!sd2583a
Temporary fix for failed read of some HTTPS sites167eac
request-dir
not compiled on 32bit Windows70855c
Including D2D related filesdbcb3d
Removed memory dispose pool related debug traces851e2f
Make old build script compatible with recent changes68beea
Extra tokens at end of #endif directive2052b2
Movewildcard
frombase
tomezz
+ test761b44
Comparison of blocks where one is past tail (missing file)85e592
Comparison of blocks where one is past tailcedd82
Report full failed expression whenassert
failsc167c2
Don't allow making amodule!
frominteger!
andmap!
10932d
Possible fix of Valgrind'sSource and destination overlap in memcpy
error.dba14b
TO PAIR! causes an error with a "long" string577b45
PARSE's INSERT used after a seek puts data at the position before the seek1752e3
Don't use ANSI color sequence in formed error
030915
Add possibility to set date's/utc
and/yearday
c49f86
Setlocal-lib
to refer to the local import library52ee40
Addedsupplement
mezzanine function which appends a value into a block if not yet present2aa6c6
Allow direct conversion from tag! to word! (if it has valid chars)08bded
Way to combine DATE! and TIME! without a variable77a412
ExtendPNG
codec withsize?
function (returning image size of the binary)5455ee
Includingas-colors
module with functions, which decorates any value with bright ANSI color sequencesfd1790
BinCode - match binary!
6ba777
Removed mention of boot inboot-print
andloud-print
doc-strings (these can be use also after boot)a253f5
A plain, explicit QUIT from nested scripts returning UNSET! instead of 0a6a07f
Updated Windows' icon file42ef0d
Updated banner andlicense
output
04d633
Removing leaked traces in posix version112c08
RSA related memory leak in TLS protocolf6e480
Typo in PNG codec extension codec7ffb5
Don't allow specificlit-word!
andget-word!
cases173968
Reset ANSI color aftersecure
help outputf7e8e8
PROTECT and UNPROTECT bitset!7c409f
Conversion of bitset to binary does not count with complement bitset stateced591
Open does not reset the internal file pointer of a previously closed file port145ac8
Cause an error in PARSE for invalid args to TO
-
159b82
Bincode - added zero-basedATz
andINDEXz
commands -
08aa99
Support for read/part (using Range request with read/part/binary) -
c5e33f
sqrt
native which accepts only decimals -
b44fca
Use defaultkey
event type when doing:make event! [key: #"A"]
-
b53caf
find/same
andselect/same
-
c563d4
Optionally write any (molded) value into clipboard (by default disabled) -
5f28c9
Improveimport/version
error message in case when module has no namebefore:
>> import/version module [version: 1.0.0][a: 1] 2.0.0 ** syntax error: this script needs none 2.0.0 or better to run correctly
now:
** syntax error: this script needs version 2.0.0 or better to run correctly
-
57384f
Improve shortened banner -
eabe4a
Take a percentage of a time! value
bdaca6
Crash when loading specially crafted binary6121a8
SAVE with /header truec1594e
UNIQUE/DIFFERENCE/INTERSECT/UNION/EXCLUDE do not accept some data types85fb9b
Shortening ANSI escape code used in error messages8b2669
Throw error when trying to make invalid errors0e9d14
Fix of redirection broken in recent HTTP scheme changes3b5f3b
Added os version into short banner and not using commit if not present any3acbfd
Not using the new map syntax because old prebuild versions does not handle it yet1355fd
log-*
functions should not returnpositive number required
errors216443
square-root -1
should return1.#NaN
instead of an error6129ec
find/same
andselect/same
working withany-word!
3c006a
Potentially SPA-vulnerabilityceed8d
Fix static annotation for uECC_valid_point81e9e0
Quit after using--help
startup optionb440b3
write/lines
regressionfcc4fa
date!
is not listed as ascalar!
value
e82b70
? /refinement
should list function refinements
688ecc
Handle use ofcd ..
in console properly289829
?
allows functions with nonsensical refinements, which can be misleadinga2b61a
Limit search only to refinements!
07fbf2
Simplepremultiply
function which premultiplies image's RGB channel with its ALPHA
0bb90c
POKE
intovector!
does not throw out of range errorede6fd
premultiply
should affect all pixels of the input image (even when input is not at head)
-
260f59
ImplementSORT/COMPARE
onany-string!
values -
aedd6b
Implemented shutdown sequence to release allocated memory on exitThat is useful with tools like Valgrind to find possible memory leaks)
-
2854c4
Tiny code optimization -
c4162f
ModifiedENHEX
again.- the
/url
refine was removed as I decided, that it should not be part of this encoding (ECMA-262 specification does not do it either) - added
/except unescaped [bitset!]
to be able specify, which chars must be encoded and which can be leave without encoding - added some predefined bitsets into new
system/catalog/bitsets
(will use them later in other places) - modified HTTP scheme to coop with these modifications
- the
-
a63bfc
MakingENHEX
compatible withencodeURIComponent
, adding/url
refine and possibility to change escape character -
88cd91
AnyTRY
call resetssystem/state/last-error
tonone
-
83cd93
Added experimental Spotify module for access to Spotify's Web API using OAuth2 authorization mechanism -
755e8e
HTTPD - Added possibility to stop server and return data from client (useful for OAuth2)
3b9afc
Removefound?
mezzanined92049
Replacing somecontext
usage withconstruct
orobject
12454f
Renameprotect/permanently
toprotect/lock
(wip)59576c
Renamed httpd module to have .reb extension and small improvements in its test file
8d2458
Force use ofsetenv
function instead ofputenv
on Posix targets5a3cbe
LOAD
Unicode encoded text with BOM28b47d
Add support foriconv
UTF-32
conversion on Windows7c030c
Crash when composing large block6191f4
Allow getting empty environmental string on Posix platforms30feb0
Sorting Unicode string not working correctly on Posix0465a5
Use case insensitivity when sorting a string by defaulte84c99
Handle incomplete utf-8 sequences at tail8bd6d0
Use case insensitivity on word comparison by default2269b5
Better error message when using bad image constructiond0073c
Throw an error on excess values in any-string construction syntax2babc5
Throw error on invalid image! construction syntaxcb7cf1
Not freeing ROOT_BOOT if it is already NONE.. adding some memory related tracesb687c2
Fine tune exit sequence to be nice with-v
argument (early exit)7b39aa
Improvedelta-profile
to use computed adjustments31f922
Normalizesystem/options/boot
so the path is always absolute359ca0
Resolving some Unicode related compiler's warningsb2fb60
Valgrind's warning: Use of uninitialised valueed20ac
Modifycd
to acceptcd /
196256
Minor code improvements in Spotify module7525f8
Make UNSET of unbound words cause error vs. fail silentlyc5b3de
decode-url http://host?query
7291eb
print
of objects truncating strings16bebe
Spotify test file cleanupf68e85
DO script with error should throw the error and not just pass it as a result2b1449
ICONV
fromUTF16
must ignore BOM64553a
Small fix in HTTP scheme error reporting
-
a7d02d
Loading .txt files with unicode encodings Text files (.txt) are now loaded just as a string and not as a Rebol code. Unicode decoding is handled correctly if specified in BOM. Files (.txt) are always saved as UTF-8. -
afebd2
Added a newref!
datatype like:@username
-
36fee1
Added support for missing UTF-32 encoded binary to string conversion -
499a93
Added support for decimap pick onpair!
andany-string!
-
b6ea7f
Addenbase/part
anddebase/part
-
b78129
mold/part
to limit the length of the result -
217fce
Optionally executeuser.r3
file in user's home directory on startup and removing temporary help functions which now may be defined in user's file. -
962382
Addedppk
(PuTTY Private Key) codec (so far only RSA keys) -
4c07b7
Addedssh-key
(Secure Shell Key) codec (so far only RSA keys) -
90ecb3
Added missingUI32BYTES
andUI32LEBYTES
bincode read commands -
df2c2a
Implemented properask/hide
andinput/hide
That was not working well on Windows (with enabled virtual terminal processing), now it successfully hides user input.
As a bonus this change contain a way how to turn off read-line console input and enter use the console as a key-stroke (and mouse as well) input. Simple use example is available here: https://gist.github.com/Oldes/face8a5790df7121a78ba606a3e150f4
-
c8799b
Using Bjoern Hoehrmann's UTF-8 decoderhttp://bjoern.hoehrmann.de/utf-8/decoder/dfa/ It is shorter and faster.
-
6416be
Migrate extensions: *.r => *.reb & *.rx => *.rebxThis change was proposed years ago by @onetom in rebol#140 and I agree, that the
.r
extension is lost in this century and so lets start with the new one. I'm personally still preferring.r3
for run-able scripts which requires Rebol3. -
1e1dfa
Renamesplit/into
tosplit/skip
-
214790
Setupsystem/options/home
to default user's system home location or to one defined inREBOL_HOME
environment variableFor example to define custom location one can use on Windows:
set REBOL_HOME=C:\Rebol\
or on Linux:
export REBOL_HOME=~/Rebol/
-
2b2352
Allow private RSA exponents optional (may be computed and are not in PPK files) -
3d1436
Using lowercase in codec names (it looks better) -
db5b44
Replacedmezz-crypt
module withpkix
andutc-time
codecs -
4d8866
Usingappend
instead ofinsert tail
when saving data to binary
6f8324
Avoid making a new bitset! on eachsuffix?
call2d1a66
exists %/
must returntrue
and notnone
4774ea
Better fix of reading list of logical drives on Windowsea39f8
Update travis file and remove unrelated mezzanine file5e32c5
deline/lines
andread/lines
misinterprets UTF-8 character as newlinee7e72b
Missing file withmold/part
native specification3f4b93
Wrong macro in host calls (failed standalone library compilation)1317e1
Path expression with path! does not work with all supported key types652045
Usingdeline
to normalize CRLF to LF when reading text HTML content6238d2
Allow incomplete tag in DER codec (because it looks it can happen)9f6b34
Allow tomake bitset!
frombitset!
e5442e
Fixed special case ofpick bitset! integer!
cb5867
Using rejoin instead of reduce for compatibility with newer R3 versions (write %f [..])f09962
ENLINE does not convert line endings to native OS format (Posix)70c51b
Crash inenline
-
55a8f9
Enable rawmap!
andbinary!
data in HTTP scheme'swrite
actionUsing this:
write http://localhost:8081/result/ #{0102} write http://localhost:8081/result/ #(a: 1)
is now same like:
write http://localhost:8081/result/ [POST #(Content-Type: "application/octet-stream") #{0102}] write http://localhost:8081/result/ [POST #(Content-Type: "application/json; charset=utf-8") #(a: 1)]
-
01284d
Ported Nenad's MySQL driver to be compatible with this Rebol3 version as a module/schemeIt's just a quick rewrite, which replaces original
debug
function in the protocol with system logging and some of required modifications. There is also minnor change in error reporting. It would deserve better rewrite, but I don't have much need for this, so it's left for future or someone else.It was tested only with this so far:
>> mysql: connect-sql mysql://root:rur@localhost/ [MySQL] Connected: mysql://root@localhost:3306/ >> send-sql mysql "show databases" == [["information_schema"] ["mysql"] ["performance_schema"] ["sys"] ["test"]] >> send-sql mysql "create database test" ** mysql error: [ 1007 ] "Can't create database 'test'; database exists" >> send-sql mysql "drop database test" == [] >> send-sql/flat mysql "show databases" == ["information_schema" "mysql" "performance_schema" "sys"] >> close mysql [MySQL] Closed: mysql://root@localhost:3306/ >>
-
46810b
Allow protocols to be modules accessible from user context, if exports some functions -
f367ee
It's again possible toread dns://
to resolve a hostname>> read dns:// == "Oldes-Aero"
It also fixes a bug introduce in rebol#66, that resolving domain name from ip was not possible at all. Now it's again working properly:
>> read dns://rebol.com == 162.216.18.225 >> read dns://162.216.18.225 == "rebol.com"
-
61596e
HTML-entities
decoderFor decoding HTML entities into text:
>> decode 'html-entities {Test: ♠ & ¢ <a> and Δδ ¾} == "Test: ♠ & ¢ <a> and Δδ ¾"
-
640f91
Including R2's version of thebuild-tag
function(but not enabled by default in boot-files)
-
09d560
Addedpad
mezzanine function -
3f08fa
Updated HTTPD scheme with directory listing, logging and multipart POST processing -
ae88f0
EnhancedDEHEX
with/escape
refinement for changing the escape characterCan be used as:
>> dehex/escape "a#20b" #"#" == "a b"
-
f4a1fc
Newresize
native function for resizing images (without any external dependency)The code was ported from GraphicsMagick (www.graphicsmagick.org).
Basic usage example:
original-image: load %some-image.jpg resized-image-1: resize original-image 25% resized-image-2: resize original-image 100x200 ;- resized to exact size resized-image-3: resize original-image 100 ;- resized to width 100 (height is computed) resized-image-4: resize original-image 0x200 ;- resized to height 200 (width is computed)
By default,
Lanczos
resize filter is used. It is possible to use one of filters, which are listed insystem/catalog/filters
:Here is example how to resize the original using width 250 with all filters. Results are saved as PNG files:
foreach filter system/catalog/filters [ save join %image- [filter %.png] resize/filter original-image 250 filter ]
-
8b0e6a
Usingsystem/platform
just as aword!
Before:
>> system/platform == [Windows win32-x64]
Now:
>> system/platform == Windows >> system/build/os == win32-x64
Reason is, that in most cases only the
platform
name is needed so one had to use for exampleswitch system/platform/1 [...]
, which was a little bit cryptic. It is now also compatible with Red language. -
a55673
Moved AS_DECIMAL defineused to receive decimal value, when argument may be decimal or integer
7ee3e3
Not usingsystem/platform
forzero-index?
functionality9f2548
Improved error handling in HTTPd (catches invalid requests)3d068a
TRY/except
should store thelast-error
c4c374
Resolve incompatible pointer type compilation warning on posix targets inbrowse
native function447525
Optimized (and fixed regression) when appending char on stringb26700
Make sure that Linux ARM build is not trying to use not implemented MIDI device149aeb
Minor modifications ofMySQL
protocol error messages.3360da
WRITE should use MOLD instead of FORM when writing an object into a file0bb9d9
ICONV
fromUTF16
with BOM does not skip the BOM on Windows0020ec
Makecase [true []]
returnunset!
eaeb6c
Using typeset should not found datatype value inside a block853cd8
Optimization of CHANGE/INSERT/APPEND integer! or char!47d904
DELTA-PROFILE
includes profiler overhead625044
Insert/append/change binary! string!07d4e3
Small code refactoring of thehttpd
schemeb75a0e
Removed debug traces in HTTPD scheme95b454
Include USE_IMAGE_NATIVES define in VS buildb415fe
Catch possible evaluation errors inin-dir
call26b19a
Catchbase code
even when comment is at file's head
-
d4a138
New PROTECTED? functionWhich take all of the same argument types as PROTECT, and return TRUE if that immediate argument is protected from modification.
-
dd2ec1
Added newdir-tree
function which prints a directory treeThis function is based on Toomas Vooglaid's
%dir-tree.red
script, which is available here: https://gist.github.com/toomasv/f2bcf320800ca340379457c1c4036338It was modified for use in Rebol3 and improved to support user's callback for more advanced formating of values.
-
ba200f
Including GIT info insystem/build
Before this commit,
system/build
was returning just a date, when the executable was compiled. Now it is an object, with keysdate
andgit
. If the executable is compiled from a valid git repository,git
contains another object with info about actualrepository
,branch
,commit
and it'smessage
.With this info it will be easier to localize possible regressions against older executables.
-
0b3531
Added simplemobileprovision
codec,which can be used to load Apple's mobile provisioning files as a string for examination (without need to use Apple's tools).
>> print load %some.mobileprovision <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>AppIDName</key> <string>My App</string> <key>ApplicationIdentifierPrefix</key> <array> …
-
2e41df
Added a few more names into OID decoder and using more optimal chars instead of single byte binaries -
ad49c4
RegisteredcertSigningRequest
file extension with PKIX decoder -
1dca01
Added BBCode decoder for converting BBCode markup language into HTMLFor more info about BBCode you can visit: https://en.wikipedia.org/wiki/BBCode
-
628e6b
Added support forfind
onmap!
This feature was introduced in Red language so it is good to be compatible. Example:
>> find #("a" 1 "b" "c") "A" == "a" >> find #("a" 1 "b" "c") 1 == none >> find/case #("a" 1 "b" "c") "A" == none
-
a74222
Added support forzero?
on bitsets.zero?
return TRUE if no bits are set in a bitset!>> zero? make bitset! #{0000} == true >> zero? make bitset! #{1000} == false
-
fa8fc6
New nativecomplement?
Returns TRUE if the bitset is complemented. Like:
>> complement? make bitset! [not] == true >> complement? make bitset! [] == false >> complement? complement charset "abc" == true
-
5d5bf7
Implementedquery
on date valuesSo one can query multiple date parts with one call, for example:
>> query/mode now [year day month time timezone] == [2020 8 4 12:24:54 2:00]
If set words are used, the result is like:
>> query/mode now [year: month:] == [ year: 2020 month: 4 ]
Simple
query now
would return object with all possible fields. -
ae61eb
Implemented basic user-defined OP!I'm not much fan of ops, but now it's possible to do code like:
>> .: make op! [[a b][ join a b ]] >> "a"."b".(random 10) == "ab1"
Current limitation is, that there is no runtime check of first argument's type!
-
1e55b6
UNPROTECT/words object! -
309280
PROTECT/words supported for an object! valuePROTECT object! now protects the object and its words, but not their values.
PRODUCT/deep object! protects the object, its words, and their values.
PROTECT/words object! only protects the words of the object!, but not the object itself or the values of the words.
PROTECT/words/deep object! also protects any values assigned to the words, but still not protects the object itself.
e128de
Crash when used protect/words/deep with block of values which are not seriesf5df78
TAKE/DEEP does not copies series values within the block567f53
TAKE/part on any-block! must return same type like the source iscabe48
Small changes in indentation fromdir-tree
andlist-dir
cc96b3
Rewrittenlist-dir
to use recentdir-tree
function.e7e8c6
Updating system banner2c6ac1
Get-git function used to collect information about current commit during compilation6e8233
Using old syntax for making a map (for compatibility with older prebuild executables)04cf27
Revisited XML codec to better handle more "XML prolog" versions (including 2 tests)f66954
Fixed typos in the percent unit testsc9dc63
Allowing H6 tag in BBCode decoder665141
Updatedput
's doc-string0ffc8f
Using VAL_TYPE instead of direct type code7c2a11
Disallow subtracting date from integerbb1668
Negative /SKIP with FIND causing a hang77a86d
Bitset from empty string should have zero length3dfc00
zero?
on complemented bitsetfbdab8
Fine-tune system object protectiond28f95
Fine-tune system object protection764cbe
Protectlib/system
value.da722e
Unset alsonative
after boot.88de50
Unsetaction
native after boot.110e9e
None instead of error for an out-of-range ordinal date! selector0f4436
Re-factored date's accessors3ace82
Accessing and settings time parts of date without timecd4675
Prevent too many refinements innow
function1087f6
Throw error also when to-hex/size is using size = 0344646
Do not allow make atask!
if not compiled with INCLUDE_TASK define44b13f
Allow any value as a part of path!0ad97b
Don't allow logic as a path part when usingto-path
2f2322
Not using line breaks when molding/forming empty map!6e48d7
Sys-state.h redefinition700045
Minor Expand_Stack modification0d9dd3
Check pointer against NULL3c5e97
Make APPLY :DO [:func …] work like DO :func …4b1148
Fix: Restore Saved_State/Halt_State when a longjmp happensd2b8cd
Ensure proper path component types during refinement processingef6931
Turn off all security by default03a08b
Fix stack expansion
-
f7193a
Return FALSE instead of NONE when picking a non existing bit from a bitsetJust for compatibility with Red language. It is still possible to revert it using
PICK_BITSET_AS_NONE
define. -
c88857
Use partial system object protectionAt this stage it is not fully protecting system object, but it is a good start to see possible issues with it.. like Oldes/Rebol-issues#1348
-
127a5a
Move sys-state.h to be included by sys-core.h
-
f913b2
Enablesecure
again (although not fully implemented yet) -
414799
FORM on a binary! creating a string without the "decoration"example:
"DEADBEEF" = form #{DEADBEEF}
-
4e4759
deduplicate
mezzanine (modifyingunique
)related to: Oldes/Rebol-issues#1550
-
61b39c
Removing/base
refinement fromdebase
andenbase
functionsSo eliminating ugly
??base/base
code, for example instead of:debase/base data 16
it is now just:
debase data 16
I'm still not sure if the
base
value should not be as a first argument, but so far I will just keep it as a second one. -
305ed8
Register %.jks file extension with DER codec -
628234
Support for Ascii85 (Base85) encodingAscii85
is a form of binary-to-text encoding used for example in PDF files. One can now use 85 as abase
value indebase
andenbase
functions:>> enbase/base "Lion" 85 == "9PJE_" >> debase/base "9PJE_" 85 == #{4C696F6E} ;== "Lion" if converted back to string
This addition is optional, requires compilation with
INCLUDE_BASE85
define. -
9d5a6f
Added support for case-sensitivity ofmap!
keysWith this commit maps should be compatible with Red language, where creation is case sensitive, selection is by default case insensitive unless
/case
refinement is used. -
dbc572
WAV codec updated (vector support)Now loaded WAV sound data are as a vector instead of raw binary. WAV encoder was improved for vector data input.
Example of simple sine WAV file generator:
samples: #[si16! 10000] repeat i 10000 [ samples/:i: 16000 * (sine i * 7.2) ] save %sine.wav samples ; by default mono with 44100Hz
4911e0
Minor code change66e47d
Do not set func word to be handle!f4b30e
Fix: TRACE ON shows bizarre parse behavior3f9ac4
Better SECURE error message with incorrectly formatted input block40083e
PARSE position capture combined with SET or COPY5596b6
ENTAB strips first character from line53c991
Updating Eval_Count while processing parse's empty while blockfcd4dc
Cannot interrupt empty parse's while rule with CTRL-C2a4f79
Read/lines on clipboard does not return a block of stringsdb4537
Length? of any-word!e29b73
Replace binary! integer! integer!e60a7b
change-dir %/
not working on Windows3b529e
Minor cleanup in HTTPd script (not probing target on any request)1d0e67
Prevent crash when task with error is evaluated8a63f4
Minor cleanup in TLS protocol2dbcf3
Moved automatic decompression when reading HTML so it is not used when/binary
refinement is used (to get raw, untouched data)599e94
Enhance max decompression limit for Zlibb9723d
Better handling large number tuple multiplication10aa48
Using 64bit integer in tuple matha467d3
Include TASK! evaluation only with INCLUDE_TASK define663397
Change on image must return position just past the change082a31
Returned position after INSERT action on IMAGE must be at tail not before.e81f18
FIND on images0d9e7d
Adjusting tuple parts in images427733
Maximum uncompressed size for GZIP decompression was not large enough338a0f
Added 'type reflector to datatype!
-
7c97bd
Add single quote strings to tag! syntax -
798b06
Includedto-degrees
andto-radians
native functions -
07379a
Enableread/binary
andwrite/binary
in HTTP protocolBy default,
read
automatically tries to convert text data according give specified charset in the received header info. This may be avoided using/binary
refinement. -
b755c7
Allowing@name
to be a valid email! typeFor a compatibility with Red language and also because it may be useful in dialects. Although
@name
is not a valid real email according RFC, one can construct invalid email values in many ways and so in real use for email apps, there should be a real additional email validation anyway. -
f3dfa7
Possible auto conversion to text if found charset specification in content-type -
f45e86
Ported JSON codec from Red languageMain credits belongs to: Gabriele Santilli and Gregg Irwin. See https://github.com/giesse/red-json for more details.
-
796f30
Ported JSON codec from Red languageMain credits belongs to: Gabriele Santilli and Gregg Irwin. See https://github.com/giesse/red-json for more details.
-
d27e4b
New AS native function for series coercion into a compatible datatype without copying itExample:
>> p: as path! b: [a b] == a/b >> append b 'c == [a b c] >> p == a/b/c
-
14e4b9
Implemented MAP's own syntax (compatible with Red language)Example of a nested maps:
>> m: #(a: 1 b: #(c: 3 d: 4)) == #( a: 1 b: #( c: 3 d: 4 ) ) >> m/b/d == 4
-
a84522
New PUT action for replacing the value following a key (in blocks and maps) -
9ab1b1
Improving HELP output on datatypes.It also displays different results if used directly on datatype, like:
help char!
or when used on value, which holds datatype, like in:
my-value: char! help my-value
First one displays:
CHAR! is a datatype. It is defined as a 8bit and 16bit character. It is of the general type scalar. Found these related words: null char! #"^@" space char! #" " sp char! #" " backspace char! #"^H" bs char! #"^H" tab char! #"^-" newline char! #"^/" newpage char! #"^L" slash char! #"/" backslash char! #"\" escape char! #"^[" cr char! #"^M" lf char! #"^/"
while the second one just:
MY-VALUE is a datatype of value: char!
-
1162e7
Define a WHITESPACE charsetmentioned: http://www.rebol.net/r3decide/0008.html
Using just the most basic whitespace chars. Anyone may extended this charset if needed. This one is compatible with Red language.
89e315
Use constant macros instead of suffixc39291
Always use 32-bit integers for CRC761fba
QUERY directory size now returns NONE instead of 05a5ae7
Problem with externally modified keys of map!bb4598
PARSE modifiers do not honor PROTECT status of series242ceb
HTTP protocol - limit input data according Content-Length55d3ae
Email does not handle non ascii chars correctlybcf114
WHOIS lookup throws an error when used with IPcd42c2
Exists? on not existing URL must return FALSE instead of errorfda0e6
Make-boot.r should wrap files marked as amodule
type intoimport module
code9f6534
FOREACH works bad on image!e1b451
[TLS] Error reading elyptic curve3b413f
Remove the DO keyword from PARSEb2e59d
JSON codec - license & rights updatede892a0
Allow expressions in parens as INSERT and CHANGE value argument47f7b4
READ %/ doesn't return the list of drives on Windows5ec25a
MOLD/FLAT on MAP values does not remove line breaks5a4f0f
Code refactoring15f6ea
APPEND a word on object should set the value to NONE instead of UNSET70a331
Overprotective PROTECT for path access to mapse81fb8
Code refactoring62af92
SAME? on VECTORs return TRUE even when vectors are not identical35815c
COPY/part on VECTOR is silently ignored735454
Fix macros1d215f
CRASH when removing 32768 or more bytes from the head of series
651219
Renaming CRC_Table to CRC24_Table, so it has same naming as CRC32_Table.
-
545dd9
VECTOR compact constructionExample:
>> #[ui8! [1 2 3]] == make vector! [unsigned integer! 8 3 [1 2 3]]
-
65a068
MOLD on image usingflat
result if image is small enough (less than 10 pixels) -
09e8c4
AllowSIGNED
word as a key word in vector construction dialect as a oposite to already supportedUNSIGNED
-
68b197
Very basic WAV encoder
6ff512
Typo in a commentc8510f
MOLD/FLAT on image does not removes line breaks in the alpha channel181f5f
MOLD/FORM on zero percent value2b1f17
SWF codec - missing bit aligning in fill style arrayd076b3
Math error when multiplying negative integer with zero integer
-
661779
Releasing intermediate sources of modules and protocols after loading these on boot (to reduce memory use a little bit) -
f101d9
empty?
to accept typesetsIt was already accepting bitsets, so why not to support typesets too. Added a few
typeset!
unit tests (not complete)
6632c6
A little bit optimizedJOIN
mezzanine function (not usingrepend
mezzanine)4ecd93
Newtint
native for color mixtures
-
e74831
Added function for basic extra field data decoding into ZIP codec -
800115
Updated ZIP decoder- Refactored decoder so it is using central directory structure
- Added decode/info refinement used to resolve just the info about files without decompressing
- Added access to decompress-file function which may be used to decompress single file using info from the info records
Initial ZIP decoder was just traversing the file searching for the ZIP related structures. But some ZIP files (like created on macOS) does not provide valid informations in local headers and central header must be used, as it is with this update.
2c152b
System crash when reading any http request
-
f38d49
Possibility to count average image color using/color
For example having black&white image:
i: make image! 2x1 i/1: 0.0.0
One can count average color using:
i/color ;== 127.127.127.255
Using
/color:
will set RGB components of all pixels (ignoring alpha channel) -
4f1680
More getters/setters for image! typeCould be optimized and enhanced later. For example it would be good to add also HSV, Hue, Saturation, Lightness etc. For these it would be good not to support only
binary!
, but alsovector!
as an input/output. -
d14793
Addingcodecs
as a shortcut forsystem/codecs
andkeys-of
as an alias towords-of
Because
keys-of codecs
looks better thanwords-of system/codecs
-
6ca3c1
Added UNIXTIME codec for conversion of Rebol datetime! to Unix epoch number and backExample:
encode 'unixtime 18-Sep-2019/9:06:45+2:00 ;== 1568790405 decode 'unixtime 1568790405 ;== 18-Sep-2019/9:06:45+2:00
string! and binary! is also supported as an input/output:
encode/as 'unixtime 18-Sep-2019/9:06:45+2:00 string! ;== "5D81D785" encode/as 'unixtime 18-Sep-2019/9:06:45+2:00 binary! ;== #{5D81D785} decode 'unixtime "5D81D785" ;== 18-Sep-2019/9:06:45+2:00 decode 'unixtime #{5D81D785} ;== 18-Sep-2019/9:06:45+2:00
-
f79560
Updating Windows' prebuild R3 executableThe previous one was over year old, so it's time to update it into up-to-date version. Especially that now it by default does not enter console on error in evaluated script. (https://github.com/Oldes/Rebol3/commit/61c138334d9fd93ca5760fdf685080f285251193)
Note that it is not fully featured version to keep the executable small.
e4841c
Function source missing indentatione03b3b
MOLD/FLAT on binary values does not remove line breaks19257d
MOLD/FLAT on image values does not remove line breaks060126
Invalid MOLD on empty image425fa5
MOLD/FLAT on block values does not remove line breaks2f5b50
MOLD/FLAT on event values does not remove line breaksa6c966
EVENT! reports coordinates regardless of EVF_HAS_XYa3f69e
Fixed clang warnings in 64bit build when using debug output showing various struct sizes105772
Small cosmetic change inHELP
output7c4680
WIC WINCODEC_ERR_BADHEADER only for JPEG images43f6d4
Adding missing type_traits include for casting macros with CPP11+08dc4e
Embedded Extension Module test code included only if TEST_EXTENSIONS define is used
-
19bbfe
XML codec by default does not trim/remove strings between tags.Example:
third codecs/xml/decode {<a> <b/> </a>} ;== [["a" none [" " ["b" none none] " "]]] third codecs/xml/decode/trim {<a> <b/> </a>} ;== [["a" none [["b" none none]]]]
-
80597e
Renamed crc32_table to CRC32_Table so it has same case as similar CRC_Table
-
642086
Improving BinCode- added possibility to specify number to bytes to read directly:
binary/read #{0102} 1
- added possibility to write FILE! and URL! types
- added few missing UI*BYTES variants (also with little/big endian) - but that must be revisited later!
- added possibility to specify number to bytes to read directly:
-
1f9199
Revisited original Carl's build scripts and improving these to be able create multiple products without modifying it too much.One could spend more time in these as they were originally written to be working also with old Rebol 2 in the bootstrap phase. There is a lot of improvement possibilities, but that is not too important for now.
Main change is, that I stopped using REB_CORE define and instead use REB_VIEW when I want to build Rebol with early View functionality (not much stable/useful yet).
-
224ea4
Preliminary use of image native OS codecs on Windows (using Windows Imaging Component)If
USE_NATIVE_IMAGE_CODECS
is defined, than WIC is used instead of the original code, which supported only PNG, BMP and partially for JPEG and GIF).Using OS to do image de/encoding adds more possibilities, but so far, it still needs some work, especially for encoding, when user may want to specify various output options.
For more details what WIC is, check: https://docs.microsoft.com/en-us/windows/win32/wic/
407aee
Revisited TLS and HTTP protocols to be more stable in some cases99a6cd
Several clang warnings fixed61c138
Errors should not HALT to the console but QUIT to the system89642e
Warning: using the result of an assignment as a condition without parentheses
6df2ec
Added /fmt refinement to DUMP function for displaying only internal information about series value without displaying its data25720e
New nativeecdsa
= Elliptic Curve Digital Signature Algorithm39957a
Updated TLS protocol to support TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 cipher suite6ec697
Added possible compiler's define EXCLUDE_CHACHA20POLY1305 if the chacha/poly code is not needed in the executablea25f62
Modified Chacha20 and Poly1305 code to use types same like rest of the system.6a71ad
Included macros for conversions from U8 to U32 and U64 (little endian) and back
85bc4d
Removed <ctype.h> dependency in PNG codec1d56a2
Several clang warnings fixed445ee8
Silence "loop has empty body" warning when used Clang3e9dce
Separate Copy_Wide_Str from Copy_OS_Str362fe7
HELP was providing invalid info if value of path was of ERROR! type
-
76e91b
New nativeChacha20Poly1305
-
0c166c
Added poly1305/finish
refinement to return computed MAC of the data.Note: it clears internal state so only one call to
/finish
or/verify
will return real result! -
87d6fb
New nativepoly1305
for message authentication -
95bb58
New nativechacha20
for cipher stream encryption/decryption -
b9adfc
Added support for TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA and TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA cipher suites in TLS protocol. -
1e9339
New nativeecdh
for Elliptic-curve Diffie-Hellman key exchange.Using Kenneth MacKay's micro-ecc project
For usage example see the modified
dh-test.r3
file. -
1bc566
Added ENHEX native (string conversion with chars converted to URL-ENCODED format when needed) -
c57b31
Adding VAL_UNI_TAIL macro for getting tail of unicode encoded series -
679277
Added possibility to set User-Agent in HTTP schemeOne can now for example pretend that HTTP requests are coming from Chrome on Windows 10, when use this code before reading URL(s):
system/schemes/http/user-agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36"
This may be useful, because for example Google is serving different results, when default "REBOL" user agent is used.
97334b
In rare cases scanner was making null holes in strings, when the internal buffer was extended.b99224
Adding missing dependency file for the last commit5e06fd
Changing some of the log traces so they all starts with capital letteraba986
Removing debug trace15cb76
Small code cleanupcdd10e
Improved TLS and HTTP protocol to correctly handle chunked data and case when TLS packed was not fully processed8215de
Using the new ENHEX function in HTTP protocol so it correctly handles requests with unicode chars295be2
DECODE-URL does not support UNICODE7517d0
ENHEX - underscore char does not have to be encodeda8b9ac
MOLD of URL containing unicode chars is invalid76c87a
Invalid ENHEX edge resultaa939b
wide
internal encoding was not used for strings containing chars in range >= 80h and <= FFh
b774da
SWF codec - all three read-PlaceObject* functions now returns first 6 values pointing to same data [Depth move/place ClassName CharacterId Matrix Cxform], to simplify its processing, event when the values may be NONE in older PlaceObject tag versions.
-
4e8896
SWF codec - allow none! as a valid input to decode-tag function -
4e3eef
When value of string type is used to be written, it is converted to UTF-8 automatically -
4e3eef
Added UI16LEBYTES command -
4a4418
Bincode - value to write defined as GET-WORD! or GET-PATH! -
1029ea
Bincode - added support for writing FLOAT16, FLOAT and DOUBLE values -
c1c1f2
Added support for ADLER32 checksum method -
935e61
Allow CHECKSUM again on strings -
dcd405
Including WHOIS protocolUsage example:
read whois://seznam.cz ;<- will do recursive lookup write whois://whois.nic.cz "seznam.cz" ;<- query a given whois server directly
-
243300
CHANGE: enable any value as a data type for WRITE action
eef497
Using MOLD/ONLY instead of FORM when saving data as a *.txt file88ec45
Valgrind reporting errors when using ENCODING? in JPEG codecf44442
SAVE broken with .txt suffix7b9e65
Simple text (and empty text) should be identified as TEXT when using ENCODING? function.f0ab71
Bincode - read FB was not handling negative numbers correctlyf65ffd
SORT/COMPARE is using reversed order when using integer as a result from the functiondc46df
Type-check call of SORT/compare handler49bcd1
Bincode - the output buffer position was not updated820a3a
Warning message about duplicate specification was always shown in verbose mode (even without any duplicates)254b78
Rebol cannot run a script that has UTF-8 chars in its filename or pathd10845
Removed printed output in case of DNS awake
-
89bddd
Added RL_Get_Value_Resolved as a library function which works like original RL_Get_Value, but with difference, that when resulting value is WORD, GET-WORD, PATH or GET-PATH, result is not this value, or its resolved value.This is useful when writing dialects as an native extension's code.
-
bebab4
When used VIEW with image as an argument, open in as a centered and resize able window; -
ead47c
HTTPD server now have ON-ACCEPT actor which can be used to limit connection to specified IPs only -
7ba3dc
HTTPD server now have ON-HEADER actor which can be used for early request processing like redirection or rewrite rules (see the test file for usage example) -
131333
Simple HTTP server scheme moduleOne can use it to start a HTTP server using just:
http-server 8080
but most probably you would like to customize it a little bit. For details see the included %test-httpd.r3 script.
-
cf7ba1
Allow DEHEX to acceptbinary!
valueSo one can use it to properly url-decode utf-8 sequence, like:
>> to-string dehex #{2F666F726D3F763D254335253939} == "/form?v=ř" >> to-string dehex to-binary "%c5%99" == "ř"
615e82
Correctly handling case where result from script evaluation is unset90a710
Exclude MODULE result from evaluation to be printed in console for now (there should be first some sort of nicer formating)2eec29
Window containing just an image was not drawn. This commitd370b4
Restore original path when DO of a script fails0dae54
Calling an action made by oneself crashes R32d8925
HTTP protocol now handle limit of max redirection4b058f
HTTP scheme redirect was not correctly dealing with port id40b9e5
TO-DATA allow string date representation with day represented in one char only too
77bd60
Initialize Winsock with version 2.2
-
6b4ef6
New functions TO-IDATE, TO-ITIME, enhanced TO-DATEFor conversion to a standard Internet date/time string (as used in HTTP headers) Function
to-date
now can now be used to convert these strings back to date. It has also new refinement/utc
for conversion to UTC date.Example:
>> to-date/utc "Thu, 28 Mar 2019 20:00:59 +0100" == 28-Mar-2019/19:00:59 >> to-date/utc "Thu, 28 Mar 2019 20:00:59 GMT" == 28-Mar-2019/20:00:59
-
8fe060
Adding /TIMEZONE to DATE values which adjust the time/timezome
was first introduced in Red language and it can be used to change the time zone with adjusting the time, while/zone
keeps time unmodified.Any date can be now easily converted to UTC just setting the
timezone
to zero. -
3770d7
Registering .epub extension into ZIP codec (so it's possible to load epub files) -
e08b4b
Using sync READ of HTTP will try to automatically convert content to text according given encoding ifcontent-type
of the result is specified astext/*
This means, that for example:
read http://www.google.jp
will return string properly converted to Unicode (as the result from Google is served as
Shift_JIS
charset. -
d71a27
NewICONV
native for conversion between various code pagesThis function is on Posix wrapped around iconv function. On Windows it is emulated using Kernel functions for conversion between wide char and multi byte.
So far there are two modes, conversion from binary to unicode string:
>> iconv #{9AE96D} 'cp1252 == "šém"
or from one binary to another with different encoding:
>> iconv/to #{9AE96D} 'cp1252 'utf-8 == #{C5A1C3A96D}
-
9347af
HTTP: Added support for transfer compression (gzip or deflate)Also now using system trace outputs. At this moment it's set by default to level 1 (info) Can be changed using for example:
system/options/log/http: 3 ;<- for max traces
-
7b6264
Using system/options/log to specify system log verbosity in central place(this is WIP as codecs and schemes are still using not centralized traces)
-
ebaa2c
Decompress/deflate - decompression of data which are in raw deflate format (without envelope)Example:
>> decompress/deflate #{2B492D2E01000C7E7FD804} == #{74657374}
Also using it in the ZIP codec.
-
d045d4
Including the TAR codec as a mezzanine -
af235b
TAR codec (decode only so far) -
1d2daf
Bincode: reading of STRING-BYTES and OCTEL-BYTES (string and octal number from fixed size bytes) -
94508e
Introducing systemlog
function for common system trace outputAlso using it for now with ZIP codec, instead of using local log functions.
-
e3e33b
Including the ZIP codec as a mezzanine -
908bb3
ZIP codec (decode only so far)It extract ZIP data into memory.
Example:
>> load %/x/test.aar Decode ZIP data ( 2919 bytes ) [ZIP] Decompressing: AndroidManifest.xml bytes: 504 -> 832 [ZIP] Decompressing: R.txt bytes: 1535 -> 7180 [ZIP] Decompressing: classes.jar bytes: 120 -> 233 [ZIP] Decompressing: aidl/ [ZIP] Decompressing: assets/ [ZIP] Decompressing: jni/ [ZIP] Decompressing: res/ [ZIP] Decompressing: libs/ == [ %AndroidManifest.xml [4-Apr-2018/18:52:10 662885694 #{ 3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D227574 662D38223F3E0A3C212D2D0A20436F7079726967687420284329203230313420 54686520416E64726F6964204F70656E20536F757263652050726F6A6563740A 0A20202020204C6963656E73656420756E646572207468652041706163686520 4C6963656E73652C2056657273696F6E20322E30202874686520224C6963656E 736522293B0A2020202020796F75206D6179206E6F7420757365207468697320 66696C652065786365707420696E20636F6D706C69616E636…
It's possible to use the ZIP codec directly and extract only specified files:
>> zip-decode: :system/codecs/zip/decode >> zip-decode/only %/x/test.aar [%classes.jar] Decode ZIP data ( 2919 bytes ) [ZIP] Decompressing: classes.jar bytes: 120 -> 233 == [ %classes.jar [4-Apr-2018/18:53:56 646121705 #{ 504B03040A000008000000002100F7D7D29907000000070000002F0015004D45 54412D494E462F636F6D2E616E64726F69642E737570706F72745F737570706F 72742D76342E76657273696F6E55540D0007000000000000000000000000FECA 000032372E312E310A504B01020A000A000008000000002100F7D7D299070000 00070000002F000D0000000000000000000000000000004D4554412D494E462F 636F6D2E616E64726F69642E737570706F72745F737570706F72742D76342E76 657273696F6E555405000700000000FECA0000504B050600000000010…
-
ef895e
Bincode: added reading/writing for MSDOS date time formats (used for example in ZIP files)The new dialect words: MSDOS-DATE, MSDOS-TIME and MSDOS-DATETIME
-
ae6795
Added Server Name Indication extension into TLS schemeMore details: https://tools.ietf.org/html/rfc6066#section-3
TLS does not provide a mechanism for a client to tell a server the name of the server it is contacting. It may be desirable for clients to provide this information to facilitate secure connections to servers that host multiple 'virtual' servers at a single underlying network address.
In order to provide any of the server names, clients MAY include an extension of type "server_name" in the (extended) client hello.
-
6194ff
Registering XML codec with POM file extensionPOM is a file used by Maven; contains build information, such as required software dependencies, dependency scope, and packaging information.
Example:
load https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-auth-api-phone/16.0.0/play-services-auth-api-phone-16.0.0.pom
-
4018c5
Initial implementation of OpenGL widgetNothing special yet, just displays hard-coded triangle with random background on redraw. Minimal example:
view make gob! [size: 400x400 widget: 'opengl]
-
68d210
Introducing native GOB widgets for Windows OS.It's just an initial proof of concept. Using the existing
gob!
type as a holder of native GUI widgets. At this moment there are partially supported these native widgets:button
,check
,radio
,group-box
,field
,area
,text
,slider
anddate-time
(which so far works more like a date picker only).Known issues:
- the native widgets are not converted to image, when using
to-image window-gob
. - it looks there is a memory leak in the compositor as opening/closing multiple windows has growing memory effect. This is probably not directly related to native widgets as I can see it with just an image too.
- it's possible to append widgets into another widget's
pane
, but the position is not relative to the parent. - there is no helper for creating a native gobs tree (no
layout
). - there are still some output logs as this is really more just an experiment (and my learning playground).
Simple example displaying field and a button with event handler:
handle-events [ name: 'gob-example priority: 60 handler: func [event][ print ["view-event:" event/type event/offset event/gob] if switch event/type [ close [true] key [event/key = escape] ] [ unhandle-events self unview event/window return none ] switch event/type [ click change [ print ["Field data:" mold fld/data] ] ] none ] ] btn: make gob! [size: 200x29 offset: 20x20 widget: [button "hello"]] fld: make gob! [size: 200x29 offset: 20x50 widget: [field "world"]] win: make gob! [size: 240x99 offset: 90x99 pane: [btn fld]] view/as-is win
- the native widgets are not converted to image, when using
6f7358
Fixed TO-ITIME formating if time value parts are less than 10 and or time contains miliseconds8bea93
HTTP protocol now closes connection in case of errora059e1
Code cleanup679d4e
Adding ZONE to DATE value without TIME514e8e
Limit SET to just WORD! and LIT-WORD! instead of ANY-WORD!798cf0
HTTP: do code-page conversion really only when content-type is of type "text"9aa122
Making macOS version be compile-able again with the recenticonv
addition.2e1a8b
Removing forgotten debug certificate export in TLS protocolbf1d6d
Bincode: fixed regression in read BYTES67c8ea
Fix for the last commit ):last minute changes:(cdfe7a
Fixed buffer overflow in RL_Word_String()58cf7b
TLS: moved computation of the message-hash checksum into proper section (where possible error can be trapped)0b95ae
TLS: using proper checksum method for message-hash (not only SHA256)d494aa
Properly reseting internally used lexer's token valuedf959a
Improved doc-string forround/to
action and added a few related unit testsdd7f03
Using SwapBuffers instead of wglSwapBuffers and adding opengl.lib into systems definition for not VS buildsfaf671
Disable GetVersionEx deprecation warning in VS9e2c7b
Make sure that native widgets are redraw also when window is restored from minimized state6401f7
Fixing simple image blit, so one can scale image gob types, like:dd1eda
Make native widgets to lose focus when user clicks with mouse anywhere outside354e5f
Cleanup of stdio traces related to view68bdaa
Fixed memory leak in window compositor12a1ac
Handle-events is replacing existing event handler with the same name as a new one instead of adding it multiple times, and view is not adding a default handler if, there is already any handler registered.
-
3f182e
GOB to image conversion on Windows ->to-image make gob! []
-
fd4b3f
Modified Saphirion/Atronix Win32 GDI compositor to be working without AGG (for color and image gob types so far) -
785ea9
FEAT: fixed crash when user dropped file into window (withdropable
flag)and fixed crash when calling
show
withnone
value. It's now possible to receivedrop-file
event with file name inevent/data
. It's also possible to resolve target drop usingmap-event
function. -
699232
Added basic set of SWF tag decoders into SWF file codec. -
af1be5
Enhanced BINCODE dialect with new features:- added /with refinement to provide additional value for reading single value like:
binary/read/with b 'BYTES 42
which returns just the binary and not a block with binary. - it's now possible to use zero bits without range error:
binary/read b [UB 0]
returns 0. - new read command
FIXED8
(16-bit 8.8 fixed-point number) - new read command
FIXED16
(32-bit 16.16 fixed-point number) - new read commands
TUPLE3
andTUPLE4
(returns tuple type value from 3 or 4 bytes) - new read command
SkipBits
(allows to skip given number of bits without reading anything) - new read command
ALIGN
(aligns bit stream to byte boundary) - new read commands
FLOAT16
,FLOAT
andDOUBLE
(16bit, 32bit and 64bit decimal value) - new read command
SI16LE
(16bit signed integer using little-endian byte order) - new read command
FB
(Signed, fixed-point bit value) - fixed read command
SB
- added /with refinement to provide additional value for reading single value like:
-
765453
Codec-swf: added a few tag readers and more verbose output (WIP) -
9ca5cc
Bincode: added reading commands: BITSET8, BITSET16 and BITSET32 -
ea0608
Added support for EncodedU32 in BINARY's read and writeEncodedU32 is used in Adobe's SWF files. It defines an 32-bit unsigned integer as a sequence of 1 to 5 bytes. The most significant bit of a byte indicates if the next byte is also part of the value. The byte are ordered low to high.
-
04cb59
Enabled "window" host extension on Windows (without graphics) so it's possible toview gob
orview image
to open a system window.Originally the windowing was dependent on
graphics
extension. Now it is independent and the graphics (using AGG ) is not yet ready. -
be815c
Added code for cleaning up opened MIDI connections on system QUIT (Windows only so far) -
764807
Including Graham Chiu's SMTP protocol source into repositoryIt is version downloaded from his repository: https://github.com/gchiu/Rebol3/blob/master/protocols/prot-smtp.r
As it was not tested yet (in this branch), I'm not including it into a build. Main reason of this commit is, that I don't want to loose track of this file as it may be useful in the future (although it will need update to support TLS)
-
1d59f8
Very minimal SWF file format codec -
305fc3
Initial MIDI port scheme implementation - macOS versionThe MIDI device is now also optional and must be enabled using
USE_MIDI_DEVICE
compilation define. -
3591ed
Initial MIDI port scheme implementation (Windows only so far)Here is example how to list available input/output MIDI devices:
>> query midi:// == make object! [ devices-in: ["Launch Control XL"] devices-out: ["Microsoft GS Wavetable Synth" "Launch Control XL"] ]
This will open MIDI port in write only mode and play a chord (Middle-C, E and G):
synth: open/write midi://1 write synth #{903C7F00 90407F00 90437F00}
The scheme is low-level so supports only binary for read/write. There can be made higher level scheme which could support a dialect for preparing the data.
This is example how to get MIDI input using port's
awake
:launch: open/read midi://device:1 launch/awake: function [event [event!]][ switch event/type [ read [ probe read event/port ] open [ print "MIDI port opened!" ] close [ print "MIDI port closed!" ] ] true ]
If the
awake
is defined like above and you are in some sort ofwait
loop, than whenever MIDI input is received, you would see the data from it printed in console.TODO: * support SYSEX messages * at least macOS support
-
f6b2bb
Refine standard port specificationsOriginally there was
port-spec-head
which was holding alsopath
andhost
, which are not needed in not file related schemes and does not looks good when listed. -
4a7852
Refine Find_Event function to find related event not only using event type, but also per portThis function was introduced in Atronix branch to filter GUI events, where there was only one port. Now it's possible to use it also with schemes with multiple opened ports of the same type.
-
9f13ef
CHANGE: making SET native to be more compatible with Red-language versionThere is new refinement /ONLY which treat source block or object like single value (so the result is like it was in R3-alpha)
The /PAD refinement was replaced with /SOME refinement. The functionality is now reversed: when no refinement is used, it works like if there was /PAD before. If /SOME is used, there is no padding and also target value is not replaced with none value from the source, if there is any.
-
d4261f
CHANGE: making SET native to be more compatible with Red-language versionThere is new refinement /ONLY which treat source block or object like single value (so the result is like it was in R3-alpha)
The /PAD refinement was replaced with /SOME refinement. The functionality is now reversed: when no refinement is used, it works like if there was /PAD before. If /SOME is used, there is no padding and also target value is not replaced with none value from the source, if there is any.
6d42d3
Fixed implicit declaration0915fe
Validate type before inserting into Gobb86e4b
Remove comparison between unsigned and zerodc76d0
Shut off a coverity complain about the unintialized var58d59c
Renaming 2 new host-.h files to reb-.h files as all host-*.h files are so far not included in the git repository (all of these are generated during compilation)e7be9a
Force redraw a window when restored from minimized state.4d21b2
Fixing some of compilations issues like when compiling Rebol just as a library without the host part960d50
Don't allow toview system/view/screen-gob
7d6191
Win32 GDI compositor how was defined in Atronix branch709e71
Adding win32 compositor template how was originally defined by Richard Smolak8a96ed
Make sure that only functions with "OS_" at the beginning are collected5e975a
Enable better wait precision for timeouts bellow 16msd247f8
Enable MIDI for 32bit macOS targetae925a
Disable use of MIDI device on 64bit Linux (not yet implemented)dbd495
Better error when setting image's alpha value using path notation821142
Removing traces of not yet ready schemeeb7ba2
MOLD/FLAT on object values does not remove line breaks9e2846
Removing not ready leaked files873e2a
Removing not ready leaked files
-
0e1498
Set object from object keeping only existing keys of the first one -
c3055d
Initial MIDI device (Windows only) - work in progress -
94ed18
Added compilation define to exclude math operation with vectors: EXCLUDE_VECTOR_MATH -
79673b
Windows: Console Virtual Terminal SequencesIf available (since Win10) using
ENABLE_VIRTUAL_TERMINAL_PROCESSING
output mode to process ANSI Escape Sequences. On older Windows versions it keeps using the ANSI emulation like before.It's possible to disable use of
ENABLE_VIRTUAL_TERMINAL_PROCESSING
mode by definingFORCE_ANSI_ESC_EMULATION_ON_WINDOWS
compiler definition.Related documentation: https://docs.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences
Known issues:
The VIRTUAL_TERMINAL_PROCESSING
mode is not handling escape codes for hiding input (^[[8m
and^[[28m
), which is currently used in ASK/HIDE function. As these sequences are also not fully supported on some POSIX systems, the hiding input should be solved using other way. Oldes/Rebol-issues#476 -
0b95e4
Enable displaying MODULE value as a result in console -
729705
Display a few values of any-block type, when using HELP on object with block values -
c272af
Implemented basic ADD, SUBTRACT, DIVIDE and MULTIPLY between VECTOR and NUMBER -
7383e1
Added RL_Make_Vector into RL api, so one can make a VECTOR from extension -
6624a7
Added optional compilation define to turn-of mapp key normalization -
69f4e2
CHANGE: possibility to enquire the element properties of vector! valuesThis commit also changes how are stored reflectors in
system/catalog
. Previously it was just block with names, now it contains also block with datatypes, which the reflector may be used with.For
vector
values, now there are probably defined all possible values to get its properties. Some of them:>> v: make vector! [unsigned integer! 32 2] == make vector! [unsigned integer! 32 2 [0 0]] >> v/size == 32 >> size? v == 32 >> reflect v 'size == 32 >> query/mode v 'size == 32 >> v/type == integer! >> query v == make object! [ signed: false type: 'integer! size: 32 length: 2 ] >> query/mode v [size: type:] == [ size: 32 type: integer! ] >> query/mode v [size type signed] == [32 integer! false] >> spec-of v == [unsigned integer! 32 2]
-
d08f83
Using serialized form of vector value when displayed as a object's field in console's help -
ac8e31
CHANGE: possible to initialize VECTOR using raw binary dataNow it is possible to do:
>> make vector! [integer! 16 #{0100 0200}] == make vector! [integer! 16 2 [1 2]] >> v: make vector! [decimal! 32 #{0000803F 000080BF}] == make vector! [decimal! 32 2 [1.0 -1.0]]
Binary data must be in little-endian.
This commit also enables limiting the input using the specified size.
>> make vector! [integer! 16 1 #{01000200}] == make vector! [integer! 16 1 [1]] >> make vector! [integer! 16 1 [1 2]] == make vector! [integer! 16 1 [1]]
Originally the size was extended instead and so behaving like when there was no size specified.
-
4dd601
Conversion from VECTOR to BINARYIt provides copy of raw internal vector data (in little-endian).
-
b71b42
VECTOR can be initialized using a block with CHARs -
661ee3
Added support to encode/decode images as uncompressed BMP with alpha channel (32bit) -
30f9d8
New natives rgb-to-hsv and hsv-to-rgbThese natives were in Rebol2 and so why not to have them in Rebol3 again. Could be enhanced in future for batch conversion and or more precise version not depending on tuple value for HSV.
-
6ea080
Improved terminal support on posix platformsNow unicode input is (somehow) supported and there are new key shortcuts for clearing line (CTRL-U and CTRL-K) and navigation skipping by words (OPTION key with left or right arrow)
Known issues: When TAB is entered, the line navigation using left/right arrows and char deletion is wrong. Any idea how to fix it without disabling TAB-ed input?
Note: Few lines of code were taken from Brian Dickens' Ren-C
15ce19
Temporary fix in host-window using REBXYF instead of REBPAR9a2204
Crop output of block value in object field and better handling unset values7c8443
Increase the size of even queue as needed until 64K5493bd
Add functions to update an eventfc3206
ATRONIX: Add missing va_end5be3b4
ATRONIX: Make sure string is null terminated3725a3
ATRONIX: Memory from OS_Get_Locale should be free according to its docc20872
TYPO b-init.c: actions -> natives067744
Don't initialize Windows subsystem yet9d2a67
Setting correct color after CTRL-C on Windows900e1d
Better handling of CTRL-C in Windows console07e759
Better handling of CTRL-C in Windows consoleac07bd
Support async read from clipboard414863
Make writing and reading clipboard symmetric3c7e7a
Fixing math operation on VECTOR which is not at its head positionefef62
Added missing SPEC reflector typescbc67c
Words-of map normalizes KEY words to be always ordinary wordc600d8
Key words of MAP normalized to SET-WORDS5973f4
Added missing reflector's types3893ae
Removing forgotten debug line770092
Forcing DELINE to convert CRLF to LF in header file emitter scripts to be compatible with previous changes where READ does not do that now.b017f8
Correctly handling file argument of BROWSE function on Windows22bd6a
TO-LOCAL-FILE/FULL adding additional SLASH when used in root directorye313b9
Not using fixed values in vector indentation79724f
MOLD/FLAT has no effect when used on VECTORd1c1e8
Crash when converting empty vector to block8c18f8
Better cleanup code in image unit test fileecab38
ATRONIX: Fix a size limit error in decoding top-down BMPsb1bc3c
ATRONIX: inverting alpha channel values and default white color365be4
FIND/TAIL not working properly with CHAR as an argument to search5eb7fb
Remove CRLF on Windows and LF on Posix platforms from tail of INPUT line9d3d85
Removing trailing CRLF from formed error message on Windows911097
Using same return values from OS_Browse on Windows like on Posixc4e2b7
Removing forgotten debug trace line501a39
Resolving last error id on posix platforms, if provided value to Make_OS-Error is zero (on Windows there is already used GetLastError in such a situation)f249af
Preferring (void) instead of () for functions without any arguments75c3c6
Using LZMA unit tests only if LZMA is available in the build7f5355
Moved setting system/options/home directory shortcut (~) to final phased273f4
Fixing more compiler warnings
f59f31
Moved some of VECTOR related definitions to sys-value.h so they can be shared with extensions.da8353
Reorganizing system value definitions so they may be shared when making extensions
-
af0eb9
WRITE action if used on FILE is returning the same file name instead of (closed) port!It enables chaining actions… for example:
>> query write %xxx "a" == make object! [ name: %/X/GIT/Rebol/release-x64/xxx size: 1 date: 19-Dec-2018/0:17:51.338+1:00 type: 'file ]
Note:
save
function is now also returning file! -
26b2f5
Not throwing error when QUERY on INPUT port is run in a script not running in terminal (Travis) -
32732d
Throwing error if QUERY on INPUT port fails from some reason -
542d8d
Letting MOLD/ALL on datetime value to produce ISO8601 valid resultOldes/Rebol-issues#438 Oldes/Rebol-issues#2089 Oldes/Rebol-issues#2092
-
1ebbbc
EnablingT
as a delimiter between date and time andZ
as a zero timezone, so subset of ISO8601 datetime values are loadable from Rebol.Example:
>> 2013-11-08T17:01 == 8-Nov-2013/17:01 >> 2013-11-08T17:01+0100 == 8-Nov-2013/17:01+1:00 >> 2013-11-08T17:01Z == 8-Nov-2013/17:01
-
035df2
New BINCODE's read functions: SB (signed bits) and ALIGN (aligns bit stream to byte) -
4f6c2e
Exported new library functions for better UTF8 text conversions from Rebol extension codeNew functions:
RL_Get_UTF8_String RL_Encode_UTF8 RL_Encode_UTF8_String RL_Decode_UTF_String
-
823158
Introduced newcommand
error -
dbd6f6
Improved support for dealing with HANDLE types in extensionsOriginally, HANDLE was just pointer, but I enhanced it recently to also being able define its type, so one can on native side test, type of provided handle and not just blindly throw some pointers as an arguments. In this commit it is reflected also when dealing with native extensions.
-
71442f
Implemented block argument for QUERY/MODE for FILE, DIR, INPUT (console) and HTTP ports -
ebb25c
Enhanced descriptions for P64 and L64 compile-flags -
c02753
Implemented QUERY/MODE for FILE, DIR, INPUT (console) and HTTP ports -
25255d
Enable WITH function to accept also MODULE! as a context -
ca7bb3
On Windows emulating ANSI escape codes for hiding cursor in consoleprint "^[[?25l" ;<-- hides cursor print "^[[?25h" ;<-- restores cursor visibility
Here is how it is done in other languages (mostly using ANSI too): https://rosettacode.org/wiki/Terminal_control/Hiding_the_cursor
Note: this only hides the cursor.. the user input is still visible. To hide user input one can use:
print "^[[8m" ;<-- hides user input print "^[[28m" ;<-- restores the input visibility
Or just using:
ask/hide
Related commit: ad681030ac488a146cca3c57f41136f99725f27d -
ad6810
Implemented ASK/HIDE (which prevents echoing user input)It is implemented using standard ANSI escape sequences CONCEAL/REVEAL, which are now emulated on Windows using
SetConsoleMode
.
ff5175
Fixing some "This function declaration is not a prototype" warningse652dc
Not using Dev_Checksum on host side as it is handled only in core.a87941
Using isfinite instead of finite function on macOS as finite is reported to be deprecated548f5f
Fixing some unused variables and variables never read (reported by xcode's analyzer)d111b5
Adding missing last argument (recently added) in one location used on POSIX7eb820
WRITE/LINES of STRING! doesn't enforce terminal newlinef9a10b
Fine tunning CRLF/CR conversion to LF - now the conversion is used with READ/STRING,d09fff
Turned off CRLF/CR conversion to LF when converting binary to string9190f1
READ/string crashes for UCS4 ("UTF-32") LE/BE files with a BOMc82176
When argument for ?? function was not word or block, it was throwing an error6749aa
Commented out unused (as probably unfinished) Encode_String function3e0312
Fix of the previous fix..6267d9
Letting FORALL to reset position, when make it through normally, but not on BREAK/THROW/ERROR0612b7
Making FORALL behavior compatible with Rebol2 and Reda0f697
REWORD with multi-character delimiter bug1beb0d
Not using temp variable in ASK function
-
998952
Pass indexes to ARRAY/initial functionWhen calling ARRAY/initial with a function used to generate the values, pass the current index at the position the function is being called for, with each index in a block of sizes provided to create a multidimensional array being provided as a separate parameter to the function in the order specified in the sizes block. Uses APPLY so the function can optionally not take the parameters. Uses an internal function option for efficiency.
See Oldes/Rebol-issues#2193 for details.
-
e977b2
Re-factored reb-config.h a little bit by moving LP64 definitions into system.r script and reverting definition of HAS_LL_CONSTS (now enabled by default and undefined where needed (old MSVC compiler only?) -
38f5ab
Allow one RETURN: […] specification in function's spec-block, so one could use (some) Red functions without code modificationsSo far it is ignored during function evaluation, but when used, it is visible as a new section in function's help.
-
ed7a99
Indent function's help from following prompt line -
1eb672
Support for wildcards in string searches (refinements /ANY and /WITH in FIND and SELECT) -
9daa54
Modernized HELP (now as a module) -
93aa81
Using more robust posix implementation of the QUERY on console port -
b1f770
Added unit test for QUERY on INPUT port -
e33bb6
Implemented QUERY action on INPUT port to get information about console's size -
fba3b1
Added colored function names in the WHAT function output and added max and min function name indentation -
02a397
A few optimizations after quick review of the original parse-xml code -
6ff6d7
Using Gavin F. MacKenzie's parse-xml+ script as a XML codecIt's based on script downloaded from http://www.rebol.org/view-script.r?script=xml-parse.r I was using this script for years in my Rebol2 environment, so I think I can include it in R3 too.. so far I never had time to review it, but I believe, it could be improved and also there are some TODO notes inside the original script.
-
a9597c
Added infix shift operators: << and >> -
1c5924
Added "bincode" tests for recently added key-words (STRING and UNIXTIME-NOW-LE) -
140a5d
Added delta time counter for unit tests -
096f25
Simple GZIP codec -
849b0a
Bincode: added STRING reading and UNIXTIME-NOW-LE writing key-words -
3a2262
Updated ZLIB to version 1.2.11. Enhanced COMPRESS and DECOMPRESS natives.
6531fb
ATRONIX: Close the socket before raising an error4918d8
ATRONIX: Always send a Error event in case of error16ae58
ATRONIX: Prevent SIGPIPE when writingc905a8
Check return value from fcntlb36f2e
Added missing line break in HELP on objects output44ad70
Providing DUMP-OBJ function again as it is used not just in the help's context334a0b
Missing #endif in the previous commitd443cb
Added missing X (columns) information of the console's `window-size on POSIXb0e31e
Adding missing integer unit test filed4e023
Skip system dependent header part in GZIP test57cc08
Include UNUSED(x) macro458e0d
Enable LZMA compression in Visual Studio make script00b1c9
Trying to fix some of lzma related issues reported by Travis902973
Trying to fix some of lzma related issues reported by Travis
-
e46eff
Initial support for (optional) LZMA compression in COMPRESS and DECOMPRESS functionsSo far it is implemented like the original COMPRESS, which is appending size of uncompressed data at tail of compressed data.
To include the LZMA, there must be used USE_LZMA compiler's definition while compiling Rebol.
LZMA source is from LZMA SDK version 18.05 from https://www.7-zip.org/sdk.html slightly modified for use with Rebol source.
-
5ec778
Experimentally trying to protect system/standard object from modification -
30e89a
Rewritten TLS protocol to support TLSv1.2 (may be still unstable)It's possible to turn on various traces using:
system/schemes/tls/set-verbose 3
-
25bbca
Initial version of CRT codecConverts certificate raw data into readable tree structure. It is most probably not complete. But is usable in basic form for retrieving RSA key from a certificate.
-
26dd2c
Allowing ANY-STRING! for start-* functions in quick-test-module(so one can use for example URL as a test title)
-
2b9b90
Revisited REB_HANDLE implementation and usageInitially the HANDLE value was just holding a pointer to function. But I think it is also useful to have HANDLE hold a series value, which can hold any internal data. In most cases GC can free this series once handle is not referenced. There will be also needed some sort of callback to dispose function for some more specific HANDLEs in future. That is not yet implemented.
I also reviewed a little bit the CRYPT natives as HANDLEs are used in these functions to hold context. What I can say so far, HANDLE was also used as a CODEC entry (where I added test for the proper handle type) and extension dispatcher.
-
3d347f
Initial version of DER (Distinguished Encoding Rules) decoder (codec) -
3bf6c7
Basic WAV codec (decoder) written directly in Rebol -
69015f
Forcing recycle at end of tests and showing memory stats -
3e9a71
Added counter of asserts in current test (so failed asserts are easier to find) -
cec598
Initial version of BinCode => Binary DSL -
850d69
Improved FORMAT dialect so one can specify escape color codes (using money! value)Simple usage example:
print format [$31.47 "some text" $0] ""
would print red text on gray background (depending on color palette of the terminal)
The string returned by format function would look like:
"^[[32;47msome text^[[0m"
-
23f22a
Added a few test vectors for AES128 and AES256 cipher suite -
902547
Added recommendation note not to use RC4 as it is prohibited by https://tools.ietf.org/html/rfc7465 -
cf740c
Making UNSET! as a conditionally "TRUTHY"It reverts changes discussed in above issues as I consider this behavior to be more useful and it is compatible with Rebol2 and Red.
My main reason is to be able use PRINT inside ALL blocks without need to worry if these would affect the evaluation.
Like in this case:
if all [ not headers any [ all [ d1: find conn/data crlfbin d2: find/tail d1 crlf2bin print "server using standard content separator of #{0D0A0D0A}" ] all [ d1: find conn/data #{0A} d2: find/tail d1 #{0A0A} print "server using malformed line separator of #{0A0A}" ] ] ][ … ]
-
c5cfb6
Adding function ENUM for making standard enumeration objects from given specificationSee the included test file for usage examples.
-
7c07c7
Including WITH control function(evaluates a given block binded to specified context)
-
7c2341
Small change in output of ?? debug function(so it is easier to copy the output for immediate use in console again)
116bb8
DELINE / ENLINE does not check series' protectiondc2795
Using <sys/malloc.h> instead of <malloc.h> when compiling to 64bit macOS version8efcf4
Using new handle for extensions with additional check for handle type when importing extension commands.c86393
Don't try to convert unknown OID to word in CRT codec65b664
Linking the new CRT codec file into mezzanines.6e4b8f
Handle situation when internal connection of HTTP port is closed unexpectedly5819e6
Disabling verbose mode by default in DER codecdc9a65
Correct formating in the DER codec warningdf7822
ROUND/EVEN/TO differences from Rebol288a9d1
FIND/PART not working after skipping the series77e201
Adding missing RC4 test filef3fb0a
DER codec errors in some cases in verbose mode2bb8c4
Including DER codec as a mezzaninedac96b
Few additional castings to prevent compilation warnings253769
Disabling the original WAV codec written in C and enabling the new one written in Rebol directly4a2ee0
More fixes trying to lower number of Clang warningsf3d35c
Fix the comparison between unsigned and negativef67b8a
More fixes trying to lower number of Clang warnings7aa784
Warning: comparison of unsigned expression >= 0 is always trueef2c89
More fixes trying to lower number of Clang warningsd3a9cd
Trying to get rid of pointer-sign warnings when using Clang664a01
Add some asserts to shut off coverity9448d9
Integer overflow when making TIMEbc24f6
Getting rid of "shifting a negative signed value is undefined" warnings using Clangab75f8
Fixes based on some warnings from Clang46398c
Removed initial declaration insidefor
loop7b7166
Invalid value pointer for Expand_series in checksum's READ actionaa183b
RANDOM can alter the sequence of series after PROTECTe880ce
RANDOM can alter the sequence of series after PROTECT4ff49a
Removing ANSI escape char from White_Chars table470761
Using reversed order of codecs in ENCODING? function, so user defined codecs has higher chance to be recognized1e36d1
Revisited color attributes in ANSI escape codes on Windows so it is more consistent with POSIX terminals now.2f8ae5
Correcting typos in headers of some test filesf21d51
ENCLOAK and DECLOAK don't honor PROTECT statusbadbba
Fixed crash with CHECKSUM/key with /method using SHA384 and SHA512e2d866
Keeping spec/ref value in CHECKSUM scheme specification as some HELP functions are looking for it.
-
fb113c
Added support for SHA384 and SHA512 checksumsReplaced Brad Conte's SHA256 only implementation with Aaron D. Gifford's version which supports the new methods too.
-
5149e4
Added functional /PART and /SEEK refinements for WRITE action on CHECKSUM portPossible usage:
data: #{0bad} port: open checksum:// sum1: read write port bin sum2: read write/part open port tail bin -2 ;port was restarted using OPEN sum3: read write/seek/part open port bin 2 -2 all [sum1 = sum2 sum1 = sum3] ;== true
-
78cc32
CHECKSUM implemented also as a scheme (so one can do incremental computation)Basic usage:
port: open checksum://sha256 write port #{0bad} write port #{cafe} read port ;== #{66B0326285B97FAC1ECFC9436374B8F079ED565A18BF7368079BB39A6703B383} close port
-
7d9a21
Added new system function Random_Bytes, which fills destination buffer with given number of random bytes in OS independent way. -
263cb0
Improved comment explaining the DELTA value in Expand_Series function -
740aae
Diffie-Hellman algorithmUsing original Cameron Rich bigint implementation. Rewritten Richard Smolaks module from Atronix fork as a native functions.
See DH-test.r3 file for usage example.
-
5ce9c6
DER/BER UTC-time decoder as a codec -
f3e243
Allow block! as an argument for REGISTER-CODEC function -
efd3c7
Added PKIX as a basic codec -
d79f41
Added a way how to create not native codecs (keeping the original codecs infrastructure) -
54097f
Added DS_PUSH_END macro which pushes REB_END value at top of stack -
c2dfd0
Letting Travis to run the quick tests. -
7ea6ef
Modularized Quick-test and added a few more test cases -
1f6335
Load-PKIX function (as a part of the new mezz-crypt module) -
8d5bdd
Including ENBASE/DEBASE unit tests -
55031b
Initial RSA crypt integrationThe main RSA/Bigint code (Copyright (c) 2007, Cameron Rich) is taken from the latest Atronix version, but the Rebol native part was rewritten as a native while original Cyphre's version was as an extension. I also quite didn't like his RSA key as a simple Rebol object, modified the command names and removing padding setting (which was just confusing for me and source of possible problems)
In this commit is also included a test file (tests/units/rsa-test.r3) as it really deserve some testing and it may be used as a hint how to use it.
Know issues:
- there is no way to release or re-use the RSA key handles.
- when running from Visual Studio, the random number generator calls some assertion in cryptsp.dll, so it would be good to fix it or use own random generator.
TODO:
- possibility to import the key from some standard text files
- it would be nice to have in-build RSA key generator
-
b54e1b
Improving DEBASE so it can decode URL safe Base64 variant input even without using a /url refinementPreviously this would throw an error:
>> debase "qL8R4QIcQ_ZsRqOAbeRfcZhilN_MksRtDaErMA==" ** Script error: data not in correct format: "qL8R4QIcQ_ZsRqOAbeRfcZhilN_MksRtDaErMA=="
The reason is that the input is using URL safe alphabet. With this commit when such a situation is detected, the decoder restarts itself automatically as if it would be used with /url refinement.
NOTE: if you are sure that input should be in URL safe format, use the refinement to avoid unnecessary computations.
Possible test:
key: "qL8R4QIcQ_ZsRqOAbeRfcZhilN_MksRtDaErMA==" equal? (debase key) (debase/url key) ;== should be TRUE
-
e5e2a8
Base64URL encoding/decoding in DEBASE and ENBASE functionsimproves: Oldes/Rebol-issues#2318
Possible test:
key1: "qL8R4QIcQ_ZsRqOAbeRfcZhilN_MksRtDaErMA==" probe bin: debase/url key1 probe key1 = enbase/url bin ;== should be true ;debase is working also when input is missing the padding key2: "qL8R4QIcQ_ZsRqOAbeRfcZhilN_MksRtDaErMA" probe bin = debase/url key2 ;== should be true
For more info see: https://tools.ietf.org/html/rfc4648#section-5
f9f2ae
Fixes for the previous CHECKSUM port related commite8a882
CHECKSUM/KEY argument doesn't allow binary! keys767fd0
Enbase is not working correctly with series which are not at headfb7292
Removed declarations inside FOR loop in code from previous commit73496e
Missing file change for commit: https://github.com/Oldes/Rebol3/commit/69edc861a9543664adf249d9ef58151791252f773b1dc9
Add a /dump-series refinement to STATS56a8a6
Avoid undefined behavior caused by malloc(0)b9eadc
Decrease the Series_Memory when the series is freeddae8ad
Correct the allocated memory size in statsaa648e
SER_EXT only marks data in external memory24b748
Do not crash if the series size doesn't match segment width69edc8
Copy the whole union in the series289480
Add a comment to eliminate warning from clang74622d
Fix parameter to Remove_Seriese25a5d
Fix Remove_Series with big lenb8e0a9
Fix bias overflow in Remove_Seriesf3f06b
Use macros for overflow detection7eca4c
Check overflow of size calculation in series expansionafb328
Adding original Smolak's TLSv1.0 protocol as used in Atronix fork0c54e7
Resolving some compiler's warningsb5378c
Diffie-Hellman algorithm (missing files)2967a2
Don't allow function! as a path argument of the CD functiondb842b
Avoid heap-buffer-overflowd85fda
EMPTY? is not working with directory port as it was in Rebol21a4c3a
Issue #2319 - LEXER: sign before POUND char like [-#"a"] is not recognized as a word and is misinterpretedc711c7
Typo fixede754d1
Using rsa/verify instead of rsa/validated3393a
Avoiding some of conversion warnings in VS under 64 bit builda1ce4b
Better handling missing padding of the DEBASE (64) inputa01c68
Additional fix for previous feature8ca681
DEBASE is not able to decode valid input in some cases
dde29e
Added missing copyrights for implementation of SHA256, RC4 and AES algorithms
-
64fbcc
Just a very basic WAV codec (decoder)To be honest, I'm not sure how useful it is as one gets just binary, but no aditional info. It should return a sound object instead! So far it can be considered just as a minimal codec example.
-
2231a1
Add PAIR! support for REPEATThis change allows PAIR! values as value argument of REPEAT. This enables convenient traversal over a 2D space:
>> repeat p 3x3 [print p] 1x1 2x1 3x1 1x2 2x2 3x2 1x3 2x3 3x3
Similar to REPEAT over decimals, REPEAT over pairs implies a start of 1.0x1.0 and a default bump of 1.0 for each component. The first pair component ("X") is varied first, which is in line with pair!-based indexing into image!s.
For the sake of completeness, PAIR! support is also enabled in the legacy C-style FOR:
>> for p 10x10 15x20 5x5 [print p] 10x10 15x10 10x15 15x15 10x20 15x20 >> for p 3x1 1x2 -1x1 [print p] 3x1 2x1 1x1 3x2 2x2 1x2
-
6c399b
Updating macOS' prebuild R3 executable -
a35168
New native: NAN?Returns TRUE if the number is Not-a-Number. Example:
>> nan? 1 == false >> nan? 1.#NaN == true >> nan? 1.0 / 0 == false >> nan? sin 2.0 == false >> nan? asin 2.0 == true
-
a13b33
Updating Windows' prebuild R3 executable -
cd09db
New natives ARCTANGENT2 and ATAN2ATAN2 is direct mapping to libc's ATAN2 function without any conversion so does not accept integer types as an input.
ARCTANGENT2 is more user friendly (but little bit slower) - it uses pair! type as an input of the coordinates and result is in degrees by default (may be changed using /radians refinement)
Example output:
>> arctangent2 10x-10 == -45.0 >> arctangent2/radians 10x-10 == -0.7853981633974483 >> atan2 -10.0 10.0 == -0.7853981633974483
NOTE: notice that ATAN2 is using the input in classic order (Y and X)
-
72d815
Faster trigonometric functions (without conversions and bounds checks)While the original functions SINE, COSINE, TANGENT and ARCTANGENT works also with degrees and do better output formating, these new functions: SIN, COS, TAN and ATAN expects only value in radians and are directly mapped to libc trigonometric functions. They will be faster, but one must expect different output in some cases!
Difference example:
>> tangent/radians (pi / 2) == 1.#INF >> tan (pi / 2) == 1.633123935319537e16
NOTE: these functions are available only with INFINITY support (needs 1.#NaN value)
-
669f86
Modified the structure of the Rebol native code specification in C filesNow it looks more like the default Rebol source code header banner. This is full example of the native function including it's Rebol specification:
/*********************************************************************** ** */ REBNATIVE(sin) /* // sin: native [ // {Returns the trigonometric sine.} // value [decimal!] "In radians" // ] ***********************************************************************/ { SET_DECIMAL(D_RET, sin(VAL_DECIMAL(D_ARG(1)))); return R_RET; }
NOTE: these definitions are parsed in tools/make-headers.r script At this moment the parser don't work with C preprocessing - so it would collect also code from
#ifndef
blocks - this must be improved! -
d7fd2e
Added support for loading NaN (1.#NaN) and Infinite (1.#INF) values and using them in decimal computationsThis feature is optional and can be turned of by using USE_NO_INFINITY compilation define.
-
d5a978
Define ~ as a shortcut for system/options/homeSo it is like in *nix shells and one can use it like:
>> cd ~ == %/X/Rebol/ >> cd ~/.. == %/X/
-
5fa2db
Added manifest file into Windows resourcesand renamed ico file
-
c011a2
Unifying return and error handling from the originalaccess-os
functionInstead of
0
it returnstrue
as a result of successfulset
operation Instead of returning none, it throwsnot supported on your system
error when return value is of type OS_ENA It throws error when any other error happen.So for example on Windows it looks like:
>> access-os/set 'pid 33488 ;<-- terminates process == true >> access-os/set 'pid 33488 ** Access error: process not found: 33488 ** Where: access-os ** Near: access-os/set 'pid 33488 >> access-os 'euid ** Internal error: euid not supported on your system ** Where: access-os ** Near: access-os 'euid
-
64b724
Making at least basic SIGTERM and SIGKILL signals be mapped to Os_Kill on Windows to be compatible with posix version…So
access-os/set 'pid [32464 15]
will terminate process on all systems. -
f7ed5e
Add a native 'access-os'Based on commit: https://github.com/zsx/r3/commit/275c8672810f2beb760ecfeebcf82769da76b78e But slightly modified - the OS_E* definitions were moved to reb-defs.h file
Original commit message:
It's almost like what's in R2, with the addition of 'euid and 'egid, and additional signal number to kill the process:
access-os/set 'pid [2123 9] ;send a signal 9 (SIGKILL) to process 2123
-
5c5241
Added block with define flags into make-settings so one could use these in the compilation using generated makefile -
aa10d1
Image codecs are now included only when requested using compilation definesTo enable these codecs one must use these defines:
USE_PNG_CODEC USE_BMP_CODEC USE_JPG_CODEC USE_GIF_CODEC
-
a7b056
Automatically collecting base code from C sourcesIf such a comment is used in C file:
/********************************************************************** ** Base-code: if find system/codecs 'wav [ system/codecs/wav/suffixes: [%.wav %.wave] system/codecs/wav/type: 'binary! append append system/options/file-types system/codecs/wav/suffixes 'wav ] ***********************************************************************/
The Rebol code from it is extracted and included just after content of the src/mezz/base-defs.r
Note that at this stage there is just a minimal system available, so one must be careful, what code is used.
-
582e43
Picking the right PICKIn Rebol2, picking value with index 0 was always returning null. In R3-alpha it was changed that zero index was working like index -1… more at this blog http://www.rebol.net/cgi-bin/r3blog.r?view=0173
I decided to revert this change and let it working as before (and so be compatible with Red too)
So now it works for example like:
>> pick tail "123" -1 == #"3" >> pick tail "123" 0 == none
and it is also consistent with AT positioning:
>> at tail "123" -1 == "3"
-
690dff
REDUCE/NO-SET working also with set-path!>> reduce/no-set [x/1: now/date] == [x/1: 9-Jun-2018]
-
338518
Rename SPLIT's /INTO refinement -
cfe455
Improved CD shortcut command -
7af09d
Some improvements in HELP output -
829bd7
Added missing updated file for previous protect/permanently feature -
053846
Added /permanently refinement to protect functionBy default, values protected using PROTECT function could be unprotected by user using UNPROTECT function. When /PERMANENTLY flag is used in the PROTECT call, the value will be stay locked until end of its time.
fdc05f
Bitset not allowed in to/thru blockb940cb
PARSE string using tag! doesn't consider the < and > when used with to block!b95ebf
Removed recently added NAN? native and replaced NUMBER? function with native equivalent which properly checks if decimal value is not a NAN89a055
UsingFREE_MEM
instead offree
directlyf27e71
Failure when system/script/args > 1022 bytes9adf4b
One more fix of the appveyor url50734e
Changing file name of the icon used in MSVC project generatord1bf53
Updated links in appveyor and travis badges to follow rename of the repository from R3 to Rebol34f5c88
Updating Linux's prebuild R3 and temporary forcing TO-WORD conversion in the native name test in make-headers.r file (because old R3 was keeping : char when converting set-word to string using FORM)8feac4
Using ATAN instead of ARCTAN722a9a
Warning: conversion from 'REBU64' to 'REBYTE', possible loss of data97e421
Warning: conversion from 'size_t' to 'REBYTE', possible loss of data973a8d
Warning: 'N_access_os': not all control paths return value0427be
Warning: initialization discards 'const' qualifier from pointer target type879314
Warning: implicit declaration of function 'reb_qsort'cee4ce
Added casting to prevent "signed/unsigned mismatch" warning in Visual Studio6cfc9d
Add an assert in Loop_Each to help coverity9a9b19
Fix break from remove-eache41a25
Fix foreach with set-word4966f0
Check overflow in Loop_Integerf2d3cd
Let TANGENT 90 return an infinity value instead of throwing overflow error956119
Removing POWER related unused code045fff
Zero to the power of zero is 1 instead of 08ea1b1
PORT! state binary appears empty when it is not3b0f7a
Check REB_TIME for timeout parameter8ec6e5
Rename OS_Wait_Process to OS_Reap_Process (and add it to os/posix)918b61
Fix the poor performance in network writing02c203
Correctly close IO device75a5de
Correctly dealing with defines for clipboard device in the devices table3263da
Updating system version to be 3.. and not 2.. anymore1c86e0
Embedded test extension not setting size of the created image6202a8
DECIMAL! picking acting as SELECT, though it PICKed in Rebol259f9cc
Check integer overflow before arithmetic operation2abd4c
Trap evaluation attempts of ET_INVALID values27278b
COMPOSE/into of non-block doesn't insert into target6d14ee
REDUCE/into of non-block doesn't insert into targetf4c48b
Removing code which is no more needed (there is no RETURN/REDO anymore)7e61a4
Type-check call of TRY/except handlerbf34bb
Rename variables to improve clarity8e918f
Removed printed output if CD command is used without any argument71a1fa
Removing mentioned functions DOCS and WHY? in HELP output (as these were commented out in previous commit with other outdated help functions)eb3b7c
HELP was providing invalid info if value of path was of ERROR! typeeea737
PROTECT-ed series are not protected against REMOVE-EACH
-
82f4c8
Renamed TAN color to TANNED as TAN is now used as a trigonometric function -
a54c69
ARCSINE and ARCCOSINE returns 1.#NaN where they were throwing error before (if supported).For example:
>> arccosine/radians 2.0 == 1.#NaN
-
c87742
Lone hash sign is not none! anymore (if not defined using USE_EMPTY_HASH_AS_NONE define) to be compatible with Red language
-
ecee1a
Adding different output for form/mold functions used on word types (as it was in Rebol2)So it is again:
>> mold #foo == "#foo" >> form #foo == "foo"
NOTE: it also affects conversion using TO string! (and string variants like file!)
Related ancient blog article: http://www.rebol.net/cgi-bin/r3blog.r?view=0304
-
d60466
Added some comments and improved output in the host test extension -
c1857f
Automatically collecting symbols (like SYM_PLAY) so one can use them in C code without adding new words into boot/words.r file (which is still in use) -
38df5c
Added support for HTTP redirection -
b03dd6
Added AppVeyor automated building
00453d
FIX: Mold of an Image with length of multiple of 102bcdbc
FIX: Use 32-bit for image pixel4bbec0
Modified host test extension so it is possible to compile it againfa0c04
Additional test for existence of the event custom type value in the http scheme2a9b7b
Do not guard port/statef9fed0
Treat unhandled events as no activity in Awake_Systemfbd300
Dynamically change resolution passed to OS_WAITc27cbc
Add a /only refinement to wait84ed8b
Fix invalid memory access931dcf
Fix the missing port returned from wait/allc7e259
Fix infinite loop in waitfb1ca8
Moved recycle call out of the timing so it does not affect its measurementd2d0aa
Patch to prot-http.r to not fail on tiny webserver (http://www.rebol.net/cookbook/recipes/0057.html)d2a06d
Updated prot-http script headerfed3fb
Improving previous commit (https://github.com/Oldes/r3/commit/38df5c9d0a83a9ccc1cc6ba2df4b087ce4adb229) so urls with not standard ports are handled too.3b89ed
Query on directory was returning garbage size info.1c737e
Betterdate
handling… (to date! is now working on idate string)15f8e4
Query on URL was returning just noneae93f7
Updated HTTP scheme to version 0.1.4 (Richard Smalak changes from Atronix fork)3c124a
Preparing target dirs where is copied resulted exe if Visual Studio project is used (so building does not fails in automated process)bc24cd
Removing user input if making VS project from build script (so it can be used in automated builds)
8eda0e
Removinginfo?
function (as it duplicatesquery
), and havingexists?
returning logic value.
2458be
Reverting previous try to fix VC warning as MingW does not like it at all.472b2c
Better fix for previous (warning) fix (as Clang requires char ** for second parameter of main function)44d5e3
Preventing signed/unsigned mismatch warnings in Visual Studiob69272
Removing unreferenced local variables1870b5
Preventing assignment from incompatible pointer type warning4c1fba
Forcing deletion of b-init.o file so compilation may be used without cleaning everything5613da
REBNATIVE(browse) should trap on OS_BROWSE failure, not success.008708
Add check for 64-bit macOS in Try_Browser.
70e92e
Windows: updated prebuild r3 exe and changed path to mingw32 folderfe0886
Added support for copy/deep and copy/types on map! datatype
259b25
MT_Map must have only 3 args
d7eb95
ATRONIX: Avoid overwriting the variable in testingfa10bd
ATRONIX: Initialize remote_addr unconditionally4b990d
ATRONIX: Put accepted connection in non-block mode982eb0
ATRONIX: Do not oversend data04e7a1
ATRONIX: Check for error in port CLOSE755395
ATRONIX: Do not free port/state
8c9b3a
Cleaning project files directly from Rebol instead of usingmakefile
7091c9
Not using linear search for maps of small size as it was causing crashes in rare cases.7ce369
[Linux] Save signal mask when jumppinge06825
Use {STDIN,STDOUT}_FILENO instead of 0, 1
-
e5638c
Does not CLEAN on each build command (for faster re-compilation) -
ca2054
Added SHA256 method into CHECKSUM native function. -
834a11
AES encryption native function -
102a5d
RC4 encryption native function -
acdabd
Handle! can contain its name which may be used for handle type check and can be recognized by GC to free its linked resources -
8cdfa2
Let handle! be visible as a result in console -
3a2902
Updated travis script not to depend on r3 from rebol.com -
e489fe
Native's specification may be defined directly in C code using special header structureThis is based on Hostile Fork's work on Ren-c, just without using his INCLUDE_PARAMS_OF_* macros. It is still possible to use the old way definitions, so the original code does not have to be completely modified.
For example:
/**********************************************************************/ // // test-native: native [ // {This is just a native function for test purpose.} // 'value [any-type!] "This can be value of any type" // ] // REBNATIVE(test_native) { REBVAL *val = D_ARG(1); printf("Value has type ID: %i\n", VAL_TYPE(val)); return R_ARG1; //return the same value }
-
e86d9b
Updated pre-compiled r3-make-osx -
f68dbe
Updated pre-compiled r3-make-linux -
cfa54b
Adding line break after [escape] message so prompt starts on a new line -
0395c7
Multi-line input support for consoleRewritten version of commit 10070b44f6565dccc3c13f7769b630b60cf31ccc which was prepared by Andreas Bolka, based on the code proposed by @sqlab via AltME.
There is also improved part of handling Windows subsystem and missing title resource text for build using mingw on Windows.
-
f61b6a
Errors printed in purple color -
2f91cf
Windows - removed hardcoded console title and setting the title using string defined in resources file -
51b357
Visual Studio project using Windows console subsystem by default -
17c7e7
Script for making Visual Studio project for building Rebol3 on Windows
7153c2
Using common function header formating for GetConsoleHwnd0e8884
Input from console on Windows was not working correctly with unicode non latin chars as the console was allocated twice.7596f2
Modified TODO text as it does not make sense to create random IV in the AES encryption;3d5f32
Aes native was not defined because of invalid definition in the header2ad2f1
Correctly handling multi-line input from PASTE into console in Posix version (tested only on Linux so far)07831f
Posix stdio related changes as were made by Andreas Bolka and Hostile Forkb1f243
By Hostile Fork - Quietly tolerate EINTR in POSIX %dev-event.ca0b5e3
By Shixin Zeng - Pass correct length to Deline_*626105
By Shixin Zeng - Remove free'd serieses from GC_Infants9e2f7a
By Shixin Zeng - Do not increase tail before extension679215
By Shixin Zeng - Fix a crash caused by integer underflowb46f6e
By Shixin Zeng - Fix a heap-buffer-overflow found by AddressSanitizer0455c0
Redme text improvedeb70ff
Cosmetic change in the readme file.dce47d
Cosmetic change in the readme file.e5e419
Prevent warning C4005: 'min': macro redefinition1a0569
Added initialization of local pointers to prevent Visual Studio errors C4703: potentially uninitialized local pointer variableff41a1
Locally disabling warning C4146: unary minus operator applied to unsigned type, result still unsigned, as it blocks compilation in Visual Studiod90604
Do not use the system qsort
-
820dff
Prebuild r3 binary (version 0.2.40) for making OSX versions on macOS using the interactive script -
f642f2
Posibility to use pipe() where pipe2() is not available -
470451
Prebuild r3 binary (version 0.2.40) for making OSX versions on macOS using the interactive script -
6a8303
Posibility to use pipe() where pipe2() is not available -
b1529a
Improved interactive build script to work on Linux (prebuild r3 binary included - version libc-2.3) -
459138
Updated boot banner -
d8486d
Adding interactive building script with prebuild Windows r3 binary -
1aa73f
Added support for building 64-Bit Windows version (0.3.40)- moved some defines from reb.config.h into makefile (using the make-make.r script)
-
f73266
Added builded libraries and host.exe into gitignore -
15fc76
Added support for building using makefile on Windows OS -
a819d6
Added icon and resources file for Windows application builds -
2c22bd
Additional comments for the previous commit -
bdeb75
Support for ANSI escape sequences on Windows also if compiled with Console subsystem -
592f66
Added support for Windows build with VS2017 and VS2015
26aa05
Clipboard is not yet ready on posix platformsaa4c06
Make sure that home directory is absolute on all platforms3c25db
Warning: implicit declaration of function ‘write’ and 'read'4b59d5
Warning: implicit declaration of function ‘pipe2’563f23
Warning: implicit declaration of function ‘close’d1f0b0
Dylib was defined on wrong OSb95ae6
Using correct library extension on OSXd78caf
Using pre-prepared makefile for Linuxf06bda
Correcting make settings file extension923ca9
Adding missing posix headers needed for the CALL enhancementd7f26c
Extended CALL native command1f3e2e
Using correct argument type to avoid compiler warningsd962f6
Move integer arithmetic operations into their own functions2e9881
Removing use of INLINE in some functions to avoid compilers warnings of type:db51a2
Adding correct decoration around Emit_Decimal function so it is recognized by the make-headers.r script and so avoiding warning during compilation.04c8c2
Added casting to prevent compiler warnings65200d
Correct path to Visual Studio 2017 dev command973d39
ANSI escape sequence handling was not working if compiled with Windows subsystem
9b724d
Adding some colors to list of help commands9eb7dd
Adding color to prompt and result value.f228be
Reversed lookup order in the vcbuild so the latest version of VS is used if found.31899a
ANSI escape sequence emulation under Windows.
f76852
ANSI colors are used, where are not expected.97a0f4
Changing order of values for setting cursor position (Esc[Line;ColumnH)c6b17c
Keeping the OBJS list sorted alphabetically.81016e
Adding missing objs/f-dtoa.obj into makefile.vc7b2489
Correcting path to VS12's vsvars32.batd02267
Correcting OS_ID version for Windows