Commit 49d78612 authored by David Byers's avatar David Byers
Browse files

Kommandon för att begära läsbekräftelse, personliga svar och inga kommentarer.

parent 40b26bee
1999-08-21 David Byers <davby@ida.liu.se>
* commands2.el (kom-add-private-answer): New function.
(kom-add-request-confirm): New function.
* aux-items.el (lyskom-match-aux-items): New function.
* lyskom-rest.el (j-or-n-p): Allow a symbol for the prompt.
* commands2.el (kom-add-no-comments): New command.
1999-08-14 David Byers <davby@ida.liu.se>
* vars.el.in (kom-show-week-number): New variable.
......
......@@ -7,57 +7,6 @@ Att g
listan, glöm inte att ta bort det från listan!
ceder sez att vid återse omodifierat borde man visa aux-items
(creating-software) som man normalt skulle skippa.
Kolla strängar där noll är passivt medlemskap.
PRIORITERA
Funktioner:
Endast läsa senaste i alla markerade möten.
Läs från ett visst datum i alla markerade.
Samma som i förra prioritera.
Uppdatera all information.
Ändra namn på möte.
VIKTIGT!!!!
Medlemskapen kan komma från servern i godtycklig ordning. Det vore
trevligt att sortera om dem när de kommer, men det blir för svårt. Det
finns för många sätt för medlemskapen att hamna fel.
Prioritera möten måste sortera om mötena.
När man går med i ett möte borde det läggas in i någorlunda sorterad
ordning.
Klienten borde kunna upptäcka att medlemskapslistan är osorterad och
sortera den automatiskt, till exempel vis inloggning (efter prefetchen
är klar.)
När man accepterar en inbjudan borde man automatiskt prioritera om den
enligt ens defaultprioritet och defaultposition.
Addera medlem måste se till att ens membership-cache inte blir
felordnad.
Addera medlems defaultposition (first/last) måste se till att det är
inom en prioritet.
Kommandon: begär bekräftelse, endast personliga kommentarer, inga
kommentarer. Se inlägg 4089678.
......@@ -99,17 +48,23 @@ bilder f
* SAKER ATT KOLLA
* SAKER ATT KOLLA TILL 0.46
Hur och var skall man egentligen spara inställningar? .emacs är
kanske inte det bästa alternativet.
Medlemskapslistan kan bli osorterad på många olika sätt. Klienten
måste klara av detta.
. Man kan adderas till ett möte så det ligger osorterat i listan.
. När man går med i ett möte själv så hamnar det i allmänhet osorterat.
Elispklienten borde kanske upptäcka när listan verkar osorterad
och i det läget sortera om den lokalt och i servern. Det skulle
till exempel kunna sk
Testa lyskom-is-anonymous!
** Manipulera medlemskapstypen
Prioritet noll är tillåten. Kolla alla strängar som nämner
prioriter så att det står rätt i dem.
Lägg till kommandot ändra medlemskapstyp.
Testa lyskom-is-anonymous!
Hur och var skall man egentligen spara inställningar? .emacs är
kanske inte det bästa alternativet.
* BUGGAR
......@@ -186,7 +141,7 @@ bilder f
FIX BY:
Gå ur mötet man prefetchar genererar en bug.
FIX BY: 0.46
FIX BY: 0.46 FIXED
Om man går till ett möte som inte prefetchats och inte har några
inlägg blir promten fel, och man får ett felmeddelande.
......@@ -276,8 +231,39 @@ bilder f
* FÖRBÄTTRINGAR
** PRIORITERA MÖTEN
Skriv klart Hantera medlemskap (aka prioritera möten.) Se till att
den hålls uppdaterad när man
. Går med i ett möte
. Passiviserar ett möte
. Går ur ett möte
. Ändrar prioritet på ett möte
. Ett möte byter namn
. Man byter namn på sig själv
. Man ändrar mötestyp
. Man ändrar medlemskapstyp
. Man blir utkastad ur ett möte
. Man blir adderad till ett möte
. Ett möte raderas
. Man skapar ett möte (och blir med i det)
Funktioner som borde finnas:
. Endast läsa senaste N i alla markerade möten
. Samma funktioner som i gamla prioritera möten
. Uppdatera all information
. Ändra namn på ett möte
. Ändra typ på ett möte
** LÄSA INLÄGG
Ceder tycker att Återse omodifierat skulle visa headerrader som
man normalt hoppar över. Det är saker som till exempel
creating-software.
FIX BY: 0.46
Det vore skoj om lyskom.el kunde, som jag har för mig att någon
föreslog en gång, parsa fotnoter av det där slaget [sed-mönster
ungefär] och applicera dem på texten. Det korrigerade inlägget
......@@ -402,6 +388,15 @@ bilder f
ju förenkla...
FIX BY: 0.48
** MANIPULERA MEDLEMSKAPSTYPEN
Lägg till kommandot ändra medlemskapstyp.
FIX BY: 0.46
När man accepterar en inbjudan borde man automatiskt prioritera om
den enligt ens defaultprioritet och defaultposition.
FIX BY: 0.46
** ÅTERSE
......
......@@ -96,6 +96,17 @@
(defun lyskom-find-aux-item-definition (aux)
(assq (aux-item->tag aux) lyskom-aux-item-definitions))
(defun lyskom-match-aux-items (item-list predicate)
"Return a list of all aux-items in ITEM-LIST that match PREDICATE.
PREDICATE should receives a single aux-item as its argument and should
return non-nil if the item is to be included in the list."
(let ((result nil))
(while item-list
(when (funcall predicate (car item-list))
(setq result (cons (car item-list) result)))
(setq item-list (cdr item-list)))
(nreverse result)))
(defun lyskom-aux-item-terminating-button (item obj)
(if obj
(lyskom-format " %#1@%[[*]%]"
......
......@@ -2147,3 +2147,121 @@ is alive."
lyskom-reading-list t)))))
;;; ============================================================
;;; Various aux-item stuff
(def-kom-command kom-add-no-comments (&optional text-no)
"Add a don't comment me please aux-item to a text."
(interactive (list (lyskom-read-text-no-prefix-arg 'what-no-comments-no t)))
(let ((text-stat (blocking-do 'get-text-stat text-no)))
;; Make sure there is a text there in the first place
(if (null text-stat)
(lyskom-format-insert 'no-such-text-no text-no)
;; Make sure that the text doesn't already have this kind of item
;; created by the same person
(if (lyskom-match-aux-items (text-stat->aux-items text-stat)
(lambda (el)
(and (eq (aux-item->tag el) 4)
(eq (aux-item->creator el)
lyskom-pers-no))))
(lyskom-format-insert 'already-no-comments text-no)
;; If the author of the text is not the current user, ask if the
;; user wants to try anyway (it might work...)
(if (or (eq (text-stat->author text-stat) lyskom-pers-no)
(lyskom-j-or-n-p 'not-author-try-anyway-p t))
(progn (lyskom-format-insert 'adding-no-comments
text-no)
(lyskom-report-command-answer
(blocking-do 'modify-text-info
text-no
nil
(list
(lyskom-create-aux-item
0 4 nil nil
(lyskom-create-aux-item-flags
nil nil nil nil nil nil nil nil) 0 ""))))
(cache-del-text-stat text-no)))))))
(def-kom-command kom-add-private-answer (&optional text-no)
"Add a private answer only please aux-item to a text."
(interactive (list (lyskom-read-text-no-prefix-arg 'what-private-answer-no t)))
(let ((text-stat (blocking-do 'get-text-stat text-no)))
;; Make sure there is a text there in the first place
(if (null text-stat)
(lyskom-format-insert 'no-such-text-no text-no)
;; Make sure that the text doesn't already have this kind of item
;; created by the same person
(if (lyskom-match-aux-items (text-stat->aux-items text-stat)
(lambda (el)
(and (eq (aux-item->tag el) 5)
(eq (aux-item->creator el)
lyskom-pers-no))))
(lyskom-format-insert 'already-private-answer text-no)
;; If the author of the text is not the current user, ask if the
;; user wants to try anyway (it might work...)
(if (or (eq (text-stat->author text-stat) lyskom-pers-no)
(lyskom-j-or-n-p 'not-author-try-anyway-p t))
(progn (lyskom-format-insert 'adding-private-answer
text-no)
(lyskom-report-command-answer
(blocking-do 'modify-text-info
text-no
nil
(list
(lyskom-create-aux-item
0 5 nil nil
(lyskom-create-aux-item-flags
nil nil nil nil nil nil nil nil) 0 ""))))
(cache-del-text-stat text-no)))))))
(def-kom-command kom-add-request-confirm (&optional text-no)
"Add confirmation request aux-item to a text."
(interactive (list (lyskom-read-text-no-prefix-arg
'what-request-confirm-no t)))
(let ((text-stat (blocking-do 'get-text-stat text-no)))
;; Make sure there is a text there in the first place
(if (null text-stat)
(lyskom-format-insert 'no-such-text-no text-no)
;; Make sure that the text doesn't already have this kind of item
;; created by the same person
(if (lyskom-match-aux-items (text-stat->aux-items text-stat)
(lambda (el)
(and (eq (aux-item->tag el) 6)
(eq (aux-item->creator el)
lyskom-pers-no))))
(lyskom-format-insert 'already-request-confirm text-no)
;; If the author of the text is not the current user, ask if the
;; user wants to try anyway (it might work...)
(if (or (eq (text-stat->author text-stat) lyskom-pers-no)
(lyskom-j-or-n-p 'not-author-try-anyway-p t))
(progn (lyskom-format-insert 'adding-request-confirm
text-no)
(lyskom-report-command-answer
(blocking-do 'modify-text-info
text-no
nil
(list
(lyskom-create-aux-item
0 6 nil nil
(lyskom-create-aux-item-flags
nil nil nil nil nil nil nil nil) 0 ""))))
(cache-del-text-stat text-no)))))))
......@@ -2804,6 +2804,7 @@ lyskom-get-string to retrieve regexps for answer and string for repeated query."
"Same as y-or-n-p but language-dependent.
Uses lyskom-message, lyskom-read-string to do interaction and
lyskom-get-string to retrieve regexps for answer and string for repeated query."
(when (symbolp prompt) (setq prompt (lyskom-get-string prompt)))
(let ((input-char 0)
(cursor-in-echo-area t)
(nagging nil))
......
......@@ -1321,6 +1321,19 @@ Du m
(invitation-mt-type . "inbjuden")
(passive-mt-type . "passiv")
(secret-mt-type . "hemlig")
(not-author-try-anyway-p . "Du r inte frfattare till inlgget. Vill du frska nd? ")
(what-no-comments-no . "Vilken text vill du inte ha kommentarer till: ")
(adding-no-comments . "Begr att inte f kommentarer till inlgg %#1n...")
(already-no-comments . "Inlgg %#1n har redan begran om inga kommentarer.\n")
(what-private-answer-no . "Vilken text vill du ha personligt svar till: ")
(adding-private-answer . "Begr att endast f personligt svar till inlgg %#1n...")
(already-private-answer . "Inlgg %#1n har redan begran om enbart personliga svar.\n")
(what-request-confirm-no . "Vilken text vill du ha lsbekrftelse till: ")
(adding-request-confirm . "Begr lsbekrftelse till inlgg %#1n...")
(already-request-confirm . "Inlgg %#1n har redan begran om lsbekrftelse.\n")
))
......@@ -1472,6 +1485,10 @@ Du m
(kom-add-footnote . "Addera fotnot")
(kom-sub-footnote . "Subtrahera fotnot")
(kom-add-no-comments . "Frhindra kommentarer")
(kom-add-private-answer . "Begr personligt svar")
(kom-add-request-confirm . "Begr lsbekrftelse")
))
(lyskom-language-var lyskom-language-codes sv
......
......@@ -302,10 +302,15 @@ The value is actually the element of LIST whose car equals KEY."
;;; ============================================================
;;; Prefix arguments
(defun lyskom-read-text-no-prefix-arg (prompt &optional command)
"Call in interactive list to read text-no"
(defun lyskom-read-text-no-prefix-arg (prompt &optional always-read)
"Call in interactive list to read text-no.
If optional argument ALWAYS-READ is non-nil the user is prompted if
an explicit prefix argument was not given."
(cond
((null current-prefix-arg) lyskom-current-text)
((null current-prefix-arg)
(if always-read
(lyskom-read-number prompt lyskom-current-text)
lyskom-current-text))
((integerp current-prefix-arg) current-prefix-arg)
((listp current-prefix-arg)
(lyskom-read-number prompt (lyskom-text-at-point)))
......
......@@ -1172,6 +1172,10 @@ Users are encouraged to use their best sense of humor."
kom-add-footnote
kom-sub-footnote
kom-add-private-answer
kom-add-no-comments
kom-add-request-confirm
))
;;; ================================================================
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment