[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

answers about dbl



 IN reply to weigerts questions about dbl and akcl.el



The code which allows you to set a break point at a particular line of
a lisp source file by typing Ctl-x #\space while in that buffer, needs
correction to allow for the case of a single line function such as:

(defun jim (x) (+ x 1))

The change to lsp/debug.lsp is included below.

The other problem mentioned was when the user has a number of
(in-package ..) statements in a file.   The gnu emacs code
akcl.el code, assumes that there is only one package per
file buffer, and it takes this from the first in-package statement
it finds.    However with cltl II more than one in-package statement
can occur.   

The fix below for akcl.el allows the user to set the gnu emacs variable
(setq search-back-for-lisp-package-p t) to mean always search back
from the current point for the package.   This will affect the M-C x
evaluation into akcl, as well as the Ctl-X space debug point setting.




*** /public/akcl/lsp/debug.lsp<buffer>	Mon Mar 30 15:28:08 1992
--- /public/akcl/lsp/debug.lsp	Mon Feb 18 13:54:01 1991
***************
*** 455,461 ****
  	  (let ((tem (symbol-function fun)))
  	    (cond ((and (consp tem)
  			(eq (car tem) 'lambda-block)
! 			(eq (third tem) (aref ar 1)))
  		   (setq li 2)))))
        (dotimes (i (f - (length ar) li))
  	       (when (not (eq (aref ar i) :blank-line))
--- 455,461 ----
  	  (let ((tem (symbol-function fun)))
  	    (cond ((and (consp tem)
  			(eq (car tem) 'lambda-block)
! 			(third tem))
  		   (setq li 2)))))
        (dotimes (i (f - (length ar) li))
  	       (when (not (eq (aref ar i) :blank-line))
***************
*** 462,468 ****
  		 (show-break-point (insert-break-point
  				    (make-break-point fun ar (f + li i))))
  		 (return-from break-function (values))))
!       (format t "~%Beyond code for ~a " fun))))
  
  (defun insert-break-point (bpt &aux at)
    (or *break-points* (init-break-points))
--- 462,468 ----
  		 (show-break-point (insert-break-point
  				    (make-break-point fun ar (f + li i))))
  		 (return-from break-function (values))))
!       (format t "~%Beyond code for ~a "))))
  
  (defun insert-break-point (bpt &aux at)
    (or *break-points* (init-break-points))


*** /public/akcl/doc/akcl.el<buffer>	Mon Mar 30 15:46:43 1992
--- /public/akcl/doc/akcl.el	Wed Nov 20 15:46:25 1991
***************
*** 35,43 ****
    (and (boundp 'remote-lisp-hook) (funcall remote-lisp-hook))
    ))
  
- 
- (defvar search-back-for-lisp-package-p nil)
- 
  ;; look at the beginning of buffer to try to find an in package statement
  (defun get-buffer-package ()
  
--- 35,40 ----
***************
*** 52,62 ****
  lisp-process."
  
    (cond ((eq lisp-package t) nil)
- 	(search-back-for-lisp-package-p
- 	 (save-excursion
- 	   (cond ((re-search-backward "^[ \t]*(in-package "  nil t)
- 		  (goto-char (match-end 0))
- 		  (read (current-buffer))))))
  	(lisp-package lisp-package)
  	(t
  	 (setq
--- 49,54 ----