diff options
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 475 |
1 files changed, 474 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 322b8271f14..6ee0cacb520 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,476 @@ | |||
| 1 | 2013-07-14 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | * callproc.c (child_setup, relocate_fd) [!DOS_NT]: | ||
| 4 | * process.c (create_process) [!DOS_NT]: | ||
| 5 | Remove now-unnecessary calls to emacs_close. | ||
| 6 | |||
| 7 | 2013-07-13 Eli Zaretskii <eliz@gnu.org> | ||
| 8 | |||
| 9 | * w32term.c (x_draw_hollow_cursor): Delete the brush object when | ||
| 10 | returning early. (Bug#14850) | ||
| 11 | |||
| 12 | * coding.c (syms_of_coding): Set up inhibit-null-byte-detection | ||
| 13 | and inhibit-iso-escape-detection attributes of 'undecided'. | ||
| 14 | (Bug#14822) | ||
| 15 | |||
| 16 | 2013-07-13 Paul Eggert <eggert@cs.ucla.edu> | ||
| 17 | |||
| 18 | * deps.mk (sysdep.o): Remove dependency on ../lib/ignore-value.h. | ||
| 19 | Reported by Herbert J. Skuhra in | ||
| 20 | <http://lists.gnu.org/archive/html/emacs-devel/2013-07/msg00455.html>. | ||
| 21 | |||
| 22 | Don't lose top specpdl entry when memory is exhausted. | ||
| 23 | * eval.c (grow_specpdl): Increment specpdl top by 1 and check for | ||
| 24 | specpdl overflow here, to simplify callers; all callers changed. | ||
| 25 | Always reserve an unused entry at the stack top; this avoids | ||
| 26 | losing the top entry's information when memory is exhausted. | ||
| 27 | |||
| 28 | 2013-07-12 Paul Eggert <eggert@cs.ucla.edu> | ||
| 29 | |||
| 30 | Clean up errno reporting and fix some errno-reporting bugs. | ||
| 31 | * callproc.c (Fcall_process): | ||
| 32 | * fileio.c (Fcopy_file, Finsert_file_contents, Fwrite_region): | ||
| 33 | * process.c (create_process, Fmake_network_process): | ||
| 34 | * unexaix.c (report_error): | ||
| 35 | * unexcoff.c (report_error): | ||
| 36 | Be more careful about reporting the errno of failed operations. | ||
| 37 | The code previously reported the wrong errno sometimes. | ||
| 38 | Also, prefer report_file_errno to setting errno + report_file_error. | ||
| 39 | (Fcall_process): Look at openp return value rather than at path, | ||
| 40 | as that's a bit faster and clearer when there's a numeric predicate. | ||
| 41 | * fileio.c (report_file_errno): New function, with most of the | ||
| 42 | old contents of report_file_error. | ||
| 43 | (report_file_error): Use it. | ||
| 44 | (Ffile_exists_p, Ffile_accessible_directory_p): | ||
| 45 | Set errno to 0 when it is junk. | ||
| 46 | * fileio.c (Faccess_file): | ||
| 47 | * image.c (x_create_bitmap_from_file): | ||
| 48 | Use faccessat rather than opening the file, to avoid the hassle of | ||
| 49 | having a file descriptor open. | ||
| 50 | * lisp.h (report_file_errno): New decl. | ||
| 51 | * lread.c (Flocate_file_internal): File descriptor 0 is valid, too. | ||
| 52 | |||
| 53 | Minor EBADF fixes. | ||
| 54 | * process.c (create_process, wait_reading_process_output) [AIX]: | ||
| 55 | Remove obsolete SIGHUP-related code, as Emacs no longer disables | ||
| 56 | SIGHUP, so EBADF is no longer acceptable here (it wouldn't work in | ||
| 57 | a multithreaded environment anyway). | ||
| 58 | * sysdep.c (emacs_close): It's not dangerous to invoke emacs_close (-1). | ||
| 59 | |||
| 60 | 2013-07-12 Andreas Schwab <schwab@linux-m68k.org> | ||
| 61 | |||
| 62 | * image.c (x_find_image_file): Don't close a remote file handle. | ||
| 63 | |||
| 64 | 2013-07-12 Paul Eggert <eggert@cs.ucla.edu> | ||
| 65 | |||
| 66 | Fix races with threads and file descriptors. | ||
| 67 | * callproc.c (Fcall_process_region): | ||
| 68 | * dired.c (open_directory): | ||
| 69 | * emacs.c (main, Fdaemon_initialized): | ||
| 70 | * image.c (x_find_image_file): | ||
| 71 | * inotify.c (Finotify_rm_watch): | ||
| 72 | * lread.c (Flocate_file_internal): | ||
| 73 | * process.c (Fnetwork_interface_list, Fnetwork_interface_info): | ||
| 74 | * term.c (term_mouse_moveto, init_tty): | ||
| 75 | * termcap.c (tgetent): | ||
| 76 | * unexaix.c, unexcoff.c (report_error, report_error_1, adjust_lnnoptrs) | ||
| 77 | * unexaix.c, unexcoff.c, unexcw.c, unexelf.c (unexec): | ||
| 78 | * unexhp9k800.c, unexmacosx.c (unexec): | ||
| 79 | * callproc.c (Fcall_process_region): | ||
| 80 | Use emacs_close, not close. | ||
| 81 | * sysdep.c (POSIX_CLOSE_RESTART, posix_close) [!POSIX_CLOSE_RESTART]: | ||
| 82 | New macro and function, which emulates the POSIX_CLOSE_RESTART macro | ||
| 83 | and posix_close function on current platforms (which all lack them). | ||
| 84 | (emacs_close): Use it. This should fix the races on GNU/Linux and | ||
| 85 | on AIX and on future platforms that support POSIX_CLOSE_RESTART, | ||
| 86 | and it should avoid closing random victim file descriptors on | ||
| 87 | other platforms. | ||
| 88 | |||
| 89 | 2013-07-11 Paul Eggert <eggert@cs.ucla.edu> | ||
| 90 | |||
| 91 | * inotify.c (uninitialized): Remove. All uses replaced by -1. | ||
| 92 | (Finotify_add_watch): Simplify, since -1 means uninitialized now. | ||
| 93 | Touch up doc a bit. | ||
| 94 | |||
| 95 | * eval.c (backtrace_function, backtrace_args): Now EXTERNALLY_VISIBLE. | ||
| 96 | This is for .gdbinit xbacktrace. | ||
| 97 | |||
| 98 | * sysdep.c, term.c, termcap.c, terminal.c: Integer-related minor fixes. | ||
| 99 | * sysdep.c (emacs_get_tty): Return void, since nobody uses the value. | ||
| 100 | (emacs_set_tty): Now static. | ||
| 101 | * sysdep.c (emacs_set_tty, tabs_safe_p, emacs_close): | ||
| 102 | * term.c (tty_capable_p, tty_default_color_capabilities) | ||
| 103 | (get_tty_terminal, term_mouse_movement) | ||
| 104 | (handle_one_term_event, init_tty, maybe_fatal): | ||
| 105 | * termcap.c (tgetst1, struct termcap_buffer, valid_filename_p) | ||
| 106 | (tgetent, scan_file, name_match, compare_contin): | ||
| 107 | * terminal.c (get_terminal): | ||
| 108 | Use bool for boolean. | ||
| 109 | * sysdep.c (init_system_name): Don't overflow stack on huge hostname. | ||
| 110 | Prefer char to unsigned char if either will do. | ||
| 111 | * term.c (OUTPUT, turn_on_face): Omit unnecessary casts to int. | ||
| 112 | (tty_write_glyphs): Prefer int to unsigned. | ||
| 113 | (produce_glyphless_glyph): Remove 2nd (unused) int arg. | ||
| 114 | All callers changed. | ||
| 115 | * termcap.c (tprint, main) [TEST]: Remove non-working test. | ||
| 116 | |||
| 117 | 2013-07-10 Paul Eggert <eggert@cs.ucla.edu> | ||
| 118 | |||
| 119 | Port to C89. | ||
| 120 | * bytecode.c (BYTE_CODE_THREADED): Do not define if __STRICT_ANSI__. | ||
| 121 | (B__dummy__): New dummy symbol, to pacify C89. | ||
| 122 | * dbusbind.c (XD_DEBUG_MESSAGE): Omit debugging on C89 hosts, since | ||
| 123 | they can't grok varargs macros. | ||
| 124 | * dispnew.c (add_window_display_history) | ||
| 125 | (add_frame_display_history): | ||
| 126 | * print.c (print_object): | ||
| 127 | * xdisp.c (debug_method_add): | ||
| 128 | Use %p printf format only for void pointers. | ||
| 129 | * emacs.c (usage_message): New constant, replacing ... | ||
| 130 | (USAGE1, USAGE2, USAGE3): Remove; they were too long for C89. | ||
| 131 | (main): Adjust to usage reorg. | ||
| 132 | * fns.c (syms_of_fns): | ||
| 133 | * profiler.c (syms_of_profiler): | ||
| 134 | Don't use non-constant struct initializers. | ||
| 135 | * gnutls.h (gnutls_initstage_t): | ||
| 136 | * lisp.h (enum Lisp_Fwd_Type): | ||
| 137 | * lread.c (lisp_file_lexically_bound_p): | ||
| 138 | * xsettings.c (anonymous enum): | ||
| 139 | Remove trailing comma. | ||
| 140 | * xsettings.c (apply_xft_settings): Use %f, not %lf; %lf is a C99ism. | ||
| 141 | * lisp.h (ENUM_BF): Use unsigned if pedantic. | ||
| 142 | (DEFUN_FUNCTION_INIT): New macro, that falls back on a cast if pre-C99. | ||
| 143 | (DEFUN): Use it. | ||
| 144 | * regex.c (const_re_char): New type, to pacify strict C89. | ||
| 145 | All uses of 'const re_char' replaced to use it. | ||
| 146 | * regex.h (_Restrict_): Rename from __restrict, to avoid clash | ||
| 147 | with glibc when strict C89. This change is imported from gnulib. | ||
| 148 | All uses changed. | ||
| 149 | (_Restrict_arr_): Rename from __restrict_arr, similarly. | ||
| 150 | * sysdep.c (time_from_jiffies) [!HAVE_LONG_LONG_INT]: | ||
| 151 | Omit GNU_LINUX implementation, since it requires long long. | ||
| 152 | * xterm.c (x_draw_underwave): | ||
| 153 | Do not assume the traditional order of struct's members. | ||
| 154 | (x_term_init): Rewrite to avoid the need for non-constant structure | ||
| 155 | initializers. | ||
| 156 | |||
| 157 | Syntax cleanup, mostly replacing macros with functions. | ||
| 158 | ` This removes the need for the syntax_temp hack. | ||
| 159 | * search.c: Include syntax.h after buffer.h, since syntax.h uses BVAR. | ||
| 160 | * syntax.c (SYNTAX_INLINE): New macro. | ||
| 161 | (SYNTAX_FLAGS_COMSTART_FIRST, SYNTAX_FLAGS_COMSTART_SECOND) | ||
| 162 | (SYNTAX_FLAGS_COMEND_FIRST, SYNTAX_FLAGS_COMEND_SECOND) | ||
| 163 | (SYNTAX_FLAGS_PREFIX, SYNTAX_FLAGS_COMMENT_STYLEB) | ||
| 164 | (SYNTAX_FLAGS_COMMENT_STYLEC, SYNTAX_FLAGS_COMMENT_STYLEC2) | ||
| 165 | (SYNTAX_FLAGS_COMMENT_NESTED, SYNTAX_FLAGS_COMMENT_STYLE) | ||
| 166 | (SYNTAX_COMEND_FIRST): Now functions, not macros. | ||
| 167 | (ST_COMMENT_STYLE, ST_STRING_STYLE, INTERVALS_AT_ONCE): | ||
| 168 | Now constants, not macros. | ||
| 169 | (syntax_temp) [!__GNUC__]: Remove. | ||
| 170 | (SYNTAX_PREFIX): Remove; all uses replaced by syntax_prefix_flag_p. | ||
| 171 | (syntax_prefix_flag_p): Move implementation of SYNTAX_PREFIX here. | ||
| 172 | (SET_RAW_SYNTAX_ENTRY, SET_RAW_SYNTAX_ENTRY_RANGE, SYNTAX_MATCH) | ||
| 173 | (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): | ||
| 174 | Move here from syntax.h; now functions, not macros. Except for the | ||
| 175 | last function, these are static since only syntax.c uses them. | ||
| 176 | (syntax_multibyte): Rename from SYNTAX_WITH_MULTIBYTE_CHECK. | ||
| 177 | All uses changed. Now a function, not a macro; use this fact | ||
| 178 | to simplify the code. | ||
| 179 | (scan_lists, scan_sexps_forward): Remove workarounds for ancient | ||
| 180 | compiler bugs; no longer relevant. | ||
| 181 | * syntax.h: Use INLINE_HEADER_BEGIN, INLINE_HEADER_END. | ||
| 182 | (SYNTAX_INLINE): New macro. | ||
| 183 | (struct gl_state_s, gl_state): Move earlier, so that it's in scope | ||
| 184 | for the new functions. Use bool for boolean member. | ||
| 185 | (SYNTAX_ENTRY, SYNTAX, SYNTAX_WITH_FLAGS, SYNTAX_MATCH) | ||
| 186 | (SYNTAX_TABLE_BYTE_TO_CHAR, UPDATE_SYNTAX_TABLE_FORWARD) | ||
| 187 | (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE) | ||
| 188 | (SETUP_BUFFER_SYNTAX_TABLE): | ||
| 189 | Now extern inline functions, not macros. | ||
| 190 | (CURRENT_SYNTAX_TABLE, SYNTAX_ENTRY_INT): | ||
| 191 | Remove; all uses replaced by implementation. | ||
| 192 | (syntax_temp) [!__GNUC__]: Remove decl. | ||
| 193 | (SETUP_SYNTAX_TABLE_FOR_OBJECT): New decl. | ||
| 194 | |||
| 195 | 2013-07-10 Jan Djärv <jan.h.d@swipnet.se> | ||
| 196 | |||
| 197 | * emacs.c (main): Fix syntax error. | ||
| 198 | |||
| 199 | 2013-07-10 Paul Eggert <eggert@cs.ucla.edu> | ||
| 200 | |||
| 201 | Timestamp fixes for undo (Bug#14824). | ||
| 202 | * atimer.c (schedule_atimer): | ||
| 203 | * fileio.c (Ffile_newer_than_file_p): | ||
| 204 | Minor cleanup: use EMACS_TIME_LT so that we can remove EMACS_TIME_GT. | ||
| 205 | * buffer.c (buffer-undo-list): Document (t . 0) and (t . -1). | ||
| 206 | * fileio.c (Fclear_visited_file_modtime): Move to lisp/files.el. | ||
| 207 | (syms_of_fileio): Remove Sclear_visited_file_name. | ||
| 208 | (Fvisited_file_modtime): Return -1, not (-1 ...), when the visited | ||
| 209 | file doesn't exist; this avoids an ambiguity with negative timestamps. | ||
| 210 | (Fset_visited_file_modtime): Accept -1 and 0 as time-list arg. | ||
| 211 | * systime.h (make_emacs_time, invalid_emacs_time): | ||
| 212 | Don't assume struct timespec layout; POSIX doesn't guarantee it. | ||
| 213 | (EMACS_TIME_NE, EMACS_TIME_GT, EMACS_TIME_GE): Remove. | ||
| 214 | * undo.c (record_first_change): Push (visited-file-modtime) onto | ||
| 215 | undo list rather than reimplementing it by hand, incorrectly. | ||
| 216 | |||
| 217 | 2013-07-09 Ken Brown <kbrown@cornell.edu> | ||
| 218 | |||
| 219 | * sheap.c (STATIC_HEAP_SIZE) [__x86_64__]: Increase to 18MB. | ||
| 220 | |||
| 221 | 2013-07-09 Juanma Barranquero <lekktu@gmail.com> | ||
| 222 | |||
| 223 | * makefile.w32-in ($(BLD)/emacs.$(O), $(BLD)/sysdep.$(O)): Update. | ||
| 224 | |||
| 225 | 2013-07-09 Paul Eggert <eggert@cs.ucla.edu> | ||
| 226 | |||
| 227 | Handle errno and exit status a bit more carefully. | ||
| 228 | * callproc.c (child_setup) [!DOS_NT]: Don't try to stuff an error | ||
| 229 | number into an exit status. Instead, use EXIT_CANCELED. | ||
| 230 | (child_setup) [!MSDOS]: Avoid possible deadlock with vfork. | ||
| 231 | * callproc.c (relocate_fd): | ||
| 232 | * emacs.c (close_output_streams, main): | ||
| 233 | * process.c (create_process): | ||
| 234 | * sysdep.c (sys_subshell) [!DOS_NT || !WINDOWSNT]: | ||
| 235 | Use emacs_perror for simplicity. | ||
| 236 | * callproc.c (relocate_fd, main): | ||
| 237 | * sysdep.c (sys_subshell): | ||
| 238 | Exit with EXIT_CANCELED etc., not 1, when exec setup fails. | ||
| 239 | (shut_down_emacs): Use emacs_write, not write. | ||
| 240 | * emacs.c, sysdep.c: Don't include <ignore-value.h>. | ||
| 241 | * fileio.c (Fcopy_file, e_write): | ||
| 242 | * nsterm.m (ns_select): | ||
| 243 | * process.c (send_process): | ||
| 244 | * sound.c (vox_write): | ||
| 245 | Use emacs_write_sig, not emacs_write. | ||
| 246 | * lisp.h (emacs_write_sig, emacs_perror): New decls. | ||
| 247 | * process.h (EXIT_CANCELED), EXIT_CANNOT_INVOKE, EXIT_ENOENT): | ||
| 248 | New constants. | ||
| 249 | * sysdep.c (emacs_backtrace): Use emacs_write, not ignore_value | ||
| 250 | of write. | ||
| 251 | (emacs_full_write): New function. | ||
| 252 | (emacs_write): Rewrite to use it. | ||
| 253 | (emacswrite_sig, emacs_perror): New functions. | ||
| 254 | * xrdb.c (fatal): Don't invoke perror, since errno might be garbage. | ||
| 255 | |||
| 256 | 2013-07-08 Magnus Henoch <magnus.henoch@gmail.com> (tiny change). | ||
| 257 | |||
| 258 | * image.c (imagemagick_load_image): Do not use MagickExportImagePixels | ||
| 259 | on NS even if it is present. Pixmap on NS is a void*. | ||
| 260 | |||
| 261 | 2013-07-07 Paul Eggert <eggert@cs.ucla.edu> | ||
| 262 | |||
| 263 | Port to Ubuntu 10 (Bug#14803). | ||
| 264 | Problem reported by T.V. Raman. | ||
| 265 | * process.c (close_on_exec, accept4, process_socket): | ||
| 266 | Define these if !HAVE_ACCEPT4, not if !SOCK_CLOEXEC. | ||
| 267 | |||
| 268 | 2013-07-07 Eli Zaretskii <eliz@gnu.org> | ||
| 269 | |||
| 270 | * w32.c (sys_dup): Declare prototype. | ||
| 271 | |||
| 272 | * filelock.c: | ||
| 273 | * emacs.c: | ||
| 274 | * callproc.c [WINDOWSNT]: Include sys/socket.h. | ||
| 275 | |||
| 276 | 2013-07-07 Paul Eggert <eggert@cs.ucla.edu> | ||
| 277 | |||
| 278 | Make file descriptors close-on-exec when possible (Bug#14803). | ||
| 279 | This simplifies Emacs a bit, since it no longer needs to worry | ||
| 280 | about closing file descriptors by hand in some cases. | ||
| 281 | It also fixes some unlikely races. Not all such races, as | ||
| 282 | libraries often open files internally without setting | ||
| 283 | close-on-exec, but it's an improvement. | ||
| 284 | * alloc.c (valid_pointer_p) [!WINDOWSNT]: | ||
| 285 | * callproc.c (Fcall_process) [!MSDOS]: | ||
| 286 | * emacs.c (main) [!DOS_NT]: | ||
| 287 | * nsterm.m (ns_term_init): | ||
| 288 | * process.c (create_process): | ||
| 289 | Use 'pipe2' with O_CLOEXEC instead of 'pipe'. | ||
| 290 | * emacs.c (Fcall_process_region) [HAVE_MKOSTEMP]: | ||
| 291 | * filelock.c (create_lock_file) [HAVE_MKOSTEMP]: | ||
| 292 | Prefer mkostemp with O_CLOEXEC to mkstemp. | ||
| 293 | * callproc.c (relocate_fd) [!WINDOWSNT]: | ||
| 294 | * emacs.c (main): Use F_DUPFD_CLOEXEC, not plain F_DUPFD. | ||
| 295 | No need to use fcntl (..., F_SETFD, FD_CLOEXEC), since we're | ||
| 296 | now using pipe2. | ||
| 297 | * filelock.c (create_lock_file) [! HAVE_MKOSTEMP]: | ||
| 298 | Make the resulting file descriptor close-on-exec. | ||
| 299 | * lisp.h, lread.c, process.c (close_load_descs, close_process_descs): | ||
| 300 | * lread.c (load_descriptor_list, load_descriptor_unwind): | ||
| 301 | Remove; no longer needed. All uses removed. | ||
| 302 | * process.c (SOCK_CLOEXEC): Define to 0 if not supplied by system. | ||
| 303 | (close_on_exec, accept4, process_socket) [!SOCK_CLOEXEC]: | ||
| 304 | New functions. | ||
| 305 | (socket) [!SOCK_CLOEXEC]: Supply a substitute. | ||
| 306 | (Fmake_network_process, Fnetwork_interface_list): | ||
| 307 | (Fnetwork_interface_info, server_accept_connection): | ||
| 308 | Make newly-created socket close-on-exec. | ||
| 309 | * sysdep.c (emacs_open, emacs_fopen): | ||
| 310 | Make new-created descriptor close-on-exec. | ||
| 311 | * w32.c (fcntl): Support F_DUPFD_CLOEXEC well enough for Emacs. | ||
| 312 | * w32.c, w32.h (pipe2): Rename from 'pipe', with new flags arg. | ||
| 313 | |||
| 314 | 2013-07-07 Jan Djärv <jan.h.d@swipnet.se> | ||
| 315 | |||
| 316 | * nsterm.m (sendEvent:): Propagate keyboard events to modal windows | ||
| 317 | for NS_IMPL_GNUSTEP. | ||
| 318 | |||
| 319 | 2013-07-07 Paul Eggert <eggert@cs.ucla.edu> | ||
| 320 | |||
| 321 | Fix openp errno handling. | ||
| 322 | * callproc.c (Fcall_process): Preserve openp errno around close. | ||
| 323 | * lread.c (openp): Set errno when returning -1, as some callers | ||
| 324 | expect this. | ||
| 325 | |||
| 326 | 2013-07-06 Jan Djärv <jan.h.d@swipnet.se> | ||
| 327 | |||
| 328 | * nsterm.m (sendEvent:): Handle NSAPP_DATA2_RUNFILEDIALOG. | ||
| 329 | |||
| 330 | * nsterm.h (NSSavePanel): Update comment. | ||
| 331 | (NSAPP_DATA2_RUNFILEDIALOG): Define. | ||
| 332 | (ns_run_file_dialog): Declare. | ||
| 333 | |||
| 334 | * nsfns.m: Remove panelOK. | ||
| 335 | (ns_fd_data): New. | ||
| 336 | (ns_run_file_dialog): New function. | ||
| 337 | (Fns_read_file_name): Fill in ns_fd_data, post an event and start the | ||
| 338 | event loop, so file dialog is popped up by ns_run_file_dialog, called | ||
| 339 | by sendEvent (Bug#14578). | ||
| 340 | (EmacsSavePanel, EmacsOpenPanel): Remove ok and cancel methods. | ||
| 341 | |||
| 342 | 2013-07-06 Eli Zaretskii <eliz@gnu.org> | ||
| 343 | |||
| 344 | * xdisp.c (default_line_pixel_height): New function. | ||
| 345 | (pos_visible_p, move_it_vertically_backward, try_scrolling) | ||
| 346 | (try_cursor_movement, redisplay_window, try_window) | ||
| 347 | (try_window_id): Use it instead of FRAME_LINE_HEIGHT. (Bug#14771) | ||
| 348 | |||
| 349 | * window.c (window_scroll_pixel_based): use | ||
| 350 | default_line_pixel_height. | ||
| 351 | |||
| 352 | * dispextern.h (default_line_pixel_height): Add prototype. | ||
| 353 | |||
| 354 | * frame.c (x_set_line_spacing): Accept a float value for | ||
| 355 | line-spacing parameter, per the documentation. | ||
| 356 | |||
| 357 | * data.c (Fmultibyte_string_p): Doc fix. | ||
| 358 | |||
| 359 | 2013-07-05 Paul Eggert <eggert@cs.ucla.edu> | ||
| 360 | |||
| 361 | Use emacs_open more consistently when opening files. | ||
| 362 | This handles EINTR more consistently now, and makes it easier | ||
| 363 | to introduce other uniform changes to file descriptor handling. | ||
| 364 | * src/systdio.h: New file. | ||
| 365 | * src/buffer.c (mmap_init): | ||
| 366 | * cygw32.c (chdir_to_default_directory): | ||
| 367 | * dispnew.c (Fopen_termscript): | ||
| 368 | * emacs.c (Fdaemon_initialized): | ||
| 369 | * fileio.c (Fdo_auto_save): | ||
| 370 | * image.c (slurp_file, png_load_body, jpeg_load_body): | ||
| 371 | * keyboard.c (Fopen_dribble_file): | ||
| 372 | * lread.c (Fload): | ||
| 373 | * print.c (Fredirect_debugging_output): | ||
| 374 | * sysdep.c (get_up_time, procfs_ttyname, procfs_get_total_memory): | ||
| 375 | * termcap.c (tgetent): | ||
| 376 | * unexaix.c, unexcoff.c (unexec, adjust_lnnoptrs): | ||
| 377 | * unexcw.c, unexelf.c, unexhp9k800.c, unexmacosx.c (unexec): | ||
| 378 | * w32term.c (w32_initialize) [CYGWIN]: | ||
| 379 | * xfaces.c (Fx_load_color_file): | ||
| 380 | Use emacs_open instead of plain open, and emacs_fopen instead of | ||
| 381 | plain fopen. | ||
| 382 | * dispnew.c, fileio.c, image.c, keyboard.c, lread.c, print.c, sysdep.c: | ||
| 383 | * xfaces.c: Include sysstdio.h rather than stdio.h, for emacs_fopen. | ||
| 384 | * callproc.c (default_output_mode): New constant. | ||
| 385 | (Fcall_process): Use it to call emacs_open instead of plain creat. | ||
| 386 | * dispnew.c (Fopen_termscript): Fix minor race in opening termscript. | ||
| 387 | * sysdep.c (emacs_open): Add commentary and don't call file name "path". | ||
| 388 | (emacs_fopen): New function. | ||
| 389 | * unexaix.c, unexcoff.c, unexelf.c, unexhp9k800.c, unexmacosx.c: | ||
| 390 | Include <lisp.h>, for emacs_open. | ||
| 391 | * unexelf.c (fatal): Remove decl; not needed with <lisp.h> included. | ||
| 392 | |||
| 393 | Remove duplicate #include directives. | ||
| 394 | * alloc.c [GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES]: | ||
| 395 | * xfaces.c: | ||
| 396 | Don't include stdio.h twice. | ||
| 397 | * buffer.c [USE_MMAP_FOR_BUFFERS]: | ||
| 398 | Don't include sys/types.h or stdio.h twice. | ||
| 399 | * fileio.c [WINDOWSNT | MSDOS]: Don't include fcntl.h twice. | ||
| 400 | * lread.c: Don't include coding.h twice. | ||
| 401 | * nsfont.m: Don't include frame.h twice. | ||
| 402 | * process.c [HAVE_RES_INIT]: Don't include <netinet/in.h> twice. | ||
| 403 | * ralloc.c: Don't include <unistd.h> twice. | ||
| 404 | * xdisp.c: Don't include font.h twice. | ||
| 405 | * xterm.c: Don't include fontset.h twice. | ||
| 406 | * xterm.h [USE_X_TOOLKIT]: Don't include X11/StringDefs.h twice. | ||
| 407 | |||
| 408 | 2013-07-04 Paul Eggert <eggert@cs.ucla.edu> | ||
| 409 | |||
| 410 | Scale ImageMagick images more carefully. | ||
| 411 | * image.c (scale_image_size) [HAVE_IMAGEMAGICK]: New function. | ||
| 412 | (compute_image_size): Use it. Define only if HAVE_IMAGEMAGICK. | ||
| 413 | Be more careful about avoiding undefined behavior after | ||
| 414 | integer overflow and division by zero. | ||
| 415 | |||
| 416 | 2013-07-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 417 | |||
| 418 | * w32fns.c (Qgeometry, Qworkarea, Qmm_size, Qframes): New variables. | ||
| 419 | (syms_of_w32fns): DEFSYM them. | ||
| 420 | (MONITORINFOF_PRIMARY, SM_XVIRTUALSCREEN, SM_YVIRTUALSCREEN) | ||
| 421 | (CCHDEVICENAME): Define macros if not defined. | ||
| 422 | (struct MONITOR_INFO_EX): New struct. | ||
| 423 | (MonitorEnum_Proc, EnumDisplayMonitors_Proc): New prototypes. | ||
| 424 | (enum_display_monitors_fn): New variable. | ||
| 425 | (globals_of_w32fns): Initialize it. | ||
| 426 | (Fx_display_pixel_width, Fx_display_pixel_height) | ||
| 427 | (Fx_display_mm_height, Fx_display_mm_width): Mention behavior on | ||
| 428 | multi-monitor setups in docstrings. | ||
| 429 | (Fx_display_mm_height, Fx_display_mm_width): Approximate whole | ||
| 430 | screen size by primary monitor's millimeter per pixel. | ||
| 431 | (w32_monitor_enum, w32_display_monitor_attributes_list) | ||
| 432 | (w32_display_monitor_attributes_list_fallback) | ||
| 433 | (Fw32_display_monitor_attributes_list): New functions. | ||
| 434 | (syms_of_w32fns): Defsubr Sw32_display_monitor_attributes_list. | ||
| 435 | |||
| 436 | * w32term.c (SM_CXVIRTUALSCREEN, SM_CYVIRTUALSCREEN): Define macros | ||
| 437 | if not defined. | ||
| 438 | (x_display_pixel_height, x_display_pixel_width): Use GetSystemMetrics. | ||
| 439 | |||
| 440 | 2013-07-04 Michael Albinus <michael.albinus@gmx.de> | ||
| 441 | |||
| 442 | * fileio.c (Qfile_notify_error): New error symbol. | ||
| 443 | |||
| 444 | * gfilenotify.c (Fgfile_add_watch, Fgfile_rm_watch): | ||
| 445 | * inotify.c (inotify_callback, symbol_to_inotifymask) | ||
| 446 | (Finotify_add_watch, Finotify_rm_watch): Use it. | ||
| 447 | (inotifyevent_to_event): Exchange order of cookie and file name. | ||
| 448 | (Finotify_add_watch): Adapt docstring. | ||
| 449 | |||
| 450 | * lisp.h (Qfile_notify_error): Declare. | ||
| 451 | |||
| 452 | 2013-07-04 Paul Eggert <eggert@cs.ucla.edu> | ||
| 453 | |||
| 454 | Try again to fix FreeBSD bug re multithreaded memory alloc (Bug#14569). | ||
| 455 | * emacs.c (main) [HAVE_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]: | ||
| 456 | Do not clear _malloc_thread_enabled_p, undoing the previous change, | ||
| 457 | which did not work (see <http://bugs.gnu.org/14569#307>). | ||
| 458 | (main): Do not invoke malloc_enable_thread if (! CANNOT_DUMP | ||
| 459 | && (!noninteractive || initialized)). This attempts to thread | ||
| 460 | the needle between the Scylla of FreeBSD and the Charybdis of Cygwin. | ||
| 461 | |||
| 462 | 2013-07-04 Juanma Barranquero <lekktu@gmail.com> | ||
| 463 | |||
| 464 | * image.c (x_to_xcolors) [HAVE_NTGUI]: Remove unused var `hdc'. | ||
| 465 | (x_build_heuristic_mask) [HAVE_NTGUI]: Remove unused var `frame_dc'. | ||
| 466 | |||
| 467 | 2013-07-04 Paul Eggert <eggert@cs.ucla.edu> | ||
| 468 | |||
| 469 | Try to fix FreeBSD bug re multithreaded memory allocation (Bug#14569). | ||
| 470 | * emacs.c (main) [HAVE_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]: | ||
| 471 | Clear _malloc_thread_enabled_p at startup. Reported by Ashish SHUKLA in | ||
| 472 | <http://lists.gnu.org/archive/html/emacs-devel/2013-07/msg00088.html>. | ||
| 473 | |||
| 1 | 2013-07-02 Paul Eggert <eggert@cs.ucla.edu> | 474 | 2013-07-02 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 475 | ||
| 3 | * sysdep.c (sys_siglist) [HAVE_DECL___SYS_SIGLIST]: | 476 | * sysdep.c (sys_siglist) [HAVE_DECL___SYS_SIGLIST]: |
| @@ -507,7 +980,7 @@ | |||
| 507 | (VALMASK): Also a constant, for benefit of old GDB. | 980 | (VALMASK): Also a constant, for benefit of old GDB. |
| 508 | (LISP_INT_TAG_P): Remove; no longer needed as the only caller | 981 | (LISP_INT_TAG_P): Remove; no longer needed as the only caller |
| 509 | is INTEGERP, which can fold it in. | 982 | is INTEGERP, which can fold it in. |
| 510 | (XLI, XIL, XHASH, XTYPE,XINT, XFASTINT, XUINT) | 983 | (XLI, XIL, XHASH, XTYPE, XINT, XFASTINT, XUINT) |
| 511 | (make_number, XPNTR, XUNTAG, EQ, XCONS, XVECTOR, XSTRING, XSYMBOL) | 984 | (make_number, XPNTR, XUNTAG, EQ, XCONS, XVECTOR, XSTRING, XSYMBOL) |
| 512 | (XFLOAT, XPROCESS, XWINDOW, XTERMINAL, XSUBR, XBUFFER, XCHAR_TABLE) | 985 | (XFLOAT, XPROCESS, XWINDOW, XTERMINAL, XSUBR, XBUFFER, XCHAR_TABLE) |
| 513 | (XSUB_CHAR_TABLE, XBOOL_VECTOR, make_lisp_ptr, CHECK_TYPE) | 986 | (XSUB_CHAR_TABLE, XBOOL_VECTOR, make_lisp_ptr, CHECK_TYPE) |