[sisyphus] I: xrdb и ресурс Tranlations

Sergey Vlasov vsu на altlinux.ru
Вс Авг 22 16:21:10 UTC 2010


On Sun, Aug 22, 2010 at 07:31:46PM +0400, Alexey I. Froloff wrote:
> На случай если кто пользуется xrdb и Translations (yes, I am from
> the past), имейте в виду, что оно работает немного не так, как
> пишут в этих ваших интернетах.  Или (что более вероятно),
> поведение зависит от наличия отсутствия установленного cpp.
> 
> Не работает (cpp установлен):
> 
> *Text*translations:	#override \
> 	<Key>Home: beginning-of-line() \n\
> 	<Key>KP_Home: beginning-of-line() \n\
> 	<Key>End: end-of-line() \n\
> 	<Key>KP_End: end-of-line()
> 
> Работает:
> 
> *Text*translations:	#override \\
> 	<Key>Home: beginning-of-line() \n\\
> 	<Key>KP_Home: beginning-of-line() \n\\
> 	<Key>End: end-of-line() \n\\
> 	<Key>KP_End: end-of-line()

Без установленного cpp пакет xrdb просто не установится.  А вот от
версии этого cpp результат действительно зависит - в версии 4.4 символ
конца строки в данном случае не удаляется:

$ printf 'a\\\n b\n' | cpp-4.4 -E -
# 1 "<stdin>"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "<stdin>"
a
 b

В предыдущей версии было:

$ printf 'a\\\n b\n' | cpp-4.3 -E -
# 1 "<stdin>"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "<stdin>"
a b

Но есть объезд:

$ printf 'a\\\n b\n' | cpp-4.4 -E -traditional-cpp -
# 1 "<stdin>"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "<stdin>"
a b

Можно сделать, например, такую затычку:

$ cat ~/bin/xrdb 
#!/bin/sh
exec /usr/bin/xrdb -cpp 'cpp -traditional-cpp' "$@"
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: Digital signature
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20100822/c481ac22/attachment-0001.bin>


Подробная информация о списке рассылки Sisyphus