Commit graph

69 commits

Author SHA1 Message Date
Paul Eggert
bc511a64f6 Prefer HTTPS to FTP and HTTP in documentation
Most of this change is to boilerplate commentary such as license URLs.
This change was prompted by ftp://ftp.gnu.org's going-away party,
planned for November.  Change these FTP URLs to https://ftp.gnu.org
instead.  Make similar changes for URLs to other organizations moving
away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
fsf.org when this works, as this will further help defend against
man-in-the-middle attacks (for this part I omitted the MS-DOS and
MS-Windows sources and the test tarballs to keep the workload down).
HTTPS is not fully working to lists.gnu.org so I left those URLs alone
for now.
2017-09-13 15:54:37 -07:00
Alan Third
e6a2b4c2df Remove unneeded version checks (bug#28222)
* src/macfont.h (CGContextSetFontSmoothingStyle): Remove version
check.
* src/macfont.m (macfont_draw): Remove version check, and test for
existence of CGContextSetFontSmoothingStyle.
2017-08-31 20:44:59 +01:00
Alan Third
fdde98113c Fix cross macOS version building (bug#28222)
* src/macfont.h (CGContextSetFontSmoothingStyle): Function
declaration.
* src/macfont.m (macfont_draw): Limit new code to macOS 10.8 and up.
2017-08-29 17:19:05 +01:00
Ben Bonfil
1b0d72244d Enable thin font smoothing in macOS (bug#28222)
* src/nsterm.m (syms_of_nsterm): Define var ns-use-thin-smoothing.
* src/macfont.m (macfont_draw): Use font smoothing.

Copyright-paperwork-exempt: yes
2017-08-29 17:19:04 +01:00
Alan Third
69f2b755f4 Allow use of run-time OS version checks on macOS (bug#27810)
* src/nsterm.h (NSWindowTabbingMode): Define in pre-Sierra macOS.
(MAC_OS_X_VERSION_10_6, MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8,
MAC_OS_X_VERSION_10_9, MAC_OS_X_VERSION_10_12, HAVE_NATIVE_FS): Remove
defines.
(NSWindowStyleMaskFullScreen,
NSWindowCollectionBehaviorFullScreenPrimary,
NSApplicationPresentationFullScreen,
NSApplicationPresentationAutoHideToolbar): Define in macOS 10.6.
* src/nsterm.m (colorForEmacsRed, colorUsingDefaultColorSpace,
check_native_fs, ns_read_socket, ns_select, runAlertPanel,
initFrameFromEmacs, windowDidMiniaturize, windowDidEnterFullScreen,
windowDidExitFullScreen, isFullscreen, updateCollectionBehavior,
toggleFullScreen, constrainFrameRect, scrollerWidth, syms_of_nsterm):
Allow use of run-time checks and replace version check macros.
* src/nsfns.m (ns_screen_name): Use run-time OS version checks.
* src/macfont.m (macfont_draw): Use run-time OS version checks.
* src/nsmenu.m (menuWillOpen): Use run-time OS version checks.

Co-authored-by: Charles A. Roelli <charles@aurox.ch>
2017-08-16 20:56:55 +01:00
Philipp Stephani
2d8215ae6d Remove unused automatic variables
* nsterm.m (ns_read_socket):
* macfont.m (macfont_open): Remove unused automatic variables.
2017-05-21 21:50:18 +02:00
Philipp Stephani
762be778fc Nextstep: remove some deprecated method calls
* src/nsterm.m (mouseDown:):
* src/nsmenu.m (runMenuAt:forFrame:keymaps:): Remove call to
deprecated method.  The return value is always nil.
* src/macfont.m (mac_font_shape_1): Replace call to deprecated method.
2017-05-21 21:50:04 +02:00
Philipp Stephani
add0b69445 Remove calls to deprecated setUsesScreenFonts
* src/macfont.m (mac_screen_font_get_metrics): Don't call setUsesScreenFonts.
(mac_font_shape_1): Remove screen_font_p parameter.
(mac_screen_font_shape): Remove screen_font_p argument.
2017-05-21 21:49:52 +02:00
Philipp Stephani
0446a5a040 Use NSCharacterCollection instead of CTCharacterCollection
This should not cause behavior changes, but fixes a compiler warning
due to implicit conversions between the enums.

* src/macfont.m (macfont_cache, macfont_lookup_cache)
(macfont_get_glyph_for_cid, macfont_get_uvs_table)
(macfont_variation_glyphs): Use NSCharacterCollection.
2017-05-21 21:49:38 +02:00
Paul Eggert
bcf244ef9b Merge from origin/emacs-25
2e2a806 Fix copyright years by hand
5badc81 Update copyright year to 2017
2017-01-01 01:10:47 -08:00
Paul Eggert
5badc81c1c Update copyright year to 2017
Run admin/update-copyright.
2016-12-31 19:42:26 -08:00
Paul Eggert
a41ded87b3 Use C99 syntax for font drivers
Problem reported by Daniel Colascione in:
http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00515.html
* src/ftcrfont.c (ftcrfont_driver):
* src/ftfont.c (ftfont_driver):
* src/ftxfont.c (ftxfont_driver):
* src/macfont.m (macfont_driver):
* src/nsfont.m (nsfont_driver):
* src/xfont.c (xfont_driver):
* src/xftfont.c (xftfont_driver):
Use C99 syntax, not the old GNU C syntax.
2016-12-12 14:27:35 -08:00
Paul Eggert
ebb96114d8 Make struct font_drivers read-only
This simplifies the code a bit, and makes the structs more
shareable and less likely to become corrupt.
* src/alloc.c (cleanup_vector):
* src/font.c (valid_font_driver, font_prepare_cache)
(font_finish_cache, font_get_cache, font_clear_cache)
(register_font_driver, font_update_drivers):
* src/font.h (struct font, struct font_driver_list)
(valid_font_driver):
struct font_drivers are now const.
* src/font.c, src/ftcrfont.c, src/ftfont.c, src/nsfont.m, src/xfont.c:
Omit no-longer-necessary decls.
* src/ftcrfont.c (syms_of_ftcrfont):
* src/ftxfont.c (syms_of_ftxfont):
* src/xftfont.c (syms_of_xftfont):
Omit no-longer-necessary initialization code.
* src/ftcrfont.c (ftcrfont_driver):
* src/ftfont.c (ftfont_driver):
* src/ftxfont.c (ftxfont_driver):
* src/macfont.m (macfont_driver):
* src/nsfont.m (nsfont_driver):
* src/xfont.c (xfont_driver):
* src/xftfont.c (xftfont_driver):
Use C99-style initializer for ease of maintenance, and make it const.
* src/ftcrfont.c, src/ftxfont.c, src/xftfont.c:
Refer to functions like ftfont_text_extents directly.
* src/ftfont.c (ftfont_get_cache, ftfont_list, ftfont_list_family)
(ftfont_has_char, ftfont_encode_char, ftfont_text_extents)
(ftfont_get_bitmap, ftfont_anchor_point, ftfont_otf_capability)
(ftfont_variation_glyphs, ftfont_filter_properties)
(ftfont_combining_capability):
* src/xfont.c (xfont_get_cache):
Now extern, so that other modules’ struct font_drivers can use
them directly.
* src/macfont.m (macfont_descriptor_entity):
* src/nsfont.m (nsfont_open):
Use constant directly; this is clearer.
2016-12-01 21:48:30 -08:00
Paul Eggert
04355cb504 * src/lisp.h (LISP_INITIALLY_ZERO): Remove.
All uses replaced by LISPSYM_INITIALLY.
2016-12-01 00:34:38 -08:00
Paul Eggert
c61ee94959 Merge from origin/emacs-25
4af5981 Add a comment in generated refcards about the source
ef880a5 ; * etc/refcards/calccard.tex: Remove obsolete comment.
4887e7c js-mode: Fix indent problem after a regexp
e992ac0 Fix sluggish display of symbols in UTF-8 language environment
1fc101b Don't confuse how Texinfo outputs @var with the input
91aa5d1 * doc/lispref/display.texi (Scroll Bars): * doc/lispref/frame...
f758fcd * doc/emacs/cmdargs.texi (Initial Options): Copyedit for --da...
5b0cddd More fixes in copyright notices in etc/refcards/
f994c20 Update copyright text in refcards
9ad2ae7 Fix Outline command names
26c3554 Send text received by bracketed paste to process
db0b58d Correct the statement about programming modes always running ...
78aece4 Improve documentation of 'occur'
eb364fd Do call debugger on failed cl-assert
3ef4ee8 Avoid infloop in python
8da810f Don't refer to obsolete FEATURE-unload-hook
4f478ca Improve documentation of dabbrevs
7272e5d * lisp/chistory.el (list-command-history): Doc fix.  (Bug#24890)
89b7482 * lisp/simple.el (set-mark-command): Doc fix.  (Bug#24890)
3b199f7 Improve documentation of some Help commands
93d3a0e Fix documentation of yes-or-no prompts
af04919 Fix documentation of partial completion style
ed80184 Fix documentation of the mode line on emacsclient frames
e6be855 Fix description of 'C-z' in User manual
16f7007 Improve and clarify documentation of Outline Mode
31d93aa Add Emacs version number to nt/README.W32
0b6b815 Fix python-mode hideshow regexp
dc152c5 Modernize usage of 'macOS' in doc and comments
84c5343 Prefer comments /* like this */ in C code
bb61e50 * doc/lispref/loading.texi (Autoload): Better link (Bug#24845).
3ef86fd Clarify documentation of face attribute functions
de51d59 ; * nt/README.W32: Minor copyedits.
db436e9 Don't call debug on failed cl-assert

# Conflicts:
#	doc/emacs/cmdargs.texi
#	etc/NEWS
#	etc/PROBLEMS
#	lisp/auth-source.el
#	lisp/net/tramp-sh.el
2016-11-19 14:31:05 -08:00
Paul Eggert
dc152c54f4 Modernize usage of 'macOS' in doc and comments
Apple changed the spelling of its operating system again, to "macOS",
effective with macOS 10.12 Sierra (2016-09-20).  Change Emacs
documentation and comments to match this.  Stick with older OS
spellings ("OS X", "Mac OS X") when talking about older releases where
the older names are more correct.
2016-11-06 00:42:03 -07:00
Alan Third
62e4dc4660 Fix synthetic bold on macOS retina displays
* src/macfont.m (macfont_draw): Multiply the synthetic bold scaling
factor by the OS window backing scale factor.
2016-09-04 23:06:14 +01:00
YAMAMOTO Mitsuharu
bfeda891a5 * src/macfont.m (mac_font_shape): Make sure that total_advance is increasing. 2016-07-11 13:35:57 +09:00
Eli Zaretskii
55d38fc89f Rename FACE_OPT_FROM_ID to FACE_FROM_ID_OR_NULL
* src/dispextern.h (FACE_FROM_ID_OR_NULL): Renamed from
FACE_OPT_FROM_ID; all callers changed.
* src/xdisp.c (extend_face_to_end_of_line): Call FACE_FROM_ID, not
FACE_FROM_ID_OR_NULL, as the resulting face is immediately
dereferenced.
(fill_gstring_glyph_string): Call FACE_FROM_ID, not
FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
when the glyph string is drawn.
(BUILD_COMPOSITE_GLYPH_STRING): Call FACE_FROM_ID, not
FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
in fill_composite_glyph_string.
(calc_line_height_property): Call FACE_FROM_ID_OR_NULL rather that
FACE_FROM_ID, since the function and its caller can cope with that
situation.  Conflate 3 tests of missing face or font into just
one.
* src/xfaces.c (Fx_list_fonts, Fface_font, lookup_face): Call
FACE_FROM_ID_OR_NULL rather that FACE_FROM_ID, since these
functions can cope with that situation.
(lookup_derived_face): Don't call FACE_FROM_ID if the result will
not be used.
* src/w32console.c (w32_face_attributes): Remove redundant 'eassert'.
2016-07-02 12:39:47 +03:00
Paul Eggert
374f6a5f34 Port --enable-gcc-warnings to GCC 6.1
* configure.ac (WERROR_CFLAGS): Omit -Wunused-const-variable=2.
* lib-src/etags.c (LOOKING_AT, LOOKING_AT_NOCASE):
Omit test whether pointer plus a constant equals a null pointer.
* src/alloc.c (compact_small_strings):
Avoid pointer arithmetic on null pointers.
* src/alloc.c (mark_face_cache):
* src/fontset.c (free_realized_fontsets, Fset_fontset_font):
* src/fringe.c (draw_fringe_bitmap_1)
(Fset_fringe_bitmap_face):
* src/macfont.m (macfont_draw):
* src/msdos.c (IT_set_face, IT_clear_screen):
* src/nsfont.m (nsfont_draw):
* src/nsterm.h (FRAME_DEFAULT_FACE):
* src/nsterm.m (ns_draw_window_cursor)
(ns_draw_vertical_window_border, ns_draw_window_divider)
(ns_dumpglyphs_box_or_relief)
(ns_maybe_dumpglyphs_background, ns_dumpglyphs_image)
(ns_dumpglyphs_stretch):
* src/w32term.c (w32_draw_vertical_window_border)
(w32_draw_window_divider, x_set_mouse_face_gc):
* src/xdisp.c (estimate_mode_line_height, init_iterator)
(handle_face_prop, handle_single_display_spec, pop_it)
(CHAR_COMPOSED_P, get_next_display_element)
(next_element_from_display_vector, extend_face_to_end_of_line)
(fill_gstring_glyph_string,BUILD_COMPOSITE_GLYPH_STRING):
* src/xfaces.c (Finternal_merge_in_global_face, Fface_font)
(lookup_named_face):
* src/xterm.c (x_draw_vertical_window_border)
(x_draw_window_divider, x_set_mouse_face_gc):
Prefer FACE_OPT_FROM_ID to FACE_FROM_ID when the result might be null.
* src/xterm.c (try_window_id):
Redo loop to convince GCC 6.1 that it is null pointer safe.
(x_color_cells):
Use eassume as necessary to pacify GCC 6.1.
* src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID): Now returns non-null.
(FACE_OPT_FROM_ID, IMAGE_OPT_FROM_ID): New macro, with the old
behavior of the non-_OPT macro, to be used when the result
might be a null pointer.
* src/dispnew.c (buffer_posn_from_coords, marginal_area_string)
[HAVE_WINDOW_SYSTEM]:
* src/intervals.h (INTERVAL_WRITABLE_P):
* src/term.c (turn_off_face):
* src/xdisp.c (get_glyph_face_and_encoding, fill_image_glyph_string)
(produce_image_glyph, produce_xwidget_glyph):
* src/xfaces.c (lookup_named_face):
Remove unnecessary test for null pointer.
* src/keyboard.c (read_char): Suppress bogus -Wclobbered warning.
* src/process.c (would_block): New function.
(server_accept_connection, wait_reading_process_output, send_process):
Use it.
* src/xdisp.c (get_window_cursor_type, note_mouse_highlight):
Prefer IMAGE_OPT_FROM_ID to IMAGE_FROM_ID when the result
might be null.
2016-05-18 00:49:29 -07:00
YAMAMOTO Mitsuharu
9344612d3c Disable multicolor fonts on OS X since they are not supported on free systems
* src/macfont.m (macfont_list): Don't use color bitmap fonts.
2016-04-12 08:27:24 +09:00
Paul Eggert
7352c6c695 Rework C source files to avoid ^(
Work around Bug#22884 by rewording comments and strings to avoid ‘(’
at the start of a line unless it starts a function.  This change
is a short-term hack; in the longer run we plan to fix cc-mode’s
performance for C files that have ‘(’ at the start of a line in a
comment or string.
2016-03-10 07:59:19 -08:00
Paul Eggert
0e963201d0 Update copyright year to 2016
Run admin/update-copyright.
2016-01-01 01:34:24 -08:00
YAMAMOTO Mitsuharu
59d08e9898 Remove font workaround for limited outdated versions
* src/macfont.m (mac_font_descriptor_get_adjusted_weight): Remove
workaround for HiraginoSans-W7 on OS X 10.11 and 10.11.1.
2015-12-09 18:20:25 +09:00
YAMAMOTO Mitsuharu
6cdd3c6b65 * src/macfont.m (macfont_encode_char, syms_of_macfont): Remove unused vars. 2015-10-05 09:16:21 +09:00
YAMAMOTO Mitsuharu
ecedfd66fc * src/macfont.m (mac_font_descriptor_supports_languages): Regard "zh" as synonym of "zh-Hans". 2015-09-30 19:05:27 +09:00
YAMAMOTO Mitsuharu
d22634e518 Work around crash when displaying etc/HELLO on OS X 10.11
* src/macfont.m (mac_font_get_weight)
(mac_font_descriptor_get_adjusted_weight): New functions.
(macfont_store_descriptor_attributes): Adjust weight.
2015-09-30 18:56:30 +09:00
YAMAMOTO Mitsuharu
ecbb6aeb5f * src/macfont.m: Fix compilation with USE_CT_GLYPH_INFO. 2015-09-30 18:43:25 +09:00
Paul Eggert
791355fd40 Prefer CALLN in a few more places
* src/macfont.m (macfont_set_family_cache):
* src/nsterm.m (append2):
* src/xterm.c (x_cr_export_frames):
Prefer CALLN to allocating the arg arrays by hand.
2015-09-23 14:44:35 -07:00
YAMAMOTO Mitsuharu
5e5ee391d9 Use Core Text types/functions/variables/enumerators directly
* src/macfont.h (FontDescriptorRef, FontRef, FontSymbolicTraits)
(CharacterCollection): Remove typedefs.  All uses replaced with
definitions.
(MAC_FONT_NAME_ATTRIBUTE, MAC_FONT_FAMILY_NAME_ATTRIBUTE)
(MAC_FONT_TRAITS_ATTRIBUTE, MAC_FONT_SIZE_ATTRIBUTE)
(MAC_FONT_CASCADE_LIST_ATTRIBUTE)
(MAC_FONT_CHARACTER_SET_ATTRIBUTE, MAC_FONT_LANGUAGES_ATTRIBUTE)
(MAC_FONT_FORMAT_ATTRIBUTE, MAC_FONT_SYMBOLIC_TRAIT)
(MAC_FONT_WEIGHT_TRAIT, MAC_FONT_WIDTH_TRAIT)
(MAC_FONT_SLANT_TRAIT): Remove macros.  All uses replaced with
definitions.
(MAC_FONT_TRAIT_ITALIC, MAC_FONT_TRAIT_BOLD)
(MAC_FONT_TRAIT_MONO_SPACE, MAC_FONT_TRAIT_COLOR_GLYPHS)
(MAC_FONT_FORMAT_BITMAP)
(MAC_CHARACTER_COLLECTION_IDENTITY_MAPPING)
(MAC_CHARACTER_COLLECTION_ADOBE_JAPAN1): Remove enumerators.  All
uses replaced with definitions.
(kCTFontTraitItalic, kCTFontTraitBold, kCTFontTraitMonoSpace)
(kCTFontTraitColorGlyphs, kCTCharacterCollectionIdentityMapping)
(kCTCharacterCollectionAdobeJapan1 kCTFontOrientationDefault): Add
compatibility enumerators for older versions.
(mac_font_descriptor_create_with_attributes)
(mac_font_descriptor_create_matching_font_descriptors)
(mac_font_descriptor_create_matching_font_descriptor)
(mac_font_descriptor_copy_attribute)
(mac_font_descriptor_supports_languages)
(mac_font_create_with_name, mac_font_get_size)
(mac_font_copy_family_name, mac_font_copy_character_set)
(mac_font_get_glyphs_for_characters, mac_font_get_ascent)
(mac_font_get_descent, mac_font_get_leading)
(mac_font_get_underline_position)
(mac_font_get_underline_thickness, mac_font_copy_graphics_font)
(mac_font_copy_non_synthetic_table): Remove macros.  All uses
replaced with definitions.
(mac_font_create_preferred_family_for_attributes)
(mac_font_get_advance_width_for_glyph)
(mac_font_get_bounding_rect_for_glyph)
(mac_font_create_available_families, mac_font_shape): Remove
macros for renamed functions.
(mac_nsctfont_copy_font_descriptor): Remove unused macro.
* src/macterm.m (mac_font_descriptor_supports_languages): Rename
from mac_ctfont_descriptor_supports_languages.
(mac_font_create_preferred_family_for_attributes): Rename from
mac_ctfont_create_preferred_family_for_attributes.
(mac_font_get_advance_width_for_glyph): Rename from
mac_ctfont_get_advance_width_for_glyph.  Use
kCTFontOrientationDefault also for older versions.
(mac_font_get_bounding_rect_for_glyph): Rename from
mac_ctfont_get_bounding_rect_for_glyph. Use
kCTFontOrientationDefault also for older versions.
(mac_font_create_available_families): Rename from
mac_ctfont_create_available_families.
(mac_font_equal_in_postscript_name): Rename from
mac_ctfont_equal_in_postscript_name.  All uses changed.
(mac_font_create_line_with_string_and_font): Rename from
mac_ctfont_create_line_with_string_and_font.  All uses changed.
(mac_font_shape): Rename from mac_ctfont_shape.
(mac_font_family_compare): Remove unused declaration.
2015-08-29 17:03:55 +09:00
YAMAMOTO Mitsuharu
1229e61ab8 * src/macfont.m (macfont_create_family_with_symbol): Accept localized names. 2015-08-25 11:06:27 +09:00
YAMAMOTO Mitsuharu
a1f783824f Avoid deprecated enums in mac-ct font backend driver
* src/macfont.m (mac_font_copy_default_descriptors_for_language)
(mac_ctfont_get_advance_width_for_glyph)
(mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
2015-07-13 19:14:25 +09:00
YAMAMOTO Mitsuharu
455fe1a7f1 Cache font family in mac-ct font backend driver
* src/macfont.m (macfont_family_cache): New variable.
(syms_of_macfont): Initialize it.
(macfont_available_families_cache): New variable.
(macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
(macfont_set_family_cache, macfont_invalidate_available_families_cache)
(macfont_handle_font_change_notification)
(macfont_init_font_change_handler)
(macfont_copy_available_families_cache): New functions.
(macfont_create_family_with_symbol): Use font family caches.
(macfont_list, macfont_list_family): Use
macfont_copy_available_families_cache instead of
mac_font_create_available_families.
2015-07-13 18:55:47 +09:00
YAMAMOTO Mitsuharu
4e81398f1c * src/macfont.m (macfont_list): Ignore font families lacking font descriptors. 2015-07-10 18:04:34 +09:00
Dmitry Antipov
4303d11029 Prefer INLINE functions in font.h to match style used in lisp.h
* 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.
2015-01-16 15:15:32 +03:00
Paul Eggert
58f2d6ef32 Compute C decls for DEFSYMs automatically
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.
2015-01-05 10:14:58 -08:00
Paul Eggert
7e09ef09a4 Update copyright year to 2015
Run admin/update-copyright.
2015-01-01 14:26:41 -08:00
Jan Djärv
bf7ded963c Clean up merge conflict.
* macfont.m (macfont_draw):
* nsterm.m (ns_mouse_position, judge): Clean up merge conflict.
2014-11-01 21:06:49 +01:00
Glenn Morris
d5d8ca30e5 Merge from emacs-24; up to 117656 2014-11-01 11:05:30 -07:00
Jan Djärv
4e0cc3517b * macfont.m (macfont_glyph_extents): Turn off syntetic bold
if force_integral_p (i.e. no antialias).
(macfont_draw): Check ns_antialias_text, also turn off syntetic
bold if no antialias.

Fixes: debbugs:18876
2014-10-31 19:41:07 +01:00
Paul Eggert
b73d3f5834 Update doc to say Mac OS X 10.6 or later now required.
* doc/emacs/macos.texi (Mac OS / GNUstep, Mac / GNUstep Basics)
(Mac / GNUstep Customization):
* nextstep/README: Mac OS X 10.6 or later now required.
2014-10-12 07:56:58 -07:00
Jan Djärv
9a265587d2 Require OSX >= 10.6. Remove PowerPC unexec code.
* 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:
2014-10-12 10:35:50 +02:00
Jan Djärv
6a4b1b1729 Import from macoport 24.3.94.
* 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.
2014-10-05 13:34:59 +02:00
Stefan Monnier
9949231fb0 Merge from emacs-24 2014-09-22 15:20:45 -04:00
Dmitry Antipov
fc5ebc3f49 On OSX, do not free font-specific data more than once (Bug#18501).
* macfont.m (macfont_close): Release and free font-specific data
only if it wasn't previously freed.
2014-09-22 09:34:05 +04:00
Dmitry Antipov
8661ebaa6c One more minor cleanup of font subsystem.
* 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.
2014-08-25 11:00:42 +04:00
Glenn Morris
190644a011 Merge from emacs-24; up to 2014-06-25T10:17:41Z!rgm@gnu.org 2014-07-21 02:03:08 -04:00
Jan Djärv
880b716696 * macfont.h (macfont_update_antialias_threshold): Declare.
* 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
2014-07-20 15:18:47 +02:00
Dmitry Antipov
96f17a2f73 * font.c (font_build_object) [HAVE_XFT || HAVE_FREETYPE || HAVE_NS]:
New function, with an intention to avoid code duplication between
a few font drivers.
* font.h (font_build_object) [HAVE_XFT || HAVE_FREETYPE || HAVE_NS]:
Add prototype.
* ftfont.c (ftfont_open):
* macfont.m (macfont_open):
* xftfont.c (xftfont_open): Use it.
2014-07-08 18:50:45 +04:00
Dmitry Antipov
9d7b0167fd * font.h (struct font_driver): Remove get_outline and free_outline;
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.
2014-07-04 06:28:54 +04:00