Commit 4d2b044c authored by Dmitry Antipov's avatar Dmitry Antipov

Drop PGET and revert read access to Lisp_Objects slots of Lisp_Process.

* process.h (PGET): Remove.
(struct Lisp_Process): Do not use INTERNAL_FIELD.
* gnutls.c, print.c, process.c, sysdep.c, w32.c, xdisp.c: Adjust users.
parent d3d50620
2012-08-07 Dmitry Antipov <dmantipov@yandex.ru>
Drop PGET and revert read access to Lisp_Objects slots of Lisp_Process.
* process.h (PGET): Remove.
(struct Lisp_Process): Do not use INTERNAL_FIELD.
* gnutls.c, print.c, process.c, sysdep.c, w32.c, xdisp.c: Adjust users.
2012-08-07 Dmitry Antipov <dmantipov@yandex.ru>
Drop WGET and revert read access to Lisp_Objects slots of struct window.
......
......@@ -1697,11 +1697,11 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
if (escapeflag)
{
strout ("#<process ", -1, -1, printcharfun);
print_string (PGET (XPROCESS (obj), name), printcharfun);
print_string (XPROCESS (obj)->name, printcharfun);
PRINTCHAR ('>');
}
else
print_string (PGET (XPROCESS (obj), name), printcharfun);
print_string (XPROCESS (obj)->name, printcharfun);
}
else if (BOOL_VECTOR_P (obj))
{
......
This diff is collapsed.
......@@ -26,15 +26,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include "gnutls.h"
#endif
/* Most code should use these macros to access Lisp fields in
struct Lisp_Process. PGET should not be used as lvalue. */
/* Most code should use these macros to set
Lisp fields in struct Lisp_Process. */
#define PGET(p, field) \
(eassert (offsetof (struct Lisp_Process, field ## _) \
< offsetof (struct Lisp_Process, pid)), \
((p)->INTERNAL_FIELD (field)))
#define PSET(p, field, value) ((p)->INTERNAL_FIELD (field) = (value))
#define PSET(p, field, value) ((p)->field = (value))
/* This structure records information about a subprocess
or network connection. */
......@@ -44,68 +39,68 @@ struct Lisp_Process
struct vectorlike_header header;
/* Name of subprocess terminal. */
Lisp_Object INTERNAL_FIELD (tty_name);
Lisp_Object tty_name;
/* Name of this process */
Lisp_Object INTERNAL_FIELD (name);
Lisp_Object name;
/* List of command arguments that this process was run with.
Is set to t for a stopped network process; nil otherwise. */
Lisp_Object INTERNAL_FIELD (command);
Lisp_Object command;
/* (funcall FILTER PROC STRING) (if FILTER is non-nil)
to dispose of a bunch of chars from the process all at once */
Lisp_Object INTERNAL_FIELD (filter);
Lisp_Object filter;
/* (funcall SENTINEL PROCESS) when process state changes */
Lisp_Object INTERNAL_FIELD (sentinel);
Lisp_Object sentinel;
/* (funcall LOG SERVER CLIENT MESSAGE) when a server process
accepts a connection from a client. */
Lisp_Object INTERNAL_FIELD (log);
Lisp_Object log;
/* Buffer that output is going to */
Lisp_Object INTERNAL_FIELD (buffer);
Lisp_Object buffer;
/* t if this is a real child process. For a network or serial
connection, it is a plist based on the arguments to
make-network-process or make-serial-process. */
Lisp_Object INTERNAL_FIELD (childp);
Lisp_Object childp;
/* Plist for programs to keep per-process state information, parameters, etc. */
Lisp_Object INTERNAL_FIELD (plist);
Lisp_Object plist;
/* Symbol indicating the type of process: real, network, serial */
Lisp_Object INTERNAL_FIELD (type);
Lisp_Object type;
/* Marker set to end of last buffer-inserted output from this process */
Lisp_Object INTERNAL_FIELD (mark);
Lisp_Object mark;
/* Symbol indicating status of process.
This may be a symbol: run, open, or closed.
Or it may be a list, whose car is stop, exit or signal
and whose cdr is a pair (EXIT_CODE . COREDUMP_FLAG)
or (SIGNAL_NUMBER . COREDUMP_FLAG). */
Lisp_Object INTERNAL_FIELD (status);
Lisp_Object status;
/* Coding-system for decoding the input from this process. */
Lisp_Object INTERNAL_FIELD (decode_coding_system);
Lisp_Object decode_coding_system;
/* Working buffer for decoding. */
Lisp_Object INTERNAL_FIELD (decoding_buf);
Lisp_Object decoding_buf;
/* Coding-system for encoding the output to this process. */
Lisp_Object INTERNAL_FIELD (encode_coding_system);
Lisp_Object encode_coding_system;
/* Working buffer for encoding. */
Lisp_Object INTERNAL_FIELD (encoding_buf);
Lisp_Object encoding_buf;
/* Queue for storing waiting writes */
Lisp_Object INTERNAL_FIELD (write_queue);
Lisp_Object write_queue;
#ifdef HAVE_GNUTLS
Lisp_Object INTERNAL_FIELD (gnutls_cred_type);
Lisp_Object gnutls_cred_type;
#endif
/* After this point, there are no Lisp_Objects any more. */
......
......@@ -2159,7 +2159,7 @@ serial_configure (struct Lisp_Process *p,
int err = -1;
char summary[4] = "???"; /* This usually becomes "8N1". */
childp2 = Fcopy_sequence (PGET (p, childp));
childp2 = Fcopy_sequence (p->childp);
/* Read port attributes and prepare default configuration. */
err = tcgetattr (p->outfd, &attr);
......@@ -2177,7 +2177,7 @@ serial_configure (struct Lisp_Process *p,
if (!NILP (Fplist_member (contact, QCspeed)))
tem = Fplist_get (contact, QCspeed);
else
tem = Fplist_get (PGET (p, childp), QCspeed);
tem = Fplist_get (p->childp, QCspeed);
CHECK_NUMBER (tem);
err = cfsetspeed (&attr, XINT (tem));
if (err != 0)
......@@ -2189,7 +2189,7 @@ serial_configure (struct Lisp_Process *p,
if (!NILP (Fplist_member (contact, QCbytesize)))
tem = Fplist_get (contact, QCbytesize);
else
tem = Fplist_get (PGET (p, childp), QCbytesize);
tem = Fplist_get (p->childp, QCbytesize);
if (NILP (tem))
tem = make_number (8);
CHECK_NUMBER (tem);
......@@ -2210,7 +2210,7 @@ serial_configure (struct Lisp_Process *p,
if (!NILP (Fplist_member (contact, QCparity)))
tem = Fplist_get (contact, QCparity);
else
tem = Fplist_get (PGET (p, childp), QCparity);
tem = Fplist_get (p->childp, QCparity);
if (!NILP (tem) && !EQ (tem, Qeven) && !EQ (tem, Qodd))
error (":parity must be nil (no parity), `even', or `odd'");
#if defined (PARENB) && defined (PARODD) && defined (IGNPAR) && defined (INPCK)
......@@ -2243,7 +2243,7 @@ serial_configure (struct Lisp_Process *p,
if (!NILP (Fplist_member (contact, QCstopbits)))
tem = Fplist_get (contact, QCstopbits);
else
tem = Fplist_get (PGET (p, childp), QCstopbits);
tem = Fplist_get (p->childp, QCstopbits);
if (NILP (tem))
tem = make_number (1);
CHECK_NUMBER (tem);
......@@ -2265,7 +2265,7 @@ serial_configure (struct Lisp_Process *p,
if (!NILP (Fplist_member (contact, QCflowcontrol)))
tem = Fplist_get (contact, QCflowcontrol);
else
tem = Fplist_get (PGET (p, childp), QCflowcontrol);
tem = Fplist_get (p->childp, QCflowcontrol);
if (!NILP (tem) && !EQ (tem, Qhw) && !EQ (tem, Qsw))
error (":flowcontrol must be nil (no flowcontrol), `hw', or `sw'");
#if defined (CRTSCTS)
......
......@@ -6890,7 +6890,7 @@ serial_configure (struct Lisp_Process *p, Lisp_Object contact)
error ("Not a serial process");
hnd = fd_info[ p->outfd ].hnd;
childp2 = Fcopy_sequence (PGET (p, childp));
childp2 = Fcopy_sequence (p->childp);
/* Initialize timeouts for blocking read and blocking write. */
if (!GetCommTimeouts (hnd, &ct))
......@@ -6919,7 +6919,7 @@ serial_configure (struct Lisp_Process *p, Lisp_Object contact)
if (!NILP (Fplist_member (contact, QCspeed)))
tem = Fplist_get (contact, QCspeed);
else
tem = Fplist_get (PGET (p, childp), QCspeed);
tem = Fplist_get (p->childp, QCspeed);
CHECK_NUMBER (tem);
dcb.BaudRate = XINT (tem);
childp2 = Fplist_put (childp2, QCspeed, tem);
......@@ -6928,7 +6928,7 @@ serial_configure (struct Lisp_Process *p, Lisp_Object contact)
if (!NILP (Fplist_member (contact, QCbytesize)))
tem = Fplist_get (contact, QCbytesize);
else
tem = Fplist_get (PGET (p, childp), QCbytesize);
tem = Fplist_get (p->childp, QCbytesize);
if (NILP (tem))
tem = make_number (8);
CHECK_NUMBER (tem);
......@@ -6942,7 +6942,7 @@ serial_configure (struct Lisp_Process *p, Lisp_Object contact)
if (!NILP (Fplist_member (contact, QCparity)))
tem = Fplist_get (contact, QCparity);
else
tem = Fplist_get (PGET (p, childp), QCparity);
tem = Fplist_get (p->childp, QCparity);
if (!NILP (tem) && !EQ (tem, Qeven) && !EQ (tem, Qodd))
error (":parity must be nil (no parity), `even', or `odd'");
dcb.fParity = FALSE;
......@@ -6972,7 +6972,7 @@ serial_configure (struct Lisp_Process *p, Lisp_Object contact)
if (!NILP (Fplist_member (contact, QCstopbits)))
tem = Fplist_get (contact, QCstopbits);
else
tem = Fplist_get (PGET (p, childp), QCstopbits);
tem = Fplist_get (p->childp, QCstopbits);
if (NILP (tem))
tem = make_number (1);
CHECK_NUMBER (tem);
......@@ -6989,7 +6989,7 @@ serial_configure (struct Lisp_Process *p, Lisp_Object contact)
if (!NILP (Fplist_member (contact, QCflowcontrol)))
tem = Fplist_get (contact, QCflowcontrol);
else
tem = Fplist_get (PGET (p, childp), QCflowcontrol);
tem = Fplist_get (p->childp, QCflowcontrol);
if (!NILP (tem) && !EQ (tem, Qhw) && !EQ (tem, Qsw))
error (":flowcontrol must be nil (no flowcontrol), `hw', or `sw'");
dcb.fOutxCtsFlow = FALSE;
......
......@@ -21676,9 +21676,9 @@ decode_mode_spec (struct window *w, register int c, int field_width,
if (PROCESSP (obj))
{
p = decode_mode_spec_coding
(PGET (XPROCESS (obj), decode_coding_system), p, eol_flag);
(XPROCESS (obj)->decode_coding_system, p, eol_flag);
p = decode_mode_spec_coding
(PGET (XPROCESS (obj), encode_coding_system), p, eol_flag);
(XPROCESS (obj)->encode_coding_system, p, eol_flag);
}
#endif /* subprocesses */
#endif /* 0 */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment