emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/progmodes/idlw-shell.el


From: John-David T . Smith
Subject: [Emacs-diffs] Changes to emacs/lisp/progmodes/idlw-shell.el
Date: Mon, 13 Dec 2004 15:43:25 -0500

Index: emacs/lisp/progmodes/idlw-shell.el
diff -c emacs/lisp/progmodes/idlw-shell.el:3.31 
emacs/lisp/progmodes/idlw-shell.el:3.32
*** emacs/lisp/progmodes/idlw-shell.el:3.31     Thu Nov 18 05:28:03 2004
--- emacs/lisp/progmodes/idlw-shell.el  Mon Dec 13 20:35:07 2004
***************
*** 841,846 ****
--- 841,848 ----
  (defvar idlwave-shell-sources-query)
  (defvar idlwave-shell-mode-map)
  (defvar idlwave-shell-calling-stack-index)
+ (defvar idlwave-shell-only-prompt-pattern nil)
+ (defvar tool-bar-map)
  
  (defun idlwave-shell-mode ()
    "Major mode for interacting with an inferior IDL process.
***************
*** 994,1000 ****
    (setq idlwave-shell-hide-output nil)
  
    ;; NB: `make-local-hook' needed for older/alternative Emacs compatibility
!   (make-local-hook 'kill-buffer-hook)
    (add-hook 'kill-buffer-hook 'idlwave-shell-kill-shell-buffer-confirm
            nil 'local)
    (add-hook 'kill-buffer-hook 'idlwave-shell-delete-temp-files nil 'local)
--- 996,1002 ----
    (setq idlwave-shell-hide-output nil)
  
    ;; NB: `make-local-hook' needed for older/alternative Emacs compatibility
!   ;;(make-local-hook 'kill-buffer-hook)
    (add-hook 'kill-buffer-hook 'idlwave-shell-kill-shell-buffer-confirm
            nil 'local)
    (add-hook 'kill-buffer-hook 'idlwave-shell-delete-temp-files nil 'local)
***************
*** 1038,1044 ****
    (setq abbrev-mode t)
  
    ;; NB: `make-local-hook' needed for older/alternative Emacs compatibility
!   (make-local-hook 'post-command-hook)
    (add-hook 'post-command-hook 'idlwave-command-hook nil t)
  
    ;; Read the command history?
--- 1040,1046 ----
    (setq abbrev-mode t)
  
    ;; NB: `make-local-hook' needed for older/alternative Emacs compatibility
!   ;;(make-local-hook 'post-command-hook)
    (add-hook 'post-command-hook 'idlwave-command-hook nil t)
  
    ;; Read the command history?
***************
*** 1458,1464 ****
    "Return t if the shell process is running."
    (eq (process-status idlwave-shell-process-name) 'run))
  
- (defvar idlwave-shell-only-prompt-pattern nil)
  (defun idlwave-shell-filter-hidden-output (output)
    "Filter hidden output, leaving the good stuff.
  
--- 1460,1465 ----
***************
*** 1475,1480 ****
--- 1476,1482 ----
  
  (defvar idlwave-shell-hidden-output-buffer " *idlwave-shell-hidden-output*"
    "Buffer containing hidden output from IDL commands.")
+ (defvar idlwave-shell-current-state nil)
    
  (defun idlwave-shell-filter (proc string)
    "Watch for IDL prompt and filter incoming text.
***************
*** 1627,1633 ****
          (run-hooks 'idlwave-shell-sentinel-hook))
        (run-hooks 'idlwave-shell-sentinel-hook))))
  
! (defvar idlwave-shell-current-state nil)
  (defun idlwave-shell-scan-for-state ()
    "Scan for state info.  Looks for messages in output from last IDL
  command indicating where IDL has stopped. The types of messages we are
--- 1629,1683 ----
          (run-hooks 'idlwave-shell-sentinel-hook))
        (run-hooks 'idlwave-shell-sentinel-hook))))
  
! (defvar idlwave-shell-error-buffer " *idlwave-shell-errors*"
!   "Buffer containing syntax errors from IDL compilations.")
! 
! ;; FIXME: the following two variables do not currently allow line breaks
! ;; in module and file names.  I am not sure if it will be necessary to
! ;; change this.  Currently it seems to work the way it is.
! (defvar idlwave-shell-syntax-error
!   "^% Syntax error.\\s-*\n\\s-*At:\\s-*\\(.*\\),\\s-*Line\\s-*\\(.*\\)" 
!   "A regular expression to match an IDL syntax error.  
! The 1st pair matches the file name, the second pair matches the line
! number.")
! 
! (defvar idlwave-shell-other-error
!   "^% .*\n\\s-*At:\\s-*\\(.*\\),\\s-*Line\\s-*\\(.*\\)"
!   "A regular expression to match any IDL error.")
! 
! (defvar idlwave-shell-halting-error 
!   "^% .*\n\\([^%].*\n\\)*% Execution halted 
at:\\(\\s-*\\S-+\\s-*[0-9]+\\s-*.*\\)\n"
!   "A regular expression to match errors which halt execution.")
! 
! (defvar idlwave-shell-cant-continue-error 
!   "^% Can't continue from this point.\n"
!   "A regular expression to match errors stepping errors.")
! 
! (defvar idlwave-shell-file-line-message
!   (concat 
!    "\\("                                 ; program name group (1)
!    "\\$MAIN\\$\\|"                     ; main level routine
!    "\\<[a-zA-Z][a-zA-Z0-9_$:]*"          ; start with a letter followed by 
[..]
!    "\\([ \t]*\n[ \t]*[a-zA-Z0-9_$:]+\\)*"; continuation lines program name (2)
!    "\\)"                                 ; end program name group (1)
!    "[ \t\n]+"                            ; white space
!    "\\("                                 ; line number group (3)
!    "[0-9]+"                              ; the line number (the fix point)
!    "\\([ \t]*\n[ \t]*[0-9]+\\)*"         ; continuation lines number (4)
!    "\\)"                                 ; end line number group (3)
!    "[ \t\n]+"                            ; white space
!    "\\("                                 ; file name group (5)
!    "[^ \t\n]+"                           ; file names can contain any 
non-white
!    "\\([ \t]*\n[ \t]*[^ \t\n]+\\)*"      ; continuation lines file name (6)
!    "\\)"                                 ; end line number group (5)
!    )
!   "*A regular expression to parse out the file name and line number.
! The 1st group should match the subroutine name.  
! The 3rd group is the line number.
! The 5th group is the file name.
! All parts may contain linebreaks surrounded by spaces.  This is important
! in IDL5 which inserts random linebreaks in long module and file names.")
! 
  (defun idlwave-shell-scan-for-state ()
    "Scan for state info.  Looks for messages in output from last IDL
  command indicating where IDL has stopped. The types of messages we are
***************
*** 1721,1775 ****
       ;; Otherwise, no particular state
       (t (setq idlwave-shell-current-state nil)))))
  
- (defvar idlwave-shell-error-buffer " *idlwave-shell-errors*"
-   "Buffer containing syntax errors from IDL compilations.")
- 
- ;; FIXME: the following two variables do not currently allow line breaks
- ;; in module and file names.  I am not sure if it will be necessary to
- ;; change this.  Currently it seems to work the way it is.
- (defvar idlwave-shell-syntax-error
-   "^% Syntax error.\\s-*\n\\s-*At:\\s-*\\(.*\\),\\s-*Line\\s-*\\(.*\\)" 
-   "A regular expression to match an IDL syntax error.  
- The 1st pair matches the file name, the second pair matches the line
- number.")
- 
- (defvar idlwave-shell-other-error
-   "^% .*\n\\s-*At:\\s-*\\(.*\\),\\s-*Line\\s-*\\(.*\\)"
-   "A regular expression to match any IDL error.")
- 
- (defvar idlwave-shell-halting-error 
-   "^% .*\n\\([^%].*\n\\)*% Execution halted 
at:\\(\\s-*\\S-+\\s-*[0-9]+\\s-*.*\\)\n"
-   "A regular expression to match errors which halt execution.")
- 
- (defvar idlwave-shell-cant-continue-error 
-   "^% Can't continue from this point.\n"
-   "A regular expression to match errors stepping errors.")
- 
- (defvar idlwave-shell-file-line-message
-   (concat 
-    "\\("                                 ; program name group (1)
-    "\\$MAIN\\$\\|"                     ; main level routine
-    "\\<[a-zA-Z][a-zA-Z0-9_$:]*"          ; start with a letter followed by 
[..]
-    "\\([ \t]*\n[ \t]*[a-zA-Z0-9_$:]+\\)*"; continuation lines program name (2)
-    "\\)"                                 ; end program name group (1)
-    "[ \t\n]+"                            ; white space
-    "\\("                                 ; line number group (3)
-    "[0-9]+"                              ; the line number (the fix point)
-    "\\([ \t]*\n[ \t]*[0-9]+\\)*"         ; continuation lines number (4)
-    "\\)"                                 ; end line number group (3)
-    "[ \t\n]+"                            ; white space
-    "\\("                                 ; file name group (5)
-    "[^ \t\n]+"                           ; file names can contain any 
non-white
-    "\\([ \t]*\n[ \t]*[^ \t\n]+\\)*"      ; continuation lines file name (6)
-    "\\)"                                 ; end line number group (5)
-    )
-   "*A regular expression to parse out the file name and line number.
- The 1st group should match the subroutine name.  
- The 3rd group is the line number.
- The 5th group is the file name.
- All parts may contain linebreaks surrounded by spaces.  This is important
- in IDL5 which inserts random linebreaks in long module and file names.")
- 
  (defun idlwave-shell-parse-line (string &optional skip-main)
    "Parse IDL message for the subroutine, file name and line number.
  We need to work hard here to remove the stupid line breaks inserted by
--- 1771,1776 ----
***************
*** 2102,2109 ****
         'hide 'wait)
        ;; If we don't know anything about the class, update shell routines
        (if (and idlwave-shell-get-object-class
!              (not (assoc-ignore-case idlwave-shell-get-object-class
!                                      (idlwave-class-alist))))
          (idlwave-shell-maybe-update-routine-info))
        idlwave-shell-get-object-class)))
  
--- 2103,2110 ----
         'hide 'wait)
        ;; If we don't know anything about the class, update shell routines
        (if (and idlwave-shell-get-object-class
!              (not (assoc-string idlwave-shell-get-object-class
!                                 (idlwave-class-alist) t)))
          (idlwave-shell-maybe-update-routine-info))
        idlwave-shell-get-object-class)))
  
***************
*** 2165,2173 ****
        (idlwave-complete arg)))))
  
  ;; Get rid of opaque dynamic variable passing of link?
  (defun idlwave-shell-complete-execcomm-help (mode word)
    (let ((word (or (nth 1 idlwave-completion-help-info) word))
!       (entry (assoc-ignore-case word idlwave-executive-commands-alist)))
      (cond
       ((eq mode 'test)
        (and (stringp word) entry (cdr entry)))
--- 2166,2175 ----
        (idlwave-complete arg)))))
  
  ;; Get rid of opaque dynamic variable passing of link?
+ (defvar link) ;dynamic variable
  (defun idlwave-shell-complete-execcomm-help (mode word)
    (let ((word (or (nth 1 idlwave-completion-help-info) word))
!       (entry (assoc-string word idlwave-executive-commands-alist t)))
      (cond
       ((eq mode 'test)
        (and (stringp word) entry (cdr entry)))
***************
*** 3517,3522 ****
--- 3519,3525 ----
  
  (defvar idlwave-shell-bp-overlays nil
    "Alist of overlays marking breakpoints")
+ (defvar idlwave-shell-bp-glyph)
  
  (defun idlwave-shell-update-bp-overlays ()
    "Update the overlays which mark breakpoints in the source code.
***************
*** 3605,3611 ****
                  (set-window-buffer win buf))))))))
  
  
- (defvar idlwave-shell-bp-glyph)
  (defun idlwave-shell-make-new-bp-overlay (&optional type disabled help)
    "Make a new overlay for highlighting breakpoints.  
  
--- 3608,3613 ----
***************
*** 4026,4032 ****
                   '(alt))))
         (shift (memq 'shift mod))
         (mod-noshift (delete 'shift (copy-sequence mod)))
!        s k1 c2 k2 cmd cannotshift)
    (while (setq s (pop specs))
      (setq k1  (nth 0 s)
          c2  (nth 1 s)
--- 4028,4034 ----
                   '(alt))))
         (shift (memq 'shift mod))
         (mod-noshift (delete 'shift (copy-sequence mod)))
!        s k1 c2 k2 cmd electric only-buffer cannotshift)
    (while (setq s (pop specs))
      (setq k1  (nth 0 s)
          c2  (nth 1 s)
***************
*** 4089,4094 ****
--- 4091,4100 ----
      (setq idlwave-shell-suppress-electric-debug nil))
    (idlwave-shell-electric-debug-mode))
  
+ (defvar idlwave-shell-electric-debug-mode) ; defined by easy-mmode
+ (defvar idlwave-shell-electric-debug-read-only) 
+ (defvar idlwave-shell-electric-debug-buffers nil)
+ 
  (easy-mmode-define-minor-mode idlwave-shell-electric-debug-mode
    "Toggle Electric Debug mode.
  With no argument, this command toggles the mode. 
***************
*** 4138,4144 ****
    (force-mode-line-update))
  
  ;; Turn it off in all relevant buffers
- (defvar idlwave-shell-electric-debug-buffers nil)
  (defun idlwave-shell-electric-debug-all-off ()
    (setq idlwave-shell-suppress-electric-debug nil)
    (let ((buffers idlwave-shell-electric-debug-buffers)
--- 4144,4149 ----




reply via email to

[Prev in Thread] Current Thread [Next in Thread]