Whereas, code that need only account for a single language, and uses spelled out Command options, will not break in the same version that breaks portability for the localised code. That's all I was trying to communicate... How one 'should' code is relative to one's product scope, IMO.
You are mistaken in your assertion that not using the underscore prefix helps to avoid breaking changes. There is no such case. Therefore, writing locale-friendly code is always better.
I've already cited one such case (
linked above), and clearly pointed out the infrequency of such happening often... I'm not arguing what is better here, simply pointing out the fact that using localisation has in inherent flaw as designed by Autodesk.
This potential issue is also (
albeit surprisingly) documented as an example under
INITCOMMANDVERSION in the help.
Here's an example, with and without initialized command version, where both use localised Command option, and only
one is successful:
Command: (progn (initcommandversion 1) (command "._fillet" "_n" pause))
fillet
Current settings: Mode = TRIM, Radius = 0.0000
Select first object or [uNdo/Polyline/Radius/Trim/mUltiple]: _n
Command has been completely undone.
Select first object or [uNdo/Polyline/Radius/Trim/mUltiple]: *Cancel*
Command: ; error: Function cancelled
Command: (progn (initcommandversion 2) (command "._fillet" "_n" pause))
fillet
Current settings: Mode = TRIM, Radius = 0.0000
Select first object or [Undo/Polyline/Radius/Trim/Multiple]: _n
*Invalid selection*
Expects a point or
Window/Last/Crossing/BOX/Fence/WPolygon/CPolygon/Undo/Polyline/Radius/Trim
; error: Function cancelled
Select first object or [Undo/Polyline/Radius/Trim/Multiple]: *Cancel*
Command:
... Yet in the same version, also with and without initialized command version, spelling out the Command option (
in lieu of using localised Command option) works in both:
Command: (progn (initcommandversion 1) (command "._fillet" "undo" pause))
fillet
Current settings: Mode = TRIM, Radius = 0.0000
Select first object or [uNdo/Polyline/Radius/Trim/mUltiple]: undo
Command has been completely undone.
Select first object or [uNdo/Polyline/Radius/Trim/mUltiple]: *Cancel*
Command: ; error: Function cancelled
Command: (progn (initcommandversion 2) (command "._fillet" "undo" pause))
fillet
Current settings: Mode = TRIM, Radius = 0.0000
Select first object or [Undo/Polyline/Radius/Trim/Multiple]: undo
Command has been completely undone.
Select first object or [Undo/Polyline/Radius/Trim/Multiple]: *Cancel*
Command: ; error: Function cancelled
If you continue to insist that I am mistaken, that's fine, I respect your opinion, and kindly ask that you site your source so that I may educate myself where I am wrong... As what you have stated is not the behavior observed here, nor in my limited experience.
Cheers