1. 23 Aug, 2013 4 commits
    • Paul Eggert's avatar
      Don't let very long directory names overrun the stack. · c365c355
      Paul Eggert authored
      Fix some related minor problems involving "//", vfork.
      * callproc.c (encode_current_directory): New function.
      (call_process): Don't append "/"; not needed.
      * fileio.c (file_name_as_directory_slop): New constant.
      (file_name_as_directory): Allow SRC to be longer than SRCLEN;
      this can save the caller having to alloca.
      (Ffile_name_as_directory, Fdirectory_file_name, Fexpand_file_name):
      Use SAFE_ALLOCA, not alloca.
      (directory_file_name, Fexpand_file_name): Leave leading "//"
      alone, since it can be special even on POSIX platforms.
      * callproc.c (call_process):
      * process.c (Fformat_network_address):
      * sysdep.c (sys_subshell):
      Use encode_current_directory rather than rolling our own.
      (create_process): No need to encode directory; caller does that now.
      * process.h (encode_current_directory): New decl.
      * sysdep.c (sys_subshell): Work even if vfork trashes saved_handlers.
      Rework to avoid 'goto xyzzy;'.
      c365c355
    • Eli Zaretskii's avatar
      Fix bug #15155 with ignoring face remapping for strings from prefix properties. · 6c6014d4
      Eli Zaretskii authored
       src/xdisp.c (handle_face_prop): If the default face was remapped use
       the remapped face for strings from prefix properties.
      6c6014d4
    • Dmitry Antipov's avatar
      Minor cleanup for redisplay interface and few related functions. · 9997ec56
      Dmitry Antipov authored
      * frame.h (enum text_cursor_kinds): Move from here...
      * dispextern.h (enum text_cursor_kinds): ...to here.
      (toplevel): Drop unnecessary declarations.
      (struct redisplay_interface): Use bool and enum text_cursor_kinds
      in update_window_end_hook and draw_window_cursor functions.
      (display_and_set_cursor, x_update_cursor): Adjust prototypes.
      * nsterm.m (ns_update_window_end, ns_draw_window_cursor):
      * w32term.c (x_update_window_end,w32_draw_window_cursor):
      * xterm.c (x_update_window_end, x_draw_window_cursor):
      * xdisp.c (display_and_set_cursor, update_window_cursor)
      (update_cursor_in_window_tree, x_update_cursor): Use bool and
      enum text_cursor_kinds where appropriate.
      9997ec56
    • Dmitry Antipov's avatar
      Redesign redisplay interface to drop updated_row and updated_area. · 7f780da6
      Dmitry Antipov authored
      * dispextern.h (updated_row, updated_area): Remove declaration.
      (struct redisplay_interface): Pass glyph row and row area parameters
      to write_glyphs, insert_glyphs and clear_end_of_line functions.
      (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
      Adjust prototypes.
      * dispnew.c (updated_row, updated_area): Remove.
      (redraw_overlapped_rows, update_window_line): Adjust user.
      (update_marginal_area, update_text_area): Likewise.  Pass updated row
      as a parameter.  Prefer enum glyph_row_area to int where appropriate.
      * xdisp.c (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
      Adjust users.
      7f780da6
  2. 22 Aug, 2013 1 commit
  3. 21 Aug, 2013 3 commits
  4. 20 Aug, 2013 2 commits
  5. 19 Aug, 2013 6 commits
  6. 18 Aug, 2013 2 commits
  7. 17 Aug, 2013 1 commit
  8. 16 Aug, 2013 6 commits
  9. 15 Aug, 2013 14 commits
  10. 14 Aug, 2013 1 commit