Function: gdb-put-breakpoint-icon
gdb-put-breakpoint-icon is a byte-compiled function defined in
gdb-mi.el.gz.
Signature
(gdb-put-breakpoint-icon ENABLED BPTNO &optional LINE)
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/gdb-mi.el.gz
(defun gdb-put-breakpoint-icon (enabled bptno &optional line)
(let* ((posns (gdb-line-posns (or line (line-number-at-pos))))
(start (- (car posns) 1))
(end (+ (cdr posns) 1))
(putstring (make-string 1 (if enabled ?B ?b)))
(source-window (get-buffer-window (current-buffer) 0)))
(add-text-properties
0 1 '(help-echo "mouse-1: clear bkpt, mouse-3: enable/disable bkpt")
putstring)
(if enabled
(add-text-properties
0 1 `(gdb-bptno ,bptno gdb-enabled t) putstring)
(add-text-properties
0 1 `(gdb-bptno ,bptno gdb-enabled nil) putstring))
(gdb-remove-breakpoint-icons start end)
(if (display-images-p)
(if (>= (or left-fringe-width
(if source-window (car (window-fringes source-window)))
gdb-buffer-fringe-width) 8)
(gdb-put-string
nil (1+ start)
`(left-fringe breakpoint
,(if enabled
'breakpoint-enabled
'breakpoint-disabled))
'gdb-bptno bptno
'gdb-enabled enabled)
(when (< left-margin-width 2)
(save-current-buffer
(setq left-margin-width 2)
(if source-window
(set-window-margins
source-window
left-margin-width right-margin-width))))
(put-image
(if enabled
(or breakpoint-enabled-icon
(setq breakpoint-enabled-icon
(find-image `((:type xpm :data
,breakpoint-xpm-data
:ascent 100 :pointer hand)
(:type pbm :data
,breakpoint-enabled-pbm-data
:ascent 100 :pointer hand)))))
(or breakpoint-disabled-icon
(setq breakpoint-disabled-icon
(find-image `((:type xpm :data
,breakpoint-xpm-data
:conversion disabled
:ascent 100 :pointer hand)
(:type pbm :data
,breakpoint-disabled-pbm-data
:ascent 100 :pointer hand))))))
(+ start 1)
putstring
'left-margin))
(when (< left-margin-width 2)
(save-current-buffer
(setq left-margin-width 2)
(let ((window (get-buffer-window (current-buffer) 0)))
(if window
(set-window-margins
window left-margin-width right-margin-width)))))
(gdb-put-string
(propertize putstring
'face (if enabled
'breakpoint-enabled 'breakpoint-disabled))
(1+ start)))))