Next: , Previous: Completion Commands, Up: Completion   [Contents][Index]


19.5.4 ¹â¥ì¥Ù¥ë¤ÎÊä´°´Ø¿ô

ËÜÀá¤Ç¤Ï¡¢ÆÃÄê¤Î¼ïÎà¤Î̾Á°¤òÊä´°ÉÕ¤­¤ÇÆÉ¤ß¼è¤ë¤¿¤á¤Î ¹â¥ì¥Ù¥ë¤ÎÊØÍø¤Ê´Ø¿ô¤Ë¤Ä¤¤¤Æ½Ò¤Ù¤Þ¤¹¡£

¿¤¯¤Î¾ì¹ç¡¢¤³¤ì¤é¤Î´Ø¿ô¤òLisp´Ø¿ô¤ÎÅÓÃæ¤Ç¤Ï¸Æ¤Ó½Ð¤µ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ ²Äǽ¤Ê¾ì¹ç¤Ë¤Ï¡¢interactive¤Î»ØÄê¤Ç¡¢ ¥³¥Þ¥ó¥É¤Î°ú¿ô¤òÆÉ¤ß¼è¤ëÁàºî¤Î°ìÉô¤È¤·¤Æ¤¹¤Ù¤Æ¤Î¥ß¥Ë¥Ð¥Ã¥Õ¥¡ÆþÎϤò ¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£ See Defining Commands¡£

Function: read-buffer prompt &optional default existing

¤³¤Î´Ø¿ô¤Ï¥Ð¥Ã¥Õ¥¡Ì¾¤òÆÉ¤ß¼è¤ê¡¢Ê¸»úÎó¤È¤·¤ÆÊÖ¤¹¡£ °ú¿ôdefault¤Ï¥Ç¥Õ¥©¥ë¥È¤Î̾Á°¤òɽ¤·¡¢ ¥æ¡¼¥¶¡¼¤¬¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤«¤é¶õ¤ÇÈ´¤±½Ð¤·¤¿¤È¤­¤ËÊÖ¤µ¤ì¤ëÃͤǤ¢¤ë¡£ nil°Ê³°¤Ç¤¢¤ë¤È¤­¤Ë¤Ï¡¢Ê¸»úÎ󤫥Хåե¡¤Ç¤¢¤ë¤³¤È¡£ ¤³¤ì¤Ï¥×¥í¥ó¥×¥È¤È¤·¤Æ¸½¤ì¤ë¤¬¡¢ ¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤Ë¤Ï½é´üÆþÎϤȤ·¤ÆÁÞÆþ¤µ¤ì¤Ê¤¤¡£

existing¤¬nil°Ê³°¤Ç¤¢¤ë¤È¡¢ »ØÄꤷ¤¿Ì¾Á°¤Ï´û¸¤Î¥Ð¥Ã¥Õ¥¡Ì¾¤Ç¤¢¤ë¤³¤È¡£ ¥Æ¥­¥¹¥È¤¬Àµ¤·¤¯¤Ê¤¤¤È¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤«¤éÈ´¤±¤ëÄ̾ï¤Î¥³¥Þ¥ó¥É¤Ïưºî¤»¤º¡¢ RET¤ÏÀµ¤·¤¤Ì¾Á°¤òõ¤¹¤¿¤áÊä´°¤ò¹Ô¤¦¡£ ¡Ê¤·¤«¤·¡¢default¤¬Àµ¤·¤¤¤«¤É¤¦¤«¤Ï¸¡ºº¤·¤Ê¤¤¡£ ¥æ¡¼¥¶¡¼¤¬¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤ò¶õ¤ÇÈ´¤±¤ì¤Ð¡¢ ¤Ê¤ó¤Ç¤¢¤í¤¦¤Èdefault¤¬ÊÖ¤µ¤ì¤ë¡£¡Ë

