1. 16 Jan, 2015 1 commit
    • Dmitry Antipov's avatar
      Prefer INLINE functions in font.h to match style used in lisp.h · 4303d110
      Dmitry Antipov authored
      * font.h (FONTP, FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P)
      (CHECK_FONT, CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
      (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, CHECK_FONT_GET_OBJECT):
      Now functions.
      * font.c (Ffont_otf_alternates, Fquery_font, Ffont_get_glyphs):
      * ftfont.c (ftfont_shape):
      * macfont.m (macfont_shape):
      * w32uniscribe.c (uniscribe_shape):
      * xftfont.c (xftfont_shape): Adjust CHECK_FONT_GET_OBJECT users.
      4303d110
  2. 05 Jan, 2015 1 commit
    • Paul Eggert's avatar
      Compute C decls for DEFSYMs automatically · 58f2d6ef
      Paul Eggert authored
      Fixes Bug#15880.
      This patch also makes Q constants (e.g., Qnil) constant addresses
      from the C point of view.
      * make-docfile.c: Revamp to generate table of symbols, too.
      Include <stdbool.h>.
      (xstrdup): New function.
      (main): Don't process the same file twice.
      (SYMBOL): New constant in enum global_type.
      (struct symbol): Turn 'value' member into a union, either v.value
      for int or v.svalue for string.  All uses changed.
      (add_global): New arg svalue, which overrides value, so that globals
      can have a string value.
      (close_emacs_global): New arg num_symbols; all uses changed.
      Output lispsym decl.
      (write_globals): Output symbol globals too.  Output more
      ATTRIBUTE_CONST, now that Qnil etc. are C constants.
      Output defsym_name table.
      (scan_c_file): Move most of guts into ...
      (scan_c_stream): ... new function.  Scan for DEFSYMs and
      record symbols found.  Don't read past EOF if file doesn't
      end in newline.
      * alloc.c, bidi.c, buffer.c, bytecode.c, callint.c, casefiddle:
      * casetab.c, category.c, ccl.c, charset.c, chartab.c, cmds.c, coding.c:
      * composite.c, data.c, dbusbind.c, decompress.c, dired.c, dispnew.c:
      * doc.c, editfns.c, emacs.c, eval.c, fileio.c, fns.c, font.c, fontset.c:
      * frame.c, fringe.c, ftfont.c, ftxfont.c, gfilenotify.c, gnutls.c:
      * image.c, inotify.c, insdel.c, keyboard.c, keymap.c, lread.c:
      * macfont.m, macros.c, minibuf.c, nsfns.m, nsfont.m, nsimage.m:
      * nsmenu.m, nsselect.m, nsterm.m, print.c, process.c, profiler.c:
      * search.c, sound.c, syntax.c, term.c, terminal.c, textprop.c, undo.c:
      * window.c, xdisp.c, xfaces.c, xfns.c, xftfont.c, xmenu.c, xml.c:
      * xselect.c, xsettings.c, xterm.c:
      Remove Q vars that represent symbols (e.g., Qnil, Qt, Qemacs).
      These names are now defined automatically by make-docfile.
      * alloc.c (init_symbol): New function.
      (Fmake_symbol): Use it.
      (c_symbol_p): New function.
      (valid_lisp_object_p, purecopy): Use it.
      * alloc.c (marked_pinned_symbols):
      Use make_lisp_symbol instead of make_lisp_ptr.
      (garbage_collect_1): Mark lispsym symbols.
      (CHECK_ALLOCATED_AND_LIVE_SYMBOL): New macro.
      (mark_object): Use it.
      (sweep_symbols): Sweep lispsym symbols.
      (symbol_uses_obj): New function.
      (which_symbols): Use it.  Work for lispsym symbols, too.
      (init_alloc_once): Initialize Vpurify_flag here; no need to wait,
      since Qt's address is already known now.
      (syms_of_alloc): Add lispsym count to symbols_consed.
      * buffer.c (init_buffer_once): Compare to Qnil, not to make_number (0),
      when testing whether storage is all bits zero.
      * dispextern (struct image_type):
      * font.c (font_property_table):
      * frame.c (struct frame_parm_table, frame_parms):
      * keyboard.c (scroll_bar_parts, struct event_head):
      * xdisp.c (struct props):
      Use XSYMBOL_INIT (Qfoo) and struct Lisp_Symbol * rather than &Qfoo and
      Lisp_Object *, since Qfoo is no longer an object whose address can be
      taken.  All uses changed.
      * eval.c (run_hook): New function.  Most uses of Frun_hooks changed to
      use it, so that they no longer need to take the address of a Lisp sym.
      (syms_of_eval): Don't use DEFSYM on Vrun_hooks, as it's a variable.
      * frame.c (syms_of_frame): Add defsyms for the frame_parms table.
      * keyboard.c (syms_of_keyboard): Don't DEFSYM Qmenu_bar here.
      DEFSYM Qdeactivate_mark before the corresponding var.
      * keymap.c (syms_of_keymap): Use DEFSYM for Qmenu_bar and Qmode_line
      instead of interning their symbols; this avoids duplicates.
      (LISP_INITIALLY, TAG_PTR)
      (DEFINE_LISP_SYMBOL_BEGIN, DEFINE_LISP_SYMBOL_END, XSYMBOL_INIT):
      New macros.
      (LISP_INITIALLY_ZERO): Use it.
      (enum symbol_interned, enum symbol_redirect, struct Lisp_Symbol)
      (EXFUN, DEFUN_ARGS_MANY, DEFUN_ARGS_UNEVALLED, DEFUN_ARGS_*):
      Move decls up, to avoid forward uses.  Include globals.h earlier, too.
      (make_lisp_symbol): New function.
      (XSETSYMBOL): Use it.
      (DEFSYM): Now just a placeholder for make-docfile.
      * lread.c (DEFINE_SYMBOLS): Define, for globals.h.
      (intern_sym): New function, with body taken from old intern_driver.
      (intern_driver): Use it.  Last arg is now Lisp integer, not ptrdiff_t.
      All uses changed.
      (define_symbol): New function.
      (init_obarray): Define the C symbols taken from lispsym.
      Use plain DEFSYM for Qt and Qnil.
      * syntax.c (init_syntax_once): No need to worry about
      Qchar_table_extra_slots.
      58f2d6ef
  3. 01 Jan, 2015 1 commit
  4. 01 Nov, 2014 1 commit
    • Jan Djärv's avatar
      Clean up merge conflict. · bf7ded96
      Jan Djärv authored
      * macfont.m (macfont_draw):
      * nsterm.m (ns_mouse_position, judge): Clean up merge conflict.
      bf7ded96
  5. 31 Oct, 2014 1 commit
  6. 12 Oct, 2014 2 commits
    • Paul Eggert's avatar
      Update doc to say Mac OS X 10.6 or later now required. · b73d3f58
      Paul Eggert authored
      * doc/emacs/macos.texi (Mac OS / GNUstep, Mac / GNUstep Basics)
      (Mac / GNUstep Customization):
      * nextstep/README: Mac OS X 10.6 or later now required.
      b73d3f58
    • Jan Djärv's avatar
      Require OSX >= 10.6. Remove PowerPC unexec code. · 9a265587
      Jan Djärv authored
      * configure.ac: Require OSX 10.6.  Remove NSInteger test,
      use nsfont for Gnustep, macfont for OSX.
      
      * etc/NEWS: OSX required is 10.6 or newer.
      
      * src/Makefile.in: Replace nsfont.o macfont.o with ns_fontfile in
      comment.
      
      * src/macfont.h (MAC_FONT_FORMAT_ATTRIBUTE, MAC_FONT_FORMAT_BITMAP)
      (mac_font_copy_non_synthetic_table): Remove versions for OSX < 10.6
      
      * src/nsfns.m: Always include src/macfont.h on COCOA.
      (ns_filename_from_panel, ns_directory_from_panel)
      (Fx_create_frame, Fns_popup_font_panel, ns_run_file_dialog)
      (Fns_read_file_name, Fns_list_services): Remove code for OSX < 10.6
      
      * src/nsterm.m: Always include src/macfont.h on COCOA.
      (ns_update_auto_hide_menu_bar, ns_draw_fringe_bitmap)
      (ns_dumpglyphs_image, ns_check_menu_open)
      (applicationDidFinishLaunching)
      (antialiasThresholdDidChange:)
      (keyDown:, toggleFullScreen:, setPosition:portion:whole:): Remove
      checks for OSX <= 10.5/10.6.
      (changeFont:): Use macfont on COCOA, nsfont on GNUSTEP.
      (syms_of_nsterm): Call syms_of_macfont on COCOA, syms_of_nsfont on
      GNUSTEP.
      
      * src/macfont.m: Remove >= 1050 check.
      (macfont_create_family_with_symbol)
      (macfont_get_glyph_for_character)
      (mac_font_get_glyphs_for_variants)
      (mac_ctfont_create_available_families, syms_of_macfont): Remove
      code for OSX < 10.6.
      (mac_font_family_group, mac_font_family_compare): Remove, only used
      for OSX < 10.6.
      
      * src/nsimage.m (allocInitFromFile:): Remove code for OSX < 10.6.
      
      * src/nsmenu.m (NSMenuDidBeginTrackingNotification): Remove.
      (x_activate_menubar, trackingNotification:): Remove check for
      OSX >= 10.5.
      (menuNeedsUpdate:): Remove check for OSX < 10.5.
      
      * src/nsterm.h (MAC_OS_X_VERSION_10_4, MAC_OS_X_VERSION_10_5): Remove.
      (NS_HAVE_NSINTEGER): Remove block.
      Remove >= OSX 10.6 tests.
      
      * src/unexmacosx.c: Remove include ppc/reloc.h.
      (unrelocate, copy_dysymtab): Remove PPC code.
      (rebase_reloc_address): Remove, only used for PPC:
      9a265587
  7. 05 Oct, 2014 1 commit
    • Jan Djärv's avatar
      Import from macoport 24.3.94. · 6a4b1b17
      Jan Djärv authored
      * macfont.m: Fix indentation and import changes from macport
      24.3.94.
      (macfont_closest_traits_index): New function.
      (macfont_closest_traits_index_p): Renamed from
      macfont_closest_traits_index.
      (macfont_list): Use macfont_closest_traits_index_p.
      6a4b1b17
  8. 22 Sep, 2014 1 commit
  9. 25 Aug, 2014 1 commit
    • Dmitry Antipov's avatar
      One more minor cleanup of font subsystem. · 8661ebaa
      Dmitry Antipov authored
      * font.h (struct font_driver): Convert text_extents to
      return void because returned value is never actually used.
      * macfont.c (macfont_text_extents):
      * w32font.c (w32font_text_extents):
      * xftfont.c (xftfont_text_extents): Adjust to return void
      and assume that 'metrics' argument is always non-NULL.
      * ftfont.c (ftfont_text_extents):
      * xfont.c (xfont_text_extents): Likewise.  Avoid redundant memset.
      8661ebaa
  10. 20 Jul, 2014 1 commit
    • Jan Djärv's avatar
      * macfont.h (macfont_update_antialias_threshold): Declare. · 880b7166
      Jan Djärv authored
      * macfont.m (macfont_update_antialias_threshold): Remove static.
      
      * nsterm.h (EmacsApp): Add antialiasThresholdDidChange.
      
      * nsterm.m (applicationDidFinishLaunching:): Call
      antialiasThresholdDidChange, register for antialias changes.
      (antialiasThresholdDidChange:): New method for EmacsApp.
      
      Fixes: debbugs:17534
      880b7166
  11. 08 Jul, 2014 1 commit
  12. 04 Jul, 2014 1 commit
    • Dmitry Antipov's avatar
      * font.h (struct font_driver): Remove get_outline and free_outline; · 9d7b0167
      Dmitry Antipov authored
      not used by any font driver.
      * ftfont.c (ftfont_driver):
      * macfont.m (macfont_driver):
      * nsfont.m (nsfont_driver):
      * w32font.c (w32font_driver):
      * w32uniscribe.c (uniscribe_font_driver):
      * xfont.c (xfont_driver): Related users changed.
      * xselect.c (x_get_window_property): Use convenient xmalloc.
      Call to xfree only if some data was really allocated.
      9d7b0167
  13. 11 Jun, 2014 1 commit
    • Jan Djärv's avatar
      Fix memory leaks · b765f1fe
      Jan Djärv authored
      * macfont.m (macfont_draw): positions where not freed.
      
      * nsterm.h (EmacsApp): Always compile in shouldKeepRunning, isFirst
      on Cocoa.
      
      * nsterm.m (run): Always compile for Cocoa.  Use runtime check to
      determine 10.9.
      
      Fixes: debbugs:17751
      b765f1fe
  14. 25 May, 2014 1 commit
    • Jan Djärv's avatar
      Simplify NS font driver draw, merge from Macport. · d6e8093a
      Jan Djärv authored
      * macfont.m (macfont_draw): Merge changes from Macport.
      
      * nsterm.m (ns_draw_glyph_string): Move isComposite and end from
      macfont.m, call draw with adjusted arguments so font drivers
      don't need to do that.
      
      * nsfont.m (nsfont_draw): Simplify as arguments are adjusted in
      nsterm.m now.
      d6e8093a
  15. 03 Apr, 2014 2 commits
  16. 13 Jan, 2014 1 commit
    • Jan Djärv's avatar
      * macfont.m: Include termchar.h. · 6c21e306
      Jan Djärv authored
      (CG_SET_FILL_COLOR_WITH_FACE_FOREGROUND)
      (CG_SET_FILL_COLOR_WITH_FACE_BACKGROUND)
      (CG_SET_STROKE_COLOR_WITH_FACE_FOREGROUND): Modified from
      *_WITH_GC_* to take face and f as parameters.
      (macfont_draw): Check for DRAW_MOUSE_FACE and set face accordingly.
      Use *_WITH_FACE_*, and pass face as parameter.
      
      Fixes: debbugs:16425
      6c21e306
  17. 06 Jan, 2014 1 commit
    • Paul Eggert's avatar
      Spelling fixes. · d5081c1e
      Paul Eggert authored
      * calc/calc-yank.el (calc-edit-mode, calc-edit-cancel):
      * emacs-lisp/debug.el (cancel-debug-on-entry):
      * epg.el (epg-error-to-string):
      * files.el (recover-file):
      * lpr.el (lpr-buffer, print-buffer, lpr-region, print-region):
      * mail/emacsbug.el (report-emacs-bug-hook):
      * mail/sendmail.el (mail-recover):
      * ses.el (ses-yank-resize):
      * term/ns-win.el (ns-print-buffer):
      Spelling fixes in diagnostics, mostly for "canceled" with one L.
      * epg.el (epg-key-capability-alist): Rename from misspelled version.
      All uses changed.
      * obsolete/xesam.el (xesam-all-fields): Fix misspelled field name.
      d5081c1e
  18. 01 Jan, 2014 1 commit
  19. 14 Dec, 2013 1 commit
    • Paul Eggert's avatar
      Use bool for boolean, focusing on headers. · 96c06863
      Paul Eggert authored
      * configure.ac (PTY_OPEN, GC_MARK_SECONDARY_STACK):
      Use bool for boolean.
      * lib-src/emacsclient.c, lib-src/etags.c, lib-src/hexl.c (FALSE, TRUE):
      Remove.  All uses replaced with uncapitalized version.
      * lib-src/emacsclient.c (message):
      * lib-src/etags.c (make_tag, pfnote, consider_token, make_C_tag, lang_names):
      * lib-src/hexl.c (un_flag, iso_flag, endian):
      * lib-src/pop.c (pop_debug, pop_open, pop_multi_first, pop_multi_next)
      (pop_trash):
      Use bool for boolean.
      * lib-src/etags.c (bool): Remove.
      * lib-src/etags.c (globals, members, declarations, no_line_directive)
      (no_duplicates): Use 'int' for boolean values that getopt requires
      to be 'int'.  Formerly, these were 'bool' and 'bool' was 'int',
      but we can no longer rely on this implementation.
      * lib-src/pop.h (struct _popserver): Use bool_bf for boolean bit-fields.
      * lwlib/xlwmenuP.h (XlwMenu_part): Use bool_bf for boolean bit-fields.
      * src/atimer.h, src/lisp.h, src/syssignal.h, src/syswait.h, src/unexelf.c:
      No need to include <stdbool.h>, since conf_post.h does it now.
      * src/buffer.h (BUF_COMPUTE_UNCHANGED, DECODE_POSITION)
      (BUFFER_CHECK_INDIRECTION, GET_OVERLAYS_AT, PER_BUFFER_VALUE_P)
      (SET_PER_BUFFER_VALUE_P):
      * src/ccl.c, src/ccl.h (setup_ccl_program):
      * src/ccl.h (CHECK_CCL_PROGRAM):
      * src/character.h (MAKE_CHAR_UNIBYTE, CHECK_CHARACTER_CAR)
      (CHECK_CHARACTER_CDR, CHAR_STRING_ADVANCE, NEXT_CHAR_BOUNDARY)
      (PREV_CHAR_BOUNDARY, FETCH_STRING_CHAR_ADVANCE)
      (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
      (FETCH_STRING_CHAR_ADVANCE_NO_CHECK, FETCH_CHAR_ADVANCE)
      (FETCH_CHAR_ADVANCE_NO_CHECK, INC_POS, DEC_POS, INC_BOTH)
      (DEC_BOTH, BUF_INC_POS, BUF_DEC_POS):
      * src/charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
      (CHECK_CHARSET_GET_ATTR, CHECK_CHARSET_GET_CHARSET)
      (CHARSET_FAST_MAP_SET):
      * src/coding.c (decode_coding_ccl, encode_coding_ccl):
      * src/coding.h (CHECK_CODING_SYSTEM, CHECK_CODING_SYSTEM_GET_SPEC)
      (CHECK_CODING_SYSTEM_GET_ID, SJIS_TO_JIS, SJIS_TO_JIS2)
      (JIS_TO_SJIS, JIS_TO_SJIS2, ENCODE_FILE, DECODE_FILE)
      (ENCODE_SYSTEM, DECODE_SYSTEM, ENCODE_UTF_8)
      (decode_coding_c_string):
      * src/composite.h (COMPOSITION_DECODE_REFS, COMPOSITION_DECODE_RULE):
      * src/conf_post.h (has_attribute):
      * src/dispextern.h (trace_redisplay_p):
      (INC_TEXT_POS, DEC_TEXT_POS, SET_GLYPH_FROM_GLYPH_CODE)
      (SET_CHAR_GLYPH, SET_CHAR_GLYPH_FROM_GLYPH)
      (SET_GLYPH_FROM_CHAR_GLYPH):
      (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P)
      (FACE_SUITABLE_FOR_ASCII_CHAR_P, FACE_SUITABLE_FOR_CHAR_P)
      (PRODUCE_GLYPHS, reset_mouse_highlight, in_display_vector_p)
      (cursor_in_mouse_face_p):
      * src/dispnew.c (adjust_glyph_matrix, clear_glyph_matrix_rows)
      (blank_row, prepare_desired_row)
      (build_frame_matrix_from_leaf_window, make_current)
      (mirror_make_current, mirrored_line_dance, mirror_line_dance)
      (update_window, scrolling_window, update_frame_line):
      * src/disptab.h (GLYPH_FOLLOW_ALIASES):
      * src/editfns.c (Fformat):
      * src/font.h (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC)
      (FONT_WIDTH_SYMBOLIC, FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE)
      (FONT_WIDTH_FOR_FACE, FONT_WEIGHT_NAME_NUMERIC)
      (FONT_SLANT_NAME_NUMERIC, FONT_WIDTH_NAME_NUMERIC)
      (FONT_SET_STYLE, CHECK_FONT, CHECK_FONT_SPEC, CHECK_FONT_ENTITY)
      (CHECK_FONT_OBJECT, CHECK_FONT_GET_OBJECT, FONT_ADD_LOG)
      (FONT_DEFERRED_LOG):
      * src/frame.h (FRAME_W32_P, FRAME_MSDOS_P, FRAME_WINDOW_P):
      (FRAME_EXTERNAL_TOOL_BAR, FRAME_EXTERNAL_MENU_BAR, FOR_EACH_FRAME)
      (FRAME_MOUSE_UPDATE):
      * src/fringe.c (Fdefine_fringe_bitmap):
      * src/image.c (x_create_bitmap_from_data, x_create_bitmap_mask)
      (x_create_bitmap_from_xpm_data, xpm_load_image):
      * src/intervals.h (INTERVAL_HAS_PARENT, INTERVAL_PARENT)
      (set_interval_parent, RESET_INTERVAL, COPY_INTERVAL_CACHE)
      (MERGE_INTERVAL_CACHE):
      * src/keymap.h (KEYMAPP):
      * src/lisp.h (eassert, USE_LSB_TAG, CHECK_LISP_OBJECT_TYPE)
      (STRING_SET_UNIBYTE, STRING_SET_MULTIBYTE, DEFSYM, PSEUDOVECTORP)
      (CHECK_RANGED_INTEGER, CHECK_TYPE_RANGED_INTEGER)
      (CHECK_NUMBER_COERCE_MARKER, CHECK_NUMBER_OR_FLOAT_COERCE_MARKER)
      (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL, DEFVAR_INT)
      (DEFVAR_BUFFER_DEFAULTS, DEFVAR_KBOARD, QUIT)
      (RETURN_UNGCPRO, USE_SAFE_ALLOCA, SAFE_NALLOCA, SAFE_FREE)
      (SAFE_ALLOCA_LISP, FOR_EACH_ALIST_VALUE, functionp):
      * src/syntax.h (SYNTAX_ENTRY, SYNTAX_WITH_FLAGS, SYNTAX)
      (UPDATE_SYNTAX_TABLE_FORWARD, UPDATE_SYNTAX_TABLE_BACKWARD)
      (SETUP_BUFFER_SYNTAX_TABLE):
      * src/systime.h (timespec_valid_p):
      * src/term.c (save_and_enable_current_matrix):
      * src/window.h (WINDOW_MENU_BAR_P, WINDOW_TOOL_BAR_P):
      * src/xdisp.c (in_display_vector_p, display_tool_bar_line)
      (redisplay_internal, try_window_reusing_current_matrix)
      (sync_frame_with_window_matrix_rows, try_window_id)
      (display_menu_bar, display_tty_menu_item, display_mode_line)
      (coords_in_mouse_face_p, cursor_in_mouse_face_p):
      * src/xmenu.c (xmenu_show):
      * src/xterm.c (use_xim, x_term_init):
      * src/xterm.h (XSync, GTK_CHECK_VERSION, use_xim, SET_SCROLL_BAR_X_WIDGET)
      (struct x_bitmap_record):
      Use bool for booleans.
      * src/ccl.c (struct buffer_text):
      * src/ccl.h (struct ccl_program):
      * src/charset.h (struct charset):
      * src/cm.h (struct cm):
      * src/coding.h (struct iso_2022_spec, struct coding_system):
      * src/dispextern.h (struct glyph, struct glyph_matrix, struct glyph_row)
      (struct glyph_string, struct face, struct face_cache)
      (struct bidi_string_data, struct bidi_it)
      (struct draw_fringe_bitmap_params, struct it, Mouse_HLInfo)
      (struct image):
      * src/editfns.c (Fformat):
      * src/frame.h (struct frame):
      * src/fringe.c (struct fringe_bitmap):
      * src/intervals.h (struct interval):
      * src/keyboard.h (struct kboard):
      * src/lisp.h (struct Lisp_Symbol, struct Lisp_Misc_Any, struct Lisp_Marker)
      (struct Lisp_Overlay, struct Lisp_Save_Value, struct Lisp_Free)
      (struct Lisp_Buffer_Local_Value, union specbinding):
      * src/macfont.m (struct macfont_info):
      * src/process.h (struct Lisp_Process):
      * src/termchar.h (struct tty_display_info):
      * src/window.h (struct window):
      * src/xterm.h (struct x_output):
      Use bool_bf for boolean bit-fields.
      * src/ccl.c (setup_ccl_program): Now returns bool instead of -1 or 0.
      All callers changed.
      * src/ccl.h (struct ccl_program): Remove unused members private_state,
      src_multibyte, dst_multibyte, cr_consumed, suppress_error,
      eight_bit_control.
      (struct ccl_spec): Remove unused members cr_carryover,
      eight_bit_carryover.
      * src/conf_post.h: Include <stdbool.h>.
      (bool_bf): New type.
      * src/dispextern.h (TRACE, PREPARE_FACE_FOR_DISPLAY):
      * src/interval.h (RESET_INTERVAL, COPY_INTERVAL_CACHE, MERGE_INTERVAL_CACHE)
      Surround statement macro with proper 'do { ... } while (false)' brackets.
      (SET_MATRIX_ROW_ENABLED_P): Assume 2nd arg is bool.
      (PRODUCE_GLYPHS): Simplify use of boolean.
      * src/fileio.c (Fcopy_file):
      If I is an integer, prefer 'if (I != 0)' to 'if (I)'.
      * src/lisp.h (UNGCPRO): Return void, not int.
      (FOR_EACH_TAIL): Use void expression, not int expression.
      * src/region-cache.c: Reindent.
      * src/region-cache.h: Copy comments from region-cache.c, to fix
      incorrect remarks about booleans.
      96c06863
  20. 13 Dec, 2013 1 commit
  21. 12 Dec, 2013 1 commit
    • Dmitry Antipov's avatar
      * font.h (struct font_entity) [HAVE_NS]: New field to record · cf86e18b
      Dmitry Antipov authored
      font driver which was used to create this entity.
      (struct font) [HAVE_WINDOW_SYSTEM]: New field to record
      frame where the font was opened.
      (font_close_object): Add prototype.
      * font.c (font_make_entity) [HAVE_NS]: Zero out driver field.
      (font_close_object): Not static any more.  Lost frame arg.
      Adjust comment and users.
      * alloc.c (cleanup_vector): Call font_close_object to adjust
      per-frame font counters correctly.  If HAVE_NS, also call
      driver-specific cleanup for font-entity objects.
      * ftfont.c (ftfont_open):
      * nsfont.m (nsfont_open):
      * w32font.c (w32font_open_internal):
      * xfont.c (xfont_open):
      * xftfont.c (xftfont_open): Save frame pointer in font object.
      * macfont.m (macfont_open): Likewise.
      (macfont_descriptor_entity): Save driver pointer to be able
      to call its free_entity routine when font-entity is swept.
      * ftxfont.c (ftxfont_open): Add eassert because frame
      pointer should be saved by ftfont_driver.open.
      cf86e18b
  22. 07 Nov, 2013 1 commit
    • Jan Djärv's avatar
      Import macfont changes from mac-port 4.5. · 5ee29210
      Jan Djärv authored
      * macfont.h (kCTVersionNumber10_9): Define if not defined.
      
      * macfont.m (mac_font_copy_default_descriptors_for_language)
      (mac_font_copy_default_name_for_charset_and_languages): Declare.
      (cf_charset_table): big-5-0 has uniquifier 0x4EDC.
      (macfont_language_default_font_names): New.
      (macfont_list): Rearrange language/charset code.
      (macfont_close): Don't check for macfont_info->cache.
      (mac_ctfont_create_preferred_family_for_attributes): New font
      selection code, call
      mac_font_copy_default_name_for_charset_and_languages.
      (mac_font_copy_default_descriptors_for_language)
      (mac_font_copy_default_name_for_charset_and_languages): New functions.
      5ee29210
  23. 05 Nov, 2013 1 commit
  24. 04 Nov, 2013 1 commit
    • Jan Djärv's avatar
      Fix memory leaks in NS version. · c8b09927
      Jan Djärv authored
      * src/macfont.m (CG_SET_FILL_COLOR_WITH_GC_FOREGROUND)
      (CG_SET_FILL_COLOR_WITH_GC_BACKGROUND)
      (CG_SET_STROKE_COLOR_WITH_GC_FOREGROUND): Fix memory leak.
      
      * src/nsfns.m (Fx_create_frame): Fix memory leak.
      
      * src/nsterm.h (EmacsApp): Add shouldKeepRunning and isFirst for
      OSX >= 10.9.
      
      * src/nsterm.m (init, run, stop:): New methods in EmacsApp for
      OSX >= 10.9 to prevent memory leak of GCD dispatch source.
      c8b09927
  25. 25 Oct, 2013 1 commit
    • Dmitry Antipov's avatar
      Omit unused frame argument of font API's close function. · 78e0b35c
      Dmitry Antipov authored
      * font.h (struct font): Drop frame argument.  Adjust comment.
      * font.c (font_clear_cache, font_close_object): Adjust users.
      * ftfont.c (ftfont_close):
      * ftxfont.c (ftxfont_close):
      * macfont.m (macfont_close):
      * nsfont.m (nsfont_close):
      * w32font.c (w32font_close):
      * xfont.c (xfont_close):
      * xftfont.c (xftfont_close): Adjust driver-specific close
      functions, tweak comments and make functions safe if called
      more than once for the same font object.
      78e0b35c
  26. 11 Oct, 2013 1 commit
    • Paul Eggert's avatar
      * lisp.h (eassume): New macro. · b9ff995e
      Paul Eggert authored
      Also, include <verify.h>, for 'assume'.
      * alloc.c (bool_vector_payload_bytes, Fmake_bool_vector)
      (vroundup, vector_nbytes):
      * data.c (bool_vector_spare_mask, bool_vector_binop_driver)
      (Fbool_vector_not, Fbool_vector_count_matches)
      (Fbool_vector_count_matches_at):
      Use eassume, not eassert.
      * casetab.c (set_identity, shuffle):
      * composite.c (composition_gstring_put_cache):
      * dispnew.c (update_frame_1):
      * ftfont.c (ftfont_shape_by_flt):
      * image.c (gif_load):
      * intervals.c (offset_intervals):
      * macfont.m (macfont_shape):
      Remove calls to 'assume' that are no longer needed, because
      --enable-gcc-warnings no longer generates bogus warnings
      when these calls are removed.
      b9ff995e
  27. 02 Oct, 2013 2 commits
  28. 22 Sep, 2013 1 commit
    • Daniel Colascione's avatar
      Add set operations for bool-vector. · 3e0b94e7
      Daniel Colascione authored
      http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00404.html
      
      * data.c (Qbool_vector_p): New symbol.
      (bool_vector_spare_mask,popcount_size_t_generic)
      (popcount_size_t_msc,popcount_size_t_gcc)
      (popcount_size_t)
      (bool_vector_binop_driver)
      (count_trailing_zero_bits,size_t_to_host_endian)
      (Fbool_vector_exclusive_or)
      (Fbool_vector_union)
      (Fbool_vector_intersection,Fbool_vector_set_difference)
      (Fbool_vector_subsetp,Fbool_vector_not)
      (Fbool_vector_count_matches)
      (Fbool_vector_count_matches_at): New functions.
      (syms_of_data): Intern new symbol, functions.
      * alloc.c (bool_vector_payload_bytes): New function.
      (Fmake_bool_vector): Instead of calling Fmake_vector,
      which performs redundant initialization and argument checking,
      just call allocate_vector ourselves.  Make sure we clear any
      terminating padding to zero.
      (vector_nbytes,sweep_vectors): Use bool_vector_payload_bytes
      instead of open-coding the size calculation.
      (vroundup_ct): New macro.
      (vroundup): Assume argument >= 0; invoke vroundup_ct.
      * casetab.c (shuffle,set_identity): Change lint_assume to assume.
      * composite.c (composition_gstring_put_cache): Change
      lint_assume to assume.
      * conf_post.h (assume): New macro.
      (lint_assume): Remove.
      * dispnew.c (update_frame_1): Change lint_assume to assume.
      * ftfont.c (ftfont_shape_by_flt): Change lint_assume
      to assume.
      * image.c (gif_load): Change lint_assume to assume.
      * lisp.h (eassert_and_assume): New macro.
      (Qbool_vector_p): Declare.
      (CHECK_BOOL_VECTOR,ROUNDUP,BITS_PER_SIZE_T): New macros.
      (swap16,swap32,swap64): New inline functions.
      * macfont.c (macfont_shape): Change lint_assume to assume.
      * ralloc.c: Rename ROUNDUP to PAGE_ROUNDUP throughout.
      * xsettings.c (parse_settings): Use new swap16 and
      swap32 from lisp.h instead of file-specific macros.
      3e0b94e7
  29. 15 Sep, 2013 1 commit