ทำเครื่องหมายตัวแปรโลคัลที่ปลอดภัยสำหรับค่าใด ๆ


13

ตัวแปรsafe-local-variable-valuesสามารถเก็บคู่ชื่อ / ค่าที่ปลอดภัยเหมือน file-local หรือ directory-local อย่างไรก็ตามบางครั้งฉันต้องการที่จะบอกว่าค่าใด ๆ ที่ถูกต้องสำหรับตัวแปรที่กำหนด หน้าคู่มือฉันเชื่อมโยงกับบอกว่าค่าจำนวนเต็มใด ๆ fill-columnที่ถือว่าปลอดภัยสำหรับ มีวิธีทำเช่นนี้สำหรับตัวแปรของฉันเองหรือไม่?


ลองใช้identityเป็นการทดสอบ
wasamasa

1
@wasamasa ฉันคิดว่า (แลมบ์ดา (_) t) จะดีกว่าสำหรับกรณีศูนย์
Lunaryorn

คำตอบ:


18

ตั้งค่าsafe-local-variableคุณสมบัติเป็นฟังก์ชันที่ตรวจสอบความถูกต้องของค่า ตัวอย่างเช่นfill-columnมีการตั้งค่าคุณสมบัติการsafe-local-variable integerpใช้(lambda (x) t)เป็นฟังก์ชันตรวจสอบความถูกต้องหากค่าใด ๆ ที่ถูกต้อง

(defvar my-variable-with-any-safe-value …)
(put 'my-variable-with-any-safe-value 'safe-local-variable
     (lambda (x) t))

หรือ

(defcustom my-variable-with-any-safe-value …
  :safe (lambda (x) t))

มีใด ๆค่าที่ถูกต้องสวยหายาก มันไกลกันมากขึ้นในการ จำกัด ประเภทที่เฉพาะเจาะจงเช่นintegerp, stringpฯลฯ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.