[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gud.el changes for non-ASCII
From: |
Dave Love |
Subject: |
gud.el changes for non-ASCII |
Date: |
31 Mar 2003 19:33:14 +0100 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
I haven't tested all these, and some of them may be for places where
non-ASCII currently can't occur, but that shouldn't cause problems.
2003-03-14 Dave Love <address@hidden>
* gud.el (gud-gdb-get-stackframe, gud-perldb-marker-filter)
(gud-pdb-marker-regexp, gud-jdb-marker-filter)
(gud-bashdb-marker-filter, gud-find-class): Use char classes to
allow non-ASCII.
*** gud.el.~1.175.~ Fri Feb 21 19:26:42 2003
--- gud.el Fri Mar 14 12:28:30 2003
***************
*** 597,606 ****
(dolist (e fetched-stack-frame-list)
(let ((name nil) (num nil))
(if (not (or
! (string-match "^#\\([0-9]+\\) +[0-9a-fx]+ in
\\([:0-9a-zA-Z_]+\\) (" e)
! (string-match "^#\\([0-9]+\\) +\\([:0-9a-zA-Z_]+\\) (" e)))
(if (not (string-match
! "at \\([-0-9a-zA-Z_.]+\\):\\([0-9]+\\)$" e))
nil
(setcar newlst
(list (nth 0 (car newlst))
--- 597,606 ----
(dolist (e fetched-stack-frame-list)
(let ((name nil) (num nil))
(if (not (or
! (string-match "^#\\([0-9]+\\) +[[:xdigit:]]+ in
\\([:[:alnum:]_]+\\) (" e)
! (string-match "^#\\([0-9]+\\) +\\([:[:alnum:]_]+\\) (" e)))
(if (not (string-match
! "at \\([-[:alnum:]_.]+\\):\\([0-9]+\\)$" e))
nil
(setcar newlst
(list (nth 0 (car newlst))
***************
*** 612,618 ****
(setq newlst
(cons
(if (string-match
! "at \\([-0-9a-zA-Z_.]+\\):\\([0-9]+\\)$" e)
(list name num (match-string 1 e)
(match-string 2 e))
(list name num))
--- 612,618 ----
(setq newlst
(cons
(if (string-match
! "at \\([-[:alnum:]_.]+\\):\\([0-9]+\\)$" e)
(list name num (match-string 1 e)
(match-string 2 e))
(list name num))
***************
*** 1186,1192 ****
(let ((output ""))
;; Process all the complete markers in this chunk.
! (while (string-match
"\032\032\\(\\([a-zA-Z]:\\)?[^:\n]*\\):\\([0-9]*\\):.*\n"
gud-marker-acc)
(setq
--- 1186,1192 ----
(let ((output ""))
;; Process all the complete markers in this chunk.
! (while (string-match
"\032\032\\(\\([[:alpha:]]:\\)?[^:\n]*\\):\\([0-9]*\\):.*\n"
gud-marker-acc)
(setq
***************
*** 1264,1270 ****
;; Last group is for return value, e.g. "> test.py(2)foo()->None"
;; Either file or function name may be omitted: "> <string>(0)?()"
(defvar gud-pdb-marker-regexp
! "^>
\\([-a-zA-Z0-9_/.:\\]*\\|<string>\\)(\\([0-9]+\\))\\([a-zA-Z0-9_]*\\|\\?\\)()\\(->[^\n]*\\)?\n")
(defvar gud-pdb-marker-regexp-file-group 1)
(defvar gud-pdb-marker-regexp-line-group 2)
(defvar gud-pdb-marker-regexp-fnname-group 3)
--- 1264,1270 ----
;; Last group is for return value, e.g. "> test.py(2)foo()->None"
;; Either file or function name may be omitted: "> <string>(0)?()"
(defvar gud-pdb-marker-regexp
! "^>
\\([-[:alnum:]_/.:\\]*\\|<string>\\)(\\([0-9]+\\))\\([[:alnum:]_]*\\|\\?\\)()\\(->[^\n]*\\)?\n")
(defvar gud-pdb-marker-regexp-file-group 1)
(defvar gud-pdb-marker-regexp-line-group 2)
(defvar gud-pdb-marker-regexp-fnname-group 3)
***************
*** 1419,1426 ****
;;
;; Not sure what happens with inner classes ... haven't tried them.
;;
- ;; Does not grok UNICODE id's. Only ASCII id's are supported.
- ;;
;; You must not put whitespace between "-classpath" and the path to
;; search for java classes even though it is required when invoking jdb
;; from the command line. See gud-jdb-massage-args for details.
--- 1419,1424 ----
***************
*** 1898,1914 ****
;; matches <line-number>. We don't care about using
;; <method> so we don't "group" it.
;;
- ;; FIXME: Java ID's are UNICODE strings, this matches ASCII
- ;; ID's only.
- ;;
;; The "," in the last square-bracket is necessary because of
;; Sun's total disrespect for backwards compatibility in
;; reported line numbers from jdb - starting in 1.4.0 they
;; introduced a comma at the thousands position (how
;; ingenious!)
! "\\(\[[0-9]+\] \\)*\\([a-zA-Z0-9.$_]+\\)\\.[a-zA-Z0-9$_<>(),]+ \
! \\(([a-zA-Z0-9.$_]+:\\|line=\\)\\([0-9,]+\\)"
gud-marker-acc)
;; A good marker is one that:
--- 1896,1909 ----
;; matches <line-number>. We don't care about using
;; <method> so we don't "group" it.
;;
;; The "," in the last square-bracket is necessary because of
;; Sun's total disrespect for backwards compatibility in
;; reported line numbers from jdb - starting in 1.4.0 they
;; introduced a comma at the thousands position (how
;; ingenious!)
! "\\(\[[0-9]+\] \\)*\\([[:alnum:].$_]+\\)\\.[[:alnum:]$_<>(),]+ \
! \\(([[:alnum:].$_]+:\\|line=\\)\\([0-9,]+\\)"
gud-marker-acc)
;; A good marker is one that:
***************
*** 2073,2079 ****
;; (/etc/init.d/ntp.init:16):
;; but we also allow DOS drive letters
;; (d:/etc/init.d/ntp.init:16):
! (while (string-match
"\\(^\\|\n\\)(\\(\\([a-zA-Z]:\\)?[^:\n]*\\):\\([0-9]*\\)):.*\n"
gud-marker-acc)
(setq
--- 2068,2074 ----
;; (/etc/init.d/ntp.init:16):
;; but we also allow DOS drive letters
;; (d:/etc/init.d/ntp.init:16):
! (while (string-match
"\\(^\\|\n\\)(\\(\\([[:alpha:]]:\\)?[^:\n]*\\):\\([0-9]*\\)):.*\n"
gud-marker-acc)
(setq
***************
*** 2841,2847 ****
;; Now we're at the beginning of a class
;; definition. Find class name
(looking-at
! "[A-Za-z0-9 \t\n]*?class[ \t\n]+\\([^ \t\n]+\\)")
(setq nclass
(append (list (match-string-no-properties 1))
nclass)))
--- 2836,2842 ----
;; Now we're at the beginning of a class
;; definition. Find class name
(looking-at
! "[[:alnum:] \t\n]*?class[ \t\n]+\\([^ \t\n]+\\)")
(setq nclass
(append (list (match-string-no-properties 1))
nclass)))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gud.el changes for non-ASCII,
Dave Love <=