ИСПРАВЛЕНО: emacs:org-babel: ссылка на noweb расширяется с помощью лишней строки

Когда ссылка noweb в блоке исходного кода в режиме org расширяется, когда содержимое ссылки состоит только из одной строки, оно расширяет ссылку избыточной строкой. Это пример:

Исходный блок:

 #+srcname: test
 #+begin_src sh
 hello
 #+end_src

 #+begin_src sh :tangle ~/tmp/1.sh
 echo "<<test>>, world!"
 #+end_src

и результат расширения блока:

 echo "hello
 echo ", world!"

Как я могу изменить настройку ИЛИ, чтобы получить результат расширения следующим образом:

 echo "hello, world!"

Ответ: смотрите комментарий.

1 ответ

Решение

Какую версию орг-режима вы используете?

Я не уверен, почему вы добавляете новую строку, но ваш пример, как дано, не работает, потому что вы пропускаете :noweb yes Аргумент заголовка. У меня есть этот код:

testing

#+srcname: test                                                                 
#+begin_src sh                                                                  
hello                                                                           
#+end_src                                                                       

#+begin_src sh :tangle ~/tmp/1.sh :noweb yes                                    
echo "<<test>>, world!"                                                         
#+end_src

Когда я бегу org-babel-tangle (связан с C-c C-v C-t) Я получаю это:

tmp$ cat 1.sh 

echo "hello, world!"

Я использую версию в режиме org: 7.7 (release_7.7.303.g56de2c.dirty)

Другие вопросы по тегам