From 9e37f3b9c3321029fb12479c1e1bbba7e708f8f5 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sat, 22 Mar 2014 17:08:47 -0700 Subject: [PATCH] Backport Yeeloong battery.el fix from trunk Ref: http://lists.gnu.org/archive/html/emacs-devel/2014-03/msg00782.html * lisp/battery.el (battery-linux-sysfs): Search for each field from the beginning of the buffer. --- lisp/ChangeLog | 5 +++++ lisp/battery.el | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 7cf7d50118..24248ded26 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2014-03-23 Richard Stallman + + * battery.el (battery-linux-sysfs): Search for each field + from the beginning of the buffer. + 2014-03-22 Dmitry Gutov * emacs-lisp/package.el (package-desc): Use the contents of the diff --git a/lisp/battery.el b/lisp/battery.el index 28ddf368f5..1eef80ab33 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 -- 2.20.1