branch: externals/idlwave commit 5abf359512a97b01d83b42e79549cb2ea8a62a36 Author: JD Smith <jdtsm...@gmail.com> Commit: JD Smith <jdtsm...@gmail.com>
Streamline multi-BP operations Don't query after each BP operation, save until the end. --- idlw-shell.el | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/idlw-shell.el b/idlw-shell.el index 2ba03da9c4..a72bad5644 100644 --- a/idlw-shell.el +++ b/idlw-shell.el @@ -2641,7 +2641,7 @@ breakpoint can not be set." (if (idlwave-shell-hide-p 'debug) 'mostly) nil t)) -(defun idlwave-shell-clear-bp (bp) +(defun idlwave-shell-clear-bp (bp &optional no-query) "Clear breakpoint BP. Clears in IDL and in `idlwave-shell-bp-alist'." (let ((index (idlwave-shell-bp-get bp))) @@ -2650,7 +2650,7 @@ Clears in IDL and in `idlwave-shell-bp-alist'." (idlwave-shell-send-command (concat "breakpoint,/clear," (int-to-string index)) nil (idlwave-shell-hide-p 'breakpoint) nil t) - (idlwave-shell-bp-query))))) + (unless no-query (idlwave-shell-bp-query)))))) (defun idlwave-shell-current-frame () "Return a list containing the current file name and line point is in. @@ -2690,7 +2690,10 @@ at a breakpoint." (defun idlwave-shell-toggle-enable-current-bp (&optional bp force no-update) - "Disable or enable current bp." + "Disable or enable current breakpoint or a breakpoint passed in BP. +If FORCE is 'disable or 'enable, for that condition instead of +toggling. If NO-UPDATE is non-nil, don't update the breakpoint +list after toggling." (interactive) (let* ((bp (or bp (idlwave-shell-find-current-bp))) (disabled (idlwave-shell-bp-get bp 'disabled))) @@ -4101,7 +4104,9 @@ list elements of the form: idlwave-shell-bp-query '(progn (idlwave-shell-filter-bp) - (mapcar 'idlwave-shell-clear-bp idlwave-shell-bp-alist)) + (mapcar (lambda (x) (idlwave-shell-clear-bp x 'no-query)) + idlwave-shell-bp-alist) + (idlwave-shell-bp-query)) 'hide)) (defun idlwave-shell-list-all-bp ()