Commit 523c4b2f authored by David Byers's avatar David Byers
Browse files

Fixed bugs 1086, 281

parent 3b2b455e
2007-07-11 <David Byers@GULAG> 2007-07-11 <David Byers@GULAG>
Fix bug 281:
* vars.el.in (lyskom-format-special): Cover all IANA mime type
allocations, and include fallback for anything unknown.
* lyskom-rest.el (lyskom-text-stat-content-type): New function.
(lyskom-format-audio): New function.
(lyskom-format-video): New function.
(lyskom-format-multipart): New function.
(lyskom-format-message): New function.
(lyskom-format-model): New function.
(lyskom-format-application): New function.
(lyskom-format-image): Show content type when failing to show image.
(lyskom-format-unknown): New function.
* view-text.el (lyskom-format-text-footer): Allow strings as format flags.
* vars.el.in (kom-respect-ancient-content-types): New variable.
* lyskom-rest.el (lyskom-format-text-body): Don't get content type
from text body unless kom-respect-ancient-content-types is
non-nil.
Fix bug 818: Fix bug 818:
* startup.el (lyskom-read-server-name): Use programmed completion. * startup.el (lyskom-read-server-name): Use programmed completion.
(lyskom-complete-server-name): Programmed completion function for (lyskom-complete-server-name): Programmed completion function for
......
...@@ -3512,6 +3512,7 @@ See `kom-confirm-add-recipients'. ...@@ -3512,6 +3512,7 @@ See `kom-confirm-add-recipients'.
This command accepts text number prefix arguments (see This command accepts text number prefix arguments (see
`lyskom-read-text-no-prefix-arg')." `lyskom-read-text-no-prefix-arg')."
(interactive (list (lyskom-read-text-no-prefix-arg 'text-to-add-recipient))) (interactive (list (lyskom-read-text-no-prefix-arg 'text-to-add-recipient)))
(setq text-no (lyskom-add-sub-adjust-text-no text-no 'add-roots-q))
(lyskom-add-helper text-no (lyskom-add-helper text-no
'who-to-add-q 'who-to-add-q
'adding-name-as-recipient 'adding-name-as-recipient
...@@ -3527,6 +3528,7 @@ See `kom-confirm-add-recipients'. ...@@ -3527,6 +3528,7 @@ See `kom-confirm-add-recipients'.
This command accepts text number prefix arguments (see This command accepts text number prefix arguments (see
`lyskom-read-text-no-prefix-arg')." `lyskom-read-text-no-prefix-arg')."
(interactive (list (lyskom-read-text-no-prefix-arg 'text-to-add-copy))) (interactive (list (lyskom-read-text-no-prefix-arg 'text-to-add-copy)))
(setq text-no (lyskom-add-sub-adjust-text-no text-no 'add-roots-q))
(lyskom-add-helper text-no (lyskom-add-helper text-no
'who-to-add-copy-q 'who-to-add-copy-q
'adding-name-as-copy 'adding-name-as-copy
...@@ -3542,34 +3544,46 @@ See `kom-confirm-add-recipients'. ...@@ -3542,34 +3544,46 @@ See `kom-confirm-add-recipients'.
This command accepts text number prefix arguments (see This command accepts text number prefix arguments (see
`lyskom-read-text-no-prefix-arg')." `lyskom-read-text-no-prefix-arg')."
(interactive (list (lyskom-read-text-no-prefix-arg 'text-to-add-bcc))) (interactive (list (lyskom-read-text-no-prefix-arg 'text-to-add-bcc)))
(setq text-no (lyskom-add-sub-adjust-text-no text-no 'add-roots-q))
(lyskom-add-helper text-no (lyskom-add-helper text-no
'who-to-add-bcc-q 'who-to-add-bcc-q
'adding-name-as-copy 'adding-name-as-copy
'BCC-RECPT)) 'BCC-RECPT))
(defun lyskom-add-helper (text-no who-prompt doing-prompt type) (defun lyskom-add-sub-adjust-text-no (text-no prompt)
(let* ((text-stat (blocking-do 'get-text-stat text-no)) "If TEXT-NO is a footnote or attachment, ask if user wants to operate on root instead."
(attachments (lyskom-attachments-for-sub text-no)) (let ((roots (lyskom-get-root-text-belongs-to (blocking-do 'get-text-stat text-no) t)))
(footnotes (lyskom-footnotes-for-sub text-no)) (cond ((null roots) (list text-no))
(move-footnotes nil) ((and (null (cdr roots))
(move-attachments nil) (eq text-no (car roots))) roots)
(target (lyskom-read-conf-stat who-prompt '(all) nil nil t))) ((j-or-n-p (lyskom-format prompt text-no (car roots) (cdr roots))) roots)
(t (list text-no)))))
(when (and target text-no)
(defun lyskom-add-helper (text-nos who-prompt doing-prompt type)
(when (and (eq type 'RECPT) (let ((initial-dest nil))
kom-confirm-add-recipients (lyskom-traverse text-no text-nos
(not (lyskom-j-or-n-p (let* ((text-stat (blocking-do 'get-text-stat text-no))
(lyskom-format 'really-add-as-recpt-q target)))) (attachments (lyskom-attachments-for-sub text-no))
(setq type 'CC-RECPT doing-prompt 'adding-name-as-copy)) (footnotes (lyskom-footnotes-for-sub text-no))
(move-footnotes nil)
(setq move-footnotes (and footnotes (lyskom-j-or-n-p 'add-footnotes-too-q))) (move-attachments nil)
(setq move-attachments (and attachments (lyskom-j-or-n-p 'add-attachments-too-q))) (target (lyskom-read-conf-stat (lyskom-format who-prompt text-no) '(all) nil initial-dest t)))
(lyskom-traverse text (append (list (cons text-no text-stat))
(and move-footnotes footnotes) (when (and target text-no)
(and move-attachments attachments)) (setq initial-dest (conf-stat->name target))
(lyskom-format-insert doing-prompt target (car text)) (when (and (eq type 'RECPT)
(lyskom-move-recipient (car text) nil target type))))) kom-confirm-add-recipients
(not (lyskom-j-or-n-p
(lyskom-format 'really-add-as-recpt-q target))))
(setq type 'CC-RECPT doing-prompt 'adding-name-as-copy))
(setq move-footnotes (and footnotes (lyskom-j-or-n-p 'add-footnotes-too-q)))
(setq move-attachments (and attachments (lyskom-j-or-n-p 'add-attachments-too-q)))
(lyskom-traverse text (append (list (cons text-no text-stat))
(and move-footnotes footnotes)
(and move-attachments attachments))
(lyskom-format-insert doing-prompt target (car text))
(lyskom-move-recipient (car text) nil target type)))))))
(defun lyskom-footnotes-for-sub (text-no) (defun lyskom-footnotes-for-sub (text-no)
"Return the list of footnotes to remove recipient from." "Return the list of footnotes to remove recipient from."
...@@ -3611,37 +3625,40 @@ the last recipient, since this will make the text unreadable. ...@@ -3611,37 +3625,40 @@ the last recipient, since this will make the text unreadable.
This command accepts text number prefix arguments (see This command accepts text number prefix arguments (see
`lyskom-read-text-no-prefix-arg')." `lyskom-read-text-no-prefix-arg')."
(interactive (list (lyskom-read-text-no-prefix-arg 'text-to-delete-recipient))) (interactive (list (lyskom-read-text-no-prefix-arg 'text-to-delete-recipient)))
(let* ((text-stat (blocking-do 'get-text-stat text-no)) (let ((initial-source nil))
(attachments (lyskom-attachments-for-sub text-no)) (lyskom-traverse text-no (lyskom-add-sub-adjust-text-no text-no 'sub-roots-q)
(footnotes (lyskom-footnotes-for-sub text-no)) (let* ((text-stat (blocking-do 'get-text-stat text-no))
(move-footnotes nil) (attachments (lyskom-attachments-for-sub text-no))
(move-attachments nil)) (footnotes (lyskom-footnotes-for-sub text-no))
(if text-stat (move-footnotes nil)
(let ((recipients (move-attachments nil))
(sort (lyskom-text-recipients text-stat t) (if text-stat
(lambda (a b) (let ((recipients
(> (length (memq (cdr a) lyskom-recpt-types-list)) (sort (lyskom-text-recipients text-stat t)
(length (memq (cdr b) lyskom-recpt-types-list))))))) (lambda (a b)
(if recipients (> (length (memq (cdr a) lyskom-recpt-types-list))
(let* ((source (lyskom-read-conf-stat (length (memq (cdr b) lyskom-recpt-types-list)))))))
'who-to-sub-q (if recipients
(list (cons 'restrict (mapcar 'car recipients))) (let* ((source (lyskom-read-conf-stat
nil (lyskom-format 'who-to-sub-q text-no)
nil (list (cons 'restrict (mapcar 'car recipients)))
t))) nil
(when source initial-source
(setq move-footnotes (and footnotes (lyskom-j-or-n-p 'sub-footnotes-too-q))) t)))
(setq move-attachments (and attachments (lyskom-j-or-n-p 'sub-attachments-too-q))) (when source
(setq initial-source (conf-stat->name source))
(lyskom-traverse text (append (list (cons text-no text-stat)) (setq move-footnotes (and footnotes (lyskom-j-or-n-p 'sub-footnotes-too-q)))
(and move-footnotes footnotes) (setq move-attachments (and attachments (lyskom-j-or-n-p 'sub-attachments-too-q)))
(and move-attachments attachments))
(lyskom-format-insert 'remove-name-as-recipient source (cdr text)) (lyskom-traverse text (append (list (cons text-no text-stat))
(if (memq (conf-stat->conf-no source) (lyskom-text-recipients (cdr text))) (and move-footnotes footnotes)
(lyskom-move-recipient (car text) source nil nil) (and move-attachments attachments))
(lyskom-insert 'move-text-not-recipient))))) (lyskom-format-insert 'remove-name-as-recipient source (cdr text))
(lyskom-format-insert 'text-has-no-recipients-r text-no))) (if (memq (conf-stat->conf-no source) (lyskom-text-recipients (cdr text)))
(lyskom-format-insert 'no-such-text-no text-no)))) (lyskom-move-recipient (car text) source nil nil)
(lyskom-insert 'move-text-not-recipient)))))
(lyskom-format-insert 'text-has-no-recipients-r text-no)))
(lyskom-format-insert 'no-such-text-no text-no))))))
(def-kom-command kom-move-text (text-no) (def-kom-command kom-move-text (text-no)
...@@ -3657,42 +3674,56 @@ CONTINUATION is the function that does the actual moving. It is called ...@@ -3657,42 +3674,56 @@ CONTINUATION is the function that does the actual moving. It is called
with three arguments: source, target and text-stat, where source is the with three arguments: source, target and text-stat, where source is the
recipient to remove and target the recipient to add to text-stat." recipient to remove and target the recipient to add to text-stat."
(interactive (list (lyskom-read-text-no-prefix-arg 'text-to-move))) (interactive (list (lyskom-read-text-no-prefix-arg 'text-to-move)))
(let* ((text-stat (blocking-do 'get-text-stat text-no)) (let (initial-from initial-to)
(attachments (lyskom-attachments-for-sub text-no)) (lyskom-traverse text-no (lyskom-add-sub-adjust-text-no text-no 'move-roots-q)
(footnotes (lyskom-footnotes-for-sub text-no)) (let* ((text-stat (blocking-do 'get-text-stat text-no))
(move-footnotes nil) (attachments (lyskom-attachments-for-sub text-no))
(move-attachments nil)) (footnotes (lyskom-footnotes-for-sub text-no))
(if (null text-stat) (move-footnotes nil)
(lyskom-format-insert 'no-such-text-no text-no) (move-attachments nil))
(let* ((recipients (sort (lyskom-text-recipients text-stat t) (if (null text-stat)
(lambda (a b) (lyskom-format-insert 'no-such-text-no text-no)
(> (length (memq (cdr a) lyskom-recpt-types-list)) (let* ((recipients (sort (lyskom-text-recipients text-stat t)
(length (memq (cdr b) lyskom-recpt-types-list))))))) (lambda (a b)
(if (null recipients) (> (length (memq (cdr a) lyskom-recpt-types-list))
(lyskom-format-insert 'text-has-no-recipients-r text-no) (length (memq (cdr b) lyskom-recpt-types-list)))))))
(let ((source (lyskom-read-conf-stat (if (null recipients)
'who-to-move-from-q (lyskom-format-insert 'text-has-no-recipients-r text-no)
(list (cons 'restrict (mapcar 'car recipients))) (let ((source (lyskom-read-conf-stat
nil nil t)) (lyskom-format 'who-to-move-from-q text-no)
(target (lyskom-read-conf-stat 'who-to-move-to-q '(all) (list (cons 'restrict (mapcar 'car recipients)))
nil nil t))) nil
(when (and source target) (uconf-stat->name
(if (eq (conf-stat->conf-no source) (cond ((and (cdr recipients)
(conf-stat->conf-no target)) (assq initial-from recipients))
(lyskom-insert-before-prompt 'cant-move-from-to-same) (blocking-do 'get-uconf-stat initial-from))
(setq move-footnotes (and footnotes (lyskom-j-or-n-p 'move-footnotes-too-q))) ((cdr recipients) nil)
(setq move-attachments (and attachments (lyskom-j-or-n-p 'move-attachments-too-q))) (t (blocking-do 'get-uconf-stat (car (car recipients))))))
t))
(lyskom-traverse text (append (list (cons text-no text-stat)) (target (lyskom-read-conf-stat (lyskom-format 'who-to-move-to-q text-no)
(and move-footnotes footnotes) '(all)
(and move-attachments attachments)) nil
(if (null (cdr text)) initial-to
(lyskom-format-insert 'moving-cant-read (car text)) t)))
(lyskom-format-insert 'moving-name source target (cdr text)) (when (and source target)
(if (memq (conf-stat->conf-no source) (lyskom-text-recipients (cdr text))) (setq initial-from (conf-stat->conf-no source)
(lyskom-move-recipient (car text) source target 'RECPT) initial-to (conf-stat->name target))
(lyskom-insert 'move-text-not-recipient)) (if (eq (conf-stat->conf-no source)
)))))))))) (conf-stat->conf-no target))
(lyskom-insert-before-prompt 'cant-move-from-to-same)
(setq move-footnotes (and footnotes (lyskom-j-or-n-p 'move-footnotes-too-q)))
(setq move-attachments (and attachments (lyskom-j-or-n-p 'move-attachments-too-q)))
(lyskom-traverse text (append (list (cons text-no text-stat))
(and move-footnotes footnotes)
(and move-attachments attachments))
(if (null (cdr text))
(lyskom-format-insert 'moving-cant-read (car text))
(lyskom-format-insert 'moving-name source target (cdr text))
(if (memq (conf-stat->conf-no source) (lyskom-text-recipients (cdr text)))
(lyskom-move-recipient (car text) source target 'RECPT)
(lyskom-insert 'move-text-not-recipient))
))))))))))))
(def-kom-command kom-move-text-tree (text-no) (def-kom-command kom-move-text-tree (text-no)
......
...@@ -440,6 +440,9 @@ and you have finished reading. Please come back later. ...@@ -440,6 +440,9 @@ and you have finished reading. Please come back later.
(active-last . "Active last") (active-last . "Active last")
(active . "Active") (active . "Active")
(lyskom-client . "Client") (lyskom-client . "Client")
(move-roots-q . "Text %#1n is a footnote/attachment. Move %#2n%#3?b%[ et al.%]%[%] instead? ")
(add-roots-q . "Text %#1n is a footnote/attachment. Add to %#2n%#3?b%[ et al.%]%[%] instead? ")
(sub-roots-q . "Text %#1n is a footnote/attachment. Remove from %#2n%#3?b%[ et al.%]%[%] instead? ")
(text-to-add-recipient . "Add recipient to which text:") (text-to-add-recipient . "Add recipient to which text:")
(text-to-add-copy . "Add recipient of carbon copy to which text:") (text-to-add-copy . "Add recipient of carbon copy to which text:")
(text-to-add-bcc . "Add recipient of blind carbon copy to which text:") (text-to-add-bcc . "Add recipient of blind carbon copy to which text:")
...@@ -562,19 +565,19 @@ Read all about it at http://www.lysator.liu.se/history/") ...@@ -562,19 +565,19 @@ Read all about it at http://www.lysator.liu.se/history/")
. " A total of %#1d visible%#1?d%[%]%[%] active user%#1?d%[%]%[s%] (%#2s).\n") . " A total of %#1d visible%#1?d%[%]%[%] active user%#1?d%[%]%[s%] (%#2s).\n")
(client-statistics . " Distribution of clients:\n") (client-statistics . " Distribution of clients:\n")
(client-statistics-line . " %4#2d %#1s%#3?d%[%]%[ [%#3d variants]%]") (client-statistics-line . " %4#2d %#1s%#3?d%[%]%[ [%#3d variants]%]")
(who-to-add-q . "Add whom/what as a recipient? ") (who-to-add-q . "Add whom/what as a recipient of text %#1n? ")
(who-to-add-copy-q . "Add which conference/user as carbon copy recipient? ") (who-to-add-copy-q . "Add which conference/user as carbon copy recipient of text %#1n? ")
(who-to-add-bcc-q . "Add which conference/user as blind carbon copy recipient? ") (who-to-add-bcc-q . "Add which conference/user as blind carbon copy recipient of text %#1n? ")
(add-footnotes-too-q . "Try to add recipient to footnotes? ") (add-footnotes-too-q . "Try to add recipient to footnotes? ")
(add-attachments-too-q . "Try to add recipient to attachments? ") (add-attachments-too-q . "Try to add recipient to attachments? ")
(really-add-as-recpt-q . "Send future comments to the text to %#1M too? ") (really-add-as-recpt-q . "Send future comments to the text to %#1M too? ")
(who-to-sub-q . "Remove whom/what as a recipient? ") (who-to-sub-q . "Remove whom/what as a recipient of %#1n? ")
(sub-footnotes-too-q . "Try to remove recipient from footnotes? ") (sub-footnotes-too-q . "Try to remove recipient from footnotes? ")
(sub-attachments-too-q . "Try to remove recipient from attachments? ") (sub-attachments-too-q . "Try to remove recipient from attachments? ")
(who-to-move-from-q . "Move from where? ") (who-to-move-from-q . "Move text %#1n from where? ")
(who-to-move-to-q . "Move to where? ") (who-to-move-to-q . "Move text %#1n to where? ")
(who-to-move-to-or-sub-q . "Move to where (empty to just remove recipient)? ") (who-to-move-to-or-sub-q . "Move to where (empty to just remove recipient)? ")
(move-footnotes-too-q . "Try to move footnotes? ") (move-footnotes-too-q . "Try to move footnotes? ")
(move-attachments-too-q . "Try to move attachments? ") (move-attachments-too-q . "Try to move attachments? ")
...@@ -1518,7 +1521,21 @@ On since %#8s%#9s") ...@@ -1518,7 +1521,21 @@ On since %#8s%#9s")
(reformat-enriched . "enriched") (reformat-enriched . "enriched")
(reformat-filled . "filled") (reformat-filled . "filled")
(reformat-image . "image") (reformat-image . "image")
(image-no-show . "< The image cannot be shown. >") (image-no-show . "< The image (%#1s) cannot be shown. >")
(reformat-video . "video")
(video-no-show . "< Video (%#1s) not supported. >")
(reformat-audio . "audio")
(audio-no-show . "< Audio (%#1s) not supported. >")
(reformat-multipart . "multipart")
(multipart-no-show . "< Multipart (%#1s) texts not supported. >")
(reformat-message . "message")
(message-no-show . "< Message type (%#1s) not supported. >")
(reformat-model . "model")
(model-no-show . "< Models (%#1s) not supported. >")
(reformat-application . "application data")
(application-no-show . "< Application data (%#1s) not supported. >")
(reformat-unknown . "unknown type")
(unknown-no-show . "< Unknown type (%#1s) not supported. >")
(reformat-truncated . "truncated") (reformat-truncated . "truncated")
......
...@@ -2260,19 +2260,23 @@ reappears." ...@@ -2260,19 +2260,23 @@ reappears."
;;; ================================================================ ;;; ================================================================
;;; Text body formatting ;;; Text body formatting
(defun lyskom-text-stat-content-type (text text-stat)
"Return the content type of a text."
(let* ((ct-item (and text-stat (car (text-stat-find-aux text-stat 1)))))
(or (cond (ct-item (aux-item->data ct-item))
((and kom-respect-ancient-content-types
(string-match "\\`\\(\\S-+\\):\\s-*$" text)
(match-beginning 1))
(match-string 1 text))
(t nil))
"text/x-kom-basic")))
(lyskom-try-require 'latin-unity) (lyskom-try-require 'latin-unity)
(lyskom-with-external-functions (smiley-region latin-unity-remap-region) (lyskom-with-external-functions (smiley-region latin-unity-remap-region)
(defun lyskom-format-text-body (text &optional text-stat) (defun lyskom-format-text-body (text &optional text-stat)
"Format a text for insertion. Does parsing of special markers in the text." "Format a text for insertion. Does parsing of special markers in the text."
(let* ((ct-item (and text-stat (car (text-stat-find-aux text-stat 1)))) (let* ((content-type (lyskom-text-stat-content-type text text-stat))
(content-type (or (cond (ct-item (aux-item->data ct-item))
((and (string-match "\\`\\(\\S-+\\):\\s-*$" text)
(match-beginning 1))
(match-string 1 text))
(t nil))
"text/x-kom-basic"))
(fn (and content-type (fn (and content-type
(cdr (let ((case-fold-search t)) (cdr (let ((case-fold-search t))
(lyskom-traverse el lyskom-format-special (lyskom-traverse el lyskom-format-special
...@@ -2373,7 +2377,7 @@ reappears." ...@@ -2373,7 +2377,7 @@ reappears."
(defun lyskom-signal-reformatted-text (how) (defun lyskom-signal-reformatted-text (how)
"Signal that the last text was reformatted HOW, which should be a string "Signal that the last text was reformatted HOW, which should be a string
in lyskom-messages." in lyskom-messages."
(or (memq how lyskom-last-text-format-flags) (or (member how lyskom-last-text-format-flags)
(setq lyskom-last-text-format-flags (cons how lyskom-last-text-format-flags)))) (setq lyskom-last-text-format-flags (cons how lyskom-last-text-format-flags))))
...@@ -2429,6 +2433,34 @@ in lyskom-messages." ...@@ -2429,6 +2433,34 @@ in lyskom-messages."
(defun lyskom-format-html-w3m (text text-stat) (defun lyskom-format-html-w3m (text text-stat)
(lyskom-format-html text text-stat 'w3m 'lyskom-w3m-region)) (lyskom-format-html text text-stat 'w3m 'lyskom-w3m-region))
(defun lyskom-format-audio (text text-stat)
(lyskom-signal-reformatted-text 'reformat-audio)
(lyskom-format 'audio-no-show (lyskom-text-stat-content-type text text-stat)))
(defun lyskom-format-video (text text-stat)
(lyskom-signal-reformatted-text 'reformat-video)
(lyskom-format 'video-no-show (lyskom-text-stat-content-type text text-stat)))
(defun lyskom-format-multipart (text text-stat)
(lyskom-signal-reformatted-text 'reformat-multipart)
(lyskom-format 'multipart-no-show (lyskom-text-stat-content-type text text-stat)))
(defun lyskom-format-message (text text-stat)
(lyskom-signal-reformatted-text 'reformat-message)
(lyskom-format 'message-no-show (lyskom-text-stat-content-type text text-stat)))
(defun lyskom-format-model (text text-stat)
(lyskom-signal-reformatted-text 'reformat-model)
(lyskom-format 'model-no-show (lyskom-text-stat-content-type text text-stat)))
(defun lyskom-format-application (text text-stat)
(lyskom-signal-reformatted-text 'reformat-application)
(lyskom-format 'application-no-show (lyskom-text-stat-content-type text text-stat)))
(defun lyskom-format-unknown (text text-stat)
(lyskom-signal-reformatted-text 'reformat-unknown)
(lyskom-format 'unknown-no-show (lyskom-text-stat-content-type text text-stat)))
(defun lyskom-format-image (text text-stat) (defun lyskom-format-image (text text-stat)
(if kom-format-show-images (if kom-format-show-images
(let* ((cti (lyskom-get-aux-item (text-stat->aux-items text-stat) 1)) (let* ((cti (lyskom-get-aux-item (text-stat->aux-items text-stat) 1))
...@@ -2450,9 +2482,11 @@ in lyskom-messages." ...@@ -2450,9 +2482,11 @@ in lyskom-messages."
(lyskom-put-image (lyskom-put-image
(lyskom-create-image imagedata imagetype t) (lyskom-create-image imagedata imagetype t)
(point-max))) (point-max)))
(setq msg (lyskom-get-string 'image-no-show)))) (setq msg (lyskom-format 'image-no-show
(lyskom-text-stat-content-type text text-stat)))))
; Errors just marks it as a no show ; Errors just marks it as a no show
(error (setq msg (lyskom-get-string 'image-no-show)))) (error (setq msg (lyskom-format 'image-no-show
(lyskom-text-stat-content-type text text-stat)))))
(lyskom-signal-reformatted-text 'reformat-image) (lyskom-signal-reformatted-text 'reformat-image)
msg))) msg)))
......
...@@ -580,6 +580,9 @@ All key bindings: ...@@ -580,6 +580,9 @@ All key bindings:
lyskom-last-known-pers-no lyskom-last-known-pers-no
kom-presence-messages kom-presence-messages
kom-dont-complain-about-missing-presentation kom-dont-complain-about-missing-presentation
kom-respect-ancient-content-types
kom-read-last-text-hook-conf-list
kom-list-summary-hook-conf-list
lyskom-settings-version) lyskom-settings-version)
"List of user variables not in lyskom-custom-variables.") "List of user variables not in lyskom-custom-variables.")
......
...@@ -446,6 +446,9 @@ du har l ...@@ -446,6 +446,9 @@ du har l
(active-last . "Aktiv senast") (active-last . "Aktiv senast")
(active . "Aktiv") (active . "Aktiv")
(lyskom-client . "Klient") (lyskom-client . "Klient")
(move-roots-q . "Inlgg %#1n r en fotnot/bilaga. Flytta %#2n%#3?b%[ mfl.%]%[%] istllet? ")
(add-roots-q . "Inlgg %#1n r en fotnot/bilaga. Addera till %#2n%#3?b%[ mfl.%]%[%] istllet? ")
(sub-roots-q . "Inlgg %#1n r en fotnot/bilaga. Subtrahera frn %#2n%#3?b%[ mfl.%]%[%] istllet? ")
(text-to-add-recipient . "Vilket inlgg vill du addera mottagare till:") (text-to-add-recipient . "Vilket inlgg vill du addera mottagare till:")
(text-to-add-copy . "Vilket inlgg vill du addera en extra kopia till:") (text-to-add-copy . "Vilket inlgg vill du addera en extra kopia till:")
(text-to-add-bcc . "Vilket inlgg vill du skicka som dold kopia:") (text-to-add-bcc . "Vilket inlgg vill du skicka som dold kopia:")
...@@ -591,19 +594,19 @@ i svensk datorhistoria. L ...@@ -591,19 +594,19 @@ i svensk datorhistoria. L
. " Sammanlagt %#1d synlig%#1?d%[%]%[a%] aktiv%#1?d%[%]%[a%] anvndare (%#2s).\n") . " Sammanlagt %#1d synlig%#1?d%[%]%[a%] aktiv%#1?d%[%]%[a%] anvndare (%#2s).\n")
(client-statistics . " Klienternas frdelning:\n") (client-statistics . " Klienternas frdelning:\n")
(client-statistics-line . " %4#2d %#1s%#3?d%[%]%[ [%#3d varianter]%]") (client-statistics-line . " %4#2d %#1s%#3?d%[%]%[ [%#3d varianter]%]")
(who-to-add-q . "Vilket mte/person vill du addera som mottagare? ") (who-to-add-q . "Vilket mte/person vill du addera som mottagare till text %#1n? ")
(who-to-add-copy-q . "Vilket mte/person vill du addera som kopiemottagare? ") (who-to-add-copy-q . "Vilket mte/person vill du addera som kopiemottagare till text %#1n? ")
(who-to-add-bcc-q . "Vilket mte/person vill du addera som mottagare av en dold kopia? ") (who-to-add-bcc-q . "Vilket mte/person vill du addera som mottagare av en dold kopia till text %#1n? ")
(add-footnotes-too-q . "Frsk addera mottagare till fotnoter ocks? ") (add-footnotes-too-q . "Frsk addera mottagare till fotnoter ocks? ")
(add-attachments-too-q . "Frsk addera mottagare till bilagor ocks? ") (add-attachments-too-q . "Frsk addera mottagare till bilagor ocks? ")
(really-add-as-recpt-q . "Skall framtida kommentarer till inlgget ocks skickas till %#1M? ") (really-add-as-recpt-q . "Skall framtida kommentarer till inlgget ocks skickas till %#1M? ")
(who-to-sub-q . "Vilket mte/person vill du subtrahera som mottagare? ") (who-to-sub-q . "Vilket mte/person vill du subtrahera som mottagare till text %#1n? ")
(sub-footnotes-too-q . "Frsk subtrahera mottagare frn fotnoter ocks? ") (sub-footnotes-too-q . "Frsk subtrahera mottagare frn fotnoter ocks? ")
(sub-attachments-too-q . "Frsk subtrahera mottagare frn bilagor ocks? ") (sub-attachments-too-q . "Frsk subtrahera mottagare frn bilagor ocks? ")
(who-to-move-from-q . "Frn vilket mte vill du flytta texten? ") (who-to-move-from-q . "Frn vilket mte vill du flytta text %#1n? ")
(who-to-move-to-q . "Vart vill du flytta texten? ") (who-to-move-to-q . "Vart vill du flytta text %#1n? ")
(who-to-move-to-or-sub-q . "Vart vill du flytta texten (tomt fr att bara subtrahera)? ") (who-to-move-to-or-sub-q . "Vart vill du flytta texten (tomt fr att bara subtrahera)? ")
(move-footnotes-too-q . "Frsk flytta fotnoter ocks? ") (move-footnotes-too-q . "Frsk flytta fotnoter ocks? ")
(move-attachments-too-q . "Frsk flytta bilagor ocks? ") (move-attachments-too-q . "Frsk flytta bilagor ocks? ")
...@@ -1567,7 +1570,21 @@ Uppkopplad sedan %#8s%#9s") ...@@ -1567,7 +1570,21 @@ Uppkopplad sedan %#8s%#9s")
(reformat-enriched . "enriched") (reformat-enriched . "enriched")
(reformat-filled . "ombruten") (reformat-filled . "ombruten")
(reformat-image . "bild") (reformat-image . "bild")
(image-no-show . "< Bilden kan inte visas. >") (image-no-show . "< Bilden (%#1s) kan inte visas. >")
(reformat-video . "video")
(video-no-show . "< Video (%#1s) stds inte. >")
(reformat-audio . "ljud")
(audio-no-show . "< Ljud (%#1s) stds inte. >")
(reformat-multipart . "flerdelat")
(multipart-no-show . "< Flerdelade inlgg (%#1s) stds inte. >")
(reformat-message . "meddelande")
(message-no-show . "< Meddelandetyp (%#1s) stds inte. >")
(reformat-model . "modell")
(model-no-show . "< Modeller (%#1s) stds inte. >")
(reformat-application . "tillmpningsdata")
(application-no-show . "< Tillmpningsdata (%#1s) stds inte. >")
(reformat-unknown . "oknd typ")
(unknown-no-show . "< Oknd typ (%#1s) stds inte. >")
(reformat-truncated . "nedkortad") (reformat-truncated . "nedkortad")
......
...@@ -4634,21 +4634,39 @@ Values other than those listed are reserved for future use." ...@@ -4634,21 +4634,39 @@ Values other than those listed are reserved for future use."
copy-transition lyskom-copy-indirect-assq) copy-transition lyskom-copy-indirect-assq)
(def-kom-var lyskom-format-special (def-kom-var lyskom-format-special
'(("html" . (lyskom-format-html-w3m lyskom-format-html-w3 lyskom-format-html-plaintext)) '(("html" . (lyskom-format-html-w3m lyskom-format-html-w3 lyskom-format-html-plaintext))
("enriched" . lyskom-format-enriched) ("enriched" . lyskom-format-enriched)
("^image/" . lyskom-format-image) ("^image/" . lyskom-format-image)
("^text/html" . (lyskom-format-html-w3m lyskom-format-html-w3 lyskom-format-html-plaintext)) ("^text/html" . (lyskom-format-html-w3m lyskom-format-html-w3 lyskom-format-html-plaintext))
("^text/enriched" . lyskom-format-enriched) ("^text/enriched" . lyskom-format-enriched)
("^text/" . lyskom-format-plaintext) ("^text/" . lyskom-format-plaintext)
("^x-kom/text" . lyskom-format-plaintext) ;Archaic alias for text/x-kom-basic. ("^x-kom/text" . lyskom-format-plaintext) ;Archaic alias for text/x-kom-basic.
("^x-kom/basic" . lyskom-format-plaintext) ;Archaic alias for text/x-kom-basic. ("^x-kom/basic" . lyskom-format-plaintext) ;Archaic alias for text/x-kom-basic.
("^x-kom/user-area" . lyskom-format-x-kom/user-area) ("^x-kom/user-area" . lyskom-format-x-kom/user-area)
("^x-kom/ö\\." . lyskom-format-ö)) ("^x-kom/ö\\." . lyskom-format-ö)
("^audio/" . lyskom-format-audio)
("^video/" . lyskom-format-video)
("^multipart/" . lyskom-format-multipart)