1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-03 18:41:25 -08:00
Commit graph

12886 commits

Author SHA1 Message Date
Stefan Monnier
de5ef41a76 * src/xfaces.c (Qultra_light, Qreverse_oblique, Qreverse_italic)
(Qultra_condensed, Qextra_condensed, Qcondensed, Qsemi_condensed)
(Qsemi_expanded, Qextra_expanded, Qexpanded, Qultra_expanded):
Remove unused vars.
2012-11-08 16:02:10 -05:00
Jan Djärv
a23c4171a7 * image.c (xpm_make_color_table_h): Fix compiler error because
make_hash_table changed.
2012-11-08 20:52:28 +01:00
Jan Djärv
074d7bb094 nsfont.m (ns_findfonts): Handle empty matchingDescs (Bug#11541). 2012-11-08 20:51:07 +01:00
Stefan Monnier
b7432bb20f Use ad-hoc comparison function for the profiler's hash-tables.
* src/profiler.c (Qprofiler_backtrace_equal, hashtest_profiler): New vars.
(make_log): Use them.
(handle_profiler_signal): Don't inhibit quit any longer since we don't
call Fequal any more.
(Ffunction_equal): New function.
(cmpfn_profiler, hashfn_profiler): New functions.
(syms_of_profiler): Initialize them.
* src/lisp.h (struct hash_table_test): New struct.
(struct Lisp_Hash_Table): Use it.
* src/alloc.c (mark_object): Mark hash_table_test fields of hash tables.
* src/fns.c (make_hash_table): Take a struct to describe the test.
(cmpfn_eql, cmpfn_equal, cmpfn_user_defined, hashfn_eq, hashfn_eql)
(hashfn_equal, hashfn_user_defined): Adjust to new calling convention.
(hash_lookup, hash_remove_from_table): Move assertion checking of
hashfn result here.  Check hash-equality before calling cmpfn.
(Fmake_hash_table): Adjust call to make_hash_table.
(hashtest_eq, hashtest_eql, hashtest_equal): New structs.
(syms_of_fns): Initialize them.
* src/emacs.c (main): Move syms_of_fns earlier.
* src/xterm.c (syms_of_xterm):
* src/category.c (hash_get_category_set): Adjust call to make_hash_table.
* src/print.c (print_object): Adjust to new hash-table struct.
* src/composite.c (composition_gstring_put_cache): Adjust to new hashfn.
2012-11-08 14:12:23 -05:00
Eli Zaretskii
880027430c More fixes for bug #12806.
src/w32fns.c (modifier_set): Fix handling of Scroll Lock when the
 value of w32-scroll-lock-modifier is neither nil nor one of the
 known key modifiers.
2012-11-08 19:02:56 +02:00
Dmitry Antipov
914adc427f Shrink struct vectorlike_header to the only size field.
* lisp.h (enum pvec_type): Avoid explicit enum member values.
Adjust comment.
(enum More_Lisp_Bits): Change PSEUDOVECTOR_SIZE_BITS and
PVEC_TYPE_MASK to arrange new bitfield in the vector header.
(PSEUDOVECTOR_REST_BITS, PSEUDOVECTOR_REST_MASK): New members.
(PSEUDOVECTOR_AREA_BITS): New member used to extract subtype
information from the vector header.  Adjust comment.
(XSETPVECTYPE, XSETPVECTYPESIZE, XSETTYPED_PSEUDOVECTOR)
(PSEUDOVECTOR_TYPEP, DEFUN): Adjust to match new vector header
layout.
(XSETSUBR, SUBRP): Adjust to match new Lisp_Subr layout.
(struct vectorlike_header): Remove next member.  Adjust comment.
(struct Lisp_Subr): Add convenient header.  Adjust comment.
(allocate_pseudovector): Adjust prototype.
* alloc.c (mark_glyph_matrix, mark_face_cache, allocate_string)
(sweep_string, lisp_malloc): Remove useless prototypes.
(enum mem_type): Adjust comment.
(NEXT_IN_FREE_LIST): New macro.
(SETUP_ON_FREE_LIST): Adjust XSETPVECTYPESIZE usage.
(Fmake_bool_vector): Likewise.
(struct large_vector): New type to represent allocation unit for
the vectors with the memory footprint more than VBLOOCK_BYTES_MAX.
(large_vectors): Change type to struct large_vector.
(allocate_vector_from_block): Simplify.
(PSEUDOVECTOR_NBYTES): Replace with...
(vector_nbytes): ...new function.  Adjust users.
(sweep_vectors): Adjust processing of large vectors.
(allocate_vectorlike): Likewise.
(allocate_pseudovector): Change type of 3rd arg to enum pvec_type.
Add easserts.  Adjust XSETPVECTYPESIZE usage.
(allocate_buffer): Use BUFFER_PVEC_INIT.
(live_vector_p): Adjust to match large vector.
* buffer.c (init_buffer_once): Use BUFFER_PVEC_INIT.
* buffer.h (struct buffer): Add next member.
(BUFFER_LISP_SIZE, BUFFER_REST_SIZE, BUFFER_PVEC_INIT):
New macros.
(FOR_EACH_BUFFER): Adjust to match struct buffer change.
* fns.c (internal_equal): Adjust to match enum pvec_type change.
(copy_hash_table): Adjust to match vector header change.
* lread.c (defsubr): Use XSETPVECTYPE.
* .gdbinit (xpr, xbacktrace): Adjust to match vector header change.
(xvectype): Likewise.  Print PVEC_NORMAL_VECTOR for regular vectors.
(xvecsize): New command.
2012-11-08 18:10:28 +04:00
Dmitry Antipov
c66f21eaf1 * keyboard.c (event_to_kboard): Do not dereference
frame_or_window field of SELECTION_REQUEST_EVENT
and SELECTION_CLEAR_EVENT events (Bug#12814).
* xterm.h (struct selection_input_event): Adjust comment.
2012-11-08 13:26:40 +04:00
Eli Zaretskii
6b064c16b1 Fix Num Lock handling related to bug #12806.
src/w32fns.c (modifier_set): Don't include Num Lock in the reported
 modifiers.
2012-11-07 23:48:18 +02:00
Eli Zaretskii
dab72075f5 A (hopefully) better fix for bug #1280.
src/w32fns.c (modifier_set): Don't report modifiers from toggle key,
 such as Scroll Lock, if the respective keys are treated as
 function keys, not as modifiers.  This avoids destroying non-ASCII
 keyboard input when Scroll Lock is toggled ON.
2012-11-07 23:12:25 +02:00
Eli Zaretskii
b666f18d4d Include Num Lock in test for modifier keys on MS-Windows.
src/w32fns.c (modifier_set): Do not omit checking the Num Lock key.
2012-11-07 19:33:14 +02:00
Eli Zaretskii
eb147960b1 Fix bug #1280 with non-ASCII keyboard input on MS-Windows.
src/w32fns.c (w32_wnd_proc): Don't directly handle key chords
 including modifiers from toggle key, such as Scroll Lock, if the
 respective keys are treated as function keys, not as modifiers.
 This avoids destroying non-ASCII keyboard input when Scroll Lock
 is toggled ON.
2012-11-07 18:44:48 +02:00
Dmitry Antipov
5890e40006 * xfns.c (Fx_wm_set_size_hint): Use check_x_frame. Adjust docstring. 2012-11-07 09:23:20 +04:00
Paul Eggert
b6b3b29458 Restore some duplicate definitions.
This undoes part of the 2012-11-03 changes.  Some people build
with plain -g rather than with -g3, and they need the duplicate
definitions for .gdbinit to work; see <http://bugs.gnu.org/12814#26>.
* lisp.h (GCTYPEBITS, ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK):
Define as macros, as well as as enums or as constants.
2012-11-06 12:48:35 -08:00
Jan Djärv
e770aad5f0 * nsterm.m (convert_ns_to_X_keysym, keyDown:): Add NSNumericPadKeyMask
to keypad keys.

Fixes: debbugs:12816
2012-11-06 19:31:19 +01:00
Paul Eggert
68f8f1c0c6 Minor adjustments of recently-changed frame functions.
* buffer.c (Fbuffer_list): Omit CHECK_FRAME, since arg is already
known to be a frame (we're in the FRAMEP branch).
* lisp.h (Qframep): Remove decl.  frame.h declares this.
* window.c (quad): Args are of type EMACS_INT, not ptrdiff_t,
since they're meant for Lisp fixnum values.
2012-11-06 09:40:07 -08:00
Dmitry Antipov
72f94d4be8 * window.c (Fwindow_combination_limit): Revert to the only
required argument and adjust docstring as suggested in
http://lists.gnu.org/archive/html/emacs-diffs/2012-11/msg01082.html
by Martin Rudalics <rudalics@gmx.at>.
2012-11-06 19:57:14 +04:00
Dmitry Antipov
d9f07150fc Widely used frame validity and checking functions.
* frame.h (decode_live_frame, decode_any_frame): Add prototypes.
* frame.c (decode_live_frame, decode_any_frame): New functions.
(delete_frame, Fredirect_frame_focus, Fframe_parameters)
(Fframe_parameter, Fframe_char_height, Fframe_char_width)
(Fframe_pixel_height, Fframe_pixel_width, Ftool_bar_pixel_width)
(Fframe_pointer_visible_p): Use decode_any_frame.
(Fmake_frame_visible, Fmake_frame_invisible, Ficonify_frame)
(Fraise_frame, Flower_frame, Fmodify_frame_parameters)
(Fset_frame_height, Fset_frame_width): Use decode_live_frame.
(Fframe_focus): Likewise.  Allow zero number of arguments.
Adjust docstring.
(frame_buffer_list, frame_buffer_predicate): Remove.
* lisp.h (frame_buffer_predicate): Remove prototype.
* buffer.c (Fother_buffer): Use decode_any_frame.
* xdisp.c (Ftool_bar_lines_needed): Likewise.
* xfaces.c (Fcolor_gray_p, Fcolor_supported_p): Likewise.
* font.c (Ffont_face_attributes, Ffont_family_list, Fopen_font)
(Fclose_font, Ffont_info): Use decode_live_frame.
* fontset.c (check_fontset_name): Likewise.
* terminal.c (Fframe_terminal): Likewise.
* w32fns.c (check_x_frame): Likewise.
* window.c (Fminibuffer_window, Fwindow_at)
(Fcurrent_window_configuration): Likewise.
(Frun_window_configuration_change_hook, Fwindow_resize_apply):
Likewise.  Allow zero number of arguments.  Adjust docstring.
* dispnew.c (Fredraw_frame): Likewise.
* xfaces.c (frame_or_selected_frame): Remove.
(Fx_list_fonts, Finternal_get_lisp_face_attribute, Fface_font)
(Finternal_lisp_face_equal_p, Finternal_lisp_face_empty_p)
(Fframe_face_alist): Use decode_live_frame.
* xfns.c (check_x_frame): Likewise.
2012-11-06 17:26:20 +04:00
Dmitry Antipov
89bc059271 * window.c (quad): New function.
(Fwindow_edges, Fwindow_pixel_edges, Fwindow_inside_edges)
(Fwindow_absolute_pixel_edges, Fwindow_inside_absolute_pixel_edges)
(Fwindow_inside_pixel_edges, Fpos_visible_in_window_p)
(Fwindow_line_height): Use it.
(Fwindow_fringes): Use list3.
(Fwindow_scroll_bars): Use list4.
(Fwindow_frame, Fwindow_top_child, Fwindow_left_child)
(Fwindow_combination_limit): Allow zero number of arguments.
2012-11-06 10:27:20 +04:00
Juanma Barranquero
8e2417bfc0 Fix typos. 2012-11-05 18:29:30 +01:00
Eli Zaretskii
ae600a8e8b Fix last entry in src/ChangeLog. 2012-11-05 19:25:50 +02:00
Eli Zaretskii
c8e3a9c3db Fix bug #12805 with compilation error in the cygw32 build.
src/makefile.w32-in ($(BLD)/w32fns.$(O)): Depend on $(NT_INC)/unistd.h.
 src/w32fns.c Include unistd.h, to avoid compiler warnings on Cygwin.
 (emacs_abort) [CYGWIN]: Don't call _open_osfhandle; instead, use
 file descriptor 2 for standard error.
2012-11-05 18:30:45 +02:00
Chong Yidong
209c6a58b9 * process.c (wait_reading_process_output): Revert previous change. 2012-11-05 12:00:58 +08:00
Paul Eggert
dd0333b615 Assume at least POSIX.1-1988 for getpgrp, setpgid, setsid.
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
2012-11-04 19:18:32 -08:00
Paul Eggert
8148369cfb Simplify by assuming __fpending.
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.
2012-11-04 17:59:00 -08:00
Paul Eggert
06b63c9b0c Remove EMACS_OUTQSIZE+sleep hack.
* 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.
2012-11-04 14:33:00 -08:00
Paul Eggert
76abf5e5a5 Fix data-loss with --version.
* 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
2012-11-04 09:29:52 -08:00
Michael Marchionna
8f31e74bc7 * nsterm.m: Add NSClearLineFunctionKey and keypad keys.
(keyDown): Remap keypad keys to X11 virtual key codes.

Fixes: debbugs:8680
2012-11-04 11:34:10 +08:00
Eli Zaretskii
3478f4b5c4 Fix order of entries in ChangeLog files. 2012-11-03 22:48:03 +02:00
Glenn Morris
f58542e151 Merge from emacs-24; up to 2012-11-03T05:11:34Z!dmantipov@yandex.ru 2012-11-03 12:14:22 -07:00
Paul Eggert
7ccfb720b4 Fix data-loss with --batch.
* 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
2012-11-03 11:54:17 -07:00
Paul Eggert
0b3d4a4756 Fix a race condition that causes Emacs to mess up glib.
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
2012-11-03 11:32:41 -07:00
Paul Eggert
0d879dca46 Omit duplicate definitions no longer needed with gcc -g3.
* 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.
2012-11-03 11:19:50 -07:00
Chong Yidong
85fabcb7ee * process.c (wait_reading_process_output): Clean up last change. 2012-11-04 00:36:23 +08:00
Chong Yidong
893cc45585 Fix a race condition in wait_reading_process_output (tiny change).
* src/process.c (wait_reading_process_output): Avoid a race condition
with SIGIO delivery.

Fixes: debbugs:11536
2012-11-03 23:44:59 +08:00
Chong Yidong
0f7b074f4a * lisp/cus-start.el: Make cursor-type customizable.
* src/buffer.c (cursor_type): Untabify docstring.

Fixes: debbugs:11633
2012-11-03 23:24:00 +08:00
Eli Zaretskii
858f0f24b1 Adapt MSDOS port to latest changes.
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.
2012-11-03 15:58:33 +02:00
Eli Zaretskii
1d4341f988 Load term/internal from loadup.el. 2012-11-03 15:56:02 +02:00
Eli Zaretskii
b3cf17f695 Adapt the MSDOS build to the latest changes on mainline. 2012-11-03 15:48:33 +02:00
Jan Djärv
ad10696b89 Backport from trunk.
* 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
2012-11-03 12:33:28 +01:00
Eli Zaretskii
67b50ba47b Fix bidi initialization in init_from_display_pos.
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
2012-11-03 11:25:34 +02:00
Dmitry Antipov
3737fee7e3 * frame.h (struct frame): Drop can_have_scroll_bars member
which is meaningless for a long time.  Adjust comments.
(FRAME_CAN_HAVE_SCROLL_BARS): Remove.
* frame.c, nsfns.m, term.c, w32fns.c, xfns.c: Adjust users.
2012-11-03 09:59:17 +04:00
Dmitry Antipov
b6a9e8b1a2 * window.c (decode_next_window_args): Update window arg after
calling decode_live_window and so fix crash reported at
http://lists.gnu.org/archive/html/emacs-devel/2012-11/msg00035.html
by Juanma Barranquero <lekktu@gmail.com>.
(Fwindow_body_width, Fwindow_body_height): Simplify a bit.
* font.c (Ffont_at): Likewise.
2012-11-03 09:11:34 +04:00
Jan Djärv
600d4768d8 * 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
2012-11-01 23:44:53 +01:00
Eli Zaretskii
1005b4b98a Implement backtrace output for fatal errors on MS-Windows.
src/w32fns.c (CaptureStackBackTrace_proc): New typedef.
 (BACKTRACE_LIMIT_MAX): New macro.
 (w32_backtrace): New function.
 (emacs_abort): Use w32_backtrace when the user chooses not to
 attach a debugger.  Update the text of the abort dialog.
2012-11-02 16:00:45 +02:00
Dmitry Antipov
b9e9df47f2 Window-related stuff cleanup here and there.
* dispnew.c (Finternal_show_cursor, Finternal_show_cursor_p):
Use decode_any_window.
* fringe.c (Ffringe_bitmaps_at_pos): Likewise.
* xdisp.c (Fformat_mode_line): Likewise.
* font.c (Ffont_at): Use decode_live_window.
* indent.c (Fcompute_motion, Fvertical_motion): Likewise.
* window.c (decode_next_window_args): Likewise.
(decode_any_window): Remove static.
* window.h (decode_any_window): Add prototype.
* lisp.h (CHECK_VALID_WINDOW, CHECK_LIVE_WINDOW): Move from here...
* window.h: ...to here, redefine via WINDOW_VALID_P and WINDOW_LIVE_P,
respectively.
2012-11-02 14:34:26 +04:00
Dmitry Antipov
2b371ff75d Remove pad from struct input_event.
* termhooks.h (struct input_event): Remove padding field.
Adjust comment.
* keyboard.c (event_to_kboard): Simplify because frame_or_window
member is never cons for a long time.  Adjust comment.
(mark_kboards): Adjust because SELECTION_REQUEST_EVENT and
SELECTION_CLEAR_EVENT has no Lisp_Objects to mark.  Add comment.
* xterm.c (handle_one_xevent): Do not initialize frame_or_window
field of SELECTION_REQUEST_EVENT and SELECTION_CLEAR_EVENT.
2012-11-02 13:44:08 +04:00
Eli Zaretskii
7e8b50d9e5 Fix MS-Windows build broken by fixing bug #12776 on Posix platforms.
src/w32proc.c (getpgrp, setpgid): New functions.

 nt/inc/unistd.h (setpgid, getpgrp): Provide prototypes.
 nt/config.nt (GETPGRP_VOID): Define to 1.
2012-11-01 16:21:45 +02:00
Paul Eggert
322aea6ddf Fix crash when using Emacs as commit editor for git.
* callproc.c (setpgrp): Remove macro, as we now use setpgid
and it is configured in conf_post.h.
(Fcall_process): Don't invoke both setsid and setpgid; the former
is enough, if it exists.
* callproc.c (Fcall_process, child_setup):
* process.c (create_process): Use setpgid.
* conf_post.h (setpgid) [!HAVE_SETPGID]: New macro, which substitutes
for the real thing.
* dispnew.c (init_display): Initialize the foreground group
if we are running a tty display.
* emacs.c (main): Do not worry about setpgrp; init_display does it now.
* lisp.h (init_foreground_group): New decl.
* sysdep.c (inherited_pgroup): New static var.
(init_foreground_group, tcsetpgrp_without_stopping)
(narrow_foreground_group, widen_foreground_group): New functions.
(init_sys_modes): Narrow foreground group.
(reset_sys_modes): Widen foreground group.

Fixes: debbugs:12697
2012-10-31 10:27:29 -07:00
Michael Albinus
220cb2bd70 * dbusbind.c: Fix cut'n'waste error. Use HAVE_DBUS_VALIDATE_INTERFACE. 2012-10-31 12:45:40 +01:00
Martin Rudalics
218e997a10 Install fixes for Bug#12764 and Bug#12766.
* window.el (quit-restore-window): If the window has been
created on an existing frame and ended up as the sole window on
that frame, do not delete it (Bug#12764).

* minibuf.c (read_minibuf): Restore current buffer since
choose_minibuf_frame calling Fset_frame_selected_window may
change it (Bug#12766).
2012-10-31 11:02:51 +01:00