1. 17 Aug, 2012 12 commits
    • Paul Eggert's avatar
      * frame.h (FSET): Remove (Bug#12215). · f00af5b1
      Paul Eggert authored
      Replace all uses with calls to new setter functions.
      Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
      (FRAME_INLINE): New macro.
      (fset_buffer_list, fset_buried_buffer_list, fset_condemned_scroll_bars)
      (fset_current_tool_bar_string, fset_desired_tool_bar_string)
      (fset_face_alist, fset_focus_frame, fset_icon_name, fset_menu_bar_items)
      (fset_menu_bar_vector, fset_menu_bar_window, fset_name)
      (fset_param_alist, fset_root_window, fset_scroll_bars)
      (fset_selected_window, fset_title, fset_tool_bar_items)
      (fset_tool_bar_position, fset_tool_bar_window): New functions.
      * frame.c (FRAME_INLINE):
      Define to EXTERN_INLINE, so that the corresponding functions
      are compiled into code.
      (fset_buffer_predicate, fset_minibuffer_window): New setter functions.
      f00af5b1
    • Paul Eggert's avatar
      A few more naming-convention fixes for getters and setters. · 0c94c8d6
      Paul Eggert authored
      * buffer.c (set_buffer_overlays_before): Move here from buffer.h,
      and rename from buffer_overlays_set_before.
      (set_buffer_overlays_after): Move here from buffer.h, and rename
      from buffer_overlays_set_after.
      * buffer.h (buffer_intervals): Rename from buffer_get_intervals.
      All uses changed.
      (set_buffer_intervals): Rename from buffer_set_intervals.
      * intervals.c (set_interval_object): Move here from intervals.h,
      and rename from interval_set_object.
      (set_interval_left): Move here from intervals.h, and rename from
      interval_set_left.
      (set_interval_right): Move here from intervals.h, and rename from
      interval_set_right.
      (copy_interval_parent): Move here from intervals.h, and rename from
      interval_copy_parent.
      * intervals.h (set_interval_parent): Rename from interval_set_parent.
      (set_interval_plist): Rename from interval_set_plist.
      Return void, not Lisp_Object, since no caller uses the result.
      * lisp.h (string_intervals): Rename from string_get_intervals.
      (set_string_intervals): Rename from string_set_intervals.
      0c94c8d6
    • Paul Eggert's avatar
      Fix typo in ChangeLog entry. · 0b390a9d
      Paul Eggert authored
      0b390a9d
    • Paul Eggert's avatar
      * lisp.h (set_char_table_extras): Rename from char_table_set_extras. · 34dabdb7
      Paul Eggert authored
      (set_char_table_contents): Rename from char_table_set_contents.
      (set_sub_char_table_contents): Rename from sub_char_table_sub_contents.
      All uses changed.  See the end of
      <http://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00549.html>.
      34dabdb7
    • Paul Eggert's avatar
      Fix ChangeLog typo. · c24eb18a
      Paul Eggert authored
      c24eb18a
    • Paul Eggert's avatar
      * lisp.h (CSET): Remove. · 742af32f
      Paul Eggert authored
      (set_char_table_ascii, set_char_table_defalt, set_char_table_parent)
      (set_char_table_purpose): New functions,
      replacing CSET.  All uses changed.  For example, replace
      "CSET (XCHAR_TABLE (char_table), parent, parent);" with
      "char_table_set_parent (char_table, parent);".
      The old version was confusing because it used the same name
      'parent' for two different things.
      
      Fixes: debbugs:12215
      742af32f
    • Dmitry Antipov's avatar
      Functions to get and set Lisp_Object fields of buffer-local variables. · a04e2c62
      Dmitry Antipov authored
      * lisp.h (blv_found, set_blv_found, blv_value, set_blv_value)
      (set_blv_where, set_blv_defcell, set_blv_valcell): New functions.
      (BLV_FOUND, SET_BLV_FOUND, BLV_VALUE, SET_BLV_VALUE): Remove.
      * data.c, eval.c, frame.c: Adjust users.
      a04e2c62
    • Chong Yidong's avatar
      Allow face-remapping using :font, and use it in mouse-appearance-menu. · 383dcbf9
      Chong Yidong authored
      * mouse.el (mouse-appearance-menu): If x-select-font returns a
      font spec, set the font directly.
      
      * xfaces.c (merge_face_vectors): If the target font specfies a
      font spec, make the font's attributes take precedence over
      directly-specified attributes.
      (merge_face_ref): Recognize :font.
      
      Fixes: debbugs:3228
      383dcbf9
    • Dmitry Antipov's avatar
      Do not use memcpy for copying intervals. · 44386687
      Dmitry Antipov authored
      * intervals.c (reproduce_interval): New function.
      (reproduce_tree, reproduce_tree_obj): Use it.
      (reproduce_tree_obj): Remove prototype.
      44386687
    • Paul Eggert's avatar
      927c7216
    • Alp Aker's avatar
      * nsfont.m (ns_ascii_average_width): Send initWithFormat selector · 93044f7b
      Alp Aker authored
      to an allocated instance of NSString, not to the class itself.
      93044f7b
    • Juanma Barranquero's avatar
      * lib-src/makefile.w32-in ($(BLD)/regex.$(O)): Update dependencies. · 9851e4a5
      Juanma Barranquero authored
      * src/makefile.w32-in (C_CTYPE_H): New macro.
      (LISP_H, $(BLD)/ccl.$(O), $(BLD)/doc.$(O), $(BLD)/w32console.$(O)):
      ($(BLD)/fontset.$(O), $(BLD)/frame.$(O), $(BLD)/composite.$(O)):
      ($(BLD)/sysdep.$(O), $(BLD)/w32uniscribe.$(O)): Update dependencies.
      9851e4a5
  2. 16 Aug, 2012 7 commits
    • Paul Eggert's avatar
      Use ASCII tests for character types. · 620f13b0
      Paul Eggert authored
      * admin/merge-gnulib (GNULIB_MODULES): Add c-ctype.
      * lwlib/lwlib-Xaw.c, lwlib/lwlib.c, lwlib/xlwmenu.c:
      Don't include <ctype.h>; no longer needed.
      * lwlib/lwlib-Xaw.c (openFont):
      * lwlib/xlwmenu.c (openXftFont): Test just for ASCII digits.
      * src/category.c, src/dispnew.c, src/doprnt.c, src/editfns.c, src/syntax.c
      * src/term.c, src/xfns.c, src/xterm.c:
      Don't include <ctype.h>; was not needed.
      * src/charset.c, src/doc.c, src/fileio.c, src/font.c, src/frame.c:
      * src/gtkutil.c, src/image.c, src/sysdep.c, src/xfaces.c:
      Include <c-ctype.h> instead of <ctype.h>.
      * src/nsterm.m: Include <c-ctype.h>.
      * src/charset.c (read_hex):
      * src/doc.c (Fsnarf_documentation):
      * src/fileio.c (IS_DRIVE) [WINDOWSNT]:
      (DRIVE_LETTER) [DOS_NT]:
      (Ffile_name_directory, Fexpand_file_name)
      (Fsubstitute_in_file_name):
      * src/font.c (font_parse_xlfd, font_parse_fcname):
      * src/frame.c (x_set_font_backend):
      * src/gtkutil.c (xg_get_font):
      * src/image.c (xbm_scan, xpm_scan, pbm_scan_number):
      * src/nsimage.m (hexchar):
      * src/nsterm.m (ns_xlfd_to_fontname):
      * src/sysdep.c (system_process_attributes):
      * src/xfaces.c (hash_string_case_insensitive):
      Use C-locale tests instead of locale-specific tests for character
      types, since we want the ASCII interpretation here, not the
      interpretation suitable for whatever happens to be the current locale.
      620f13b0
    • Martin Rudalics's avatar
      Consistently check windows for validity/liveness (Bug#11984, Bug#12025, Bug#12026). · 52162052
      Martin Rudalics authored
      * lisp.h (CHECK_VALID_WINDOW): New macro.
      * window.c (decode_window): Rename to decode_live_window.
      (decode_valid_window, Fwindow_valid_p): New functions.
      (Fwindow_frame, Fframe_root_window, Fwindow_minibuffer_p)
      (Fframe_first_window, Fframe_selected_window, Fwindow_parent)
      (Fwindow_top_child, Fwindow_left_child, Fwindow_next_sibling)
      (Fwindow_prev_sibling, Fwindow_combination_limit)
      (Fset_window_combination_limit, Fwindow_use_time)
      (Fwindow_total_height, Fwindow_total_width, Fwindow_new_total)
      (Fwindow_normal_size, Fwindow_new_normal, Fwindow_left_column)
      (Fwindow_top_line, Fwindow_body_height, Fwindow_body_width)
      (Fwindow_hscroll, Fset_window_hscroll)
      (Fwindow_redisplay_end_trigger)
      (Fset_window_redisplay_end_trigger, Fwindow_edges)
      (Fwindow_pixel_edges, Fwindow_absolute_pixel_edges)
      (Fwindow_inside_edges, Fwindow_inside_pixel_edges)
      (Fcoordinates_in_window_p, Fwindow_point, Fwindow_start)
      (Fwindow_end, Fset_window_point, Fset_window_start)
      (Fpos_visible_in_window_p, Fwindow_line_height)
      (Fwindow_dedicated_p, Fset_window_dedicated_p)
      (Fwindow_prev_buffers, Fset_window_prev_buffers)
      (Fwindow_next_buffers, Fwindow_parameters, Fwindow_parameter)
      (Fset_window_parameter, Fwindow_display_table)
      (Fset_window_display_table, Fdelete_other_windows_internal)
      (Fset_window_buffer, Fset_window_new_total)
      (Fset_window_new_normal, Fdelete_window_internal)
      (Fwindow_text_height, Fset_window_margins, Fwindow_margins)
      (Fset_window_fringes, Fwindow_fringes, Fset_window_scroll_bars)
      (Fwindow_scroll_bars): Check whether argument window is a valid or
      live window.  Update doc-strings.
      (syms_of_window): New symbol Qwindow_valid_p.
      * keyboard.c (Fposn_at_x_y): Check whether argument
      frame_or_window denotes a valid window.
      * window.el (window-valid-p): Move to window.c.
      52162052
    • Dmitry Antipov's avatar
      Fix previous char table change. · 2751c80f
      Dmitry Antipov authored
      * lisp.h (CHAR_TABLE_SET): Use sub_char_table_set_contents.
      * chartab.c (optimize_sub_char_table): Likewise.
      2751c80f
    • Chong Yidong's avatar
      * gtkutil.c (xg_get_font): Demand an Xft font. · a2d19368
      Chong Yidong authored
      Fixes: debbugs:3228
      a2d19368
    • Chong Yidong's avatar
      For Xft and X font backends, set omitted max_width font fields. · 032a42c8
      Chong Yidong authored
      * src/xfont.c (xfont_open):
      * src/xftfont.c (xftfont_open): Set the font's max_width field.
      
      * src/font.h (struct font): Update comments.
      032a42c8
    • Dmitry Antipov's avatar
      Simple interface to set Lisp_Object fields of chararcter tables. · a098c930
      Dmitry Antipov authored
      * lisp.h (CSET): New macro.
      (char_table_set_extras, char_table_set_contents)
      (sub_char_table_set_contents): New function.
      * casetab.c, category.c, chartab.c, fns.c, fontset.c, search.c:
      * syntax.c: Adjust users.
      a098c930
    • Stefan Monnier's avatar
      * src/eval.c (eval_sub): Bind lexical-binding. · 8be3a09c
      Stefan Monnier authored
      * src/lread.c (Qlexical_binding): Make non-static.
      8be3a09c
  3. 15 Aug, 2012 7 commits
    • Jan Djärv's avatar
      Improve event loop on NS so that no polling is used. · ddee6515
      Jan Djärv authored
      * nsmenu.m (popupSession): Remove.
      (pop_down_menu): Remove endModalSession.
      (timeout_handler:): New method.
      (runDialogAt:): Get next timeout.  Start a NSTimer with that timeout.
      Call runModalForWindow.  Check timer_fired when it returns.
      If not set, cancel timer and break out of loop.
      Otherwise loop again, with a new timeout.
      
      * nsterm.h (EmacsApp): fd_handler takes id argument.
      (EmacsDialogPanel): Add timer_fired and timeout_handler.
      
      * nsterm.m: Include fcntl.h if present.
      (fd_entry, t_readfds, inNsSelect): Remove.
      (select_writefds, select_valid, select_timeout, selfds)
      (select_mutex, apploopnr): Add.
      (EV_TRAILER): Call kbd_buffer_store_event_hold only if q_event_ptr.
      Otherwise call kbd_buffer_store_event.
      (ns_send_appdefined): Remove release of fd_entry.
      (ns_read_socket): Always send appdefined.  Remove inNsSelect check.
      Increment and decrement apploopnr.
      (ns_select): If no file descriptors, just do a NSTimer.
      Otherwise copy read/write masks and start select thread (fd_handler).
      Start main loop and wait for application defined event.
      Inform select thread to stop selecting after main loop is exited.
      (ns_term_init): Create selfds pipe and set non-blocking.
      Initialize select_mutex. Start the select thread (fd_handler).
      (fd_handler:): Loop forever, wait for info from the main thread
      to either start or stop selecting.  When select returns, send
      and appdefined event.
      (sendScrollEventAtLoc:fromEvent:): Check if q_event_ptr is set.
      If not call kbd_buffer_store_event.
      ddee6515
    • Jan Djärv's avatar
      * gtkutil.c (xg_mark_data): Use FRAME_X_P. · ac4845a6
      Jan Djärv authored
      ac4845a6
    • Eli Zaretskii's avatar
      Fix bug #12196 with incorrect memory allocations for region-cache. · eb424fe3
      Eli Zaretskii authored
       src/region-cache.c (move_cache_gap): Update gap_len using the actual
       growth of the boundaries array.  Do not change cache_len.
      eb424fe3
    • Dmitry Antipov's avatar
      Generalize and cleanup font subsystem checks. · 4e6a86c6
      Dmitry Antipov authored
      * font.h (FONT_DEBUG, font_assert): Remove.
      * font.c, fontset.c, w32font.c, xfont.c, xftfont.c: Change
      font_assert to eassert.  Use eassert where appropriate.
      4e6a86c6
    • Dmitry Antipov's avatar
      Fix last change to xg_get_font. · 5bf192ca
      Dmitry Antipov authored
      * gtkutil.c (xg_get_font): Use pango_units_to_double.
      5bf192ca
    • Chong Yidong's avatar
      Extract better font information from the GTK >= 3.2 font chooser. · f2045622
      Chong Yidong authored
      * gtkutil.c (xg_get_font): Rename from xg_get_font_name.  When
      using the new font chooser, use gtk_font_chooser_get_font_desc to
      extract the font descriptor instead of just the font name.  In
      that case, return a font spec instead of a string.
      (x_last_font_name): Move to this file from xfns.c.
      
      * xfns.c (Fx_select_font): The return value can also be a font
      spec.  Move x_last_font_name management to gtkutil.c.
      
      * xfaces.c: Make font weight and style symbols non-static.
      
      * lisp/frame.el (set-frame-font): Accept font objects.
      f2045622
    • Stefan Monnier's avatar
      * src/minibuf.c (read_minibuf): Ignore caller's inhibit-read-only. · 7f6feb56
      Stefan Monnier authored
      Fixes: debbugs:12117
      7f6feb56
  4. 14 Aug, 2012 13 commits
  5. 13 Aug, 2012 1 commit
    • Jan Djärv's avatar
      Don't redraw tool bar for Gtk+ unless out of date. · ca06f160
      Jan Djärv authored
      * gtkutil.c (xg_frame_tb_info): New struct.
      (TB_INFO_KEY): New define.
      (xg_free_frame_widgets): Free xg_frame_tb_info for frame if present.
      (xg_mark_data): Mark Lisp_Objects in xg_frame_tb_info.
      (xg_create_tool_bar): Allocate and initialize a xg_frame_tb_info
      if not present.
      (update_frame_tool_bar): Return early if data in xg_frame_tb_info
      is up to date. Otherwise store new data.
      (free_frame_tool_bar): Free xg_frame_tb_info if present.
      ca06f160