Function: idlwave-shell-get-path-info

idlwave-shell-get-path-info is a byte-compiled function defined in idlw-shell.el.gz.

Signature

(idlwave-shell-get-path-info &optional NO-WRITE)

Documentation

Get the path lists, writing to file unless NO-WRITE is set.

Source Code

;; Defined in /usr/src/emacs/lisp/obsolete/idlw-shell.el.gz
(defun idlwave-shell-get-path-info (&optional no-write)
  "Get the path lists, writing to file unless NO-WRITE is set."
  (let* ((rpl (idlwave-shell-path-filter))
	 (sysdir (car rpl))
	 (dirs (cdr rpl))
	 (old-path-alist idlwave-path-alist)
	 (old-sys-dir idlwave-system-directory)
	 path-changed sysdir-changed)
    (when sysdir
      (setq idlwave-system-directory sysdir)
      (if (setq sysdir-changed
		(not (string= idlwave-system-directory old-sys-dir)))
	  (put 'idlwave-system-directory 'from-shell t)))
    ;; Preserve any existing flags
    (setq idlwave-path-alist
	  (mapcar (lambda (x)
		    (let ((old-entry (assoc x old-path-alist)))
		      (if old-entry
			  (cons x (cdr old-entry))
			(list x))))
		  dirs))
    (if (setq path-changed (not (equal idlwave-path-alist old-path-alist)))
	(put 'idlwave-path-alist 'from-shell t))
    (if idlwave-path-alist
	(if (and (not no-write)
		 idlwave-auto-write-paths
		 (or sysdir-changed path-changed)
		 (not idlwave-library-path))
	    (idlwave-write-paths))
      ;; Fall back
      (setq idlwave-path-alist old-path-alist))))