/[emacs]/emacs/lisp/gud.el
ViewVC logotype

Diff of /emacs/lisp/gud.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.156 by eliz, Wed Mar 27 15:26:57 2002 UTC revision 1.157 by eliz, Wed Mar 27 16:32:15 2002 UTC
# Line 15  Line 15 
15    
16  ;; GNU Emacs is distributed in the hope that it will be useful,  ;; GNU Emacs is distributed in the hope that it will be useful,
17  ;; but WITHOUT ANY WARRANTY; without even the implied warranty of  ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
18  ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19  ;; GNU General Public License for more details.  ;; GNU General Public License for more details.
20    
21  ;; You should have received a copy of the GNU General Public License  ;; You should have received a copy of the GNU General Public License
22  ;; along with GNU Emacs; see the file COPYING.  If not, write to the  ;; along with GNU Emacs; see the file COPYING.  If not, write to the
23  ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,  ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
24  ;; Boston, MA 02111-1307, USA.  ;; Boston, MA 02111-1307, USA.
25    
# Line 34  Line 34 
34  ;; wrote the GDB command completion code.  Dave Love <d.love@dl.ac.uk>  ;; wrote the GDB command completion code.  Dave Love <d.love@dl.ac.uk>
35  ;; added the IRIX kluge, re-implemented the Mips-ish variant and added  ;; added the IRIX kluge, re-implemented the Mips-ish variant and added
36  ;; a menu. Brian D. Carlstrom <bdc@ai.mit.edu> combined the IRIX kluge with  ;; a menu. Brian D. Carlstrom <bdc@ai.mit.edu> combined the IRIX kluge with
37  ;; the gud-xdb-directories hack producing gud-dbx-directories.  Derek L. Davies  ;; the gud-xdb-directories hack producing gud-dbx-directories.  Derek L. Davies
38  ;; <ddavies@world.std.com> added support for jdb (Java debugger.)  ;; <ddavies@world.std.com> added support for jdb (Java debugger.)
39    
40  ;;; Code:  ;;; Code:
# Line 140  If SOFT is non-nil, returns nil if the s Line 140  If SOFT is non-nil, returns nil if the s
140  ;; A macro call like (gud-def FUNC NAME KEY DOC) expands to a form  ;; A macro call like (gud-def FUNC NAME KEY DOC) expands to a form
141  ;; which defines FUNC to send the command NAME to the debugger, gives  ;; which defines FUNC to send the command NAME to the debugger, gives
142  ;; it the docstring DOC, and binds that function to KEY in the GUD  ;; it the docstring DOC, and binds that function to KEY in the GUD
143  ;; major mode.  The function is also bound in the global keymap with the  ;; major mode.  The function is also bound in the global keymap with the
144  ;; GUD prefix.  ;; GUD prefix.
145    
146  (defmacro gud-def (func cmd key &optional doc)  (defmacro gud-def (func cmd key &optional doc)
# Line 148  If SOFT is non-nil, returns nil if the s Line 148  If SOFT is non-nil, returns nil if the s
148  optional doc string DOC.  Certain %-escapes in the string arguments  optional doc string DOC.  Certain %-escapes in the string arguments
149  are interpreted specially if present.  These are:  are interpreted specially if present.  These are:
150    
151    %f    name (without directory) of current source file.    %f    name (without directory) of current source file.
152    %F    name (without directory or extension) of current source file.    %F    name (without directory or extension) of current source file.
153    %d    directory of current source file.    %d    directory of current source file.
154    %l    number of current source line    %l    number of current source line
155    %e    text of the C lvalue or function-call expression surrounding point.    %e    text of the C lvalue or function-call expression surrounding point.
156    %a    text of the hexadecimal address surrounding point    %a    text of the hexadecimal address surrounding point
157    %p    prefix argument to the command (if any) as a number    %p    prefix argument to the command (if any) as a number
158    
159    The `current' source file is the file of the current buffer (if    The `current' source file is the file of the current buffer (if
160  we're in a C file) or the source file current at the last break or  we're in a C file) or the source file current at the last break or
# Line 209  we're in the GUD buffer)." Line 209  we're in the GUD buffer)."
209  ;; the rest.  ;; the rest.
210  ;;  ;;
211  ;; The job of the find-file method is to visit and return the buffer indicated  ;; The job of the find-file method is to visit and return the buffer indicated
212  ;; by the car of gud-tag-frame.  This may be a file name, a tag name, or  ;; by the car of gud-tag-frame.  This may be a file name, a tag name, or
213  ;; something else.  ;; something else.
214    
215  ;; ======================================================================  ;; ======================================================================
# Line 401  and source-file directory for your debug Line 401  and source-file directory for your debug
401    (gud-def gud-break  "break %f:%l"  "\C-b" "Set breakpoint at current line.")    (gud-def gud-break  "break %f:%l"  "\C-b" "Set breakpoint at current line.")
402    (gud-def gud-tbreak "tbreak %f:%l" "\C-t" "Set temporary breakpoint at current line.")    (gud-def gud-tbreak "tbreak %f:%l" "\C-t" "Set temporary breakpoint at current line.")
403    (gud-def gud-remove "clear %f:%l"  "\C-d" "Remove breakpoint at current line")    (gud-def gud-remove "clear %f:%l"  "\C-d" "Remove breakpoint at current line")
404    (gud-def gud-step   "step %p"      "\C-s" "Step one source line with display.")    (gud-def gud-step   "step %p"      "\C-s" "Step one source line with display.")
405    (gud-def gud-stepi  "stepi %p"     "\C-i" "Step one instruction with display.")    (gud-def gud-stepi  "stepi %p"     "\C-i" "Step one instruction with display.")
406    (gud-def gud-next   "next %p"      "\C-n" "Step one line (skip functions).")    (gud-def gud-next   "next %p"      "\C-n" "Step one line (skip functions).")
407    (gud-def gud-cont   "cont"         "\C-r" "Continue with display.")    (gud-def gud-cont   "cont"         "\C-r" "Continue with display.")
408    (gud-def gud-finish "finish"       "\C-f" "Finish executing current function.")    (gud-def gud-finish "finish"       "\C-f" "Finish executing current function.")
409    (gud-def gud-jump   "tbreak %f:%l\njump %f:%l" "\C-j" "Relocate execution address to line at point in source buffer.")    (gud-def gud-jump   "tbreak %f:%l\njump %f:%l" "\C-j" "Relocate execution address to line at point in source buffer.")
410    
411    (gud-def gud-up     "up %p"        "<" "Up N stack frames (numeric arg).")    (gud-def gud-up     "up %p"        "<" "Up N stack frames (numeric arg).")
412    (gud-def gud-down   "down %p"      ">" "Down N stack frames (numeric arg).")    (gud-def gud-down   "down %p"      ">" "Down N stack frames (numeric arg).")
413    (gud-def gud-print  "print %e"     "\C-p" "Evaluate C expression at point.")    (gud-def gud-print  "print %e"     "\C-p" "Evaluate C expression at point.")
414    
415    (local-set-key "\C-i" 'gud-gdb-complete-command)    (local-set-key "\C-i" 'gud-gdb-complete-command)
# Line 833  containing the executable being debugged Line 833  containing the executable being debugged
833    
834      ;; Does the remaining text look like it might end with the      ;; Does the remaining text look like it might end with the
835      ;; beginning of another marker?  If it does, then keep it in      ;; beginning of another marker?  If it does, then keep it in
836      ;; gud-marker-acc until we receive the rest of it.  Since we      ;; gud-marker-acc until we receive the rest of it.  Since we
837      ;; know the full marker regexp above failed, it's pretty simple to      ;; know the full marker regexp above failed, it's pretty simple to
838      ;; test for marker starts.      ;; test for marker starts.
839      (if (string-match "[][ 0-9]*\032.*\\'" gud-marker-acc)      (if (string-match "[][ 0-9]*\032.*\\'" gud-marker-acc)
# Line 853  containing the executable being debugged Line 853  containing the executable being debugged
853    
854  ;; The dbx in IRIX is a pain.  It doesn't print the file name when  ;; The dbx in IRIX is a pain.  It doesn't print the file name when
855  ;; stopping at a breakpoint (but you do get it from the `up' and  ;; stopping at a breakpoint (but you do get it from the `up' and
856  ;; `down' commands...).  The only way to extract the information seems  ;; `down' commands...).  The only way to extract the information seems
857  ;; to be with a `file' command, although the current line number is  ;; to be with a `file' command, although the current line number is
858  ;; available in $curline.  Thus we have to look for output which  ;; available in $curline.  Thus we have to look for output which
859  ;; appears to indicate a breakpoint.  Then we prod the dbx sub-process  ;; appears to indicate a breakpoint.  Then we prod the dbx sub-process
# Line 909  a better solution in 6.1 upwards.") Line 909  a better solution in 6.1 upwards.")
909      (if result      (if result
910          (cond          (cond
911           ;; look for breakpoint or signal indication e.g.:           ;; look for breakpoint or signal indication e.g.:
912           ;; [2] Process  1267 (pplot) stopped at [params:338 ,0x400ec0]           ;; [2] Process  1267 (pplot) stopped at [params:338 ,0x400ec0]
913           ;; Process  1281 (pplot) stopped at [params:339 ,0x400ec8]           ;; Process  1281 (pplot) stopped at [params:339 ,0x400ec8]
914           ;; Process  1270 (pplot) Floating point exception [._read._read:16 ,0x452188]           ;; Process  1270 (pplot) Floating point exception [._read._read:16 ,0x452188]
915           ((string-match           ((string-match
# Line 1032  and source-file directory for your debug Line 1032  and source-file directory for your debug
1032    
1033    (cond    (cond
1034     (gud-mips-p     (gud-mips-p
1035      (gud-def gud-up     "up %p"         "<" "Up (numeric arg) stack frames.")      (gud-def gud-up     "up %p"   "<" "Up (numeric arg) stack frames.")
1036      (gud-def gud-down   "down %p" ">" "Down (numeric arg) stack frames.")      (gud-def gud-down   "down %p" ">" "Down (numeric arg) stack frames.")
1037      (gud-def gud-break "stop at \"%f\":%l"      (gud-def gud-break  "stop at \"%f\":%l"
1038                                    "\C-b" "Set breakpoint at current line.")                                    "\C-b" "Set breakpoint at current line.")
1039      (gud-def gud-finish "return"  "\C-f" "Finish executing current function."))      (gud-def gud-finish "return"  "\C-f" "Finish executing current function."))
1040     (gud-irix-p     (gud-irix-p
1041      (gud-def gud-break "stop at \"%d%f\":%l"      (gud-def gud-break  "stop at \"%d%f\":%l"
1042                                    "\C-b" "Set breakpoint at current line.")                                    "\C-b" "Set breakpoint at current line.")
1043      (gud-def gud-finish "return"  "\C-f" "Finish executing current function.")      (gud-def gud-finish "return"  "\C-f" "Finish executing current function.")
1044      (gud-def gud-up     "up %p; printf \"\032\032%1d:\",(int)$curline;file\n"      (gud-def gud-up     "up %p; printf \"\032\032%1d:\",(int)$curline;file\n"
# Line 1049  and source-file directory for your debug Line 1049  and source-file directory for your debug
1049      (process-send-string (get-buffer-process gud-comint-buffer)      (process-send-string (get-buffer-process gud-comint-buffer)
1050                           "printf \"\032\032%1d:\",(int)$curline;file\n"))                           "printf \"\032\032%1d:\",(int)$curline;file\n"))
1051     (t     (t
1052      (gud-def gud-up     "up %p"         "<" "Up (numeric arg) stack frames.")      (gud-def gud-up     "up %p"   "<" "Up (numeric arg) stack frames.")
1053      (gud-def gud-down   "down %p" ">" "Down (numeric arg) stack frames.")      (gud-def gud-down   "down %p" ">" "Down (numeric arg) stack frames.")
1054      (gud-def gud-break "file \"%d%f\"\nstop at %l"      (gud-def gud-break "file \"%d%f\"\nstop at %l"
1055                                    "\C-b" "Set breakpoint at current line.")                                    "\C-b" "Set breakpoint at current line.")
# Line 1058  and source-file directory for your debug Line 1058  and source-file directory for your debug
1058                               "set $stopformat=1\n"))))                               "set $stopformat=1\n"))))
1059    
1060    (gud-def gud-remove "clear %l"  "\C-d" "Remove breakpoint at current line")    (gud-def gud-remove "clear %l"  "\C-d" "Remove breakpoint at current line")
1061    (gud-def gud-step   "step %p"   "\C-s" "Step one line with display.")    (gud-def gud-step   "step %p"   "\C-s" "Step one line with display.")
1062    (gud-def gud-stepi  "stepi %p"  "\C-i" "Step one instruction with display.")    (gud-def gud-stepi  "stepi %p"  "\C-i" "Step one instruction with display.")
1063    (gud-def gud-next   "next %p"   "\C-n" "Step one line (skip functions).")    (gud-def gud-next   "next %p"   "\C-n" "Step one line (skip functions).")
1064    (gud-def gud-cont   "cont"      "\C-r" "Continue with display.")    (gud-def gud-cont   "cont"      "\C-r" "Continue with display.")
1065    (gud-def gud-print  "print %e"  "\C-p" "Evaluate C expression at point.")    (gud-def gud-print  "print %e"  "\C-p" "Evaluate C expression at point.")
1066    
1067    (setq comint-prompt-regexp  "^[^)\n]*dbx) *")    (setq comint-prompt-regexp  "^[^)\n]*dbx) *")
# Line 1153  directories if your program contains sou Line 1153  directories if your program contains sou
1153                     'gud-xdb-marker-filter 'gud-xdb-find-file)                     'gud-xdb-marker-filter 'gud-xdb-find-file)
1154    (set (make-local-variable 'gud-minor-mode) 'xdb)    (set (make-local-variable 'gud-minor-mode) 'xdb)
1155    
1156    (gud-def gud-break  "b %f:%l"    "\C-b" "Set breakpoint at current line.")    (gud-def gud-break  "b %f:%l"    "\C-b" "Set breakpoint at current line.")
1157    (gud-def gud-tbreak "b %f:%l\\t" "\C-t"    (gud-def gud-tbreak "b %f:%l\\t" "\C-t"
1158             "Set temporary breakpoint at current line.")             "Set temporary breakpoint at current line.")
1159    (gud-def gud-remove "db"         "\C-d" "Remove breakpoint at current line")    (gud-def gud-remove "db"         "\C-d" "Remove breakpoint at current line")
1160    (gud-def gud-step   "s %p"       "\C-s" "Step one line with display.")    (gud-def gud-step   "s %p"       "\C-s" "Step one line with display.")
1161    (gud-def gud-next   "S %p"       "\C-n" "Step one line (skip functions).")    (gud-def gud-next   "S %p"       "\C-n" "Step one line (skip functions).")
1162    (gud-def gud-cont   "c"          "\C-r" "Continue with display.")    (gud-def gud-cont   "c"          "\C-r" "Continue with display.")
1163    (gud-def gud-up     "up %p"      "<"    "Up (numeric arg) stack frames.")    (gud-def gud-up     "up %p"      "<"    "Up (numeric arg) stack frames.")
1164    (gud-def gud-down   "down %p"    ">"    "Down (numeric arg) stack frames.")    (gud-def gud-down   "down %p"    ">"    "Down (numeric arg) stack frames.")
1165    (gud-def gud-finish "bu\\t"      "\C-f" "Finish executing current function.")    (gud-def gud-finish "bu\\t"      "\C-f" "Finish executing current function.")
1166    (gud-def gud-print  "p %e"       "\C-p" "Evaluate C expression at point.")    (gud-def gud-print  "p %e"       "\C-p" "Evaluate C expression at point.")
1167    
1168    (setq comint-prompt-regexp  "^>")    (setq comint-prompt-regexp  "^>")
1169    (setq paragraph-start comint-prompt-regexp)    (setq paragraph-start comint-prompt-regexp)
# Line 1293  and source-file directory for your debug Line 1293  and source-file directory for your debug
1293                     'gud-perldb-marker-filter 'gud-perldb-find-file)                     'gud-perldb-marker-filter 'gud-perldb-find-file)
1294    (set (make-local-variable 'gud-minor-mode) 'perldb)    (set (make-local-variable 'gud-minor-mode) 'perldb)
1295    
1296    (gud-def gud-break  "b %l"         "\C-b" "Set breakpoint at current line.")    (gud-def gud-break  "b %l"         "\C-b" "Set breakpoint at current line.")
1297    (gud-def gud-remove "d %l"         "\C-d" "Remove breakpoint at current line")    (gud-def gud-remove "d %l"         "\C-d" "Remove breakpoint at current line")
1298    (gud-def gud-step   "s"            "\C-s" "Step one source line with display.")    (gud-def gud-step   "s"            "\C-s" "Step one source line with display.")
1299    (gud-def gud-next   "n"            "\C-n" "Step one line (skip functions).")    (gud-def gud-next   "n"            "\C-n" "Step one line (skip functions).")
1300    (gud-def gud-cont   "c"            "\C-r" "Continue with display.")    (gud-def gud-cont   "c"            "\C-r" "Continue with display.")
1301  ;  (gud-def gud-finish "finish"       "\C-f" "Finish executing current function.")  ;  (gud-def gud-finish "finish"       "\C-f" "Finish executing current function.")
1302  ;  (gud-def gud-up     "up %p"        "<" "Up N stack frames (numeric arg).")  ;  (gud-def gud-up     "up %p"        "<" "Up N stack frames (numeric arg).")
1303  ;  (gud-def gud-down   "down %p"      ">" "Down N stack frames (numeric arg).")  ;  (gud-def gud-down   "down %p"      ">" "Down N stack frames (numeric arg).")
1304    (gud-def gud-print  "%e"           "\C-p" "Evaluate perl expression at point.")    (gud-def gud-print  "%e"           "\C-p" "Evaluate perl expression at point.")
1305    
1306    (setq comint-prompt-regexp "^  DB<+[0-9]+>+ ")    (setq comint-prompt-regexp "^  DB<+[0-9]+>+ ")
1307    (setq paragraph-start comint-prompt-regexp)    (setq paragraph-start comint-prompt-regexp)
# Line 1404  and source-file directory for your debug Line 1404  and source-file directory for your debug
1404    
1405    (gud-def gud-break  "break %l"     "\C-b" "Set breakpoint at current line.")    (gud-def gud-break  "break %l"     "\C-b" "Set breakpoint at current line.")
1406    (gud-def gud-remove "clear %l"     "\C-d" "Remove breakpoint at current line")    (gud-def gud-remove "clear %l"     "\C-d" "Remove breakpoint at current line")
1407    (gud-def gud-step   "step"         "\C-s" "Step one source line with display.")    (gud-def gud-step   "step"         "\C-s" "Step one source line with display.")
1408    (gud-def gud-next   "next"         "\C-n" "Step one line (skip functions).")    (gud-def gud-next   "next"         "\C-n" "Step one line (skip functions).")
1409    (gud-def gud-cont   "continue"     "\C-r" "Continue with display.")    (gud-def gud-cont   "continue"     "\C-r" "Continue with display.")
1410    (gud-def gud-finish "return"       "\C-f" "Finish executing current function.")    (gud-def gud-finish "return"       "\C-f" "Finish executing current function.")
1411    (gud-def gud-up     "up"           "<" "Up one stack frame.")    (gud-def gud-up     "up"           "<" "Up one stack frame.")
1412    (gud-def gud-down   "down"         ">" "Down one stack frame.")    (gud-def gud-down   "down"         ">" "Down one stack frame.")
1413    (gud-def gud-print  "p %e"         "\C-p" "Evaluate Python expression at point.")    (gud-def gud-print  "p %e"         "\C-p" "Evaluate Python expression at point.")
1414    ;; Is this right?    ;; Is this right?
1415    (gud-def gud-statement "! %e"      "\C-e" "Execute Python statement at point.")    (gud-def gud-statement "! %e"      "\C-e" "Execute Python statement at point.")
1416    
1417    (local-set-key [menu-bar debug finish] '("Finish Function" . gud-finish))    (local-set-key [menu-bar debug finish] '("Finish Function" . gud-finish))
1418    (local-set-key [menu-bar debug up] '("Up Stack" . gud-up))    (local-set-key [menu-bar debug up] '("Up Stack" . gud-up))
# Line 1480  and source-file directory for your debug Line 1480  and source-file directory for your debug
1480  ;;  ;;
1481  ;; Not sure what happens with inner classes ... haven't tried them.  ;; Not sure what happens with inner classes ... haven't tried them.
1482  ;;  ;;
1483  ;; Does not grok UNICODE id's.  Only ASCII id's are supported.  ;; Does not grok UNICODE id's.  Only ASCII id's are supported.
1484  ;;  ;;
1485  ;; You must not put whitespace between "-classpath" and the path to  ;; You must not put whitespace between "-classpath" and the path to
1486  ;; search for java classes even though it is required when invoking jdb  ;; search for java classes even though it is required when invoking jdb
# Line 1497  and source-file directory for your debug Line 1497  and source-file directory for your debug
1497  ;; every file ending in ".java" in these directories parses without error.  ;; every file ending in ".java" in these directories parses without error.
1498  ;;  ;;
1499  ;; All the .java files in the directories in gud-jdb-directories are  ;; All the .java files in the directories in gud-jdb-directories are
1500  ;; syntactically analyzed each time gud jdb is invoked.  It would be  ;; syntactically analyzed each time gud jdb is invoked.  It would be
1501  ;; nice to keep as much information as possible between runs.  It would  ;; nice to keep as much information as possible between runs.  It would
1502  ;; be really nice to analyze the files only as neccessary (when the  ;; be really nice to analyze the files only as neccessary (when the
1503  ;; source needs to be displayed.)  I'm not sure to what extent the former  ;; source needs to be displayed.)  I'm not sure to what extent the former
# Line 1575  directory. Line 1575  directory.
1575    
1576  The set of .java files residing in the directories listed are  The set of .java files residing in the directories listed are
1577  syntactically analyzed to determine the classes they define and the  syntactically analyzed to determine the classes they define and the
1578  packages in which these classes belong.  In this way gud jdb maps the  packages in which these classes belong.  In this way gud jdb maps the
1579  package-qualified class names output by the jdb debugger to the source  package-qualified class names output by the jdb debugger to the source
1580  file from which the class originated.  This allows gud mode to keep  file from which the class originated.  This allows gud mode to keep
1581  the source code display in sync with the debugging session.")  the source code display in sync with the debugging session.")
# Line 1597  the source code display in sync with the Line 1597  the source code display in sync with the
1597  (defun gud-jdb-build-source-files-list (path extn)  (defun gud-jdb-build-source-files-list (path extn)
1598  "Return a list of java source files (absolute paths).  "Return a list of java source files (absolute paths).
1599  PATH gives the directories in which to search for files with  PATH gives the directories in which to search for files with
1600  extension EXTN.  Normally EXTN is given as the regular expression  extension EXTN.  Normally EXTN is given as the regular expression
1601   \"\\.java$\" ."   \"\\.java$\" ."
1602    (apply 'nconc (mapcar (lambda (d)    (apply 'nconc (mapcar (lambda (d)
1603                            (when (file-directory-p d)                            (when (file-directory-p d)
# Line 1728  extension EXTN.         Normally EXTN is given Line 1728  extension EXTN.         Normally EXTN is given
1728                   (not (eobp)))                   (not (eobp)))
1729            (cond            (cond
1730    
1731             ;; Any number of semi's following a block is legal.  Move point             ;; Any number of semi's following a block is legal.  Move point
1732             ;; past them.  Note that comments and whitespace may be             ;; past them.  Note that comments and whitespace may be
1733             ;; interspersed as well.             ;; interspersed as well.
1734             ((eq (following-char) ?\073)             ((eq (following-char) ?\073)
# Line 1817  extension EXTN.         Normally EXTN is given Line 1817  extension EXTN.         Normally EXTN is given
1817  (defun gud-jdb-massage-args (file args)  (defun gud-jdb-massage-args (file args)
1818    ;; The jdb executable must have whitespace between "-classpath" and    ;; The jdb executable must have whitespace between "-classpath" and
1819    ;; its value while gud-common-init expects all switch values to    ;; its value while gud-common-init expects all switch values to
1820    ;; follow the switch keyword without intervening whitespace.  We    ;; follow the switch keyword without intervening whitespace.  We
1821    ;; require that when the user enters the "-classpath" switch in the    ;; require that when the user enters the "-classpath" switch in the
1822    ;; EMACS minibuffer that they do so without the intervening    ;; EMACS minibuffer that they do so without the intervening
1823    ;; whitespace.  This function adds it back (it's called after    ;; whitespace.  This function adds it back (it's called after
1824    ;; gud-common-init).  There are more switches like this (for    ;; gud-common-init).  There are more switches like this (for
1825    ;; instance "-host" and "-password") but I don't care about them    ;; instance "-host" and "-password") but I don't care about them
1826    ;; yet.    ;; yet.
1827    (if args    (if args
# Line 2066  gud, see `gud-mode'." Line 2066  gud, see `gud-mode'."
2066    
2067    (gud-def gud-break  "stop at %c:%l" "\C-b" "Set breakpoint at current line.")    (gud-def gud-break  "stop at %c:%l" "\C-b" "Set breakpoint at current line.")
2068    (gud-def gud-remove "clear %c:%l"   "\C-d" "Remove breakpoint at current line")    (gud-def gud-remove "clear %c:%l"   "\C-d" "Remove breakpoint at current line")
2069    (gud-def gud-step   "step"          "\C-s" "Step one source line with display.")    (gud-def gud-step   "step"          "\C-s" "Step one source line with display.")
2070    (gud-def gud-next   "next"          "\C-n" "Step one line (skip functions).")    (gud-def gud-next   "next"          "\C-n" "Step one line (skip functions).")
2071    (gud-def gud-cont   "cont"          "\C-r" "Continue with display.")    (gud-def gud-cont   "cont"          "\C-r" "Continue with display.")
2072    (gud-def gud-finish "step up"       "\C-f" "Continue until current method returns.")    (gud-def gud-finish "step up"       "\C-f" "Continue until current method returns.")
2073    (gud-def gud-up     "up\C-Mwhere"   "<"    "Up one stack frame.")    (gud-def gud-up     "up\C-Mwhere"   "<"    "Up one stack frame.")
2074    (gud-def gud-down   "down\C-Mwhere" ">"    "Up one stack frame.")    (gud-def gud-down   "down\C-Mwhere" ">"    "Up one stack frame.")
2075    (local-set-key [menu-bar debug finish] '("Finish Function" . gud-finish))    (local-set-key [menu-bar debug finish] '("Finish Function" . gud-finish))
# Line 2185  except that the breakpoint is temporary; Line 2185  except that the breakpoint is temporary;
2185  execution stops on it.  execution stops on it.
2186    
2187  Under gdb, dbx, and xdb, \\[gud-up] pops up through an enclosing stack  Under gdb, dbx, and xdb, \\[gud-up] pops up through an enclosing stack
2188  frame.  \\[gud-down] drops back down through one.  frame.  \\[gud-down] drops back down through one.
2189    
2190  If you are using gdb or xdb, \\[gud-finish] runs execution to the return from  If you are using gdb or xdb, \\[gud-finish] runs execution to the return from
2191  the current function and stops.  the current function and stops.
# Line 2630  the character after the end of the expr. Line 2630  the character after the end of the expr.
2630    
2631  (defun gud-expr-compound-sep (span-start span-end)  (defun gud-expr-compound-sep (span-start span-end)
2632    "Scan from SPAN-START to SPAN-END for punctuation characters.    "Scan from SPAN-START to SPAN-END for punctuation characters.
2633  If `->' is found, return `?.'.  If `.' is found, return `?.'.  If `->' is found, return `?.'.  If `.' is found, return `?.'.
2634  If any other punctuation is found, return `??'.  If any other punctuation is found, return `??'.
2635  If no punctuation is found, return `? '."  If no punctuation is found, return `? '."
2636    (let ((result ?\ )    (let ((result ?\ )

Legend:
Removed from v.1.156  
changed lines
  Added in v.1.157

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26