Index: sbbs.el ================================================================== --- sbbs.el +++ sbbs.el @@ -651,22 +651,27 @@ (looking-at (concat "\\(" (regexp-quote (match-string 1)) "\\).*?" "\\(" (regexp-quote (match-string 1)) "\\)")) (replace-match "" nil nil nil 2) (replace-match "" nil nil nil 1))) -(defun sbbs-compose-create () - "Upload response or thread to board." - (interactive) +(defun sbbs-compose-create (vip) + "Upload response or thread to board. +If VIP is non-nil (or when invoked with a prefix argument), mark +the post as \"VIP\", ie. don't bump the thread." + (interactive "P") + (when (and vip sbbs--thread-id) + (user-error "A new thread cannot be VIP")) (let ((board sbbs--board) (url-request-method "POST") (url-request-extra-headers '(("Content-Type" . "application/x-www-form-urlencoded"))) (url-request-data (url-build-query-string `((epistula ,(buffer-string)) (ornamentum "") (name "") (message "") (frontpage ,(if sbbs--thread-id "true" "false")) + (vip ,(if vip "true" "false")) . ,(and (not sbbs--thread-id) `((titulus ,(read-string "Headline: "))))))) (url (if sbbs--thread-id (sbbs--board-url (format "%d/post" sbbs--thread-id)) (sbbs--board-url "/post"))))