]> code.delx.au - gnu-emacs-elpa/commitdiff
Set selected frame indicator re in init.el Add font-lock for Perl frames.
authorrocky <rocky@gnu.org>
Thu, 14 Apr 2011 14:14:36 +0000 (10:14 -0400)
committerrocky <rocky@gnu.org>
Thu, 14 Apr 2011 14:14:36 +0000 (10:14 -0400)
dbgr/common/backtrace-mode.el
dbgr/common/buffer/backtrace.el
dbgr/common/key.el
dbgr/debugger/perldb/init.el
dbgr/debugger/remake/init.el
dbgr/debugger/trepan/init.el

index 0b6a653e7dae80fac6f32d07c8e1cb4e9be7902a..b09516c2fe973c25b1d4ba53c41ccf7930eae98b 100644 (file)
     (define-key map [mouse-3] 'dbgr-goto-frame-mouse)
     (define-key map [up]      'dbgr-backtrace-moveto-frame-prev)
     (define-key map [down]    'dbgr-backtrace-moveto-frame-next)
+    (define-key map "l"       'dbgr-recenter-arrow)
 
-    ;; FIXME: these can go to a common routine. See also shortkey.el
+    ;; FIXME: these can go to a common routine. See also shortkey.el and
+    ;; key.el
     (define-key map "<"       'dbgr-cmd-newer-frame)
     (define-key map ">"       'dbgr-cmd-older-frame)
     (define-key map "d"       'dbgr-cmd-newer-frame)
     (define-key map "u"       'dbgr-cmd-older-frame)
-    (define-key map "l"        'dbgr-recenter-arrow)
-    (define-key map "C"        'dbgr-window-cmd-undisturb-src)
-    (define-key map "S"        'dbgr-window-src-undisturb-cmd)
+    (define-key map "C"       'dbgr-window-cmd-undisturb-src)
+    (define-key map "F"       'dbgr-window-bt)
+    (define-key map "S"       'dbgr-window-src-undisturb-cmd)
 
     (define-key map "n"       'dbgr-backtrace-moveto-frame-next)
     (define-key map "p"       'dbgr-backtrace-moveto-frame-prev)
index 4e88d622933fbada3d056cb2f98d63e237754a3d..7b863955b3f78324430c60284ba6af706d2e5362 100644 (file)
@@ -57,6 +57,8 @@ to be debugged."
        )
     (with-current-buffer-safe cmdbuf
       (let ((frame-pat (dbgr-cmdbuf-pat "debugger-backtrace"))
+           (indicator-re (or (dbgr-cmdbuf-pat "selected-frame-indicator")
+                             "->"))
            (selected-frame-num)
            (frame-pos-ring)
            (sleep-count 0)
@@ -91,7 +93,8 @@ to be debugged."
              (if divert-string 
                  (let* ((triple 
                          (dbgr-backtrace-add-text-properties frame-pat
-                                                             divert-string))
+                                                             divert-string
+                                                             indicator-re))
                         (string-with-props (car triple))
                         (frame-num-pos-list (caddr triple))
                         )
@@ -296,7 +299,8 @@ non-digit will start entry number from the beginning again."
       (setq dbgr-goto-entry-acc ""))
   (dbgr-goto-frame-n-internal (this-command-keys)))
 
-(defun dbgr-backtrace-add-text-properties  (frame-pat &optional opt-string)
+(defun dbgr-backtrace-add-text-properties  (frame-pat &optional opt-string
+                                                     frame-indicator-re)
   "Parse STRING and add properties for that"
 
   (let ((string (or opt-string 
@@ -313,7 +317,7 @@ non-digit will start entry number from the beginning again."
       (let ((frame-num-str)
            (frame-num)
            
-           ;; FIXME: Sort of a hack that 1 is always the frame indicator.
+           ;; FIXME: Remove hack that 1 is always the frame indicator.
            (frame-indicator 
             (substring string (match-beginning 1) (match-end 1)))
            (frame-num-pos)
@@ -357,9 +361,7 @@ non-digit will start entry number from the beginning again."
                           'frame-num  frame-num string)
        (setq last-pos (match-end 0))
 
-       ;; FIXME: Sort of a hack, indicator has '->' somewhere in it if it is
-       ;; selected.
-       (if (string-match "->" frame-indicator)
+       (if (string-match frame-indicator-re frame-indicator)
          (setq selected-frame-num frame-num))
        ))
 
index 6ae0e01d9ab257f660f6d6cd22552e53b3735dc9..c8ed582652ca3707a4f8e85583a2a08804835c0a 100644 (file)
@@ -79,10 +79,6 @@ Nor does it touch prefix keys; for that see `dbgr-populate-keys-standard'"
   (let ((prefix-map (make-sparse-keymap)))
     (define-key map "b" 'dbgr-cmd-break)
     (define-key map " " 'dbgr-cmd-step)
-    (define-key map "<" 'dbgr-cmd-newer-frame)
-    (define-key map ">" 'dbgr-cmd-older-frame)
-    (define-key map "d" 'dbgr-cmd-newer-frame)
-    (define-key map "u" 'dbgr-cmd-older-frame)
     (define-key map "f" 'dbgr-cmd-finish)
     (define-key map "n" 'dbgr-cmd-next)
     (define-key map "q" 'dbgr-cmd-quit)
@@ -90,8 +86,17 @@ Nor does it touch prefix keys; for that see `dbgr-populate-keys-standard'"
     (define-key map "R" 'dbgr-cmd-restart)
     (define-key map "s" 'dbgr-cmd-step)
     (define-key map "!" 'dbgr-cmd-shell)
+
+    ;; FIXME: these can go to a common routine. See also shortkey.el
+    ;; and backtrace-mode.el
+    (define-key map "<" 'dbgr-cmd-newer-frame)
+    (define-key map ">" 'dbgr-cmd-older-frame)
+    (define-key map "d" 'dbgr-cmd-newer-frame)
+    (define-key map "u" 'dbgr-cmd-older-frame)
     (define-key map "C" 'dbgr-window-cmd-undisturb-src)
     (define-key map "F" 'dbgr-window-bt)
+    (define-key map "S" 'dbgr-window-src-undisturb-cmd)
+
     (define-key map [M-down]    'dbgr-track-hist-newer)
     (define-key map [M-kp-2]    'dbgr-track-hist-newer)
     (define-key map [M-up]      'dbgr-track-hist-older)
index 451fe64a449d15e004ae6d708a41c8829d413958..26b99fc713e066604d911c5ea3234173395bdce3 100644 (file)
@@ -68,6 +68,16 @@ dbgr-loc-pat struct")
   "Hash key is command name like 'quit' and the value is 
   the perldb command to use, like 'q'")
 
+(setf (gethash "font-lock-keywords" dbgr-perldb-pat-hash)
+      '(
+       ("\s+called from file `\\(.+\\)' line \\([0-9]+\\)"
+        (1 dbgr-file-name-face)
+        (2 dbgr-line-number-face))
+       ))
+
+
+(setf (gethash "perldb" dbgr-pat-hash) dbgr-perldb-pat-hash)
+
 (setf (gethash "backtrace" dbgr-perldb-command-hash) "T")
 (setf (gethash "break"     dbgr-perldb-command-hash) "b %l")
 (setf (gethash "continue"  dbgr-perldb-command-hash) "c")
@@ -79,6 +89,4 @@ dbgr-loc-pat struct")
 (setf (gethash "next"      dbgr-perldb-command-hash) "n")
 (setf (gethash "perldb" dbgr-command-hash) dbgr-perldb-command-hash)
 
-(setf (gethash "perldb" dbgr-pat-hash) dbgr-perldb-pat-hash)
-
 (provide-me "dbgr-perldb-")
index 136a3252f6c2c664416d158a3e9ea0ef4f8e5492..c9fb908b525a4c683c68c398225b6eb9c989874d 100644 (file)
@@ -55,7 +55,11 @@ dbgr-loc-pat struct")
 (defconst dbgr-remake-frame-start-regexp
   "\\(?:^\\|\n\\)")
 
-(defconst dbgr-remake-frame-arrow "\\(=>\\|  \\)")
+(defconst dbgr-remake-selected-frame-arrow "=>"
+"String that describes which frame is selected in a debugger
+backtrace listing.")
+(defconst dbgr-remake-frame-arrow (format "\\(%s\\|  \\)" 
+                                         dbgr-remake-selected-frame-arrow))
 (defconst dbgr-remake-frame-num-regexp
   "#\\([0-9]+\\)  ")
 
@@ -94,6 +98,11 @@ dbgr-loc-pat struct")
        :line-group 5)
       )
 
+;; Regular expression that describes which frame is selected in 
+;; a debugger backtrace listing.
+(setf (gethash "selected-frame-indicator" dbgr-remake-pat-hash)
+      dbgr-remake-selected-frame-arrow)
+
 (setf (gethash "font-lock-keywords" dbgr-remake-pat-hash)
       '(
        ;; ;; File name and line number
index 905713cc6c02af4ab68c928f829f690bd7a40ba2..7cb87f552a458b48154969fa7dcba0780c2a1348 100644 (file)
@@ -92,10 +92,19 @@ dbgr-loc-pat struct")
        :line-group 7)
       )
 
+(defconst dbgr-trepan-selected-frame-arrow "-->"
+"String that describes which frame is selected in a debugger
+backtrace listing.")
+
+;; Regular expression that describes which frame is selected in 
+;; a debugger backtrace listing.
+(setf (gethash "selected-frame-indicator" dbgr-trepan-pat-hash)
+      dbgr-trepan-selected-frame-arrow)
+
 (setf (gethash "font-lock-keywords" dbgr-trepan-pat-hash)
       '(
        ;; The frame number and first type name, if present.
-       ("^\\(-->\\|   \\)? #\\([0-9]+\\) \\([A-Z]+\\) *\\([A-Z_][a-zA-Z0-9_]*\\)[#]\\([a-zA-Z_][a-zA-Z_[0-9]]*\\)?"
+       (format ("^\\(%s\\|   \\)? #\\([0-9]+\\) \\([A-Z]+\\) *\\([A-Z_][a-zA-Z0-9_]*\\)[#]\\([a-zA-Z_][a-zA-Z_[0-9]]*\\)?" dbgr-trepan-selected-frame-arrow)
         (2 dbgr-backtrace-number-face)
         (3 font-lock-keyword-face)         ; e.g. METHOD, TOP
         (4 font-lock-constant-face)        ; e.g. Object