1
영역을 선택하지 않은 경우 현재 행을 복사하는 elisp 기능을 작성하지만 이맥스 24.5에서는 작동하지 않습니다. "M-w"키 스트로크를 치면 미니 버퍼에 "Mark set"이라는 메시지가 나온다. 내가 뭐 놓친 거 없니?이 elisp 함수의 문제점은 무엇입니까?
(defun copy-region-or-current-line (beg end)
"copy current if no region selected, copy the region otherwise"
(interactive "r")
(let ((cur-pos (point)))
(if (region-active-p)
(kill-ring-save beg end)
(progn
(kill-whole-line)
(yank)
(goto-char cur-pos)))))
(global-set-key (kbd "M-w") 'copy-region-or-current-line)
계정에,로 :
참고로,
kill-ring-save
로 선택 지역 인수의 계정에, 당신은이를 다시 작성할 수 이러한 부작용 중 - 대화 형 컨텍스트에서 유용하지만 실제로 필요하지 않은 명령 (예 : 표시 설정)은 일반적입니다. 어떤 경우에는 명령의 문서화 문자열이 대신 사용해야하는 것을 지적하므로 잘 알고 있어야합니다. – phils