Updating KMN from version 8.0

Many years after I designed a cuneiform input keyboard, someone has asked to use it and I am trying to update it from Keyman 8.0 to the current system. Needless to say, I’m totally rusty and much has changed.

An initial attempt to compile has complained about this line:

                        + $cSpace           > use( Convert ) deadkey( dkSpace ) 

saying that there should be nothing after the “use”. Evidently, this used to be legal but no longer is…

Is there a quick patch (new syntax or the like)? Failing that, is there some documentation out there which can help me migrate the various syntax upgrades I am likely to have to make (I assume this won’t be the last thing…)

Many thanks! Ultimately, the purpose is to make this keyboard available for general use.

Welcome to the community.

There is a ref on the use statement at use() statement.

For Keyman Developer user guide, go to Keyman Developer 14.0 User Guide.

1 Like

Hello, and thanks. I had already seen that, but that only really confirms my problem.

I also saw the guide but I was hoping there were specific version upgrade docs as otherwise I more or less have to relearn the whole thing…

There are very few language changes between 8.0 and 14.0. Mostly, the changes are tightening up ambiguities. The use() statement requirement was one of those few ambiguities – there are complications with context() and index() statements after a use() (due to some internal limitations in Keyman Engine), and some difficulty in figuring out interactions between output and subsequent contexts, none of which are unsolveable, but which we have not had the capacity to deal with.

The only other ambiguity we have tidied up I believe is the order of certain statements in the context.

We have what I believed to be a complete language history here: Keyman language history. But I see that the use() statement change requirement is missing there – something we need to fix; I’ve added an issue to address this.

Hello Marc, (I should really say G’day, as I recall…)

So nice to hear from you! As a matter of fact, the last time I looked at this was in conversation with you, about a decade ago. I just never got around to uploading at the time….

Ok, so perhaps there may not be much maintenance required beyond this problem. In which case maybe the thing for me to do is to look at how to rewrite this. This rule had to do with undoing an accented character and resetting the dead accent flag (I’m not n at the code at the moment).

I’ll see whether I can clear my thinking tomorrow. Maybe all I need to do is creates new group or something and use that instead….

Much appreciated!

1 Like