Next: Future Local Variables, Previous: Buffer-Local Variables, Up: Variables [Contents][Index]
ÊÑ¿ô¤Ë¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ê«Çû¤¬¤¢¤ë¤è¤¦¤Ë¡¢
ÊÑ¿ô¤Ë¤Ï¥Õ¥ì¡¼¥à¥í¡¼¥«¥ë¤Ê«Çû¤â¤¢¤ê¤Þ¤¹¡£
¤³¤ì¤é¤Î«Çû¤Ï1¤Ä¤Î¥Õ¥ì¡¼¥à¤Ë°¤·¡¢
¤½¤Î¥Õ¥ì¡¼¥à¤òÁªÂò¤·¤Æ¤¤¤ë¤È¤¤Ë͸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
¥Õ¥ì¡¼¥à¥í¡¼¥«¥ë¤Ê«Çû¤Ï¡¢¼ÂºÝ¤Ë¤Ï¥Õ¥ì¡¼¥à¥Ñ¥é¥á¡¼¥¿¤Ç¤¹¡£
ÆÃÄê¤Î¥Õ¥ì¡¼¥à¤Ç¥Õ¥ì¡¼¥à¥í¡¼¥«¥ë¤Ê«Çû¤òºî¤ë¤Ë¤Ï
modify-frame-parameters
¤ò¸Æ¤Ó½Ð¤·¡¢
¥Ñ¥é¥á¡¼¥¿Ì¾¤È¤·¤ÆÊÑ¿ô̾¤ò»ØÄꤷ¤Þ¤¹¡£
ÆÃÄê¤ÎÊÑ¿ô¤ËÂФ¹¤ë¥Õ¥ì¡¼¥à¥í¡¼¥«¥ë¤Ê«Çû¤ò͸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢
´Ø¿ômake-variable-frame-local
¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£
variable¤ËÂФ·¤Æ¥Õ¥ì¡¼¥à¥í¡¼¥«¥ë¤Ê«Çû¤ò»È¤¦¤è¤¦¤Ë¤¹¤ë¡£ ¤³¤Î´Ø¿ô¤½¤Î¤â¤Î¤Ïvariable¤ËÂФ·¤Æ¥Õ¥ì¡¼¥à¥í¡¼¥«¥ë¤Ê«Çû¤òºîÀ®¤·¤Ê¤¤¡£ ¤·¤«¤·¡¢¥Õ¥ì¡¼¥à¥Ñ¥é¥á¡¼¥¿¤È¤·¤Ævariable¤ÎÃͤò»ý¤Ä¥Õ¥ì¡¼¥à¤¬ ¤¹¤Ç¤Ë¸ºß¤¹¤ì¤Ð¡¢¤½¤ÎÃͤϼ«Æ°Åª¤Ë¥Õ¥ì¡¼¥à¥í¡¼¥«¥ë¤Ê«Çû¤Ë¤Ê¤ë¡£
ÊÑ¿ô¤¬Ã¼Ëö¤Ë¥í¡¼¥«¥ë¤Ç¤¢¤ë¤È¡¢¤³¤Î´Ø¿ô¤Ï¥¨¥é¡¼¤òÄÌÃΤ¹¤ë¡£ ¤½¤Î¤è¤¦¤ÊÊÑ¿ô¤Ï¥Õ¥ì¡¼¥à¥í¡¼¥«¥ë¤Ê«Çû¤òƱ»þ¤Ë¤Ï»ý¤Æ¤Ê¤¤¤«¤é¤Ç¤¢¤ë¡£ see Multiple Displays¡£ Emacs¤ÇÆÃÊ̤˼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¾¯¿ô¤ÎÊÑ¿ô¤Ï¡ÊÉáÄÌ¡Ë ¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ë¤Ê¤ë¤³¤È¤¬¤Ç¤¤ë¤¬¡¢¥Õ¥ì¡¼¥à¥í¡¼¥«¥ë¤Ë¤Ï¤Ê¤é¤Ê¤¤¡£
¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ê«Çû¤Ï¥Õ¥ì¡¼¥à¥í¡¼¥«¥ë¤Ê«Çû¤ËÍ¥À褷¤Þ¤¹¡£
ÊÑ¿ôfoo
¤ò¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Ëfoo
¤Î¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ê«Çû¤¬¤¢¤ë¤È¡¢
¤½¤Î«Çû¤¬Í¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
ÁªÂò¤·¤¿¥Õ¥ì¡¼¥à¤Ëfoo
¤Î¥Õ¥ì¡¼¥à¥í¡¼¥«¥ë¤Ê«Çû¤¬¤¢¤ë¤È¡¢
¤½¤Î«Çû¤¬Í¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
¤µ¤â¤Ê¤±¤ì¤Ð¡¢foo
¤Î¥Ç¥Õ¥©¥ë¥È¤Î«Çû¤¬Í¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
¤Ä¤®¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
¤Þ¤º¡¢foo
¤Î«Çû¤ò½àÈ÷¤·¤Æ¤ª¤¤Þ¤¹¡£
(setq f1 (selected-frame)) (make-variable-frame-local 'foo) ;; ‘b1’¤Ë¤ª¤¤¤Æ¡¢foo
¤Î¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ê«Çû¤òºî¤ë (set-buffer (get-buffer-create "b1")) (make-local-variable 'foo) (setq foo '(b 1)) ;; ¿·¤·¤¤¥Õ¥ì¡¼¥à¤Çfoo
¤Î¥Õ¥ì¡¼¥à¥í¡¼¥«¥ë¤Ê«Çû¤òºî¤ë ;; ¤½¤Î¥Õ¥ì¡¼¥à¤òf2
¤Ë³ÊǼ¤¹¤ë (setq f2 (make-frame)) (modify-frame-parameters f2 '((foo . (f 2))))
¤Ç¤Ï¡¢¤µ¤Þ¤¶¤Þ¤Êʸ̮¤Çfoo
¤òÄ´¤Ù¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¥Ð¥Ã¥Õ¥¡‘b1’¤¬¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Ç¤¢¤ì¤Ð¡¢
ÁªÂò¤·¤¿¥Õ¥ì¡¼¥à¤Ë´Ø·¸¤Ê¤¯¡¢
‘b1’¤Î¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ê«Çû¤¬Í¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
(select-frame f1) (set-buffer (get-buffer-create "b1")) foo ⇒ (b 1) (select-frame f2) (set-buffer (get-buffer-create "b1")) foo ⇒ (b 1)
¤µ¤â¤Ê¤±¤ì¤Ð¡¢¥Õ¥ì¡¼¥à¤Î«Çû¤ò»È¤¦²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
¥Õ¥ì¡¼¥àf2
¤òÁªÂò¤·¤Æ¤¤¤ë¤È¡¢
¤½¤Î¥Õ¥ì¡¼¥à¥í¡¼¥«¥ë¤Ê«Çû¤¬Í¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
(select-frame f2) (set-buffer (get-buffer "*scratch*")) foo ⇒ (f 2)
¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Ë¤â¥Õ¥ì¡¼¥à¤Ë¤â«Çû¤¬¤Ê¤±¤ì¤Ð¡¢ ¥Ç¥Õ¥©¥ë¥È¤Î«Çû¤ò»È¤¤¤Þ¤¹¡£
(select-frame f1) (set-buffer (get-buffer "*scratch*")) foo ⇒ nil
ÊÑ¿ô¤Î͸ú¤Ê«Çû¤¬¥Õ¥ì¡¼¥à¥í¡¼¥«¥ë¤Ê«Çû¤Ç¤¢¤ë¤È¤¡¢
ÊÑ¿ô¤ËÀßÄꤹ¤ë¤È¤½¤Î«Çû¤òÊѹ¹¤·¤Þ¤¹¡£
frame-parameters
¤Ç¤½¤Î·ë²Ì¤ò¸«¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
(select-frame f2) (set-buffer (get-buffer "*scratch*")) (setq foo 'nobody) (assq 'foo (frame-parameters f2)) ⇒ (foo . nobody)