Next: , Previous: Disassembly, Up: Advising Functions   [Contents][Index]


16.1 ñ½ã¤Ê¥¢¥É¥Ð¥¤¥¹¤ÎÎã

¥³¥Þ¥ó¥Énext-line¤Ï¡¢¥Ý¥¤¥ó¥È¤ò¿âľ¤ËÊ£¿ô¹Ô°Üư¤·¤Þ¤¹¡£ ɸ½à¥Ð¥¤¥ó¥É¤ÏC-n¤Ç¤¹¡£ ¥Ð¥Ã¥Õ¥¡¤ÎºÇ½ª¹Ô¤Ç»È¤¦¤È¡¢ ¡Ênext-line-add-newlines¤¬nil°Ê³°¤Î¾ì¹ç¡Ë ¤³¤Î¥³¥Þ¥ó¥É¤Ï¹Ô¤òºî¤ë¤¿¤á¤Ë²þ¹Ô¤òÁÞÆþ¤·¡¢¤½¤Î¹Ô¤Ë°Üư¤·¤Þ¤¹¡£

ƱÍͤʵ¡Ç½¤òprevious-line¤ËÄɲä·¤¿¤¤¤È¤·¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢¥Ð¥Ã¥Õ¥¡¤ÎÀèÆ¬¤Ë¿·¤¿¤Ê¹Ô¤òÁÞÆþ¤·¡¢¤½¤Î¹Ô¤Ø°Üư¤¹¤ë¤Î¤Ç¤¹¡£ ¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð¤è¤¤¤Ç¤·¤ç¤¦¡©

Åö³º´Ø¿ô¤òºÆÄêµÁ¤¹¤ì¤Ð¤Ç¤­¤Þ¤¹¤¬¡¢¤½¤ì¤Ç¤Ï¥â¥¸¥å¡¼¥ëÀ­¤¬¤è¤¯¤¢¤ê¤Þ¤»¤ó¡£ ¥¢¥É¥Ð¥¤¥¹µ¡Ç½¤¬¸«Ä̤·¤Î¤è¤¤ÂåÂØÊýË¡¤òÄ󶡤·¤Þ¤¹¡£ ´û¸¤Î´Ø¿ôÄêµÁ¤ò¼ÂºÝ¤ËÊѹ¹¤·¤¿¤ê¤½¤ÎÄêµÁ¤ò»²¾È¤¹¤ë¤³¤È¤Ê¤¯¡¢ ´Ø¿ôÄêµÁ¤ËÆÉ¼Ô¤Î¥³¡¼¥É¤ò¼Â¼ÁŪ¤ËÄɲäǤ­¤Þ¤¹¡£ ¤Ä¤®¤Î¤è¤¦¤Ë¹Ô¤¤¤Þ¤¹¡£

(defadvice previous-line (before next-line-at-end (arg))
  "Insert an empty line when moving up from the top line."
  (if (and next-line-add-newlines (= arg 1)
           (save-excursion (beginning-of-line) (bobp)))
      (progn
        (beginning-of-line)
        (newline))))

¤³¤Î¼°¤Ï¡¢´Ø¿ôprevious-line¤ËÂФ¹¤ë¥¢¥É¥Ð¥¤¥¹ÃÇÊÒ¤òÄêµÁ¤·¤Þ¤¹¡£ ¤³¤Î¥¢¥É¥Ð¥¤¥¹ÃÇÊҤˤÏnext-line-at-end¤È¤¤¤¦Ì¾Á°¤¬ÉÕ¤­¤Þ¤¹¡£ ¥·¥ó¥Ü¥ëbefore¤Ë¤è¤ê¡¢ previous-line¤ÎÄ̾ï¤ÎÄêµÁ¤ò¼Â¹Ô¤¹¤ë¤Þ¤¨¤Ë¼Â¹Ô¤¹¤ë »öÁ°¥¢¥É¥Ð¥¤¥¹¡Êbefore-advice¡Ë¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ (arg)¤Ï¡¢¥¢¥É¥Ð¥¤¥¹ÃÇÊÒ¤¬¤É¤Î¤è¤¦¤Ë´Ø¿ô¤Î°ú¿ô¤ò»²¾È¤¹¤ë¤«¤ò»ØÄꤷ¤Þ¤¹¡£

