1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-15 11:21:19 -07:00
Commit graph

42434 commits

Author SHA1 Message Date
Alan Third
e63a0c466c Fix NS build failure
* src/thread.c: xgselect isn't used with NS, even when HAVE_GLIB is
defined.
2020-08-22 16:31:02 +01:00
Alan Third
96e5d8ce0d Extend NSString further and use the new methods
* src/nsfns.m (ns_set_icon_name):
(ns_set_name):
(ns_set_represented_filename):
(ns_implicitly_set_icon_type):
(ns_set_icon_type):
(ns_appkit_version_str):
(Fx_create_frame):
(Fns_read_file_name):
(Fns_get_resource):
(Fns_set_resource):
(Fns_list_colors):
(Fns_perform_service):
(ns_do_applescript): Use the new NSString methods.
([NSString stringWithLispString:]): Fix the surrogate algorithm.
([NSString lispString]): New method.
* src/nsterm.h (NSString): Add new method.
* src/nsterm.m ([EmacsApp openFile:]):
([EmacsApp requestService:userData:error:]):
([EmacsApp fulfillService:withArg:]):
([EmacsView changeFont:]):
([EmacsView setMarkedText:selectedRange:]):
([EmacsView initFrameFromEmacs:]):
([EmacsView performDragOperation:]):
([EmacsView performDragOperation:]):
([EmacsView performDragOperation:]):
([EmacsWindow accessibilityAttributeValue:]): Use the new NSString
methods.
2020-08-22 16:19:37 +01:00
Lars Ingebrigtsen
ac1270de40 Fread_variable doc string clarification
* src/minibuf.c (Fread_variable): Doc string clarification (bug#38886).
2020-08-21 16:55:55 +02:00
Lars Ingebrigtsen
70964b9c6b Mention `exec-path' in some process related doc strings
* src/callproc.c (Fcall_process_region):
(Fcall_process):
* src/process.c (Fmake_process): Mention `exec-path' in the doc
strings (bug#42704).
2020-08-21 16:15:18 +02:00
Noam Postavsky
9d4b11132b Clarify docs about line movement
* doc/lispref/positions.texi (Text Lines, Screen Lines): Add index
entries.
* lisp/simple.el (move-beginning-of-line): Remove incorrect mention of
images, and reference beginning-of-visual-line.
* src/editfns.c (Fline_beginning_position): Reference
`vertical-motion' (bug#35899).
2020-08-21 15:08:27 +02:00
Pip Cet
9c62ffb082 Fix lock failures in xg_select
* src/xgselect.c (release_select_lock, acquire_select_lock):
Introduce.
(xg_select): Use `acquire_select_lock', `release_select_lock'.
* src/thread.c (release_select_lock): Introduce for non-GLib builds.
(really_call_select): Call `release_select_lock'.  Simplify by
ensuring acquisition of the lock always succeeds (bug#36609).
2020-08-21 14:56:06 +02:00
Pip Cet
19ee08f1e8 Fix return value for CCL opcode lookup-integer
* src/ccl.c (ccl_driver): Fix LookupIntConstTbl return value.
* test/lisp/international/ccl-tests.el (ccl-hash-table): Add test.
* lisp/international/ccl.el (ccl-embed-data): Don't pass non-numbers
to `ccl-fixnum' (bug#36740).
2020-08-21 14:47:45 +02:00
Lars Ingebrigtsen
165fd028d8 Make image cache lookups work again after previous patch
* src/image.c (search_image_cache): Fix reversed logic in previous
patch.
2020-08-21 01:29:32 +02:00
Mattias Engdegård
bf60338d6d Fix NS crash on invalid frame title string (bug#42904)
Instead of blindly assuming that all Emacs strings are valid UTF-8,
which they are not, use a more careful conversion going via UTF-16
which is what NSString uses internally.  Unpaired surrogates will
still go through to the NSString objects, but the NS libs handle them
gracefully.

* src/nsterm.h (EmacsString): New category.
* src/nsfns.m (all_nonzero_ascii): New helper function.
([NSString stringWithLispString:]): New method.
(ns_set_name_internal): Use new conversion method.
2020-08-20 19:39:14 +02:00
Doug Gilmore
a7291a9fb9 Fix a segfault in daemon mode Emacs when detaching an X session
* src/xterm.c (x_uncatch_errors): Add a sanity check for
x_error_message (bug#23939).
2020-08-19 14:05:19 +02:00
Lars Ingebrigtsen
9e586ac1d1 Signal an end-of-file error upon errors when reading from stdin
* src/minibuf.c (read_minibuf_noninteractive): Signal an
`end-of-file' error when reading from stdin instead of a general
error (bug#34123).  This makes it easier to write code that
recovers from this situation.

Suggested by Noam Postavsky <npostavs@gmail.com>.
2020-08-19 12:55:46 +02:00
Alan Third
92ec47981a Get rid of build-time checks around NS tabbar code (bug#33118)
* src/nsterm.m ([EmacsView initFrameFromEmacs:]): Get rid of version
checks.
2020-08-18 22:43:21 +01:00
Robert Pluim
b4f05274c7 Fix truncated command names in process-attributes under Macos
* src/sysdep.c (system_process_attributes): Fix truncation of
command names in process-attributes under Macos (bug#36287).
2020-08-18 20:31:42 +02:00
Pip Cet
495aa532f1 Fix minor bugs in image.c
* test/src/image-tests.el (image-test-circular-specs): New file.
* src/image.c (parse_image_spec): Return failure for circular lists.
(valid_image_p): Don't look at odd-numbered list elements expecting to
find a property name.
(image_spec_value): Handle circular lists.
(equal_lists): Introduce.
(search_image_cache): Use `equal_lists' (bug#36403).
2020-08-18 18:27:05 +02:00
Kalle Olavi Niemitalo
4670969e67 Fix buffer overflow in x-send-client-message
* xselect.c (x_fill_property_data): Add parameter NELEMENTS_MAX.
* xterm.h (x_fill_property_data): Update prototype.
* xselect.c (Fx_send_client_event): Update call.  This fixes
  a buffer overflow in event.xclient.data.
* xfns.c (Fx_change_window_property): Update call (bug#23482).

Copyright-paperwork-exempt: yes
2020-08-18 17:05:08 +02:00
Glenn Morris
06738a40d1 Merge from origin/emacs-27
362ca83a3b (origin/emacs-27) Let Emacs start even if curdir is inacce...
dd989c0ea0 * etc/NEWS: Mention GnuPG 2.0 through 2.1.5 issue (Bug#428...
4542b750cc Fix bug with ~/Emacs file not being read at init
9b403d624e ; Fix last change
6bff65a626 ; * doc/lispref/sequences.texi (Sequence Functions): Typo ...
3c4edfd85e Prevent from frozen frame after `C-z' in Lucid builds
98e8241992 Document the 'flex' completion style
19fa8b7ca3 Note that Emacs needs systemd support if systemd is used t...

# Conflicts:
#	etc/NEWS
2020-08-18 07:51:08 -07:00
Glenn Morris
013ddd1e5d Merge from origin/emacs-27
cf0ee6f49b ; spelling fixes
16f4f26632 Fix startup working dir bug on NeXTSTEP
2020-08-18 07:51:05 -07:00
Paul Eggert
9905001e4b Fix glitch uncovered by gcc -fsanitize=undefined
* src/ccl.c (ccl_driver): Defend against signed integer
overflow (Bug#42660).  Perhaps some of this is unnecessary,
but it is safe and ccl.c is low-priority these days.
2020-08-17 17:55:09 -07:00
Eli Zaretskii
3a17b9f265 Fix assertion violation in pdumper.c
* src/pdumper.c (pdumper_find_object_type_impl): When checking
last_mark_bits, require the offset to be less than
discardable_start, not cold_start.  This fixes a typo introduced in
2020-08-14T21:33:21Z!eggert@cs.ucla.edu (Bug#42832).
2020-08-17 09:30:40 -07:00
Robert Pluim
4542b750cc Fix bug with ~/Emacs file not being read at init
* src/xrdb.c (get_user_app): Put "/" between homedir
and %L or %N (Bug#42827).
2020-08-16 21:41:03 -07:00
Paul Eggert
0c86f5592e Simplify format_time_string
* src/timefns.c (emacs_nmemftime, format_time_string):
Simplify on the basis of recent nstrftime changes.
Propagate nstrftime errno.
2020-08-16 14:30:29 -07:00
Lars Ingebrigtsen
bdda935a7d Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 2020-08-16 20:25:53 +02:00
Lars Ingebrigtsen
ada0b9b94e Implement list-system-processes on OpenBSD
* src/sysdep.c: Implement list-system-processes on OpenBSD:
(bug#13881).  Based on a patch by Jérémie Courrèges-Anglas.
2020-08-16 20:25:44 +02:00
Paul Eggert
748afc183c Fix recently-introduced Fdelete bug
Problem reported by Pip Cet in:
https://lists.gnu.org/r/emacs-devel/2020-08/msg00444.html
* src/fns.c (Fdelete): Fix correctness bug via a simpler (though more
memory-intensive) approach.  It’s probably not worth optimizing
the memory usage yere.
* test/src/fns-tests.el (test-vector-delete): Add test for the bug.
2020-08-15 12:37:04 -07:00
Paul Eggert
b467bb531e Minimize ‘equal’ calls in (delete x vector)
* src/fns.c (Fdelete): When deleting from a vector, call Fequal
only once per vector element.  This is faster when Fequal is slow,
and avoids the need to preinitialize the vector result.  Finish
when the result is exhausted, not when the input is exhausted;
the two are equivalent but the former may be faster.
* test/src/fns-tests.el (test-vector-delete): New test.
2020-08-15 11:19:51 -07:00
Paul Eggert
e97def2bbc Fdelete speed tweak for strings
* src/fns.c (Fdelete): Hoist FIXNUMP out of a loop,
and turn it into CHARACTERP.
2020-08-15 11:19:51 -07:00
Paul Eggert
f1b06fd5fc Prefer Fvector to make_uninit_vector
Fvector is less error-prone than make_uninit_vector, as it
avoids the possibility of a GC crash due to an uninitialized
vector.  So prefer Fvector to make_uninit_vector when this is
easy (and when there's no significant performance difference).
Inspired by a suggestion by Pip Cet in:
https://lists.gnu.org/r/emacs-devel/2020-08/msg00313.html
* src/ccl.c (Fregister_ccl_program):
* src/ccl.c (Fregister_ccl_program):
* src/charset.c (Fdefine_charset_internal):
* src/font.c (Fquery_font, Ffont_info, syms_of_font):
* src/fontset.c (font_def_new, Fset_fontset_font):
* src/ftfont.c (ftfont_shape_by_flt):
* src/hbfont.c (hbfont_shape):
* src/macfont.m (macfont_shape):
* src/search.c (Fnewline_cache_check):
* src/xfaces.c (Fx_family_fonts):
* src/xfns.c (Fx_window_property_attributes):
Prefer Fvector to make_uninit_vector when either is easy.
* src/fontset.c (font_def_new): Now a function with one less
arg instead of a do-while macro, and renamed from FONT_DEF_NEW.
All uses changed.
2020-08-15 11:19:51 -07:00
Paul Eggert
d0145537fa Fix GC bugs related to uninitialized vectors
Avoid problems if GC occurs while initializing a vector.
Problem with Fdelete reported by Pip Cet in:
https://lists.gnu.org/r/emacs-devel/2020-08/msg00313.html
I looked for similar problems elsewhere and found quite a few.
* src/coding.c (make_subsidiaries):
* src/composite.c (syms_of_composite):
* src/font.c (build_style_table, Ffont_get_glyphs):
* src/nsselect.m (clean_local_selection_data):
* src/nsxwidget.m (js_to_lisp):
* src/syntax.c (init_syntax_once):
* src/window.c (Fcurrent_window_configuration):
* src/xselect.c (selection_data_to_lisp_data)
(clean_local_selection_data):
Use make_nil_vector instead of make_uninit_vector.
* src/fns.c (Fdelete):
* src/xwidget.c (webkit_js_to_lisp):
Use allocate_nil_vector instead of allocate_vector.
* src/search.c (Fnewline_cache_check):
Use make_vector instead of make_uninit_vector.
2020-08-15 11:19:51 -07:00
Tino Calancha
3c4edfd85e Prevent from frozen frame after `C-z' in Lucid builds
Some WMs (e.g. mutter in Gnome Shell) don't unmap iconized windows,
thus we won't get a MapNotify when deconifying them.
Check if we are deconifying a window elsewhere (Bug#42655).

- src/xterm.c (handle_one_xevent):
Check for window deconify when receiving a FocusIn signal.
2020-08-15 16:18:03 +02:00
Eli Zaretskii
83000ae6d7 Don't wrap lines at NBSP when nobreak-char-display is t
* src/xdisp.c (get_next_display_element): When
nobreak-char-display is t, display NBSP and non-ASCII hyphens as
themselves, not as their ASCII counterparts, just with the
nobreak-space/nobreak-hyphen face.  (Bug#42811)
2020-08-15 13:23:58 +03:00
Paul Eggert
f712cdbe9e Pacify Apple clang 11 __builtin_assume
Problem reported by Mattias Engdegård in:
https://lists.gnu.org/r/emacs-devel/2020-08/msg00300.html
* src/lisp.h (bool_vector_bitref, bool_vector_set):
Use eassert instead of eassume for bool_vector_size checks.
2020-08-14 19:29:46 -07:00
Paul Eggert
4ecc2ba01d Fix bus error on Debian bullseye
Problem reported by Lars Ingebrigtsen, and problem diagnosis
and most of this patch by Pip Cet (Bug#42832).
* src/pdumper.c (dump_bitsets_init): Rename from dump_bitset_init.
All callers changed.  Initialize two bitsets with a single malloc
call.
(struct pdumper_loaded_dump_private): New member last_mark_bits.
(pdumper_find_object_type_impl): Return PDUMPER_NO_OBJECT if
the last_mark_bits’ bit is clear.
(pdumper_set_marked_impl): Assert that the last_mark_bits’
bit is set.
(pdumper_clear_marks_impl): Save mark_bits into
last_mark_bits before clearing mark_bits.
Co-authored-by: Pip Cet <pipcet@gmail.com>
2020-08-14 15:51:52 -07:00
Stefan Kangas
874ba85363 Remove many items obsolete since Emacs 23.1
Emacs 23.1 was five major releases and over a decade ago.
This list can be reviewed before to the next release, but for now
hopefully this motivates any needed external updates.
Ref: https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg02198.html

* lisp/abbrev.el (pre-abbrev-expand-hook):
* lisp/bookmark.el (bookmark-read-annotation-text-func)
(bookmark-jump-noselect):
* lisp/buff-menu.el (buffer-menu-mode-hook):
* lisp/cus-edit.el (custom-mode-hook, custom-mode):
* lisp/dirtrack.el (dirtrack-debug-toggle, dirtrack-debug):
* lisp/emacs-lisp/crm.el (crm-minibuffer-complete)
(crm-minibuffer-completion-help)
(crm-minibuffer-complete-and-exit):
* lisp/emacs-lisp/easymenu.el
(easy-menu-precalculate-equivalent-keybindings):
* lisp/emacs-lisp/lisp-mode.el (lisp-mode-auto-fill):
* lisp/epa.el (epa-display-verify-result):
* lisp/epg.el (epg-passphrase-callback-function):
* lisp/eshell/eshell.el (eshell-report-bug):
* lisp/ffap.el (ffap-bug, ffap-submit-bug):
* lisp/files.el (locate-file-completion):
* lisp/hi-lock.el (hi-lock-face-history, hi-lock-regexp-history):
* lisp/hilit-chg.el (highlight-changes-initial-state)
(highlight-changes-active-string)
(highlight-changes-passive-string, global-highlight-changes):
* lisp/international/mule-cmds.el (nonascii-insert-offset)
(nonascii-translation-table):
* lisp/international/mule-diag.el (non-iso-charset-alist):
* lisp/international/mule-util.el (detect-coding-with-priority):
* lisp/international/mule.el (charset-id, charset-bytes)
(charset-list, char-valid-p, generic-char-p)
(char-coding-system-table, make-coding-system)
(set-coding-priority)
* lisp/mail/rmail.el (rmail-message-filter):
* lisp/minibuffer.el (complete-in-turn, dynamic-completion-table)
(completion-common-substring)
(minibuffer-local-must-match-filename-map):
* lisp/mouse.el (mouse-major-mode-menu, mouse-popup-menubar)
(mouse-popup-menubar-stuff):
* lisp/net/newst-treeview.el (newsticker-groups-filename):
* lisp/obsolete/tpu-edt.el (tpu-have-ispell, GOLD-map):
* lisp/password-cache.el (password-read-and-add):
* lisp/shell.el (shell-dirtrack-toggle):
* lisp/subr.el (forward-point, redisplay-end-trigger-functions)
(process-filter-multibyte-p, set-process-filter-multibyte):
* lisp/t-mouse.el (t-mouse-mode):
* lisp/term/w32-win.el (w32-focus-frame, w32-select-font):
* lisp/textmodes/ispell.el (ispell-aspell-supports-utf8):
* lisp/textmodes/remember.el (remember-buffer):
* lisp/tooltip.el (tooltip-hook):
* lisp/url/url-util.el (url-generate-unique-filename):
* lisp/url/url-vars.el (url-temporary-directory):
* lisp/vc/vc-hooks.el (vc-workfile-version)
(vc-default-working-revision):
* lisp/vc/vc-mtn.el (vc-mtn-command):
* lisp/vc/vc.el (vc-revert-buffer):
* lisp/vcursor.el (vcursor-toggle-vcursor-map):
Remove items, obsolete since Emacs 23.1.
* lisp/abbrev.el (expand-abbrev):
* lisp/epg.el (epg-context): Change
'epg-passphrase-callback-function' call to 'epa-' alternative.
* lisp/eshell/em-rebind.el (eshell-cannot-leave-input-list): Don't
refer to removed function 'forward-point'.
* test/manual/etags/c-src/abbrev.c (Fexpand_abbrev):
(syms_of_abbrev): Don't run removed hook 'pre-abbrev-expand-hook'.
* lisp/international/mule.el (transform-make-coding-system-args):
Declare obsolete.
* lisp/progmodes/idlwave.el:
Update reference to removed function 'char-valid-p'.
* lisp/gnus/mml2015.el (epg-encrypt-string):
* lisp/gnus/mml1991.el (epg-make-context):
* lisp/gnus/mml-smime.el (autoload):
Remove autoload of removed 'epg-passphrase-callback-function'.
* lisp/minibuffer.el (completion-extra-properties):
Remove support for `completion-common-substring'.
* lisp/obsolete/tpu-edt.el (tpu-toggle-overwrite-mode)
Remove support for removed `spell' package.
* src/coding.c (syms_of_coding):
* doc/misc/efaq.texi:
* doc/emacs/frames.texi (Menu Mouse Clicks):
* doc/misc/url.texi (Customization): Doc fixes.
; * etc/NEWS: List removed items.
2020-08-14 13:07:26 +02:00
Paul Eggert
cf0ee6f49b ; spelling fixes 2020-08-13 16:48:16 -07:00
Paul Eggert
16f4f26632 Fix startup working dir bug on NeXTSTEP
* src/emacs.c (main) [NS_IMPL_COCOA]: Update emacs_wd
after a NS GUI chdirs successfully (Bug#42836).
2020-08-13 15:44:00 -07:00
Alan Third
2129d6b9dc Fix slow down when moving between monitors (bug#42834)
* src/nsterm.m ([EmacsView windowDidChangeBackingProperties:]):
Recreate the buffer every time.
2020-08-13 19:11:10 +01:00
Eli Zaretskii
c9a739408d Fix face merging at EOL when inherited face specifies :extend
* src/xfaces.c (merge_face_ref): Handle correctly faces that
inherit from another, and in addition specify :extend.
(Bug#42552)

(cherry picked from commit 39c90f8dfa)
2020-08-13 16:39:12 +03:00
Eli Zaretskii
f946e48bf5 Fix face extension past EOL in overlay strings
* src/xdisp.c (face_at_pos): Pass ATTR_FILTER to
face_for_overlay_string.
* src/xfaces.c (face_for_overlay_string): Accept an additional
argument ATTR_INDEX and pass it to merge_face_ref for merging the
face at POS.  This ensures a face from buffer text will not be
merged unless it specifies the :extend attribute.  (Bug#42552)
* src/dispextern.h (face_for_overlay_string): Adjust prototype.

(cherry picked from commit 35564bea4d)
2020-08-13 16:38:44 +03:00
YAMAMOTO Mitsuharu
fdba95d2f8 Fix monospace font calculations on macOS
* src/macfont.m (macfont_monospace_width_multiplier): New function
to compute the width for monospace fonts (bug#24582).
(macfont_glyph_extents): Fix monospace glyph computation.
(macfont_shape): Ditto.
2020-08-12 13:15:44 +02:00
Glenn Morris
79236fcbd0 ; Fix copyright years for recent additions 2020-08-12 11:42:37 +01:00
Sungbin Jo
c25321e447 Add utility functions and new xwidget commands
Co-authored-by: Jaesup Kwak <veshboo@gmail.com>

* lisp/xwidget.el (xwidget-webkit-callback): Add case for
'response-callback' event.
(xwidget-webkit-download-dir): New variable.
(xwidget-webkit-save-as-file): New function.
* src/nsxwidget.m (XwWebView::decidePolicyForNavigationResponse):
Store download event.
* src/xwidget.c src/xwidget.h (store_xwidget_download_callback_event):
New function.
2020-08-12 12:39:50 +02:00
Sungbin Jo
9e1af8251f Add utility functions and new xwidget commands
Co-authored-by: Jaesup Kwak <veshboo@gmail.com>

* etc/NEWS: Announce new functions and options.
* lisp/xwidget.el (xwidget): New defgroup.
(xwidget-webkit-mode-map): Add new keybindings.
(xwidget-webkit-scroll-up, xwidget-webkit-scroll-down)
(xwidget-webkit-scroll-forward, xwidget-webkit-scroll-backward):
Add optional argument to specify specific amounts to scroll down.
(xwidget-webkit-scroll-up-line, xwidget-webkit-scroll-down-line): New
functions.
(xwidget-webkit-scroll-bottom): Fix function to scroll to the bottom
of the document.
(xwidget-webkit-callback): Use new function to update buffer title
even when Javascript is disabled.
(xwidget-webkit-bookmark-jump-new-session): New variable.
(xwidget-webkit-bookmark-make-record): Modify to use xwidget-webkit to
open bookmark that is created in xwidget-webkit.
(xwidget-webkit-insert-string): Fix Javascript snippet to not throw
Javsscript exceptions.
(xwidget-webkit-inside-pixel-width)
(xwidget-window-inside-pixel-height): New functions.
(xwidget-webkit-adjust-size-to-window): Use new functions.
(xwidget-webkit-new-session): Insert invisible URL instead of an empty
string to achieve better default behavior.
(xwidget-webkit-back, xwidget-webkit-forward, xwidget-webkit-reload)
(xwidget-webkit-current-url): Use new functions to enable scrolling
even when Javascript is disabled.
(xwidget-webkit-copy-selection-as-kill): Remove unnecessary lambda.
* src/nsxwidget.h src/nsxwidget.m (nsxwidget_webkit_uri)
(nsxwidget_webkit_title, nsxwidget_webkit_goto_history): Add new
functions.
* src/xwidget.c (Fxwidget_webkit_uri, Fxwidget_webkit_title)
(Fxwidget_webkit_goto_history): Add new functions.
(syms_of_xwidget): Define new functions.
2020-08-12 12:34:39 +02:00
Sungbin Jo
d089c4fbfc Add xwidget support for macOS
Co-authored-by: Jaesup Kwak <veshboo@gmail.com>

* configure.ac: Allow '--with-xwidgets' for "${NS_IMPL_COCOA}".
* etc/NEWS: Mention new feature.
* etc/TODO: Remove done TODO to implement xwidget in NeXTstep port.
* lisp/xwidget.el (xwidget-webkit-clone-and-split-below)
(xwidget-webkit-clone-and-split-right): New procedures.
(xwidget-webkit-callback): Remove call to
'xwidget-webkit-adjust-size-to-window' as adjusting xwidget size is
handled in 'x_draw_xwidget_glyph_string'.
(xwidget-webkit-enable-plugins): New variable.
* nextstep/templates/Info.plist.in: Add 'NSAppTransportSecurity'.
* src/Makefile.in: Add nsxwidget.o for compilation.
* src/emacs.c (main): Move conditional call to 'syms_of_xwidget'.
* src/nsterm.m (ns_draw_glyph_string): Add case for 'XWIDGET_GLYPH'.
(note_mouse_movement mouseMoved): Make it easy to resize window by
dragging mode-line or vertical separator adjacent to large glyph.
* src/nsxwidget.h src/nsxwidget.m: Newly added files, xwidget webkit
backend for macOS Cocoa.
* src/xwidget.c (Fmake_xwidget, xwidget_init_view)
(x_draw_xwidget_glyph_string, xwidget_is_web_view)
(Fxwidget_webkit_goto_uri, Fxwidget_webkit_zoom, Fxwidget_resize)
(Fxwidget_size_request, Fdelete_xwidget_view, xwidget_end_redisplay)
(kill_buffer_xwidgets): Add macOS Cocoa specific functions and code
with 'NS_IMPL_COCOA' and guard GTK specific functions and code with
'USE_GTK'.
(x_draw_xwidget_glyph_string): Handle adjusting xwidget size.
* src/xwidget.h (xwidget, xwidget_view): Add macOS Cocoa specific
fields with 'NS_IMPL_COCOA' and guard GTK specific fields with
USE_GTK.
2020-08-12 12:12:34 +02:00
Paul Eggert
4491a55ac3 Don’t warn about integer conversion in pdumper.c
Problem reported by Juanma Barranquero in:
https://lists.gnu.org/r/emacs-devel/2020-08/msg00279.html
and a similar glitch was reported by Eli Zaretskii (Bug#36597#67).
* src/pdumper.c: Remove -Wconversion pragma.
(ALLOW_IMPLICIT_CONVERSION, DISALLOW_IMPLICIT_CONVERSION):
Remove.  All uses removed.  Although -Wconversion may have
been helpful when writing pdumper.c it is now causing more
trouble than it’s worth here (just as in the rest of Emacs).
(dump_read_all): Avoid no-longer-necessary use of ‘size_t’
rather than ‘int’.
2020-08-11 18:36:37 -07:00
Philipp Stephani
ccb5556b44 Unbreak build with --enable-checking=all
Commit 16a16645f5 has only changed a
comment in ‘struct Lisp_Hash_Table’, so the portable dumper doesn’t
need to be adapted.

* src/pdumper.c (dump_hash_table): Update hash code for ‘struct
Lisp_Hash_Table’.
2020-08-11 20:22:32 +02:00
Paul Eggert
669aeafbd1 Prefer make_nil_vector to make-vector with nil
* src/pdumper.c (hash_table_thaw): Pacify -Wconversion so
we can use make_nil_vector again.
* src/timefns.c (syms_of_timefns): Prefer make_nil_vector
to make_vector with Qnil.
2020-08-11 10:30:05 -07:00
Eli Zaretskii
b5b7f6eb88 Fix MinGW build broken by recent pdumper changes.
* src/pdumper.c (hash_table_thaw): Use Fmake_vector.  Suggested by
Pip Cet <pipcet@gmail.com>.
(dump_trace): Declare ATTRIBUTE_FORMAT_PRINTF, not
ATTRIBUTE_FORMAT((__printf__), so that we pick the right attribute
for MinGW.
2020-08-11 19:59:17 +03:00
Eli Zaretskii
39c90f8dfa Fix face merging at EOL when inherited face specifies :extend
* src/xfaces.c (merge_face_ref): Handle correctly faces that
inherit from another, and in addition specify :extend.
(Bug#42552)
2020-08-11 17:39:35 +03:00
Paul Eggert
25b4168888 pdumper avoid listing hash table contents
* src/pdumper.c (hash_table_contents): Create a vector directly,
instead of creating a list and then converting that to a vector.
2020-08-11 02:27:44 -07:00
Paul Eggert
53132c1639 pdumper speed tweeks for hash tables
* src/pdumper.c (dump_queue_empty_p): Avoid unnecessary call
to Fhash_table_count on a known hash table.
(dump_hash_table_list): !NILP, not CONSP.
(hash_table_freeze, hash_table_thaw): ASIZE, not Flength, on vectors.
Initialize in same order as struct.
(hash_table_thaw): make_nil_vector, not Fmake_vector with nil.
2020-08-11 02:27:44 -07:00