Overview
Comment: | added sbbs-show-replies |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | master | trunk |
Files: | files | file ages | folders |
SHA3-256: |
8395dc00118b3c6c3987b56bb60d0b87 |
User & Date: | philip@warpmail.net on 2020-04-24 08:40:00 |
Other Links: | branch diff | manifest | tags |
Context
2020-04-24
| ||
09:30 | show spoilers when point is on one check-in: 5794890443 user: philip@warpmail.net tags: master, trunk | |
08:40 | added sbbs-show-replies check-in: 8395dc0011 user: philip@warpmail.net tags: master, trunk | |
2020-03-17
| ||
12:31 | implemented fontification in compose buffer check-in: 45803d5d77 user: philip@warpmail.net tags: master, trunk | |
Changes
Modified sbbs.el from [4c0b868675] to [dd4c4f4886].
︙ | ︙ | |||
209 210 211 212 213 214 215 | (unless (memq (get-text-property (point) 'sbbs-thread-nr) spec) (add-text-properties (point) last '(invisible t intangible t))) (setq last (point))))) (goto-char (point-min)) (when spec | | | 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 | (unless (memq (get-text-property (point) 'sbbs-thread-nr) spec) (add-text-properties (point) last '(invisible t intangible t))) (setq last (point))))) (goto-char (point-min)) (when spec (sbbs--read-jump-to (apply #'min spec))) (let ((point (point))) (when sbbs-jump-to-link (forward-button 1) (when (invisible-p (point)) (goto-char point))))))) (defun sbbs--insert-link (text link) |
︙ | ︙ | |||
249 250 251 252 253 254 255 | (sbbs-view-open id range))) ;; other thread ((/= id sbbs--thread-id) (let ((sbbs--board board)) (sbbs-view-open id range))) ;; this thread (range (sbbs--limit-to-range range)))))) | | | 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 | (sbbs-view-open id range))) ;; other thread ((/= id sbbs--thread-id) (let ((sbbs--board board)) (sbbs-view-open id range))) ;; this thread (range (sbbs--limit-to-range range)))))) (insert-button text 'action func 'sbbs-ref range))))) (defun sbbs--insert-sxml-par (sxml) "Insert paragraph contents SXML at point." (dolist (it sxml) (cond ((stringp it) (insert (propertize it 'face 'variable-pitch))) ((eq (car it) 'br) |
︙ | ︙ | |||
389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 | (defun sbbs-show-pop (&optional n) "Show all hidden posts. A prefix argument N, repeats this N times. If negative or zero, pop all the way up." (interactive "P") (let ((n (or n 1))) (dotimes (_ (if (> n 0) n (length sbbs--limit-stack))) (let ((point (car (pop sbbs--limit-stack)))) (sbbs--limit-to-range (cdar sbbs--limit-stack) t) (when point (goto-char point)))))) (defun sbbs-view-open (id &optional range) "Open thread ID in new buffer." (interactive (list (tabulated-list-get-id))) (let ((url (sbbs--board-url (format "/%d" id) t)) (headline (or (and (not (tabulated-list-get-entry)) header-line-format) (substring-no-properties | > > > > > > > > > > > > > > > > > | 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 | (defun sbbs-show-pop (&optional n) "Show all hidden posts. A prefix argument N, repeats this N times. If negative or zero, pop all the way up." (interactive "P") (let ((n (or n 1))) (unless sbbs--limit-stack (message "Nothing left to pop")) (dotimes (_ (if (> n 0) n (length sbbs--limit-stack))) (let ((point (car (pop sbbs--limit-stack)))) (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))) (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." (interactive (list (tabulated-list-get-id))) (let ((url (sbbs--board-url (format "/%d" id) t)) (headline (or (and (not (tabulated-list-get-entry)) header-line-format) (substring-no-properties |
︙ | ︙ | |||
548 549 550 551 552 553 554 555 556 557 558 559 560 561 | (define-key map (kbd "<tab>") #'forward-button) (define-key map (kbd "<backtab>") #'backward-button) (define-key map (kbd "r") #'sbbs-read-reply) (define-key map (kbd "n") #'sbbs-read-next) (define-key map (kbd "p") #'sbbs-read-previous) (define-key map (kbd "a") #'sbbs-show-pop) (define-key map (kbd "A") #'sbbs-show-all) map)) (define-derived-mode sbbs-read-mode special-mode "SchemeBBS Read" "Major mode for reading a thread." (buffer-disable-undo) (visual-line-mode t) (setq-local revert-buffer-function #'sbbs--reload-thread)) | > | 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 | (define-key map (kbd "<tab>") #'forward-button) (define-key map (kbd "<backtab>") #'backward-button) (define-key map (kbd "r") #'sbbs-read-reply) (define-key map (kbd "n") #'sbbs-read-next) (define-key map (kbd "p") #'sbbs-read-previous) (define-key map (kbd "a") #'sbbs-show-pop) (define-key map (kbd "A") #'sbbs-show-all) (define-key map (kbd "f") #'sbbs-show-replies) map)) (define-derived-mode sbbs-read-mode special-mode "SchemeBBS Read" "Major mode for reading a thread." (buffer-disable-undo) (visual-line-mode t) (setq-local revert-buffer-function #'sbbs--reload-thread)) |
︙ | ︙ |