2007-06-24 Fixed bug 1608: * async.el (lyskom-show-logged-in-person): Applied modified patch from Per Jonsson (unlike the original patch, still print the server name). Fix bug 1620: * commands2.el (lyskom-send-message): Applied patch from Per Jonsson. 2007-06-13 Generalized support for lists like kom-highlight-conferences: * utilities.el (lyskom-indirect-assq): New function. (lyskom-indirect-assq-2): Utility function. 2007-06-12 Fix bug 1619: * commands2.el (kom-diff-texts): Use lyskom-compatible insertion commands for the diff. Fix bug 1636: * mime.el (lyskom-mime-encode-string): Added mime-charset parameter. * edit-text.el (lyskom-edit-parse-headers): Changed the return value to a data type (i was going to extend it, but ended up not doing so, but the new version is easier to follow anyway). (lyskom-edit-send): Use a temporary buffer (necessary since transformation functions may alter the text) and lyskom-mime-charset-for-text to determing text encoding. * mime.el (lyskom-mime-charset-for-text): New function (lyskom-mime-charset-for-string): Removed. (lyskom-charset-alist): Removed. From now on, we shall rely on mm-util in XEmacs. 2007-06-10 Better display of texts claiming to be us-ascii: * mime.el (lyskom-mime-decode-content-type): Pretend us-ascii texts are really latin-1. Fix bug 819: * completing-read.el (lyskom-read-conf-internal): When an exact match is found, return t only if the input string is equal to the only alternative. Fix bug 1277: * swedish-strings.el (coding-system-mismatch-warning): Added reference to Emacs manual. * utilities.el (lyskom-check-configuration): Don't warn about coding system if UTF-8 is supported. * lyskom-buttons.el (lyskom-make-button-menu): Encode menu strings properly. 2007-06-09 Prefer UTF-8 over all but latin-1: * mime.el (lyskom-charset-alist): Never choose us-ascii. When us-ascii text is detected, assume latin-1 instead. For some reason, us-ascii is detected on some emacsen even when this is not the case. A more powerful charset would perhaps be a better choice, but chances are if charset detection is broken, then what are the chances that e.g. unicode conversion works? (lyskom-charset-alist): Include utf-8 early in the list, making it the preferred charset (when it works). Follow links with mouse-1 in Emacs 22.1: * language.el (lyskom-language-keymap-internal): Bind follow-links in the global LysKOM keymaps. Fix various naming issues: * filter.el (lyskom-copy-filter): Renamed from copy-filter. (lyskom-filter-p): Renamed from filter-p. (lyskom-make-filter): Renamed from make-filter. * lyskom-rest.el (kom-backward-text): Renamed backward-text to kom-backward-text. Renamed forward-text to kom-forward-text. (lyskom-silent-read): Renamed silent-read to lyskom-silent-read. * parse.el: Renamed apply-parser lyskom-apply-parser. * review.el: Replaced all calls to nfirst with lyskom-nfirst. * lyskom-rest.el (lyskom-startup-check-recommended-memberships): Use lyskom-filter-list, not filter-list. * faqs.el (lyskom-get-unread-faqs): Same. * completing-read.el (lyskom-read-conf-guess-initial): Same. * utilities.el (lyskom-filter-list): Renamed from filter-list. (lyskom-nfirst): Renamed from nfirst. Fix menu display in Gnu Emacs 22.1: * menus.el (lyskom-define-menu-gnu-title-encoding-type): New variable used to encode top-level menu titles differently from nested menus. * language.el (lyskom-get-menu-string): Don't encode the menu strings here, since encoding needs to be different in different places. * menus.el (lyskom-menu-encoding-rules): New variable. (lyskom-menu-encode): New function. (lyskom-define-menu-xemacs): Encode menu strings. (lyskom-define-menu-gnu): Encode menu strings. 2007-06-08 Compatibility fixes for Gnu Emacs 22.1: * lyskom-rest.el (lyskom-sentinel): Check that proc is a process before using it as such. Call lyskom-remove-unread-buffer with the right argument (the buffer, not the process). (lyskom-session-nickname): Don't croak if the process is nil. * language.el (lyskom-get-menu-string): Decode menu string from latin-1 rather than encoding it. * compatibility.el (lyskom-frame-width): Dummy definition of lyskom-frame-width to suppress compilation warning. * view-text.el: Replaced string-to-int with lyskom-string-to-number. * aux-items.el: Same. * commands1.el: Same. * compatibility.el: Same. * completing-read.el: Same. * edit-text.el: Same. * faqs.el: Same. * filter-edit.el: Same. * flags.el: Same. * lyskom-buttons.el: Same. * lyskom-rest.el: Same. * option-edit.el: Same. * parse.el: Same. * regexp.el: Same. * review.el: Same. * startup.el: Same. * utilities.el: Same. * utilities.el: Fix for Emacs 22.1 (should also improve performance on XEmacs). (lyskom-string-to-int): Clarifyig comment in docstring. 2007-04-26 Hans Eric Svensson * lyskom-rest.el (lyskom-cache-all-memberships): New function which loads memberships into cache, so that we can be really sure that we haven't read a specific text. (lyskom-find-best-text): Use new function to load passive memberships into cache. (lyskom-find-lowest-text): Use new function to load passive memberships into cache. * view-text.el (lyskom-follow-comments): Moved use of variable kom-follow-comments-outside-membership to this function from lyskom-text-read-p. (lyskom-text-read-p): Moved use of the variable kom-follow-comments-outside-membership to lyskom-follow-comments. 2007-02-04 Per Cederqvist * edit-text.el (lyskom-edit-send): Document the hooks that this function runs. 2007-01-01 Ulrik Haugen * names.el (sv-1993): Remove empty string for 1/1. 2006-11-21 Hans Eric Svensson * lyskom-rest.el (lyskom-view-next-text): Modified to read commented texts in other conferences before the texts that comment them in the current conference. See M-x describe-function lyskom-find-best-text and M-x describe-function lyskom-find-lowest text for more information. (lyskom-member-of-at-least-one-p): New helper function. (lyskom-member-one-priority-p): New helper function. (lyskom-up-to): New helper function. (lyskom-find-best-text): New helper function. (lyskom-find-lowest-text): New helper function. (lyskom-get-max-priority): New helper function. * commands1.el (kom-who-is-on-in-conference): Spelling error fixed. * view-text.el (lyskom-view-text): Fixed sudden Swedish in comment. (lyskom-text-read-p): Added optional parameter want-passive. (lyskom-follow-comments): Adjusted to use the new additional parameter in one of the calls to lyskom-text-read-p. 2006-06-27 David Byers * lyskom-rest.el (lyskom-fill-next-paragraph): Fixed off-by-one error causing the last character on the last line to (sometimes) be put on a line of its own in XEmacs. (lyskom-maybe-fill-region): Fixed off-by-one error causing lines just under fill-column long to be wrapped. 2006-05-14 David Byers * utilities.el (lyskom-text-comments): Added parameter skip-footnotes. 2006-04-26 David Byers * lyskom-rest.el (lyskom-fill-next-paragraph): Eliminated the inner catch, as this seemed to cost more time than adding a clause to each conditional in the loop. (lyskom-fill-message-line-length): Make this a subst. 2006-05-03 Pontus Freyhult * option-edit.el, vars.el.in, swedish-strings.el,english-strings.el, commands1.el: Reverted previous bad check in. 2006-05-03 Pontus Freyhult * option-edit.el (lyskom-customize-buffer-format): Added kom-write-text-recipient-strategy. (lyskom-custom-variables): Dito. * vars.el.in (kom-write-text-recipient-strategy): New variable. * swedish-strings.el,english-strings.el (lyskom-custom-strings): Added current-meeting. Added kom-write-text-recipient-strategy-doc and kom-write-text-recipient-strategy-tag. * commands1.el (lyskom-write-text): Use current-conf is kom-write-text-recipient-strategy is 'current and we're called from kom-write-text. 2006-04-25 David Byers * lyskom-rest.el (lyskom-fill-next-paragraph): Fixed off-by-one error in handling indented paragraphs. 2006-04-25 Per Cederqvist Get rid of compiler warning probably introduced 2006-04-05. * lyskom-rest.el (lyskom-fill-message): Removed pointless "(buffer-substring (point-min) (point))" whose value was not used. 2006-04-24 Per Cederqvist Fixed typo in docstring. * vars.el.in (kom-tell-phrases): Fixed spelling error in docstring that tried to refer to lyskom-tell-phrases-validation-keyword-list. 2006-04-05 David Byers Re-implement line breaking heuristics: * lyskom-rest.el (lyskom-fill-disqualifying-regexp): Broken out from lyskom-fill-message to make regexp easier to understand. (lyskom-fill-message-next-line): New macro. (lyskom-fill-message-return): New macro. (lyskom-maybe-fill-region): New macro. (lyskom-fill-inline-text-regexp): New regexp to prevent concating it every time a line was examined, and to make it handle inlined texts with the wrong language. (lyskom-fill-message): New implementation. (lyskom-fill-next-paragraph): Guts of new lyskom-fill-message. (lyskom-fill-scan-quoted-paragraph): New function. (lyskom-fill-scan-empty-lines): New function. Fix bug 766: * swedish-strings.el,english-strings.el (lyskom-custom-strings): Adjusted kom-autowrap-doc. 2006-04-03 David Byers * lyskom-buttons.el (lyskom-button-befriend): New function (i guess jhs forgot to check it in). (lyskom-button-moronify): New function (i guess jhs forgot to check it in). 2006-03-31 David Byers * menus.el (lyskom-menu-template): Added kom-review-more-comments to menu. Fix bug 1510: * vars.el.in (lyskom-commands): Added kom-review-mode-comments. * swedish-strings.el,english-strings.el (lyskom-sv-mode-map,lyskom-en-mode-map): Added kom-review-more-comments. * review.el (lyskom-review-by-to): Set lyskom-have-review to indicate what kind of review. (lyskom-last-review-comments): New variable. (lyskom-review-comments): Set lyskom-last-review-comments. (lyskom-review-comments): Handle a list of text-stats as the input to this function. (kom-review-more-comments): New command. Fix bug 1535: * commands1.el (lyskom-write-text): Added add-self parameter. (kom-send-letter): Always add sender as recipient. Fix bug 1589: * mime.el (lyskom-mime-string-charset): Handle server coding system in found charset. * compatibility.el (find-charset-string): Default to server coding-system or latin-1 if server coding system is unknown. Fix bug 1602: * mime.el (lyskom-mime-decode-content-type): Correctly match the type and subtype fields of content types. Downcase all values. Fix bug 1391: * commands2.el (lyskom-help): Handle printing top-level keymap. * help.el (lyskom-help-format-keymap): New function. * help-english.xml,help-swedish.xml: Added keyboard commands section. * help-compile.el (lyskom-help-syntax): Added keymap directive. Probably fix bug 1570: * compatibility.el (lyskom-map-keymap): Do not attempt to car or cdr non-conses when mapping over keymap. 2006-03-30 David Byers Update handling of text/enriched: * lyskom-rest.el (lyskom-format-enriched): Handle new-style enriched text, with headers in a special aux-item. * edit-text.el (lyskom-edit-send): Handle aborted sending without error message. * aux-items.el (elisp-client-enriched-headers): Added aux-item definition. * edit-text.el (lyskom-edit-send): Replaced lyskom-send-text-transform-function with more general lyskom-send-text-transform-hook, which allows multiple transformations and changes to more than just the text. * vars.el.in (lyskom-send-text-transform-hook): Ditto. 2005-03-22 David Byers * english-strings.el (lyskom-custom-strings): Fxied speling erorr in me. 2006-02-16 Johan Sundström * vars.el.in (lyskom-default-conference-strategy): Made kom-filter-author, kom-moronify and kom-befriend use the new lyskom-default-conference-author-of-text-at-point strategy. * commands2.el (kom-moronify, kom-befriend): New commands to add persons to `kom-morons' and `kom-friends' right in the kom buffer. * vars.el.in (lyskom-default-conference-strategy): Associated default strategies. (lyskom-button-actions): ...and button actions for persons. * completing-read.el (lyskom-default-conference-author-of-text-at-point): New strategy helper function. Should be used with kom-filter-author as well, but I leave that for a separate commit, to make good change sets. * english-strings.el, swedish-strings.el (lyskom-message): Associated texts. Naming of these things could probably improve. 2005-10-26 Pontus Freyhult * prefetch.el (lyskom-setup-prefetch): Set lyskom-inhibit-prefetch to nil. Hopefully fixes bad behavior sometimes seen when using kom-recover. 2005-03-15 Pontus Freyhult * perf.el (fields-new): Dispose of marker when done. * help.el (lyskom-help-format-p): Dito. * lyskom-rest.el (lyskom-do-special-inserts): Dito. (lyskom-insert-before-prompt): Dito. (lyskom-render-html-region): Dito. * commands2.el (lyskom-list-new-conferences): Dispose of marker when we're done with it. * edit-text.el (lyskom-edit-insert-miscs): Dito. (kom-edit-add-comment): Dito. (lyskom-edit-add-recipient/copy): Dito. (lyskom-edit-insert-aux-item): Added FIXME about marker. (lyskom-edit-replace-headers): Dispose of markers when done. 2005-03-08 David Byers * compatibility.el (lyskom-encode-coding-string): Renamed functions used when detecting copy bug. Detect multibyte bug. This hopefully fixes bug 1524. 2005-03-07 David Byers * lyskom-rest.el (lyskom-face-default-p): New implementation since face-equal didn't really do the job. 2005-03-02 Pontus Freyhult Bugfix: Revert didn't work properly * filter-edit.el (lyskom-filter-edit-revert): Use filter-edit-filter-list instead of lyskom-filter-list. Update filter-edit-list-end marker. Give some guidance when editing filters: * english-strings.el, swedish-strings.el (lyskom-messages): Added filter-edit-footer. * filter-edit.el (kom-filter-edit): Output filter-edit-footer. 2005-02-25 Pontus Freyhult * swedish-strings.el, english-string.el (lyskom-custom-strings): Fixed spelling of Gopher in emacs-w3-viewer. Fix bug 297: * vars.el.in (kom-netscape-command): Added Firefox and Opera to variable description. (kom-netscape-variant): Dito. (kom-url-viewer-preferences): Dito. * swedish-strings.el, english-strings (lyskom-custom-strings): Dito for kom-netscape-command-doc, kom-netscape-variant-doc, kom-netscape-command-tag, kom-netscape-variant-tag, netscape-viewer and windows-viewer. 2005-02-24 Pontus Freyhult Fix bug 1091: * vars.el.in (kom-lost-session-notification): New variable. * option-edit.el (lyskom-custom-variables): Added kom-lost-session-notification. (lyskom-customize-buffer-format): Dito. * english-strings.el, swedish-strings.el (lyskom-custom-strings): Added kom-lost-session-notification-tag and kom-lost-session-notification-doc. * englist-strings.el, swedish-strings.el (local): Added closed-connection-other-buf, session-lost-beep and session-lost-all-buffers. * lyskom-rest.el (lyskom-sentinel): Do notification in other buffers if desired. Fix bug 1536: * command.el (lyskom-start-of-command): Pass port if non-standard. Also explicitly send current password (if available). 2005-02-15 David Byers Fix bug 1512: * menus.el (lyskom-define-menu-xemacs): Handle case when current-local-map is nil (don't attempt to guess shortcuts in this case). 2005-02-14 David Byers Fix ugliness when default server is unset: * startup.el (lyskom): New calling conventions for lyskom-read-server-name. (lyskom-read-server-name): New parameter list. Do not accept empty input. Use initial value and magic minibuffer instead of default value. Fix bug 1511: * commands1.el (lyskom-combine-username): Downcase hostnames. Fixed bug 1520: * lyskom-buttons.el (lyskom-button-menu): Pass filter to functions that build menus. (lyskom-make-button-menu): Changed old-style backquote to new-style backquote. Removed function quotes. * vars.el.in (lyskom-button-actions): Introduced filter function for the context menu. Fix bug 1519: * lyskom-buttons.el (lyskom-button-add-self): Pass conf-stat, not conf-no to kom-add-self. Fix bug 1533: * commands2.el (lyskom-list-summary): Copy the read-list before passing it to lyskom-list-text-summary. 2005-01-23 David Byers * startup.el (kom-start-anew): Init membership structures really early since there is a race condition during first logon otherwise. 2005-01-26 Johan Sundström * view-text.el (lyskom-view-text-convert-UTF-8-to-ISO-8859-1): New function that, when put in `kom-view-text-hook', translates basic UTF-8 characters available in ISO-8859-1 to their such counterparts. * swedish-strings.el, english-strings.el (lyskom-message): Added the string `reformat-utf-8'. 2005-01-23 David Byers * Release of 0.48. 2005-01-23 David Byers * utilities.el (lyskom-check-configuration): Don't print a warning about the coding system when using UTF-8. 2005-01-22 David Byers * lyskom-elisp-client.spec: New file from C C Magnus Gustavsson. 2005-01-19 Pontus Freyhult * lyskom-rest.el (kom-save-text-body): Use coding system of text for saving if available, or fall back to server default coding system if not. 2005-01-18 Pontus Freyhult * swedish-strings.el: Added compatibility key bindings for XEmacs 21.4 in UTF-8 mode (on tty). 2005-01-16 Pontus Freyhult * swedish-strings.el: Added compatibility key bindings to make GNU Emacs 21 in UTF-8 mode (on tty) work correctly. 2005-01-12 Ulrik Haugen * english-strings.el (lyskom-en-mode-map): replaced reference to lyskom-sv-mode-map with lyskom-en-mode-map. 2005-01-12 David Byers * check-strings.el (lcs-check-strings): If environment variable LYSKOM_CHECK_IDENTICAL is set, check for strings identical in two languages (many are expected, so this is off by default). * english-strings.el: Found four swedish strings. Fixed. * NEWS-0.48: Updated to here. * swedish-strings.el (lyskom-sv-mode-map): Added M-c for kom-toggle-cache-prefix. * english-strings.el (lyskom-en-mode-map): Same. * review.el (kom-toggle-cache-prefix): New function. M-c will toggle whether review uses the cache or not (like M-m toggles if review marks as read). 2005-01-12 Pontus Freyhult Fix bug 1402: * english-strings.el, swedish-strings.el (lyskom-custom-strings): Added kom-membership-default-message-flag-tag and kom-membership-default-message-flag-doc. * english-strings.el (lyskom-custom-strings): Fixed typo for kom-membership-default-priority-doc. * option-edit.el (lyskom-custom-variables): Added kom-membership-default-message-flag. (lyskom-customize-buffer-format): Dito. * vars.el.in (kom-membership-default-message-flag): New variable. * commands1.el (lyskom-add-member): Use kom-membership-default-message-flag. 2005-01-11 Pontus Freyhult Applied patch from calle@lysator.liu.se, fixes bug 1487: * english-strings.el (lyskom-message): Added reformat-rot13, review-rot13-q and lyskom-button-review-rot13-action. (lyskom-command): Added kom-review-rot13. * swedish-strings.el (lyskom-message): Added reformat-rot13, review-rot13-q and lyskom-button-review-rot13-action. (lyskom-command): Added kom-review-rot13. * view-text.el (lyskom-rot13-string): New function. (lyskom-filter-rot13): Dito. * lyskom-buttons.el (lyskom-button-review-rot13): New button action. * menus.el (lyskom-menu-template): Added kom-review-rot13. * review.el (kom-review-rot13): New function. * vars.el.in (lyskom-button-actions): Added rot13 review action. (lyskom-commands): Added kom-review-rot13. Fix for bug 1491: * english-strings.el, swedish-strings.el: (lyskom-custom-strings): Added kom-relogin-inhibit-commands-tag and kom-relogin-inhibit-commands-doc. * option-edit.el (lyskom-customize-buffer-format): Added kom-relogin-inhibit-commands. (lyskom-custom-variables): Dito. * vars.el.in (kom-relogin-inhibit-commands): New variable. * command.el (lyskom-start-of-command): Treat commands in kom-relogin-inhibit-commands as having dead-ok. 2005-01-09 David Byers * commands1.el (kom-move-text-tree): Handle missing text in the tree. (lyskom-move-recipient): Add leave-cc argument. * lyskom-rest.el (lyskom-a-or-b-or-c-p): Display chosen option when just pressing RET. Show default choice in bold. Compact display a bit. * commands1.el (kom-move-text-tree): Use lyskom-a-or-b-or-c-p to ask about what to do. Support a null source (useful to just add a recipient, not remove anything). * NEWS-0.48: Updated to here. * commands2.el (kom-list-sessions): Docstring fixes. * vars.el.in (kom-default-server): No default server in default build. Variois docstring fixes. * mship-edit.el (lp--show-hide-read-memberships): Toggle filter. (lp--show-hide-passive-memberships): Ditto. (lp--mode): Fixed key binding references in docstring. 2005-01-08 David Byers * vars.el.in: Documentation updates in preparation for generating DocBook from the documentation strings. * startup.el (lyskom-refetch): We were prefetching unread confs in the reverse order, which was stupid as it slows down starting to read and may cause us to read texts in the wrong order. 2005-01-07 David Byers * mship-edit.el (lyskom-change-membership-position): Removed binding of old-position (it was never used). * english-strings.el (lyskom-en-edit-mode-map): Changed key bindings to explicitly use prefixes. * swedish-strings.el (lyskom-sv-edit-mode-map): Changed key bindings to explicitly use prefixes. Better variants of the swedish key binding. Use lyskom-try-define-key for swedish bindings. * edit-text.el: Updated documentation for most commands so that it can be extracted into the user manual in the future. All commands with the prefix `kom-edit-' are expected to be documented unless the documentation string ends in "Excluded from manual." (kom-ispell-message): Renamed to kom-edit-ispell-message. (kom-yank-info-nodename): Renamed to kom-edit-yank-info-nodename. * filter-edit.el (kom-filter-edit): Wrote docstring. * review.el: Various docstring updates (changed "text" to article in several places). * vars.el.in (kom-unread-mode-line-type): Updated docstring. 2005-01-04 Ulrik Haugen * swedish-strings.el (lyskom-sv-mode-map): Added keybindings for unaccelerated < and >. * english-strings.el (lyskom-en-mode-map): Ditto. 2004-12-06 Pontus Freyhult Bugfix: Handle case when started from buffer with no local keymap * menus.el (lyskom-define-menu-gnu): Only call lyskom-menu-guess-shortcuts if we (current-local-map) is non-nil. 2004-12-04 Pontus Freyhult Bugfix: Do not leak password from session started in LysKOM buffer. * startup.el (lyskom): Do not send password if host differs from the server it was given for. 2004-11-16 Pontus Freyhult * lyskom-rest.el (lyskom-update-prompt): Use lyskom-session-nickname. 2004-11-15 Pontus Freyhult Implement alternate unread mode line: * option-edit.el (lyskom-customize-buffer-format): Added kom-unread-mode-line-type. (lyskom-custom-variables): Dito. * english-strings.el, swedish-strings.el: (lyskom-custom-strings): Added kom-unread-mode-line-type-tag and kom-unread-mode-line-type-doc. Added simple-unread-mode-line and explicit-unread-mode-line. * lyskom-rest.el (lyskom-make-alternate-unread-mode-line): New function. (lyskom-make-lyskom-unread-mode-line): Use lyskom-make-alternate-unread-mode-line if applicable. * buffers.el (lyskom-update-unread-mode-line): New function. (lyskom-clean-all-buffer-lists): Call lyskom-update-unread-mode-line. (lyskom-remove-buffer-from-lists): Dito. (lyskom-remove-unread-buffer): Dito. (lyskom-add-unread-buffer): Dito. * vars.el.in (kom-unread-mode-line-type): New global variable. 2004-11-12 Pontus Freyhult * commands2.el (kom-list-sessions): Use session-list-no-unread-in if there are no texts in the session. * english-strings.el, swedish-strings.el (local): Added session-list-no-unread-in. * commands2.el (kom-modeline-select-unread-kom): Use lyskom-session-nickname. (kom-status-server): Dito. * lyskom-rest.el (lyskom-session-nickname): Take additional argument if the nick name is to be put in the mode line. (lyskom-mode-name-from-host): Pass mode-line arg. * async.el (lyskom-show-logged-in-person): Use lyskom-session-nickname. (lyskom-show-logged-out-person): Dito. * utilities.el (lyskom-get-server-alias): Deleted (almost) unused function. (lyskom-nag-about-presentation): Use lyskom-session-nickname instead. * vars.el.in (lyskom-commands): Added kom-list-sessions. * menus.el (lyskom-menu-template): Added kom-list-sessions. * commands2.el (kom-list-sessions): Sort first on priority, then on session name. Corrected bad usage of sort. Handle nil entries in lyskom-list-news result. * swedish-strings.el (local): Corrected singular form for unread letters in session-list-unreads-in-conf. 2004-11-11 Pontus Freyhult Fix bug 279, implement list sessions (with extras): * vars.el.in (kom-session-nickname): New variable. (mode-line-server-name): New variable. * english-strings.el, swedish-strings.el (local): Added session-list-unreads-in-conf. (global): Added kom-list-sessions. (lyskom-{sv,en}-list-prefix): Bound kom-list-sessions to l k. (lyskom-custom-strings): Added automatic-session-name and given-session-name. Added kom-session-nickname-doc and kom-session-nickname-tag. * startup.el (kom-start-anew): Cosmetical if not -> unless. Call lyskom-mode-name-from-host after variables are read from server. * startup.el (lyskom-mode): Use mode-line-server-name in mode-line-buffer-identification. * option-edit.el (lyskom-customize-buffer-format): Added kom-session-nickname. (lyskom-custom-variables): Dito. * lyskom-rest.el (lyskom-set-mode-line): Call lyskom-mode-name-from-host. (lyskom-session-nickname): New function. (lyskom-mode-name-from-host): Use lyskom-session-nickname, update mode-line-server-name. * commands2.el (kom-list-sessions): New command. Handle UTF-8 postings created by Rasmus Stens Weblatte: * mime.el (lyskom-mime-decode-content-type): Allow whitespace after ";" in content-types. 2004-11-03 Pontus Freyhult Use kom-default-* as user variables, not lyskom-default-*: * vars.el.in (kom-default-server): Updated documentation and value. (lyskom-default-server): Dito. (kom-default-password): Dito. (lyskom-default-password): Dito. (kom-default-user-name): Dito. (lyskom-default-user-name): Dito. * startup.el (lyskom): Use kom-default-server, kom-default-user-name and kom-default-password. * commands1.el (kom-view-commented-text): Cleanup (progn removal), inhibit immediate display of footnotes. 2004-10-31 Pontus Freyhult * mship-edit.el (lp--selected-or-current-arg): New function. (lp--toggle-flag): New function. (lp--postpone): New function. (lp--set-unread): New function. (lp--toggle-message-flag, lp--toggle-invitiation, lp--toggle-secret, lp--toggle-passive): Use lp--selected-or-current-arg and lp--toggle-flag. * english-strings.el, swedish-strings.el (lyskom-messages): Added lp--only-last and lp-skipping-missing-meeting. Changed lp-footer-help. (lyskom-menu): Added lp--set-unread. (lyskom-prioritize-mode-map): Added keyboard mappings for lp--postpone and lp--set-unread. 2004-10-29 Pontus Freyhult * mship-edit.el (lp--entry-set-background): Use lyskom-safe-color-name. (lp--entry-set-foreground): Dito. * utilities.el (lyskom-safe-color-name): New function. * compatibility.el (color-name): New alias. (color-specifier-p): New alias. (face-background): Reverted previous change, alias again. (face-foreground): Reverted previous change, alias again. 2004-10-29 Pontus Freyhult * lyskom-rest.el (lyskom-format-image): Disabled run time test for image functions, use aliases instead. * compatibility.el (display-images-p): New alias. (put-image): New alias. (create-image): New alias. 2004-10-29 Pontus Freyhult * lyskom-rest.el (lyskom-format-image): Bugfix: Used let instead of let*. 2004-10-28 David Byers * vars.el.in: Updated some documentation strings. 2004-10-28 Pontus Freyhult * mship-edit.el (lp--entry-set-foreground): Do not try to handle missing start-marker or end-marker. (lp--entry-set-background): Dito. (lp--print-entry): Add end-marker before calling lp--format-insert-entry and correct it afterwards. 2004-10-27 Pontus Freyhult * mship-edit.el (lp--erase-entry): Point old markers to nil before forgetting them. (lp--print-entry): Dito. 2004-10-26 Pontus Freyhult * mship-edit.el (lp--redraw-entry-mark): Use lyskom-face-background, not face-background. Fix XEmacs problems with kom-prioritize: * compatibility.el (lyskom-face-background): Changed to a wrapper function that returns a string (not a color-specifier) or nil. (lyskom-face-foreground): Dito. 2004-10-25 Pontus Freyhult * review.el (kom-review-noconversion): Use nil for kom-show-footnotes-immediately during review with noconversion. Fix bug 1324: * view-text.el (lyskom-follow-comments): Removed possible footnote display. (lyskom-view-text): Show footnotes if desired. 2004-10-23 Pontus Freyhult Fix bug 284: * english-strings.el, swedish-strings.el: (lyskom-custom-strings): Added kom-show-imported-message-id-tag and kom-show-imported-message-id-doc. (lyskom-message): Added message-id. * option-edit.el (lyskom-customize-buffer-format): Added kom-show-imported-message-id. (lyskom-custom-variables): Dito. * vars.el.in (kom-show-imported-message-id): New variable. (kom-show-imported-external-recipients): Changed documentation (added kom-show-imported-message-id as "see also"). * view-text.el (lyskom-view-text): Show Message-Id if available and kom-show-imported-message-id is true. 2004-10-19 Pontus Freyhult Allow for easy relogin from dead sessions (bug 1278): * command.el (lyskom-start-of-command): Possibly rerun lyskom according to kom-relogin-behaviour. * startup.el (kom-start-anew): Handle the case of lyskom-default-user-name being an integer. * vars.el.in (kom-relogin-behaviour): New variable. (lyskom-default-user-name): Changed documentation. * english-strings.el, swedish-strings.el: (lyskom-message): Added resurrect-session. (lyskom-custom-strings): Added kom-relogin-behaviour-doc and kom-relogin-behaviour-tag. * option-edit.el (lyskom-customize-buffer-format): Added kom-relogin-behaviour. (lyskom-custom-variables): Dito. Clean up lyskom-default-password, enable password storing: * english-strings.el, swedish-strings.el: (lyskom-custom-strings): Added kom-remember-password-tag and kom-remember-password-doc. * option-edit.el (lyskom-customize-buffer-format): Added kom-remember-password. (lyskom-custom-variables): Dito. * vars.el.in (kom-remember-password): New variable. * startup.el (lyskom): Use lyskom-default-user-name and lyskom-default-password if set (with higher priority than environment variables). (kom-start-anew): Store the password used to login in lyskom-default-password if kom-remember-password is true. Handle texts with content-type image/something: * english-strings.el, swedish-strings.el: (lyskom-message): Added reformat-image and image-no-show. (lyskom-custom-strings): Added kom-format-show-images-doc and kom-format-show-images-tag. * lyskom-rest.el (lyskom-format-image): New function. * option-edit.el (lyskom-customize-buffer-format): Added kom-format-show-images. (lyskom-custom-variables): Dito. * vars.el.in (kom-format-show-images): New variable. (lyskom-format-special): Use lyskom-format-image for texts with content-type starting with image. 2004-10-17 David Byers Keep last read column in kom-handle-membership updated: * services.el (initiate-pepsi): Update last-time-entered when going to a conference with a cached membership. This makes it possible to update the corresponding column in the membership buffer correctly. Visual tweaks: * faces.el (kom-face--default--morons-face): Changed background to something slightly more legible. Mode documentation for kom-handle-membership: * mship-edit.el (lp--mode): Added mode documentation. 2004-09-27 David Byers Menus for kom-handle-membership: * menus.el (lyskom-prioritize-menu-template): New template. (lyskom-prioritize-menu): New variable. (lyskom-build-menus-xemacs): Build prioritize menu. (lyskom-build-menus-gnu): Build prioritize menu. (lyskom-menu-list): Add prioritize menu. 2004-07-21 David Byers * mship-edit.el (lp--update-buffer): When updating an existing membership, use its position if it has one, or things could go very wrong. * commands1.el (lyskom-add-member): Query the membership cache for the new position of the membership instead of attempting (and failing) to duplicate the logic here. * reading.el (lyskom-membership-list-prepend): Summport simulation. (lyskom-membership-list-insert-position): New function. (lyskom-membership-list-insert): Support simulation. (lyskom-query-membership-position): New function. (lyskom-membership-list-append): Support simulation. 2004-07-20 David Byers * lyskom-rest.el (lyskom-enter-conf): Update the membership buffer when going to a conference. * commands1.el (lyskom-go-to-empty-conf): Update the membership buffer when going to a conference. Improve handling of hidden entries in mship-edit: * mship-edit.el (lp--entry-set-visible): New function that handles bookkeeping for visibility. (lp--update-mode-line): Compute hidden information. (lp--mode-line-hidden): New variable. (lp--mode-line): Show number of hidden. Don't show modified status (what would the point be). (lp--entry-filter-after): New function. (lp--entry-filter-before): New function. (lp--show-all): New implementation. Moved. (lp--show-hide-memberships-by-date): New implementation. (lp--show-hide-read-memberships): New command. (lp--show-hide-passive-memberships): New command. (lp--mode): Set some local vars to nil on entry to mode. (lp--apply-entry-filter): Preserve cursor position. (lp--replace-entry-filter): New function. Fixed some remaining places where unreads weren't updated: * clienttypes.el (read-list-enter-first): Maybe update unreads in membership buffer. (set-read-list-del-first): Same here (set-read-list-empty): Same here 2004-07-19 David Byers Support for entry filters and buffer headers: * mship-edit.el (lp--add-entry-filter): New function. (lp--del-entry-filter): New function. (lp--apply-entry-filter): New function. (lp--entry-filter-description): New function. (lp--update-filter-description): New function. (lp--entry-filter-read): New function. (lp--entry-filter-passive): New function. (lp--entry-filter-hidden): New function. (lp--set-header): New function. (lp--create-buffer): Enable use of lp--set-header. Integrate mship-edit: * commands2.el (kom-membership): Removed old implementation and associated functions. Turned into an alias for kom-prioritize. * mship-edit.el (kom-prioritize): Renamed from kom-handle-membership. Improve membership edit: * mship-edit.el: Numerous minor changes. No details :-/ * prioritize.el: Removed. * avltree.el: Removed. * elib-node.el: Removed. * clienttypes.el (read-list-delete-read-info): Update unreads in the membership buffer. * commands1.el (lyskom-add-member): Do replace-membership even when working under the session priority. (lyskom-add-member): Removed lp--update-buffer when adding a new membership or changing priority since lyskom-replace-membership will take care of that. * mship-edit.el (lp--print-entry): Recompute and obey visibility of entry. Erase entries that are invisible. (lp--erase-entry): Survive being called on an undrawn entry. (lp--entry-at): New implementation based on linear search that deals with invisible entries. (lp--maybe-update-unreads): Handle entry visibility and visibility changes correctly. Nicen up lyskom-end-of-command: * command.el (def-kom-command): Use make-symbol, not intern, to get an uninterned symbol for the macro. Added winsym to save selected window. (def-kom-emacs-command): Ditto. (def-kom-command): Select the correct window for lyskom-end-of-command so point can be moved to the end of the prompt in that window. (def-kom-emacs-command): Same here. Fix problem tracking unreads in membership buffer: * clienttypes.el (read-list-enter-text): When updating unreads, pass conf-no, not conf-stat, to lp--maybe-update-unreads. 2004-07-18 David Byers * mship-edit.el (lp--maybe-update-unreads): Zero unreads are formatted as "", even if there is a read-info on the to-do list. * clienttypes.el (read-list-enter-read-info): Update unreads when appending unread texts to old read-infos and adding new read-infos. * view-text.el (lyskom-mark-as-read): Removed the callback. We update the membership buffer elsewhere. * clienttypes.el (read-list-enter-text): Update unreads in the membership buffer. (read-list-delete-text): Update unreads in the membership buffer. * komtypes.el (text-list->memq): New subst. * reading.el (lyskom-membership-list-move): Return non-nil if moved. (lyskom-replace-membership): Sort the to-do list if the membership moved. * mship-edit.el (lp--update-buffer): Use regular save-excursion around the complete function, not lp--save-excursion. * reading.el (lyskom-replace-membership): Make it actually work. * lyskom-rest.el (lyskom-binsearch-internal): Use elt, not aref, so the thing can work on lists too -- searching for elt n in C is a lot faster than linear search in lisp. (lyskom-binsearch): Accept comparison function. (lyskom-binsearch-internal): User-supplied comparison function. * mship-edit.el (lp--mode-map): Added bindings for M-up and M-down (same as M-p and M-n). (lp--do-select-priority): Prompt for priority (defaults to priority of current entry) (lp--mode-map): M-# now bound to lp--deselect-priority (lp--mode-map): M-w now bound to lp--select-region (my fingers refuse to hit C-w when I don't want text to be deleted) (lp--mode-map): Bound and (lp--expand-entry): New function. Replaces lp--expand-all (lp--contract-entry): New function. Replaces lp--contract-all New membership list data structure: * mship-edit.el (lyskom-change-membership-priority): New API for lyskom-replace-membership. (lyskom-change-membership-position): Ditto. (lyskom-prioritize-flag-toggle): Ditto. (lp--set-entry-pri-and-pos): Ditto. Set position correctly. * macros.el (lyskom-traverse-membership): New implementation. * reading.el: New implementation of the sorted conference list. Using AVL trees ended up causing too much trouble when changing position and priority of memberships. (mship-list-node): New type. (membership-list): New type. (lyskom-membership-list-compare-next): New function (internal) (lyskom-membership-list-compare-prev): New function (internal) (lyskom-membership-list-insert): New function (API) (lyskom-membership-list-prepend): New function (internal) (lyskom-membership-list-append): New function (internal) (lyskom-membership-list-delete): New function (API) (lyskom-membership-list-move): New function (API) (lyskom-mship-cache-create): Don't use AVL trees. (lyskom-mship-cache-get): Now returns mship-list-nodes. (lyskom-mship-cache-put): Don't use AVL trees. (lyskom-mship-cache-append): New function (internal) (lyskom-mship-cache-del): Don't use AVL trees. (lyskom-update-membership-positions): Do nothing. (lyskom-add-memberships-to-membership): Append memberships (lyskom-try-get-membership): Deal with a cache that returns mship-list-nodes instead of memberships. (lyskom-replace-membership): Function, not macro, again. (lyskom-membership-<): Removed 2004-07-16 David Byers * reading.el (lyskom-membership-<): If the conf-nos are not the same, always return t. 2004-07-15 David Byers * commands1.el (lyskom-add-member): Delete the new conference from the to-do-list so we get the correct number of unread when accepting an invitation. * startup.el (lyskom-refetch): Prefetch membership *after* prefetching unread confs. This should let us get started reading just a little quicker. * prefetch.el (lyskom-prefetch-read-texts-handler): If we get here and already have a cached membership, then replace its read-texts field since the membership we have may come from a call where we didn't ask for read texts. 2004-07-13 David Byers * mship-edit.el (lp--update-buffer): Call lp--remove-from-list with the correct parameters. Removed obsolete backwards compatibility setting: * vars.el.in (kom-default-session-priority): Changed default session priority to zero. By now everyone who used the old convention of priority zero meaning passive memberships should have saved their settings at least once, so they'll still have one as the default. New users shouldn't be burdened (or confused) by old baggage. Clean up XEmacs compile: * prefetch.el (lyskom-prefetch-one-item): Eliminate compiler warnings from XEmacs. * avltree.el (lyskom-elib-avl-enter-balance1): Eliminate compiler warnings from XEmacs. * utilities.el (lyskom-list-text-summary): Eliminate compiler warnings from XEmacs. Fix membership cache related bug: * startup.el (kom-start-anew): Call lyskom-init-membership here since a valid cache structure may be needed before we get to lyskom-refetch. Extend status information: * commands2.el (kom-is-person-member-of-conference): Show membership priority. 2004-07-12 David Byers Make kom-handle-membership work again: * reading.el (lyskom-replace-membership): Turned this into a macro so the membership can be altered while replacing it. * mship-edit.el (lyskom-change-membership-priority): Use lyskom-replace-membership properly. (lyskom-change-membership-position): Ditto. (lp--set-entry-pri-and-pos): Ditto. Also inhibit buffer updates to avoid infinite recursion due to calling lp--update-buffer from within lyskom-replace-membership. Deal with changes in 21.4 widget package: * option-edit.el (lyskom-create-widget): Don't mask errors when creating the storage widget. Changed args for the storage widget to a list. (lyskom-widget-number-value-to-external): Convert from pretty much anything to numbers. (lyskom-widget-number-value-to-internal): Convert from pretty much anything to strings. (lyskom-ding-widget): Set values to numbers, not strings. (lyskom-number-widget): Provide a default value. Deal with Gnu Emacs 19.34: * menus.el (lyskom-define-menu-gnu): Use lyskom-encode-coding-string instead of encode-coding-string. Eliminate warnings when compiling with Gnu Emacs 21.4: * compatibility.el (function-obsolete-p): New alias. (set-process-query-on-exit-flag): New alias. (make-local-hook): New alias. (lyskom-make-self-evaluating): New implementation that works in all Emacsen yet doesn't generate warnings in 21.4 * startup.el (lyskom): Use lyskom-set-process-query-on-exit instead of process-kill-without-query. (lyskom-setup-ssh-relay): Same here. * defvar.el (lyskom-clientversion-long): We don't treat lyskom-clientversion-long as a constant in the rest of the code, so let's not pretend that it is one, shall we? Work on porting kom-handle-membership to new membership cache: * mship-edit.el (lyskom-change-membership-priority): Don't attempt to sort the membership list. Just replace the membership in the cache to put it in the correct position. Explicitly sort the to-do list since we no longer call lyskom-sort-membership. (lyskom-change-membership-position): Use lyskom-replace-membership to move the membership in the membership list. * macros.el (lyskom-traverse-membership): Ensure that we get lyskom-mship-cache from the right buffer. * prioritize.el: Removed lyskom-prioritize-add-membership, lyskom-prioritize-remove-membership and lyskom-prioritize-replace-membership. As a result the prioritize buffer can no longer deal with new, removed and altered memberships. * clienttypes.el (read-list-enter-read-info): When checking whether to append texts to an existing read-list item, don't check that conf-stats are eq. Just check that the conf-nos are the same. * prefetch.el (lyskom-prefetch-read-texts-handler): There was a race condition here which could cause unread texts never to be read properly. Provide hash-table-like functions in Emacs 19 and 20: * reading.el (lyskom-mship-cache-create): Use lyskom-make-hash-table instead of make-hash-table so compatibility defun is used when needed. (lyskom-mship-cache-get): Ditto for gethash. (lyskom-mship-cache-put): Ditto for puthash. (lyskom-mship-cache-del): Ditto for remhash. * compatibility.el (make-hash-table): Provide compatibility defun. (gethash): Ditto. (puthash): Ditto. (remhash): Ditto. 2004-07-11 David Byers Performance improvements: * prefetch.el: Completely new implementation. New implementation of lyskom-membership using AVL trees: * commands2.el (kom-list-news): Use lyskom-traverse-membership instead of mapping over lyskom-membership. (lyskom-update-membership-buffer): Use lyskom-traverse-membership instead of traversing lyskom-membership * stack-m.el: New file. Copied from elib with modifications. * elib-node.el: New file. Copied from elib with modifications. * avltree.el: New file. Copied from elib with modifications. * prefetch.el (lyskom-prefetch-membership-handler): Use lyskom-add-memberships-to-membership since this function now maintains a sorted membership list. * reading.el (lyskom-membership-<): Moved here from lyskom-rest.el. (lyskom-membership-length): New function. (lyskom-init-membership): New function. (lyskom-membership-position): New implementation. (lyskom-remove-membership): New implementation. (lyskom-replace-membership): New implementation. (lyskom-insert-membership): New implementation. (lyskom-add-memberships-to-membership): New implementation. (lyskom-update-membership-positions): New implementation. (lyskom-mship-cache-del): New function. (lyskom-mship-cache-put): New function. (lyskom-mship-cache-get): New function. (lyskom-mship-cache-create): New function. (lyskom-mship-cache-data): New function. (lyskom-mship-cache-index): New function. (lyskom-mship-cache): New variable. (lyskom-get-membership): Moved here from lyskom-rest.el. New implementation. (lyskom-try-get-membership): Ditto. * commands1.el (lyskom-add-member): Reimplement position calculation using lyskom-traverse-membership and possibly fixing a bug along the way. * macros.el (lyskom-traverse): New implementation using catch and no hard-coded variable names. (lyskom-traverse-break): New implementation using throw. (lyskom-traverse-aux): New implementation using catch and new-style backqoutes. (lyskom-traverse-membership): New macro. * commands1.el (kom-delete-conf): Don't manipulate lyskom-membership directly. (lyskom-add-member): Ditto. * startup.el (lyskom-set-membership): Removed. Not used. (lyskom-clear-vars): Don't save lyskom-membership or lyskom-membership-is read. They're overwritten anyway. * macros.el (lyskom-with-lyskom-buffer): New macro. 2004-06-28 David Byers Fix a bug where texts were not marked as read when they got a new recipient and also weren't placed in the read-list: * view-text.el (lyskom-mark-as-read): Use lyskom-recpt-types-list instead of hard-coding the list. * async.el (lyskom-async-new-recipient): When processing a new recipient, call mark-as-read with the text's local number, not it's global number. 2004-07-03 Ulrik Haugen * Makefile (DPKG_BUILDPACKAGE_OPTIONS): Buggfix, don't set DPKG_BUILDPACKAGE_OPTIONS to "''". 2004-06-26 David Byers * reading.el (lyskom-add-memberships-to-membership): Use lyskom-membership-table. (lyskom-insert-memberships-in-membership): Ditto. (lyskom-do-insert-membership): Ditto. (lyskom-do-remove-membership): Ditto. Speed up lyskom-get-membership (a lot): * lyskom-rest.el (lyskom-membership-table): New variable (lyskom-membership-table-add): New function. (lyskom-membership-table-del): New function. (lyskom-try-get-membership): Use lyskom-membership-table. Fix Emacs 19.34 compatibility problems: * compatibility.el (map-keymap): Bug fix- * menus.el (lyskom-swedish-bindings): Moved here from vars.el.in to make Emacs 19.34 work again. (lyskom-swedish-bindings-reverse): Ditto. 2004-06-25 David Byers New abstraction for listing texts: * faqs.el (lyskom-present-unread-faqs): Implement using new functions. (lyskom-do-list-faqs): Ditto. * commands2.el (lyskom-do-list-summary): Removed. Not used. (lyskom-list-summary): Implement using new functions. (lyskom-print-summary-line): Not used any more. Removed. (lyskom-construct-summary-format-string): Ditto. * utilities.el (lyskom-max-text-no-width): Moved here from commands2.el. (lyskom-symbolic-mark-type-string): Ditto. (lyskom-max-text-no-width): Ditto. * commands2.el (kom-list-marks): Implement using lyskom-list-text-summary. Show number of marks for each text. (lyskom-print-mark-summary-line): No longer used. Removed. (lyskom-max-mark-width): Cleaned up this code a little. * utilities.el (lyskom-list-text-summary-get): New support function. (lyskom-list-text-summary-put): Ditto. (lyskom-text-summary-fields): New variable. (lyskom-list-text-summary-subject): New support function. (lyskom-summary-line-format-string): Ditto. (lyskom-list-text-summary-print): Ditto. (lyskom-list-text-summary): Generic function for printing lists of texts. Incorporates support for all features in older text list functions. 2004-06-24 David Byers Fix bug 1362: * parse.el (lyskom-parse-float): Relaxed the regexp matching floats to avoid terminating the parse too early. 2004-06-23 David Byers Make kom-join-all-conferences more responsive: * commands2.el (kom-leave-all-conferences): Update display after each conf. (kom-join-all-conferences): Same here. Improve startup performance: * vars.el.in (lyskom-fetch-membership-length): Changed default to 100 and updated the documentation. We no longer fetch the map this way, and a large value cuts down on the number of calls the client has to make to the server. 2004-06-13 David Byers * utilities.el (lyskom-set-connection-time-format): Refuse to set UTC if encode-time is broken (i.e. XEmacs 21.4 under Windows). 2004-06-09 Ulrik Haugen * vars.el.in (kom-builtin-server-aliases): Added MysKOM. * Makefile (DPKG_BUILDPACKAGE_OPTIONS): New variable. (debian-packages): Pass DPKG_BUILDPACKAGE_OPTIONS along to dpkg-buildpackage. 2004-05-26 David Byers Fix bug 1326: * lyskom-rest.el (lyskom-format-html-plaintext): Corrected arguments to lyskom-button-transform-text. 2004-05-25 David Byers * lyskom-rest.el (lyskom-format-aux-help): Handle non-integer (i.e. floating point) numbers somewhat more gracefully. 2004-05-23 David Byers * lyskom-buttons.el (kom-button-click): Support w3m links. Support w3m; fontify urls when not rendering html: * lyskom-rest.el (lyskom-w3m-region): New function. (lyskom-w3-region): Use lyskom-render-html-region. (lyskom-render-html-region): New function. (lyskom-format-htmal-plaintext): New function. (lyskom-format-html): Made generic. (lyskom-format-html-w3): New function. (lyskom-format-html-w3m): New function. * vars.el.in (lyskom-format-special): When HTML formatting is off, fontify URLs and stuff. * lyskom-rest.el (w3-fetch): Don't call w3-finish-drawing. It used to be necessary, but now it causes the client to hang. (smiley-region): Support a stack of formatting functions. 2004-05-12 David Byers Fix bug 1320: * lyskom-rest.el (lyskom-is-loaded): Seed the randomizer. 2004-05-04 David Byers * vars.el.in (kom-old-farts-text-prompt-strategy): Corrected format of this variable. 2004-05-03 David Byers * NEWS-0.48: Updated to here. 2004-05-02 David Byers * utilities.el (lyskom-eq-dash): New function. (lyskom-tnpa-prompt): New function. (lyskom-tnpa-valid): New function. (lyskom-tnpa-add-property): New function. (lyskom-tnpa-text-no): New function. (lyskom-tnpa-text-property): New function. (lyskom-tnpa-apply-strategy): New function. (lyskom-read-text-no-prefix-arg): Reimplementation. (lyskom-maybe-get-commented-text): Emptied parameter list. (lyskom-maybe-get-footnoted-text): Ditto. (lyskom-get-explicit-text): Removed. (lyskom-get-command-specified-default-text): Removed. (lyskom-get-last-read-text): Removed parameters. (lyskom-get-previous-text): Ditto. Get value from LysKOM buffer, not current buffer. (lyskom-get-text-at-point): Removed parameters. No error message returned from here. (lyskom-get-text-at-point-ancestor): Removed optional parameters. No error reporting by returning strings; signal instead. (lyskom-prompt-for-text-no): Removed. (lyskom-get-last-text-written-by-me): Removed optional parameters. (lyskom-get-last-written-or-read-by-me): Ditto. (lyskom-get-text-above-point): Ditto. (lyskom-get-text-below-point): Ditto. (lyskom-get-text-below-point): New heuristic. Positiv arg higher than 20 is treated literally. * vars.el.in (kom-pick-text-no-strategy-alist): New format. (kom-old-farts-text-prompt-strategy): New format. * commands2.el (kom-add-no-comments): Removed params from lyskom-read-text-no-prefix-arg. (kom-add-private-answer): Ditto. (kom-add-request-confirm): Ditto. (kom-will-person-read-text): Ditto. (kom-compare-texts): Ditto. (kom-diff-texts): Ditto. * commands1.el (kom-view-previous-commented-text): Removed params from lyskom-read-text-no-prefix-arg. (kom-unread-previous-commented-text): Ditto. (kom-write-footnote): Ditto. (kom-comment-previous): Ditto. (kom-private-answer-previous): Ditto. (kom-set-presentation): Ditto. (kom-set-motd-text): Ditto. (lyskom-add-cross-reference): Ditto. 2004-04-28 David Byers * services.el (initiate-get-part-of-membership): Get the first read range so we can figure out the last read text. 2004-04-27 David Byers * lyskom-buttons.el (lyskom-button-unread-text): New function. * vars.el.in (lyskom-text-buttons): Added rtsp urls. 2004-04-11 David Byers * lyskom-rest.el (lyskom-save-text): Fix bug 1307. 2004-04-13 Johan Sundström * english-strings.el, swedish-strings.el (global): Give a name for kom-review-cross-references too. * menus.el (lyskom-menu-template): Add kom-review-cross-references here too. 2004-04-12 Johan Sundström * vars.el.in (lyskom-commands): Add kom-review-cross-references. 2004-04-11 Johan Sundström * review.el (kom-review-cross-references): New command. Reviews all [aux info] cross refeferenced texts. * review.el (lyskom-cross-referenced-text, lyskom-review-cross-references): New support functions. * english-strings.el (lyskom-en-mode-map): Bind it to "r a x". * swedish-strings.el (lyskom-sv-mode-map): Bind it to "å a x". * english-strings.el, swedish-strings.el (local): added review-xrefs-q. 2004-02-29 David Byers * lyskom-rest.el (lyskom-format-plaintext-fonts-body): Updated revexp to reduce false positives. (lyskom-format-plaintext-fonts-body): More features. Put / back again, but only if it's near decent delimiters. Make fontification turn-offable: * option-edit.el (lyskom-customize-buffer-format): Added kom-text-properties and kom-fontify-text. (lyskom-custom-variables): Same here. * vars.el.in (kom-fontify-text): New variable. (kom-text-properties): Make server-stored by default. Better fontification code: * lyskom-rest.el: (lyskom-format-plaintext-fonts-body): New macro. For internal use only. (lyskom-format-plaintext-fonts): Don't use / as an italics delimiter. Fix bug 1282: * services.el (initiate-query-read-texts): Call correct membership parser. Use new names. (initiate-get-membership): Ditto. (initiate-get-part-of-membership): Ditto. * parse.el (lyskom-parse-membership-10) New name. (lyskom-parse-membership-list-10): New name. Goofing off: * lyskom-rest.el (lyskom-format-plaintext-fonts): New function. * macros.el (lyskom-mime-content-type-get): Moved here from mime.el. (lyskom-mime-content-type): Moved here from mime.el. Fix bug 744 (I think): * flags.el (lyskom-save-options): Save unknown variables too. (lyskom-save-options): Encode variable names too. Despite them being all ASCII, Emacs will sometimes think one is a multibyte string, and then convert everything back to multibyte format, which will break the user area. Refuse to save if any part of the user area is a multibyte string. Don't throw away contents of unknown variables: * vars.el.in (lyskom-saved-unknown-variables): New variable. (lyskom-settings-version): New variable. * flags.el (kom-copy-options): Don't discard unknown variables. * startup.el (kom-start-anew): Tell the user that unknown variables may be due to changing client versions (if settings were saved in a different version than we're running right now). * flags.el (kom-save-options): Accept prefix argument to delete unknown variables. * async.el (lyskom-async-new-user-area): Tell the user when re-reading settings from the server. Don't discard unknown variables. * flags.el (lyskom-read-options-eval): The list of ignored variables is an alist of name and value. * startup.el (kom-start-anew): lyskom-read-flags now returns a alist for ignored variables. Don't discard unknown variables. 2004-02-28 David Byers Prepare for dealing with format=flowed texts: * komtypes.el (text->decoded-text-mass): Use new content-type functions and format. * edit-text.el (lyskom-edit-send): Use new content-type functions and format. * mime.el (lyskom-mime-decode-content-type): Rewrote to handle arbitrary parameters to the content type. (lyskom-mime-content-type): New function. (lyskom-mime-content-type-get): New function. 2004-02-27 David Byers Fix bug 1281 and related issues: * commands1.el (kom-write-comment): Use new def-kom-command features. (kom-private-answer): Ditto. (kom-write-footnote): Ditto. (kom-comment-previous): Ditto. (kom-private-answer): Ditto. (kom-private-answer-previous): Ditto. * slow.el (kom-slow-mode): Use def-kom-command instead of defun. (kom-quick-mode): Ditto. * commands2.el (kom-show-user-area): Use def-kom-command instead of defun. * command.el (def-kom-command): Added keyword support. (def-kom-emacs-command): Ditto. (lyskom-start-of-command): Added PROMPT-FORMAT. 2004-02-23 David Byers Further reduce the likelihood of sending alarm messages unintentionally: * commands2.el (lyskom-interactive-send-message): New function. (kom-send-alarm): Use it. (kom-send-message): Use it. 2004-02-22 David Byers * NEWS-0.48: Updated to here. Clean up for XEmacs: * lyskom-rest.el (lyskom-startup-check-recommended-memberships): Don't bind pers-stat. It's not used. (smiley-region): Don't bind plaintext. It's not used. (lyskom-fill-message): Suppress warning about variable timer. * defvar.el (def-kom-var): Don't ever do a null doc-string. XEmacs will complain quite loudly. Fix bug 1125: * commands1.el (lyskom-read-cross-reference-and-get-aux-item): Use lyskom-a-or-b-or-c-p instead of completing-read. * edit-text.el (lyskom-read-link): Moved here from commands1.el since this is the only file that uses it. (lyskom-read-link): Use lyskom-a-or-b-or-c instead of completing-read. * commands1.el (kom-list-re): Ask what to search for before asking for the search string. Fix new bug in kom-is-person-member-of-conference: * lyskom-rest.el (lyskom-get-read-texts-for-membership): Removed this function again. It isn't used anywhere any more. * commands2.el (kom-is-person-member-of-conference): Don't use lyskom-get-read-texts-for-membership. Don't need it. Refactoring of adding members to simplify all callers: * lyskom-rest.el (lyskom-check-go-to-conf): Use lyskom-add-member to add self when going to a conference we have been invited to or need to depassivate. (lyskom-startup-check-recommended-memberships): Use lyskom-add-member to accept recommendations. * commands1.el (lyskom-add-member): New function. (kom-add-self): Use lyskom-add-member. (kom-add-member): Use lyskom-add-member. (lyskom-add-member-by-no): Use lyskom-add-member. (lyskom-go-to-conf): Don't ask for number of unread here. (lyskom-add-member-answer): Removed this junk. (lyskom-try-add-member): Removed this junk too. (kom-change-priority): Use lyskom-add-member. Refuse to change priority of passive memberships. Fix bug 1251: * commands1.el (kom-move-text): Don't try to move footnotes and attachments that we can't read. * option-edit.el: Added kom-auto-confirm-new-conferences to the settings buffer. 2004-02-21 David Byers Fix bug 1276: * startup.el (lyskom-setup-ssh-relay): Use kom-ssh-command instead of hardcoding the ssh command name. * vars.el.in (kom-ssh-command): New variable. Fix bug 1250: * view-text.el (lyskom-text-read-at-least-once-p): Don't consider passive memberships. (lyskom-text-read-p): Same here. * services.el (initiate-get-part-of-membership): Don't get read texts. * lyskom-rest.el (lyskom-get-read-texts-for-membership): New function. * commands2.el (kom-is-person-member-of-conference): Use it here. 2004-02-12 David Byers Make kom-list-new-conferences quittable: * commands2.el (lyskom-list-new-conferences): Handle C-g when listing conferences or persons using the new lyskom-cancel-calls. * internal.el (lyskom-cancel-calls): It works now. 2004-02-11 David Byers Improve ability to cancel calls: * services.el (initiate-get-text): Add lyskom-ref-no to PARSED. (initiate-get-text-stat): Ditto. (initiate-get-pers-stat): Ditto. (initiate-get-conf-stat): Ditto. (initiate-get-uconf-stat): Ditto. (initiate-get-static-session-info): Ditto. (initiate-get-stats-description): Ditto. (initiate-get-boottime-info): Ditto. * internal.el (lyskom-apply-handler): Allow ref-no in PARSED. * parse.el (lyskom-tr-call-to-parsed): Leave the ref-no in PARSED. * internal.el (lyskom-cancel-calls): New function. Prevent lyskom-ref-no from going negative: * macros.el (lyskom-ref-no): New macro to get and increment lyskom-ref-no. * internal.el (lyskom-send-packet): Ensure that lyskom-ref-no never goes negative. Fix bug 1272: * review.el (kom-review-converted): Don't bind lyskom-format-special (why did we *ever* bind it here?) 2004-02-09 David Byers * clienttypes.el (lyskom-queue-remove-matching): New function. 2004-02-07 David Byers * utilities.el (lyskom-read-date): Added optional parameter empty. Speed up behavior after changing user area: * async.el (lyskom-parse-async): Don't re-read settings if the new user area is one we've already read (or just created). * flags.el (lyskom-save-options-2): Set lyskom-current-user-area. (lyskom-read-options-eval): Ditto. Bug 1271 (and then some): * commands2.el (kom-list-new-conferences): Accept prefix arg to list from a specific date. (kom-list-new-persons): Ditto. (lyskom-list-new-conferences): Prompt for start date if the caller requests it or the command has never been used before. 2004-02-06 David Byers * utilities.el (lyskom-find-conf-by-date): New function. 2004-01-29 David Byers * macros.el (blocking-do-multiple): Use modern backquote syntax to make the code more readable. * vars.el.in (lyskom-text-buttons): Improved performance of some regexps in lyskom-text-buttons. * commands1.el (kom-move-text): Prevent moving from a conference back to the same conference. Doing this deletes the recipient completely. 2004-01-26 David Byers * vars.el.in (lyskom-format-special): Explicitly format plaintext types. (lyskom-text-buttons): Simplified the regexps for URLs. * lyskom-rest.el (smiley-region): New function. (smiley-region): Use it. Clean up some of the code. 2004-01-13 David Byers * review.el: Made all state variables (for kom-review-more) buffer-local. 2004-01-12 David Byers * services.el (initiate-get-membership): Use call 108 when possible. (initiate-get-part-of-membership): Same here. * parse.el (lyskom-parse-membership-list-11): New function. 2004-01-01 David Byers Fix bug 1236: * vars.el.in (lyskom-default-conference-strategy): Added kom-force-logout. * commands1.el (lyskom-return-username): Handle static-session-info and session-info in addition to who-info. Fix bug 1237: * vars.el.in (lyskom-commands-not-in-menu): New variable. * check-strings.el (lyskom-check-strings): Check main menu to ensure that all commands are in menus. (lcs-check-menu-template): New function. (lcs-extract-commands-from-menu-template): New function. Improve display of accelerators in menus: * menus.el (lyskom-define-menu-xemacs): Try to use swedish characters rather than brackets and braces for bindings that have both. (lyskom-define-menu-gnu): Same here. In W32, encode the keyboard shortcut using latin-1. Hopefully that will get rid of the little boxes in the menus. * utilities.el (lyskom-traverse-keymap): New function. * compatibility.el (map-keymap): More fixes. * menus.el (lyskom-menu-guess-shortcuts): New function. * vars.el.in (lyskom-swedish-bindings): New variable. (lyskom-swedish-bindings-reverse): Ditto. 2003-12-18 David Byers * compatibility.el (map-keymap): I think this function will work in Gnu Emacs now. Make language selection more available: * swedish-strings.el (lyskom-menus): Language-related texts in swedish and english. (lyskom-message): Ditto. * menus.el (lyskom-menu-template): Added change local and global language. * commands2.el (kom-change-global-language): New command. (kom-change-local-language): New command. Commands at when-done in current language: * language.el (lyskom-try-get-string): Added language parameter. (lyskom-get-string): Added language parameter. * command.el (lyskom-command-name): Added language parameter. 2003-12-17 David Byers Update menus: * utilities.el (lyskom-gensym): New function (it really seems that elisp doesn't have a built-in gensym function). * menus.el (lyskom-define-menu-gnu): Use gensym to generate separator symbols (so we can say just (hline) in the menu spec). (lyskom-menu-template): All-new menu definitions. 2003-12-16 Johan Sundström * commands2.el (kom-change-language): Reverted my improper prefix argument hack from 2003-08-30. 2003-12-11 David Byers Fix bug 1233: * commands1.el (kom-change-priority): Pass old mship-type to lyskom-add-member-answer. Fix bug 1234: * lyskom-rest.el (lyskom-update-prompt): New prompts for when prioritised texts are in the letterbox, or the prioritised conference is the letterbox. Fix bug 1233: * commands1.el (lyskom-list-clients-collect): Deal with version set to nil. 2003-12-10 David Byers * startup.el (kom-start-anew): Show a help link when setting the language. * lyskom-rest.el (lyskom-format-aux-help): The argument for a conditional format is not optional, so we can handle extending format strings with additional boolean conditionals without altering the argument lists where they are used. 2003-12-07 David Byers * NEWS-0.48: Updated to here. Handle user privileges: * commands2.el (kom-change-privileges): New command. (kom-status-person): Print privileges. * komtypes.el (pers-stat): Make privileges read-write. * utilities.el (lyskom-privilege-string): New function. * vars.el.in (lyskom-default-conference-strategy): Added change-conf-type, which was missing, to this list. 2003-12-04 David Byers * lyskom-rest.el (lyskom-read-number): Use lyskom-string-to-int so we never create floats by mistake. More features for padding and truncating formatted strings: * commands1.el (lyskom-print-comment-like-aux): Don't print FAQ links if the data in the aux-item is invalid. * utilities.el (lyskom-truncate-string-to-width): New simpler implementation that only supports the features we use and supports the TRAILER argument. * lyskom-rest.el (lyskom-format-aux-help): Support < > and = to specify stuff in pad-length. Support a ... trailer for truncated strings. Improve handling of invalid numeric data: * aux-items.el (lyskom-status-print-faq-text): Handle invalid data in aux item. (lyskom-faq-for-conf-action): Use lyskom-string-to-int to convert data and throw an error on invalid format. (lyskom-aux-item-validate): New function. (lyskom-status-print-faq-text): Validate aux-item data before printing. (lyskom-print-faq-for-conf): Same here. (lyskom-print-send-comments-to): Same here. (lyskom-print-recommended-conf): Same here. * utilities.el (lyskom-string-to-int): New function. (lyskom-integer-conversion-error): New error symbol. Fix bug 1229: * commands2.el (kom-list-new-conferences): The data got from the server is a conf-stat, not an uconf-stat. Treat it as such... (lyskom-list-new-conferences): Same here. 2003-12-03 David Byers * names.el: Changed some names and tpyos. * commands1.el (lyskom-list-clients-collect): Client statistics now semi-ignore parentheses in the version field. 2003-11-17 David Byers Fix bug 1142: * commands1.el (lyskom-mark-text): Print the mark type in the marking message. * commands2.el (lyskom-symbolic-mark-type-string): Added argument STRICT. Minor bug fixes: * commands2.el (kom-is-person-member-of-conference): When reading pers-to-check-mship-for, only read persons. * vars.el.in (lyskom-default-conference-strategy): Fixed typo in kom-move-text-tree. Fix bug 1174: * commands2.el (kom-join-all-conferences): Ask about receiving group messages in all conferences. * commands1.el (lyskom-add-member-answer): Added mship-type parameter. (lyskom-add-member-by-no): Added mship-type parameter. (kom-create-conf): Added mship-type parameter in call to lyskom-add-member-by-no Fix bug 1213: * commands1.el (lyskom-write-text): Handle argument correctly so both prefix arguments and menus work properly. (lyskom-add-member-answer): Added mship-type parameter Fix bug 1132: * commands2.el (lyskom-list-new-conferences): Made this function asynchronous. Use lyskom-get-conf-stat since there's a good chance, shortly after release at any rate, that this command will cause an explosion of get-conf-stats anyway (when the client gets the conf-stat in order to display the presentation status). 2003-11-14 David Byers Fix bug 1140: * vars.el.in (kom-pick-text-no-strategy-alist): Added items to this list corresponding to commands that have non-standard defaults, since these were ignored. * faqs.el (kom-add-faq): Don't pass DEFAULT to lyskom-read-text-no-prefix-arg (the default made little sense anyway). (kom-add-server-faq): Same here. * commands1.el (kom-set-presentation): Don't pass DEFAULT to lyskom-read-text-no-prefix-arg (the default made little sense anyway). (kom-set-motd-text): Same here. 2003-09-21 David Byers * commands1.el (lyskom-read-mark-type): Improve handling of empty string entered as mark type. 2003-09-17 David Byers * cache.el (lyskom-tell-server): Never, ever, send nil to change-what-i-am-doing since this causes a protocol error. 2003-10-26 Per Cederqvist * lyskom-rest.el (kom-mark-unread): Fixed typos in doc string. 2003-10-26 Joel Rosdahl * commands1.el (lyskom-get-least-used-mark-types-alist): Handle nil in mark list got from cache-get-marked-texts. 2003-10-23 Joel Rosdahl Fix bug 1137: * commands1.el (lyskom-read-mark-type): Handle empty input correctly. 2003-09-15 Per Cederqvist * swedish-strings.el (lyskom-message): Added missing verb in new-keep-commented-q format. 2003-08-30 Johan Sundström * commands2.el (kom-change-language): Now always changes bindings, unless explicitly overridden with an integer argument (for some form of backwards compatibility for users who already have burnt in "C-u x change language" into their spines by now). I have never wanted to change languages without changing key bindings as well, but considering it was implemented like this, someone might still want to do that (hence this slight prefix awkwardness). 2003-08-30 David Byers Fix bug 1101: * komtypes.el (text-list->trim-head): The new length was computed incorrectly, leading to problems if this function was called without intervening calls to functions that corrected the error. Fix bug 1131: * parse.el (lyskom-init-parse): Inherit inheritable variables from lyskom-buffer since the parsers may depend on them. 2003-08-29 David Byers * lyskom-rest.el (lyskom-fill-message): Don't kill the last char. 2003-08-28 Ulrik Haugen * vars.el.in (kom-builtin-server-aliases, kom-server-aliases): Fix documentation string ((NICKNAME . SERVER) -> (SERVER . NICKNAME)). 2003-08-28 David Byers Handle breaking very long texts: * lyskom-rest.el (lyskom-fill-message): Added option of a timeout for filling, replaced whitespace deletion at the end with a method that does not rely on regexps (it seems that anchoring a regexp at the end of the buffer does not improve performance as much as I expected), and caused C-g to break out of the filling loop, but not out of the function. * vars.el.in (kom-autowrap-timeout): New variable. Fix bug 1117: * commands2.el (kom-set-garb-nice): Moved kom-set-keep-commented into this function. It makes more sense that way. (kom-set-keep-commented): Deleted this command. Fix bug 1128: * commands2.el (kom-limit-import): Support refusing HTML import. Fix bug 1125: * edit-text.el (lyskom-edit-insert-miscs): Make more of the separator line read-only, taking care (I hope) to get text properties right so the read-only property does not affect the subject line. 2003-08-27 David Byers * compatibility.el (string-to-vector): Don't just compute the result. Return it too... * utilities.el (lyskom-completing-read): Protect the value of this-command from alteration. (lyskom-read-from-minibuffer): Same here. 2003-08-26 David Byers * utilities.el (lyskom-magic-minibuffer-mangle-initial): Explicitly make properties at the front of the initial value nonsticky (mainly for XEmacs where they are sticky by default). (completing-read): Add explicity uses for all variables to avoid compiler warnings in XEmacs at run time. (read-from-minibuffer): Same. * commands2.el (kom-send-message): Remoed unused variables. 2003-08-25 David Byers * vars.el.in (lyskom-error-codes): Added error codes 55-61. * english-strings.el,swedish-strings.el: Added error codes 55-61. * startup.el (kom-start-anew): Use lyskom-default-language instead of kom-default-language to set the initial language for the session. * lyskom-rest.el (lyskom-is-loaded): Changed initialization of language variables to use new function in language.el. Also do not alter kom-default-language unless it was nil to begin with. Convert kom-default-language from symbol to list if necessary. * language.el (lyskom-language-from-environment): Moved here from lyskom-rest.el. (lyskom-default-language): New function. * completing-read.el (lyskom-read-conf-internal): We use uconf-stats internally, so don't use conf-stat accessors. 2003-08-25 David Byers Fix problems entering conferences in the edit buffer: * completing-read.el (lyskom-default-conference-saved): Read the value of lyskom-read-conf-saved-inputs in the LysKOM buffer. (lyskom-read-conf-save-input): Same here. (lyskom-get-initial-conf-strategy): Print warning about missing strategy in LysKOM buffer. * vars.el.in (lyskom-read-conf-saved-inputs): Moved here from completing-read.el and made it buffer-local. * completing-read.el (lyskom-read-conf): Create dynamic binding of lyskom-current-command to lyskom-current-command or this-command so lyskom-read-conf-guess-initial has good data to operate on even if this-command is changed during execution of lyskom-read-conf. * vars.el.in (lyskom-last-personal-message-sender): Default to nil. (lyskom-last-group-message-recipient): Default to nil. * commands2.el (lyskom-default-conference-for-send-message): Return nil when there is no suitable recipient. 2003-08-25 David Byers Fixed assertion failure when receiving broadcast messages: * messages.el (lyskom-filter-message-handler): Filtering on recipient used checks on sender. Filtering worked most of the time anyway. 2003-08-24 David Byers * completing-read.el (lyskom-default-conference-empty): New function. * vars.el.in (lyskom-default-conference-strategy): Corrected listings for review and unread functions. * review.el (lyskom-review-by-to): Correct prompt in call to lyskom-read-conf-no. (lyskom-unread-by-to): Same here. * commands1.el (kom-status-session): Pass prompt to lyskom-read-session-no as symbol. * commands2.el (kom-force-logout): Pass prompt to lyskom-read-session-no as symbol. * remote-control.el (kom-remote-autoreply): Pass prompt to lyskom-read-session-no as symbol. (kom-remote-set-message): Same. (kom-remote-list-messages): Same. (kom-remote-erase-messages): Same. (kom-remote-quit): Same. * Makefile (TARGET): Default to debug compile. Fix bug 459: * commands2.el (kom-send-message): Use standard strategy for initial value when reading conf. (lyskom-default-conference-for-send-message): New function. * async.el (lyskom-show-personal-message): Save conf-no, not name in lyskom-last-personal-message-sender. (lyskom-show-personal-message): Same here. * vars.el.in (lyskom-default-conference-strategy): Added strategy for set-keep-commented and kom-send-message. * completing-read.el (lyskom-get-initial-conf-strategy): Display a warning if there is no prompt-specific strategy (there should be). This only happens if compiled with debugging. * macros.el (lyskom-debug-forms): New macro. * utilities.el (lyskom-completing-read): Fix handling of default argument (twas broken before). * commands1.el (kom-move-text-tree): Handle initial values for reading conference names through standard strategy configuration. * vars.el.in (lyskom-default-conference-strategy): Added strategies for kom-move-text and kom-sub-recipient. * commands1.el (lyskom-default-recpt-for-sub): Removed this function. It is implemented through the standard strategy configuration instead. (kom-move-text): Handle initial values for reading conference names through standard strategy configuration. * vars.el.in (lyskom-last-added-rcpt): Removed this variable. (lyskom-last-added-ccrcpt): Same. (lyskom-last-added-bccrcpt): Same. (lyskom-last-sub-rcpt): Same. * commands1.el (kom-sub-recipient): Don't save answer reading conference. Rely on standard strategy for default initial value. Sort the recipient list so RECPT is first. * vars.el.in (lyskom-default-conference-strategy): Handle initials formerly set in lyskom-add-helper through save strategy. * commands1.el (kom-create-conf): Ask about keep-commented when creating conference. (lyskom-add-helper): Don't explicitly save last-added stuff. Removed last-added variable parameter. (kom-add-copy): Updated parameter list to lyskom-add-helper. (kom-add-bcc): Same here. (kom-add-recipient): Same here. * NEWS-0.48: Updated to here. Support setting keep-commented: * commands2.el (kom-set-keep-commented): New command. 2003-08-20 David Byers More work on bug 459: * vars.el.in (lyskom-default-conference-strategy): Documented this variable. Support saving most recent input: * completing-read.el (lyskom-read-conf-saved-inputs): New variable. (lyskom-read-conf-save-input): New function. (lyskom-read-conf): Call it to save user input. (lyskom-read-conf-guess-initial): Support arguments to strategy functions. (lyskom-default-conference-saved): New function. 2003-08-17 David Byers Fix bug 1044: * lyskom-buttons.el (lyskom-view-url-windows): Protect execution of w32-shell-execute from errors (e.g. caused by bad settings). (lyskom-view-url-windows): Added a bunch of paths to iexplore.exe. Support UTC time in the server: * startup.el (lyskom): Select UTC time format if the server supports it. * utilities.el (lyskom-set-connection-format): New function. * parse.el (lyskom-parse-time): Use lyskom-create-time-from-utc. Convert day-of-year to starting from one. (lyskom-init-parse): Add the parse buffer as a child of the main buffer so UTC setting is propagated to it. * komtypes.el (lyskom-create-time-from-utc): Simplified. It seems that the right thing to do is pass zero in TZ to encode-time. This should speed things up slightly in normal cases. Handle case when server does not use UTC. * services.el: (initiate-get-last-text): Commented out since we can't convert local time to UTC, which this function requires. Go over EMPTY and MUSTMATCH parameters to lyskom-read-conf-stat: * startup.el (kom-start-anew): Don't allow EMPTY when logging on. * filter.el (kom-filter-subject): Don't use /=. Use not eq instead. (kom-filter-author): Same here. (kom-filter-text): Same here. * commands2.el (kom-create-aux-item): Set MUSTMATCH when reading conference name. * vars.el.in (lyskom-default-conference-strategy): Default for kom-set-permitted-submitters new-permitted-submitters-q is empty. * commands1.el (kom-change-presentation): Don't allow EMPTY when reading conf name (it means the same as the default initial value). (kom-change-conf-motd): Same here. (kom-set-presentation): Same here. (kom-set-motd-text): Same here. (kom-remove-presentation): Same here. (kom-change-password): Same here. * macros.el (lyskom-with-external-functions): Work even if byte-compile-unresolved-functions is not bound (e.g. in check-strings.el and when not compiled). Make initial value for reading confs more configurable: * filter.el (kom-filter-author): Simplified. Initial values are now computed in completing-read.el, not here. * completing-read.el (lyskom-read-conf-guess-initial): Added PROMPT parameter. (lyskom-get-initial-conf-strategy): Added PROMPT parameter. Operate on new format. Combine prompt-specific, command-specific and default configuration. * vars.el.in (lyskom-default-conference-strategy): New format. Removed lyskom-default-conference-self as default. * completing-read.el (lyskom-default-conference-last-author): New function. Pass symbols or lists to lyskom-read-conf-stat and friends: * startup.el (kom-start-anew): Pass symbol as prompt to lyskom-read-conf-stat. * review.el (lyskom-review-by-to): Pass symbol as prompt to lyskom-read-conf-stat. (lyskom-unread-by-to): Same. * filter.el (kom-filter-subject): Pass symbol as prompt to lyskom-read-conf-stat. (kom-filter-author): Same. (kom-filter-text): Same. * faqs.el (kom-change-conf-faq): Pass symbol as prompt to lyskom-read-conf-stat. (kom-list-faqs): Same. * edit-text.el (kom-edit-add-recipient): Pass symbol as prompt to lyskom-read-conf-stat. (kom-edit-add-bcc): Same. (kom-edit-add-copy): Same. (kom-edit-move-text): Same. * completing-read.el (lyskom-read-conf): Support list as prompt. * commands2.el (kom-status-conf): Pass symbol as prompt to lyskom-read-conf-stat. (kom-status-person): Same. (kom-set-garb-nice): Same. (kom-set-permitted-submitters): Same. (kom-set-super-conf): Same. (kom-set-personal-label): Same. (kom-is-person-member-of-conference): Same. (kom-will-person-read-text): Same. * commands1.el (kom-delete-conf): Pass symbol as prompt to lyskom-read-conf-stat. (kom-review-presentation): Same. (kom-unread-presentation): Same. (kom-add-member): Same. (kom-add-self): Same. (kom-change-priority): Same. (kom-sub-member): Same. (kom-sub-self): Same. (kom-change-presentation): Same. (kom-change-conf-motd): Same. (kom-set-presentation): Same. (kom-set-motd-text): Same. (kom-remove-presentation): Same. (kom-unset-conf-motd): Same. (kom-go-to-conf): Same. (lyskom-write-text): Same. (kom-change-name): Same. (kom-change-parenthesis): Same. Also moved initial to vars.el.in. (kom-change-supervisor): Same. (kom-change-password): Same. (kom-who-is-on-in-conference): Same. (kom-who-is-present-in-conference): Same. (lyskom-add-helper): Same. (kom-sub-recipient): Same. (lyskom-read-cross-reference-and-get-aux-item): Same. Also cleanup. (lyskom-read-link): Same. 2003-08-16 David Byers Work on supporting UTC timestamps from the server: * komtypes.el (lyskom-create-time-from-utc): New function. * utilities.el (lyskom-days-in-year): New function. Support for new server calls: * parse.el (lyskom-parse-scheduling-info): New function. * komtypes.el (scheduling-info): New datatype. * services.el (initiate-get-scheduling): New function. (initiate-set-scheduling): New function. (initiate-set-connection-time-format): New function. Handle async-text-aux-changed: * async.el (lyskom-parse-async): Handle async-text-aux-changed. * aux-items.el (lyskom-aux-item-modify-list): New function. * komtypes.el (text-stat): Make aux-items field read-write. Major cleanup of compatibility code: * compatibility.el: Cleaned up compatibility code a lot. We no longer provide fake versions of MULE-related functions or any other function that other code might take to mean there's some major feature in Emacs. The only definitions we make in the standard namespace are "safe" functions. Removed functions that are not used. Simplified some of the macros. Moved code here from utilities.el. (lyskom-gnu-keysym,lyskom-xemacs-keysym): Removed swedish chars from the lists since we don't use lyskom-keys for that any more. * commands2.el (kom-diff-texts): split-string to lyskom-split-string. * compatibility.el (coding-system-type): New compatibility def. (coding-system-property): New compatibility def. (split-string): Provide compatibility definition for split-string. * lyskom-rest.el (lyskom-unity-text): Use compatibility functions for MULE stuff. * macros.el (lyskom-end-of-compilation): Don't remove compatibility definitions from the list of warnings for unresolved functions since this serves no purpose and hides actual errors. * lyskom-rest.el (lyskom-unity-text): coding-system-type to lyskom-coding-system-type. * option-edit.el (lyskom-widget-click): event-point to lyskom-event-point. * slow.el (kom-slow-click-or-yank): event-closest-point to lyskom-event-closest-point. * utilities.el (lyskom-unicase-char): char-to-int to lyskom-char-to-int. * lyskom-rest.el (lyskom-fill-message-initial-wrap): char-to-int to lyskom-char-to-int. (lyskom-fill-message): Same here. (lyskom-is-loaded): Same here. * faces.el (lyskom-setup-faces-for-buffer): frame-property to lyskom-frame-property. * review.el (lyskom-get-texts-by-and-to): mapcar2 to lyskom-mapcar2. * lyskom-rest.el (lyskom-split-user-area): mapcar2 to lyskom-mapcar2. * feature.el (lyskom-list-features): mapcar2 to lyskom-mapcar2. * slow.el (lyskom-expand-slow-command): char-before to lyskom-char-before. * option-edit.el (lyskom-widget-click): event-point to lyskom-event-point. * lyskom-buttons.el (kom-button-click): event-point to lyskom-event-point. event-glyph to lyskom-event-glyph. (kom-popup-menu): Same here. * mship-edit.el (lp--entry-set-background): find-face to lyskom-find-face. (lp--entry-set-foreground): Same here. * lyskom-rest.el (lyskom-face-default-p): find-face to lyskom-find-face. * aux-items.el (lyskom-maybe-add-face-to-string): find-face to lyskom-find-face. * mship-edit.el (lp--format-entry): lyskom-face-background-name to lyskom-face-background. lyskom-face-foreground-name to lyskom-face-foreground. (lp--redraw-entry-mark): Same here. * lyskom-rest.el (lyskom-verified-read-enter): minibuffer-message to lyskom-minibuffer-message. * command.el (lyskom-command-complete-word): minibuffer-message to lyskom-minibuffer-message. * utilities.el (lyskom-maybe-recode-string): multibyte-string-p to lyskom-multibyte-string-p. (lyskom-string=): multibyte-string-p to lyskom-multibyte-string-p. * compatibility.el (lyskom-string-width): multibyte-string-p to lyskom-multibyte-string-p. * buffers.el (lyskom-recode-buffer-name): multibyte-string-p to lyskom-multibyte-string-p. * compatibility.el (lyskom-string-width): string-make-unibyte to lyskom-string-make-unibyte. string-make-multibyte to lyskom-string-make-multibyte. * lyskom-rest.el (lyskom-filter): string-as-unibyte to lyskom-string-as-unibyte. (lyskom-prot-a-format-string): Same here. (lyskom-prot-a-format-raw-string): Same here. * mime.el (lyskom-mime-string-charset): find-charset-string to lyskom-find-charset-string. * utilities.el (lyskom-truncate-string-to-width): char-width to lyskom-char-width. * view-text.el (lyskom-format-text-footer): string-width to lyskom-string-width. * completing-read.el (lyskom-read-session-resolve-ambiguity): string-width to lyskom-string-width. * utilities.el (lyskom-check-configuration): coding-system-get to lyskom-coding-system-get. * mime.el (lyskom-mime-string-charset): find-coding-systems-for-charsets to lyskom-find-coding-systems-for-charsets (lyskom-mime-string-charset): coding-system-get to lyskom-coding-system-get. * parse.el (lyskom-parse-coded-string): check-coding-system to lyskom-check-coding-system. * mime.el (lyskom-mime-charset-coding-system): check-coding-system to lyskom-check-coding-system. * lyskom-rest.el (lyskom-prot-a-format-string): string-bytes to lyskom-string-bytes. (lyskom-prot-a-format-raw-string): string-bytes to lyskom-string-bytes. * flags.el (lyskom-save-options): string-bytes to lyskom-string-bytes. * utilities.el (lyskom-compute-char-classes): decode-coding-string to lyskom-decode-coding-string. (lyskom-string=): decode-coding-string to lyskom-decode-coding-string. * parse.el (lyskom-parse-coded-string): decode-coding-string to lyskom-decode-coding-string. * mime.el (lyskom-mime-decode-string): decode-coding-string to lyskom-decode-coding-string. * parse.el (lyskom-parse-string): decode-coding-string to lyskom-decode-coding-string. * flags.el (lyskom-read-options-eval-get-holerith): decode-coding-string to lyskom-decode-coding-string. (lyskom-get-holerith): decode-coding-string to lyskom-decode-coding-string. * compatibility.el (lyskom-buggy-decode-coding-string): decode-coding-string to lyskom-decode-coding-string. * buffers.el (lyskom-recode-buffer-name): decode-coding-string to lyskom-decode-coding-string. * aux-items.el (lyskom-aux-item-decode-data): decode-coding-string to lyskom-decode-coding-string. * compatibility.el (lyskom-buggy-encode-coding-string): encoded-coding-string to lyskom-encode-coding-string. * utilities.el (lyskom-maybe-recode-string): encode-coding-string to lyskom-encode-coding-string. (lyskom-unicase): encode-coding-string to lyskom-encode-coding-string. * mime.el (lyskom-mime-encode-string): encode-coding-string to lyskom-encode-coding-string. * lyskom-rest.el (lyskom-prot-a-format-string): encode-coding-string to lyskom-encode-coding-string. * language.el (lyskom-get-menu-string): encode-coding-string to lyskom-encode-coding-string. * keyboard-menu.el (lyskom-keyboard-menu-keys-for-string): encode-coding-string to lyskom-encode-coding-string. * flags.el (lyskom-save-options): encode-coding-string to lyskom-encode-coding-string. * buffers.el (lyskom-recode-buffer-name): encode-coding-string to lyskom-encode-coding-string. * aux-items.el (lyskom-aux-item-encode-data): encode-coding-string to lyskom-encode-coding-string. * startup.el (lyskom): set-process-coding-system to lyskom-set-process-coding-system. * parse.el (lyskom-init-parse): set-buffer-multibyte to lyskom-set-buffer-multibyte. * mship-edit.el (lp--maybe-update-unreads): Use lyskom-next-property-bounds, not next-text-property-bounds. * lyskom-rest.el (lyskom-do-special-inserts): Use lyskom-next-property-bounds, not next-text-property-bounds. * view-mode.el (lyskom-view-base-mode): set-keymap-parent to lyskom-set-keymap-parent. * language.el (lyskom-set-language-keymaps): set-keymap-parent to lyskom-set-keymap-parent. * completing-read.el (lyskom-minibuffer-local-must-match-map): set-keymap-parent to lyskom-set-keymap-parent. * command.el (lyskom-command-minibuffer-local-must-match-map): set-keymap-parent to lyskom-set-keymap-parent. * commands2.el (lyskom-help-get-keylist): map-keymap to lyskom-map-keymap. Removed other branches since map-keymap is always defined now. * mship-edit.el (lp--calculate-distance): signum to lyskom-signum. * commands1.el (lyskom-window-width): frame-width to lyskom-frame-width. * lyskom-rest.el (lyskom-format-aux-help): int-to-char to lyskom-int-to-char. * commands2.el (lyskom-help): characterp to lyskom-characterp * keyboard-menu.el (lyskom-read-from-menu): characterp to lyskom-characterp. * lyskom-rest.el (lyskom-format-aux-help): characterp to lyskom-characterp. * regexp.el (lyskom-re-convert-finalize-result): characterp to lyskom-characterp. (lyskom-re-convert-finalize-result): Same here. * mime.el (lyskom-mime-string-charset): Use :mime-charset next to mime-charset (Gnus does this ans says it is the Emacs 22 way). 2003-08-15 David Byers * view-text.el (lyskom-get-text-belongs-to): New function. Fix bug 301: * commands1.el (kom-move-text): Move attachments and footnotes together with the text. (kom-sub-recipient): Remove recipient from attachments and footnotes too. (lyskom-add-helper): Add recipients to attachments and footnotes too. Fix bug 623: * commands2.el (kom-set-unread): Delete conf-stat from cache before prompting. Fixed error handling. Better handling of minibuffer reading: * completing-read.el (lyskom-read-conf): Don't call lyskom-with-lyskom-minibuffer since it's integrated in lyskom-completing-read now. (lyskom-read-session-resolve-ambiguity): Same here. * lyskom-rest.el (lyskom-verified-read-from-minibuffer): Don't call lyskom-with-lyskom-minibuffer since it's integrated in lyskom-read-from-minibuffer now. * commands2.el (kom-calculate): Don't call lyskom-with-lyskom-minibuffer since it's integrated in lyskom-read-from-minibuffer now. (kom-set-personal-label): Same here. * command.el (lyskom-read-extended-command): Don't use lyskom-with-lyskom-minibuffer since it's integrated in lyskom-completing-read now. * utilities.el (lyskom-completing-read): Moved here from compatibility.el and turned into a regular function. Integrate lyskom-with-lyskom-minibuffer and lyskom-with-magic-minibuffer. (lyskom-read-from-minibuffer): Ditto. * commands1.el (kom-sub-self): Undo previous change. The new configuration mechanism takes care of things. (kom-go-to-conf): Same here. Even better defaults for initial conference: * compatibility.el (lyskom-completing-read): Use defsubst in Gnu Emacs so we can advise it. * vars.el.in (lyskom-default-conference-strategy): New variable. Rewrote magic minibuffer handling: * utilities.el (lyskom-magic-minibuffer-pre-command): New function. (lyskom-magic-minibuffer-before-change): New function. (lyskom-magic-minibuffer-post-command): New function. (lyskom-magic-minibuffer-cancel): New function. (lyskom-magic-minibuffer-mangle-initial): New function. (read-from-minibuffer): New advice. (completing-read): New advice. (lyskom-magic-minibuffer-add-advice): New function. (lyskom-magic-minibuffer-cancel-advice): New function. (lyskom-with-magic-minibuffer): New macro. 2003-08-15 Ulrik Haugen * english-strings.el (local): Changed "what conference" -> "which conference" in conf-to-check-mship-of, conf-to-list-faqs. * english-strings.el, swedish-strings.el (local): Renamed conf-to-faq -> conf-to-list-faqs. * faqs.el (kom-list-faqs): Caller changed. Fix for bug 1082. * faqs.el (kom-list-faqs): Removed hard coded string when asking for conference. * english-strings.el, swedish-strings.el (local): added conf-to-faq. 2003-08-14 David Byers * completing-read.el (lyskom-read-conf): Cancel magic in minibuffer-exit-hook to avoid triggering bugs in Gnu Emacs 20.7 (and probably all earlier versions). Update NEWS file: * NEWS-0.48: Updated to here. Don't show nil in message area when silently saving settings: * flags.el (lyskom-save-options): Support nil message properly. (lyskom-save-options-2): Ditto. (lyskom-save-options-3): Ditto. Suppoert non-interactive use of kom-list-new-conferences etc: * vars.el.in (kom-auto-confirm-new-conferences): New variable. * commands2.el (lyskom-list-new-conferences): Support auto-confirmation. * lyskom-rest.el (lyskom-do-format): Better error reoprting (report argument number and actual argument). (lyskom-format-aux-help): Provide data for error reporting. * faqs.el (kom-list-server-faqs): Updated documentation. New commands: * services.el (initiate-first-unused-conf-no): New function. (initiate-first-unused-text-no): New function. (initiate-find-next-conf-no): New function. (initiate-find-previous-conf-no): New function. * commands2.el (kom-set-personal-label): Use capitalized strings for conf, pers and text. (lyskom-list-new-conferences): New function. (kom-list-new-persons): New command. (kom-list-new-conferences): New command. * commands1.el (lyskom-read-cross-reference-and-get-aux-item): Use capitalized strings for conf, pers and text. (lyskom-read-link): Same here. Handle async-new-presentation and async-new-motd correctly: * async.el (lyskom-parse-async): Set the correct buffer when looking for confs in the cache. Show more stats in non-extended display: * commands2.el (kom-status-server): Show text, conf and person statistics in the default display. Cace get-stats-description: * services.el (initiate-get-stats-description): Use cache. * vars.el.in (lyskom-stats-description): New variable. * parse.el (lyskom-parse-stats-description): Cache result. Show some boottime info: * commands2.el (kom-status-server): Show server start time and soem basic statistics in the default display. Cache static-server-info: * parse.el (lyskom-parse-static-server-info): Update cache. * services.el (initiate-get-boottime-info): Use cache. More fine-grained control over extended status: * commands2.el (kom-status-server): Only show full server stats if the appropriate extended status information is on. * utilities.el (lyskom-extended-status-information): New function. * commands2.el (kom-status-conf): Set kom-extended-status-information to t on entry if it contains conf. (kom-status-server): Set kom-extended-status-information to t on entry if it contains server. (kom-status-person): Set kom-extended-status-information to t on entry if it contains pers. * aux-items.el (lyskom-print-elisp-client-read-faq): Use lyskom-extended-status-information to check for extended status information. * vars.el.in (kom-extended-status-information): Updated variable documentation. Fix bug 1080: * commands2.el (kom-status-server): Use point-max, not point, to figure out where insertion starts and ends (lyskom-insert always inserts at point-max but does not always move point). Fix bug 1081: * lyskom-rest.el (lyskom-format-aux): Set pad-length to nil when no pad-length is specified. 2003-08-13 Ulrik Haugen * vars.el.in (kom-default-language): Updated the variable documentation. * lyskom-rest.el (lyskom-is-loaded): Handle the case when kom-default-language is a list. 2003-08-13 David Byers Work on bug 1075: * parse.el (lyskom-parse-static-server-info): New function. * services.el (initiate-get-boottime-info): New function. * vars.el.in (lyskom-static-server-info): New variable. * komtypes.el (static-server-info): New type. Fix bug 1078: * vars.el.in (lyskom-global-variable-types): Change read of integer. (kom-default-mark): Put this both in the common area and the elisp area. This is a good thing when we set it to values that are not legal according to the protocol specification. * flags.el (lyskom-flag-read-integer): When reading integers, accept nil too. Delete initial value on change: * completing-read.el (lyskom-read-from-minibuffer-clear-initial): New function. (lyskom-read-conf): Put it into before-change-functions in minibuffer-setup-hook. (lyskom-read-conf): Set pre-command-hook and post-command-hook. (lyskom-read-from-minibuffer-cancel-magic): New function. (lyskom-read-from-minibuffer-pre-command): New funtion. (lyskom-read-from-minibuffer-post-command): New function. (lyskom-minibuffer-point): New variable. 2003-08-12 David Byers * async.el (lyskom-parse-async): Handle async 20. (lyskom-parse-async): Handle async 21. 2003-08-05 Per Cederqvist * completing-read.el (lyskom-read-conf): Typographic doc fix. 2003-08-05 Johan Sundström * commands1.el (kom-go-to-conf): Never suggest going to the conference you are already in. It is a very annoying default. (kom-sub-self): Never suggest dropping out of your mailbox. It is about the last conference you are likely to want to leave. 2003-08-04 David Byers * commands2.el (kom-status-server): Show ascent and descent rates for statistics. 2003-08-04 Johan Sundström * edit-text.el (lyskom-edit-fcc-text): Fix for bug 1073. 2003-08-03 David Byers * commands2.el (kom-status-server): Show statistics about the server. * lyskom-rest.el (lyskom-format-aux-help): Added support for formatting floats. (lyskom-format-aux): Support setting fraction length for floats. (lyskom-format-units): New function. Support get-stats server call: * utilities.el (lyskom-get-server-stats): New function. * komtypes.el (server-stats): New type. * parse.el (lyskom-parse-float): New function. (lyskom-parse-stats): New function. * komtypes.el (stats-description): New type. (stats): New type. * parse.el (lyskom-parse-stats-description): New function. (lyskom-parse-stats-array): New function. * services.el (initiate-get-stats-description): New function. More work on bug 900 (now nags about presentations): * vars.el.in (kom-dont-complain-about-missing-presentation): New variable. * utilities.el (lyskom-nag-about-presentation): New function. * startup.el (kom-start-anew): Use new function to nag about presentation. * commands1.el (lyskom-write-text): Nag about presentation. (kom-write-comment): Here too. * lyskom-rest.el (lyskom-format-aux-help): Added support for F format letter (fill paragraph). (lyskom-do-insert): Ditto. Coherent and useful defaults reading conference names: * filter.el (kom-filter-subject): Don't set default when reading conference name (the default default is better). Also cleaned up the code some (it was downright embarrasing). (kom-filter-author): Same here (sans the cleaning). (kom-filter-text): Same here. * edit-text.el (lyskom-edit-add-recipient/copy): Don't set default when reading conference name (the default default is better). * faqs.el (kom-review-faq): Don't set default when reading conference name (the default default is better). (kom-change-conf-faq): Same here. (kom-list-faqs): Same here. * review.el (lyskom-review-by-to): Don't set default when reading conference name (the default default is better). (lyskom-unread-by-to): Same here. * commands2.el (kom-status-person): Don't set default when reading conference name (the default default is better). (kom-send-message): Fall back to the default default when reading recipient name (better than the empty string, I think). * commands1.el (kom-write-text): Don't set default when reading conference name (the default default is better). (kom-review-presentation): Pass nil as the initial for lyskom-read-conf-stat. (kom-unread-presentation): Same here. (kom-add-self): Same here. (kom-change-priority): Same here. (kom-sub-member): Same here. (kom-sub-self): Same here. (kom-go-to-conf): Same here. (kom-list-created-conferences): Same here. (kom-change-password): Same here. (kom-who-is-on-in-conference): Same here. (kom-who-is-present-in-conference): Same here. (kom-change-parenthesis): Pass lyskom-pers-no in initial. (kom-sub-recipient): Use default INITIAL if no better choice is found. (lyskom-add-helper): Same here. (kom-move-text): Same here. (kom-move-text-tree): Same here. * command.el (def-kom-command): Added binding of lyskom-command-point. * completing-read.el (lyskom-read-conf): Handle loads of different types for INITIAL. (lyskom-read-conf-guess-initial): New function that guesses a default for conference reading commands. The default is the first that fits the predicate of the conference under point, the current conference and the current person. 2003-07-31 David Byers Make moving memberships work again: * mship-edit.el (lp--update-membership): Get priority from entry, not membership (which is *all* wrong). (lp--mode): Show the correct keymap in documentation. (lp--mode-map): Added binding for C-k. 2003-07-30 David Byers Keep membership buffer updated changing membership types: * reading.el (lyskom-insert-membership): Added calls to lp--update-buffer. (lyskom-replace-membership): Added calls to lp--update-buffer. (lyskom-remove-membership): Added calls to lp--update-buffer. * lyskom-rest.el (lyskom-check-go-to-conf): Added calls to lp--update-buffer. * commands2.el (kom-change-message-flag): Added calls to lp--update-buffer. * commands1.el (kom-add-self): Added calls to lp--update-buffer when de-passivating. (lyskom-sub-member): Added calls to lp--update-buffer. * lyskom-rest.el (lyskom-get-holerith-list): Return list in original order. (lyskom-split-user-area): Don't reverse the list here. * flags.el (lyskom-flag-write-symbol-list): Fixed stupid bug. 2003-07-28 David Byers Better support for message-flag and no-of unread when joining: * commands1.el (lyskom-go-to-conf): Ask for number of unread when joining. (kom-add-self): Ask for message-flag when de-passivating. (lyskom-add-member-answer): Ask for message-flag when adding self. * lyskom-rest.el (lyskom-check-go-to-conf): Ask for message-flag when de-passivating a membership. Some more work for kom-handle-membership: * mship-edit.el (lp--create-buffer): Made the header and footer adapt to the window width like the contents do. (lp--toggle-passive): New command. Also added binding. * check-strings.el (lcs-split-format-string): Reflect changes to lyskom-format-format here. * lyskom-rest.el (lyskom-list-unread-mapping): Removed unused variable. (lyskom-format-aux-help): Added format directive l. (lyskom-format-aux): Support arbitrary pad characters. 2003-07-27 David Byers Like bug 755 but for footnotes: * utilities.el (lyskom-maybe-get-footnoted-text): New function. * vars.el.in (kom-pick-text-no-strategy-alist): Added better default for kom-sub-footnote. * commands1.el (kom-sub-comment): Print a message when there are no comments to the text rather than continue. (kom-sub-footnote): Ditto, for footnotes. Fix bug 755: * utilities.el (lyskom-maybe-get-commented-text): New function. * vars.el.in (kom-pick-text-no-strategy-alist): Added defaults for kom-sub-comment. * edit-text.el (lyskom-edit-insert-miscs): Make the read-only marking on the separator non-sticky at the end. Fix bug 747: * commands2.el (lyskom-status-pers-list-one-membership): New function. (kom-status-person): Use it. Fix bug 709: * faqs.el (kom-list-faqs): New command. (kom-list-server-faqs): New command. (lyskom-do-list-faqs): New function. * lyskom-rest.el (lyskom-next-property-bounds): New function. (lyskom-do-special-inserts): Use it. Added end parameter. (lyskom-do-insert): Pass end parameter. * lyskom-buttons.el (lyskom-button-transform-text): Do links from kom-text-buttons after the hard-coded stuff. Fix bug 761: * startup.el (kom-start-anew): Set lyskom-is-administrator to nil after logging on. Fix bug 1058: * edit-text.el (lyskom-edit-insert-miscs): Make the separator read-only. 2003-07-26 David Byers Minor fixes: * commands1.el (kom-sub-self): Restrict this command to membership. Improvements to completing read: * completing-read.el (lyskom-read-conf-internal): Added membership predicate to lyskom-read-conf-internal. (lyskom-read-conf): Support integer argument in initial. Default to placing point at the start of input. Fix bug 1036: * commands2.el (kom-change-message-flag): Nwe command. * commands2.el (kom-is-person-member-of-conference): Show if a person receives group messages to the conference. * utilities.el (lyskom-return-membership-type): Show message-flag if it is not the default. 2003-07-25 David Byers UI support for bug 1036: * mship-edit.el (lp--compute-format-string): Support message-flag. (lp--format-entry): Ditto. (lp--flag-menu-get): Ditto. (lp--flag-menu-set): Ditto. (lp--format-insert-entry): Ditto. Protocol support for bug 1036: * komtypes.el (membership-type): Added message-flag. * parse.el (lyskom-parse-membership-type): Set message-flag from message-invert. * lyskom-rest.el (lyskom-prot-a-format-membership-type): Transmit message-invert instead of message-flag. 2003-07-22 David Byers * commands2.el (lyskom-update-membership-buffer): Fixed typo. 2003-07-23 Per Cederqvist * swedish-strings.el (lyskom-message): Fixed spelling error in Swedish 'pers-is-member-of-rcpt: inlågg => inlägg. 2003-07-21 David Byers * NEWS-0.48: Updated to here. Fix bug 708: * flags.el (lyskom-flag-global-variable-from-common): New function. (lyskom-flag-global-variable-from-elisp): New function. (lyskom-flag-write-boolean): New function. (lyskom-flag-read-boolean): New function. (lyskom-flag-write-symbol-list): New function. (lyskom-flag-read-symbol-list): New function. (lyskom-flag-read-from-string): New function. 2003-07-20 David Byers Fix bug 708: * language.el (lyskom-first-available-language): New function. (lyskom-set-language): Use it to support setting language from a list. * startup.el (kom-start-anew): Use lyskom-first-available-language when dealing with kom-default-language. * defvar.el (def-kom-var): Added support for common flag. Use lyskom-global-variables instead of the old stuff. Added support for transition flag. (lyskom-global-variables): New variable. (lyskom-transition-variables): New variable. * check-strings.el (lcs-check-customize-variables): Handle new lyskom-global-variables. * flags.el (lyskom-set-var-from-string): Added type parameter. (lyskom-maybe-set-var-from-string): Ditto. (lyskom-save-options): Use lyskom-global-variables, not the old stuff. (lyskom-maybe-set-var-from-string): Require that variable is a symbol, not a string. (lyskom-set-var-from-string): Ditto. * vars.el.in (lyskom-global-boolean-variables): Removed. (lyskom-global-non-boolean-variables): Removed. (lyskom-global-variable-types): New variable. Fix bugs adding self to conferences: * commands1.el (kom-add-self): Handle re-joining passive conferences and conferences with invitations (how did this slip through). Make text-list operations more constant-time: * komtypes.el (text-list->append): Use the tail field to make this a constant time operation. (text-list->delq): Support the tail field. (text-list->trim-head): Ditto. (set-text-list->texts): Ditto. (text-list): Added tail field. (text-list): Added length-internal field. (text-list->length): Wrapper for length-internal. (text-list->delq): Handle length-internal. (text-list->append): Ditto. (text-list->trim-head): Ditto. Fix for fix of bug 409: * komtypes.el (text-mapping->remove-local): Fixed bug that made clearing local no in a dense map impossible. Better error reporting: * parse.el (lyskom-parse-unparsed): Do not catch non-protocol errors. This finally allows us to get decent backtraces even for errors in callbacks. Fix bug 409 (use local-to-global): * prefetch.el (lyskom-fetch-start-of-map): Use text-mapping instead of map. (lyskom-prefetch-map-handler): Use text-mapping instead of map. (lyskom-prefetch-one-request): Use local-to-global instead of get-map. * lyskom-rest.el (lyskom-list-unread): Handle text-mappings, not just maps. (lyskom-list-unread-mapping): New function. * services.el (initiate-local-to-global): Pretend to do local-to-global using get-map. 2003-07-19 David Byers Work on bug 409: * komtypes.el (def-komtype): Added :constructor-hook modifier. (text-mapping-iterator): New type. (text-mapping->iterator): New function. (text-mapping-iterator->init): New function. (text-mapping-iterator->next): New function. (text-mapping-iterator->step): New function. (text-mapping->remove-local): New function. (text-mapping->remove-local): New function. 2003-07-02 David Byers Removed unused variables: * commands1.el (lyskom-get-marked-texts): Removed variable mark-list. * commands2.el (kom-leave-all-conferences): Removed variable unsubscribed. * lyskom-rest.el (lyskom-format-x-kom/user-area): Removed variable tmpbuf. * lyskom-buttons.el (lyskom-generate-button): Removed variable persno. Fixed empty lines in nameday display: * names.el (lyskom-nameday-2): Say so when there are no namedays (we more or less have to when showing names from more than one list, and it ain't bad Fixed bug 1064: * lyskom-buttons.el (kom-button-click): Handle null position properly. 2003-07-01 David Byers * commands1.el (lyskom-write-text): Handle prefix args correctly (so C-u i works). 2003-06-04 David Byers Fix bug 1054: * filter.el (lyskom-create-filter-function-body): Handle a null author. (lyskom-filter-text-p-3): Allow a null author. 2003-06-01 David Byers Fix bug 587: * lyskom-rest.el (lyskom-format-x-kom/user-area): New function. * view-text.el (lyskom-print-text): Special patch for user area (which has no subject line). * flags.el (lyskom-get-holerith): New function that does what lyskom-read-options-eval-get-holerith does, but does it without side effects in lyskom-options-text. Fix bug 1046: * option-edit.el (lyskom-customize-mode): New major mode. (kom-customize): Use it. Fix bug 1047: * review.el (lyskom-find-root): Only visit each text once. This also eliminates problems with cyclic structures. (kom-find-root-review): Proper error message when the root cannot be found (e.g. in when there are cycles in the comment graph). (kom-find-root): Ditto. (kom-unread-root): Ditto. * swedish-strings.el,swedish-strings.el: Completed fix of 1038. Per Starbäck, not Magnus Bark, provided the patch. Fixed that in this file. 2003-05-21 David Byers * vars.el.in (lyskom-text-buttons): Do RFC-compliant URLs after doing pseudo-urls since otherwise the first line will be marked as a pseudo URL, rather than the whole thing being marked as a real URL. 2003-05-17 David Byers Fix bug 750: * lyskom-buttons.el (kom-button-click): Pop up the menu if there is no button action. Fix bug 986: * lyskom-buttons.el (lyskom-view-url-netscape): Support kom-netscape-variant. * vars.el.in (kom-netscape-variant): New variable. Fix bug 1038: * swedish-strings.el,english-strings.el: Fixed problem with accepting-recommendation (patch from Per Starbäck). Fix bug 1039: * commands1.el (lyskom-private-answer): Misc-list for personal replys to our own texts were wrong. 2003-05-10 David Byers Illegal argument stringp nil when listing missing texts: * commands2.el (lyskom-do-list-summary): Fix problem when listing texts that don't exist. 2003-05-09 David Byers Fix bug 868: * commands2.el (kom-add-private-answer): New function. Minor usability fix: * english-strings.el,swedish-strings.el: Clarify error-2. 2003-05-04 David Byers Fix bug 1024: * names.el (fi-orthodox): More fixes. Fix bug 1032: * command.el (lyskom-read-extended-command): Do not permit null input. Fix bug 1031: * faces.el (lyskom-setup-faces-for-buffer): Set defaults to nil, not default. Fixed bug 1024: * names.el (fi-sv): Fixed tYpo 2003-04-26 Ulrik Haugen My previous attempt to fix bug 1022 was incomplete, trying to repair it I realised how it should be done. * lyskom-rest.el (lyskom-modify-prompt): Don't "use current-time instead of lyskom-current-client-time". * lyskom-buttons.el (lyskom-default-button): Use lyskom-current-client-time instead of current-time. (lyskom-button-copy-timestamp): Use lyskom-format-time instead of format-time-string. 2003-04-26 Ulrik Haugen * swedish-strings.el (lyskom-sv-edit-mode-map) english-strings.el (lyskom-en-edit-mode-map): Added binding for kom-insert-last-info-nodename. Fix bug 1022: * lyskom-buttons.el (lyskom-button-copy-timestamp): Fixed typo. * lyskom-rest.el (lyskom-modify-prompt): Use current-time instead of lyskom-current-client-time (fixes bug 1022). 2003-04-25 David Byers * vars.el.in (kom-highlight-conferences): Corrected order of elements in kom-highlight-conferences. 2003-04-21 David Byers More work on debugging stuff: * macros.el (lyskom-assert-error): Handle non-LysKOM-buffer situations smarter. Work on bug 868: * aux-items.el (mx-refuse-import): Added this aux-item. (lyskom-print-mx-refuse-import): New function. Microfix bugfix: * lyskom-buttons.el (lyskom-highlight-function-get-conf-stat): Return nil when getting conf-stat in background. Fix text for conf-z-info. Bugfix: * commands1.el (kom-list-created-conferences): Fixed bug where we called conf-stat->name on an uconf-stat. 2003-04-20 David Byers Microfix: * lyskom-buttons.el (lyskom-highlight-function-get-conf-stat): Get conf-stat in background if it was not cached so it will be next time around. Also support conf-z-info. Better debugging support (would have caught bug 1013): * komtypes.el (def-komtype): Added assertions on data type to accessors and mutators. * macros.el (lyskom-assert): New macro. * header.el (lyskom-debug-compile): Added definition of lyskom-debug-compile. * komtypes.el (def-komtype): Added assertions to accessor and mutators to check type. Fix bug 1013: * lyskom-buttons.el (lyskom-default-button): Fixed cut-and-paste bug that caused uconf-stat and pers-stat-based buttons not to be generated correctly in many cases. 2003-04-14 Per Cederqvist Fix bug 1012: * vars.el.in (lyskom-text-buttons): Allow 8- and 9-digit text numbers. 2003-04-07 Johan Sundström * swedish-strings.el,english-strings.el (lyskom-filter-actions): New filter action obliterate. * view-text.el (lyskom-view-text): The new obliterate filter action performs filtering without leaving a trace in the kom buffer at all. 2003-04-06 David Byers Fix bug 678: * vars.el.in (lyskom-text-buttons): Made RFC-compliant URL specifications "pseudo" URLs, since there may be incomplete URLs inside brackets and stuff. Added validity check to RFC-compliant URL specifications, so not anything in <> will pass. * utilities.el (lyskom-is-url): New function. * lyskom-buttons.el (lyskom-button-transform-text): Support match predicates in lyskom-text-buttons. (lyskom-button-get-pred): New function. * vars.el.in (lyskom-text-buttons): Added support for URLs according to Appendix E in RFC2396. Cosmetic fix: * commands1.el (lyskom-list-conf-print): Don't make each line clickable in its entirety. Just print things normally. Handle conf-z-info more correctly in lyskom-format: * lyskom-buttons.el (lyskom-default-button): Support conf-z-info as argument for conf and pers buttons. * lyskom-rest.el (lyskom-format-aux-help): When conf-z-info is passed to %M, create a button. Fix error message when trying to unread everything: * review.el (lyskom-get-texts-globally): Added do-unread parameter. (kom-unread-more): Pass do-unread to lyskom-get-texts-by-to. (lyskom-unread-by-to): Ditto. (lyskom-get-texts-by-to): Added do-unread parameter to lyskom-get-texts-by-to. Fix bug 697: * commands1.el (kom-jump): Treat REVIEW-FAQ-TREE like REVIEW-TREE. * lyskom-rest.el (kom-view-next-text): Treat REVIEW-FAQ-TREE like review when altering the read list, but not otherwise. (lyskom-update-prompt): Treat REVIEW-FAQ-TREE like REVIEW-FAQ. * commands2.el (lyskom-list-summary): Added REVIEW-FAQ-TREE and REVIEW-TREE to if statement towards the end. * vars.el.in (lyskom-review-types-list): Added REVIEW-FAQ-TREE. * faqs.el (lyskom-present-unread-faqs): Pass t as review-tree argument to lyskom-do-review-faq. (lyskom-do-review-faq): Added argument review-tree. 2003-04-05 David Byers * lyskom-buttons.el (lyskom-highlight-has-no-presentation): Don't highlight secret conferences. * Changed my e-mail address to one I actually read. Fix bugs 951 and 952: * Makefile: Echo x-ctext coding to all emacs lisp files created in Makefile, since there is now an x-ctext file in the sources. * names.el (hu, cz): Added hungarian and czech names. Fix bug 664: * option-edit.el (lyskom-custom-variables): Support third value for kom-pop-personal-messages. * async.el (lyskom-handle-as-personal-message): If kom-pop-personal-messages is non-nil and non-t, don't pop up the frame. * buffers.el (lyskom-display-buffer): Added parameter keep-frame-iconfiied. Fix bug 742: * commands2.el (kom-will-person-read-text): New command. Fix bug 950: * names.el (lyskom-nameday): Allow a list of nameday lists. (lyskom-nameday-2): Added parameter show-list-name. * option-edit.el (lyskom-custom-variables): Support lists for kom-show-namedays. Fix bug 1003: * lyskom-rest.el (lyskom-beep): Handle conf-stat and uconf-stat type optargs, or kom-ding-on-group-messages and stuff won't work. Fix bug 1002: * vars.el.in (kom-pick-text-no-strategy-alist): Set correct default for kom-view-previous-commented-text. (kom-old-farts-text-prompt-strategy): Ditto. Fix bug 1006: * commands2.el (kom-is-person-member-of-conference): Show number of unread (only when deferred printing is on). * deferred-insert.el (lyskom-defer-insertion): Handle a list as the arguments for the server call. Fix bug 1000: * swedish-strings.el: Fix cut-n-paste error. Fix bug 1008: * commands1.el (lyskom-list-created-conferences-2): Show garb-nice in listing. 2003-03-16 David Byers Fix bug 815: * commands2.el (lyskom-send-message): Print the correct error code on failure. Fix bug 975: * commands1.el (lyskom-write-text): New function. (kom-write-text): Use it. Now letters and texts are the same. (kom-send-letter): Use it. Now letters and texts are the same. Fix bug 250: * lyskom-rest.el (lyskom-check-go-to-conf): Change priority when accepting an invitation. Fix bug 839: * commands1.el (kom-add-self): Don't re-add self. Fix bug 854: * commands2.el (kom-join-all-conferences): New command. (kom-leave-all-conferences): New command. * commands1.el (lyskom-add-member-by-no): Added no-of-unread parameter. * lyskom-buttons.el (lyskom-highlight-i-am-supervisor): Use lyskom-i-am-supervisor. * utilities.el (lyskom-i-am-supervisor): New function. (lyskom-get-all-conferences): New function. Fix bug 842: * commands1.el (kom-add-member-answer): Don't enter memberships under the current session priority. Fix bug 260: * commands1.el (kom-add-self): Ask for number of unread. (lyskom-try-add-member): Show no-of-unread in text. (lyskom-add-member-answer): Set unread if requested. * lyskom-rest.el (lyskom-read-num-range-or-date): Added initial, empty and default arguments. Language-dependent variables were set incorrectly in all but the first session: * startup.el (kom-start-anew): Unconditionally set the language, even if it looks like we're already on the right page. * language.el (lyskom-set-language-vars): When setting the language globally, muck with the default values of variables too. Fix bug 859: * swedish-strings.el,english-string.el (lyskom-messages): Fixed show-membership-info-q. Fix bug 591: * feature.el (read-ranges): New feature variable. * parse.el (lyskom-parse-membership-11): New function. (lyskom-convert-read-ranges-to-map): New function. * startup.el (lyskom-setup-client-for-server-version): Added features for protocol version 11. * utilities.el (lyskom-is-member): Pass want-read-ranges nil. * user-hooks.el (kom-read-last-text-hook): Pass want-read-ranges t. * prefetch.el (lyskom-prefetch-one-request): Pass want-read-ranges t. * mship-edit.el (lyskom-prioritize-flag-toggle): Pass want-read-ranges t. * lyskom-rest.el (lyskom-startup-check-recommended-memberships): Pass want-read-ranges nil. (lyskom-get-membership): Pass want-read-ranges t. * edit-text.el (lyskom-edit-send-check-recipients): Pass want-read-ranges nil. * commands2.el (kom-status-conf): Pass want-read-ranges t. (kom-set-unread): Ditto. * async.el (lyskom-parse-async): Pass want-read-ranges t. * commands1.el (lyskom-add-member-answer): Pass want-read-ranges t. * services.el (initiate-query-read-texts): Use call 107 when possible. Fix bug 946: * commands2.el (lyskom-print-summary-line): Can print the number of comments to a text. (lyskom-construct-summary-format-string): Support number-of-comments column. (lyskom-list-summary): Include number-of-comments column. (lyskom-do-list-summary): Same here. Fix bug 983: * vars.el.in (kom-highlight-conferences): Added highlighting of no presentation and supervised conferences to the default. * faces.el (kom-active-strikethrough-face): New face. (kom-active-highlight-face): New face. (kom-face--default--active-strikethrough-face): New face. (kom-face--default--active-highlight-face): New face. (kom-face--user-defined--active-strikethrough-face): New face. (kom-face--user-defined--active-highlight-face): New face. * lyskom-buttons.el (lyskom-highlight-has-no-presentation): New function. (lyskom-highlight-i-am-supervisor): New function. (lyskom-highlight-function-get-conf-stat): New function. * option-edit.el (lyskom-face-widget): Handle explicit list of faces. * lyskom-buttons.el (lyskom-default-button): Pass conf-stat/uconf-stat/whatever to lyskom-default-button. Use uconf-stat instead of conf-stat when looking in the cache. (lyskom-generate-button): Support functions in kom-highlight-conferences. Fixed bug 984: * commands1.el (lyskom-get-marked-texts): New function. (lyskom-review-marked-texts): Use it. (lyskom-unread-marked-texts): New function. (kom-unread-all-marked-texts): New command. (kom-unread-marked-texts): New command. * faqs.el (lyskom-unread-faq): New function. (kom-unread-faq): New command. (kom-unread-server-faq): New command. * commands1.el (kom-unread-presentation): New command. * review.el (kom-unread-all): New command. (kom-unread-first): New command 2003-03-15 David Byers Work on bug 984: * review.el (kom-unread-last-normally-read): New command. (kom-unread-tree): New command. (kom-unread-comments): New command. (kom-unread-root): New command. (kom-unread-root-review): New command. * lyskom-rest.el (lyskom-format-aux-help): Added ?+ format directive. (lyskom-insert-error): Handle negative error codes (used for internal error reporting). * commands1.el (kom-view-previous-commented-text): This command always did the next-to-last text, regardless of prefix args. (lyskom-unread-commented-text): New function. (kom-unread-previous-commented-text): New command. (kom-unread-commented-text): New command. * review.el (lyskom-unread-by-to): New function. (kom-unread-more): New command. (kom-unread-by-to): New command. * lyskom-rest.el (kom-initial-digit-unread): New command. * vars.el.in (lyskom-text-no-prompts-defaults): Added kom-mark-unread. * lyskom-rest.el (lyskom-mark-unread): New function. (kom-mark-unread): New command. * services.el (initiate-mark-as-unread): New function. 2003-03-13 David Byers Some work on bug 983: * option-edit.el (lyskom-custom-variables): Added kom-highlight-conferences. * lyskom-buttons.el (lyskom-generate-button): Allow explicit lists of numbers as the key in kom-highlight-conferences. Fix bug 745 (Patch from C C Magnus Gustavsson): * review.el (kom-review-converted): New command. * vars.el.in (lyskom-commands): Added kom-review-converted. (lyskom-button-actions): Added lyskom-button-review-converted. * lyskom-buttons.el (lyskom-button-review-converted): New function. Fix bug 987: * commands1.el (kom-list-conferences): Print legend. Fix bug 995: * utilities.el (lyskom-get-send-comments-to): Handle CONF-NO set to nil. Fix bug 979: * option-edit.el (lyskom-customize-buffer-format): Added kom-show-sync-messages. (lyskom-custom-variables): Ditto. * vars.el.in (kom-show-sync-messages): New variable. * async.el (lyskom-parse-async): Use it. 2003-03-11 David Byers * utilities.el (lyskom-buffer-display-message): New function. 2003-02-09 David Byers * lyskom-buttons.el (lyskom-generate-button): Use kom-highlight-conferences instead of kom-friends and kom-morons. * vars.el.in (kom-highlight-conferences): New variable 2003-03-08 Per Cederqvist kom-review-backward always raised an error. * review.el (kom-review-backward): Extract the list of texts to see with text-list->texts, not cdr. Using cdr no longer works. 2003-03-04 Johan Sundström * swedish-strings.el (lyskom-sv-mode-map): [ä], [Ä], [å] and [Å] are now also bound in all appropriate places. (These are used by XEmacs, at least when run under screen in a PuTTY, and worked in 0.47.1.) 2003-03-03 Johan Sundström * english-strings.el, swedish-strings.el: Improved garb-nice strings. * commands1.el (kom-create-conf): In the interest of not losing texts unintentionally due to a low default expiration time, always ask the conference creator for its expiration policy. 2003-03-03 Per Cederqvist Print the conference type when entering a conference. * swedish-strings.el (status-record): Removed a space. * english-strings.el (status-record): Removed a space. * lyskom-rest.el (lyskom-enter-conf-print-unread): Fixed broken indentation. Print the type of the conference. * commands2.el (lyskom-conf-status-marker): New function, extracted from kom-status-conf. (kom-status-conf): Simplified by using lyskom-conf-status-marker. 2003-02-13 Per Cederqvist Fix kom-postpone, which has been broken a while. * komtypes.el (text-list->trim-head): New function. * commands2.el (kom-postpone): Use text-list->trim-head instead of accessing internals of the text-list type in a way that no longer works. 2003-02-05 Hans Persson * swedish-strings.el (local): Spelling fix. 2003-01-15 David Byers * vars.el.in: Minor fixes to documentation. * vars.el.in: YES! YES! YES! FINALLY DONE (FOR NOW)! All user variables (well at least nearly all) are documented! God, this was boring work. * vars.el.in (kom-low-priority): Removed this variable. It is unused. 2003-01-14 David Byers * vars.el.in: More documentation updates. Evidently the insanity won't end today. 2003-01-13 David Byers * vars.el.in: More documentation updates. Will the insanity never end? 2003-01-12 David Byers * option-edit.el (lyskom-custom-variables): Changed kom-galeon-command, kom-netscape-command and kom-mosaic-command to widget type command. Added Lynx-related variables. * vars.el.in: More documentation updates. (kom-lynx-terminal): Added to server-stored variables. (kom-lynx-xterm-command): Ditto. (kom-lynx-terminal-command): Ditto. * lyskom-rest.el (lyskom-beep): List arguments were not handled correctly (the default key, t, was not used). 2003-01-11 David Byers * vars.el.in: Documented some more variables. Variables that have been documented properly have "**" at the start of the docstring. 2003-01-09 David Byers * vars.el.in: Started working on variable documentation. * option-edit.el (lyskom-create-widget): Insert the variable name in the buffer, after the help toggle. This is to make the buffer searchable for the actual variable names. * lyskom-rest.el (lyskom-format-format): Added format-letter % so the sequence %% works. 2003-01-08 David Byers * filter.el (kom-super-jump): Fixed problem with prefix arg. * faqs.el: Fixed some invalid variable references in the new docstrings. * commands1.el: Fixed some invalid variable references in the new docstrings. * faqs.el: Fixed some invalid vxariable references in the new docstrings. 2003-01-08 David Byers * utilities.el (lyskom-month-limits): Wrong number of days for July. Fixed. 2003-01-08 David Byers Documetned the remaining commands: * remote-control.el: Documented all commands. * mship-edit.el: Documented all commands. * lyskom-rest.el: Documented all commands. * flags.el: Documented all commands. * filter.el: Documented all commands. (kom-super-jump): Use the standard prefix arguments. * ansaphone.el: Documented all commands. * faqs.el: Documented all commands. * review.el: Documented all commands. 2003-01-08 Ulrik Haugen * Makefile (DEBIANCLIENTVERSIONSUFFIX): New variable. (debian-packages): Use DEBIANCLIENTVERSIONSUFFIX to suffix the client version. 2003-01-07 David Byers Fix bug 962: * edit-text.el (lyskom-edit-send-check-recipients): Use lyskom-get-send-comments-to. * utilities.el (lyskom-get-send-comments-to): New function. * commands1.el (kom-write-text): Add sender as recipient when sending to a conference the sender is not a member of. Respect send-comments-to. (lyskom-comment-recipients): Respect send-comments.to when adding lyskom-pers-no as a recipient. Started working on a command reference manual: * commands2.el: Wrote user documentation for all commands in the docstrings. Lisp-level documentation, where it still exists, is placed after the user-level documentation, below the legend "Lisp documentation". I intend to generate the english command reference from the source code. 2003-01-06 David Byers Started working on a command reference manual: * commands1.el: Wrote user documentation for all commands in the docstrings. Lisp-level documentation, where it still exists, is placed after the user-level documentation, below the legend "Lisp documentation". I intend to generate the english command reference from the source code. * NEWS-0.48: Synched up to here. Handle async-new-user-area message (bug 837): * startup.el (lyskom-accept-async): Accept async 19. * async.el (lyskom-parse-async): Parse async type 19. Update pers-stat based on results. (lyskom-async-new-user-area): New function updates cache and re-reads options if necessary. (lyskom-parse-async): Call it. * flags.el (lyskom-read-options-eval): Set lyskom-current-user-area. * vars.el.in (lyskom-current-user-area): New variable. * flags.el (lyskom-save-options-3): Don't delete the person from the cache; just set the user-area. Set lyskom-current-user-area. * komtypes.el (pers-stat): user-area is no longre read-only. Fix parse of text-mapping (I thought I did this a year ago): * parse.el (lyskom-parse-list): Read the terminating brace in the list. (lyskom-parse-local-to-global-block): The array length is a number, not a string. Clean up :variable assignments: * compatibility.el (lyskom-make-self-evaluating): New macro. Use it to make several :symbols self-evalutaing in Emacs 19. Fix bug 964: * faces.el (lyskom-setup-faces-for-buffer): Catch errors cause when generating faces since running this code in a tty usually causes problems. Don't just check window-system, because the color stuff might work on some implementations. Fix bug 753: * flags.el (kom-copy-options): New command. * english-strings.el (lyskom-command): Added kom-copy-options. * swedish-strings.el (lyskom-command): Renamed "Spara variabler" to "Spara inställningar". Added kom-copy-options. Fix bug 831 as well as possible: * lyskom-rest.el (lyskom-scroll): Cleaned up for readability. Move point six chars in from the right margin when not scrolling to the end to prevent automatic hscrolling in Emacs 21.x. Fix bug 927: * commands1.el (lyskom-who-is-on-check-membership-9): Don't include passive members. (lyskom-who-is-on-check-membership-8): Ditto. 2003-01-05 David Byers * I have cleaned up all over the place. There are no ChangeLog entries for most of the changes. Changes include: converting types to use def-komtype; removing who-buffer code; removing who-info cache; removing dead code; removing commented-out code. * mship-edit.el (lp--hide-memberships-by-date): Call lyskom-read-date. Code cleanup: * prefetch.el (lyskom-prefetch-whobuffer-handler): Commented out the code since thw who buffer is gone. * commands2.el (kom-bury): Removed who-buffer code. * cache.el: Removed who-info cache. * async.el (lyskom-parse-async): Removed who-buffer code. (lyskom-parse-async): Don't cache who info. * filter-edit.el (filter-entry): Redefined using def-komtype. * komtypes.el (conf-no-list): Redefined using def-komtype. * prioritize.el (prioritize-entry): Redefined using def-komtype. * clienttypes.el: Removed format-props and who-buffer-related types. * lyskom-rest.el (lyskom-format-aux-help): Removed something about format-props, which aren't used anywhere. * komtypes.el,deferred-insert.el,clienttypes.el,mship-edit.el,names.el, regexp.el,tree-edit.el: Rewrote all uses of def-komtype. Defined more datatypes using def-komtype. Removed unused functions. * clienttypes.el (format-state): Renamed argl to args, since that's what we actually use. (format-state): Converted to new def-komtype syntax. * lyskom-rest.el (lyskom-membership-highest-index): Unused. Removed. * komtypes.el (def-komtype): Added support for &optional in the arg list and for default values. (privs): Re-implemented with def-komtype. (pers-stat): Ditto. (text-stat): Ditto. (conf-stat): Ditto. (flags): Ditto. (map): Ditto. (membership): Ditto. (conf-list): Ditto. (text): Ditto. (misc-info): Ditto. (mark): Ditto. (lyskom-create-who-info): Ditto. (session-info): Ditto. (conf-type): Ditto. (server-info): Ditto. (version-info): Ditto. (conf-z-info-list): Ditto. * deferred-insert.el (defer-info): Re-implemented with def-komtype. * language.el (lyskom-string-check-category): Unused. Removed. * async.el (lyskom-show-changed-person): Unused. Removed. * utilities.el (lyskom-set-face-foreground): Unused. Removed. (lyskom-set-face-background): Unused. Removed. * lyskom-buttons.el (lyskom-set-default-button-action): Unused. Removed. * startup.el (lyskom-print-name): Unused. Removed. * lyskom-buttons.el (lyskom-menu-selection): Unused. Removed. * aux-items.el (lyskom-map-aux-items): Unused. Removed. * view-text.el (lyskom-fetch-author-for-cache): Unused. Removed. * utilities.el (lyskom-emacs-version): Unused. Removed. * view-text.el (lyskom-fetch-text-for-cache): Unused. Removed. * utilities.el (lyskom-face-resource): Unused. Removed. (lyskom-modify-face): Unused. Removed. * startup.el (lyskom-extract-persons): Unused. Removed. (lyskom-extract-confs): Unused. Removed. (lyskom-do-extract-persons-or-confs): Unused. Removed. * edit-text.el (lyskom-edit-goto-char): Unused. Removed. (lyskom-edit-on-aux-item): Unused. Removed. * utilities.el (lyskom-background-mode): Unused. Removed. Fix bug 677: * filter.el (kom-super-jump): Fixed recipient selection. The order is now current conf, recipient user is a member of, cc user is a member of, bcc user is a member of, other recipient, other cc, other bcc. 2003-01-04 David Byers Fix bug 961: * faqs.el (lyskom-faq-is-read): Handle server FAQs correctly so they are not presented even when they have been read. (lyskom-register-read-faq): If conf-no is nil, set it to zero. (lyskom-get-unread-faqs): If conf-stat is nil, set conf-no to zero. 2003-01-03 David Byers Fix bug 823: * commands1.el (kom-write-text): Ask for recipient by default. Old behavior is on C-u kom-write-text. (kom-send-letter): Only complete letterboxes when reading recipient. Fix bug 834: * swedish-strings.el (lyskom-sv-mode-map): Added prefix "a" for add commands. Added bindings for add and subtract commands. (lyskom-sv-mode-map): Commented out obsolesence bindings for a and lv. Moved kom-rview-backward to å B from B. Cleaned up some. * english-strings.el (lyskom-en-mode-map): Changed "A" to "h", so "h" is now prefix for change commands. Added prefix "a" for add and substract commands. Moved kom-review-backward to r b from B. Moved a bunch of other important bindings with complete disregard for all users who will surely be annoyed. * lyskom-buttons.el (lyskom-default-button): Use default, not kom-text-face for timestamp buttons since kom-text-face is no more. Implement face customization: * option-edit.el (lyskom-face-widget, lyskom-face-widget): New widget type. (lyskom-widget-functions): Added face widget to the list. * view-text.el (lyskom-print-text): Get generated faces if the user hasn't selected any specific faces. * startup.el (lyskom): Get generated faces if the user hasn't selected any specific faces. * commands2.el (lyskom-send-message): Get generated faces if the user hasn't selected any specific faces. * async.el (lyskom-format-as-personal-message): Get generated faces if the user hasn't selected any specific faces. 2003-01-02 David Byers Implement face customization: * faces.el (lyskom-setup-faces-for-buffer): Don't muck with the user-selectable values. * option-edit.el: Added var parameter to all widget conversion functions. * utilities.el (lyskom-current-client-time): Removed some comments. Cosmetics: * commands2.el (kom-set-unread): Don't include range in prompt. It will be included by lyskom-read-num-range-or-date. Compatibility issues with date reading: * compatibility.el (lyskom-minibuffer-contents): Provide an alias for minibuffer-contents. * lyskom-rest.el (lyskom-verified-read-enter): Use lyskom-minibuffer-contents instead of minibuffer-contents. Work on new face code: * faces.el: Fixed bug in call to defface that worked in Gnu Emacs but not in XEmacs. 2003-01-01 David Byers Work on new face code: * view-text.el (lyskom-view-text): Send evaluated face properties to lyskom-format. (lyskom-print-text): Ditto. * utilities.el (lyskom-check-configuration): Send evaluated face properties to lyskom-format. * startup.el (lyskom): Send evaluated face properties to lyskom-format. * commands2.el (kom-status-conf): Send evaluated face properties to lyskom-format. (kom-status-person): Ditto. (lyskom-send-message): Ditto. (kom-obsolete-extended-command-binding): Ditto. * commands1.el (kom-delete-text): Send evaluated face properties to lyskom-format. * async.el (lyskom-show-logged-in-person): Send evaluated face properties to lyskom-format. (lyskom-show-logged-out-person): Ditto. (lyskom-format-as-personal-message): Ditto. * check-strings.el (lyskom-check-strings): Removed all face-related goop. * vars.el.in: Removed all face-related goop. * faces.el: New file. * startup.el (lyskom): Call lyskom-setup-faces-for-buffer, not lyskom-setup-faces. * option-edit.el (kom-customize): Evaluate face variables instead of quoting face names. * mship-edit.el (lp--format-entry): Evaluate face variables instead of quoting face names. (lp--redraw-entry-mark): Ditto. * lyskom-rest.el (kom-next-command): Evaluate face variables instead of quoting face names (lyskom-format-aux-help): Ditto. * lyskom-buttons.el (lyskom-button-add-links): Evaluate face variable kom-url-face instead of quoting face name. (lyskom-button-get-face): Evaluate the face found for the button type. (lyskom-generate-button): Evaluate face variables instead of quoting face names (lyskom-default-button): Ditto. * keyboard-menu.el (lyskom-keyboard-menu-highlight-selected): Evaluate face variable, instead of quoting face name kom-mark-face. More flexible date parser: * utilities.el (lyskom-all-prefixes): New function. (lyskom-parse-date): Permit prefixes for "days", "years", "months". Allow whitespace before and after input. Do not require minus sign when specifying number of days. Do not require whitespace separators in several places. Permit spaces around separators. Accept space as a separator. Fix bug 921: * commands1.el (kom-jump): Use lyskom-read-text-no-prefix-arg. Print which text we're skipping comments from. Print special message when skipping reviewed comments. Fix bug 291: * vars.el.in (lyskom-language): Added to minibuffer variables or lyskom-get-string will fail in predicate functions used in lyskom-verified-read-from-minibuffer. * commands2.el (kom-set-unread): Allow date entry in addition to number entry. Implement date input (for bug 291): * lyskom-rest.el (lyskom-verified-read-from-minibuffer): New function. (lyskom-verified-read-map): New variable. (lyskom-verified-read-enter): New function. (lyskom-verified-read-predicate): New variable. (lyskom-read-num-range-or-date): Nre function. * utilities.el (lyskom-read-date): New function. 2002-12-31 David Byers Implement date parsing (for bug 291): * utilities.el (lyskom-parse-date): Implemented the remaining branches in the parser. Fixed various bugs. Validate results before returning. This function should work now. (lyskom-is-leap-year): New function (date-leap-year-p doesn't exist in Emacs 19, so this is needed). (lyskom-days-in-month): New function. (lyskom-adjust-day-for-date): New function. (lyskom-month-limits): New variable. Fix bug 879: * utilities.el (lyskom-read-text-no-prefix-arg): When new-default is computed successfully, set default to new-default. I *think* that's the right thing to do... Fix bug 817: * vars.el.in (kom-send-text-hook): Updated docstring. * edit-text.el (lyskom-edit-send): Run kom-send-text-hook before doing anything else so it can manipulate headers. More work on text links: * option-edit.el (lyskom-custom-variables): Added kom-text-links. (lyskom-customize-buffer-format): Ditto. (lyskom-widget-functions): Added `list' widget type. (lyskom-list-widget): New function. Bugs in kom-list-summary: * commands2.el (lyskom-list-summary): Copy the list of texts we're reviewing so we can delete stuff from it. Initial support for text link specifications in aux-items: * regexp.el: New file for code to convert other regexp syntaxes to Emacs syntax. Currently supports POSIX EREs and Emacs syntax only. (lyskom-re-converters): New variable. (lyskom-re-cache): New variable. (lyskom-re-cache-get): New function. (lyskom-re-cache-put): New function. (lyskom-re-have-chclass): New variable. (lyskom-re-have-backrefs): New variable. (regex-parse): New type. (lyskom-re-parse-posix-limit): New function. (lyskom-re-parse-posix-charclass): New function. (lyskom-re-parse-start-subexpression): New function. (lyskom-re-parse-end-subexpression): New function. (lyskom-re-parse-accumulate): New function. (lyskom-re-parse-modify-last): New function. (lyskom-re-parse-posix-ere): New function. (lyskom-re-convert-finalize-result): New function. (lyskom-re-convert-posix-ere): New function. (lyskom-re-convert-regexp): New function, and this is the only one you should be calling. Improve kom-list-summary: * commands2.el (lyskom-do-list-summary): Damn. Already midnight. Don't print the subject on comments more than once in a row. (lyskom-print-summary-line): Don't compute subject here. Get it in a param instead. 2002-12-31 Per Cederqvist Improve doc of kom-text-links, and set it so that the functionality of the removed bugzilla links are present again. * vars.el.in (kom-text-links): Added the sentence "Use the value t as the car to apply the specification in all conferences." to the documentation. Let "bug X" link to the Bugzilla of Lysator by default, so that we have a good sample value. 2002-12-30 David Byers Improve kom-list-summary: * commands2.el (lyskom-print-summary-line): Print deep comment levels without additional indent, like nn does. Remove bugzilla links (text links supersede these): * lyskom-buttons.el (lyskom-button-transform-text): De-implemented bugzilla links. (lyskom-button-show-bugzilla-bug): Removed this function. * vars.el.in (kom-my-bugzilla): Removed this variable. Text links generalize bugzilla links. (lyskom-text-buttons): Removed bugzilla text buttons. (lyskom-button-actions): Same here. More text links: * lyskom-buttons.el (lyskom-button-add-links): New function. (lyskom-button-transform-text): Call it to create links from kom-text-links. * vars.el.in (kom-text-links): New variable. * clienttypes.el (lyskom-create-lyskom-text-link): New function. (lyskom-text-link->pattern): New function. (lyskom-text-link->replacement): New function. (lyskom-text-link->highlight): New function. (lyskom-text-link->ignore-case): New function. New nameday lists from Hans Persson: * names.el (sv-1993): New nameday list. (sv-pre-1901): Renamed nameday list from sv-1901 (sv-1901): New nameday list. (sv-1986): New nameday list. 2002-12-22 David Byers Work on bug 946: * commands2.el (lyskom-do-list-summary): Display texts in comment order with indentation. (lyskom-print-summary-line): Support indentation. 2002-12-18 David Byers * lyskom-buttons.el (lyskom-button-transform-text): Added text-stat argument. Implement text links: * lyskom-rest.el (lyskom-format-ö): Pass text-stat to lyskom-button-transform-text. (lyskom-format-enriched): Ditto. (lyskom-format-text-body): Ditto. (lyskom-format-aux-help): Handle cons in format-letter r. * view-text.el: Send the text-stat when formatting subject. 2002-12-17 David Byers Work on bug 753: * flags.el (lyskom-read-options): Added optional buffer argument to support reading settings from a different session. 2002-12-17 Ulrik Haugen * startup.el (lyskom-read-server-name): Updated docstring wrt. kom-builtin-server-aliases. * lyskom-rest.el (lyskom-update-prompt, lyskom-format-prompt) (lyskom-mode-name-from-host): Use both kom-server-aliases and kom-builtin-server-aliases. * commands2.el (kom-modeline-select-unread-kom) (kom-status-server): Use both kom-server-aliases and kom-builtin-server-aliases. * async.el (lyskom-show-logged-in-person) (lyskom-show-logged-out-person): Use both kom-server-aliases and kom-builtin-server-aliases. 2002-12-16 David Byers Fix bug 701: * utilities.el (lyskom-get-ancestors-of-text): Provide completions when reading text numbers. * lyskom-rest.el (lyskom-read-number): Set require-match when reading numbers with completion. Fix bug 919: * faqs.el (lyskom-change-faq-3): Handle creating FAQs. (lyskom-change-faq-2): Ditto. (lyskom-change-faq): When there is no FAQ, create a new FAQ. Fix bug 305: * lyskom-buttons.el (lyskom-button-transform-text): Added support for bugzilla links. (lyskom-button-show-bugzilla-bug): New function. * vars.el.in (kom-my-bugzilla): New variable. (lyskom-text-buttons): Added bugzilla links. (lyskom-button-actions): Added bugzilla links. 2002-12-13 David Byers Bug 915: * vars.el.in (kom-builtin-server-aliases): Renamed from kom-server-aliases. (kom-server-aliases): New variable. * startup.el (lyskom-read-server-name): Use both kom-server-aliases and kom-builtin-server-aliases. (lyskom): Same here. Fix obsoleteness: * lyskom-rest.el (lyskom-update-prompt): Change `insert-string' to `insert' since the former is obsolete. Bog 928: * commands1.el (lyskom-times): Added Lucia. Finished bug 924: * option-edit.el (lyskom-nameday-widget): New widget type. * vars.el.in (kom-url-transformation-rules): Improved the Aftonbladet regexp. 2002-12-11 David Byers * swedish-strings.el (lyskom-sv-mode-map): Define swedish chars using all possible methods. * macros.el (lyskom-try-define-key): New macro. 2002-12-09 David Byers Work on bug 924: * vars.el.in (kom-show-namedays): Updated documentation. * commands1.el (kom-display-time): Display namedays in all languages. * names.el: New file. Added namedays for swedish, pre-1901 swedish, finnish, finlandssvenska and finnish orthodox. Thanks to Linus Sjöberg and Hans Persson for the data. (lyskom-nameday): Moved here from commands1.el. Made language-independent (the code had hard-coded swedish strings). (lyskom-define-namedays): New function. Bug 923: * vars.el.in (kom-url-transformation-rules): New variable. * lyskom-buttons.el (lyskom-transform-url): New function. (lyskom-button-open-url): Use lyskom-transform-url. 2002-11-26 David Byers Fix bug 880 and related problems: * commands1.el (lyskom-read-mark-type): Ditto. * lyskom-rest.el (lyskom-read-number): Permit whitespace around the input. 2002-11-21 David Byers Fix compiler warnings for 21.3: * lyskom-buttons.el (lyskom-generate-button): Protect call to car that was done to cause an error if menu-title was not a cons from warnings in the byte compiler. * review.el (kom-review-comments): Call to lyskom-insert-string was not in parens. * prefetch.el (lyskom-prefetch-membership-handler): Commeted out a loop that didn't contain a body that did anything useful. * keyboard-menu.el (lyskom-keyboard-menu-keys-for-string): Fixed bug found by warnings in pretest for 21.3. * compatibility.el (condition-case): Fix warnings in Gnu Emacs pretest for 21.3. (lyskom-dummy-variable-to-fool-the-byte-compiler): New variable for putting values of forms called only for their side effects in. 2002-11-21 Joel Rosdahl * lyskom-rest.el (lyskom-modify-prompt): Use lyskom-format-time to create the prompt timestamp string so that you see seconds if wanted. 2002-10-30 Per Cederqvist * commands2.el (kom-compare-texts): Don't give a backtrace if one of the texts are unreadable. Report no-such-text-no instead. (kom-diff-texts): Ditto. 2002-10-23 David Byers * Release of 0.47.1 2002-10-23 David Byers * keyboard-menu.el (lyskom-keyboard-menu-keys-for-string): Guard use of default-keyboard-coding-system. 2002-10-20 David Byers * autoconf.el (extract-site-lisp-dir): Fixed regexp for site-lisp directory. * utilities.el (lyskom-check-configuration): New function to check Emacs configuration on startup. * startup.el (lyskom): Added call to lyskom-check-configuration. Fix bug 832: * async.el (lyskom-async-new-recipient): Check kom-mark-texts-as-read-in-new-recipient. * vars.el.in (kom-mark-read-texts-as-read-in-new-recipient): New variable. * async.el (lyskom-async-new-recipient): Use kom-mark-read-texts-as-read-in-new-recipient. 2002-10-19 David Byers * vars.el.in (kom-created-texts-are-read): Changed default value of kom-created-texts-are-read. 2002-10-16 David Byers * doc/NEWS-0.47.1: Updated to here. * menus.el (lyskom-menu-template): Applied patch from Per Starbäck to add more commands to the menus (bug 727). * commands1.el (kom-change-parenthesis): Print error message if name contains more than one parenthesis. 2002-09-21 David Byers Make review commands fail more gracefully: * review.el (lyskom-cant-review-error): Set error-message property. (lyskom-review-error): Set error-conditions property. 2002-09-20 David Byers More fixes for bug 619: * commands1.el (lyskom-list-conf-print): Increased field length for conference number. 2002-10-13 Per Cederqvist * distribution-README.end: Added two missing quote characters. Thanks to "Martin Svensson, ABC" for reporting the bug. 2002-09-22 Per Cederqvist * lyskom-rest.el (lyskom-minimum-triangle-size): This was formerly named lyskom-minimum-triagle-size, with a spelling error in the "triangle". (lyskom-fill-message): Updated for the above change. 2002-09-19 David Byers * Release of 0.47.1-BETA-2 2002-09-19 David Byers * english-strings.el (local): Added server-has-motd, which was missing. 2002-09-19 Joel Rosdahl * swedish-strings.el, english-strings.el: Added missing group in regexps comment-prefix and footnote-prefix. 2002-09-18 David Byers Fix bug 762: * commands2.el (kom-set-motd): Rewrote using blocking commands. The old code didn't really work. Also pick recipients for the text correctly. Fix bug 763: * edit-text.el (lyskom-looking-at-header): Changed from match number 1 to match number 2 because we need that for english strings. Fix bug 522: * startup.el (lyskom): Print motd of lyskom sort of like a normal text. Don't print the header because it distracts attention. Do print the footer using whatever settings are currently loaded (usually the defaults). Fix bug 757: * compatibility.el (make-temp-file): Removed last argument from write-region since the parameter lists in Gnu Emacs and XEmacs differed. 2002-09-17 David Byers * Release av 0.47.1-BETA-1 2002-09-16 David Byers * vars.el.in (lyskom-old-farts-text-prompt-strategy): Added this as alias for kom-old-farts-text-prompt-strategy. Fix bug 722: * edit-text.el (kom-edit-send-anonymous): Set is-anonymous parameter to non-nil. (lyskom-edit-send): Ask to remove self when sending anonymously. Fix bug 679: * commands1.el (kom-delete-text): Nag if the user tries to delete a text with comments. Rewrote the main logic. 2002-09-15 David Byers Fix bug 733: * utilites.el (lyskom-read-text-no-prefix-arg): Moved cond branch for prompting when there is no prefix argument to the first branch so that errors occurring when looking for texts for a command that always prompts will not be signalled. kom-write-footnote footnoted the wrong text: * utilities.el (lyskom-read-text-no-prefix-arg): Use default parameter as default in prompt when the command is specified to always prompt. Fix problem with overlays in XEmacs when viewing HTML: * lyskom-rest.el (lyskom-do-special-inserts): Extracted logic to handle special-insert from lyskom-do-insert. (lyskom-do-insert): Call the new function once for overlays and once for special-insert. (lyskom-format-insert-at-point): Call lyskom-format-transform-result to convert overlay positions to text properties. Don't explicitly insert overlays. (lyskom-format-insert): Same here. (lyskom-format-insert-overlays): Removed this function. No longer used as we use lyskom-special-insert-overlay instead. Fix bug 746: * commands2.el (kom-status-person): Count unreads in passive conferences separately. Show passive memberships in gray. (kom-status-conf): Show passive members in gray. 2002-09-14 David Byers Start fixing bug 750: * lyskom-buttons.el (kom-button-press): Handle missing default action by showing the keyboard menu. * vars.el.in (lyskom-button-actions): Removed default action for aux-edit-menu. (lyskom-button-actions): Removed no-op default action for add-recipient-or-xref. Fix bug 752: * commands1.el (kom-list-re): Use lyskom-a-or-b-or-c-p to choose what to search in. * lyskom-rest.el (lyskom-a-or-b-or-c-p): New function. Generalized y-or-n-p sort of. 2002-09-12 David Byers * english-strings.el,swedish-strings.el: Fixed speling error for ssh-closing (was ssh-closnig). Fix bug 745: * commands1.el (lyskom-quit): Check that lyskom-ssh-proxy is non-nil before trying to use it. Otherwise this function will die and we will call lyskom-end-of-command in kom-quit. 2002-09-11 David Byers * vars.el.in (kom-old-farts-text-prompt-strategy): Renamed from lyskom-old-farts-text-prompt-strategy. This is the name that appears in the documentation. (lyskom-face-schemes): Bakgrunden för meddelanden ändrad till gröna toner. Det passar bättre ihop med det blå. Speculative fix for bug 738: * utilities.el (lyskom-recode-string-for-title): Recode string in win32. This should fix the problem. Fix bug 737: * distribution-README.install-nonsrc: Fix name of .el file. Fix bug 718: * lyskom-buttons.el (lyskom-view-url-windows): Post starting messages before attempting to start the process. 2002-09-10 David Byers * mime.el (lyskom-mime-string-charset): Deal with not having any coding systems at all (happens in non-multibyte emacsen). 2002-09-10 Joel Rosdahl * swedish-strings.el, english-strings.el: Fixed typos and spelling errors. 2002-09-08 David Byers * Makefile (lyskom-%-$(CLIENTVERSION).el): Copy help strings into single-language-version files. Fix bug 717: * commands2.el (lyskom-switch-to-kom-buffer): Applied patch from Christer Ekholm. Fix bug 728: * commands1.el (kom-set-motd-text): Applied patch from Per Starbäck. 2002-09-08 David Byers * Released 0.47 2002-09-07 David Byers * commands2.el (kom-change-conf-type): allow-secret was inversely displayed. * vars.el.in (lyskom-face-schemes): kom-first-line-face for inverse should be the same as for default. 2002-08-18 David Byers * vars.el.in (kom-extended-status-information): Changed default value to nil, 'cos for the most part extended status information is not something the default user is interested in. 2002-09-07 Per Cederqvist Regexp matching searches among persons, conferences or both. * commands1.el (kom-list-re): New optional argument: what. This function can now search among persons, conferences, or both. * english-strings.el, swedish-strings.el (lyskom-message): Added 'include-persons, 'include-conferences, 'matching-regexp-perss and 'matching-regexp-confs. 2002-08-28 Hans Persson * swedish-strings.el (local): Spelling fix. 2002-08-15 Ulrik Haugen * swedish-strings.el, english-strings.el (local): y-or-n-instring and y-instring modified to make j-or-n-p behave more like y-or-n-p. 2002-08-13 David Byers * lyskom-rest.el (lyskom-clean-read-faqs-1): Fixed negated condition that cause read *existing* FAQs to be marked as unread. 2002-08-12 David Byers * startup.el (lyskom-refetch): Call lyskom-clean-read-faqs. * lyskom-rest.el (lyskom-startup-clean-read-faqs): New function. (lyskom-startup-clean-read-faqs-1): New function. 2002-08-09 David Byers Better font handling: * utilities.el (lyskom-set-face-scheme): Set faces for overlays only if they haven't been set by the user. Don't require expected background in face schemes. Attempt to fix irreprudicble hangs: * services.el (lyskom-wait-queue): Rewrote without using blocking-return. Use collector instead. The use of blocking-return and dynamic binding was questionable and probably wrong. 2002-08-08 Per Cederqvist The "sparar" marker could be left indefinitely in the mode line. * parse.el (lyskom-parse-unparsed): Force an update of the mode line when the server stops saving. 2002-08-06 David Byers String "Olästa" in frame title was truncated in Emacs 21: * lyskom-rest.el (lyskom-make-lyskom-unread-title-format): Use lyskom-recode-string-for-title. * utilities.el (lyskom-recode-string-for-title): New function. Clear out some old junk: * compatibility.el (lyskom-compatibility-definition-ct): Unused. Removed. * lyskom-rest.el (lyskom-call-hook): Unused. Removed. * lyskom-buttons.el (lyskom-button-send-mail): Unused. Removed. * utilities.el (skip-first-zeros): Unused. Removed. (reverse-assoc): Unused. Removed. (lyskom-string-to-rgb): Unused. Removed. Fix compatibility problem with Emacs 20: * utilities.el (lyskom-union): Rebuilt to preserve A and append the relevant bits of B. (lyskom-join-lists): Removed. This function used mapc, which is in cl.el, and is functionally very similar to lyskom-union. Rewrote lyskom-union to the specifications of this function. (lyskom-get-ancestors-of-text): Use (new) lyskom-union instead of lyskom-join-lists. Fix bug 695: * startup.el (kom-start-anew): Insert language-set-to before the prompt, not immediately. This ensures that it is printed after any other messages generated before the language is set. 2002-08-05 David Byers * Release of 0.47-BETA-4 2002-08-05 David Byers Bug 662: * async.el (lyskom-add-new-text): When we get a new text in the conference we're in, enter the info in lyskom-reading-list in the proper priority order. Entering it first fscks up reviewing. * english-strings.el (lyskom-en-prioritize-mode-map): Use kbd for all bindings (how did we ever miss this). 2002-08-01 David Byers Fix bug 685: * flags.el (lyskom-read-options): The return value is now nil on all error conditions (no user area, invalid person etc). Fix bug 683: * startup.el (kom-start-anew): Don't accept empty string as a name. 2002-07-30 David Byers Fix bug 675: * startup.el (lyskom-setup-ssh-relay): Set LC_ALL before starting ssh (and restore it afterwards). Fix bug 620: * english-strings.el, swedish-strings.el: Added bindings for lyskom-help to lyskom-sv­who-prefix, lyskom-en-who-prefix and lyskom-en-previous-prefix. * commands2.el (kom-change-language): With prefix arg, set both local and global language attributes (like the NEWS file says we do). 2002-07-30 Per Cederqvist cadr, caar and cdar are not portable to all Emacsen. * vars.el.in (lyskom-button-actions): Don't use cadr. * utilities.el (lyskom-read-text-no-prefix-arg): Don't use caar or cdar. 2002-07-29 David Byers * utilities.el: Removed lyskom-pick-text-no-strategy-alist. * vars.el.in (kom-pick-text-no-strategy-alist): Renamed from lyskom-pick-text-no-prefix-strategy-alist to kom-pick-text-no-strategy-alist and moved here from utilities.el Fix bug 668: * english-strings.el, swedigh-strings.el: Added binding of S-TAB wherever we bound M-TAB. 2002-07-26 David Byers Fix bug 661: * utilities.el (lyskom-set-face-scheme): Warn when faces are missing and copy the default. Set highlight faces unconditionally when they are not specify (never warn that these are missing). * compatibility.el (lyskom-color-values): Removed bogus definition that fscked up everything. Fix bug 660: * flags.el (lyskom-ignored-user-area-vars): Removed from here. (lyskom-read-options-eval): Removed warning about ignored vars. Return list of ignored variables. (lyskom-maybe-set-var-from-string): Added return value. * startup.el (kom-start-anew): Moved warning about ignored vars here so it is shown after language is set. * vars.el.in (lyskom-ignored-user-area-vars): Moved here. 2002-07-24 David Byers * Release of 0.46-BETA-3 2002-07-24 David Byers * doc/NEWS-0.47: Updated to here for imminent release of 0.42-BETA-3. 2002-07-24 Johan Sundström * utilities.el (lyskom-minusp): Very significant bugfix. :) 2002-07-24 Johan Sundström * lyskom-rest.el (lyskom-limited-make-overlay): XEmacs compat fix. 2002-07-23 David Byers * lyskom-rest.el (lyskom-limited-make-overlay): New function limits the number of overlays created. (lyskom-special-insert-overlay): Use it. (lyskom-format-insert-overlays): Use it. * vars.el.in (kom-max-overlays): New variable. (lyskom-overlay-pool): New variable. 2002-07-22 David Byers * mime.el (lyskom-mime-string-charset): Smarter selection of coding system for Gnu Emacs. We still use our list whenever possible, but if we can't find a coding system, we fall back on Emacs' list of coding systems. Not done for XEmacs (yet). * utilities.el (lyskom-read-text-no-prefix-arg): Prompt only after computing a suitable default. That way we get a default value in the prompt (which is a good thing). 2002-07-21 David Byers * edit-text.el (lyskom-edit-send-check-recipients): Support recipient type in send-comments-to. 2002-07-20 David Byers * english-strings.el,swedish-strings.el: Add "Mozilla" in all places where we say "Netscape". * vars.el.in (kom-netscape-command): Clarify that mozilla and netscape use the same settings. (kom-url-managers): Say "Mozilla" in netscape manager. 2002-07-18 David Byers * tree-edit.el (tree-edit-compute-prefix): Made nonrecursive. (tree-edit-compute-prefix-internal): Removed. (tree-edit-adjust-markers): Made nonrecursive. (tree-edit-draw): Made nonrecursive. * vars.el.in (lyskom-text-buttons): Eliminate brackets and semis at end of URLs. * utilities.el (lyskom-pick-text-no-strategy-alist): Correct strategy for kom-private-answer-previous. 2002-06-30 David Byers Temporary fix: * commands1.el (lyskom-list-pers-print): Allocate five characters for person numbers. (lyskom-list-created-conferences-2): Same. (kom-list-re): Same. 2002-07-16 Johan Sundström * lyskom-rest.el (kom-go-to-next-conf): Treat prefix arguments as kom-list-news does, giving upper/lower bounds for the number of unread messages you want in the conference you go to. 2002-07-15 Per Cederqvist * utilities.el (lyskom-evaluate-text-no-strategy): first, second and cddr are not portable to Emacs 19 without using cl.el. Use car and cdr instead. 2002-07-13 Johan Sundström * utilities.el (lyskom-pick-text-no-strategy-alist): Behave as it used to; comment the last but one seen text when no prefix argument was given. Fixes bug 625. (lyskom-get-previous-text): New support function. 2002-07-13 Johan Sundström * lyskom-rest.el (kom-view): Hopefully my last plusp sin. 2002-07-13 Johan Sundström * utilities.el (lyskom-read-text-no-prefix-arg): Replaced bad code that tried and failed to catch errors in strategy predicates. Replaced cl plusp and minusp calls with lyskom client calls that don't bail out on any valid prefix argument. (lyskom-plusp): New function. (lyskom-minusp): New function. 2002-07-11 Johan Sundström * lyskom-rest.el (kom-view): Dropped the call to `lyskom-read-text-no-prefix-arg' when invoked from button actions or when a text-no was otherwise already provided for the call. It is not safe to rely on how prefix arguments are interpreted by that function any more since that is fully user configurable now. * utilities.el (lyskom-read-text-no-prefix-arg): Rewritten to get configurable behaviour via `lyskom-pick-text-no-strategy-alist'. Also added new optional argument CONSTRAINT, for providing helpful pointers about what kind of text certain commands need. DEFAULT is now also legal when supplied as a function returning a text-no. (lyskom-pick-text-no-strategy-alist): New variable for declaring how lyskom-read-text-no-prefix-arg should treat prefix args, using the new functions below. The default strategy picks the text under point when no arg was given, prompts for a text-no when 0 is given, takes the text N items above / below point for +/- args and the text N ancestry levels up the comment tree for N successive C-u:s. (lyskom-get-explicit-text): New function. (lyskom-get-command-specified-default-text): New function. (lyskom-get-last-read-text): New function. (lyskom-get-text-at-point): New function. (lyskom-get-text-at-point-ancestor): New function. (lyskom-prompt-for-text-no): New function. (lyskom-get-last-text-written-by-me): New function. (lyskom-get-last-written-or-read-by-me): New function. (lyskom-get-text-above-point): New function. (lyskom-get-text-below-point): New function. (lyskom-old-farts-text-prompt-strategy): New constant to set your `lyskom-pick-text-no-strategy-alist' to to get the 0.46 strategy. (lyskom-join-lists): New utility function. (lyskom-get-ancestors-of-text): New function. * swedish-strings.el, english-strings.el: prefix-arg-try-again string added for showing some CONSTRAINT help. Also added strings no-text-at-point and what-ancestor for the new function lyskom-get-text-at-point-ancestor. 2002-07-01 David Kågedal * compatibility.el (lyskom-color-values): Negated the condition under which this is defined. 2002-06-29 David Byers * compatibility.el: Added declarations to avoid warnings about set-specifier, make-specifier and color-rgb-components. Eliminate warnings because of use of latin-unity: * lyskom-rest.el (lyskom-format-text-body): Moved try-require outside this function so it gets run when we load LysKOM. This avoids a performance hit when the package is unavailable. (latin-unity-remap-region): New declaration to avoid compiler warnings. (latin-unity-preferred-coding-system-list): New declaration. (latin-unity-iso-8859-1-aliases): New declaration. (latin-unity-cset-codesys-alist): New declaration. (coding-system-property): New declaration. Improve keyboard menus: * keyboard-menu.el (lyskom-read-from-menu): Break out the code that draws the menu to... (lyskom-keyboard-menu-insert): New function. Format menus in as many columns as possible. (lyskom-keyboard-menu-format-item): New function to format a single item. (lyskom-read-from-menu): C-f and C-b do forward and backward. C-p and C-n do up and down (not next and previous item). This means navigation in the buffer is conventional. Added C-a and C-e. (lyskom-keyboard-menu-up): Rewrote. (lyskom-keyboard-menu-down): Rewrote. (lyskom-keyboard-menu-forward): New command. (lyskom-keyboard-menu-backward): New command. (lyskom-keyboard-menu-beginning-of-line): New command. (lyskom-keyboard-menu-end-of-line): New command. 2002-06-28 David Byers * keyboard-menu.el (lyskom-read-from-menu): Compute height of menu window based on the contents and not the table. Display the menu successfully even if there is no room to split the window. (lyskom-keyboard-menu-highlight-selected): Recenter the menu window if point is not visible. 2002-06-28 Ulrik Haugen * doc/NEWS-0.47: Updated to this point in ChangeLog in preparation for release of 0.47-BETA-3 some time soon. * lyskom-rest.el (lyskom-format-text-body): add text-properties for unification if latin-unity is available. (lyskom-unity-text): new function. 2002-06-26 David Byers * keyboard-menu.el: New file. (lyskom-read-from-menu): Main function. * vars.el.in (kom-keyboard-menu-immediate-selection): New variable. * lyskom-buttons.el (lyskom-keyboard-menu): Use lyskom-read-from-menu. 2002-06-23 David Byers Try to fix bug 429 (sort of): * command.el (lyskom-command-minibuffer-local-completion-map): New variable. (lyskom-command-minibuffer-local-must-match-map): New variable. (lyskom-read-extended-command): Use new minibuffer maps when reading command names. Do completion using lyskom-complete-command. (lyskom-ok-command): Support vectors from lyskom-read-extended-command as inputs. (lyskom-command-minibuffer-local-completion-map): Wired in lyskom-complete-command-word. (lyskom-command-minibuffer-local-must-match-map): Same here. 2002-06-22 David Byers * doc/NEWS-0.47: Updated to this point in ChangeLog in preparation for release of 0.47-BETA-3 some time soon. * startup.el (lyskom): Renamed all proxy-* variables to www-proxy-*. Changed open-network-stream to lyskom-open-network-stream in order to support ssh proxies. (lyskom-open-network-stream): New function. (lyskom-setup-ssh-proxy): New function. (lyskom): Use lyskom-open-network-stream to open network connections. 2002-06-14 David Byers * review.el (kom-toggle-mark-as-read-prefix): New function toggles state of kom-review-marks-as-read and then runs one single command with the state toggled. 2002-06-21 Joel Rosdahl * swedish-strings.el, english-strings.el: kom-change-language no longer changes language in all sessions; fixed command name. * english-strings.el: Corrected command name in ignored-user-area-var. 2002-06-19 Per Cederqvist * swedish-strings.el (lyskom-message): Removed a spurious % in conf-has-no-faq. 2002-06-14 Per Cederqvist * Makefile (vars.el): Shorten the version string for the CVS versions. 2002-06-14 Ulrik Haugen * distribution-Makefile.in (LANGUAGE-EL): Include the compiled help-files in "lyskom.el". * Makefile (EXTRA-SRCVERBATIM): Distribute the help-xml-files and help-compile in the source packages as they don't include a "lyskom.el". 2002-06-13 David Byers Hopefully did the right thing to Debian packages wrt bug 575: * debian/rules: Removed references to help-compile.el and the help files since they are now included in lyskom.el. * debian/emacsen-common-install: Same here. Fix bug 575: * help-sv.xml, help-en.xml: Renamed to swedish-help.xml and english-help.xml to facilitate language selection when building lyskom.el. * Makefile: Removed help-compile.el from all old targets. (EXTRA-SRCVERBATIM): Removed help files and help-compile.el since they are now included in lyskom.el. * lyskom-rest.el (lyskom-format-aux-help): Moved parens so that error handing for %d is correct again. 2002-06-12 Ulrik Haugen * Makefile (EXTRA-SRCVERBATIM): name the help files by their actual names after renaming. 2002-06-12 David Byers Fix bug 575: * Makefile (%-hep.el): New target to convert help XML files to elisp files. * help-compile.el (lyskom-help-parse-buffer): New function extracted from lyskom-help-parse-help-file. (lyskom-help-parse-help-file): Use it. (lyskom-help-compile-to-el): New function to compile a help XML to an elisp file. This is required to fix build issues. Fix bug 573: * lyskom-rest.el: (lyskom-format-aux-help): Support formatting floating-point numbers since that's what we'll get when the ints from the server are too large for Emacs. (lyskom-format-html): Look at kom-format-html-authors to decide whether to format HTML or not. * vars.el.in (kom-format-html-authors): New variable. * lyskom-rest.el (lyskom-format-html): Only delete first five characters if we're looking at html: Fix bug 457: * aux-items.el (send-comments-to): Changed into to info. (mx-reject-forward): Added text-name property. * view-text.el (lyskom-view-text): Print unknown aux-items in header, if there are any and we are doing noconversion. * macros.el (lyskom-traverse-aux): Put progn around body or we can only have one form in the body. * view-text.el (lyskom-view-text-convert-ISO-646-SE-to-ISO-8859-1): Use it. (lyskom-view-text): Use it (two places). (lyskom-filter-signature-hook): Use it. (lyskom-view-text): When reviewing with noconversion, print content-type and similar aux items. * utilities.el (lyskom-viewing-noconversion): New function. 2002-06-11 David Byers * flags.el (lyskom-save-options): Set content-type på user-arean till x-kom/user-area (dock utan charset). Korrigera felaktig formattering av hjälpen: * help.el (lyskom-help-format-p): Gjorde om point-marker till point-max-marker så att formatteringen fungerar även om point inte följer med till slutet av bufferten. (lyskom-help-format-text-properties): Dito. Fix bug 589: * commands1.el (kom-add-bcc): Fixade så att prompten blir rätt: * option-edit.el (lyskom-custom-variables): Add no-server-break to options for kom-server-priority-breaks. Used to be no-break, which is wrong. 2002-06-09 David Byers Fix bug 583: * flags.el (lyskom-read-options-eval): New variable lyskom-ignored-user-area-vars. (lyskom-maybe-set-var-from-string): Use it. Removed comment from one of the validity checks. Applied patch from Per Starbäck (bug 582): * vars.el.in (kom-presence-messages-in-echo-area): Ny variabel. Den gamla, kom-presence-messages, finns kvar men används inte. * async.el (lyskom-parse-async): Changed kom-presence-messages to kom-presence-messages-in-echo-area. (lyskom-show-logged-in-person): Same. (lyskom-show-logged-out-person): Same. (lyskom-show-changed-person): Same. 2002-06-08 David Byers * mime.el (lyskom-charset-alist): Added iso-8859-15 to lyskom-charset-alist. This will eliminate problems where iso-8859-15 was encoded as latin-1 and Emacs brain-dead recoding would use escape sequences for characters that existed in both charsets. 2002-06-07 David Byers * help-sv.xml: New file, renamed from help.sv. * help-en.xml: New file, renamed from help.en. * help-compile.el (lyskom-help-compile): Read from help-XX.xml instead of help.XX. Improve help data: * help.en: Set language to "en", not "sv". * help.en, help.sv: Put cross references in reading inside a list element. Fix some problems with help: * help.el (lyskom-help-format-section): New. (lyskom-help-format-refer): Make cross-references clickable. 2002-06-06 David Byers Fix some problems with help: * help.el (lyskom-help-format-list): Fixed so it works. (lyskom-help-format-item): Ditto. (lyskom-help-show-section): This used to be lyskom-help-format-section. * help-compile.el (lyskom-help-parse-string): Support optional attributes. (lyskom-help-syntax): Added optional attributes. (lyskom-help-syntax-required-attrs): New function. (lyskom-help-syntax-optional-attrs): New function. (lyskom-help-parse-help-file): Added optional attributes to bogus toplevel syntax specification. 2002-06-05 David Byers * flags.el (lyskom-maybe-set-var-from-string): Refuse to set variables from the user area that are not specified as server-stored LysKOM variables. 2002-06-03 David Byers * commands2.el (lyskom-send-message): Use new faces for dashed lines and message bodies. * vars.el.in (kom-async-highlight-dashed-lines): New variable. (kom-async-highlight-text-body): New variable. (lyskom-face-schemes): Added kom-async-dashed-lines-face and kom-async-text-body-face to all schemes. (lyskom-faces): Added kom-async-dashed-lines-face and kom-async-text-body-face. * utilities.el (lyskom-set-face-scheme): Set up faces for async messages. * distribution-Makefile.in (lyskom-@@CLIENTVERSION@@.elc): Load help-compile.el when compiling. 2002-06-02 David Byers * Release of 0.47-BETA-2 2002-05-31 David Byers Fix bug 235: * parse.el (lyskom-parse-unparsed): When an error is signalled from a handler, delete the parsed message. 2002-06-01 Ulrik Haugen * Makefile (DOCFILES): include NEWS for 0.47 instead of 0.46. (EXTRA-SRCVERBATIM): include help-compile.el, help.en, help.sv. 2002-05-29 David Byers * NEWS-0.47: Updated to this point in history in preparation for next BETA release. * user-hooks.el (kom-list-summary-hook-conf-list): Added * to front of docstring. (kom-read-last-text-hook-conf-list): Same. Fix bug 503: * commands2.el (kom-apropos): New function. (lyskom-apropos-insert): New function. (lyskom-apropos-insert-docstring): New function. * view-mode.el (lyskom-view-mode-map): Bind = to kom-menu-button-press, as in other modes. 2002-05-28 David Byers * help-compile.el (lyskom-help-parse-string): Fixed search for end tag so it doesn't cause a stack overflow in the 20.7 regexp matcher. 2002-05-27 David Byers * commands2.el (kom-change-language): Show which language we just set. Fix bug 491: * swedish-strings.el (lyskom-messages): Use downcase in language-set-to. * lyskom-rest.el (lyskom-format-aux-help): Added support for downcasing from the format string. (lyskom-format-aux): Same. (lyskom-format-format): Added _ as downcase flag. * check-strings.el: Added checking of matching sections for all languages in new help. * help.en: New file. * vars.el.in: Removed lyskom-help-categories. * swedish-strings.el: Removed help strings. * commands2.el: Removed old help-related-commands. New help system: * help.el (lyskom-help-format-h1): Updated newline handling (lyskom-help-format-h2): Same (lyskom-help-format-h3): Same (lyskom-help-format-cref): No newline after reference. 2002-05-26 David Byers New help system: * help-compile.el: New file. * help.el: New file. * help.sv: New file. * vars.el.in (lyskom-help-data): New variable. (lyskom-maybe-setq-default): Removed eval since eval will be done after macro expansion. (lyskom-maybe-setq): Same here. * swedish-strings.el (sv): Load swedish help strings. * Makefile (SOURCES): Added help.el. * macros.el (defmacro): New macro (only exists during compile). 2002-05-25 David Byers Fix bug 528: * lyskom-buttons.el (lyskom-button-copy-text-no): New function. * vars.el.in (lyskom-button-actions): Added lyskom-button-copy-text-no for texts. Fix bug 571: * utilities.el (lyskom-delete-duplicates): New function. * edit-text.el (lyskom-edit-send-check-recipients): Misplaced paren caused two loops to be nested when they shouldn't have been. Use lyskom-delete-duplicates to eliminate duplicate authors. 2002-05-25 Per Cederqvist * vars.el.in (lyskom-maybe-setq): Added missing commas: we want to use the supplied arguments, not the symbols "var" and "value". (lyskom-maybe-setq-default): Ditto. 2002-05-24 David Kågedal * startup.el (kom-start-anew): Don't reset the default kom-default-language if the user set it in .emacs. * vars.el.in (lyskom-maybe-setq, lyskom-maybe-setq-default): New macros to facilitate using kom-dont-read-saved-variables. 2002-05-24 Per Cederqvist * Makefile: Force re-creation of $(VARS-EL) when lyskom.el is created, so that the build date is updated when a new version is fetched from CVS. Previously, the build date was only updated i Makefile or vars.el.in had been changed. 2002-05-22 David Byers More work on 468: * commands2.el (kom-compare-texts): Use ediff-diff-program and diff-command for the error message since ediff seems to use ediff-diff-program, but diff-command is a good backup guess. Fix bug 506: * commands2.el (lyskom-display-help-item): Print key binding for each command. * startup.el (kom-start-anew): Set default global language (default bindings for kom-default-language and lyskom-language) on first login. This is usually what we want. * commands2.el (kom-status-person): Print motd after aux-items. Otherwise it looks really bad. * faqs.el (lyskom-startup-check-faqs): Rewrote completely. * commands1.el (lyskom-go-to-empty-conf): Use lyskom-enter-conf-print-unread to print data on entry to conf. * lyskom-rest.el (lyskom-enter-conf-print-unread): New function prints number of unreads and unread faqs when entering a conference. (lyskom-enter-conf): Call it. * faqs.el (lyskom-get-unread-faqs): New function split from lyskom-check-for-read-faqs. (lyskom-presend-unread-faqs): Ditto. * commands1.el (lyskom-go-to-empty-conf): Use lyskom-enter-conf-print-unread. Fix bug 567: * startup.el (kom-start-anew): It seems that the forms inside an unwind-protect were a bit off. There were several unwind-forms, where I think there should have only been one (I know for sure that some of the code was not intended to be an unwind-form). I moved forms so lyskom-end-of-command is the only unwind-form. (lyskom-refetch): Moved updating of read FAQs and rejected invitations here. (kom-start-anew): Moved call to lyskom-refetch to late in the body. Thus we will not clear any caches after starting the prefetch and we can put other forms into lyskom-refetch that rely on lyskom-pers-no being set. * commands2.el (kom-help): Don't allow the user to enter an empty string for the category since this causes a failure. (lyskom-fast-reply): Prevent creation of fast-reply aux-items that contain line breaks or are otherwise inappropriate. (lyskom-check-fast-reply-message): New function to define what inappropriate is. * utilities.el (lyskom-get-color-highlight): Handle the case of the color parameter being nil. 2002-05-21 David Byers Fix bug 561: * lyskom-rest.el (lyskom-get-error-text): Renamed call to lyskom-get-string-internal. * check-strings.el (lcs-check-customize-variables): Renamed call to lyskom-get-string-internal. * option-edit.el (lyskom-widget-command-value-create): Use lyskom-try-get-string instead of lyskom-get-string-internal. * language.el (lyskom-try-get-string): Renamed from lyskom-get-string-internal. (lyskom-get-string): Renamed call to lyskom-get-string-internal. (lyskom-get-string-sol): Same. (lyskom-get-menu-string): Same. Fix bug 531: * view-text.el (lyskom-print-text): Use lyskom-truncate-to-lines so we can take the setting of truncate-lines into account. Check truncation settings using numberp. * utilities.el (lyskom-truncate-to-lines): New function. Fix bug 529: * commands2.el (kom-obsolete-who-is-on-in-conference): New function. * swedish-strings.el (lyskom-sv-mode-map): Added key binding lv. Fix bug 566: * services.el (initiate-get-map): Updated docstring. Fix bug 532: * swedish-strings.el,english-strings.el (lyskom-messages): Removed information about passive memberships by priority (it doesn't work that way now). Changed wording of priority-q. Fix bug 530: * commands1.el (kom-move-text-tree): Fix bug that caused only every other text to be moved. 2002-05-08 David Byers Bug 516: * menus.el (lyskom-define-menu-xemacs): Handle hline items in the menu specification according to what works in XEmcas 21.4. Automatic color selection for highlight colors: * compatibility.el (lyskom-color-values): Smarter definition that can handle both strings and specifiers in XEmacs. * vars.el.in (lyskom-face-schemes): Added incredibly ugly hack to put properties in lyskom-face-schemes. * utilities.el (lyskom-get-color-highlight): Modified to take list of RGB and distance from 0 to 1. Bug 525: * swedish-strings.el (lyskom-sv-mode-map): Bind fm till kom-filter-recipient. * english-strings.el (lyskom-en-mode-map): Bind fr till kom-filter-recipient. 2002-05-07 David Byers Every KOM client needs color model conversion code: * utilities.el (lyskom-string-to-rgb): New function. (lyskom-rgb-to-hls): New function. (lyskom-hls-to-rgb): New function. (lyskom-hls-to-rgb-value): New function. (lyskom-get-color-highlight): New function. (lyskom-string-to-rgb): New function. 2002-05-06 David Byers * utilities.el (lyskom-unicase): Get the length from the converted string and not the string, because for some reason they don't come out the same every time (and this is *probably* an Emacs bug). 2002-05-05 David Byers * commands2.el (kom-compare-texts): Catch the file-error that occurs when the external diff command is missing. * vars.el.in: Changed all hooks that are for users to play with from lyskom- to kom-. The lyskom- versions still work but are discouraged. Created dummy variables for some configuration variables that I did not dare change right now. It should now be possible to get all the user-accessible configuration parameters and hooks when doing apropos on ^kom. * async.el (lyskom-default-new-text-hook): Run kom-new-text-hook when running lyskom-new-text-hook. (lyskom-default-deleted-text-hook): Run kom-deleted-text-hook when running lyskom-deleted-text-hook. (lyskom-default-new-recipient-hook): Run kom-new-recipient-hook when running lyskom-new-recipient-hook. (lyskom-show-personal-message): Run kom-personal-message-hook when running lyskom-personal-message-hook. * edit-text.el (lyskom-edit-send): Run kom-create-text-hook when running lyskom-create-text-hook. * vars.el.in (kom-filter-outgoing-messages): Renamed from lyskom-filter-outgoing-messages. * commands1.el (lyskom-go-to-empty-conf): Run kom-after-change-conf-hook when running lyskom-after-change-conf-hook. * user-hooks.el: Changed docstring references to lyskom-change-conf-hook to kom-change-conf-hook. Changed docstring references to lyskom-after-change-conf-hook to kom-after-change-conf-hook. * startup.el (kom-start-anew): Run kom-change-conf-hook when running lyskom-change-conf-hook. * commands1.el (lyskom-go-to-empty-conf): Run kom-change-conf-hook when running lyskom-change-conf-hook. * lyskom-rest.el: Run kom-after-load-hook when running lyskom-after-load-hook. * commands2.el (lyskom-send-message): Call kom-send-message-hook when calling lyskom-send-message-hook. (lyskom-send-message-minibuffer-setup-hook): Call kom-send-message-setup-hook when calling lyskom-send-message-setup-hook. (lyskom-send-message-minibuffer-exit-hook): run kom-send-message-exit-hook when calling lyskom-send-message-exit-hook. (lyskom-send-message-turn-off-resize-on-exit): Use kom-send-message-exit-hook instead of lyskom-send-message-exit-hook. (lyskom-send-message-resize-minibuffer): Same here. * view-text.el: Changed all docstring references to lyskom-view-text-hook to kom-view-text-hook. Call kom-view-text-hook when lyskom-view-text-hook is called. * lyskom-rest.el (lyskom-do-insert): Allow special-insert to be a list, where the car is the function to call and cdr are the arguments to the function. (lyskom-format-transform-result): New function. (lyskom-special-insert-overlay): New function. (lyskom-do-insert): We were unable to handle special-insert properties that were adjacent to each others. * async.el (lyskom-format-as-personal-message): Updated to handle new format strings that have overlays for text and dashed lines. * commands2.el (lyskom-send-message): Same here. * startup.el (lyskom): Optionally highlight motd-of-lyskom Added my hook functions: * user-hooks.el (kom-read-last-text-hook): New function. (kom-list-summary-hook): New function. (kom-read-last-text-hook-conf-list): New variable. (kom-list-summary-hook-conf-list): New variable. 2002-05-05 Ulrik Haugen * commands2.el (kom-obsolete-extended-command-binding): Balanced parens. 2002-05-03 Per Cederqvist * commands2.el (kom-obsolete-extended-command-binding): Be annoying both ways. 2002-05-01 David Byers * commands1.el (kom-move-text-tree): New command, innit? Improve parser error reporting and recovery: * utilities.el (lyskom-text-comments): New function. * parse.el (lyskom-parse-recover): New function. (lyskom-parse-unparsed): Signal a parse error if we start parsing and see anything but '%', '=' or ':'. Recover from parse errors by scanning until we see a '%', a '=' or a ':' at the beginning of a line (sure, not perfect, but a lot better than what we've got now). * vars.el.in (lyskom-parser-recovering): New variable. * parse.el (lyskom-parse-unparsed): If the key is invalid, signal a protocol error rather than continue. Otherwise we can't see where the error really occurs. Fix bug setting language on logon: * startup.el (kom-start-anew): Set kom-have-on-login if login is successful. Fix dependency on mapc, which is not available in Emacs 20.7: * komtypes.el (text-mapping->global-numbers): Use lyskom-traverse instead of mapc. Improve performance when debugging communications: * lyskom-rest.el (lyskom-debug-insert): Limit buffer size to lyskom-debug-communications-limit. (lyskom-filter): Limit size of *kom*-replies to lyskom-debug-communications-limit. 2002-04-29 David Byers Fix bug where changing presentation of FAQ lost recipients: * commands1.el (lyskom-get-recipients-from-misc-list): Don't downcase the recipient type. * swedish-strings.el, english-strings.el: Hänvisa till ? och Hjälp i first-greeting. * vars.el.in (kom-default-language): Fixed bug 495. * commands2.el (kom-obsolete-extended-command-binding): Clarified message. 2002-04-29 Ulrik Haugen * vars.el.in (kom-default-language): Added a pointer to lyskom-languages in the doc-string. 2002-04-28 Johan Sundström * commands1.el (kom-status-session): When a prefix argument is given, see the status of the author of that text (as given by lyskom-read-text-no-prefix-arg), otherwise behave as usual. Also added info on last logout when a person is not available. * swedish-strings.el, english-strings.el (lyskom-message): Changed person-not-logged-in-r to optionally state last logout. * commands2.el (kom-force-logout): Updated to reflect change in person-not-logged-in-r. 2002-04-28 Johan Sundström * commands2.el (kom-status-person): When a prefix argument is given, see the status of the author of that text (as given by lyskom-read-text-no-prefix-arg), otherwise behave as usual. * swedish-strings.el, english-strings.el (lyskom-message): Added text-to-see-author-status-of. 2002-04-28 David Byers * view-text.el (lyskom-format-mx-author): If mx-author is the empty string, pretend that it is nil. (lyskom-view-text): Don't put a space character after the time zone. * swedish-strings.el,english-strings.el (lyskom-messages): Uppdaterade presentation-form. * compatibility.el (lyskom-color-values): New function (mimics x-color-values, color-values etc). * lyskom-rest.el (lyskom-format-insert-overlays): Set extent priority to 1000 to override text properties in the same area under XEmacs. (lyskom-is-loaded): Get language from LC_ALL and LC_MESSAGES too. * header.el: When detecting a buggy read-kbd-macro, attempt to load good definitions from known libraries rather than just bail. * vars.el.in (lyskom-face-schemes): Added scheme "bark". 2002-04-28 David Byers * edit-text.el (lyskom-edit-fcc-text): Delete the add button when fcc-ing texts. * services.el (initiate-set-pers-flags): New function. * commands1.el (kom-who-is-on): Improve documentation. 2002-04-27 Per Cederqvist * commands2.el (kom-obsolete-extended-command-binding): Use ding if the user invokes this command. 2002-04-27 David Byers * Release of 0.47-BETA-1 * commands2.el (kom-obsolete-extended-command-binding): Print the warning (and if Emacs supports it, the prompt in the minibuffer) using kom-warning-face. I find that I miss the warning too easily otherwise. Fix bug 485: * english-strings.el, swedish-strings.el: Number of lines in view-text-first-line was formatted as a text number, not a simple integer. * header.el: Updated check for macedit to look for the library and include some information on autoloads. * startup.el (kom-start-anew): Set languages globally on the first login. * vars.el.in (lyskom-have-one-login): Nwe variable. Fix bug 484: * edit-text.el (kom-edit-next-button-or-self-insert): Don't do self-insert-command, but traverse the current keymaps to figure out what to do. * check-strings.el (lcs-check-face-schemes): New function to check consistency of face schemes. * vars.el.in (lyskom-face-schemes): Added scheme black-and-tan. 2002-04-27 Ulrik Haugen Fix bug 458: * swedish-strings.el, english-strings.el (lyskom-message): New string: who-is-friend. * commands1.el (lyskom-who-is-on-9, lyskom-who-is-on-8): print who-is-friend if given non-nil show-friends-only. 2002-04-26 David Byers * option-edit.el (lyskom-custom-variables): Added kom-edit-hide-add-button. (lyskom-customize-buffer-format): Added kom-edit-hide-add-button. * vars.el.in (kom-edit-hide-add-button): New variable. * edit-text.el (lyskom-edit-insert-aux-item): Number of lines to back up depends on kom-edit-hide-add-button. (lyskom-edit-insert-miscs): Insert add button only if kom-edit-hide-add-button is nil. Fix bug 475: * edit-text.el (kom-ispell-message): Don't search for ispell-message-start-skip unless it is a string. New command. (kom-edit-prev-button): New command. (lyskom-edit-find-separator): New function. Extracted code that finds the separator line. (kom-ispell-message): Use it. (lyskom-edit-insert-aux-item): Use it. (lyskom-edit-replace-headers): Use it. (lyskom-edit-parse-headers): Use it. (lyskom-edit-extract-text): Use it. (lyskom-edit-on-aux-item): Use it. (lyskom-edit-fcc-text): Use it. * english-strings.el, swedish-strings.el: Bind * and = in lyskom-edit-mode-map to kom-button-click-or-self-insert and kom-button-press-or-self-insert respectively. Bind TAB and M-TAB to kom-edit-next-button-or-self-insert and kom-edit-prev-button respectively. * lyskom-buttons.el (kom-button-press-or-self-insert-command): New function. (kom-menu-button-press-or-self-insert-command): New function. 2002-04-25 David Byers * view-text.el (lyskom-print-text): Use kom-highlight-text-body to control highlighting text body. Use kom-highlight-first-line to control highlighting of first line. Print first line using a single format string. Use kom-highlight-dashed-lines to control highlighting of dashed lines. * vars.el.in (lyskom-face-schemes): Updated kom-first-line-face to not inherit from default and not be invisible by default. (kom-highlight-first-line): New variable. (kom-highlight-dashed-lines): New variable. (kom-highlight-text-body): Renamed from kom-color-text-background. Fix bug 479: * lyskom-rest.el (lyskom-format-aux): Track depth of subformats. (lyskom-format-aux-help): Record format-state depth with delayed properties and delayed overlays. (lyskom-tweak-format-state): Only add properties for delayed property lists that are at the same current format-state depth. Only set end positions for overlays that were created at the current format-state depth. 2002-04-24 David Byers * header.el: Added a check for obsolete read-kbd-macro (found in macedit.el which is installed with the calc package in XEmacs). * compatibility.el (make-temp-file): Maybe compatibility with XEmacs. At least the warnings are gone... * commands2.el (kom-diff-texts): Survive even if diff-command is not bound (assume that the command is called "diff"). * lyskom-rest.el (lyskom-format-insert-overlays): Made XEmacs compatible. (lyskom-format-aux-help): Removed unused variables. * edit-text.el (lyskom-edit-send-check-recipients): Removed unused variables. * commands2.el (kom-status-server): Removed unused variables. * startup.el (kom-start-anew): Removed unused variable err. * aux-items.el (lyskom-print-faq-format-subject): Removed unused variable "subject". Fix bug 473: * vars.el.in (lyskom-max-int): Define as variable, not constant. 2002-04-24 David Kågedal * commands2.el (kom-change-language): Added prefix parameter to make global changes. 2002-04-23 David Byers Alternate text background color: * utilities.el (lyskom-set-face-scheme): Don't always copy default face. Only copy a face when we explicitly ask for it. * view-text.el (lyskom-print-text): Optionally use kom-text-background-face on texts. 2002-04-22 David Byers Alternate text background color: * vars.el.in (kom-color-text-background): New variable. * lyskom-rest.el (lyskom-format-aux-help): Added support for $ (overlay) format specifier. (lyskom-format-insert-overlays): New function. (lyskom-format-insert): Call lyskom-format-insert-overlays. (lyskom-format-insert-at-point): Call lyskom-format-insert-overlays. * clienttypes.el (make-format-state): Added delayed-overlays to format state. 2002-04-22 Per Cederqvist * lyskom-rest.el: Fix language selection code. The default case, when neither of kom-default-language, KOMLANGUAGE and LANG was set, was missing a "car". 2002-04-21 David Byers * lyskom-buttons.el (lyskom-make-button-menu): Temporarily bind lyskom-language to lyskom-global-language to avoid changing language in the popup menu. * check-strings.el (lcs-check-language-vars): New function. (lyskom-check-strings): Check for missing language-specific variables. * english-strings.el: Added lyskom-unread-title-format and lyskom-unread-mode-line. Better default language selection: * option-edit.el (lyskom-mark-association): Changed help-echo to default-help-echo. (lyskom-name): Same here. (lyskom-command): Same here. * lyskom-rest.el (lyskom-is-loaded): Get default language from environment variables KOMLANGUAGE or LANG, if they are set and kom-default-language was not. Otherwise (lyskom-language-from-environment): New function. * language.el (lyskom-define-language): Don't set language here. It will be set in lyskom-rest.el. Better language switching: * startup.el (kom-start-anew): Pass scope parameter to lyskom-set-language. * commands2.el (kom-change-language): Pass scope parameter to lyskom-set-language. * language.el (lyskom-language-strings): Added SCOPE parameter. (lyskom-get-string-internal): Honor scope in lyskom-language-strings. (lyskom-language-var): Added SCOPE parameter. (lyskom-set-language-vars): Added SCOPE parameter. Honor scope when setting language-specific variables. * vars.el.in (lyskom-language): Made this setting buffer-local again. Cleanup mapcars and macro definitions: * language.el (lyskom-set-language-vars): Removed function before lambda. (lyskom-set-language-keymaps): Same here. (lyskom-get-strings): Same here. (lyskom-string-check-category): Same here. (lyskom-language-var): Use backquote for macro definition. (lyskom-language-keymap): Ditto. (lyskom-language-strings): Ditto. 2002-04-20 Per Cederqvist Implemented "View diff"/"Se diff": * commands2.el (lyskom-create-temp-file): New function. (kom-diff-texts): New command. * vars.el.in (lyskom-commands): Added kom-diff-texts. * swedish-strings.el (lyskom-command): Added kom-diff-texts. (lyskom-help-strings): Ditto. * english-strings.el (lyskom-command): Added kom-diff-texts. * compatibility.el (make-temp-file): Provide it if it is missing. 2002-04-20 David Byers Support context-sensitive error reporting: * vars.el.in (lyskom-error-codes): New variable. * lyskom-rest.el (lyskom-insert-error): Added error-descriptions parameter for context-sensitive error reporting. (lyskom-report-command-answer): Added error-descriptions parameter. (lyskom-get-error-text): Added error-descriptions parameter. Fix bug 467: * lyskom-rest.el (lyskom-prot-a-format-aux-item-flags): Rename reserved1 to dont-garb as per the specification. * komtypes.el (aux-item-flags): Renamed reserved1 field to dont-garb, as per the specification. * english-strings.el, swedish-strings.el: Changed aux-item flag "reserved1" to "dont-garb". Support send-comments-to: * commands2.el (kom-redirect-comments): New command. * edit-text.el (lyskom-edit-send-check-recipients): Completely rewrite checking of commented author. Clean up the code: * lyskom-rest.el (lyskom-prot-a-format-misc-item): Changed case of all pseudo misc-info types to UPPERCASE to match real misc-infos. * edit-text.el: Changed case of all pseudo misc-info types to UPPERCASE to match real misc-infos. Changed explicit lists of recipient types to lyskom-recpt-types-list. * All files: Changed case of all pseudo misc-info types to UPPERCASE to match real misc-infos. Move binding of 'a' to 'x' in the swedish keymaps: * commands2.el (kom-obsolete-extended-command-binding): New command. Note that this command is temporary and will only ever be used in the Swedish version and doesn't do any LysKOM-ish stuff, so we don't have to use def-kom-command or be able to deal with multiple languages. * swedish-strings.el (lyskom-sv-mode-map): Change binding of kom-extended-command from a to x. Bind a to kom-obsolete-extended-command-binding. People were annoyed that all read FAQs were shown in status person: * aux-items.el (lyskom-print-elisp-client-read-faq): Only print read FAQs when kom-extended-status-information is set. * vars.el.in (kom-extended-status-information): New variable. 2002-04-20 Per Cederqvist * commands1.el (lyskom-comment-recipients): Removed a stray "x" accidentally inserted in the last commit. 2002-04-18 Jonas Frid * swedish-strings.el (lyskom-custom-strings): Bugfix in kom-auto-list-faqs-tag. Missing '.'. * option-edit.el (lyskom-custom-variables): Bugfix in kom-auto-list-faqs and kom-auto-review-faqs. Missing parantheses. 2002-04-17 Ulrik Haugen Fix bug 464: * lyskom-rest.el (lyskom-update-prompt): (This paragraph concerns xemacs only.) Use extents to make the prompt read-only. This seems necessary to set duplicable to nil for the prompt extents/ properties though the info-pages on text-properties states: "The predefined properties are the same as those for extents". 2002-04-16 David Kågedal * lyskom-rest.el (kom-view-next-text): When calling lyskom-view-text, dont give t as the flat-review parameter when reviewing FAQs. 2002-04-15 Johan Sundström * swedish-strings.el, english-strings.el (lyskom-message): Bugfix in there-are-faqs format string. 2002-04-14 Per Cederqvist Improve "Compare two texts". * commands2.el (lyskom-create-text-buffer): Add a trailing newline in the temporary buffer, so that ediff behaves if new lines were added at the end of one of the texts to compare. * vars.el.in (kom-server-aliases): Changed "CSD-KOM" to "UppKOM", as requested by Thorild Selén. 2002-04-14 David Byers * faqs.el (lyskom-check-for-read-faqs): Handle missing FAQ texts better. Handle conference recommendations: * lyskom-rest.el (lyskom-reject-recommendation): Renamed from lyskom-reject-invitation. (lyskom-recommendation-already-rejected): Renamed from lyskom-invitation-already-rejected. (lyskom-update-rejected-recommendations): Renamed from lyskom-update-rejected-invitations. (lyskom-check-go-to-conf): Don't record rejected invitations. (lyskom-startup-check-recommended-memberships): Renamed from lyskom-startup-check-recommended-memberships. Interactively ask whether the user wants to become a member of recommended conferences instead of creating invitations. * commands1.el (lyskom-try-add-member): Removed use-priority and use-position again. Added default-priority instead. * lyskom-rest.el (lyskom-startup-check-recommended-memberships): New function. 2002-04-13 David Byers Handle conference recommendations: * lyskom-rest.el (lyskom-check-go-to-conf): Don't do stuff for secret and passive memberships if we just rejected an invitation (this was a bug). Record rejected invitations. (lyskom-reject-invitation): New function. (lyskom-invitation-already-rejected): New function. * vars.el.in (lyskom-rejected-invitations): New variable. New FAQ support: * faqs.el: New file contains all FAQ-related stuff. (lyskom-register-read-faq): New function. (lyskom-update-read-faqs): New function. (lyskom-do-review-faq): New function. * lyskom-rest.el (lyskom-format-aux-help): Support ?z format code. * commands2.el (lyskom-list-summary): Support REVIEW-FAQ. * lyskom-rest.el (kom-view-next-text): Add support for REVIEW-FAQ. (lyskom-update-prompt): Ditto. (lyskom-what-to-do): Ditto. * aux-items.el: Added read-action that records all read FAQs. * commands1.el: Moved all FAQ-related commands to faqs.el. * commands2.el: Moved all FAQ-related commands to faqs.el. * lyskom-rest.el (lyskom-read-num-range): Handle prompt which is a symbol and not a string. Initial support for conference recommendataions: * commands2.el (kom-recommend-conference): New command. * utilities.el (lyskom-read-membership-type): New function. Fix language consistency: * english-strings.el: Changed "article" to "text" in a bunch of strings. Check for server FAQs when logging on: * startup.el (lyskom): Do get-version-info before get-server-info, because otherwise we won't get the aux-items. (kom-start-anew): Check for new FAQs when logging on. (lyskom-startup-check-faqs): New function. * utilities.el (lyskom-union): New function. (filter-list): New non-recursive implementation. More stringent format-string check (each arg needs to appear the same number of times in all strings): * check-strings.el (lcs-delete-format-arg): New function. (lcs-check-format-string): Use it. Full server FAQ support: * commands1.el (kom-change-server-faq): New command. (kom-change-conf-faq): Broke out main logic. (lyskom-change-faq): Inlined logic from kom-change-conf-faq. Support server FAQs. (lyskom-change-faq-2): Broke out callback for modify-x-info to lyskom-change-faq-3. Renamed from lyskom-change-conf-faq-2. Handle server FAQs. (lyskom-change-faq-3): New function. * commands2.el (kom-add-faq): Break out logic to a separate function. (lyskom-add-text-no): New function. Generic for conferences and the server. (kom-add-server-faq): New command. (kom-del-faq): Removed args from this function. Broke out main logic to lyskom-del-faq. (kom-review-server-faq): New Command. (kom-review-faq): Entering an empty conf gives the server FAQ. Broke out main logic. (lyskom-review-faq): New function. 2002-04-13 Joel Rosdahl * Makefile (verbose-el): Made target "verbose" work again. 2002-04-13 Johan Sundström * commands1.el (kom-review-presentation): When a prefix argument is given, review the presentation of the author of that text (as given by lyskom-read-text-no-prefix-arg), otherwise behave as usual. * swedish-strings.el, english-strings.el (lyskom-message): Added text-to-see-author-of. 2002-04-13 Ulrik Haugen Fix bug 447: * vars.el.in (lyskom-unread-mode-line) (lyskom-unread-title-format): Set langage-force. * lyskom-rest.el (lyskom-make-lyskom-unread-mode-line) (lyskom-make-lyskom-unread-title-format): New functions. They both return what used to be in lyskom-unread-mode-line and lyskom-unread-title-format respectively. * swedish-strings.el, english-strings.el (lyskom-unread-mode-line) (lyskom-unread-title-format): Made these variables language dependent. 2002-04-11 David Byers * aux-items.el (lyskom-print-faq-for-conf): Show FAQ for server correctly. Show extended server status: * commands2.el (kom-status-server): New command. Support aux-items on the server: * aux-items.el (lyskom-aux-item-terminating-button): Support server aux-items. * lyskom-buttons.el (lyskom-button-delete-aux): Support server aux-items. (lyskom-button-info-aux): Support server aux-items. Handle more aux-item types: * edit-text.el (kom-edit-add-world-readable): New command. * aux-items.el (canonical-name): New aux-item definition· (mx-list-name): Same here. (send-comments-to): Ditto. (world-readable): And once more. (lyskom-print-mx-list-name): New function. (lyskom-print-world-readable): New function. (lyskom-edit-insert-world-readable): New function. (lyskom-parse-world-readable): New function. Beter kom-who-is-on-and-friend: * commands1.el (lyskom-select-friends-from-who-list): Show lyskom-pers-no when filtering friends. Perhaps this should be a configurable option. Someone else can deal with that :-) * vars.el.in (lyskom-commands): Added kom-create-aux-item. * swedish-strings.el (lyskom-command): Added kom-create-aux-item. * english-strings.el (lyskom-command): Added kom-create-aux-item. * ChangeLog: Changed Swedish to English. * english-strings.el: Changed "extra information" to "auxiliary information". 2002-04-10 David Byers Implemented command to create arbitrary aux-items: * commands2.el (kom-status-conf): Show unknown aux-items. (kom-create-aux-item): New command. * lyskom-buttons.el (lyskom-button-info-aux): Print info even if there is no info handler for the aux-item type (required to handle unknown types). * lyskom-rest.el (lyskom-check-go-to-conf): When we don't want to accept an invitation, don't make the membership *passive*. That causes all kinds of odd messages. Better user interaction when an async-new-membership for an invitation is seen: * async.el (lyskom-async-new-membership): Print invitations special. We can usually have FAQs on persons too: * commands1.el (kom-change-conf-faq): Can apply to persons too. * commands2.el (kom-add-faq): Can apply to persons too. (kom-del-faq): Same here. (kom-review-faq): Same here. Print subject line of FAQ when showing a list of FAQs in status conf and review presentation: * commands1.el (lyskom-insert-deferred-comment-like-aux-2): Print subject line of FAQ. (lyskom-insert-deferred-comment-like-aux): Split into two functions (this one and lyskom-insert-deferred-comment-like-aux-2). (lyskom-insert-comment-like-aux): Print subject line of FAQ. (lyskom-print-comment-like-aux): Get text mass when not doing deferred printing. * aux-items.el (lyskom-status-print-faq-text): Print the subject of each FAQ. * komtypes.el (text->decoded-text-mass): Do save-match-data so we don't clobber match data. Fix bug 408: * commands2.el (kom-change-conf-type): Removed redunant argument from change-type-prompt. (kom-status-conf): Removed redundant argument from status-record. (kom-status-person): Removed redundant argument from pers-status-record. (kom-change-conf-type): Place nope or done string after the prompt. Fix that some strings are not changed when language changes: * vars.el.in (lyskom-month-names): Set language-force. (lyskom-onoff-table): Same. (lyskom-language-codes): Same. (lyskom-filter-predicate-list): Same. (lyskom-filter-what): Same. (lyskom-filter-actions): Same. (lyskom-prioritize-header-lines): Same. (lyskom-prioritize-header): Same. * defvar.el (def-kom-var): Added property language-force. Fix problem where personal answer to own texts have no subject: * commands1.el (lyskom-private-answer): Don't delete subject when doing personal reply to my own texts. New filter command: * filter.el (kom-filter-recipient): New command. Update aliases: * vars.el.in (kom-server-aliases): Changed sno.pp.se to kom.sno.pp.se. Completion on kom-sub-comment and kom-sub-footnote: * commands1.el (kom-add-footnote): Read prefix arg here and not in lyskom-add-sub-footnote. (kom-sub-footnote): Same here. (lyskom-add-sub-footnote): Don't read prefix arg here. Removed prompt argument. (lyskom-add-sub-footnote): Do completion on footnote number. (lyskom-add-sub-comment): Do completion on comment number. (lyskom-add-sub-footnote): Use current text as default text to add/remove only if applicable. If there is only one completion, use that. If the current text is in the completions, use it. If we are adding, use the current text unless it is the one we are adding/removing to/from. (lyskom-add-sub-comment): Dito. 2002-04-09 David Byers Completion on kom-sub-comment and kom-sub-footnote: * commands1.el (lyskom-add-sub-footnote): Show text number we are removing from or adding to in the prompt (important when using prefix args to this command). (lyskom-add-sub-comment): Show text number we are removing from or adding to in the prompt (important when using prefix args to this command). (kom-add-comment): Read prefix arg here and not in lyskom-add-sub-comment. (kom-sub-comment): Same here. (lyskom-add-sub-comment): Don't read prefix arg here. Removed prompt argument. * lyskom-rest.el (lyskom-read-number): Added completions parameter to this function. 2002-04-08 Ulrik Haugen * lyskom-rest.el: When running GNU Emacs let Emacs look up the string for mode-line-unread and frame-title-unread when setting the mode-line or frame-title (fixes bug 447 for GNU Emacs). * english-strings.el (lyskom-message): add-recpt-button-text-regex: updated the regex to reflect the change to add-recpt-button-text some time ago. * swedish-strings.el (lyskom-message): add-recpt-button-text-regex: bug-fix: the backslashes must be escaped by backslashes. 2002-04-03 Ulrik Haugen * Makefile (debian-packages): new target. 2002-03-25 Joel Rosdahl * distribution-configure.in: Corrected help text for --with-default-language. 2002-03-24 Joel Rosdahl * Release of 0.46.2-BETA-2 (approximately: there was originally no ChangeLog entry for this release). This entry was added after the fact by David Byers. 2002-03-23 Joel Rosdahl Fix bug 422: * commands1.el (lyskom-private-answer): Print informative text if replying to Anonymous user. * english-strings.el, swedish-strings.el (lyskom-message): Added personal-comment-to-anonymous string. * swedish-strings.el (lyskom-message): Spelling tweak. * commands1.el (lyskom-private-answer-soon-prev): Removed unused function. 2002-03-21 Joel Rosdahl Fiddled with various release-related things. Fixes bugs 298, 299 and 300. * Makefile: Revamped and somewhat commented. Create three different kinds of distribution archives: 1. A "source" dist with configure + Makefile + separate .el files; 2. A single lyskom.el with all languages included; 3. A single lyskom.el with just one included language. Archives are named lyskom-elisp-client-* instead of lyskom-*. autoconf files config.{cache,log,status} are no longer included. * distribution-Makefile.in: Create file lists from the "developer" Makefile. * distribution-configure.in: Make English the default language. * distribution-README: Removed. * distribution-README.begin: New file. Common begin text for source and non-source dists. * distribution-README.end: New file. Common end text for source and non-source dists. * distribution-README.install-nonsrc: New file. Installation instructions for non-source dists. * distribution-README.install-src: New file. Installation instructions for the source dist. Added "View session status" to the person button menu and grouped actions in text number buttons: * lyskom-buttons.el (lyskom-button-view-session-status): New button action. * vars.el.in (lyskom-button-actions): Added above action to "pers" buttons. * english-strings.el, swedish-strings.el (lyskom-message): Added action text. * vars.el.in (lyskom-button-actions): Reordered "text" buttons so that similar actions are near each other. 2002-03-20 Joel Rosdahl * vars.el.in (kom-server-aliases): Changed IP name of CSD-KOM. 2002-03-19 Joel Rosdahl * commands2.el (lyskom-construct-summary-format-string): Removed unused local variable. 2002-03-16 Joel Rosdahl Changed language behaviour: Language is now a global setting, and changing it thus affects all sessions. Fixes bugs 238 and 239. * vars.el.in (lyskom-language): Make lyskom-language global. * swedish-strings.el (lyskom-command): Mention that the language is changed in all sessions in kom-change-language. * english-strings.el (lyskom-command): Likewise. 2002-03-12 Joel Rosdahl * language.el (lyskom-languages) (lyskom-language-categories) (lyskom-language-keymaps): Corrected spelling in doc strings. 2002-03-12 Ulrik Haugen * lyskom-rest.el (lyskom-insert-before-prompt): don't let xemacs add the text-properties of the prompt to all text inserted before the prompt (fixes bug 421). 2002-03-11 Joel Rosdahl * english-strings.el (lyskom-message): Changed last-log-in to say "Last login or logout" instead of "Last login", since that's what the server gives us. * swedish-strings.el (lyskom-message): Likewise. 2002-03-03 Joel Rosdahl * vars.el.in (lyskom-month-names): Added property 'lyskom-language-force. Fixes to make "make check" happy again: * english-strings.el: Added ending mismatch exception for newyeareve. (lyskom-message): Added year reference to newyearevelate. (lyskom-month-names): Make lyskom-month-names belong to en instead of sv. Corrected month names. * option-edit.el (lyskom-custom-variables): Removed bogus nil at the end. Fixed bug 392 and cleaned up printing of text summaries in kom-list-summary and kom-list-marks: * commands2.el (lyskom-max-text-no-width): New function. (lyskom-construct-summary-format-string): New function. (lyskom-do-list-summary): Use lyskom-construct-summary-format-string. (lyskom-print-summary-line): Get format string as an argument instead of building it at each call. (kom-list-marks): Use lyskom-construct-summary-format-string. (lyskom-print-mark-summary-line): Get format string as an argument instead of building it at each call. (lyskom-max-mark-width): Added doc string. * swedish-strings.el (lyskom-message): Don't abbreviate Lines. * english-strings.el (lyskom-message): Don't abbreviate Lines and mark-type. Trimmed whitespace from Author and Subject. 2002-03-03 Per Cederqvist Fix bug 406: * lyskom-rest.el (lyskom-report-command-answer): Factor out some code to lyskom-insert-error. (lyskom-insert-error): New function. (lyskom-current-error): Call lyskom-insert-error instead of issuing a broken call to lyskom-format-insert * commands1.el (lyskom-add-member-answer): Save err-stat as well as errno. Use lyskom-insert-error instead of a broken call to lyskom-format-insert. Use the saved errno in all cases, not just some. (kom-create-conf): Use lyskom-insert-error instead of a broken call to lyskom-format-insert. * commands2.el (kom-change-conf-type): Use lyskom-insert-error instead of a broken call to lyskom-format-insert. 2002-03-03 Joel Rosdahl * utilities.el (lyskom-current-time): Removed obsolete function. 2002-03-02 Joel Rosdahl * commands2.el: Removed some erroneous indentation. Fixed bug 387: * lyskom-buttons.el (lyskom-view-url-windows): Rewritten (based on work by Klaus Zeuge). * compatibility.el (w32-shell-execute): New dummy function. * vars.el.in (kom-windows-browser-command): New variable. * option-edit.el (lyskom-customize-buffer-format): Added kom-windows-browser-command. (lyskom-custom-variables): Added kom-windows-browser-command. * english-strings.el (lyskom-custom-strings): Added kom-windows-browser-command-doc. (lyskom-custom-strings): Added kom-windows-browser-command-tag. * swedish-strings.el (lyskom-custom-strings): Added kom-windows-browser-command-doc. (lyskom-custom-strings): Added kom-windows-browser-command-tag. 2002-02-28 Joel Rosdahl Made it possible to run the client uncompiled. * feature.el (lyskom-have-feature): Removed comma so that the client can run uncompiled. (lyskom-feature-value): Ditto. * startup.el (lyskom-compilation-in-progress): New, horrid function. (lyskom-is-running-compiled): New constant. (lyskom): Inform the user that it is a good idea to compile the client, should it not be compiled. * swedish-strings.el (lyskom-message): Added warning-about-uncompiled-client string. * english-strings.el (lyskom-message): Ditto. 2002-02-26 Joel Rosdahl * swedish-strings.el (lyskom-message): Likewise. * english-strings.el (lyskom-message): Corrected who-to-throw-out to ask "who's session", not "which session". 2002-02-25 Joel Rosdahl * swedish-strings.el (lyskom-message): Ditto. * english-strings.el (lyskom-message): Added missing full stop and newline in cant-read-textno. * swedish-strings.el (lyskom-sv-mode-map): Bind kom-change-conf-faq to "ä q". * english-strings.el (lyskom-en-mode-map): Bind kom-change-conf-faq to "A q". * vars.el.in (kom-server-aliases): Call com.lysator.liu.se "LysCOM (LysKOM in English)" for now. * commands2.el (lyskom-do-list-summary): Print Written/Skrivet instead of Date/Datum in review lists. * swedish-strings.el (lyskom-message): Datum --> Skrivet. * english-strings.el (lyskom-message): Date --> Written. 2002-02-24 Joel Rosdahl * copyright: Ditto. * Makefile: Ditto. * *.el: Unified copyright year range to 1991-2002. Changed "This file is part of the LysKOM server" to "This file is part of the LysKOM Emacs LISP client". * utilities.el (lyskom-find-text-by-date): Removed unused local variable. 2002-02-24 David Byers * utilities.el (lyskom-find-text-by-date): Fixed assignment to date variable inside the binary search loop. Use date variable in later comparison. 2002-02-24 Joel Rosdahl * mship-edit.el (lyskom-read-time): Commented out code that generated a compilation warning. * vars.el.in (kom-server-aliases): Added com.lysator.liu.se. * swedish-strings.el: Corrected terminology in quit-in-spite-of-unsent. 2002-02-18 Per Cederqvist * commands2.el (lyskom-create-text-buffer): New helper function. (kom-compare-texts): Use blocking-do-multiple for efficiency and lyskom-create-text-buffer to simplify the code. 2002-02-09 Per Cederqvist New command: "Compare two texts". * vars.el.in (lyskom-commands): Added kom-compare-texts. * swedish-strings.el (lyskom-message): Added diff-what-text-new and diff-what-text-old. (lyskom-command): Added kom-compare-texts. (lyskom-help-strings): Added kom-compare-texts. * english-strings.el (lyskom-message): Added diff-what-text-new and diff-what-text-old. (lyskom-command): Added kom-compare-texts. * commands2.el (kom-compare-texts): New command. * commands1.el (lyskom-text-stat-commented-texts): New function. (lyskom-view-commented-text): Extract the computation of the commented texts to lyskom-text-stat-commented-texts, so that it can be reused by kom-compare-texts. 2002-02-04 Johan Sundström * view-text.el (lyskom-view-text-convert-ISO-646-SE-to-ISO-8859-1): Also, don't convert texts created by a mail importer. (The theory here is that all ol'e farts writing swedish in swascii pursue this practice only in kom, and that few people writing on mailing lists imported to kom do.) 2002-01-30 Johan Sundström * view-text.el (lyskom-view-text-convert-ISO-646-SE-to-ISO-8859-1): New function that, when put in `lyskom-view-text-hook', rewrites }{| as åäö in read texts. Mostly written by Klaus Zeuge. * swedish-strings.el, english-strings.el (lyskom-message): Added the string `reformat-deswascii'. 2002-01-21 Ulrik Haugen * vars.el.in (lyskom-text-buttons): Changed the regexps for conf-, text- and pers-pointers to accept descriptions with numbers. 2002-01-13 David Kågedal * commands1.el (lyskom-misc-infos-from-list): Make sure that the result is correctly ordered. 2002-01-08 Per Cederqvist * vars.el.in (kom-server-aliases): Change HelKOM to HesaKOM, as that is what the local community calls it. Reported by Eva Isaksson. 2002-01-07 Ulrik Haugen * aux-items.el (lyskom-edit-insert-cross-reference) (lyskom-edit-insert-no-comments) (lyskom-edit-insert-personal-comments) (lyskom-edit-insert-request-confirmation): Added the flags to the string returned. * edit-text.el (lyskom-edit-generate-aux-item-flags): New function, the parts of lyskom-edit-insert-aux-item-flags that do not alter the buffer. (lyskom-edit-insert-aux-item-flags): Split out the parts that do not alter the buffer. 2002-01-07 David Byers * edit-text.el (lyskom-edit-insert-miscs): Place add button after aux-items. Make a button out of the aux-item prefix. (lyskom-edit-insert-aux-item): Place new aux-items before add button. (lyskom-edit-parse-headers): Use aux-item-prefix-regexp (lyskom-edit-on-aux-item): Same here. * utilities.el (lyskom-parse-date): New function (not complete) that can be used to translate a string to a date specification. * vars.el.in (lyskom-button-actions): Changed add-recipient to add-recipient-or-xref and added choices for aux-items. 2002-01-03 David Byers * commands2.el (kom-set-unread): Reindented. * utilities.el (lyskom-find-text-by-date): New function. * commands2.el (lyskom-time-greater): Reindented. 2002-01-02 David Byers * parse.el (lyskom-parse-text-mapping): New implementation that actually corresponds to the protocol specification. Work on bug 280: * commands1.el (kom-remove-presentation): New command. * vars.el.in (lyskom-commands): Added kom-set-presentation and kom-set-motd-text. * swedish-strings.el (lyskom-command): Added kom-set-presentation and kom-set-motd. * commands1.el (kom-set-presentation): New command. (kom-set-motd): New command (lyskom-set-pres-or-motd-2): New function. Various bugs: * vars.el.in (lyskom-button-actions): Set pers actions for kom-list-news and kom-membership to the values they have for conf (bug 293). * commands2.el (kom-force-logout): Reindented. (kom-force-logout): Handle negative answer from lyskom-read-session-no (bug 224). * commands1.el (lyskom-misc-infos-from-list): Made this function nonrecursive (bug 345) 2001-12-15 Ulrik Haugen * edit-text.el (lyskom-edit-parse-headers): handle the brackets in `[Add recipient]'. * swedish-strings.el, english-strings.el (lyskom-message): new string: add-recpt-button-text-regex. 2001-12-14 Ulrik Haugen * commands1.el (kom-list-re): case insensitive search is now the default. * swedish-strings.el, english-strings.el (lyskom-message): new string: add-recpt-button-text. * edit-text.el (lyskom-edit-insert-miscs): use add-recpt-button-text for the add recipient-button. 2001-11-24 Ulrik Haugen * ChangeLog: fixed spelling and formatting for a few old entries. * swedish-strings.el (lyskom-help-strings): really added help on kom-who-is-on-and-friend. 2001-12-09 Per Cederqvist * commands2.el (kom-is-person-member-of-conference): When the optional arguments pers-no and conf-no were given, the function used the conf-no instead of the pers-no argument. Removed spurious &optional keyword in argument list. 2001-11-27 Johan Sundström * lyskom-buttons.el (lyskom-button-review-comments, lyskom-button-review-tree, lyskom-button-write-footnote, lyskom-button-fast-reply): New button actions. * vars.el.in (lyskom-button-actions): Added above button actions for text buttons. * swedish-strings.el, english-strings.el (lyskom-message): Added action names. 2001-11-23 Ulrik Haugen * edit-text.el (lyskom-edit-insert-miscs): print a button with type add-recipient after the recipients. (lyskom-edit-parse-headers): Ignorera 'add-recipient i headrarna. * vars.el.in (lyskom-button-actions): new button type: add-recipient. * swedish-strings.el, english-strings.el (lyskom-message): new string: add-recipient 2001-11-21 Johan Sundström * startup.el (lyskom): A `C-u' prefix argument makes the session invisible. * startup.el (kom-start-anew): New argument `invisiblep'. 2001-11-19 David Byers Make it possible to remove recipients by removing their name and number but not the header line itself * edit-text.el (lyskom-looking-at-header): Implement 'empty for second argument. Limit angled headers to one line of text. (lyskom-edit-parse-headers): Skip empty recipient headers without warning. 2001-11-19 Ulrik Haugen * vars.el.in (lyskom-button-actions): added "remove" option to the recpt-type menu. Better argument names for the lambda-functions in recpt-type. * lyskom-buttons.el (lyskom-generate-button): do a car on menu-title so we get an error message if it's not a cons when the button is generated in stead of when it's used. * swedish-strings.el, english-strings.el (lyskom-message): new string: lyskom-button-recpt-type-sub. * edit-text.el (lyskom-edit-insert-misc-conf): use lyskom-format to add text properties for the recipient type. (lyskom-edit-do-add-recipient/copy): use save-excursion in stead of lyskom-save-excursion. (lyskom-edit-sub-recipient/copy): new function. 2001-11-14 Ulrik Haugen * vars.el.in (lyskom-button-actions): added remove alternative for recpt-type buttons. * edit-text.el (lyskom-edit-sub-recipient/copy): new function. * swedish-strings.el, english-strings.el (lyskom-message): new string: lyskom-button-recpt-type-sub. 2001-11-17 Per Cederqvist Use content types as specified in the current version of the protocol A specification. * vars.el.in (lyskom-format-special): Treat "x-kom/text" as an alias for "text/x-kom-basic". * edit-text.el (lyskom-edit-send): Set the content type "text/x-kom-basic", not "x-kom/text", on new texts. 2001-11-13 David Byers List unique subjects when prefix is given to kom-list-summary * commands2.el: (kom-list-summary): Prefix argument sets "unique" flag to lyskom-list-summary. (lyskom-list-summary): Added "unique" argument. (lyskom-do-list-summary): Aded "unique" argument. (kom-list-summary): List unique subjects when a prefix argument is given. * utilities.el (lyskom-string-member): New function 2001-11-13 Ulrik Haugen * vars.el.in (lyskom-button-actions): added button-type: recpt-type. * edit-text.el (lyskom-edit-add-recipient/copy): new paramter: recpt - the conference to add, if set don't prompt. (lyskom-edit-insert-misc-conf): add set recipient selection menu properties for the recipient spec. * english-strings.el, swedish-strings.el (lyskom-message): recpt-type-button strings. Removed trailing colon from recipient, carbon-copy and blank-carbon-copy strings 2001-10-16 Ulrik Haugen * lyskom-buttons.el (lyskom-default-button): don't bother to set the lyskom-button-text property for timestamps. 2001-11-04 Johan Sundström * vars.el.in (kom-review-marks-texts-as-read): New variable. * view-text.el (lyskom-view-text): Honour the above; when reviwing, the texts read are always marked as red when the variable is non-nil. * option-edit.el (lyskom-custom-variables, lyskom-customize-buffer-format): User configurable default too. * commands2.el (kom-make-review-mark-as-read, kom-make-review-not-mark-as-read): Change the review behaviour. "Återse läsmarkerar" and "Återse läsmarkerar inte" now choose review mode, effectively overriding the configured mode for the lifetime of the current kom buffer. * swedish-strings.el (lyskom-custom-strings, lyskom-command): Variable docs, method names and assorted strings. * english-strings.el (lyskom-custom-strings, lyskom-command): Ditto. 2001-10-18 Kent Engström * vars.el.in (kom-server-aliases): change dskom.studkar.hj.se to kom.ds.hj.se. 2001-10-16 Kent Engström * vars.el.in (kom-server-aliases): add dskom.studkar.hj.se as DSKOM. Remove MedioKOM, dead for some time now. 2001-10-14 Ulrik Haugen * lyskom-buttons.el (kom-previous-link, kom-next-link): look for property lyskom-button instead of lyskom-button-text. (lyskom-generate-button): new arg sublte, callers changed. 2001-10-13 Ulrik Haugen * swedish-strings.el, english-strings.el (lyskom-message, lyskom-message): timestamp-button strings. * lyskom-buttons.el (lyskom-default-button): add a timestamp-button property to the prompt. (lyskom-button-copy-timestamp): new function. * lyskom-rest.el (lyskom-modify-prompt): add a timestamp-button property to the prompt. * vars.el.in (lyskom-current-prompt-timestamp): new variable. (lyskom-button-actions): added button-type: timestamp. 2001-10-09 Joel Rosdahl * swedish-strings.el (lyskom-sv-edit-mode-map): Make C-c TAB an alternative to C-c C-i so that TTY mode users stay happy. * english-strings.el (lyskom-en-edit-mode-map): Ditto. 2001-09-21 Joel Rosdahl * vars.el.in (lyskom-text-buttons): Require pseudo-url to start at the beginning of a word. 2001-09-06 Joel Rosdahl * vars.el.in (lyskom-personal-message-hook): Fixed documentation. * messages.el (lyskom-handle-personal-message): Ditto. * async.el (lyskom-show-personal-message): Ditto. (lyskom-insert-personal-message): Ditto. (lyskom-format-as-personal-message): Ditto. 2001-08-31 Ulrik Haugen * review.el (kom-review-more): ignore prefix arg unless it's really there. 2001-08-25 Ulrik Haugen * commands1.el (lyskom-select-friends-from-who-list): change endp to null which is built in. * english-strings.el (lyskom-en-mode-map): moved "w l" to "w w", "w a" to "w p" * swedish-strings.el (lyskom-sv-mode-map): moved "v a" to "v n". * swedish-strings.el, english-strings.el (lyskom-command): Parenthesised kom-who-is-command-names. 2001-08-24 Ulrik Haugen * vars.el.in (lyskom-help-categories, lyskom-commands): added kom-who-is-on-and-friend. * swedish-strings.el (lyskom-help-strings): added kom-who-is-on-and-friend. 2001-08-23 Ulrik Haugen * commands1.el (kom-who-is-on-and-friend, lyskom-select-friends-from-who-list): new commands. (lyskom-who-is-on-8, lyskom-who-is-on-9): new arg; show-friends-only. * english-strings.el, swedish-strings.el (lyskom-command): added kom-who-is-on-and-friend. * english-strings.el (lyskom-en-mode-map): kom-who-is-on is on "w l", kom-who-is-on-in-conference is on "w c", kom-who-is-present-in-conference is on "w a" and kom-who-is-on-and-friend is on "w f". * swedish-strings.el (lyskom-sv-mode-map): kom-who-is-on is on "v i", kom-who-is-on-in-conference is on "v m", kom-who-is-present-in-conference is on "v a" and kom-who-is-on-and-friend is on "v v". 2001-08-24 Per Cederqvist * commands2.el (kom-is-person-member-of-conference): Differentiate between active and passive memberships. * english-strings.el, swedish-strings.el (lyskom-message): Added pers-is-passive-member-of-conf. 2001-08-22 Ulrik Haugen * lyskom-rest.el (lyskom-set-last-viewed): set lyskom-last-viewed to a marker in stead of an integer. (lyskom-trim-buffer): don't update lyskom-last-viewed since it's a marker now. * slow.el (lyskom-slow-start-of-line): see above. 2001-08-21 Ulrik Haugen * vars.el.in (lyskom-text-buttons): understands links broken before the number as well as those broken after it. * review.el (kom-review-more): doesn't ignore the prefix argument if supplied. * swedish-strings.el, english-strings.el (lyskom-sv-edit-mode-map, lyskom-en-edit-mode-map): moved kom-edit-insert-link to C-c C-i C-l. 2001-08-16 Björn Brenander * commands1.el (kom-who-is-on-in-conference): now suggests the current conference. (kom-who-is-present-in-conference): now suggests the current conference. 2001-08-16 Ulrik Haugen * edit-text.el (kom-edit-insert-link): new. Inserts a link in the text you are writing. (lyskom-edit-mode): add documentation for kom-edit-add-cross-reference and kom-edit-insert-link. * commands1.el (lyskom-read-link): new. Returns a link to a text, person or conference. * swedish-strings.el (lyskom-message): added messages for link-insertion. (lyskom-sv-edit-mode-map): C-c C-a C-l runs kom-edit-add-link. * english-strings.el (lyskom-en-edit-mode-map): (lyskom-message): see swedish-strings.el 2001-08-09 Ulrik Haugen * lyskom-buttons.el (lyskom-button-find-root-review): this function is now the action for the "Review tree" menu item. For obvious reasons review-tree was used before. * vars.el.in (lyskom-button-actions): related changes. * english-strings.el, swedish-strings.el (lyskom-message): related changes. 2001-07-31 Ulrik Haugen * lyskom-buttons.el (lyskom-view-url-galeon): ... and the other files in this entry: Applied patch in 6818352 from : New function for viewing a URL in Galeon. * vars.el.in (kom-url-managers, kom-galeon-command): See above. * swedish-strings.el, english-strings.el (lyskom-custom-strings): See above. * option-edit.el (lyskom-customize-buffer-format, lyskom-custom-variables, lyskom-url-viewer-widget): See above. 2001-07-11 Christer Ekholm * swedish-strings.el, swedish-strings.el (lyskom-message): New string names for kom-who-is-present-in-conference * commands1.el (kom-who-is-present-in-conference): Bugfix and new string names. 2001-07-11 David Byers * swedish-strings.el (lyskom-help-strings): Added strings for kom-who-present-in-conference. * vars.el.in (lyskom-commands): Added kom-who-is-present-in-conference (lyskom-help-categories): Added kom-who-is-present-in-conference 2001-07-11 Christer Ekholm * english-strings.el, swedish-strings.el (lyskom-command): Added kom-who-is-present-in-conference. (lyskom-message): Added strings for kom-who-is-present-in-conference. * commands1.el (kom-who-is-present-in-conference): New command. (lyskom-who-is-on-8): Support kom-who-is-present-in-conference. (lyskom-who-is-on-9): Same here. 2001-06-27 David Byers * lyskom-rest.el (lyskom-is-loaded): Bind icon-title-format the same way we bind frame-icon-title-format so icon title for Gnu Emacs has a chance of changing when unreads change. 2001-06-05 Johan Sundström * swedish-strings.el (lyskom-message): Changed all references to "för kännedom" to "dold kopia", a somewhat improved translation. * edit-text.el (lyskom-edit-insert-miscs): Ditto. 2001-05-30 David Byers * view-text.el (lyskom-insert-header-comm): Correct content type display for comm-to and footn-to links (for imported e-mails). (lyskom-insert-deferred-header-comm): Same here. * option-edit.el (lyskom-customize-buffer-format): Add kom-text-no-prompts. (lyskom-custom-variables): Add kom-text-no-prompts. (lyskom-widget-functions): Add cons widget type. (lyskom-cons-widget): New function. * command.el (lyskom-read-extended-command): Added prompt argument. 2001-05-29 David Byers * vars.el.in (kom-text-no-prompts): New variable. (lyskom-text-no-prompts-defaults): New variable (kom-prompt-for-text-no): Removed this variable. * utilities.el (lyskom-read-text-no-prompt-p): New function abstracts text-no prompting configuration. (lyskom-read-text-no-prefix-arg): Use it. 2001-05-30 Joel Rosdahl * swedish-strings.el (lyskom-message): New string: adding-cross-reference. * english-strings.el (lyskom-message): Likewise. * commands1.el (lyskom-add-cross-reference): Insert "Adding..." text before adding cross reference. 2001-05-25 Joel Rosdahl * english-strings.el: Marked strings for new days in lyskom-times as missing. * swedish-strings.el (lyskom-message): Added strings for new days in lyskom-times. * commands1.el (lyskom-nameday-alist): Use namedays as defined by "Svenska språknämndens nya namnlängd". (lyskom-times): New special days: 13dayxmas, 20dayxmas, kyndeldag, intwomday, skottdag, mariebdag, johannesddag, fnday, allhelgonadag, varnlosdag. 2001-05-24 David Byers * vars.el.in (lyskom-after-change-conf-hook): New hook. * commands1.el (lyskom-go-to-empty-conf): Call lyskom-after-change-conf-hook. * commands2.el: Use new lyskom-list-summary. (lyskom-list-summary): New function generalizes kom-list-summary. (lyskom-do-list-summary): New name for old lyskom-list-summary. * utilities.el (lyskom-run-hook-with-args): Use lyskom-save-excursion, not save-excursion, so printing moves point properly in hooks. * lyskom-rest.el (lyskom-enter-conf): Add lyskom-after-change-conf-hook. Use to-conf and from-conf. 2001-05-23 David Byers * commands1.el: Change presentation works even if the old presentation has been deleted. 2001-05-22 David Byers * view-text.el (lyskom-mx-date-to-time): Deal with really strange dates that result in negative day numbers. * commands1.el (kom-review-presentation): Print FAQs as if they were comments. (lyskom-print-comment-like-aux): New function. (lyskom-insert-comment-like-aux): New function. (lyskom-insert-deferred-comment-like-aux): New function. 2001-05-21 David Byers * lyskom-rest.el (lyskom-report-command-answer): Report error status. 2001-05-21 Joel Rosdahl * debian/control (Maintainer): Changed maintainer address. (Depends): Better dependencies. 2001-05-21 David Byers * Release av 0.46.2-BETA-1 2001-05-21 David Byers * option-edit.el: Added kom-review-uses-cache. * view-text.el (lyskom-view-text): Don't prefetch stuff if we are reviewing and will delete the prefetched stuff anyway. * lyskom-rest.el (kom-view): Check kom-review-uses-cache. (kom-view-next-text): Same here. * edit-text.el (lyskom-edit-show-commented): Check kom-review-uses-cache. * commands1.el (lyskom-view-commented-text): Check kom-review-uses-cache. * review.el (kom-find-root): Check kom-review-uses-cache. (kom-review-comments): Same here. (kom-review-tree): Same here. (kom-find-root): Same here. (kom-find-root-review): Same here. (lyskom-find-root): Same here (two places) (lyskom-review-comments): Same here. (kom-review-last-normally-read): Same here. (kom-review-noconversion): Same here. * commands1.el (kom-view-commented-text): Check kom-review-uses-cache. (kom-view-previous-commented-text): Same here. * vars.el.in (kom-review-uses-cache): New variable. 2001-05-15 David Byers * commands1.el (kom-jump): Probably works in tree review mode, at least without prefix arg. There may be bugs. 2001-05-11 Johan Sundström * edit-text.el (lyskom-edit-fcc-text): Bugfix; don't swarm the place with *kom*-fcc buffers. Thanks, David. 2001-05-10 David Byers * lyskom-rest.el (lyskom-fill-message): Protect the filling loop from errors (such as regexp stack overflows). 2001-05-09 David Byers * ChangeLog: Set language environment. * commands2.el (lyskom-display-help-item): Fixed compiler warning. * commands1.el (lyskom-write-comment): Don't reverse the order of recipients when commenting. 2001-05-08 Per Cederqvist * TODO: Change all occurances of "x-kom/basic" to "text/x-kom-basic". * vars.el.in (lyskom-format-special): The content type "x-kom/basic" is being renamed to "text/x-kom-basic". Keep the old name as well. 2001-05-07 David Byers * check-strings.el (lyskom-check-strings): Check help strings and help categories. (lcs-check-help-strings): New function. (lcs-check-help-strings-2): New function. * english-strings.el (lyskom-en-mode-map): Bind ? to kom-help. * swedish-strings.el (lyskom-sv-mode-map): Bind ? to kom-help. (lyskom-help-strings): New string category. * vars.el.in (lyskom-commands): Remove describe-mode, add kom-help. (lyskom-help-categories): New variable. * commands2.el (kom-is-person-member-of-conference): Reindent. (kom-help): New command. (lyskom-display-help-category): New function for kom-help to use. (lyskom-display-help-item): Ditto. 2001-05-02 David Byers * filter-new-edit.el: New file. Contains the new filter editor. Very little is done. Transformation to and from editable trees seems to work. * filter-new.el: New file. Contains basic functions for compiling and evaluating new-style filters. The compiler appears to be working. Filter evaluation is untested. The extension mechanisms work. * tree-edit.el: New file. Contains basic functionality for editing trees. What's there seems to work fine. Currently dependent on LysKOM, but easy to free of such dependencies. 2001-04-25 David Byers * async.el (lyskom-parse-async): Update name of conference in kom-handle-membership buffer when async name change happens. 2001-04-26 Johan Sundström * commands1.el (lyskom-get-least-used-mark-types-alist): Bugfix; lyskom-set-alist isn't a destructive operation! * utilities.el (lyskom-set-alist): Clarified docstring regarding the above. 2001-04-25 Joel Rosdahl * utilities.el (lyskom-compute-char-classes): Portability: don't use cdar. * commands1.el (lyskom-allocate-mark-type): Ditto. * commands2.el (kom-list-marks): Wider date/time field. (lyskom-print-mark-summary-line): Ditto. (lyskom-list-summary): Ditto. (lyskom-print-summary-line): Ditto. * swedish-strings.el (lyskom-message): "Gå ur" --> "Utträd ur". * swedish-strings.el (lyskom-custom-strings): Spelling. (lyskom-message): Ditto. (lyskom-menu): Ditto. * view-text.el (lyskom-print-header-recpt): Ditto. * english-strings.el (lyskom-message): Ditto. (lyskom-menu): Ditto. * utilities.el (lyskom-format-time): Ditto. * lyskom-rest.el (lyskom-format-aux-help): Ditto. * review.el: Ditto. * mship-edit.el (lyskom-read-time): Don't subtract 1900 from year. 2001-04-25 David Byers * english-strings.el (lyskom-filter-actions): Add string for read filter action. * swedish-strings.el (lyskom-filter-actions): Add string for read filter action. * view-text.el (lyskom-view-text): Support "read" filter action. * commands1.el (lyskom-review-marked-texts): Use lyskom-review-get-priority to set priority of review operation. (lyskom-view-commented-text): Ditto. (lyskom-who-is-on-9): If user-active has not been used, do not show an idle time (say "Unknown" instead). * commands2.el (kom-review-faq): Ditto. * mship-edit.el (lyskom-read-time): Don't use lyskom-client-date. * slow.el (lyskom-slow-start-of-line-pos): New function. (kom-slow-click-or-yank): Use it. 2001-03-20 David Byers * lyskom-buttons.el (lyskom-view-url-netscape): Use lyskom-accept-process-output instead of accept-process-output to minimize the likelyhood of an infinite resource-consuming loop. 2001-02-01 David Byers * mship-edit.el (lp--create-buffer): Set initial state according to who added the membership. (lp--update-buffer): Same here. (lp--format-insert-entry): Draw expanded only according to state, no matter who added the membership. (lp--expand-all): New command. (lp--contract-all): New command. * compatibility.el (lyskom-face-foreground-name): New function. * mship-edit.el (lp--entry-set-background): Operate in the correct buffer. Make sure endpoints of extent are non-nil. (lp--entry-set-foreground): New function. (lp--format-entry): Color passive entries gray. * vars.el.in (lyskom-face-schemes): Added kom-dim-face. 2001-04-24 Johan Sundström * utilities.el (lyskom-set-alist): New function. * commands1.el (lyskom-allocate-mark-type): Removed non-kosher use of cdar and set-alist; uses the above now instead. 2001-04-23 Joel Rosdahl Clean-up of time handling and time formatting functions. Essentially, lyskom-format-time, lyskom-client-date-string and lyskom-return-date-and-time have been replaced with a single function: lyskom-format-time. Also, the internal time representation now has years that are relative to year 0 and months that start with 1 for January. * view-text.el (lyskom-return-date-and-time): Removed. (lyskom-print-date-and-time): Removed. * utilities.el (lyskom-current-time): Removed. (lyskom-client-date): Removed. (lyskom-client-date-string): Removed. * swedish-strings.el (lyskom-message): New timeformat-* strings. * english-strings.el (lyskom-message): Ditto. * vars.el.in (kom-print-seconds-in-time-strings): New variable. * vars.el.in (kom-print-relative-dates): Renamed lyskom-print-complex-dates to kom-print-relative-dates. * lyskom-rest.el (lyskom-save-text): Ditto. * edit-text.el (lyskom-edit-fcc-text): Inhibit kom-print-relative-dates. * commands2.el (lyskom-memb-received): Inhibit kom-print-seconds-in-time-strings. (kom-status-conf): Ditto. (kom-status-person): Ditto. * option-edit.el (lyskom-customize-buffer-format): Added kom-print-relative-dates and kom-print-seconds-in-time strings. (lyskom-custom-variables): Ditto. * swedish-strings.el (lyskom-custom-strings): Ditto. * english-strings.el (lyskom-custom-strings): Ditto. * komtypes.el (lyskom-create-time): Added docstring note. * view-text.el (lyskom-calculate-day-diff): Use "new" time type. (lyskom-mx-date-to-time): Ditto. * parse.el (lyskom-parse-time): Ditto. * mship-edit.el (lp--format-entry-expansion): Ditto. * commands2.el (lyskom-print-summary-line): Ditto. (lyskom-print-mark-summary-line): Ditto. * commands1.el (kom-display-time): Ditto. (lyskom-nameday): Ditto. * commands1.el (lyskom-format-time): Removed. * utilities.el (lyskom-format-time): New function. * view-text.el (lyskom-view-text): Use new lyskom-format-time. (lyskom-print-header-recpt): Ditto. (lyskom-print-header-comm): Ditto. * startup.el (lyskom): Ditto. * remote-control.el (lyskom-remote-handler): Ditto. (lyskom-remote-set-message): Ditto. (lyskom-remote-autoreply): Ditto. (lyskom-remote-list-messages-1): Ditto. (lyskom-remote-erase-messages): Ditto. (lyskom-remote-quit): Ditto. * mship-edit.el (lp--format-entry): Ditto. (lp--format-entry-expansion): Ditto. * lyskom-rest.el (lyskom-sentinel): Ditto. * edit-text.el (lyskom-edit-fcc-text): Ditto. * commands2.el (lyskom-memb-received): Ditto. (kom-status-conf): Ditto. (kom-status-person): Ditto. * commands1.el (lyskom-who-is-on-8): Ditto. (lyskom-who-is-on-9): Ditto. (lyskom-insert-deferred-session-info-since): Ditto. (kom-list-clients): Ditto. (lyskom-status-session-9): Ditto. * commands1.el (kom-display-time): Ditto. * aux-items.el (lyskom-aux-item-info): Ditto. (lyskom-print-read-confirm): Ditto. * async.el (lyskom-format-as-personal-message): Ditto. * ansaphone.el (kom-toggle-auto-reply): Ditto. * utilities.el (lyskom-current-server-time): New function. * commands1.el (kom-display-time): Use lyskom-current-server-time. (lyskom-nameday): Ditto. * commands2.el (lyskom-list-summary): Ditto. (kom-list-marks): Ditto. * utilities.el (lyskom-current-client-time): New function. (lyskom-client-date): Removed. * ansaphone.el (lyskom-ansaphone-record-message): Use lyskom-current-client-time. * parse.el (lyskom-parse-member-old): Ditto. (lyskom-parse-membership-old): Ditto. * async.el (lyskom-format-as-personal-message): Ditto. 2001-04-22 Johan Sundström * commands1.el (lyskom-get-least-used-mark-types-alist): New function. (lyskom-allocate-mark-type): Does no longer reuse used non-named marks,when possible, and defaults to the least used non-named one otherwise. 2001-04-21 Joel Rosdahl * english-strings.el (lyskom-command): Better description of kom-delete-conf. * swedish-strings.el (lyskom-command): Ditto. * option-edit.el (lyskom-widget-string-action): Nicer prompt strings. (lyskom-widget-number-action): Ditto. * swedish-strings.el (lyskom-custom-strings): Nicer prompt strings. * option-edit.el (lyskom-widget-mark-association-action): Set default values. * vars.el.in (kom-default-mark): New default value: ask for mark type. * commands1.el (lyskom-read-mark-type): Offer to allocate new mark type automatically. (lyskom-allocate-mark-type): New function. (lyskom-mark-text): Pass new parameters to lyskom-read-mark-type. * english-strings.el (lyskom-message): New strings for automatic mark type creation. * swedish-strings.el (lyskom-message): Ditto. * Makefile ($(TARGET-EL)): Always update build date in vars.el. 2001-04-01 Joel Rosdahl * swedish-strings.el (lyskom-message): Added hint about a second unsubscription to passivate-done. * english-strings.el (lyskom-message): Ditto. * swedish-strings.el (lyskom-custom-strings): Small cosmetic fixes. * option-edit.el (lyskom-customize-buffer-format): Small cosmetic change. * view-text.el (lyskom-view-text): Insert symbolic mark type. * vars.el.in (kom-symbolic-marks-alist): Added. * swedish-strings.el (lyskom-message): Changed mark-related strings. (lyskom-custom-strings): Added mark-related strings. More documentation in kom-default-mark-doc. * english-strings.el (lyskom-message): Changed mark-related strings. (lyskom-custom-strings): Added mark-related strings. More documentation in kom-default-mark-doc. * option-edit.el (lyskom-customize-buffer-format): Added kom-symbolic-marks-alist. (lyskom-custom-variables): Ditto. (lyskom-widget-functions): Added mark-association. (lyskom-mark-association-widget): New function. (lyskom-widget-mark-association-action): New function. (lyskom-widget-mark-association-match): New function. (lyskom-widget-mark-association-validate): New function. (lyskom-widget-mark-association-value-create): New function. (lyskom-mark-association): New widget. * komtypes.el (mark->symbolic-mark-type): New function. * commands2.el (kom-list-marks): Insert symbolic mark type. (lyskom-print-mark-summary-line): Ditto. (lyskom-symbolic-mark-type-string): New function. (lyskom-max-mark-width): New function. * commands1.el (lyskom-read-mark-type): New function. (lyskom-mark-text): Use lyskom-read-mark-type. (kom-review-marked-texts): Use lyskom-read-mark-type. (lyskom-review-marked-texts): Insert symbolic mark type. 2001-03-31 Ulrik Haugen * english-strings.el (lyskom-en-mode-map): added binding "r h" for kom-review-mail-headers. * swedish-strings.el (lyskom-sv-mode-map): added binding "} b" for kom-review-mail-headers. (): corrected typo. 2001-03-15 Joel Rosdahl * vars.el.in (lyskom-commands): Added kom-add-cross-reference. (kom-prompt-for-text-no): Added kom-add-cross-reference. * swedish-strings.el (lyskom-message): Added text-to-add-cross-reference-to string. (lyskom-command): Added kom-add-cross-reference. * english-strings.el (lyskom-message): Added text-to-add-cross-reference-to string. (lyskom-command): Added kom-add-cross-reference. * edit-text.el (kom-edit-add-cross-reference): Use lyskom-read-cross-reference-and-get-aux-item. * commands1.el (kom-add-cross-reference): New function. (lyskom-add-cross-reference): New function. (lyskom-read-cross-reference-and-get-aux-item): New function. * Makefile: Include build date in client version if built from a checked-out CVS module. Somewhat crude, but maybe nice. * swedish-strings.el (lyskom-message): Added missing word. Different formatting for client statistics lines. * english-strings.el (lyskom-en-edit-mode-map): Fixed cut-n-paste error. Different formatting for client statistics lines. 2001-02-25 Joel Rosdahl * Release av 0.46.1. * view-text.el (lyskom-view-text): Don't sort remarks when reviewing without conversion. * swedish-strings.el (lyskom-command): "Anmärkningar" instead of "korta repliker". * english-strings.el (lyskom-message): "Remarks" instead of "fast/quick replies". * commands2.el (kom-fast-reply): Updated doc string. * Makefile (release-files): Include spec file in release. * Makefile: Removed release-cleanup. * distribution-README: Note about RPMs. * lyskom-elisp-client.spec: Include NEWS-0.46.1. Better source URL. * Makefile (clean): Don't remove RPM spec. 2001-02-20 Joel Rosdahl * debian/docs: Added NEWS-0.46.1. * english-strings.el (lyskom-message): Reworded {author,other}-fast-replies. * swedish-strings.el (lyskom-message): Ditto. * commands1.el (kom-change-parenthesis): Use name of current user as default. 2001-02-03 Joel Rosdahl * lyskom-rest.el (lyskom-update-prompt): Show "read next attachment" prompt if next text is an attachment. * swedish-strings.el (lyskom-message): Added read-next-attachment-prompt. * english-strings.el (lyskom-message): Ditto. * distribution-README: Various small updates. 2001-01-28 Joel Rosdahl * Release av 0.46.1-BETA-5. * english-strings.el (lyskom-en-edit-mode-map): Bind kom-button-click-or-yank to different buttons depending on Emacs flavour. * swedish-strings.el (lyskom-sv-edit-mode-map): Ditto. * view-text.el (lyskom-view-text): Show fast replies made by author first. * english-strings.el: New strings for fast replies. * swedish-strings.el: Ditto. * aux-items.el (lyskom-print-fast-reply): Removed. * aux-items.el: Added recommended-conf and allowed-content-type aux items. * edit-text.el (lyskom-edit-mode): Fixed typo found by Per Starbäck. 2001-01-07 David Byers * swedish-strings.el: Changed useful bindings of button2up to button2. Changed useful bindings of button3up to button3. In a fit of paranoia bound button2up and button3up in corresponding places to kom-mouse-null. 2001-01-18 Joel Rosdahl * view-text.el (lyskom-print-text): Keep viewed text in cache a bit longer so that it won't be prefetched a second time. (lyskom-view-text): Ditto. 2001-01-02 Ulrik Haugen All files changed when I replaced (or (eq foo 'a) (eq foo 'b) ...) with (member foo '(a b ...)): Replaced member with memq which compares with `eq', and substituted lyskom-comment-types-list & c. where apropriate. * vars.el.in (lyskom-comment-types-list): Added constant. (lyskom-recpt-types-list): Ditto. (lyskom-review-types-list): Ditto. 2000-12-31 Ulrik Haugen * view-text.el (lyskom-view-text): Replaced (or (eq foo 'a) (eq foo 'b) ...) with (member foo '(a b ...)) This means that the comparison will be done by `equal' instead, but that shouldn't matter. (lyskom-text-read-p): Ditto. (lyskom-text-read-at-least-once-p): Ditto. (lyskom-mark-as-read): Ditto. * utilities.el (lyskom-text-recipients): Ditto. * review.el (lyskom-get-texts-by-to): Ditto. (kom-review-backward): Ditto. (kom-review-clear): Ditto. * prefetch.el (lyskom-prefetch-text-all-handler): Ditto. (lyskom-prefetch-texttree-handler): Ditto. (lyskom-prefetch-texts-handler): Ditto. * parse.el (lyskom-parse-bitstring): Ditto. * mship-edit.el (lp--format-insert-entry): Ditto except I replaced (and (not (eq foo a)) (not (eq foo b)) ...) with (not (member foo (list a b)) * lyskom-rest.el (kom-view-next-new-text): Ditto. (kom-view-next-text): Ditto. (lyskom-is-read-handler): Ditto. (lyskom-get-prioritized-session): Ditto. (lyskom-what-to-do): Ditto. * lyskom-buttons.el (lyskom-generate-button): Ditto. (lyskom-view-url-windows): Ditto. (lyskom-view-url-netscape): Ditto. * komtypes.el (lyskom-is-recipient): Ditto. * filter.el (lyskom-filter-text-p-2): Ditto. * filter-edit.el (lyskom-verify-filter-pattern): Ditto. (lyskom-format-filter-pattern-insert): Ditto. (lyskom-filter-edit-insert-pattern): Ditto. * edit-text.el (lyskom-edit-send-check-recipients): Ditto. (lyskom-edit-send-check-recipients): Ditto. (lyskom-edit-get-commented): Ditto. * completing-read.el (lyskom-complete-string): Ditto. * commands2.el (kom-list-summary): Ditto. (kom-postpone): Ditto. (kom-set-personal-label): Ditto. * commands1.el (lyskom-get-recipients-from-misc-list): Ditto. (lyskom-list-created-conferences-2): Ditto except I replaced (or (eq (a) foo) (eq (b) foo) ...) with (member foo (list (a) (b) ...)) (lyskom-jump): Ditto. * clienttypes.el (read-list-delete-text): Ditto. * buffers.el (lyskom-display-buffer): Ditto. * autoconf.el (extract-configuration-option): Ditto. * async.el (lyskom-async-new-text): Ditto. (lyskom-async-deleted-text): Ditto. * swedish-strings.el (lyskom-sv-mode-map): Made "" scroll up as well as the other delete-keys. * english-strings.el (lyskom-en-mode-map): Ditto. 2000-12-22 David Byers * lyskom-rest.el (kom-page-next-command): Added (temporary) workaround for emacs-21.0.94. (kom-view): Same here. 2000-12-15 David Byers * buffers.el (lyskom-display-buffer): Fixed problem with displaying windows in iconified frames. This could cause Emacs to lock up. Maybe. 2000-12-12 David Byers * commands1.el (kom-move-text): Default recipient of kom-move-text is finally correct. 2000-12-29 Ulrik Haugen * lyskom-rest.el (j-or-n-p lyskom-j-or-n-p): Removed the parameter quittable and rewrote the functions as if it were always t. Callers changed (in aux-items.el, commands1.el, commands2.el, edit-text.el, filter-edit.el and startup.el). 2000-12-17 Ulrik Haugen * utilities.el: applied patch from Per Starbäck, device-class isn't defined if it doesn't exist, lyskom-device-class is. Caller changed. (See text 5867166 in LysLysKOM.) 2000-12-12 David Byers * Release av 0.46.1-BETA-4 2000-12-12 David Byers * commands2.el (kom-modeline-next-unread-kom): Don't check for Emacs version. (kom-modeline-select-unread-kom): Don't check for Emacs version. * lyskom-rest.el (lyskom-is-loaded): Set modeline keymap for lyskom-unread-mode-line in Gnu Emacs too. 2000-12-09 Joel Rosdahl * commands2.el (kom-status-conf): More space allocated for the "Unread" column. (kom-status-person): Ditto. * english-strings.el (lyskom-message): Ditto. * swedish-strings.el (lyskom-message): Ditto. 2000-12-06 Joel Rosdahl * edit-text.el (lyskom-edit-send-check-recipients): Ask if normal recipient or carbon copy recipient should be added. * distribution-configure.in: Ignore stderr output from Emacs. * autoconf.el (extract-autoconf-data): Print autoconf data to stdout. 2000-12-03 Per Cederqvist * macros.el (blocking-do-multiple): Fixed typo in docstring. * english-strings.el (kom-ispell-dictionary): Set the value for "en", not "sv". (kom-tell-phrases): Likewise. 2000-12-02 Per Cederqvist Enable colors on tty devices under Emacs 21. * utilities.el (device-class): Provide a better version if display-color-p exists. * compatibility.el (window-list): Removed. This was no longer used. 2000-11-30 David Byers * commands1.el (lyskom-make-re-case-insensitive): Eliminate use of split-string since it doesn't exist in all Emacsen (and fails in XEmacs). 2000-11-29 David Byers * Release av 0.46.1-BETA-3 2000-11-27 Joel Rosdahl * debian/control (Depends): Saner dependency default. 2000-11-23 David Byers * filter.el (kom-super-jump): Check for empty subject by matching subject againts regexp, not regexp against subject (which would be plain wrong). 2000-11-19 Joel Rosdahl * vars.el.in (kom-dont-check-commented-authors): Added inherit property. 2000-11-19 Per Starbäck (commit by Per Cederqvist ) * buffers.el (lyskom-undisplay-buffer): Don't use window-list, since it takes different arguments under Emacs 21 and other emacsen. 2000-11-18 Joel Rosdahl * lyskom-elisp-client.spec: Changed file names in %install section. * commands1.el (kom-change-parenthesis): Handle multiple parentheses and paranthesis not located at the end. * vars.el.in (kom-server-aliases): kom.hem.liu.se instead of rydkom.rydnet.lysator.liu.se. * command.el (lyskom-read-extended-command): Revived the minibuffer completion code from 0.46-BETA-P. (lyskom-ok-command): Ditto. 2000-11-18 Per Starbäck (commit by Per Cederqvist ) * commands2.el (kom-status-person): Use mod instead of %, since floating point numbers can result from string-to-number in Emacs 21. 2000-10-05 David Byers * lyskom-rest.el (lyskom-sentinel): Use dead-ok argument to lyskom-start-of-command. * command.el (lyskom-start-of-command): Added dead-ok argument. 2000-09-22 David Byers * commands1.el (lyskom-go-to-empty-conf): Check lyskom-is-anonymous. 2000-10-01 Per Cederqvist * commands1.el (lyskom-make-re-case-insensitive): New function. (kom-list-re): Be case insensitive if a prefix arg is given. * vars.el.in (lyskom-char-classes): New variable. * utilities.el (lyskom-default-collate-table): Doc-string improved. Value fixed. (lyskom-compute-char-classes): New function. * startup.el (lyskom): Set lyskom-char-classes. * lyskom-rest.el: Set a default value for lyskom-char-classes. 2000-09-15 David Byers * command.el (lyskom-command-complete-word): Prevent multiple spaces at end of a word (you'd get them when you typed a full word and then a space). (lyskom-read-extended-command): Bind last-exact-completion for XEmacs compatibility. (last-exact-completion): New variable. 2000-09-14 David Byers * Release av 0.46.1-BETA-2 * english-strings.el: We tried to bind things in the *swedish* keymaps. Bad idea. Fixed. 2000-09-13 David Byers * english-strings.el: Bind C-c C-y in edit mode. Bind keys in lyskom-en-customize-map (used to say lyskom-sv-customize-map). 2000-09-14 Joel Rosdahl * vars.el.in: Proof-read variable descriptions. 2000-09-09 David Byers Fix problems with slow commands: * slow.el (lyskom-expand-slow-command): Return the command when there is an exact match. (kom-parse-command-and-execute): Use lyskom-expand-slow-command instead of kom-expand-slow-command. * Release av 0.46.1-BETA-1 * swedish-strings.el: Changed ".)" to ")." where appropriate. * english-strings.el: Changed ".)" to ")." where appropriate. * buffers.el (lyskom-buffer-kill-trim-hook): New function. Add call to lyskom-ignore to avoid warnings about unused variables. (kill-buffer-hook): Add lyskom-buffer-kill-trim-hook instead of anonymous lambda. Add to the global value since the local value of the hook is undefined at load time. Compatibility definition lyskom-read-from-minibuffer: * option-edit.el (lyskom-widget-string-action): Use lyskom-read-from-minibuffer. * filter.el (kom-filter-subject): Use lyskom-read-from-minibuffer. (kom-filter-text): Use lyskom-read-from-minibuffer. * filter-edit.el (lyskom-filter-edit-insert-pattern): Use lyskom-read-from-minibuffer. * edit-text.el (kom-edit-insert-text): Use lyskom-read-from-minibuffer. * commands2.el (kom-calculate): Use lyskom-read-from-minibuffer. (kom-set-personal-label): Same here. (kom-set-personal-label): Same here. * ansaphone.el (kom-change-auto-reply): Use lyskom-read-from-minibuffer. Start to fix command completion: * command.el (lyskom-read-extended-command): Roll our own completing-read by emulating the standard behavior. * compatibility.el (lyskom-read-from-minibuffer): New compatibility definition. * command.el (lyskom-completing-strip-command): Replace parens with empty string, not space. (lyskom-command-match-string-regexp): Allow initial space. 2000-09-05 David Byers * commands1.el (kom-change-priority): Bind kom-membership-default-priority to nil to force lyskom-try-add-member to ask. (kom-change-priority): Don't break when user is not a member of the conference. Useful error message when conference does not exist. 2000-09-03 David Byers * command.el (lyskom-update-command-completion): Save unicased version of string. (lyskom-complete-command): Fix updating of exact. 2000-09-05 Joel Rosdahl * distribution-README: Information about the Debian package. 2000-09-05 Joel Rosdahl * english-strings.el: Proof-read (to the best of my ability...). Removed misspelled key. * swedish-strings.el: Corrected spelling. Fixed inconsistency. Removed misspelled key. 2000-09-03 Ulrik Haugen * buffers.el (kill-buffer-hook): Moved the adding to kill-buffer-hook here and added a check for the major-mode; this should keep it from affecting all buffers. * english-strings.el (lyskom-custom-strings): Fixed a spelling error. 2000-09-02 Ulrik Haugen * startup.el (lyskom-mode): kill-buffer-hook runs the lyskom-trim-buffer-hook on the whole buffer. 2000-09-02 David Byers * Release av 0.46 2000-09-02 David Byers * Makefile (release-files): Build zip file too. * command.el (lyskom-command-match-string-regexp): New function. (lyskom-completing-strip-command): New function. (lyskom-complete-command): Record exact matches when iterating through alternatives. Fix lyskom-lookup to return the exact match, not just the first possible match. * distribution-Makefile (INFODIR): Changed to default location for Emacs installations. (LISPDIR): Same here. * slow.el (lyskom-expand-slow-command): Use lyskom-slow-list-completions to sort possible completions. (lyskom-slow-list-completions): New function. (kom-slow-list-completions): Use lyskom-slow-list-completions. * compatibility.el (char-before): New compatibility definition. * utilities.el (lyskom-maybe-frob-completion-table): Add third argument to lyskom-recode-string. * lyskom-buttons.el (lyskom-make-button-menu): Add third argument to lyskom-recode-string. 2000-09-01 David Byers * slow.el (kom-slow-click-or-yank): Fixed typo. * Release of 0.46-BETA-W 2000-09-01 David Byers Selective checking of commented author's membership: * edit-text.el (lyskom-edit-send-check-recipients): Use kom-dont-check-commented-authors. * vars.el.in (kom-dont-check-commented-authors): New variable. Better command completion: * command.el (lyskom-complete-command): Fix. We didn't handle check for exact match properly. Fix unibyte incompatibility. (lyskom-read-extended-command): Use lyskom-complete-command. (lyskom-ok-command): Work the elements from lyskom-command-alternatives. * vars.el.in (lyskom-command-alternatives): Made a minibuffer variable. (lyskom-is-administrator): Same here. * command.el (lyskom-ok-command): Rewrote to work with new completion thingy. Buttons and menus in slow mode: * slow.el (kom-expand-slow-command-or-next-link): New command. (kom-slow-click-or-yank): New command. (kom-slow-button-press): New command. (kom-slow-menu-button-press): New command. (kom-expand-slow-command-or-next-link): New command. (lyskom-slow-on-prompt-line): New function. 2000-08-31 David Byers * slow.el (kom-slow-start-of-line): Do the right thing when not on the last line of the buffer. 2000-08-31 Ulrik Haugen * lyskom-rest.el (lyskom-trim-buffer): Saves point and mark and resets point, mark and lyskom-last-viewed after taking into consideration lyskom-trim-buffer-delete-to. (lyskom-trim-buffer): Except point and mark don't need this treatment. Thu Aug 31 14:38:34 2000 David Byers * Release av 0.46-BETA-Q 2000-08-31 David Byers * option-edit.el (lyskom-customize-buffer-format): Moved lyskom-trim-buffer-minimum to a better position. * english-strings.el, swedish-strings.el: Fixed some minor rookie mistakes made by Ulrik. * completing-read.el (lyskom-completing-match-string-regexp): Moved to avoid compiler warnings and to make inlining work. (lyskom-completing-match-string): Ditto. * Makefile (SOURCES): Moved completing-read up to avoid warnings. 2000-08-30 David Byers * lyskom-rest.el (lyskom-update-prompt): Don't fsck up the command the user is currently entering at the prompt when in slow mode. * vars.el.in (lyskom-command-alternatives): New variable. * slow.el (kom-slow-list-completions): New command. * swedish-strings.el (lyskom-command): Renamed "Återstarta kom" so that "Återse" would be easier to complete when using slow commands. * language.el (lyskom-set-language): Call lyskom-update-command-completion. * lyskom-rest.el (lyskom-is-loaded): Set the default value of lyskom-collate-table so that lyskom-unicase works even before we connect to the server. * utilities.el (lyskom-unicase): Don't attempt to switch to lyskom buffer if there is none. * command.el (lyskom-update-command-completion): New function. (lyskom-lookup-command-by-name): New function. (lyskom-complete-command): New function. * completing-read.el (lyskom-completing-match-string-regexp): New function. (lyskom-completing-match-string): Use it. 2000-08-30 Ulrik Haugen * swedish-strings.el, english-strings.el (lyskom-custom-strings) (lyskom-custom-strings): Added lyskom-trim-buffer-minimum. * vars.el.in (kom-trim-buffer-minimum): Added this variable. * option-edit.el (lyskom-customize-buffer-format) (lyskom-custom-variables): Added lyskom-trim-buffer-minimum. * lyskom-rest.el (lyskom-trim-buffer): lyskom-trim-buffer-hook is only run when there's kom-trim-buffer-minumum bytes or more to remove. 2000-08-30 David Byers * utilities.el (lyskom-maybe-frob-completion-table): Added missing table argument. 2000-08-29 Joel Rosdahl * Makefile (debian-build): Use new Makefile target. * debian/rules (binary-indep): Use new Makefile target. 2000-08-29 David Byers * Release av 0.46-BETA-P 2000-08-29 David Byers * check-strings.el: Support strings and user variables declared as missing to eliminate spurious warnings. Support expected ending mismatches. * language.el (lyskom-language-missing-string-internal): New function. (lyskom-language-missing-string): New macro. * startup.el (kom-start-anew): Print e-mail address for server admin if user does not enter the correct password. 2000-08-29 David Byers Correct multibytedness of buffer names: * buffers.el (lyskom-recode-buffer-name): New function. (lyskom-generate-new-buffer): Use it instead of lyskom-maybe-recode-string. (lyskom-get-buffer-create): Same here. 2000-08-29 David Byers * edit-text.el (lyskom-edit-add-recipient/copy): Obey kom-confirm-add-recipients. Fix question whether to add cc-recipient: * commands1.el (lyskom-add-helper): Inline check for cc-recipient. Removed call to lyskom-last-added-rcpt. (lyskom-verify-add-recipient): Removed. * vars.el.in (kom-confirm-add-recipients): New variable. (lyskom-add-recipient-hook): Removed. Fix defaults for sub and move recipients: * commands1.el (kom-sub-recipient): Use lyskom-last-sub-recipient if it is one of the recipients. If a default recipient does not exist, try the next. (lyskom-default-recpt-for-sub): New function. (kom-sub-recipient): Use lyskom-default-recpt-for-sub. * vars.el.in (lyskom-last-added-rcpt): Made local. (lyskom-last-added-ccrcpt): Ditto. (lyskom-last-added-bccrcpt): Ditto. (lyskom-last-sub-rcpt): New variable. Bugfix for status session: * commands1.el (lyskom-deferred-client-1): Work even when defer-info data is just the session number. (lyskom-deferred-client-2): Handle case when there is no collector. 2000-08-28 David Byers Make nearly all hooks local: * vars.el.in (kom-quit-hook): Declare as server-hook. (lyskom-view-text-hook): Declare as local-hook. (lyskom-send-message-hook): Ditto. (lyskom-login-hook): Ditto. (lyskom-change-conf-hook): Ditto. (lyskom-send-text-hook): Ditto. (lyskom-send-message-exit-hook): Ditto. (lyskom-personal-message-hook): Ditto. Summary statistics at end of list: * commands1.el (lyskom-list-clients-statistics-2): New function. (lyskom-list-clients-statistics-1): New function. (lyskom-list-clients-collect): New function. (lyskom-deferred-client-2): Collect client statistics. (kom-list-clients): Collect client statistics. Print client statistics. Improve FAQ handling: * vars.el.in (lyskom-commands): Added kom-change-conf-faq. * commands1.el (lyskom-change-conf-faq-2): New function. (lyskom-change-conf-faq): New function. (kom-change-conf-faq): New command. * commands2.el (kom-del-faq): If there is only one FAQ, assume that is the one to delete. Fri Aug 25 22:12:16 2000 David Byers Correct definition of mday in lyskom-client-date: * async.el (lyskom-format-as-personal-message): Assume correct value of mday. * utilities.el (lyskom-client-date): Correct setting of mday. 2000-08-23 David Byers * talkback.el (lyskom-insert-bug-report): Added command-line-args to output. 2000-08-23 David Byers * Release of 0.46-BETA-O 2000-08-23 David Byers * commands2.el (lyskom-stop-keep-alive): Use disable-timeout for XEmacs 20.4 compatibility. (lyskom-keep-alive): Use add-timeout for XEmacs 20.4 compatibility. Get rid of compiler warnings: * utilities.el (functionp): Use lyskom-compiled-function-p, not byte-code-function-p to eliminate a warning. (lyskom-compiled-function-p): Define depending on Emacs version to avoid using function marked as obsolete in XEmacs but not in Emacs and vice versa (compiled-function-p vs byte-code-function-p). * lyskom-buttons.el (kom-mouse-null): Added call to identity to get rid of compiler warning in Gnu Emacs 20.2. * lyskom-rest.el (lyskom-is-loaded): defvar frame-icon-title-format to avoid compiler warnings. * compatibility.el (strikethrough): Define face strikethrough here. The type of definition is set at compile time. * utilities.el (lyskom-setup-faces): Move creation of face strikethrough to compatibility.el. 2000-08-22 David Byers Get rid of compiler warnings: * compatibility.el (lyskom-encode-coding-char): Test emacs version at compile time to get rid of some warnings. Downside is that we need to run in the same version (more or less) that we compiled in. Get completing-read to work in unibyte MULE emacsen: * startup.el (lyskom-read-server-name): Use lyskom-completing-read. * remote-control.el (kom-remote-autoreply): Use lyskom-completing-read. * lyskom-buttons.el (lyskom-keyboard-menu): Use lyskom-completing-read. Recove completion table as necessary. * filter.el (lyskom-filter-read-action): Use lyskom-completing-read. * filter-edit.el (lyskom-filter-edit-insert-entry): Use lyskom-completing-read. (lyskom-filter-edit-insert-pattern): Use lyskom-completing-read. * edit-text.el (kom-edit-add-cross-reference): Use lyskom-completing-read. * completing-read.el (lyskom-read-session-resolve-ambiguity): Use lyskom-completing-read. * command.el (lyskom-read-extended-command): Use lyskom-completing-read. * commands2.el (kom-change-language): Use lyskom-completing-read. (kom-del-faq): Use lyskom-completing-read. * utilities.el (lyskom-default-collate-table): Rewrote the string so it can be safely encoded in iso-8859-1 so that Gnu Emacs will not attempt to save it in emacs-mule encoding, which would fuck it up completely. * startup.el (lyskom-read-server-name): Recode completion table as necessary. * remote-control.el (kom-remote-autoreply): Recode completion table as necessary. * commands2.el (kom-del-faq): Recode completion table as necessary. * completing-read.el (lyskom-read-session-resolve-ambiguity): Recode completion table as necessary. * filter-edit.el (lyskom-filter-edit-insert-entry): Recode completion tables as necessary. (lyskom-filter-read-action): Recode completion table as necessary. * commands2.el (kom-change-language): Recode completion table as necessary. * command.el (lyskom-read-extended-command): Recode completion table as necessary. * utilities.el (lyskom-maybe-frob-completion-table): New function to recode completion tables for completing-read according to the state of enable-multibyte-characters. 2000-08-22 David Byers * completing-read.el (lyskom-completing-match-string): Quote string to be used as regexp. * commands1.el (kom-list-created-conferences): Re-signal caught quit signal. 2000-08-21 David Byers * buffers.el (lyskom-traverse-buffer-hierarchy): Test liveness of current buffer, not root buffer (doh!). 2000-08-21 David Byers * Release av 0.46-BETA-N 2000-08-21 David Byers * Reworked some MULE details. Hopefully things will work better in unibyte mode now. * lyskom-buttons.el (lyskom-make-button-menu): Use lyskom-maybe-recode-string, not encode-coding-string. * vars.el.in (lyskom-mule-compiled): Redefined to catch multibyte strings in multibyte-capable but disabled Emacsen (i.e. all Gnu Emacs). * compatibility.el: Never set coding system of server process to raw-text. * buffers.el (lyskom-fix-buffer-name): Removed. * utilities.el (lyskom-maybe-recode-string): Test agains multibyte-string-p not enable-multibyte-characters since we may have multibyte strings in a unibyte environment. * vars.el.in (lyskom-button-actions): Fixed typo. (lyskom-text-buttons): Fixed email regexp to combat very slow matching of long words. 2000-08-17 David Byers Reimplement kom-bug-report: * talkback.el: New file. (kom-bug-report): I'm baaaack! Misc fixes: * swedish-strings.el (lyskom-command): Lista organisatörsskap changed to Lista ägda möten. (lyskom-custom-strings): Fixed typo. * commands1.el (kom-list-created-conferences): Ugly hack to fix cursor positioning problem. Something is badly broken here. * lyskom-rest.el (lyskom-is-loaded): Encode frame title string to latin1. * vars.el.in (lyskom-mule-compiled): New variable. * commands2.el (kom-who-am-i): Print MULE indicator for Emacs and client. 2000-08-16 Kent Engström * Makefile, lyskom-elisp-client.spec: Support for building RPMS. 2000-08-16 David Byers * commands1.el (lyskom-list-created-conferences-2): sit-for to update display. Superconf flag is only shown if the conference does not accept comments. (kom-list-created-conferences): Print header for the list. Wed Aug 16 16:55:56 2000 David Byers * Release av 0.46-BETA-M 2000-08-16 David Byers * commands1.el (lyskom-list-created-conferences-2): Show if conference is secret or protected. * swedish-strings.el (lyskom-message): Skyddat->Hemligt. * commands1.el (kom-add-recipient): Rewrote. (kom-add-copy): Rewrote. (kom-add-bcc): Rewrote. (lyskom-verify-add-recipient): Rewrote. (lyskom-add-helper): New function. (kom-sub-recipient): Rewrote. Only allow completion of actual recipients. (kom-move-text): Rewrote. Only complete actual recipients. (lyskom-move-recipient): New function replaces lyskom-add-sub-recipients. Better error messages. * vars.el.in (lyskom-add-recipient-hook): New variable. (lyskom-add-sub-recipients-hook): Removed. * completing-read.el (lyskom-read-conf-internal-verify-type): Added restrict predicate. (lyskom-read-conf-internal): Changed x-list to candidate-list since x-list is probably not the right thing to look at. Implement more efficient matching if the restrict predicate is used. Get persons or conferences only as needed according to the predicate. (lyskom-completing-lookup-z-name): want-pers and want-conf were swapped in call to lookup-z-name (and it didn't matter since we always called it with both set to 1). * utilities.el (lyskom-text-recipients): New function. 2000-08-15 David Byers * async.el (lyskom-is-in-minibuffer): Check cursor-in-echo-area. * lyskom-rest.el (j-or-n-p): Inhibit minibuffer messages. * commands2.el (kom-set-unread): Immediately go to lyskom-current-conf if that is the conf being changed. * prefetch.el (lyskom-fetch-start-of-map): Fix off-by-one error in map fetching. * commands2.el (kom-set-unread): Use lyskom-fetch-start-of-map to block until we see a text in the map of the conference we are setting unread in. * commands1.el (lyskom-add-member-answer): Block until we get at least one text in the map or have read the entire map. (lyskom-add-membership): Add parameter BLOCKING to allow blocking until we have read at least one text in the map. * prefetch.el (lyskom-fetch-start-of-map): New function. * lyskom-rest.el (lyskom-check-go-to-conf): Start prefetch when converting passive membership to active membership. 2000-08-14 David Byers * services.el (lyskom-server-call): Return the ref-no of the call just made. * commands1.el (kom-list-created-conferences): Attempt to cancel calls still in the pipe before quitting. * services.el (lyskom-cancel-call): New function. * clienttypes.el (lyskom-queue-set-data): New function. * compatibility.el (nil): Set lyskom-server-coding-system according to the value of enable-multibyte-characters in Gnu Emacs to make stuff work better in multibyte-disabled Gnu Emacsen. * commands1.el (kom-list-conferences): Wait for membership to be read. (kom-list-created-conferences): Wait for membership to be read. (lyskom-list-conf-membership-char): New function to print membership char in name lists. (lyskom-list-created-conferences-2): Use it. (lyskom-list-conf-print): Use it. (kom-list-created-conferences): Make it possible to quit with C-g. Fri Aug 11 17:34:39 2000 David Byers * Release av 0.46-BETA-L 2000-08-11 David Byers * 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): New 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 * commands1.el (kom-list-created-conferences): New command. (lyskom-list-created-conferences-2): New function. Kill da bottlenecks: * parse.el (lyskom-parse-raw-string): Get rid of call to lyskom-string-to-parse. Improve list names: * commands1.el (kom-list-conferences): Use lookup-z-name instead of lookup-name. (lyskom-list-conf-print): Show passive memberships as "-" in the result list. Use conf-z-infos instead of conf-nos. Better error messages. (kom-list-re): Send conf-z-infos to lyskom-format to speed things up a bit. Better error messages. (kom-list-persons): Use lookup-z-name instead of lookup-name. Better error messages. (lyskom-list-pers-print): Use conf-z-infos instead of conf-nos to speed things up a bit. * lyskom-rest.el (lyskom-format-aux-help): Allow conf-z-info as argument to lyskom-format letters M, P, m, p. (lyskom-current-error): New function. Cleanup of easy TODO items: * aux-items.el (lyskom-print-creating-software): Print creating software when current command is kom-review-noconversion. Fix review many to conferences with few texts: * review.el (lyskom-get-letters-to): Protect nthcdr from negative arguments. (lyskom-get-texts-by-and-to): Ditto. (lyskom-get-texts-by-generic): Ditto. (lyskom-get-texts-to): Ditto. Fix kom-super-jump on empty subject: * filter.el (kom-super-jump): Protect empty subject with ^$. 2000-08-01 David Byers Menus were sometimes very wide: * lyskom-buttons.el (lyskom-make-button-menu): Truncate menu title to 43 characters. 2000-07-30 Johan Sundström * lyskom-rest.el (lyskom-trim-buffer): Point no longer flickers when trimming the buffer. (lyskom-trim-buffer-hook): New hook; run before the trimming. (lyskom-trim-buffer-delete-to): New variable; how far the buffer will be trimmed, useful in lyskom-trim-buffer-hook functions. (lyskom-garb-lyskom-buffer-to-file): Fairly ugly hack for flowing the trimmed portion of the lyskom buffer into a file. Ought to use some configurable variable for the filename. * commands2.el (kom-next-unread-kom): More info, as suggested by Hans Persson. Tells whether there are any other sessions whatsoever when there are no other sessions with unread texts. 2000-07-28 Johan Sundström * utilities.el (lyskom-read-text-no-prefix-arg): Policy change; prefix argument zero means text under point. Empty (C-u) prefix argument now prompts for a text number. This influence compliments of Ulrik Haugen. :-) Fri Jul 28 14:15:12 2000 David Byers * Release av 0.46-BETA-K 2000-07-28 David Byers * vars.el.in (lyskom-prefetch-conf-tresh): Not really a user variable. Don't save in server. (lyskom-prefetch-confs): Not really a user variable. Don't save in server. (lyskom-fetch-map-nos): Not really a user variable. Don't save in server. * completing-read.el (lyskom-read-conf-lookup-specials): Return conf-z-info, not uconf-stat. 2000-07-27 David Byers * lyskom-buttons.el: Go to point-max in relevant button actions. 2000-07-25 David Byers * lyskom-buttons.el (lyskom-keyboard-menu): Couldn't handle symbols for menu items in lyskom-button-actions. Fixed. 2000-07-17 David Byers * vars.el.in (lyskom-add-sub-recipients-hook): Renamed function specified in default hook. (lyskom-add-sub-recipients-hook): Made local-hook. * lyskom-buttons.el (lyskom-button-open-url): Don't go to end of buffer when viewing an URL. 2000-07-05 David Byers * vars.el.in (lyskom-button-actions): Moved definition of lyskom-button-actions here. Removed all constant strings. Fixed the title string symbols. * english-strings.el (lyskom-message): Added lyskom-button-action strings. * swedish-strings.el (lyskom-message): Added lyskom-button-action strings. 2000-07-03 David Byers * swedish-strings.el (lyskom-button-actions): Added button type func. * vars.el.in (lyskom-text-buttons): Fixed problem with info-node regexp: it had the space after the colon in the nodename and did not allow stuff like ``(file.info)nodename''. 2000-06-13 David Byers * lyskom-rest.el (forward-text): Go to point-max if after the last text. (backward-text): Go to point-min if before the first text. * utilities.el (lyskom-next-area): Added parameter goto-point-max. (lyskom-prev-area): Added parameter goto-point-min. 2000-06-06 David Byers * vars.el.in (kom-ispell-dictionary): Make inherited. Prefetch messes up attachment display: * prefetch.el (lyskom-prefetch-text-stat-all): New function. * view-text.el (lyskom-skip-attachments): Mark skipped attachments as read. Check for bad calls to zerop: * review.el (lyskom-review-by-to): Protect zerop check on lyskom-current-conf by checking if it is nil first. * commands2.el (kom-set-unread): Protect zerop check on lyskom-current-conf by checking if it is nil first. * commands1.el (kom-sub-self): Protect zerop check on lyskom-current-conf by checking if it is nil first. (kom-write-text): Same here. * async.el (lyskom-parse-async): Cleanup not->null. 2000-06-14 Joel Rosdahl * review.el (lyskom-review-comments): Review texts in correct order. 2000-06-11 Johan Sundström * commands2.el (kom-is-person-member-of-conference): Replaced redundant check code with a call to lyskom-is-member. 2000-06-11 Joel Rosdahl * swedish-strings.el: Spelling updates. 2000-06-11 Johan Sundström * utilities.el (lyskom-read-text-no-prefix-arg): A zero prefix argument now means "always ask for the argument" -- just as it said it did in the NEWS file! Good idea; let's implement it! :-) 2000-06-11 Joel Rosdahl * view-text.el (lyskom-follow-comments): Documentation update. Only review texts that can be read. * review.el (lyskom-review-comments): Only review texts that can be read. 2000-06-10 Johan Sundström * vars.el.in (lyskom-add-sub-recipients-hook): New hook. * commands1.el (lyskom-add-recipient): New macro. (kom-add-recipient): Standard prefix-arguments. Uses above macro. (lyskom-sub-recipient): New macro. (kom-sub-recipient): Standard prefix-arguments. Uses above macro. (lyskom-add-copy): New macro. (kom-add-copy): Standard prefix-arguments. Uses above macro. (lyskom-add-bcc): New macro. (kom-add-bcc): Standard prefix-arguments. Uses above macro. (kom-move-text): Standard prefix-arguments. (lyskom-annoying-verify-add-rcpt): New function. (lyskom-add-sub-recipient): Arguments changed. Runs the hook lyskom-add-sub-recipients-hook, which may alter the new variables lyskom-add-sub-recipient-action, lyskom-add-sub-recipient-source-conf and/or lyskom-add-sub-recipient-target-conf. 2000-06-06 Joel Rosdahl * commands1.el (lyskom-comment-recipients): Don't send footnotes to the super conference of a original-type conference. * commands1.el (lyskom-comment-recipients): Fixed a bug that sometimes prevented the author's mailbox from being added as recipient when it should. 2000-06-05 David Byers * utilities.el (lyskom-read-text-no-prefix-arg): Don't use zerop on something that might be a symbol * review.el (kom-review-comments): Fixed nesting error that caused this command not to work at all. 2000-06-04 David Byers Experimantal special handling of attachments: * view-text.el (lyskom-insert-deferred-header-comm): Use lyskom-get-text-attachments. (lyskom-follow-comments): Same here. (lyskom-insert-deferred-header-comm): Same here. (lyskom-insert-header-comm): Same here. (lyskom-skip-attachments): New function. (lyskom-get-text-attachments): New function. (lyskom-follow-comments): Skip and mark attachments as read (if requested). 2000-06-04 Per Cederqvist * edit-text.el (lyskom-edit-send-check-recipients): The code that checks if all the authors of all the commented texts are a member in at least one of the recipients only worked if there was at most one author. Fix. 2000-06-02 David Byers * view-text.el (lyskom-follow-comments): Don't follow attachments unless kom-follow-attachments is set. * vars.el.in (kom-follow-attachments): New variable. * view-text.el (lyskom-view-text): Removed SOJGE code. (lyskom-follow-comments): Removed SOJGE code. Get mx-attachments from text. (lyskom-view-text-handle-saved-comments): Removed SOJGE code. * vars.el.in (kom-w3-simplify-body): Removed SOJGE code (kom-no-comments-to-motd, lyskom-show-comments) * startup.el (kom-start-anew): Removed SOJGE code. * lyskom-rest.el (kom-save-text): Use lyskom-saved-file to save the most recently specified file name. * lyskom-buttons.el (lyskom-button-save-text): New function. * lyskom-rest.el (kom-save-text): Accept list of texts to save as argument. * swedish-strings.el: Lade till arkivera i kontextmenyn för inläggsnummer. * vars.el.in (kom-saved-file-name): New variable replaces lyskom-saved-file. * lyskom-rest.el (kom-save-text): Put the default file in the minibuffer. Do not display the default file in the prompt. More informative prompt (show number of texts if saving many or text number if saving one). Expand file name. * review.el (kom-find-root): Better error message. (kom-find-root-review): Better error message. * commands2.el (kom-add-request-confirm): Better error messages. (kom-review-mail-headers): Better error message. * lyskom-rest.el (kom-save-text-body): Better error message. * commands2.el (kom-add-private-answer): Better error message. * commands1.el (lyskom-add-sub-comment): Handle failure to read text-no. (lyskom-add-sub-footnote): Handle failure to read text-no. (lyskom-add-sub-recipient): Same here. (kom-mark-text): Better error message. (kom-unmark-text): Same here. * review.el (kom-review-noconversion): Better error message. Handle failure to read text-no. * lyskom-rest.el (kom-view): Better error message. Handle failure to read text-no. * commands1.el (kom-delete-text): Better error message. Handle failure to read text-no. * utilities.el (lyskom-read-text-no-prefix-arg): Zero default is the same as no default. Prompt for text number if there is no default. Unify reading of text numbers: * commands2.el (kom-add-no-comments): Changed default text number. (kom-agree): Argument is not optional. * lyskom-rest.el (kom-save-text-body): Handle null text-no. * commands1.el (kom-view-commented-text): Argument is not optional. (kom-review-presentation): Use def-kom-command. (kom-comment-previous): Use lyskom-read-text-no-prefix-arg. (kom-write-footnote): Argument is not optional. Don't force prompt for text. (kom-private-answer-previous): Use lyskom-read-text-no-prefix-arg. * review.el (kom-review-noconversion): Use def-kom-command. (kom-review-tree): Use lyskom-read-text-no-prefix-arg. (kom-find-root): Use lyskom-read-text-no-prefix-arg. (kom-find-root-review): Use lyskom-read-text-no-prefix-arg. (kom-review-comments): Use lyskom-read-text-no-prefix-arg. * lyskom-rest.el (kom-view): Use lyskom-read-text-no-prefix-arg. * commands1.el (lyskom-add-sub-footnote): Use lyskom-read-text-no-prefix-arg. (lyskom-add-sub-comment): Use lyskom-read-text-no-prefix-arg. * utilities.el (lyskom-read-text-no-prefix-arg): Check kom-prompt-for-text-no. * commands1.el (lyskom-add-sub-recipient): Use lyskom-read-text-no-prefix-arg. * vars.el.in (kom-prompt-for-text-no): New variable. * commands1.el (kom-delete-text): Use lyskom-read-text-no-prefix-arg. 2000-05-31 David Byers * Release av 0.46-BETA-J 2000-05-31 David Byers * edit-text.el (kom-edit-insert-commented): Don't use 62 instead of ">" or ?>. Please. (kom-edit-insert-commented): Don't send the default prefix to lyskom-edit-insert-commented. nil now means default. (lyskom-edit-insert-commented): Prefix nil means use default prefix. New calling conventions for lyskom-view-text-hook * view-text.el (lyskom-filter-signature-hook): Use lyskom-view-text-text and lyskom-view-text-text-stat * vars.el.in (lyskom-view-text-hook): Fixed docstring. * view-text.el (lyskom-view-text): Set lyskom-view-text-text and lyskom-view-text-text-stat. Scrolling problems * mship-edit.el (lp--scroll-advice): Fixed bug that caused most of the code to run in any buffer. 2000-05-30 David Byers * command.el (lyskom-fix-interactive-decl): Bind lyskom-current-command, not lyskom-executing-command. 2000-05-30 Johan Sundström * view-text.el (lyskom-filter-signature-hook): New function. Would probably be nice to add as a configuration option too, instead of being just hookable. :-] (lyskom-text-is-mail-p): New ad-hoc support function. * swedish-strings.el, english-strings.el (lyskom-message): Added the string reformat-signature. 2000-05-29 David Byers * lyskom-rest.el (lyskom-is-loaded): Don't bind frame-icon-title-format or frame-title-format unless they already exist. * commands2.el (lyskom-iter-list-news): Added at-least and at-most arguments. Renamed all variables referenced in the calleing environment to lyskom-iter-list-news-*. (kom-list-news): Same here. * command.el (def-kom-emacs-command): Moved paren that caused commands never to be run as Emacs commands. (def-kom-emacs-command): Removed pointless concat. 2000-05-29 Johan Sundström * view-text.el (lyskom-view-text): Marks now show themselves, always. Perhaps ought not to when kom-default-mark is set, and this really ought to be done as a %m or something flag to lyskom-format with context menus to change or remove a mark, but that will have to wait for the time being. * swedish-strings.el, english-strings.el (lyskom-message): Altered the strings marked-by-you and marked-by-you-and-others somewhat. 2000-05-28 Johan Sundström * commands2.el (kom-list-news): Rehacked from scratch. Now complies to present-day (..., present-time! Moah-ha-ha! :-) elisp-client coding standards. Also generally faster now. (lyskom-list-news): New function. (lyskom-iter-list-news): [New] support function to kom-list-news. * english-strings.el (lyskom-message): Fixed what looked like a bug in total-unreads. * swedish-strings.el, english-strings.el (lyskom-message): Added the strings shown-unreads and no-unreads-shown. 2000-05-28 Johan Sundström * edit-text.el (kom-edit-insert-commented): Edit-mode ^C^Y may now be preceded with ^U to insert the text totally unchanged, that is, without prefixing its rows with anything at all. (lyskom-edit-get-commented): Now takes an optional additional argument list sent to the callback. (lyskom-edit-insert-commented): Now takes an optional additional parameter `prefix' that is prepended to each line. Unfortunately I had to add a kludge to stay compatible with kom-edit-insert-text, which seems to be doing some black magic. These functions really ought to be changed to use a lyskom-edit-insert-text function. 2000-05-27 Johan Sundström * commands2.el (kom-list-news): Fixed introduced bug. Works without arguments again. 2000-05-27 Johan Sundström * commands2.el (kom-list-news): Now understands negative numeric arguments as signifying "list conferences with at most |argument| and at least one unread message in them". A prefix argument of zero still lists all conferences. * swedish-strings.el, english-strings.el (lyskom-message): Added the string list-unread-with-at-most-n-unread. 2000-05-26 David Byers Unread marker in title bar * vars.el.in (kom-show-unread-in-frame-title): New variable. * lyskom-rest.el (lyskom-is-loaded): Set lyskom-unread-title-format, frame-title-format and frame-icon-title-format. (lyskom-unread-title-format): New variable. * buffers.el (lyskom-traverse-buffer-hierarchy): New function. (lyskom-remove-unread-buffer): Clear flags in the buffer saying that the buffer has unreads. (lyskom-add-unread-buffer): Set flags in the buffer saying that the buffer has unreads. * commands1.el (lyskom-quit): Use lyskom-remove-unread-buffer. Bind lyskom-executing-command in interactive forms * command.el (lyskom-fix-interactive-decl): New function puts a let around evaluated arguments to interactive that binds lyskom-executing-command to the current command. (def-kom-command): Use it. (def-kom-emacs-command): Use it. (def-kom-command): Sanity check and attempt repair when missing docstring or interactive declaration. (def-kom-emacs-command): Same here. 2000-05-24 David Byers * utilities.el (lyskom-default-collate-table): Removed \201s added by MULE Emacs. ¡ELUM ckuF * compatibility.el (lyskom-encode-coding-char): New set of compatibility definitions for Gnu Emacs. * utilities.el (lyskom-unicase): Don't use aset on a string. Make a vector from the string, use aset and make a string from the vector. (string-to-sequence): Stole from Gnu Emacs mule-utils. (string-to-vector): Also stolen. 2000-05-23 David Byers * compatibility.el: Detect buggy versions of encode-coding-string and decode-coding-string and provide a correcting wrapper. * lyskom-rest.el (lyskom-w3-region): Remove compiler warning about unreferenced variable. (lyskom-do-insert): Same here. * flags.el (lyskom-save-options): Remove compiler warning about unreferenced variable. * utilities.el (lyskom-unicase-char): Use lyskom-encode-coding-char. * compatibility.el (lyskom-encode-coding-char): New function/macro. * async.el (lyskom-show-logged-in-person): Print server name, not KOM if the server is not in kom-server-aliases. (lyskom-show-logged-out-person): Same here. * commands1.el (lyskom-info-line-format-string): Compute field widths correctly, even for very wide windows. 2000-05-22 David Byers * completing-read.el (lyskom-complete-string): Construct the final string by using concat rather than filling the chars of a vector by hand. The losing MULE implementation will fail if you say something like (aset string 0 ?å) because å is multibyte and aset will only set one *byte*. 2000-05-19 David Byers * startup.el (lyskom): Get the collate table from the server. Note: thie needs to be protected so it isn't called on servers that don't have the call! * utilities.el (lyskom-unicase-char): Encode the char using server default coding system. Otherwise this will not work with multibyte latin1 chars in Gnu Emacs. ELUM wercS. 2000-05-19 David Byers * vars.el.in: Reinstated changes lost between 44.98 and 44.99. * commands1.el (kom-write-footnote): Reinstated changes lost between 44.66 and 44.67. * commands2.el (kom-add-faq): Reinstated changes lost between 44.63 and 44.64. 2000-05-15 David Byers * commands2.el (lyskom-send-message-resize-minibuffer): New implementation. 2000-05-19 Johan Sundström * commands2.el (kom-is-person-member-of-conference): New function. * vars.el.in (lyskom-commands): New function. [Added kom-is-person-member-of-conference] * swedish-strings.el, english-strings.el (lyskom-message): Added the strings pers-to-check-mship-for, conf-to-check-mship-of, conf-is-empty, pers-is-member-of-conf and pers-is-not-member-of-conf to provide for the needs of kom-is-person-member-of-conference. (lyskom-command): kom-is-person-member-of-conference added. * commands1.el (kom-view-commented-text): Removed code already covered by lyskom-read-text-no-prefix-arg. (kom-unmark-text, kom-mark-text): Harmonized to use lyskom-read-text-no-prefix-arg, as should IMO all interactive message-handling functions. (lyskom-unmark-text): Now take just one argument, not two. Fully non-interactive, since questions are posed in kom-unmark-text. (lyskom-mark-text): Second argument changed to an optional mark to use, other changes analogous to the above function. * lyskom-buttons.el (lyskom-button-mark-text, lyskom-button-unmark-text): Function calls to the above altered. 2000-05-04 David Byers * utilities.el (lyskom-read-text-no-prefix-arg): Added default parameter. * commands2.el (kom-add-faq): Default text is the most recently seen text the user wrote, or the most recently written one. * commands1.el (kom-write-footnote): Default text is the most recently seen text the user wrote, or the most recently written one. * view-text.el (lyskom-print-text): Update lyskom-last-seen-written. * commands2.el (kom-add-faq): Use lyskom-read-text-no-prefix-arg. * vars.el.in (lyskom-last-seen-written): New variable. Thu May 4 15:05:51 2000 David Byers * Release av 0.46-BETA-I 2000-05-04 David Byers * edit-text.el (lyskom-edit-insert-buglist): Use our copy of thing-at-point-looking-at instead of the one in thingatpt. * utilities.el (lyskom-thing-at-point-looking-at): Copied from thing-at-point-looking-at in thingatpt.el * english-strings.el (lyskom-en-edit-mode-map): Added binding for kom-edit-insert-buglist. 2000-05-01 David Byers * async.el (lyskom-parse-async): Expanded comment for async-deleted-recipient. 2000-05-01 Johan Sundström * edit-text.el (lyskom-edit-insert-buglist): Bugfixed, somewhat improved regarding the matcher regexps, but most of all commented -- it still uses thing-at-point-looking-at for no good reason, though. 2000-04-29 Johan Sundström * utilities.el (lyskom-read-text-no-prefix-arg): Minor code cleanup and more error handling. * edit-text.el (kom-edit-insert-buglist): New command in the edit window for inserting a commented Roxen IS style bug/todo-list. (lyskom-edit-insert-buglist): Implements the lower-level parts of the above. Relies on the availability of thing-at-point-looking-at from lack of better knowledge of elisp. :-} * swedish-strings.el (lyskom-sv-edit-mode-map): Added binding for kom-edit-insert-buglist; C-c C-b for now. (lyskom-menu): Added menu shortcut for kom-edit-insert-buglist. * utilities.el: (lyskom-read-text-no-prefix-arg): Negative prefix arguments are now interpreted as a reference to the text-no `arg' messages up in the kom buffer. * commands1.el (kom-view-commented-text): Now uses lyskom-read-text-no-prefix-arg to optionally override text-no via prefix arguments instead of the current text. * review.el (kom-review-noconversion): Same here. * swedish-strings.el (lyskom-message): Added strings review-noconversion-q and review-commented-q to accomodate for the above functions. 2000-04-01 David Byers * mship-edit.el (lp--calculate-distance): Fix problem when stepping backwards too far. (lp--next-entry): Handle invisible entries. (lp--previous-entry): Same here. (lp--last-entry): Handle case when all entries are invisible. (lp--first-entry): Same here. (lp--scroll-advice): Same here. 2000-03-29 David Byers * commands2.el (kom-review-mail-headers): Never wrap e-mail headers. 2000-03-27 David Byers * utilities.el (nfirst): Non-recursive implementation to avoid hitting max-eval-depth when reviewing old texts. 2000-03-26 David Byers * vars.el.in (kom-morons): New variable. (lyskom-faces): Added kom-morons-face. (lyskom-face-schemes): Added kom-korons-face. * vars.el (kom-presence-messages): Document use of morons. * option-edit.el (lyskom-customize-buffer-format): Added kom-korons. (lyskom-custom-variables): Added kom-morons. * lyskom-buttons.el (lyskom-generate-button): Added support for kom-morons. * english-strings.el (lyskom-custom-strings): Added strings for kom-morons. * async.el (lyskom-show-presence): Added support for kom-morons. 2000-03-22 David Byers * compatibility.el (signum): New compatibility function. * mship-edit.el: Support for hidden entries in motion and entry movement commands. (lp--next-visible-entry): New function. (lp--get-last-visible-entry): Renamed from lp--get-last-entry. 2000-03-21 David Byers * mship-edit.el (lp--do-select-entries): Never select invisible entries. (lp--entry-set-visible): New function. (lp--redraw-entry): Don't draw invisible entries. (lp--move-up): Use lp--calculate-distance to take invisible elements into account. * compatibility.el (lyskom-make-face): New function. (find-face): New compatibility function. (face-background-name): New compatibility function. * macros.el: Removed lyskom-make-face. * mship-edit.el (lp--entry-set-background): New function. (lp--entry-update-extents): New function. (lp--format-entry): Set background according to selected status. (lp--redraw-entry-mark): Same here. (lp--print-entry): Update entry extents when done. (lp--erase-entry): Same here. * lyskom-rest.el (kom-next-command): Set the priority of the scroll indicator extent to something high so it overrides whatever is already on that line. 2000-03-16 David Byers * mship-edit.el: Renamed set-lp--entry-pri-and-pos to lp--set-entry-pri-and-pos. (lyskom-change-membership-priority): Don't lyskom-sort-to-do-list since lyskom-sort-membership will. (lyskom-change-membership-position): Don't lyskom-sort-to-do-list since lyskom-update-membership-positions will. (lp--update-membership): Don't update position or priority unless necessary. (lp--quit): New command. 2000-03-15 David Byers * option-edit.el (lyskom-create-widget): Use `-' and not `!' in help button when documentation is visible. (lyskom-customize-buffer-format): Added kom-keep-alive-interval. (lyskom-custom-variables): Ditto. * command.el (lyskom-start-of-command): Print special message if called in something that does not look like it has ever been a LysKOM buffer. * commands2.el (lyskom-keep-alive-timers): New variable. (lyskom-keep-alive-callback): New function. (kom-keep-alive): New command. (lyskom-keep-alive): New function. (kom-stop-keep-alive): New command. (lyskom-stop-keep-alive): New function. * vars.el.in (kom-keep-alive-interval): New variable. * lyskom-rest.el (lyskom-debug-insert): Fixed bug that caused debug output to be inserted in LysKOM buffer (took five seconds to do, has been put off for *years*). * Release av 0.46-BETA-H * view-text.el (lyskom-format-mx-author): Make mx-from clickable. * lyskom-buttons.el (lyskom-default-button): URLs and e-mail get kom-url-face. * commands2.el (kom-review-mail-headers): Transform text headers as an external text. * lyskom-buttons.el (lyskom-button-transform-text): Don't add text, conf or pers buttons when transforming an external text. 2000-03-11 David Byers * menus.el (lyskom-define-menu-xemacs): Encode menu item strings to avoid the 201s showing up in menus. * lyskom-buttons.el (lyskom-make-button-menu): Encode menu item strings to avoid the 201s showing up in popup menus. * mship-edit.el: Tweaked various motion commands. 2000-03-10 David Byers * mship-edit.el (lp--format-entry-expansion): New function. (lp--format-entry): Split off formatting the second line. Do lyskom-replace-deferred here. (lp--format-insert-entry-2): Removed. (lp--format-insert-entry): Call lp--format-entry do replace deferred on the first line and lp--format-entry-expansion for the second line, if needed. Check if the second line needs to be formatted here rather than in lp--format-entry. 2000-03-07 David Byers * option-edit.el (lyskom-ispell-dictionary-widget): Fixed bug that caused no dictionary names to be listed if ispell was installed. * swedish-strings.el (lyskom-sv-customize-map): Bound button2 and button3 to kom-mouse-null. * english-strings.el (lyskom-en-customize-map): Fixed definition of lyskom-sv-customize-map. 2000-03-06 David Byers * lyskom-buttons.el (lyskom-view-url-netscape): Quote parens in URLs sent to Netscape. 2000-03-03 David Byers * lyskom-rest.el (lyskom-w3-region): Save restriction, make start and end markers so that simplifying the body tag won't screw things up. * startup.el (lyskom-www-proxy-connect-filter): Match HTTP/1.1 responses (and also 1.2 and 1.3 and so on.) (lyskom): Send additional headers to HTTP proxy. * vars.el.in (kom-www-proxy-headers): New variable. 2000-02-26 * option-edit.el (lyskom-ispell-dictionary-widget): Protect this agains ispell not being available or failing to load. 2000-02-21 * vars.el.in (kom-url-managers): Added "windows" url manager. (kom-url-viewer-preferences): Use "windows" instead of "netscape" as default url manager. 2000-02-20 * lyskom-buttons.el (lyskom-view-url-netscape): Added more possible values for window-system on MS-Windows systems (courtesy RMS who does not want to associate "win" with MS-Windows and the XEmacs team who thinks mswindows is prettier than w32 or win32.) 2000-02-17 David Byers * aux-items.el: Encode aux-items that need to be encoded with the default server coding system. 2000-02-17 David Byers * utilities.el: Honor standard-output if no stream is specified. * swedish-strings.el: Bind swedish characters explicitly as well as with lyskom-keys so that bindings will work in Windows XEmacs too. Wed Feb 16 16:13:46 2000 David Byers * Release av 0.46-BETA-G 2000-02-11 David Byers * utilities.el (lyskom-lookup-key): Vectorify event no matter what keymap is. 2000-01-17 David Byers * vars.el.in (kom-server-aliases): Added Roxen Community KOM. 2000-02-08 David Byers * vars.el.in (kom-complete-numbers-before-names): New variable. * completing-read.el (lyskom-read-conf-internal): Add the option to complete numbers before completing names. 2000-01-27 David Byers * flags.el (lyskom-flag-value-to-string): New function. (lyskom-flag-value-to-string): New function. (lyskom-save-options): Use it. * filter.el (lyskom-create-filter): New function. (make-filter): Use it. 2000-01-17 David Byers * compatibility.el (lyskom-xemacs-keysym): Fixed C-å and C-Å. 2000-01-11 David Byers * edit-text.el (lyskom-edit-add-recipient/copy): Make moving texts work again. * commands1.el (kom-move-text): Pass the correct text number to lyskom-add-sub-recipient. (lyskom-add-sub-recipient): Read text number if text-no-arg is nil, even if caller claims it's done. (kom-move-text): Pass the correct text-no to lyskom-add-sub-recipient. Tue Jan 11 11:58:38 2000 David Byers * Release av 0.46-BETA-F 2000-01-11 David Byers * flags.el (kom-save-options): Was removed by mistake. * compatibility.el (plist-member): New function. * distribution-Makefile (SOURCES): Added mship-edit.el Tue Jan 11 00:37:57 2000 David Byers * Release av 0.46-BETA-E 2000-01-03 David Byers * commands1.el (lyskom-private-answer-soon): Fix buggy nesting. How the *hell* does this happen? 1999-12-21 David Byers * lyskom-rest.el (lyskom-fill-region): Never signal errors in fill-region. 1999-12-20 David Byers * services.el (initiate-create-anonymous-text): Work. Put STRING in front of message string so lyskom-format-objects recognizes what it is. 1999-12-18 David Byers * lyskom-rest.el (lyskom-next-command): Use unwind-protect to reset lyskom-doing-default-command because Gnu Emacs loses when you let a buffer-local variable and change buffers inside the let body (it resets the value in buffer current when leaving the let) 1999-12-13 David Byers * reading.el: Set buffer to lyskom-buffer in several membership-related functions. * lyskom-rest.el (lyskom-try-get-membership): Set buffer to lyskom-buffer. (lyskom-get-membership): Same here. 1999-12-11 David Byers * option-edit.el: Honor properties specified in lyskom-custom-variables by using lyskom-build-simple-widget-spec to build all widgets. (lyskom-build-simple-widget-spec): New function. * reading.el (lyskom-do-insert-membership): New function. (lyskom-replace-membership): Use lyskom-do-insert-membership and lyskom-do-remove-membership. (lyskom-do-remove-membership): New function. (lyskom-remove-membership): Use it. * commands1.el (lyskom-sub-member): Don't call lyskom-remove-membership with membership-list arg. * async.el (lyskom-async-forced-leave-conf): Don't call lyskom-remove-membership with membership-list arg. * mship-edit.el (lyskom-prioritize-flag-toggle): Don't call lyskom-replace-members with membership-list arg. * commands2.el (kom-set-unread): Don't call lyskom-replace-members with membership-list arg. * async.el (lyskom-async-new-membership): Don't call lyskom-replace-members with membership-list arg. * reading.el (lyskom-insert-membership): Insert the membership at the correct position in the membership list. * commands1.el (lyskom-add-membership): Call without membership-list argument. * startup.el (lyskom-set-membership): Use lyskom-sort-membership. * lyskom-rest.el (lyskom-membership-<): Consider positions as well as priorities. * commands1.el (lyskom-try-add-member): Added need-extra-information parameter. (kom-add-member): Call lyskom-try-add-member with need-extra-information. (kom-add-self): Same here. (kom-change-priority): Same here. (lyskom-add-member-by-no): Same here. (lyskom-add-member-answer): Accept answer containing position parameter. Set position of new membership using position parameter if it is not supplied by the server. 1999-12-10 David Byers * commands1.el (lyskom-sub-member): Don't try to passivate unless we have passive memberships in the server. * option-edit.el (lyskom-customize-apply): Set the default value of a variable when the user says not to save it in the server. (lyskom-customize-send): Set variables in the Emacs buffer using setq-default. Don't quote nil or t in the output. 2000-01-10 David Byers * flags.el (lyskom-read-options-eval): Add format argument to lyskom-message to avoid possible problems with error-in-options-short string. * edit-text.el (lyskom-edit-send-check-recipients): Same here. (kom-insert-last-info-nodename): Same here. 2000-01-06 David Byers * lyskom-rest.el (j-or-n-p): Output the answer in the minibuffer like y-or-n-p in XEmacs (and probably Emacs) does. * swedish-strings.el (lyskom-message): Added yes-string and no-string. * services.el (blocking-do-multiple): Added edebug-form-spec for blocking-do-multiple. * commands1.el (lyskom-add-sub-recipient): Confirm adding as full recipient. * edit-text.el (lyskom-edit-add-recipient/copy): Removed duplicate calls to lyskom-edit-do-add-recipient/copy. Confirm adding as full recipient. 1999-12-29 David Byers * commands1.el (lyskom-add-sub-recipient): Point at start of minibuffer when reading target conference. 1999-12-13 David Byers * lyskom-rest.el (lyskom-recursive-prompt-update): New variable. (lyskom-update-all-prompts): Set lyskom-recursive-prompt-update to avoid endlessly recursing into this function (via lyskom-beep, sit-for and the filter function.) 1999-12-10 David Byers * commands1.el (kom-move-text): Supply better defaults for conferences. 1999-12-07 David Kågedal * swedish-strings.el (lyskom-sv-mode-map): lyskom-keys was called with at string at a couple of places. 1999-12-05 David Byers * Makefile (SOURCES): Added mship-edit.el. 1999-12-04 David Byers * mship-edit.el (lp--maybe-update-entry-for-conf): New function. (lp--compute-format-string): Properties on unreads. (lp--maybe-update-unreads): New function. (lp--update-buffer): Support adding and removing memberships. * deferred-insert.el (lyskom-replace-deferred): Perform the deferred insertion in the right buffer. * view-text.el (lyskom-mark-as-read-callback): New function. (lyskom-mark-as-read): Call it. 1999-12-03 David Byers * flags.el: Removed commented kom-edit-options stuff. * swedish-strings.el (lyskom-sv-mode-map): Fixed remaininig bindings of swedish characters. 1999-12-03 David Byers * swedish-strings.el, english-strings.el (lyskom-command): Removed kom-edit-options. * flags.el: Commented out all the kom-edit-options stuff. (lyskom-save-options): Fix string encoding of user area (it was really messed up.) 1999-12-03 David Byers * command.el (lyskom-read-extended-command): Use lyskom-maybe-recode-string in place of last patch. * buffers.el (lyskom-generate-new-buffer): Use lyskom-maybe-recode-string to maybe recode the buffer name. (lyskom-get-buffer-create): Here too. * utilities.el (lyskom-maybe-recode-string): New function. 1999-12-03 David Byers * command.el (lyskom-read-extended-command): Patch in order to do correct completion in a unibyte environment with multibyte strings as alternatives. Fri Dec 3 11:54:28 1999 David Byers * Release av 0.46-BETA-D 1999-12-03 David Byers * startup.el (lyskom): Use lyskom-string-rassoc to find KOMSERVER in kom-server-aliases. (lyskom-read-server-name): Use lyskom-string-assoc to find server name. * utilities.el (lyskom-string-rassoc): New function. * option-edit.el (lyskom-customize-buffer-format): Added kom-server-priority and kom-server-priority-breaks. (lyskom-custom-variables): Same here. * english-strings.el,swedish-strings.el (lyskom-custom-strings): Updated customization strings for kom-server-priority and kom-server-priority-breaks. 1999-12-02 David Byers * 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 * 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 * vars.el.in (kom-server-priority): New variable. 1999-11-22 David Byers * 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 * 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 * flags.el (lyskom-read-options-eval-get-holerith): Skip newlines too. (lyskom-read-options-eval): Surround everything with a catch-all error handler or we won't be able to log in if the user area is broken. 1999-12-01 David Byers * compatibility.el (decode-coding-string, encode-coding-string): Copy the string using copy-sequence to really emulate the real thing. * utilities.el (lyskom-string=): Works even if an argument is nil. Thu Nov 25 17:05:19 1999 David Byers * Release av 0.46-BETA-C på riktigt 1999-11-25 David Byers * swedish-strings.el: Use lyskom-keys for all swedish chars in the keymaps. * compatibility.el (lyskom-gnu-keysym): Added swedish chars to the list. * commands1.el (lyskom-change-pres-or-motd-2): Fixed nesting bug that caused the callback not to be called. 1999-11-23 David Byers * commands1.el (lyskom-private-answer-soon): Fixed nesting bug that caused two personal reply buffers to be created. 1999-11-23 Per Hedbor * services.el (initiate-create-text): Fixed support for old lyskom servers without call 86. 1999-11-22 David Byers * completing-read.el (lyskom-complete-string): Use character space and not ASCII space. * lyskom-rest.el (lyskom-modeline-keymap): Go to unread session on mouse up, not mouse down since mouse up event is bound to bad things in XEmacs. * edit-text.el (lyskom-edit-get-commented): Rewrote as blocking. * option-edit.el (lyskom-custom-variables): Added last-recipient option to kom-default-message-recipient. * vars.el.in (lyskom-last-message-recipient): New variable. * commands2.el (kom-send-message): Added last-recipient option to kom-default-message-recipients.. 1999-11-21 David Byers * edit-text.el (lyskom-edit-insert-miscs): Use lyskom-princ to insert subject. * slow.el (kom-expand-slow-command): Use lyskom-string= * flags.el (lyskom-read-options-eval): Use lyskom-string= * edit-text.el (kom-ispell-message): Use lyskom-string= (lyskom-send-enriched): Same here. * completing-read.el (lyskom-completing-member): Same here. * commands1.el (kom-change-password): Use lyskom-string= (lyskom-return-username): Same here. * utilities.el (lyskom-string=): New function. (lyskom-string-assoc): Use it. * language.el (lyskom-language-coding): New function. (lyskom-define-language): Added argument CODING. * lyskom-rest.el (lyskom-update-prompt): Set rear-nonsticky on prompt text properties. * view-text.el (lyskom-format-text-footer): Use string-width, not length to compute width of author name, width of text number, flags. * option-edit.el (lyskom-widget-name-value-create): Use string-width to compute padding. (lyskom-widget-command-value-create): Ditto. (lyskom-widget-kbd-macro-value-create): Same here. * lyskom-buttons.el (lyskom-keyboard-menu): USe string-width to get the width of a string. * completing-read.el (lyskom-read-session-resolve-ambiguity): Use string-width to get width of a string. * commands2.el (kom-status-conf): Use string-width, not length, to get width of string. * filter.el (lyskom-recompile-filter): New function. * flags.el (lyskom-read-options-eval-get-holerith): Handle explicitly coded strings. (kom-edit-options-send): Output explicit coding for strings in the elisp area. (lyskom-read-options-eval): Recompile filters after reading from user area. 1999-11-20 David Byers * compatibility.el (lyskom-string-width): New function. Gnu Emacs MULE lossage workaround. (string-make-unibyte): New compatibility function. (string-make-multibyte): New compatibility function. (multibyte-string-p): New compatibility function. * lyskom-rest.el (lyskom-format-aux-help): Use lyskom-string-width, not string-width. * mime.el (lyskom-mime-string-charset): Use the server default coding system if no charsets were found (non-MULE Emacs.) * lyskom-rest.el (lyskom-prot-a-format-aux-item): Aux item data is a raw string. * parse.el (lyskom-parse-aux-item): Aux item data is a raw string. 1999-11-19 Joel Rosdahl * README.debian: New build instructions. * ../Makefile: Build debian-package. 1999-11-19 David Byers * lyskom-rest.el (lyskom-filter): Explicitly insert unibyte string representation. Gnu Emacs 20.3 compat kluge. * utilities.el (lyskom-looking-at): New function (Gnu Emacs 20.3 bug workaround.) * edit-text.el (kom-ispell-message): Use lyskom-looking-at. (lyskom-edit-parse-headers): Same here. (lyskom-edit-extract-aux-item-flags): Same here. (lyskom-edit-extract-text): Same here. (lyskom-edit-on-aux-item): Same here. * lyskom-rest.el (lyskom-prot-a-format-string): string-as-unibyte the string or concat may convert us to multibyte later. (lyskom-prot-a-format-raw-string): Same here. 1999-11-19 David Byers * compatibility.el (check-coding-system): Throw an error instead of returning nil. * parse.el (lyskom-init-parse): Turn off multibyte chars in the parse buffer. * utilities.el (lyskom-truncate-string-to-width): New function copied from Gnu Emacs. * Changed file coding of all files to iso-8859-1 since we now have the ambition to deal with multibyte text. * lyskom-rest.el (lyskom-format-aux-help): Use lyskom-truncate-string-to-width instead of substring. (lyskom-format-aux-help): Use string-width instead of length. (lyskom-format-aux-help): Same here. (lyskom-fill-message-line-length): Use current-column instead of point to calculate current line width. (lyskom-is-loaded): Encode lyskom-line-start-chars-string in ISO-8859-1 before using it. (silent-read): Don't disable multibyte characters. * defvar.el (lyskom-setup-minibuffer-variables): Don't disable multibyte characters. * buffers.el (lyskom-generate-new-buffer): Don't disable multibyte characters. (lyskom-get-buffer-create): Same here. * mime.el (lyskom-mime-string-charset): Use find-charset-string. * compatibility.el (check-coding-system): Provide dummy check-coding-system. * mime.el (lyskom-mime-charset-coding-system): Use check-coding-system. * startup.el (lyskom): Decode the motd text mass and format it as a text. * lyskom-rest.el (lyskom-format-aux-help): No longer accept text as an argument, because we can't decode it. (kom-save-text-body): Decode the text body. * filter.el (lyskom-filter-text-p-3): Decode the text mass of the text. * edit-text.el (lyskom-edit-add-recipient/copy): Decode the text-mass of the motd. (kom-edit-insert-text): Get the text-stat and text for lyskom-edit-insert-commented. (lyskom-edit-get-commented): Pass text and text-stat to thendo. * commands2.el (lyskom-print-summary-line): Decode the text mass. (lyskom-print-mark-summary-line): Same here. (lyskom-set-motd): Same here.Accept text stat as argument. (kom-set-motd): Get the text-stat and text and send them to lyskom-set-motd. * commands1.el (lyskom-write-comment-soon): Decode the text mass. (lyskom-private-answer-soon): Same here. (lyskom-private-answer-soon-prev): Same here. (lyskom-change-pres-or-motd-2): Same here. * komtypes.el (text->decoded-text-mass): New function. * Makefile (SOURCES): Added mime.el to the sources. * view-text.el (lyskom-print-text): Decode the string according to the charset specified by the content type. * mime.el (lyskom-charset-alist): New variable. (lyskom-mime-string-charset): New function. (lyskom-mime-charset-coding-system): New function. (lyskom-mime-encode-string): New function. (lyskom-mime-decode-string): New function. (lyskom-mime-decode-content-type): New function. * utilities.el (lyskom-subset-p): New function. (lyskom-intersection): Moved from review.el * edit-text.el (lyskom-edit-send): Pass on aux-list even if we're anonymous. 1999-11-18 Joel Rosdahl * Makefile: Debian package building. 1999-11-17 David Byers * startup.el (lyskom): Set process coding system to latin-1 again. Don't remember why I changed it in the first place. * lyskom-rest.el (lyskom-is-loaded): Add lyskom-remove-buffer-from-lists to kill-buffer-hook. * buffers.el (lyskom-remove-buffer-from-lists): New function. (lyskom-clean-buffer-list): Moved here from commands2.el (lyskom-clean-all-buffer-lists): Ditto. * lyskom-rest.el (lyskom-is-loaded): Add a hook to delete killed buffers from all buffer lists. * command.el (lyskom-end-of-command): Clean lyskom-sessions-with-unread, lyskom-sessions-with-unread-letters and lyskom-buffer list. * lyskom-rest.el (lyskom-sentinel): Remove buffer from lyskom-sessions-with-unread-letters. 1999-11-09 David Byers * bugs.el (kom-bug-report): Moved here from commands.el. * async.el (lyskom-delete-old-text): Remove deleted text from lyskom-reading-list too. 1999-11-07 David Byers * edit-text.el (lyskom-is-permitted-author): Use new version of lyskom-is-supervisor. 1999-11-06 David Byers * commands1.el (lyskom-add-member-answer): Print useful messages when add fails because user is already a member. * utilities.el (lyskom-is-supervisor): New function. (lyskom-is-strictly-supervisor): Ditto. (lyskom-is-member): Ditto. 1999-11-17 Joel Rosdahl * Added README.debian and a debian subdirectory with files for building a Debian package. Wed Nov 17 13:54:15 1999 David Byers * Release av 0.46-BETA-B 1999-11-17 David Byers * lyskom-rest.el (lyskom-is-loaded): In XEmacs, set an extent on the "unread" text in the mode line with some basic key bindings. * commands2.el (kom-modeline-next-unread-kom): New function. (kom-modeline-select-unread-kom): New function. (lyskom-switch-to-kom-buffer): New function. (lyskom-next-kom): Use it. 1999-11-11 David Byers * swedish-strings.el (lyskom-message): Added who-to-add-bcc-q. * commands1.el (lyskom-add-sub-recipient): Deal with add-bcc. 1999-11-08 David Byers * reading.el (lyskom-read-info-<): Fixed stupid operator error. 1999-10-27 David Byers * async.el (lyskom-async-new-recipient): Hantera situationen att man inte hittar det lokala textnumret. 1999-10-25 David Byers * startup.el (lyskom): Set process coding system decoding to no-conversion or things can break. Will someone please MULEize this for real? * parse.el (lyskom-char-p): New implementation to fix spurious protocol errors. (lyskom-char-p): Fixed new implementation. 1999-10-25 David Kagedal * option-edit.el (lyskom-custom-variables): Reversed logic for kom-reading-puts-comments-in-pointers-last. 1999-10-25 David Byers * vars.el.in (lyskom-backtrace-list): New variable. * parse.el (lyskom-char-p): Make lyskom-char-p ignore whitespace to mimic behavior of lyskom-expect-char and friends. (lyskom-protocol-error): Accumulate backtraces. 1999-10-20 David Byers * mship-edit.el (lp--update-membership): When we set the priority to under the session priority, remove the conf from the reading list, leave it and update the prompt. Take old priority and old position as arguments. (set-lp--entry-pri-and-pos): New function. (lp--yank): Use it. (lp--set-priority): Use it. (lp--bump-priority): Use it. (lp--move-up): Use it. (lp--move-down): Use it. 1999-10-19 David Byers * mship-edit.el (lp--toggle-invitation): New function. (lp--toggle-passive): New function. (lp--toggle-secret): New function. (lp--mode-map): Added lp--toggle-invitation, lp--toggle-passive, lp--toggle-secret. * commands2.el (lyskom-print-summary-line): Test mx-author and mx-from to see if we should print the mx-author name. * edit-text.el (lyskom-edit-get-commented-author): Test mx-author and mx-from to see if we should print the mx-author name. 1999-10-18 David Byers * utilities.el (lyskom-client-date): Off-by-one error in day-of-month fixed. * edit-text.el (lyskom-edit-get-commented-author): Print the name of the real author of an imported e-mail, not the importer's name. 1999-10-17 David Byers * utilities.el (lyskom-client-date-string): Don't add 1900 to result of decode-time. Sun Oct 17 00:52:05 1999 David Byers * Release av 0.46-BETA-A 1999-10-17 David Byers * commands2.el (kom-postpone): Added RE-EDIT-TEXT read-info type. * clienttypes.el (set-read-info->misc): Add misc field to read-info. (read-info->misc): Same here. (lyskom-create-read-info): Same here. * lyskom-rest.el (lyskom-what-to-do): Add support for re-edit text. (kom-re-edit-next-text): New function. (lyskom-next-command): Add support for re-edit text. (lyskom-update-prompt): Add support for re-edit text. 1999-10-16 David Byers * option-edit.el (lyskom-ding-widget): Turned-off is zero, not nil to make the per sender option avalable in Gnu Emacs. * swedish-strings.el (lyskom-custom-strings): Fixed speling eror. 1999-10-15 David Byers * swedish-strings.el (lyskom-sv-mode-map): Bind aring and adiaeresis. 1999-10-15 David Byers * utilities.el (lyskom-client-date-string): Print year correctly. * view-text.el (lyskom-print-text): Correct formatting of missing person. (lyskom-print-text): Format author in text footer correctly even if deferred printing is off. (lyskom-print-text): Don't do deferred printing of the footer unless it's really necessary. Don't block to get the author for the footer unless it's necessary. 1999-10-14 David Byers * view-text.el (lyskom-view-text): Don't set first-line-face on the imported header lines. Thu Oct 14 13:57:16 1999 David Byers * Release av 0.46-BETA-9 1999-10-14 David Byers * option-edit.el (kom-customize): Use lyskom-copy-face. * utilities.el (lyskom-copy-face): New function. (lyskom-set-face-scheme): Use it. * english-strings.el, swedish-strings.el, vars.el.in: Removed variable lyskom-text-start. * lyskom-rest.el (backward-text): Implement using lyskom-prev-area. (forward-text): Implement using lyskom-next-area. (lyskom-text-at-point): Implement using lyskom-prev-area. * view-text.el (lyskom-view-text): Insert property lyskom-text-start on the number of each newly inserted text. * utilities.el (lyskom-prev-area): New function. (lyskom-next-area): New function. * lyskom-rest.el (kom-prev-prompt): New function. (kom-next-prompt): New function. * lyskom-buttons.el (kom-previous-link): Implement using lyskom-prev-area. (kom-next-link): Implement using lyskom-next-area. * english-strings.el (lyskom-text-start): Updated to work with imported texts. * swedish-strings.el (lyskom-text-start): Updated to work with imported texts. * option-edit.el (lyskom-ansaphone-reply-widget): New widget type. (lyskom-customize-buffer-format): Added ansaphone replies. (lyskom-custom-variables): Added kom-ansaphone-replies. 1999-10-13 David Byers * Removed all references to kom-emacs-knows-iso-8859-1 * review.el (kom-review-noconversion): Don't set kom-emacs-knows-iso-8859-1 * commands2.el (kom-display-who-buffer): Kommenterade ut. * option-edit.el (lyskom-ding-widget): Full definition of ding widget. (lyskom-create-widget): Don't insert doc button if doc string is empty. 1999-10-12 David Byers * edit-text.el (Info-current-file): Get rid of Info-related compiler warnings. * view-text.el (lyskom-insert-deferred-header-comm): Print the content type of attachments. (lyskom-insert-header-comm): Same here. 1999-10-13 David Byers * command.el (lyskom-end-of-command): Don't do user-active when we're anonymous. * swedish-strings.el, english-strings.el (kom-tell-phrases): Tog bort kom-tell-is-anonymous * language.el (lyskom-tell-string): Print the missing tell key. * cache.el (lyskom-tell-server): Don't tell server if we're anonymous. * commands2.el (kom-become-anonymous): Ny funktion. (kom-become-nonanonymous): Ny funktion. * lyskom-rest.el (lyskom-format-prompt): Make %a work in prompt formats. * completing-read.el (lyskom-read-conf-internal): Don't try to get completion for all confs. * view-text.el (lyskom-view-text): Use lyskom-mx-date-to-time. * komtypes.el (lyskom-create-time): Added tzhr and tzmin to time. * view-text.el (lyskom-mx-date-to-time): New function. (lyskom-view-text): Handle missing cal-iso. 1999-10-11 David Byers Replaced all uses of current-time-string with lyskom-client-date * async.el (lyskom-format-as-personal-message): Print localized form of date in async messages. * utilities.el (lyskom-client-date): New function. * ansaphone.el (kom-toggle-auto-reply): Use lyskom-client-date-string instead of current-time-string. (lyskom-ansaphone-record-message): Same here. * remote-control.el (lyskom-remote-set-message): Use lyskom-client-date-string instead of current-time-string. (lyskom-remote-handler): Same here. (lyskom-remote-autoreply): Same here. (lyskom-remote-list-messages-1): Same here. * option-edit.el: Added several missing variables to widget definitions and buffer format. * english-strings.el: Added customize strings. * swedish-strings.el: Added customize strings. 1999-10-10 David Byers * lyskom-rest.el (kom-save-text): Use def-kom-command. (kom-save-text-body): New command. * vars.el.in (kom-show-imported-envelope-sender): New variable. (kom-show-imported-importer): New variable. (kom-show-imported-external-recipients): New variable. * view-text.el (lyskom-deferred-insert-footer): Always set the name variable so that the footer will have the right number of dashes. (lyskom-view-text): Only show importer, external recipients and envelope sender if the user wants to. Sat Oct 9 18:54:16 1999 David Byers * Release av 0.46-BETA-8 1999-10-07 David Byers * async.el (lyskom-format-as-personal-message): Show date if kom-show-personal-message-date is non-nil. * vars.el.in (kom-show-personal-message-date): New variable. 1999-09-28 David Byers * compatibility.el (last): Added compatibility definition. 1999-10-09 David Byers * swedish-strings.el (lyskom-command): Updated translation of mail header. * view-text.el: Updated all functions to format imported e-mail properly 1999-09-29 David Byers * edit-text.el (kom-insert-last-info-nodename): New command. (kom-yank-info-nodename): New command. 1999-08-28 David Byers * completing-read.el (lyskom-read-session-resolve-ambiguity): Bug fix in printing session list. Tue Sep 28 14:56:43 1999 David Byers * Released 0.46-BETA-7 1999-08-25 David Byers * edit-text.el (lyskom-edit-send-check-recipients): When checking commented author, actually check all the recipients, not just the first one. * reading.el (lyskom-sort-to-do-list): New function. (lyskom-read-info-<): New function. * lyskom-rest.el (lyskom-set-mode-line): Compute total-unread even if we are not in any conference. * commands2.el (lyskom-next-kom): Removed references to lyskom-buffer-list. 1999-08-24 David Byers * reading.el (lyskom-update-membership-positions): New function. * utilities.el (lyskom-move-in-list): New function. * reading.el (lyskom-sort-membership): Set the position of elements in the list and sort the to-do-list after sorting the membership list. * lyskom-rest.el (lyskom-leave-current-conf): New function. * commands1.el (lyskom-sub-member): Use lyskom-leave-current-conf. * async.el (lyskom-async-forced-leave-conf): Use lyskom-leave-current-conf. (lyskom-async-new-membership): Same here. 1999-08-23 David Byers * slow.el (kom-expand-slow-command): Test for exact matches if optional TRY-EXACT is non-nil. * lyskom-rest.el (lyskom-format-aux): Typo fix. * language.el (lyskom-tell-string): Return the empty string if the key we're looking for is not in kom-tell-phrases. 1999-08-22 David Byers * mship-edit.el (lp--create-buffer): Sort the membership list before creating the buffer. (lp--toggle-entry-expansion): New function. * reading.el (lyskom-insert-membership): Use lyskom-sort-membership. (lyskom-sort-membership): New function. (lyskom-insert-memberships-in-membership): Use it. * mship-edit.el (lp--previous-entry): New function. (lp--next-entry): New function. (lp--first-entry): New function. (lp--last-entry): New function. (lp--goto-priority): New function. (lp--update-membership): New function. (lp--set-priority): Made this function work. * commands2.el (kom-set-unread): Fixed bug when not in any conference. Mon Aug 23 13:03:27 1999 David Byers * Released 0.46-BETA-6 1999-08-23 David Byers * english-strings.el: Changed all "article" to "text". Synched with Swedish strings. * startup.el: Set the process coding system of the network stream to iso-8859-1 to avoid stupidities like Gnu Emacs sending its internal representation of swedish characters to the server (and lying about the length of the string in question.) * compatibility.el (set-process-coding-system): New compatibility function. 1999-08-19 David Byers * commands2.el (kom-change-conf-type): Fixed bug in call to mapconcat. 1999-08-18 David Byers * prefetch.el (lyskom-prefetch-cancel-prefetch-map): New function. (lyskom-skip-finished-in-queue): Handle CANCELED elements (lyskom-prefetch-one-item): Handle CANCELED elements * reading.el (lyskom-enter-map-in-to-do-list): Don't bug out if we get a map for a conference we're not a member of. This can happen when there are RPC calls pending and we do something to the membership list (a refetch, leave a conference, etc.) 1999-08-22 David Byers * edit-text.el (lyskom-edit-send-check-recipients): Check for duplicate recipients and no recipients. * swedish-strings.el (lyskom-sv-edit-mode-map): Add binding for kom-edit-add-bcc. * edit-text.el (lyskom-edit-find-misc): New function. (lyskom-edit-move-recipients): Only add recipients when necessary. Convert existing ones if possible. Add recipients after comment-to headers. * utilities.el (lyskom-insert-in-list): New function. * edit-text.el (lyskom-edit-do-add-recipient/copy): New function. (lyskom-edit-add-recipient/copy): Removed string argument. Use lyskom-edit-do-add-recipient/copy. * english-strings.el: Change "note on the door" to "notice" everywhere. * edit-text.el (lyskom-edit-move-recipients): Use only lyskom-edit-replace-headers to replace the headers. * commands2.el (kom-next-unread-kom): New implementation. (kom-previous-kom): New implementation. (kom-next-kom): New implementation. (lyskom-next-kom): New implementation replaces lyskom-next-kom and lyskom-previous-kom. * komtypes.el (lyskom-member-list-find-member): Fixed bug in lyskom-member-list-find-member when member list is empty. * commands1.el (kom-send-letter): Remove string from quit signalling. (lyskom-comment-recipients): Same here. * lyskom-rest.el (silent-read): Use read-char-exclusive. (j-or-n-p): Same here. (lyskom-ja-or-nej-p): Remove string from quit signalling. (lyskom-j-or-n-p): Same here. 1999-08-21 David Byers * 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 * vars.el.in (kom-show-week-number): New variable. * commands1.el (kom-display-time): If calendar and cal-iso are available we can show the week number. 1999-08-13 David Byers * commands1.el (lyskom-try-add-member): Added optional message string. (kom-change-priority): New user-level command. (kom-add-self): Don't ask about priority when reentering a conference we are passive members of. * vars.el.in (lyskom-err-stat): New variable. * parse.el (lyskom-parse-error): Set lyskom-err-stat from parsed error. * view-text.el (lyskom-follow-comments): Enter REVIEW-TREE into both lyskom-reading-list and lyskom-to-do-list using lyskom-review-enter-read-info. 1999-08-09 David Byers * edit-text.el (lyskom-create-text-handler): Changed name of parameter never-mark-as-read to is-anonymous. (lyskom-edit-send): Ditto and don't set creating-software if sending anonymously. * vars.el.in (kom-show-creating-software): New variable. * aux-items.el (lyskom-print-creating-software): Show creating software only when kom-show-creating-software is non-nil. 1999-07-14 David Kågedal * aux-items.el (lyskom-print-creating-software): Typo fix. * edit-text.el (lyskom-edit-send): Set creating-software aux-item. 1999-07-12 Per Cederqvist * completing-read.el (lyskom-read-session-resolve-ambiguity): Use 'total-users-sans-date instead of 'total-users; we don't pass a date to the format. * swedish-strings.el (lyskom-message): Define total-users-sans-date. * english-strings.el (lyskom-message): Define total-users-sans-date. 1999-07-02 David Byers * english-strings.el (lyskom-en-filter-edit-map): Use kbd. Added C-c C-c as command to quit. * swedish-strings.el (lyskom-sv-filter-edit-map): Same here. 1999-06-30 Per Cederqvist * swedish-strings.el, english-strings.el (lyskom-message): Added missing %-signs in review-many-comments and view-many-comments. 1999-06-29 David Byers * vars.el.in (lyskom-face-schemes): Added kom-warning-face. (lyskom-faces): Ditto. * view-text.el (lyskom-format-text-footer): Add the ability to have properties on the format flags. * async.el (lyskom-parse-async): Update the uconf-stat cache when a name changes. * komtypes.el (uconf-stat): Use def-komtype. (uconf-stat): * messages.el (lyskom-filter-message-handler): New message handler used to filter ignored messages. * vars.el.in (kom-ignore-message-senders): New variable. (kom-ignore-message-recipients): New variable. 1999-06-29 David Byers * edit-text.el (lyskom-edit-send-check-recipients): Passive members should be added as direct recipients. (lyskom-edit-send-check-recipients): Add each author only once. Don't barf if the comment has been deleted. 1999-06-28 David Byers Get rid of compiler warnings * lyskom-rest.el (w3-finish-drawing): Get rid of warning. * compatibility.el (lyskom-xemacs-or-gnu): Evaluate the test at compile time. The byte code is not compatible anyway. * macros.el (define-widget): Autoload widget functions if undefined. * utilities.el (lyskom-ignore): New function. * review.el (kom-review-noconversion): Use lyskom-ignore instead of ignore to get rid of warnings. * option-edit.el (lyskom-create-widget): Use lyskom-ignore instead of ignore to get rid of warnings. * menus.el (lyskom-define-menu-xemacs): Use lyskom-ignore instead of ignore to get rid of warnings. * edit-text.el (kom-ispell-message): Use lyskom-ignore to get rid of bound but not referenced error. (lyskom-edit-send-check-recipients): Use lyskom-ignore instead of ignore. (kom-edit-add-comment): Use lyskom-ignore to get rid of bound but not referenced error. * commands2.el (kom-set-unread): Use lyskom-ignore to get rid of bound but not referenced warning. * edit-text.el (kom-edit-add-comment): Got rid of compiler warning. * commands2.el (resize-minibuffer-mode): Got rid of compiler warning. * startup.el (lyskom-accept-async): Got rid of compiler warning. * prefetch.el (lyskom-prefetch-membership-handler): Got rid of compiler warning. * aux-items.el (lyskom-maybe-add-face-to-string): Got rid of compiler warning. Treat reviewing as a conference in the read list * lyskom-rest.el (kom-view-next-text): Delete reviewed texts from lyskom-to-do-list. (lyskom-go-to-next-conf): Update read lists when resuming review. (lyskom-update-prompt): Update prompt for resuming review. * review.el (lyskom-review-get-priority): New function. (kom-review-tree): Use review priority if available. (lyskom-review-tree): Ditto. (kom-review-more): Enter review into lyskom-to-do-list. (lyskom-review-by-to): Ditto. (kom-find-root): Ditto. (lyskom-review-comments): Ditto. (kom-review-last-normally-read): Ditto. * vars.el.in (kom-review-priority): New variable. 1999-06-28 David Byers * vars.el.in (kom-silent-ansaphone): New variable. * lyskom-rest.el (lyskom-beep): Allow alist argument. Mon Jun 28 17:15:28 1999 David Byers * Release 0.46-BETA-5 1999-06-28 David Byers * lyskom-rest.el (lyskom-set-mode-line): Don't show session priority in mode line if it is the same as the default session priority. * commands2.el (kom-set-session-priority): Default priority is kom-default-session-priority, not 100. * startup.el (kom-start-anew): Set the session priority from kom-default-session-priority. * vars.el.in (kom-default-session-priority): New variable. * commands2.el (lyskom-send-message-trim-newlines): Don't trim newlines if the message is not a string. 1999-06-27 David Byers * services.el (initiate-set-membership-type): Don't delete the conference and person from the cache. * startup.el (lyskom-refetch): Stop the prefetch while loading it with stuff to do. Otherwise we'll get things in the wrong order. * commands1.el (lyskom-try-add-member): Ask for priority when adding new members. 1999-06-26 David Byers * Release 0.46-EBTA-4 * prefetch.el, startup.el, async.el: Use get-unread-confs to get memberships in confs with unreads before * view-text.el (lyskom-print-text): Moved printing of the newline after a text to the text body (that way smileys at the end of a text are done correctly.) * prioritize.el (lyskom-prioritize-tell-server): Ignore new membership asyncs. 1999-06-25 David Byers * lyskom-rest.el (lyskom-visible-membership): Deal with passive memberships the way they're supposed to be dealt with. * reading.el (lyskom-add-memberships-to-membership): Don't add passive memberships. * review.el (kom-review-stack): Print information about all kinds of things on the stack, not just review commands. * completing-read.el (lyskom-completing-strip-name): New function. (lyskom-completing-member): Ignore parens. * lyskom-rest.el: lyskom-format has capability to use embedded predicates. Wohoo! * utilities.el (lyskom-client-date-string): New function. * lyskom-rest.el (lyskom-current-text): New function. 1999-06-24 David Byers * lyskom-rest.el (lyskom-insert-string): Allow literal strings in calls to lyskom-insert-string. 1999-06-23 David Byers * english-strings.el: Synched up with Swedish. * vars.el.in (lyskom-language): Set default value from kom-default-language. 1999-06-22 David Byers * view-text.el (lyskom-print-text): Print correct header for texts without subjects too. Support long dashed lines in a variety of places. * language.el (lyskom-get-string-sol): New function. * vars.el.in (kom-text-header-dash-length): New variable. (kom-text-footer-dash-length): New variable. (kom-long-lines): New variable. * view-text.el (lyskom-format-text-footer): Use kom-text-footer-dash-length to specify total footer size. (lyskom-print-text): Use kom-text-header-dash-length to specify total length of dashed line before text. (lyskom-format-text-footer): Print the format-flags string as part of the dashed lines, not after the dashed line. Tue Jun 22 15:59:15 1999 David Byers * Release av 0.46-BETA-3 1999-06-22 David Byers Add/remove footnotes * commands1.el (kom-sub-footnote): New function. (lyskom-add-sub-footnote): New function. (kom-add-footnote): New function. 1999-06-21 David Byers * commands1.el (lyskom-sub-member): Become passive member the first unsubscribe and really unsubscribe on the second try. Better handling of membership types. * lyskom-rest.el (lyskom-check-go-to-conf): New function to check if it is OK to go to a conference. Offer to activate passive memberships. Offer to accept invitations. Warn about secret memberships. 1999-06-20 David Byers * Release av 0.46-BETA-1 1999-06-19 David Byers * completing-read.el (lyskom-read-conf-stat): Don't croak if we get an uconf-stat back from lyskom-read-conf. 1999-06-17 David Byers * utilities.el (lyskom-maxint): Clip to 32 bit integers. 1999-06-17 David Byers * feature.el (lyskom-define-feature): Inherit feature variables into the minibuffer. * completing-read.el (lyskom-completing-who-is-on): Use dynamic session info when it should be used. 1999-06-15 David Byers * lyskom-rest.el (lyskom-format-aux-help): Handle actual character arguments for ?c. * compatibility.el (int-to-char): Provide compatibility for int-to-char. 1999-06-14 David Byers * lyskom-buttons.el (lyskom-default-button): Handle uconf-stats. * lyskom-rest.el (lyskom-format-aux-help): Use uconf-stats instead of conf-stats. Do not permit alternate names. Do not attempt to format the xface property. * parse.el (lyskom-parse-error): Removed message "bug i lyskom-parse-error" since this would happen frequently when error messages are sent to a client that has been restarted. Handle new recipient async message * async.el (lyskom-default-new-recipient-hook): New function. (lyskom-async-new-recipient): New function. (lyskom-parse-async): Handle new recipient message. * view-text.el (lyskom-text-read-at-least-once-p): New optional argument BG. 1999-06-13 David Byers * commands2.el (kom-del-faq): New function. (kom-add-faq): New function. (kom-status-conf): Print aux items. (kom-status-person): Print aux items. * view-text.el (lyskom-view-text): Use text-print-when to contol printing of aux-items. * lyskom-rest.el (lyskom-read-number): Accept symbol for prompt. 1999-06-12 David Byers * commands1.el (lyskom-who-is-on-check-membership-9): Don't extract pers-nos from member list. (lyskom-who-is-on-check-membership-8): Same here. Speed up parsing: * parse.el (lyskom-parse-string): Reset lyskom-string-bytes-missing after successful parse. Set lyskom-string-bytes-missing in the lyskom buffer, not the parse buffer. (lyskom-parse-unparsed): Do not reset lyskom-string-bytes-missing. (lyskom-init-parse): Reset lyskom-string-bytes-missing. 1999-04-01 David Byers * vars.el.in (kom-postpone-default): Ny variabel. * commands2.el (kom-postpone): Defaultvärdet inte hårdkodat längre. 1999-06-11 David Byers * edit-text.el (lyskom-edit-insert-miscs): Fix parameter list for lyskom-aux-item-definition-call (edit-insert print). * swedish-strings.el (lyskom-message): Fix wording in xref-type. * compatibility.el (kbd): Redefine kbd if it seems to be misbehaving. 1999-01-16 David Byers * lyskom-rest.el (j-or-n-p): Don't compare character to int. It's not kosher in MULE. 1999-01-11 David Byers * edit-text.el (lyskom-create-text-handler): Fixed bug that prevented texts from being read automatically. 1999-01-10 David Byers * services.el (initiate-query-read-texts): Parse membership position too. * parse.el (lyskom-parse-membership-and-position): New function. * review.el (lyskom-get-texts-by-generic): Ta inte med user-arean i resultatet. * command.el (lyskom-start-of-command): Don't rely on lyskom-proc being nil if a session is dead. * commands1.el (lyskom-quit): Sätt inte lyskom-proc till nil. Då fungerar inte lyskom-buffer-p. (Fast frågan är vad som går sönder istället...) * parse.el (lyskom-parse-text-mapping): Ny funktion. (lyskom-parse-list): Ny funktion. (lyskom-parse-text-number-pair): Ny funktion. (lyskom-parse-sparse-map): Ny funktion. (lyskom-parse-text-mapping): Ny funktion. * services.el (initiate-get-session-info-ident): Ny funktion. (initiate-re-lookup-person): Ny funktion. (initiate-lookup-person): Ny funktion. (initiate-lookup-conf): Ny funktion. (initiate-set-info): Ny funktion. (initiate-local-to-global): Ny funktion. (initiate-map-created-texts): Ny funktion. * komtypes.el (session-info): Lade till fält från who-info-ident * parse.el (lyskom-parse-who-info-ident-list): Lade till parsning av who-info-ident. (lyskom-parse-session-info-ident): Ny funktion. (lyskom-parse-session-info): Hantera nya fält i session-info. * services.el (initiate-who-is-on-ident): Ny funktion. * komtypes.el (who-info): Lade in fälten från who-info-ident. * lyskom-rest.el (lyskom-format-object): Add ability to format time. (lyskom-format-objects): Använd mapconcat istället för concat, apply och mapcar. (lyskom-format-object): Stoppa inte in space före objektet. lyskom-format-objects tar hand om det. Bytte namn på lyskom-format-X till lyskom-prot-a-format-X för att undvika namnkrockar i framtiden. (lyskom-prot-a-format-string): Allt i en format-sats. * services.el (initiate-get-last-text): New function. 1999-01-09 David Byers * services.el (initiate-login): Swap initiate-login and initiate-login-new. (initiate-mark-text): Folded initiate-mark-text-old into initiate-mark-text. (initiate-unmark-text): Do (mark-text text-no 0) if call 73 is not implemented. 1999-01-06 David Byers * internal.el: Don't concat an integer. 1999-01-02 David Byers * utilities.el: Sätt lyskom-max-int efter lyskom-maxint har definierats. 1999-05-05 Per Cederqvist * commands1.el (kom-change-parenthesis): Nytt kommando. * vars.el.in (lyskom-commands): La till kom-change-parenthesis. * swedish-strings.el, english-strings.el (lyskom-message): La till new-paren och no-paren-in-name. (lyskom-command): La till kom-change-parenthesis. Thu Feb 18 17:17:42 1999 Peter Liljenberg * commands1.el (lyskom-who-is-on-9): (lyskom-insert-deferred-session-info-since): Vilkalistan kan visa när en session kopplade upp sig och hur länge den har varit inaktiv. * vars.el.in (kom-show-since-and-when): * english-strings.el: * swedish-strings.el: * option-edit.el: Konfigurera ovanstående beteende. 1999-01-09 David Byers * commands2.el (kom-where-is): Nytt kommando. 1999-01-04 David Byers * edit-text.el (lyskom-edit-extract-text): Gör inte re-search-forward för att hitta separatorn. Det är fel om man har regexp-magiska tecken i strängen. 1999-01-01 Per Cederqvist * parse.el (lyskom-skip-array): Glöm inte att skippa det avslutande }-tecknet i arrayen. * flags.el (lyskom-read-options-eval): Krascha inte om det finns mer än en del i user-arean från en annan klient. 1998-12-14 David Byers * lyskom-rest.el (lyskom-beep): Häng inte om kom-audio-player pekar ut ett program som inte finns. Mon Sep 14 19:54:03 1998 David Kagedal * prioritize.el (kom-prioritize): Gör (lyskom-wait-for-membership). Mon Oct 12 19:45:52 1998 Peter Liljenberg * lyskom-rest.el (kom-view-next-text): Sätter flat-review till t om texten är en återsedd kommenter eller en markerad text. * commands1.el (lyskom-view-commented-text): Sätter flat-review-argumentet till t. * vars.el.in (kom-truncate-threshold, kom-truncate-show-lines): Nya variabler. * option-edit.el: Konfigurera ovanstående variabler. * english-strings.el (lyskom-message): swedish-strings.el (lyskom-message): reformat-* ändrade. * lyskom-rest.el (lyskom-signal-reformatted-text): Bygger en lista av formatteringsmetoderna istället för att bara sätta en symbol. * view-text.el (lyskom-format-text-footer): format-flags (och därmed lyskom-last-text-format-flags) är nu en lista av symboler i lyskom-messages, som formatteras till en parantes med komman emellan strängarna. (lyskom-view-text, lyskom-print-text): Nytt argument (flat-review) som är t när man återser en kommentar eller en markerad text. Används för att trunkera inlägg om användaren så önskar. 1998-08-16 David Byers * edit-text.el (kom-edit-send lyskom-edit-send lyskom-create-text-handler): Markera inte den nya texten som läst om man skickar in den anonymt. 1998-08-13 David Byers * language.el (lyskom-tell-string): Flyttade hit från lyskom-rest.el * lyskom-rest.el (lyskom-format-prompt): Hantera %A och %a * vars.el.in: Ny variabel kom-anonymous-prompt-format, kom-anonymous-prompt-format-executing * edit-text.el (kom-edit-send): Skicka kanske in texten anonymt om lyskom-is-anonymous är satt * vars.el.in: Lade till lyskom-is-anonymous * cache.el (lyskom-tell-server): Testa lyskom-is-anonymous * swedish-strings.el (kom-tell-phrases): Lade till kom-tell-is-anonymous Thu Jul 30 18:36:10 1998 Peter Liljenberg * lyskom-buttons.el (lyskom-keyboard-menu): Rensa echo-arean innan kommandot körs. Thu Jul 23 15:03:10 1998 Peter Liljenberg * commands1.el (lyskom-who-is-on-check-membership-9): (lyskom-who-is-on-check-membership-8): Använde fel datatyp. * lyskom-buttons.el (lyskom-keyboard-menu): (lyskom-button-menu): (kom-menu-button-press): Skrev kom-menu-button-press som komplement till kom-button-press. * view-mode.el (lyskom-view-mode-map): Se ovan. * english-strings.el (lyskom-en-edit-mode-map): (lyskom-en-mode-map): (lyskom-en-prioritize-mode-map): Se ovan. * swedish-strings.el (lyskom-sv-mode-map): (lyskom-sv-prioritize-mode-map): (lyskom-sv-edit-mode-map): Se ovan. Thu Jul 16 12:57:57 1998 David Kågedal * lyskom-rest.el (kom-recover): Anropar clear-all-caches när man anropar med prefixargument. Wed Jul 8 13:12:48 1998 David Kagedal * startup.el (lyskom): Den frågade inte om man ville fortsätta med en gammal session om man försökte starta en ny mot samma server. Fri Jul 3 13:52:46 1998 David Kagedal * startup.el (lyskom-mode): Stavfel i dokumentationen. 1998-06-14 David Byers * completing-read.el (lyskom-read-conf-expand-specials): Använd uconf-stat istf conf-stat. (lyskom-read-conf-no): Använd uconf-stat vid behov. (lyskom-read-uconf-stat): Ny funktion. (lyskom-read-conf-name): Använd uconf-stat vid behov. (lyskom-read-session-resolve-ambiguity): Använd uconf-stat. * cache.el (cache-get-uconf-stat): Bygg en uconf-stat bara om vi kör protokollversion 10. * commands1.el (kom-create-conf): Fråga om man tillåter hemliga medlemmar. * commands2.el (kom-status-conf): Skriv ut om hemliga medlemmar och anonyma texter är tillåtna. (kom-status-conf): Använd uconf-stat för mötestypen. Annars blir det fel. (kom-change-conf-type): Fråga om man tillåter hemliga medlemmar. Använd genomgående uconf-stat. * macros.el (lyskom-traverse-break): Nytt makro. (lyskom-traverse): Definiera om med backquote och gör det möjligt att returnera ett resultat. * commands1.el (lyskom-who-is-on-check-membership-9): Använd member-list-funktioner istället för conf-no-list. (lyskom-who-is-on-check-membership-8): Dito. * komtypes.el (lyskom-member-list-find-member): Ny funktion. * commands2.el (kom-status-conf): Byt member->conf-no till member->pers-no. * parse.el (lyskom-parse-conf-no-list): Ny funktion. * komtypes.el (lyskom-create-conf-no-list): Fixade buggen. 1998-06-10 David Byers * utilities.el (lyskom-current-time): Ny funktion. * startup.el (lyskom): Använd den 1998-06-08 David Byers * services.el (initiate-set-membership-type): Ny funktion. Whee! * parse.el: Lade till parsning av created-at i lyskom-parse-membership och lyskom-parse-member * komtypes.el: Lade till created-at i membership och member. Tue Jun 2 11:49:27 1998 David Byers * Lade in -*-coding: raw-text;-*- i alla filer. * lyskom-rest.el (silent-read): Tog bort sättning av enable-multibyte-characters. * buffers.el: Använd set-buffer-multibyte. * defvar.el (kom-dont-read-saved-variables): Tog bort defvar av enable-multibyte-characters * defvar.el (lyskom-setup-minibuffer-variables): Använd set-buffer-multibyte. * compatibility.el (set-buffer-multibyte): Ny kompatibilitetsdefinition. * swedish-strings.el, english-strings.el (lyskom-message): Ändrade på strängen old-passwd. Mon Jun 1 13:34:31 1998 David Byers * startup.el (lyskom): Använd lyskom-buffer-p för att testa om man skall fråga om bufferten skall återanvändas. Det gör att man enbart får frågan om bufferten finns och det finns en levande uppkoppling i den. * startup.el (lyskom): Skicka t i may-be-dead till lyskom-buffer-p så att en stängd lyskom-buffert återanvänds korrekt. * commands2.el (lyskom-buffer-p): Lade till optional argument may-be-dead. Wed May 27 16:30:47 1998 David Byers * completing-read.el (lyskom-complete-string): Lade till nreverse igen. * vars.el.in (lyskom-ok-to-send-new-calls): Lade till lyskom-ok-to-send-new-calls * services.el (blocking-return): Tog bort lyskom-ok-to-send-new-calls. * vars.el.in (kom-mail-address): user-full-name är en funktion, inte en variabel. Wed May 6 17:45:57 1998 Peter Liljenberg * swedish-strings.el, english-strings.el, commands1.el: Nytt kommando: Vilka är inloggade i möte. Thu Mar 12 19:51:06 1998 David Kagedal * menus.el (lyskom-do-popup-menu): Tog bort ett extra nreverse. Mon Feb 23 22:41:38 1998 David Kågedal * vars.el.in (lyskom-face-schemes): Det stod fel i kom-mark-face i ett par scheman. Sun Feb 22 11:37:57 1998 David Kågedal * startup.el (lyskom): Sätt lyskom-server-port. Wed Feb 18 18:51:28 1998 Peter Liljenberg * edit-text.el (lyskom-edit-mode): Sätter comment-start och comment-end så man kan använda comment-region för att citatmarkera text. 1998-01-31 David Byers * startup.el (lyskom): Testa att både namn och portnummer stämmer överens när man testar om det redan finns en session. * vars.el.in (lyskom-server-port): Ny variabel. 1998-01-14 David Byers * lyskom-rest.el (lyskom-fill-region): Fixade en omformatteringsbug. (kom-next-command): Stöd markering av scrollrader å sånt i XEmacs också. Tue Jan 6 06:12:39 1998 David Kågedal * services.el (lyskom-wait-queue): Här skulle man visst också återställa lyskom-ok-to-send-new-calls. Sun Jan 4 01:42:08 1998 David Kågedal * parse.el (lyskom-expect-char): Använd char-to-string. (lyskom-parse-misc-info-list): Dito. * services.el (lyskom-blocking-do-multiple): Använd lyskom-ok-to-send-new-calls här också. * startup.el (kom-start-anew): Sätt aldrig lyskom-pers-no till nil. Sätt lyskom-inhibit-prefetch till t tillfälligt. * services.el (lyskom-ok-to-send-new-calls): Ny variabel (blocking-return,blocking-do): Sätt den. * internal.el (lyskom-check-output-queues): Kolla lyskom-ok-to-send-new-calls. * utilities.el (lyskom-next-apo-timeout): Gjorde om till en defun. (lyskom-reset-apo-timeout): Dito. (lyskom-accept-process-output): Dito. * lyskom-rest.el (options): Satte prioriteten för options till 9. Sat Jan 3 22:25:51 1998 David Kågedal * internal.el (lyskom-halt,lyskom-resume): Använd assq istället för assoc. Sun Dec 28 15:15:19 1997 David Byers * option-edit.el (lyskom-customize-apply): Fixa kom-dont-read-saved-variables. (lyskom-create-widget): Skapa widget som man kan välja om variabeln skall sparas i servern eller inte. * vars.el.in (kom-url-viewer-preferences): Spara i servern. (kom-mosaic-command): Dito. (kom-audio-player): Dito. (kom-netscape-command): Dito. Thu Dec 25 10:39:23 1997 David Byers * lyskom-buttons.el (lyskom-button-open-email): Använd compose-mail om den finns. * swedish-strings.el, english-strings.el (lyskom-custom-strings): Lade till strängar för kom-personal-messages-in-window. * option-edit.el (lyskom-customize-buffer-format): Lade till kom-personal-messages-in-window. (lyskom-custom-variables): Dito. * async.el (lyskom-handle-as-personal-message): Om vi skapar bufferten för personliga meddelanden, gör den till en LysKOM-buffert och sätt den i lyskom-view-mode. * vars.el.in (lyskom-text-buttons): Uppdaterad regexp för info-referenser från teddy. (kom-personal-messages-in-window): Ny variabel. * startup.el (lyskom): Använd Tomas Abrahamssons proxy-kod. (lyskom-www-proxy-connect-filter): Ny funktion. * commands1.el (lyskom-nameday): Fixa så dagar utan namnsdagar fungerar bra också. Tue Dec 16 15:20:49 1997 David Byers * startup.el (kom-start-anew): Flytta lyskom-refetch till efter båda blocking-do. Thu Dec 4 14:57:34 1997 David Byers * async.el (lyskom-show-logged-out-person): Skriv ut server-alias när någon loggar ut. (lyskom-show-logged-in-person): Dito för inloggning. * swedish-strings.el (lyskom-message): Fixade has-entered och vänner så man kan skriva ut server-alias. Sun Nov 30 12:20:49 1997 David Byers * completing-read.el (lyskom-complete-string-advance): Fixade buggen. * commands1.el (kom-write-text): Använd consp, inte listp. Fri Nov 28 15:47:23 1997 David Byers * commands2.el (lyskom-print-mark-summary-line): Ny funktion. (kom-list-marks): Dito. * lyskom-rest.el (lyskom-read-num-range): Klara av att returnera nil om man vill. Lade till argumentet HISTORY. (lyskom-read-number): Dito. * swedish-strings.el (lyskom-message): Lade till who-send-text-to. * commands1.el (kom-send-letter): Lägg inte till avsändaren som mottagare till brev som skickas till ett möte avsändaren är medlem i. (kom-write-text): C-u i gör att vi frågar efter mottagare. Ett numeriskt prefix väljer den avsändaren som mottagare. * utilities.el (lyskom-default-collate-table): Definiera space och tab som samma tecken för att undvika oländiga loopar. * completing-read.el (lyskom-complete-string-advance-to-end-of-word): Hantera space lite bättre. (lyskom-complete-string-skip-whitespace): Dito. (lyskom-complete-string-advance): Dito. * lyskom-rest.el (lyskom-wait-for-membership): Loopa så länge lyskom lyskom-membership-is-read är en siffra. Den kan vara t och almost också, vilket orsakar problem med formatteringen. * swedish-strings.el, english-strings.el (lyskom-message): Lade till language-set-to (kom-tell-phrases): Använd inte bakslaskade åttabitarstecken. * startup.el (kom-start-anew): Flyttade visningen av motd och klagomål om presentation till efter man har läst in options. Flyttade val av språk till innan man visar motd. * vars.el.in (kom-tell-phrases): defvarade kom-tell-phrases igen. * filter-edit.el (lyskom-filter-edit-insert-entry): Gör lyskom-j-or-n-p quittable. (lyskom-filter-edit-quit): Dito. (lyskom-filter-edit-save): Dito. (lyskom-filter-edit-revert): Dito. Mon Nov 24 15:55:16 1997 David Byers * commands1.el (kom-delete-text): Avmarkera inlägg som man raderar om de är markerade. * option-edit.el (lyskom-custom-variables): kom-default-mark kan nu vara 0 till 255. * commands1.el (lyskom-review-marked-texts): Använd inte 0 som markering för att återse alla markerade. Använd nil. (kom-review-all-marked-texts): Anpassa därefter. (kom-review-marked-texts): Dito. * lyskom-buttons.el (lyskom-button-mark-text): Använd nya lyskom-mark-text. (lyskom-button-unmark-text): Använd nya lyskom-unmark-text. * commands1.el (lyskom-unmark-text): Ny funktion. (lyskom-mark-text): Använd nya initiate-mark-text. Hantera inte avmarkering. (kom-mark-text): Använd nya lyskom-mark-text. (kom-unmark-text): Använd nya lyskom-unmark-text. * services.el (initiate-unmark-text): Ny funktion. (initiate-mark-text-old): Bytte namn från initiate-mark-text. (initiate-mark-text): Ny funktion. * swedish-strings.el (lyskom-strings): Lade till strängar för att fråga om bekräftelse av radering. * commands1.el (kom-delete-text): Fråga om man vill radera markerade inlägg. * edit-text.el (lyskom-edit-send-check-recipients): Fråga inte om flera mottagare om det bara finns en riktigt mottagare. Extrakopiemottagare räknas inte. Fri Nov 14 09:35:02 1997 David Byers * lyskom-rest.el (kom-next-command): Hajlajta raden med lyskom-last-viewed om den inte är i början av fönstret. * vars.el.in (lyskom-face-schemes): Lade till kom-mark-face. (lyskom-faces): Dito. Thu Nov 13 09:37:24 1997 David Byers * edit-text.el (lyskom-edit-send-check-recipients): Kolla att man får skriva innan klienten frågar om man vill lägga till kommenterad författare som mottagare. Wed Nov 12 09:03:26 1997 David Byers * review.el (lyskom-get-texts-to): Fixade skrivfel. * distribution-README: Beskriv kompilering från enstaka fil. * lyskom-rest.el (lyskom-do-insert): Klara av att en speciel-insert-funktion signalerar ett fel. (lyskom-format-html): Försök inte formattera som HTML om inte w3 finns. Wed Nov 12 10:29:21 1997 David Kågedal * edit-text.el (lyskom-edit-send): När man la till det kommenterade inläggets författare som mottagare byggde den misc-listan fel. Mon Oct 27 11:09:35 1997 David Kågedal * flags.el (kom-edit-options-send): Fixade parentesfel. * review.el (lyskom-get-texts-by-and-to): Fixade felskrivning. Thu Oct 23 14:23:34 1997 David Byers * messages.el (lyskom-info-request-handler): Gjorde så att elispklienten reagerar på INFO igen. ^N och ^O verkade ha försvunnit av någon anledning. Sun Oct 12 00:39:47 1997 David Byers * view-text.el (lyskom-print-text): Hantera lyskom-last-text-format-flags som sträng. (lyskom-deferred-insert-footer): Dito. * parse.el (lyskom-skip-one-token): Skip arrays correctly, please. Local Variables: outline-regexp:"M\\|T\\|W\\|F\\|S\\|\t\\\*" ispell-local-dictionary: "british" coding: iso-8859-1 End: