Development history of Finto in 2012

2012-11-29 (start of version A-00)

Start. First prototype. It works great!


Syntactic sugar, synonyms and abbrs for the narrative. Passage visits count field. Subpassages. Config variables for the keyword's color and marks. If the keyword has a trailing punctuation char, it's removed. Different optional marks for the start and the end of printed keywords.


Simpler syntax for (sub)passages. The old one was:

  ( definition )
  ; passage-id passage!

The new one is:

passage-id :passage
  ( definition )

Clearer definition and management of the keywords table.


Clearer code for command input.

Refactorized code for passage and subpassage definitions.

Fixed: if the last char of a keyword is a punctuation char, it's not included in the link marks.

Configurable link colors.

Configurable link uppercaseness.

UTF-8 support.

Case insensitive: Keywords and commands are converted to lowercase.


The this value is implemented in (sub)passage definitions.

The passages counter is updated every time a passage id is created.


A link is created only when its maximum number of visits has not been reached.

Keywords are copied (with >sb) to the string buffer before storing. Otherwise they may be modifed in their original location in the dictionary.


Conditional links: ?link and ?+link.


Fixed: 3drop was missing.


Fixed: keyword! stored the keyword before changing it to lowercase.


Fixed: now -trailing_punctuation checks empty strings; this finally makes empty links possible.