aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/progmodes/cpp.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/progmodes/cpp.el')
-rw-r--r--lisp/progmodes/cpp.el92
1 files changed, 44 insertions, 48 deletions
diff --git a/lisp/progmodes/cpp.el b/lisp/progmodes/cpp.el
index 220ecf107ed..77a30521e9b 100644
--- a/lisp/progmodes/cpp.el
+++ b/lisp/progmodes/cpp.el
@@ -416,63 +416,59 @@ A prefix arg suppresses display of that buffer."
416 416
417;;; Edit Buffer: 417;;; Edit Buffer:
418 418
419(defvar cpp-edit-map nil) 419(defvar cpp-edit-mode-map
420;; Keymap for `cpp-edit-mode'. 420 (let ((map (make-keymap)))
421 421 (suppress-keymap map)
422(if cpp-edit-map 422 (define-key map [ down-mouse-2 ] 'cpp-push-button)
423 () 423 (define-key map [ mouse-2 ] 'ignore)
424 (setq cpp-edit-map (make-keymap)) 424 (define-key map " " 'scroll-up)
425 (suppress-keymap cpp-edit-map) 425 (define-key map "\C-?" 'scroll-down)
426 (define-key cpp-edit-map [ down-mouse-2 ] 'cpp-push-button) 426 (define-key map [ delete ] 'scroll-down)
427 (define-key cpp-edit-map [ mouse-2 ] 'ignore) 427 (define-key map "\C-c\C-c" 'cpp-edit-apply)
428 (define-key cpp-edit-map " " 'scroll-up) 428 (define-key map "a" 'cpp-edit-apply)
429 (define-key cpp-edit-map "\C-?" 'scroll-down) 429 (define-key map "A" 'cpp-edit-apply)
430 (define-key cpp-edit-map [ delete ] 'scroll-down) 430 (define-key map "r" 'cpp-edit-reset)
431 (define-key cpp-edit-map "\C-c\C-c" 'cpp-edit-apply) 431 (define-key map "R" 'cpp-edit-reset)
432 (define-key cpp-edit-map "a" 'cpp-edit-apply) 432 (define-key map "s" 'cpp-edit-save)
433 (define-key cpp-edit-map "A" 'cpp-edit-apply) 433 (define-key map "S" 'cpp-edit-save)
434 (define-key cpp-edit-map "r" 'cpp-edit-reset) 434 (define-key map "l" 'cpp-edit-load)
435 (define-key cpp-edit-map "R" 'cpp-edit-reset) 435 (define-key map "L" 'cpp-edit-load)
436 (define-key cpp-edit-map "s" 'cpp-edit-save) 436 (define-key map "h" 'cpp-edit-home)
437 (define-key cpp-edit-map "S" 'cpp-edit-save) 437 (define-key map "H" 'cpp-edit-home)
438 (define-key cpp-edit-map "l" 'cpp-edit-load) 438 (define-key map "b" 'cpp-edit-background)
439 (define-key cpp-edit-map "L" 'cpp-edit-load) 439 (define-key map "B" 'cpp-edit-background)
440 (define-key cpp-edit-map "h" 'cpp-edit-home) 440 (define-key map "k" 'cpp-edit-known)
441 (define-key cpp-edit-map "H" 'cpp-edit-home) 441 (define-key map "K" 'cpp-edit-known)
442 (define-key cpp-edit-map "b" 'cpp-edit-background) 442 (define-key map "u" 'cpp-edit-unknown)
443 (define-key cpp-edit-map "B" 'cpp-edit-background) 443 (define-key map "u" 'cpp-edit-unknown)
444 (define-key cpp-edit-map "k" 'cpp-edit-known) 444 (define-key map "t" 'cpp-edit-true)
445 (define-key cpp-edit-map "K" 'cpp-edit-known) 445 (define-key map "T" 'cpp-edit-true)
446 (define-key cpp-edit-map "u" 'cpp-edit-unknown) 446 (define-key map "f" 'cpp-edit-false)
447 (define-key cpp-edit-map "u" 'cpp-edit-unknown) 447 (define-key map "F" 'cpp-edit-false)
448 (define-key cpp-edit-map "t" 'cpp-edit-true) 448 (define-key map "w" 'cpp-edit-write)
449 (define-key cpp-edit-map "T" 'cpp-edit-true) 449 (define-key map "W" 'cpp-edit-write)
450 (define-key cpp-edit-map "f" 'cpp-edit-false) 450 (define-key map "X" 'cpp-edit-toggle-known)
451 (define-key cpp-edit-map "F" 'cpp-edit-false) 451 (define-key map "x" 'cpp-edit-toggle-known)
452 (define-key cpp-edit-map "w" 'cpp-edit-write) 452 (define-key map "Y" 'cpp-edit-toggle-unknown)
453 (define-key cpp-edit-map "W" 'cpp-edit-write) 453 (define-key map "y" 'cpp-edit-toggle-unknown)
454 (define-key cpp-edit-map "X" 'cpp-edit-toggle-known) 454 (define-key map "q" 'bury-buffer)
455 (define-key cpp-edit-map "x" 'cpp-edit-toggle-known) 455 (define-key map "Q" 'bury-buffer)
456 (define-key cpp-edit-map "Y" 'cpp-edit-toggle-unknown) 456 map)
457 (define-key cpp-edit-map "y" 'cpp-edit-toggle-unknown) 457 "Keymap for `cpp-edit-mode'.")
458 (define-key cpp-edit-map "q" 'bury-buffer) 458
459 (define-key cpp-edit-map "Q" 'bury-buffer)) 459
460 460
461(defvar cpp-edit-symbols nil) 461(defvar cpp-edit-symbols nil)
462;; Symbols defined in the edit buffer. 462;; Symbols defined in the edit buffer.
463(make-variable-buffer-local 'cpp-edit-symbols) 463(make-variable-buffer-local 'cpp-edit-symbols)
464 464
465(defun cpp-edit-mode () 465(define-derived-mode cpp-edit-mode fundamental-mode "CPP Edit"
466 "Major mode for editing the criteria for highlighting cpp conditionals. 466 "Major mode for editing the criteria for highlighting cpp conditionals.
467Click on objects to change them. 467Click on objects to change them.
468You can also use the keyboard accelerators indicated like this: [K]ey." 468You can also use the keyboard accelerators indicated like this: [K]ey."
469 (kill-all-local-variables)
470 (buffer-disable-undo) 469 (buffer-disable-undo)
471 (auto-save-mode -1) 470 (auto-save-mode -1)
472 (setq buffer-read-only t) 471 (setq buffer-read-only t))
473 (setq major-mode 'cpp-edit-mode)
474 (setq mode-name "CPP Edit")
475 (use-local-map cpp-edit-map))
476 472
477(defun cpp-edit-apply () 473(defun cpp-edit-apply ()
478 "Apply edited display information to original buffer." 474 "Apply edited display information to original buffer."
@@ -568,7 +564,7 @@ You can also use the keyboard accelerators indicated like this: [K]ey."
568 (load-file cpp-config-file)) 564 (load-file cpp-config-file))
569 ((file-readable-p (concat "~/" cpp-config-file)) 565 ((file-readable-p (concat "~/" cpp-config-file))
570 (load-file cpp-config-file))) 566 (load-file cpp-config-file)))
571 (if (eq major-mode 'cpp-edit-mode) 567 (if (derived-mode-p 'cpp-edit-mode)
572 (cpp-edit-reset))) 568 (cpp-edit-reset)))
573 569
574(defun cpp-edit-save () 570(defun cpp-edit-save ()