diff options
| author | Karoly Lorentey | 2006-02-16 16:18:54 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2006-02-16 16:18:54 +0000 |
| commit | 322c30faa92c5ba2accc1027893a7cc24abbde72 (patch) | |
| tree | 235c1de5e7e7b71c470b326e9480e3476c483050 /lisp/progmodes | |
| parent | 6213d5b33cfae99e350488ab96bfd9704e0ff834 (diff) | |
| parent | b51897597a6ab40a4772d70a23421e66b3eb5048 (diff) | |
| download | emacs-322c30faa92c5ba2accc1027893a7cc24abbde72.tar.gz emacs-322c30faa92c5ba2accc1027893a7cc24abbde72.zip | |
Merged from
Patches applied:
* emacs@sv.gnu.org/emacs--devo--0--patch-73
Merge from erc--emacs--0
* emacs@sv.gnu.org/emacs--devo--0--patch-74
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-75
Make ERC comply with the new copyright year guidelines.
* emacs@sv.gnu.org/emacs--devo--0--patch-76
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-77
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-78
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-79
(rcirc-format-response-string): Fix small bugs
* emacs@sv.gnu.org/emacs--devo--0--patch-80
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-81
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-82
Fix compiler error in erc-dcc.el.
* emacs@sv.gnu.org/emacs--devo--0--patch-83
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-84
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-85
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-86
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-87
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-88
Merge from erc--emacs--0
* emacs@sv.gnu.org/emacs--devo--0--patch-89
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-90
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-513
Diffstat (limited to 'lisp/progmodes')
| -rw-r--r-- | lisp/progmodes/ebrowse.el | 2 | ||||
| -rw-r--r-- | lisp/progmodes/flymake.el | 2 | ||||
| -rw-r--r-- | lisp/progmodes/gdb-ui.el | 190 | ||||
| -rw-r--r-- | lisp/progmodes/gud.el | 11 |
4 files changed, 88 insertions, 117 deletions
diff --git a/lisp/progmodes/ebrowse.el b/lisp/progmodes/ebrowse.el index 0d8d7bebbcb..29f1036b1bb 100644 --- a/lisp/progmodes/ebrowse.el +++ b/lisp/progmodes/ebrowse.el | |||
| @@ -4236,7 +4236,7 @@ NUMBER-OF-STATIC-VARIABLES:" | |||
| 4236 | "*Keymap for Ebrowse commands.") | 4236 | "*Keymap for Ebrowse commands.") |
| 4237 | 4237 | ||
| 4238 | 4238 | ||
| 4239 | (defvar ebrowse-global-prefix-key "\C-cb" | 4239 | (defvar ebrowse-global-prefix-key "\C-cC-m" |
| 4240 | "Prefix key for Ebrowse commands.") | 4240 | "Prefix key for Ebrowse commands.") |
| 4241 | 4241 | ||
| 4242 | 4242 | ||
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el index 9a6024c8e8b..4f197e34bfe 100644 --- a/lisp/progmodes/flymake.el +++ b/lisp/progmodes/flymake.el | |||
| @@ -339,7 +339,7 @@ Return its file name if found, or nil if not found." | |||
| 339 | nil))))) | 339 | nil))))) |
| 340 | 340 | ||
| 341 | (defun flymake-fix-file-name (name) | 341 | (defun flymake-fix-file-name (name) |
| 342 | "Replace all occurences of '\' with '/'." | 342 | "Replace all occurrences of '\' with '/'." |
| 343 | (when name | 343 | (when name |
| 344 | (setq name (expand-file-name name)) | 344 | (setq name (expand-file-name name)) |
| 345 | (setq name (abbreviate-file-name name)) | 345 | (setq name (abbreviate-file-name name)) |
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el index 755e83646fc..49f6c64c1a7 100644 --- a/lisp/progmodes/gdb-ui.el +++ b/lisp/progmodes/gdb-ui.el | |||
| @@ -185,7 +185,6 @@ handlers.") | |||
| 185 | "Font lock keywords used in `gdb-local-mode'.") | 185 | "Font lock keywords used in `gdb-local-mode'.") |
| 186 | 186 | ||
| 187 | ;; Variables for GDB 6.4+ | 187 | ;; Variables for GDB 6.4+ |
| 188 | |||
| 189 | (defvar gdb-register-names nil "List of register names.") | 188 | (defvar gdb-register-names nil "List of register names.") |
| 190 | (defvar gdb-changed-registers nil | 189 | (defvar gdb-changed-registers nil |
| 191 | "List of changed register numbers (strings).") | 190 | "List of changed register numbers (strings).") |
| @@ -203,7 +202,7 @@ other with the source file with the main routine of the inferior. | |||
| 203 | 202 | ||
| 204 | If `gdb-many-windows' is t, regardless of the value of | 203 | If `gdb-many-windows' is t, regardless of the value of |
| 205 | `gdb-show-main', the layout below will appear unless | 204 | `gdb-show-main', the layout below will appear unless |
| 206 | `gdb-use-inferior-io-buffer' is nil when the source buffer | 205 | `gdb-use-separate-io-buffer' is nil when the source buffer |
| 207 | occupies the full width of the frame. Keybindings are given in | 206 | occupies the full width of the frame. Keybindings are given in |
| 208 | relevant buffer. | 207 | relevant buffer. |
| 209 | 208 | ||
| @@ -281,26 +280,26 @@ Also display the main routine in the disassembly buffer if present." | |||
| 281 | :group 'gud | 280 | :group 'gud |
| 282 | :version "22.1") | 281 | :version "22.1") |
| 283 | 282 | ||
| 284 | (defcustom gdb-use-inferior-io-buffer nil | 283 | (defcustom gdb-use-separate-io-buffer nil |
| 285 | "Non-nil means display output from the inferior in a separate buffer." | 284 | "Non-nil means display output from the inferior in a separate buffer." |
| 286 | :type 'boolean | 285 | :type 'boolean |
| 287 | :group 'gud | 286 | :group 'gud |
| 288 | :version "22.1") | 287 | :version "22.1") |
| 289 | 288 | ||
| 290 | (defun gdb-use-inferior-io-buffer (arg) | 289 | (defun gdb-use-separate-io-buffer (arg) |
| 291 | "Toggle separate IO for inferior. | 290 | "Toggle separate IO for inferior. |
| 292 | With arg, use separate IO iff arg is positive." | 291 | With arg, use separate IO iff arg is positive." |
| 293 | (interactive "P") | 292 | (interactive "P") |
| 294 | (setq gdb-use-inferior-io-buffer | 293 | (setq gdb-use-separate-io-buffer |
| 295 | (if (null arg) | 294 | (if (null arg) |
| 296 | (not gdb-use-inferior-io-buffer) | 295 | (not gdb-use-separate-io-buffer) |
| 297 | (> (prefix-numeric-value arg) 0))) | 296 | (> (prefix-numeric-value arg) 0))) |
| 298 | (message (format "Separate inferior IO %sabled" | 297 | (message (format "Separate inferior IO %sabled" |
| 299 | (if gdb-use-inferior-io-buffer "en" "dis"))) | 298 | (if gdb-use-separate-io-buffer "en" "dis"))) |
| 300 | (if (and gud-comint-buffer | 299 | (if (and gud-comint-buffer |
| 301 | (buffer-name gud-comint-buffer)) | 300 | (buffer-name gud-comint-buffer)) |
| 302 | (condition-case nil | 301 | (condition-case nil |
| 303 | (if gdb-use-inferior-io-buffer | 302 | (if gdb-use-separate-io-buffer |
| 304 | (gdb-restore-windows) | 303 | (gdb-restore-windows) |
| 305 | (kill-buffer (gdb-inferior-io-name))) | 304 | (kill-buffer (gdb-inferior-io-name))) |
| 306 | (error nil)))) | 305 | (error nil)))) |
| @@ -462,7 +461,7 @@ With arg, use separate IO iff arg is positive." | |||
| 462 | 461 | ||
| 463 | (setq gdb-buffer-type 'gdba) | 462 | (setq gdb-buffer-type 'gdba) |
| 464 | 463 | ||
| 465 | (if gdb-use-inferior-io-buffer (gdb-clear-inferior-io)) | 464 | (if gdb-use-separate-io-buffer (gdb-clear-inferior-io)) |
| 466 | 465 | ||
| 467 | ;; Hack to see test for GDB 6.4+ (-stack-info-frame was implemented in 6.4) | 466 | ;; Hack to see test for GDB 6.4+ (-stack-info-frame was implemented in 6.4) |
| 468 | (setq gdb-version nil) | 467 | (setq gdb-version nil) |
| @@ -571,7 +570,7 @@ With arg, automatically raise speedbar iff arg is positive." | |||
| 571 | (set-text-properties 0 (length expr) nil expr) | 570 | (set-text-properties 0 (length expr) nil expr) |
| 572 | (gdb-enqueue-input | 571 | (gdb-enqueue-input |
| 573 | (list | 572 | (list |
| 574 | (if (eq gud-minor-mode 'gdba) | 573 | (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba) |
| 575 | (concat "server interpreter mi \"-var-create - * " expr "\"\n") | 574 | (concat "server interpreter mi \"-var-create - * " expr "\"\n") |
| 576 | (concat"-var-create - * " expr "\n")) | 575 | (concat"-var-create - * " expr "\n")) |
| 577 | `(lambda () (gdb-var-create-handler ,expr)))))))) | 576 | `(lambda () (gdb-var-create-handler ,expr)))))))) |
| @@ -594,8 +593,7 @@ With arg, automatically raise speedbar iff arg is positive." | |||
| 594 | (speedbar-change-initial-expansion-list "GUD")) | 593 | (speedbar-change-initial-expansion-list "GUD")) |
| 595 | (gdb-enqueue-input | 594 | (gdb-enqueue-input |
| 596 | (list | 595 | (list |
| 597 | (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) | 596 | (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba) |
| 598 | 'gdba) | ||
| 599 | (concat "server interpreter mi \"-var-evaluate-expression " | 597 | (concat "server interpreter mi \"-var-evaluate-expression " |
| 600 | (nth 1 var) "\"\n") | 598 | (nth 1 var) "\"\n") |
| 601 | (concat "-var-evaluate-expression " (nth 1 var) "\n")) | 599 | (concat "-var-evaluate-expression " (nth 1 var) "\n")) |
| @@ -743,13 +741,11 @@ TEXT is the text of the button we clicked on, a + or - item. | |||
| 743 | TOKEN is data related to this node. | 741 | TOKEN is data related to this node. |
| 744 | INDENT is the current indentation depth." | 742 | INDENT is the current indentation depth." |
| 745 | (cond ((string-match "+" text) ;expand this node | 743 | (cond ((string-match "+" text) ;expand this node |
| 746 | (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba) | 744 | (if (and |
| 747 | (if (string-equal gdb-version "pre-6.4") | 745 | (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba) |
| 748 | (gdb-var-list-children token) | 746 | (string-equal gdb-version "pre-6.4")) |
| 749 | (gdb-var-list-children-1 token)) | 747 | (gdb-var-list-children token) |
| 750 | (progn | 748 | (gdb-var-list-children-1 token))) |
| 751 | (gdbmi-var-update) | ||
| 752 | (gdbmi-var-list-children token)))) | ||
| 753 | ((string-match "-" text) ;contract this node | 749 | ((string-match "-" text) ;contract this node |
| 754 | (dolist (var gdb-var-list) | 750 | (dolist (var gdb-var-list) |
| 755 | (if (string-match (concat token "\\.") (nth 1 var)) | 751 | (if (string-match (concat token "\\.") (nth 1 var)) |
| @@ -856,10 +852,10 @@ The key should be one of the cars in `gdb-buffer-rules-assoc'." | |||
| 856 | (gdb-get-target-string) | 852 | (gdb-get-target-string) |
| 857 | "*")) | 853 | "*")) |
| 858 | 854 | ||
| 859 | (defun gdb-display-inferior-io-buffer () | 855 | (defun gdb-display-separate-io-buffer () |
| 860 | "Display IO of inferior in a separate window." | 856 | "Display IO of inferior in a separate window." |
| 861 | (interactive) | 857 | (interactive) |
| 862 | (if gdb-use-inferior-io-buffer | 858 | (if gdb-use-separate-io-buffer |
| 863 | (gdb-display-buffer | 859 | (gdb-display-buffer |
| 864 | (gdb-get-create-buffer 'gdb-inferior-io)))) | 860 | (gdb-get-create-buffer 'gdb-inferior-io)))) |
| 865 | 861 | ||
| @@ -870,21 +866,21 @@ The key should be one of the cars in `gdb-buffer-rules-assoc'." | |||
| 870 | (menu-bar-lines . nil) | 866 | (menu-bar-lines . nil) |
| 871 | (minibuffer . nil))) | 867 | (minibuffer . nil))) |
| 872 | 868 | ||
| 873 | (defun gdb-frame-inferior-io-buffer () | 869 | (defun gdb-frame-separate-io-buffer () |
| 874 | "Display IO of inferior in a new frame." | 870 | "Display IO of inferior in a new frame." |
| 875 | (interactive) | 871 | (interactive) |
| 876 | (if gdb-use-inferior-io-buffer | 872 | (if gdb-use-separate-io-buffer |
| 877 | (let ((special-display-regexps (append special-display-regexps '(".*"))) | 873 | (let ((special-display-regexps (append special-display-regexps '(".*"))) |
| 878 | (special-display-frame-alist gdb-frame-parameters)) | 874 | (special-display-frame-alist gdb-frame-parameters)) |
| 879 | (display-buffer (gdb-get-create-buffer 'gdb-inferior-io))))) | 875 | (display-buffer (gdb-get-create-buffer 'gdb-inferior-io))))) |
| 880 | 876 | ||
| 881 | (defvar gdb-inferior-io-mode-map | 877 | (defvar gdb-inferior-io-mode-map |
| 882 | (let ((map (make-sparse-keymap))) | 878 | (let ((map (make-sparse-keymap))) |
| 883 | (define-key map "\C-c\C-c" 'gdb-inferior-io-interrupt) | 879 | (define-key map "\C-c\C-c" 'gdb-separate-io-interrupt) |
| 884 | (define-key map "\C-c\C-z" 'gdb-inferior-io-stop) | 880 | (define-key map "\C-c\C-z" 'gdb-separate-io-stop) |
| 885 | (define-key map "\C-c\C-\\" 'gdb-inferior-io-quit) | 881 | (define-key map "\C-c\C-\\" 'gdb-separate-io-quit) |
| 886 | (define-key map "\C-c\C-d" 'gdb-inferior-io-eof) | 882 | (define-key map "\C-c\C-d" 'gdb-separate-io-eof) |
| 887 | (define-key map "\C-d" 'gdb-inferior-io-eof) | 883 | (define-key map "\C-d" 'gdb-separate-io-eof) |
| 888 | map)) | 884 | map)) |
| 889 | 885 | ||
| 890 | (define-derived-mode gdb-inferior-io-mode comint-mode "Inferior I/O" | 886 | (define-derived-mode gdb-inferior-io-mode comint-mode "Inferior I/O" |
| @@ -905,25 +901,25 @@ The key should be one of the cars in `gdb-buffer-rules-assoc'." | |||
| 905 | (process-send-string proc string) | 901 | (process-send-string proc string) |
| 906 | (process-send-string proc "\n"))) | 902 | (process-send-string proc "\n"))) |
| 907 | 903 | ||
| 908 | (defun gdb-inferior-io-interrupt () | 904 | (defun gdb-separate-io-interrupt () |
| 909 | "Interrupt the program being debugged." | 905 | "Interrupt the program being debugged." |
| 910 | (interactive) | 906 | (interactive) |
| 911 | (interrupt-process | 907 | (interrupt-process |
| 912 | (get-buffer-process gud-comint-buffer) comint-ptyp)) | 908 | (get-buffer-process gud-comint-buffer) comint-ptyp)) |
| 913 | 909 | ||
| 914 | (defun gdb-inferior-io-quit () | 910 | (defun gdb-separate-io-quit () |
| 915 | "Send quit signal to the program being debugged." | 911 | "Send quit signal to the program being debugged." |
| 916 | (interactive) | 912 | (interactive) |
| 917 | (quit-process | 913 | (quit-process |
| 918 | (get-buffer-process gud-comint-buffer) comint-ptyp)) | 914 | (get-buffer-process gud-comint-buffer) comint-ptyp)) |
| 919 | 915 | ||
| 920 | (defun gdb-inferior-io-stop () | 916 | (defun gdb-separate-io-stop () |
| 921 | "Stop the program being debugged." | 917 | "Stop the program being debugged." |
| 922 | (interactive) | 918 | (interactive) |
| 923 | (stop-process | 919 | (stop-process |
| 924 | (get-buffer-process gud-comint-buffer) comint-ptyp)) | 920 | (get-buffer-process gud-comint-buffer) comint-ptyp)) |
| 925 | 921 | ||
| 926 | (defun gdb-inferior-io-eof () | 922 | (defun gdb-separate-io-eof () |
| 927 | "Send end-of-file to the program being debugged." | 923 | "Send end-of-file to the program being debugged." |
| 928 | (interactive) | 924 | (interactive) |
| 929 | (process-send-eof | 925 | (process-send-eof |
| @@ -1119,7 +1115,7 @@ not GDB." | |||
| 1119 | ((eq sink 'user) | 1115 | ((eq sink 'user) |
| 1120 | (progn | 1116 | (progn |
| 1121 | (setq gud-running t) | 1117 | (setq gud-running t) |
| 1122 | (if gdb-use-inferior-io-buffer | 1118 | (if gdb-use-separate-io-buffer |
| 1123 | (setq gdb-output-sink 'inferior)))) | 1119 | (setq gdb-output-sink 'inferior)))) |
| 1124 | (t | 1120 | (t |
| 1125 | (gdb-resync) | 1121 | (gdb-resync) |
| @@ -1129,7 +1125,7 @@ not GDB." | |||
| 1129 | "An annotation handler for `breakpoint' and other annotations. | 1125 | "An annotation handler for `breakpoint' and other annotations. |
| 1130 | They say that I/O for the subprocess is now GDB, not the program | 1126 | They say that I/O for the subprocess is now GDB, not the program |
| 1131 | being debugged." | 1127 | being debugged." |
| 1132 | (if gdb-use-inferior-io-buffer | 1128 | (if gdb-use-separate-io-buffer |
| 1133 | (let ((sink gdb-output-sink)) | 1129 | (let ((sink gdb-output-sink)) |
| 1134 | (cond | 1130 | (cond |
| 1135 | ((eq sink 'inferior) | 1131 | ((eq sink 'inferior) |
| @@ -1195,7 +1191,7 @@ happens to be appropriate." | |||
| 1195 | 1191 | ||
| 1196 | (if (string-equal gdb-version "pre-6.4") | 1192 | (if (string-equal gdb-version "pre-6.4") |
| 1197 | (gdb-invalidate-registers) | 1193 | (gdb-invalidate-registers) |
| 1198 | (if (gdb-get-buffer 'gdb-registers-buffer) (gdb-get-changed-registers)) | 1194 | (gdb-get-changed-registers) |
| 1199 | (gdb-invalidate-registers-1)) | 1195 | (gdb-invalidate-registers-1)) |
| 1200 | 1196 | ||
| 1201 | (gdb-invalidate-memory) | 1197 | (gdb-invalidate-memory) |
| @@ -1498,7 +1494,7 @@ static char *magick[] = { | |||
| 1498 | ;; Remove all breakpoint-icons in source buffers but not assembler buffer. | 1494 | ;; Remove all breakpoint-icons in source buffers but not assembler buffer. |
| 1499 | (dolist (buffer (buffer-list)) | 1495 | (dolist (buffer (buffer-list)) |
| 1500 | (with-current-buffer buffer | 1496 | (with-current-buffer buffer |
| 1501 | (if (and (eq gud-minor-mode 'gdba) | 1497 | (if (and (memq gud-minor-mode '(gdba gdbmi)) |
| 1502 | (not (string-match "\\`\\*.+\\*\\'" (buffer-name)))) | 1498 | (not (string-match "\\`\\*.+\\*\\'" (buffer-name)))) |
| 1503 | (gdb-remove-breakpoint-icons (point-min) (point-max))))) | 1499 | (gdb-remove-breakpoint-icons (point-min) (point-max))))) |
| 1504 | (with-current-buffer (gdb-get-buffer 'gdb-breakpoints-buffer) | 1500 | (with-current-buffer (gdb-get-buffer 'gdb-breakpoints-buffer) |
| @@ -1633,7 +1629,7 @@ static char *magick[] = { | |||
| 1633 | (defvar gdb-breakpoints-mode-map | 1629 | (defvar gdb-breakpoints-mode-map |
| 1634 | (let ((map (make-sparse-keymap)) | 1630 | (let ((map (make-sparse-keymap)) |
| 1635 | (menu (make-sparse-keymap "Breakpoints"))) | 1631 | (menu (make-sparse-keymap "Breakpoints"))) |
| 1636 | (define-key menu [quit] '("Quit" . kill-this-buffer)) | 1632 | (define-key menu [quit] '("Quit" . gdb-delete-frame-or-window)) |
| 1637 | (define-key menu [goto] '("Goto" . gdb-goto-breakpoint)) | 1633 | (define-key menu [goto] '("Goto" . gdb-goto-breakpoint)) |
| 1638 | (define-key menu [delete] '("Delete" . gdb-delete-breakpoint)) | 1634 | (define-key menu [delete] '("Delete" . gdb-delete-breakpoint)) |
| 1639 | (define-key menu [toggle] '("Toggle" . gdb-toggle-breakpoint)) | 1635 | (define-key menu [toggle] '("Toggle" . gdb-toggle-breakpoint)) |
| @@ -1668,15 +1664,15 @@ static char *magick[] = { | |||
| 1668 | 'gdb-invalidate-breakpoints | 1664 | 'gdb-invalidate-breakpoints |
| 1669 | 'gdbmi-invalidate-breakpoints)) | 1665 | 'gdbmi-invalidate-breakpoints)) |
| 1670 | 1666 | ||
| 1667 | (defconst gdb-breakpoint-regexp | ||
| 1668 | "\\([0-9]+\\).*?\\(?:point\\|catch\\s-+\\S-+\\)\\s-+\\S-+\\s-+\\(.\\)\\s-+") | ||
| 1669 | |||
| 1671 | (defun gdb-toggle-breakpoint () | 1670 | (defun gdb-toggle-breakpoint () |
| 1672 | "Enable/disable breakpoint at current line." | 1671 | "Enable/disable breakpoint at current line." |
| 1673 | (interactive) | 1672 | (interactive) |
| 1674 | (save-excursion | 1673 | (save-excursion |
| 1675 | (beginning-of-line 1) | 1674 | (beginning-of-line 1) |
| 1676 | (if (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba) | 1675 | (if (looking-at gdb-breakpoint-regexp) |
| 1677 | (looking-at "\\([0-9]+\\).*?point\\s-+\\S-+\\s-+\\(.\\)\\s-+") | ||
| 1678 | (looking-at | ||
| 1679 | "\\([0-9]+\\)\\s-+\\S-+\\s-+\\S-+\\s-+\\(.\\)\\s-+\\S-+\\s-+\\S-+:[0-9]+")) | ||
| 1680 | (gdb-enqueue-input | 1676 | (gdb-enqueue-input |
| 1681 | (list | 1677 | (list |
| 1682 | (concat gdb-server-prefix | 1678 | (concat gdb-server-prefix |
| @@ -1690,10 +1686,7 @@ static char *magick[] = { | |||
| 1690 | "Delete the breakpoint at current line." | 1686 | "Delete the breakpoint at current line." |
| 1691 | (interactive) | 1687 | (interactive) |
| 1692 | (beginning-of-line 1) | 1688 | (beginning-of-line 1) |
| 1693 | (if (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba) | 1689 | (if (looking-at gdb-breakpoint-regexp) |
| 1694 | (looking-at "\\([0-9]+\\).*?point\\s-+\\S-+\\s-+\\(.\\)") | ||
| 1695 | (looking-at | ||
| 1696 | "\\([0-9]+\\)\\s-+\\S-+\\s-+\\S-+\\s-+\\s-+\\S-+\\s-+\\S-+:[0-9]+")) | ||
| 1697 | (gdb-enqueue-input | 1690 | (gdb-enqueue-input |
| 1698 | (list | 1691 | (list |
| 1699 | (concat gdb-server-prefix "delete " (match-string 1) "\n") 'ignore)) | 1692 | (concat gdb-server-prefix "delete " (match-string 1) "\n") 'ignore)) |
| @@ -1708,11 +1701,7 @@ static char *magick[] = { | |||
| 1708 | (if window (save-selected-window (select-window window)))) | 1701 | (if window (save-selected-window (select-window window)))) |
| 1709 | (save-excursion | 1702 | (save-excursion |
| 1710 | (beginning-of-line 1) | 1703 | (beginning-of-line 1) |
| 1711 | (if (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba) | 1704 | (if (looking-at "\\([0-9]+\\) .+ in .+ at\\s-+\\(\\S-+\\):\\([0-9]+\\)") |
| 1712 | (looking-at "\\([0-9]+\\) .+ in .+ at\\s-+\\(\\S-+\\):\\([0-9]+\\)") | ||
| 1713 | (looking-at | ||
| 1714 | "\\([0-9]+\\)\\s-+\\S-+\\s-+\\S-+\\s-+.\\s-+\\S-+\\s-+\ | ||
| 1715 | \\(\\S-+\\):\\([0-9]+\\)")) | ||
| 1716 | (let ((bptno (match-string 1)) | 1705 | (let ((bptno (match-string 1)) |
| 1717 | (file (match-string 2)) | 1706 | (file (match-string 2)) |
| 1718 | (line (match-string 3))) | 1707 | (line (match-string 3))) |
| @@ -1724,7 +1713,7 @@ static char *magick[] = { | |||
| 1724 | (with-current-buffer buf | 1713 | (with-current-buffer buf |
| 1725 | (goto-line (string-to-number line)) | 1714 | (goto-line (string-to-number line)) |
| 1726 | (set-window-point window (point)))))) | 1715 | (set-window-point window (point)))))) |
| 1727 | (error "Not recognized as break/watchpoint line")))) | 1716 | (error "No location specified.")))) |
| 1728 | 1717 | ||
| 1729 | 1718 | ||
| 1730 | ;; Frames buffer. This displays a perpetually correct bactracktrace | 1719 | ;; Frames buffer. This displays a perpetually correct bactracktrace |
| @@ -2416,11 +2405,10 @@ corresponding to the mode line clicked." | |||
| 2416 | (set (make-local-variable 'font-lock-defaults) | 2405 | (set (make-local-variable 'font-lock-defaults) |
| 2417 | '(gdb-locals-font-lock-keywords)) | 2406 | '(gdb-locals-font-lock-keywords)) |
| 2418 | (run-mode-hooks 'gdb-locals-mode-hook) | 2407 | (run-mode-hooks 'gdb-locals-mode-hook) |
| 2419 | (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba) | 2408 | (if (and (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba) |
| 2420 | (if (string-equal gdb-version "pre-6.4") | 2409 | (string-equal gdb-version "pre-6.4")) |
| 2421 | 'gdb-invalidate-locals | 2410 | 'gdb-invalidate-locals |
| 2422 | 'gdb-invalidate-locals-1) | 2411 | 'gdb-invalidate-locals-1)) |
| 2423 | 'gdbmi-invalidate-locals)) | ||
| 2424 | 2412 | ||
| 2425 | (defun gdb-locals-buffer-name () | 2413 | (defun gdb-locals-buffer-name () |
| 2426 | (with-current-buffer gud-comint-buffer | 2414 | (with-current-buffer gud-comint-buffer |
| @@ -2478,8 +2466,8 @@ corresponding to the mode line clicked." | |||
| 2478 | '("Disassembly" . gdb-display-assembler-buffer)) | 2466 | '("Disassembly" . gdb-display-assembler-buffer)) |
| 2479 | (define-key menu [registers] '("Registers" . gdb-display-registers-buffer)) | 2467 | (define-key menu [registers] '("Registers" . gdb-display-registers-buffer)) |
| 2480 | (define-key menu [inferior] | 2468 | (define-key menu [inferior] |
| 2481 | '(menu-item "Inferior IO" gdb-display-inferior-io-buffer | 2469 | '(menu-item "Inferior IO" gdb-display-separate-io-buffer |
| 2482 | :enable gdb-use-inferior-io-buffer)) | 2470 | :enable gdb-use-separate-io-buffer)) |
| 2483 | (define-key menu [locals] '("Locals" . gdb-display-locals-buffer)) | 2471 | (define-key menu [locals] '("Locals" . gdb-display-locals-buffer)) |
| 2484 | (define-key menu [frames] '("Stack" . gdb-display-stack-buffer)) | 2472 | (define-key menu [frames] '("Stack" . gdb-display-stack-buffer)) |
| 2485 | (define-key menu [breakpoints] | 2473 | (define-key menu [breakpoints] |
| @@ -2495,8 +2483,8 @@ corresponding to the mode line clicked." | |||
| 2495 | (define-key menu [disassembly] '("Disassembiy" . gdb-frame-assembler-buffer)) | 2483 | (define-key menu [disassembly] '("Disassembiy" . gdb-frame-assembler-buffer)) |
| 2496 | (define-key menu [registers] '("Registers" . gdb-frame-registers-buffer)) | 2484 | (define-key menu [registers] '("Registers" . gdb-frame-registers-buffer)) |
| 2497 | (define-key menu [inferior] | 2485 | (define-key menu [inferior] |
| 2498 | '(menu-item "Inferior IO" gdb-frame-inferior-io-buffer | 2486 | '(menu-item "Inferior IO" gdb-frame-separate-io-buffer |
| 2499 | :enable gdb-use-inferior-io-buffer)) | 2487 | :enable gdb-use-separate-io-buffer)) |
| 2500 | (define-key menu [locals] '("Locals" . gdb-frame-locals-buffer)) | 2488 | (define-key menu [locals] '("Locals" . gdb-frame-locals-buffer)) |
| 2501 | (define-key menu [frames] '("Stack" . gdb-frame-stack-buffer)) | 2489 | (define-key menu [frames] '("Stack" . gdb-frame-stack-buffer)) |
| 2502 | (define-key menu [breakpoints] | 2490 | (define-key menu [breakpoints] |
| @@ -2506,11 +2494,11 @@ corresponding to the mode line clicked." | |||
| 2506 | (define-key gud-menu-map [ui] | 2494 | (define-key gud-menu-map [ui] |
| 2507 | `(menu-item (if (eq gud-minor-mode 'gdba) "GDB-UI" "GDB-MI") | 2495 | `(menu-item (if (eq gud-minor-mode 'gdba) "GDB-UI" "GDB-MI") |
| 2508 | ,menu :visible (memq gud-minor-mode '(gdbmi gdba)))) | 2496 | ,menu :visible (memq gud-minor-mode '(gdbmi gdba)))) |
| 2509 | (define-key menu [gdb-use-inferior-io] | 2497 | (define-key menu [gdb-use-separate-io] |
| 2510 | '(menu-item "Separate inferior IO" gdb-use-inferior-io-buffer | 2498 | '(menu-item "Separate inferior IO" gdb-use-separate-io-buffer |
| 2511 | :visible (eq gud-minor-mode 'gdba) | 2499 | :visible (eq gud-minor-mode 'gdba) |
| 2512 | :help "Toggle separate IO for inferior." | 2500 | :help "Toggle separate IO for inferior." |
| 2513 | :button (:toggle . gdb-use-inferior-io-buffer))) | 2501 | :button (:toggle . gdb-use-separate-io-buffer))) |
| 2514 | (define-key menu [gdb-many-windows] | 2502 | (define-key menu [gdb-many-windows] |
| 2515 | '(menu-item "Display Other Windows" gdb-many-windows | 2503 | '(menu-item "Display Other Windows" gdb-many-windows |
| 2516 | :help "Toggle display of locals, stack and breakpoint information" | 2504 | :help "Toggle display of locals, stack and breakpoint information" |
| @@ -2556,7 +2544,7 @@ corresponding to the mode line clicked." | |||
| 2556 | (if gud-last-last-frame | 2544 | (if gud-last-last-frame |
| 2557 | (gud-find-file (car gud-last-last-frame)) | 2545 | (gud-find-file (car gud-last-last-frame)) |
| 2558 | (gud-find-file gdb-main-file))) | 2546 | (gud-find-file gdb-main-file))) |
| 2559 | (when gdb-use-inferior-io-buffer | 2547 | (when gdb-use-separate-io-buffer |
| 2560 | (split-window-horizontally) | 2548 | (split-window-horizontally) |
| 2561 | (other-window 1) | 2549 | (other-window 1) |
| 2562 | (gdb-set-window-buffer | 2550 | (gdb-set-window-buffer |
| @@ -2684,11 +2672,12 @@ of the current session." | |||
| 2684 | (if (and (buffer-name gud-comint-buffer) | 2672 | (if (and (buffer-name gud-comint-buffer) |
| 2685 | ;; in case gud or gdb-ui is just loaded | 2673 | ;; in case gud or gdb-ui is just loaded |
| 2686 | gud-comint-buffer | 2674 | gud-comint-buffer |
| 2687 | (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) | 2675 | (memq (buffer-local-value 'gud-minor-mode gud-comint-buffer) |
| 2688 | 'gdba)) | 2676 | '(gdba gdbmi))) |
| 2689 | (if (member buffer-file-name gdb-source-file-list) | 2677 | (if (member buffer-file-name gdb-source-file-list) |
| 2690 | (with-current-buffer (find-buffer-visiting buffer-file-name) | 2678 | (with-current-buffer (find-buffer-visiting buffer-file-name) |
| 2691 | (set (make-local-variable 'gud-minor-mode) 'gdba) | 2679 | (set (make-local-variable 'gud-minor-mode) |
| 2680 | (buffer-local-value 'gud-minor-mode gud-comint-buffer)) | ||
| 2692 | (set (make-local-variable 'tool-bar-map) gud-tool-bar-map))))) | 2681 | (set (make-local-variable 'tool-bar-map) gud-tool-bar-map))))) |
| 2693 | 2682 | ||
| 2694 | ;;from put-image | 2683 | ;;from put-image |
| @@ -2967,49 +2956,23 @@ BUFFER nil or omitted means use the current buffer." | |||
| 2967 | (if (re-search-forward " source language \\(\\S-*\\)\." nil t) | 2956 | (if (re-search-forward " source language \\(\\S-*\\)\." nil t) |
| 2968 | (setq gdb-current-language (match-string 1))) | 2957 | (setq gdb-current-language (match-string 1))) |
| 2969 | (gdb-invalidate-assembler)) | 2958 | (gdb-invalidate-assembler)) |
| 2970 | |||
| 2971 | |||
| 2972 | ;; For debugging Emacs only (assumes that usual stack buffer already exists). | ||
| 2973 | (defun gdb-xbacktrace () | ||
| 2974 | "Generate a full lisp level backtrace with arguments." | ||
| 2975 | (interactive) | ||
| 2976 | (setq my-frames nil) | ||
| 2977 | (with-current-buffer (get-buffer-create "xbacktrace") | ||
| 2978 | (erase-buffer)) | ||
| 2979 | (let (frame-number gdb-frame-number) | ||
| 2980 | (with-current-buffer (gdb-get-buffer 'gdb-stack-buffer) | ||
| 2981 | (save-excursion | ||
| 2982 | (goto-char (point-min)) | ||
| 2983 | (while (search-forward "in Ffuncall " nil t) | ||
| 2984 | (goto-char (line-beginning-position)) | ||
| 2985 | (looking-at "^#\\([0-9]+\\)") | ||
| 2986 | (push (match-string-no-properties 1) my-frames) | ||
| 2987 | (forward-line 1)))) | ||
| 2988 | (dolist (frame my-frames) | ||
| 2989 | (gdb-enqueue-input (list (concat "server frame " frame "\n") | ||
| 2990 | 'ignore)) | ||
| 2991 | ; (gdb-enqueue-input (list "server ppargs\n" 'gdb-get-arguments)) | ||
| 2992 | (gud-basic-call "server ppargs") | ||
| 2993 | ) | ||
| 2994 | (gdb-enqueue-input (list (concat "server frame " frame-number "\n") | ||
| 2995 | 'ignore)))) | ||
| 2996 | |||
| 2997 | (defun gdb-get-arguments () | ||
| 2998 | (with-current-buffer "xbacktrace" | ||
| 2999 | (insert-buffer-substring (gdb-get-buffer 'gdb-partial-output-buffer)))) | ||
| 3000 | 2959 | ||
| 2960 | |||
| 3001 | ;; Code specific to GDB 6.4 | 2961 | ;; Code specific to GDB 6.4 |
| 3002 | (defconst gdb-source-file-regexp-1 "fullname=\"\\(.*?\\)\"") | 2962 | (defconst gdb-source-file-regexp-1 "fullname=\"\\(.*?\\)\"") |
| 3003 | 2963 | ||
| 3004 | (defun gdb-set-gud-minor-mode-existing-buffers-1 () | 2964 | (defun gdb-set-gud-minor-mode-existing-buffers-1 () |
| 3005 | "Create list of source files for current GDB session." | 2965 | "Create list of source files for current GDB session. |
| 2966 | If buffers already exist for any of these files, gud-minor-mode | ||
| 2967 | is set in them." | ||
| 3006 | (goto-char (point-min)) | 2968 | (goto-char (point-min)) |
| 3007 | (while (re-search-forward gdb-source-file-regexp-1 nil t) | 2969 | (while (re-search-forward gdb-source-file-regexp-1 nil t) |
| 3008 | (push (match-string 1) gdb-source-file-list)) | 2970 | (push (match-string 1) gdb-source-file-list)) |
| 3009 | (dolist (buffer (buffer-list)) | 2971 | (dolist (buffer (buffer-list)) |
| 3010 | (with-current-buffer buffer | 2972 | (with-current-buffer buffer |
| 3011 | (when (member buffer-file-name gdb-source-file-list) | 2973 | (when (member buffer-file-name gdb-source-file-list) |
| 3012 | (set (make-local-variable 'gud-minor-mode) 'gdba) | 2974 | (set (make-local-variable 'gud-minor-mode) |
| 2975 | (buffer-local-value 'gud-minor-mode gud-comint-buffer)) | ||
| 3013 | (set (make-local-variable 'tool-bar-map) gud-tool-bar-map) | 2976 | (set (make-local-variable 'tool-bar-map) gud-tool-bar-map) |
| 3014 | (when gud-tooltip-mode | 2977 | (when gud-tooltip-mode |
| 3015 | (make-local-variable 'gdb-define-alist) | 2978 | (make-local-variable 'gdb-define-alist) |
| @@ -3019,12 +2982,12 @@ BUFFER nil or omitted means use the current buffer." | |||
| 3019 | ; Uses "-var-list-children --all-values". Needs GDB 6.1 onwards. | 2982 | ; Uses "-var-list-children --all-values". Needs GDB 6.1 onwards. |
| 3020 | (defun gdb-var-list-children-1 (varnum) | 2983 | (defun gdb-var-list-children-1 (varnum) |
| 3021 | (gdb-enqueue-input | 2984 | (gdb-enqueue-input |
| 3022 | (list (concat "server interpreter mi \"-var-update " varnum "\"\n") | 2985 | (list |
| 3023 | 'ignore)) | 2986 | (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba) |
| 3024 | (gdb-enqueue-input | 2987 | (concat "server interpreter mi \"-var-list-children --all-values " |
| 3025 | (list (concat "server interpreter mi \"-var-list-children --all-values " | 2988 | varnum "\"\n") |
| 3026 | varnum "\"\n") | 2989 | (concat "-var-list-children --all-values " varnum "\n")) |
| 3027 | `(lambda () (gdb-var-list-children-handler-1 ,varnum))))) | 2990 | `(lambda () (gdb-var-list-children-handler-1 ,varnum))))) |
| 3028 | 2991 | ||
| 3029 | (defconst gdb-var-list-children-regexp-1 | 2992 | (defconst gdb-var-list-children-regexp-1 |
| 3030 | "name=\"\\(.+?\\)\",exp=\"\\(.+?\\)\",numchild=\"\\(.+?\\)\",\ | 2993 | "name=\"\\(.+?\\)\",exp=\"\\(.+?\\)\",numchild=\"\\(.+?\\)\",\ |
| @@ -3059,10 +3022,10 @@ value=\\(\".*?\"\\),type=\"\\(.+?\\)\"}") | |||
| 3059 | (progn | 3022 | (progn |
| 3060 | (gdb-enqueue-input | 3023 | (gdb-enqueue-input |
| 3061 | (list | 3024 | (list |
| 3062 | (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) | 3025 | (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba) |
| 3063 | "server interpreter mi \"-var-update --all-values *\"\n" | 3026 | "server interpreter mi \"-var-update --all-values *\"\n" |
| 3064 | "-var-update --all-values *\n") | 3027 | "-var-update --all-values *\n") |
| 3065 | 'gdb-var-update-handler-1)) | 3028 | 'gdb-var-update-handler-1)) |
| 3066 | (push 'gdb-var-update gdb-pending-triggers)))) | 3029 | (push 'gdb-var-update gdb-pending-triggers)))) |
| 3067 | 3030 | ||
| 3068 | (defconst gdb-var-update-regexp-1 "name=\"\\(.*?\\)\",value=\\(\".*?\"\\),") | 3031 | (defconst gdb-var-update-regexp-1 "name=\"\\(.*?\\)\",value=\\(\".*?\"\\),") |
| @@ -3098,7 +3061,7 @@ value=\\(\".*?\"\\),type=\"\\(.+?\\)\"}") | |||
| 3098 | 3061 | ||
| 3099 | (def-gdb-auto-update-trigger gdb-invalidate-registers-1 | 3062 | (def-gdb-auto-update-trigger gdb-invalidate-registers-1 |
| 3100 | (gdb-get-buffer 'gdb-registers-buffer) | 3063 | (gdb-get-buffer 'gdb-registers-buffer) |
| 3101 | (if (eq gud-minor-mode 'gdba) | 3064 | (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba) |
| 3102 | "server interpreter mi \"-data-list-register-values x\"\n" | 3065 | "server interpreter mi \"-data-list-register-values x\"\n" |
| 3103 | "-data-list-register-values x\n") | 3066 | "-data-list-register-values x\n") |
| 3104 | gdb-data-list-register-values-handler) | 3067 | gdb-data-list-register-values-handler) |
| @@ -3157,14 +3120,15 @@ value=\\(\".*?\"\\),type=\"\\(.+?\\)\"}") | |||
| 3157 | 3120 | ||
| 3158 | ;; Needs GDB 6.4 onwards (used to fail with no stack). | 3121 | ;; Needs GDB 6.4 onwards (used to fail with no stack). |
| 3159 | (defun gdb-get-changed-registers () | 3122 | (defun gdb-get-changed-registers () |
| 3160 | (if (not (member 'gdb-get-changed-registers gdb-pending-triggers)) | 3123 | (if (and (gdb-get-buffer 'gdb-registers-buffer) |
| 3124 | (not (member 'gdb-get-changed-registers gdb-pending-triggers))) | ||
| 3161 | (progn | 3125 | (progn |
| 3162 | (gdb-enqueue-input | 3126 | (gdb-enqueue-input |
| 3163 | (list | 3127 | (list |
| 3164 | (if (eq gud-minor-mode 'gdba) | 3128 | (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba) |
| 3165 | "server interpreter mi -data-list-changed-registers\n" | 3129 | "server interpreter mi -data-list-changed-registers\n" |
| 3166 | "-data-list-changed-registers\n") | 3130 | "-data-list-changed-registers\n") |
| 3167 | 'gdb-get-changed-registers-handler)) | 3131 | 'gdb-get-changed-registers-handler)) |
| 3168 | (push 'gdb-get-changed-registers gdb-pending-triggers)))) | 3132 | (push 'gdb-get-changed-registers gdb-pending-triggers)))) |
| 3169 | 3133 | ||
| 3170 | (defconst gdb-data-list-register-names-regexp "\"\\(.*?\\)\"") | 3134 | (defconst gdb-data-list-register-names-regexp "\"\\(.*?\\)\"") |
| @@ -3187,7 +3151,9 @@ value=\\(\".*?\"\\),type=\"\\(.+?\\)\"}") | |||
| 3187 | 3151 | ||
| 3188 | (def-gdb-auto-update-trigger gdb-invalidate-locals-1 | 3152 | (def-gdb-auto-update-trigger gdb-invalidate-locals-1 |
| 3189 | (gdb-get-buffer 'gdb-locals-buffer) | 3153 | (gdb-get-buffer 'gdb-locals-buffer) |
| 3190 | "server interpreter mi -\"stack-list-locals --simple-values\"\n" | 3154 | (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba) |
| 3155 | "server interpreter mi -\"stack-list-locals --simple-values\"\n" | ||
| 3156 | "-stack-list-locals --simple-values\n") | ||
| 3191 | gdb-stack-list-locals-handler) | 3157 | gdb-stack-list-locals-handler) |
| 3192 | 3158 | ||
| 3193 | (defconst gdb-stack-list-locals-regexp | 3159 | (defconst gdb-stack-list-locals-regexp |
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el index b927c765476..1d5172a1a52 100644 --- a/lisp/progmodes/gud.el +++ b/lisp/progmodes/gud.el | |||
| @@ -656,8 +656,13 @@ required by the caller." | |||
| 656 | ;;;###autoload | 656 | ;;;###autoload |
| 657 | (defun gdb (command-line) | 657 | (defun gdb (command-line) |
| 658 | "Run gdb on program FILE in buffer *gud-FILE*. | 658 | "Run gdb on program FILE in buffer *gud-FILE*. |
| 659 | The directory containing FILE becomes the initial working directory | 659 | The directory containing FILE becomes the initial working |
| 660 | and source-file directory for your debugger." | 660 | directory and source-file directory for your debugger. By |
| 661 | default this command starts GDB using a graphical interface. See | ||
| 662 | `gdba' for more information. | ||
| 663 | |||
| 664 | To run GDB in text command mode, set `gud-gdb-command-name' to | ||
| 665 | \"gdb --fullname\" and include the pathname, if necessary." | ||
| 661 | (interactive (list (gud-query-cmdline 'gdb))) | 666 | (interactive (list (gud-query-cmdline 'gdb))) |
| 662 | 667 | ||
| 663 | (if (and gud-comint-buffer | 668 | (if (and gud-comint-buffer |
| @@ -3120,7 +3125,7 @@ class of the file (using s to separate nested class ids)." | |||
| 3120 | (defvar gdb-script-font-lock-keywords | 3125 | (defvar gdb-script-font-lock-keywords |
| 3121 | '(("^define\\s-+\\(\\(\\w\\|\\s_\\)+\\)" (1 font-lock-function-name-face)) | 3126 | '(("^define\\s-+\\(\\(\\w\\|\\s_\\)+\\)" (1 font-lock-function-name-face)) |
| 3122 | ("\\$\\(\\w+\\)" (1 font-lock-variable-name-face)) | 3127 | ("\\$\\(\\w+\\)" (1 font-lock-variable-name-face)) |
| 3123 | ("^\\s-*\\([a-z]+\\)" (1 font-lock-keyword-face)))) | 3128 | ("^\\s-*\\(\\(\\w\\|\\s_\\)+\\)" (1 font-lock-keyword-face)))) |
| 3124 | 3129 | ||
| 3125 | ;; FIXME: The keyword "end" associated with "document" | 3130 | ;; FIXME: The keyword "end" associated with "document" |
| 3126 | ;; should have font-lock-keyword-face (currently font-lock-doc-face). | 3131 | ;; should have font-lock-keyword-face (currently font-lock-doc-face). |