Saya menggunakan *compilation*
buffer untuk membangun aplikasi C ++ pada Centos 5 dan Centos 6. Buffer menunjukkan build dan menyertakan referensi ke file yang merupakan bagian dari build. Namun, saya mendapatkan karakter kontrol seperti ^[
muncul di output dan sulit dibaca dan emacs mendapatkan nama file yang rusak ketika Anda mengklik satu di output. Saya pikir karakter-karakter ini adalah semacam pewarnaan atau anotasi lain pada keluaran kompiler tetapi saya tidak tahu dari mana mereka berasal. Berikut adalah contoh output:
cc -c -g -I../machind -I. -DRELEASE_VERSION -g -O2 -m64 -D__BITS64 -pipe -DARCH_64 -DARCH_INTEL -DARCH_X86 -DARCH_X86_64 -DOS_LINUX -pthread -DLM_INTERNAL -DFLEXLM_KITBUILD -DFLEX_STATIC -DRELEASE_VERSION -DGPLATFORM=\\"x64_lsb\\" -DLINUX -DLSB3_0 -D__FD_SETSIZE=65535 -DGLIBC -DLINUX64 -DAMD64 -DREDHAT -DREL -DRHLINUX64 -DPLATFORM_AMD64_RHLINUX -DNO_ACTIVATION_SUPPORT ../machind/lmcrypt.c
^[[01m^[[K../machind/lmcrypt.c:^[[m^[[K In function ^[[01m^[[Kmain^[[m^[[K :
^[[01m^[[K../machind/lmcrypt.c:156:47:^[[m^[[K ^[[01;35m^[[Kwarning: ^[[m^[[Kcast to pointer from integer of different size [-Wint-to-pointer-cast]
lc_set_attr(lm_job, LM_A_MAX_LICENSE_LEN, (LM_A_VAL_TYPE)max);
^[[01;32m^[[K ^^[[m^[[K
Bagaimana saya bisa menyingkirkan output non-teks di buffer kompilasi saya?
ansi-color-apply-on-region
bisa lambat, saya telah menulis cuplikan ini beberapa minggu yang lalu: de-ansi.el . Saya tidak bermaksud untuk menjadi sebuah paket dan karena itu memiliki dependensi pada paket key-chord dan pada mode minor sementara temp-mode.el . Anda juga harus menggunakan emacs 24.4 atau lebih baru untuk fitur notifikasi file.
-fdiagnostics-color=never
kegcc
(dengan asumsi bahwagcc
adalah Andacc
)