narrow-to-regionを使ってregionを単語の先頭から現在のカーソルの位置まで縮めたいんですが、やり方がわかりませんでした。

一旦変数に現在地を保存してから設定すれば設定すれば narrow することはできますが、カーソル位置が変わってしまい、それを直すために save-excursionを使うと、たったこれだけの動作にコードが非常に長くなってしまいます。

  (let* ((current-point (point)))
    (narrow-to-region (progn (backward-word) (point)) current-point))

backward-word-pointのように単に単語先頭の場所を数値で返す関数はないのでしょうか?