Линус Торвалдс се възпротиви на парсерите Kconfig, които не поддържат табулация.

Линус Торвальдс отказа се да приеме в ядрото изменение, заменящо символа табулация с пробел в разделителя на параметъра FTRACE_RECORD_RECURSION_SIZE в конфигурацията на ядрото Kconfig. Предложението беше представено от разработчик на проекта Fedora с коментар, че използването на табулации води до срив в работата на парсера за конфигурация. Вместо предложеното изменение Линус включи в ядрото свой патч, който специално добавя символите табулация в определението на настройката PAGE_SHIFT, задаваща отместването за различни размери на страници памет.

Добавянето на табулации в настройките, по-значителни от FTRACE_RECORD_RECURSION_SIZE, се обяснява с това, че във файла с настройки на ядрото е позволено използването както на пробели, така и на табулации, затова ако парсерът не може да разбира нормално ред с табулация — това е проблем на парсера, който трябва да бъде решен в него. Командата „make defconfig“ коректно приема табулации, затова и външните парсери също трябва да ги обработват.

Присъствието на табулации в предоставения в ядрото Kconfig, наред с пробелите, ще позволи откриването на проблемни парсери и ще стимулира тяхното поправяне. Идеята да се адаптира ядрото към сблъскващите се парсери се възприема като недостатъчна, тъй като дори ако в еталонния Kconfig винаги ще има само пробели, обикновеният потребител има право да използва табулации в настройките на своите системи и такова използване може да доведе до сривове в непоправените външни парсери.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster