[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
emacs-29 1383efe01d0: Fix setting $DBUS_SESSION_BUS_ADDRESS after Emacs
From: |
Michael Albinus |
Subject: |
emacs-29 1383efe01d0: Fix setting $DBUS_SESSION_BUS_ADDRESS after Emacs has started |
Date: |
Mon, 12 Jun 2023 06:45:53 -0400 (EDT) |
branch: emacs-29
commit 1383efe01d0ee8ba3ea8da5ab41b07f5672191bf
Author: Michael Albinus <michael.albinus@gmx.de>
Commit: Michael Albinus <michael.albinus@gmx.de>
Fix setting $DBUS_SESSION_BUS_ADDRESS after Emacs has started
* doc/misc/dbus.texi (Alternative Buses): Explain using
$DBUS_SESSION_BUS_ADDRESS after Emacs has started.
* src/dbusbind.c (XD_DBUS_VALIDATE_BUS_ADDRESS): Use egetenv.
---
doc/misc/dbus.texi | 20 ++++++++++++++++++--
src/dbusbind.c | 2 +-
2 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/doc/misc/dbus.texi b/doc/misc/dbus.texi
index 97a0f39ea13..2bd6b9556c8 100644
--- a/doc/misc/dbus.texi
+++ b/doc/misc/dbus.texi
@@ -1847,8 +1847,24 @@ This function establishes the connection to D-Bus
@var{bus}.
corresponding bus. For the system and session buses, this function is
called when loading @file{dbus.el}, there is no need to call it again.
-The function returns the number of connections this Emacs session has
-established to the @var{bus} under the same unique name
+If Emacs was invoked when there was no D-Bus session bus available
+yet, you can set the environment variable
+@env{DBUS_SESSION_BUS_ADDRESS} once the session bus daemon is running
+and offering the address. Calling @code{dbus-init-bus} initializes
+the connection to the session bus.
+
+@lisp
+(setenv "DBUS_SESSION_BUS_ADDRESS" "unix:path=/run/user/1000/bus")
+
+@result{} "unix:path=/run/user/1000/bus"
+
+(dbus-init-bus :session)
+
+@result{} 2
+@end lisp
+
+@code{dbus-init-bus} returns the number of connections this Emacs
+session has established to the @var{bus} under the same unique name
(@pxref{dbus-get-unique-name}). It depends on the libraries Emacs is
linked with, and on the environment Emacs is running. For example, if
Emacs is linked with the GTK+ toolkit, and it runs in a GTK+-aware
diff --git a/src/dbusbind.c b/src/dbusbind.c
index d96b735c79a..97094e407d7 100644
--- a/src/dbusbind.c
+++ b/src/dbusbind.c
@@ -276,7 +276,7 @@ XD_OBJECT_TO_STRING (Lisp_Object object)
#define XD_DBUS_VALIDATE_BUS_ADDRESS(bus) \
do { \
- char const *session_bus_address = getenv ("DBUS_SESSION_BUS_ADDRESS"); \
+ char const *session_bus_address = egetenv ("DBUS_SESSION_BUS_ADDRESS"); \
if (STRINGP (bus)) \
{
\
DBusAddressEntry **entries; \
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- emacs-29 1383efe01d0: Fix setting $DBUS_SESSION_BUS_ADDRESS after Emacs has started,
Michael Albinus <=