This is part of The Pile, a partial archive of some open source mailing lists and newsgroups.
Subject: Re: Autocomplete with a dictionary From: John Wiegley <johnw@gnu.org> Date: 16 Jun 2001 16:28:13 -0400 >>>>> On Sat Jun 16, Lijiv writes: > The default autocomplete feature (M-/) works only for words which > have been in the same file. Is there any way to force emacs to do > autocomplete from a dictionary. i.e, I have a dictionary file and > emacs should complete words which exists in the dictionary file. M-x ispell-complete-word will do exactly what you wish. I believe it is bound to M-TAB automatically for you in textual modes. John Path: nntp.stanford.edu!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed00.sul.t-online.de!t-online.de!nautilus.eusc.inter.net!newsfeed.Austria.EU.net!newsfeed.kpnqwest.at!anon.lcs.mit.edu!nym.alias.net!mail2news X-Sent: 18 Jun 2001 17:40:56 GMT === Subject: Re: Autocomplete with a dictionary From: John Wiegley <johnw@gnu.org> Date: 18 Jun 2001 13:40:46 -0400 >>>>> On Mon Jun 18, Kai writes: > On 18 Jun 2001, Stephan Zimmermann wrote: >> Is there also a way to make ispell-complete-word work like >> dabbrev-expand ? It's quite nice to cycle through all possible >> completitions... > John's great package pcomplete allows cycling. Maybe you can tell > it to use ispell-complete-word somehow. (Though I don't know how). Hmmm... all pcomplete needs is the part of the word you want to complete against, and a list of possible completions. Here is the code you need (untested). Now just type in part of a word and hit M-tab. ---------------------------------------------------------------------- (require 'pcomplete) (add-hook 'text-mode hook (function (lambda nil (when (featurep 'pcomplete) (local-set-key [(meta tab)] 'pcomplete) (local-set-key [(meta control ?i)] 'pcomplete) (set (make-variable-buffer-local 'pcomplete-default-completion-function) 'find-ispell-completions) (set (make-variable-buffer-local 'pcomplete-command-completion-function) 'find-ispell-completions) (set (make-variable-buffer-local 'pcomplete-parse-arguments-function) 'find-current-word))))) ;; now we need find-ispell-completions and find-current-word: (defun find-ispell-completions () "Return a list of possible completions for this word." (mapcar (function (lambda (member) (car member))) (lookup-words (concat pcomplete-stub "*") ispell-complete-word-dict))) (defun find-current-word () (let ((end (point))) (save-restriction (save-excursion (skip-chars-backward "^\\[ \t\n") (narrow-to-region (point) end)) (pcomplete-parse-buffer-arguments)))) Path: nntp.stanford.edu!newsfeed.stanford.edu!cyclone.bc.net!news-hog.berkeley.edu!ucberkeley!news.ycc.yale.edu!rum.cs.yale.edu!rum.cs.yale.edu From: "Stefan Monnier <foo@acm.com>" <monnier+comp.emacs/news/@flint.cs.yale.edu> Newsgroups: comp.emacs Subject: Re: Autocomplete with a dictionary Date: 18 Jun 2001 14:08:37 -0400 Organization: Yale University Lines: 8 ===