- 05 Nov, 2012 6 commits
-
-
Eli Zaretskii authored
nt/inc/unistd.h (tcgetpgrp, setsid): Provide prototypes.
-
Juanma Barranquero authored
(DISPNEW_NEEDS_STDIO_EXT, GETPGRP_VOID, HAVE_SETPGID, HAVE_SETSID) (PENDING_OUTPUT_COUNT, SETPGRP_RELEASES_CTTY): Remove.
-
Glenn Morris authored
-
Chong Yidong authored
-
Paul Eggert authored
This removes code that has been obsolete since around 1990. * admin/CPP-DEFINES (HAVE_SETPGID, HAVE_SETSID, SETPGRP_RELEASES_CTTY): Remove; obsolete. * configure.ac (setpgid, setsid): Assume their existence. (AC_FUNC_GETPGRP, SETPGRP_RELEASES_CTTY): Remove; obsolete. * src/callproc.c (Fcall_process): * src/emacs.c (main): * src/process.c (create_process): * src/term.c (dissociate_if_controlling_tty): Assume setsid exists. * src/callproc.c (child_setup): Assume setpgid exists and behaves as per POSIX.1-1988 or later. * src/conf_post.h (setpgid) [!HAVE_SETPGID]: Remove. * src/emacs.c (shut_down_emacs): * src/sysdep.c (sys_suspend, init_foreground_group): Assume getpgrp behaves as per POSIX.1-1998 or later. * src/msdos.c (setpgrp): Remove. (tcgetpgrp, setpgid, setsid): New functions. * src/systty.h (EMACS_GETPGRP): Remove. All callers now use getpgrp. * src/term.c (no_controlling_tty): Remove; unused. * src/w32proc.c (setpgrp): Remove. (setsid, tcgetpgrp): New functions. Fixes: debbugs:12800
-
Paul Eggert authored
Now that Emacs is using the gnulib fpending module, there's no need for Emacs to have a separate implementation. * configure.ac (stdio_ext.h, __fpending): Remove now-duplicate checks. (PENDING_OUTPUT_COUNT, DISPNEW_NEEDS_STDIO_EXT): Remove. * admin/CPP-DEFINES (PENDING_OUTPUT_COUNT): Remove. * src/dispnew.c: Include <fpending.h>, not <stdio_ext.h>. (update_frame_1): Use __fpending, not PENDING_OUTPUT_COUNT. Do not assume that __fpending's result fits in int.
-
- 04 Nov, 2012 9 commits
-
-
Paul Eggert authored
* dispnew.c (update_frame_1): Remove hack for terminals slower than 2400 bps, which throttled Emacs by having it sleep. This code hasn't worked since at least 2007, when the multi-tty stuff was added, and anyway those old terminals are long dead. * systty.h (EMACS_OUTQSIZE): Remove; unused. The macro isn't used even without the dispnew.c change, as dispnew.c doesn't include systty.h.
-
Paul Eggert authored
* emacs.c (close_output_streams): Use strerror, not emacs_strerror, as we can't assume that emacs_strerror is initialized, and strerror is good enough here. (main): Invoke atexit earlier, to catch earlier instances of sending data to stdout and exiting, e.g., "emacs --version >/dev/full". Fixes: debbugs:9574
-
Juanma Barranquero authored
(GNULIB_CLOSE_STREAM, HAVE_DECL___FPENDING): New macros.
-
Glenn Morris authored
-
Glenn Morris authored
-
Glenn Morris authored
Fixes: debbugs:7850
-
Michael Marchionna authored
(keyDown): Remap keypad keys to X11 virtual key codes. Fixes: debbugs:8680
-
Chong Yidong authored
-
Juri Linkov authored
* isearch.el (isearch-help-for-help, isearch-describe-bindings) (isearch-describe-key, isearch-describe-mode): Use a display action instead of binding same-window-* variables. Fixes: debbugs:10040
-
- 03 Nov, 2012 25 commits
-
-
Eli Zaretskii authored
-
Eli Zaretskii authored
nt/config.nt (PENDING_OUTPUT_N_BYTES): Define. lib/makefile.w32-in (GNULIBOBJS): Add $(BLD)/fpending.$(O) and $(BLD)/close-stream.$(O). ($(BLD)/close-stream.$(O)): ($(BLD)/fpending.$(O)): New dependencies. Fixes: debbugs:9574
-
Glenn Morris authored
-
Glenn Morris authored
-
Glenn Morris authored
* doc/misc/cl.texi (Creating Symbols, Random Numbers): De-emphasize internal variables cl--gensym-counter and cl--random-state. * etc/NEWS: Related edits. Fixes: debbugs:12788
-
Paul Eggert authored
* admin/merge-gnulib (GNULIB_MODULES): Add close-stream. * lib/close-stream.c, lib/close-stream.h, lib/fpending.c * lib/fpending.h, m4/close-stream.m4, m4/fpending.m4: New files, from gnulib. * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. * src/emacs.c: Include <close-stream.h>. (close_output_streams): New function. (main): Pass it to atexit, so that Emacs closes stdout and stderr and handles errors appropriately. (Fkill_emacs): Don't worry about flushing, as close_output_stream does that now. Fixes: debbugs:9574
-
Glenn Morris authored
* emacs-lisp/cl-lib.el (cl--random-time): Rename from cl-random-time. (cl--gensym-counter, cl--random-state): Update callers. * emacs-lisp/cl-extra.el (cl-make-random-state): Update callers. Fixes: debbugs:12773
-
Paul Eggert authored
The symptom is a diagnostic "GLib-WARNING **: In call to g_spawn_sync(), exit status of a child process was requested but SIGCHLD action was set to SIG_IGN and ECHILD was received by waitpid(), so exit status can't be returned." The diagnostic is partly wrong, as the SIGCHLD action is not set to SIG_IGN. The real bug is a race condition between Emacs and glib: Emacs does a waitpid (-1, ...) and reaps glib's subprocess by mistake, so that glib can't find it. Work around the bug by invoking waitpid only on subprocesses that Emacs itself creates. * process.c (create_process, record_child_status_change): Don't use special value -1 in pid field, as the caller now must know the pid rather than having the callee infer it. The inference was sometimes incorrect anyway, due to another race. (create_process): Set new 'alive' member if child is created. (process_status_retrieved): New function. (record_child_status_change): Use it. Accept negative 1st argument, which means to wait for the processes that Emacs already knows about. Move special-case code for DOS_NT (which lacks WNOHANG) here, from caller. Keep track of processes that have already been waited for, by testing and clearing new 'alive' member. (CAN_HANDLE_MULTIPLE_CHILDREN): Remove, as record_child_status_change now does this internally. (handle_child_signal): Let record_child_status_change do all the work, since we do not want to reap all exited child processes, only the child processes that Emacs itself created. * process.h (Lisp_Process): New boolean member 'alive'. Fixes: debbugs:8855
-
Glenn Morris authored
* lisp/emacs-lisp/cl-macs.el (cl-parse-loop-clause): Rename handler properties back from cl-- to cl-. Fixes: debbugs:12788
-
Glenn Morris authored
-
Paul Eggert authored
* lisp.h (GCTYPEBITS, GCALIGNMENT, ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG) (VALMASK, MOST_POSITIVE_FIXNUM, MOST_NEGATIVE_FIXNUM): Define only as macros. There's no longer any need to also define these symbols as enums or as constants, since we now assume gcc -g3 when debugging.
-
Glenn Morris authored
-
Glenn Morris authored
* cl.texi: Further general copyedits. (List Functions): Remove copy-tree, standard elisp for some time. (Efficiency Concerns): Comment out examples that no longer apply. (Compiler Optimizations): Rename from "Optimizing Compiler"; reword.
-
Chong Yidong authored
-
Chong Yidong authored
-
Chong Yidong authored
* src/process.c (wait_reading_process_output): Avoid a race condition with SIGIO delivery. Fixes: debbugs:11536
-
Chong Yidong authored
* src/buffer.c (cursor_type): Untabify docstring. Fixes: debbugs:11633
-
Eli Zaretskii authored
config.bat: Copy lib/execinfo.in.h to lib/execinfo.in-h if needed. msdos/sedlibmk.inp: Sync with changes in lib/Makefile.in. (HAVE_DECL_ENVIRON, GNULIB_ENVIRON): Edit to require declaration through lib/unistd.h. msdos/sed1v2.inp: Sync with changes in src/Makefile.in. msdos/sed2v2.inp: Sync with changes in src/config.in. src/lisp.mk: Adjust comments to the fact that term/internal is now loaded from loadup.el. src/msdos.c (msdos_abort): Rename from emacs_abort, and make static. (msdos_fatal_signal): New function. (XMenuActivate): Adjust the call to kbd_buffer_events_waiting to its argument list. src/conf_post.h (_GL_EXECINFO_INLINE) [MSDOS]: Define to "inline" for GCC versions before 4. (emacs_raise): Define to call msdos_fatal_signal. lisp/term/pc-win.el: Don't load term/internal from here. lisp/loadup.el: Load term/internal from here.
-
Eli Zaretskii authored
-
Eli Zaretskii authored
-
Fabián Ezequiel Gallina authored
jit-lock. Fixes: debbugs:12645
-
Jan Djärv authored
* widget.c (resize_cb): New function. (EmacsFrameRealize): Add resize_cb as event handler. (EmacsFrameResize): Check if all is up to date before changing frame size. Fixes: debbugs:12733
-
Chong Yidong authored
* objects.texi (General Escape Syntax): Clarify the explanation of escape sequences. (Non-ASCII in Strings): Clarify when a string is unibyte vs multibyte. Hex escapes do not automatically make a string multibyte.
-
Martin Rudalics authored
* window.el (switch-to-visible-buffer) (switch-to-buffer-preserve-window-point): Fix doc-strings. * windows.texi (Switching Buffers): Document option switch-to-buffer-preserve-window-point. (Display Action Functions): Document window-height and window-width alist entries. (Display Action Functions): Document display-buffer-below-selected and display-buffer-in-previous-window. (Quitting Windows): Document quit-restore-window. Rewrite section. (Window Configurations): In window-state-get mention that argument window must be valid. (Window Parameters): Document quit-restore window parameter (Bug#12158).
-
Eli Zaretskii authored
src/xdisp.c (init_from_display_pos): Fix initialization of the bidi iterator when starting in the middle of a display or overlay string. Fixes: debbugs:12745
-