567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
|
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
|
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
|
(sbbs--limit-to-range (cdar sbbs--limit-stack) t)
(when point (goto-char point))))))
(defun sbbs-show-replies ()
"Show all posts responding to post at point."
(interactive)
(let ((nr (get-text-property (point) 'sbbs-thread-nr))
(point (point)) overlay range)
(while (setq overlay (next-button point))
(when (memq nr (overlay-get overlay 'sbbs-ref))
(push (get-text-property (overlay-start overlay)
'sbbs-thread-nr)
range))
(setq point (overlay-end overlay)))
overlay range)
(save-excursion
(while (setq overlay (next-button (point)))
(let ((refs (get-text-property (overlay-start overlay)
'sbbs-ref)))
(when (memq nr refs)
(push (get-text-property (overlay-start overlay)
'sbbs-thread-nr)
range)))
(goto-char (overlay-end overlay))))
(if range
(sbbs--limit-to-range range)
(message "No posts referencing %d" nr))))
(defun sbbs-view-open (id &optional range)
"Open thread ID in new buffer.
If RANGE is nil, display all posts. If range is a list, display
|