@@ -652,11 +652,15 @@ "\\(" (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"))) @@ -664,8 +668,9 @@ (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))