34 (setenv "ORGANIZATION" (concat user-full-name " <" user-mail-address ">")) |
34 (setenv "ORGANIZATION" (concat user-full-name " <" user-mail-address ">")) |
35 |
35 |
36 ;;; ---------------------------------------------------------------- |
36 ;;; ---------------------------------------------------------------- |
37 (message "mode groups") |
37 (message "mode groups") |
38 |
38 |
39 (defmacro my-travel-symb-tree (name func tree) |
39 (defmacro my-defun-rename-symb-tree (name doc func) |
40 `(cond |
40 "Travel by TREE and applies FUNC to each symbol." |
41 ((symbolp ,tree) |
41 `(defun ,name (tree) |
42 (,func ,tree) |
42 ,doc |
43 ) |
43 (cond |
44 ((listp ,tree) |
44 ((symbolp tree) |
45 (mapcar ,name ,tree) |
45 (,func tree) |
46 ) |
46 ) |
47 (t (error "Only tree of symbols allowed.")) |
47 ((listp tree) |
48 ) ) |
48 (mapcar ',name tree) |
49 |
49 ) |
50 (defun my-feature2mode (tree) |
50 (t (error "Only tree of symbols allowed.")) |
51 "Convert TREE of features to TREE of modes for these features. Single symbol allowed." |
51 ))) |
52 (my-travel-symb-tree |
52 |
53 'my-feature2mode |
53 (my-defun-rename-symb-tree |
54 (lambda (symb) (intern (concat (symbol-name symb) "-mode"))) |
54 my-feature2mode |
55 tree)) |
55 "Convert TREE of features to TREE of modes for these features. Single symbol allowed." |
56 |
56 (lambda (symb) (intern (concat (symbol-name symb) "-mode")))) |
57 (defun my-mode2hook (tree) |
57 |
58 "Convert TREE of modes to TREE of hooks for these modes. Single symbol allowed." |
58 (my-defun-rename-symb-tree |
59 (my-travel-symb-tree |
59 my-mode2hook |
60 'my-feature2mode |
60 "Convert TREE of modes to TREE of hooks for these modes. Single symbol allowed." |
61 (lambda (symb) (intern (concat (symbol-name tree) "-hook"))) |
61 (lambda (symb) (intern (concat (symbol-name symb) "-hook"))) |
62 tree)) |
62 ) |
63 |
63 |
64 (defun my-mode2modemap (tree) |
64 (my-defun-rename-symb-tree |
65 "Convert TREE of modes to TREE of keymaps for these modes. Single symbol allowed." |
65 my-mode2modemap |
66 (my-travel-symb-tree |
66 "Convert TREE of modes to TREE of keymaps for these modes. Single symbol allowed." |
67 'my-feature2mode |
67 (lambda (symb) (intern (concat (symbol-name symb) "-map"))) |
68 (lambda (symb) (intern (concat (symbol-name tree) "-map"))) |
68 ) |
69 tree)) |
|
70 |
69 |
71 (defvar my-devel-mode-list |
70 (defvar my-devel-mode-list |
72 '( |
71 '( |
73 outline-mode |
72 outline-mode |
74 sh-mode script-mode |
73 sh-mode script-mode |