bpt/emacs.git
11 years agoShrink struct vectorlike_header to the only size field.
Dmitry Antipov [Thu, 8 Nov 2012 14:10:28 +0000 (18:10 +0400)]
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.

11 years ago* lisp/emacs-lisp/gv.el (gv-ref, gv-deref): New function and macro.
Stefan Monnier [Thu, 8 Nov 2012 13:34:06 +0000 (08:34 -0500)]
* lisp/emacs-lisp/gv.el (gv-ref, gv-deref): New function and macro.

11 years ago* keyboard.c (event_to_kboard): Do not dereference
Dmitry Antipov [Thu, 8 Nov 2012 09:26:40 +0000 (13:26 +0400)]
* 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.

11 years ago* os.texi (Notifications): Update descriptions of
Michael Albinus [Thu, 8 Nov 2012 07:50:43 +0000 (08:50 +0100)]
* os.texi (Notifications): Update descriptions of
notifications-notify, notifications-close-notification and
notifications-get-capabilities according to latest code changes.
Add notifications-get-server-information.

11 years agoFix Num Lock handling related to bug #12806.
Eli Zaretskii [Wed, 7 Nov 2012 21:48:18 +0000 (23:48 +0200)]
Fix Num Lock handling related to bug #12806.

 src/w32fns.c (modifier_set): Don't include Num Lock in the reported
 modifiers.

11 years agoA (hopefully) better fix for bug #1280.
Eli Zaretskii [Wed, 7 Nov 2012 21:12:25 +0000 (23:12 +0200)]
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.

11 years agoInclude Num Lock in test for modifier keys on MS-Windows.
Eli Zaretskii [Wed, 7 Nov 2012 17:33:14 +0000 (19:33 +0200)]
Include Num Lock in test for modifier keys on MS-Windows.

 src/w32fns.c (modifier_set): Do not omit checking the Num Lock key.

11 years ago* notifications.el (notifications-get-server-information-method):
Michael Albinus [Wed, 7 Nov 2012 16:55:39 +0000 (17:55 +0100)]
* notifications.el (notifications-get-server-information-method):
New defconst.
(notifications-get-capabilities): Fix docstring.
(notifications-get-server-information): New defun.

11 years agoFix bug #1280 with non-ASCII keyboard input on MS-Windows.
Eli Zaretskii [Wed, 7 Nov 2012 16:44:48 +0000 (18:44 +0200)]
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.

11 years ago* xfns.c (Fx_wm_set_size_hint): Use check_x_frame. Adjust docstring.
Dmitry Antipov [Wed, 7 Nov 2012 05:23:20 +0000 (09:23 +0400)]
* xfns.c (Fx_wm_set_size_hint): Use check_x_frame.  Adjust docstring.

11 years agoRestore some duplicate definitions.
Paul Eggert [Tue, 6 Nov 2012 20:48:35 +0000 (12:48 -0800)]
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.

11 years ago* nsterm.m (convert_ns_to_X_keysym, keyDown:): Add NSNumericPadKeyMask
Jan Djärv [Tue, 6 Nov 2012 18:31:19 +0000 (19:31 +0100)]
* nsterm.m (convert_ns_to_X_keysym, keyDown:): Add NSNumericPadKeyMask
to keypad keys.

Fixes: debbugs:12816

11 years agoMinor adjustments of recently-changed frame functions.
Paul Eggert [Tue, 6 Nov 2012 17:40:07 +0000 (09:40 -0800)]
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.

