# HG changeset patch # User Richard M. Stallman # Date 771627284 0 # Node ID e6e305453f19d5ffd7cac9e48c2fd21ce44d2c98 # Parent 11d254f1f196c8540da1e150d979388a609b3880 (ispell-command-loop): C-g should be like X, not q. (ispell-dictionary-alist): Add autoload. Split into two subvariables. (ispell-menu-map): Defvar and set up at top level. Split into parts. (ispell-menu-map-needed): New variable. diff -r 11d254f1f196 -r e6e305453f19 lisp/textmodes/ispell.el --- a/lisp/textmodes/ispell.el Tue Jun 14 20:33:44 1994 +0000 +++ b/lisp/textmodes/ispell.el Tue Jun 14 20:54:44 1994 +0000 @@ -6,9 +6,6 @@ ;;; ;;; ;;; Authors : Ken Stevens et. al. -;;; Last Modified By: Ken Stevens -;;; Last Modified On: Fri May 20 15:58:52 MDT 1994 -;;; Update Revision : 2.30 ;;; Syntax : emacs-lisp ;;; Status : Release with 3.1.05 ispell. ;;; Version : International Ispell Version 3.1 by Geoff Kuenning. @@ -408,7 +405,8 @@ words as correct. See also `ispell-dictionary-alist', which may be used for language-specific arguments.") -(defvar ispell-dictionary-alist ; sk 9-Aug-1991 18:28 +;;;###autoload +(defvar ispell-dictionary-alist-1 ; sk 9-Aug-1991 18:28 '((nil ; default (english.aff) "[A-Za-z]" "[^A-Za-z]" "[---']" nil ("-B") nil) ("english" ; make english explicitly selectable @@ -422,8 +420,11 @@ ("nederlands8" ; dutch8.aff "[A-Za-z\300-\305\307\310-\317\322-\326\331-\334\340-\345\347\350-\357\361\362-\366\371-\374]" "[^A-Za-z\300-\305\307\310-\317\322-\326\331-\334\340-\345\347\350-\357\361\362-\366\371-\374]" - "[---']" t ("-C") nil) - ("svenska" ;7 bit swedish mode + "[---']" t ("-C") nil))) + +;;;###autoload +(defvar ispell-dictionary-alist-2 + '(("svenska" ;7 bit swedish mode "[A-Za-z}{|\\133\\135\\\\]" "[^A-Za-z}{|\\133\\135\\\\]" "[---']" nil ("-C") nil) ("svenska8" ;8 bit swedish mode @@ -437,7 +438,13 @@ ("dansk" ; dansk.aff "[A-Z\306\330\305a-z\346\370\345]" "[^A-Z\306\330\305a-z\346\370\345]" "[---]" nil ("-C") nil) - ) + )) + +;; ispell-dictionary-alist is set up from two subvariables above +;; to avoid having very long lines in loaddefs.el. +;;;###autoload +(defvar ispell-dictionary-alist + (append ispell-dictionary-alist-1 ispell-dictionary-alist-2) "An alist of dictionaries and their associated parameters. Each element of this list is also a list: @@ -479,7 +486,64 @@ contain the same character set as casechars and otherchars in the language.aff file \(e.g., english.aff\).") +;;;###autoload +(defvar ispell-menu-map nil) +;;; Set up the map. +;;;###autoload +(defconst ispell-menu-map-needed + ;; Verify this is not Lucid Emacs. + (and (not ispell-menu-map) (boundp 'system-key-alist))) + +;;;###autoload +(if ispell-menu-map-needed + (let ((dicts (reverse (cons (cons "default" nil) ispell-dictionary-alist))) + name) + ;; Can put in defvar when external defines are removed. + (setq ispell-menu-map (make-sparse-keymap "Spell")) + (while dicts + (setq name (car (car dicts)) + dicts (cdr dicts)) + (if (stringp name) + (define-key ispell-menu-map (vector (intern name)) + (cons (concat "Select " (capitalize name)) + (list 'lambda () '(interactive) + (list 'ispell-change-dictionary name)))))))) + +;;;###autoload +(if ispell-menu-map-needed + (progn + ;; Define commands in opposite order you want them to appear in menu. + (define-key ispell-menu-map [ispell-change-dictionary] + '("Change Dictionary" . ispell-change-dictionary)) + (define-key ispell-menu-map [ispell-kill-ispell] + '("Kill Process" . ispell-kill-ispell)) + (define-key ispell-menu-map [ispell-pdict-save] + '("Save Dictionary" . (lambda () (interactive) (ispell-pdict-save t)))) + (define-key ispell-menu-map [ispell-complete-word] + '("Complete Word" . ispell-complete-word)) + (define-key ispell-menu-map [ispell-complete-word-interior-frag] + '("Complete Word Frag" . ispell-complete-word-interior-frag)))) + +;;;###autoload +(if ispell-menu-map-needed + (progn + (define-key ispell-menu-map [ispell-continue] + '("Continue Check" . ispell-continue)) + (define-key ispell-menu-map [ispell-region] + '("Check Region" . ispell-region)) + (define-key ispell-menu-map [ispell-word] + '("Check Word" . ispell-word)) + (define-key ispell-menu-map [ispell-buffer] + '("Check Buffer" . ispell-buffer)) + (define-key ispell-menu-map [ispell-message] + '("Check Message" . ispell-message)) + (define-key ispell-menu-map [ispell-help] + '("Help" . (lambda () (interactive) (describe-function 'ispell-help)))) + (put 'ispell-region 'menu-enable 'mark-active))) + +;;;###autoload +(fset 'ispell-menu-map (symbol-value 'ispell-menu-map)) (cond ((and (string-lessp "19" emacs-version) @@ -514,53 +578,7 @@ (if current-menubar (progn (delete-menu-item '("Edit" "Spell")) ; in case already defined - (add-menu '("Edit") "Spell" ispell-menu-lucid))))) - - ;; cond-case: - ((and (featurep 'menu-bar) - (string-lessp "19" emacs-version)) - (let ((dicts (reverse (cons (cons "default" nil) ispell-dictionary-alist))) - name) - (defvar ispell-menu-map nil) - ;; Can put in defvar when external defines are removed. - (setq ispell-menu-map (make-sparse-keymap "Spell")) - (while dicts - (setq name (car (car dicts)) - dicts (cdr dicts)) - (if (stringp name) - (define-key ispell-menu-map (vector (intern name)) - (cons (concat "Select " (capitalize name)) - (list 'lambda () '(interactive) - (list 'ispell-change-dictionary name)))))) - ;; Why do we need an alias here? - (defalias 'ispell-menu-map ispell-menu-map) - ;; Define commands in opposite order you want them to appear in menu. - (define-key ispell-menu-map [ispell-change-dictionary] - '("Change Dictionary" . ispell-change-dictionary)) - (define-key ispell-menu-map [ispell-kill-ispell] - '("Kill Process" . ispell-kill-ispell)) - (define-key ispell-menu-map [ispell-pdict-save] - '("Save Dictionary" . (lambda () (interactive) (ispell-pdict-save t)))) - (define-key ispell-menu-map [ispell-complete-word] - '("Complete Word" . ispell-complete-word)) - (define-key ispell-menu-map [ispell-complete-word-interior-frag] - '("Complete Word Frag" . ispell-complete-word-interior-frag)) - (define-key ispell-menu-map [ispell-continue] - '("Continue Check" . ispell-continue)) - (define-key ispell-menu-map [ispell-region] - '("Check Region" . ispell-region)) - (define-key ispell-menu-map [ispell-word] - '("Check Word" . ispell-word)) - (define-key ispell-menu-map [ispell-buffer] - '("Check Buffer" . ispell-buffer)) - (define-key ispell-menu-map [ispell-message] - '("Check Message" . ispell-message)) - (define-key ispell-menu-map [ispell-help] - '("Help" . (lambda () (interactive) - (describe-function 'ispell-help) - ;(x-popup-menu last-nonmenu-event(list "" ispell-help-list)) - )))) - (put 'ispell-region 'menu-enable 'mark-active))) + (add-menu '("Edit") "Spell" ispell-menu-lucid)))))) ;;; ********************************************************************** @@ -957,8 +975,8 @@ (read-char-exclusive) (read-char)) skipped 0) - (if (or quit-flag (= char ?\C-g)) ; C-g is like typing q - (setq char ?q + (if (or quit-flag (= char ?\C-g)) ; C-g is like typing X + (setq char ?X quit-flag nil))) ;; Adjust num to array offset skipping command characters. (let ((com-chars command-characters))