From: Glenn Morris Date: Wed, 6 Mar 2013 08:01:47 +0000 (-0800) Subject: Merge from emacs-24; up to 2012-12-25T11:37:21Z!dmantipov@yandex.ru X-Git-Tag: emacs-24.3.90~173^2^2~42^2~45^2~387^2~2026^2~614 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=0bafabe7b28b6ee05cf052579e398102fd73e0eb;p=emacs.git Merge from emacs-24; up to 2012-12-25T11:37:21Z!dmantipov@yandex.ru --- 0bafabe7b28b6ee05cf052579e398102fd73e0eb diff --cc ChangeLog index 293a554c9f5,5c701479698..84d88fa7f1a --- a/ChangeLog +++ b/ChangeLog @@@ -1,3 -1,8 +1,8 @@@ -2013-03-05 Paul Eggert ++2013-03-06 Paul Eggert + + * configure.ac (TERM_HEADER): Remove duplicate definition (Bug#13872). + It can mess up 'configure' runs. + 2013-03-05 Glenn Morris * Makefile.in (install-man): Ignore gzip exit status. diff --cc src/ChangeLog index 84ba55e3bdf,f67046ebd43..bbf2aae960a --- a/src/ChangeLog +++ b/src/ChangeLog @@@ -1,130 -1,15 +1,132 @@@ -2013-03-05 Paul Eggert ++2013-03-06 Paul Eggert + + Fix a build failure on OpenBSD 4.x and MirBSD (Bug#13881). + * sysdep.c (list_system_processes) + [BSD_SYSTEM && !DARWIN_OS && !__FreeBSD__]: + Make it a stub in this case; otherwise the build might fail, + and this code hasn't been tested on such hosts anyway. + Problem reported by Nelson H. F. Beebe in + + and analyzed by Jérémie Courrèges-Anglas in + . + +2013-03-06 Dmitry Antipov + + * lisp.h (find_next_newline_no_quit): Rename to find_next_newline. + * xdisp.c (back_to_previous_line_start, forward_to_next_line_start) + (get_visually_first_element, move_it_vertically_backward): Ajust users. + * bidi.c (bidi_find_paragraph_start): Likewise. + * indent.c (vmotion): Likewise. + +2013-03-05 Paul Eggert + + FILE's lock is now always .#FILE and may be a regular file (Bug#13807). + * filelock.c: Include . + (MAX_LFINFO): New top-level constant. + (lock_info_type): Remove members pid, boot_time. Add members at, + dot, colon. Change user member to be the entire buffer, not a + pointer. This allows us to handle the case where a foreign + pid or boot time exceeds the local range. All uses changed. + (LINKS_MIGHT_NOT_WORK): New constant. + (FREE_LOCK_INFO): Remove, as the pieces no longer need freeing. + (defined_WINDOWSNT): Remove. + (MAKE_LOCK_NAME, file_in_lock_file_name): + Always use .#FILE (not .#-FILE) for the file lock, + even if it is a regular file. + (rename_lock_file): New function. + (create_lock_file): Use it. + (create_lock_file, read_lock_data): + Prefer a symbolic link for the lock file, falling back on a + regular file if symlinks don't work. Do not try to create + symlinks on MS-Windows, due to security hassles. Stick with + POSIXish functions (open, read, write, close, fchmod, readlink, symlink, + link, rename, unlink, mkstemp) when creating locks, as a GNUish + host may be using a Windowsish file system, and cannot use + MS-Windows-only system calls. Fall back on mktemp if mkstemp + doesn't work. Don't fail merely because of a symlink-contents + length limit in the current file system; fall back on regular + files. Increase the symlink contents length limit to 8 KiB, this + should be big enough for any real use and doesn't crunch the + stack. + (create_lock_file, lock_file_1, read_lock_data): + Simplify allocation of lock file buffers now that they fit in 8 KiB. + (lock_file_1): Return error number, not bool. All callers changed. + (ELOOP): New macro, if not already defined. + (read_lock_data): Return size of lock file contents, not Lisp object. + All callers changed. Handle a race condition if some other process + replaces a regular-file lock with a symlink lock or vice versa, + while we're trying to read the lock. + (current_lock_owner): Parse contents more carefully, to help avoid + confusing a regular-file lock with some other application's use + of the file. Check for lock file contents being too long, or + not parsing correctly. + (current_lock_owner, lock_file): + Allow foreign pid and boot times that exceed the local range. + (current_lock_owner, lock_if_free, lock_file): + Simplify allocation of lock file contents. + * w32.c (sys_rename_replace): New function, containing most of + the contents of the old sys_rename. + (sys_rename): Use it. + (fchmod): New dummy function. + * w32.h (sys_rename_replace, fchmod): New decls. + +2013-03-05 Eli Zaretskii + + * bidi.c (bidi_resolve_explicit_1): Don't call CHAR_TO_BYTE or + bidi_count_bytes, as the callers now arrange for bidi_it->charpos + to be in sync with bidi_it->bytepos. Suggested by Dmitry Antipov + . + - 2013-03-05 Paul Eggert - - Fix a build failure on OpenBSD 4.x and MirBSD. - * sysdep.c (KERN_PROC, kinfo_proc) - [BSD_SYSTEM && (!KERN_PROC || __MirBSD__)]: - Define to KERN_PROC2 and kinfo_proc2, for OpenBSD 4.9 and MirBSD. - list-system-processes still returns nil, but at least it doesn't crash. - Problem reported by Nelson H. F. Beebe in - . - +2013-03-05 Dmitry Antipov + + * composite.c (get_composition_id, fill_gstring_header): + Use make_uninit_vector where appropriate. + * font.c (Ffont_get_glyphs, build_style_table): Likewise. + * xselect.c (clean_local_selection_data): Likewise. + +2013-03-04 Paul Eggert + + Fix misuse of ImageMagick that caused core dump (Bug#13846). + * image.c (imagemagick_load_image): Calculate height and width + after flattening the image, not before. + +2013-03-04 Dmitry Antipov + + * font.c (Ffont_get_glyphs): Use convenient LGLYPH_NEW. + * ftfont.c (ftfont_shape_by_flt): Likewise. + * w32uniscribe.c (uniscribe_shape): Likewise. + +2013-03-02 Paul Eggert + + The lock for FILE is now .#FILE or .#-FILE (Bug#13807). + The old approach, which fell back on DIR/.#FILE.0 through + DIR/.#FILE.9, had race conditions that could not be easily fixed. + If DIR/.#FILE is a non-symlink file, Emacs now does not create a + lock file for DIR/FILE; that is, DIR/FILE is no longer partly + protected by a lock if DIR/.#FILE is a non-symlink file ("partly" + because the locking mechanism was never reliable in that case). + This patch fixes this and other bugs discovered by a code + inspection that was prompted by + . + Also, this patch switches to .#-FILE (not .#FILE) on MS-Windows, + to avoid interoperability problems between the MS-Windows and + non-MS-Windows implementations. MS-Windows and non-MS-Windows + instances of Emacs now ignore each others' locks. + * filelock.c (defined_WINDOWSNT): New constant. + (MAKE_LOCK_NAME, fill_in_lock_file_name): + Don't create DIR/.#FILE.0 through DIR/.#FILE.9. Instead, create + DIR/.#FILE symlinks on non-MS-Windows hosts, and DIR/.#-FILE + regular files on MS-Windows hosts. + (MAKE_LOCK_NAME, unlock_file, Ffile_locked_p): + Use SAFE_ALLOCA to avoid problems with long file names. + (MAX_LFINFO): Now a local constant, not a global macro. + (IS_LOCK_FILE): Remove. + (lock_file_1): Don't inspect errno if symlink call succeeds; + that's not portable. + (lock_file): Document that this function can return if lock + creation fails. + (lock_file): Don't access freed storage. + 2013-03-02 Andreas Schwab * lisp.h (XPNTR) [!USE_LSB_TAG]: Remove extra paren. (Bug#13734)