[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master e716538: Avoid looking at localized strings
From: |
Mark Oteiza |
Subject: |
[Emacs-diffs] master e716538: Avoid looking at localized strings |
Date: |
Sat, 9 Sep 2017 23:15:41 -0400 (EDT) |
branch: master
commit e716538911227e1bedb48978b8025106abce3734
Author: Mark Oteiza <address@hidden>
Commit: Mark Oteiza <address@hidden>
Avoid looking at localized strings
* lisp/xdg.el (xdg-desktop-read-group): Add condition to catch
localized strings.
* test/lisp/xdg-tests.el (xdg-desktop-parsing): Add test to ensure
parsing l10n strings doesn't error but is essentially a no-op.
---
lisp/xdg.el | 2 ++
test/data/xdg/l10n.desktop | 5 +++++
test/lisp/xdg-tests.el | 13 ++++++++++++-
3 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/lisp/xdg.el b/lisp/xdg.el
index 102e34c..8a475ce 100644
--- a/lisp/xdg.el
+++ b/lisp/xdg.el
@@ -177,6 +177,8 @@ This should be called at the beginning of a line."
((= (following-char) ?#))
((looking-at xdg-desktop-entry-regexp)
(puthash (match-string 1) (match-string 2) res))
+ ;; Filter localized strings
+ ((looking-at (rx (group-n 1 (+ (in alnum "-"))) (* blank) "[")))
(t (error "Malformed line: %s"
(buffer-substring (point) (point-at-eol)))))
(forward-line))
diff --git a/test/data/xdg/l10n.desktop b/test/data/xdg/l10n.desktop
new file mode 100644
index 0000000..42da839
--- /dev/null
+++ b/test/data/xdg/l10n.desktop
@@ -0,0 +1,5 @@
+# localized strings
+[Desktop Entry]
+Comment=Cheers
address@hidden
+Comment[sv]=Skål
diff --git a/test/lisp/xdg-tests.el b/test/lisp/xdg-tests.el
index 4822a05..2630e1e 100644
--- a/test/lisp/xdg-tests.el
+++ b/test/lisp/xdg-tests.el
@@ -45,7 +45,18 @@
(expand-file-name "wrong.desktop" xdg-tests-data-dir)))
(should-error
(xdg-desktop-read-file
- (expand-file-name "malformed.desktop" xdg-tests-data-dir))))
+ (expand-file-name "malformed.desktop" xdg-tests-data-dir)))
+ (let ((tab (xdg-desktop-read-file
+ (expand-file-name "l10n.desktop" xdg-tests-data-dir)))
+ (env (getenv "LC_MESSAGES")))
+ (unwind-protect
+ (progn
+ (setenv "LC_MESSAGES" nil)
+ (should (equal (gethash "Comment" tab) "Cheers"))
+ ;; l10n omitted
+ (setenv "LC_MESSAGES" "sv_SE.UTF-8")
+ (should-not (equal (gethash "Comment" tab) "Skål")))
+ (setenv "LC_MESSAGES" env))))
(ert-deftest xdg-desktop-strings-type ()
"Test desktop \"string(s)\" type: strings delimited by \";\"."
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master e716538: Avoid looking at localized strings,
Mark Oteiza <=