ffap下( (ffap-bindings) 実行後)において
''で囲まれたURL内でC-x C-fを実行すると
URLの末尾に「'」がついてしまいます。
確かにURL内に「'」を含めることはできますが、
末尾のそれは意図した動作ではないでしょう。
Fig1: 「'」までがURLとみなされる
Fig2: 「'」はURLとみなされない
カーソル位置のURLはffap-guesserが見ていますが、
その内部ではthingatpt.el内の
thing-at-point--bounds-of-well-formed-url 関数が絡んでいます。
以下の設定を加えればこの現象はなおります。
設定 mylisp-thingatpt-fix.el(以下のコードと同一)
(require 'thingatpt) (defun thing-at-point--bounds-of-well-formed-url--strip-last-apostrophe (&rest them) (let ((orig (apply them))) (if (memq (char-before (cdr orig)) '(?')) (cons (car orig) (1- (cdr orig))) orig))) (advice-add 'thing-at-point--bounds-of-well-formed-url :around 'thing-at-point--bounds-of-well-formed-url--strip-last-apostrophe) ;;; 'http://rubikitch.com/' ;;; The URL is http://rubikitch.com/. (provide 'mylisp-thingatpt-fix)
実行方法
$ wget http://rubikitch.com/f/mylisp-thingatpt-fix.el $ emacs -Q -f package-initialize -l mylisp-thingatpt-fix.el
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。