From: Glenn Morris Date: Sat, 10 Nov 2012 23:13:33 +0000 (-0800) Subject: Merge from emacs-24; up to 2012-11-08T14:54:03Z!monnier@iro.umontreal.ca X-Git-Tag: emacs-24.3.90~173^2~18^2~140 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=6baf66d53bbedd85a443e0d69d1f4311a93f0677;p=emacs.git Merge from emacs-24; up to 2012-11-08T14:54:03Z!monnier@iro.umontreal.ca --- 6baf66d53bbedd85a443e0d69d1f4311a93f0677 diff --cc doc/emacs/ChangeLog index c7cbc78f910,9390daef38d..f6d536a08d1 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@@ -1,3 -1,48 +1,46 @@@ + 2012-11-10 Glenn Morris + + * misc.texi (Terminal emulator): Rename `term-face' to `term'. + -2012-11-09 Glenn Morris - + * emacs.texi (Acknowledgments): Add profiler author. + * ack.texi (Acknowledgments): Add some recent contributions. + -2012-11-08 Chong Yidong ++2012-11-10 Chong Yidong + + * files.texi (Diff Mode): Doc fixes for + diff-delete-trailing-whitespace (Bug#12831). + + * trouble.texi (Crashing): Copyedits. + -2012-11-08 Glenn Morris ++2012-11-10 Glenn Morris + + * files.texi (Diff Mode): Trailing whitespace updates. + -2012-11-07 Chong Yidong ++2012-11-10 Chong Yidong + + * misc.texi (Terminal emulator): Document Term mode faces. + + * mini.texi (Basic Minibuffer): New node. Document + minibuffer-electric-default-mode. + + * display.texi (Visual Line Mode): Fix index entry. + + * 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. + -2012-11-05 Eli Zaretskii ++2012-11-10 Eli Zaretskii + + * display.texi (Auto Scrolling): Clarify that scroll-step is + ignored when scroll-conservatively is set to a non-zero value. + (Bug#12801) + -2012-11-05 Chong Yidong ++2012-11-10 Chong Yidong + + * dired.texi (Dired Updating): Doc fix (Bug#11744). + 2012-10-30 Michael Albinus * trouble.texi (Known Problems): Mention command `debbugs-gnu-usertags'. diff --cc doc/lispref/ChangeLog index f5aad901d44,eba44b5743d..7eb75ceac55 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@@ -1,10 -1,41 +1,46 @@@ -2012-11-07 Martin Rudalics ++2012-11-10 Martin Rudalics + + * 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. + -2012-11-07 Chong Yidong ++2012-11-10 Chong Yidong + + * searching.texi (Replacing Match): Document \? in replace-match. + + * variables.texi (Creating Buffer-Local): Document setq-local and + defvar-local. + (Setting Generalized Variables): Arrange table alphabetically. + + * lists.texi (List Elements, List Variables): Clarify descriptions + of push and pop for generalized variables. + + * edebug.texi (Specification List): setf is no longer CL-only. + -2012-11-07 Glenn Morris ++2012-11-10 Glenn Morris + + * variables.texi (Adding Generalized Variables): + Update description of FIX-RETURN expansion. + -2012-11-06 Glenn Morris - + * variables.texi (Setting Generalized Variables): + Split most of previous contents into this subsection. + (Adding Generalized Variables): New subsection. + Move note on lack of setf functions here from misc/cl.texi. + + * elisp.texi: Add Generalized Variables subsections to detailed menu. + -2012-11-05 Chong Yidong ++2012-11-10 Chong Yidong + + * frames.texi (Initial Parameters): Doc fix (Bug#12144). + +2012-11-08 Michael Albinus + + * 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. + 2012-11-03 Chong Yidong * objects.texi (General Escape Syntax): Clarify the explanation of diff --cc doc/misc/ChangeLog index 0a32fd82044,80d19f3adaa..2518e72ef1e --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@@ -1,3 -1,36 +1,32 @@@ -2012-11-09 Chong Yidong ++2012-11-10 Chong Yidong + + * url.texi (Introduction): Move url-configuration-directory to + Customization node. + (Parsed URIs): Split into its own node. + (URI Encoding): New node. + (Defining New URLs): Remove empty chapter. + (Retrieving URLs): Add an introduction. Doc fix for url-retrieve. + Improve docs for url-queue-*. + (Supported URL Types): Copyedits. Delete empty subnodes. + -2012-11-08 Chong Yidong - + * url.texi (Introduction): Rename from Getting Started. Rewrite + the introduction. + (URI Parsing): Rewrite. Omit the obsolete attributes slot. + -2012-11-07 Glenn Morris ++2012-11-10 Glenn Morris + + * cl.texi (Obsolete Setf Customization): + Revert defsetf example to the more correct let rather than prog1. + Give define-modify-macro, defsetf, and define-setf-method + gv.el replacements. + -2012-11-06 Glenn Morris - + * cl.texi (Overview): Mention EIEIO here, as well as the appendix. + (Setf Extensions): Remove obsolete reference. + (Obsolete Setf Customization): + Move note on lack of setf functions to lispref/variables.texi. + Undocument get-setf-method, since it no longer exists. + Mention simple defsetf replaced by gv-define-simple-setter. + 2012-11-03 Glenn Morris * cl.texi: Further general copyedits. diff --cc lisp/ChangeLog index fb436fa0038,542c80abeec..2773ea1690d --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@@ -1,175 -1,91 +1,250 @@@ -2012-11-10 Leo Liu - - * ido.el (ido-set-matches-1): Fix split-string args to avoid - performance issue. (Bug#12796) - + 2012-11-10 Glenn Morris + + * term.el (term-default-fg-color, term-default-bg-color): + Make obsolete, rather than just saying "deprecated" in the doc. + + * term.el (term): Rename from `term-face'. + (term-current-face, ansi-term-color-vector) + (term-default-fg-color, term-default-bg-color, term-ansi-reset): + Update all users. + -2012-11-09 Jan Djärv - - * server.el (server-create-window-system-frame): Improved comment. - -2012-11-08 Jan Djärv ++2012-11-10 Jan Djärv + + * server.el (server-create-window-system-frame): Handle Nextstep + specially (Bug#12780). + -2012-11-08 Glenn Morris ++2012-11-10 Glenn Morris + + * mail/emacsbug.el (report-emacs-bug-query-existing-bugs): + Unautoload, and make obsolete. (Bug#7449) + -2012-11-08 Chong Yidong ++2012-11-10 Chong Yidong + + * vc/diff-mode.el (diff-delete-trailing-whitespace): Rewrite, and + rename from diff-remove-trailing-whitespace (Bug#12831). + -2012-11-08 Stefan Monnier ++2012-11-10 Stefan Monnier + + * emacs-lisp/advice.el: Require `cl-lib' at run-time to fix + miscompilation of trace.el. + -2012-11-08 Glenn Morris ++2012-11-10 Glenn Morris + + * vc/diff-mode.el (diff-remove-trailing-whitespace): Doc fix. + -2012-11-08 Stefan Monnier ++2012-11-10 Stefan Monnier + + * emacs-lisp/gv.el (gv-define-simple-setter): Fix last change + (bug#12812). + -2012-11-07 Chong Yidong ++2012-11-10 Chong Yidong + + * minibuf-eldef.el (minibuffer-eldef-shorten-default): Convert to + a defcustom with an appropriate :set function. + (minibuffer-default--in-prompt-regexps): New function. + -2012-11-07 Glenn Morris ++2012-11-10 Glenn Morris + + * emacs-lisp/cl.el (define-setf-expander, defsetf) + (define-modify-macro): Doc fixes. + + * emacs-lisp/gv.el (gv-letplace): Fix doc typo. + (gv-define-simple-setter): Update doc of `fix-return'. + -2012-11-07 Stefan Monnier ++2012-11-10 Stefan Monnier + + * emacs-lisp/gv.el (gv-define-simple-setter): Don't evaluate `val' + twice when `fix-return' is set (bug#12813). + + * emacs-lisp/cl.el (defsetf): Pass the third arg to + gv-define-simple-setter (bug#12812). + -2012-11-06 Stefan Monnier - + * woman.el (woman-decode-region): Disable adaptive-fill when rendering + (bug#12756). + -2012-11-06 Glenn Morris ++2012-11-10 Glenn Morris + + * emacs-lisp/gv.el (gv-define-setter): Fix doc typo. + -2012-11-05 Glenn Morris - + * 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. + + * emacs-lisp/cl-extra.el (cl-maplist, cl-mapcan): Doc fix. + +2012-11-10 Leo Liu + + * ido.el (ido-set-matches-1): Improve flex matching performance by + removing backtracking in the regexp (suggested by Stefan). (Bug#12796) + +2012-11-09 Stefan Monnier + + * emacs-lisp/advice.el (ad-set-advice-info): Set defalias-fset-function. + (ad--defalias-fset): New function. + (ad-safe-fset): Remove. + (ad-make-freeze-definition): Use cl-letf*. + +2012-11-09 Stefan Monnier + + * subr.el (dolist): Don't bind VAR in RESULT. + + * emacs-lisp/advice.el: Miscellaneous cleanup. Use lexical-binding. + (fset, documentation): Don't save real def since we don't advise. + (ad-do-advised-functions): Remove problematic `result-form'. + (ad-safe-fset): `ad-real-fset' => `fset'. + (ad-read-advised-function): Don't assume that ad-do-advised-functions + uses CL's dolist internally. + (ad-arglist): Remove unused arg `name'. + (ad-docstring, ad-make-advised-docstring): + `ad-real-documentation' => `documentation'. + (warning-suppress-types): Declare. + (ad-set-arguments): Simple CSE. + (ad-recover-normality): Sanity check. + + * emacs-lisp/bytecomp.el (byte-compile-out-toplevel): Don't turn + (funcall '(lambda ..) ..) into ((lambda ..) ..). + +2012-11-09 Vincent Belaïche + + * ses.el: symbol to coordinate mapping is made by symbol property + `ses-cell'. This means that the same mapping is done for all SES + sheets. That is good enough for cells with standard A1 names, but + not for named cell. So a hash map is added for the latter. + (defconst ses-localvars): Add local variable ses--named-cell-hashmap + (ses-sym-rowcol): Use hashmap for named cell. + (ses-is-cell-sym-p): New defun. + (ses-decode-cell-symbol): New defun. + (ses-create-cell-variable): Add cell to hashmap when name is not + A1-like. + (ses-rename-cell): Check that cell new name is not already in + spreadsheet with the use of ses-is-cell-sym-p + (ses-rename-cell): Use hash map for named cells, but accept also + renaming back to A1-like. + +2012-11-09 Stefan Monnier + + * emacs-lisp/advice.el: Use new dynamic docstrings. + (ad-make-advised-definition-docstring, ad-advised-definition-p): + Use dynamic-docstring-function instead of ad-advice-info. + (ad--make-advised-docstring): New function extracted from + ad-make-advised-docstring. + (ad-make-advised-docstring): Use it. + * progmodes/sql.el (sql--make-help-docstring): New function, extracted + from sql-help. + (sql-help): Use it with dynamic-docstring-function. + + * env.el (env--substitute-vars-regexp): Don't use rx (for bootstrap). + +2012-11-08 Stefan Monnier + + * files.el (hack-one-local-variable--obsolete): New function. + (hack-one-local-variable): Use it for obsolete settings. + + * subr.el (locate-user-emacs-file): If both old and new name exist, use + the new name. + + * progmodes/js.el (js--filling-paragraph): New var. + (c-forward-sws, c-backward-sws, c-beginning-of-macro): Advise. + (js-c-fill-paragraph): Prefer advice to cl-letf so the rebinding is + less sneaky. + +2012-11-08 Julien Danjou + + * progmodes/ruby-mode.el (auto-mode-alist): Add Rakefile in + `auto-mode-alist' (Bug#12835). + +2012-11-08 Stefan Monnier + + * 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 functions. + (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. + + * env.el (env--substitute-vars-regexp): New const. + (substitute-env-vars): Use it. Add `only-defined' arg. + * net/tramp.el (tramp-replace-environment-variables): Use it. + + * 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. + + * emacs-lisp/gv.el (gv-ref, gv-deref): New function and macro. + +2012-11-07 Michael Albinus + + * notifications.el (notifications-get-server-information-method): + New defconst. + (notifications-get-capabilities): Fix docstring. + (notifications-get-server-information): New defun. + +2012-11-06 Agustín Martín Domingo + + * textmodes/ispell.el (ispell-region): Standard re-indent for better + readability. + + * 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. + + * textmodes/ispell.el (ispell-region): Do not prefix sent string by + comment in autoconf mode. (Bug#12768) + +2012-11-06 Dmitry Antipov + + * 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. + +2012-11-05 Agustín Martín Domingo + + * textmodes/ispell.el (ispell-program-name): + Update spellchecker parameters when customized. + +2012-11-04 Glenn Morris + + * vc/vc-svn.el (vc-svn-state-heuristic): Avoid calling svn. (Bug#7850) + +2012-11-04 Chong Yidong + + * bookmark.el (bookmark-bmenu-switch-other-window): Avoid binding + same-window-* variables. + +2012-11-04 Juri Linkov + + * 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 (Bug#10040). + 2012-11-03 Glenn Morris * emacs-lisp/cl-macs.el (cl-parse-loop-clause): diff --cc src/ChangeLog index da3e96bbcc3,9e0f92f557e..46f086389fe --- a/src/ChangeLog +++ b/src/ChangeLog @@@ -1,368 -1,27 +1,389 @@@ -2012-11-07 Martin Rudalics ++2012-11-10 Martin Rudalics + + * 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. ++ (Fset_window_combination_limit): Fix doc-string. + -2012-11-06 Eli Zaretskii ++2012-11-10 Eli Zaretskii + + * 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. + (Bug#12811) + -2012-11-05 Eli Zaretskii - + * ralloc.c (relinquish): If real_morecore fails to return memory + to the system, don't crash; instead, leave the last heap + unchanged and return. (Bug#12774) + +2012-11-09 Stefan Monnier + + * lisp.h (AUTOLOADP): New macro. + * eval.c (Fautoload): Don't attach to loadhist, call Fdefalias instead. + * data.c (Ffset): Remove special ad-advice-info handling. + (Fdefalias): Handle autoload definitions and new Qdefalias_fset_function. + (Fsubr_arity): CSE. + (Finteractive_form): Simplify. + (Fquo): Don't insist on having at least 2 arguments. + (Qdefalias_fset_function): New var. + +2012-11-09 Jan Djärv + + * image.c (xpm_make_color_table_h): Change to hashtest_equal. + + * nsfont.m (Qcondensed, Qexpanded): New variables. + (ns_descriptor_to_entity): Restore Qcondensed, Qexpanded setting. + (syms_of_nsfont): Defsym Qcondensed, Qexpanded. + +2012-11-09 Dmitry Antipov + + Fix recently introduced crash on MS-Windows (Bug#12839). + * w32term.h (struct scroll_bar): Use convenient header. + (SCROLL_BAR_VEC_SIZE): Remove. + * w32term.c (x_scroll_bar_create): Use VECSIZE. + +2012-11-09 Dmitry Antipov + + Tweak last vectorlike_header change. + * alloc.c (struct Lisp_Vectorlike_Free): Special type to represent + vectorlike object on the free list. This is introduced to avoid + some (but not all) pointer casting and aliasing problems, see + http://lists.gnu.org/archive/html/emacs-devel/2012-11/msg00105.html. + * .gdbinit (pvectype, pvecsize): New commands to examine vectorlike + objects. + (xvectype, xvecsize): Use them to examine Lisp_Object values. + +2012-11-09 Jan Djärv + + * nsfont.m (ns_descriptor_to_entity): Qcondensed and Qexpanded has + been removed, so remove them here also. + +2012-11-09 Stefan Monnier + + * doc.c (Fdocumentation): Handle new property + dynamic-docstring-function to replace the old ad-advice-info. + +2012-11-09 Paul Eggert + + * fns.c (Qeql, hashtest_eq): Now static. + +2012-11-08 Stefan Monnier + + * lisp.h (XHASH): Redefine to be imperfect and fit in a Lisp int. + * fns.c (hashfn_eq, hashfn_eql, sxhash): + * profiler.c (hashfn_profiler): Don't use XUINT on non-integers. + * buffer.c (compare_overlays): Use XLI rather than XHASH. + +2012-11-08 Paul Eggert + + Use same hash function for hashfn_profiler as for hash_string etc. + * fns.c (SXHASH_COMBINE): Remove. All uses replaced by sxhash_combine. + * lisp.h (sxhash_combine): New inline function, with the contents + of the old SXHASH_COMBINE. + * profiler.c (hashfn_profiler): Use it, instead of having a + special hash function containing a comparison that always yields 1. + +2012-11-08 Stefan Monnier + + * xfaces.c (Qultra_light, Qreverse_oblique, Qreverse_italic) + (Qultra_condensed, Qextra_condensed, Qcondensed, Qsemi_condensed) + (Qsemi_expanded, Qextra_expanded, Qexpanded, Qultra_expanded): + Remove unused vars. + +2012-11-08 Jan Djärv + + * image.c (xpm_make_color_table_h): Fix compiler error because + make_hash_table changed. + +2012-11-08 Thomas Kappler (tiny change) + + * nsfont.m (ns_findfonts): Handle empty matchingDescs (Bug#11541). + +2012-11-08 Stefan Monnier + + Use ad-hoc comparison function for the profiler's hash-tables. + * profiler.c (Qprofiler_backtrace_equal, hashtest_profiler): New vars. + (make_log): Use them. + (handle_profiler_signal): Don't inhibit quit any longer since we don't + call Fequal any more. + (Ffunction_equal): New function. + (cmpfn_profiler, hashfn_profiler): New functions. + (syms_of_profiler): Initialize them. + * lisp.h (struct hash_table_test): New struct. + (struct Lisp_Hash_Table): Use it. + * alloc.c (mark_object): Mark hash_table_test fields of hash tables. + * fns.c (make_hash_table): Take a struct to describe the test. + (cmpfn_eql, cmpfn_equal, cmpfn_user_defined, hashfn_eq, hashfn_eql) + (hashfn_equal, hashfn_user_defined): Adjust to new calling convention. + (hash_lookup, hash_remove_from_table): Move assertion checking of + hashfn result here. Check hash-equality before calling cmpfn. + (Fmake_hash_table): Adjust call to make_hash_table. + (hashtest_eq, hashtest_eql, hashtest_equal): New structs. + (syms_of_fns): Initialize them. + * emacs.c (main): Move syms_of_fns earlier. + * xterm.c (syms_of_xterm): + * category.c (hash_get_category_set): Adjust call to make_hash_table. + * print.c (print_object): Adjust to new hash-table struct. + * composite.c (composition_gstring_put_cache): Adjust to new hashfn. + +2012-11-08 Eli Zaretskii + + * 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. (Bug#12806) + +2012-11-08 Dmitry Antipov + + Shrink struct vectorlike_header to the only size field. + * lisp.h (enum pvec_type): Avoid explicit enum member values. + Adjust comment. + (enum More_Lisp_Bits): Change PSEUDOVECTOR_SIZE_BITS and + PVEC_TYPE_MASK to arrange new bitfield in the vector header. + (PSEUDOVECTOR_REST_BITS, PSEUDOVECTOR_REST_MASK): New members. + (PSEUDOVECTOR_AREA_BITS): New member used to extract subtype + information from the vector header. Adjust comment. + (XSETPVECTYPE, XSETPVECTYPESIZE, XSETTYPED_PSEUDOVECTOR) + (PSEUDOVECTOR_TYPEP, DEFUN): Adjust to match new vector header + layout. + (XSETSUBR, SUBRP): Adjust to match new Lisp_Subr layout. + (struct vectorlike_header): Remove next member. Adjust comment. + (struct Lisp_Subr): Add convenient header. Adjust comment. + (allocate_pseudovector): Adjust prototype. + * alloc.c (mark_glyph_matrix, mark_face_cache, allocate_string) + (sweep_string, lisp_malloc): Remove useless prototypes. + (enum mem_type): Adjust comment. + (NEXT_IN_FREE_LIST): New macro. + (SETUP_ON_FREE_LIST): Adjust XSETPVECTYPESIZE usage. + (Fmake_bool_vector): Likewise. + (struct large_vector): New type to represent allocation unit for + the vectors with the memory footprint more than VBLOOCK_BYTES_MAX. + (large_vectors): Change type to struct large_vector. + (allocate_vector_from_block): Simplify. + (PSEUDOVECTOR_NBYTES): Replace with... + (vector_nbytes): ...new function. Adjust users. + (sweep_vectors): Adjust processing of large vectors. + (allocate_vectorlike): Likewise. + (allocate_pseudovector): Change type of 3rd arg to enum pvec_type. + Add easserts. Adjust XSETPVECTYPESIZE usage. + (allocate_buffer): Use BUFFER_PVEC_INIT. + (live_vector_p): Adjust to match large vector. + * buffer.c (init_buffer_once): Use BUFFER_PVEC_INIT. + * buffer.h (struct buffer): Add next member. + (BUFFER_LISP_SIZE, BUFFER_REST_SIZE, BUFFER_PVEC_INIT): + New macros. + (FOR_EACH_BUFFER): Adjust to match struct buffer change. + * fns.c (internal_equal): Adjust to match enum pvec_type change. + (copy_hash_table): Adjust to match vector header change. + * lread.c (defsubr): Use XSETPVECTYPE. + * .gdbinit (xpr, xbacktrace): Adjust to match vector header change. + (xvectype): Likewise. Print PVEC_NORMAL_VECTOR for regular vectors. + (xvecsize): New command. + +2012-11-08 Dmitry Antipov + + * keyboard.c (event_to_kboard): Do not dereference + frame_or_window field of SELECTION_REQUEST_EVENT + and SELECTION_CLEAR_EVENT events (Bug#12814). + * xterm.h (struct selection_input_event): Adjust comment. + +2012-11-07 Eli Zaretskii + + * 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. (Bug#12806) + +2012-11-07 Dmitry Antipov + + * xfns.c (Fx_wm_set_size_hint): Use check_x_frame. Adjust docstring. + +2012-11-06 Paul Eggert + + Restore some duplicate definitions (Bug#12814). + 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 . + * lisp.h (GCTYPEBITS, ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): + Define as macros, as well as as enums or as constants. + +2012-11-06 Jan Djärv + + * nsterm.m (convert_ns_to_X_keysym, keyDown:): Add NSNumericPadKeyMask + to keypad keys (Bug#12816). + +2012-11-06 Paul Eggert + + Minor adjustments of recently-changed frame functions. + * buffer.c (Fbuffer_list): Omit CHECK_FRAME, since arg is already + known to be a frame (we're in the FRAMEP branch). + * lisp.h (Qframep): Remove decl. frame.h declares this. + * window.c (quad): Args are of type EMACS_INT, not ptrdiff_t, + since they're meant for Lisp fixnum values. + +2012-11-06 Dmitry Antipov + + * 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 . + +2012-11-06 Dmitry Antipov + + Widely used frame validity and checking functions. + * frame.h (decode_live_frame, decode_any_frame): Add prototypes. + * frame.c (decode_live_frame, decode_any_frame): New functions. + (delete_frame, Fredirect_frame_focus, Fframe_parameters) + (Fframe_parameter, Fframe_char_height, Fframe_char_width) + (Fframe_pixel_height, Fframe_pixel_width, Ftool_bar_pixel_width) + (Fframe_pointer_visible_p): Use decode_any_frame. + (Fmake_frame_visible, Fmake_frame_invisible, Ficonify_frame) + (Fraise_frame, Flower_frame, Fmodify_frame_parameters) + (Fset_frame_height, Fset_frame_width): Use decode_live_frame. + (Fframe_focus): Likewise. Allow zero number of arguments. + Adjust docstring. + (frame_buffer_list, frame_buffer_predicate): Remove. + * lisp.h (frame_buffer_predicate): Remove prototype. + * buffer.c (Fother_buffer): Use decode_any_frame. + * xdisp.c (Ftool_bar_lines_needed): Likewise. + * xfaces.c (Fcolor_gray_p, Fcolor_supported_p): Likewise. + * font.c (Ffont_face_attributes, Ffont_family_list, Fopen_font) + (Fclose_font, Ffont_info): Use decode_live_frame. + * fontset.c (check_fontset_name): Likewise. + * terminal.c (Fframe_terminal): Likewise. + * w32fns.c (check_x_frame): Likewise. + * window.c (Fminibuffer_window, Fwindow_at) + (Fcurrent_window_configuration): Likewise. + (Frun_window_configuration_change_hook, Fwindow_resize_apply): + Likewise. Allow zero number of arguments. Adjust docstring. + * dispnew.c (Fredraw_frame): Likewise. + * xfaces.c (frame_or_selected_frame): Remove. + (Fx_list_fonts, Finternal_get_lisp_face_attribute, Fface_font) + (Finternal_lisp_face_equal_p, Finternal_lisp_face_empty_p) + (Fframe_face_alist): Use decode_live_frame. + * xfns.c (check_x_frame): Likewise. + +2012-11-06 Dmitry Antipov + + * window.c (quad): New function. + (Fwindow_edges, Fwindow_pixel_edges, Fwindow_inside_edges) + (Fwindow_absolute_pixel_edges, Fwindow_inside_absolute_pixel_edges) + (Fwindow_inside_pixel_edges, Fpos_visible_in_window_p) + (Fwindow_line_height): Use it. + (Fwindow_fringes): Use list3. + (Fwindow_scroll_bars): Use list4. + (Fwindow_frame, Fwindow_top_child, Fwindow_left_child) + (Fwindow_combination_limit): Allow zero number of arguments. + +2012-11-05 Eli Zaretskii + + * makefile.w32-in ($(BLD)/w32fns.$(O)): Depend on $(NT_INC)/unistd.h. + + * 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. (Bug#12805) + +2012-11-05 Chong Yidong + + * process.c (wait_reading_process_output): Revert previous change. + +2012-11-05 Paul Eggert + + Assume at least POSIX.1-1988 for getpgrp, setpgid, setsid (Bug#12800). + This removes code that has been obsolete since around 1990. + * callproc.c (Fcall_process): + * emacs.c (main): + * process.c (create_process): + * term.c (dissociate_if_controlling_tty): + Assume setsid exists. + * callproc.c (child_setup): Assume setpgid exists and behaves as + per POSIX.1-1988 or later. + * conf_post.h (setpgid) [!HAVE_SETPGID]: Remove. + * emacs.c (shut_down_emacs): + * sysdep.c (sys_suspend, init_foreground_group): + Assume getpgrp behaves as per POSIX.1-1998 or later. + * msdos.c (setpgrp): Remove. + (tcgetpgrp, setpgid, setsid): New functions. + * systty.h (EMACS_GETPGRP): Remove. All callers now use getpgrp. + * term.c (no_controlling_tty): Remove; unused. + * w32proc.c (setpgrp): Remove. + (setsid, tcgetpgrp): New functions. + + Simplify by assuming __fpending. + * dispnew.c: Include , not . + (update_frame_1): Use __fpending, not PENDING_OUTPUT_COUNT. + Do not assume that __fpending's result fits in int. + +2012-11-04 Paul Eggert + + 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. + + Fix data-loss with --version (Bug#9574). + * 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". + +2012-11-04 Michael Marchionna + + * nsterm.m: Add NSClearLineFunctionKey and keypad keys (Bug#8680). + (keyDown): Remap keypad keys to X11 virtual key codes. + +2012-11-03 Paul Eggert + + Fix data-loss with --batch (Bug#9574). + * emacs.c: Include . + (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. + + Fix a race condition that causes Emacs to mess up glib (Bug#8855). + 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'. + + Omit duplicate definitions no longer needed with gcc -g3. + * lisp.h (GCTYPEBITS, GCALIGNMENT, ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG) + (VALMASK, MOST_POSITIVE_FIXNUM, MOST_NEGATIVE_FIXNUM): + Define only as macros. There's no longer any need to also define + these symbols as enums or as constants, since we now assume + gcc -g3 when debugging. + 2012-11-03 Eli Zaretskii * lisp.mk: Adjust comments to the fact that term/internal is now