Commit fe4346f0 authored by Stefan Monnier's avatar Stefan Monnier
Browse files

(abbrev--before-point): Use word-motion functions

if :regexp is not specified (bug#5031).
parent cb190d7d
2009-11-25 Stefan Monnier <monnier@iro.umontreal.ca>
* abbrev.el (abbrev--before-point): Use word-motion functions
if :regexp is not specified (bug#5031).
* subr.el (string-prefix-p): New function.
* man.el (Man-completion-cache): New var.
......
......@@ -671,11 +671,19 @@ then ABBREV is looked up in that table only."
(setq tables (append (abbrev-table-get table :parents) tables))
(setq res
(and (or (not enable-fun) (funcall enable-fun))
(looking-back (or (abbrev-table-get table :regexp)
"\\<\\(\\w+\\)\\W*")
(line-beginning-position))
(setq start (match-beginning 1))
(setq end (match-end 1))
(let ((re (abbrev-table-get table :regexp)))
(if (null re)
;; We used to default `re' to "\\<\\(\\w+\\)\\W*"
;; but when words-include-escapes is set, that
;; is not right and fixing it is boring.
(let ((lim (point)))
(backward-word 1)
(setq start (point))
(forward-word 1)
(setq end (min (point) lim)))
(when (looking-back re (line-beginning-position))
(setq start (match-beginning 1))
(setq end (match-end 1)))))
(setq name (buffer-substring start end))
(let ((abbrev (abbrev-symbol name table)))
(when abbrev
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment