emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] 139/352: Tehdään kielestä puskurikohtainen aina, kun oikoluku me


From: Stefan Monnier
Subject: [elpa] 139/352: Tehdään kielestä puskurikohtainen aina, kun oikoluku menee päälle
Date: Mon, 07 Jul 2014 14:03:18 +0000

monnier pushed a commit to branch master
in repository elpa.

commit e2cbea5e8430fff071933e84531892d55892aa04
Author: Teemu Likonen <address@hidden>
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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]