bpt/emacs.git
11 years agoMake report-emacs-bug-query-existing-bugs obsolete (bug#7449)
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.

11 years agoRewrite and rename diff-delete-trailing-whitespace.
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.

11 years agoMore fixes for bug #12806.
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.

11 years agoAdd Rakefile in auto-mode-list for ruby-mode
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).

11 years ago* perl-mode.el: Add coding cookie.
Stefan Monnier [Thu, 8 Nov 2012 15:37:29 +0000 (10:37 -0500)]
* perl-mode.el: Add coding cookie.

11 years ago* lisp/progmodes/perl-mode.el (perl-prettify-symbols): New defcustom.
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.

11 years ago* lisp/env.el (env--substitute-vars-regexp): New const.
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.

11 years ago* lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
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.

11 years ago* lisp/emacs-lisp/gv.el (gv-deref): Move setter declaration, to fix bootstrap.
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.

11 years ago* lisp/emacs-lisp/advice.el: Require `cl-lib' at run-time to fix
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.

11 years ago* lisp/emacs-lisp/gv.el (gv-ref, gv-deref): New function and macro.
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.

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* doc/emacs/trouble.texi (Crashing): Copyedits.
Chong Yidong [Thu, 8 Nov 2012 10:35:40 +0000 (18:35 +0800)]
* doc/emacs/trouble.texi (Crashing): Copyedits.

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 agoDocument diff-remove-trailing-whitespace
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.

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 agoTweak previous change
Glenn Morris [Thu, 8 Nov 2012 04:20:00 +0000 (20:20 -0800)]
Tweak previous change

11 years agoDirect ERC news to the main NEWS file
Glenn Morris [Thu, 8 Nov 2012 04:19:38 +0000 (20:19 -0800)]
Direct ERC news to the main NEWS file

11 years ago* lisp/emacs-lisp/gv.el (gv-define-simple-setter): Fix last change.
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

11 years agoNEWS edit
Glenn Morris [Wed, 7 Nov 2012 22:27:39 +0000 (17:27 -0500)]
NEWS edit

11 years ago* cl.texi (Obsolete Setf Customization): Updates for define-setf-method.
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.

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 ago* misc.texi (Terminal emulator): Document Term mode faces.
Chong Yidong [Wed, 7 Nov 2012 21:04:52 +0000 (05:04 +0800)]
* misc.texi (Terminal emulator): Document Term mode faces.

11 years agoFix and docfix for the minibuffer-eldef-shorten-default feature.
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.

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* doc/lispref/searching.texi (Replacing Match): Document \? in replace-match.
Chong Yidong [Wed, 7 Nov 2012 15:46:35 +0000 (23:46 +0800)]
* doc/lispref/searching.texi (Replacing Match): Document \? in replace-match.

11 years agoFix and rewrite doc on window recombining facilities.
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.

11 years agoMore cl-lib and gv doc updates
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.

11 years agoNEWS edit
Glenn Morris [Wed, 7 Nov 2012 08:32:34 +0000 (00:32 -0800)]
NEWS edit

11 years ago* cl.texi (Obsolete Setf Customization): Give define-modify-macro replacement.
Glenn Morris [Wed, 7 Nov 2012 08:28:34 +0000 (00:28 -0800)]
* cl.texi (Obsolete Setf Customization): Give define-modify-macro replacement.

11 years agoDoc improvements for Buffer Menu.
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.

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 agoDocument setf-local, defvar-local, and some doc updates for setf.
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.

11 years agoSmall doc updates for generalized variables
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.

11 years ago* lisp/emacs-lisp/gv.el (gv-define-simple-setter): Don't evaluate `val'
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

11 years ago* lisp/emacs-lisp/cl.el (defsetf): Pass the third arg to
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

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 agoFix bug #12811 with scrolling under scroll-up/down-aggressively.
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.

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 agoMinor rephrasing of previous variables.texi change
Glenn Morris [Tue, 6 Nov 2012 08:02:25 +0000 (00:02 -0800)]
Minor rephrasing of previous variables.texi change

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 agoMore small cl.texi updates
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.

11 years agoRemoved some doubly-deleted, commented out stuff from cl.texi
Glenn Morris [Tue, 6 Nov 2012 02:30:16 +0000 (21:30 -0500)]
Removed some doubly-deleted, commented out stuff from cl.texi

11 years ago* doc/misc/cl.texi (Overview): Mention EIEIO here, as well as the appendix.
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.

11 years agoUndocument get-setf-method, no longer exists
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.

11 years agoMove note on lack of setf functions from cl.texi to lispref
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.

11 years ago* lisp/woman.el (woman-decode-region): Disable adaptive-fill when rendering.
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

11 years agoAdd some documentation on defining new generalized variables
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.

11 years ago* lisp/emacs-lisp/gv.el (gv-define-setter): Fix doc typo.
Glenn Morris [Tue, 6 Nov 2012 01:36:44 +0000 (20:36 -0500)]
* lisp/emacs-lisp/gv.el (gv-define-setter): Fix doc typo.

11 years agoClarify documentation of scroll-step, per bug #12801.
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.

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 agoFix bug #12774 with crashes in ralloc.c.
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.

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 ago* frames.texi (Initial Parameters): Doc fix.
Chong Yidong [Mon, 5 Nov 2012 14:30:58 +0000 (22:30 +0800)]
* frames.texi (Initial Parameters): Doc fix.

Fixes: debbugs:12144

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 ago* dired.texi (Dired Updating): Doc fix.
Chong Yidong [Mon, 5 Nov 2012 14:13:26 +0000 (22:13 +0800)]
* dired.texi (Dired Updating): Doc fix.

Fixes: debbugs:11744

11 years agoAuto-commit of loaddefs files.
Glenn Morris [Mon, 5 Nov 2012 12:20:41 +0000 (07:20 -0500)]
Auto-commit of loaddefs files.

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 agoMisc small cl doc fixes
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.

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 12:22:06 +0000 (07:22 -0500)]
Auto-commit of loaddefs files.

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.