edn_turbo 0.8.1 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.dir-locals.el +2 -2
- data/.github/workflows/ruby-ext.yml +2 -3
- data/CHANGELOG.md +9 -1
- data/LICENSE +1 -1
- data/README.md +2 -2
- data/ext/edn_turbo/edn_parser.cc +1 -1
- data/ext/edn_turbo/edn_parser.rl +1 -1
- data/ext/edn_turbo/extconf.rb +8 -8
- data/ext/edn_turbo/main.cc +9 -1
- data/ext/edn_turbo/parser.h +1 -1
- data/ext/edn_turbo/parser_def.cc +1 -1
- data/ext/edn_turbo/util.cc +1 -1
- data/ext/edn_turbo/util.h +1 -1
- data/ext/edn_turbo/util_unicode.cc +1 -1
- data/ext/edn_turbo/util_unicode.h +1 -1
- data/lib/edn_turbo/edn_parser.rb +1 -1
- data/lib/edn_turbo/version.rb +3 -3
- data/lib/edn_turbo.rb +1 -1
- data/spec/edn_turbo/edn_parser_spec.rb +12 -1
- metadata +4 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fecff3306497ab50ba2ff8637062d554b959b970f3f669c997479f98e4897233
|
|
4
|
+
data.tar.gz: d3935248c921e9bcbde72a15551c1e4e24c484676c1017c3d87cbcd2a6521c2a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: dc6e3362a6470141fcd3893aaf61a38f8c8d738e4540957f87f504d142fe71a0ef7503e327ecbab4a4cea737282b096f1f74ded1ff3ea01cc94addc6fba2d227
|
|
7
|
+
data.tar.gz: 29b805e543c7998c6a682f277607c1e17d8bff7668db1ad6c75861c522079a326893450fa4aa806c850d1b26de8d2c8faa386053e310e798379bfec95a34749d
|
data/.dir-locals.el
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
((c++-mode
|
|
2
|
-
(flycheck-clang-language-standard . "c++
|
|
3
|
-
(flycheck-gcc-language-standard . "c++
|
|
2
|
+
(flycheck-clang-language-standard . "c++17")
|
|
3
|
+
(flycheck-gcc-language-standard . "c++17")))
|
|
@@ -15,13 +15,12 @@ jobs:
|
|
|
15
15
|
# - macos-latest
|
|
16
16
|
# Due to https://github.com/actions/runner/issues/849, we have to use quotes for '3.0'
|
|
17
17
|
ruby:
|
|
18
|
-
- '2.6'
|
|
19
|
-
- '2.7'
|
|
20
18
|
- '3.0'
|
|
21
19
|
- '3.1'
|
|
22
20
|
- '3.2'
|
|
23
21
|
- '3.3'
|
|
24
22
|
- '3.4'
|
|
23
|
+
- '4.0'
|
|
25
24
|
runs-on: ${{ matrix.os }}
|
|
26
25
|
steps:
|
|
27
26
|
- run: sudo apt-get install -y libicu-dev libreadline-dev ragel
|
|
@@ -29,7 +28,7 @@ jobs:
|
|
|
29
28
|
with:
|
|
30
29
|
ruby-version: ${{ matrix.ruby }}
|
|
31
30
|
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
|
32
|
-
- uses: actions/checkout@
|
|
31
|
+
- uses: actions/checkout@v5
|
|
33
32
|
- run: bundle install
|
|
34
33
|
- run: bundle exec rake
|
|
35
34
|
- run: bundle exec rspec
|
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
All notable changes to this project will be documented in this file. This change log follows the conventions of [keepachangelog.com](http://keepachangelog.com/).
|
|
3
3
|
|
|
4
|
+
## [0.9.0] - 2026-04-20
|
|
5
|
+
### Changed
|
|
6
|
+
* Bumped minimum ruby version to 3.0.
|
|
7
|
+
|
|
8
|
+
### Fixed
|
|
9
|
+
* Register global VALUEs using `rb_global_variable`.
|
|
10
|
+
|
|
4
11
|
## [0.8.1] - 2025-05-09
|
|
5
12
|
### Added
|
|
6
13
|
* bigdecimal as explicit dependency.
|
|
@@ -71,7 +78,8 @@ All notable changes to this project will be documented in this file. This change
|
|
|
71
78
|
### Added
|
|
72
79
|
* initial version of docker configs for testing on Ubuntu.
|
|
73
80
|
|
|
74
|
-
[Unreleased]: https://github.com/edporras/edn_turbo/-/compare/0.
|
|
81
|
+
[Unreleased]: https://github.com/edporras/edn_turbo/-/compare/0.9.0...devel
|
|
82
|
+
[0.9.0]: https://github.com/edporras/edn_turbo/-/compare/0.8.1...0.9.0
|
|
75
83
|
[0.8.1]: https://github.com/edporras/edn_turbo/-/compare/0.8.0...0.8.1
|
|
76
84
|
[0.8.0]: https://github.com/edporras/edn_turbo/-/compare/0.7.4...0.8.0
|
|
77
85
|
[0.7.4]: https://github.com/edporras/edn_turbo/-/compare/0.7.3...0.7.4
|
data/LICENSE
CHANGED
data/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
edn_turbo 0.
|
|
1
|
+
edn_turbo 0.9.0
|
|
2
2
|
===============
|
|
3
3
|
|
|
4
4
|
Fast [Ragel](http://www.colm.net/open-source/ragel/)-based EDN parser for Ruby.
|
|
@@ -33,7 +33,7 @@ irb(main):008:0> Benchmark.realtime { 100000.times { EDN::read(s) } }
|
|
|
33
33
|
Dependencies
|
|
34
34
|
============
|
|
35
35
|
|
|
36
|
-
Ruby
|
|
36
|
+
Ruby 3.0 or greater.
|
|
37
37
|
|
|
38
38
|
- ruby gems:
|
|
39
39
|
- [rake](http://rake.rubyforge.org)
|
data/ext/edn_turbo/edn_parser.cc
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
#line 1 "edn_parser.rl"
|
|
3
3
|
// The MIT License (MIT)
|
|
4
4
|
|
|
5
|
-
// Copyright (c) 2015-
|
|
5
|
+
// Copyright (c) 2015-2026 Ed Porras
|
|
6
6
|
|
|
7
7
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
8
8
|
// of this software and associated documentation files (the "Software"), to deal
|
data/ext/edn_turbo/edn_parser.rl
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
// Copyright (c) 2015-
|
|
3
|
+
// Copyright (c) 2015-2026 Ed Porras
|
|
4
4
|
|
|
5
5
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
// of this software and associated documentation files (the "Software"), to deal
|
data/ext/edn_turbo/extconf.rb
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# The MIT License (MIT)
|
|
4
4
|
|
|
5
|
-
# Copyright (c) 2015-
|
|
5
|
+
# Copyright (c) 2015-2026 Ed Porras
|
|
6
6
|
#
|
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
8
8
|
# of this software and associated documentation files (the "Software"), to deal
|
|
@@ -24,11 +24,11 @@
|
|
|
24
24
|
|
|
25
25
|
require 'mkmf'
|
|
26
26
|
|
|
27
|
-
ENV['PKG_CONFIG_PATH'] ||=
|
|
27
|
+
ENV['PKG_CONFIG_PATH'] ||= ''
|
|
28
28
|
ENV['PKG_CONFIG_PATH'] += if RUBY_PLATFORM =~ /darwin/
|
|
29
|
-
|
|
29
|
+
':/usr/local/opt/icu4c/lib/pkgconfig:/opt/homebrew/opt/icu4c/lib/pkgconfig'
|
|
30
30
|
else
|
|
31
|
-
|
|
31
|
+
':/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig'
|
|
32
32
|
end
|
|
33
33
|
|
|
34
34
|
pkg_config('icu-uc')
|
|
@@ -40,10 +40,10 @@ else
|
|
|
40
40
|
# remove some flags that are either clang-specific or unrecognized
|
|
41
41
|
# but somehow get passed under linux (?!)
|
|
42
42
|
%w[
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
-Wno-self-assign -Wno-parentheses-equality -Wno-constant-logical-operand
|
|
44
|
+
-Wno-cast-function-type -Wdeclaration-after-statement -Wimplicit-function-declaration
|
|
45
|
+
-Wimplicit-int
|
|
46
|
+
].each do |f|
|
|
47
47
|
$warnflags.sub!(f, '')
|
|
48
48
|
end
|
|
49
49
|
end
|
data/ext/edn_turbo/main.cc
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
// Copyright (c) 2015-
|
|
3
|
+
// Copyright (c) 2015-2026 Ed Porras
|
|
4
4
|
|
|
5
5
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
// of this software and associated documentation files (the "Software"), to deal
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
#include <cstring>
|
|
27
27
|
|
|
28
28
|
#include <ruby/ruby.h>
|
|
29
|
+
#include <ruby/internal/gc.h>
|
|
29
30
|
#include <ruby/version.h>
|
|
30
31
|
#include <ruby/io.h>
|
|
31
32
|
|
|
@@ -197,6 +198,13 @@ void Init_edn_turbo(void)
|
|
|
197
198
|
rb_raise(rb_eRuntimeError, "Extension init error calling setlocale() - It appears your system's locale is not configured correctly.\n");
|
|
198
199
|
}
|
|
199
200
|
|
|
201
|
+
// Register global VALUE slots before assigning Ruby objects to them.
|
|
202
|
+
rb_global_variable(&edn::rb_mEDN);
|
|
203
|
+
rb_global_variable(&edn::rb_mEDNT);
|
|
204
|
+
rb_global_variable(&edn::RUBY_NAN_CONST);
|
|
205
|
+
rb_global_variable(&edn::RUBY_INF_CONST);
|
|
206
|
+
rb_global_variable(&edn::EDN_EOF_CONST);
|
|
207
|
+
|
|
200
208
|
edn::rb_mEDN = rb_const_get(rb_cObject, rb_intern("EDN"));
|
|
201
209
|
edn::rb_mEDNT = rb_define_module("EDNT");
|
|
202
210
|
|
data/ext/edn_turbo/parser.h
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
// Copyright (c) 2015-
|
|
3
|
+
// Copyright (c) 2015-2026 Ed Porras
|
|
4
4
|
|
|
5
5
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
// of this software and associated documentation files (the "Software"), to deal
|
data/ext/edn_turbo/parser_def.cc
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
// Copyright (c) 2015-
|
|
3
|
+
// Copyright (c) 2015-2026 Ed Porras
|
|
4
4
|
|
|
5
5
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
// of this software and associated documentation files (the "Software"), to deal
|
data/ext/edn_turbo/util.cc
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
// Copyright (c) 2015-
|
|
3
|
+
// Copyright (c) 2015-2026 Ed Porras
|
|
4
4
|
|
|
5
5
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
// of this software and associated documentation files (the "Software"), to deal
|
data/ext/edn_turbo/util.h
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
// Copyright (c) 2015-
|
|
3
|
+
// Copyright (c) 2015-2026 Ed Porras
|
|
4
4
|
|
|
5
5
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
// of this software and associated documentation files (the "Software"), to deal
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
// Copyright (c) 2015-
|
|
3
|
+
// Copyright (c) 2015-2026 Ed Porras
|
|
4
4
|
|
|
5
5
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
// of this software and associated documentation files (the "Software"), to deal
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
// Copyright (c) 2015-
|
|
3
|
+
// Copyright (c) 2015-2026 Ed Porras
|
|
4
4
|
|
|
5
5
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
// of this software and associated documentation files (the "Software"), to deal
|
data/lib/edn_turbo/edn_parser.rb
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# The MIT License (MIT)
|
|
4
4
|
#
|
|
5
|
-
# Copyright (c) 2015-
|
|
5
|
+
# Copyright (c) 2015-2026 Ed Porras
|
|
6
6
|
#
|
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
8
8
|
# of this software and associated documentation files (the "Software"), to deal
|
data/lib/edn_turbo/version.rb
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# The MIT License (MIT)
|
|
4
4
|
#
|
|
5
|
-
# Copyright (c) 2015-
|
|
5
|
+
# Copyright (c) 2015-2026 Ed Porras
|
|
6
6
|
#
|
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
8
8
|
# of this software and associated documentation files (the "Software"), to deal
|
|
@@ -23,6 +23,6 @@
|
|
|
23
23
|
# THE SOFTWARE.
|
|
24
24
|
|
|
25
25
|
module EDNT
|
|
26
|
-
VERSION = '0.
|
|
27
|
-
RELEASE_DATE = '
|
|
26
|
+
VERSION = '0.9.0'
|
|
27
|
+
RELEASE_DATE = '2026-04-20'
|
|
28
28
|
end
|
data/lib/edn_turbo.rb
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# The MIT License (MIT)
|
|
4
4
|
#
|
|
5
|
-
# Copyright (c) 2015-
|
|
5
|
+
# Copyright (c) 2015-2026 Ed Porras
|
|
6
6
|
#
|
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
8
8
|
# of this software and associated documentation files (the "Software"), to deal
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# The MIT License (MIT)
|
|
2
2
|
#
|
|
3
|
-
# Copyright (c) 2015-
|
|
3
|
+
# Copyright (c) 2015-2026 Ed Porras
|
|
4
4
|
#
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
# of this software and associated documentation files (the "Software"), to deal
|
|
@@ -308,6 +308,17 @@ module EDNT
|
|
|
308
308
|
it 'uuid' do
|
|
309
309
|
expect(subject.parse(' #uuid "f81d4fae-7dec-11d0-a765-00a0c91e6bf6" ')).to eq('f81d4fae-7dec-11d0-a765-00a0c91e6bf6')
|
|
310
310
|
end
|
|
311
|
+
|
|
312
|
+
it 'survives GC.compact while parsing tags' do
|
|
313
|
+
skip 'GC.compact not supported' unless GC.respond_to?(:compact)
|
|
314
|
+
|
|
315
|
+
data = ' #uuid "f81d4fae-7dec-11d0-a765-00a0c91e6bf6" '
|
|
316
|
+
expect(subject.parse(data)).to eq('f81d4fae-7dec-11d0-a765-00a0c91e6bf6')
|
|
317
|
+
|
|
318
|
+
GC.compact
|
|
319
|
+
|
|
320
|
+
expect(subject.parse(data)).to eq('f81d4fae-7dec-11d0-a765-00a0c91e6bf6')
|
|
321
|
+
end
|
|
311
322
|
end
|
|
312
323
|
|
|
313
324
|
context 'collections' do
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: edn_turbo
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.9.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ed Porras
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: bigdecimal
|
|
@@ -153,7 +152,6 @@ homepage: http://rubygems.org/gems/edn_turbo
|
|
|
153
152
|
licenses:
|
|
154
153
|
- MIT
|
|
155
154
|
metadata: {}
|
|
156
|
-
post_install_message:
|
|
157
155
|
rdoc_options: []
|
|
158
156
|
require_paths:
|
|
159
157
|
- lib
|
|
@@ -161,15 +159,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
161
159
|
requirements:
|
|
162
160
|
- - ">="
|
|
163
161
|
- !ruby/object:Gem::Version
|
|
164
|
-
version:
|
|
162
|
+
version: 3.0.0
|
|
165
163
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
166
164
|
requirements:
|
|
167
165
|
- - ">="
|
|
168
166
|
- !ruby/object:Gem::Version
|
|
169
167
|
version: '0'
|
|
170
168
|
requirements: []
|
|
171
|
-
rubygems_version: 3.
|
|
172
|
-
signing_key:
|
|
169
|
+
rubygems_version: 3.6.8
|
|
173
170
|
specification_version: 4
|
|
174
171
|
summary: Read EDN files
|
|
175
172
|
test_files: []
|