[Neo] [NeoVars] makecompose.ahk vs. compose-gen.ahk

2009-07-15 Thread Dennis Heidsiek

Hallo allerseits,


herzlich willkommen zu einer neuen Folge unserer nicht wirklich 
beliebten Serie »Dennis-ſ nervt Mœsi mit Rückfragen zum NeoVars« ;-).


Diesmal geht es mir um die Unterschiede der beiden Quelldateien 
compose-gen.ahk¹ und makecompose.ahk².


Das Build-Skript³ ruft die makecompose auf, wogegen die neo20-all⁴ die 
compose-gen einbindet – doch sind sich diese beiden Dateien sehr ähnlich 
und stimmen sogar zu einem großen Teil überein (bei der Definition der 
ganzen XKB-Compose-Symbole, um genau zu sein, da gibt es nur ein paar 
kleine Unterschiede).


Von daher lautet meine Frage: Könnten diese beiden Dateien nicht 
sinnvollerweise vereinigt werden bzw. der XKB-Teil in eine eigene Datei 
ausgelagert werden? Doppelter Code ist meines Erachtens grundsätzlich 
fehleranfällig und sollte vermieden werden. Oder irre ich mich in diesem 
Fall?



Viele Grüße,
Dennis-ſ


… der sich einfach nicht traut, irgendetwas Substanzielles am NeoVars 
ohne Mœsis Segen zu verändern.



¹ 
http://wiki.neo-layout.org/browser/windows/neo-vars/src/source/compose-gen.ahk
² 
http://wiki.neo-layout.org/browser/windows/neo-vars/src/source/makecompose.ahk

³ http://wiki.neo-layout.org/browser/windows/neo-vars/src/make-compose.bat
⁴ http://wiki.neo-layout.org/browser/windows/neo-vars/src/neo20-all.ahk




Re: [Neo] [NeoVars] makecompose.ahk vs. compose-gen.ahk

2009-07-16 Thread Matthias Wächter

Hallo Dennis!

On 7/15/2009 4:42 PM, Dennis Heidsiek wrote:
herzlich willkommen zu einer neuen Folge unserer nicht wirklich 
beliebten Serie »Dennis-ſ nervt Mœsi mit Rückfragen zum NeoVars« ;-).


Macht mir garnichts! :-)

Diesmal geht es mir um die Unterschiede der beiden Quelldateien 
compose-gen.ahk¹ und makecompose.ahk².


Das Build-Skript³ ruft die makecompose auf, wogegen die neo20-all⁴ die 
compose-gen einbindet – doch sind sich diese beiden Dateien sehr ähnlich 
und stimmen sogar zu einem großen Teil überein (bei der Definition der 
ganzen XKB-Compose-Symbole, um genau zu sein, da gibt es nur ein paar 
kleine Unterschiede).


Von daher lautet meine Frage: Könnten diese beiden Dateien nicht 
sinnvollerweise vereinigt werden bzw. der XKB-Teil in eine eigene Datei 
ausgelagert werden? Doppelter Code ist meines Erachtens grundsätzlich 
fehleranfällig und sollte vermieden werden. Oder irre ich mich in diesem 
Fall?


Du hast vollkommen recht. Ursprünglich war es auch so gedacht, nach den erfolgreichen Tests der Startup-Konvertierung zusammengeführt zu werden. Ich 
muss mal die Zeit dafür finden.


… der sich einfach nicht traut, irgendetwas Substanzielles am NeoVars 
ohne Mœsis Segen zu verändern.


Grundsätzlich freue ich mich, wenn ich NeoVars mit Anderen teilen kann und es Mehrere gibt, die sich mit dem Code auskennen und ihn in möglichst 
vollem Umfang warten können. Mir ist klar, dass die Sache mit den Variablen gewöhnungsbedürftig ist, was aber mehrere gute Gründe hat:


• AHK kennt keine Arrays oder Hashes. Dadurch müssen assoziative Dinge über den 
Variablennamen gelöst werden.
• Variablennamen sind Case-Insensitive. Wohl eine der größten Probleme: Dadurch kann ich nicht das Unicodezeichen selbst in den Variablennamen 
reinnehmen und brauche stattdessen diese unlesbaren Uxx-Angaben.
• AHK-Quellcode ist in nativem Encoding, niemals in UTF-8. Dadurch kommt es wahlweise im Editor oder in AHK selbst zu Unstimmigkeiten über den 
Dateninhalt, wenn man Zeichen richtig darstellbar eingeben will. Z.B. könnte man sagen: »CDUDFUDF := "ſs"«, eventuell auch 
»DefineCompose("ßß","ſs")« mit einer geeigneten Funktion. Da diese Zeichen nur als UTF-8 überhaupt darstellbar sind, würde ein anschließendes 
»Msgbox,Gefällt Ihnen das?« als »GefĤllt Ihnen das?« angezeigt.
• AHK unterscheidet nicht zwischen Strings und Zahlen und führt dazwischen automatische Konvertierungen durch. Dadurch ist eine Zeichen- und 
Compose-Definition ohne Uxx zumindest schwieriger zu spezifizieren und vermutlich auch deutlich langsamer beim Interpretieren.


Nichts desto trotz werde ich einen Rewrite von NeoVars ins Auge fassen, damit 
auch Andere sich mit der Wartung und Erweiterung leichter tun.

Der Sommer ist noch lang, ich habe gerade 1 Jahr Neo gefeiert! ;-)

lG,
– Mœsi-vars




signature.asc
Description: OpenPGP digital signature


Re: [Neo] [NeoVars] makecompose.ahk vs. compose-gen.ahk

2009-07-16 Thread Dennis Heidsiek

Hallo Mœsi,


Matthias Wächter ſchrieb am 16.07.2009 11:55 Uhr:

On 7/15/2009 4:42 PM, Dennis Heidsiek wrote:
herzlich willkommen zu einer neuen Folge unserer nicht wirklich 
beliebten Serie »Dennis-ſ nervt Mœsi mit Rückfragen zum NeoVars« ;-).


Macht mir garnichts! :-) 


Prima :-).

Diesmal geht es mir um die Unterschiede der beiden Quelldateien 
compose-gen.ahk¹ und makecompose.ahk².


Du hast vollkommen recht. Ursprünglich war es auch so gedacht, nach 
den erfolgreichen Tests der Startup-Konvertierung zusammengeführt zu 
werden. Ich muss mal die Zeit dafür finden.


Es eilt ja nicht – ich hatte mich nur gewundert, ob das irgendeinen 
tieferen Sinn hat oder einfach nur »übriggeblieben« ist.


Grundsätzlich freue ich mich, wenn ich NeoVars mit Anderen teilen kann 
und es Mehrere gibt, die sich mit dem Code auskennen und ihn in 
möglichst vollem Umfang warten können.


Da finde ich auch, aber derzeitig ist diese Gruppe doch recht überschaubar …

Nichts desto trotz werde ich einen Rewrite von NeoVars ins Auge 
fassen, damit auch Andere sich mit der Wartung und Erweiterung 
leichter tun.


Das hört sich sehr vielversprechend an! :-)

Aber wie Du selbst geschrieben hast, kommen einige Probleme (wie die 
›kryptischen‹ Variablennamen) vom AHK her und können deshalb leider 
nicht von uns abgestellt werden.



Der Sommer ist noch lang, ich habe gerade 1 Jahr Neo gefeiert! ;-)


Dann nochmal herzliche Glückwünsche nachträglich zum ›Einjährigem‹! ;-)


Viele Grüße,
Dennis-ſ