From ec17ee786413224c97788a2fb8b23e89d524082b Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Mon, 2 Dec 2002 16:20:36 +0000 Subject: [PATCH] (ispell-dict-map): Move specific dictionary selection into a submenu. --- lisp/textmodes/ispell.el | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el index c7a8ac9fc4e..9efe8c9ee33 100644 --- a/lisp/textmodes/ispell.el +++ b/lisp/textmodes/ispell.el @@ -837,26 +837,33 @@ and added as a submenu of the \"Edit\" menu.") (if ispell-menu-map-needed (let ((dicts (reverse (cons (cons "default" nil) ispell-dictionary-alist))) (dir (if (boundp 'ispell-library-directory) ispell-library-directory)) + (dict-map (make-sparse-keymap "Dictionaries")) name load-dict) (setq ispell-menu-map (make-sparse-keymap "Spell")) ;; add the dictionaries to the bottom of the list. - (while dicts - (setq name (car (car dicts)) - load-dict (car (cdr (member "-d" (nth 5 (car dicts))))) - dicts (cdr dicts)) - (cond ((not (stringp name)) - (define-key ispell-menu-map [default] - '("Select Default Dict" - "Dictionary for which Ispell was configured" - . (lambda () (interactive) - (ispell-change-dictionary "default"))))) + (dolist (dict dicts) + (setq name (car dict) + load-dict (car (cdr (member "-d" (nth 5 dict))))) + (unless (stringp name) + (define-key ispell-menu-map [default] + '("Select Default Dict" + "Dictionary for which Ispell was configured" + . (lambda () (interactive) + (ispell-change-dictionary "default")))))) + (fset 'ispell-dict-map dict-map) + (define-key ispell-menu-map [dictionaries] + `(menu-item "Select Dict" ispell-dict-map)) + (dolist (dict dicts) + (setq name (car dict) + load-dict (car (cdr (member "-d" (nth 5 dict))))) + (cond ((not (stringp name))) ((or (not dir) ; load all if library dir not defined (file-exists-p (concat dir "/" name ".hash")) (file-exists-p (concat dir "/" name ".has")) (and load-dict (or (file-exists-p (concat dir "/" load-dict ".hash")) (file-exists-p (concat dir "/" load-dict ".has"))))) - (define-key ispell-menu-map (vector (intern name)) + (define-key dict-map (vector (intern name)) (cons (concat "Select " (capitalize name) " Dict") `(lambda () (interactive) (ispell-change-dictionary ,name))))))))) -- 2.39.2