branch: externals/idlwave
commit 39e7ed969ebb08fe003b08b32b57f49b95a85237
Merge: e9431581ec 1e87b0f4c0
Author: JD Smith <jdtsm...@gmail.com>
Commit: JD Smith <jdtsm...@gmail.com>

    Merge branch 'develop'
---
 idlw-complete.el  |  9 +++------
 idlw-routine.el   | 42 +++++++++++++++++++++++++-----------------
 idlw-shell.el     |  1 +
 idlw-variables.el |  2 +-
 idlwave.texi      | 14 +++++++-------
 5 files changed, 37 insertions(+), 31 deletions(-)

diff --git a/idlw-complete.el b/idlw-complete.el
index 25a34f73ac..d512be1028 100644
--- a/idlw-complete.el
+++ b/idlw-complete.el
@@ -914,8 +914,7 @@ Restore the pre-completion window configuration if 
possible."
             t)) ; return t to skip other completions
          (t nil))))
 
-(defvar link) ;dynamic variables set by help callback
-(defvar props)
+(defvar idlwave-link) ;dynamic variables set by help callback
 (defun idlwave-complete-sysvar-help (mode word)
   (let ((word (or (nth 1 idlwave-completion-help-info) word))
        (entry (assoc word idlwave-system-variables-alist)))
@@ -923,7 +922,7 @@ Restore the pre-completion window configuration if 
possible."
      ((eq mode 'test)
       (and (stringp word) entry (nth 1 (assq 'link entry))))
      ((eq mode 'set)
-      (if entry (setq link (nth 1 (assq 'link entry))))) ;; setting dynamic!!!
+      (if entry (setq idlwave-link (nth 1 (assq 'link entry))))) ;; setting 
dynamic!!!
      (t (error "This should not happen")))))
 
 (defun idlwave-complete-sysvar-tag-help (mode word)
@@ -990,8 +989,6 @@ keywords."
       ;; Default completion of modules and keywords
       (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)))
@@ -999,7 +996,7 @@ keywords."
      ((eq mode 'test)
       (and (stringp word) entry (cdr entry)))
      ((eq mode 'set)
-      (if entry (setq link (cdr entry)))) ;; setting dynamic variable!!!
+      (if entry (setq idlwave-link (cdr entry)))) ;; setting dynamic 
variable!!!
      (t (error "This should not happen")))))
 
 (defun idlwave-shell-complete-filename (&optional nospace)
diff --git a/idlw-routine.el b/idlw-routine.el
index 0f152378c7..3ba32f825e 100644
--- a/idlw-routine.el
+++ b/idlw-routine.el
@@ -1,6 +1,7 @@
 ;; IDLWAVE Routine Information code and variables
 
-;; Format for all routine info user catalog, library catalogs, etc.:
+;; The list format for all routine info user catalog, library
+;; catalogs, etc.:
 ;;
 ;; ("ROUTINE" type class
 ;;  (system nil nil nil) | (lib pro_file dir "LIBNAME") | (user pro_file dir 
"USERLIB") |
@@ -9,11 +10,12 @@
 ;;                    ("LINKFILE2" (("KWD2" . ancorlink2) ...)) ...)
 ;;
 ;; DIR will be supplied dynamically while loading library catalogs,
-;; and is sinterned to save space, as is LIBNAME.  PRO_FILE can be a
-;; complete filepath, in which case DIR is unnecessary.  HELPFILE can
-;; be nil, as can LINKFILE, etc., if no HTML help is available for
-;; that routine.  Since keywords can be referenced in multiples files
-;; (e.g. Graphics Keywords), there are multiple keyword link lists.
+;; and is sinterned (hashed to an internal symbol) to save space, as
+;; is LIBNAME.  PRO_FILE can be a complete filepath, in which case DIR
+;; is unnecessary.  HELPFILE can be nil, as can LINKFILE, etc., if no
+;; HTML help is available for that routine.  Since keywords can be
+;; referenced in multiples files (e.g. Graphics Keywords), there are
+;; multiple keyword link lists.
 
 
 ;;----------------------------------------------------
@@ -159,6 +161,10 @@ ENTRY will also be returned, as the first item of this 
list."
        (push candidate twins))
     (cons entry (nreverse twins))))
 
+
+;; Bound in idlwave-study-twins,idlwave-routine-entry-compare-twins.
+(defvar idlwave-class)
+
 (defun idlwave-study-twins (entries)
   "Return dangerous twins of first entry in ENTRIES.  
 Dangerous twins are routines with same name, but in different files on
@@ -169,7 +175,7 @@ routines, and may have been scanned."
   (let* ((entry (car entries))
         (name (car entry))      ; 
         (type (nth 1 entry))    ; Must be bound for
-        (class (nth 2 entry))   ;  idlwave-routine-twin-compare
+        (idlwave-class (nth 2 entry))   ;  idlwave-routine-twin-compare
         (cnt 0)
         source type type-cons file alist syslibp key)
     (while (setq entry (pop entries))
@@ -237,7 +243,9 @@ names and path locations."
 (defun idlwave-routine-entry-compare-twins (a b)
   "Compare two routine entries, under the assumption that they are twins.
 This basically calls `idlwave-routine-twin-compare' with the correct args."
-  (let* ((name (car a)) (type (nth 1 a)) (class (nth 2 a)) ; needed outside
+  (let* ((name (car a)) 
+        (type (nth 1 a)) 
+        (idlwave-class (nth 2 a)) ; needed outside
         (asrc (nth 3 a))
         (atype (car asrc))
         (bsrc (nth 3 b))
@@ -253,9 +261,6 @@ This basically calls `idlwave-routine-twin-compare' with 
the correct args."
        (list btype bfile (list btype))))
     ))
 
-;; Bound in idlwave-study-twins,idlwave-routine-entry-compare-twins.
-;; FIXME: Dynamically scoped vars need to use the `idlwave-' prefix.
-(defvar class)
 
 (defun idlwave-routine-twin-compare (a b)
   "Compare two routine twin entries for sorting.
@@ -293,16 +298,19 @@ This expects NAME TYPE CLASS to be bound to the right 
values."
         ;; Look at file names
         (aname (if (stringp afile) (downcase (file-name-nondirectory afile)) 
""))
         (bname (if (stringp bfile) (downcase (file-name-nondirectory bfile)) 
""))
-        (fname-re (if class (format "\\`%s__\\(%s\\|define\\)\\.pro\\'"
-                                    (regexp-quote (downcase class))
-                                    (regexp-quote (downcase name)))
+        (fname-re (if idlwave-class (format "\\`%s__\\(%s\\|define\\)\\.pro\\'"
+                                            (regexp-quote 
+                                             (downcase idlwave-class))
+                                            (regexp-quote (downcase name)))
                     (format "\\`%s\\.pro" (regexp-quote (downcase name)))))
         ;; Is file name derived from the routine name?
         ;; Method file or class definition file?
         (anamep (string-match fname-re aname))
-        (adefp (and class anamep (string= "define" (match-string 1 aname))))
+        (adefp (and idlwave-class anamep 
+                    (string= "define" (match-string 1 aname))))
         (bnamep (string-match fname-re bname))
-        (bdefp (and class bnamep (string= "define" (match-string 1 bname)))))
+        (bdefp (and idlwave-class bnamep 
+                    (string= "define" (match-string 1 bname)))))
 
     ;; Now: follow JD's ideas about sorting.  Looks really simple now,
     ;; doesn't it?  The difficult stuff is hidden above...
@@ -314,7 +322,7 @@ This expects NAME TYPE CLASS to be bound to the right 
values."
      ((idlwave-xor acompp bcompp)      acompp) ; Compiled entries
      ((idlwave-xor apathp bpathp)      apathp) ; Library before non-library
      ((idlwave-xor anamep bnamep)      anamep) ; Correct file names first
-     ((and class anamep bnamep                  ; both file names match ->
+     ((and idlwave-class anamep bnamep          ; both file names match ->
           (idlwave-xor adefp bdefp))  bdefp)   ; __define after __method
      ((> anpath bnpath)                t)      ; Who is first on path?
      (t                                nil)))) ; Default
diff --git a/idlw-shell.el b/idlw-shell.el
index 94cff375aa..868c50d6f9 100644
--- a/idlw-shell.el
+++ b/idlw-shell.el
@@ -2413,6 +2413,7 @@ matter what the settings of that variable."
        (setq idlwave-shell-is-stopped nil)
         (if idlwave-shell-stop-line-overlay
             (delete-overlay idlwave-shell-stop-line-overlay))
+       (setq overlay-arrow-position nil)
        ;; turn off electric debug everywhere, if it's on
        (if idlwave-shell-electric-debug-buffers
            (idlwave-shell-electric-debug-all-off)))
diff --git a/idlw-variables.el b/idlw-variables.el
index 06a07ef8d4..d54ac3bbcc 100644
--- a/idlw-variables.el
+++ b/idlw-variables.el
@@ -84,7 +84,7 @@ would yield:
   :group 'idlwave-code-formatting
   :type 'boolean)
 
-(defcustom idlwave-indent-parens-nested t
+(defcustom idlwave-indent-parens-nested nil
   "*Non-nil means, indent continuation lines with parens by nesting
 lines at consecutively deeper levels."
  :group 'idlwave-code-formatting
diff --git a/idlwave.texi b/idlwave.texi
index c1bddf6476..1b79e38fbc 100644
--- a/idlwave.texi
+++ b/idlwave.texi
@@ -9,11 +9,11 @@
 @synindex ky cp
 @syncodeindex vr cp
 @syncodeindex fn cp
-@set VERSION 6.2
-@set EDITION 6.2
-@set IDLVERSION 7.1
-@set NSYSROUTINES 4346
-@set DATE June, 2009
+@set VERSION 6.5
+@set EDITION 6.5
+@set IDLVERSION 8.3
+@set NSYSROUTINES 2611
+@set DATE Februare, 2014
 @set AUTHOR J.D. Smith & Carsten Dominik
 @set MAINTAINER J.D. Smith
 @set IDLWAVEHOMEPAGE http://github.com/jdtsmith/idlwave
@@ -28,7 +28,7 @@ This is edition @value{EDITION} of the IDLWAVE User Manual 
for IDLWAVE
 @value{VERSION}
 
 Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005, 
-          2006, 2007, 2009 Free Software Foundation, Inc.
+          2006, 2007, 2009, 2013, 2014 Free Software Foundation, Inc.
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.2 or
@@ -59,7 +59,7 @@ This is edition @value{EDITION} of the @cite{IDLWAVE User 
Manual} for
 IDLWAVE version @value{VERSION}, @value{DATE}.
 @sp 2
 Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005, 
-          2006, 2007, 2009 Free Software Foundation, Inc.
+          2006, 2007, 2009, 2013, 2014 Free Software Foundation, Inc.
 @sp 2
 @cindex Copyright, of IDLWAVE
 Permission is granted to copy, distribute and/or modify this document

Reply via email to