monnier pushed a commit to branch master
in repository elpa.
commit e2cbea5e8430fff071933e84531892d55892aa04
Author: Teemu Likonen <[email protected]>
Date: Sat Jan 16 10:43:25 2010 +0000
Tehdään kielestä puskurikohtainen aina, kun oikoluku menee päälle
Aiemmin kielimuuttujaa ei muutettu puskurikohtaiseksi automaattisesti,
joten globaalin oletuskielen muuttaminen saattoi muuttaa joidenkin
puskurien kieltä. Se ei onneksi vaikuttanut oikoluvun ollessa päällä,
mutta seuraavalla kerralla oikolukukieli saattoi olla eri. Vika on nyt
korjattu.
Lisäksi kielenvaihtokomentoa on muutettu siten, että globaalin
oletuskielen muuttaminen ei enää vaikuta mihinkään muuhun kuin muuttujan
wcheck-language globaaliin arvoon. Ennen se saattoi muuttaa
puskurikohtaista oikolukukieltäkin.
---
wcheck-mode.el | 40 ++++++++++++++++++++++++----------------
1 files changed, 24 insertions(+), 16 deletions(-)
diff --git a/wcheck-mode.el b/wcheck-mode.el
index f465212..1d7aa44 100644
--- a/wcheck-mode.el
+++ b/wcheck-mode.el
@@ -274,7 +274,10 @@ buffer-local but if GLOBAL is non-nil (prefix argument if
called
interactively) then change the global default language."
(interactive
(let* ((comp (mapcar #'car wcheck-language-data))
- (default (cond ((member wcheck-language comp)
+ (default (cond ((and current-prefix-arg
+ (member (default-value 'wcheck-language) comp))
+ (default-value 'wcheck-language))
+ ((member wcheck-language comp)
wcheck-language)
((car comp))
(t ""))))
@@ -290,27 +293,29 @@ interactively) then change the global default language."
;; database, if needed.
(when (stringp language)
(if global
+ ;; Just change the global value and leave.
(setq-default wcheck-language language)
- (setq wcheck-language language))
- ;; If the mode is currently turned on we check if language's program
- ;; is executable and if all is OK request update for the buffer.
- ;; Otherwise turn off the mode.
- (when wcheck-mode
- (let ((program (wcheck-query-language-data language 'program)))
- (if (wcheck-program-executable-p program)
- ;; It's executable; update the buffer.
- (progn
- (wcheck-update-buffer-data (current-buffer) language)
- (wcheck-timer-add-read-request (current-buffer))
- (wcheck-remove-overlays))
+ ;; Change the buffer-local value.
+ (setq wcheck-language language)
+ ;; If the mode is currently turned on check if language's program
+ ;; is executable and if all is OK request update for the buffer.
+ (when wcheck-mode
+ (let ((program (wcheck-query-language-data wcheck-language 'program)))
+ (if (wcheck-program-executable-p program)
+ ;; It's executable; update the buffer.
+ (progn
+ (wcheck-update-buffer-data (current-buffer) wcheck-language)
+ (wcheck-timer-add-read-request (current-buffer))
+ (wcheck-remove-overlays))
;; It's not executable; turn off.
(wcheck-mode -1)
(when (interactive-p)
- (wcheck-error-program-not-executable language program)))))
+ (wcheck-error-program-not-executable wcheck-language program))))))
- (wcheck-get-data :buffer (current-buffer) :language)))
+ ;; Return the language.
+ language))
;;;###autoload
@@ -373,6 +378,9 @@ information on how to configure Wcheck mode. Interactive
command
(t
;; We are ready to really turn on the mode.
+ ;; Make language buffer-local
+ (make-local-variable 'wcheck-language)
+
;; Add hooks.
(wcheck-add-local-hooks (current-buffer))
(wcheck-add-global-hooks)