Commit 1aa8d505 authored by Stefan Monnier's avatar Stefan Monnier

* src/process.c: Export default filters and sentinels to Elisp.

(Qinternal_default_process_sentinel, Qinternal_default_process_filter):
New constants.
(pset_filter, pset_sentinel, make_process, Fset_process_filter)
(Fset_process_sentinel, Fformat_network_address):
Default to them instead of nil.
(server_accept_connection): Sentinels can't be nil any more.
(read_and_dispose_of_process_output): New function, extracted from
read_process_output.
(read_process_output): Use it; filters can't be nil.
(Finternal_default_process_filter): New function, extracted from
read_process_output.
(exec_sentinel_unwind): Remove function.
(exec_sentinel): Don't zilch sentinel while running.
(status_notify): Sentinels can't be nil.
(Finternal_default_process_sentinel): New function extracted from
status_notify.
(setup_process_coding_systems): Default filter is not nil any more.
(syms_of_process): Export new Elisp functions and initialize
new constants.
* src/lisp.h (make_lisp_proc): New function.
parent c9990474
......@@ -327,6 +327,9 @@ It is layered as:
* Incompatible Lisp Changes in Emacs 24.4
** Default process filers and sentinels are not nil any more.
Instead they default to a function which does what the nil value used to do.
** `read-event' does not return decoded chars in ttys any more.
Just as was the case in Emacs-22 and before, decoding of tty input according to
keyboard-coding-system is not performed in read-event any more. But contrary
......
2013-05-15 Stefan Monnier <monnier@iro.umontreal.ca>
* process.c: Export default filters and sentinels to Elisp.
(Qinternal_default_process_sentinel, Qinternal_default_process_filter):
New constants.
(pset_filter, pset_sentinel, make_process, Fset_process_filter)
(Fset_process_sentinel, Fformat_network_address):
Default to them instead of nil.
(server_accept_connection): Sentinels can't be nil any more.
(read_and_dispose_of_process_output): New function, extracted from
read_process_output.
(read_process_output): Use it; filters can't be nil.
(Finternal_default_process_filter): New function, extracted from
read_process_output.
(exec_sentinel_unwind): Remove function.
(exec_sentinel): Don't zilch sentinel while running.
(status_notify): Sentinels can't be nil.
(Finternal_default_process_sentinel): New function extracted from
status_notify.
(setup_process_coding_systems): Default filter is not nil any more.
(syms_of_process): Export new Elisp functions and initialize
new constants.
* lisp.h (make_lisp_proc): New function.
2013-05-15 Stefan Monnier <monnier@iro.umontreal.ca>
* regex.c (regex_compile) [\=, \>, \<]: Don't forget to set laststart.
......
......@@ -585,10 +585,12 @@ clip_to_bounds (ptrdiff_t lower, EMACS_INT num, ptrdiff_t upper)
(eassert (KBOARD_OBJFWDP (a)), &((a)->u_kboard_objfwd))
/* Pseudovector types. */
struct Lisp_Process;
LISP_INLINE Lisp_Object make_lisp_proc (struct Lisp_Process *p)
{ return make_lisp_ptr (p, Lisp_Vectorlike); }
#define XPROCESS(a) (eassert (PROCESSP (a)), \
(struct Lisp_Process *) XUNTAG (a, Lisp_Vectorlike))
#define XWINDOW(a) (eassert (WINDOWP (a)), \
#define XWINDOW(a) (eassert (WINDOWP (a)), \
(struct window *) XUNTAG (a, Lisp_Vectorlike))
#define XTERMINAL(a) (eassert (TERMINALP (a)), \
(struct terminal *) XUNTAG (a, Lisp_Vectorlike))
......
This diff is collapsed.
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