Eduardo Habkost <ehabk...@redhat.com> writes:

> On Mon, Oct 17, 2016 at 01:00:29PM +0200, Markus Armbruster wrote:
>> Eduardo Habkost <ehabk...@redhat.com> writes:
>> 
>> > On Thu, Oct 13, 2016 at 06:44:14PM +0200, Markus Armbruster wrote:
>> >> machine_set_property() replaces '_' by '-' in the property name.
>> >> Except it fails to replace an initial '_'.  Screwed up in commit
>> >> b0ddb8b.  Reproducer: "-M pc,__foo_bar=true" produces "Property
>> >> '._-foo-bar' not found".
>> >> 
>> >> Error messages using a mangled name rather than the name the user
>> >> actually wrote is user-hostile, but that's a different topic.
>> >> 
>> >> Signed-off-by: Markus Armbruster <arm...@redhat.com>
>> >
>> > Reviewed-by: Eduardo Habkost <ehabk...@redhat.com>
>> >
>> > I suggest we follow the same approach we used in the x86 CPU
>> > code: instead of requiring a special parser that magically
>> > translate strings, just add property aliases for the old names
>> > that contained "_". It would fix the user-hostile error messages
>> > as well.
>> 
>> Adding the aliases is slightly annoying, but it's probably the easiest
>> way to get decent error messages.
>
> I started working on it, but then I noticed I had do check for
> "_" in all TYPE_MACHINE subclasses and it would take more time
> than I expected. Then I put it at the end of my queue and went
> work on something else.
>
>> How can we ensure no new alias-requiring names get added?
>
> Being a style issue, maybe checkpatch.pl could detect some cases.
> It's not different from the other QOM classes.

Can we adopt the rule for all of QOM, and enforce it right when
properties get added?  Or at some other suitable time?

Reply via email to