°Ê²¼¤ÎÎã¤Ç¤Ï¡¢¥æ¡¼¥¶¡¼¤Ï‘minibuffer.t’¤ÈÆþÎϤ·¤Æ¤«¤éRET¤òÂǤġ£ °ú¿ôexisting¤Ït¤Ç¤¢¤ê¡¢ ÆþÎϤ·¤¿Ì¾Á°¤Ç»Ï¤Þ¤ëÍ£°ì¤Î¥Ð¥Ã¥Õ¥¡Ì¾¤Ï‘minibuffer.texi’¤Ç¤¢¤ë¤Î¤Ç¡¢ ¤³¤Î̾Á°¤¬Ãͤˤʤ롣

(read-buffer "Buffer name? " "foo" t)
;; ¾å¤Î¼°¤òɾ²Á¤¹¤ë¤È¡¢¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤Ï¶õ¤Ç
;; ¤Ä¤®¤Î¤è¤¦¤Ê¥×¥í¥ó¥×¥È¤¬É½¼¨¤µ¤ì¤ë
---------- Buffer: Minibuffer ----------
Buffer name? (default foo) ∗
---------- Buffer: Minibuffer ----------
;; ¥æ¡¼¥¶¡¼¤Ïminibuffer.t RET¤ÈÂǤÄ
     ⇒ "minibuffer.texi"
Variable: read-buffer-function

¤³¤ÎÊÑ¿ô¤Ï¡¢¥Ð¥Ã¥Õ¥¡Ì¾¤ÎÆÉ¤ß¼è¤êÊý¤ò»ØÄꤹ¤ë¡£ ¤¿¤È¤¨¤Ð¡¢¤³¤ÎÊÑ¿ô¤Ëiswitchb-read-buffer¤òÀßÄꤹ¤ë¤È¡¢ ¥Ð¥Ã¥Õ¥¡Ì¾¤òÆÉ¤ß¼è¤ë¤¿¤á¤Ëread-buffer¤ò¸Æ¤Ó½Ð¤¹ ¤¹¤Ù¤Æ¤ÎEmacs¥³¥Þ¥ó¥É¤Ï¡¢ ¥Ð¥Ã¥Õ¥¡Ì¾¤òÆÉ¤à¤¿¤á¤Ë¥Ñ¥Ã¥±¡¼¥¸iswitchb¤ò»È¤¦¤è¤¦¤Ë¤Ê¤ë¡£

Function: read-command prompt &optional default

¤³¤Î´Ø¿ô¤Ï¥³¥Þ¥ó¥É̾¤òÆÉ¤ß¼è¤ê¡¢Lisp¥·¥ó¥Ü¥ë¤È¤·¤ÆÊÖ¤¹¡£ °ú¿ôprompt¤Ï¡¢read-from-minibuffer¤ÈƱÍͤ˻Ȥï¤ì¤ë¡£ ¤Ê¤ó¤Ç¤¢¤Ã¤Æ¤âcommandp¤¬t¤òÊÖ¤»¤Ð¥³¥Þ¥ó¥É¤Ç¤¢¤ê¡¢ commandp¤¬t¤òÊÖ¤¹¥·¥ó¥Ü¥ë¤Ï¥³¥Þ¥ó¥É̾¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¡£ see Interactive Call¡£

°ú¿ôdefault¤Ï¡¢¥æ¡¼¥¶¡¼ÆþÎϤ¬¶õ¤À¤Ã¤¿¾ì¹ç¤ËÊÖ¤·¤¿¤¤Ãͤò»ØÄꤹ¤ë¡£ ¤³¤ì¤Ï¡¢¥·¥ó¥Ü¥ë¤«Ê¸»úÎó¤Ç¤¢¤ë¤³¤È¡£ ʸ»úÎó¤Ç¤¢¤ë¤È¡¢read-command¤Ï¡¢¤³¤ì¤òÊÖ¤¹¤Þ¤¨¤Ë¥¤¥ó¥¿¡¼¥ó¤¹¤ë¡£ default¤¬nil¤Ç¤¢¤ë¤È¡¢¥Ç¥Õ¥©¥ë¥È¤ò»ØÄꤷ¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¡¢ ¥æ¡¼¥¶¡¼ÆþÎϤ¬¶õ¤Ç¤¢¤ë¤ÈÌá¤êÃͤÏnil¤Ç¤¢¤ë¡£

