Bug 27915

Summary: Табуляция в начале строки в ini_config_set
Product: Sisyphus Reporter: Andrey Cherepanov <cas>
Component: libshellAssignee: Alexey Gladkov <legion>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P3 CC: legion, mike
Version: unstable   
Hardware: all   
OS: Linux   

Description Andrey Cherepanov 2012-11-02 15:39:43 MSK
$ . /bin/shell-ini-config
$ echo "[global]" > t
$ ini_config_set t global 'param' "val"
$ cat t
[global]
$ echo "exist_param = yes" >> t
$ ini_config_set t global 'param' "val"
$ cat t
[global]
exist_param = yes
 param = val

Проблемы:
1. Если нет ни одного параметра в секции, то ничего не добавляется.
2. Добавляемая строка имеет пробел в начале строки.
Comment 1 Andrey Cherepanov 2012-11-02 15:41:02 MSK
При изменения значения существующего параметра пробел не добавляется.
Comment 2 Alexey Gladkov 2012-11-02 15:59:53 MSK
У меня не воспроизводится. Я сделал:

. ./shell-ini-config
echo "[global]" > ./test.ini
ini_config_set ./test.ini global 'param' "val"
cat ./test.ini

Получил:

<=== test.ini ===
[global]

<--->param = val
================>

Если сделать "echo -n ...", то будет:

<=== test.ini ===
[global]
<--->param = val
================>

Там не пробел, а табуляция. У меня в примере она отмечена как '<--->'.
Comment 3 Michael Shigorin 2012-11-02 17:32:45 MSK
По-моему, это был максимум FR на стилевой вопрос -- сделать ручку для выбора, ставить или нет leading \t (добавление которого перед новыми записями для libshell-0.1.7-alt1 подтверждаю).
Comment 4 Andrey Cherepanov 2012-11-02 17:33:28 MSK
Алексей, а это можно переназначить переменной в 
http://git.altlinux.org/gears/l/libshell.git?p=libshell.git;a=blob;f=libshell/shell-ini-config;h=ea11aecdfdc71377f46f0b769013699f9b5a78ff;hb=sisyphus#l81

Чтобы табуляция не была прибита явно для тех файлов, где отступов обычно нет (например, smb.conf, *.desktop)?
Comment 5 Alexey Gladkov 2012-11-02 18:18:04 MSK
Аааа... Понял. Я согласен. Я сделаю как с комментариями.
Comment 6 Alexey Gladkov 2012-11-06 00:00:31 MSK
Прошу проверить 0.1.7-alt1-1-g71fd341
Comment 7 Andrey Cherepanov 2012-11-14 13:22:35 MSK
(В ответ на комментарий №6)
> Прошу проверить 0.1.7-alt1-1-g71fd341
Прекрасно работает при 
export shell_ini_config_prefix=''

Ещё и сразу переформатирует файл в зависимости от установленного отступа. Думаю, можно отправлять.
Comment 8 Repository Robot 2012-11-14 17:37:25 MSK
libshell-0.1.8-alt1 -> sisyphus:

* Wed Nov 14 2012 Alexey Gladkov <legion@altlinux> 0.1.8-alt1
- shell-ini-config changes:
  + Fix empty lines at EOF (ALT#27974).
  + Indentation in the ini-file can be configured by
    shell_ini_config_prefix (ALT#27915).