private: No


diff -c ~/b.el ~/a.el
*** ~/b.el	2021-08-19 09:44:45.059901178 -0400
--- ~/a.el	2021-08-19 09:53:28.306495818 -0400
***************
*** 23,29 ****
  
  ;;; Code:
  
- (require 'text-property-search)
  (require 'tabulated-list)
  (require 'button)
  (require 'url)
--- 23,28 ----
***************
*** 151,157 ****
    (let (boards)
      (dolist (ent sbbs-boards)
        (dolist (board (cadr ent))
!         (push (sbbs-make-board (car ent) board (caddr ent))
                boards)))
      boards))
  
--- 150,156 ----
    (let (boards)
      (dolist (ent sbbs-boards)
        (dolist (board (cadr ent))
!         (push (sbbs-make-board (car ent) board (nth 2 ent))
                boards)))
      boards))
  
***************
*** 338,345 ****
                     (propertize (sbbs--process-sxml (cdr it))
                                 'face 'sbbs--spoiler-face))
                    ((eq (car it) 'a)
!                    (let* ((text (sbbs--process-sxml (caddr it)))
!                           (link (plist-get (cadadr it) 'href)))
                       (sbbs--process-link text link)))
                    (t (prin1-to-string it)))
              processed))
--- 337,344 ----
                     (propertize (sbbs--process-sxml (cdr it))
                                 'face 'sbbs--spoiler-face))
                    ((eq (car it) 'a)
!                    (let* ((text (sbbs--process-sxml (nth 2 it)))
!                           (link (plist-get (cadr (cadr it)) 'href)))
                       (sbbs--process-link text link)))
                    (t (prin1-to-string it)))
              processed))
***************
*** 347,367 ****
  
  (defun sbbs--insert-sxml-par (sxml)
    "Insert paragraph contents SXML at point."
!   (save-restriction
!     (narrow-to-region (point) (point))
!     (insert (sbbs--process-sxml sxml))
!     (let (match)
!       (goto-char (point-min))
!       (while (setq match (text-property-search-forward 'action))
!         ;; Buttons use overlays that cannot be passed in
!         ;; strings. Therefore whenever a `activity' property was
!         ;; inserted into the buffer, `make-button' has to be called
!         ;; once more to add the actual overlay.
!         (make-button (prop-match-beginning match)
!                      (prop-match-end match)
!                      'action (prop-match-value match)))
!       (goto-char (point-max)))
!     (newline)))
  
  (defun sbbs--insert-sxml (sxml)
    "Insert top level SXML into buffer at point."
--- 346,364 ----
  
  (defun sbbs--insert-sxml-par (sxml)
    "Insert paragraph contents SXML at point."
!   (insert (sbbs--process-sxml sxml))
!   (goto-char (point-min))
!   (let (beg)
!     (while (setq beg (next-single-property-change (point) 'action))
!       ;; Buttons use overlays that cannot be passed in
!       ;; strings. Therefore whenever a `activity' property was inserted into
!       ;; the buffer, `make-button' has to be called once more to add the
!       ;; actual overlay.
!       (let ((end (or (next-single-property-change beg 'action) (point-max))))
!         (make-button beg end 'action (get-text-property beg 'action))
!         (goto-char end))))
!   (goto-char (point-max))
!   (newline))
  
  (defun sbbs--insert-sxml (sxml)
    "Insert top level SXML into buffer at point."
***************
*** 371,383 ****
            ((eq (car par) 'blockquote)
             (let ((start (point))
                   (comment-start "> "))
!              (sbbs--insert-sxml-par (cdadr par))
               (comment-region start (point))
               (add-face-text-property start (point)
                                       'font-lock-comment-face)))
            ((eq (car par) 'pre)
             (let ((start (point)))
!              (insert (propertize (cadadr par)
                                   'face 'fixed-pitch))
               (newline)
               (add-face-text-property start (point) 'sbbs--code-face)))
--- 368,380 ----
            ((eq (car par) 'blockquote)
             (let ((start (point))
                   (comment-start "> "))
!              (sbbs--insert-sxml-par (cdr (cadr par)))
               (comment-region start (point))
               (add-face-text-property start (point)
                                       'font-lock-comment-face)))
            ((eq (car par) 'pre)
             (let ((start (point)))
!              (insert (propertize (cadr (cadr par))
                                   'face 'fixed-pitch))
               (newline)
               (add-face-text-property start (point) 'sbbs--code-face)))
***************
*** 467,473 ****
                                   'face 'sbbs--variable-pitch)))
                    ent))
            (setq-local tabulated-list-entries ent)
!           (tabulated-list-print t t)
            (hl-line-highlight))))))
  
  (defun sbbs--thread-loader (status id buf range)
--- 464,472 ----
                                   'face 'sbbs--variable-pitch)))
                    ent))
            (setq-local tabulated-list-entries ent)
!           (if (version< emacs-version "26")
!               (tabulated-list-print t)
!             (tabulated-list-print t t))
            (hl-line-highlight))))))
  
  (defun sbbs--thread-loader (status id buf range)
***************
*** 485,496 ****
      (save-excursion
        (save-match-data
          (while (search-forward "#f" nil t)
!           (unless (cadddr (syntax-ppss))
              (replace-match "nil")))))
      (save-excursion
        (save-match-data
          (while (search-forward "#f" nil t)
!           (unless (cadddr (syntax-ppss))
              (replace-match "t")))))
      (let ((thread (read (current-buffer))))
        (kill-buffer)
--- 484,495 ----
      (save-excursion
        (save-match-data
          (while (search-forward "#f" nil t)
!           (unless (nth 3 (syntax-ppss))
              (replace-match "nil")))))
      (save-excursion
        (save-match-data
          (while (search-forward "#f" nil t)
!           (unless (nth 3 (syntax-ppss))
              (replace-match "t")))))
      (let ((thread (read (current-buffer))))
        (kill-buffer)

Diff finished.  Thu Aug 19 09:53:33 2021