Page 1 of 1

Как работает CURRENT_PATH?

Posted: Tue Nov 10, 2015 4:58 pm
by WanderFrank
Хотелось бы обратить внимание на странное поведение переменной CURRENT_PATH в Pixilang (на Windows).
При вызове программы из консоли (например pixilang_console.exe file_list.pixi) CURRENT_PATH ничего не содержит.
Однако, если запустить Pixilang без параметров, и запустить программу из диалогового окна, то всё работает нормально.
Это баг, фитча, или я что-то не понимаю?

Re: Как работает CURRENT_PATH?

Posted: Thu Nov 12, 2015 7:47 pm
by NightRadio
Проверил у себя. Да, так и есть, это не баг. CURRENT_PATH берется из имени запускаемого файла. В случае pixilang_console.exe file_list.pixi имеем только имя файла, а путь пустой - что означает текущую папку, из которой был запущен Pixilang. Это немножко странно, но в целом корректно :)

Re: Как работает CURRENT_PATH?

Posted: Fri Nov 13, 2015 10:34 am
by WanderFrank
Проверил запуск с длинным путём к файлу. CURRENT_PATH всё равно пустой.

Code: Select all

pixilang_console.exe d:\1\2\file_list.pixi
Однако, если путь записать с обратными слешами (как в Linux), то работает как надо

Code: Select all

pixilang_console.exe d:/1/2/file_list.pixi

Re: Как работает CURRENT_PATH?

Posted: Fri Nov 13, 2015 2:17 pm
by NightRadio
А вот это уже надо будет проверить... Похоже на баг

Re: Как работает CURRENT_PATH?

Posted: Thu Nov 26, 2015 11:12 pm
by VladTheCat
WanderFrank wrote:Проверил запуск с длинным путём к файлу. CURRENT_PATH всё равно пустой.

Code: Select all

pixilang_console.exe d:\1\2\file_list.pixi
Однако, если путь записать с обратными слешами (как в Linux), то работает как надо

Code: Select all

pixilang_console.exe d:/1/2/file_list.pixi
Возможный вариант - обратные слэши обрабатываются как escape-последовательности или коды символов. Именно по этой причине всегда и везде пути прописываю с прямыми слэшами (как раз "\" - обратный слэш)

Потому не думаю, что это баг. Просто так обрабатывается на уровне движка или ещё что-то.