Glenn Morris [Thu, 8 Nov 2012 18:35:08 +0000 (13:35 -0500)]
Make report-emacs-bug-query-existing-bugs obsolete (bug#7449)
* lisp/mail/emacsbug.el (report-emacs-bug-query-existing-bugs):
Unautoload, and make obsolete.
Chong Yidong [Thu, 8 Nov 2012 17:31:53 +0000 (01:31 +0800)]
Rewrite and rename diff-delete-trailing-whitespace.
* lisp/vc/diff-mode.el (diff-delete-trailing-whitespace): Rewrite, and
rename from diff-remove-trailing-whitespace (Bug#12831).
* files.texi (Diff Mode): Doc fixes for
diff-delete-trailing-whitespace.
Eli Zaretskii [Thu, 8 Nov 2012 17:02:56 +0000 (19:02 +0200)]
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.
Julien Danjou [Thu, 8 Nov 2012 16:37:34 +0000 (17:37 +0100)]
Add Rakefile in auto-mode-list for ruby-mode
* progmodes/ruby-mode.el (auto-mode-alist): Add Rakefile in
`auto-mode-alist' (Bug#12835).
Stefan Monnier [Thu, 8 Nov 2012 15:37:29 +0000 (10:37 -0500)]
* perl-mode.el: Add coding cookie.
Stefan Monnier [Thu, 8 Nov 2012 15:35:32 +0000 (10:35 -0500)]
* lisp/progmodes/perl-mode.el (perl-prettify-symbols): New defcustom.
(perl--prettify-symbols-alist): New const.
(perl--font-lock-compose-symbol, perl--font-lock-symbols-keywords): New funs.
(perl-font-lock-keywords-2): Use them.
(perl-electric-noindent-p): New function.
(perl-mode): Use it to set up electric-indent-mode.
(perl-electric-terminator, perl-indent-command): Mark obsolete.
(perl-mode-map): Remove bindings for them.
(perl-imenu-generic-expression, perl-outline-level):
Match functions&packages in column>0.
Stefan Monnier [Thu, 8 Nov 2012 15:10:08 +0000 (10:10 -0500)]
* lisp/env.el (env--substitute-vars-regexp): New const.
(substitute-env-vars): Use it. Add `only-defined' arg.
* lisp/net/tramp.el (tramp-replace-environment-variables): Use it.
Stefan Monnier [Thu, 8 Nov 2012 14:58:15 +0000 (09:58 -0500)]
* lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
Byte-compile *before* eval in eval-and-compile.
(byte-compile-log-warning): Remove redundant inhibit-read-only.
(byte-compile-file-form-autoload): Don't hide actual definition.
(byte-compile-maybe-guarded): Accept `functionp' as well.
Stefan Monnier [Thu, 8 Nov 2012 14:54:03 +0000 (09:54 -0500)]
* lisp/emacs-lisp/gv.el (gv-deref): Move setter declaration, to fix bootstrap.
Stefan Monnier [Thu, 8 Nov 2012 14:36:47 +0000 (09:36 -0500)]
* lisp/emacs-lisp/advice.el: Require `cl-lib' at run-time to fix
miscompilation of trace.el.
Stefan Monnier [Thu, 8 Nov 2012 14:21:21 +0000 (09:21 -0500)]
* lisp/emacs-lisp/gv.el (gv-ref, gv-deref): New function and macro.
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.
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.
Chong Yidong [Thu, 8 Nov 2012 10:35:40 +0000 (18:35 +0800)]
* doc/emacs/trouble.texi (Crashing): Copyedits.
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.
Glenn Morris [Thu, 8 Nov 2012 08:14:23 +0000 (00:14 -0800)]
Document diff-remove-trailing-whitespace
* doc/emacs/files.texi (Diff Mode): Trailing whitespace updates.
* lisp/vc/diff-mode.el (diff-remove-trailing-whitespace): Doc fix.
* etc/NEWS: Related markup.
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.
Glenn Morris [Thu, 8 Nov 2012 04:20:00 +0000 (20:20 -0800)]
Tweak previous change
Glenn Morris [Thu, 8 Nov 2012 04:19:38 +0000 (20:19 -0800)]
Direct ERC news to the main NEWS file
Stefan Monnier [Thu, 8 Nov 2012 01:24:14 +0000 (20:24 -0500)]
* lisp/emacs-lisp/gv.el (gv-define-simple-setter): Fix last change.
Fixes: debbugs:12812
Glenn Morris [Wed, 7 Nov 2012 22:27:39 +0000 (17:27 -0500)]
NEWS edit
Glenn Morris [Wed, 7 Nov 2012 22:23:34 +0000 (17:23 -0500)]
* cl.texi (Obsolete Setf Customization): Updates for define-setf-method.
* etc/NEWS: Related markup.
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.
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.
Chong Yidong [Wed, 7 Nov 2012 21:04:52 +0000 (05:04 +0800)]
* misc.texi (Terminal emulator): Document Term mode faces.
Chong Yidong [Wed, 7 Nov 2012 20:43:38 +0000 (04:43 +0800)]
Fix and docfix for the minibuffer-eldef-shorten-default feature.
* lisp/minibuf-eldef.el (minibuffer-eldef-shorten-default): Convert to
a defcustom with an appropriate :set function.
(minibuffer-default--in-prompt-regexps): New function.
* doc/emacs/mini.texi (Basic Minibuffer): New node. Document
minibuffer-electric-default-mode.
* doc/emacs/display.texi (Visual Line Mode): Fix index entry.
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.
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.
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.
Chong Yidong [Wed, 7 Nov 2012 15:46:35 +0000 (23:46 +0800)]
* doc/lispref/searching.texi (Replacing Match): Document \? in replace-match.
Martin Rudalics [Wed, 7 Nov 2012 09:41:52 +0000 (10:41 +0100)]
Fix and rewrite doc on window recombining facilities.
* window.c (Fsplit_window_internal): Set combination limit of
new parent window to t iff Vwindow_combination_limit is t;
fixing a regression introduced with the change from 2012-09-22.
(Fwindow_combination_limit, Fset_window_combination_limit): Fix
doc-strings.
* elisp.texi (Top): Add Recombining Windows to menu.
* windows.texi (Recombining Windows): New subsection.
(Splitting Windows): Rewrite text on handling of window
combinations and move it to new subsection.
Glenn Morris [Wed, 7 Nov 2012 08:56:16 +0000 (00:56 -0800)]
More cl-lib and gv doc updates
* lisp/emacs-lisp/cl.el (define-setf-expander, defsetf)
(define-modify-macro): Doc fixes.
* doc/misc/cl.texi (Obsolete Setf Customization):
Give defsetf gv.el replacements.
* etc/NEWS: Related edit.
Glenn Morris [Wed, 7 Nov 2012 08:32:34 +0000 (00:32 -0800)]
NEWS edit
Glenn Morris [Wed, 7 Nov 2012 08:28:34 +0000 (00:28 -0800)]
* cl.texi (Obsolete Setf Customization): Give define-modify-macro replacement.
Chong Yidong [Wed, 7 Nov 2012 06:54:43 +0000 (14:54 +0800)]
Doc improvements for Buffer Menu.
* buffers.texi (Several Buffers): List Buffer Menu command anmes,
and index the keybindings. Document tabulated-list-sort.
(Kill Buffer): Capitalize Buffer Menu.
* trouble.texi (Memory Full): Capitalize Buffer Menu.
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.
Chong Yidong [Wed, 7 Nov 2012 05:22:10 +0000 (13:22 +0800)]
Document setf-local, defvar-local, and some doc updates for setf.
* doc/lispref/edebug.texi (Specification List): setf is no longer CL-only.
* doc/lispref/lists.texi (List Elements, List Variables): Clarify descriptions
of push and pop for generalized variables.
* doc/lispref/variables.texi (Creating Buffer-Local): Document setq-local and
defvar-local.
(Setting Generalized Variables): Arrange table alphabetically.
Glenn Morris [Wed, 7 Nov 2012 04:37:07 +0000 (20:37 -0800)]
Small doc updates for generalized variables
* lisp/emacs-lisp/gv.el (gv-letplace): Fix doc typo.
(gv-define-simple-setter): Update doc of `fix-return'.
* doc/lispref/variables.texi (Adding Generalized Variables):
Update description of FIX-RETURN expansion.
* doc/misc/cl.texi (Obsolete Setf Customization):
Revert defsetf example to the more correct let rather than prog1.
Stefan Monnier [Wed, 7 Nov 2012 03:39:33 +0000 (22:39 -0500)]
* lisp/emacs-lisp/gv.el (gv-define-simple-setter): Don't evaluate `val'
twice when `fix-return' is set.
Fixes: debbugs:12813
Stefan Monnier [Wed, 7 Nov 2012 03:14:27 +0000 (22:14 -0500)]
* lisp/emacs-lisp/cl.el (defsetf): Pass the third arg to
gv-define-simple-setter.
Fixes: debbugs:12812
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.
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
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.
Eli Zaretskii [Tue, 6 Nov 2012 16:36:02 +0000 (18:36 +0200)]
Fix bug #12811 with scrolling under scroll-up/down-aggressively.
src/xdisp.c (try_scrolling): Fix correction of aggressive-scroll
amount when the scroll margins are too large. When scrolling
backwards in the buffer, give up if cannot reach point or the
scroll margin within a reasonable number of screen lines. Fixes
point position in window under scroll-up/down-aggressively when
point is positioned many lines beyond the window top/bottom.
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).
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.
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.
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>.
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.
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.
Glenn Morris [Tue, 6 Nov 2012 08:02:25 +0000 (00:02 -0800)]
Minor rephrasing of previous variables.texi change
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.
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.
Glenn Morris [Tue, 6 Nov 2012 02:49:57 +0000 (21:49 -0500)]
More small cl.texi updates
* doc/misc/cl.texi (Setf Extensions): Remove obsolete reference.
(Obsolete Setf Customization):
Mention simple defsetf replaced by gv-define-simple-setter.
Glenn Morris [Tue, 6 Nov 2012 02:30:16 +0000 (21:30 -0500)]
Removed some doubly-deleted, commented out stuff from cl.texi
Glenn Morris [Tue, 6 Nov 2012 02:28:48 +0000 (21:28 -0500)]
* doc/misc/cl.texi (Overview): Mention EIEIO here, as well as the appendix.
Glenn Morris [Tue, 6 Nov 2012 02:22:07 +0000 (21:22 -0500)]
Undocument get-setf-method, no longer exists
* doc/misc/cl.texi (Obsolete Setf Customization):
Undocument get-setf-method, since it no longer exists.
* etc/NEWS: Mention this.
Glenn Morris [Tue, 6 Nov 2012 02:03:34 +0000 (21:03 -0500)]
Move note on lack of setf functions from cl.texi to lispref
* doc/lispref/variables.texi (Adding Generalized Variables):
Move note on lack of setf functions to here...
* doc/misc/cl.texi (Obsolete Setf Customization): ... from here.
Stefan Monnier [Tue, 6 Nov 2012 01:49:44 +0000 (20:49 -0500)]
* lisp/woman.el (woman-decode-region): Disable adaptive-fill when rendering.
Fixes: debbugs:12756
Glenn Morris [Tue, 6 Nov 2012 01:42:17 +0000 (20:42 -0500)]
Add some documentation on defining new generalized variables
* doc/lispref/variables.texi (Setting Generalized Variables):
Split most of previous contents into this subsection.
(Adding Generalized Variables): New subsection.
* doc/lispref/elisp.texi:
Add Generalized Variables subsections to detailed menu.
* etc/NEWS: Mention some gv.el macros by name.
Glenn Morris [Tue, 6 Nov 2012 01:36:44 +0000 (20:36 -0500)]
* lisp/emacs-lisp/gv.el (gv-define-setter): Fix doc typo.
Eli Zaretskii [Mon, 5 Nov 2012 18:01:20 +0000 (20:01 +0200)]
Clarify documentation of scroll-step, per bug #12801.
doc/emacs/display.texi (Auto Scrolling): Clarify that scroll-step is
ignored when scroll-conservatively is set to a non-zero value.
Juanma Barranquero [Mon, 5 Nov 2012 17:29:30 +0000 (18:29 +0100)]
Fix typos.
Eli Zaretskii [Mon, 5 Nov 2012 17:25:50 +0000 (19:25 +0200)]
Fix last entry in src/ChangeLog.
Eli Zaretskii [Mon, 5 Nov 2012 17:23:25 +0000 (19:23 +0200)]
Fix bug #12774 with crashes in ralloc.c.
src/ralloc.c (relinquish): If real_morecore fails to return memory
to the system, don't crash; instead, leave the last heap
unchanged and return.
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.
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.
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.
Chong Yidong [Mon, 5 Nov 2012 14:30:58 +0000 (22:30 +0800)]
* frames.texi (Initial Parameters): Doc fix.
Fixes: debbugs:12144
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.
Chong Yidong [Mon, 5 Nov 2012 14:13:26 +0000 (22:13 +0800)]
* dired.texi (Dired Updating): Doc fix.
Fixes: debbugs:11744
Glenn Morris [Mon, 5 Nov 2012 12:20:41 +0000 (07:20 -0500)]
Auto-commit of loaddefs files.
Glenn Morris [Mon, 5 Nov 2012 11:17:32 +0000 (06:17 -0500)]
Auto-commit of generated files.
Glenn Morris [Mon, 5 Nov 2012 08:29:12 +0000 (00:29 -0800)]
Misc small cl doc fixes
* emacs-lisp/cl-extra.el (cl-maplist, cl-mapcan): Doc fix.
* emacs-lisp/cl-extra.el (cl-prettyexpand):
* emacs-lisp/cl-lib.el (cl-proclaim, cl-declaim):
* emacs-lisp/cl-macs.el (cl-destructuring-bind, cl-locally)
(cl-the, cl-compiler-macroexpand): Add basic doc strings.
Chong Yidong [Mon, 5 Nov 2012 04:00:58 +0000 (12:00 +0800)]
* process.c (wait_reading_process_output): Revert previous change.
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
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.
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.
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
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.
Glenn Morris [Sun, 4 Nov 2012 12:22:06 +0000 (07:22 -0500)]
Auto-commit of loaddefs files.
Glenn Morris [Sun, 4 Nov 2012 11:23:35 +0000 (06:23 -0500)]
Auto-commit of loaddefs files.
Glenn Morris [Sun, 4 Nov 2012 11:19:07 +0000 (06:19 -0500)]
Auto-commit of generated files.
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
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
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.
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
Eli Zaretskii [Sat, 3 Nov 2012 20:48:03 +0000 (22:48 +0200)]
Fix order of entries in ChangeLog files.
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
Glenn Morris [Sat, 3 Nov 2012 19:19:05 +0000 (12:19 -0700)]
* admin/admin.el (set-copyright): Add msdos/sed2v2.inp.
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
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
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
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
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
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
Glenn Morris [Sat, 3 Nov 2012 18:23:38 +0000 (11:23 -0700)]
More general edits for cl.texi Appendices
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.
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.
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.