org-babel, ruby ​​и кодировка

Когда я оцениваю блоки кода ruby ​​внутри организационного режима, я сталкиваюсь с ошибками utf-8.

и действительно, если я это сделаю

#+BEGIN_SRC ruby :exports both :results output
  puts RUBY_VERSION
  puts __ENCODING__
#+END_SRC

#+RESULTS:
: 2.1.1
: US-ASCII

и когда я пытаюсь оценить

#+BEGIN_SRC ruby
  'Aurélien'
#+END_SRC

Я получаю эту ошибку в разделе Вывод ошибок Org-Babel

-:3: invalid multibyte char (US-ASCII)
-:3: invalid multibyte char (US-ASCII)
-:3: syntax error, unexpected end-of-input, expecting keyword_end
'Aurélien'

Если я запускаю буфер inf-ruby, я могу использовать utf-8, проблем нет. Я думаю, что это проблема с org-babel.

моя конфигурация:

  • M-x emacs-version 24.4.1
  • M-x org-version 8.2.10
  • M-! ruby --version 2.1.1p76
  • из списка пакетов: inf-ruby 20141005.550 установлен

В моем файле инициализации у меня есть

(prefer-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-selection-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
(setq buffer-file-coding-system 'utf-8)
(setq erc-server-coding-system '(utf-8 . utf-8))
(setq locale-coding-system 'utf-8)
;; Treat clipboard input as UTF-8 string first; compound text next, etc.
(setq x-select-request-type '(UTF8_STRING COMPOUND_TEXT TEXT STRING))

Можно ли изменить настройку, чтобы использовать utf-8 по умолчанию для блоков кода ruby ​​и org-babel?


person Aurélien Bottazini    schedule 16.11.2014    source источник
comment
У меня работает нормально. Последняя организация из git.   -  person abo-abo    schedule 16.11.2014
comment
а еще ты забыл puts   -  person abo-abo    schedule 16.11.2014
comment
Меня не волнует puts в моем примере. puts или нет, я получаю сообщение об ошибке.   -  person Aurélien Bottazini    schedule 16.11.2014
comment
Тогда обнови до последней версии   -  person abo-abo    schedule 16.11.2014
comment
Я использую последнюю стабильную орг.   -  person Aurélien Bottazini    schedule 16.11.2014


Ответы (1)


Я нашел проблему.

На моем Mac Emacs с кодировкой среды GUI по умолчанию — C.

В моем файле инициализации я указал кодировку среды с помощью

(setenv "LANG" "fr_FR.UTF-8")
(setenv "LC_ALL" "fr_FR.UTF-8") 

и org-babel его правильно подхватывает

person Aurélien Bottazini    schedule 16.11.2014