[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/idlwave 15f070f9a9 107/360: - Executive command complet
From: |
ELPA Syncer |
Subject: |
[elpa] externals/idlwave 15f070f9a9 107/360: - Executive command completion and help. |
Date: |
Sun, 28 Apr 2024 00:59:14 -0400 (EDT) |
branch: externals/idlwave
commit 15f070f9a98548da3c25881f113063411eeb361e
Author: jdsmith <jdsmith>
Commit: jdsmith <jdsmith>
- Executive command completion and help.
---
idlw-shell.el | 50 +++++++++++++++++++++++++++++++++++++-------------
1 file changed, 37 insertions(+), 13 deletions(-)
diff --git a/idlw-shell.el b/idlw-shell.el
index d82ae52f0c..d5b0ec8c74 100644
--- a/idlw-shell.el
+++ b/idlw-shell.el
@@ -6,7 +6,7 @@
;; Chris Chase <chase@att.com>
;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu>
;; Version: VERSIONTAG
-;; Date: $Date: 2003/11/11 22:44:22 $
+;; Date: $Date: 2004/06/28 04:17:42 $
;; Keywords: processes
;; This file is part of GNU Emacs.
@@ -1037,9 +1037,11 @@ IDL has currently stepped.")
;; Run the hooks.
(run-hooks 'idlwave-shell-mode-hook)
(idlwave-shell-send-command idlwave-shell-initial-commands nil 'hide)
- ;; Define a system variable which knows the version of IDLWAVE
+ ;; Turn off IDL's ^d interpreting, and define a system
+ ;; variable which knows the version of IDLWAVE
(idlwave-shell-send-command
- (format "defsysv,'!idlwave_version','%s',1" idlwave-mode-version)
+ (format "defsysv,'!idlwave_version','%s',1"
+ idlwave-mode-version)
nil 'hide)
;; Get the paths if they weren't read in from file
(if (and (not idlwave-path-alist)
@@ -2095,6 +2097,8 @@ Change the default directory for the process buffer to
concur."
(setq idlwave-shell-get-object-class
(match-string 1 idlwave-shell-command-output)))))
+(defvar idlwave-sint-sysvars nil)
+(idlwave-new-sintern-type 'execcomm)
(defun idlwave-shell-complete (&optional arg)
"Do completion in the idlwave-shell buffer.
@@ -2102,15 +2106,24 @@ Calls `idlwave-shell-complete-filename' after some
executive commands or
in strings. Otherwise, calls `idlwave-complete' to complete modules and
keywords."
(interactive "P")
- (let (cmd)
+ (let (exec-cmd)
(cond
- ((setq cmd (idlwave-shell-executive-command))
+ ((and
+ (setq exec-cmd (idlwave-shell-executive-command))
+ (cdr exec-cmd)
+ (member (upcase (cdr exec-cmd))
+ '(".R" ".RU" ".RUN" ".RN" ".RNE" ".RNEW"
+ ".COM" ".COMP" ".COMPI" ".COMPIL" ".COMPILE")))
;; We are in a command line with an executive command
- (if (member (upcase cmd)
- '(".R" ".RU" ".RUN" ".RN" ".RNE" ".RNEW"
- ".COM" ".COMP" ".COMPI" ".COMPIL" ".COMPILE"))
- ;; This command expects file names
- (idlwave-shell-complete-filename)))
+ (idlwave-shell-complete-filename))
+
+ ((car-safe exec-cmd)
+ (setq idlwave-completion-help-info
+ '(idlwave-shell-complete-execcomm-help))
+ (idlwave-complete-in-buffer 'execcomm 'execcomm
+ idlwave-executive-commands-alist nil
+ "Select an executive command"
+ "system variable"))
((idlwave-shell-batch-command)
(idlwave-shell-complete-filename))
@@ -2129,6 +2142,17 @@ keywords."
;; Default completion of modules and keywords
(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)))
+ ((eq mode 'set)
+ (if entry (setq link (cdr entry)))) ;; setting dynamic variable!!!
+ (t (error "This should not happen")))))
+
(defun idlwave-shell-complete-filename (&optional arg)
"Complete a file name at point if after a file name.
We assume that we are after a file name when completing one of the
@@ -2142,8 +2166,9 @@ args of an executive .run, .rnew or .compile."
"Return the name of the current executive command, if any."
(save-excursion
(idlwave-beginning-of-statement)
- (if (looking-at "[ \t]*\\([.][^ \t\n\r]+\\)")
- (match-string 1))))
+ (cons (looking-at "[ \t]*\\.")
+ (if (looking-at "[ \t]*[.]\\([^ \t\n\r]+\\)[ \t]")
+ (match-string 1)))))
(defun idlwave-shell-filename-string ()
"Return t if in a string and after what could be a file name."
@@ -2169,7 +2194,6 @@ args of an executive .run, .rnew or .compile."
(idlwave-beginning-of-statement)
(looking-at "\\$")))
-
;; Debugging Commands ------------------------------------------------------
(defun idlwave-shell-redisplay (&optional hide)
- [elpa] externals/idlwave 1ecae9e4c5 080/360: - Fixed non-edebug entering when stepping to new routines after a, (continued)
- [elpa] externals/idlwave 1ecae9e4c5 080/360: - Fixed non-edebug entering when stepping to new routines after a, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave cbc2128b09 081/360: - Follow savannah fix, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 629d2ce5ae 085/360: - Make beg- and end- unit-reg use definitions starting on a line., ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 95e6d9030e 087/360: *** empty log message ***, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 28e40c7183 088/360: - Added localized doclib support, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 4ca15bc9d7 098/360: - Query new path info to save when using the menu item., ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 9af997eaf9 131/360: - Query shell for structure tag completion if in the shell., ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 3c675c9837 099/360: - New selection for new or old help link format ("#" vs "#wp")., ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave af15d2b430 102/360: - Initial checkin for IDLv5.6 rinfo scanner, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 730fb31d4c 104/360: - Removed in favor of get_html_rinfo, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 15f070f9a9 107/360: - Executive command completion and help.,
ELPA Syncer <=
- [elpa] externals/idlwave 69eacaa9a0 105/360: - Add option to skip certain catalogs (like CVS)., ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave f9fe85b7c8 124/360: - Support the new found-in property for supporting structure definitions, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 989e453a61 126/360: *** empty log message ***, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 88c175cb50 132/360: - Check for browse-url., ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave ba418154b0 133/360: - Doc cleanup., ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave a4b329a7e2 137/360: *** empty log message ***, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave d39d20aee6 139/360: *** empty log message ***, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 5099cbeae7 142/360: - Rename face variables to remove -face., ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave d1dbf77a1c 152/360: - Updated FSF address., ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 7948471e51 156/360: - Added use-dedicated-window to prevent *idl* window from getting, ELPA Syncer, 2024/04/28