.emacs-my
changeset 606 959d64f49788
parent 605 c228c0414e0b
child 607 deef9ab0fb58
equal deleted inserted replaced
605:c228c0414e0b 606:959d64f49788
    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