X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/6ccc848cd85e75d77d6b11a46f5f23f860db9ff5..0e4e7b741b515be091e2ec3b3ff63f1b16084555:/src/ChangeLog diff --git a/src/ChangeLog b/src/ChangeLog index e3371796bf..e1b8a23e6b 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,582 @@ +2013-02-13 Eli Zaretskii + + * w32proc.c (new_child): If no vacant slots are found in + child_procs[], make another pass looking for slots whose process + has exited or died. (Bug#13546) + + * w32.c (sys_pipe): When failing due to file descriptors above + MAXDESC, set errno to EMFILE. + (_sys_read_ahead): Update cp->status when failing to read serial + communications input, so that the status doesn't stay at + STATUS_READ_IN_PROGRESS. (Bug#13546) + +2013-02-13 Glenn Morris + + * keyboard.c (input-decode-map, key-translation-map): Doc fixes. + +2013-02-12 Paul Eggert + + Improve AIX port some more (Bug#13650). + With this, it should be as good as it was in 23.3, though it's + still pretty bad: the dumped emacs does not run. See Mark Fleishman in + http://lists.gnu.org/archive/html/help-gnu-emacs/2011-04/msg00287.html + * unexaix.c (start_of_text): Remove. + (_data, _text): Declare as char[], not int, as AIX manual suggests. + (bias, lnnoptr, text_scnptr, data_scnptr, load_scnptr) + (orig_load_scnptr, orig_data_scnptr): + Now off_t, not long, since they are file offsets. + (make_hdr): Use _data, not start_of_data (). + This is the key part of the fix. + (make_hdr, unrelocate_symbols): Use off_t for file offsets. + (unrelocate_symbols): Cast pointers to intptr_t, not to ulong. + + * pre-crt0.c (data_start): Initialize to 1. + This ports to compilers that optimize the external declaration + 'int x = 0;' as if it were 'int x;' to shrink the executable. + +2013-02-11 Paul Eggert + + Improve AIX port (Bug#13650). + This doesn't fix the bug, but it makes progress: Emacs builds now. + * unexaix.c: Include inttypes.h, stdarg.h. + (report_error, report_error_1): Mark as _Noreturn. + (report_error): Don't report the wrong errno. + (report_error_1): Now varargs. All callers changed. + (make_hdr): Use uintptr_t, not unsigned, when converting pointers + to unsigned. Don't use ADDR_CORRECT, as it no longer exists. + (write_ptr): Use %p to print address rather than %lx and a cast + to unsigned long. Grow buffer a bit, to be safer. + +2013-02-11 Eli Zaretskii + + * bidi.c (bidi_resolve_neutral): After finding the next + non-neutral character, accept NEUTRAL_ON type as well, because + directional control characters, such as LRE and RLE, have their + type converted to that by bidi_resolve_weak. This avoids aborts + when LRE/RLE follows a run of neutrals. + (bidi_move_to_visually_next): Assert that return value of + bidi_peek_at_next_level is non-negative. Negative values will + cause an infloop. + +2013-02-05 Daniel Colascione + + * emacs.c: Use execvp, not execv, when DAEMON_MUST_EXEC, so that + daemon mode works on cygw32 when Emacs is installed and not just + during development. + +2013-02-01 Eli Zaretskii + + * callproc.c (Fcall_process): Make sure program name in PATH and + new_argv[0] is encoded, if needed. Otherwise, un-encoded string + is passed to exec/spawnve, which fails unless the file-name + encoding is UTF-8. + + * w32proc.c (sys_spawnve): Make sure escape_char is initialized, + even if w32-quote-process-args is nil. + +2013-01-27 Eli Zaretskii + + * w32.c (sys_open): Zero out the flags for the new file descriptor. + (sys_close): Zero out the flags for the file descriptor before + closing it. (Bug#13546) + +2013-01-26 Eli Zaretskii + + * w32.c (parse_root, get_volume_info, readdir, read_unc_volume) + (logon_network_drive, stat_worker, symlink, chase_symlinks): Use + CharNextExA and CharPrevExA to iterate over file names encoded in + DBCS. (Bug#13553) + +2013-01-25 Eli Zaretskii + + * w32.c (w32_get_long_filename, init_environment, readlink): + Support file names encoded in DBCS codepages. + (readlink): Use the current file-name-coding-system, not the ANSI + codepage, to decode and handle targets of symlinks. + +2013-01-23 Eli Zaretskii + + * w32.c (max_filename_mbslen): New function. + (normalize_filename, readdir): Use it to detect locales where ANSI + encoding of file names uses a double-byte character set (DBCS). + If a DBCS encoding is used, advance by characters using + CharNextExA, instead of incrementing a 'char *' pointer. Use + _mbslwr instead of _strlwr. (Bug#13515) + +2013-01-22 Eli Zaretskii + + * w32heap.c (allocate_heap) [!_WIN64]: Decrease the initial + request of memory reservation to 1.7GB. (Bug#13065) + +2013-01-20 Andreas Schwab + + * coding.c (detect_coding_iso_2022): Move back mis-reordered code + at check_extra_latin label. (Bug#13505) + +2013-01-17 Glenn Morris + + * fns.c (Frandom): Doc fix. + +2013-01-13 Jan Djärv + + * nsfont.m (LCD_SMOOTHING_MARGIN): New define. + (nsfont_draw): Remove disabling of LCD smoothing. + (ns_glyph_metrics): Add LCD_SMOOTHING_MARGIN to bearings to fix + Bug#11484 with LCD smoothing on. + +2013-01-11 Rainer Orth (tiny change) + + * gtkutil.c (xg_initialize): Backport from trunk. + Add ifdef HAVE_FREETYPE around x_last_font_name (Bug#13403). + +2013-01-11 Paul Eggert + + Backport typo fix from trunk, for AIX (Bug#13408). + * eval.c (mark_backtrace) [BYTE_MARK_STACK]: Remove stray '*'. + This follows up on the 2012-09-29 patch that removed indirection + for the 'function' field. Reported by Sergey Vinokurov in + . + + Fix SIGDANGER handlers, for AIX (Bug#13408). + * sysdep.c.c (handle_danger_signal, deliver_danger_signal) [SIGDANGER]: + Move handlers here from emacs.c; they were out of place. + +2013-01-05 Eli Zaretskii + + * xdisp.c (dump_glyph): Align glyph data better. Use "pD" instead + of a non-portable "t" to print ptrdiff_t values. Allow up to 9 + digits for buffer positions, before misalignment starts. Display + "0" for integer "object" field. + (dump_glyph_row): Adapt the header line to changes in dump_glyph. + Display the newline glyph more unambiguously. + +2013-01-04 YAMAMOTO Mitsuharu + + * nsterm.m (ns_draw_underwave): + * w32term.c (w32_draw_underwave): + * xterm.c (x_draw_underwave): Make underwave look more triangular + and also degrade gracefully for small fonts. (Bug#13000) + + * nsterm.m (ns_draw_text_decoration): + * w32term.c (x_draw_glyph_string): + * xterm.c (x_draw_glyph_string): Don't use previous underline + thickness and position if previous underline type is underwave. + +2012-12-31 Glenn Morris + + * keymap.c (Fkey_description): Doc fix. (Bug#13323) + +2012-12-29 Andreas Schwab + + * src/Makefile.in (TEMACS_LDFLAGS2): Remove. + (LIBS_GNUSTEP): Define. + (LIBES): Add $(LIBS_GNUSTEP). + (temacs$(EXEEXT)): Use $(LDFLAGS) instead of $(TEMACS_LDFLAGS2). + +2012-12-27 Eli Zaretskii + + * xdisp.c (set_cursor_from_row): Don't confuse a truncation or + continuation glyph on a TTY with an indication of an empty line. + (Bug#13277) + +2012-12-27 Glenn Morris + + * cygw32.c (Fcygwin_convert_file_name_to_windows) + (Fcygwin_convert_file_name_from_windows): Doc fixes. + +2012-12-24 Eli Zaretskii + + * fileio.c (file_name_as_directory, directory_file_name): Accept + an additional argument MULTIBYTE to indicate whether the input C + came from a multibyte or a unibyte Lisp string; all callers + adjusted. Don't assume the input string is always multibyte. + (Bug#13262) + (Ffile_name_directory) [DOS_NT]: Handle unibyte strings correctly: + don't ENCODE_FILE them, and return a unibyte string if the input + was unibyte. + (Fexpand_file_name): Don't mix unibyte with multibyte strings, and + don't assume the input strings will always be multibyte. If the + input strings are multibyte, decode strings obtained from C + library functions. + +2012-12-22 Martin Rudalics + + * window.c (Fselect_window): Reword doc-string (Bug#13248). + +2012-12-21 Eli Zaretskii + + * fileio.c (Finsert_file_contents): Doc fix. + + * w32proc.c (new_child, delete_child, find_child_pid): For a + subprocess, consider its slot being in use as long as its process + handle (procinfo.hProcess) is not NULL. This avoids reusing the + slot when a new process is started immediately after killing + another one, without waiting enough time for the first process to + be reaped and resources allocated for it be orderly freed. + (Bug#13086) + Suggested by Fabrice Popineau . + +2012-12-21 Chong Yidong + + * buffer.c (Fset_buffer_major_mode): Doc fix (Bug#13231). + +2012-12-15 Chong Yidong + + * fns.c (Fcompare_strings): Doc fix (Bug#13081). + +2012-12-14 Eli Zaretskii + + * w32.c (get_name_and_id): Always pass NULL as the first argument + of lookup_account_sid. Avoids crashes with UNC file names that + refer to DFS domains, not to specific machine names. (Bug#12621) + Remove now unused argument FNAME; all callers changed. + (get_file_owner_and_group): Remove now unused argument FNAME; all + callers changed. + +2012-12-11 Eli Zaretskii + + * search.c (search_buffer): Check the inverse translations of each + character in pattern when the buffer being searched is unibyte. + (Bug#13084) + +2012-12-10 Paul Eggert + + * fileio.c (Fvisited_file_modtime): Return (-1 ...) for nonexistent + files, fixing a regression from 24.2. + (Fverify_visited_file_modtime): Don't read uninitialized st.st_size. + +2012-12-08 Jan Djärv + + * nsterm.m (fd_handler:): FD_ZERO fds (Bug#13103). + +2012-12-08 Fabrice Popineau + + * w32fns.c (cache_system_info): Cast sysinfo_cache.dwPageSize to + DWORD_PTR, for compatibility with 64-bit builds. + + * w32.c (_PROCESS_MEMORY_COUNTERS_EX): + (GetProcessWorkingSetSize_Proc, get_process_working_set_size) + (system_process_attributes): Use SIZE_T rather than DWORD, for + compatibility with 64-bit builds. + +2012-12-08 Christopher Schmidt + + * lread.c (Vload_source_file_function): Doc fix (Bug#11647). + +2012-12-07 Eli Zaretskii + + * indent.c (Fvertical_motion): If a display string will be + displayed on the left or the right margin, don't consider it as a + factor in cursor positioning. (Bug#13108) + +2012-12-07 Martin Rudalics + + * editfns.c (Fcompare_buffer_substrings): Reword doc-string. + +2012-12-05 Eli Zaretskii + + * callproc.c (Fcall_process_region) [!HAVE_MKSTEMP]: If mktemp + fails, signal an error instead of continuing with an empty + string. (Bug#13079) + Encode expanded temp file pattern before passing it to mkstemp or + mktemp. + +2012-12-04 Eli Zaretskii + + * fileio.c (file_name_as_directory, directory_file_name) [DOS_NT]: + Encode the file name before passing it to dostounix_filename, in + case it will downcase it (under w32-downcase-file-names). + (Bug#12933) + +2012-12-01 Chong Yidong + + * fileio.c (Vauto_save_list_file_name): Doc fix. + +2012-11-30 Fabrice Popineau + + * w32fns.c: Remove prototype of atof. + (syspage_mask): Declared DWORD_PTR, for compatibility with 64-bit + builds. + (file_dialog_callback): Declared UINT_PTR. + + * w32common.h (syspage_mask): Declare DWORD_PTR, for compatibility + with 64-bit builds. + + * w32.c (FILE_DEVICE_FILE_SYSTEM, METHOD_BUFFERED) + (FILE_ANY_ACCESS, CTL_CODE) [_MSC_VER]: Define only if not already + defined. + +2012-11-27 Glenn Morris + + * data.c (Fboundp, Fsymbol_value): Doc fix re lexical-binding. + +2012-11-26 Eli Zaretskii + + * fontset.c (Finternal_char_font): Return nil on non-GUI frames. + (Bug#11964) + +2012-11-24 Paul Eggert + + Revert recent change for Bug#8855. + As reported by Harald Hanche-Olsen in + + the change introduces a further bug, of creating lots of zombie + processes in some cases. Further work is needed to come up with a + better fix for Bug#8855. + +2012-11-24 Eli Zaretskii + + * xdisp.c (draw_glyphs): Don't draw in mouse face if mouse + highlighting on the frame was cleared. Prevents assertion + violations when repeatedly clicking on the "Top" link of the + "bread-crumbs" in Info buffers. + +2012-11-23 Paul Eggert + Eli Zaretskii + + Fix a race condition with 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. + + This is a backport from the trunk, consisting of: + + * w32proc.c (create_child): Don't clip the PID of the child + process to fit into an Emacs integer, as this is no longer a + restriction. + (waitpid): Rename from sys_wait. Emulate a Posix 'waitpid' by + reaping only the process specified by PID argument, if that is + positive. Use PID instead of dead_child to know which process to + reap. Wait for the child to die only if WNOHANG is not in + OPTIONS. + (sys_select): Don't set dead_child. + + * sysdep.c (wait_for_termination_1): Remove the WINDOWSNT portion, + as it is no longer needed. + + * process.c (waitpid, WUNTRACED) [!WNOHANG]: Remove definitions, + no longer needed. + (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. Remove the setting of + record_at_most_one_child for the !WNOHANG case. + (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'. + +2012-11-23 Eli Zaretskii + + * xdisp.c (set_cursor_from_row): Skip step 2 only if point is not + between bpos_covered and bpos_max. This fixes cursor display when + several display strings follow each other. + + * .gdbinit (pgx): If the glyph's object is a string, display the + pointer to string data, rather than the value of the string object + itself (which barfs under CHECK_LISP_OBJECT_TYPE). + +2012-11-21 Eli Zaretskii + + * indent.c (Fvertical_motion): If the starting position is covered + by a display string, return to one position before that, to avoid + overshooting it inside move_it_to. (Bug#12930) + +2012-11-20 Daniel Colascione + + * w32fns.c (Fx_file_dialog): + (Fx_file_dialog): Accomodate rename of cygwin_convert_path* to + cygwin_convert_file_name*. + + * cygw32.c (Fcygwin_convert_path_to_windows, syms_of_cygw32): + Rename cygwin_convert_path* to cygwin_convert_file_name*. + +2012-11-20 Ken Brown + + * emacs.c (main): Set the G_SLICE environment variable for all + Cygwin builds, not just GTK builds. See + https://lists.gnu.org/archive/html/emacs-devel/2012-11/msg00368.html. + +2012-11-19 Eli Zaretskii + + * xdisp.c (start_hourglass) [HAVE_NTGUI]: Don't mix declaration of + w32_note_current_window with code. (Backport from trunk.) + + * w32.c (FILE_DEVICE_FILE_SYSTEM, METHOD_BUFFERED) + (FILE_ANY_ACCESS, CTL_CODE, FSCTL_GET_REPARSE_POINT) [_MSC_VER]: + Define for the MSVC compiler. + + * w32term.h (EnumSystemLocalesW) [_MSC_VER]: Add a missing + semi-colon. + +2012-11-18 Eli Zaretskii + + * fileio.c (Fsubstitute_in_file_name, Ffile_name_directory) + (Fexpand_file_name) [DOS_NT]: Pass encoded file name to + dostounix_filename. Prevents crashes down the road, because + dostounix_filename assumes it gets a unibyte string. Reported by + Michel de Ruiter , see + http://lists.gnu.org/archive/html/help-emacs-windows/2012-11/msg00017.html + +2012-11-17 Eli Zaretskii + + * w32select.c: Include w32common.h before w32term.h, so that + windows.h gets included before w32term.h uses some of its + features, see below. + + * w32term.h (LOCALE_ENUMPROCA, LOCALE_ENUMPROCW) [_MSC_VER]: New + typedefs. + (EnumSystemLocalesA, EnumSystemLocalesW) [_MSC_VER]: New + prototypes. + (EnumSystemLocales) [_MSC_VER]: Define if undefined. (Bug#12878) + +2012-11-17 Jan Djärv + + * nsterm.m (hold_event): Set send_appdefined to YES (Bug#12834). + (ns_select): Return at once if events are held (Bug#12834). + +2012-11-16 enami tsugutomo + + * unexelf.c (ELFSIZE) [__NetBSD__ && _LP64]: Set to 64. + Needed following 2012-10-20 change. (Bug#12902) + +2012-11-16 Glenn Morris + + * editfns.c (Fmessage): Mention message-log-max. (Bug#12849) + +2012-11-15 Stefan Monnier + + * eval.c (Finteractive_p): Revert lexbind-merge mishap. + +2012-11-14 Eli Zaretskii + + * w32proc.c (timer_loop): Make sure SuspendThread and ResumeThread + use the same value of thread handle. + (start_timer_thread): If the timer thread exited (due to error), + clean up by closing the two handles it used. Duplicate the caller + thread's handle here, so it gets duplicated only once, when + launching the timer thread. Set priority of the timer thread, not + the caller thread. + (getitimer): Don't duplicate the caller thread's handle here. + (Bug#12832) + +2012-11-13 Jan Djärv + + * nsterm.m (hold_event): Send SIGIO to make sure ns_read_socket is + called (Bug#12834). + +2012-11-12 Eli Zaretskii + + * xdisp.c (decode_mode_spec): Limit the value of WIDTH argument + passed to pint2str and pint2hrstr to be at most the size of the + frame's decode_mode_spec_buffer. This avoids crashes with very + large values of FIELD_WIDTH argument to decode_mode_spec. + (Bug#12867) + +2012-11-07 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. + +2012-11-06 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-03 Eli Zaretskii + + * lisp.mk: Adjust comments to the fact that term/internal is now + loaded from loadup.el. + + * msdos.c (msdos_abort): Rename from emacs_abort, and make static. + (msdos_fatal_signal): New function. + (XMenuActivate): Adjust the call to kbd_buffer_events_waiting to + its argument list. + + * conf_post.h (_GL_EXECINFO_INLINE) [MSDOS]: Define to "inline" + for GCC versions before 4. + (emacs_raise): Define to call msdos_fatal_signal. + + * xdisp.c (init_from_display_pos): Fix initialization of the bidi + iterator when starting in the middle of a display or overlay + string. (Bug#12745) + +2012-11-03 Jan Djärv + + * widget.c (resize_cb): New function. + (EmacsFrameRealize): Add resize_cb as event handler (Bug#12733). + (EmacsFrameResize): Check if all is up to date before changing frame + size. + +2012-11-01 Eli Zaretskii + + * w32proc.c (getpgrp, setpgid): New functions. (Bug#12776) + +2012-10-31 Paul Eggert + + Fix crash when using Emacs as commit editor for git (Bug#12697). + * callproc.c (setpgrp): Remove macro, as we now use setpgid + and it is configured in conf_post.h. + (Fcall_process): Don't invoke both setsid and setpgid; the former + is enough, if it exists. + * callproc.c (Fcall_process, child_setup): + * process.c (create_process): Use setpgid. + * conf_post.h (setpgid) [!HAVE_SETPGID]: New macro, which substitutes + for the real thing. + * dispnew.c (init_display): Initialize the foreground group + if we are running a tty display. + * emacs.c (main): Do not worry about setpgrp; init_display does it now. + * lisp.h (init_foreground_group): New decl. + * sysdep.c (inherited_pgroup): New static var. + (init_foreground_group, tcsetpgrp_without_stopping) + (narrow_foreground_group, widen_foreground_group): New functions. + (init_sys_modes): Narrow foreground group. + (reset_sys_modes): Widen foreground group. + +2012-10-31 Michael Albinus + + * dbusbind.c: Fix cut'n'waste error. Use HAVE_DBUS_VALIDATE_INTERFACE. + +2012-10-31 Martin Rudalics + + * minibuf.c (read_minibuf): Restore current buffer since + choose_minibuf_frame calling Fset_frame_selected_window may + change it (Bug#12766). + +2012-10-30 Jan Djärv + + * frame.c (Fframe_pixel_height): Fix documentation (Bug#12733). + 2012-10-30 Kenichi Handa * font.c (Ffont_at): If WINDOW is specified and it is not @@ -5,8 +584,8 @@ 2012-10-29 Daniel Colascione - * cygw32.h, cygw32.c (Qutf_16le, from_unicode, to_unicode): In - preparation for fixing bug#12739, move these functions from + * cygw32.h, cygw32.c (Qutf_16le, from_unicode, to_unicode): + In preparation for fixing bug#12739, move these functions from here... * coding.h, coding.c: ... to here, and compile them only when @@ -6072,7 +6651,7 @@ * lisp.h (make_formatted_string): New prototype. * alloc.c (make_formatted_string): New function. * buffer.c (Fgenerate_new_buffer_name): Use it. - * dbus.c (syms_of_dbusbind): Likewise. + * dbusbind.c (syms_of_dbusbind): Likewise. * editfns.c (Fcurrent_time_zone): Likewise. * filelock.c (get_boot_time): Likewise. * frame.c (make_terminal_frame, set_term_frame_name) @@ -19273,7 +19852,7 @@ See ChangeLog.11 for earlier changes. ;; coding: utf-8 ;; End: - Copyright (C) 2011-2012 Free Software Foundation, Inc. + Copyright (C) 2011-2013 Free Software Foundation, Inc. This file is part of GNU Emacs.