diff options
author | Richard M. Stallman <rms@gnu.org> | 1996-09-25 07:17:18 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1996-09-25 07:17:18 +0000 |
commit | aa9063cb2328481516344f51b862327183b6c07d (patch) | |
tree | 7d113a4da1ad04dfcf923c3ce4d96214de847273 /lisp/gud.el | |
parent | 3aad7613280b9b6a5ce5e4cb0af723cdef121376 (diff) | |
download | emacs-aa9063cb2328481516344f51b862327183b6c07d.tar.gz |
(gud-perldb-massage-args): Handle -e in ARGS.
(gud-perldb-marker-filter): Handle drive letters in file name.
(perldb): Update comint-prompt-regexp for latest Perl.
(gud-mode): Locally set comint-input-ignoredups to t.
Diffstat (limited to 'lisp/gud.el')
-rw-r--r-- | lisp/gud.el | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/lisp/gud.el b/lisp/gud.el index 685927b21fa..1d5f50b2682 100644 --- a/lisp/gud.el +++ b/lisp/gud.el @@ -928,7 +928,13 @@ directories if your program contains sources from more than one directory." (defvar gud-perldb-history nil) (defun gud-perldb-massage-args (file args) - (cons "-d" (cons (car args) (cons "-emacs" (cdr args))))) + (cond ((equal (car args) "-e") + (cons "-d" + (cons (car args) + (cons (nth 1 args) + (cons "--" (cons "-emacs" (cdr (cdr args)))))))) + (t + (cons "-d" (cons (car args) (cons "-emacs" (cdr args))))))) ;; There's no guarantee that Emacs will hand the filter the entire ;; marker at once; it could be broken up across several strings. We @@ -943,7 +949,7 @@ directories if your program contains sources from more than one directory." (let ((output "")) ;; Process all the complete markers in this chunk. - (while (string-match "\032\032\\([^:\n]*\\):\\([0-9]*\\):.*\n" + (while (string-match "\032\032\\(\\([a-zA-Z]:\\)?[^:\n]*\\):\\([0-9]*\\):.*\n" gud-marker-acc) (setq @@ -951,8 +957,8 @@ directories if your program contains sources from more than one directory." gud-last-frame (cons (substring gud-marker-acc (match-beginning 1) (match-end 1)) (string-to-int (substring gud-marker-acc - (match-beginning 2) - (match-end 2)))) + (match-beginning 3) + (match-end 3)))) ;; Append any text before the marker to the output we're going ;; to return - we don't include the marker in this text. @@ -1018,7 +1024,7 @@ and source-file directory for your debugger." ; (gud-def gud-down "down %p" ">" "Down N stack frames (numeric arg).") (gud-def gud-print "%e" "\C-p" "Evaluate perl expression at point.") - (setq comint-prompt-regexp "^ DB<[0-9]+> ") + (setq comint-prompt-regexp "^ DB<+[0-9]+>+ ") (setq paragraph-start comint-prompt-regexp) (run-hooks 'perldb-mode-hook) ) @@ -1136,6 +1142,9 @@ comint mode, which see." (make-local-variable 'gud-last-frame) (setq gud-last-frame nil) (make-local-variable 'comint-prompt-regexp) + ;; Don't put repeated commands in command history many times. + (make-local-variable 'comint-input-ignoredups) + (setq comint-input-ignoredups t) (make-local-variable 'paragraph-start) (make-local-variable 'gud-delete-prompt-marker) (setq gud-delete-prompt-marker (make-marker)) |