Function: idlwave-shell-set-bp-in-module

idlwave-shell-set-bp-in-module is a byte-compiled function defined in idlw-shell.el.gz.

Signature

(idlwave-shell-set-bp-in-module NAME TYPE CLASS)

Documentation

Set breakpoint in module.

Assumes that idlwave-shell-sources-alist contains an entry for that module.

Source Code

;; Defined in /usr/src/emacs/lisp/obsolete/idlw-shell.el.gz
(defun idlwave-shell-set-bp-in-module (name type class)
  "Set breakpoint in module.
Assumes that `idlwave-shell-sources-alist' contains an entry for that module."
  (let* ((module (idlwave-make-full-name class name))
	 (source-file
	  (car-safe (cdr-safe
		     (or
		      (assoc (upcase module)
			     idlwave-shell-sources-alist)
		      (nth 3 (idlwave-best-rinfo-assoc name type class
						       (idlwave-routines)))))))
	 buf)
    (if (or (not source-file)
	    (not (file-regular-p source-file))
	    (not (setq buf
                       (or (find-buffer-visiting source-file)
			   (find-file-noselect source-file)))))
	(progn
	  (message "The source file for module %s is probably not compiled"
		   module)
	  (beep))
      (with-current-buffer buf
	(save-excursion
	  (goto-char (point-min))
	  (let ((case-fold-search t))
	    (if (re-search-forward
		 (concat "^[ \t]*\\(pro\\|function\\)[ \t]+"
			 (downcase module)
			 "[ \t\n,]") nil t)
		(progn
		  (goto-char (match-beginning 1))
		  (message "Setting breakpoint for module %s" module)
		  (idlwave-shell-break-here))
	      (message "Cannot find module %s in file %s" module source-file)
	      (beep))))))))