diff options
| author | Richard M. Stallman | 1994-01-02 21:51:47 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1994-01-02 21:51:47 +0000 |
| commit | 885020c53542b16df9d7f340f88699052d04e41d (patch) | |
| tree | e1f124feb83d78f7f8821079a53cefb40199f179 | |
| parent | c3a3ebc910aca2f1fb0c6bb5ccf2b6747a1baa1b (diff) | |
| download | emacs-885020c53542b16df9d7f340f88699052d04e41d.tar.gz emacs-885020c53542b16df9d7f340f88699052d04e41d.zip | |
(c-mode-map): Add menu bar menu.
| -rw-r--r-- | lisp/progmodes/c-mode.el | 58 |
1 files changed, 39 insertions, 19 deletions
diff --git a/lisp/progmodes/c-mode.el b/lisp/progmodes/c-mode.el index ebab0c77130..3728b128401 100644 --- a/lisp/progmodes/c-mode.el +++ b/lisp/progmodes/c-mode.el | |||
| @@ -33,26 +33,46 @@ | |||
| 33 | "Abbrev table in use in C mode.") | 33 | "Abbrev table in use in C mode.") |
| 34 | (define-abbrev-table 'c-mode-abbrev-table ()) | 34 | (define-abbrev-table 'c-mode-abbrev-table ()) |
| 35 | 35 | ||
| 36 | (defvar c-mode-map () | 36 | (defvar c-mode-map (make-sparse-keymap) |
| 37 | "Keymap used in C mode.") | 37 | "Keymap used in C mode.") |
| 38 | (if c-mode-map | 38 | |
| 39 | () | 39 | (define-key c-mode-map "{" 'electric-c-brace) |
| 40 | (setq c-mode-map (make-sparse-keymap)) | 40 | (define-key c-mode-map "}" 'electric-c-brace) |
| 41 | (define-key c-mode-map "{" 'electric-c-brace) | 41 | (define-key c-mode-map ";" 'electric-c-semi) |
| 42 | (define-key c-mode-map "}" 'electric-c-brace) | 42 | (define-key c-mode-map "#" 'electric-c-sharp-sign) |
| 43 | (define-key c-mode-map ";" 'electric-c-semi) | 43 | (define-key c-mode-map ":" 'electric-c-terminator) |
| 44 | (define-key c-mode-map "#" 'electric-c-sharp-sign) | 44 | (define-key c-mode-map "\e\C-h" 'mark-c-function) |
| 45 | (define-key c-mode-map ":" 'electric-c-terminator) | 45 | (define-key c-mode-map "\e\C-q" 'indent-c-exp) |
| 46 | (define-key c-mode-map "\e\C-h" 'mark-c-function) | 46 | (define-key c-mode-map "\ea" 'c-beginning-of-statement) |
| 47 | (define-key c-mode-map "\e\C-q" 'indent-c-exp) | 47 | (define-key c-mode-map "\ee" 'c-end-of-statement) |
| 48 | (define-key c-mode-map "\ea" 'c-beginning-of-statement) | 48 | (define-key c-mode-map "\eq" 'c-fill-paragraph) |
| 49 | (define-key c-mode-map "\ee" 'c-end-of-statement) | 49 | (define-key c-mode-map "\C-c\C-n" 'c-forward-conditional) |
| 50 | (define-key c-mode-map "\eq" 'c-fill-paragraph) | 50 | (define-key c-mode-map "\C-c\C-p" 'c-backward-conditional) |
| 51 | (define-key c-mode-map "\C-c\C-n" 'c-forward-conditional) | 51 | (define-key c-mode-map "\C-c\C-u" 'c-up-conditional) |
| 52 | (define-key c-mode-map "\C-c\C-p" 'c-backward-conditional) | 52 | (define-key c-mode-map "\177" 'backward-delete-char-untabify) |
| 53 | (define-key c-mode-map "\C-c\C-u" 'c-up-conditional) | 53 | (define-key c-mode-map "\t" 'c-indent-command)) |
| 54 | (define-key c-mode-map "\177" 'backward-delete-char-untabify) | 54 | |
| 55 | (define-key c-mode-map "\t" 'c-indent-command)) | 55 | (define-key c-mode-map [menu-bar] (make-sparse-keymap)) |
| 56 | |||
| 57 | (define-key c-mode-map [menu-bar c] | ||
| 58 | (cons "C" (make-sparse-keymap "C"))) | ||
| 59 | |||
| 60 | (define-key c-mode-map [menu-bar c indent-exp] | ||
| 61 | '("Indent Expression" . indent-c-exp)) | ||
| 62 | (define-key c-mode-map [menu-bar c indent-line] | ||
| 63 | '("Indent Line" . c-indent-command)) | ||
| 64 | (define-key c-mode-map [menu-bar c fill] | ||
| 65 | '("Fill Comment Paragraph" . c-fill-paragraph)) | ||
| 66 | (define-key c-mode-map [menu-bar c up] | ||
| 67 | '("Up Conditional" . c-up-conditional)) | ||
| 68 | (define-key c-mode-map [menu-bar c backward] | ||
| 69 | '("Backward Conditional" . c-backward-conditional)) | ||
| 70 | (define-key c-mode-map [menu-bar c forward] | ||
| 71 | '("Forward Conditional" . c-forward-conditional)) | ||
| 72 | (define-key c-mode-map [menu-bar c backward-stmt] | ||
| 73 | '("Backward Statement" . c-beginning-of-statement)) | ||
| 74 | (define-key c-mode-map [menu-bar c forward-stmt] | ||
| 75 | '("Forward Statement" . c-end-of-statement)) | ||
| 56 | 76 | ||
| 57 | ;; cmacexp is lame because it uses no preprocessor symbols. | 77 | ;; cmacexp is lame because it uses no preprocessor symbols. |
| 58 | ;; It isn't very extensible either -- hardcodes /lib/cpp. | 78 | ;; It isn't very extensible either -- hardcodes /lib/cpp. |