summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/battery.el6
2 files changed, 10 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 7cf7d50118c..24248ded265 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2014-03-23 Richard Stallman <rms@gnu.org>
+
+ * battery.el (battery-linux-sysfs): Search for each field
+ from the beginning of the buffer.
+
2014-03-22 Dmitry Gutov <dgutov@yandex.ru>
* emacs-lisp/package.el (package-desc): Use the contents of the
diff --git a/lisp/battery.el b/lisp/battery.el
index 28ddf368f5f..1eef80ab339 100644
--- a/lisp/battery.el
+++ b/lisp/battery.el
@@ -458,12 +458,15 @@ The following %-sequences are provided:
(and (re-search-forward "POWER_SUPPLY_STATUS=\\(.*\\)$" nil t)
(member charging-state '("Unknown" "Full" nil))
(setq charging-state (match-string 1)))
+ (goto-char (point-min))
(when (re-search-forward
"POWER_SUPPLY_\\(CURRENT\\|POWER\\)_NOW=\\([0-9]*\\)$"
nil t)
(setq rate (float (string-to-number (match-string 2)))))
+ (goto-char (point-min))
(when (re-search-forward "POWER_SUPPLY_TEMP=\\([0-9]*\\)$" nil t)
(setq temperature (match-string 1)))
+ (goto-char (point-min))
(let (full-string now-string)
;; Sysfs may list either charge (mAh) or energy (mWh).
;; Keep track of both, and choose which to report later.
@@ -477,7 +480,8 @@ The following %-sequences are provided:
(string-to-number full-string))
charge-now (+ charge-now
(string-to-number now-string))))
- ((and (re-search-forward
+ ((and (progn (goto-char (point-min)) t)
+ (re-search-forward
"POWER_SUPPLY_ENERGY_FULL=\\([0-9]*\\)$" nil t)
(setq full-string (match-string 1))
(re-search-forward