These semicolons are ignored and cause compiler warnings.
* src/nsimage.m (setPixelAtX:Y:toRed:green:blue:alpha:):
* src/nsterm.m (init, updateFrameSize:):
(setFrame:): Remove trailing semicolon.
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
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.
This is for Fedora 24 when configured with --enable-gcc-warnings.
Although it does not fix all the problems, it fixes many of them.
* src/frame.c (XParseGeometry):
* src/nsterm.m (mouseDown:):
Mark locals with UNINIT to pacify --enable-gcc-warnings.
* src/image.c (PIX_MASK_DRAW, DefaultDepthOfScreen):
Remove unused macros.
(slurp_file xbm_scan, xbm_read_bitmap_data, xbm_load_image)
(xbm_file_p, xbm_load, xpm_scan, xpm_make_color_table_v)
(xpm_put_color_table_v, xpm_get_color_table_v)
(xpm_make_color_table_h, xpm_put_color_table_h)
(xpm_get_color_table_h, xpm_load_image, xpm_load)
(pbm_next_char, pbm_scan_number, pbm_load, svg_load)
(svg_load_image):
* src/nsfns.m (x_get_string_resource):
* src/nsimage.m (ns_image_from_XBM):
Fix pointer signedness problems.
* src/image.c (xpm_load_image, x_build_heuristic_mask, pbm_load)
(imagemagick_load_image): Omit unused locals.
* src/nsfns.m (ns_send_types, ns_return_types, ns_drag_types)
(Fx_open_connection):
* src/nsfont.m (ns_antialias_threshold):
Move extern decl to nsterm.h so it can be checked.
* src/nsmenu.m (svcsMenu, dockMenu):
Move to the only file that uses them, so they can be static.
* src/nsterm.h (find_and_call_menu_selection):
* src/nsterm.m (x_set_frame_alpha):
Omit duplicate decls.
* src/nsterm.h (ns_dump_glyphstring): Mark as EXTERNALLY_VISIBLE.
* src/nsfns.m (ns_tooltip, ns_display_info_for_name)
(ns_set_name_as_filename, x_set_menu_bar_lines)
(x_set_tool_bar_lines, x_set_internal_border_width):
* src/nsterm.m (ns_drag_types, ns_draw_text_decoration):
Now static.
* src/nsfns.m (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp):
* src/nsterm.m (ns_free_indexed_color, ns_color_to_lisp):
Remove; unused.
* src/nsfont.m (ns_dump_glyphstring):
* src/nsterm.m (hide_bell, ns_get_color, ns_color_to_lisp)
(ns_clear_frame, keyDown:):
Fix signedness problem with printf arg.
* src/nsterm.h (ns_input_events, ns_finish_events):
* src/nsterm.m (ns_finish_events, hide_bell):
Prototype the decls.
* src/nsterm.m (NSMenuDidBeginTrackingNotification):
Omit unnecessary decl.
(dockMenu):
(mainMenu) [NS_IMPL_COCOA]: Now static, and in this file.
(ns_dumpglyphs_box_or_relief, changeFont:, initFrameFromEmacs:)
(toggleFullScreen:): Use FACE_FROM_ID instead of
FACE_FROM_ID_OR_NULL in contexts where the caller expects the
result to be non-null.
(applicationShouldTerminate:): Fix misleading indentation.
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.
Trace can be disabled for groups of functions. By default, event
functions and functions that generate lots of output are disabled.
Trace output of Objective-C functions now use the "[ClassName
parameter:]" form.
* src/nsterm.h (NSTRACE_ALL_GROUPS, NSTRACE_GROUP_EVENTS)
(NSTRACE_GROUP_UPDATES, NSTRACE_GROUP_FRINGE, NSTRACE_GROUP_COLOR)
(NSTRACE_GROUP_GLYPHS, NSTRACE_GROUP_FOCUS): New macros,
controlling in which function groups trace should be active.
(NSTRACE_WHEN): Support for silencing a function, this also
silencing all called functions.
(NSTRACE_UNSILENCE): New macro, used to re-enable trace.
(NSTRACE_FMT_FSTYPE, NSTRACE_ARG_FSTYPE): New macros, used to
print the full screen state in NSTRACE functions.
* src/nsterm.m (nstrace_depth, nstrace_num): Made volatile as they
can be accessed from multiple threads.
(nstrace_enabled_global): New variable, when FALSE, trace is
silenced.
(nstrace_restore_global_trace_state): New function, used to
restore `nstrace_enabled_global' at end of block.
([EmacsView setFrame:], [EmacsWindow setFrame:display:])
([EmacsWindow setFrame:display:animation:])
([EmacsWindow setFrameTopLeftPoint:]): New functions, print trace
and call corresponding super function.
(Many functions): Add or enhance trace output.
* src/nsimage.m (ns_image_from_file): Enhanced trace output.
* src/nsfns.m (x_set_tool_bar_lines): Add trace output.
* src/nsmenu.m ([EmacsToolbar setVisible:]): New function, print trace
and call corresponding super function.
The fringe bitmaps were inverted, the background was not transparent,
the image data was horizontally mirrored, and periodic fringe bitmaps
were not supported.
* nsimage.m ([EmacsImage initFromXBM:width:height:fg:bg:]): When
both background and foreground colors are 0, set the background
alpha channel to 0 (making the background transparent). When
copying the image data, do this from the most significant bit
(leftmost) to the least (rightmost), to avoid mirroring.
* nsterm.m (ns_draw_fringe_bitmap): Don't invert the image bits. Add
support for periodic images (e.g. the empty line indicator).
Full-height, full-width, and maximized windows now cover the
entire screen (except the menu bar), including the part where the
system dock is placed. The system zoom animation is no longer
used.
Made NonMaximized->FullWidth->FullHeight->NonMaximized restore the
original size.
* nsterm.m (ns_menu_bar_height): New function, return height of
the menu bar, or 0 when it's hidden.
* nsterm.m (constrain_frame_rect): New function for constraining a
frame.
* nsterm.m (ns_constrain_all_frames): Set frame size explicitly
rather than relying on the system doing it for us by writing back
the current frame size.
* nsterm.m (windowWillUseStandardFrame): Register non-maximized
width or height as new user size. When entering full width or
height, the other size component is taken from the user size.
* nsterm.m (fullscreenState): New method for accessing the
fullscreen state.
* nsterm.m (constrainFrameRect): Restrict frame to be placed under
the menu bar, if present. The old version, sometimes, restricted
the height of a frame to the screen, this version never does this.
* nsterm.m (zoom): Perform zoom by setting the frame to the full
size of the screen (minus the menu bar). The default system
function, with the zoom animation, is no longer used, as the final
frame size doesn't cover the entire screen.
Rework how to constrain resizing to the character grid. The old
system used "resizeIncrements" in NSWindows. However, once a frame
was resized so that it was not aligned to the text grid, it
remained unaligned even after a resize. In addition, it conflicted
when resizing a fullheight window.
* nsterm.m (windowWillResize): Restrict frame size to text grid,
unless when pixelwise frame resizing is enabled.
* nsterm.m (updateFrameSize, initFrameFromEmacs)
(toggleFullScreen, handleFS): Don't set resizeIncrements.
Redesign the NS trace system. The call structure is represented
using indentations and vertical lines. The NSTRACE macro accepts
printf-style arguments. New macros for printing various
information.
* nsterm.h (NSTRACE_ENABLED): Macro to enable trace system.
* nsterm.h (NSTRACE, NSTRACE_WHEN, NSTRACE_UNLESS): Macros to
start a new block (typically a function), accept printf-style
arguments.
* nsterm.h (NSTRACE_MSG): Macro for extra information, accepts
printf-style arguments.
* nsterm.h (NSTRACE_what): Macros for printing various types.
* nsterm.h (NSTRACE_FMT_what): Macro with printf format string
snippets.
* nsterm.h (NSTRACE_ARG_what): Macros for passing printf-style
arguments, corresponds to NSTRACE_FMT_what.
* nsterm.h (NSTRACE_RETURN): Macro to print return value, accept
printf-style arguments.
* nsterm.h (NSTRACE_RETURN_what): Macros to print return value for
various types.
* nsterm.m: Remove old NSTRACE macro.
* nsterm.m (nstrace_num): Trace counter.
* nsterm.m (nstrace_depth): Current call depth.
* nsterm.m (nstrace_leave): NSTRACE support function, called when
the local variable "nstrace_enabled" goes out of scope using the
"cleanup" extension.
* nsterm.m (ns_print_fullscreen_type_name): NSTRACE_FSTYPE support
function.
* nsterm.m (constrain_frame_rect, ns_constrain_all_frames)
(ns_update_auto_hide_menu_bar, ns_update_begin)
(ns_update_window_begin, update_window_end, ns_update_end)
(ns_focus, ns_unfocus, ns_ring_bell, ns_frame_raise_lower)
(ns_frame_rehighlight, x_make_frame_visible)
(x_make_frame_invisible, x_iconify_frame, x_free_frame_resources)
(x_destroy_window, x_set_offset, x_set_window_size)
(ns_fullscreen_hook, ns_lisp_to_color, ns_color_to_lisp)
(ns_defined_color, frame_set_mouse_pixel_position)
(note_mouse_movement, ns_mouse_position, ns_frame_up_to_date)
(ns_define_frame_cursor, x_get_keysym_name, ns_redraw_scroll_bars)
(ns_clear_frame, ns_clear_frame_area, ns_scroll_run)
(ns_after_update_window_line, ns_shift_glyphs_for_insert)
(dumpcursor, ns_draw_vertical_window_border)
(ns_draw_window_divider, ns_draw_relief)
(ns_dumpglyphs_box_or_relief, ns_maybe_dumpglyphs_background)
(ns_dumpglyphs_image, ns_draw_glyph_string, ns_send_appdefined)
(ns_read_socket, ns_select, ns_set_vertical_scroll_bar)
(ns_set_horizontal_scroll_bar, ns_condemn_scroll_bars)
(ns_redeem_scroll_bar, ns_judge_scroll_bars, ns_delete_terminal)
(ns_create_terminal, ns_term_init, sendEvent)
(applicationDidFinishLaunching, applicationDidBecomeActive)
(timeout_handler, fd_handler, EmacsView_dealloc, changeFont)
(acceptsFirstResponder, resetCursorRects, keyDown, mouseDown)
(deltaIsZero, rightMouseDown, otherMouseDown, mouseUp)
(rightMouseUp, otherMouseUp, scrollWheel, mouseMoved)
(mouse_autoselect_window, in_window, mouseDragged)
(rightMouseDragged, otherMouseDragged, windowShouldClose)
(updateFrameSize, windowWillResize, windowDidResize)
(windowDidBecomeKey, windowDidResignKey, windowWillMiniaturize)
(initFrameFromEmacs, windowDidMove, windowDidDeminiaturize)
(windowDidExpose, windowDidMiniaturize, windowWillEnterFullScreen)
(windowDidEnterFullScreen, windowWillExitFullScreen)
(windowDidExitFullScreen, toggleFullScreen, handleFS, setFSValue)
(mouseEntered, mouseExited, menuDown, toolbarClicked, drawRect)
(draggingEntered, performDragOperation, validRequestorForSendType)
(setMiniwindowImage, constrainFrameRect, performZoom, zoom)
(EmacsScroller_initFrame, EmacsScroller_setFrame)
(EmacsScroller_dealloc, condemn, reprieve, judge)
(resetCursorRects, setPosition, EmacsScroller_mouseDown)
(EmacsScroller_mouseDragged, syms_of_nsterm): Use new trace system.
* nsfns.m: Remove old NSTRACE macro.
* nsfns.m (x_set_icon_name, ns_set_name, x_explicitly_set_name)
(x_implicitly_set_name, x_set_title, ns_set_name_as_filename)
(ns_implicitly_set_icon_type, x_set_icon_type): Use new trace system.
* nsimage.m: Remove old NSTRACE macro.
* nsimage.m (ns_image_from_XBM, ns_image_for_XPM)
(ns_image_from_bitmap_file, ns_load_image): Use new trace system.
* nsmenu.m: Remove old NSTRACE macro.
* nsmenu.m (ns_update_menubar, ns_menu_show, ns_popup_dialog):
Use new trace system.
Also, close some minor races when opening image files, by opening
them once instead of multiple times.
* src/gtkutil.c (xg_get_image_for_pixmap):
* src/image.c (xpm_load, tiff_load, gif_load, imagemagick_load)
(svg_load):
* src/nsimage.m (allocInitFromFile:):
* src/xfns.c (xg_set_icon):
Encode file name, since x_find_image_file no longer does that.
* src/image.c (x_find_image_fd): New function.
(x_find_image_file): Use it. Do not encode resulting file name,
since callers sometimes need it decoded.
(slurp_file): File arg is now a fd, not a file name.
All callers changed. This saves us having to open the file twice.
(xbm_load, xpm_load, pbm_load, png_load_body, jpeg_load_body)
(svg_load):
Use x_find_image_fd and fdopen to save a file-open.
Report file name that failed.
* src/lread.c (openp): If PREDICATE is t, open the file in binary mode.
* src/alloc.c (run_finalizer_handler):
* src/charset.c (load_charset_map_from_vector):
* src/nsimage.m (ns_load_image):
* src/xfaces.c (load_pixmap, load_color2):
Simplify, now that add_to_log has a variable number of args.
* src/image.c (image_error): Take a variable number of args.
Callers simplified.
* src/lisp.h (add_to_log, vadd_to_log): Adjust to new APIs.
* src/xdisp.c (format_nargs, vadd_to_log): New functions.
(add_to_log): Make varargs, and reimplement in terms of vadd_to_log.
* src/xfaces.c (merge_face_ref): Fix typo that omitted color name.
* nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions.
(Fns_read_file_name): Check against MODAL_OK_RESPONSE.
(compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
* nsmenu.m (initWithContentRect:styleMask:backing:defer:)
* nsimage.m (allocInitFromFile, setPixmapData): Only call
setScalesWhenResized for OSX < 10.6.
* nsterm.h (EmacsScroller): Declare scrollerWidth.
* nsterm.m (ns_copy_bits): New function that does not use deprecated
NSCopyBits.
(ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
(runAlertPanel): New function.
(applicationShouldTerminate:): Call runAlertPanel.
(initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing
for OSX < 10.10.
(initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
(windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
(draggingEntered:): Returns NSDragOperation.
(scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
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.
Fixes: debbugs:19133
* nsimage.m (allocInitFromFile:): Initialize bmRep.
(dealloc): Release bmRep.
(setPixmapData): Make bmRep local so class member is not
set.
* nextstep/templates/Info-gnustep.plist.in: Add NSDocumentClass EmacsDocument.
* src/nsfns.m (x_set_foreground_color, x_set_background_color): Use
EmacsCGFloat.
(ns_implicitly_set_icon_type, Fx_create_frame): Make static, remove
unused variables.
(Fns_read_file_name): Keep track if panel is for save. Use
ns_filename_from_panel/ns_directory_from_panel.
(Fns_list_services): delegate only used for COCOA.
(Fns_convert_utf8_nfd_to_nfc): Remove warning for GNUStep. Just
return the input if GNUStep.
(x_screen_planes): Remove.
(Fxw_color_values): Use EmacsCGFloat
(Fns_display_monitor_attributes_list): Only get screen number for
Cocoa.
(getDirectory, getFilename): Removed from EmacsOpenPanel and
EmacsSavePanel.
(EmacsOpenPanel🆗): Use ns_filename_from_panel and
ns_directory_from_panel.
* src/nsfont.m (ns_attribute_fvalue, ns_spec_to_descriptor)
(ns_charset_covers, ns_get_covering_families, nsfont_open):
Use F suffix on floats.
(ns_char_width): Returns CGFloat.
(ns_ascii_average_width): w is CGFloat instead of float.
(nsfont_draw): cbuf and c are unsigned. Cast to char* in call to
DPSxshow.
(ns_glyph_metrics): CGFloat instead of float.
* src/nsimage.m (setXBMColor:, getPixelAtX:Y:): Use EmacsCGFloat.
* src/nsmenu.m (ns_update_menubar): Make static.
(x_activate_menubar): Surround with ifdef NS_IMPL_COCOA
(fillWithWidgetValue:): Add cast to SEL for setAction.
(addSubmenuWithTitle:forFrame:): Add cast to SEL for action.
(update_frame_tool_bar): Update code for GNUStep.
(clearAll): New method.
(addDisplayItemWithImage:idx:tag:helpText:enabled:): Handle new tag
argument. Call insertItemWithItemIdentifier when NS_IMPL_GNUSTEP. Move
identifierToItem setObject and activeIdentifiers addObject before
call to insertItemWithItemIdentifier.
(validateVisibleItems): Fix indentation.
(toolbarAllowedItemIdentifiers:): Return activeIdentifiers.
(initWithContentRect:styleMask:backing:defer:): Add ClosableWindow and
UtilityWindow to aStyle, remove call to setStyleMask.
* src/nsselect.m (ns_get_local_selection): Remove unused variable type.
* src/nsterm.h (EmacsCGFloat): Typedef for OSX and GNUStep when the size
of CGFloat differs.
(EmacsApp): New variable nextappdefined. Declare sendFromMainThread
when NS_IMPL_GNUSTEP.
(EmacsDocument): Declare when NS_IMPL_GNUSTEP.
(EmacsView): Remove unlockFocusNeedsFlush, add windowDidMove.
(EmacsToolbar): Add clearAll. Add tag argument to
addDisplayItemWithImage.
(EmacsSavePanel, EmacsOpenPanel): Remove getFilename and getDirectory.
* src/nsterm.m: Include src/process.h if NS_IMPL_GNUSTEP.
(ns_menu_bar_is_hidden, menu_will_open_state): Define only if
NS_IMPL_COCOA.
(x_set_cursor_type): Remove declaration.
(ns_update_begin): Only use r and bp if NS_IMPL_COCOA.
(ns_update_end, ns_focus, ns_unfocus): Remove GNUStep specific code.
(x_set_window_size): Remove 3 pixels from toolbar if NS_IMPL_GNUSTEP.
(ns_get_color): Use F suffix on float.
(ns_color_to_lisp, ns_query_color): Use EmacsCGFloat.
(ns_get_rgb_color): Remove.
(x_set_frame_alpha): Move view inside NS_IMPL_COCOA.
(note_mouse_movement): x and y are CGFloat.
(ns_draw_fringe_bitmap): Remove unused rowY.
Change #if to COCOA && >= 10_6.
(ns_draw_window_cursor): Remove unused overspill.
(ns_draw_underwave): width and x are EamcsCGFloat.
(ns_draw_box): thickness is CGFloat.
(ns_dumpglyphs_image): Change #if to COCOA && >= 10_6.
(ns_send_appdefined): When NS_IMPL_GNUSTEP, redirect to main thread
if not in main thread.
(ns_get_pending_menu_title, ns_check_menu_open)
(ns_check_pending_open_menu): Put inside #if COCOA && >= 10_5.
(ns_term_init): Call catch_child_signal if NS_IMPL_GNUSTEP && SIGCHLD.
(sendFromMainThread:): New method.
(changeFont:): size is CGFloat.
(keyDown:): Check for Delete when NS_IMPL_GNUSTEP.
Disable warning about permanent text.
(characterIndexForPoint:): Adjust return type depending on GNUStep
version.
(mouseDown:): delta is CGFloat.
(updateFrameSize): Remove unised variable f.
(initFrameFromEmacs): Move toggleButton inside NS_IMPL_COCOA.
Cast float to EmacsCGFloat.
(windowWillUseStandardFrame:defaultFrame:): Set maximized_height
also to -1 when restoring.
(windowDidExitFullScreen:): Put call to updateCollectionBehaviour
inside NS_IMPL_COCOA.
(toggleFullScreen:): Put call to toggleFullScreen inside
NS_IMPL_COCOA. Cast float to EmacsCGFloat.
(setPosition:portion:whole:): por is CGFloat.
(getMouseMotionPart🪟x:y:): Add F suffix to float.
(mouseDown:): Use CGFloat.
(mouseDragged:): Remove unised variable edge.
(EmacsDocument): Implement for NS_IMPL_GNUSTEP.
* src/process.c (catch_child_signal): New function.
(init_process_emacs): Call it.
* src/process.h (catch_child_signal): Declare.
* configure.ac (HAVE__SETJMP, HAVE_SIGSETJMP): New symbols.
(_setjmp, _longjmp): Remove.
* src/lisp.h: Include <setjmp.h> here, since we use its symbols here.
All instances of '#include <setjmp.h>' removed, if the
only reason for the instance was because "lisp.h" was included.
(sys_jmp_buf, sys_setjmp, sys_longjmp): New symbols.
Unless otherwise specified, replace all uses of jmp_buf, _setjmp,
and _longjmp with the new symbols. Emacs already uses _setjmp if
available, so this change affects only POSIXish hosts that have
sigsetjmp but not _setjmp, such as some versions of Solaris and
Unixware. (Also, POSIX-2008 marks _setjmp as obsolescent.)
* src/image.c (_setjmp, _longjmp) [HAVE_PNG && !HAVE__SETJMP]: New macros.
(png_load_body) [HAVE_PNG]:
(PNG_LONGJMP) [HAVE_PNG && PNG_LIBPNG_VER < 10500]:
(PNG_JMPBUF) [HAVE_PNG && PNG_LIBPNG_VER >= 10500]:
Use _setjmp and _longjmp rather than sys_setjmp and sys_longjmp,
since PNG requires jmp_buf. This is the only exception to the
general rule that we now use sys_setjmp and sys_longjmp.
This exception is OK since this code does not change the signal
mask or longjmp out of a signal handler.
Fixes: debbugs:12446
* emacs.c: Declare unexec_init_emacs_zone.
* nsfns.m (check_ns_display_info): Cast to long and use %ld in error
to avoid warning.
* nsimage.m (allocInitFromFile): Don't use deprecated method
bestRepresentationForDevice on OSX >= 10.6.
* nsmenu.m (fillWithWidgetValue): Don't use depercated method
sizeToFit on OSX >= 10.2.
* nsselect.m (ns_string_from_pasteboard): Don't use deprecated methods
cString and lossyCString on OSX >= 10.4
* nsterm.h (MAC_OS_X_VERSION_10_3, MAC_OS_X_VERSION_10_4)
(MAC_OS_X_VERSION_10_5): Define if not defined.
(EmacsView, EmacsTooltip): Implements NSWindowDelegate on OSX >= 10.6.
(EmacsMenu): Implements NSMenuDelegate on OSX >= 10.6.
(EmacsToolbar): Implements NSToolbarDelegate on OSX >= 10.6.
* nsterm.m (keyDown): Call to wantsToDelayTextChangeNotifications and
variable firstTime not needed on OSX >= 10.6.
(setPosition): setFloatValue:knobProportion: is deprecated on OSX
>= 10.5. Use setKnobProportion, setDoubleValue.