Bug 8644

Summary: неправильная обработка экранирования символов
Product: Sisyphus Reporter: kirill <kirill>
Component: ALDConvertAssignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P2    
Version: unstable   
Hardware: all   
OS: Linux   

Description kirill 2005-12-14 13:53:14 MSK
Исходная разметка:
({Настройка}-\>{ALT Linux}-\>{Пользователи})

HTML-вывод:
(Настройка->{ALT Linux}->{Пользователи}).

Первое слово -- "Настройка" -- выведено курсивом, как и должно быть, остальное прямым.
Comment 1 Fr. Br. George 2005-12-15 16:59:09 MSK
Экранирование и в самом деле работает хреновато, но здесь проблема глубже.
"->" -- это самостоятельная текстовая единица. Пока мы не придумали, как её
обозначит, она останется verbatim, то есть ^->^. А вопрос в том, каким
синтаскическим элементом считать квотированный символ. Буквой? Тогда он может
применяться только там, где уместно слово. Знаком препинания? Тогда как вокруг
него расставлять пробелы?
Comment 2 Fr. Br. George 2005-12-16 03:43:01 MSK
Исправлено в -alt8: экранируется всё, экранированный символ считается буквой
Comment 3 kirill 2005-12-16 12:05:34 MSK
> Экранирование и в самом деле работает хреновато, но здесь проблема глубже.
> "->" -- это самостоятельная текстовая единица. Пока мы не придумали, как её
> обозначит, она останется verbatim, то есть ^->^. А вопрос в том, каким
> синтаскическим элементом считать квотированный символ. Буквой? Тогда он может
> применяться только там, где уместно слово. Знаком препинания? Тогда как вокруг
> него расставлять пробелы?

Ну, чтобы решить вопрос, чем считать правильно экранированный символ, нужно 
знать конкретные правила обработки букв/знаков препинания, которые у тебя
используются; Может, для экранированных (вернее, неалфавитных, которые 
приходится экранировать) символов вообще нужно ввести отдельные класс со 
своими правилами расстоновки пробелов.