GNU bug report logs - #17319
24.3.50; Error when battery-status-function reports "N/A"

Previous Next

Package: emacs;

Reported by: Nicolas Richard <theonewiththeevillook <at> yahoo.fr>

Date: Wed, 23 Apr 2014 05:31:02 UTC

Severity: normal

Found in version 24.3.50

Fixed in version 24.4

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 17319 in the body.
You can then email your comments to 17319 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#17319; Package emacs. (Wed, 23 Apr 2014 05:31:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Nicolas Richard <theonewiththeevillook <at> yahoo.fr>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 23 Apr 2014 05:31:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Richard <theonewiththeevillook <at> yahoo.fr>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.3.50; Error when battery-status-function reports "N/A"
Date: Wed, 23 Apr 2014 07:29:42 +0200
Hello,

When I open the lid of my laptop, it might happen that the percentage is
"N/A". battery.el assumed it is a number. I suggest the following patch
to avoid the lisp error (sorry I did not save the backtrace).

In GNU Emacs 24.3.50.7 (i686-pc-linux-gnu, GTK+ Version 2.24.20)
 of 2014-04-10 on LDLC-portable
Windowing system distributor `The X.Org Foundation', version 11.0.11405000
System Description:	Ubuntu 13.10

Configured using:
 `configure 'CFLAGS=-g3 -O2''

Important settings:
  value of $LANG: fr_BE.UTF-8
  locale-coding-system: utf-8-unix



2 files changed, 16 insertions(+), 9 deletions(-)
 lisp/ChangeLog  |  4 ++++
 lisp/battery.el | 21 ++++++++++++---------

	Modified   lisp/ChangeLog
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index a31aa5d..d81712f 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,7 @@
+2014-04-11  Nicolas Richard  <theonewiththeevillook <at> yahoo.fr>
+
+	* battery.el (battery-update): Handle the case where battery
+	status is "N/A".
 2014-04-23  Stefan Monnier  <monnier <at> iro.umontreal.ca>
 
 	* simple.el (completion-list-mode-map): Use choose-completion for the
	Modified   lisp/battery.el
diff --git a/lisp/battery.el b/lisp/battery.el
index 1eef80a..768ed78 100644
--- a/lisp/battery.el
+++ b/lisp/battery.el
@@ -201,19 +201,22 @@ seconds."
 
 (defun battery-update ()
   "Update battery status information in the mode line."
-  (let ((data (and battery-status-function (funcall battery-status-function))))
+  (let* ((data (and battery-status-function (funcall battery-status-function)))
+         (percentage (car (read-from-string (cdr (assq ?p data))))))
     (setq battery-mode-line-string
 	  (propertize (if (and battery-mode-line-format
-			       (<= (car (read-from-string (cdr (assq ?p data))))
-				   battery-mode-line-limit))
-			  (battery-format
-			   battery-mode-line-format
-			   data)
+			       (or
+                                (not (numberp percentage))
+                                (<= percentage
+                                    battery-mode-line-limit)))
+			  (battery-format battery-mode-line-format data)
 			"")
 		      'face
-		      (and (<= (car (read-from-string (cdr (assq ?p data))))
-				   battery-load-critical)
-			   'error)
+		      (or
+                       (not (numberp percentage))
+                       (and (<= percentage
+                                battery-load-critical)
+                            'error))
 		      'help-echo "Battery status information")))
   (force-mode-line-update))
 
-- 
Nico.




Reply sent to Glenn Morris <rgm <at> gnu.org>:
You have taken responsibility. (Mon, 28 Apr 2014 00:24:02 GMT) Full text and rfc822 format available.

Notification sent to Nicolas Richard <theonewiththeevillook <at> yahoo.fr>:
bug acknowledged by developer. (Mon, 28 Apr 2014 00:24:03 GMT) Full text and rfc822 format available.

Message #10 received at 17319-done <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: 17319-done <at> debbugs.gnu.org
Subject: Re: bug#17319: 24.3.50;
 Error when battery-status-function reports "N/A"
Date: Sun, 27 Apr 2014 20:23:43 -0400
Version: 24.4

Looks like this was applied.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#17319; Package emacs. (Tue, 29 Apr 2014 03:58:08 GMT) Full text and rfc822 format available.

Message #13 received at 17319-done <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
To: Nicolas Richard <theonewiththeevillook <at> yahoo.fr>
Cc: 17319-done <at> debbugs.gnu.org
Subject: Re: bug#17319: 24.3.50;
 Error when battery-status-function reports "N/A"
Date: Fri, 25 Apr 2014 14:02:00 -0400
> When I open the lid of my laptop, it might happen that the percentage is
> "N/A". battery.el assumed it is a number. I suggest the following patch
> to avoid the lisp error (sorry I did not save the backtrace).

Thanks, installed in emacs-24.


        Stefan




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 27 May 2014 11:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 11 years and 87 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.