Next: Default Value, Previous: Intro to Buffer-Local, Up: Buffer-Local Variables [Contents][Index]
¤³¤Î´Ø¿ô¤Ï¡¢¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Ë¤ª¤¤¤Æ¡¢ variable¡Ê¥·¥ó¥Ü¥ë¡Ë¤Î¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ê«Çû¤òºî¤ë¡£ ¾¤Î¥Ð¥Ã¥Õ¥¡¤Ï±Æ¶Á¤µ¤ì¤Ê¤¤¡£ ÊÖ¤¹ÃͤÏvariable¡£
variable¤Î¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤ÊÃͤϡ¢ variable¤Î°ÊÁ°¤ÈƱ¤¸ÃͤǻϤޤ롣 variable¤¬¶õ¤Ç¤¢¤ì¤Ð¡¢¶õ¤Î¤Þ¤Þ¤Ç¤¢¤ë¡£
;; ¥Ð¥Ã¥Õ¥¡‘b1’¤Ç¤Ï¡¢ (setq foo 5) ; ¤¹¤Ù¤Æ¤Î¥Ð¥Ã¥Õ¥¡¤Ë±Æ¶Á¤¹¤ë ⇒ 5
(make-local-variable 'foo) ; ‘b1’¤Ë¥í¡¼¥«¥ë
⇒ foo
foo ; ¤³¤ì¤ÏÃͤò ⇒ 5 ; ÊѤ¨¤Ê¤¤
(setq foo 6) ; ‘b1’¤Ç¤ÎÃͤò ⇒ 6 ; Êѹ¹¤¹¤ë
foo ⇒ 6
;; ¥Ð¥Ã¥Õ¥¡‘b2’¤Ç¤Ï¡¢ÃͤÏÊѤï¤Ã¤Æ¤¤¤Ê¤¤
(save-excursion
(set-buffer "b2")
foo)
⇒ 5
ÊÑ¿ô¤Îlet
«Çû¤ÎÆâ¦¤Ç¤½¤ÎÊÑ¿ô¤ò¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ë¤·¤Æ¤â¡¢
¤½¤Î¥Ð¥Ã¥Õ¥¡¤¬let
¤ËÆþ¤ë¤È¤¤äÈ´¤±¤ë¤È¤¤Ë
¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤¤È¡¢Àµ¤·¤¯Æ°ºî¤·¤Ê¤¤¡£
¤³¤ì¤Ï¡¢let
¤¬¡¢°Û¤Ê¤ë¼ïÎà¤Î«Çû¤ò¶èÊ̤·¤Ê¤¤¤«¤é¤Ç¤¢¤ê¡¢
¤É¤ÎÊÑ¿ô¤Î«Çû¤òºî¤ë¤«¤À¤±¤òÃΤäƤ¤¤ë¤«¤é¤Ç¤¢¤ë¡£
ÊÑ¿ô¤¬Ã¼Ëö¤Ë¥í¡¼¥«¥ë¤Ê¤È¤¤Ë¤Ï¡¢¤³¤Î´Ø¿ô¤Ï¥¨¥é¡¼¤òÄÌÃΤ¹¤ë¡£ ¤½¤Î¤è¤¦¤ÊÊÑ¿ô¤Ï¡¢Æ±»þ¤Ë¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ê«Çû¤ò»ý¤Æ¤Ê¤¤¡£ See Multiple Displays¡£
Ãí°Õ¡§
¥Õ¥Ã¥¯ÊÑ¿ô¤ËÂФ·¤Æmake-local-variable
¤ò»È¤ï¤Ê¤¤¤³¤È¡£
¤½¤Î¤«¤ï¤ê¤Ëmake-local-hook
¤ò»È¤¦¡£
see Hooks¡£
¤³¤Î´Ø¿ô¤Ï¡¢variable¡Ê¥·¥ó¥Ü¥ë¡Ë¤ò ¼«Æ°Åª¤Ë¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ë¤¹¤ë¤è¤¦¤Ë°õ¤òÉÕ¤±¡¢ ¤³¤ì°Ê¹ß¤Ë¤½¤ÎÊÑ¿ô¤ËÀßÄꤷ¤è¤¦¤È¤¹¤ë¤È¡¢ ¤½¤Î»þÅÀ¤Î¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Ë¥í¡¼¥«¥ë¤Ë¤¹¤ë¡£
¤³¤Îµ¡Ç½¤Î½ÅÍפÊÅÀ¤Ï¡¢
¡Êlet
¤ä¾¤Î«Çû¤òºî¤ë¹½Ê¸¤Ç¡ËÊÑ¿ô¤ò«Çû¤·¤Æ¤â¡¢
¤½¤ÎÊÑ¿ô¤Î¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ê«Çû¤òºî¤é¤Ê¤¤¤³¤È¤Ç¤¢¤ë¡£
¡Êset
¤äsetq
¤Ç¡ËÊÑ¿ô¤òÀßÄꤷ¤Æ½é¤á¤Æ¤½¤Î¤è¤¦¤Ë¤¹¤ë¡£
ÊÖ¤¹ÃͤÏvariable¤Ç¤¢¤ë¡£
·Ù¹ð¡§
¥æ¡¼¥¶¡¼¤¬°Û¤Ê¤ë¥Ð¥Ã¥Õ¥¡¤Ç¤Ï°Û¤Ê¤Ã¤¿¥«¥¹¥¿¥Þ¥¤¥º¤ò¤¹¤ë¤«¤â¤·¤ì¤Ê¤¤¤È
¤¤¤¦¤À¤±¤Ç¡¢¥æ¡¼¥¶¡¼¥ª¥×¥·¥ç¥óÊÑ¿ô¤Ëmake-variable-buffer-local
¤ò
»È¤¦¤Ù¤¤À¤È²¾Äꤷ¤Ê¤¤¤³¤È¡£
¥æ¡¼¥¶¡¼¤Ï¡¢É¬Íפʤé¤Ð¡¢¤É¤ó¤ÊÊÑ¿ô¤Ç¤â¥í¡¼¥«¥ë¤Ë¤Ç¤¤ë¡£
ÁªÂò¤Ï¥æ¡¼¥¶¡¼¤ËǤ¤»¤ë¤Î¤¬¤è¤¤¡£
2¤Ä¤Î¥Ð¥Ã¥Õ¥¡¤¬Æ±¤¸Â«Çû¤ò¶¦Í¤·¤Ê¤¤¤³¤È¤¬½ÅÍפʾìÌ̤Ǥϡ¢
make-variable-buffer-local
¤ò»È¤¦¡£
¤¿¤È¤¨¤Ð¡¢°Û¤Ê¤ë¥Ð¥Ã¥Õ¥¡¤Ç¤Ï°Û¤Ê¤ëÃͤò»ý¤Ä¤³¤È¤Ë°Í¸¤¹¤ë¤è¤¦¤Ê
Lisp¥×¥í¥°¥é¥à¤ÇÆâÉôÌÜŪ¤ËÊÑ¿ô¤ò»È¤¦¤È¤¤Ë¤Ï¡¢
make-variable-buffer-local
¤ò»È¤¦¤Î¤¬ºÇÎɤǤ¢¤ë¡£
¤³¤ì¤Ï¡¢variable¤¬¥Ð¥Ã¥Õ¥¡buffer
¡Ê¥Ç¥Õ¥©¥ë¥È¤Ï¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¡Ë¤Ë¤ª¤¤¤Æ
¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ç¤¢¤ì¤Ðt
¤òÊÖ¤·¡¢
¤µ¤â¤Ê¤±¤ì¤Ðnil
¤òÊÖ¤¹¡£
¤³¤Î´Ø¿ô¤Ï¡¢¥Ð¥Ã¥Õ¥¡buffer¤Î¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤ÊÊÑ¿ô¤ò µ½Ò¤·¤¿¥ê¥¹¥È¤òÊÖ¤¹¡£ ¡Êbuffer¤ò¾Êά¤¹¤ë¤È¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤ò»È¤¦¡£¡Ë ¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤ÊÊÑ¿ô¤È¤½¤ÎÃͤòÆþ¤ì¤¿Í×ÁǤ«¤éÀ®¤ëÏ¢Áۥꥹ¥È ¡Êsee Association Lists¡Ë¤òÊÖ¤¹¡£ ¤·¤«¤·¡¢buffer¤Ë¤ª¤±¤ëÊÑ¿ô¤Î¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ê«Çû¤¬¶õ¤Ç¤¢¤ë¤È¡¢ ÊÑ¿ô¤Ï·ë²Ì¤Î¥ê¥¹¥È¤ËľÀܸ½¤ì¤ë¡£
(make-local-variable 'foobar) (makunbound 'foobar) (make-local-variable 'bind-me) (setq bind-me 69)
(setq lcl (buffer-local-variables))
;; ¤Þ¤º¡¢¤¹¤Ù¤Æ¤Î¥Ð¥Ã¥Õ¥¡¤Ç¥í¡¼¥«¥ë¤ÊÁȤ߹þ¤ßÊÑ¿ô
⇒ ((mark-active . nil)
(buffer-undo-list . nil)
(mode-name . "Fundamental")
…
;; ³¤¤¤Æ¡¢ÁȤ߹þ¤ß¤Ç¤Ê¤¤¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤ÊÊÑ¿ô ;; ¤³¤ì¤Ï¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ç¡¢¤«¤Ä¡¢¶õ foobar ;; ¤³¤ì¤Ï¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ç¡¢¤«¤Ä¡¢¶õ¤Ç¤Ï¤Ê¤¤ (bind-me . 69))
¤³¤Î¥ê¥¹¥È¤Î¥³¥ó¥¹¥»¥ë¤ÎCDR¤Ë¿·¤¿¤ÊÃͤò³ÊǼ¤·¤Æ¤â¡¢ ÊÑ¿ô¤Î¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤ÊÃͤòÊѹ¹¤·¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤Û¤·¤¤¡£
¤³¤Î´Ø¿ô¤Ï¡¢¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Ë¤ª¤±¤ëvariable¡Ê¥·¥ó¥Ü¥ë¡Ë¤Î ¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ê«Çû¤ò¡Ê¤¢¤ì¤Ð¡Ëºï½ü¤¹¤ë¡£ ¤½¤Î·ë²Ì¡¢¤³¤Î¥Ð¥Ã¥Õ¥¡¤Ç¤Ï¡¢variable¤Î¥Ç¥Õ¥©¥ë¥È¤Î«Çû¤¬ ¸«¤¨¤ë¤è¤¦¤Ë¤Ê¤ë¡£ ŵ·¿Åª¤Ë¤Ï¡¢variable¤ÎÃͤ¬ÊѤï¤ë¡£ ¤Ê¤¼¤Ê¤é¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢ºï½ü¤·¤¿¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤ÊÃÍ¤È¤Ï ÉáÄ̤ϰۤʤ뤫¤é¤Ç¤¢¤ë¡£
¼«Æ°Åª¤Ë¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ë¤¹¤ë°õ¤¬ÉÕ¤¤¤¿ÊÑ¿ô¤Î¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ê«Çû¤ò ºï½ü¤¹¤ë¤È¡¢¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Ç¤Ï¥Ç¥Õ¥©¥ë¥ÈÃͤ¬¸«¤¨¤ë¤è¤¦¤Ë¤Ê¤ë¡£ ¤·¤«¤·¡¢ÊÑ¿ô¤ËºÆÅÙÀßÄꤹ¤ë¤È¡¢¤½¤ì¤ËÂФ¹¤ë¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ê«Çû¤¬ ºÆÅÙºîÀ®¤µ¤ì¤ë¡£
kill-local-variable
¤Ïvariable¤òÊÖ¤¹¡£
¤³¤Î´Ø¿ô¤¬¥³¥Þ¥ó¥É¤Ç¤¢¤ë¤Î¤Ï¡¢ ÂÐÏÃŪ¤Ë¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤ÊÊÑ¿ô¤òºî¤ë¤Î¤¬ÍÍѤʤ褦¤Ë¡¢ ÂÐÏÃŪ¤Ë¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤ÊÊÑ¿ô¤òºï½ü¤¹¤ë¤Î¤¬ÍÍѤʾì¹ç¤¬¤¢¤ë¤«¤é¤Ç¤¢¤ë¡£
¤³¤Î´Ø¿ô¤Ï¡¢¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Ë¤ª¤¤¤Æ¡¢ ¡Ø¹±µ×Ū¡Ù¤È°õÉÕ¤±¤·¤Æ¤¢¤ëÊÑ¿ô¤ò½ü¤¤¤Æ¡¢ ¤¹¤Ù¤Æ¤Î¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤ÊÊÑ¿ô«Çû¤òºï½ü¤¹¤ë¡£ ¤½¤Î·ë²Ì¡¢¥Ð¥Ã¥Õ¥¡¤Ç¤Ï¡¢¤Û¤È¤ó¤É¤ÎÊÑ¿ô¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤ¬¸«¤¨¤ë¤è¤¦¤Ë¤Ê¤ë¡£
¤³¤Î´Ø¿ô¤Ï¡¢¥Ð¥Ã¥Õ¥¡¤Ë°¤¹¤ë¾¤Î¤¢¤ë¼ï¤Î¾ðÊó¤â¥ê¥»¥Ã¥È¤¹¤ë¡£
¤Ä¤Þ¤ê¡¢¥í¡¼¥«¥ë¥¡¼¥Þ¥Ã¥×¤Ënil
¡¢
¹½Ê¸¥Æ¡¼¥Ö¥ë¤Ë(standard-syntax-table)
¤ÎÃÍ¡¢
Âçʸ»ú¾®Ê¸»ú¥Æ¡¼¥Ö¥ë¤Ë(standard-case-table)
¡¢
ά¸ì¥Æ¡¼¥Ö¥ë¤Ëfundamental-mode-abbrev-table
¤ÎÃͤòÀßÄꤹ¤ë¡£
¤³¤Î´Ø¿ô¤¬ºÇ½é¤Ë¹Ô¤¦¤³¤È¤Ï¡¢
¥Î¡¼¥Þ¥ë¥Õ¥Ã¥¯change-major-mode-hook
¡Ê²¼µ»²¾È¡Ë¤ò
¼Â¹Ô¤¹¤ë¤³¤È¤Ç¤¢¤ë¡£
³Æ¥á¥¸¥ã¡¼¥â¡¼¥É¥³¥Þ¥ó¥É¤Ï¤³¤Î´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤«¤é»Ï¤á¤ë¡£ ¤Ä¤Þ¤ê¡¢´ðËÜ¡Êfundamental¡Ë¥â¡¼¥É¤ËÀÚ¤êÂØ¤¨¡¢ ¤½¤ì°ÊÁ°¤Î¥á¥¸¥ã¡¼¥â¡¼¥É¤Î¤Û¤È¤ó¤É¤Î¸ú²Ì¤ò¾Ã¤·¤µ¤ë¡£ ¤³¤Î½èÍý¤òÊݾڤ¹¤ë¤¿¤á¤Ë¡¢¥á¥¸¥ã¡¼¥â¡¼¥É¤ÇÀßÄꤹ¤ëÊÑ¿ô¤Ë¤Ï¡¢ ¹±µ×Ū¤Î°õ¤òÉÕ¤±¤Ê¤¤¤³¤È¡£
kill-all-local-variables
¤Ïnil
¤òÊÖ¤¹¡£
´Ø¿ôkill-all-local-variables
¤Ï¡¢ºÇ½é¤Ë¤³¤Î¥Î¡¼¥Þ¥ë¥Õ¥Ã¥¯¤ò¼Â¹Ô¤¹¤ë¡£
¤³¤Î¥Õ¥Ã¥¯¤Ï¥á¥¸¥ã¡¼¥â¡¼¥É¤ËÂФ·¤Æ¡¢
¥æ¡¼¥¶¡¼¤¬Ê̤Υ᥸¥ã¡¼¥â¡¼¥É¤ËÀÚ¤êÂØ¤¨¤Æ¤¤¤¿¾ì¹ç¤Ë¤Ï¡¢
¤Ê¤Ë¤«ÆÃÊ̤ʤ³¤È¤ò¹Ô¤¦¾ðÊó¤òÄ󶡤¹¤ë¡£
ºÇÎɤηë²Ì¤òÆÀ¤ë¤¿¤á¤Ë¤Ï¡¢¤³¤ÎÊÑ¿ô¤ò¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ë¤·¤Æ¤ª¤¯¤È
¤½¤ÎÌòÌܤò½ª¤¨¤ë¤ÈÊÑ¿ô¤Ï¾Ã¤¨¤Æ¤·¤Þ¤¤¡¢¤½¤ì°Ê¹ß¤Î¥á¥¸¥ã¡¼¥â¡¼¥É¤Ë´³¾Ä¤·¤Ê¤¤¡£
see Hooks¡£
¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ëÊÑ¿ô¤Ï¡¢
ÊÑ¿ô̾¡Ê¥·¥ó¥Ü¥ë¡Ë¤Î°Àpermanent-local
¤¬nil
°Ê³°¤Ç¤¢¤ë¤È¡¢
¹±µ×Ū¡Êpermanent¡Ë¤Ç¤¹¡£
¹±µ×Ū¤Ê¥í¡¼¥«¥ëÊÑ¿ô¤Ï¡¢ÊÔ½¸ºî¶È¤Îʸ̮¤Ç¤Ï¤Ê¤¯¡¢
¤É¤Î¥Õ¥¡¥¤¥ë¤òˬÌäÃæ¤Ç¤¢¤ë¤È¤«¤É¤Î¤è¤¦¤ËÊݸ¤¹¤ë¤È¤«¤Ë´ØÏ¢¤¹¤ë¾ðÊó¤Ë
Ŭ¤·¤Æ¤¤¤Þ¤¹¡£
Next: Default Value, Previous: Intro to Buffer-Local, Up: Buffer-Local Variables [Contents][Index]