Jean Privat [Mon, 6 Jul 2015 16:07:58 +0000 (12:07 -0400)]
version 0.7.6
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 30 Jun 2015 18:07:07 +0000 (14:07 -0400)]
Merge: Use the DOM parser in the RSS Downloader contrib
`rss_downloader` now uses the DOM XML parser instead of regex to read RSS files. It is also easier to customize its behavior from the config class.
This PR also adds a few services to the DOM parser and fix a few bugs.
---
This PR is based on #1448 with fixed line endings.
Pull-Request: #1545
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Tue, 30 Jun 2015 18:06:58 +0000 (14:06 -0400)]
Merge: Remove niti hacks on NativeString and NativeFile
Previously, the interpreter used a FlatBuffer to implement NativeString and a File to implement NativeFile. This caused issues with applications using (mostly) `is_address_null` which could not be implemented correctly with these implementations.
This PR uses a real NativeString and NativeFile to implement the same class. For NativeFile, it is handled by the FFI so removing the old code is enough. For NativeString, many of its methods are intern so they had to be updated.
Pull-Request: #1543
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 30 Jun 2015 18:06:55 +0000 (14:06 -0400)]
Merge: nitdoc: use svg instead of png
NItdoc asks `dot` to render svg format instead of png.
Advantages:
* better performances
* less files
* better image quality
* css-able
Benchmarks against nitdoc-next (#1446):
![image](https://cloud.githubusercontent.com/assets/583144/8102371/
88a6ed90-0fed-11e5-953b-
cd0fa34b8f10.png)
Pull-Request: #1501
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Alexis Laferrière [Fri, 26 Jun 2015 20:48:53 +0000 (16:48 -0400)]
contrib/rss: fix using the short filename to build patterns
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 26 Jun 2015 20:48:28 +0000 (16:48 -0400)]
contrib/rss: do not check for previously downloaded files
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 26 Jun 2015 17:59:52 +0000 (13:59 -0400)]
contrib/rss: extract action applied to selected elements
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 26 Jun 2015 17:30:22 +0000 (13:30 -0400)]
contrib/rss: use the dom parser
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 26 Jun 2015 17:59:00 +0000 (13:59 -0400)]
lib/file: fix doc of `Path::filename`
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 26 Jun 2015 17:29:37 +0000 (13:29 -0400)]
lib/dom: intro `XMLStartTag::data`
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 26 Jun 2015 17:29:22 +0000 (13:29 -0400)]
lib/dom: intro `XMLEntity::[]`
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sun, 28 Jun 2015 13:55:10 +0000 (09:55 -0400)]
src/nitc: ignore SIGPIPE
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Tue, 30 Jun 2015 11:42:50 +0000 (07:42 -0400)]
Merge: Deserialization manage errors & easily create Nit object from pure JSON
This PR intro better error management to the deserialization phase, the abstract engine and the JSON implementation. Deserialization of a malformed JSON string or a JSON serialized object from a different program version do not crash the program anymore, it will instead raise errors. When errors are raised, the deserialized object may be inconsistent with uninitialized attribute. Depending on the context, the object may have to be discarded or, usually with the user consent, it can be used with possible fatal failures later.
### Cool bonus part
This PR also lighten the JSON format expected by the deserializer. This allow for nicer custom creation of Nit objects from JSON.
For example, given a Opportunity-like Web app using the Nit class `MeetupConfig` declared like so:
~~~nit
class MeetupConfig
serialize
var description: String
var max_participants: nullable Int
var answers: Array[FlatString]
end
~~~
On the client-side JavaScript code, one can create a JSON object that will be converted to a Nit instance of `MeetupConfig` by the JSON deserialization services:
~~~json
{"__class": "MeetupConfig", "description": "My Awesome Meetup",
"max_participants": null, "answers": ["Pepperoni", "Chicken"]}
~~~
### Future work
* We may need to precise the types of a few errors. Especially to differentiate between fatal errors and errors that can be overlooked. There is already `IOError` and `AttributeTypeError` that should be considered fatal.
* Infer advanced array type, such as `Array[MeetupConfig]`. As of now, only arrays of string, int, float, objects and their nullable variants are created.
Pull-Request: #1544
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 30 Jun 2015 11:42:45 +0000 (07:42 -0400)]
Merge: Minor Improvements to the Parallelisation Phase
Support modules without a module declaration and nullable types in threaded methods.
---
Don't worry, it's the last PR for today and my dev branches are getting short.
Pull-Request: #1546
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>
Jean Privat [Tue, 30 Jun 2015 11:42:27 +0000 (07:42 -0400)]
Merge: Fix issues in tests introduced by previous series
The main issue was that args where no more tested because of a bad variable scoping in bash
Pull-Request: #1547
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Tue, 30 Jun 2015 00:48:48 +0000 (20:48 -0400)]
Merge: mongodb: auto generate ObjectId for inserted and saved documents
This PR enables the generation of unique ObjectIds for new JsonObject added to collection.
Example when inserting a document:
~~~nit
var obj = new JsonObject
obj["foo"] = "bar"
print obj.to_json
~~~
Object before insertion:
~~~json
{
"foo": "bar"
}
~~~
After insertion:
~~~nit
collection.insert(obj)
print obj.to_json
~~~
~~~json
{
"_id": {"$oid": "
5578e5e5f34422650c27af01"},
"foo": "bar"
}
~~~
Pull-Request: #1500
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Tue, 30 Jun 2015 00:48:41 +0000 (20:48 -0400)]
Merge: lib/markdown: add some tests for xml parsing inside a markdown block.
Added some test in the hope to reproduce #1059 bug. Everything is working as expected.
Closes: #1059 (can't reproduce)
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Pull-Request: #1497
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Tue, 30 Jun 2015 00:48:34 +0000 (20:48 -0400)]
Merge: examples: add json example from rosetta code
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Pull-Request: #1494
Reviewed-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 30 Jun 2015 00:48:27 +0000 (20:48 -0400)]
Merge: DOM XML
Hi,
As Nit programmers, we might have to parse XML sometimes for one use or another.
We already had a SAX parser in library for the cases when one wanted to parse a long XML document in a memory-conscious way, often at the expense of the simplicity of the end-program.
This PR adds a very simple DOM parser that will need to be improved and robustified later, but who right now does the basics and should parse valid xml documents.
There is still a long way to get a full spec-compliant XML parser, but this is one base.
Pull-Request: #1448
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexis Laferrière [Mon, 29 Jun 2015 22:57:33 +0000 (18:57 -0400)]
tests: niti does not report the same line than nitc
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 29 Jun 2015 20:47:05 +0000 (16:47 -0400)]
tests: update json serialization test results
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 29 Jun 2015 14:41:28 +0000 (10:41 -0400)]
tests: test a custom JsonDeserializer::class_name_heuristic
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 29 Jun 2015 14:28:48 +0000 (10:28 -0400)]
lib/json: add hook to customize the deserialization of plain JSON objects
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 29 Jun 2015 12:35:27 +0000 (08:35 -0400)]
lib/json: document deserializing custom JSON code to Nit objects
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 29 Jun 2015 01:31:00 +0000 (21:31 -0400)]
tests: test the tolerance of the JSON deserializer on custom JSON code
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Mon, 29 Jun 2015 21:47:57 +0000 (17:47 -0400)]
tests: tests.sh do not grep on inexisting file to avoid warnings
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 29 Jun 2015 21:44:03 +0000 (17:44 -0400)]
tests: tests. use local variable in functions to avoid scope issues
Signed-off-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Mon, 1 Jun 2015 13:14:32 +0000 (09:14 -0400)]
src/parellalization_phase: minor style tweaks
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 1 Jun 2015 13:11:12 +0000 (09:11 -0400)]
src/parallelisation_phase: do not rely on module name declaration
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sun, 31 May 2015 23:06:26 +0000 (19:06 -0400)]
src/parellalization_phase: support nullable parameters in threaded methods
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sun, 31 May 2015 23:01:11 +0000 (19:01 -0400)]
src/parallelisation_phase: remove superfluous if block
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexandre Terrasa [Mon, 29 Jun 2015 15:20:39 +0000 (11:20 -0400)]
lib/markdown: add some tests for xml parsing inside a markdown block.
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Mon, 29 Jun 2015 15:16:54 +0000 (11:16 -0400)]
lib/mongodb: check null receiver when accessing names collection
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Mon, 29 Jun 2015 15:16:28 +0000 (11:16 -0400)]
lib/mongodb: set automatic last id when inserting or saving a JsonObject
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Lucas Bajolet [Mon, 29 Jun 2015 15:02:59 +0000 (11:02 -0400)]
tests: Added tests for DOM XML parser
Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
Alexis Laferrière [Mon, 29 Jun 2015 10:53:46 +0000 (06:53 -0400)]
lib/json: infer type of simple JSON array at deserialization
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 29 Jun 2015 12:28:57 +0000 (08:28 -0400)]
lib/json: serialize `Array[nullable Serializable]` as any other arrays
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Mon, 29 Jun 2015 12:21:02 +0000 (08:21 -0400)]
Merge: contrib/opportunité: prevent useless xss exploit in meetup confirmation
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Pull-Request: #1541
Reviewed-by: Jean-Philippe Caissy <jpcaissy@piji.ca>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Mon, 29 Jun 2015 12:20:56 +0000 (08:20 -0400)]
Merge: Personalized tests
Extends the tests.sh infrastructure to be configurable by os and hostname
* handle `sav/$os`, `sav/$os/fixme`, `sav/$hostname` and `sav/$hostname/fixme` sav directories that can contains specific results `.res` when there is an expected divergence on results per architecture or machine
* specific `$hostname.skip` file to skip tests on a host basis (`$os.skip` files did already exists to filter at the architecture level)
* additional `sav/$foo/cc.skip` and `sav/$foo/exec.skip` where foo can be engines, os or hostname to fine-tune more things
Pull-Request: #1540
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Mon, 29 Jun 2015 12:20:50 +0000 (08:20 -0400)]
Merge: Opportunity templates and pizzas
Adds templates to the Opportunity meetup creation page. The default software provides: 4 kinds of pizzas, 5 days work week and 7 days week. The software customized for xymus.net also provides: pizzas special LATECE and meeting hours for UQAM Sciences.
It is already available at http://xymus.net/opportunity/.
Pull-Request: #1539
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Mon, 29 Jun 2015 12:20:43 +0000 (08:20 -0400)]
Merge: Third batch of rosettacode
Cleaning, small fixes and/or improved tests
Pull-Request: #1535
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Mon, 29 Jun 2015 12:20:36 +0000 (08:20 -0400)]
Merge: Audio API implementation for linux
fixes #1527.
The ideal solution would still be to implement SDL sounds but for now, this will be sufficient
Pull-Request: #1533
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Mon, 29 Jun 2015 12:20:29 +0000 (08:20 -0400)]
Merge: example: add arithmetic mean example from rosetta code
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Pull-Request: #1480
Reviewed-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Mon, 29 Jun 2015 10:52:41 +0000 (06:52 -0400)]
lib&src/serialization: use deserialize_class_intern to avoid conflicts with custom implementations
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 29 Jun 2015 10:51:12 +0000 (06:51 -0400)]
src/serialization_phase: fix searching for `deserialize_class` in `Deserializer`
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 29 Jun 2015 10:44:37 +0000 (06:44 -0400)]
lib/json: there's no need for the length attribute in the generated JSON
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 29 Jun 2015 02:14:46 +0000 (22:14 -0400)]
lib/json: clear error list on each call to deserialize
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 29 Jun 2015 01:31:26 +0000 (21:31 -0400)]
lib/json: improve the human readable version of JsonParseError
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 29 Jun 2015 01:35:48 +0000 (21:35 -0400)]
lib/json: the `__kind` attribute is optional
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 29 Jun 2015 01:35:14 +0000 (21:35 -0400)]
lib/json: parse errors are moved to deserializer errors
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 29 Jun 2015 00:47:43 +0000 (20:47 -0400)]
lib/json: serialization is more tolerant to errors
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 29 Jun 2015 00:47:17 +0000 (20:47 -0400)]
lib/json: object __id is optional
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 29 Jun 2015 02:09:08 +0000 (22:09 -0400)]
src/serialization_phase: generate code to be more tolerant to errors
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 29 Jun 2015 02:10:34 +0000 (22:10 -0400)]
lib/serialization: deserialize_class should not be public
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Tue, 26 May 2015 09:57:14 +0000 (05:57 -0400)]
lib/serialization: prepare to collect errors and customize reactions to them
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Tue, 26 May 2015 00:51:44 +0000 (20:51 -0400)]
src/serialization: use multiline strings
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 26 Jun 2015 23:03:28 +0000 (19:03 -0400)]
tests: remove undefined tests results that work without the hacks
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 26 Jun 2015 23:02:49 +0000 (19:02 -0400)]
src/niti: mkdir the compile dir only if it doesn't exist
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 26 Jun 2015 23:10:52 +0000 (19:10 -0400)]
src/niti: use a real NativeString
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 26 Jun 2015 23:12:33 +0000 (19:12 -0400)]
src/niti: remove hack on NativeFile
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 26 Jun 2015 21:18:45 +0000 (17:18 -0400)]
src/niti: remove intern implementations to extern methods
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Thu, 25 Jun 2015 20:33:18 +0000 (16:33 -0400)]
contrib/opportunité: prevent useless xss exploit in meetup confirmation
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexandre Terrasa [Thu, 11 Jun 2015 07:46:27 +0000 (03:46 -0400)]
nitdoc: update tests for svg
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Thu, 11 Jun 2015 06:57:32 +0000 (02:57 -0400)]
nitdoc: convert dot to svg instead of png
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Thu, 11 Jun 2015 07:40:54 +0000 (03:40 -0400)]
bench_nitdoc: allow other git ref than origin/master
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Wed, 24 Jun 2015 18:45:38 +0000 (14:45 -0400)]
example: add arithmetic mean example from rosetta code
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
BlackMinou [Sun, 21 Jun 2015 17:41:58 +0000 (19:41 +0200)]
contrib/friendz/friendz_linux.nit uses linux audio app
Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>
BlackMinou [Sun, 21 Jun 2015 17:41:17 +0000 (19:41 +0200)]
Audio : Introduces linux audio
Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>
Jean Privat [Tue, 23 Jun 2015 18:10:26 +0000 (14:10 -0400)]
tests: skips some tests for Darwin
Signed-off-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Tue, 23 Jun 2015 15:38:18 +0000 (11:38 -0400)]
contrib/opportunity: add the 'Clear' template
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Tue, 23 Jun 2015 15:03:25 +0000 (11:03 -0400)]
tests: skip tests by hostname
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 23 Jun 2015 14:59:14 +0000 (10:59 -0400)]
tests: exec.skip and cc.skip are searched in the sav directories
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 19 Jun 2015 01:32:38 +0000 (21:32 -0400)]
tests: special sav directories available for uname and system.
Signed-off-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Tue, 23 Jun 2015 14:51:23 +0000 (10:51 -0400)]
examples/xymus.net: use the french Opportunité name in the header
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Tue, 23 Jun 2015 14:51:01 +0000 (10:51 -0400)]
examples/xymus.net: add UQAM/LATECE specific opportunities templates
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Tue, 23 Jun 2015 14:50:21 +0000 (10:50 -0400)]
contrib/opportunity: provide french translation for default templates
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Thu, 26 Mar 2015 15:54:44 +0000 (11:54 -0400)]
contrib/opportunity: add opportunities templates
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 25 Mar 2015 19:01:26 +0000 (15:01 -0400)]
contrib/opportunity: improve style of the maybe option checkbox
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Renata Carvalho [Thu, 11 Jun 2015 15:05:36 +0000 (11:05 -0400)]
rosetta: ethiopian_multiplication
Close #1464
Signed-off-by: Renata Carvalho <renatawm@gmail.com>
Simon Zeni [Tue, 23 Jun 2015 00:11:24 +0000 (20:11 -0400)]
RosettaCode: Vignere
Close #1479
Jean Privat [Tue, 23 Jun 2015 00:04:25 +0000 (20:04 -0400)]
tests: add pig_the_dice_game
Signed-off-by: Jean Privat <jean@pryen.org>
Romain Chanoir [Tue, 23 Jun 2015 00:04:11 +0000 (20:04 -0400)]
rosettacode: pig the dice game
Close #1485
Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>
Jean Privat [Mon, 22 Jun 2015 23:55:45 +0000 (19:55 -0400)]
Merge: rosetta code: one_dimensional_cellular_automata
Signed-off-by: Jean Privat <jean@pryen.org>
Pull-Request: #1493
Jean Privat [Mon, 22 Jun 2015 23:54:30 +0000 (19:54 -0400)]
Merge: Opportunity i18n & traduction française
This PR brings partial i18n support to Opportunity with a french translation. Most strings from the
UI are covered but not the error messages. This PR also fixes a few bugs in the i18n phase.
I still have difficulty with the deployment. Launching my web server use `LANGUAGE=fr sudo bin/xymus_net` works, but not when using `daemonize -E LANGUAGE=fr ...`. @R4PaSs do you have an idea for a solution?
http://xymus.net/opportunity/ temporary serves the French version of the site. I may have to revert tot the English version if I need monit and I can't fix the locale issue.
Pull-Request: #1531
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>
Jean Privat [Mon, 22 Jun 2015 23:53:43 +0000 (19:53 -0400)]
Merge: Geometry fix
There was a big mistake in the boxes API where you would get the bottom of a line when calling for it's top and get the top when you were calling for the bottom xD, so fixed it.
There also was a bug with the usage of the Numerics in the quadtree API.
Also implemented a to_s for quadtree, but not sure if it needs to stay here.
Pull-Request: #1534
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 22 Jun 2015 23:52:49 +0000 (19:52 -0400)]
Merge: Use light FFI instead of the legacy NI in the lib
Update all extern methods previously implemented with the legacy NI to use the light FFI. Also cleans up the `_nit.[ch]` files and a few redundant `is extern` declarations.
There could be a performance hit because we add at least one layer of indirection when invoking the extern method code. And some were previously only macros applied within the generated internal code... However I don't see a difference with the performance of nitc and it can be optimized by the C compiler.
The C structure used in the `exec` module should be replaced by a Nit class. I've added 2 FIXMEs to make it clear. The C structure makes dealing with calls to `pipe` easier but it also makes the rest of the code more complex than needed.
The only use of the legacy NI left is the parser generated by the modified SableCC.
Pull-Request: #1520
Reviewed-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 22 Jun 2015 19:36:14 +0000 (15:36 -0400)]
Merge: Nitunit fails bad code
Documentation that contains only bad code (not tagged) is now reported by nitunit as it should be.
Pull-Request: #1522
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>
Jean Privat [Mon, 22 Jun 2015 19:36:12 +0000 (15:36 -0400)]
Merge: Adaptive typing: fix buggy warning messages
#1257 relaxed some rules about untyped code in order to allow the compiler to compute a fixed point. So an inconsistent state with untyped code was permitted during the typing.
The problem is that errors messages or warnings could be prematurely displayed during the analysis thus be false because based on non final information.
The solution is to add a post-processing after the fixed point and delay the premature warning so that the information used is computed and reliable.
Moreover, the `useless null test because always null` is now brought back (it was disabled because caused too much unreliable noise)
Close #1257
Pull-Request: #1524
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>
Alexis Laferrière [Mon, 22 Jun 2015 13:42:06 +0000 (09:42 -0400)]
tests: skip nitpick args1 in niti and nitvm
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sun, 21 Jun 2015 21:06:16 +0000 (17:06 -0400)]
contrib/opportunity: gitignore .pot and .mo files
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sat, 20 Jun 2015 11:44:01 +0000 (07:44 -0400)]
src/i18n_phase: there's no need to unescape
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sat, 20 Jun 2015 11:48:51 +0000 (07:48 -0400)]
src/i18n_phase: breakup 2 complexe lines of code
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 19 Jun 2015 14:59:30 +0000 (10:59 -0400)]
src/i18n_phase: use an escape custom to gettext
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sat, 20 Jun 2015 03:02:54 +0000 (23:02 -0400)]
contrib/opportunity: add rule to build .mo files
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 19 Jun 2015 15:04:10 +0000 (11:04 -0400)]
contrib/opportunity: intro french translation
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 19 Jun 2015 15:02:49 +0000 (11:02 -0400)]
contrib/opportunity: hack to circumvent #1530
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 19 Jun 2015 15:01:24 +0000 (11:01 -0400)]
contrib/opportunity: prepare for i18n by separating the localized strings from the rest
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
BlackMinou [Sun, 21 Jun 2015 17:32:41 +0000 (19:32 +0200)]
geometry/quadtree: fixed use of the numerics
Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>
BlackMinou [Sun, 21 Jun 2015 17:35:58 +0000 (19:35 +0200)]
geometry/boxes: top and bottom in ILine were inversed...
Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>
Alexis Laferrière [Fri, 19 Jun 2015 15:00:24 +0000 (11:00 -0400)]
lib/text: protect the `format` method against inconsistencies
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>