T: Bagaimana cara menjaga agar org-mode
tautan tidak berdarah ke ...
karakter tampilan selektif di akhir header yang terlipat?
Ini adalah tanda centang visual yang membuat saya sedikit gila. Ketika, dalam org-mode
, tautan adalah hal terakhir pada sebuah garis, permukaan tautan berdarah ke dalam ...
yang menunjukkan bahwa header dilipat. Jika ada, katakanlah, ruang kosong setelah tautan, tidak ada pendarahan.
Tangkapan layar yang saya posting menunjukkan masalah tersebut. Baris tiga adalah baris bermasalah dengan tidak ada karakter antara ujung tautan dan ujung baris, sedangkan baris empat menunjukkan tautan, diikuti oleh spasi:
Pertama-tama, mengapa ini terjadi? Kedua, dan lebih tepatnya, bagaimana saya membuatnya berhenti?
UPDATE 1: Sesuai komentar, diposting di bawah ini adalah screenshot dari buffer dengan header tertutup dan terbuka. Saya telah membuka Emacs tanpa file init (yaitu, emacs -Q
), require
d org-mode, dan membuka file contoh ini. Jadi: sepertinya bukan sesuatu yang kooky dalam pengaturan saya.
Semua tajuk ditutup:
Semua header terbuka:
Tema yang saya gunakan di atas adalah inkpot, meskipun saya mendapatkan masalah yang sama ketika menggunakan tema yang dilarutkan serta tema default (seperti pada screenshot baru).
Versi Emacs adalah 24.3.1. Saya mendapatkan hasil yang sama ketika menggunakan versi org 7.9.3f (yaitu, yang dibundel dengan versi Emacs), serta 8.3beta.
UPDATE 2: berikut ini contoh kerja minimum dalam menanggapi permintaan komentar:
* here's a header with a [[~/somefile.txt][link at the end]]
- This one's a problem
- Interesting note:
+ put the cursor immediately *after* the *d* in "end" with the
header closed/folded
* the face no longer bleeds over into the dots
+ move the cursor anywhere else
* the face bleeds over into the dots again
* here's another [[~/someotherfile.txt][go at it]]
DEADLINE: <2014-10-26 Sun>
- This one's also a problem
* here's another header with a [[~/anotherfile.txt][link followed by a space]]
- No bleed-over onto the dots with this one
Jawaban:
Ini terlihat seperti bug dipicu oleh
org-mode
'sorg-activate-bracket-links
fungsi.Seperti inilah fungsi ini:
Ini mencari pertandingan untuk link tanda kurung (misalnya
[[target][label]]
, menyembunyikan[[target][
bagian dengan menambahkanip
ke properti teks, maka linkifies yanglabel
dengan menambahkanvp
ke properti teks, dan akhirnya menghapus trailing]]
dengan menambahkanip
ke properti teks lagi.Ini semua terlihat benar.
org-rear-nonsticky-at
harus merawat pendarahan properti.Perilaku ini dipicu oleh
(add-text-properties (match-end 3) (match-end 0) ip)
, yang menyembunyikan trailing]]
. Hanya'invisible 'org-link
properti yang memicu perilaku ini, properti lainnya tampaknya tidak bersalah.Anda bisa menimpa
org-activate-bracket-links
sedemikian rupa sehinggaip
tidak lagi menetapkan'invisible
tetapi'display ""
, yang memiliki efek yang sama:Jelas, ini adalah hack yang jelek. Tapi itu bekerja untuk saya dan mungkin bekerja untuk Anda. Saya masih merekomendasikan pengarsipan laporan bug.
sumber
[[~/somefile.txt][link label]]
sebagailink label
(di mana huruf miring menunjukkan wajah standar untuk tautan), itu menjadilink label]]
(tanpa perubahan wajah). Saya akan mengajukan laporan bug.org-activate-bracket-links
adalah mengganti'invisible non-nil
dengan'display ""
, sehingga masih harus menerapkan link wajah seperti sebelumnya. Ini pasti bekerja untuk saya di Emacs 24.4, tapi saya kira energi lebih baik dihabiskan untuk laporan bug daripada mencoba untuk membuat hack saya berfungsi ... :)