Commit fa2b3808 authored by David Byers's avatar David Byers
Browse files

First cut at support for session prioritization

parent 83997ca7
1999-12-02 David Byers <davby@ida.liu.se>
* lyskom-rest.el (lyskom-what-to-do): Fix code to handle
kom-server-priority-breaks properly.
* option-edit.el (lyskom-custom-variables): Added
kom-server-priority-breaks.
* lyskom-rest.el (lyskom-set-mode-line): Use
lyskom-remove-unread-buffer and lyskom-add-unread-buffer.
(lyskom-sentinel): Use lyskom-remove-unread-buffer.
(lyskom-update-all-prompts): New function.
* buffers.el (lyskom-remove-buffer-from-unread-lists): New
function.
1999-12-01 David Byers <davby@ida.liu.se>
* commands2.el (lyskom-next-kom): Use
lyskom-clean-all-buffer-lists.
* commands1.el (lyskom-quit): Use lyskom-remove-buffer-from-lists.
* buffers.el (lyskom-add-unread-buffer): New function.
* command.el (lyskom-start-of-command): Use
lyskom-current-prompt-args.
* vars.el.in (lyskom-current-prompt-args): New variable.
* lyskom-rest.el (lyskom-update-prompt): Added
lyskom-current-prompt-args
1999-11-23 David Byers <davby@ida.liu.se>
* vars.el.in (kom-server-priority): New variable.
1999-11-22 David Byers <davby@ida.liu.se>
* lyskom-rest.el (lyskom-what-to-do): Added PRI-SESSION.
(lyskom-next-command): Added next-pri-session.
(lyskom-update-prompt): Added next-pri-session. Prompts are now
format strings.
(kom-go-to-pri-session): New function.
1999-11-21 David Byers <davby@ida.liu.se>
* view-text.el (lyskom-mark-as-read): Check for null text-stat.
* services.el (initiate-create-text): Fix old version of the call.
1999-12-02 David Byers <davby@sen2.ida.liu.se> 1999-12-02 David Byers <davby@sen2.ida.liu.se>
* flags.el (lyskom-read-options-eval-get-holerith): Skip newlines * flags.el (lyskom-read-options-eval-get-holerith): Skip newlines
......
...@@ -8,6 +8,17 @@ Att g ...@@ -8,6 +8,17 @@ Att g
multibyte environment (where the strings sent from the server are in multibyte environment (where the strings sent from the server are in
a multibyte charset.) They do not affect users of unibyte charsets. a multibyte charset.) They do not affect users of unibyte charsets.
** Encode/decode appropriate aux-items.
** Binding of f ä.
** In edit-filter mode, check how subject åäö is handled.
** Write code to deal with the situation where you create a filter in
a unibyte environment and then move to a multibyte environment, and
vice versa. Or make the filter code convert strings to the
appropriate bytedness. Maybe.
** In completing-read.el, MULEify the character comparisons. ** In completing-read.el, MULEify the character comparisons.
......
...@@ -69,22 +69,29 @@ ...@@ -69,22 +69,29 @@
(defun lyskom-aux-item-definition-call (def method &rest args) (defun lyskom-aux-item-try-call (item method default &rest args)
(when (lyskom-aux-item-p def) (when (lyskom-aux-item-p item)
(setq def (lyskom-find-aux-item-definition def))) (setq item (lyskom-find-aux-item-definition item)))
(cond ((listp method) (cond ((listp method)
(let ((result nil)) (let ((result nil)
(found nil))
(while method (while method
(when (lyskom-aux-item-definition-field def (car method)) (when (lyskom-aux-item-definition-field item (car method))
(setq result (setq result
(apply (lyskom-aux-item-definition-field def (apply (lyskom-aux-item-definition-field item
(car method)) (car method))
args)) args)
(setq method nil)) found t
method nil))
(setq method (cdr method))) (setq method (cdr method)))
result)) (if found result default)))
(t (when (lyskom-aux-item-definition-field def method) (t (if (lyskom-aux-item-definition-field item method)
(apply (lyskom-aux-item-definition-field def method) args))))) (apply (lyskom-aux-item-definition-field item method) args)
default))))
(defun lyskom-aux-item-call (def method &rest args)
(apply 'lyskom-aux-item-try-call def method nil args))
(defun lyskom-aux-item-definition-field (def method) (defun lyskom-aux-item-definition-field (def method)
...@@ -133,6 +140,16 @@ return non-nil if the item is to be included in the list." ...@@ -133,6 +140,16 @@ return non-nil if the item is to be included in the list."
(t item)))) (t item))))
"")) ""))
(defun lyskom-aux-item-after-parse (item)
(lyskom-aux-item-try-call item 'decode-data nil)
item)
(defun lyskom-aux-item-output-data (item)
(lyskom-aux-item-try-call item
'encode-data
(aux-item->data item)))
;;; ====================================================================== ;;; ======================================================================
(def-aux-item content-type 1 (def-aux-item content-type 1
...@@ -144,6 +161,8 @@ return non-nil if the item is to be included in the list." ...@@ -144,6 +161,8 @@ return non-nil if the item is to be included in the list."
(def-aux-item fast-reply 2 (def-aux-item fast-reply 2
(text-print-when . footer) (text-print-when . footer)
(parse . nil) (parse . nil)
(parse-data . lyskom-aux-item-decode-data)
(output-data . lyskom-aux-item-encode-data)
(text-print . lyskom-print-fast-reply) (text-print . lyskom-print-fast-reply)
(info . lyskom-aux-item-info)) (info . lyskom-aux-item-info))
...@@ -151,6 +170,8 @@ return non-nil if the item is to be included in the list." ...@@ -151,6 +170,8 @@ return non-nil if the item is to be included in the list."
(status-print . lyskom-status-print-cross-reference) (status-print . lyskom-status-print-cross-reference)
(text-print-when . comment) (text-print-when . comment)
(parse . lyskom-parse-cross-reference) (parse . lyskom-parse-cross-reference)
(parse-data . lyskom-aux-item-decode-data)
(output-data . lyskom-aux-item-encode-data)
(text-print . lyskom-print-cross-reference) (text-print . lyskom-print-cross-reference)
(edit-insert . lyskom-edit-insert-cross-reference) (edit-insert . lyskom-edit-insert-cross-reference)
(info . lyskom-aux-item-info)) (info . lyskom-aux-item-info))
...@@ -193,6 +214,8 @@ return non-nil if the item is to be included in the list." ...@@ -193,6 +214,8 @@ return non-nil if the item is to be included in the list."
(def-aux-item alternate-name 10 (def-aux-item alternate-name 10
(text-print-when . header) (text-print-when . header)
(text-print . lyskom-print-alternate-name) (text-print . lyskom-print-alternate-name)
(output-data . lyskom-aux-item-encode-data)
(parse-data . lyskom-aux-item-decode-data)
(info . lyskom-aux-item-info)) (info . lyskom-aux-item-info))
(def-aux-item pgp-signature 11 (def-aux-item pgp-signature 11
...@@ -211,6 +234,8 @@ return non-nil if the item is to be included in the list." ...@@ -211,6 +234,8 @@ return non-nil if the item is to be included in the list."
(def-aux-item creating-software 15 (def-aux-item creating-software 15
(info . lyskom-aux-item-info) (info . lyskom-aux-item-info)
(text-print-when . header) (text-print-when . header)
(parse-data . lyskom-aux-item-decode-data)
(output-data . lyskom-aux-item-encode-data)
(text-print . lyskom-print-creating-software)) (text-print . lyskom-print-creating-software))
(def-aux-item mx-author 16 (def-aux-item mx-author 16
...@@ -261,6 +286,17 @@ return non-nil if the item is to be included in the list." ...@@ -261,6 +286,17 @@ return non-nil if the item is to be included in the list."
(defun lyskom-aux-item-decode-data (item)
(set-aux-item->data
item
(decode-coding-string (aux-item->data item) lyskom-server-coding-system)))
(defun lyskom-aux-item-encode-data (item)
(encode-coding-string (aux-item->data item) lyskom-server-coding-system)
)
(defun lyskom-aux-item-info (item header) (defun lyskom-aux-item-info (item header)
(let ((def (lyskom-find-aux-item-definition item))) (let ((def (lyskom-find-aux-item-definition item)))
......
...@@ -182,7 +182,8 @@ the children object" ...@@ -182,7 +182,8 @@ the children object"
lyskom-sessions-with-unread-letters lyskom-sessions-with-unread-letters
(lyskom-clean-buffer-list lyskom-sessions-with-unread-letters) (lyskom-clean-buffer-list lyskom-sessions-with-unread-letters)
lyskom-buffer-list lyskom-buffer-list
(lyskom-clean-buffer-list lyskom-buffer-list))) (lyskom-clean-buffer-list lyskom-buffer-list))
(lyskom-set-default 'lyskom-need-prompt-update t))
(defun lyskom-clean-buffer-list (buffers) (defun lyskom-clean-buffer-list (buffers)
"Remove all dead buffers from BUFFERS" "Remove all dead buffers from BUFFERS"
...@@ -197,12 +198,29 @@ the children object" ...@@ -197,12 +198,29 @@ the children object"
"Remove BUFFER from all internal lists. "Remove BUFFER from all internal lists.
If BUFFER is not specified, assume the current buffer" If BUFFER is not specified, assume the current buffer"
(unless buffer (setq buffer (current-buffer))) (unless buffer (setq buffer (current-buffer)))
(setq lyskom-sessions-with-unread (lyskom-remove-unread-buffer buffer)
(delq buffer lyskom-sessions-with-unread))
(setq lyskom-sessions-with-unread-letters
(delq buffer lyskom-sessions-with-unread-letters))
(setq lyskom-buffer-list (setq lyskom-buffer-list
(delq buffer lyskom-buffer-list))) (delq buffer lyskom-buffer-list))
(lyskom-set-default 'lyskom-need-prompt-update t))
(defun lyskom-remove-unread-buffer (buffer &optional letters-only)
(unless letters-only
(setq lyskom-sessions-with-unread
(delq buffer lyskom-sessions-with-unread)))
(setq lyskom-sessions-with-unread-letters
(delq buffer lyskom-sessions-with-unread-letters))
(lyskom-set-default 'lyskom-need-prompt-update t))
(defun lyskom-add-unread-buffer (buffer &optional letters)
(unless (memq buffer lyskom-sessions-with-unread)
(setq lyskom-sessions-with-unread
(cons buffer lyskom-sessions-with-unread)))
(unless (or (null letters)
(memq buffer lyskom-sessions-with-unread-letters))
(setq lyskom-sessions-with-unread-letters
(cons buffer lyskom-sessions-with-unread-letters)))
(lyskom-set-default 'lyskom-need-prompt-update t))
(defvar lyskom-associated-buffer-list nil (defvar lyskom-associated-buffer-list nil
"List of (CATEGORY . BUFFER-LIST) listing all buffers of various "List of (CATEGORY . BUFFER-LIST) listing all buffers of various
......
...@@ -58,6 +58,7 @@ ...@@ -58,6 +58,7 @@
;;; FOOTN-IN - Type containing the list of footnotes to a text ;;; FOOTN-IN - Type containing the list of footnotes to a text
;;; CONF - Basic type of unread in a conf. ;;; CONF - Basic type of unread in a conf.
;;; RE-EDIT-TEXT - Re-edit a failed submission. Buffer is in misc. ;;; RE-EDIT-TEXT - Re-edit a failed submission. Buffer is in misc.
;;; PRI-SESSION - Go to prioritized session.
;;; ;;;
;;; The types REVIEW-TREE, COMM-IN and FOOTN-IN are created for new for ;;; The types REVIEW-TREE, COMM-IN and FOOTN-IN are created for new for
;;; every text read (recursively) when appropriate. ;;; every text read (recursively) when appropriate.
......
...@@ -262,9 +262,13 @@ chosen according to this" ...@@ -262,9 +262,13 @@ chosen according to this"
(delete-region (point) (point-max))))) (delete-region (point) (point-max)))))
(lyskom-insert (lyskom-modify-prompt (lyskom-insert (lyskom-modify-prompt
(cond ((stringp lyskom-current-prompt) (cond ((stringp lyskom-current-prompt)
lyskom-current-prompt) (apply 'lyskom-format
lyskom-current-prompt
lyskom-current-prompt-args))
((symbolp lyskom-current-prompt) ((symbolp lyskom-current-prompt)
(lyskom-get-string lyskom-current-prompt)) (apply 'lyskom-format
(lyskom-get-string lyskom-current-prompt)
lyskom-current-prompt-args))
(t (format "%S" lyskom-current-prompt))) (t (format "%S" lyskom-current-prompt)))
t))) t)))
(setq mode-line-process (lyskom-get-string 'mode-line-working)) (setq mode-line-process (lyskom-get-string 'mode-line-working))
......
...@@ -262,7 +262,7 @@ otherwise: the conference is read with lyskom-completing-read." ...@@ -262,7 +262,7 @@ otherwise: the conference is read with lyskom-completing-read."
(lyskom-traverse-aux item (lyskom-traverse-aux item
(conf-stat->aux-items conf-stat) (conf-stat->aux-items conf-stat)
(lyskom-aux-item-definition-call item 'status-print item conf-stat)) (lyskom-aux-item-call item 'status-print item conf-stat))
(let ((mship (lyskom-try-get-membership (conf-stat->conf-no conf-stat) t))) (let ((mship (lyskom-try-get-membership (conf-stat->conf-no conf-stat) t)))
(when mship (when mship
...@@ -427,7 +427,7 @@ otherwise: the conference is read with lyskom-completing-read." ...@@ -427,7 +427,7 @@ otherwise: the conference is read with lyskom-completing-read."
(lyskom-traverse-aux item (lyskom-traverse-aux item
(conf-stat->aux-items conf-stat) (conf-stat->aux-items conf-stat)
(lyskom-aux-item-definition-call item 'status-print item conf-stat)) (lyskom-aux-item-call item 'status-print item conf-stat))
;; "Show all conferences CONF-STAT is a member of if the user so wishes." ;; "Show all conferences CONF-STAT is a member of if the user so wishes."
(lyskom-scroll) (lyskom-scroll)
...@@ -1464,6 +1464,7 @@ current conference to another session." ...@@ -1464,6 +1464,7 @@ current conference to another session."
(setcdr rlist cell)) (setcdr rlist cell))
(setq finished t)) (setq finished t))
((eq type 'RE-EDIT-TEXT)) ((eq type 'RE-EDIT-TEXT))
((eq type 'PRI-SESSION))
(t (t
(signal 'lyskom-internal-error '("lyskom-remove-comment-chains"))))) (signal 'lyskom-internal-error '("lyskom-remove-comment-chains")))))
(-- len))) (-- len)))
...@@ -1571,12 +1572,7 @@ Return-value: 'no-session if there is no suitable session to switch to ...@@ -1571,12 +1572,7 @@ Return-value: 'no-session if there is no suitable session to switch to
;; Clean the buffer lists ;; Clean the buffer lists
(setq lyskom-sessions-with-unread (lyskom-clean-all-buffer-lists)
(lyskom-clean-buffer-list lyskom-sessions-with-unread)
lyskom-sessions-with-unread-letters
(lyskom-clean-buffer-list lyskom-sessions-with-unread-letters)
lyskom-buffer-list
(lyskom-clean-buffer-list lyskom-buffer-list))
(let ((current (lyskom-buffer-root-ancestor (current-buffer))) (let ((current (lyskom-buffer-root-ancestor (current-buffer)))
(buffer-list (symbol-value buffer-list-name)) (buffer-list (symbol-value buffer-list-name))
......
...@@ -210,7 +210,7 @@ footn-to -> Fotnot till text %d." ...@@ -210,7 +210,7 @@ footn-to -> Fotnot till text %d."
(setq misc-list (cdr misc-list)))) (setq misc-list (cdr misc-list))))
(mapcar (function (mapcar (function
(lambda (item) (lambda (item)
(let ((data (lyskom-aux-item-definition-call (let ((data (lyskom-aux-item-call
item '(edit-insert print) item '(edit-insert print)
item lyskom-pers-no))) item lyskom-pers-no)))
(when data (when data
...@@ -1348,10 +1348,10 @@ RECPT-TYPE is the type of recipient to add." ...@@ -1348,10 +1348,10 @@ RECPT-TYPE is the type of recipient to add."
(format "%%#1@%%[%s%%]%%#2s" (lyskom-get-string 'aux-item-prefix)) (format "%%#1@%%[%s%%]%%#2s" (lyskom-get-string 'aux-item-prefix))
(lyskom-default-button 'aux-edit-menu (cons (current-buffer) (lyskom-default-button 'aux-edit-menu (cons (current-buffer)
(point-marker))) (point-marker)))
(lyskom-aux-item-definition-call item (lyskom-aux-item-call item
'(edit-insert print) '(edit-insert print)
item item
lyskom-pers-no)) lyskom-pers-no))
"\n"))) "\n")))
) )
...@@ -1540,7 +1540,7 @@ easy to use the result in a call to `lyskom-create-misc-list'." ...@@ -1540,7 +1540,7 @@ easy to use the result in a call to `lyskom-create-misc-list'."
(let ((definitions lyskom-aux-item-definitions) (let ((definitions lyskom-aux-item-definitions)
(data nil)) (data nil))
(while (and (null data) definitions) (while (and (null data) definitions)
(setq data (lyskom-aux-item-definition-call (car definitions) 'parse)) (setq data (lyskom-aux-item-call (car definitions) 'parse))
(unless data (setq definitions (cdr definitions)))) (unless data (setq definitions (cdr definitions))))
(when data (when data
......
...@@ -1010,6 +1010,9 @@ You should set it to a better value.\n") ...@@ -1010,6 +1010,9 @@ You should set it to a better value.\n")
(go-to-conf-of-review-prompt . "Resume reviewing texts") (go-to-conf-of-review-prompt . "Resume reviewing texts")
(go-to-next-conf-prompt . "Go to next conference") (go-to-next-conf-prompt . "Go to next conference")
(go-to-your-mailbox-prompt . "Go to your mailbox") (go-to-your-mailbox-prompt . "Go to your mailbox")
(next-pri-session-prompt . "Go to prioritized LysKOM \"%#1s\"")
(next-unread-session-prompt . "Go to LysKOM \"%#1s\"")
(no-such-kom-session . "No such session with unread texts.\n")
(the-command . "Command: %#1C") (the-command . "Command: %#1C")
(error-in-login-hook . "There was an error in your kom-login-hook: %#1s\n") (error-in-login-hook . "There was an error in your kom-login-hook: %#1s\n")
...@@ -2102,6 +2105,15 @@ Select whether to execute command or keyboard macro.") ...@@ -2102,6 +2105,15 @@ Select whether to execute command or keyboard macro.")
(break . "After current comment chain") (break . "After current comment chain")
(no-break . "Efter current conference ") (no-break . "Efter current conference ")
(express-server-break . "Immediately")
(express-server-letters-break . "Immediately if letters arrive")
(server-break . "After current comment chain")
(letters-server-break . "After current comment chain if letters arrive")
(after-conf-server-break . "After current conference")
(after-conf-letters-server-break . "After current conference if letters arrive")
(when-done-server-break . "After everything has been read")
(no-server-break . "Never")
(command . "Command") (command . "Command")
(command-list . "Command list") (command-list . "Command list")
(some-persons . "For some persons") (some-persons . "For some persons")
......
...@@ -1012,7 +1012,7 @@ depending on the value of `kom-lynx-terminal'." ...@@ -1012,7 +1012,7 @@ depending on the value of `kom-lynx-terminal'."
(progn (progn
(lyskom-start-of-command nil) (lyskom-start-of-command nil)
(unwind-protect (unwind-protect
(let ((data (lyskom-aux-item-definition-call (let ((data (lyskom-aux-item-call
aux aux
'info 'info
aux aux
......
...@@ -252,6 +252,8 @@ If the optional argument REFETCH is non-nil, all caches are cleared and ...@@ -252,6 +252,8 @@ If the optional argument REFETCH is non-nil, all caches are cleared and
(kom-view-next-text)) (kom-view-next-text))
((eq lyskom-command-to-do 'reedit-text) ((eq lyskom-command-to-do 'reedit-text)
(kom-re-edit-next-text)) (kom-re-edit-next-text))
((eq lyskom-command-to-do 'next-pri-session)
(kom-go-to-pri-session))
((eq lyskom-command-to-do 'next-conf) ((eq lyskom-command-to-do 'next-conf)
(kom-go-to-next-conf)) (kom-go-to-next-conf))
((eq lyskom-command-to-do 'next-pri-conf) ((eq lyskom-command-to-do 'next-pri-conf)
...@@ -318,6 +320,20 @@ If the optional argument REFETCH is non-nil, all caches are cleared and ...@@ -318,6 +320,20 @@ If the optional argument REFETCH is non-nil, all caches are cleared and
(lyskom-format-insert 'text-buffer-missing)))) (lyskom-format-insert 'text-buffer-missing))))
;;;; ================================================================
;;;; Go to pri session
(def-kom-command kom-go-to-pri-session ()
"Go to a prioritized session with unreads"
(interactive)
(let ((session (lyskom-get-prioritized-session)))
(if (or (null session)
(eq session (current-buffer))
(not (buffer-live-p session)))
(lyskom-insert 'no-such-kom-session)
(lyskom-switch-to-kom-buffer session))))
;;;; ================================================================ ;;;; ================================================================
;;;; View next text. ;;;; View next text.
...@@ -680,17 +696,11 @@ CONF can be a a conf-stat or a string." ...@@ -680,17 +696,11 @@ CONF can be a a conf-stat or a string."
0 27))) 0 27)))
(if (zerop total-unread) (if (zerop total-unread)
(setq lyskom-sessions-with-unread (lyskom-remove-unread-buffer lyskom-buffer)
(delq lyskom-buffer lyskom-sessions-with-unread)) (lyskom-add-unread-buffer lyskom-buffer))
(or (memq lyskom-buffer lyskom-sessions-with-unread)
(setq lyskom-sessions-with-unread
(cons lyskom-buffer lyskom-sessions-with-unread))))
(if (zerop letters) (if (zerop letters)
(setq lyskom-sessions-with-unread-letters (lyskom-remove-unread-buffer lyskom-buffer t)
(delq lyskom-buffer lyskom-sessions-with-unread-letters)) (lyskom-add-unread-buffer lyskom-buffer t))
(or (memq lyskom-buffer lyskom-sessions-with-unread-letters)
(setq lyskom-sessions-with-unread-letters
(cons lyskom-buffer lyskom-sessions-with-unread-letters))))
(force-mode-line-update))) (force-mode-line-update)))
...@@ -2292,6 +2302,14 @@ positions are counted from 0, as they are." ...@@ -2292,6 +2302,14 @@ positions are counted from 0, as they are."
;;; To-do ;;; To-do
(defun lyskom-update-all-prompts (&optional force-prompt-update)
"Update the prompts in all buffers"
(save-excursion
(lyskom-traverse buffer lyskom-buffer-list
(set-buffer buffer)
(lyskom-update-prompt force-prompt-update))
(lyskom-set-default 'lyskom-need-prompt-update nil)))
(defun lyskom-update-prompt (&optional force-prompt-update) (defun lyskom-update-prompt (&optional force-prompt-update)
"Print prompt if the client knows which command will be default. "Print prompt if the client knows which command will be default.
Set lyskom-current-prompt accordingly. Tell server what I am doing." Set lyskom-current-prompt accordingly. Tell server what I am doing."
...@@ -2300,109 +2318,126 @@ Set lyskom-current-prompt accordingly. Tell server what I am doing." ...@@ -2300,109 +2318,126 @@ Set lyskom-current-prompt accordingly. Tell server what I am doing."
lyskom-dont-change-prompt)) lyskom-dont-change-prompt))
nil nil
(let ((to-do (lyskom-what-to-do)) (let ((to-do (lyskom-what-to-do))
(prompt nil)) (prompt nil)
(prompt-args nil))
(setq lyskom-command-to-do to-do) (setq lyskom-command-to-do to-do)
(cond (cond
((eq to-do 'next-pri-conf) ((eq to-do 'next-pri-conf)
(setq prompt 'go-to-pri-conf-prompt) (setq prompt 'go-to-pri-conf-prompt)
(or (eq lyskom-current-prompt prompt) (or (eq lyskom-current-prompt prompt)
(lyskom-beep kom-ding-on-priority-break))) (lyskom-beep kom-ding-on-priority-break)))
((eq to-do 'reedit-text) ((eq to-do 'reedit-text)
(setq prompt 're-edit-text-prompt) (setq prompt 're-edit-text-prompt))
(or (eq lyskom-current-prompt prompt)))
((and (eq to-do 'next-pri-session)
(lyskom-get-prioritized-session))
(if (and (read-list-isempty lyskom-reading-list)
(read-list-isempty lyskom-to-do-list))
(setq prompt 'next-unread-session-prompt)
(setq prompt 'next-pri-session-prompt))
(setq prompt-args
(save-excursion
(set-buffer (lyskom-get-prioritized-session))
(list
(or (cdr (lyskom-string-assoc lyskom-server-name
kom-server-aliases))
lyskom-server-name)))))
((eq to-do 'next-pri-text) ((eq to-do 'next-pri-text)
(setq prompt 'read-pri-text-conf) (setq prompt 'read-pri-text-conf)
(or (eq lyskom-current-prompt prompt) (or (eq lyskom-current-prompt prompt)
(lyskom-beep kom-ding-on-priority-break))) (lyskom-beep kom-ding-on-priority-break)))
((eq to-do 'next-text) ((eq to-do 'next-text)
(setq prompt (setq prompt
(let ((read-info (read-list->first lyskom-reading-list))) (let ((read-info (read-list->first lyskom-reading-list)))
(cond (cond
((eq 'REVIEW (read-info->type read-info)) ((eq 'REVIEW (read-info->type read-info))
'review-next-text-prompt) 'review-next-text-prompt)
((eq 'REVIEW-TREE (read-info->type read-info)) ((eq 'REVIEW-TREE (read-info->type read-info))
'review-next-comment-prompt) 'review-next-comment-prompt)
((eq 'REVIEW-MARK (read-info->type read-info)) ((eq 'REVIEW-MARK (read-info->type read-info))
'review-next-marked-prompt)