Defcustom özelliğine sahip makro, bayt derlendiğinde "Sembolün değişken olarak değeri geçersiz" hatasına yol açar


13

Paketlerimden ikisinde, gövdenin bir defcustomformda tanımlanan bir değişkene bağlı olduğu bir makro var .

Melpa'dan paketleri kurarken, bayt derleme ile biter:

Hata: Sembolün değişken olarak değeri geçersiz: my-defcustom-variable

Sonra, elle bir bayt içinde açarak dosyayı bayt derleme çalışır.

Bir autoloadçerez ile denedim ama yine de aynı davranış var.

Burada önemli bir şey eksik.


1
defcustomBir makro gövdesine bağlı olarak yapmak garip bir şeydir, çünkü defcustomsadece bayt derlemesi sırasında (makronun genişletildiği yerde) yürürlüğe girecektir. Bu bana pek mantıklı gelmiyor.
lunaryorn

Teşekkürler Sebastian, haklısın ve çok şey açıklıyor.
syl20bnr

Yanıtlar:


15

defcustomİfadesi bayt derleme sırasında değerlendirilmez, bu nedenle makro genişletildiğinde bu defcustom derlenmiş ancak çalışmaz çünkü, değişken henüz yok. Defcustom'i başka bir dosyaya taşıyabilirsiniz (daha sonra requiredosyanızın başında) veya defcustom'i içine sarabilirsiniz eval-and-compile.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.