[Top][All Lists]
[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 ----
- [Emacs-diffs] Changes to emacs/lisp/progmodes/idlw-shell.el,
John-David T . Smith <=