(read-command "Command name? ")

;; ¾å¤Î¼°¤òɾ²Á¸å¤Ë¤Ï¡¢¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤Ï¶õ¤Ç 
;; ¤Ä¤®¤Î¤è¤¦¤Ê¥×¥í¥ó¥×¥È¤¬É½¼¨¤µ¤ì¤ë
---------- Buffer: Minibuffer ---------- 
Command name?  
---------- Buffer: Minibuffer ----------

¥æ¡¼¥¶¡¼¤¬forward-c RET¤ÈÂǤĤȡ¢ ¤³¤Î´Ø¿ô¤Ïforward-char¤òÊÖ¤¹¡£

´Ø¿ôread-command¤Ïcompleting-read¤Î¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤ò ñ½ã²½¤·¤¿¤â¤Î¤Ç¤¢¤ë¡£ ´û¸¤ÎLisp¥·¥ó¥Ü¥ë¤Î½¸¤Þ¤ê¤«¤éÊä´°¤¹¤ë¤¿¤á¤ËÊÑ¿ôobarray¤ò»È¤¤¡¢ ¥³¥Þ¥ó¥É̾¤Î¤ß¤òÂоݤȤ¹¤ë¤¿¤á¤Ë½Ò¸ìcommandp¤ò»È¤¦¡£

(read-command prompt)
≡
(intern (completing-read prompt obarray 
                         'commandp t nil))
Function: read-variable prompt &optional default

¤³¤Î´Ø¿ô¤Ï¥æ¡¼¥¶¡¼ÊÑ¿ô¤Î̾Á°¤òÆÉ¤ß¼è¤ê¡¢¥·¥ó¥Ü¥ë¤È¤·¤ÆÊÖ¤¹¡£

°ú¿ôdefault¤Ï¡¢¥æ¡¼¥¶¡¼ÆþÎϤ¬¶õ¤À¤Ã¤¿¾ì¹ç¤ËÊÖ¤·¤¿¤¤Ãͤò»ØÄꤹ¤ë¡£ ¤³¤ì¤Ï¡¢¥·¥ó¥Ü¥ë¤«Ê¸»úÎó¤Ç¤¢¤ë¤³¤È¡£ ʸ»úÎó¤Ç¤¢¤ë¤È¡¢read-variable¤Ï¡¢¤³¤ì¤òÊÖ¤¹¤Þ¤¨¤Ë¥¤¥ó¥¿¡¼¥ó¤¹¤ë¡£ default¤¬nil¤Ç¤¢¤ë¤È¡¢¥Ç¥Õ¥©¥ë¥È¤ò»ØÄꤷ¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¡¢ ¥æ¡¼¥¶¡¼ÆþÎϤ¬¶õ¤Ç¤¢¤ë¤ÈÌá¤êÃͤÏnil¤Ç¤¢¤ë¡£

(read-variable "Variable name? ")

;; ¾å¤Î¼°¤òɾ²Á¸å¤Ë¤Ï¡¢¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤Ï¶õ¤Ç 
;; ¤Ä¤®¤Î¤è¤¦¤Ê¥×¥í¥ó¥×¥È¤¬É½¼¨¤µ¤ì¤ë
---------- Buffer: Minibuffer ----------
Variable name? ∗
---------- Buffer: Minibuffer ----------

¥æ¡¼¥¶¡¼¤¬fill-p RET¤ÈÂǤĤȡ¢ read-variable¤Ïfill-prefix¤òÊÖ¤¹¡£

¤³¤Î´Ø¿ô¤Ïread-command¤Ë»÷¤Æ¤¤¤ë¤¬¡¢ commandp¤Î¤«¤ï¤ê¤Ë½Ò¸ìuser-variable-p¤ò»È¤¦¡£

(read-variable prompt)
≡
(intern
 (completing-read prompt obarray
                  'user-variable-p t nil))

User-Chosen Coding Systems¤Î´Ø¿ôread-coding-system¤ä read-non-nil-coding-system¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£