[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 ----