Saya ingin dapat melaporkan peringatan dan kesalahan saat mengevaluasi blok kode Python dalam file Org.
Ketika blok kode memiliki kesalahan sintaksis Python, Org membantu memunculkannya dalam buffer terpisah yang disebut *Org-Babel Error Output*
. Akan lebih baik untuk dapat mengirim peringatan saya sendiri di sana juga, sambil tetap mempertahankan kemampuan untuk mengembalikan hasil array ke mode Org sebagai menggunakan tabel :results value
.
Untuk lebih jelasnya, berikut adalah contoh tiruan dari jenis hal yang saya pikir mungkin berhasil:
#+BEGIN_SRC python
import sys
sys.stderr.write('Warning.\n')
sys.stderr.flush()
return [['Table', 'header'], ['table', 'data']]
#+END_SRC
#+RESULTS:
| Table | header |
| table | data |
Diedit untuk ditambahkan: Diskusi ini pada daftar mode-org menyarankan bahwa output kesalahan hanya ditampilkan ketika evaluasi blok kode gagal. Jadi sepertinya ini mungkin, tetapi hanya dengan membatalkan evaluasi menggunakan exit(1)
atau serupa.
Jawaban:
Seperti dijelaskan oleh Eric Schulte di
org-mode
milis (lihat tautan dalam pertanyaan) kita dapat memodifikasiorg-babel-eval
untuk mencapai ini:Sekarang jika
org-babel-eval-verbose
diatur ket
, output dicetak ke stderr selama evaluasi blok kode sumber muncul di jendela terpisah sama seperti jika evaluasi kode sumber gagal.sumber