aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
| * Use file-name-coding-system when decoding symlinks on MS-Windows.Eli Zaretskii2013-01-251-0/+2
| | | | | | | | | | src/w32.c (readlink): Use the current file-name-coding-system, not the ANSI codepage, to decode and handle targets of symlinks.
| * Support MS-Windows file names encoded in multibyte encodings.Eli Zaretskii2013-01-251-0/+5
| | | | | | | | | | src/w32.c (w32_get_long_filename, init_environment, readlink): Support file names encoded in DBCS codepages.
* | Make opendir on MS-Windows accept a 'const char *'.Eli Zaretskii2013-01-281-0/+4
| | | | | | | | | | | | src/w32.c (opendir): Now accepts a 'const char *'. nt/inc/dirent.h (opendir): Update prototype.
* | Remove obsolete redisplay code. See the discussion atDmitry Antipov2013-01-281-0/+10
| | | | | | | | | | | | | | | | | | http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00576.html. * dispnew.c (preemption_period, preemption_next_check): Remove. (Vredisplay_preemption_period): Likewise. (update_frame, update_single_window, update_window, update_frame_1): Adjust users. Always assume that PERIODIC_PREEMPTION_CHECKING is not used, following the 2012-06-22 change.
* | * insdel.c (insert_1): Remove.Dmitry Antipov2013-01-251-0/+3
| | | | | | | | | | * lisp.h (insert_1): Remove prototype. * xdisp.c (message_dolog): Adjust users to call insert_1_both.
* | Revert 2013-01-25T10:27:16Z!eliz@gnu.org.Eli Zaretskii2013-01-251-2/+0
| |
* | w32.c (readlink): Support DBCS codepages.Eli Zaretskii2013-01-251-0/+2
| |
* | Update doc string of w32notify-add-watch per discussions in bug #13540.Eli Zaretskii2013-01-251-0/+4
| | | | | | | | src/w32notify.c (Fw32notify_add_watch): Doc fix.
* | * font.c (num_fonts): Remove the leftover from oldDmitry Antipov2013-01-251-1/+6
| | | | | | | | debugging code. Adjust comment style here and there.
* | Merge from emacs-24; up to 2012-12-11T18:52:31Z!monnier@iro.umontreal.caGlenn Morris2013-01-241-0/+17
|\ \ | |/
| * Fix bug #13515 with processing DBCS file names on MS-Windows.Eli Zaretskii2013-01-231-0/+9
| | | | | | | | | | | | | | | | | | src/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.
| * Fix bug #13065 with file selector dialog on Windows 7.Eli Zaretskii2013-01-221-0/+5
| | | | | | | | | | src/w32heap.c (allocate_heap) [!_WIN64]: Decrease the initial request of memory reservation to 1.7GB.
| * Fixes: debbugs:13505Andreas Schwab2013-01-201-0/+5
| | | | | | | | | | * src/coding.c (detect_coding_iso_2022): Move back mis-reordered code at check_extra_latin label.
* | * nsfont.m (ns_escape_name, ns_unescape_name, ns_registry_to_script):Dmitry Antipov2013-01-241-0/+5
| | | | | | | | Avoid redundant calls to strlen.
* | Drop async_visible and async_iconified fields of struct frame.Dmitry Antipov2013-01-241-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is possible because async input is gone; for details, see http://lists.gnu.org/archive/html/emacs-devel/2012-12/msg00734.html. * frame.h (struct frame): Remove async_visible and async_iconified members, convert garbaged to unsigned bitfield. Adjust comments. (FRAME_SAMPLE_VISIBILITY): Remove. Adjust all users. (SET_FRAME_VISIBLE, SET_FRAME_ICONIFIED): New macros. * frame.c, gtkutil.c, term.c, w32fns.c, window.c, xdisp.c: Consistently use SET_FRAME_VISIBLE, SET_FRAME_ICONIFIED, FRAME_VISIBLE_P and FRAME_ICONIFIED_P macros where appropriate. * w32term.c: Ditto. (w32_read_socket): Save iconified state to generate DEICONIFY_EVENT properly. Likewise for obscured. * xterm.c: Ditto. (handle_one_xevent): Save visible state go generate ICONIFY_EVENT properly. * nsterm.m: Ditto. (windowDidDeminiaturize): Generate DEICONIFY_EVENT.
* | * src/insdel.c (prepare_to_modify_buffer): Revert last change as suggestedDmitry Antipov2013-01-241-0/+5
| | | | | | | | | | | | in http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00555.html. * lisp/doc-view.el (doc-view-display): Force mode line update until all document is converted. Suggested by Stefan Monnier (Bug#13164).
* | * src/xdisp.c (message2, message2_nolog): Remove functions.Stefan Monnier2013-01-231-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (message3, message3_nolog): Extract nbytes and multibyteness directly from the string. Change all callers. (message3_nolog): Don't set message_enable_multibyte since set_message will reset it anyway. (message1, message1_nolog): Use message3. (vmessage): Use a stack allocated buffer rather than f->message_buf. (with_echo_area_buffer): Remove last two arguments. Update all callers. (set_message): Drop all but the second arg, which has to be a string. (set_message_1): Simplify now that we know that a1 is NULL and the second arg is a string. * src/frame.h (struct frame): Remove `message_buf' field. Use glyphs_initialized_p instead. (FRAME_MESSAGE_BUF): Remove macro. * src/w16select.c (Fw16_set_clipboard_data): Prefer message3 to message2. * src/lisp.h (message2, message2_nolog): Remove declarations. (message3, message3_nolog): Update declarations. * src/keyboard.c (read_char_minibuf_menu_text) (read_char_minibuf_menu_width): Remove vars. (read_char_minibuf_menu_prompt): Rewrite the menu's construction so as to correctly handle multibyte strings. * src/frame.c (delete_frame): Don't free message_buf any more. * src/editfns.c (message_text, message_length): Remove vars. (Fmessage_box): Don't copy the Lisp string's bytes any longer. * src/fileio.c (auto_save_error): Use message3 instead of message2. * src/dispnew.c (adjust_frame_message_buffer): Remove function.
* | Fix dimensions of maximized frame on MS-Windows.Eli Zaretskii2013-01-231-0/+5
| | | | | | | | | | src/w32term.c (w32fullscreen_hook): Account correctly for the screen real estate used for the tool bar, the menu bar, and scroll bar.
* | * insdel.c (prepare_to_modify_buffer): Force redisplay ifDmitry Antipov2013-01-231-0/+5
| | | | | | | | hidden buffer is prepared to modification (Bug#13164).
* | * window.h (struct window): Change window_end_valid member fromDmitry Antipov2013-01-221-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-221-0/+9
| | | | | | | | | | | | | | | | 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-211-0/+2
| |
* | * fileio.c (Finsert_file_contents): Simplify.Paul Eggert2013-01-211-0/+5
| | | | | | | | Remove unnecessary assignments and tests.
* | Another minor fix in acl_set_file on Windows.Eli Zaretskii2013-01-211-0/+6
| | | | | | | | | | | | 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-211-0/+7
| | | | | | | | | | | | 2013-01-18 in favor of the simpler and generally better fix. Save stack space by removing 'buffer' and reusing 'read_buf' where appropriate.
* | * lisp.h (eabs): Define unconditionally.Paul Eggert2013-01-191-0/+6
| | | | | | | | | | | | | | 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-191-0/+4
|\ \ | |/
| * * src/fns.c (Frandom): Doc fix.Glenn Morris2013-01-161-0/+4
| |
* | Fix crashes with lots of overlays.Eli Zaretskii2013-01-191-0/+10
| | | | | | | | | | | | | | | | | | 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-191-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | 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-191-0/+3
| | | | | | | | | | | | * fileio.c (Fwrite_region): Use O_BINARY in checking code, too. Fixes: debbugs:13149
* | Allow floating-point file offsets.Paul Eggert2013-01-191-0/+9
| | | | | | | | | | | | | | | | | | | | 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-191-0/+5
| | | | | | | | | | | | Fsignal. Fixes: debbugs:13289
* | Make 'fstat' on MS-Windows behave more like 'stat' and 'lstat'.Eli Zaretskii2013-01-191-0/+1
| | | | | | | | src/w32.c (fstat): Return owner and group like 'stat' and 'lstat' do.
* | Minor fix in acl_set_file.Eli Zaretskii2013-01-191-0/+6
| | | | | | | | | | | | 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-181-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-181-0/+5
| | | | | | | | and make it more consistent with other stat-failure diagnostics.
* | Fix crash when inserting data from non-regular files. SeeDmitry Antipov2013-01-181-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | 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-171-0/+8
| | | | | | | | | | | | | | * 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.
* | * lisp.h (toplevel): Add comment about using Lisp_Save_ValueDmitry Antipov2013-01-171-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-171-0/+7
| | | | | | | | | | | | (DECODE_POSITION, BUFFER_CHECK_INDIRECTION): Fix indentation. * buffer.c (toplevel, syms_of_buffer): Drop old commented-out debugging stubs.
* | * src/alloc.c (free_save_value): Now static.Paul Eggert2013-01-151-0/+4
| |
* | * keymap.c (map_keymap_internal): Use format_save_value.Dmitry Antipov2013-01-151-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | (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-151-0/+8
| | | | | | | | | | | | | | | | | | 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-151-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | Avoid needless casts with XSAVE_POINTER.Paul Eggert2013-01-141-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | Fix compilation with GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE.Dmitry Antipov2013-01-141-0/+6
| | | | | | | | | | * 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-141-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | Merge from emacs-24; up to 2012-12-10T20:27:33Z!eggert@cs.ucla.eduGlenn Morris2013-01-131-0/+13
|\ \ | |/
| * Fix spelling error.Jan Djärv2013-01-131-1/+1
| |