aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* auto upstreamJoakim Verona2013-01-237-118/+117
|\
| * * window.h (struct window): Change window_end_valid member fromDmitry Antipov2013-01-225-59/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Lisp_Object to a bitfield. Adjust comments. (wset_window_end_valid): Remove. * window.c (adjust_window_count): Clear window_end_valid. (Fwindow_end): Adjust user. Remove ancient #if 0 code. (Fwindow_line_height, set_window_buffer, Frecenter) (Fsplit_window_internal, Fdelete_other_windows_internal) (Fset_window_fringes, Fset_window_scroll_bars): Adjust users. * dispnew.c (adjust_glyph_matrix, clear_window_matrices): Likewise. * xdisp.c (check_window_end, reconsider_clip_changes) (redisplay_internal, mark_window_display_accurate_1, redisplay_window) (try_window, try_window_reusing_current_matrix, note_mouse_highlight) (find_first_unchanged_at_end_row, try_window_id): Likewise.
| * * xdisp.c (mark_window_display_accurate): Simplify the loopDmitry Antipov2013-01-222-44/+42
| | | | | | | | | | | | | | | | assuming that the only one of vchild, hchild or buffer window slots is non-nil. Call mark_window_display_accurate_1 for the leaf windows only. (mark_window_display_accurate_1): Always assume leaf window. Adjust comment.
| * * emacs.c (Qkill_emacs_hook): Now static.Paul Eggert2013-01-212-1/+4
| |
| * * fileio.c (Finsert_file_contents): Simplify.Paul Eggert2013-01-212-14/+10
| | | | | | | | Remove unnecessary assignments and tests.
* | auto upstreamJoakim Verona2013-01-223-110/+159
|\ \ | |/
| * Another minor fix in acl_set_file on Windows.Eli Zaretskii2013-01-212-37/+49
| | | | | | | | | | | | src/w32.c (acl_set_file): Don't test for errors unless set_file_security returns FALSE. Avoids spurious errors when saving files.
| * * fileio.c (Finsert_file_contents): Revert code introduced atDmitry Antipov2013-01-212-73/+110
| | | | | | | | | | | | 2013-01-18 in favor of the simpler and generally better fix. Save stack space by removing 'buffer' and reusing 'read_buf' where appropriate.
* | auto upstreamJoakim Verona2013-01-211-1/+1
|\ \ | |/
| * * src/doprnt.c: Fix comment.Paul Eggert2013-01-201-1/+1
| |
* | auto upstreamJoakim Verona2013-01-208-69/+207
|\ \ | |/
| * * lisp.h (eabs): Define unconditionally.Paul Eggert2013-01-192-5/+10
| | | | | | | | | | | | | | The old "#if !defined (eabs)" was an unnecessary revenant of back when this macro was called "abs". Document 'eabs' better. Fixes: debbugs:13419
| * Merge from emacs-24; up to 2012-12-11T09:51:12Z!dmantipov@yandex.ruGlenn Morris2013-01-192-1/+8
| |\
| | * * src/fns.c (Frandom): Doc fix.Glenn Morris2013-01-162-1/+8
| | |
| * | Fix crashes with lots of overlays.Eli Zaretskii2013-01-193-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | src/editfns.c (get_pos_property): Use SAFE_ALLOCA_LISP, to avoid segfault when there are lots of overlays. src/buffer.c (sort_overlays): Use SAFE_NALLOCA, to avoid segfault when there are lots of overlays. See http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00421.html for the details and a way to reproduce.
| * | * fileio.c: Use O_APPEND to append.Paul Eggert2013-01-192-23/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This corresponds better to the natural interpretation of "append", and avoids the need to open the output file twice, or to invoke lseek when APPEND is neither nil nor a number. This relies on POSIX 1003.1-1988 or later, which is OK nowadays. (Fwrite_region): Simplify. Use O_APPEND instead of opening the file possibly twice, and lseeking to its end; this avoids the need to lseek on non-regular files. Do not use O_EXCL and O_TRUNC at the same time: the combination is never needed and apparently it doesn't work with DOS_NT.
| * | Fix size bug on DOS_NT introduced by CIFS workaround.Paul Eggert2013-01-192-1/+4
| | | | | | | | | | | | | | | | | | * fileio.c (Fwrite_region): Use O_BINARY in checking code, too. Fixes: debbugs:13149
| * | * fileio.c (Fwrite_region): Sync diagnostic to previous change.Paul Eggert2013-01-191-1/+1
| | |
| * | Allow floating-point file offsets.Paul Eggert2013-01-192-32/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem reported by Vitalie Spinu in <http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00411.html>. * doc/lispref/files.texi (Reading from Files, Writing to Files): Say that file offsets can be numbers, not just integers. * src/fileio.c (emacs_lseek): Remove. (file_offset): New function. (Finsert_file_contents, Fwrite_region): Use it.
| * | * emacs.c (Fkill_emacs): Set waiting_for_input to 0 to avoid aborting on ↵Chong Yidong2013-01-192-5/+11
| | | | | | | | | | | | | | | | | | Fsignal. Fixes: debbugs:13289
| * | Make 'fstat' on MS-Windows behave more like 'stat' and 'lstat'.Eli Zaretskii2013-01-192-7/+18
| | | | | | | | | | | | src/w32.c (fstat): Return owner and group like 'stat' and 'lstat' do.
| * | Minor fix in acl_set_file.Eli Zaretskii2013-01-192-1/+8
| | | | | | | | | | | | | | | | | | src/w32.c (acl_set_file): Treat ERROR_ACCESS_DENIED from set_file_security as failure due to insufficient privileges. Reported by Fabrice Popineau <fabrice.popineau@supelec.fr>.
| * | Work around bug in CIFS and vboxsf file systems.Paul Eggert2013-01-184-0/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The bug was observed on Ubuntu operating inside a virtual machine, editing files mounted via CIFS or vboxsf from the MS Windows 7 host. The workaround introduces a race condition on non-buggy hosts, but it's an unlikely race and anyway there's a nearly identical nearby race that can't be fixed. * fileio.c (valid_timestamp_file_system, timestamp_file_system): New static vars. (Fwrite_region): Test for file system time stamp bug. (init_fileio): New function. * lisp.h (init_fileio): Declare it. * emacs.c (main): Call it. Fixes: debbugs:13149
| * | * fileio.c (Finsert_file_contents): Simplify new diagnosticPaul Eggert2013-01-182-2/+6
| | | | | | | | | | | | and make it more consistent with other stat-failure diagnostics.
* | | auto upstreamJoakim Verona2013-01-192-133/+107
|\ \ \ | |/ /
| * | Fix crash when inserting data from non-regular files. SeeDmitry Antipov2013-01-182-102/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00406.html for the error description produced by valgrind. * fileio.c (read_non_regular): Rename to read_contents. Free Lisp_Save_Value object used to pass parameters. (read_non_regular_quit): Rename to read_contents_quit. (Finsert_file_contents): Redesign internal file reading loop to adjust gap and end positions after each read and so help make_gap to work properly. Do not signal an I/O error too early and so do not leave not yet decoded characters in a buffer, which was the reason of redisplay crash. Use list2 to build return value. Adjust comments.
| * | Close a race when statting and reading files.Paul Eggert2013-01-172-31/+21
| | | | | | | | | | | | | | | | | | | | | * fileio.c (Finsert_file_contents): Use open+fstat, not stat+open. This avoids a race if the file is renamed between stat and open. This race is not the problem originally noted in Bug#13149; see <http://bugs.gnu.org/13149#73> and later messages in the thread.
* | | auto upstreamJoakim Verona2013-01-1818-79/+135
|\ \ \ | |/ /
| * | * lisp.h (toplevel): Add comment about using Lisp_Save_ValueDmitry Antipov2013-01-1716-38/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | objects, related functions and macros. (make_save_value): Adjust prototype. (make_save_pointer): New prototype. (SAFE_NALLOCA): Fix indentation. Use make_save_pointer. (SAFE_ALLOCA_LISP): Adjust make_save_value usage. * alloc.c (format_save_value): Rename to make_save_value. (make_save_pointer): New function. (record_xmalloc): Use make_save_pointer. * dired.c, editfns.c, fileio.c, font.c, gtkutil.c, lread.c: * nsmenu.m, nsterm.m, xfns.c, xmenu.c, xselect.c, keymap.c: Change users of make_save_value to make_save_pointer. Likewise for format_save_value and make_save_value.
| * | * buffer.h (NARROWED, BUF_NARROWED): Drop unused macros.Dmitry Antipov2013-01-173-41/+34
| | | | | | | | | | | | | | | | | | (DECODE_POSITION, BUFFER_CHECK_INDIRECTION): Fix indentation. * buffer.c (toplevel, syms_of_buffer): Drop old commented-out debugging stubs.
* | | auto upstreamJoakim Verona2013-01-1616-114/+173
|\ \ \ | |/ /
| * | * src/alloc.c (free_save_value): Now static.Paul Eggert2013-01-153-2/+6
| | |
| * | * keymap.c (map_keymap_internal): Use format_save_value.Dmitry Antipov2013-01-154-37/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (map_keymap_char_table_item): Adjust accordingly. * fileio.c (non_regular_fd, non_regular_inserted) (non_regular_nbytes): Remove. (Finsert_file_contents): Convert trytry to ptrdiff_t. Use format_save_value to pass parameters to read_non_regular. (read_non_regular): Use XSAVE_ macros to extract parameters. Adjust comment. * xmenu.c (xmenu_show) [!USE_X_TOOLKIT && !USE_GTK]: Use format_save_value. (pop_down_menu) [!USE_X_TOOLKIT && !USE_GTK]: Adjust user.
| * | * src/lisp.h (XSAVE_POINTER, XSAVE_INTEGER): Change to allow extractionDmitry Antipov2013-01-1516-31/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | from any Lisp_Save_Value slot. Add type checking. * src/alloc.c, src/dired.c, src/editfns.c, src/fileio.c, src/ftfont.c: * src/gtkutil.c, src/keymap.c, src/lread.c, src/nsterm.h, src/nsmenu.c: * src/xfns.c, src/xmenu.c, src/xselect.c: All users changed. * admin/coccinelle/xsave.cocci: Semantic patch to adjust users of XSAVE_POINTER and XSAVE_INTEGER macros.
| * | Some convenient bits to deal with Lisp_Save_Values.Dmitry Antipov2013-01-154-49/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp.h (XSAVE_OBJECT): New macro to extract saved objects. (allocate_misc): Remove prototype. (format_save_value): New prototype. * alloc.c (allocate_misc): Revert back to static. (format_save_value): New function to build Lisp_Save_Value object with the specified internal structure. (make_save_value): Reimplement using format_save_value. * editfns.c (save_excursion_save): Use format_save_value. (save_excursion_restore): Use XSAVE_OBJECT.
* | | auto upstreamJoakim Verona2013-01-1518-105/+241
|\ \ \ | |/ /
| * | Avoid needless casts with XSAVE_POINTER.Paul Eggert2013-01-1411-11/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * alloc.c (mark_object) [GC_MARK_STACK]: * dired.c (directory_files_internal_unwind): * fileio.c (do_auto_save_unwind): * gtkutil.c (pop_down_dialog): * keymap.c (map_keymap_char_table_item): * lread.c (load_unwind): * nsmenu.m (pop_down_menu): * print.c (print_object) [GC_MARK_STACK]: * xfns.c (clean_up_file_dialog): * xmenu.c (cleanup_widget_value_tree): Omit casts between XSAVE_POINTER and a pointer type.
| * | * lisp.h (toplevel): Fix typo in comment.Dmitry Antipov2013-01-141-1/+1
| | |
| * | Fix compilation with GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE.Dmitry Antipov2013-01-142-0/+9
| | | | | | | | | | | | | | | * eval.c (eval_sub): Protect `form' from being GCed before its car and cdr becomes protected with the backtrace entry.
| * | Make Lisp_Save_Value more versatile storage for up to four objects.Dmitry Antipov2013-01-1417-104/+217
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp.h (toplevel): Enumeration to describe types of saved objects. (struct Lisp_Save_Value): New layout. Adjust comments. (XSAVE_POINTER): New macro. (XSAVE_INTEGER): Likewise. (allocate_misc): Add prototype. (free_misc): Likewise. * alloc.c (allocate_misc): Now global. (free_misc): Likewise. Adjust comment. (make_save_value): Use new Lisp_Save_Value layout. Adjust comment. (free_save_value): Likewise. (mark_object): Likewise. * editfns.c (save_excursion_save): Pack everything within Lisp_Save_Value and so avoid xmalloc. (save_excursion_restore): Adjust to match new layout. Use free_misc because we do not allocate extra memory any more. Add eassert. * print.c (print_object): New code to print Lisp_Save_Value. Do not rely on valid_lisp_object_p if !GC_MARK_STACK. Adjust comments. * dired.c, fileio.c, font.c, ftfont.c, gtkutil.c, keymap.c, * lread.c, nsmenu.m, nsterm.h, xfns.c, xmenu.c, xselect.c: Use XSAVE_POINTER and XSAVE_INTEGER where appropriate.
* | | auto upstreamJoakim Verona2013-01-147-56/+124
|\ \ \ | |/ /
| * | Merge from emacs-24; up to 2012-12-10T20:27:33Z!eggert@cs.ucla.eduGlenn Morris2013-01-134-22/+36
| |\ \ | | |/
| | * Fix spelling error.Jan Djärv2013-01-131-1/+1
| | |
| | * * nsfont.m (LCD_SMOOTHING_MARGIN): New define.Jan Djärv2013-01-132-3/+11
| | | | | | | | | | | | | | | | | | (nsfont_draw): Remove disabling of LCD smoothing. (ns_glyph_metrics): Add LCD_SMOOTHING_MARGIN to bearings to fix Bug#11484 with LCD smooting on.
| | * ChangeLog fix (no need to merge to trunk)Glenn Morris2013-01-121-1/+1
| | |
| | * * gtkutil.c (xg_initialize): Backport from trunk.Jan Djärv2013-01-112-0/+7
| | | | | | | | | | | | | | | | | | Add ifdef HAVE_FREETYPE around x_last_font_name. Fixes: debbugs:13403
| | * Backport typo fix from trunk, for AIX.Paul Eggert2013-01-102-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 <http://lists.gnu.org/archive/html/emacs-devel/2012-11/msg00263.html>. Fixes: debbugs:13408
| | * Fix SIGDANGER handlers, for AIX.Paul Eggert2013-01-103-19/+25
| | | | | | | | | | | | | | | | | | | | | * sysdep.c.c (handle_danger_signal, deliver_danger_signal) [SIGDANGER]: Move handlers here from emacs.c; they were out of place. Fixes: debbugs:13408
| * | ChangeLog whitespace triviaGlenn Morris2013-01-131-3/+3
| | |
| * | Add tiny change.Jan Djärv2013-01-111-1/+1
| | |