1. 06 Aug, 2012 3 commits
    • Dmitry Antipov's avatar
      Separate read and write access to Lisp_Object slots of struct window. · 077288cf
      Dmitry Antipov authored
      * window.h (WGET, WSET): New macros similar to AREF and ASET.
      * alloc.c, buffer.c, composite.c, dispextern.h, dispnew.c, editfns.c:
      * fileio.c, font.c, fontset.c, frame.c, frame.h, fringe.c, indent.c:
      * insdel.c, keyboard.c, keymap.c, lisp.h, minibuf.c, msdos.c, nsfns.m:
      * nsmenu.m, nsterm.m, print.c, textprop.c, w32fns.c, w32menu.c:
      * w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c:
      Adjust users.
      077288cf
    • Dmitry Antipov's avatar
      Fix replacement typo. · f99bac93
      Dmitry Antipov authored
      * window.c (replace_window): Set root_window instead of
      selected_window.  This fixes a total window subsystem
      malfunction reported by Bastien Guerry <bzg@gnu.org>.
      f99bac93
    • Dmitry Antipov's avatar
      Separate read and write access to Lisp_Object slots of struct frame. · edd74c35
      Dmitry Antipov authored
      * frame.h (FGET, FSET): New macros similar to AREF and ASET.
      * buffer.c, data.c, dispnew.c, dosfns.c, eval.c, fontset.c, frame.c:
      * fringe.c, gtkutil.c, minibuf.c, msdos.c, nsfns.m, nsmenu.m, nsterm.m:
      * print.c, term.c, w32fns.c, w32menu.c, w32term.c, window.c, window.h:
      * xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Adjust users.
      edd74c35
  2. 05 Aug, 2012 1 commit
    • Dmitry Antipov's avatar
      Generalize common compile-time constants. · 663e2b3f
      Dmitry Antipov authored
      * lisp.h (header_size, bool_header_size, word_size): Now here.
      (struct Lisp_Vector): Add comment.
      (struct Lisp_Bool_Vector): Move up to define handy constants.
      (VECSIZE, PSEUDOVECSIZE): Simplify.
      (SAFE_ALLOCA_LISP): Use new constant.  Adjust indentation.
      * buffer.c, buffer.h, bytecode.c, callint.c, eval.c, fns.c:
      * font.c, fontset.c, keyboard.c, keymap.c, macros.c, menu.c:
      * msdos.c, w32menu.c, w32term.h, window.c, xdisp.c, xfaces.c:
      * xfont.c, xmenu.c: Use word_size where appropriate.
      663e2b3f
  3. 01 Aug, 2012 1 commit
    • Dmitry Antipov's avatar
      Use INTERNAL_FIELD for windows. · 3a45383a
      Dmitry Antipov authored
      * src/window.h (WVAR): New macro.
      (struct window): Change Lisp_Object members to INTERNAL_FIELD.
      * src/alloc.c, src/buffer.c, src/composite.c, src/dispextern.h:
      * src/dispnew.c, src/editfns.c, src/fileio.c, src/font.c, src/fontset.c:
      * src/frame.c, src/frame.h, src/fringe.c, src/indent.c, src/insdel.c:
      * src/keyboard.c, src/keymap.c, src/lisp.h, src/minibuf.c, src/nsterm.m:
      * src/print.c, src/textprop.c, src/w32fns.c, src/w32menu.c, src/w32term.c:
      * src/window.c, src/xdisp.c, src/xfaces.c, src/xfns.c, src/xmenu.c:
      * src/xterm.c: Users changed.
      * admin/coccinelle/window.cocci: Semantic patch to replace direct
      access to Lisp_Object members of struct window to WVAR.
      3a45383a
  4. 31 Jul, 2012 1 commit
    • Dmitry Antipov's avatar
      Generalize INTERNAL_FIELD between buffers, keyboards and frames. · e34f7f79
      Dmitry Antipov authored
      * src/lisp.h (INTERNAL_FIELD): New macro.
      * src/buffer.h (BUFFER_INTERNAL_FIELD): Removed.
      (BVAR): Change to use INTERNAL_FIELD.
      * src/keyboard.h (KBOARD_INTERNAL_FIELD): Likewise.
      (KVAR): Change to use INTERNAL_FIELD.
      * src/frame.h (FVAR): New macro.
      (struct frame): Use INTERNAL_FIELD for all Lisp_Object fields.
      * src/alloc.c, src/buffer.c, src/data.c, src/dispnew.c, src/dosfns.c
      * src/eval.c, src/frame.c, src/fringe.c, src/gtkutil.c, src/minibuf.c
      * src/nsfns.m, src/nsterm.m, src/print.c, src/term.c, src/w32fns.c
      * src/w32menu.c, src/w32term.c, src/window.c, src/window.h, src/xdisp.c
      * src/xfaces.c, src/xfns.c, src/xmenu.c, src/xterm.c: Users changed.
      * admin/coccinelle/frame.cocci: Semantic patch to replace direct
      access to Lisp_Object members of struct frame to FVAR.
      e34f7f79
  5. 23 Jul, 2012 1 commit
  6. 21 Jul, 2012 1 commit
  7. 19 Jul, 2012 1 commit
  8. 10 Jul, 2012 1 commit
    • Dmitry Antipov's avatar
      Use XCAR and XCDR instead of Fcar and Fcdr where possible. · 7d7bbefd
      Dmitry Antipov authored
      * admin/coccinelle/list_loop.cocci: Semantic patch to convert from Fcdr
      to XCDR and consistently use CONSP in the list iteration loops.
      * admin/coccinelle/vector_contents.cocci: Fix indentation.
      * src/callint.c, src/coding.c, src/doc.c, src/editfns.c, src/eval.c,
      * src/font.c, src/fontset.c, src/frame.c, src/gnutls.c, src/minibuf.c,
      * src/msdos.c, src/textprop.c, src/w32fns.c, src/w32menu.c, src/window.c,
      * src/xmenu.c: Changed to use XCAR and XCDR where argument type is known
      to be a Lisp_Cons.
      7d7bbefd
  9. 06 Jul, 2012 1 commit
    • Dmitry Antipov's avatar
      Introduce fast path for the widely used marker operation. · 657924ff
      Dmitry Antipov authored
      * alloc.c (build_marker): New function.
      * lisp.h (build_marker): New prototype.
      * buffer.c (clone_per_buffer_values, Fmake_indirect_buffer): Use it.
      * composite.c (autocmp_chars): Likewise.
      * editfns.c (buildmark): Remove.
      (Fpoint_marker, Fpoint_min_marker, Fpoint_max_marker)
      (save_restriction_save): Use build_marker.
      * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos): Likewise.
      * window.c (save_window_save): Likewise.
      657924ff
  10. 05 Jul, 2012 1 commit
    • Paul Eggert's avatar
      More xmalloc and related cleanup. · 38182d90
      Paul Eggert authored
      * alloc.c, bidi.c, buffer.c, buffer.h, bytecode.c, callint.c:
      * callproc.c, charset.c, coding.c, composite.c, data.c, dispnew.c:
      * doc.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fns.c:
      * font.c, fontset.c, frame.c, fringe.c, ftfont.c, ftxfont.c, gmalloc.c:
      * gtkutil.c, image.c, keyboard.c, keymap.c, lread.c, macros.c, menu.c:
      * nsfns.m, nsfont.m, nsmenu.m, nsterm.m, print.c, process.c, ralloc.c:
      * regex.c, region-cache.c, scroll.c, search.c, sound.c, syntax.c:
      * sysdep.c, term.c, termcap.c, unexmacosx.c, window.c, xdisp.c:
      * xfaces.c, xfns.c, xftfont.c, xgselect.c, xmenu.c, xrdb.c, xselect.c:
      * xterm.c:
      Omit needless casts involving void * pointers and allocation.
      Prefer "P = xmalloc (sizeof *P)" to "P = xmalloc (sizeof (TYPE_OF_P))",
      as the former is more robust if P's type is changed.
      Prefer xzalloc to xmalloc + memset 0.
      Simplify malloc-or-realloc to realloc.
      Don't worry about xmalloc returning a null pointer.
      Prefer xstrdup to xmalloc + strcpy.
      * editfns.c (Fmessage_box): Grow message_text by at least 80 when
      growing it.
      * keyboard.c (apply_modifiers_uncached): Prefer local array to
      alloca of a constant.
      38182d90
  11. 04 Jul, 2012 2 commits
  12. 03 Jul, 2012 1 commit
    • Tom Tromey's avatar
      Auto-generate EXFUN using make-docfile · 404dbd37
      Tom Tromey authored
      src
      	* window.c (Fset_window_margins, Fset_window_fringes)
      	(Fset_window_scroll_bars, Fset_window_vscroll): No longer static.
      	* textprop.c (Fprevious_property_change): No longer static.
      	* syntax.c (Fsyntax_table_p): No longer static.
      	* process.c (Fget_process, Fprocess_datagram_address): No longer
      	static.
      	* keymap.c (Flookup_key, Fcopy_keymap): No longer static.
      	* keyboard.c (Fcommand_execute): No longer static.
      	Remove EXFUN.
      	* insdel.c (Fcombine_after_change_execute): No longer static.
      	* image.c (Finit_image_library): No longer static.
      	* fileio.c (Fmake_symbolic_link): No longer static.
      	* eval.c (Ffetch_bytecode): No longer static.
      	* editfns.c (Fuser_full_name): No longer static.
      	* doc.c: (Fdocumentation_property, Fsnarf_documentation): No
      	longer static.
      	* buffer.c (Fset_buffer_major_mode, Fdelete_overlay): No longer
      	static.
      	* dired.c (Ffile_attributes): No longer static.
      	* composite.c (Fcomposition_get_gstring): No longer static.
      	* callproc.c (Fgetenv_internal): No longer static.
      
      	* ccl.h: Remove EXFUNs.
      	* buffer.h: Remove EXFUNs.
      	* dispextern.h: Remove EXFUNs.
      	* intervals.h: Remove EXFUNs.
      	* fontset.h: Remove EXFUN.
      	* font.h: Remove EXFUNs.
      	* dosfns.c (system_process_attributes): Remove EXFUN.
      	* keymap.h: Remove EXFUNs.
      	* lisp.h: Remove EXFUNs.
      	* w32term.h: Remove EXFUNs.
      	* window.h: Remove EXFUNs.
      	* xsettings.h: Remove EXFUN.
      	* xterm.h: Remove EXFUN.
      
      lib-src
      	* make-docfile.c (enum global_type) <FUNCTION>: New constant.
      	(struct global) <value>: New field.
      	(add_global): Add 'value' argument.
      	(compare_globals): Sort functions at the end.
      	(close_emacs_globals): New function.
      	(write_globals): Handle functions.
      	(scan_c_file): Call add_global for DEFUN.
      404dbd37
  13. 30 Jun, 2012 1 commit
  14. 29 Jun, 2012 1 commit
    • Dmitry Antipov's avatar
      * lisp/fringe.el (fringe-mode): Doc fix. · 2af3565e
      Dmitry Antipov authored
      * src/window.h (struct window): Change type of 'fringes_outside_margins'
      to bitfield.  Fix comment.  Adjust users accordingly.
      (struct window): Change type of 'window_end_bytepos' to ptrdiff_t.
      Adjust comment.
      * src/xdisp.c (try_window_id): Change type of 'first_vpos' and 'vpos'
      to ptrdiff_t.
      2af3565e
  15. 28 Jun, 2012 4 commits
    • Paul Eggert's avatar
      Avoid integer overflow on scroll-left and scroll-right. · aa754e6a
      Paul Eggert authored
      * window.c (HSCROLL_MAX): New macro.
      (Fscroll_left, Fscroll_right): Avoid undefined behavior on integer
      overflow when requested scroll falls outside ptrdiff_t range.
      aa754e6a
    • Dmitry Antipov's avatar
      * window.h (struct window): Change type of 'hscroll', · 80b00b08
      Dmitry Antipov authored
      'min_hscroll' and 'last_point' from Lisp_Object to ptrdiff_t,
      'last_modified' and 'last_overlay_modified' to EMACS_INT.
      Adjust users accordingly.
      * xdisp.c (try_cursor_movement): Replace type check with eassert.
      * window.c (Fscroll_left, Fscroll_right): Change type of 'hscroll'
      from EMACS_INT to ptrdiff_t.
      (make_window): Omit redundant initialization.
      80b00b08
    • Dmitry Antipov's avatar
      * window.h (struct window): Change type of 'use_time' and · 45942c7d
      Dmitry Antipov authored
      'sequence_number' from Lisp_Object to int.
      * frame.c (make_frame): Adjust users accordingly.
      * print.c (print_object): Likewise.
      * window.c (select_window, Fwindow_use_time, make_parent_window)
      (make_window): Likewise.
      45942c7d
    • Dmitry Antipov's avatar
      Generalize run-time debugging checks. · a54e2c05
      Dmitry Antipov authored
      * configure.in (ENABLE_CHECKING): Update comment.
      * src/dispextern.h (XASSERTS): Remove.
      * src/fontset.c (xassert): Remove.
      Convert from xassert to eassert.
      * src/alloc.c: Convert from xassert to eassert.
      * src/bidi.c: Likewise.
      * src/dispnew.c: Likewise.
      * src/fns.c: Likewise.
      * src/fringe.c: Likewise.
      * src/ftfont.c: Likewise.
      * src/gtkutil.c: Likewise.
      * src/image.c: Likewise.
      * src/keyboard.c: Likewise.
      * src/menu.c: Likewise.
      * src/process.c: Likewise.
      * src/scroll.c: Likewise.
      * src/sound.c: Likewise.
      * src/term.c: Likewise.
      * src/w32console.c: Likewise.
      * src/w32fns.c: Likewise.
      * src/w32term.c: Likewise.
      * src/window.c: Likewise.
      * src/xdisp.c: Likewise.
      * src/xfaces.c: Likewise.
      * src/xfns.c: Likewise.
      * src/xselect.c: Likewise.
      * src/xterm.c: Likewise.
      a54e2c05
  16. 26 Jun, 2012 1 commit
    • Dmitry Antipov's avatar
      * alloc.c (allocate_window): Zero out non-Lisp part of newly · 62efea5e
      Dmitry Antipov authored
      allocated window.
      (allocate_process): Likewise for new process.
      (allocate_terminal): Changed to use offsetof.
      (allocate_frame): Likewise.
      * frame.c (make_frame): Omit redundant initialization.
      * window.c (make_parent_window): Use memset.
      (make_window): Omit redundant initialization.
      * process.c (make_process): Omit redundant initialization.
      * terminal.c (create_terminal): Likewise.
      62efea5e
  17. 19 Jun, 2012 1 commit
  18. 16 Jun, 2012 2 commits
    • Andreas Schwab's avatar
      * buffer.h (FETCH_MULTIBYTE_CHAR): Define as inline. · e5560ff7
      Andreas Schwab authored
      (BUF_FETCH_MULTIBYTE_CHAR): Likewise.
      * character.c (_fetch_multibyte_char_p): Remove.
      * alloc.c: Include "character.h" before "buffer.h".
      * bidi.c: Likewise.
      * buffer.c: Likewise.
      * bytecode.c: Likewise.
      * callint.c: Likewise.
      * callproc.c: Likewise.
      * casefiddle.c: Likewise.
      * casetab.c: Likewise.
      * category.c: Likewise.
      * cmds.c: Likewise.
      * coding.c: Likewise.
      * composite.c: Likewise.
      * dired.c: Likewise.
      * dispnew.c: Likewise.
      * doc.c: Likewise.
      * dosfns.c: Likewise.
      * editfns.c: Likewise.
      * emacs.c: Likewise.
      * fileio.c: Likewise.
      * filelock.c: Likewise.
      * font.c: Likewise.
      * fontset.c: Likewise.
      * fringe.c: Likewise.
      * indent.c: Likewise.
      * insdel.c: Likewise.
      * intervals.c: Likewise.
      * keyboard.c: Likewise.
      * keymap.c: Likewise.
      * lread.c: Likewise.
      * macros.c: Likewise.
      * marker.c: Likewise.
      * minibuf.c: Likewise.
      * nsfns.m: Likewise.
      * nsmenu.m: Likewise.
      * print.c: Likewise.
      * process.c: Likewise.
      * regex.c: Likewise.
      * region-cache.c: Likewise.
      * search.c: Likewise.
      * syntax.c: Likewise.
      * term.c: Likewise.
      * textprop.c: Likewise.
      * undo.c: Likewise.
      * unexsol.c: Likewise.
      * w16select.c: Likewise.
      * w32fns.c: Likewise.
      * w32menu.c: Likewise.
      * window.c: Likewise.
      * xdisp.c: Likewise.
      * xfns.c: Likewise.
      * xmenu.c: Likewise.
      * xml.c: Likewise.
      * xselect.c: Likewise.
      e5560ff7
    • Eli Zaretskii's avatar
      Fix bug #11677 with segfault when deleting windows under -batch. · 4c5501e9
      Eli Zaretskii authored
       src/window.c (Fdelete_other_windows_internal)
       (Fdelete_window_internal): Don't access frame's mouse highlight
       info of the initial frame.
      4c5501e9
  19. 01 Jun, 2012 1 commit
    • Dmitry Antipov's avatar
      For a 'struct window', replace some Lisp_Object fields to · c98ff5dd
      Dmitry Antipov authored
      bitfields where appropriate, remove unused fields.
      * window.h (struct window): Remove unused 'last_mark_x' and
      'last_mark_y' fields.  Rename 'mini_p' field to 'mini',
      change it's type from Lisp_Object to bitfield.
      Change type of 'force_start', 'optional_new_start',
      'last_had_star', 'update_mode_line' and 'start_at_line_beg'
      fields from Lisp_Object to bitfield. Adjust users accordingly.
      c98ff5dd
  20. 23 Apr, 2012 1 commit
    • Eli Zaretskii's avatar
      Avoid assertion violation when scrolling minibuffer windows. · f0ee99a0
      Eli Zaretskii authored
       src/xdisp.c (pos_visible_p): If the window start position is beyond
       ZV, start the display from buffer beginning.  Prevents assertion
       violation in init_iterator when the minibuffer window is scrolled
       via the scroll bar.
       src/window.c (window_scroll_pixel_based): Likewise.
      f0ee99a0
  21. 11 Apr, 2012 1 commit
  22. 31 Mar, 2012 1 commit
  23. 12 Mar, 2012 1 commit
    • Chong Yidong's avatar
      Rename inhibit_window_configuration_change_hook to inhibit_lisp_code. · d1f55f16
      Chong Yidong authored
      This is a tweak to 2012-02-23T07:28:21Z!cyd@gnu.org, suggested by Stefan.
      
      * eval.c (inhibit_lisp_code): Rename from
      inhibit_window_configuration_change_hook; move from window.c.
      
      * xfns.c (unwind_create_frame_1, Fx_create_frame):
      * window.c (run_window_configuration_change_hook)
      (syms_of_window): Callers changed.
      d1f55f16
  24. 23 Feb, 2012 2 commits
  25. 12 Feb, 2012 1 commit
  26. 19 Jan, 2012 1 commit
    • Martin Rudalics's avatar
      Fix handling of persistent window parameters. · 34a02f46
      Martin Rudalics authored
      * window.c (save_window_save, Fcurrent_window_configuration)
      (Vwindow_persistent_parameters): Do not use Qstate.  Rewrite
      doc-strings.
      * window.el (window--state-get-1, window-state-get): Do not use
      special state value for window-persistent-parameters.  Rename
      argument IGNORE to WRITABLE.  Rewrite doc-string.
      (window--state-put-2): Reset all window parameters to nil before
      assigning values of persistent parameters.
      * windows.texi (Window Configurations): Rewrite references to
      persistent window parameters.
      (Window Parameters): Fix description of persistent window
      parameters.
      34a02f46
  27. 16 Jan, 2012 1 commit
    • Martin Rudalics's avatar
      Provide persistent window parameters. · 6a6ee00d
      Martin Rudalics authored
      * window.c (Vwindow_persistent_parameters): New variable.
      (Fset_window_configuration, save_window_save): Handle persistent
      window parameters.
      
      * window.el (window-state-ignored-parameters): Remove variable.
      (window--state-get-1): Rename argument MARKERS to IGNORE.
      Handle persistent window parameters.  Make copy of clone-of
      parameter only if requested.  (Bug#10348)
      (window--state-put-2): Install a window parameter only if it has
      a non-nil value or an existing parameter shall be overwritten.
      
      * windows.texi (Window Configurations, Window Parameters):
      Describe persistent window parameters.
      6a6ee00d
  28. 11 Jan, 2012 1 commit
  29. 05 Jan, 2012 1 commit
  30. 13 Dec, 2011 3 commits