aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog (follow)
Commit message (Collapse)AuthorAgeFilesLines
* * 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
| |
| * * nsfont.m (LCD_SMOOTHING_MARGIN): New define.Jan Djärv2013-01-131-0/+7
| | | | | | | | | | | | (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-111-0/+5
| | | | | | | | | | | | Add ifdef HAVE_FREETYPE around x_last_font_name. Fixes: debbugs:13403
| * Backport typo fix from trunk, for AIX.Paul Eggert2013-01-101-0/+6
| | | | | | | | | | | | | | | | | | * 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-101-0/+6
| | | | | | | | | | | | | | * 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
| |
* | Make scroll-bar-adjust-thumb-portion customizable, adjust documentation.Jan Djärv2013-01-111-0/+5
| | | | | | | | | | | | | | * lisp/cus-start.el (all): Add scroll-bar-adjust-thumb-portion. * src/xterm.c (syms_of_xterm): Adjust documentation for scroll-bar-adjust-thumb-portion.
* | Introduce scroll-bar-adjust-thumb-portion.Jan Djärv2013-01-111-0/+9
| | | | | | | | | | | | | | | | | | * xterm.c (scroll-bar-adjust-thumb-portion): New variable to determine whether scroll bar thumb size should be adjusted or not. Use variable for MOTIF. * gtkutil.c (scroll-bar-adjust-thumb-portion): Use variable for GTK.
* | * nsterm.m (keyDown:): Set processingCompose to NO if an emacs keyJan Djärv2013-01-131-0/+4
| | | | | | | | | | event is generated. (doCommandBySelector:): Set processingCompose to NO.
* | * nsfont.m (ns_findfonts): Add block/unblock_input calls.Jan Djärv2013-01-131-0/+9
| | | | | | | | | | | | | | | | Remove check for fkeys count > zero, block/unblock fixes the real bug. (nsfont_list_family): Add block/unblock_input calls. (nsfont_open): Move block_input earlier. Add unblock_input before early return. (nsfont_draw): Add block/unblock_input calls.
* | * indent.c (Fvertical_motion): Remove now-incorrect GCPROsPaul Eggert2013-01-111-0/+5
| | | | | | | | for old_charpos and old_bytepos.
* | Fix bug with set-time-zone-rule and LOCALTIME_CACHE.Paul Eggert2013-01-111-0/+7
| | | | | | | | | | | | | | | | * editfns.c (set_time_zone_rule) [LOCALTIME_CACHE]: Clear tzvalbuf_in_environ if this workaround is in effect. Problem and fix reported by Kazuhiro Ito. Fixes: debbugs:13415
* | Disambiguate function and variable references in docstrings.Aaron S. Hawley2013-01-111-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/comint.el (comint-history-isearch-message): Fix ambiguous doc string cross-reference(s). * lisp/ffap.el (ffap-string-at-point-region, ffap-next) (ffap-string-at-point, ffap-string-around) (ffap-copy-string-as-kill, ffap-highlight-overlay) (ffap-literally): Fix ambiguous doc string cross-reference(s). * lisp/font-lock.el (font-lock-keywords-alist) (font-lock-removed-keywords-alist): Fix ambiguous doc string cross-reference(s). * lisp/help-mode.el (help-xref-symbol-regexp): Add "call" as a hint for a cross-reference to a function. * lisp/info.el (Info-find-emacs-command-nodes): Fix ambiguous doc string cross-reference(s). * lisp/isearch.el (isearch-message-function, isearch-fail-pos): Fix ambiguous doc string cross-reference(s). * lisp/misearch.el (multi-isearch-next-buffer-function): Fix ambiguous doc string cross-reference(s). * lisp/newcomment.el (comment-box): Fix ambiguous doc string cross-reference(s). * lisp/printing.el (pr-txt-printer-alist, pr-ps-printer-alist) (pr-setting-database): Fix ambiguous doc string cross-reference(s). * lisp/ps-print.el (ps-even-or-odd-pages, ps-spool-buffer-with-faces) (ps-n-up-filling-database): Fix ambiguous doc string cross-reference(s). * lisp/server.el (server-buffer, server-log): Fix ambiguous doc string cross-reference(s). * lisp/simple.el (newline, delete-backward-char, delete-forward-char) (minibuffer-history-isearch-message, kill-line, track-eol) (temporary-goal-column): Fix ambiguous doc string cross-reference(s). * lisp/whitespace.el (whitespace-point) (whitespace-font-lock-refontify, whitespace-bob-marker) (whitespace-eob-marker): Fix ambiguous doc string cross-reference(s). * lisp/calc/calc.el (calc-highlight-selections-with-faces) (calc-dispatch): Fix ambiguous doc string cross-reference(s). * lisp/emacs-lisp/edebug.el (edebug-read, edebug-eval-defun): Fix ambiguous doc string cross-reference(s). * lisp/gnus/gnus-start.el (gnus-check-new-newsgroups): Fix ambiguous doc string cross-reference(s). * lisp/gnus/gnus-sum.el (gnus-summary-newsgroup-prefix): Fix ambiguous doc string cross-reference(s). * lisp/international/mule.el (add-to-coding-system-list): Fix ambiguous doc string cross-reference(s). * lisp/progmodes/cc-fonts.el (c-font-lock-keywords-3) (c++-font-lock-keywords-3, objc-font-lock-keywords-3) (java-font-lock-keywords-3, idl-font-lock-keywords-3) (pike-font-lock-keywords-3): Fix ambiguous doc string cross-reference(s). * lisp/progmodes/compile.el (compile): Fix ambiguous doc string cross-reference(s). * lisp/progmodes/etags.el (tags-table-files) (tags-table-files-function, tags-included-tables-function): Fix ambiguous doc string cross-reference(s). * lisp/progmodes/gdb-mi.el (gdb, gdb-setup-windows) (gdb-restore-windows): Fix ambiguous doc string cross-reference(s). * lisp/textmodes/flyspell.el (flyspell-mark-duplications-flag) (flyspell-default-deplacement-commands): Fix ambiguous doc string cross-reference(s). * lisp/textmodes/ispell.el (ispell-accept-output): Fix ambiguous doc string cross-reference(s). * lisp/textmodes/sgml-mode.el (html-tag-help): Fix ambiguous doc string cross-reference(s). * lisp/vc/compare-w.el (compare-ignore-whitespace) (compare-ignore-case, compare-windows-dehighlight): Fix ambiguous doc string cross-reference(s). * lisp/vc/diff.el (diff): Fix ambiguous doc string cross-reference(s). * src/insdel.c (Fcombine_after_change_execute, syms_of_insdel): Fix ambiguous doc string cross-reference(s). * src/keyboard.c (Fcommand_execute, syms_of_keyboard): Fix ambiguous doc string cross-reference(s). * src/window.c (Fwindow_point, syms_of_window): Fix ambiguous doc string cross-reference(s). Fixes: debbugs:12686
* | Avoid unnecessary byte position calculation for the gap movement.Dmitry Antipov2013-01-111-0/+11
| | | | | | | | | | | | | | | | | | | | Since all users of move_gap do CHAR_TO_BYTE for other purposes anyway, all of them should use move_gap_both instead. * lisp.h (move_gap): Remove prototype. * insdel.c (move_gap): Remove. (move_gap_both): Add eassert. * editfns.c (Ftranspose_regions): Tweak to use move_gap_both. * xml.c (parse_region): Likewise.
* | emacsclient -t should not suspend Emacs serverPaul Eggert2013-01-101-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp.h, sysdep.c (block_tty_out_signal, unblock_tty_out_signal): New functions. * term.c (init_tty): Use them instead of rolling our own code. * sysdep.c (tcsetpgrp_without_stopping): Likewise. Here, this switches from 'signal' to 'pthread_sigmask', which is safer in multithreaded applications. * term.c (Fresume_tty): Don't bother dissociating if O_IGNORE_CTTY, which has already arranged for that. (dissociate_if_controlling_tty): If setsid fails, fall back on TIOCNOTTY. This is the main part of the bug fix. Fixes: debbugs:13387
* | * gtkutil.c (xg_initialize): Add ifdef HAVE_FREETYPE aroundJan Djärv2013-01-101-0/+5
| | | | | | | | | | | | x_last_font_name. Fixes: debbugs:13403
* | Omit buffer_slot_type_mismatch and use generic predicates to enforceDmitry Antipov2013-01-101-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the type of per-buffer values where appropriate. * src/lisp.h (struct Lisp_Buffer_Objfwd): Rename slottype member to predicate, which is how it's really used now. Adjust comment. * src/buffer.h (buffer_slot_type_mismatch): Remove prototype. * src/buffer.c (buffer_slot_type_mismatch): Remove. (DEFVAR_PER_BUFFER, defvar_per_buffer): Rename type argument to predicate. Adjust comment. (syms_of_buffer): Use Qsymbolp for major-mode. Use Qintegerp for fill-column, left-margin, tab-width, buffer-saved-size, left-margin-width, right-margin-width, left-fringe-width, right-fringe-width, scroll-bar-width and buffer-display-count. Use Qstringp for default-directory, buffer-file-name, buffer-file-truename and buffer-auto-save-file-name. Use Qfloatp for scroll-up-aggressively and scroll-down-aggressively. Use Qnumberp for line-spacing. * src/data.c (store_symval_forwarding): Adjust to call the predicate. * lisp/cus-start.el (toplevel): Only allow float values for scroll-up-aggressively and scroll-down-aggressively. Allow any number for line-spacing.
* | src/w32.c, src/w32term.c: Remove unused local variables.Juanma Barranquero2013-01-091-0/+5
| |