¤³¤Î¥¢¥É¥Ð¥¤¥¹ÃÇÊÒ¤¬¼Â¹Ô¤µ¤ì¤ë¤È¡¢É¬ÍפʾìÌ̤ǤϿ·¤¿¤Ë¹Ô¤òºî¤ê¤Þ¤¹¤¬¡¢ ¤½¤Î¹Ô¤Ø¤Ï¥Ý¥¤¥ó¥È¤ò°Üư¤·¤Þ¤»¤ó¡£ ¤³¤ì¤Ï¥¢¥É¥Ð¥¤¥¹¤ò½ñ¤¯Àµ¤·¤¤¤ä¤ê¤«¤¿¤Ç¤¹¡£ ¤È¤¤¤¦¤Î¤Ï¡¢Ä̾ï¤ÎÄêµÁ¤¬¤³¤Î¤¢¤È¤Ë¼Â¹Ô¤µ¤ì¡¢¿·¤¿¤ËÁÞÆþ¤·¤¿¹Ô¤Ø°Üư¤·¤Þ¤¹¡£

¥¢¥É¥Ð¥¤¥¹¤òÄêµÁ¤·¤Æ¤â´Ø¿ôprevious-line¤ò¤¿¤À¤Á¤Ë¤ÏÊѹ¹¤·¤Þ¤»¤ó¡£ ¤Ä¤®¤Î¤è¤¦¤Ë¥¢¥É¥Ð¥¤¥¹¤ò³èÀ­¤Ë¤¹¤ë¤ÈÊѤï¤ê¤Þ¤¹¡£

(ad-activate 'previous-line)

¤³¤ì¤Ë¤è¤ê¡¢´Ø¿ôprevious-line¤ËÂФ·¤ÆÄêµÁ¤·¤Æ¤¢¤ë ¥¢¥É¥Ð¥¤¥¹¤ò»È¤¤»Ï¤á¤Þ¤¹¡£ ¤³¤ì°Ê¹ß¡¢C-p¤äM-x¤Ç¥æ¡¼¥¶¡¼¤¬µ¯Æ°¤·¤¿¤Î¤« Lisp¤«¤é¸Æ¤Ð¤ì¤¿¤Î¤«¤Ë´Ø¤ï¤é¤º¡¢ ¤³¤Î´Ø¿ô¤òµ¯Æ°¤¹¤ë¤È¡¢¤Þ¤º¥¢¥É¥Ð¥¤¥¹¤ò¼Â¹Ô¤·¤Æ¤«¤é ´Ø¿ô¤ÎÄ̾ï¤ÎÄêµÁ¤ò¼Â¹Ô¤·¤Þ¤¹¡£

¤³¤ÎÎã¤Ï¡¢¥¢¥É¥Ð¥¤¥¹¤Î1¤Ä¤Î¥¯¥é¥¹¤Ç¤¢¤ë»öÁ°¥¢¥É¥Ð¥¤¥¹¤ÎÎã¤Ç¤¢¤ê¡¢ ´Ø¿ô¤Î¸µÄêµÁ¤Î¤Þ¤¨¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ ¾¤Ë2¤Ä¤Î¥¢¥É¥Ð¥¤¥¹¥¯¥é¥¹¤¬¤¢¤ê¤Þ¤¹¡£ ¸µÄêµÁ¤Î¤¢¤È¤Ë¼Â¹Ô¤µ¤ì¤ë»ö¸å¥¢¥É¥Ð¥¤¥¹¡Êafter-advice¡Ë¤È ¸µÄêµÁ¤Îµ¯Æ°¤òÊñ¤ß¹þ¤à¼°¤ò»ØÄꤹ¤ëÊñ°Ï¥¢¥É¥Ð¥¤¥¹¡Êaround-advice¡Ë¤Ç¤¹¡£