Commit graph

42051 commits

Author SHA1 Message Date
Alan Third
93b5530662 Merge branch 'scratch/ns/draw-to-bitmap' 2020-01-28 18:15:19 +00:00
Glenn Morris
60a3c5d56c Merge from origin/emacs-27
1bcac29b2f (origin/emacs-27) dns-mode-soa-auto-increment-serial: safe...
abf0f8666d * lisp/wdired.el: Clean out isearch-filter-predicate (bug#...
c31c31e57f ; Spelling and URL fixes
066aad7b9d Finish the documentation for c-noise-macro-{,with-parens-}...
c8fcabf245 Correct regexp for flags in `format' doc string
2e9a153b26 Moderate recommendation to escape '(' in doc strings
d7cd4ab7d9 Objective C Mode: Make c-forward-type work with "unsigned ...
1705e32ebc Fix help text about configure module support
baca81e641 * doc/lispref/streams.texi (Output Functions): Improve ind...
568a560fce Improve doc string of 'newline'
7f50698505 Improve doc of eq on bignums etc.
e5327a569c Do not refer to obsolete alias
fd09196781 ; Clarify what time-stamp-active enables

# Conflicts:
#	etc/NEWS
2020-01-28 07:50:22 -08:00
Paul Eggert
a02b179242 Revert the --with-install-srcdir patch
Also, update description of debuginfo and sources to match
Debian and Red Hat more accurately, and move this sad tale
from INSTALL to etc/PROBLEMS which is a better home for it.
* Makefile.in (emacs_srcdir, install-c-src):
* configure.ac (emacs_srcdir, --with-install-srcdir):
* src/epaths.in (PATH_EMACS_SOURCE):
* src/lread.c (emacs-source-directory):
Remove.  All uses removed.
* lisp/emacs-lisp/find-func.el (find-function-C-source):
Do not worry about compressed C sources.
* src/lread.c: Do not include <dosname.h>.
2020-01-27 23:17:10 -08:00
Paul Eggert
c31c31e57f ; Spelling and URL fixes 2020-01-27 11:30:46 -08:00
Paul Eggert
23ef804eb5 * src/mini-gmp.c: Fix comment typos. 2020-01-26 12:54:47 -08:00
Paul Eggert
901f58ce5f Update mini-gmp
* src/mini-gmp.c, src/mini-gmp.h: Copy from GMP 6.2.0.
This incorporates:
2019-12-05 remove some sizeof(mp_limb_t)
2019-12-04 (mpn_invert_3by2): Remove special code for limb sizes
2019-12-04 (mpn_invert_3by2): Limit size of an intermediate
2019-11-20 (mpn_invert_3by2): Use xor instead of negation
2019-11-19 (mpn_invert_3by2): Move an assert earlier
2019-11-19 (mpn_invert_3by2): Add a new shortcut
2019-11-17 Prepend "unsigned" to MINI_GMP_LIMB_TYPE
2019-11-17 Enable testing with different limb sizes (types)
2019-11-20 Use already defined constants
2019-11-09 Avoid undefined behaviour with small limb sizes
2020-01-26 12:54:47 -08:00
Mattias Engdegård
c8fcabf245 Correct regexp for flags in `format' doc string
* src/editfns.c (Fformat): Use the correct regexp for describing the
flags in a %-sequence (place the hyphen last).
2020-01-26 10:05:53 -08:00
Paul Eggert
26d890c9cc Propagate NSLocale into Emacs better
* src/emacs.c (main): Call ns_init_locale before using the
environment variable that ns_init_locale sets up (Bug#39248).
2020-01-26 00:34:38 -08:00
Paul Eggert
f42d57c7db Install C source code for C-h f etc.
Without this change, on typical GNU/Linux distributions
like Debian, the first button of ‘C-h f car RET’ does not work
because the source code for ‘car’ is not installed (Bug#37527).
Fix this by installing the (compressed) C source code alongside
the (compressed) Lisp source code that is already installed.
This adds about 3 MB (about 2%) to the size of the installed files
on my platform.
* Makefile.in (emacs_srcdir): New macro.
(epaths-force): Substitute PATH_EMACS_SOURCE.
(install-c-src): New rule, that installs a copy of the C source
code if emacs_srcdir says to.
(install-arch-indep): Depend on it.
* configure.ac (emacs_srcdir): New var.
Add support for --disable-install-srcdir.
* lisp/emacs-lisp/find-func.el (find-function-C-source-directory):
Look in emacs-source-directory first.
(find-function-C-source): Also look for gzipped source files.
* lisp/startup.el (normal-top-level):
Also recode emacs-source-directory.
* src/epaths.in (PATH_EMACS_SOURCE): New macro.
* src/lread.c: Include dosname.h, for IS_ABSOLUTE_FILE_NAME.
(syms_of_lread): New var emacs-source-directory.
2020-01-24 16:46:42 -08:00
Alan Third
f674c905dc Draw to offscreen buffer on macOS
* src/nsfns.m (x_set_background_color): Clear the frame after changing
the background color, not before.
* src/nsterm.h (drawingBuffer): New variable.
([EmacsView focusOnDrawingBuffer]):
([EmacsView copyRect:to:]):
([EmacsView createDrawingBufferWithRect:]): New methods.
* src/nsterm.m (ns_update_begin):
(ns_update_end):
(ns_focus):
(ns_unfocus): Handle drawing to offscreen buffer.
(ns_clip_to_row): Use ns_row_rect.
(ns_copy_bits): Remove unused function.
(ns_scroll_run):
(ns_shift_glyphs_for_insert): Use new scrolling method.
(ns_draw_fringe_bitmap):
(ns_dumpglyphs_image): When drawing to the offscreen buffer, flip
images so they appear the right way up.
(ns_dumpglyphs_stretch): Remove unnecessary code.
(ns_draw_window_cursor): Don't disable screen updates.
([EmacsView updateFrameSize:]): Update the size of the offscreen
buffer.
([EmacsView initFrameFromEmacs:]): Create offscreen buffer.
([EmacsView windowDidChangeBackingProperties:]):
([EmacsView createDrawingBufferWithRect:]):
([EmacsView focusOnDrawingBuffer]):
([EmacsView copyRect]): New methods.
([EmacsView viewWillDraw]): Remove method as it no longer does
anything useful.
([EmacsView drawRect:]): Handle drawing from offscreen buffer.
2020-01-24 16:05:42 +00:00
Alan Third
3ad7813296 Revert "Make all NS drawing be done from drawRect"
This reverts commit 7946445962.
2020-01-24 16:05:41 +00:00
Alan Third
6b955c26f6 Revert "Ensure NS frame is redrawn correctly after scroll"
This reverts commit a6ab8db3a3.
2020-01-24 16:05:41 +00:00
Alan Third
ac6e620adc Revert "Fix some NS drawing issues (bug#32932)"
This reverts commit 7e8eee60a9.
2020-01-24 16:05:40 +00:00
Glenn Morris
a76e7d592f Merge from origin/emacs-27
0bed550e21 (origin/emacs-27) Remove EmacsOpenPanel and EmacsSavePanel...
a0336029db * doc/emacs/files.texi (Auto Save Files): Improve indexing...
57fb8b10c1 Fix inaccurate wording in the Emacs manual
1c487747ab Update ERC module URLs
7d1e9c943f Minor doc string clarification in use-hard-newlines
2020-01-24 07:50:22 -08:00
Glenn Morris
635e55e812 Merge from origin/emacs-27
92f080dda8 Tab-bar related finishing touches.
224e8d1464 Make call_process call signal_after_change.  This fixes bu...
d02f2a793e * lisp/simple.el: Minor fixes to commentary.
196c42b8bf Fix a few typos
4f2b967795 Fix doc strings for image-dired rotation commands

# Conflicts:
#	etc/NEWS
2020-01-24 07:50:22 -08:00
Alan Third
0bed550e21 Remove EmacsOpenPanel and EmacsSavePanel (bug#38031) 2020-01-24 09:55:55 +00:00
Paul Eggert
75c1f936fc Simplify locale setup
Stop exporting Vprevious_system_time_locale and
Vprevious_system_messages_locale to Elisp.  I did that export by
mistake in 1999, and the Elisp variables have never been used.
Simplifying this cruft should make it easier to fix Bug#39248.
* etc/NEWS: Mention this.
* src/emacs.c (main): Simplify locale initialization.
(synchronize_locale): Simplify.
(Vprevious_system_time_locale, Vprevious_system_messages_locale):
Now static variables not visible to Lisp, and defined only if
HAVE_SETLOCALE.
(Vprevious_system_messages_locale): Define only if LC_MESSAGES.
2020-01-23 23:20:01 -08:00
Paul Eggert
6f580542c1 Fix crash when sending Gnus message (Bug#39207)
* src/alloc.c (resize_string_data): The string must be multibyte.
When not bothering to reallocate, do bother to change the byte count.
* test/src/alloc-tests.el (aset-nbytes-change) New test.
2020-01-22 23:44:34 -08:00
Alan Mackenzie
224e8d1464 Make call_process call signal_after_change. This fixes bug #38691.
Now, functions such as call-proess-region invoke after-change-functions
correctly.

* src/callproc.c (call_process): Call prepare_to_modify_buffer in a single
place, no longer delegating the task to insert_1_both, etc.  Call
signal_after_change in each of two code branches, such that
before-change-functions and after-change-functions are always called in
balanced pairs.
2020-01-22 19:50:30 +00:00
Eli Zaretskii
196c42b8bf Fix a few typos
* etc/NEWS: Fix a typo.

* src/xdisp.c (try_window_reusing_current_matrix, try_window_id):
* src/dispnew.c (scrolling_window): Fix typos in comments.
2020-01-22 19:17:32 +02:00
Glenn Morris
5715eb94e9 Merge from origin/emacs-27
3b0938c042 (origin/emacs-27) Render Ido suggestions using an overlay
d5d90dc412 * doc/misc/tramp.texi (Bug Reports): Encourage use of "ema...
ac09e8e121 * lisp/vc/smerge-mode.el (smerge-match-conflict): Fix bug#...
7e37e61f4b Correct statement about ftcr and recommend HarfBuzz
4aec94da37 Avoid leaving artifacts when the system caret is used on w32
5abd8d73b0 Improve display of temporary echo messages
2020-01-22 07:55:18 -08:00
Glenn Morris
83d493426b Merge from origin/emacs-27
3ba0db41e3 Allow optional truncation of tab names in tab-bar and tab-...
7dd065fc7b Small fixes in documentation.
06166aa719 Improve explanation of available font backends under X
2eb834ead4 Clear output data pointer on NS
2020-01-22 07:55:18 -08:00
Eli Zaretskii
4aec94da37 Avoid leaving artifacts when the system caret is used on w32
* src/xdisp.c (try_window_reusing_current_matrix, try_window_id):
* src/dispnew.c (scrolling_window) [HAVE_NTGUI]: If
w32-use-visible-system-caret is non-nil, disallow scrolling the
display are in scroll_run_hook.  This avoids copying traces of the
caret, about which Emacs knows nothing, and thus considers those
pixels show the default background.  (Bug#39188)
(gui_update_window_end): Block input only around part of the code,
as we did before this code was extracted from backend-specific
implementations.

* src/w32term.c (w32_update_window_begin, w32_update_window_end):
Only hide/show the caret when redisplaying the window where the
caret is shown.
2020-01-21 18:23:32 +02:00
Pip Cet
2eb834ead4 Clear output data pointer on NS
* src/nsterm.m (ns_free_frame_resources): Clear the output data
pointer to prevent attempting to reuse freed resources (Bug#38748).
2020-01-20 17:27:43 +01:00
Eli Zaretskii
f650d54c6a Unbreak the MS-Windows build
* src/w32.c (openat): New function.
* src/w32.h (openat): Add prototype.
2020-01-20 18:21:09 +02:00
Paul Eggert
b3ad638a60 Work better if stat etc. are interrupted
Quit or retry if fstat, lstat, stat or openat fail with EINTR.
This should fix some bugs on platforms where accessing files via
NFS can fail that way (Bug#9256).
* src/dired.c (file_attributes):
* src/fileio.c (file_directory_p) [O_PATH]:
Use emacs_openat instead of openat.
* src/dired.c (file_attributes): Use emacs_fstatat instead of fstatat.
* src/fileio.c (barf_or_query_if_file_exists, Frename_file):
* src/filelock.c (rename_lock_file):
Use emacs_fstatat instead of lstat.
* src/fileio.c (file_directory_p, Ffile_regular_p, Ffile_modes)
(Ffile_newer_than_file_p, Fverify_visited_file_modtime)
(Fset_visited_file_modtime, auto_save_1):
* src/lread.c (Fload):
* src/sysdep.c (get_current_dir_name_or_unreachable):
Use emacs_fstatat instead of stat.
* src/sysdep.c (emacs_fstatat, emacs_openat): New functions.
(emacs_open): Redo in terms of emacs_open.
2020-01-20 01:21:52 -08:00
Paul Eggert
b222e1aaf9 Don’t assume sizeof (size_t) == 4 in allocators
This removes some old 32-bit assumptions in Emacs allocator tuning,
and improves performance of ‘make compile-always’ by about 7% on a
couple of 64-bit GNU/Linux platforms I tried it on.  It should not
affect performance on 32-bit platforms.
* src/alloc.c (MALLOC_SIZE_NEAR): New macro.
(MALLOC_ALIGNMENT): New constant.
(INTERVAL_BLOCK_SIZE, SBLOCK_SIZE, STRING_BLOCK_SIZE): Use the new
macro.  Make these enum constants since they need not be macros.
2020-01-18 13:21:20 -08:00
Stefan Monnier
a4610c3dca * src/fns.c (sxhash_obj): Fix crash on sub-char-tables
Also, look inside overlays, like `internal_equal`.

(internal_equal): Cosmetic tweak.
2020-01-18 13:13:21 -05:00
Paul Eggert
ac121d8c8f Make Faset nonrecursive
* src/data.c (Faset): Refactor Faset so that it’s not recursive.
This helps the compiler and makes the code a bit clearer.
2020-01-18 00:02:12 -08:00
Paul Eggert
c1b6d5c5b9 Improve performance when a string's byte count changes
* src/alloc.c (allocate_string_data): Now static.
Remove code for when Faset calls this function when S
already has data assigned, as that can no longer happen.
(resize_string_data): New function, which avoids relocation in
more cases than the old code did, by not bothering to relocate
when the size changes falls within the alignment slop.
* src/data.c (Faset): Use resize_string_data.
Change a while to a do-while since it must iterate at least once.
2020-01-18 00:02:12 -08:00
Glenn Morris
d97a77c481 Merge from origin/emacs-27
4df0c1c6c4 (origin/emacs-27) ; * src/lread.c (force_new_style_backquo...
069741b2f7 ; * etc/NEWS: Mention latest changes in checkdoc.  (Bug#38...
a785be29bf Fix wording and punctuation of a recent commit
0d3d3be35c Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/e...
5da372e17e ; Minor edit in anti.texi

# Conflicts:
#	etc/NEWS
2020-01-17 07:50:28 -08:00
Simen Heggestøyl
4df0c1c6c4 ; * src/lread.c (force_new_style_backquotes): Fix reference. 2020-01-17 14:53:13 +01:00
Stefan Kangas
576dfc8aa2 Remove unused ftx font backend driver
* src/ftxfont.c: Remove file.
* admin/notes/font-backend:
* configure.ac:
* src/Makefile.in:
* src/deps.mk (ftxfont.o):
* src/font.c (syms_of_font):
* src/font.h (top-level, font_property_index):
* src/xfns.c (Fx_create_frame, x_create_tip_frame): Remove unused ftx
font backend driver.  Thanks to Glenn Morris for pointing out that it
can be removed.  (Bug#34663)
2020-01-15 19:57:27 +01:00
Glenn Morris
d672ad60e3 Merge from origin/emacs-27
0e936f18f8 (origin/emacs-27) Fix build failure with --with-cairo --wi...
c34f7e884b Add new node "Package Statuses" to manual
fdee034ac8 * lisp/isearch.el: Fix corner cases of isearch-lazy-count.
7b14329d86 ; * lisp/simple.el (messages-buffer): Doc fix.  (Bug#39124)
7ec66a59e3 Document spacing issues with Xft for some fonts
08cd247fbd ; * etc/NEWS: Fix typo.
d645628e3c Always use lexical-binding in lisp-interaction-mode (bug#3...
c42198f78c ; *etc/NEWS: Fix typo.
0ed9cfa7dc vc-dir: ensure we don't use a pager with git
37e0d00c14 Improve ERC's matching of nicks and URLs (bug#38257)
d47b157969 Handle tab-bar clicks on a GPM-capable console.
e4791f3f8e ;* etc/TODO: Update.

# Conflicts:
#	etc/NEWS
2020-01-15 07:50:22 -08:00
Andreas Schwab
e31287e704 Fix implicit declaration of getenv and atol
* src/gtkutil.c: Include <stdlib.h>.
2020-01-15 10:11:24 +01:00
YAMAMOTO Mitsuharu
0e936f18f8 Fix build failure with --with-cairo --without-png
* src/image.c: Don't enable PNG section only by USE_CAIRO.
2020-01-15 17:10:30 +09:00
Juri Linkov
d47b157969 Handle tab-bar clicks on a GPM-capable console.
* src/term.c (handle_one_term_event): Call tty_handle_tab_bar_click.

* src/xdisp.c (tty_handle_tab_bar_click): Force reset of up_modifier bit
from the event modifiers.

* lisp/tab-line.el (tab-line-tab-current): No need to use inverse-video
on console/xterm because the selected tab already uses inverse-video.
2020-01-13 01:23:12 +02:00
Philipp Stephani
6100f9a19e * src/pdumper.c (dump_vectorlike): Unbreak build after 724af76715 2020-01-13 00:17:35 +01:00
Philipp Stephani
3252f31496 Use decode_string_utf_8 in emacs-module.c.
Now that decode_string_utf_8 is available, we can use it to signal
errors on invalid input.

* src/coding.c (syms_of_coding): Move Qutf_8_string_p from json.c
since it’s now used outside json.c.

* src/emacs-module.c (module_decode_utf_8): New helper function.
(module_make_function, module_copy_string_contents): Use it.
2020-01-13 00:08:32 +01:00
Glenn Morris
41d9d51cf5 Merge from origin/emacs-27
f0ebd919c1 (origin/emacs-27) ; * doc/lispref/anti.texi (Antinews): Fi...
6f059159ee Update Acknowledgments sections
e1262d45f9 Update Antinews in ELisp manual
fd8128f0c1 ; Move the description of define-inline to a different nod...
524441d6b3 Improve wording in the ELisp manual
8addfa91c8 Reset to the standard value when reverting session's custo...
d6f9b09777 Fix saving multiple themes
c556aabde8 Calc: fix interval entry (bug#39040)
91cd3c1372 Fix horizontal line display in Custom buffers
15c8e984ae ; * etc/NEWS: Fix a typo.
ff8996a337 flymake: fix typo in variable binding (bug#38752)
16eaaa07e6 ; Minor spelling fixes
5efe795659 Update Antinews in the Emacs manual
5841240295 Use NSNumber instead of BOOL (bug#39047)
beec9f64a5 Add comment on fido-mode's file-sorting semantics
eb3c6ad325 Consider non-string minibuffer-default in icomplete

# Conflicts:
#	etc/NEWS
2020-01-11 07:50:31 -08:00
Väinö Järvelä
5841240295 Use NSNumber instead of BOOL (bug#39047)
* src/nsfns.m (ns_set_represented_filename): Use correct type.

Copyright-paperwork-exempt: yes
2020-01-09 20:04:27 +00:00
Michael Albinus
70873074a1 Remove obsolete thread-alive-p
* etc/NEWS (thread-alive-p):
* lisp/thread.el (thread-alive-p):
* src/thread.c (thread-alive-p): Remove.
2020-01-09 13:40:14 +01:00
Glenn Morris
91e239a954 Merge from origin/emacs-27
1fe596d89f (origin/emacs-27) Fix another compilation problem in a bui...
2020-01-08 12:25:58 -08:00
Eli Zaretskii
1fe596d89f Fix another compilation problem in a build without threads
* src/systhread.c (sys_thread_set_name) [!THREADS_ENABLED]: Add
a trivial implementation.
2020-01-08 22:00:36 +02:00
Glenn Morris
eae42a6255 Merge from origin/emacs-27
50dc615095 (origin/emacs-27) Fix build without threads
2020-01-08 11:12:25 -08:00
Eli Zaretskii
50dc615095 Fix build without threads
* src/systhread.c (sys_thread_create) [!THREADS_ENABLED]: Update
the function's signature to match prototype.  Reported by Glenn
Morris <rgm@gnu.org>.  (Bug#38632)
2020-01-08 20:53:00 +02:00
Glenn Morris
b968b733a2 Merge from origin/emacs-27
6cd9ccb0a2 (origin/emacs-27) Fix compression of directories in Dired
42329e6d3b ; * etc/NEWS: Review of the whole text.
af5709f16b Further enhancement on `tramp-file-local-name'
fb432446f5 Objective C Mode imenu: cease recognizing "functions" with...
a18373a999 ; * etc/NEWS: Update the text about the XDG_CONFIG_HOME/em...
73fd8a4b53 Fix BSD and macOS builds w.r.t. pthread_setname_np (bug#38...
f54b24304d Scale top-left coordinates in display-monitor-attributes-list
b46c75b16c xref-matches-in-files: Big Tramp speed-up
883b3490d8 * lisp/net/tramp.el (tramp-file-local-name): Remove `save-...
c01f55f126 Fix rendering bug due to unsynchronized cairo surface size...
075f21c0e3 Avoid crash by access to cleared img->pixmap->data/img->ma...
16c6dfb4f1 Avoid assertion violations in very small-height windows
9063124b91 Use pthread_setname_np to set thread name

# Conflicts:
#	etc/NEWS
#	lisp/net/tramp.el
2020-01-08 09:09:47 -08:00
Paul Eggert
724af76715 Fix sxhash-equal on bytecodes, markers, etc.
Problem reported by Pip Cet (Bug#38912#14).
* doc/lispref/objects.texi (Equality Predicates):
Document better when ‘equal’ looks inside objects.
* doc/lispref/windows.texi (Window Configurations):
Don’t say that ‘equal’ looks inside window configurations.
* etc/NEWS: Mention the change.
* src/fns.c (internal_equal):
Do not look inside window configurations.
(sxhash_obj): Hash markers, byte-code function objects,
char-tables, and font objects consistently with Fequal.
* src/window.c (compare_window_configurations):
Now static.  Remove last argument.  Caller changed.
* test/lisp/ffap-tests.el (ffap-other-window--bug-25352):
Use compare-window-configurations, not ‘equal’.
* test/src/fns-tests.el (test-sxhash-equal): New test.
2020-01-07 11:29:42 -08:00
Paul Eggert
f950b078a6 Help the compiler inline sxhash
* src/fns.c (sxhash_obj): Rename from sxhash and make
it static, so that the compiler can inline it better.
(sxhash): New function that does not take a depth arg.
All callers changed.
2020-01-07 11:29:41 -08:00
Alan Third
72f54f035d Fix NS frame parameters (bug#39000)
* src/frame.c (make_frame): Use new system default setting.
* src/frame.h (enum ns_appearance_type): Add new system default
setting.
* src/nsfns.m (Fx_create_frame): Correctly handle Qunbound and support
system default appearance.
(syms_of_nsfns): Add Qlight.
* src/nsterm.h: New method definition.
* src/nsterm.m (ns_set_appearance): Correctly handle Qlight and use new
setAppearance method.
([EmacsView initFrameFromEmacs:]): Use new setAppearance method.
([EmacsWindow setAppearance]): New method.
* doc/lispref/frames.texi (Management Parameters): Document 'light'.
2020-01-07 18:33:14 +00:00