• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/emacs-93/emacs/lisp/progmodes/

Lines Matching +defs:auto +defs:mode +defs:list

29 ;; This mode acts as a graphical user interface to GDB.  You can interact with
42 ;; You don't need to know about annotations to use this mode as a debugger,
43 ;; but if you are interested developing the mode itself, see the Annotations
54 ;; This mode SHOULD WORK WITH GDB 5.0 or later but you will NEED AT LEAST
88 ;; 2) -stack-list-locals has a type field but also prints type in values field.
103 (defvar speedbar-initial-expansion-list-name)
114 (defvar gdb-var-list nil
148 "A list of gdb command objects.")
168 gdb mode sends to gdb on its own behalf.
179 "A list of trigger functions that have run later than their output
185 (defvar gdb-source-file-list nil
204 "Font lock keywords used in `gdb-local-mode'.")
213 "Font lock keywords used in `gdb-local-mode'.")
245 detailed description of this mode.
257 | | (comint-mode) |
271 (interactive (list (gud-query-cmdline 'gdba)))
286 recent commands are listed first. This list stores only the last
298 "Shell command for generating a list of defined macros in a source file.
299 This list is used to display the #define directive associated
301 GDB, when gud-tooltip-mode is t.
338 (defun gdb-force-mode-line-update (status)
342 (setq mode-line-process
345 ;; Force mode line redisplay soon.
346 (force-mode-line-update)))))
392 (list t nil) nil "-c"
395 (define-list (split-string output "\n" t)) (name))
397 (dolist (define define-list)
422 (list (concat gdb-server-prefix "print " expr "\n")
427 (defun gdb-set-gud-minor-mode-existing-buffers ()
428 "Create list of source files for current GDB session."
433 gdb-source-file-list))
434 (dolist (buffer (buffer-list))
438 gdb-source-file-list))
439 (set (make-local-variable 'gud-minor-mode) 'gdba)
441 (when gud-tooltip-mode
445 (gdb-force-mode-line-update
449 (let* ((var (nth (- (line-number-at-pos (point)) 2) gdb-var-list))
452 (let ((var1 (assoc (match-string 1 varnum) gdb-var-list)) var2 varnumlet
453 (component-list (split-string (match-string 2 varnum) "\\." t)))
456 (dolist (component component-list)
457 (setq var2 (assoc varnumlet gdb-var-list))
466 (set (make-local-variable 'gud-minor-mode) 'gdba)
469 (gud-def gud-break (if (not (string-match "Machine" mode-name))
477 (gud-def gud-remove (if (not (string-match "Machine" mode-name))
485 (gud-def gud-until (if (not (string-match "Machine" mode-name))
501 'major-mode (window-buffer)) 'speedbar-mode)
505 (define-key gud-minor-mode-map [left-margin mouse-1]
507 (define-key gud-minor-mode-map [left-fringe mouse-1]
509 (define-key gud-minor-mode-map [left-margin C-mouse-1]
511 (define-key gud-minor-mode-map [left-fringe C-mouse-1]
514 (define-key gud-minor-mode-map [left-margin drag-mouse-1]
516 (define-key gud-minor-mode-map [left-fringe drag-mouse-1]
518 (define-key gud-minor-mode-map [left-margin mouse-3]
520 (define-key gud-minor-mode-map [left-fringe mouse-3]
523 (define-key gud-minor-mode-map [left-margin C-drag-mouse-1]
525 (define-key gud-minor-mode-map [left-fringe C-drag-mouse-1]
527 (define-key gud-minor-mode-map [left-fringe C-mouse-3]
529 (define-key gud-minor-mode-map [left-margin C-mouse-3]
542 gdb-var-list nil
553 gdb-source-file-list nil
572 (gdb-enqueue-input (list "server interpreter mi -stack-info-frame\n"
577 (gdb-enqueue-input (list "set new-console off\n" 'ignore)))
578 (gdb-enqueue-input (list "set height 0\n" 'ignore))
579 (gdb-enqueue-input (list "set width 0\n" 'ignore))
583 (gdb-enqueue-input (list (concat gdb-server-prefix "info sources\n")
584 'gdb-set-gud-minor-mode-existing-buffers))
587 (list "server interpreter mi -data-list-register-names\n"
591 (list "server interpreter mi \"-file-list-exec-source-files\"\n"
592 'gdb-set-gud-minor-mode-existing-buffers-1))
597 (gdb-enqueue-input (list "server list\n" 'ignore))
598 (gdb-enqueue-input (list "server info source\n" 'gdb-source-info))
600 (run-hooks 'gdba-mode-hook))
658 (defcustom gdb-speedbar-auto-raise nil
665 (defun gdb-speedbar-auto-raise (arg)
669 (setq gdb-speedbar-auto-raise
671 (not gdb-speedbar-auto-raise)
674 (if gdb-speedbar-auto-raise "en" "dis"))))
682 (define-key gud-minor-mode-map "\C-c\C-w" 'gud-watch)
688 (interactive (list current-prefix-arg last-input-event))
689 (let ((minor-mode (buffer-local-value 'gud-minor-mode gud-comint-buffer)))
690 (if (memq minor-mode '(gdbmi gdba))
699 (if (and transient-mark-mode mark-active)
705 (list
706 (if (eq minor-mode 'gdba)
711 (message "gud-watch is a no-op in this mode."))))
719 (let ((var (list
729 (push var gdb-var-list)
731 speedbar-initial-expansion-list-name "GUD")
732 (speedbar-change-initial-expansion-list "GUD"))
735 (list
736 (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer)
751 (gdb-enqueue-input (list "server pwd\n" 'gdb-speedbar-timer-fn))
765 (let ((var (assoc varnum gdb-var-list)))
771 (defun gdb-var-list-children (varnum)
773 (list (concat "server interpreter mi \"-var-list-children " varnum "\"\n")
774 `(lambda () (gdb-var-list-children-handler ,varnum)))))
776 (defconst gdb-var-list-children-regexp
780 (defun gdb-var-list-children-handler (varnum)
782 (let ((var-list nil))
784 (dolist (var gdb-var-list)
787 (push var var-list)
788 (while (re-search-forward gdb-var-list-children-regexp nil t)
789 (let ((varchild (list (match-string 1)
794 (if (assoc (car varchild) gdb-var-list)
796 (push varchild var-list)
798 (list
804 (push var var-list)))
805 (setq gdb-var-list (nreverse var-list)))))
810 (list "server interpreter mi \"-var-update *\"\n"
819 (dolist (var gdb-var-list)
826 (let ((var (assoc varnum gdb-var-list)))
831 (list
840 (list
841 (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer)
846 (setq gdb-var-list (delq var gdb-var-list))
847 (dolist (varchild gdb-var-list)
849 (setq gdb-var-list (delq varchild gdb-var-list)))))
854 (if (memq (buffer-local-value 'gud-minor-mode gud-comint-buffer)
856 (let* ((var (nth (- (count-lines (point-min) (point)) 2) gdb-var-list))
865 (list
866 (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba)
872 (let* ((var (nth (- (count-lines (point-min) (point)) 2) gdb-var-list))
876 (list
877 (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba)
910 (let* ((var (assoc token gdb-var-list))
917 'gud-minor-mode gud-comint-buffer) 'gdba)
919 (gdb-var-list-children token)
920 (gdb-var-list-children-1 token)))))
922 (dolist (var gdb-var-list)
924 (setq gdb-var-list (delq var gdb-var-list))))
956 (gdb-look-for-tagged-buffer key (buffer-list))))
970 (set (make-local-variable 'gud-minor-mode)
971 (buffer-local-value 'gud-minor-mode gud-comint-buffer))
988 ;; This assoc maps buffer type symbols to rules. Each rule is a list of
997 ;; the proper mode for the buffer.
1025 'gdb-inferior-io-mode)
1054 (defvar gdb-inferior-io-mode-map
1063 (define-derived-mode gdb-inferior-io-mode comint-mode "Inferior I/O"
1064 "Major mode for gdb inferior-io."
1113 ;; user-like input) or a list of the form:
1165 (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba)
1175 ;; case: eq gud-minor-mode 'gdbmi
1229 (gdb-force-mode-line-update
1248 ;; cover for auto-display output which comes *before*
1270 (gdb-force-mode-line-update
1310 (gdb-force-mode-line-update
1325 (gdb-force-mode-line-update
1354 (gdb-force-mode-line-update
1422 (gdb-force-mode-line-update
1481 (defconst gdb-buffer-list
1485 (dolist (buffertype gdb-buffer-list)
1637 (defmacro def-gdb-auto-update-trigger (name demand-predicate gdb-command
1645 (list ,gdb-command ',output-handler))
1648 (defmacro def-gdb-auto-update-handler (name trigger buf-key custom-defun)
1668 (defmacro def-gdb-auto-updated-buffer (buffer-key
1672 (def-gdb-auto-update-trigger ,trigger-name
1677 (def-gdb-auto-update-handler ,output-handler-name
1687 'gdb-breakpoints-mode)
1689 (def-gdb-auto-updated-buffer gdb-breakpoints-buffer
1690 ;; This defines the auto update rule for buffers of type
1799 (dolist (buffer (buffer-list))
1801 (if (and (memq gud-minor-mode '(gdba gdbmi))
1838 (set (make-local-variable 'gud-minor-mode)
1848 (list
1849 (concat gdb-server-prefix "list "
1853 (list (concat gdb-server-prefix "info source\n")
1897 (list
1925 (list
1950 (defvar gdb-breakpoints-mode-map
1974 (defun gdb-breakpoints-mode ()
1975 "Major mode for gdb breakpoints.
1977 \\{gdb-breakpoints-mode-map}"
1979 (setq major-mode 'gdb-breakpoints-mode)
1980 (setq mode-name "Breakpoints")
1981 (use-local-map gdb-breakpoints-mode-map)
1983 (run-mode-hooks 'gdb-breakpoints-mode-hook)
1984 (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba)
1995 (list
2009 (list
2015 (interactive (list last-input-event))
2050 'gdb-frames-mode)
2052 (def-gdb-auto-updated-buffer gdb-stack-buffer
2112 (list (concat gdb-server-prefix "frame "
2115 (list (concat gdb-server-prefix "frame 0\n") 'ignore)))))))
2143 (defvar gdb-frames-mode-map
2152 (defun gdb-frames-mode ()
2153 "Major mode for gdb call stack.
2155 \\{gdb-frames-mode-map}"
2157 (setq major-mode 'gdb-frames-mode)
2158 (setq mode-name "Frames")
2160 (add-to-list 'overlay-arrow-variable-list 'gdb-stack-position)
2163 (use-local-map gdb-frames-mode-map)
2164 (run-mode-hooks 'gdb-frames-mode-hook)
2165 (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba)
2179 (interactive (list last-input-event))
2187 (list (concat gdb-server-prefix "frame "
2192 ;; Threads buffer. This displays a selectable thread list.
2196 'gdb-threads-mode)
2198 (def-gdb-auto-updated-buffer gdb-threads-buffer
2233 (defvar gdb-threads-mode-map
2246 "Font lock keywords used in `gdb-threads-mode'.")
2248 (defun gdb-threads-mode ()
2249 "Major mode for gdb threads.
2251 \\{gdb-threads-mode-map}"
2253 (setq major-mode 'gdb-threads-mode)
2254 (setq mode-name "Threads")
2256 (use-local-map gdb-threads-mode-map)
2259 (run-mode-hooks 'gdb-threads-mode-hook)
2269 (interactive (list last-input-event))
2272 (list (concat gdb-server-prefix "thread "
2288 'gdb-registers-mode)
2290 (def-gdb-auto-updated-buffer gdb-registers-buffer
2316 (interactive (list last-input-event))
2323 (list (concat gdb-server-prefix "set $" register "=" value "\n")
2326 (defvar gdb-registers-mode-map
2335 (defun gdb-registers-mode ()
2336 "Major mode for gdb registers.
2338 \\{gdb-registers-mode-map}"
2340 (setq major-mode 'gdb-registers-mode)
2341 (setq mode-name "Registers")
2343 (use-local-map gdb-registers-mode-map)
2344 (run-mode-hooks 'gdb-registers-mode-hook)
2347 (if gdb-all-registers (setq mode-name "Registers:All"))
2376 (setq mode-name "Registers")))
2379 (setq mode-name "Registers:All")))
2415 'gdb-memory-mode)
2417 (def-gdb-auto-updated-buffer gdb-memory-buffer
2430 (defvar gdb-memory-mode-map
2584 ;;from make-mode-line-mouse-map
2588 corresponding to the mode line clicked."
2598 "Font lock keywords used in `gdb-memory-mode'.")
2600 (defun gdb-memory-mode ()
2601 "Major mode for examining memory.
2603 \\{gdb-memory-mode-map}"
2605 (setq major-mode 'gdb-memory-mode)
2606 (setq mode-name "Memory")
2608 (use-local-map gdb-memory-mode-map)
2617 'mouse-face 'mode-line-highlight
2637 'mouse-face 'mode-line-highlight
2647 'mouse-face 'mode-line-highlight
2655 'mouse-face 'mode-line-highlight
2663 'mouse-face 'mode-line-highlight
2669 'mouse-face 'mode-line-highlight
2673 (run-mode-hooks 'gdb-memory-mode-hook)
2702 'gdb-locals-mode)
2704 (def-gdb-auto-update-trigger gdb-invalidate-locals
2765 (defvar gdb-locals-mode-map
2771 (defun gdb-locals-mode ()
2772 "Major mode for gdb locals.
2774 \\{gdb-locals-mode-map}"
2776 (setq major-mode 'gdb-locals-mode)
2777 (setq mode-name (concat "Locals:" gdb-selected-frame))
2779 (use-local-map gdb-locals-mode-map)
2782 (run-mode-hooks 'gdb-locals-mode-hook)
2783 (if (and (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba)
2839 :visible (memq gud-minor-mode '(gdbmi gdba))))
2857 :visible (memq gud-minor-mode '(gdbmi gdba))))
2873 `(menu-item (if (eq gud-minor-mode 'gdba) "GDB-UI" "GDB-MI")
2874 ,menu :visible (memq gud-minor-mode '(gdbmi gdba))))
2877 :visible (eq gud-minor-mode 'gdba)
2882 :visible (eq gud-minor-mode 'gdba)
2933 ;; Put buffer list in window if we
2935 (list-buffers-noselect))))
2970 (dolist (buffer (buffer-list))
2973 (if (memq gud-minor-mode '(gdbmi gdba))
2977 (setq gud-minor-mode nil)
2981 (setq overlay-arrow-variable-list
2982 (delq 'gdb-overlay-arrow-position overlay-arrow-variable-list))
2985 (setq overlay-arrow-variable-list
2986 (delq 'gdb-stack-position overlay-arrow-variable-list))
2990 (setq gdb-var-list nil)
3028 (set (make-local-variable 'gud-minor-mode) 'gdba)
3043 (memq (buffer-local-value 'gud-minor-mode gud-comint-buffer)
3049 gdb-source-file-list)
3051 (set (make-local-variable 'gud-minor-mode)
3052 (buffer-local-value 'gud-minor-mode gud-comint-buffer))
3066 (list (list 'margin 'left-margin) putstring))))
3169 'gdb-assembler-mode)
3171 ;; We can't use def-gdb-auto-update-handler because we don't want to use
3232 (defvar gdb-assembler-mode-map
3251 "Font lock keywords used in `gdb-assembler-mode'.")
3253 (defun gdb-assembler-mode ()
3254 "Major mode for viewing code assembler.
3256 \\{gdb-assembler-mode-map}"
3258 (setq major-mode 'gdb-assembler-mode)
3259 (setq mode-name (concat "Machine:" gdb-selected-frame))
3261 (add-to-list 'overlay-arrow-variable-list 'gdb-overlay-arrow-position)
3264 (use-local-map gdb-assembler-mode-map)
3268 (run-mode-hooks 'gdb-assembler-mode-hook)
3310 (list
3323 (list (concat gdb-server-prefix "info frame\n") 'gdb-frame-handler))
3342 (setq mode-name (concat "Locals:" gdb-selected-frame))))
3345 (setq mode-name (concat "Machine:" gdb-selected-frame))))
3369 (defun gdb-set-gud-minor-mode-existing-buffers-1 ()
3370 "Create list of source files for current GDB session.
3371 If buffers already exist for any of these files, gud-minor-mode
3375 (push (match-string 1) gdb-source-file-list))
3376 (dolist (buffer (buffer-list))
3378 (when (member buffer-file-name gdb-source-file-list)
3379 (set (make-local-variable 'gud-minor-mode)
3380 (buffer-local-value 'gud-minor-mode gud-comint-buffer))
3382 (when gud-tooltip-mode
3386 (gdb-force-mode-line-update
3389 ; Uses "-var-list-children --all-values". Needs GDB 6.1 onwards.
3390 (defun gdb-var-list-children-1 (varnum)
3392 (list
3393 (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba)
3394 (concat "server interpreter mi \"-var-list-children --all-values "
3396 (concat "-var-list-children --all-values " varnum "\n"))
3397 `(lambda () (gdb-var-list-children-handler-1 ,varnum)))))
3399 (defconst gdb-var-list-children-regexp-1
3404 (defun gdb-var-list-children-handler-1 (varnum)
3406 (let ((var-list nil))
3408 (dolist (var gdb-var-list)
3411 (push var var-list)
3412 (while (re-search-forward gdb-var-list-children-regexp-1 nil t)
3413 (let ((varchild (list (match-string 1)
3419 (if (assoc (car varchild) gdb-var-list)
3421 (push varchild var-list))))
3422 (push var var-list)))
3423 (setq gdb-var-list (nreverse var-list))))
3431 (list
3432 (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba)
3443 (dolist (var gdb-var-list)
3448 (var (assoc varnum gdb-var-list)))
3467 'gdb-registers-mode)
3469 (def-gdb-auto-update-trigger gdb-invalidate-registers-1
3471 (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba)
3472 "server interpreter mi \"-data-list-register-values x\"\n"
3473 "-data-list-register-values x\n")
3474 gdb-data-list-register-values-handler)
3476 (defconst gdb-data-list-register-values-regexp
3479 (defun gdb-data-list-register-values-handler ()
3491 (let ((register-list (reverse gdb-register-names))
3494 (while (re-search-forward gdb-data-list-register-values-regexp nil t)
3495 (setq register (pop register-list))
3513 (gdb-data-list-register-values-custom))
3515 (defun gdb-data-list-register-values-custom ()
3539 (list
3540 (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba)
3541 "server interpreter mi -data-list-changed-registers\n"
3542 "-data-list-changed-registers\n")
3546 (defconst gdb-data-list-register-names-regexp "\"\\(.*?\\)\"")
3553 (while (re-search-forward gdb-data-list-register-names-regexp nil t)
3560 ;; uses "-stack-list-locals --simple-values". Needs GDB 6.1 onwards.
3563 'gdb-locals-mode)
3565 (def-gdb-auto-update-trigger gdb-invalidate-locals-1
3567 (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba)
3568 "server interpreter mi -\"stack-list-locals --simple-values\"\n"
3569 "-stack-list-locals --simple-values\n")
3570 gdb-stack-list-locals-handler)
3572 (defconst gdb-stack-list-locals-regexp
3593 (interactive (list last-input-event))
3600 (list (concat gdb-server-prefix"set variable " var " = " value "\n")
3605 (defun gdb-stack-list-locals-handler ()
3616 (let (local locals-list)
3618 (while (re-search-forward gdb-stack-list-locals-regexp nil t)
3619 (let ((local (list (match-string 1)
3624 (push local locals-list)))
3632 (dolist (local locals-list)
3654 "Create a list of register names."
3657 (while (re-search-forward gdb-data-list-register-names-regexp nil t)