diff options
| author | Eli Zaretskii | 2012-10-17 23:07:59 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2012-10-17 23:07:59 +0200 |
| commit | 8cd879af4a393715c1c7f44a174248e85f7810ab (patch) | |
| tree | f0779e2a9c855ccba82628f6bcda43ef0d800ff3 /src | |
| parent | 37a4dabe8aaa51e15cf63e43710ee4b8f35d434b (diff) | |
| parent | a68089e4a4dd41c9b838d82d1d96d971b01398c8 (diff) | |
| download | emacs-8cd879af4a393715c1c7f44a174248e85f7810ab.tar.gz emacs-8cd879af4a393715c1c7f44a174248e85f7810ab.zip | |
Merge from trunk.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 199 | ||||
| -rw-r--r-- | src/alloc.c | 2 | ||||
| -rw-r--r-- | src/buffer.c | 38 | ||||
| -rw-r--r-- | src/buffer.h | 16 | ||||
| -rw-r--r-- | src/cygw32.c | 4 | ||||
| -rw-r--r-- | src/dbusbind.c | 8 | ||||
| -rw-r--r-- | src/dispnew.c | 4 | ||||
| -rw-r--r-- | src/editfns.c | 9 | ||||
| -rw-r--r-- | src/fileio.c | 1 | ||||
| -rw-r--r-- | src/image.c | 6 | ||||
| -rw-r--r-- | src/indent.c | 6 | ||||
| -rw-r--r-- | src/lisp.h | 1 | ||||
| -rw-r--r-- | src/makefile.w32-in | 7 | ||||
| -rw-r--r-- | src/nsterm.m | 5 | ||||
| -rw-r--r-- | src/print.c | 2 | ||||
| -rw-r--r-- | src/process.c | 5 | ||||
| -rw-r--r-- | src/term.c | 1 | ||||
| -rw-r--r-- | src/unexw32.c | 2 | ||||
| -rw-r--r-- | src/vm-limit.c | 2 | ||||
| -rw-r--r-- | src/w32.c | 12 | ||||
| -rw-r--r-- | src/w32.h | 22 | ||||
| -rw-r--r-- | src/w32fns.c | 4 | ||||
| -rw-r--r-- | src/w32proc.c | 3 | ||||
| -rw-r--r-- | src/w32term.h | 4 | ||||
| -rw-r--r-- | src/window.c | 8 | ||||
| -rw-r--r-- | src/xdisp.c | 2 | ||||
| -rw-r--r-- | src/xrdb.c | 12 |
27 files changed, 274 insertions, 111 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index b573f8c1476..007a73f7988 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,103 @@ | |||
| 1 | 2012-10-17 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * makefile.w32-in ($(BLD)/w32.$(O)): | ||
| 4 | ($(BLD)/vm-limit.$(O)): | ||
| 5 | ($(BLD)/term.$(O)): | ||
| 6 | ($(BLD)/unexw32.$(O)): | ||
| 7 | ($(BLD)/fileio.$(O)): | ||
| 8 | ($(BLD)/dispnew.$(O)): Update dependencies. | ||
| 9 | |||
| 10 | * w32term.h (w32_initialize_display_info, initialize_w32_display): | ||
| 11 | Add prototypes. | ||
| 12 | |||
| 13 | * w32proc.c: Include ctype.h. | ||
| 14 | |||
| 15 | * w32.h (init_environment, check_windows_init_file) | ||
| 16 | (syms_of_ntproc, syms_of_ntterm, dostounix_filename) | ||
| 17 | (unixtodos_filename, init_winsock, srandom, random, sys_pipe) | ||
| 18 | (set_process_dir, sys_spawnve, register_child, sys_sleep, getwd) | ||
| 19 | (sys_link): Add prototypes. | ||
| 20 | |||
| 21 | * w32.c: Include w32select.h. | ||
| 22 | (sys_access, e_malloc, sys_select): Add prototypes. | ||
| 23 | (emacs_gnutls_pull): 'timeout' is now EMACS_TIME, not struct timeval. | ||
| 24 | |||
| 25 | * vm-limit.c [WINDOWSNT]: Include w32heap.h. | ||
| 26 | |||
| 27 | * unexw32.c: Include lisp.h and w32.h. | ||
| 28 | |||
| 29 | * term.c [WINDOWSNT]: Include w32term.h. | ||
| 30 | |||
| 31 | * process.c [WINDOWSNT]: Add prototype of sys_select. | ||
| 32 | |||
| 33 | * fileio.c [WINDOWSNT]: Include w32.h. | ||
| 34 | |||
| 35 | * dispnew.c [WINDOWSNT]: Include w32.h. | ||
| 36 | |||
| 37 | * cygw32.c (Fcygwin_convert_path_to_windows) | ||
| 38 | (Fcygwin_convert_path_from_windows): Use EQ to compare 2 | ||
| 39 | Lisp_Object values. (Bug#12661) | ||
| 40 | |||
| 41 | * w32fns.c (w32_msg_pump): Use XIL instead of casting an integer | ||
| 42 | to Lisp_Object. (Bug#12661) | ||
| 43 | |||
| 44 | 2012-10-17 Kenichi Handa <handa@gnu.org> | ||
| 45 | |||
| 46 | * xdisp.c (reseat_1): Make the information stored in it->cmp_it | ||
| 47 | invalidate. | ||
| 48 | |||
| 49 | 2012-10-17 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 50 | |||
| 51 | * buffer.c (Fkill_buffer): When unchaining the marker, | ||
| 52 | reset its buffer pointer to NULL (Bug#12652). | ||
| 53 | |||
| 54 | 2012-10-17 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 55 | |||
| 56 | Do not verify indirection counters of killed buffers (Bug#12579). | ||
| 57 | * buffer.h (BUFFER_CHECK_INDIRECTION): New macro. | ||
| 58 | * buffer.c (compact_buffer, set_buffer_internal_1): Use it. | ||
| 59 | |||
| 60 | 2012-10-16 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 61 | |||
| 62 | * alloc.c (Fmake_byte_code): Fix typo in comment. | ||
| 63 | * print.c (print_interval): Define as static to match prototype. | ||
| 64 | * indent.c (disptab_matches_widthtab, recompute_width_table): | ||
| 65 | Convert to eassert. | ||
| 66 | |||
| 67 | 2012-10-16 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 68 | |||
| 69 | * editfns.c (get_system_name): Remove. | ||
| 70 | * lisp.h (get_system_name): Remove prototype. | ||
| 71 | * xrdb.c (getenv, getpwuid, getpwnam): Remove prototypes. | ||
| 72 | (get_environ_db): Use Vsystem_name. Avoid call to strlen. | ||
| 73 | |||
| 74 | 2012-10-15 Daniel Colascione <dancol@dancol.org> | ||
| 75 | |||
| 76 | * dbusbind.c: Add comment explaining reason for previous change. | ||
| 77 | |||
| 78 | 2012-10-15 Martin Rudalics <rudalics@gmx.at> | ||
| 79 | |||
| 80 | * window.c (Fwindow_end): Rewrite check whether cached position | ||
| 81 | can be used (Bug#12600). | ||
| 82 | (resize_frame_windows, grow_mini_window, shrink_mini_window): | ||
| 83 | Set windows_or_buffers_changed. | ||
| 84 | |||
| 85 | 2012-10-15 Daniel Colascione <dancol@dancol.org> | ||
| 86 | |||
| 87 | * dbusbind.c: Fix cygw32 build break when compiling with dbus | ||
| 88 | enabled by undefining the symbol "interface", which the platform | ||
| 89 | headers define to something incompatible. | ||
| 90 | |||
| 91 | 2012-10-14 Daniel Colascione <dancol@dancol.org> | ||
| 92 | |||
| 93 | * image.c (init_tiff_functions, init_imagemagick_functions) | ||
| 94 | (init_svg_functions): Fix cygw32 build break by using these | ||
| 95 | functions only when WINDOWSNT _and_ HAVE_NTGUI. | ||
| 96 | |||
| 97 | 2012-10-14 Jan Djärv <jan.h.d@swipnet.se> | ||
| 98 | |||
| 99 | * nsterm.m (ns_select): Count fd:s in writefs also (Bug#12422). | ||
| 100 | |||
| 1 | 2012-10-13 Jan Djärv <jan.h.d@swipnet.se> | 101 | 2012-10-13 Jan Djärv <jan.h.d@swipnet.se> |
| 2 | 102 | ||
| 3 | * gtkutil.c (xg_set_widget_bg): Divide by 65535 (Bug#12612). | 103 | * gtkutil.c (xg_set_widget_bg): Divide by 65535 (Bug#12612). |
| @@ -53,8 +153,7 @@ | |||
| 53 | a file exists. This avoids expensive system calls on MS-Windows. | 153 | a file exists. This avoids expensive system calls on MS-Windows. |
| 54 | (Bug#12587) | 154 | (Bug#12587) |
| 55 | 155 | ||
| 56 | * w32.c (init_environment): Call 'check_existing' instead of | 156 | * w32.c (init_environment): Call 'check_existing' instead of 'stat'. |
| 57 | 'stat'. | ||
| 58 | 157 | ||
| 59 | * lread.c (openp) [WINDOWSNT]: Call 'access' instead of 'stat' to | 158 | * lread.c (openp) [WINDOWSNT]: Call 'access' instead of 'stat' to |
| 60 | determine whether a file exists and is not a directory. | 159 | determine whether a file exists and is not a directory. |
| @@ -194,7 +293,7 @@ | |||
| 194 | * nsfont.m (Vfonts_in_cache): Remove, not needed as font.c handles | 293 | * nsfont.m (Vfonts_in_cache): Remove, not needed as font.c handles |
| 195 | caching. | 294 | caching. |
| 196 | (nsfont_open): Remove setting of Vfonts_in_cache. | 295 | (nsfont_open): Remove setting of Vfonts_in_cache. |
| 197 | (syms_of_nsfont): Remove initialization of Vfonts_in_cache | 296 | (syms_of_nsfont): Remove initialization of Vfonts_in_cache. |
| 198 | 297 | ||
| 199 | 2012-10-09 Eli Zaretskii <eliz@gnu.org> | 298 | 2012-10-09 Eli Zaretskii <eliz@gnu.org> |
| 200 | 299 | ||
| @@ -261,7 +360,7 @@ | |||
| 261 | * w32select.h (HAVE_W32SELECT): Remove. | 360 | * w32select.h (HAVE_W32SELECT): Remove. |
| 262 | 361 | ||
| 263 | * w32select.c, w32proc.c, w32menu.c, w32console.c, w32.c: Include | 362 | * w32select.c, w32proc.c, w32menu.c, w32console.c, w32.c: Include |
| 264 | w32common.h instead of w32heap.h | 363 | w32common.h instead of w32heap.h. |
| 265 | 364 | ||
| 266 | * w32heap.h (ROUND_UP, ROUND_DOWN, get_page_size) | 365 | * w32heap.h (ROUND_UP, ROUND_DOWN, get_page_size) |
| 267 | (get_allocation_unit, get_processor_type, get_w32_major_version) | 366 | (get_allocation_unit, get_processor_type, get_w32_major_version) |
| @@ -272,8 +371,8 @@ | |||
| 272 | 371 | ||
| 273 | * w32heap.c: Include w32common.h. | 372 | * w32heap.c: Include w32common.h. |
| 274 | (sysinfo_cache, syspage_mask, osinfo_cache, w32_major_version) | 373 | (sysinfo_cache, syspage_mask, osinfo_cache, w32_major_version) |
| 275 | (w32_minor_version, w32_build_number, w32_subtype): Remove | 374 | (w32_minor_version, w32_build_number, w32_subtype): |
| 276 | duplicate definitions. | 375 | Remove duplicate definitions. |
| 277 | 376 | ||
| 278 | * w32fns.c: Include w32common.h; include w32heap.h only in | 377 | * w32fns.c: Include w32common.h; include w32heap.h only in |
| 279 | WINDOWSNT. | 378 | WINDOWSNT. |
| @@ -384,7 +483,7 @@ | |||
| 384 | Cygwin builds. Remove w32select declarations. | 483 | Cygwin builds. Remove w32select declarations. |
| 385 | 484 | ||
| 386 | * w32console.c (w32_sys_ring_bell, Fset_message_beep): Move to | 485 | * w32console.c (w32_sys_ring_bell, Fset_message_beep): Move to |
| 387 | w32fns.c. w32console.c is WINDOWSNT-only. | 486 | w32fns.c. w32console.c is WINDOWSNT-only. |
| 388 | 487 | ||
| 389 | * w32fns.c: Include cygw32.h or w32.h depending on CYGWIN; more | 488 | * w32fns.c: Include cygw32.h or w32.h depending on CYGWIN; more |
| 390 | NTGUI_UNICODE tweaks. (See above.) Change _snprintf to the more | 489 | NTGUI_UNICODE tweaks. (See above.) Change _snprintf to the more |
| @@ -460,6 +559,39 @@ | |||
| 460 | but it still has blocs in it, don't return it to the system, | 559 | but it still has blocs in it, don't return it to the system, |
| 461 | instead of aborting. (Bug#12402) | 560 | instead of aborting. (Bug#12402) |
| 462 | 561 | ||
| 562 | 2012-10-07 Jan Djärv <jan.h.d@swipnet.se> | ||
| 563 | |||
| 564 | * nsterm.m (ns_dumpglyphs_image): Only draw slice of image (Bug#12506). | ||
| 565 | |||
| 566 | * nsterm.m (ns_update_auto_hide_menu_bar): Remove defintion of | ||
| 567 | MAC_OS_X_VERSION_10_6. | ||
| 568 | (syms_of_nsterm): Remove comment about Panther and above for | ||
| 569 | ns-antialias-text. | ||
| 570 | * nsterm.h (MAC_OS_X_VERSION_10_3, onTiger): Remove. | ||
| 571 | (EmacsApp): Remove check for >= MAC_OS_X_VERSION_10_4. | ||
| 572 | (struct nsfont_info): Remove check for >= MAC_OS_X_VERSION_10_3. | ||
| 573 | |||
| 574 | * nsselect.m (ns_string_from_pasteboard): Remove check for >= | ||
| 575 | MAC_OS_X_VERSION_10_4. | ||
| 576 | |||
| 577 | * nsmenu.m (fillWithWidgetValue:): Remove code for < | ||
| 578 | MAC_OS_X_VERSION_10_2. | ||
| 579 | |||
| 580 | * nsimage.m (setPixmapData, getPixelAtX, setAlphaAtX): Remove onTiger. | ||
| 581 | |||
| 582 | * nsfns.m (Fns_list_services): Remove comment and check for OSX < 10.4. | ||
| 583 | (ns_do_applescript): Remove check for >= MAC_OS_X_VERSION_10_4. | ||
| 584 | |||
| 585 | * nsterm.m (ns_in_resize): Remove (Bug#12479). | ||
| 586 | (ns_resize_handle_rect, mouseDown, mouseUp, mouseDragged): Remove. | ||
| 587 | (ns_clear_frame, sendEvent, windowDidResize, drawRect:): | ||
| 588 | Remove ns_in_resize check. | ||
| 589 | (ns_clear_frame_area): Remove resize handle code. | ||
| 590 | |||
| 591 | * nsfns.m (ns_in_resize): Remove. | ||
| 592 | (x_set_icon_name, ns_set_name, ns_set_name_as_filename): Remove | ||
| 593 | ns_in_resize check. | ||
| 594 | |||
| 463 | 2012-10-07 Eli Zaretskii <eliz@gnu.org> | 595 | 2012-10-07 Eli Zaretskii <eliz@gnu.org> |
| 464 | 596 | ||
| 465 | * w32term.h (WM_EMACS_FILENOTIFY): New custom message. | 597 | * w32term.h (WM_EMACS_FILENOTIFY): New custom message. |
| @@ -494,39 +626,6 @@ | |||
| 494 | 626 | ||
| 495 | * alloc.c (NSTATICS): Enlarge to 0x660. | 627 | * alloc.c (NSTATICS): Enlarge to 0x660. |
| 496 | 628 | ||
| 497 | 2012-10-07 Jan Djärv <jan.h.d@swipnet.se> | ||
| 498 | |||
| 499 | * nsterm.m (ns_dumpglyphs_image): Only draw slice of image (Bug#12506). | ||
| 500 | |||
| 501 | * nsterm.m (ns_update_auto_hide_menu_bar): Remove defintion of | ||
| 502 | MAC_OS_X_VERSION_10_6. | ||
| 503 | (syms_of_nsterm): Remove comment about Panther and above for | ||
| 504 | ns-antialias-text. | ||
| 505 | * nsterm.h (MAC_OS_X_VERSION_10_3, onTiger): Remove. | ||
| 506 | (EmacsApp): Remove check for >= MAC_OS_X_VERSION_10_4. | ||
| 507 | (struct nsfont_info): Remove check for >= MAC_OS_X_VERSION_10_3. | ||
| 508 | |||
| 509 | * nsselect.m (ns_string_from_pasteboard): Remove check for >= | ||
| 510 | MAC_OS_X_VERSION_10_4. | ||
| 511 | |||
| 512 | * nsmenu.m (fillWithWidgetValue:): Remove code for < | ||
| 513 | MAC_OS_X_VERSION_10_2. | ||
| 514 | |||
| 515 | * nsimage.m (setPixmapData, getPixelAtX, setAlphaAtX): Remove onTiger. | ||
| 516 | |||
| 517 | * nsfns.m (Fns_list_services): Remove comment and check for OSX < 10.4. | ||
| 518 | (ns_do_applescript): Remove check for >= MAC_OS_X_VERSION_10_4. | ||
| 519 | |||
| 520 | * nsterm.m (ns_in_resize): Remove (Bug#12479). | ||
| 521 | (ns_resize_handle_rect, mouseDown, mouseUp, mouseDragged): Remove. | ||
| 522 | (ns_clear_frame, sendEvent, windowDidResize, drawRect:): Remove | ||
| 523 | ns_in_resize check. | ||
| 524 | (ns_clear_frame_area): Remove resize handle code. | ||
| 525 | |||
| 526 | * nsfns.m (ns_in_resize): Remove. | ||
| 527 | (x_set_icon_name, ns_set_name, ns_set_name_as_filename): Remove | ||
| 528 | ns_in_resize check. | ||
| 529 | |||
| 530 | 2012-10-07 Paul Eggert <eggert@cs.ucla.edu> | 629 | 2012-10-07 Paul Eggert <eggert@cs.ucla.edu> |
| 531 | 630 | ||
| 532 | Improve sys_siglist detection. | 631 | Improve sys_siglist detection. |
| @@ -553,7 +652,7 @@ | |||
| 553 | (initFrameFromEmacs:): tbar_height renamed tibar_height. | 652 | (initFrameFromEmacs:): tbar_height renamed tibar_height. |
| 554 | (windowDidEnterFullScreen:): Toggle toolbar for fullscreen to fix | 653 | (windowDidEnterFullScreen:): Toggle toolbar for fullscreen to fix |
| 555 | error in drawing background. | 654 | error in drawing background. |
| 556 | (toggleFullScreen:): Remove comment. Rearrange calls. | 655 | (toggleFullScreen:): Remove comment. Rearrange calls. |
| 557 | Set toolbar values to zero, save old height in tobar_height. | 656 | Set toolbar values to zero, save old height in tobar_height. |
| 558 | Restore tool bar height when leaving fullscreen. | 657 | Restore tool bar height when leaving fullscreen. |
| 559 | (canBecomeMainWindow): New function. | 658 | (canBecomeMainWindow): New function. |
| @@ -567,8 +666,8 @@ | |||
| 567 | * w32proc.c (stop_timer_thread): Fix declaration of 'err'. | 666 | * w32proc.c (stop_timer_thread): Fix declaration of 'err'. |
| 568 | 667 | ||
| 569 | * w32.c (utime): Open the file with FILE_FLAG_BACKUP_SEMANTICS, so | 668 | * w32.c (utime): Open the file with FILE_FLAG_BACKUP_SEMANTICS, so |
| 570 | that time stamps of directories could also be changed. Don't | 669 | that time stamps of directories could also be changed. |
| 571 | request the too broad GENERIC_WRITE, only the more restrictive | 670 | Don't request the too broad GENERIC_WRITE, only the more restrictive |
| 572 | FILE_WRITE_ATTRIBUTES access rights. | 671 | FILE_WRITE_ATTRIBUTES access rights. |
| 573 | 672 | ||
| 574 | * fileio.c (Fset_file_times): Special-case ignoring errors for | 673 | * fileio.c (Fset_file_times): Special-case ignoring errors for |
| @@ -976,7 +1075,7 @@ | |||
| 976 | Call setCollectionBehavior if NEW_STYLE_FS. Initialize bwidth and | 1075 | Call setCollectionBehavior if NEW_STYLE_FS. Initialize bwidth and |
| 977 | tbar_height. | 1076 | tbar_height. |
| 978 | (windowWillUseStandardFrame:defaultFrame:): Update frame parameter | 1077 | (windowWillUseStandardFrame:defaultFrame:): Update frame parameter |
| 979 | fullscreen. Set maximized_width/height. Act on next_maximized. | 1078 | fullscreen. Set maximized_width/height. Act on next_maximized. |
| 980 | 1079 | ||
| 981 | * nsterm.h (MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8): New. | 1080 | * nsterm.h (MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8): New. |
| 982 | (EmacsView): Add variables for fullscreen. | 1081 | (EmacsView): Add variables for fullscreen. |
| @@ -1632,7 +1731,7 @@ | |||
| 1632 | 2012-09-19 Paul Eggert <eggert@cs.ucla.edu> | 1731 | 2012-09-19 Paul Eggert <eggert@cs.ucla.edu> |
| 1633 | 1732 | ||
| 1634 | * w32inevt.c (w32_console_read_socket): Return -1 on failure, not 0. | 1733 | * w32inevt.c (w32_console_read_socket): Return -1 on failure, not 0. |
| 1635 | Ignore 'expected'. See Eli Zaretskii in | 1734 | Ignore 'expected'. See Eli Zaretskii in |
| 1636 | <http://bugs.gnu.org/12471#8> (last line). | 1735 | <http://bugs.gnu.org/12471#8> (last line). |
| 1637 | 1736 | ||
| 1638 | * frame.c (read_integer): Remove. All uses replaced by strtol/strtoul. | 1737 | * frame.c (read_integer): Remove. All uses replaced by strtol/strtoul. |
| @@ -1699,7 +1798,7 @@ | |||
| 1699 | (bytes_used_when_full, emacs_blocked_free, emacs_blocked_malloc) | 1798 | (bytes_used_when_full, emacs_blocked_free, emacs_blocked_malloc) |
| 1700 | (emacs_blocked_realloc, reset_malloc_hooks, uninterrupt_malloc): | 1799 | (emacs_blocked_realloc, reset_malloc_hooks, uninterrupt_malloc): |
| 1701 | [!SYSTEM_MALLOC && !SYNC_INPUT]: | 1800 | [!SYSTEM_MALLOC && !SYNC_INPUT]: |
| 1702 | Remove. All uses removed. | 1801 | Remove. All uses removed. |
| 1703 | (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): Use a different | 1802 | (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): Use a different |
| 1704 | implementation, one that depends on whether the new macro | 1803 | implementation, one that depends on whether the new macro |
| 1705 | XMALLOC_BLOCK_INPUT_CHECK is defined, not on whether SYNC_INPUT | 1804 | XMALLOC_BLOCK_INPUT_CHECK is defined, not on whether SYNC_INPUT |
| @@ -1989,7 +2088,7 @@ | |||
| 1989 | * alloc.c (discard_killed_buffers): New function. | 2088 | * alloc.c (discard_killed_buffers): New function. |
| 1990 | (mark_object): Use it for deleted windows and frames. | 2089 | (mark_object): Use it for deleted windows and frames. |
| 1991 | (mark_object): If symbol's value is set up for a killed buffer | 2090 | (mark_object): If symbol's value is set up for a killed buffer |
| 1992 | or deleted frame, restore it's global binding. | 2091 | or deleted frame, restore its global binding. |
| 1993 | * data.c (swap_in_global_binding): Add GC notice. | 2092 | * data.c (swap_in_global_binding): Add GC notice. |
| 1994 | (swap_in_symval_forwarding): Use convenient set_blv_where. | 2093 | (swap_in_symval_forwarding): Use convenient set_blv_where. |
| 1995 | * window.c (wset_next_buffers, wset_prev_buffers): Move ... | 2094 | * window.c (wset_next_buffers, wset_prev_buffers): Move ... |
| @@ -4296,7 +4395,7 @@ | |||
| 4296 | 4395 | ||
| 4297 | * nsterm.m (ns_set_vertical_scroll_bar, ns_redeem_scroll_bar) | 4396 | * nsterm.m (ns_set_vertical_scroll_bar, ns_redeem_scroll_bar) |
| 4298 | (EmacsWindow-accessibilityAttributeValue, EmacsScroller-initFrame:) | 4397 | (EmacsWindow-accessibilityAttributeValue, EmacsScroller-initFrame:) |
| 4299 | (EmacsScroller-dealloc): Adjust to use WVAR. (Bug#12114) | 4398 | (EmacsScroller-dealloc): Adjust to use WVAR. (Bug#12114) |
| 4300 | * nsfns.m (ns_set_name_as_filename): Likewise. | 4399 | * nsfns.m (ns_set_name_as_filename): Likewise. |
| 4301 | * nsmenu.m (ns_update_menubar): Likewise. | 4400 | * nsmenu.m (ns_update_menubar): Likewise. |
| 4302 | * nsselect.m (symbol_to_nsstring): Adjust to use SVAR. | 4401 | * nsselect.m (symbol_to_nsstring): Adjust to use SVAR. |
| @@ -6392,7 +6491,7 @@ | |||
| 6392 | Fix block vector allocation code to allow VECTOR_BLOCK_SIZE | 6491 | Fix block vector allocation code to allow VECTOR_BLOCK_SIZE |
| 6393 | values which aren't power of 2. | 6492 | values which aren't power of 2. |
| 6394 | * alloc.c (VECTOR_FREE_LIST_SIZE_MASK): New macro. | 6493 | * alloc.c (VECTOR_FREE_LIST_SIZE_MASK): New macro. |
| 6395 | Verify it's value and the value of VECTOR_BLOCK_SIZE. Adjust users | 6494 | Verify its value and the value of VECTOR_BLOCK_SIZE. Adjust users |
| 6396 | accordingly. | 6495 | accordingly. |
| 6397 | 6496 | ||
| 6398 | 2012-07-03 Stefan Monnier <monnier@iro.umontreal.ca> | 6497 | 2012-07-03 Stefan Monnier <monnier@iro.umontreal.ca> |
| @@ -7561,7 +7660,7 @@ | |||
| 7561 | bitfields where appropriate, remove unused fields. | 7660 | bitfields where appropriate, remove unused fields. |
| 7562 | * window.h (struct window): Remove unused 'last_mark_x' and | 7661 | * window.h (struct window): Remove unused 'last_mark_x' and |
| 7563 | 'last_mark_y' fields. Rename 'mini_p' field to 'mini', | 7662 | 'last_mark_y' fields. Rename 'mini_p' field to 'mini', |
| 7564 | change it's type from Lisp_Object to bitfield. | 7663 | change its type from Lisp_Object to bitfield. |
| 7565 | Change type of 'force_start', 'optional_new_start', | 7664 | Change type of 'force_start', 'optional_new_start', |
| 7566 | 'last_had_star', 'update_mode_line' and 'start_at_line_beg' | 7665 | 'last_had_star', 'update_mode_line' and 'start_at_line_beg' |
| 7567 | fields from Lisp_Object to bitfield. Adjust users accordingly. | 7666 | fields from Lisp_Object to bitfield. Adjust users accordingly. |
diff --git a/src/alloc.c b/src/alloc.c index 4fd659bd001..f2dd7c8cee7 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -3100,7 +3100,7 @@ usage: (make-byte-code ARGLIST BYTE-CODE CONSTANTS DEPTH &optional DOCSTRING INT | |||
| 3100 | ptrdiff_t i; | 3100 | ptrdiff_t i; |
| 3101 | register struct Lisp_Vector *p; | 3101 | register struct Lisp_Vector *p; |
| 3102 | 3102 | ||
| 3103 | /* We used to purecopy everything here, if purify-flga was set. This worked | 3103 | /* We used to purecopy everything here, if purify-flag was set. This worked |
| 3104 | OK for Emacs-23, but with Emacs-24's lexical binding code, it can be | 3104 | OK for Emacs-23, but with Emacs-24's lexical binding code, it can be |
| 3105 | dangerous, since make-byte-code is used during execution to build | 3105 | dangerous, since make-byte-code is used during execution to build |
| 3106 | closures, so any closure built during the preload phase would end up | 3106 | closures, so any closure built during the preload phase would end up |
diff --git a/src/buffer.c b/src/buffer.c index 861a89b5a0f..0b3dde27968 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -1663,18 +1663,11 @@ No argument or nil as argument means do this for the current buffer. */) | |||
| 1663 | void | 1663 | void |
| 1664 | compact_buffer (struct buffer *buffer) | 1664 | compact_buffer (struct buffer *buffer) |
| 1665 | { | 1665 | { |
| 1666 | /* Verify indirection counters. */ | 1666 | BUFFER_CHECK_INDIRECTION (buffer); |
| 1667 | if (buffer->base_buffer) | ||
| 1668 | { | ||
| 1669 | eassert (buffer->indirections == -1); | ||
| 1670 | eassert (buffer->base_buffer->indirections > 0); | ||
| 1671 | } | ||
| 1672 | else | ||
| 1673 | eassert (buffer->indirections >= 0); | ||
| 1674 | 1667 | ||
| 1675 | /* Skip dead buffers, indirect buffers and buffers | 1668 | /* Skip dead buffers, indirect buffers and buffers |
| 1676 | which aren't changed since last compaction. */ | 1669 | which aren't changed since last compaction. */ |
| 1677 | if (!NILP (buffer->INTERNAL_FIELD (name)) | 1670 | if (BUFFER_LIVE_P (buffer) |
| 1678 | && (buffer->base_buffer == NULL) | 1671 | && (buffer->base_buffer == NULL) |
| 1679 | && (buffer->text->compact != buffer->text->modiff)) | 1672 | && (buffer->text->compact != buffer->text->modiff)) |
| 1680 | { | 1673 | { |
| @@ -1888,19 +1881,20 @@ cleaning up all windows currently displaying the buffer to be killed. */) | |||
| 1888 | 1881 | ||
| 1889 | if (b->base_buffer) | 1882 | if (b->base_buffer) |
| 1890 | { | 1883 | { |
| 1891 | { /* Unchain all markers that belong to this indirect buffer. | 1884 | /* Unchain all markers that belong to this indirect buffer. |
| 1892 | Don't unchain the markers that belong to the base buffer | 1885 | Don't unchain the markers that belong to the base buffer |
| 1893 | or its other indirect buffers. */ | 1886 | or its other indirect buffers. */ |
| 1894 | struct Lisp_Marker **mp; | 1887 | struct Lisp_Marker **mp = &BUF_MARKERS (b); |
| 1895 | for (mp = &BUF_MARKERS (b); *mp; ) | 1888 | while ((m = *mp)) |
| 1896 | { | 1889 | { |
| 1897 | struct Lisp_Marker *m = *mp; | 1890 | if (m->buffer == b) |
| 1898 | if (m->buffer == b) | 1891 | { |
| 1892 | m->buffer = NULL; | ||
| 1899 | *mp = m->next; | 1893 | *mp = m->next; |
| 1900 | else | 1894 | } |
| 1901 | mp = &m->next; | 1895 | else |
| 1902 | } | 1896 | mp = &m->next; |
| 1903 | } | 1897 | } |
| 1904 | } | 1898 | } |
| 1905 | else | 1899 | else |
| 1906 | { | 1900 | { |
| @@ -2114,6 +2108,8 @@ set_buffer_internal_1 (register struct buffer *b) | |||
| 2114 | if (current_buffer == b) | 2108 | if (current_buffer == b) |
| 2115 | return; | 2109 | return; |
| 2116 | 2110 | ||
| 2111 | BUFFER_CHECK_INDIRECTION (b); | ||
| 2112 | |||
| 2117 | old_buf = current_buffer; | 2113 | old_buf = current_buffer; |
| 2118 | current_buffer = b; | 2114 | current_buffer = b; |
| 2119 | last_known_column_point = -1; /* invalidate indentation cache */ | 2115 | last_known_column_point = -1; /* invalidate indentation cache */ |
diff --git a/src/buffer.h b/src/buffer.h index d18ef30ea38..9e0e9eef0b1 100644 --- a/src/buffer.h +++ b/src/buffer.h | |||
| @@ -963,6 +963,22 @@ bset_width_table (struct buffer *b, Lisp_Object val) | |||
| 963 | 963 | ||
| 964 | #define BUFFER_LIVE_P(b) (!NILP (BVAR (b, name))) | 964 | #define BUFFER_LIVE_P(b) (!NILP (BVAR (b, name))) |
| 965 | 965 | ||
| 966 | /* Verify indirection counters. */ | ||
| 967 | |||
| 968 | #define BUFFER_CHECK_INDIRECTION(b) \ | ||
| 969 | do { \ | ||
| 970 | if (BUFFER_LIVE_P (b)) \ | ||
| 971 | { \ | ||
| 972 | if (b->base_buffer) \ | ||
| 973 | { \ | ||
| 974 | eassert (b->indirections == -1); \ | ||
| 975 | eassert (b->base_buffer->indirections > 0); \ | ||
| 976 | } \ | ||
| 977 | else \ | ||
| 978 | eassert (b->indirections >= 0); \ | ||
| 979 | } \ | ||
| 980 | } while (0) | ||
| 981 | |||
| 966 | /* Chain of all buffers, including killed ones. */ | 982 | /* Chain of all buffers, including killed ones. */ |
| 967 | 983 | ||
| 968 | extern struct buffer *all_buffers; | 984 | extern struct buffer *all_buffers; |
diff --git a/src/cygw32.c b/src/cygw32.c index c45a45648e9..8f63461da2a 100644 --- a/src/cygw32.c +++ b/src/cygw32.c | |||
| @@ -145,7 +145,7 @@ DEFUN ("cygwin-convert-path-to-windows", | |||
| 145 | (Lisp_Object path, Lisp_Object absolute_p) | 145 | (Lisp_Object path, Lisp_Object absolute_p) |
| 146 | { | 146 | { |
| 147 | return from_unicode ( | 147 | return from_unicode ( |
| 148 | conv_filename_to_w32_unicode (path, absolute_p == Qnil ? 0 : 1)); | 148 | conv_filename_to_w32_unicode (path, EQ (absolute_p, Qnil) ? 0 : 1)); |
| 149 | } | 149 | } |
| 150 | 150 | ||
| 151 | DEFUN ("cygwin-convert-path-from-windows", | 151 | DEFUN ("cygwin-convert-path-from-windows", |
| @@ -156,7 +156,7 @@ DEFUN ("cygwin-convert-path-from-windows", | |||
| 156 | (Lisp_Object path, Lisp_Object absolute_p) | 156 | (Lisp_Object path, Lisp_Object absolute_p) |
| 157 | { | 157 | { |
| 158 | return conv_filename_from_w32_unicode (to_unicode (path, &path), | 158 | return conv_filename_from_w32_unicode (to_unicode (path, &path), |
| 159 | absolute_p == Qnil ? 0 : 1); | 159 | EQ (absolute_p, Qnil) ? 0 : 1); |
| 160 | } | 160 | } |
| 161 | 161 | ||
| 162 | void | 162 | void |
diff --git a/src/dbusbind.c b/src/dbusbind.c index c2eefd605bb..08f34f47042 100644 --- a/src/dbusbind.c +++ b/src/dbusbind.c | |||
| @@ -32,6 +32,14 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 32 | #define DBUS_NUM_MESSAGE_TYPES 5 | 32 | #define DBUS_NUM_MESSAGE_TYPES 5 |
| 33 | #endif | 33 | #endif |
| 34 | 34 | ||
| 35 | |||
| 36 | /* Some platforms define the symbol "interface", but we want to use it | ||
| 37 | * as a variable name below. */ | ||
| 38 | |||
| 39 | #ifdef interface | ||
| 40 | #undef interface | ||
| 41 | #endif | ||
| 42 | |||
| 35 | 43 | ||
| 36 | /* Subroutines. */ | 44 | /* Subroutines. */ |
| 37 | static Lisp_Object Qdbus_init_bus; | 45 | static Lisp_Object Qdbus_init_bus; |
diff --git a/src/dispnew.c b/src/dispnew.c index 0956e3f2905..fa24408aa43 100644 --- a/src/dispnew.c +++ b/src/dispnew.c | |||
| @@ -60,6 +60,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 60 | #if defined (HAVE_TERM_H) && defined (GNU_LINUX) | 60 | #if defined (HAVE_TERM_H) && defined (GNU_LINUX) |
| 61 | #include <term.h> /* for tgetent */ | 61 | #include <term.h> /* for tgetent */ |
| 62 | #endif | 62 | #endif |
| 63 | |||
| 64 | #ifdef WINDOWSNT | ||
| 65 | #include "w32.h" | ||
| 66 | #endif | ||
| 63 | 67 | ||
| 64 | /* Structure to pass dimensions around. Used for character bounding | 68 | /* Structure to pass dimensions around. Used for character bounding |
| 65 | boxes, glyph matrix dimensions and alike. */ | 69 | boxes, glyph matrix dimensions and alike. */ |
diff --git a/src/editfns.c b/src/editfns.c index 19fad7130a7..c5d4ed295ab 100644 --- a/src/editfns.c +++ b/src/editfns.c | |||
| @@ -1339,15 +1339,6 @@ DEFUN ("system-name", Fsystem_name, Ssystem_name, 0, 0, 0, | |||
| 1339 | return Vsystem_name; | 1339 | return Vsystem_name; |
| 1340 | } | 1340 | } |
| 1341 | 1341 | ||
| 1342 | const char * | ||
| 1343 | get_system_name (void) | ||
| 1344 | { | ||
| 1345 | if (STRINGP (Vsystem_name)) | ||
| 1346 | return SSDATA (Vsystem_name); | ||
| 1347 | else | ||
| 1348 | return ""; | ||
| 1349 | } | ||
| 1350 | |||
| 1351 | DEFUN ("emacs-pid", Femacs_pid, Semacs_pid, 0, 0, 0, | 1342 | DEFUN ("emacs-pid", Femacs_pid, Semacs_pid, 0, 0, 0, |
| 1352 | doc: /* Return the process ID of Emacs, as a number. */) | 1343 | doc: /* Return the process ID of Emacs, as a number. */) |
| 1353 | (void) | 1344 | (void) |
diff --git a/src/fileio.c b/src/fileio.c index e3a91c2c9da..d47d7dd9e0b 100644 --- a/src/fileio.c +++ b/src/fileio.c | |||
| @@ -53,6 +53,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 53 | #include <windows.h> | 53 | #include <windows.h> |
| 54 | #include <fcntl.h> | 54 | #include <fcntl.h> |
| 55 | #include <sys/file.h> | 55 | #include <sys/file.h> |
| 56 | #include "w32.h" | ||
| 56 | #endif /* not WINDOWSNT */ | 57 | #endif /* not WINDOWSNT */ |
| 57 | 58 | ||
| 58 | #ifdef MSDOS | 59 | #ifdef MSDOS |
diff --git a/src/image.c b/src/image.c index d52c3a29a27..538ae2b7772 100644 --- a/src/image.c +++ b/src/image.c | |||
| @@ -6577,7 +6577,7 @@ static const struct image_keyword tiff_format[TIFF_LAST] = | |||
| 6577 | {":index", IMAGE_NON_NEGATIVE_INTEGER_VALUE, 0} | 6577 | {":index", IMAGE_NON_NEGATIVE_INTEGER_VALUE, 0} |
| 6578 | }; | 6578 | }; |
| 6579 | 6579 | ||
| 6580 | #ifdef HAVE_NTGUI | 6580 | #if defined HAVE_NTGUI && defined WINDOWSNT |
| 6581 | static bool init_tiff_functions (void); | 6581 | static bool init_tiff_functions (void); |
| 6582 | #else | 6582 | #else |
| 6583 | #define init_tiff_functions NULL | 6583 | #define init_tiff_functions NULL |
| @@ -7529,7 +7529,7 @@ static struct image_keyword imagemagick_format[IMAGEMAGICK_LAST] = | |||
| 7529 | {":crop", IMAGE_DONT_CHECK_VALUE_TYPE, 0} | 7529 | {":crop", IMAGE_DONT_CHECK_VALUE_TYPE, 0} |
| 7530 | }; | 7530 | }; |
| 7531 | 7531 | ||
| 7532 | #ifdef HAVE_NTGUI | 7532 | #if defined HAVE_NTGUI && defined WINDOWSNT |
| 7533 | static bool init_imagemagick_functions (void); | 7533 | static bool init_imagemagick_functions (void); |
| 7534 | #else | 7534 | #else |
| 7535 | #define init_imagemagick_functions NULL | 7535 | #define init_imagemagick_functions NULL |
| @@ -8083,7 +8083,7 @@ static const struct image_keyword svg_format[SVG_LAST] = | |||
| 8083 | {":background", IMAGE_STRING_OR_NIL_VALUE, 0} | 8083 | {":background", IMAGE_STRING_OR_NIL_VALUE, 0} |
| 8084 | }; | 8084 | }; |
| 8085 | 8085 | ||
| 8086 | #ifdef HAVE_NTGUI | 8086 | #if defined HAVE_NTGUI && defined WINDOWSNT |
| 8087 | static bool init_svg_functions (void); | 8087 | static bool init_svg_functions (void); |
| 8088 | #else | 8088 | #else |
| 8089 | #define init_svg_functions NULL | 8089 | #define init_svg_functions NULL |
diff --git a/src/indent.c b/src/indent.c index 81a63455ecb..bbc944d2518 100644 --- a/src/indent.c +++ b/src/indent.c | |||
| @@ -119,8 +119,7 @@ disptab_matches_widthtab (struct Lisp_Char_Table *disptab, struct Lisp_Vector *w | |||
| 119 | { | 119 | { |
| 120 | int i; | 120 | int i; |
| 121 | 121 | ||
| 122 | if (widthtab->header.size != 256) | 122 | eassert (widthtab->header.size == 256); |
| 123 | emacs_abort (); | ||
| 124 | 123 | ||
| 125 | for (i = 0; i < 256; i++) | 124 | for (i = 0; i < 256; i++) |
| 126 | if (character_width (i, disptab) | 125 | if (character_width (i, disptab) |
| @@ -141,8 +140,7 @@ recompute_width_table (struct buffer *buf, struct Lisp_Char_Table *disptab) | |||
| 141 | if (!VECTORP (BVAR (buf, width_table))) | 140 | if (!VECTORP (BVAR (buf, width_table))) |
| 142 | bset_width_table (buf, Fmake_vector (make_number (256), make_number (0))); | 141 | bset_width_table (buf, Fmake_vector (make_number (256), make_number (0))); |
| 143 | widthtab = XVECTOR (BVAR (buf, width_table)); | 142 | widthtab = XVECTOR (BVAR (buf, width_table)); |
| 144 | if (widthtab->header.size != 256) | 143 | eassert (widthtab->header.size == 256); |
| 145 | emacs_abort (); | ||
| 146 | 144 | ||
| 147 | for (i = 0; i < 256; i++) | 145 | for (i = 0; i < 256; i++) |
| 148 | XSETFASTINT (widthtab->contents[i], character_width (i, disptab)); | 146 | XSETFASTINT (widthtab->contents[i], character_width (i, disptab)); |
diff --git a/src/lisp.h b/src/lisp.h index 113ae16fc14..b9e78385313 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -3127,7 +3127,6 @@ extern Lisp_Object make_buffer_string (ptrdiff_t, ptrdiff_t, bool); | |||
| 3127 | extern Lisp_Object make_buffer_string_both (ptrdiff_t, ptrdiff_t, ptrdiff_t, | 3127 | extern Lisp_Object make_buffer_string_both (ptrdiff_t, ptrdiff_t, ptrdiff_t, |
| 3128 | ptrdiff_t, bool); | 3128 | ptrdiff_t, bool); |
| 3129 | extern void init_editfns (void); | 3129 | extern void init_editfns (void); |
| 3130 | const char *get_system_name (void); | ||
| 3131 | extern void syms_of_editfns (void); | 3130 | extern void syms_of_editfns (void); |
| 3132 | extern void set_time_zone_rule (const char *); | 3131 | extern void set_time_zone_rule (const char *); |
| 3133 | 3132 | ||
diff --git a/src/makefile.w32-in b/src/makefile.w32-in index 3e817fd58ca..7cb6667c7ea 100644 --- a/src/makefile.w32-in +++ b/src/makefile.w32-in | |||
| @@ -736,6 +736,7 @@ $(BLD)/dispnew.$(O) : \ | |||
| 736 | $(SRC)/disptab.h \ | 736 | $(SRC)/disptab.h \ |
| 737 | $(SRC)/indent.h \ | 737 | $(SRC)/indent.h \ |
| 738 | $(SRC)/termchar.h \ | 738 | $(SRC)/termchar.h \ |
| 739 | $(SRC)/w32.h \ | ||
| 739 | $(NT_INC)/unistd.h \ | 740 | $(NT_INC)/unistd.h \ |
| 740 | $(BUFFER_H) \ | 741 | $(BUFFER_H) \ |
| 741 | $(CHARACTER_H) \ | 742 | $(CHARACTER_H) \ |
| @@ -833,6 +834,7 @@ $(BLD)/fileio.$(O) : \ | |||
| 833 | $(SRC)/fileio.c \ | 834 | $(SRC)/fileio.c \ |
| 834 | $(SRC)/blockinput.h \ | 835 | $(SRC)/blockinput.h \ |
| 835 | $(SRC)/commands.h \ | 836 | $(SRC)/commands.h \ |
| 837 | $(SRC)/w32.h \ | ||
| 836 | $(NT_INC)/pwd.h \ | 838 | $(NT_INC)/pwd.h \ |
| 837 | $(NT_INC)/sys/file.h \ | 839 | $(NT_INC)/sys/file.h \ |
| 838 | $(NT_INC)/sys/stat.h \ | 840 | $(NT_INC)/sys/stat.h \ |
| @@ -1174,6 +1176,7 @@ $(BLD)/w32.$(O) : \ | |||
| 1174 | $(SRC)/w32.h \ | 1176 | $(SRC)/w32.h \ |
| 1175 | $(SRC)/w32common.h \ | 1177 | $(SRC)/w32common.h \ |
| 1176 | $(SRC)/w32heap.h \ | 1178 | $(SRC)/w32heap.h \ |
| 1179 | $(SRC)/w32select.h \ | ||
| 1177 | $(NT_INC)/pwd.h \ | 1180 | $(NT_INC)/pwd.h \ |
| 1178 | $(NT_INC)/sys/file.h \ | 1181 | $(NT_INC)/sys/file.h \ |
| 1179 | $(NT_INC)/sys/time.h \ | 1182 | $(NT_INC)/sys/time.h \ |
| @@ -1429,6 +1432,7 @@ $(BLD)/term.$(O) : \ | |||
| 1429 | $(SYSSIGNAL_H) \ | 1432 | $(SYSSIGNAL_H) \ |
| 1430 | $(SYSTTY_H) \ | 1433 | $(SYSTTY_H) \ |
| 1431 | $(TERMHOOKS_H) \ | 1434 | $(TERMHOOKS_H) \ |
| 1435 | $(W32TERM_H) \ | ||
| 1432 | $(WINDOW_H) | 1436 | $(WINDOW_H) |
| 1433 | 1437 | ||
| 1434 | $(BLD)/terminal.$(O) : \ | 1438 | $(BLD)/terminal.$(O) : \ |
| @@ -1469,13 +1473,16 @@ $(BLD)/undo.$(O) : \ | |||
| 1469 | $(BLD)/unexw32.$(O) : \ | 1473 | $(BLD)/unexw32.$(O) : \ |
| 1470 | $(SRC)/unexw32.c \ | 1474 | $(SRC)/unexw32.c \ |
| 1471 | $(SRC)/unexec.h \ | 1475 | $(SRC)/unexec.h \ |
| 1476 | $(SRC)/w32.h \ | ||
| 1472 | $(SRC)/w32common.h \ | 1477 | $(SRC)/w32common.h \ |
| 1473 | $(SRC)/w32heap.h \ | 1478 | $(SRC)/w32heap.h \ |
| 1479 | $(LISP_H) \ | ||
| 1474 | $(CONFIG_H) | 1480 | $(CONFIG_H) |
| 1475 | 1481 | ||
| 1476 | $(BLD)/vm-limit.$(O) : \ | 1482 | $(BLD)/vm-limit.$(O) : \ |
| 1477 | $(SRC)/vm-limit.c \ | 1483 | $(SRC)/vm-limit.c \ |
| 1478 | $(SRC)/mem-limits.h \ | 1484 | $(SRC)/mem-limits.h \ |
| 1485 | $(SRC)/w32heap.h \ | ||
| 1479 | $(NT_INC)/unistd.h \ | 1486 | $(NT_INC)/unistd.h \ |
| 1480 | $(CONFIG_H) \ | 1487 | $(CONFIG_H) \ |
| 1481 | $(LISP_H) | 1488 | $(LISP_H) |
diff --git a/src/nsterm.m b/src/nsterm.m index 98dd0a8aab1..dfc84db50f7 100644 --- a/src/nsterm.m +++ b/src/nsterm.m | |||
| @@ -3444,7 +3444,10 @@ ns_select (int nfds, fd_set *readfds, fd_set *writefds, | |||
| 3444 | /* NSTRACE (ns_select); */ | 3444 | /* NSTRACE (ns_select); */ |
| 3445 | 3445 | ||
| 3446 | for (k = 0; readfds && k < nfds+1; k++) | 3446 | for (k = 0; readfds && k < nfds+1; k++) |
| 3447 | if (FD_ISSET(k, readfds)) ++nr; | 3447 | { |
| 3448 | if (FD_ISSET(k, readfds)) ++nr; | ||
| 3449 | if (FD_ISSET(k, writefds)) ++nr; | ||
| 3450 | } | ||
| 3448 | 3451 | ||
| 3449 | if (NSApp == nil | 3452 | if (NSApp == nil |
| 3450 | || (timeout && timeout->tv_sec == 0 && timeout->tv_nsec == 0)) | 3453 | || (timeout && timeout->tv_sec == 0 && timeout->tv_nsec == 0)) |
diff --git a/src/print.c b/src/print.c index 49b491faec8..ccf0e8ed7cc 100644 --- a/src/print.c +++ b/src/print.c | |||
| @@ -2075,7 +2075,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag | |||
| 2075 | /* Print a description of INTERVAL using PRINTCHARFUN. | 2075 | /* Print a description of INTERVAL using PRINTCHARFUN. |
| 2076 | This is part of printing a string that has text properties. */ | 2076 | This is part of printing a string that has text properties. */ |
| 2077 | 2077 | ||
| 2078 | void | 2078 | static void |
| 2079 | print_interval (INTERVAL interval, Lisp_Object printcharfun) | 2079 | print_interval (INTERVAL interval, Lisp_Object printcharfun) |
| 2080 | { | 2080 | { |
| 2081 | if (NILP (interval->plist)) | 2081 | if (NILP (interval->plist)) |
diff --git a/src/process.c b/src/process.c index d45a2c6e8e0..307e82819d6 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -125,6 +125,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 125 | #include "xgselect.h" | 125 | #include "xgselect.h" |
| 126 | #endif | 126 | #endif |
| 127 | 127 | ||
| 128 | #ifdef WINDOWSNT | ||
| 129 | extern int sys_select (int, SELECT_TYPE *, SELECT_TYPE *, SELECT_TYPE *, | ||
| 130 | EMACS_TIME *, void *); | ||
| 131 | #endif | ||
| 132 | |||
| 128 | #ifndef WNOHANG | 133 | #ifndef WNOHANG |
| 129 | # undef waitpid | 134 | # undef waitpid |
| 130 | # define waitpid(pid, status, options) wait (status) | 135 | # define waitpid(pid, status, options) wait (status) |
diff --git a/src/term.c b/src/term.c index acce9c0548c..f7c87b7608d 100644 --- a/src/term.c +++ b/src/term.c | |||
| @@ -66,6 +66,7 @@ static int been_here = -1; | |||
| 66 | /* The name of the default console device. */ | 66 | /* The name of the default console device. */ |
| 67 | #ifdef WINDOWSNT | 67 | #ifdef WINDOWSNT |
| 68 | #define DEV_TTY "CONOUT$" | 68 | #define DEV_TTY "CONOUT$" |
| 69 | #include "w32term.h" | ||
| 69 | #else | 70 | #else |
| 70 | #define DEV_TTY "/dev/tty" | 71 | #define DEV_TTY "/dev/tty" |
| 71 | #endif | 72 | #endif |
diff --git a/src/unexw32.c b/src/unexw32.c index 82671d0f120..1e591a78b73 100644 --- a/src/unexw32.c +++ b/src/unexw32.c | |||
| @@ -22,7 +22,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 22 | 22 | ||
| 23 | #include <config.h> | 23 | #include <config.h> |
| 24 | #include "unexec.h" | 24 | #include "unexec.h" |
| 25 | #include "lisp.h" | ||
| 25 | #include "w32common.h" | 26 | #include "w32common.h" |
| 27 | #include "w32.h" | ||
| 26 | 28 | ||
| 27 | #include <stdio.h> | 29 | #include <stdio.h> |
| 28 | #include <fcntl.h> | 30 | #include <fcntl.h> |
diff --git a/src/vm-limit.c b/src/vm-limit.c index 3020b84858a..2a71e88695a 100644 --- a/src/vm-limit.c +++ b/src/vm-limit.c | |||
| @@ -85,6 +85,8 @@ get_lim_data (void) | |||
| 85 | #else /* not USG */ | 85 | #else /* not USG */ |
| 86 | #ifdef WINDOWSNT | 86 | #ifdef WINDOWSNT |
| 87 | 87 | ||
| 88 | #include "w32heap.h" | ||
| 89 | |||
| 88 | static void | 90 | static void |
| 89 | get_lim_data (void) | 91 | get_lim_data (void) |
| 90 | { | 92 | { |
| @@ -175,6 +175,7 @@ typedef struct _REPARSE_DATA_BUFFER { | |||
| 175 | #include "ndir.h" | 175 | #include "ndir.h" |
| 176 | #include "w32common.h" | 176 | #include "w32common.h" |
| 177 | #include "w32heap.h" | 177 | #include "w32heap.h" |
| 178 | #include "w32select.h" | ||
| 178 | #include "systime.h" | 179 | #include "systime.h" |
| 179 | #include "dispextern.h" /* for xstrcasecmp */ | 180 | #include "dispextern.h" /* for xstrcasecmp */ |
| 180 | #include "coding.h" /* for Vlocale_coding_system */ | 181 | #include "coding.h" /* for Vlocale_coding_system */ |
| @@ -198,6 +199,12 @@ static int enable_privilege (LPCTSTR, BOOL, TOKEN_PRIVILEGES *); | |||
| 198 | static int restore_privilege (TOKEN_PRIVILEGES *); | 199 | static int restore_privilege (TOKEN_PRIVILEGES *); |
| 199 | static BOOL WINAPI revert_to_self (void); | 200 | static BOOL WINAPI revert_to_self (void); |
| 200 | 201 | ||
| 202 | extern int sys_access (const char *, int); | ||
| 203 | extern void *e_malloc (size_t); | ||
| 204 | extern int sys_select (int, SELECT_TYPE *, SELECT_TYPE *, SELECT_TYPE *, | ||
| 205 | EMACS_TIME *, void *); | ||
| 206 | |||
| 207 | |||
| 201 | 208 | ||
| 202 | /* Initialization states. | 209 | /* Initialization states. |
| 203 | 210 | ||
| @@ -6961,7 +6968,7 @@ emacs_gnutls_pull (gnutls_transport_ptr_t p, void* buf, size_t sz) | |||
| 6961 | { | 6968 | { |
| 6962 | int n, sc, err; | 6969 | int n, sc, err; |
| 6963 | SELECT_TYPE fdset; | 6970 | SELECT_TYPE fdset; |
| 6964 | struct timeval timeout; | 6971 | EMACS_TIME timeout; |
| 6965 | struct Lisp_Process *process = (struct Lisp_Process *)p; | 6972 | struct Lisp_Process *process = (struct Lisp_Process *)p; |
| 6966 | int fd = process->infd; | 6973 | int fd = process->infd; |
| 6967 | 6974 | ||
| @@ -6977,8 +6984,7 @@ emacs_gnutls_pull (gnutls_transport_ptr_t p, void* buf, size_t sz) | |||
| 6977 | if (err == EWOULDBLOCK) | 6984 | if (err == EWOULDBLOCK) |
| 6978 | { | 6985 | { |
| 6979 | /* Set a small timeout. */ | 6986 | /* Set a small timeout. */ |
| 6980 | timeout.tv_sec = 1; | 6987 | timeout = make_emacs_time (1, 0); |
| 6981 | timeout.tv_usec = 0; | ||
| 6982 | FD_ZERO (&fdset); | 6988 | FD_ZERO (&fdset); |
| 6983 | FD_SET ((int)fd, &fdset); | 6989 | FD_SET ((int)fd, &fdset); |
| 6984 | 6990 | ||
| @@ -146,6 +146,28 @@ extern int _sys_wait_accept (int fd); | |||
| 146 | extern Lisp_Object QCloaded_from; | 146 | extern Lisp_Object QCloaded_from; |
| 147 | extern HMODULE w32_delayed_load (Lisp_Object); | 147 | extern HMODULE w32_delayed_load (Lisp_Object); |
| 148 | 148 | ||
| 149 | extern void init_environment (char **); | ||
| 150 | extern void check_windows_init_file (void); | ||
| 151 | extern void syms_of_ntproc (void); | ||
| 152 | extern void syms_of_ntterm (void); | ||
| 153 | extern void dostounix_filename (register char *); | ||
| 154 | extern void unixtodos_filename (register char *); | ||
| 155 | extern BOOL init_winsock (int load_now); | ||
| 156 | extern void srandom (int); | ||
| 157 | extern int random (void); | ||
| 158 | |||
| 159 | extern int sys_pipe (int *); | ||
| 160 | |||
| 161 | extern void set_process_dir (char *); | ||
| 162 | extern int sys_spawnve (int, char *, char **, char **); | ||
| 163 | extern void register_child (int, int); | ||
| 164 | |||
| 165 | extern void sys_sleep (int); | ||
| 166 | extern char *getwd (char *); | ||
| 167 | extern int sys_link (const char *, const char *); | ||
| 168 | |||
| 169 | |||
| 170 | |||
| 149 | #ifdef HAVE_GNUTLS | 171 | #ifdef HAVE_GNUTLS |
| 150 | #include <gnutls/gnutls.h> | 172 | #include <gnutls/gnutls.h> |
| 151 | 173 | ||
diff --git a/src/w32fns.c b/src/w32fns.c index df0a16fc2a3..5ef0d9796ec 100644 --- a/src/w32fns.c +++ b/src/w32fns.c | |||
| @@ -2424,7 +2424,7 @@ w32_msg_pump (deferred_msg * msg_buf) | |||
| 2424 | thread-safe. The next line is okay because the cons | 2424 | thread-safe. The next line is okay because the cons |
| 2425 | cell is never made into garbage and is not relocated by | 2425 | cell is never made into garbage and is not relocated by |
| 2426 | GC. */ | 2426 | GC. */ |
| 2427 | XSETCAR ((Lisp_Object) ((EMACS_INT) msg.lParam), Qnil); | 2427 | XSETCAR (XIL ((EMACS_INT) msg.lParam), Qnil); |
| 2428 | if (!PostThreadMessage (dwMainThreadId, WM_EMACS_DONE, 0, 0)) | 2428 | if (!PostThreadMessage (dwMainThreadId, WM_EMACS_DONE, 0, 0)) |
| 2429 | emacs_abort (); | 2429 | emacs_abort (); |
| 2430 | break; | 2430 | break; |
| @@ -2432,7 +2432,7 @@ w32_msg_pump (deferred_msg * msg_buf) | |||
| 2432 | { | 2432 | { |
| 2433 | int vk_code = (int) msg.wParam; | 2433 | int vk_code = (int) msg.wParam; |
| 2434 | int cur_state = (GetKeyState (vk_code) & 1); | 2434 | int cur_state = (GetKeyState (vk_code) & 1); |
| 2435 | Lisp_Object new_state = (Lisp_Object) ((EMACS_INT) msg.lParam); | 2435 | Lisp_Object new_state = XIL ((EMACS_INT) msg.lParam); |
| 2436 | 2436 | ||
| 2437 | /* NB: This code must be thread-safe. It is safe to | 2437 | /* NB: This code must be thread-safe. It is safe to |
| 2438 | call NILP because symbols are not relocated by GC, | 2438 | call NILP because symbols are not relocated by GC, |
diff --git a/src/w32proc.c b/src/w32proc.c index d8d32e78d5c..3a4b7981dcb 100644 --- a/src/w32proc.c +++ b/src/w32proc.c | |||
| @@ -24,6 +24,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 24 | #include <stdio.h> | 24 | #include <stdio.h> |
| 25 | #include <stdlib.h> | 25 | #include <stdlib.h> |
| 26 | #include <errno.h> | 26 | #include <errno.h> |
| 27 | #include <ctype.h> | ||
| 27 | #include <io.h> | 28 | #include <io.h> |
| 28 | #include <fcntl.h> | 29 | #include <fcntl.h> |
| 29 | #include <signal.h> | 30 | #include <signal.h> |
| @@ -68,8 +69,6 @@ extern BOOL WINAPI IsValidLocale (LCID, DWORD); | |||
| 68 | 69 | ||
| 69 | Lisp_Object Qhigh, Qlow; | 70 | Lisp_Object Qhigh, Qlow; |
| 70 | 71 | ||
| 71 | typedef void (_CALLBACK_ *signal_handler) (int); | ||
| 72 | |||
| 73 | /* Signal handlers...SIG_DFL == 0 so this is initialized correctly. */ | 72 | /* Signal handlers...SIG_DFL == 0 so this is initialized correctly. */ |
| 74 | static signal_handler sig_handlers[NSIG]; | 73 | static signal_handler sig_handlers[NSIG]; |
| 75 | 74 | ||
diff --git a/src/w32term.h b/src/w32term.h index 91723c3758a..94ef9624351 100644 --- a/src/w32term.h +++ b/src/w32term.h | |||
| @@ -682,6 +682,7 @@ extern BOOL parse_button (int, int, int *, int *); | |||
| 682 | 682 | ||
| 683 | extern void w32_sys_ring_bell (struct frame *f); | 683 | extern void w32_sys_ring_bell (struct frame *f); |
| 684 | extern void x_delete_display (struct w32_display_info *dpyinfo); | 684 | extern void x_delete_display (struct w32_display_info *dpyinfo); |
| 685 | |||
| 685 | extern int notification_buffer_in_use; | 686 | extern int notification_buffer_in_use; |
| 686 | extern BYTE file_notifications[16384]; | 687 | extern BYTE file_notifications[16384]; |
| 687 | extern DWORD notifications_size; | 688 | extern DWORD notifications_size; |
| @@ -689,6 +690,9 @@ extern void *notifications_desc; | |||
| 689 | extern Lisp_Object w32_get_watch_object (Lisp_Object); | 690 | extern Lisp_Object w32_get_watch_object (Lisp_Object); |
| 690 | extern Lisp_Object lispy_file_action (DWORD); | 691 | extern Lisp_Object lispy_file_action (DWORD); |
| 691 | 692 | ||
| 693 | extern void w32_initialize_display_info (Lisp_Object); | ||
| 694 | extern void initialize_w32_display (struct terminal *); | ||
| 695 | |||
| 692 | /* Keypad command key support. W32 doesn't have virtual keys defined | 696 | /* Keypad command key support. W32 doesn't have virtual keys defined |
| 693 | for the function keys on the keypad (they are mapped to the standard | 697 | for the function keys on the keypad (they are mapped to the standard |
| 694 | function keys), so we define our own. */ | 698 | function keys), so we define our own. */ |
diff --git a/src/window.c b/src/window.c index 61d2a8b073f..b4fee61cac8 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -1464,9 +1464,7 @@ if it isn't already recorded. */) | |||
| 1464 | #endif | 1464 | #endif |
| 1465 | 1465 | ||
| 1466 | if (! NILP (update) | 1466 | if (! NILP (update) |
| 1467 | && ! (! NILP (w->window_end_valid) | 1467 | && (windows_or_buffers_changed || NILP (w->window_end_valid)) |
| 1468 | && w->last_modified >= BUF_MODIFF (b) | ||
| 1469 | && w->last_overlay_modified >= BUF_OVERLAY_MODIFF (b)) | ||
| 1470 | && !noninteractive) | 1468 | && !noninteractive) |
| 1471 | { | 1469 | { |
| 1472 | struct text_pos startp; | 1470 | struct text_pos startp; |
| @@ -3795,6 +3793,8 @@ resize_frame_windows (struct frame *f, int size, int horflag) | |||
| 3795 | (m, make_number (XINT (r->top_line) + XINT (r->total_lines))); | 3793 | (m, make_number (XINT (r->top_line) + XINT (r->total_lines))); |
| 3796 | } | 3794 | } |
| 3797 | } | 3795 | } |
| 3796 | |||
| 3797 | windows_or_buffers_changed++; | ||
| 3798 | } | 3798 | } |
| 3799 | 3799 | ||
| 3800 | 3800 | ||
| @@ -4208,6 +4208,7 @@ grow_mini_window (struct window *w, int delta) | |||
| 4208 | w->last_modified = 0; | 4208 | w->last_modified = 0; |
| 4209 | w->last_overlay_modified = 0; | 4209 | w->last_overlay_modified = 0; |
| 4210 | 4210 | ||
| 4211 | windows_or_buffers_changed++; | ||
| 4211 | adjust_glyphs (f); | 4212 | adjust_glyphs (f); |
| 4212 | unblock_input (); | 4213 | unblock_input (); |
| 4213 | } | 4214 | } |
| @@ -4245,6 +4246,7 @@ shrink_mini_window (struct window *w) | |||
| 4245 | w->last_modified = 0; | 4246 | w->last_modified = 0; |
| 4246 | w->last_overlay_modified = 0; | 4247 | w->last_overlay_modified = 0; |
| 4247 | 4248 | ||
| 4249 | windows_or_buffers_changed++; | ||
| 4248 | adjust_glyphs (f); | 4250 | adjust_glyphs (f); |
| 4249 | unblock_input (); | 4251 | unblock_input (); |
| 4250 | } | 4252 | } |
diff --git a/src/xdisp.c b/src/xdisp.c index 1e61a74068b..6964719f958 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -6302,6 +6302,8 @@ reseat_1 (struct it *it, struct text_pos pos, int set_stop_p) | |||
| 6302 | it->stop_charpos = CHARPOS (pos); | 6302 | it->stop_charpos = CHARPOS (pos); |
| 6303 | it->base_level_stop = CHARPOS (pos); | 6303 | it->base_level_stop = CHARPOS (pos); |
| 6304 | } | 6304 | } |
| 6305 | /* This make the information stored in it->cmp_it invalidate. */ | ||
| 6306 | it->cmp_it.id = -1; | ||
| 6305 | } | 6307 | } |
| 6306 | 6308 | ||
| 6307 | 6309 | ||
diff --git a/src/xrdb.c b/src/xrdb.c index 73672c9617c..9d056a607e4 100644 --- a/src/xrdb.c +++ b/src/xrdb.c | |||
| @@ -24,7 +24,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 24 | #include <unistd.h> | 24 | #include <unistd.h> |
| 25 | #include <errno.h> | 25 | #include <errno.h> |
| 26 | #include <epaths.h> | 26 | #include <epaths.h> |
| 27 | 27 | #include <stdlib.h> | |
| 28 | #include <stdio.h> | 28 | #include <stdio.h> |
| 29 | 29 | ||
| 30 | #include "lisp.h" | 30 | #include "lisp.h" |
| @@ -48,11 +48,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 48 | #include "keyboard.h" | 48 | #include "keyboard.h" |
| 49 | #endif | 49 | #endif |
| 50 | 50 | ||
| 51 | extern char *getenv (const char *); | ||
| 52 | |||
| 53 | extern struct passwd *getpwuid (uid_t); | ||
| 54 | extern struct passwd *getpwnam (const char *); | ||
| 55 | |||
| 56 | char *x_get_string_resource (XrmDatabase rdb, const char *name, | 51 | char *x_get_string_resource (XrmDatabase rdb, const char *name, |
| 57 | const char *class); | 52 | const char *class); |
| 58 | static int file_p (const char *filename); | 53 | static int file_p (const char *filename); |
| @@ -429,8 +424,9 @@ get_environ_db (void) | |||
| 429 | { | 424 | { |
| 430 | static char const xdefaults[] = ".Xdefaults-"; | 425 | static char const xdefaults[] = ".Xdefaults-"; |
| 431 | char *home = gethomedir (); | 426 | char *home = gethomedir (); |
| 432 | char const *host = get_system_name (); | 427 | char const *host = SSDATA (Vsystem_name); |
| 433 | ptrdiff_t pathsize = strlen (home) + sizeof xdefaults + strlen (host); | 428 | ptrdiff_t pathsize = (strlen (home) + sizeof xdefaults |
| 429 | + SBYTES (Vsystem_name)); | ||
| 434 | path = xrealloc (home, pathsize); | 430 | path = xrealloc (home, pathsize); |
| 435 | strcat (strcat (path, xdefaults), host); | 431 | strcat (strcat (path, xdefaults), host); |
| 436 | p = path; | 432 | p = path; |