Path: utzoo!telly!moore!ziebmef!becker!geac!jtsv16!uunet!tut.cis.ohio-state.edu!ASYLUM.GSFC.NASA.GOV!chris From: chris@ASYLUM.GSFC.NASA.GOV (Chris Shenton) Newsgroups: gnu.emacs Subject: ispell questions -- syntax tables, my words file, et al Message-ID: <8910181956.AA04222@asylum.gsfc.nasa.gov> Date: 18 Oct 89 19:56:20 GMT Distribution: gnu Organization: GNUs Not Usenet Lines: 72 I'm a recent convert to ispell, and now couldn't live without it. A few questions, though -- the easy ones (?) first: 1. Capitalization in prompt The offending word is capitalized in the mode-line prompt. Given ispell's ability to distinguish case, this seems counter-productive/intuitive. 2. Second invocation of ispell doesn't seem to look at my words file Works fine the first time (except for below), but the second time through it doesn't seem to know my words. For example, it doesn't find my name. 3. Can't find in original text -- Any key to continue I sometimes get the above message, even though a simple search locates it. This, however, may be a symptom of my messing around with the following problem. 4. Syntax table modifications Trying to use apostrophe (') and dash (-) as word chars for hyphenations, etc. At best, it doesn't seem to acknowledge -- apostrophies, for example -- as word chars (sees "didn" but not "didn't"); at worst, it seems to get lost, complaining "Can't find in orinal text -- Any key to continue" I autoload ispell in my .emacs file, so when I modify the syntax table there, is it trashed by the (defvar ispell-syntax-table) when the autoload is activated? If not, then do I have to put the entire table initialization (0, 1, ..., 9, etc) in my .emacs? I guess what I'd like/expect is an ispell-hook, where I could just put (modify-syntax-entry ?' "w " ispell-syntax-table) (modify-syntax-entry ?- "w " ispell-syntax-table) as per the documentation in ispell.el. The alternative seems to be normal (*not* auto) loading ispell initially, or duplication of effort in .emacs. And I'd prefer not to modify ispell.el itself... Below is the relevant portion of my .emacs, ripped off from ispell.el: (defvar ispell-syntax-table nil "*Syntax table used by ispell to find word boundaries. You may change syntax entries to, say, allow ' and - to be part of words, or not, as you prefer.") (if (null ispell-syntax-table) (progn (setq ispell-syntax-table (make-syntax-table)) (modify-syntax-entry ?' "w " ispell-syntax-table) (modify-syntax-entry ?- "w " ispell-syntax-table))) If ispell does not overwrite the table I just created, I assume that the other table modifications are not applied either because of the test at the top of the expression; from ispell.el: (if (null ispell-syntax-table) ;; The following assumes that the standard-syntax-table ;; is static. If you add words with funky characters ;; to your dictionary, the following may have to change. (progn (setq ispell-syntax-table (make-syntax-table)) ;; Make certain characters word constituents ;; (modify-syntax-entry ?' "w " ispell-syntax-table) ;; (modify-syntax-entry ?- "w " ispell-syntax-table) ;; Get rid on existing word syntax on certain characters (modify-syntax-entry ?0 ". " ispell-syntax-table) ... (modify-syntax-entry ?9 ". " ispell-syntax-table) (modify-syntax-entry ?$ ". " ispell-syntax-table) (modify-syntax-entry ?% ". " ispell-syntax-table)))