Mode batch Emacs tidak mengenali file org di osx

Saya mencoba menggunakan emacs -batch untuk membuat file csv yang menampilkan semua item tugas di file mode organisasi saya. Ini berfungsi dengan baik di kotak linux saya, tetapi saya tidak bisa membuatnya berfungsi di OSX.

Inilah perintah yang saya gunakan:

emacs -batch -l ~/.emacs org-mode -eval '(org-batch-agenda-csv "t")'

OSX tidak mengenali org-batch-agenda-csv, namun akan mengenali versi non-csv:

emacs -batch -l ~/.emacs org-mode -eval '(org-batch-agenda "t")'

Namun, ini masih tidak berhasil. Itu muncul kembali dengan respons berikut:

Agenda file ~/projects.org is not in `org-mode'

Saya pikir saya telah mempersempit akar masalahnya. Emacs dan emacs yang dibuka oleh terminal bekerja secara berbeda. Emacs akan mengenali file organisasi saya secara otomatis, tetapi jika saya membukanya di terminal, emacs akan mulai dalam mode dasar. Saya pikir jika saya bisa mendapatkan mode terminal emacs untuk mengenali file organisasi secara otomatis, masalahnya akan hilang. Anehnya, sepertinya tidak ada masalah dalam mengenali jenis file lain secara otomatis. Sepertinya ia tidak benar-benar membaca file .emacs saya.

Sepertinya saya tidak dapat menemukan apa pun melalui Google. Semoga saya bukan satu-satunya orang yang mengalami masalah ini.

Hargai setiap petunjuk yang dapat Anda bantu.

-- Rusia


person Rusty    schedule 19.10.2016    source sumber
comment
Versi Emacs mana yang Anda gunakan? Biasanya, pada OS X emacs meluncurkan Emacs 22, yang tidak memiliki dukungan untuk mode org. Sebagai gantinya, coba gunakan biner Emacs di dalam Emacs.app.   -  person Lindydancer    schedule 19.10.2016
comment
Ya! (versi emacs) tampilkan versi 22 di terminal tetapi 24 jika saya menggunakannya di luar terminal, tetapi mendukung mode-org. Saya hanya perlu memanggil mode-org secara manual. Ia tidak secara otomatis mengenalinya.   -  person Rusty    schedule 20.10.2016


Jawaban (1)


Terima kasih Lindydancer. Jadi untuk beberapa alasan terminal OSX membuka emacs versi 22, bukan versi 24. Perintah yang sama berfungsi dengan baik jika disebut sebagai file biner dari file Aplikasi.

/Applications/Emacs.app/Contents/MacOS/Emacs -batch -l ~/.emacs org-mode -eval '(org-batch-agenda "t")'

Terima kasih untuk bantuannya!

person Rusty    schedule 20.10.2016
comment
Lokasi default untuk Emacs versi lama/kedaluwarsa yang dikirimkan bersama OSX ada di dalam /usr/bin -- jadi jika Anda memanggil emacs saja dari terminal, Anda akan mendapatkannya. Untuk kenyamanan, Anda mungkin ingin menyiapkan perintah alias untuk memanggil instalasi Emacs pilihan dengan mudah. - person lawlist; 21.10.2016