hungry-backspace / hungry-delete

http://www.jitu.org/~tko/cgi-bin/bakagaiku.rb?bakaid=20060430

ruvy-hungry-backspaceを,改行を消さないようにして,ついでにdeleteもできるようにしてみた.

(defun hungry-backspace (arg)
  "Deletes preceding character or all whitespaces."
  (interactive "*P")
  (let ((here (point)))
    (skip-chars-backward " \t")
    (if (/= (point) here)
	(delete-region (point) here)
      (delete-backward-char 1))))

(defun hungry-delete (arg)
  "Deletes following character or all white spaces."
  (interactive "*P")
  (let ((here (point)))
    (skip-chars-forward " \t")
    (if (/= (point) here)
        (delete-region (point) here)
      (delete-char 1))))

(global-set-key [backspace] 'hungry-backspace)
(global-set-key [delete] 'hungry-delete)

tuareg-modeにのみバインドしようと思っていたけど,めんどくさくなったのでglobal-set-keyしてしまった.PythonとかHaskellとかインデントを見る言語を書く予定は特にないので,別に問題ないはず.

Meadowでやったんだけど,[backspace]とか[delete]とかってふつーのemacsでも大丈夫なのかな.