diff options
| author | Eli Zaretskii | 2012-11-13 16:17:18 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2012-11-13 16:17:18 +0200 |
| commit | 3c4ca7155293ffc2d04708007131bcbc882d8913 (patch) | |
| tree | 61787be8cd43b6fb3d5159852fbd186eea404de7 /src/ChangeLog | |
| parent | 5ade42a5114255c43117065494b96d480c1e1588 (diff) | |
| parent | c708524567662c8911c5ab2695acc7bda0383705 (diff) | |
| download | emacs-3c4ca7155293ffc2d04708007131bcbc882d8913.tar.gz emacs-3c4ca7155293ffc2d04708007131bcbc882d8913.zip | |
Merge from trunk.
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 557 |
1 files changed, 554 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 87f669c5c6e..e3be3f9149d 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,554 @@ | |||
| 1 | 2012-11-13 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 2 | |||
| 3 | Omit glyphs initialization at startup. | ||
| 4 | * dispnew.c (glyphs_initialized_initially_p): Remove. | ||
| 5 | (adjust_frame_glyphs_initially): Likewise. Adjust users. | ||
| 6 | (Fredraw_frame): Move actual code from here... | ||
| 7 | (redraw_frame): ...to here. Add eassert. Adjust comment. | ||
| 8 | (Fredraw_display): Use redraw_frame. | ||
| 9 | * xdisp.c (clear_garbaged_frames): Likewise. | ||
| 10 | |||
| 11 | 2012-11-13 Eli Zaretskii <eliz@gnu.org> | ||
| 12 | |||
| 13 | * xdisp.c (decode_mode_spec): Limit the value of WIDTH argument | ||
| 14 | passed to pint2str and pint2hrstr to be at most the size of the | ||
| 15 | frame's decode_mode_spec_buffer. This avoids crashes with very | ||
| 16 | large values of FIELD_WIDTH argument to decode_mode_spec. | ||
| 17 | (Bug#12867) | ||
| 18 | |||
| 19 | 2012-11-13 Paul Eggert <eggert@cs.ucla.edu> | ||
| 20 | |||
| 21 | Fix a race with verify-visited-file-modtime (Bug#12863). | ||
| 22 | Since at least 1991 Emacs has ignored an mtime difference of no | ||
| 23 | more than one second, but my guess is that this was to work around | ||
| 24 | file system bugs that were fixed long ago. Since the race is | ||
| 25 | causing problems now, let's remove that code. | ||
| 26 | * fileio.c (Fverify_visited_file_modtime): Do not accept a file | ||
| 27 | whose time stamp is off by no more than a second. Insist that the | ||
| 28 | file time stamps match exactly. | ||
| 29 | |||
| 30 | 2012-11-12 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 31 | |||
| 32 | * frame.h (struct frame): Convert external_tool_bar member to | ||
| 33 | 1-bit unsigned bitfield. | ||
| 34 | * termhooks.h (struct terminal): Remove mouse_moved member since | ||
| 35 | all users are long dead. Adjust comment on mouse_position_hook. | ||
| 36 | |||
| 37 | 2012-11-12 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 38 | |||
| 39 | Simplify by using FOR_EACH_FRAME here and there. | ||
| 40 | * frame.c (next_frame, prev_frame, other_visible_frames) | ||
| 41 | (delete_frame, visible-frame-list): Use FOR_EACH_FRAME. | ||
| 42 | * w32term.c (x_window_to_scroll_bar): Likewise. | ||
| 43 | * window.c (window_list): Likewise. | ||
| 44 | * xdisp.c (x_consider_frame_title): Likewise. | ||
| 45 | * xfaces.c ( Fdisplay_supports_face_attributes_p): Likewise. | ||
| 46 | * xfns.c (x_window_to_frame, x_any_window_to_frame) | ||
| 47 | (x_menubar_window_to_frame, x_top_window_to_frame): Likewise. | ||
| 48 | * xmenu.c (menubar_id_to_frame): Likewise. | ||
| 49 | * xselect.c (frame_for_x_selection): Likewise. | ||
| 50 | * xterm.c (x_frame_of_widget, x_window_to_scroll_bar) | ||
| 51 | (x_window_to_menu_bar): Likewise. | ||
| 52 | * w32fns.c (x_window_to_frame): Likewise. Adjust comment. | ||
| 53 | |||
| 54 | 2012-11-12 Paul Eggert <eggert@cs.ucla.edu> | ||
| 55 | |||
| 56 | * data.c (Qdefalias_fset_function): Now static. | ||
| 57 | |||
| 58 | Another tweak to vectorlike_header change. | ||
| 59 | * alloc.c (struct Lisp_Vectorlike_Free, NEXT_IN_FREE_LIST): | ||
| 60 | Remove, and replace all uses with ... | ||
| 61 | (next_in_free_list, set_next_in_free_list): | ||
| 62 | New functions, which respect C's aliasing rules better. | ||
| 63 | |||
| 64 | 2012-11-11 Paul Eggert <eggert@cs.ucla.edu> | ||
| 65 | |||
| 66 | * window.c (list4i): Rename from 'quad'. All uses changed. | ||
| 67 | Needed because <sys/types.h> defines 'quad' on Solaris 10. | ||
| 68 | |||
| 69 | 2012-11-11 Juanma Barranquero <lekktu@gmail.com> | ||
| 70 | |||
| 71 | * xdisp.c (start_hourglass) [HAVE_NTGUI]: Add block to silence | ||
| 72 | warning about mixing declarations and code in ISO C90. | ||
| 73 | |||
| 74 | 2012-11-10 Martin Rudalics <rudalics@gmx.at> | ||
| 75 | |||
| 76 | * window.c (Fsplit_window_internal): Set combination limit of | ||
| 77 | new parent window to t iff Vwindow_combination_limit is t; | ||
| 78 | fixing a regression introduced with the change from 2012-09-22. | ||
| 79 | (Fset_window_combination_limit): Fix doc-string. | ||
| 80 | |||
| 81 | 2012-11-10 Eli Zaretskii <eliz@gnu.org> | ||
| 82 | |||
| 83 | * xdisp.c (try_scrolling): Fix correction of aggressive-scroll | ||
| 84 | amount when the scroll margins are too large. When scrolling | ||
| 85 | backwards in the buffer, give up if cannot reach point or the | ||
| 86 | scroll margin within a reasonable number of screen lines. Fixes | ||
| 87 | point position in window under scroll-up/down-aggressively when | ||
| 88 | point is positioned many lines beyond the window top/bottom. | ||
| 89 | (Bug#12811) | ||
| 90 | |||
| 91 | * ralloc.c (relinquish): If real_morecore fails to return memory | ||
| 92 | to the system, don't crash; instead, leave the last heap | ||
| 93 | unchanged and return. (Bug#12774) | ||
| 94 | |||
| 95 | 2012-11-09 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 96 | |||
| 97 | * lisp.h (AUTOLOADP): New macro. | ||
| 98 | * eval.c (Fautoload): Don't attach to loadhist, call Fdefalias instead. | ||
| 99 | * data.c (Ffset): Remove special ad-advice-info handling. | ||
| 100 | (Fdefalias): Handle autoload definitions and new Qdefalias_fset_function. | ||
| 101 | (Fsubr_arity): CSE. | ||
| 102 | (Finteractive_form): Simplify. | ||
| 103 | (Fquo): Don't insist on having at least 2 arguments. | ||
| 104 | (Qdefalias_fset_function): New var. | ||
| 105 | |||
| 106 | 2012-11-09 Jan Djärv <jan.h.d@swipnet.se> | ||
| 107 | |||
| 108 | * image.c (xpm_make_color_table_h): Change to hashtest_equal. | ||
| 109 | |||
| 110 | * nsfont.m (Qcondensed, Qexpanded): New variables. | ||
| 111 | (ns_descriptor_to_entity): Restore Qcondensed, Qexpanded setting. | ||
| 112 | (syms_of_nsfont): Defsym Qcondensed, Qexpanded. | ||
| 113 | |||
| 114 | 2012-11-09 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 115 | |||
| 116 | Fix recently introduced crash on MS-Windows (Bug#12839). | ||
| 117 | * w32term.h (struct scroll_bar): Use convenient header. | ||
| 118 | (SCROLL_BAR_VEC_SIZE): Remove. | ||
| 119 | * w32term.c (x_scroll_bar_create): Use VECSIZE. | ||
| 120 | |||
| 121 | 2012-11-09 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 122 | |||
| 123 | Tweak last vectorlike_header change. | ||
| 124 | * alloc.c (struct Lisp_Vectorlike_Free): Special type to represent | ||
| 125 | vectorlike object on the free list. This is introduced to avoid | ||
| 126 | some (but not all) pointer casting and aliasing problems, see | ||
| 127 | http://lists.gnu.org/archive/html/emacs-devel/2012-11/msg00105.html. | ||
| 128 | * .gdbinit (pvectype, pvecsize): New commands to examine vectorlike | ||
| 129 | objects. | ||
| 130 | (xvectype, xvecsize): Use them to examine Lisp_Object values. | ||
| 131 | |||
| 132 | 2012-11-09 Jan Djärv <jan.h.d@swipnet.se> | ||
| 133 | |||
| 134 | * nsfont.m (ns_descriptor_to_entity): Qcondensed and Qexpanded has | ||
| 135 | been removed, so remove them here also. | ||
| 136 | |||
| 137 | 2012-11-09 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 138 | |||
| 139 | * doc.c (Fdocumentation): Handle new property | ||
| 140 | dynamic-docstring-function to replace the old ad-advice-info. | ||
| 141 | |||
| 142 | 2012-11-09 Paul Eggert <eggert@cs.ucla.edu> | ||
| 143 | |||
| 144 | * fns.c (Qeql, hashtest_eq): Now static. | ||
| 145 | |||
| 146 | 2012-11-08 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 147 | |||
| 148 | * lisp.h (XHASH): Redefine to be imperfect and fit in a Lisp int. | ||
| 149 | * fns.c (hashfn_eq, hashfn_eql, sxhash): | ||
| 150 | * profiler.c (hashfn_profiler): Don't use XUINT on non-integers. | ||
| 151 | * buffer.c (compare_overlays): Use XLI rather than XHASH. | ||
| 152 | |||
| 153 | 2012-11-08 Paul Eggert <eggert@cs.ucla.edu> | ||
| 154 | |||
| 155 | Use same hash function for hashfn_profiler as for hash_string etc. | ||
| 156 | * fns.c (SXHASH_COMBINE): Remove. All uses replaced by sxhash_combine. | ||
| 157 | * lisp.h (sxhash_combine): New inline function, with the contents | ||
| 158 | of the old SXHASH_COMBINE. | ||
| 159 | * profiler.c (hashfn_profiler): Use it, instead of having a | ||
| 160 | special hash function containing a comparison that always yields 1. | ||
| 161 | |||
| 162 | 2012-11-08 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 163 | |||
| 164 | * xfaces.c (Qultra_light, Qreverse_oblique, Qreverse_italic) | ||
| 165 | (Qultra_condensed, Qextra_condensed, Qcondensed, Qsemi_condensed) | ||
| 166 | (Qsemi_expanded, Qextra_expanded, Qexpanded, Qultra_expanded): | ||
| 167 | Remove unused vars. | ||
| 168 | |||
| 169 | 2012-11-08 Jan Djärv <jan.h.d@swipnet.se> | ||
| 170 | |||
| 171 | * image.c (xpm_make_color_table_h): Fix compiler error because | ||
| 172 | make_hash_table changed. | ||
| 173 | |||
| 174 | 2012-11-08 Thomas Kappler <tkappler@gmail.com> (tiny change) | ||
| 175 | |||
| 176 | * nsfont.m (ns_findfonts): Handle empty matchingDescs (Bug#11541). | ||
| 177 | |||
| 178 | 2012-11-08 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 179 | |||
| 180 | Use ad-hoc comparison function for the profiler's hash-tables. | ||
| 181 | * profiler.c (Qprofiler_backtrace_equal, hashtest_profiler): New vars. | ||
| 182 | (make_log): Use them. | ||
| 183 | (handle_profiler_signal): Don't inhibit quit any longer since we don't | ||
| 184 | call Fequal any more. | ||
| 185 | (Ffunction_equal): New function. | ||
| 186 | (cmpfn_profiler, hashfn_profiler): New functions. | ||
| 187 | (syms_of_profiler): Initialize them. | ||
| 188 | * lisp.h (struct hash_table_test): New struct. | ||
| 189 | (struct Lisp_Hash_Table): Use it. | ||
| 190 | * alloc.c (mark_object): Mark hash_table_test fields of hash tables. | ||
| 191 | * fns.c (make_hash_table): Take a struct to describe the test. | ||
| 192 | (cmpfn_eql, cmpfn_equal, cmpfn_user_defined, hashfn_eq, hashfn_eql) | ||
| 193 | (hashfn_equal, hashfn_user_defined): Adjust to new calling convention. | ||
| 194 | (hash_lookup, hash_remove_from_table): Move assertion checking of | ||
| 195 | hashfn result here. Check hash-equality before calling cmpfn. | ||
| 196 | (Fmake_hash_table): Adjust call to make_hash_table. | ||
| 197 | (hashtest_eq, hashtest_eql, hashtest_equal): New structs. | ||
| 198 | (syms_of_fns): Initialize them. | ||
| 199 | * emacs.c (main): Move syms_of_fns earlier. | ||
| 200 | * xterm.c (syms_of_xterm): | ||
| 201 | * category.c (hash_get_category_set): Adjust call to make_hash_table. | ||
| 202 | * print.c (print_object): Adjust to new hash-table struct. | ||
| 203 | * composite.c (composition_gstring_put_cache): Adjust to new hashfn. | ||
| 204 | |||
| 205 | 2012-11-08 Eli Zaretskii <eliz@gnu.org> | ||
| 206 | |||
| 207 | * w32fns.c (modifier_set): Fix handling of Scroll Lock when the | ||
| 208 | value of w32-scroll-lock-modifier is neither nil nor one of the | ||
| 209 | known key modifiers. (Bug#12806) | ||
| 210 | |||
| 211 | 2012-11-08 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 212 | |||
| 213 | Shrink struct vectorlike_header to the only size field. | ||
| 214 | * lisp.h (enum pvec_type): Avoid explicit enum member values. | ||
| 215 | Adjust comment. | ||
| 216 | (enum More_Lisp_Bits): Change PSEUDOVECTOR_SIZE_BITS and | ||
| 217 | PVEC_TYPE_MASK to arrange new bitfield in the vector header. | ||
| 218 | (PSEUDOVECTOR_REST_BITS, PSEUDOVECTOR_REST_MASK): New members. | ||
| 219 | (PSEUDOVECTOR_AREA_BITS): New member used to extract subtype | ||
| 220 | information from the vector header. Adjust comment. | ||
| 221 | (XSETPVECTYPE, XSETPVECTYPESIZE, XSETTYPED_PSEUDOVECTOR) | ||
| 222 | (PSEUDOVECTOR_TYPEP, DEFUN): Adjust to match new vector header | ||
| 223 | layout. | ||
| 224 | (XSETSUBR, SUBRP): Adjust to match new Lisp_Subr layout. | ||
| 225 | (struct vectorlike_header): Remove next member. Adjust comment. | ||
| 226 | (struct Lisp_Subr): Add convenient header. Adjust comment. | ||
| 227 | (allocate_pseudovector): Adjust prototype. | ||
| 228 | * alloc.c (mark_glyph_matrix, mark_face_cache, allocate_string) | ||
| 229 | (sweep_string, lisp_malloc): Remove useless prototypes. | ||
| 230 | (enum mem_type): Adjust comment. | ||
| 231 | (NEXT_IN_FREE_LIST): New macro. | ||
| 232 | (SETUP_ON_FREE_LIST): Adjust XSETPVECTYPESIZE usage. | ||
| 233 | (Fmake_bool_vector): Likewise. | ||
| 234 | (struct large_vector): New type to represent allocation unit for | ||
| 235 | the vectors with the memory footprint more than VBLOOCK_BYTES_MAX. | ||
| 236 | (large_vectors): Change type to struct large_vector. | ||
| 237 | (allocate_vector_from_block): Simplify. | ||
| 238 | (PSEUDOVECTOR_NBYTES): Replace with... | ||
| 239 | (vector_nbytes): ...new function. Adjust users. | ||
| 240 | (sweep_vectors): Adjust processing of large vectors. | ||
| 241 | (allocate_vectorlike): Likewise. | ||
| 242 | (allocate_pseudovector): Change type of 3rd arg to enum pvec_type. | ||
| 243 | Add easserts. Adjust XSETPVECTYPESIZE usage. | ||
| 244 | (allocate_buffer): Use BUFFER_PVEC_INIT. | ||
| 245 | (live_vector_p): Adjust to match large vector. | ||
| 246 | * buffer.c (init_buffer_once): Use BUFFER_PVEC_INIT. | ||
| 247 | * buffer.h (struct buffer): Add next member. | ||
| 248 | (BUFFER_LISP_SIZE, BUFFER_REST_SIZE, BUFFER_PVEC_INIT): | ||
| 249 | New macros. | ||
| 250 | (FOR_EACH_BUFFER): Adjust to match struct buffer change. | ||
| 251 | * fns.c (internal_equal): Adjust to match enum pvec_type change. | ||
| 252 | (copy_hash_table): Adjust to match vector header change. | ||
| 253 | * lread.c (defsubr): Use XSETPVECTYPE. | ||
| 254 | * .gdbinit (xpr, xbacktrace): Adjust to match vector header change. | ||
| 255 | (xvectype): Likewise. Print PVEC_NORMAL_VECTOR for regular vectors. | ||
| 256 | (xvecsize): New command. | ||
| 257 | |||
| 258 | 2012-11-08 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 259 | |||
| 260 | * keyboard.c (event_to_kboard): Do not dereference | ||
| 261 | frame_or_window field of SELECTION_REQUEST_EVENT | ||
| 262 | and SELECTION_CLEAR_EVENT events (Bug#12814). | ||
| 263 | * xterm.h (struct selection_input_event): Adjust comment. | ||
| 264 | |||
| 265 | 2012-11-07 Eli Zaretskii <eliz@gnu.org> | ||
| 266 | |||
| 267 | * w32fns.c (modifier_set): Don't report modifiers from toggle key, | ||
| 268 | such as Scroll Lock, if the respective keys are treated as | ||
| 269 | function keys, not as modifiers. This avoids destroying non-ASCII | ||
| 270 | keyboard input when Scroll Lock is toggled ON. (Bug#12806) | ||
| 271 | |||
| 272 | 2012-11-07 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 273 | |||
| 274 | * xfns.c (Fx_wm_set_size_hint): Use check_x_frame. Adjust docstring. | ||
| 275 | |||
| 276 | 2012-11-06 Paul Eggert <eggert@cs.ucla.edu> | ||
| 277 | |||
| 278 | Restore some duplicate definitions (Bug#12814). | ||
| 279 | This undoes part of the 2012-11-03 changes. Some people build | ||
| 280 | with plain -g rather than with -g3, and they need the duplicate | ||
| 281 | definitions for .gdbinit to work; see <http://bugs.gnu.org/12814#26>. | ||
| 282 | * lisp.h (GCTYPEBITS, ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): | ||
| 283 | Define as macros, as well as as enums or as constants. | ||
| 284 | |||
| 285 | 2012-11-06 Jan Djärv <jan.h.d@swipnet.se> | ||
| 286 | |||
| 287 | * nsterm.m (convert_ns_to_X_keysym, keyDown:): Add NSNumericPadKeyMask | ||
| 288 | to keypad keys (Bug#12816). | ||
| 289 | |||
| 290 | 2012-11-06 Paul Eggert <eggert@cs.ucla.edu> | ||
| 291 | |||
| 292 | Minor adjustments of recently-changed frame functions. | ||
| 293 | * buffer.c (Fbuffer_list): Omit CHECK_FRAME, since arg is already | ||
| 294 | known to be a frame (we're in the FRAMEP branch). | ||
| 295 | * lisp.h (Qframep): Remove decl. frame.h declares this. | ||
| 296 | * window.c (quad): Args are of type EMACS_INT, not ptrdiff_t, | ||
| 297 | since they're meant for Lisp fixnum values. | ||
| 298 | |||
| 299 | 2012-11-06 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 300 | |||
| 301 | * window.c (Fwindow_combination_limit): Revert to the only | ||
| 302 | required argument and adjust docstring as suggested in | ||
| 303 | http://lists.gnu.org/archive/html/emacs-diffs/2012-11/msg01082.html | ||
| 304 | by Martin Rudalics <rudalics@gmx.at>. | ||
| 305 | |||
| 306 | 2012-11-06 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 307 | |||
| 308 | Widely used frame validity and checking functions. | ||
| 309 | * frame.h (decode_live_frame, decode_any_frame): Add prototypes. | ||
| 310 | * frame.c (decode_live_frame, decode_any_frame): New functions. | ||
| 311 | (delete_frame, Fredirect_frame_focus, Fframe_parameters) | ||
| 312 | (Fframe_parameter, Fframe_char_height, Fframe_char_width) | ||
| 313 | (Fframe_pixel_height, Fframe_pixel_width, Ftool_bar_pixel_width) | ||
| 314 | (Fframe_pointer_visible_p): Use decode_any_frame. | ||
| 315 | (Fmake_frame_visible, Fmake_frame_invisible, Ficonify_frame) | ||
| 316 | (Fraise_frame, Flower_frame, Fmodify_frame_parameters) | ||
| 317 | (Fset_frame_height, Fset_frame_width): Use decode_live_frame. | ||
| 318 | (Fframe_focus): Likewise. Allow zero number of arguments. | ||
| 319 | Adjust docstring. | ||
| 320 | (frame_buffer_list, frame_buffer_predicate): Remove. | ||
| 321 | * lisp.h (frame_buffer_predicate): Remove prototype. | ||
| 322 | * buffer.c (Fother_buffer): Use decode_any_frame. | ||
| 323 | * xdisp.c (Ftool_bar_lines_needed): Likewise. | ||
| 324 | * xfaces.c (Fcolor_gray_p, Fcolor_supported_p): Likewise. | ||
| 325 | * font.c (Ffont_face_attributes, Ffont_family_list, Fopen_font) | ||
| 326 | (Fclose_font, Ffont_info): Use decode_live_frame. | ||
| 327 | * fontset.c (check_fontset_name): Likewise. | ||
| 328 | * terminal.c (Fframe_terminal): Likewise. | ||
| 329 | * w32fns.c (check_x_frame): Likewise. | ||
| 330 | * window.c (Fminibuffer_window, Fwindow_at) | ||
| 331 | (Fcurrent_window_configuration): Likewise. | ||
| 332 | (Frun_window_configuration_change_hook, Fwindow_resize_apply): | ||
| 333 | Likewise. Allow zero number of arguments. Adjust docstring. | ||
| 334 | * dispnew.c (Fredraw_frame): Likewise. | ||
| 335 | * xfaces.c (frame_or_selected_frame): Remove. | ||
| 336 | (Fx_list_fonts, Finternal_get_lisp_face_attribute, Fface_font) | ||
| 337 | (Finternal_lisp_face_equal_p, Finternal_lisp_face_empty_p) | ||
| 338 | (Fframe_face_alist): Use decode_live_frame. | ||
| 339 | * xfns.c (check_x_frame): Likewise. | ||
| 340 | |||
| 341 | 2012-11-06 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 342 | |||
| 343 | * window.c (quad): New function. | ||
| 344 | (Fwindow_edges, Fwindow_pixel_edges, Fwindow_inside_edges) | ||
| 345 | (Fwindow_absolute_pixel_edges, Fwindow_inside_absolute_pixel_edges) | ||
| 346 | (Fwindow_inside_pixel_edges, Fpos_visible_in_window_p) | ||
| 347 | (Fwindow_line_height): Use it. | ||
| 348 | (Fwindow_fringes): Use list3. | ||
| 349 | (Fwindow_scroll_bars): Use list4. | ||
| 350 | (Fwindow_frame, Fwindow_top_child, Fwindow_left_child) | ||
| 351 | (Fwindow_combination_limit): Allow zero number of arguments. | ||
| 352 | |||
| 353 | 2012-11-05 Eli Zaretskii <eliz@gnu.org> | ||
| 354 | |||
| 355 | * makefile.w32-in ($(BLD)/w32fns.$(O)): Depend on $(NT_INC)/unistd.h. | ||
| 356 | |||
| 357 | * w32fns.c: Include unistd.h, to avoid compiler warnings on Cygwin. | ||
| 358 | (emacs_abort) [CYGWIN]: Don't call _open_osfhandle; instead, use | ||
| 359 | file descriptor 2 for standard error. (Bug#12805) | ||
| 360 | |||
| 361 | 2012-11-05 Chong Yidong <cyd@gnu.org> | ||
| 362 | |||
| 363 | * process.c (wait_reading_process_output): Revert previous change. | ||
| 364 | |||
| 365 | 2012-11-05 Paul Eggert <eggert@cs.ucla.edu> | ||
| 366 | |||
| 367 | Assume at least POSIX.1-1988 for getpgrp, setpgid, setsid (Bug#12800). | ||
| 368 | This removes code that has been obsolete since around 1990. | ||
| 369 | * callproc.c (Fcall_process): | ||
| 370 | * emacs.c (main): | ||
| 371 | * process.c (create_process): | ||
| 372 | * term.c (dissociate_if_controlling_tty): | ||
| 373 | Assume setsid exists. | ||
| 374 | * callproc.c (child_setup): Assume setpgid exists and behaves as | ||
| 375 | per POSIX.1-1988 or later. | ||
| 376 | * conf_post.h (setpgid) [!HAVE_SETPGID]: Remove. | ||
| 377 | * emacs.c (shut_down_emacs): | ||
| 378 | * sysdep.c (sys_suspend, init_foreground_group): | ||
| 379 | Assume getpgrp behaves as per POSIX.1-1998 or later. | ||
| 380 | * msdos.c (setpgrp): Remove. | ||
| 381 | (tcgetpgrp, setpgid, setsid): New functions. | ||
| 382 | * systty.h (EMACS_GETPGRP): Remove. All callers now use getpgrp. | ||
| 383 | * term.c (no_controlling_tty): Remove; unused. | ||
| 384 | * w32proc.c (setpgrp): Remove. | ||
| 385 | (setsid, tcgetpgrp): New functions. | ||
| 386 | |||
| 387 | Simplify by assuming __fpending. | ||
| 388 | * dispnew.c: Include <fpending.h>, not <stdio_ext.h>. | ||
| 389 | (update_frame_1): Use __fpending, not PENDING_OUTPUT_COUNT. | ||
| 390 | Do not assume that __fpending's result fits in int. | ||
| 391 | |||
| 392 | 2012-11-04 Paul Eggert <eggert@cs.ucla.edu> | ||
| 393 | |||
| 394 | Remove EMACS_OUTQSIZE+sleep hack. | ||
| 395 | * dispnew.c (update_frame_1): Remove hack for terminals slower | ||
| 396 | than 2400 bps, which throttled Emacs by having it sleep. | ||
| 397 | This code hasn't worked since at least 2007, when the multi-tty stuff | ||
| 398 | was added, and anyway those old terminals are long dead. | ||
| 399 | * systty.h (EMACS_OUTQSIZE): Remove; unused. The macro isn't used even | ||
| 400 | without the dispnew.c change, as dispnew.c doesn't include systty.h. | ||
| 401 | |||
| 402 | Fix data-loss with --version (Bug#9574). | ||
| 403 | * emacs.c (close_output_streams): Use strerror, not emacs_strerror, | ||
| 404 | as we can't assume that emacs_strerror is initialized, and strerror | ||
| 405 | is good enough here. | ||
| 406 | (main): Invoke atexit earlier, to catch earlier instances of | ||
| 407 | sending data to stdout and exiting, e.g., "emacs --version >/dev/full". | ||
| 408 | |||
| 409 | 2012-11-04 Michael Marchionna <tralfaz@pacbell.net> | ||
| 410 | |||
| 411 | * nsterm.m: Add NSClearLineFunctionKey and keypad keys (Bug#8680). | ||
| 412 | (keyDown): Remap keypad keys to X11 virtual key codes. | ||
| 413 | |||
| 414 | 2012-11-03 Paul Eggert <eggert@cs.ucla.edu> | ||
| 415 | |||
| 416 | Fix data-loss with --batch (Bug#9574). | ||
| 417 | * emacs.c: Include <close-stream.h>. | ||
| 418 | (close_output_streams): New function. | ||
| 419 | (main): Pass it to atexit, so that Emacs closes stdout and stderr | ||
| 420 | and handles errors appropriately. | ||
| 421 | (Fkill_emacs): Don't worry about flushing, as close_output_stream | ||
| 422 | does that now. | ||
| 423 | |||
| 424 | Fix a race condition that causes Emacs to mess up glib (Bug#8855). | ||
| 425 | The symptom is a diagnostic "GLib-WARNING **: In call to | ||
| 426 | g_spawn_sync(), exit status of a child process was requested but | ||
| 427 | SIGCHLD action was set to SIG_IGN and ECHILD was received by | ||
| 428 | waitpid(), so exit status can't be returned." The diagnostic | ||
| 429 | is partly wrong, as the SIGCHLD action is not set to SIG_IGN. | ||
| 430 | The real bug is a race condition between Emacs and glib: Emacs | ||
| 431 | does a waitpid (-1, ...) and reaps glib's subprocess by mistake, | ||
| 432 | so that glib can't find it. Work around the bug by invoking | ||
| 433 | waitpid only on subprocesses that Emacs itself creates. | ||
| 434 | * process.c (create_process, record_child_status_change): | ||
| 435 | Don't use special value -1 in pid field, as the caller now must | ||
| 436 | know the pid rather than having the callee infer it. | ||
| 437 | The inference was sometimes incorrect anyway, due to another race. | ||
| 438 | (create_process): Set new 'alive' member if child is created. | ||
| 439 | (process_status_retrieved): New function. | ||
| 440 | (record_child_status_change): Use it. | ||
| 441 | Accept negative 1st argument, which means to wait for the | ||
| 442 | processes that Emacs already knows about. Move special-case code | ||
| 443 | for DOS_NT (which lacks WNOHANG) here, from caller. Keep track of | ||
| 444 | processes that have already been waited for, by testing and | ||
| 445 | clearing new 'alive' member. | ||
| 446 | (CAN_HANDLE_MULTIPLE_CHILDREN): Remove, as record_child_status_change | ||
| 447 | now does this internally. | ||
| 448 | (handle_child_signal): Let record_child_status_change do all | ||
| 449 | the work, since we do not want to reap all exited child processes, | ||
| 450 | only the child processes that Emacs itself created. | ||
| 451 | * process.h (Lisp_Process): New boolean member 'alive'. | ||
| 452 | |||
| 453 | Omit duplicate definitions no longer needed with gcc -g3. | ||
| 454 | * lisp.h (GCTYPEBITS, GCALIGNMENT, ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG) | ||
| 455 | (VALMASK, MOST_POSITIVE_FIXNUM, MOST_NEGATIVE_FIXNUM): | ||
| 456 | Define only as macros. There's no longer any need to also define | ||
| 457 | these symbols as enums or as constants, since we now assume | ||
| 458 | gcc -g3 when debugging. | ||
| 459 | |||
| 460 | 2012-11-03 Eli Zaretskii <eliz@gnu.org> | ||
| 461 | |||
| 462 | * lisp.mk: Adjust comments to the fact that term/internal is now | ||
| 463 | loaded from loadup.el. | ||
| 464 | |||
| 465 | * msdos.c (msdos_abort): Rename from emacs_abort, and make static. | ||
| 466 | (msdos_fatal_signal): New function. | ||
| 467 | (XMenuActivate): Adjust the call to kbd_buffer_events_waiting to | ||
| 468 | its argument list. | ||
| 469 | |||
| 470 | * conf_post.h (_GL_EXECINFO_INLINE) [MSDOS]: Define to "inline" | ||
| 471 | for GCC versions before 4. | ||
| 472 | (emacs_raise): Define to call msdos_fatal_signal. | ||
| 473 | |||
| 474 | * xdisp.c (init_from_display_pos): Fix initialization of the bidi | ||
| 475 | iterator when starting in the middle of a display or overlay | ||
| 476 | string. (Bug#12745) | ||
| 477 | |||
| 478 | 2012-11-03 Chong Yidong <cyd@gnu.org> | ||
| 479 | |||
| 480 | * process.c (wait_reading_process_output): Clean up the last | ||
| 481 | change. | ||
| 482 | |||
| 483 | 2012-11-03 Jim Paris <jim@jtan.com> (tiny change) | ||
| 484 | |||
| 485 | * process.c (wait_reading_process_output): Avoid a race condition | ||
| 486 | with SIGIO delivery (Bug#11536). | ||
| 487 | |||
| 488 | 2012-11-03 Chong Yidong <cyd@gnu.org> | ||
| 489 | |||
| 490 | * buffer.c (cursor_type): Untabify docstring. | ||
| 491 | |||
| 492 | 2012-11-03 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 493 | |||
| 494 | * frame.h (struct frame): Drop can_have_scroll_bars member | ||
| 495 | which is meaningless for a long time. Adjust comments. | ||
| 496 | (FRAME_CAN_HAVE_SCROLL_BARS): Remove. | ||
| 497 | * frame.c, nsfns.m, term.c, w32fns.c, xfns.c: Adjust users. | ||
| 498 | |||
| 499 | 2012-11-03 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 500 | |||
| 501 | * window.c (decode_next_window_args): Update window arg after | ||
| 502 | calling decode_live_window and so fix crash reported at | ||
| 503 | http://lists.gnu.org/archive/html/emacs-devel/2012-11/msg00035.html | ||
| 504 | by Juanma Barranquero <lekktu@gmail.com>. | ||
| 505 | (Fwindow_body_width, Fwindow_body_height): Simplify a bit. | ||
| 506 | * font.c (Ffont_at): Likewise. | ||
| 507 | |||
| 508 | 2012-11-01 Jan Djärv <jan.h.d@swipnet.se> | ||
| 509 | |||
| 510 | * widget.c (resize_cb): New function. | ||
| 511 | (EmacsFrameRealize): Add resize_cb as event handler (Bug#12733). | ||
| 512 | (EmacsFrameResize): Check if all is up to date before changing frame | ||
| 513 | size. | ||
| 514 | |||
| 515 | 2012-11-02 Eli Zaretskii <eliz@gnu.org> | ||
| 516 | |||
| 517 | Implement backtrace output for fatal errors on MS-Windows. | ||
| 518 | * w32fns.c (CaptureStackBackTrace_proc): New typedef. | ||
| 519 | (BACKTRACE_LIMIT_MAX): New macro. | ||
| 520 | (w32_backtrace): New function. | ||
| 521 | (emacs_abort): Use w32_backtrace when the user chooses not to | ||
| 522 | attach a debugger. Update the text of the abort dialog. | ||
| 523 | |||
| 524 | 2012-11-02 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 525 | |||
| 526 | Window-related stuff cleanup here and there. | ||
| 527 | * dispnew.c (Finternal_show_cursor, Finternal_show_cursor_p): | ||
| 528 | Use decode_any_window. | ||
| 529 | * fringe.c (Ffringe_bitmaps_at_pos): Likewise. | ||
| 530 | * xdisp.c (Fformat_mode_line): Likewise. | ||
| 531 | * font.c (Ffont_at): Use decode_live_window. | ||
| 532 | * indent.c (Fcompute_motion, Fvertical_motion): Likewise. | ||
| 533 | * window.c (decode_next_window_args): Likewise. | ||
| 534 | (decode_any_window): Remove static. | ||
| 535 | * window.h (decode_any_window): Add prototype. | ||
| 536 | * lisp.h (CHECK_VALID_WINDOW, CHECK_LIVE_WINDOW): Move from here... | ||
| 537 | * window.h: ...to here, redefine via WINDOW_VALID_P and WINDOW_LIVE_P, | ||
| 538 | respectively. | ||
| 539 | |||
| 540 | 2012-11-02 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 541 | |||
| 542 | Remove pad from struct input_event. | ||
| 543 | * termhooks.h (struct input_event): Remove padding field. | ||
| 544 | Adjust comment. | ||
| 545 | * keyboard.c (event_to_kboard): Simplify because frame_or_window | ||
| 546 | member is never cons for a long time. Adjust comment. | ||
| 547 | (mark_kboards): Adjust because SELECTION_REQUEST_EVENT and | ||
| 548 | SELECTION_CLEAR_EVENT has no Lisp_Objects to mark. Add comment. | ||
| 549 | * xterm.c (handle_one_xevent): Do not initialize frame_or_window | ||
| 550 | field of SELECTION_REQUEST_EVENT and SELECTION_CLEAR_EVENT. | ||
| 551 | |||
| 1 | 2012-11-01 Eli Zaretskii <eliz@gnu.org> | 552 | 2012-11-01 Eli Zaretskii <eliz@gnu.org> |
| 2 | 553 | ||
| 3 | * w32proc.c (getpgrp, setpgid): New functions. (Bug#12776) | 554 | * w32proc.c (getpgrp, setpgid): New functions. (Bug#12776) |
| @@ -44,8 +595,8 @@ | |||
| 44 | 595 | ||
| 45 | 2012-10-29 Daniel Colascione <dancol@dancol.org> | 596 | 2012-10-29 Daniel Colascione <dancol@dancol.org> |
| 46 | 597 | ||
| 47 | * cygw32.h, cygw32.c (Qutf_16le, from_unicode, to_unicode): In | 598 | * cygw32.h, cygw32.c (Qutf_16le, from_unicode, to_unicode): |
| 48 | preparation for fixing bug#12739, move these functions from | 599 | In preparation for fixing bug#12739, move these functions from |
| 49 | here... | 600 | here... |
| 50 | 601 | ||
| 51 | * coding.h, coding.c: ... to here, and compile them only when | 602 | * coding.h, coding.c: ... to here, and compile them only when |
| @@ -628,7 +1179,7 @@ | |||
| 628 | now a supported configuration. | 1179 | now a supported configuration. |
| 629 | 1180 | ||
| 630 | * Makefile.in: consolidate image variables into LIBIMAGE; add | 1181 | * Makefile.in: consolidate image variables into LIBIMAGE; add |
| 631 | W32_OBJ and W32_LIBS. Compile new files. | 1182 | W32_OBJ and W32_LIBS. Compile new files. |
| 632 | 1183 | ||
| 633 | * conf_post.h: | 1184 | * conf_post.h: |
| 634 | (_DebPrint) declare tracing facility for W32 debugging. We need | 1185 | (_DebPrint) declare tracing facility for W32 debugging. We need |