[Neo] [NeoVars] makecompose.ahk vs. compose-gen.ahk
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
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
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-ſ