aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/progmodes
diff options
context:
space:
mode:
authorKaroly Lorentey2006-05-05 10:30:28 +0000
committerKaroly Lorentey2006-05-05 10:30:28 +0000
commitf6cf85ac95e469835a2643024f995b471a4c5d52 (patch)
treec6b094a9b60e6234ad97323789283f431fe02e26 /lisp/progmodes
parentc044516d384ff70e820686d4e995dcc23ee22e6f (diff)
parent54e573e6f6f76c59e958cc20840dc3b57e72ee0a (diff)
downloademacs-f6cf85ac95e469835a2643024f995b471a4c5d52.tar.gz
emacs-f6cf85ac95e469835a2643024f995b471a4c5d52.zip
Merged from emacs@sv.gnu.org
Patches applied: * emacs@sv.gnu.org/emacs--devo--0--patch-263 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-264 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-265 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/gnus--rel--5.10--patch-99 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-100 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-555
Diffstat (limited to 'lisp/progmodes')
-rw-r--r--lisp/progmodes/gdb-ui.el8
-rw-r--r--lisp/progmodes/gud.el114
-rw-r--r--lisp/progmodes/perl-mode.el5
3 files changed, 61 insertions, 66 deletions
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index 4b3202c6e41..28fcb70bb8b 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -114,8 +114,6 @@ Set to \"main\" at start if gdb-show-main is t.")
114Each element has the form (VARNUM EXPRESSION NUMCHILD TYPE VALUE STATUS FP) 114Each element has the form (VARNUM EXPRESSION NUMCHILD TYPE VALUE STATUS FP)
115where STATUS is nil (unchanged), `changed' or `out-of-scope', FP the frame 115where STATUS is nil (unchanged), `changed' or `out-of-scope', FP the frame
116address for root variables.") 116address for root variables.")
117(defvar gdb-force-update t
118 "Non-nil means that view of watch expressions will be updated in the speedbar.")
119(defvar gdb-main-file nil "Source file from which program execution begins.") 117(defvar gdb-main-file nil "Source file from which program execution begins.")
120(defvar gdb-overlay-arrow-position nil) 118(defvar gdb-overlay-arrow-position nil)
121(defvar gdb-server-prefix nil) 119(defvar gdb-server-prefix nil)
@@ -527,7 +525,6 @@ With arg, use separate IO iff arg is positive."
527 gdb-current-language nil 525 gdb-current-language nil
528 gdb-frame-number nil 526 gdb-frame-number nil
529 gdb-var-list nil 527 gdb-var-list nil
530 gdb-force-update t
531 gdb-main-file nil 528 gdb-main-file nil
532 gdb-first-post-prompt t 529 gdb-first-post-prompt t
533 gdb-prompting nil 530 gdb-prompting nil
@@ -1381,7 +1378,6 @@ happens to be appropriate."
1381 ;; FIXME: with GDB-6 on Darwin, this might very well work. 1378 ;; FIXME: with GDB-6 on Darwin, this might very well work.
1382 ;; Only needed/used with speedbar/watch expressions. 1379 ;; Only needed/used with speedbar/watch expressions.
1383 (when (and (boundp 'speedbar-frame) (frame-live-p speedbar-frame)) 1380 (when (and (boundp 'speedbar-frame) (frame-live-p speedbar-frame))
1384 (setq gdb-force-update t)
1385 (if (string-equal gdb-version "pre-6.4") 1381 (if (string-equal gdb-version "pre-6.4")
1386 (gdb-var-update) 1382 (gdb-var-update)
1387 (gdb-var-update-1))))) 1383 (gdb-var-update-1)))))
@@ -3166,7 +3162,9 @@ BUFFER nil or omitted means use the current buffer."
3166 (if (and (match-string 3) gud-overlay-arrow-position) 3162 (if (and (match-string 3) gud-overlay-arrow-position)
3167 (let ((buffer (marker-buffer gud-overlay-arrow-position)) 3163 (let ((buffer (marker-buffer gud-overlay-arrow-position))
3168 (position (marker-position gud-overlay-arrow-position))) 3164 (position (marker-position gud-overlay-arrow-position)))
3169 (when (and buffer (string-equal (buffer-name buffer) (match-string 3))) 3165 (when (and buffer
3166 (string-equal (buffer-name buffer)
3167 (file-name-nondirectory (match-string 3))))
3170 (with-current-buffer buffer 3168 (with-current-buffer buffer
3171 (setq fringe-indicator-alist 3169 (setq fringe-indicator-alist
3172 (if (string-equal gdb-frame-number "0") 3170 (if (string-equal gdb-frame-number "0")
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index 11259aa3965..5be88668353 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -49,7 +49,6 @@
49(defvar gdb-macro-info) 49(defvar gdb-macro-info)
50(defvar gdb-server-prefix) 50(defvar gdb-server-prefix)
51(defvar gdb-show-changed-values) 51(defvar gdb-show-changed-values)
52(defvar gdb-force-update)
53(defvar gdb-var-list) 52(defvar gdb-var-list)
54(defvar gdb-speedbar-auto-raise) 53(defvar gdb-speedbar-auto-raise)
55(defvar tool-bar-map) 54(defvar tool-bar-map)
@@ -442,37 +441,55 @@ required by the caller."
442 (buffer-name gud-comint-buffer)) 441 (buffer-name gud-comint-buffer))
443 (let* ((minor-mode (with-current-buffer buffer gud-minor-mode)) 442 (let* ((minor-mode (with-current-buffer buffer gud-minor-mode))
444 (window (get-buffer-window (current-buffer) 0)) 443 (window (get-buffer-window (current-buffer) 0))
444 (start (window-start window))
445 (p (window-point window))) 445 (p (window-point window)))
446 (cond 446 (cond
447 ((memq minor-mode '(gdbmi gdba)) 447 ((memq minor-mode '(gdbmi gdba))
448 (when (or gdb-force-update 448 (erase-buffer)
449 (not (save-excursion 449 (insert "Watch Expressions:\n")
450 (goto-char (point-min)) 450 (if gdb-speedbar-auto-raise
451 (looking-at "Watch Expressions:")))) 451 (raise-frame speedbar-frame))
452 (erase-buffer) 452 (let ((var-list gdb-var-list) parent)
453 (insert "Watch Expressions:\n") 453 (while var-list
454 (if gdb-speedbar-auto-raise 454 (let* (char (depth 0) (start 0) (var (car var-list))
455 (raise-frame speedbar-frame)) 455 (varnum (car var)) (expr (nth 1 var))
456 (let ((var-list gdb-var-list) parent) 456 (type (nth 3 var)) (value (nth 4 var))
457 (while var-list 457 (status (nth 5 var)))
458 (let* (char (depth 0) (start 0) (var (car var-list)) 458 (put-text-property
459 (varnum (car var)) (expr (nth 1 var)) 459 0 (length expr) 'face font-lock-variable-name-face expr)
460 (type (nth 3 var)) (value (nth 4 var)) 460 (put-text-property
461 (status (nth 5 var))) 461 0 (length type) 'face font-lock-type-face type)
462 (put-text-property 462 (while (string-match "\\." varnum start)
463 0 (length expr) 'face font-lock-variable-name-face expr) 463 (setq depth (1+ depth)
464 (put-text-property 464 start (1+ (match-beginning 0))))
465 0 (length type) 'face font-lock-type-face type) 465 (if (eq depth 0) (setq parent nil))
466 (while (string-match "\\." varnum start) 466 (if (or (equal (nth 2 var) "0")
467 (setq depth (1+ depth) 467 (and (equal (nth 2 var) "1")
468 start (1+ (match-beginning 0)))) 468 (string-match "char \\*$" type)))
469 (if (eq depth 0) (setq parent nil)) 469 (speedbar-make-tag-line
470 (if (or (equal (nth 2 var) "0") 470 'bracket ?? nil nil
471 (and (equal (nth 2 var) "1") 471 (concat expr "\t" value)
472 (string-match "char \\*$" type))) 472 (if (or parent (eq status 'out-of-scope))
473 nil 'gdb-edit-value)
474 nil
475 (if gdb-show-changed-values
476 (or parent (case status
477 (changed 'font-lock-warning-face)
478 (out-of-scope 'shadow)
479 (t t)))
480 t)
481 depth)
482 (if (eq status 'out-of-scope) (setq parent 'shadow))
483 (if (and (nth 1 var-list)
484 (string-match (concat varnum "\\.")
485 (car (nth 1 var-list))))
486 (setq char ?-)
487 (setq char ?+))
488 (if (string-match "\\*$" type)
473 (speedbar-make-tag-line 489 (speedbar-make-tag-line
474 'bracket ?? nil nil 490 'bracket char
475 (concat expr "\t" value) 491 'gdb-speedbar-expand-node varnum
492 (concat expr "\t" type "\t" value)
476 (if (or parent (eq status 'out-of-scope)) 493 (if (or parent (eq status 'out-of-scope))
477 nil 'gdb-edit-value) 494 nil 'gdb-edit-value)
478 nil 495 nil
@@ -483,37 +500,15 @@ required by the caller."
483 (t t))) 500 (t t)))
484 t) 501 t)
485 depth) 502 depth)
486 (if (eq status 'out-of-scope) (setq parent 'shadow)) 503 (speedbar-make-tag-line
487 (if (and (nth 1 var-list) 504 'bracket char
488 (string-match (concat varnum "\\.") 505 'gdb-speedbar-expand-node varnum
489 (car (nth 1 var-list)))) 506 (concat expr "\t" type)
490 (setq char ?-) 507 nil nil
491 (setq char ?+)) 508 (if (and (or parent status) gdb-show-changed-values)
492 (if (string-match "\\*$" type) 509 'shadow t)
493 (speedbar-make-tag-line 510 depth))))
494 'bracket char 511 (setq var-list (cdr var-list)))))
495 'gdb-speedbar-expand-node varnum
496 (concat expr "\t" type "\t" value)
497 (if (or parent (eq status 'out-of-scope))
498 nil 'gdb-edit-value)
499 nil
500 (if gdb-show-changed-values
501 (or parent (case status
502 (changed 'font-lock-warning-face)
503 (out-of-scope 'shadow)
504 (t t)))
505 t)
506 depth)
507 (speedbar-make-tag-line
508 'bracket char
509 'gdb-speedbar-expand-node varnum
510 (concat expr "\t" type)
511 nil nil
512 (if (and (or parent status) gdb-show-changed-values)
513 'shadow t)
514 depth))))
515 (setq var-list (cdr var-list))))
516 (setq gdb-force-update nil)))
517 (t (unless (and (save-excursion 512 (t (unless (and (save-excursion
518 (goto-char (point-min)) 513 (goto-char (point-min))
519 (looking-at "Current Stack:")) 514 (looking-at "Current Stack:"))
@@ -544,6 +539,7 @@ required by the caller."
544 (t (error "Should never be here"))) 539 (t (error "Should never be here")))
545 frame t)))) 540 frame t))))
546 (setq gud-last-speedbar-stackframe gud-last-last-frame)))) 541 (setq gud-last-speedbar-stackframe gud-last-last-frame))))
542 (set-window-start window start)
547 (set-window-point window p)))) 543 (set-window-point window p))))
548 544
549 545
diff --git a/lisp/progmodes/perl-mode.el b/lisp/progmodes/perl-mode.el
index e92bb1053a6..950e0cba06f 100644
--- a/lisp/progmodes/perl-mode.el
+++ b/lisp/progmodes/perl-mode.el
@@ -923,8 +923,9 @@ Returns new value of point in all cases."
923 (or arg (setq arg 1)) 923 (or arg (setq arg 1))
924 (if (< arg 0) (forward-char 1)) 924 (if (< arg 0) (forward-char 1))
925 (and (/= arg 0) 925 (and (/= arg 0)
926 (re-search-backward "^\\s(\\|^\\s-*sub\\b[^{]+{\\|^\\s-*format\\b[^=]*=\\|^\\." 926 (re-search-backward
927 nil 'move arg) 927 "^\\s(\\|^\\s-*sub\\b[ \t\n]*\\_<[^{]+{\\|^\\s-*format\\b[^=]*=\\|^\\."
928 nil 'move arg)
928 (goto-char (1- (match-end 0)))) 929 (goto-char (1- (match-end 0))))
929 (point)) 930 (point))
930 931