1. 20 Apr, 2010 2 commits
    • Stefan Monnier's avatar
      * buffer.h (struct buffer): Remove unused var `direction_reversed'. · b4bf28b7
      Stefan Monnier authored
      * buffer.c (init_buffer_once, syms_of_buffer): Remove its initialization.
      * bidi.c (bidi_initialize): Simplify fallback_paragraph_*_re init.
    • Stefan Monnier's avatar
      Make variable forwarding explicit rather the using special values. · ce5b453a
      Stefan Monnier authored
      Basically, this makes the structure of buffer-local values and object
      forwarding explicit in the type of Lisp_Symbols rather than use
      special Lisp_Objects for that.  This tends to lead to slightly more
      verbose code, but is more C-like, simpler, and makes it easier to make
      sure we handled all cases, among other things by letting the compiler
      help us check it.
      * lisp.h (enum Lisp_Misc_Type, union Lisp_Misc):
      Removing forwarding objects.
      (enum Lisp_Fwd_Type, enum symbol_redirect, union Lisp_Fwd): New types.
      (struct Lisp_Symbol): Make the various forms of variable-forwarding
      explicit rather than hiding them inside Lisp_Object "values".
      (XFWDTYPE): New macro.
      (XBUFFER_LOCAL_VALUE): Remove.
      (struct Lisp_Intfwd, struct Lisp_Boolfwd, struct Lisp_Objfwd)
      (struct Lisp_Buffer_Objfwd, struct Lisp_Kboard_Objfwd):
      Remove the Lisp_Misc_* header.
      (struct Lisp_Buffer_Local_Value): Redefine.
      (struct Lisp_Misc_Any): Add filler to get the right size.
      (struct Lisp_Free): Use struct Lisp_Misc_Any rather than struct
      (DEFVAR_KBOARD): Allocate a forwarding object.
      * data.c (do_blv_forwarding, store_blv_forwarding): New macros.
      (let_shadows_global_binding_p): New function.
      (union Lisp_Val_Fwd): New type.
      (make_blv): New function.
      (swap_in_symval_forwarding, indirect_variable, do_symval_forwarding)
      (store_symval_forwarding, swap_in_global_binding, Fboundp)
      (swap_in_symval_forwarding, find_symbol_value, Fset)
      (let_shadows_buffer_binding_p, set_internal, default_value)
      (Fset_default, Fmake_variable_buffer_local, Fmake_local_variable)
      (Fkill_local_variable, Fmake_variable_frame_local)
      (Flocal_variable_p, Flocal_variable_if_set_p)
      * xdisp.c (select_frame_for_redisplay):
      * lread.c (Fintern, Funintern, init_obarray, defvar_int)
      (defvar_bool, defvar_lisp_nopro, defvar_lisp, defvar_kboard):
      * frame.c (store_frame_param):
      * eval.c (Fdefvaralias, Fuser_variable_p, specbind, unbind_to):
      * bytecode.c (Fbyte_code) <varref, varset>: Adapt to the new symbol
      value structure.
      * buffer.c (PER_BUFFER_SYMBOL): Move from buffer.h.
      (clone_per_buffer_values): Only adjust markers into the current buffer.
      (reset_buffer_local_variables): PER_BUFFER_IDX is never -2.
      (Fbuffer_local_value, set_buffer_internal_1)
      Adapt to the new symbol value structure.
      (DEFVAR_PER_BUFFER): Allocate a Lisp_Buffer_Objfwd object.
      (defvar_per_buffer): Take a new arg for the fwd object.
      (buffer_lisp_local_variables): Return a proper alist (different fix
      for bug#4138).
      * alloc.c (Fmake_symbol): Use SET_SYMBOL_VAL.
      (Fgarbage_collect): Don't handle buffer_defaults specially.
      (mark_object): Handle new symbol value structure rather than the old
      special Lisp_Misc_* objects.
      (gc_sweep) <symbols>: Free also the buffer-local-value objects.
      * term.c (set_tty_color_mode):
      * bidi.c (bidi_initialize): Don't access the ->value field directly.
      * buffer.h (PER_BUFFER_VAR_OFFSET): Don't bother with
      a buffer_local_flags.
      * print.c (print_object): Get rid of impossible forwarding objects.
  2. 13 Apr, 2010 1 commit
    • Stefan Monnier's avatar
      Try to detect file modification within the same second. · 58b963f7
      Stefan Monnier authored
      * buffer.h (struct buffer): New field modtime_size.
      * buffer.c (reset_buffer): Initialize it.
      * fileio.c (Finsert_file_contents, Fwrite_region): Set it.
      (Fverify_visited_file_modtime): Check it.
      (Fclear_visited_file_modtime, Fset_visited_file_modtime): Clear it.
      (Fset_visited_file_modtime): Set (or clear) it.
  3. 13 Jan, 2010 1 commit
    • Stefan Monnier's avatar
      Try to fix bug#5314. This is probably not the final word, tho. · 0b5397c2
      Stefan Monnier authored
      * buffer.c (Fset_buffer_modified_p): Try and be careful not to modify
      recent-auto-save-p as a side-effect.
      * buffer.h (BUF_AUTOSAVE_MODIFF): New macro.
      * buffer.c (Fkill_buffer, reset_buffer):
      * editfns.c (Fsubst_char_in_region):
      * fileio.c (Finsert_file_contents, Fdo_auto_save)
      (Fset_buffer_auto_saved, Frecent_auto_save_p): Use it.
  4. 01 Jan, 2010 3 commits
    • Eli Zaretskii's avatar
      Retrospective commit from 2009-11-14. · 6c0cf218
      Eli Zaretskii authored
      Resurrect support for integer values of `cursor' property.
      Rename paragraph-direction to bidi-paragraph-direction.
       xdisp.c (init_iterator, text_outside_line_unchanged_p)
       (try_window_id): Rename paragraph_direction to
       (set_cursor_from_row): Handle integer values of `cursor' property
       on display strings.
       buffer.c (init_buffer_once, syms_of_buffer): Rename
       paragraph_direction to bidi_paragraph_direction.
       buffer.h (struct buffer): Rename paragraph_direction to
    • Eli Zaretskii's avatar
      Retrospective commit from 2009-10-08. · c143c213
      Eli Zaretskii authored
      Finish up working on paragraph's base direction.
      Start working on display of right-to-left glyph rows.
      Rewrite set_cursor_from_row to support bidi.
       xdisp.c (string_buffer_position_lim): New function.
       (string_buffer_position): Most of code moved to
       string_buffer_position_lim.  Last argument and return value are
       now EMACS_INT; all callers changed.
       (set_cursor_from_row): Rewritten to support bidirectional text and
       reversed glyph rows.
       dispextern.h <string_buffer_position>: Update prototype.
       bidi.c (bidi_paragraph_init): Fix initialization of POS.
       dispextern.h (struct glyph_row): New member reversed_p.
       buffer.c (syms_of_buffer): Remove DEFVAR_LISP_NOPRO for
       default-direction-reversed, default-bidi-display-reordering, and
    • Eli Zaretskii's avatar
      Retrospective commit from 2009-10-05. · b44d9321
      Eli Zaretskii authored
      Continue working on paragraph base direction.
      Support per-buffer default paragraph direction.
       buffer.h (struct buffer): New member paragraph_direction.
       buffer.c (init_buffer_once): Initialize it.
       (syms_of_buffer): Declare Lisp variables
       default-paragraph-direction and paragraph-direction.
       dispextern.h (struct it): New member paragraph_embedding.
       xdisp.c (init_iterator): Initialize it from the buffer's value
       of paragraph-direction.
       <Qright_to_left, Qleft_to_right>: New variables.
       (syms_of_xdisp): Initialize and staticpro them.
       (set_iterator_to_next, next_element_from_buffer): Use the value of
       paragraph_embedding to determine the paragraph direction.
       bidi.c (bidi_line_init): Fix second argument to
       (bidi_init_it): Initialize paragraph_dir to NEUTRAL_DIR.
       (bidi_get_next_char_visually): Record the last character of the
       separator in separator_limit, not the character after that.
       (bidi_find_paragraph_start): Accept character and byte positions
       instead of the whole iterator stricture.  All callers changed.
  5. 31 Dec, 2009 2 commits
    • Eli Zaretskii's avatar
      Retrospective commit from 2009-08-15. · f44e260c
      Eli Zaretskii authored
      Start of work on bidi Emacs 23/24.
       bidi.c (bidi_initialize): Fix initialization of bidi_type_table.
       xdisp.c (set_iterator_to_next): Fix position setting after call
       to bidi_get_next_char_visually.
       bidi.c: Include stdio.h unconditionally.  Fix and elaborate
       commentary.  Add Copyright blurb.
    • Eli Zaretskii's avatar
      Retrospective commit. · b7b65b15
      Eli Zaretskii authored
      These are the original changes made by Kenichi Handa on the old
      pre Emacs 22 emacs-bidi branch.
  6. 21 Nov, 2009 1 commit
  7. 18 Oct, 2009 1 commit
    • Stefan Monnier's avatar
      Remove leftover table unibyte_to_multibyte_table. · 4c0354d7
      Stefan Monnier authored
      * character.c (unibyte_to_multibyte_table): Remove.
      (Funibyte_char_to_multibyte): Use MAKE_CHAR_MULTIBYTE.
      * charset.c (init_charset_once): Don't init unibyte_to_multibyte_table.
      * character.h (UNIBYTE_TO_CHAR): New macro.
      (MAKE_CHAR_MULTIBYTE): Use it.
      (unibyte_to_multibyte_table, unibyte_char_to_multibyte): Remove.
      * xdisp.c (get_next_display_element): USE ASCII_CHAR_P.
      (message_dolog, set_message_1):
      * search.c (Freplace_match):
      * editfns.c (Fcompare_buffer_substrings):
      * fns.c (Fcompare_strings): Use MAKE_CHAR_MULTIBYTE.
      * insdel.c (copy_text, count_size_as_multibyte):
      * term.c (produce_glyphs):
      * syntax.c (skip_chars): Use BYTE8_TO_CHAR.
      * regex.c (RE_CHAR_TO_MULTIBYTE):
      * cmds.c (internal_self_insert):
  8. 15 Aug, 2009 1 commit
  9. 16 Jul, 2009 1 commit
  10. 08 Jan, 2009 1 commit
  11. 24 Jun, 2008 1 commit
  12. 15 May, 2008 1 commit
  13. 20 Mar, 2008 2 commits
    • Stefan Monnier's avatar
      * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT. · 6ba7f443
      Stefan Monnier authored
      (set_point, set_point_both): Use EMACS_INT.  Remove `buffer' arg,
      work on current_buffer only instead (that was already the case
      for some of the code anyway).
      * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
      (temp_set_point, temp_set_point_both): Use EMACS_INT.
      (SET_PT, SET_PT_BOTH): Adjust.
      * intervals.h (set_point, temp_set_point, set_point_both)
      (temp_set_point_both): Remove redundant declarations.
    • Stefan Monnier's avatar
      * fileio.c (Finsert_file_contents): · bf1c0f27
      Stefan Monnier authored
      * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
      * buffer.h (BUF_SET_PT): Remove.  set_point_both doesn't work right
      when buffer != current_buffer anyway.
  14. 17 Mar, 2008 1 commit
  15. 26 Feb, 2008 1 commit
  16. 11 Feb, 2008 1 commit
  17. 09 Feb, 2008 1 commit
  18. 07 Feb, 2008 1 commit
  19. 08 Jan, 2008 1 commit
  20. 21 Nov, 2007 1 commit
    • Stefan Monnier's avatar
      * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field. · 64e16c3c
      Stefan Monnier authored
      * data.c (store_symval_forwarding): Get type from buffer_objfwd.
      Update call to buffer_slot_type_mismatch.
      * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
      (buffer_slot_type_mismatch): Update.
      * buffer.c (buffer_local_types): Remove.
      (buffer_slot_type_mismatch): Get the symbol and type as arguments.
      (defvar_per_buffer): Set the type in the buffer_objfwd.
  21. 16 Nov, 2007 1 commit
  22. 02 Oct, 2007 1 commit
    • Stefan Monnier's avatar
      * window.h (struct window): · d0fdb6da
      Stefan Monnier authored
      * window.c (struct save_window_data, struct saved_window):
      * termhooks.h (struct terminal):
      * process.h (struct Lisp_Process):
      * frame.h (struct frame):
      * buffer.h (struct buffer):
      * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
      (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
      The size field of (pseudo)vectors is now unsigned.
      (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
  23. 08 Aug, 2007 1 commit
  24. 25 Jul, 2007 1 commit
  25. 29 Jun, 2007 1 commit
  26. 23 Feb, 2007 1 commit
  27. 21 Jan, 2007 1 commit
  28. 01 Sep, 2006 1 commit
    • Chong Yidong's avatar
      * buffer.h (struct buffer_text): New field chars_modiff. · 3e145152
      Chong Yidong authored
              (CHARS_MODIFF, BUF_CHARS_MODIFF): New macros.
              * buffer.c (Fbuffer_chars_modified_tick): New function returning
              value of BUF_CHARS_MODIFF.
              (syms_of_buffer): Defsubr it.
              (Fget_buffer_create): Initialize BUF_CHARS_MODIFF.
              * insdel.c (modify_region): New argument preserve_chars_modiff.
              Set CHARS_MODIFF to MODIFF provided preserve_chars_modiff is zero.
              (insert_1_both, insert_from_string_1, insert_from_buffer_1)
              (adjust_after_replace, adjust_after_replace_noundo)
              (replace_range, replace_range_2, del_range_2): Reset CHARS_MODIFF.
              * lisp.h (modify_region): Add fourth argument in extern.
              * casefiddle.c (casify_region): Call modify_region with fourth
              argument zero to assert that CHARS_MODIFF is updated.
              * editfns.c (Fsubst_char_in_region, Ftranslate_region_internal)
              (Ftranspose_regions): Likewise.
              * textprop.c (Fadd_text_properties, Fset_text_properties)
              (Fremove_text_properties, Fremove_list_of_text_properties):
              Call modify_region with fourth argument 1 to avoid that
              CHARS_MODIFF is updated.
  29. 18 Jul, 2006 1 commit
    • Dan Nicolaescu's avatar
      * ebrowse.c (usage, version): Mark as NO_RETURN. · 2381d38d
      Dan Nicolaescu authored
      * emacsclient.c (print_help_and_exit): Likewise.
      * xterm.c (x_connection_closed, x_error_quitter): Mark as NO_RETURN.
      * textprop.c (text_read_only): Likewise.
      * lread.c (end_of_file_error): Likewise.
      * lisp.h (circular_list_error, memory_full, buffer_memory_full):
      * eval.c (unwind_to_catch): Likewise.
      * buffer.h (buffer_slot_type_mismatch): Likewise.
  30. 20 Feb, 2006 1 commit
  31. 06 Feb, 2006 1 commit
  32. 07 Aug, 2005 1 commit
  33. 18 Jul, 2005 1 commit
  34. 04 Jul, 2005 1 commit
  35. 02 May, 2005 1 commit