• Status Closed
  • Percent Complete
  • Task Type Bugs
  • Category Infrastructure → Build environment
  • Assigned To No-one
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version Release 3.8
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by sideral - 2011-03-09
Last edited by nls - 2011-04-07

FS#12003 - --deprecate is broken

“ –deprecate” does not deprecate strings correctly. Currently, it replaces each string with “none” (without the quotes) and deletes value of the “user:” attribute. Doing it this way effectively removes the string ID and renumbers all subsequent IDs. This definitely is wrong for the english.lang (master) file, as it breaks voice files and compiled translations. (I’m not sure whether it’s a good thing to do for any other lang file.)

As per IRC wisdom, the correct way to deprecate a lang ID seems to be to change each string to “”“” (the double-quoted empty string). In this case, genlang also requires a value in the “user:” attribute, so I suggest not deleting this value.

(Apparently, changing the strings to “deprecated” used to be supported as well, but that is currently rejected by genlang.)

Closed by  nls
2011-04-07 07:50
Reason for closing:  Fixed
Additional comments about closing:   Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407

Committed fixed version

nls commented on 2011-03-10 20:28

I’m pretty sure this fixes it


This almost does the trick. But as it deletes the “user” attribute, genlang now whines:

…/rockbox/apps/lang/english.lang:12878:1: warning: missing user!

Also, if there’s no plan to allow “deprecated” as an alias for “”“”, the corresponding comment should be deleted from the top of the english.lang file.


Available keyboard shortcuts


Task Details

Task Editing