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

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

[elpa] 84/352: wcheck-query-language-data tarkistaa asetusten oikeellisu


From: Stefan Monnier
Subject: [elpa] 84/352: wcheck-query-language-data tarkistaa asetusten oikeellisuuden
Date: Mon, 07 Jul 2014 14:02:30 +0000

monnier pushed a commit to branch master
in repository elpa.

commit 8964cd42be03a4c3f942b4ccd283eb40bd5832ab
Author: Teemu Likonen <address@hidden>
Date:   Mon Jul 6 07:12:17 2009 +0000

    wcheck-query-language-data tarkistaa asetusten oikeellisuuden
    
    Funktio wcheck-query-language-data asetetaan nyt tarkistamaan
    muuttujassa wcheck-language-data määriteltyjen asetusten oikeellisuus.
    Mikäli avainsanaa vastaava arvo on väärää tyyppiä, voidaan palauttaa
    oletusasetus.
    
    Tämän muutoksen seurauksena on myös mahdollista antaa avainsanalle
    arvoksi "nil". Aiemmin funktio wcheck-query-language-data oletti, että
    jos arvo on "nil", niin arvoa ei ole määritelty lainkaan ja palautettiin
    mahdollisesti oletusarvo. Tätä ominaisuutta ei vielä hyödynnetä
    mihinkään, eikä tämä puute ole aiheuttanut bugeja ohjelman aiempaan
    toimintaan.
---
 wcheck-mode.el |   32 +++++++++++++++++++++++++-------
 1 files changed, 25 insertions(+), 7 deletions(-)

diff --git a/wcheck-mode.el b/wcheck-mode.el
index ca01426..f4754dc 100644
--- a/wcheck-mode.el
+++ b/wcheck-mode.el
@@ -800,13 +800,31 @@ table settings defined in LANGUAGE (see 
`wcheck-language-data')."
 
 (defun wcheck-query-language-data (language key &optional default)
   "Query `wcheck-mode' language data.
-Return LANGUAGE's value for KEY in variable
-`wcheck-language-data'. If value for KEY does not exist and if
-DEFAULT is non-nil return the default value for that KEY as
-defined in variable `wcheck-language-data-defaults'."
-  (or (cdr (assq key (cdr (assoc language wcheck-language-data))))
-      (when default
-        (cdr (assq key wcheck-language-data-defaults)))))
+Return LANGUAGE's value for KEY as defined in variable
+`wcheck-language-data'. If DEFAULT is non-nil and value for KEY
+does not exist return the default value for the as defined in
+variable `wcheck-language-data-defaults'. Also, if DEFAULT is
+non-nil and value for KEY is invalid return the default value as
+defined in `wcheck-language-data-defaults'."
+  (let* ((key-value (assq key (cdr (assoc language wcheck-language-data))))
+         (value (cdr key-value))
+         (default-value
+           (and default (cdr (assq key wcheck-language-data-defaults)))))
+    (cond ((not key-value)
+           default-value)
+          ((eq key 'syntax)
+           (if (syntax-table-p (and (boundp value)
+                                    (eval value)))
+               value default-value))
+          ((eq key 'face)
+           (if (facep value) value default-value))
+          ((or (eq key 'program)
+               (eq key 'args)
+               (eq key 'regexp-start)
+               (eq key 'regexp-body)
+               (eq key 'regexp-end)
+               (eq key 'regexp-discard))
+           (if (stringp value) value default-value)))))
 
 
 (defun wcheck-language-valid-p (language)



reply via email to

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