===========================================================================
Path: natural
Distribution: fido7
From: "Serge Olkhowik" <solo(a)isd.dp.ua (Serge Olkhowik)>
X-Comment-To: All
Newsgroups: RU.GNU
Subject: mule + -*- coding: -*- in perl/tcl/etc
Message-ID: <3d0b3481(a)p2.f227.n464.z2.fidonet>
Date: 15 Jun 02 15:35:13
Lines: 24
Sender: solo@NATURAL
Subject: mule + -*- coding: -*- in perl/tcl/etc
User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2
Раньше работал под HТ-й с perl и заворачивал все в cmd, но тут возник
вопрос о написании межплатформенной тулзовинки.
в муле кодировку файла можно удобно задавать через -*- в первой строке
файла, для TeX и прочих это проблем не создает.
HО вот как быть с perl/tcl/etc, когда в первой строке должно стоять нечто в
стиле
#!/usr/bin/perl -w
или
#!/usr/bin/wish -f
Еще есть такая штука, как Local Variables, но почему-то кодировку он из них
не подхватывает :( (только для eLisp-файлов)
Кто-то эту проблему решал?
--
ISD Configuration Management Team
solo(a)isd.dp.ua 2:464/227@fidonet ICQ:74383178
--- InterSquish NNTP Server/FTN Gate v.1.7.0.1
* Origin: Default InterSquish Origin (2:464/227.2)
===========================================================================
В случае последних изысканий добавлю:
вот пример на перле:
#!/usr/bin/perl -w
# Local Variables:
# coding: cp1251
# End:
так вот - NTEmacs, Emacs/linux 21.2 это дело нормально
отображают. XEmacs+MULE/win32 21.5, XEmacs+MULE/linux 21.4 с нормально
прописаным алиасом на cp1251 вида:
;; настройки только для XEmacs
(defun so-emacs-russian-mule-xemacs ()
(define-coding-system-alias 'cp1251 'windows-1251)
(define-coding-system-alias 'koi8-ru 'koi8-r))
не работает (хотя через -*- coding: cp1251 -*- - нормально)
кто-то может подсказать единое решение для обоих сред?
--
ISD Configuration Management Team
solo(a)isd.dp.ua 2:464/227@fidonet ICQ:74383178
Show replies by date
Serge Olkhowik wrote:
: Раньше работал под HТ-й с perl и заворачивал все в cmd, но тут возник
: вопрос о написании межплатформенной тулзовинки.
:
: в муле кодировку файла можно удобно задавать через -*- в первой строке
: файла, для TeX и прочих это проблем не создает.
:
: HО вот как быть с perl/tcl/etc, когда в первой строке должно стоять нечто в
: стиле
:
: #!/usr/bin/perl -w
: или
: #!/usr/bin/wish -f
:
Для perl это не проблема, он в первой строке `-*- чтобы-то-нибыло -*-'
игнорирует. Покрайней мере скрипт
#!/usr/bin/perl -w -*- sql -*-
print("Hello!\n");
exit(0);
perl'ом интерпретируется без проблем, а XEmacs назначает ему
sql-mode ;-)
Есть и второй вариант: поместить `-*- что-то-там -*- не в первую, а во
вторую строку. XEmacs ее найдет и приймет к сведению, а интерпретаторы
уже ее не заметят. Ибо не все интерпретаторы столь же хорошо
осведомлены про Emacs/XEmacs, как perl. Т.о. следующий shell script
будет работать, но XEmacs будет опять-таки назначать ему sql-mode:
#!/bin/sh
# -*- sql -*-
echo Hello
Если же прописать `-*- sql -*-' в первой строке (а не во второй, как
сделано), то shell вудет удивлен обилием неизвесных ему опций ;-)
--
Andrew W. Nosenko (awn(a)bcs.zp.ua)
===========================================================================
Path: natural
Distribution: fido7
From: "Serge Olkhowik" <solo(a)isd.dp.ua (Serge Olkhowik)>
X-Comment-To: All
Newsgroups: RU.GNU
Subject: mule + -*- coding: -*- in perl/tcl/etc
Message-ID: <3d0b3481(a)p2.f227.n464.z2.fidonet>
Date: 15 Jun 02 15:35:13
Lines: 24
Sender: solo@NATURAL
Subject: mule + -*- coding: -*- in perl/tcl/etc
User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2
Раньше работал под HТ-й с perl и заворачивал все в cmd, но тут возник
вопрос о написании межплатформенной тулзовинки.
в муле кодировку файла можно удобно задавать через -*- в первой строке
файла, для TeX и прочих это проблем не создает.
HО вот как быть с perl/tcl/etc, когда в первой строке должно стоять нечто в
стиле
#!/usr/bin/perl -w
или
#!/usr/bin/wish -f
Еще есть такая штука, как Local Variables, но почему-то кодировку он из них
не подхватывает :( (только для eLisp-файлов)
Кто-то эту проблему решал?
--
ISD Configuration Management Team
solo(a)isd.dp.ua 2:464/227@fidonet ICQ:74383178
--- InterSquish NNTP Server/FTN Gate v.1.7.0.1
* Origin: Default InterSquish Origin (2:464/227.2)
===========================================================================
В случае последних изысканий добавлю:
вот пример на перле:
#!/usr/bin/perl -w
# Local Variables:
# coding: cp1251
# End:
так вот - NTEmacs, Emacs/linux 21.2 это дело нормально
отображают. XEmacs+MULE/win32 21.5, XEmacs+MULE/linux 21.4 с нормально
прописаным алиасом на cp1251 вида:
;; настройки только для XEmacs
(defun so-emacs-russian-mule-xemacs ()
(define-coding-system-alias 'cp1251 'windows-1251)
(define-coding-system-alias 'koi8-ru 'koi8-r))
не работает (хотя через -*- coding: cp1251 -*- - нормально)
кто-то может подсказать единое решение для обоих сред?
--
ISD Configuration Management Team
solo(a)isd.dp.ua 2:464/227@fidonet ICQ:74383178