11 years agoispell.el (ispell-region): Do not prefix sent string by comment in autoconf mode
Agustín Martín [Tue, 6 Nov 2012 16:33:56 +0000 (17:33 +0100)]
ispell.el (ispell-region): Do not prefix sent string by comment in autoconf mode

 This commit changes some of the `in-comment' ocurrences to more specific
 `add-comment', set only if comment prefix is to be added.

 When in comment, old code prefixed string by comment string to let ispell
 know this is part of a comment string.

 This is only supported in some modes. In particular, this is not supported in
 autoconf mode where adding the comment string messes everything up because
 ispell tries to spellcheck the `dnl' string header causing misalignments in
 some cases (debbugs.gnu.org: #12768).

11 years agotextmodes/ispell.el: Experimental support for support debugging.
Agustín Martín [Tue, 6 Nov 2012 16:22:09 +0000 (17:22 +0100)]
textmodes/ispell.el: Experimental support for support debugging.

 * (ispell-create-debug-buffer): Create a `ispell-debug-buffer' debug
   buffer for ispell.
 * (ispell-print-if-debug): New function to print stuff to
   `ispell-debug-buffer' if debugging is enabled.
 * (ispell-region, ispell-process-line): Use `ispell-print-if-debug' to
   show some debugging info.
 * (ispell-buffer-with-debug): New function that creates a debugging
   buffer and calls `ispell-buffer' with debugging enabled.  This is also
   en example of a possible way to use this system.

11 years agoispell.el (ispell-region): Standard re-indent for better readability.
Agustín Martín [Tue, 6 Nov 2012 16:04:42 +0000 (17:04 +0100)]
ispell.el (ispell-region): Standard re-indent for better readability.

11 years ago* window.c (Fwindow_combination_limit): Revert to the only
Dmitry Antipov [Tue, 6 Nov 2012 15:57:14 +0000 (19:57 +0400)]
* 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>.

11 years agolib/makefile.w32-in, src/makefile.w32-in: Trivial reordering of entries.
Juanma Barranquero [Tue, 6 Nov 2012 15:29:49 +0000 (16:29 +0100)]
lib/makefile.w32-in, src/makefile.w32-in: Trivial reordering of entries.

11 years agoWidely used frame validity and checking functions.
Dmitry Antipov [Tue, 6 Nov 2012 13:26:20 +0000 (17:26 +0400)]
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.

11 years ago* emacs-lisp/byte-opt.el (toplevel): Add compare-window-configurations,
Dmitry Antipov [Tue, 6 Nov 2012 07:37:06 +0000 (11:37 +0400)]
* emacs-lisp/byte-opt.el (toplevel): Add compare-window-configurations,
frame-first-window, frame-root-window, frame-selected-window,
minibuffer-selected-window, minibuffer-window,
window-absolute-pixel-edges, window-at, window-body-height,
window-body-width, window-display-table, window-combination-limit,
window-frame, window-fringes, window-inside-absolute-pixel-edges,
window-inside-edges, window-inside-pixel-edges, window-left-child,
window-left-column, window-margins, window-next-buffers,
window-next-sibling, window-new-normal, window-new-total,
window-normal-size, window-parameter, window-parameters, window-parent,
window-pixel-edges, window-point, window-prev-buffers,
window-prev-sibling, window-redisplay-end-trigger, window-scroll-bars,
window-start, window-text-height, window-top-child, window-top-line,
window-total-height, window-total-width and window-use-time to the list
of functions without side-effects.
(toplevel): Add window-valid-p to the list of error-free functions
without side-effects.

11 years ago* window.c (quad): New function.
Dmitry Antipov [Tue, 6 Nov 2012 06:27:20 +0000 (10:27 +0400)]
* 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.

11 years agoFix typos.
Juanma Barranquero [Mon, 5 Nov 2012 17:29:30 +0000 (18:29 +0100)]
Fix typos.

11 years agoFix last entry in src/ChangeLog.
Eli Zaretskii [Mon, 5 Nov 2012 17:25:50 +0000 (19:25 +0200)]
Fix last entry in src/ChangeLog.

11 years agoispell.el (ispell-program-name): Update spellchecker parameters when customized.
Agustín Martín [Mon, 5 Nov 2012 16:32:35 +0000 (17:32 +0100)]
ispell.el (ispell-program-name): Update spellchecker parameters when customized.

11 years agoFix bug #12805 with compilation error in the cygw32 build.
Eli Zaretskii [Mon, 5 Nov 2012 16:30:45 +0000 (18:30 +0200)]
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.

11 years agoAvoid compiler warnings in the MS-Windows build.
Eli Zaretskii [Mon, 5 Nov 2012 16:21:18 +0000 (18:21 +0200)]
Avoid compiler warnings in the MS-Windows build.

 nt/inc/unistd.h (tcgetpgrp, setsid): Provide prototypes.

11 years agont/config.nt: Sync with autogen/config.in.
Juanma Barranquero [Mon, 5 Nov 2012 14:30:32 +0000 (15:30 +0100)]
nt/config.nt: Sync with autogen/config.in.
(DISPNEW_NEEDS_STDIO_EXT, GETPGRP_VOID, HAVE_SETPGID, HAVE_SETSID)
(PENDING_OUTPUT_COUNT, SETPGRP_RELEASES_CTTY): Remove.

11 years agoAuto-commit of generated files.
Glenn Morris [Mon, 5 Nov 2012 11:17:32 +0000 (06:17 -0500)]
Auto-commit of generated files.

11 years ago* process.c (wait_reading_process_output): Revert previous change.
Chong Yidong [Mon, 5 Nov 2012 04:00:58 +0000 (12:00 +0800)]
* process.c (wait_reading_process_output): Revert previous change.

11 years agoAssume at least POSIX.1-1988 for getpgrp, setpgid, setsid.
Paul Eggert [Mon, 5 Nov 2012 03:18:32 +0000 (19:18 -0800)]
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

11 years agoSimplify by assuming __fpending.
Paul Eggert [Mon, 5 Nov 2012 01:59:00 +0000 (17:59 -0800)]
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.

11 years agoRemove EMACS_OUTQSIZE+sleep hack.
Paul Eggert [Sun, 4 Nov 2012 22:33:00 +0000 (14:33 -0800)]
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.

11 years agoFix data-loss with --version.
Paul Eggert [Sun, 4 Nov 2012 17:29:52 +0000 (09:29 -0800)]
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

11 years agont/config.nt: Sync with autogen/config.in.
Juanma Barranquero [Sun, 4 Nov 2012 12:44:58 +0000 (13:44 +0100)]
nt/config.nt: Sync with autogen/config.in.
(GNULIB_CLOSE_STREAM, HAVE_DECL___FPENDING): New macros.

11 years agoAuto-commit of loaddefs files.
Glenn Morris [Sun, 4 Nov 2012 11:23:35 +0000 (06:23 -0500)]
Auto-commit of loaddefs files.

11 years agoAuto-commit of generated files.
Glenn Morris [Sun, 4 Nov 2012 11:19:07 +0000 (06:19 -0500)]
Auto-commit of generated files.

11 years ago* lisp/vc/vc-svn.el (vc-svn-state-heuristic): Avoid calling svn.
Glenn Morris [Sun, 4 Nov 2012 04:13:13 +0000 (21:13 -0700)]
* lisp/vc/vc-svn.el (vc-svn-state-heuristic): Avoid calling svn.

Fixes: debbugs:7850

11 years ago* nsterm.m: Add NSClearLineFunctionKey and keypad keys.
Michael Marchionna [Sun, 4 Nov 2012 03:34:10 +0000 (11:34 +0800)]
* nsterm.m: Add NSClearLineFunctionKey and keypad keys.
(keyDown): Remap keypad keys to X11 virtual key codes.

Fixes: debbugs:8680

11 years ago* bookmark.el (bookmark-bmenu-switch-other-window): Avoid binding same-window-* varia...
Chong Yidong [Sun, 4 Nov 2012 03:25:18 +0000 (11:25 +0800)]
* bookmark.el (bookmark-bmenu-switch-other-window): Avoid binding same-window-* variables.

11 years agoDon't bind same-window-* in isearch.el commands.
Juri Linkov [Sun, 4 Nov 2012 03:24:00 +0000 (11:24 +0800)]
Don't bind same-window-* in isearch.el commands.

* 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

11 years agoFix order of entries in ChangeLog files.
Eli Zaretskii [Sat, 3 Nov 2012 20:48:03 +0000 (22:48 +0200)]
Fix order of entries in ChangeLog files.

11 years agoFix Windows build as fallout from 2012-11-03T18:54:17Z!eggert@cs.ucla.edu.
Eli Zaretskii [Sat, 3 Nov 2012 20:43:29 +0000 (22:43 +0200)]
Fix Windows build as fallout from 2012-11-03T18:54:17Z!eggert@cs.ucla.edu.

 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

11 years ago* admin/admin.el (set-copyright): Add msdos/sed2v2.inp.
Glenn Morris [Sat, 3 Nov 2012 19:19:05 +0000 (12:19 -0700)]
* admin/admin.el (set-copyright): Add msdos/sed2v2.inp.

11 years agoMerge from emacs-24; up to 2012-11-03T05:11:34Z!dmantipov@yandex.ru
Glenn Morris [Sat, 3 Nov 2012 19:14:22 +0000 (12:14 -0700)]
Merge from emacs-24; up to 2012-11-03T05:11:34Z!dmantipov@yandex.ru

11 years agoFurther small cl.texi changes
Glenn Morris [Sat, 3 Nov 2012 18:55:29 +0000 (11:55 -0700)]
Further small cl.texi changes

* 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

11 years agoFix data-loss with --batch.
Paul Eggert [Sat, 3 Nov 2012 18:54:17 +0000 (11:54 -0700)]
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

11 years agoRename cl-random-time to cl--random-time
Glenn Morris [Sat, 3 Nov 2012 18:36:09 +0000 (11:36 -0700)]
Rename cl-random-time to cl--random-time

* 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

11 years agoFix a race condition that causes Emacs to mess up glib.
Paul Eggert [Sat, 3 Nov 2012 18:32:41 +0000 (11:32 -0700)]
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

11 years agoRename cl-loop-handler, cl-loop-for-handler back to their original names
Glenn Morris [Sat, 3 Nov 2012 18:32:09 +0000 (11:32 -0700)]
Rename cl-loop-handler, cl-loop-for-handler back to their original names

* lisp/emacs-lisp/cl-macs.el (cl-parse-loop-clause):
Rename handler properties back from cl-- to cl-.

Fixes: debbugs:12788

11 years agoMore general edits for cl.texi Appendices
Glenn Morris [Sat, 3 Nov 2012 18:23:38 +0000 (11:23 -0700)]
More general edits for cl.texi Appendices

11 years agoOmit duplicate definitions no longer needed with gcc -g3.
Paul Eggert [Sat, 3 Nov 2012 18:19:50 +0000 (11:19 -0700)]
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.

11 years ago* lisp/emacs-lisp/cl-macs.el (cl-do-all-symbols): Add doc string.
Glenn Morris [Sat, 3 Nov 2012 18:03:39 +0000 (11:03 -0700)]
* lisp/emacs-lisp/cl-macs.el (cl-do-all-symbols): Add doc string.

11 years agoFurther edits for doc/misc/cl.texi
Glenn Morris [Sat, 3 Nov 2012 17:56:30 +0000 (10:56 -0700)]
Further edits for doc/misc/cl.texi

* 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.

11 years ago* lispref/objects.texi: Fix last change.
Chong Yidong [Sat, 3 Nov 2012 16:54:11 +0000 (00:54 +0800)]
* lispref/objects.texi: Fix last change.

11 years ago* process.c (wait_reading_process_output): Clean up last change.
Chong Yidong [Sat, 3 Nov 2012 16:36:23 +0000 (00:36 +0800)]
* process.c (wait_reading_process_output): Clean up last change.

11 years agoFix a race condition in wait_reading_process_output (tiny change).
Chong Yidong [Sat, 3 Nov 2012 15:44:59 +0000 (23:44 +0800)]
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

11 years ago* lisp/cus-start.el: Make cursor-type customizable.
Chong Yidong [Sat, 3 Nov 2012 15:24:00 +0000 (23:24 +0800)]
* lisp/cus-start.el: Make cursor-type customizable.

* src/buffer.c (cursor_type): Untabify docstring.

Fixes: debbugs:11633

11 years agoAdapt MSDOS port to latest changes.
Eli Zaretskii [Sat, 3 Nov 2012 13:58:33 +0000 (15:58 +0200)]
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.

11 years agoLoad term/internal from loadup.el.
Eli Zaretskii [Sat, 3 Nov 2012 13:56:02 +0000 (15:56 +0200)]
Load term/internal from loadup.el.

11 years agoAdapt the MSDOS build to the latest changes on mainline.
Eli Zaretskii [Sat, 3 Nov 2012 13:48:33 +0000 (15:48 +0200)]
Adapt the MSDOS build to the latest changes on mainline.

11 years ago* progmodes/python.el (inferior-python-mode): Fix hang in
Fabián Ezequiel Gallina [Sat, 3 Nov 2012 12:20:02 +0000 (09:20 -0300)]
* progmodes/python.el (inferior-python-mode): Fix hang in
jit-lock.

Fixes: debbugs:12645

11 years agoBackport from trunk.
Jan Djärv [Sat, 3 Nov 2012 11:33:28 +0000 (12:33 +0100)]
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

11 years agoClarify documentation about escape sequences in strings.
Chong Yidong [Sat, 3 Nov 2012 11:02:43 +0000 (19:02 +0800)]
Clarify documentation about escape sequences in strings.

* 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.

11 years agoDoc changes related to displaying buffers and quitting windows.
Martin Rudalics [Sat, 3 Nov 2012 10:47:03 +0000 (11:47 +0100)]
Doc changes related to displaying buffers and quitting windows.

* 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).

11 years agoFix bidi initialization in init_from_display_pos.
Eli Zaretskii [Sat, 3 Nov 2012 09:25:34 +0000 (11:25 +0200)]
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

11 years ago* frame.h (struct frame): Drop can_have_scroll_bars member
Dmitry Antipov [Sat, 3 Nov 2012 05:59:17 +0000 (09:59 +0400)]
* 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.

11 years ago* window.c (decode_next_window_args): Update window arg after
Dmitry Antipov [Sat, 3 Nov 2012 05:11:34 +0000 (09:11 +0400)]
* 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.

11 years agoFix attribution in ChangeLog
Glenn Morris [Sat, 3 Nov 2012 01:26:25 +0000 (21:26 -0400)]
Fix attribution in ChangeLog

11 years ago* doc/misc/cl.texi: Further general copyedits.
Glenn Morris [Sat, 3 Nov 2012 01:19:40 +0000 (21:19 -0400)]
* doc/misc/cl.texi: Further general copyedits.
Eg, no longer distinguish between "the optimizing compiler" and "the
non-optimizing compiler" like they were different entities.

11 years agoMerge changes made in Gnus master
Gnus developers [Fri, 2 Nov 2012 23:37:02 +0000 (23:37 +0000)]
Merge changes made in Gnus master

2012-10-05  Katsumi Yamaoka  <yamaoka@jpl.org>
 * gnus.texi (Mail Source Specifiers):
 Document :leave keyword used for pop mail source.
2012-10-25  Tassilo Horn  <tsdh@gnu.org>
 * gnus-dired.el (gnus-dired-attach): Attach to last used message buffer
 by default.  Patch provided by Stephen Eglen.
2012-10-05  Katsumi Yamaoka  <yamaoka@jpl.org>
 New UIDL implementation.
 * mail-source.el (mail-sources, mail-source-keyword-map):
 Add :leave as a pop3 keyword.
 (mail-source-fetch-pop): Bind pop3-leave-mail-on-server.
 * pop3.el (pop3-leave-mail-on-server): Allow number.
 (pop3-uidl-file, pop3-uidl-file-backup): New user options.
 (pop3-movemail): Add UIDL support.
 (pop3-send-streaming-command): Take a list of mail numbers instead of
 the number of mails.
 (pop3-write-to-file): Add X-UIDL header.
 (pop3-uidl-stat, pop3-uidl-dele, pop3-uidl-load, pop3-uidl-save)
 (pop3-uidl-add-xheader): New functions.
 * message.el (message-ignored-resent-headers):
 Add X-Content-Length and X-UIDL headers.

11 years agoNo need for filecache.el to load find-lisp when compiling
Glenn Morris [Fri, 2 Nov 2012 22:44:38 +0000 (18:44 -0400)]
No need for filecache.el to load find-lisp when compiling

* lisp/filecache.el (find-lisp-find-files): Autoload it.
(file-cache-add-directory-recursively): Don't require find-lisp.

11 years ago* lisp/image.el (image-type-from-file-name): Trivial simplification.
Glenn Morris [Fri, 2 Nov 2012 22:41:35 +0000 (18:41 -0400)]
* lisp/image.el (image-type-from-file-name): Trivial simplification.

11 years agoDecouple "noruntime" and "cl-functions" bytecomp warnings
Glenn Morris [Fri, 2 Nov 2012 22:35:01 +0000 (18:35 -0400)]
Decouple "noruntime" and "cl-functions" bytecomp warnings

* lisp/emacs-lisp/bytecomp.el (byte-compile-eval):
Decouple "noruntime" and "cl-functions" warnings.

11 years agoUndocument cl-floatp-safe, since it is no longer relevant
Glenn Morris [Fri, 2 Nov 2012 22:29:56 +0000 (18:29 -0400)]
Undocument cl-floatp-safe, since it is no longer relevant

* doc/misc/cl.texi (Naming Conventions, Type Predicates, Macros)
(Predicates on Numbers): No longer mention cl-floatp-safe.

11 years agoAllow choice of icon style at install time
Glenn Morris [Fri, 2 Nov 2012 22:22:11 +0000 (18:22 -0400)]
Allow choice of icon style at install time
This feature is intentionally not advertised
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12536#40

* Makefile.in (EMACS_ICON): New variable.
(install-etc): Use EMACS_ICON to allow choice of icon.

11 years ago* widget.c (resize_cb): New function.
Jan Djärv [Thu, 1 Nov 2012 22:44:53 +0000 (23:44 +0100)]
* 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

11 years agoAdd NEWS top-level headings for 24.4.
Glenn Morris [Fri, 2 Nov 2012 16:14:06 +0000 (09:14 -0700)]
Add NEWS top-level headings for 24.4.

11 years agoImplement backtrace output for fatal errors on MS-Windows.
Eli Zaretskii [Fri, 2 Nov 2012 14:00:45 +0000 (16:00 +0200)]
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.

11 years agoWindow-related stuff cleanup here and there.
Dmitry Antipov [Fri, 2 Nov 2012 10:34:26 +0000 (14:34 +0400)]
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.

11 years agoAuto-commit of generated files.
Glenn Morris [Fri, 2 Nov 2012 10:17:32 +0000 (06:17 -0400)]
Auto-commit of generated files.

11 years agoRemove pad from struct input_event.
Dmitry Antipov [Fri, 2 Nov 2012 09:44:08 +0000 (13:44 +0400)]
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.

11 years agoBump version to 24.3.50
Chong Yidong [Fri, 2 Nov 2012 00:48:12 +0000 (08:48 +0800)]
Bump version to 24.3.50

11 years agoFix MS-Windows build broken by fixing bug #12776 on Posix platforms.
Eli Zaretskii [Thu, 1 Nov 2012 14:21:45 +0000 (16:21 +0200)]
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.

11 years agoAuto-commit of loaddefs files.
Glenn Morris [Thu, 1 Nov 2012 10:19:27 +0000 (06:19 -0400)]
Auto-commit of loaddefs files.

11 years agoMore edits for cl.texi
Glenn Morris [Thu, 1 Nov 2012 07:16:32 +0000 (00:16 -0700)]
More edits for cl.texi

* doc/misc/cl.texi: More copyedits, plus:
(Time of Evaluation, Iteration): Add xref to Emacs Lisp manual.
(Macro Bindings, Blocks and Exits): Acknowledge existence of lexical-binding.
(Iteration): Mainly defer to doc of standard dolist, dotimes.

11 years agoFix for gomoku-display-statistics.
Stephen Berman [Thu, 1 Nov 2012 02:25:08 +0000 (10:25 +0800)]
Fix for gomoku-display-statistics.

* play/gomoku.el (gomoku-display-statistics): Update mode line
only if in Gomoku buffer; don't capitalize "won".

Fixes: debbugs:12771

11 years ago* doc/misc/cl.texi: General copyedits for style, line-breaks, etc.
Glenn Morris [Thu, 1 Nov 2012 01:44:50 +0000 (21:44 -0400)]
* doc/misc/cl.texi: General copyedits for style, line-breaks, etc.
Replace "..." by @dots; car by @sc{car}, etc.

11 years ago* doc/misc/cl.texi (Modify Macros, Function Bindings): Add some xrefs.
Glenn Morris [Wed, 31 Oct 2012 21:04:28 +0000 (17:04 -0400)]
* doc/misc/cl.texi (Modify Macros, Function Bindings): Add some xrefs.

11 years agoTrivial ert.texi update for cl-lib namespace
Glenn Morris [Wed, 31 Oct 2012 21:02:51 +0000 (17:02 -0400)]
Trivial ert.texi update for cl-lib namespace

* doc/misc/ert.texi (Introduction, The @code{should} Macro):
Refer to "cl-assert" rather than "assert".

11 years ago* doc/lispref/control.texi (Catch and Throw): Add xref to cl.texi.
Glenn Morris [Wed, 31 Oct 2012 21:00:57 +0000 (17:00 -0400)]
* doc/lispref/control.texi (Catch and Throw): Add xref to cl.texi.

11 years ago* doc/lispref/lists.texi (Sets And Lists): Point xref to better location.
Glenn Morris [Wed, 31 Oct 2012 21:00:13 +0000 (17:00 -0400)]
* doc/lispref/lists.texi (Sets And Lists): Point xref to better location.

11 years agoSmall lispref update for cl-lib namespace changes
Glenn Morris [Wed, 31 Oct 2012 20:59:04 +0000 (16:59 -0400)]
Small lispref update for cl-lib namespace changes

* doc/lispref/errors.texi (Standard Errors):
* doc/lispref/loading.texi (Autoload): Update for cl-lib namespace changes.

11 years agolispref xref update
Glenn Morris [Wed, 31 Oct 2012 20:56:55 +0000 (16:56 -0400)]
lispref xref update

* doc/lispref/modes.texi (Defining Minor Modes):
"Generalized Variables" section is now in this manual rather than cl.texi.

11 years agoLispref updates for some things no longer being special forms
Glenn Morris [Wed, 31 Oct 2012 20:54:19 +0000 (16:54 -0400)]
Lispref updates for some things no longer being special forms

* doc/lispref/eval.texi (Special Forms): No longer special forms:
defmacro, defun, save-window-excursion, with-output-to-temp-buffer.

* doc/lispref/functions.texi (Defining Functions): Defun is now a macro.
Defalias is a function.

11 years agoSpelling fixes.
Paul Eggert [Wed, 31 Oct 2012 19:23:06 +0000 (12:23 -0700)]
Spelling fixes.

11 years agoFix crash when using Emacs as commit editor for git.
Paul Eggert [Wed, 31 Oct 2012 17:27:29 +0000 (10:27 -0700)]
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

11 years ago* dbusbind.c: Fix cut'n'waste error. Use HAVE_DBUS_VALIDATE_INTERFACE.
Michael Albinus [Wed, 31 Oct 2012 11:45:40 +0000 (12:45 +0100)]
* dbusbind.c: Fix cut'n'waste error.  Use HAVE_DBUS_VALIDATE_INTERFACE.

11 years agoInstall fixes for Bug#12764 and Bug#12766.
Martin Rudalics [Wed, 31 Oct 2012 10:02:51 +0000 (11:02 +0100)]
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).

11 years agoDocument cl-flet and cl-labels in doc/misc/cl.texi
Glenn Morris [Wed, 31 Oct 2012 07:25:18 +0000 (00:25 -0700)]
Document cl-flet and cl-labels in doc/misc/cl.texi

* doc/misc/cl.texi (Function Bindings): Update for cl-flet and cl-labels.
(Obsolete Lexical Binding): Rename section from "Lexical Bindings".
(Obsolete Macros): Rename section from "Obsolete Lexical Macros".
Reword, and add details of flet and labels.

* etc/NEWS: Related markup.

11 years ago* lisp/progmodes/sh-script.el (sh--inside-noncommand-expression):
Stefan Monnier [Wed, 31 Oct 2012 03:10:25 +0000 (23:10 -0400)]
* lisp/progmodes/sh-script.el (sh--inside-noncommand-expression):
Rename from sh--inside-arithmetic-expression, handle more cases.

Fixes: debbugs:11263