+2013-12-04 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/dbus.el (dbus-byte-array-to-string): Accept also byte arrays
+ in D-Bus type syntax.
+ (dbus-unescape-from-identifier): Use `byte-to-string' in order to
+ preserve unibyte strings. (Bug#16048)
+
2013-12-04 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/eldoc.el (eldoc-minibuffer-message):
2013-12-03 Tom Regner <tom@goochesa.de> (tiny change)
* notifications.el (notifications-close-notification): Call the
- D-Bus method with `id' being an `:uint32'. (Bug#16030)
+ D-Bus method with ID being a `:uint32'. (Bug#16030)
2013-12-03 Katsumi Yamaoka <yamaoka@jpl.org>
(defun dbus-byte-array-to-string (byte-array)
"Transforms BYTE-ARRAY into UTF8 coded string.
-BYTE-ARRAY must be a list of structure (c1 c2 ...)."
- (apply 'string byte-array))
+BYTE-ARRAY must be a list of structure (c1 c2 ...), or a byte
+array as produced by `dbus-string-to-byte-array'."
+ (apply
+ 'string
+ (if (equal byte-array '(:array :signature "y"))
+ nil
+ (let (result)
+ (dolist (elt byte-array result)
+ (when (characterp elt) (setq result (append result `(,elt)))))))))
(defun dbus-escape-as-identifier (string)
"Escape an arbitrary STRING so it follows the rules for a C identifier.
""
(replace-regexp-in-string
"_.."
- (lambda (x) (format "%c" (string-to-number (substring x 1) 16)))
+ (lambda (x) (byte-to-string (string-to-number (substring x 1) 16)))
string)))
\f