2014-12-04 16 views
7

Sto provando a catturare l'output di diff con org-babel, ma per qualche motivo non funziona. Per i fileCatturare l'output di "diff" con org-babel

a b c 
a c b 

diff 1 2 chiamato dalla riga di comando restituisce

1c1 
< a b c 
--- 
> a c b 

Ma con org-babele, niente:

#+begin_src sh                                     
diff 1 2                                      
#+end_src                                      

#+RESULTS: 

Il minibuffer legge "Il blocco di codice non ha prodotto output". La finestra di output dell'errore di babel org è vuota. Altri comandi come ls mostrano l'output come previsto. Non ho familiarità con l'org-babel.

Ho provato a utilizzare :results output verbatim, nessuna modifica. Ho anche provato a utilizzare :results output replace come suggerito here. Non ha aiutato

versione
  • Emacs è 24.4.1 (su Debian Jessie)
  • versione Org-mode è 8.2.10

risposta

6

ho potuto riprodurre il problema (su OSX).

La cosa strana è che l'esecuzione del blocco babel aprirà il buffer Org-babel Error Output, come se qualcosa fosse destinato a STDERR.

Se si aggiunge un altro output dopo diff, i risultati verranno visualizzati OK. Ad esempio,

#+begin_src sh :results output 
diff 1 2 
echo 
#+end_src 

Se si forza i risultati del diff per stdout, i risultati saranno anche visualizzare:

#+begin_src sh :results output 
diff 1 2 | cat 
#+end_src 
+0

Grazie, che ha funzionato. Presenterò una segnalazione di bug. – Alex

+0

@Alex Hai mai inviato quel bug? Se è così, aggiungerò una patch ad esso - in caso contrario, invierò il mio, con una patch. –

+0

@AaronMiller Non ricordo. Ti suggerirei di aggiungere il tuo. – Alex