diff options
| author | Bill Wohler | 2013-03-02 14:55:12 -0800 |
|---|---|---|
| committer | Bill Wohler | 2013-03-02 14:55:12 -0800 |
| commit | aef2281c76c1a6ec9cb988b8c339a1ed569f1114 (patch) | |
| tree | ee1503fffe75c38cc306ad85ca594a5ee2ee27dc /src/ChangeLog | |
| parent | 21733e4f154f8830fa568a347a0d6dbd59793c2b (diff) | |
| parent | 2db41375423b6a48a55df2c5922bb2813319f06f (diff) | |
| download | emacs-aef2281c76c1a6ec9cb988b8c339a1ed569f1114.tar.gz emacs-aef2281c76c1a6ec9cb988b8c339a1ed569f1114.zip | |
Merge from trunk; up to 2013-03-02T21:05:52Z!eggert@cs.ucla.edu.
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 228 |
1 files changed, 228 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index e945e221593..adff00f7189 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,231 @@ | |||
| 1 | 2013-03-02 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | The lock for FILE is now .#FILE or .#-FILE (Bug#13807). | ||
| 4 | The old approach, which fell back on DIR/.#FILE.0 through | ||
| 5 | DIR/.#FILE.9, had race conditions that could not be easily fixed. | ||
| 6 | If DIR/.#FILE is a non-symlink file, Emacs now does not create a | ||
| 7 | lock file for DIR/FILE; that is, DIR/FILE is no longer partly | ||
| 8 | protected by a lock if DIR/.#FILE is a non-symlink file ("partly" | ||
| 9 | because the locking mechanism was never reliable in that case). | ||
| 10 | This patch fixes this and other bugs discovered by a code | ||
| 11 | inspection that was prompted by | ||
| 12 | <http://lists.gnu.org/archive/html/emacs-devel/2013-02/msg00531.html>. | ||
| 13 | Also, this patch switches to .#-FILE (not .#FILE) on MS-Windows, | ||
| 14 | to avoid interoperability problems between the MS-Windows and | ||
| 15 | non-MS-Windows implementations. MS-Windows and non-MS-Windows | ||
| 16 | instances of Emacs now ignore each others' locks. | ||
| 17 | * filelock.c (defined_WINDOWSNT): New constant. | ||
| 18 | (MAKE_LOCK_NAME, fill_in_lock_file_name): | ||
| 19 | Don't create DIR/.#FILE.0 through DIR/.#FILE.9. Instead, create | ||
| 20 | DIR/.#FILE symlinks on non-MS-Windows hosts, and DIR/.#-FILE | ||
| 21 | regular files on MS-Windows hosts. | ||
| 22 | (MAKE_LOCK_NAME, unlock_file, Ffile_locked_p): | ||
| 23 | Use SAFE_ALLOCA to avoid problems with long file names. | ||
| 24 | (MAX_LFINFO): Now a local constant, not a global macro. | ||
| 25 | (IS_LOCK_FILE): Remove. | ||
| 26 | (lock_file_1): Don't inspect errno if symlink call succeeds; | ||
| 27 | that's not portable. | ||
| 28 | (lock_file): Document that this function can return if lock | ||
| 29 | creation fails. | ||
| 30 | (lock_file): Don't access freed storage. | ||
| 31 | |||
| 32 | 2013-03-02 Andreas Schwab <schwab@linux-m68k.org> | ||
| 33 | |||
| 34 | * lisp.h (XPNTR) [!USE_LSB_TAG]: Remove extra paren. (Bug#13734) | ||
| 35 | |||
| 36 | 2013-03-02 Paul Eggert <eggert@cs.ucla.edu> | ||
| 37 | |||
| 38 | * textprop.c: Use bool for booleans. | ||
| 39 | (validate_interval_range, Fadd_text_properties) | ||
| 40 | (Fremove_text_properties): Prefer bool to int when either works. | ||
| 41 | |||
| 42 | 2013-03-02 Eli Zaretskii <eliz@gnu.org> | ||
| 43 | |||
| 44 | * textprop.c (Fadd_text_properties, Fremove_text_properties): If | ||
| 45 | the interval tree changes as a side effect of calling | ||
| 46 | modify_region, re-do processing starting from the call to | ||
| 47 | validate_interval_range. (Bug#13743) | ||
| 48 | |||
| 49 | 2013-02-28 Eli Zaretskii <eliz@gnu.org> | ||
| 50 | |||
| 51 | * w32.c (sys_open): Don't reset the flags for FD in fd_info[]. | ||
| 52 | (Bug#13546). | ||
| 53 | |||
| 54 | 2013-02-27 Eli Zaretskii <eliz@gnu.org> | ||
| 55 | |||
| 56 | * filelock.c (create_lock_file) [WINDOWSNT]: Use _sopen with | ||
| 57 | _SH_DENYRW flag, instead of emacs_open, to deny any other process | ||
| 58 | access to the lock file until it is written and closed. | ||
| 59 | (Bug#13807) | ||
| 60 | |||
| 61 | 2013-02-27 Paul Eggert <eggert@cs.ucla.edu> | ||
| 62 | |||
| 63 | * callint.c (Qcall_interactively): | ||
| 64 | * macros.c (Qexecute_kbd_macro): | ||
| 65 | Now static. | ||
| 66 | |||
| 67 | 2013-02-26 Bastien Guerry <bzg@gnu.org> | ||
| 68 | |||
| 69 | * window.c (Frecenter): Tiny docstring enhancement. | ||
| 70 | |||
| 71 | 2013-02-26 Paul Eggert <eggert@cs.ucla.edu> | ||
| 72 | |||
| 73 | Minor textprop integer cleanup. | ||
| 74 | * intervals.h, textprop.c (add_text_properties_from_list): | ||
| 75 | Return void, not int, since nobody uses the return value. | ||
| 76 | * textprop.c (validate_plist, add_properties, remove_properties) | ||
| 77 | (Fadd_text_properties): | ||
| 78 | Don't assume list length fits in int. | ||
| 79 | (interval_has_all_properties, interval_has_some_properties) | ||
| 80 | (interval_has_some_properties_list, add_properties, remove_properties) | ||
| 81 | (Fadd_text_properties, Fremove_text_properties) | ||
| 82 | (Fremove_list_of_text_properties, text_property_stickiness): | ||
| 83 | Use bool for booleans. | ||
| 84 | (Fadd_text_properties, Fremove_text_properties): | ||
| 85 | (Fremove_list_of_text_properties): | ||
| 86 | Reindent do-while as per GNU style. | ||
| 87 | |||
| 88 | 2013-02-25 Eli Zaretskii <eliz@gnu.org> | ||
| 89 | |||
| 90 | Implement CLASH_DETECTION for MS-Windows. | ||
| 91 | |||
| 92 | * filelock.c [WINDOWSNT]: Include w32.h. | ||
| 93 | (MAKE_LOCK_NAME): Don't use 'lock', it clashes with MS runtime | ||
| 94 | function of that name. Up-case the macro arguments. | ||
| 95 | (IS_LOCK_FILE): New macro. | ||
| 96 | (fill_in_lock_file_name): Use IS_LOCK_FILE instead of S_ISLNK. | ||
| 97 | (create_lock_file): New function, with body extracted from | ||
| 98 | lock_file_1. | ||
| 99 | [WINDOWSNT]: Implement lock files by writing a regular file with | ||
| 100 | the lock information as its contents. | ||
| 101 | (read_lock_data): New function, on Posix platforms just calls | ||
| 102 | emacs_readlinkat. | ||
| 103 | [WINDOWSNT]: Read the lock info from the file. | ||
| 104 | (current_lock_owner): Call read_lock_data instead of calling | ||
| 105 | emacs_readlinkat directly. | ||
| 106 | (lock_file) [WINDOWSNT]: Run the file name through | ||
| 107 | dostounix_filename. | ||
| 108 | |||
| 109 | * w32proc.c (sys_kill): Support the case of SIG = 0, in which case | ||
| 110 | just check if the process by that PID exists. | ||
| 111 | |||
| 112 | * w32.c (sys_open): Don't reset the _O_CREAT flag if _O_EXCL is | ||
| 113 | also present, as doing so will fail to error out if the file | ||
| 114 | already exists. | ||
| 115 | |||
| 116 | * makefile.w32-in ($(BLD)/filelock.$(O)): Depend on src/w32.h. | ||
| 117 | |||
| 118 | * textprop.c (Fadd_text_properties, Fremove_text_properties) | ||
| 119 | (Fremove_list_of_text_properties): Skip all of the intervals in | ||
| 120 | the region between START and END that already have resp. don't | ||
| 121 | have the requested properties, not just the first one. Add | ||
| 122 | assertions that the loop afterwards always modifies the | ||
| 123 | properties. (Bug#13743) | ||
| 124 | |||
| 125 | 2013-02-25 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 126 | |||
| 127 | * callint.c (Fcall_interactively): Use the right lexical environment | ||
| 128 | for `interactive' specs (bug#13811). | ||
| 129 | * eval.c (Feval): Accept a lexical environment. | ||
| 130 | |||
| 131 | 2013-02-25 Paul Eggert <eggert@cs.ucla.edu> | ||
| 132 | |||
| 133 | Simplify data_start configuration (Bug#13783). | ||
| 134 | This is a followon simplification to the fix for Bug#13650. | ||
| 135 | * Makefile.in (LD_FIRSTFLAG, LIB_GCC, CRT_DIR, LIB_STANDARD) | ||
| 136 | (START_FILES): Remove. All uses removed. | ||
| 137 | (otherobj): Remove $(VMLIMIT_OBJ), as it's now first. | ||
| 138 | (ALLOBJS): Move here from autodeps.mk, and with VMLIMITS_OBJ first. | ||
| 139 | (buildobj.h): Use it. | ||
| 140 | ($(ALLOBJS)): Depend on globals.h. | ||
| 141 | (temacs$(EXEEXT)): Use $(ALLOBJS). | ||
| 142 | * autodeps.mk (ALLOBJS): Move to Makefile.in. | ||
| 143 | * deps.mk (vm-limit.o): | ||
| 144 | * makefile.w32-in ($(BLD)/vm-limit.$(O)): | ||
| 145 | Do not depend on mem-limits.h. | ||
| 146 | * emacs.c (__do_global_ctors, __do_global_ctors_aux) | ||
| 147 | (__do_global_dtors, __CTOR_LIST__, __DTOR_LIST__) | ||
| 148 | [__GNUC__ && !ORDINARY_LINK]: Remove. | ||
| 149 | * mem-limits.h, pre-crt0.c: Remove. | ||
| 150 | * unexaix.c, unexcoff.c: Don't include mem-limits.h. | ||
| 151 | * unexcoff.c (etext): New decl. | ||
| 152 | (make_hdr): Use DATA_START instead of start_of_data. | ||
| 153 | * vm-limit.c: Move most of mem-limits.h's contents here. | ||
| 154 | (data_start): New decl. It's OK if this is approximate, | ||
| 155 | so simplify-away some unnecessary exactness. | ||
| 156 | (POINTER): Remove; all uses removed. | ||
| 157 | (data_space_start): Now char *, to avoid casts. | ||
| 158 | (exceeds_lisp_ptr): New function, replacing the old | ||
| 159 | EXCEEDS_LISP_PTR macro. All uses changed. | ||
| 160 | (check_memory_limits): Simplify and remove casts. | ||
| 161 | (start_of_data) [!CANNOT_DUMP || !SYSTEM_MALLOC]: Remove. | ||
| 162 | (memory_warnings): Use data_start instead of start_of_data. | ||
| 163 | |||
| 164 | 2013-02-24 Andreas Schwab <schwab@linux-m68k.org> | ||
| 165 | |||
| 166 | * xdisp.c (set_message): Only check for debug-on-message if STRING | ||
| 167 | is a string. (Bug#13797) | ||
| 168 | |||
| 169 | 2013-02-24 Paul Eggert <eggert@cs.ucla.edu> | ||
| 170 | |||
| 171 | Fix regression introduced by July 10 filelock.c patch. | ||
| 172 | * filelock.c (fill_in_lock_file_name): Fix crash caused by the | ||
| 173 | 2012-07-10 patch to this file. Reported by Eli Zaretskii in | ||
| 174 | <http://lists.gnu.org/archive/html/emacs-devel/2013-02/msg00533.html> | ||
| 175 | and diagnosed by Andreas Schwab in | ||
| 176 | <http://lists.gnu.org/archive/html/emacs-devel/2013-02/msg00534.html>. | ||
| 177 | |||
| 178 | 2013-02-22 Paul Eggert <eggert@cs.ucla.edu> | ||
| 179 | |||
| 180 | Assume C89 or better. | ||
| 181 | * ralloc.c (SIZE, POINTER, NIL): | ||
| 182 | * vm-limit.c (POINTER): | ||
| 183 | Remove, replacing all uses with C89 equivalents. These old | ||
| 184 | symbols were present only for porting to pre-C89 platforms. | ||
| 185 | |||
| 186 | 2013-02-22 Claudio Bley <claudio.bley@gmail.com> | ||
| 187 | |||
| 188 | * w32.c (emacs_gnutls_pull): Don't call 'select', and don't loop. | ||
| 189 | This avoids warning messages reported as part of Bug#13546. | ||
| 190 | |||
| 191 | 2013-02-21 Ken Brown <kbrown@cornell.edu> | ||
| 192 | |||
| 193 | * sheap.c (report_sheap_usage): Fix arguments of message1_no_log. | ||
| 194 | |||
| 195 | 2013-02-20 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 196 | |||
| 197 | * sheap.c (report_sheap_usage): Prefer message1_nolog. | ||
| 198 | |||
| 199 | * keyboard.c (Qcommand_execute): New var. | ||
| 200 | (command_loop_1, read_char): Use it. | ||
| 201 | (Fcommand_execute): Remove, replace by an Elisp implementation. | ||
| 202 | (syms_of_keyboard): Adjust accordingly. | ||
| 203 | |||
| 204 | 2013-02-19 Daniel Colascione <dancol@dancol.org> | ||
| 205 | |||
| 206 | * sheap.c (report_sheap_usage): Use message, not message1, so | ||
| 207 | that we don't try to create a buffer while we're in the middle | ||
| 208 | of dumping Emacs. Explain why. | ||
| 209 | |||
| 210 | 2013-02-20 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 211 | * search.c (find_newline): Return byte position in bytepos. | ||
| 212 | Adjust comment. | ||
| 213 | (find_next_newline_no_quit, find_before_next_newline): | ||
| 214 | Add bytepos argument. | ||
| 215 | * lisp.h (find_newline, find_next_newline_no_quit) | ||
| 216 | (find_before_next_newline): Adjust prototypes. | ||
| 217 | * bidi.c (bidi_find_paragraph_start): | ||
| 218 | * editfns.c (Fconstrain_to_field, Fline_end_position): | ||
| 219 | * indent.c (compute_motion, vmotion): | ||
| 220 | * xdisp.c (back_to_previous_line_start, forward_to_next_line_start): | ||
| 221 | (get_visually_first_element, move_it_vertically_backward): | ||
| 222 | Adjust users and avoid calls to CHAR_TO_BYTE where appropriate. | ||
| 223 | |||
| 224 | 2013-02-19 Eli Zaretskii <eliz@gnu.org> | ||
| 225 | |||
| 226 | * w32proc.c (new_child): Avoid leaking handles if the subprocess | ||
| 227 | resources were not orderly released. | ||
| 228 | |||
| 1 | 2013-02-17 Eli Zaretskii <eliz@gnu.org> | 229 | 2013-02-17 Eli Zaretskii <eliz@gnu.org> |
| 2 | 230 | ||
| 3 | * xdisp.c (x_draw_vertical_border): For a window that is neither | 231 | * xdisp.c (x_draw_vertical_border): For a window that is neither |