summaryrefslogtreecommitdiff
path: root/src/xsmfns.c
diff options
context:
space:
mode:
authorJan Djärv <jan.h.d@swipnet.se>2004-10-26 09:28:01 +0000
committerJan Djärv <jan.h.d@swipnet.se>2004-10-26 09:28:01 +0000
commit4f2f546e7148491121899d063e746ecb618aeb43 (patch)
tree635074d14996f89eba8795d68210b1bf5083d381 /src/xsmfns.c
parentfb2496f408e91c71703f87dfda61bf0228cd6b72 (diff)
downloademacs-4f2f546e7148491121899d063e746ecb618aeb43.tar.gz
* xsmfns.c: Put empty line between comment and function body.
Use two spaces before comment end.
Diffstat (limited to 'src/xsmfns.c')
-rw-r--r--src/xsmfns.c82
1 files changed, 47 insertions, 35 deletions
diff --git a/src/xsmfns.c b/src/xsmfns.c
index 9a6a7ccefb8..5b53c0ca34d 100644
--- a/src/xsmfns.c
+++ b/src/xsmfns.c
@@ -73,33 +73,35 @@ static int ice_fd = -1;
static int doing_interact = False;
-/* The session manager object for the session manager connection */
+/* The session manager object for the session manager connection. */
static SmcConn smc_conn;
-/* The client session id for this session */
+/* The client session id for this session. */
+
static char *client_id;
-/* The full path name to the Emacs program */
+/* The full path name to the Emacs program. */
+
static char *emacs_program;
-/* The client session id for this session as a lisp object. */
+/* The client session id for this session as a lisp object. */
Lisp_Object Vx_session_id;
/* The id we had the previous session. This is only available if we
- have been started by the session manager with SMID_OPT. */
+ have been started by the session manager with SMID_OPT. */
Lisp_Object Vx_session_previous_id;
/* The option we tell the session manager to start Emacs with when
- restarting Emacs. The client_id is appended. */
+ restarting Emacs. The client_id is appended. */
#define SMID_OPT "--smid="
/* The option to start Emacs without the splash screen when
- restarting Emacs. */
+ restarting Emacs. */
#define NOSPLASH_OPT "--no-splash"
@@ -107,6 +109,7 @@ Lisp_Object Vx_session_previous_id;
/* Handle any messages from the session manager. If no connection is
open to a session manager, just return 0.
Otherwise returns 1 if SAVE_SESSION_EVENT is stored in buffer BUFP. */
+
int
x_session_check_input (bufp)
struct input_event *bufp;
@@ -125,7 +128,7 @@ x_session_check_input (bufp)
/* Reset this so wo can check kind after callbacks have been called by
IceProcessMessages. The smc_interact_CB sets the kind to
SAVE_SESSION_EVENT, but we don't know beforehand if that callback
- will be called. */
+ will be called. */
emacs_event.kind = NO_EVENT;
if (select (ice_fd+1, &read_fds,
@@ -142,7 +145,7 @@ x_session_check_input (bufp)
/* Check if smc_interact_CB was called and we shall generate a
- SAVE_SESSION_EVENT. */
+ SAVE_SESSION_EVENT. */
if (emacs_event.kind == NO_EVENT)
return 0;
@@ -150,7 +153,8 @@ x_session_check_input (bufp)
return 1;
}
-/* Return non-zero if we have a connection to a session manager.*/
+/* Return non-zero if we have a connection to a session manager. */
+
int
x_session_have_connection ()
{
@@ -159,7 +163,8 @@ x_session_have_connection ()
/* This is called when the session manager says it is OK to interact with the
user. Here we set the kind to SAVE_SESSION_EVENT so an event is generated.
- Then lisp code can interact with the user. */
+ Then lisp code can interact with the user. */
+
static void
smc_interact_CB (smcConn, clientData)
SmcConn smcConn;
@@ -175,7 +180,8 @@ smc_interact_CB (smcConn, clientData)
are started in the correct directory.
If this is a shutdown and we can request to interact with the user,
- we do so, because we don't know what the lisp code might do. */
+ we do so, because we don't know what the lisp code might do. */
+
static void
smc_save_yourself_CB (smcConn,
clientData,
@@ -202,7 +208,7 @@ smc_save_yourself_CB (smcConn,
char cwd[MAXPATHLEN+1];
char *smid_opt;
- /* How to start a new instance of Emacs */
+ /* How to start a new instance of Emacs. */
props[props_idx] = &prop_ptr[props_idx];
props[props_idx]->name = SmCloneCommand;
props[props_idx]->type = SmLISTofARRAY8;
@@ -212,7 +218,7 @@ smc_save_yourself_CB (smcConn,
props[props_idx]->vals[0].value = emacs_program;
++props_idx;
- /* The name of the program */
+ /* The name of the program. */
props[props_idx] = &prop_ptr[props_idx];
props[props_idx]->name = SmProgram;
props[props_idx]->type = SmARRAY8;
@@ -222,11 +228,11 @@ smc_save_yourself_CB (smcConn,
props[props_idx]->vals[0].value = SDATA (Vinvocation_name);
++props_idx;
- /* How to restart Emacs (i.e.: /path/to/emacs --smid=xxxx --no-splash). */
+ /* How to restart Emacs (i.e.: /path/to/emacs --smid=xxxx --no-splash). */
props[props_idx] = &prop_ptr[props_idx];
props[props_idx]->name = SmRestartCommand;
props[props_idx]->type = SmLISTofARRAY8;
- props[props_idx]->num_vals = 3; /* /path/to/emacs, --smid=xxx --no-splash */
+ props[props_idx]->num_vals = 3; /* /path/to/emacs, --smid=xxx --no-splash */
props[props_idx]->vals = &values[val_idx];
props[props_idx]->vals[0].length = strlen (emacs_program);
props[props_idx]->vals[0].value = emacs_program;
@@ -243,7 +249,7 @@ smc_save_yourself_CB (smcConn,
val_idx += 3;
++props_idx;
- /* User id */
+ /* User id. */
props[props_idx] = &prop_ptr[props_idx];
props[props_idx]->name = SmUserID;
props[props_idx]->type = SmARRAY8;
@@ -253,7 +259,7 @@ smc_save_yourself_CB (smcConn,
props[props_idx]->vals[0].value = SDATA (Vuser_login_name);
++props_idx;
- /* The current directory property, not mandatory */
+ /* The current directory property, not mandatory. */
#ifdef HAVE_GETCWD
if (getcwd (cwd, MAXPATHLEN+1) != 0)
#else
@@ -275,18 +281,19 @@ smc_save_yourself_CB (smcConn,
xfree (smid_opt);
- /* See if we maybe shall interact with the user. */
+ /* See if we maybe shall interact with the user. */
if (interactStyle != SmInteractStyleAny
|| ! shutdown
|| saveType == SmSaveLocal
|| ! SmcInteractRequest (smcConn, SmDialogNormal, smc_interact_CB, 0))
{
- /* No interaction, we are done saving ourself. */
+ /* No interaction, we are done saving ourself. */
SmcSaveYourselfDone (smcConn, True);
}
}
-/* According to the SM specification, this shall close the connection */
+/* According to the SM specification, this shall close the connection. */
+
static void
smc_die_CB (smcConn, clientData)
SmcConn smcConn;
@@ -300,7 +307,8 @@ smc_die_CB (smcConn, clientData)
According to the SM specification, we should not interact with the
user between smc_save_yourself_CB is called and until smc_save_complete_CB
is called. It seems like a lot of job to implement this and it doesn't
- even seem necessary. */
+ even seem necessary. */
+
static void
smc_save_complete_CB (smcConn, clientData)
SmcConn smcConn;
@@ -318,7 +326,8 @@ smc_shutdown_cancelled_CB (smcConn, clientData)
}
/* Error handlers for SM and ICE. We don't want to exit Emacs just
- because there is some error in the session management. */
+ because there is some error in the session management. */
+
static void
smc_error_handler (smcConn,
swap,
@@ -335,7 +344,7 @@ smc_error_handler (smcConn,
int severity;
SmPointer values;
{
- /* Empty */
+ /* Empty */
}
static void
@@ -354,7 +363,7 @@ ice_error_handler (iceConn,
int severity;
IcePointer values;
{
- /* Empty */
+ /* Empty */
}
@@ -362,12 +371,13 @@ static void
ice_io_error_handler (iceConn)
IceConn iceConn;
{
- /* Connection probably gone. */
+ /* Connection probably gone. */
ice_fd = -1;
}
/* This is called when the ICE connection is created or closed. The SM library
- uses ICE as it transport protocol. */
+ uses ICE as it transport protocol. */
+
static void
ice_conn_watch_CB (iceConn, clientData, opening, watchData)
IceConn iceConn;
@@ -400,6 +410,7 @@ ice_conn_watch_CB (iceConn, clientData, opening, watchData)
}
/* Create the client leader window. */
+
static void
create_client_leader_window (dpyinfo, client_id)
struct x_display_info *dpyinfo;
@@ -426,7 +437,8 @@ create_client_leader_window (dpyinfo, client_id)
dpyinfo->client_leader_window = w;
}
-/* Try to open a connection to the session manager. */
+/* Try to open a connection to the session manager. */
+
void
x_session_initialize (dpyinfo)
struct x_display_info *dpyinfo;
@@ -438,17 +450,17 @@ x_session_initialize (dpyinfo)
int name_len = 0;
/* Check if we where started by the session manager. If so, we will
- have a previous id. */
+ have a previous id. */
if (! EQ (Vx_session_previous_id, Qnil) && STRINGP (Vx_session_previous_id))
previous_id = SDATA (Vx_session_previous_id);
- /* Construct the path to the Emacs program. */
+ /* Construct the path to the Emacs program. */
if (! EQ (Vinvocation_directory, Qnil))
name_len += strlen (SDATA (Vinvocation_directory));
name_len += strlen (SDATA (Vinvocation_name));
/* This malloc will not be freed, but it is only done once, and hopefully
- not very large */
+ not very large */
emacs_program = xmalloc (name_len + 1);
emacs_program[0] = '\0';
@@ -457,7 +469,7 @@ x_session_initialize (dpyinfo)
strcat (emacs_program, SDATA (Vinvocation_name));
/* The SM protocol says all callbacks are mandatory, so set up all
- here and in the mask passed to SmcOpenConnection */
+ here and in the mask passed to SmcOpenConnection. */
callbacks.save_yourself.callback = smc_save_yourself_CB;
callbacks.save_yourself.client_data = 0;
callbacks.die.callback = smc_die_CB;
@@ -467,17 +479,17 @@ x_session_initialize (dpyinfo)
callbacks.shutdown_cancelled.callback = smc_shutdown_cancelled_CB;
callbacks.shutdown_cancelled.client_data = 0;
- /* Set error handlers. */
+ /* Set error handlers. */
SmcSetErrorHandler (smc_error_handler);
IceSetErrorHandler (ice_error_handler);
IceSetIOErrorHandler (ice_io_error_handler);
- /* Install callback for when connection status changes. */
+ /* Install callback for when connection status changes. */
IceAddConnectionWatch (ice_conn_watch_CB, 0);
/* Open the connection to the session manager. A failure is not
critical, it usually means that no session manager is running.
- The errorstring is here for debugging. */
+ The errorstring is here for debugging. */
smc_conn = SmcOpenConnection (NULL, NULL, 1, 0,
(SmcSaveYourselfProcMask|
SmcDieProcMask|