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

Added ability to save all created texts. Added lyskom-create-hook.

Minor cleanup in vars.el.in
parent e9531466
2000-08-11 David Byers <davby@ida.liu.se>
* option-edit.el (lyskom-file-widget): Fixed bug so that help
button appears on the same line as the file name.
* edit-text.el (lyskom-edit-parse-headers): Skip comments in
headers.
(lyskom-edit-replace-headers): Anchor search for header separator.
(lyskom-edit-fcc-text): Mew function to save text almost as if it
were printed properly to a log file.
(lyskom-edit-parse-headers): Items in the header can be commented
out by prepending a "#". This may be useful if we ever want to put
temporary information into the header lines. Maybe.
* lyskom-rest.el (kom-save-text): Factor out saving code to
lyskom-save-text. Use lyskom-save-text. Added FILENAME parameter.
(lyskom-save-text): New function.
* edit-text.el (lyskom-create-text-handler): It appeared that
the edit buffer for anonymously created texts was never deleted
and the successful creation never recorded. Fixed. Save created
text if kom-created-texts-are-saved is non-nil.
(lyskom-edit-send): Call lyskom-create-text-hook.
* vars.el.in (lyskom-new-text-hook): Fixed doc-string (no-message
does not exist). Don't save in server per default. Do not list as
a user variable (anyone who needs to use this hook should be smart
enough to find it anyway).
(kom-created-texts-are-saved): New variable.
(lyskom-button-actions): Added save text body to context menu for
texts.
(lyskom-deleted-text-hook): Same here.
(lyskom-new-recipient-hook): Same here.
(lyskom-create-text-hook): New variable.
* lyskom-buttons.el (lyskom-button-save-text-body): New function.
2000-08-10 David Byers <davby@ida.liu.se>
* commands1.el (kom-list-created-conferences): New function.
* commands1.el (kom-list-created-conferences): New command.
(lyskom-list-created-conferences-2): New function.
Kill da bottlenecks:
......
......@@ -597,6 +597,21 @@ anonymously and take actions to avoid revealing the sender."
(setq lyskom-dont-change-prompt t))
(setq lyskom-is-writing nil)
(lyskom-tell-internat 'kom-tell-send)
(run-hook-with-args 'lyskom-create-text-hook
full-message
misc-list
(if (not is-anonymous)
(cons (lyskom-create-aux-item
0 15 0 0
(lyskom-create-aux-item-flags
nil nil nil nil nil nil nil nil)
0 (concat "lyskom.el "
lyskom-clientversion))
aux-list)
aux-list)
buffer
is-anonymous)
(funcall send-function
'sending
'lyskom-create-text-handler
......@@ -1473,8 +1488,11 @@ to lyskom-edit-replace-headers"
(goto-char (point-min))
(setq start (point-marker))
(set-marker-insertion-type start t)
(search-forward (substitute-command-keys
(lyskom-get-string 'header-separator)))
(re-search-forward (concat "^"
(regexp-quote
(substitute-command-keys
(lyskom-get-string 'header-separator)))
"$"))
(end-of-line)
(setq end (point-marker))
(goto-char (point-min))
......@@ -1513,8 +1531,11 @@ easy to use the result in a call to `lyskom-create-misc-list'."
(aux nil))
(save-restriction
;; Narrow to headers
(search-forward (substitute-command-keys
(lyskom-get-string 'header-separator)))
(re-search-forward (concat "^"
(regexp-quote
(substitute-command-keys
(lyskom-get-string 'header-separator)))
"$"))
(beginning-of-line)
(narrow-to-region (point-min) (point))
(goto-char (point-min))
......@@ -1544,6 +1565,9 @@ easy to use the result in a call to `lyskom-create-misc-list'."
(signal 'lyskom-unknown-header
(list 'unknown-header (point))))))
((lyskom-looking-at (lyskom-get-string 'comment-item-prefix))
nil)
(t (signal 'lyskom-unknown-header (list 'unknown-header (point))))))
(forward-line 1)))
(list subject misc aux)))
......@@ -1594,10 +1618,12 @@ Point must be located on the line where the subject is."
"Get text as a string."
(save-excursion
(goto-char (point-min))
(if (not (search-forward
(substitute-command-keys
(lyskom-get-string 'header-separator))
nil (point-max)))
(if (not (re-search-forward (concat "^"
(regexp-quote
(substitute-command-keys
(lyskom-get-string 'header-separator)))
"$")
nil (point-max)))
(signal 'lyskom-internal-error
"Altered lyskom-header-separator line.")
(buffer-substring (1+ (point))
......@@ -1614,9 +1640,11 @@ Point must be located on the line where the subject is."
(save-excursion
(beginning-of-line)
(and (lyskom-looking-at (lyskom-get-string 'aux-item-prefix))
(search-forward
(substitute-command-keys
(lyskom-get-string 'header-separator))
(re-search-forward (concat "^"
(regexp-quote
(substitute-command-keys
(lyskom-get-string 'header-separator)))
"$")
nil (point-max)))))
......@@ -1646,11 +1674,22 @@ Point must be located on the line where the subject is."
(set-buffer edit-buffer)
(lyskom-edit-mode 1)
(sit-for 0))
(is-anonymous
(lyskom-format-insert-before-prompt 'text-created-anonymous text-no))
(t
(lyskom-insert-before-prompt
(lyskom-format 'text-created text-no))
(t
(if is-anonymous
(lyskom-format-insert-before-prompt 'text-created-anonymous text-no)
(lyskom-insert-before-prompt (lyskom-format 'text-created text-no)))
;; Save the text
(when kom-created-texts-are-saved
(when (buffer-live-p edit-buffer)
(initiate-get-conf-stat 'background
'lyskom-edit-fcc-text
lyskom-pers-no
(save-excursion (set-buffer edit-buffer)
(buffer-string))
text-no
is-anonymous)))
;; Immediately mark the text as read if kom-created-texts-are-read is set
;; and we are not sending the text anonymously.
......@@ -1671,8 +1710,9 @@ Point must be located on the line where the subject is."
;; Record the text number
(lyskom-setq-default lyskom-last-written text-no)
(lyskom-setq-default lyskom-last-seen-written text-no)
(unless is-anonymous
(lyskom-setq-default lyskom-last-written text-no)
(lyskom-setq-default lyskom-last-seen-written text-no))
;; Select the old configuration.
......@@ -1688,8 +1728,7 @@ Point must be located on the line where the subject is."
;; Apply handler.
(set-buffer lyskom-buffer)
(if hnd
(apply hnd text-no dta)))
(if hnd (apply hnd text-no dta)))
;; Kill the edit-buffer.
......@@ -1699,6 +1738,60 @@ Point must be located on the line where the subject is."
(kill-buffer edit-buffer)
)))
(defun lyskom-edit-fcc-text (conf-stat text text-no is-anonymous)
(condition-case arg
(let ((start 1) (end 0))
(save-excursion
(set-buffer (lyskom-get-buffer-create 'fcc "*kom*-fcc"))
(erase-buffer)
(insert text)
(goto-char (point-min))
(when (re-search-forward
(concat "^"
(regexp-quote
(substitute-command-keys
(lyskom-get-string 'header-separator)))
"$")
nil t)
(goto-char (match-beginning 0))
(delete-region (match-beginning 0) (match-end 0))
(insert (make-string kom-text-header-dash-length ?-))
(forward-line 1)
(beginning-of-line)
(setq start (point)))
(goto-char (point-min))
(when (re-search-forward "\\(\\s-\\|[\n\r]\\)+\\'" nil t)
(delete-region (match-beginning 0) (match-end 0)))
(goto-char (point-max))
(setq end (point))
(insert (lyskom-format "\n(%#1n) %#2s\n\n"
text-no
(make-string (- kom-text-footer-dash-length
(lyskom-string-width (int-to-string text-no))
3) ?-)))
(goto-char (point-min))
(lyskom-format-insert-at-point 'text-no-comment
text-no
(lyskom-return-date-and-time
(lyskom-client-date))
(count-lines start end)
conf-stat
is-anonymous)
(append-to-file (point-min)
(point-max)
(expand-file-name kom-created-texts-are-saved))))
(file-error (message "%S" arg)(lyskom-format-insert-before-prompt 'cant-fcc-text-file-error
text-no
kom-created-texts-are-saved
(elt arg 1)
(elt arg 2)
))
(error (lyskom-format-insert-before-prompt 'cant-fcc-text
text-no
kom-created-texts-are-saved
(error-message-string arg)))))
(defun lyskom-edit-show-commented (text text-stat editing-buffer window)
"Handles the TEXT and TEXT-STAT from the return of the call of the text.
......
......@@ -765,6 +765,10 @@ Text %#1n has more than one root but only one of the trees will be shown.\n")
(anonymous-aux-flag . "anonymous")
(inherit-aux-flag . "inherited")
(aux-item-prefix . "> ")
(comment-item-prefix . "#\\s-*")
(text-no-comment . "%#1d %#2s /%#3d line%#3?d%[%]%[s%]/ %#4P %#5?b%[ [anonymous]%]%[%]\n")
(cant-fcc-text-file-error . "Unable to save text %#1n to \"%#2s\" (%#3s: %#4s).\n")
(cant-fcc-text . "Unable to save text %#1n to \"%#2s\" (%#3s).\n")
(header-subject . "Subject: ")
(header-separator . "\\<lyskom-edit-mode-map>\
......@@ -1467,6 +1471,7 @@ You must become an active member of the conference to enter it.\n")
(lyskom-button-mark-text-action . "Mark text")
(lyskom-button-unmark-text-action . "Unmark text")
(lyskom-button-save-text-action . "Save archive copy")
(lyskom-button-save-text-body-action . "Save text body")
(lyskom-button-view-conf-presentation-action . "View presentation")
(lyskom-button-view-conf-status-action . "View conference status")
(lyskom-button-goto-conf-action . "Go to conference")
......@@ -2193,6 +2198,7 @@ Select whether to execute command or keyboard macro.")
(off . "Off")
(yes . "Yes")
(no . "No ")
(to-file . "To file:")
(max-text-length . "For texts shorter than: ")
(friends . "Friends and other special people")
......@@ -3128,6 +3134,9 @@ be saved in the server. Otherwise it will be saved in your .emacs.")
bar of all windows whose active buffer belongs to a LysKOM session
with unread texts. The title bar may not be updated unless the
window is open.")
(kom-created-texts-are-saved-doc . "\
If this variable is set to a file name, all texts you write will be
saved to that file. Texts that could not be created are not saved.")
;;
;; Tags for variables
......@@ -3265,22 +3274,23 @@ be saved in the server. Otherwise it will be saved in your .emacs.")
(kom-long-lines-tag . "Long dashed lines:")
(kom-postpone-default-tag . "Default number of texts to postpone:")
(kom-allow-incompleteness-tag . "Allow incomplete information about unread texts:")
(kom-smileys-tag . "Show smileys graphically")
(kom-ignore-message-senders-tag . "Don't show messages from")
(kom-ignore-message-recipients-tag . "Don't show messages to")
(kom-text-footer-dash-length-tag . "Text footer length")
(kom-text-header-dash-length-tag . "Length of dashed line before text")
(kom-show-personal-message-date-tag . "Show date and time of messages")
(kom-w3-simplify-body-tag . "Display HTML without document colors")
(kom-mercial-tag . "Text do display when all is read")
(kom-server-priority-tag . "Session priority")
(kom-server-priority-breaks-tag . "Prompt to go to next LysKOM")
(kom-complete-numbers-before-names-tag . "Read conference numbers before names")
(kom-keep-alive-interval-tag . "Keep connection alive interval")
(kom-prompt-for-text-no-tag . "Commands that prompt for text numbers")
(kom-saved-file-name-tag . "File to archive texts in")
(kom-follow-attachments-tag . "Read imported attachments as texts")
(kom-show-unread-in-frame-title-tag . "Show unread indicator in title bar")
(kom-smileys-tag . "Show smileys graphically:")
(kom-ignore-message-senders-tag . "Don't show messages from:")
(kom-ignore-message-recipients-tag . "Don't show messages to:")
(kom-text-footer-dash-length-tag . "Text footer length:")
(kom-text-header-dash-length-tag . "Length of dashed line before text:")
(kom-show-personal-message-date-tag . "Show date and time of messages:")
(kom-w3-simplify-body-tag . "Display HTML without document colors:")
(kom-mercial-tag . "Text do display when all is read:")
(kom-server-priority-tag . "Session priority:")
(kom-server-priority-breaks-tag . "Prompt to go to next LysKOM:")
(kom-complete-numbers-before-names-tag . "Read conference numbers before names:")
(kom-keep-alive-interval-tag . "Keep connection alive interval:")
(kom-prompt-for-text-no-tag . "Commands that prompt for text numbers:")
(kom-saved-file-name-tag . "File to archive texts in:")
(kom-follow-attachments-tag . "Read imported attachments as texts:")
(kom-show-unread-in-frame-title-tag . "Show unread indicator in title bar:")
(kom-created-texts-are-saved-tag . "Save created texts:")
)
)
......
......@@ -627,6 +627,14 @@ This is a LysKOM button action."
(t (unwind-protect
(progn (pop-to-buffer buf)
(kom-save-text nil (list arg)))))))
(defun lyskom-button-save-text-body (buf arg text)
"In the LysKOM buffer BUF, save the text ARG. Last argument TEXT is ignored.
This is a LysKOM button action."
(cond ((not (integerp arg)) nil)
(t (unwind-protect
(progn (pop-to-buffer buf)
(kom-save-text-body arg))))))
(defun lyskom-button-view-conf-presentation (buf arg text)
......
......@@ -2242,59 +2242,6 @@ A list of pairs means OPTARG will be used as a key to look up the real
(lyskom-next-area (or arg 1) 'lyskom-text-start t))
(def-kom-command kom-save-text (arg &optional list-of-texts)
"Saves/appends the article before point to a file.
The article is determined by a search-backward the same as backward-text
and then a forward-text.
With an argument ARG the search is done over that number of texts.
The name of the file is read using the minibuffer and the default is kom-text."
(interactive "p")
(let ((buf (lyskom-get-buffer-create 'temp " *kom*-text" t))
(lyskom-print-complex-dates nil)
(kom-deferred-printing nil)
(name nil))
(save-excursion
(while (and arg (> arg 0))
(backward-text 1)
(if (looking-at "\\([0-9]+\\)\\s-")
(setq list-of-texts (cons (string-to-int (match-string 1))
list-of-texts)
arg (1- arg))
(setq arg 0)))
(set-buffer buf)
(setq kom-deferred-printing nil)
(erase-buffer)
(mapcar (function
(lambda (n)
(lyskom-view-text n)
(goto-char (point-max))
(insert "\n")))
list-of-texts)
(setq name (expand-file-name
(read-file-name
(if (eq 1 (length list-of-texts))
(lyskom-format 'save-one-on-file-q (car list-of-texts))
(lyskom-format 'save-many-on-file-q (length list-of-texts)))
(file-name-directory (or lyskom-saved-file-name kom-saved-file-name))
nil
nil
(file-name-nondirectory (or lyskom-saved-file-name kom-saved-file-name)))))
(cond ((file-directory-p name)
(lyskom-format-insert 'cant-save-to-directory name))
(t
(set-buffer lyskom-buffer)
(if (eq 1 (length list-of-texts))
(lyskom-format-insert-before-prompt 'saving-one-on-file
(car list-of-texts)
name)
(lyskom-format-insert-before-prompt 'saving-many-on-file
(length list-of-texts)
name))
(set-buffer buf)
(append-to-file (point-min) (point-max) name)
(setq lyskom-saved-file-name name))
))))
(def-kom-command kom-save-text-body (text-no &optional filename)
"Save the body of text TEXT-NO to file FILENAME."
(interactive (list (lyskom-read-text-no-prefix-arg 'what-save-no)
......@@ -2341,6 +2288,67 @@ The name of the file is read using the minibuffer and the default is kom-text."
(t (lyskom-insert 'confusion-what-to-save))))
(def-kom-command kom-save-text (arg &optional list-of-texts filename)
"Saves/appends the article before point to a file.
The article is determined by a search-backward the same as backward-text
and then a forward-text.
With an argument ARG the search is done over that number of texts.
If FILENAME is nil, the name of the file is read using the minibuffer
and the default is taken from kom-saved-file-name the first time. Subsequent
calls use the most recently specified file name."
(interactive "p")
(let ((name nil))
(save-excursion
(while (and arg (> arg 0))
(backward-text 1)
(if (looking-at "\\([0-9]+\\)\\s-")
(setq list-of-texts (cons (string-to-int (match-string 1))
list-of-texts)
arg (1- arg))
(setq arg 0)))
(setq name (expand-file-name
(or filename
(read-file-name
(if (eq 1 (length list-of-texts))
(lyskom-format 'save-one-on-file-q (car list-of-texts))
(lyskom-format 'save-many-on-file-q (length list-of-texts)))
(file-name-directory (or lyskom-saved-file-name kom-saved-file-name))
nil
nil
(file-name-nondirectory (or lyskom-saved-file-name kom-saved-file-name))))))
(cond ((file-directory-p name)
(lyskom-format-insert 'cant-save-to-directory name))
(t
(set-buffer lyskom-buffer)
(if (eq 1 (length list-of-texts))
(lyskom-format-insert-before-prompt 'saving-one-on-file
(car list-of-texts)
name)
(lyskom-format-insert-before-prompt 'saving-many-on-file
(length list-of-texts)
name))
(mapcar (lambda (n)
(blocking-do-multiple ((text-stat (get-text-stat n))
(text (get-text n)))
(lyskom-save-text text-stat text name)))
list-of-texts)
(setq lyskom-saved-file-name name))
))))
(defun lyskom-save-text (text-stat text filename)
"Save text in TEXT-STAT and TEXT to FILENAME."
(let ((buf (lyskom-get-buffer-create 'temp "*kom*-text" t))
(lyskom-print-complex-dates nil)
(kom-deferred-printing nil))
(save-excursion
(set-buffer buf)
(setq kom-deferred-printing nil)
(erase-buffer)
(lyskom-view-text (text-stat->text-no text-stat))
(append-to-file (point-min) (point-max) filename))))
;;; ================================================================
......
......@@ -152,6 +152,7 @@
[kom-follow-comments-outside-membership]
[kom-follow-attachments]
[kom-created-texts-are-read]
[kom-created-texts-are-saved]
"\n"
[kom-saved-file-name]
[kom-default-mark]
......@@ -480,6 +481,8 @@ customize buffer but do not save them to the server."
(kom-enabled-prompt-format-executing (string))
(kom-cite-string (string))
(kom-created-texts-are-read (toggle (yes no)))
(kom-created-texts-are-saved (choice ((const (no nil))
(file nil :tag to-file))))
(kom-default-mark (choice ((number (0 255)
:tag selected-mark
:format "%[%t%] (%v)"
......@@ -800,7 +803,7 @@ customize buffer but do not save them to the server."
(defun lyskom-file-widget (type &optional args propl)
(lyskom-build-simple-widget-spec 'file
'(:format "%[%t%] %v" ':size 0)
'(:format "%[%t%] %v" :size 0)
propl))
(defun lyskom-person-widget (type &optional args propl)
......
......@@ -769,6 +769,10 @@ M
(anonymous-aux-flag . "anonym")
(inherit-aux-flag . "rvd")
(aux-item-prefix . "> ")
(comment-item-prefix . "#\\s-*")
(text-no-comment . "%#1d %#2s /%#3d rad%#3?d%[%]%[er%]/ %#4P %#5?b%[ [anonymt]%]%[%]\n")
(cant-fcc-text-file-error . "Kan inte spara inlgg %#1n till \"%#2s\" (%#3s: %#4s).\n")
(cant-fcc-text . "Kan inte spara inlgg %#1n till \"%#2s\" (%#3s).\n")
(header-subject . "rende: ")
(header-separator . "\\<lyskom-edit-mode-map>\
......@@ -1469,7 +1473,8 @@ Du m
(lyskom-button-private-comment-text-action . "Personligt svar")
(lyskom-button-mark-text-action . "Markera texten")
(lyskom-button-unmark-text-action . "Avmarkera texten")
(lyskom-button-save-text-action . "Arkivera")
(lyskom-button-save-text-action . "Arkivera inlgg")
(lyskom-button-save-text-body-action . "Spara inlggstext")
(lyskom-button-view-conf-presentation-action . "Visa presentation")
(lyskom-button-view-conf-status-action . "Visa mtesstatus")
(lyskom-button-goto-conf-action . "G till mtet")
......@@ -2236,6 +2241,7 @@ Du m
(off . "Av")
(yes . "Ja ")
(no . "Nej")
(to-file . "Till fil:")
(max-text-length . "Fr inlgg kortare n: ")
(friends . "Vnner och bekanta")
......@@ -3175,6 +3181,10 @@ i servern. Annars sparas det i din .emacs.")
Om detta r pslaget s visas \"(Olsta)\" i titelraden fr de
fnster vars valda buffert hr till en LysKOM-session med olsta.
Det r inte skert att titelraden ndras om fnstret inte r ppet.")
(kom-created-texts-are-saved-doc . "\
Om detta r ett filnamn s sparas alla inlgg man skriver till den
filen i ungefr samma format som de har nr man lser dem. Inlgg
som inte kan skapas sparas inte.")
;;
......@@ -3313,22 +3323,23 @@ i servern. Annars sparas det i din .emacs.")
(kom-long-lines-tag . "Lnga streckade linjer:")
(kom-postpone-default-tag . "Sknsvrde fr uppskjuta lsning:")
(kom-allow-incompleteness-tag . "Tillt ofullstndig information om olsta:")
(kom-smileys-tag . "Visa gladmn grafiskt")
(kom-ignore-message-senders-tag . "Visa inte meddelanden frn")
(kom-ignore-message-recipients-tag . "Visa inte meddelanden till")
(kom-text-footer-dash-length-tag . "Inlggsfotens lngd")
(kom-text-header-dash-length-tag . "Lngden p linjen ovanfr inlggstexten")
(kom-show-personal-message-date-tag . "Visa datum fr alla meddelanden")
(kom-w3-simplify-body-tag . "Visa HTML utan standardfrger")
(kom-mercial-tag . "Text nr allt r utlst")
(kom-server-priority-tag . "Sessionsprioritet")
(kom-server-priority-breaks-tag . "Byt till LysKOM med olsta")
(kom-complete-numbers-before-names-tag . "Ls mtesnummer fre mtesnamn")
(kom-keep-alive-interval-tag . "Intervall fr hll frbindelsen igng")
(kom-prompt-for-text-no-tag . "Kommandon som skall frga efter textnummer")
(kom-saved-file-name-tag . "Fil att arkivera inlgg i")
(kom-follow-attachments-tag . "Ls importerade bilagor som vanligt")
(kom-show-unread-in-frame-title-tag . "Visa olstamarkering i titelraden")
(kom-smileys-tag . "Visa gladmn grafiskt:")
(kom-ignore-message-senders-tag . "Visa inte meddelanden frn:")
(kom-ignore-message-recipients-tag . "Visa inte meddelanden till:")
(kom-text-footer-dash-length-tag . "Inlggsfotens lngd:")
(kom-text-header-dash-length-tag . "Lngden p linjen ovanfr inlggstexten:")
(kom-show-personal-message-date-tag . "Visa datum fr alla meddelanden:")
(kom-w3-simplify-body-tag . "Visa HTML utan standardfrger:")
(kom-mercial-tag . "Text nr allt r utlst:")
(kom-server-priority-tag . "Sessionsprioritet:")
(kom-server-priority-breaks-tag . "Byt till LysKOM med olsta:")
(kom-complete-numbers-before-names-tag . "Ls mtesnummer fre mtesnamn:")
(kom-keep-alive-interval-tag . "Intervall fr hll frbindelsen igng:")
(kom-prompt-for-text-no-tag . "Kommandon som skall frga efter textnummer:")
(kom-saved-file-name-tag . "Fil att arkivera inlgg i:")
(kom-follow-attachments-tag . "Ls importerade bilagor som vanligt:")
(kom-show-unread-in-frame-title-tag . "Visa olstamarkering i titelraden:")
(kom-created-texts-are-saved-tag . "Spara frfattade inlgg:")
)
)
......
......@@ -182,6 +182,12 @@ enabled mode."
"*String to insert before each line of a commented text."
server)
(def-kom-var kom-created-texts-are-saved nil
"*If non-nil, save all created texts to a file.
The value of this variable is the file name on which to save new texts."
server
inherited)
(def-kom-var kom-created-texts-are-read t
"*Non-nil means automatically mark texts that you create as read."
server)
......@@ -1089,6 +1095,7 @@ at random and used. This element may be a string, function or list."
(lyskom-button-mark-text-action . lyskom-button-mark-text)
(lyskom-button-unmark-text-action . lyskom-button-unmark-text)
(lyskom-button-save-text-action . lyskom-button-save-text)
(lyskom-button-save-text-body-action . lyskom-button-save-text-body)
)
nil
;; ((nil lyskom-print-text footer lyskom-button-comment-text))
......@@ -1882,27 +1889,44 @@ set to that text."
"List of patterns that are filtered."
local)
(def-kom-var lyskom-create-text-hook nil
"Hook to run before creating a new text.
This hook is run just before the server call to create the text is made.
The hook is currently called with the following arguments:
MESSAGE The message text
MISC-LIST The misc-info list
AUX-LIST The aux-item list
BUFFER The edit buffer
IS-ANONYMOUS Non-nil if the user is currently anonymous.
&rest RESERVED Additional arguments may be added in the future.
The hook can change the message by modifying the variable
full-message, the misc-info list my modifying misc-list and the
aux-item list by modifying aux-list. This is not encouraged."
local-hook)
(def-kom-var lyskom-new-text-hook nil
"*Hook to run when a new text is created.
"Hook to run when a new text is created.
This hook is run after the prompt is removed if it shall be changed but before
the text Text 4711 är skapad! is printed in the message area. And before the
new prompt is printed.
If the text: Text 4711 är skapad! should not be printed then the hook should
set the local variable no-message non-nil."
server)
new prompt is printed."
local-hook)
(def-kom-var lyskom-deleted-text-hook nil
"*Hook to run when a text is deleted.