[xyzzy:00646] backward-sentence
- Subject: [xyzzy:00646] backward-sentence
- From: "Seiya Suda" <EZU11330@xxxxxxxxxxxxxxxx>
- X-mailer: Microsoft Outlook Express 4.72.3110.5
亀井さん、こんにちは。
emacs lisp な話題で申し訳ありませんが、
次のようにしたところ、backward-sentence が
ちゃんと働いてくれません。どこに問題があるのか
お教えいただけますでしょうか?
----------------------------------------
(defvar-local sentence-end "\\(\\([.?!][]\"')}]*\\|[.?!][]”
’)}〕〉》」』]*\\)\\($\\|\t\\| \\)\\|。\\)[ \t\n]*")
(defun forward-sentence (&optional (arg 1))
(interactive "p")
; (or arg (setq arg 1))
(while (< arg 0)
(let ((par-beg (save-excursion (start-of-paragraph-text) (point))))
(if (scan-buffer (concat sentence-end "[^ \t\n]") :regexp t :reverse t
:limit par-beg :tail t :case-fold t)
(goto-char (1- (match-end 0)))
(goto-char par-beg)))
(setq arg (1+ arg)))
(while (> arg 0)
(let ((par-end (save-excursion (end-of-paragraph-text) (point))))
(if (scan-buffer sentence-end :regexp t :limit par-end :tail t
:case-fold t)
(skip-chars-backward " \t\n")
(goto-char par-end)))
(setq arg (1- arg))))
(defun backward-sentence (&optional (arg 1))
"Move backward to start of sentence. With arg, do it arg times.
See `forward-sentence' for more information."
(interactive "p")
; (or arg (setq arg 1))
(forward-sentence (- arg)))
----------
須田誠也
EZU11330@xxxxxxxxxxx