My take on this is following: To have a rule of no clash for abbreviations with ModuleName is unreasonable. The whole point of Abbreviation is that i can name my modules how they are named in common parlance. Irrespective of if there is somewhere else, in a language i do not care about a module which uses module's Abbreviation as ModuleName.
At the same time, soneone who has two modules installed where a clash is a problem needs a way out. Two options: 1) let the user fix it if there is a clash, assist the user finding clashes, e.g. during install. 2) do not allow Abbreviation in the url. Peter Sent from my phone. Apologies for brevity and typos.On 31 Aug 2015 23:59, Karl Kleinpaste <k...@kleinpaste.org> wrote: > > The particular example at hand is KJV vs. engKJV2006. I know that Michael is > removing the latter from eBible repo, but this is a specific instance of a > general problem. So I will use it as my example. > > Problem: KJV is a real module name. engKJV2006.conf contains > Abbreviation=KJV. > > David Haslam noticed a glitch in my new Xiphos 4.0.4: If one is currently > displaying KJV, and uses the context menu by which to change one of the > module settings (e.g. en/disable Strong's or morph), then engKJV2006 is > substituted in display. The option change requested is recorded for KJV, but > engKJV2006 is displayed according to its previously-defined options. > > The sequence by which Xiphos trips over this is: > - Xiphos uses the real non-abbrev name KJV by which to change the option > requested. Fine so far. > - Xiphos then constructs an internal URL by which to induce re-render of the > chapter under the new option setting, e.g. sword://KJV/Gen.1.1. In > principle, this is again fine so far. > - This URL is handed to a different part of Xiphos which expects to evaluate > module abbreviations. Here, it finds that KJV is an abbreviation for > engKJV2006, so it substitutes the latter even though KJV was being displayed > and had just had its options changed. > > The error is one-way: If KJV is displayed, and an option is changed, > engKJV2006 will be substituted. But if engKJV2006 is displayed, and an > option is changed, engKJV2006 will still be displayed. This gives an odd > "higher value" on the aliased name rather than the real one. > > As I've thought about this, my conclusion is that the fundamental problem is > not that Xiphos wants to re-interpret potential abbreviations so as to find > real module names; rather, the problem is that there is in effect a pretender > to the name. Abbreviation=XYZ must never name a real module already named > XYZ. This is an inherent semantic conflict that I think is not reasonably > resolvable. For example, some frontends including Xiphos can be started > using such a URL as a command line argument. How is the user to get the real > module, if the abbreviated pretender is always to be preferred? > > I believe I would like to see us make a policy requirement statement to this > effect, i.e. that Abbreviation=XYZ must not name an existing real module XYZ. > > Aside: Michael suggested that the Abbreviation config directive is > language-specific, i.e. if thaKJV2003.conf contained Abbreviation=KJV, this > would be an alias specific to the ภาษาไทย (Thai) group of modules and would > not "cross over" to English modules. I cannot find any support for this > specificity anywhere in the wiki. Could someone more knowledgeable clarify? > > --karl _______________________________________________ sword-devel mailing list: sword-devel@crosswire.org http://www.crosswire.org/mailman/listinfo/sword-devel Instructions to unsubscribe/change your settings at above page