diff --git a/src/ChangeLog b/src/ChangeLog index 70b4a3fecc40fa065c63c870a4f2fc94c52d22b4..fd2910ee1431d6e9aa8a5b1513df41c389146453 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,7 +1,32 @@ +2002-04-27 David Byers <david.byers@swipnet.se> + + 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 <qha@lysator.liu.se> Fix bug 458: - + * swedish-strings.el, english-strings.el (lyskom-message): New string: who-is-friend. diff --git a/src/check-strings.el b/src/check-strings.el index afff98b8aa4471c96c5f98bba2b7004c6552106e..2d788af5319f19b9e14aaab4d258169524d1f693 100644 --- a/src/check-strings.el +++ b/src/check-strings.el @@ -35,6 +35,9 @@ (or noninteractive (lcs-setup-message-buffer)) + (lcs-message t "Checking face schemes") + (lcs-check-face-schemes) + (lcs-message t "Checking variables") (lcs-check-language-vars) (lcs-check-lyskom-commands (mapcar 'car @@ -56,6 +59,23 @@ (or noninteractive (display-buffer lcs-message-buffer))) +(defun lcs-check-face-schemes () + "Check that all face schemes seem to be OK." + (lyskom-traverse scheme lyskom-face-schemes + (let ((faces (mapcar 'car (cdr scheme))) + (tmp nil)) + (lyskom-traverse expected-face lyskom-faces + (if (setq tmp (memq expected-face faces)) + (progn (when (memq expected-face (cdr tmp)) + (lcs-message nil "(%s) Duplicate face in scheme: %s" + (car scheme) expected-face)) + (setq faces (delq expected-face faces))) + (lcs-message nil "(%s) Face scheme missing face: %s" + (car scheme) expected-face))) + (lyskom-traverse extra-face faces + (lcs-message nil "(%s) Face scheme contains unknown face: %s" + (car scheme) extra-face))))) + (defun lcs-check-language-vars () "Check that all language-specific variables exist in all languages" (mapcar (lambda (var) diff --git a/src/edit-text.el b/src/edit-text.el index ef961abeba19fb1b37fc8fe399516ec4f1974c0a..592362f14df9d37a2f27addea04c8cf7ba65b135 100644 --- a/src/edit-text.el +++ b/src/edit-text.el @@ -1896,7 +1896,20 @@ buglist style, automating the removal of closed subjects and change-marks." (start (point)) (next-pos nil)) (if (> (point) header-end) - (call-interactively 'self-insert-command) + (unless (lyskom-traverse keymap (current-minor-mode-maps) + (let ((binding (lookup-key keymap (this-command-keys)))) + (when (and (commandp binding) + (not (eq binding + 'kom-edit-next-button-or-self-insert))) + (call-interactively binding) + (lyskom-traverse-break t)))) + (let ((binding (lookup-key (current-local-map) + (this-command-keys) t))) + (if (and (commandp binding) + (not (eq binding + 'kom-edit-next-button-or-self-insert))) + (call-interactively binding) + (call-interactively 'self-insert-command)))) (while (> num 0) (lyskom-next-area 1 'lyskom-button) (if (eq start (point)) diff --git a/src/english-strings.el b/src/english-strings.el index 02a53daf0604aa82c8545a6860c0a546622dbadb..9d69ea5cd37f32e862a9da109646c35943816fb6 100644 --- a/src/english-strings.el +++ b/src/english-strings.el @@ -879,7 +879,7 @@ Help: \\[describe-mode] ---") (which-conf-to-link . "Add link to conference: ") ; From view-text.el: - (view-text-first-line . "%#7$%#2@%#1n %#3s /%#4n line%#4?d%[%]%[s%]/ %#5P%#6?b%[%#6s%]%[%]\n") + (view-text-first-line . "%#7$%#2@%#1n %#3s /%#4d line%#4?d%[%]%[s%]/ %#5P%#6?b%[%#6s%]%[%]\n") (marked-by-you . "Marked by you (type: %#1s).\n") (marked-by-you-and-others . "Marked by you (type: %#2s) and %#1?d%[someone else%]%[%#1d others%].\n") diff --git a/src/header.el b/src/header.el index 47f049322c94bcdb306438a3c4e6ce354f181519..6e4de1cf6f9af1c52791c6d2946ce782f16d139a 100644 --- a/src/header.el +++ b/src/header.el @@ -67,4 +67,41 @@ (eval-and-compile (if (and (stringp (read-kbd-macro "<SPC>")) (string-equal (read-kbd-macro "<SPC>") "<SPC>")) - (error "You probably have a file named macedit.elc in Emacs' load path.\nIt is obsolete and must be removed in order for LysKOM to work."))) + (let ((elc-location (locate-library "macedit.elc")) + (el-location (locate-library "macedit.el")) + (elz-location (locate-library "macedit.el.gz"))) + (cond ((or el-location elc-location) + (message "\ + +You probably have a file named macedit.elc in Emacs' load path. + +This file is included in some versions of the calc package and +is no longer required as the functions that it provides are +also provided by more modern packages. + +You will need to remove macedit.el and all references to it +from Emacs. These are the files you need to remove: + +%s +To fully remove macedit you will also have to remove any +autoloads that refer to it. These may be found in a file +named auto-autoloads.elc (or auto-autoloads.el), located +in the same directory as macedit or in a file named +loaddefs.el, located elsewhere. + +With Gnu Emacs you may be successful in removing references +by using the command update-autoloads-from-directories. +" + (mapconcat (lambda (x) (or x "")) + (list elc-location el-location elz-location) + "\n")) + (error "Unable to run or compile due to obsolete macedit package.")) + (t + (message "\ + +Your definition of read-kbd-macro appears to be obsolete. This +is usually caused by having a package called macedit in Emacs +load path, but I am unable to find this package. LysKOM cannot +run with your version of read-kbd-macro. +") + (error "Unable to run or compile due to obsolete definition of read-kbd-macro.")))))) diff --git a/src/startup.el b/src/startup.el index 7a0a662c3337cc56c435c86df83bb1afd8ff7e7b..6a6d60d59460701bc03773ddce0efb0938414572 100644 --- a/src/startup.el +++ b/src/startup.el @@ -556,6 +556,8 @@ shown to other users." (progn (clear-all-caches) (unless (eq lyskom-language kom-default-language) (when (lyskom-set-language kom-default-language 'local) + (unless lyskom-have-one-login + (lyskom-set-language kom-default-language 'global)) (lyskom-format-insert-before-prompt 'language-set-to (lyskom-language-name kom-default-language))))) diff --git a/src/swedish-strings.el b/src/swedish-strings.el index 189a5396256a70b713e72cae6c0bc368c3d05566..bb171ef2e2504bee13cf3102d8f7ae2840a8bf50 100644 --- a/src/swedish-strings.el +++ b/src/swedish-strings.el @@ -880,7 +880,7 @@ Annat se \\[describe-mode] ---") (which-conf-to-link . "L�gg in l�nk till m�te: ") ;; From view-text.el: - (view-text-first-line . "%#7$%#2@%#1n %#3s /%#4n rad%#4?d%[%]%[er%]/ %#5P%#6?b%[%#6s%]%[%]\n") + (view-text-first-line . "%#7$%#2@%#1n %#3s /%#4d rad%#4?d%[%]%[er%]/ %#5P%#6?b%[%#6s%]%[%]\n") (marked-by-you . "Markerad av dig (typ: %#1s).\n") (marked-by-you-and-others . "Markerad av dig (typ: %#2s) och %#1?d%[n�gon annan%]%[%#1d andra%].\n") diff --git a/src/vars.el.in b/src/vars.el.in index 89e6771ceb9101de755f8b3ec4f0d748c79de6cc..1af798bb9e584e257a9e34a6e8996cfbb85d139d 100644 --- a/src/vars.el.in +++ b/src/vars.el.in @@ -56,7 +56,7 @@ "List of flags that are to be saved as booleans in the common block. Don't change these. They are defined by the protocol.") - + (defconst lyskom-global-non-boolean-variables '( kom-default-mark ) @@ -86,6 +86,9 @@ Don't change these. They are defined by the protocol.") (defvar lyskom-is-loaded nil "Non-nil when lyskom has been loaded.") +(defvar lyskom-have-one-login nil + "Non-nil after the first login") + (def-kom-var kom-dont-read-saved-variables '(kom-dont-read-saved-variables lyskom-login-hook) @@ -2804,7 +2807,7 @@ the value of kom-tell-phrases for fun.") kom-text-face kom-subject-face kom-text-no-face kom-friends-face kom-morons-face kom-presence-face kom-first-line-face kom-warning-face kom-mark-face - kom-text-body-face kom-dashed-lines-face) + kom-text-body-face kom-dashed-lines-face kom-dim-face) "This is a list of the faces that LysKOM uses.") (def-kom-var lyskom-face-schemes @@ -2826,6 +2829,24 @@ the value of kom-tell-phrases for fun.") (kom-dim-face default "gray" nil) (kom-dashed-lines-face nil nil "#e8e8ff") ) + (black-and-tan + (kom-text-body-face nil nil "#f8f8f0") + (kom-active-face default "#602000" nil) + (kom-url-face default "#800040" nil) + (kom-me-face bold "#602000" "#f0f0e0") + (kom-highlight-face highlight nil nil) + (kom-text-face default nil nil) + (kom-subject-face default nil nil) + (kom-text-no-face kom-active-face nil nil) + (kom-friends-face default "#602000" "#f0f0e0") + (kom-morons-face default "#602000" "#ffffc0") + (kom-presence-face italic "grey" nil) + (kom-mark-face bold "#602000" "#f0f0e0") + (kom-warning-face bold "red" nil) + (kom-first-line-face bold nil nil) + (kom-dim-face default "gray" nil) + (kom-dashed-lines-face nil nil "#f0f0e0") + ) (inverse (kom-text-body-face nil nil "#080808") (kom-active-face default "lightblue" nil) @@ -2842,10 +2863,11 @@ the value of kom-tell-phrases for fun.") (kom-warning-face bold "red" nil) (kom-first-line-face nil nil "black") (kom-dim-face default "gray" nil) - (kom-first-line-face nil nil "black") + (kom-dashed-lines-face nil nil black) ) (monochrome (kom-text-body-face nil nil nil) + (kom-dashed-lines-face nil nil nil) (kom-active-face default nil nil) (kom-url-face default nil nil) (kom-me-face bold nil nil) @@ -2860,7 +2882,6 @@ the value of kom-tell-phrases for fun.") (kom-warning-face bold nil nil) (kom-first-line-face bold nil nil) (kom-dim-face default nil nil) - (kom-first-line-face bold nil nil) ) (minimal (kom-text-body-face nil nil nil) @@ -2877,8 +2898,8 @@ the value of kom-tell-phrases for fun.") (kom-mark-face default nil "black") (kom-warning-face bold nil nil) (kom-first-line-face nil nil nil) + (kom-dashed-lines-face nil nil nil) (kom-dim-face default nil nil) - (kom-first-line-face nil nil nil) ) (highlight (kom-text-body-face nil nil "#f8f8ff") @@ -2895,8 +2916,8 @@ the value of kom-tell-phrases for fun.") (kom-mark-face bold "darkblue" "thistle") (kom-warning-face bold "yellow" "red") (kom-first-line-face nil nil "lavender") + (kom-dashed-lines-face nil nil "lavender") (kom-dim-face default "gray" nil) - (kom-first-line-face nil nil "lavender") )) "Face schemes for LysKOM.