1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-03 10:31:37 -08:00
Commit graph

42019 commits

Author SHA1 Message Date
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
Mattias Engdegård
73fd8a4b53 Fix BSD and macOS builds w.r.t. pthread_setname_np (bug#38632)
pthread_setname_np takes only a single argument on BSD and macOS,
and affects the current thread only.

* configure.ac: Add check for single-argument pthread_setname_np
* src/systhread.c (sys_thread_set_name): New (w32 and pthread versions).
(sys_thread_create): Remove name argument and name-setting.
(w32_beginthread_wrapper): Remove name-setting.
* src/systhread.h (sys_thread_create, sys_thread_set_name):
Update prototypes.
* src/thread.c (run_thread): Call sys_thread_set_name.
(Fmake_thread): Adapt call to sys_thread_create.
* src/thread.h (struct thread_state): Adjust comment.
2020-01-07 17:57:31 +01:00
Robert Pluim
f54b24304d Scale top-left coordinates in display-monitor-attributes-list
When using multiple monitors, and HiDPI, the top-left coordinates of
the monitors need to be adjusted, not just the width and height
(Bug#31223).

* xfns.c (Fx_display_monitor_attributes_list): Scale top-left
coordinates.
2020-01-07 17:26:21 +01:00
YAMAMOTO Mitsuharu
c01f55f126 Fix rendering bug due to unsynchronized cairo surface size (Bug#38497)
* src/xterm.c (handle_one_xevent) <ConfigureNotify> [USE_CAIRO && !USE_GTK]:
Call x_cr_update_surface_desired_size for a related frame as a fallback.
2020-01-07 12:42:19 +09:00
YAMAMOTO Mitsuharu
075f21c0e3 Avoid crash by access to cleared img->pixmap->data/img->mask->data (Bug#38774)
* src/image.c (prepare_image_for_display) [USE_CAIRO]: Call IMAGE_BACKGROUND
and IMAGE_BACKGROUND_TRANSPARENT.
2020-01-07 12:32:42 +09:00
Eli Zaretskii
16c6dfb4f1 Avoid assertion violations in very small-height windows
* src/xdisp.c (try_cursor_movement, redisplay_window)
(row_containing_pos): Skip tab-line glyph rows in addition to
header-line rows, when working on the top-most glyph row of a
window.  This avoids assertion violations in set_cursor_from_row.
(Bug#38966)
2020-01-06 21:49:24 +02:00
Robert Pluim
9063124b91 Use pthread_setname_np to set thread name
* configure.ac: Remove check for sys/prctl.h and prctl, check for
pthread_setname_np instead.

* systhread.c: Remove sys/prctl.h include.
(sys_thread_create) [HAVE_PTHREAD_SETNAME_NP]: Use pthread_setname_np
to set the name of the newly created thread (Bug#38632).

* thread.c (Fmake_thread): Use ENCODE_SYSTEM instead of
ENCODE_UTF_8 on the thread name.
2020-01-06 15:27:26 +01:00
Mattias Engdegård
35d5694825 Mark 'catch' and 'condition-case' bytecodes as obsolete
They have not been generated by the byte-compiler since Emacs 25.

* lisp/emacs-lisp/bytecomp.el (byte-catch, byte-condition-case):
* src/bytecode.c (BYTE_CODES, exec_byte_code):
Mark as obsolete (since Emacs 25; they were still generated in 24.4).
2020-01-05 23:30:05 +01:00
Paul Eggert
f909433228 Merge from origin/emacs-27
448df8fec7 Improve doc-strings of 'quit-window' and 'quit-restore-win...
7f01dfca56 Fix MH-E bug #470: Show buffer discards text properties
f95a2b8301 Fix some broken conditional forms
28727444f1 Fix a scoping error in tramp-sudoedit.el
6cbdd048bd * lisp/autorevert.el (auto-revert-notify-handler): Fix bra...
076dd1f69a Fix typo in 'window_box_height'
2020-01-05 11:44:48 -08:00
Philipp Stephani
26fde487cb Shorten pointer printing code using a small helper function.
* src/print.c (print_pointer): New helper function.
(print_vectorlike): Use it.
2020-01-05 17:12:27 +01:00
Philipp Stephani
fc92c2d894 Also print function data when printing module functions.
This is especially useful in cases where modules only use a single
entry point and use the data to dispatch to the actual function.  Such
a design is common for languages such as Go and C++.

* src/emacs-module.c (module_function_data): New function.

* src/print.c (print_vectorlike): Use it to print module function data
if not NULL.
(print_object): Adapt size of buffer.

* test/data/emacs-module/mod-test.c (emacs_module_init): Pass some
non-NULL data to ‘mod-test-sum’.
(Fmod_test_sum): Check that correct data is passed through.

* test/src/emacs-module-tests.el (mod-test-sum-test)
(module-function-object): Adapt unit tests.
2020-01-05 16:07:28 +01:00
Paul Eggert
505ed064a0 ; Some that->than fixes. 2020-01-04 19:13:23 -08:00
Paul Eggert
add2b2da72 Fix bug in recent allocate_string_data patch
Reported by Glenn Morris in:
https://lists.gnu.org/r/emacs-devel/2020-01/msg00098.html
* src/alloc.c (allocate_string_data): If the string is small and
there is not enough room in the current block, clear the string if
CLEARIT.
2020-01-04 13:34:06 -08:00
Philipp Stephani
9bbf175398 Improve 'noexcept' support in C++17.
In C++17, 'noexcept' is part of a function type and may be used in
typedef declarations, see
https://en.cppreference.com/w/cpp/language/noexcept_spec.

* src/emacs-module.h.in: Mark function pointer type aliases as
'noexcept' in C++17.
2020-01-04 13:54:29 +01:00
Martin Rudalics
076dd1f69a Fix typo in 'window_box_height'
* src/xdisp.c (window_box_height): Add missing 'else'.
2020-01-04 09:43:13 +01:00
Philipp Stephani
52db14b0dc emacs-module.h: Don't generate invalid C++11 code.
* src/emacs-module.h.in: Remove 'noexcept' from function pointer type
aliases.  It is illegal there in C++11, see
https://en.cppreference.com/w/cpp/language/noexcept_spec.
2020-01-04 03:21:32 +01:00
Paul Eggert
cadf985cb6 Let the OS clear new large strings of NUL
On my platform, this sped up (make-string 4000000000 0) from 2.5
to 0.015 seconds (not that people should want to do this much :-).
* src/alloc.c (allocate_string_data): New arg CLEARIT.
Callers changed.
(Fmake_string): Prefer calloc to malloc+memset when allocating a
large string of NUL bytes.
(make_clear_string): New function.
(make_uninit_string): Use it.
(make_clear_multibyte_string): New function.
(make_uninit_multibyte_string): Use it.
2020-01-03 17:15:44 -08:00
Glenn Morris
98ab70bc51 * src/alloc.c (cleanup_vector): Fix --without-modules builds. 2020-01-03 14:26:02 -08:00
Philipp Stephani
48ffef5ef4 Implement finalizers for module functions (Bug#30373)
* src/module-env-28.h: Add new module environment functions to
module environment for Emacs 28.

* src/emacs-module.h.in: Document that 'emacs_finalizer' also works
for function finalizers.

* src/emacs-module.c (CHECK_MODULE_FUNCTION): New function.
(struct Lisp_Module_Function): Add finalizer data member.
(module_make_function): Initialize finalizer.
(module_get_function_finalizer)
(module_set_function_finalizer): New module environment functions.
(module_finalize_function): New function.
(initialize_environment): Initialize new environment functions.

* src/alloc.c (cleanup_vector): Call potential module function
finalizer during garbage collection.

* test/data/emacs-module/mod-test.c (signal_error): New helper
function.
(memory_full): Use it.
(finalizer): New example function finalizer.
(Fmod_test_make_function_with_finalizer)
(Fmod_test_function_finalizer_calls): New test module functions.
(emacs_module_init): Define them.

* test/src/emacs-module-tests.el (module/function-finalizer): New unit
test.

* doc/lispref/internals.texi (Module Functions): Document new
functionality.
(Module Misc): Move description of 'emacs_finalizer' type to 'Module
Functions' node, and add a reference to it.

* etc/NEWS: Mention new functionality.
2020-01-03 19:24:10 +01:00
Eli Zaretskii
2b6d702e5d Fix the MS-Windows build broken by "Let the OS clear large new objects"
* src/w32heap.c (sys_calloc): New function, implements calloc
in terms of our private implementations of malloc.

* nt/inc/ms-w32.h (calloc): Redirect to sys_calloc.
2020-01-03 18:27:35 +02:00
Glenn Morris
fa7148fd5a Merge from origin/emacs-27
06364316e0 (origin/emacs-27) * lisp/net/tramp.el (tramp-file-local-na...
d3884f50e0 Adapt commentary in Tramp persistency file
2d82f5a44e Change Tramp version to 2.4.3.27.1
09b65707cc ; * src/dispnew.c (adjust_glyph_matrix): Fix last change.
37f9182b68 Fix redisplay when mode-line-format changes mode-line's he...
1420906b81 * src/fileio.c (Fwrite_region): Improve the doc string.
01dfcb7c87 Fix removal of frame decorations on Windows (Bug#38705)
2020-01-03 07:50:15 -08:00
Eli Zaretskii
09b65707cc ; * src/dispnew.c (adjust_glyph_matrix): Fix last change. 2020-01-03 10:19:23 +02:00
Eli Zaretskii
37f9182b68 Fix redisplay when mode-line-format changes mode-line's height
* lisp/frame.el (top-level): Add mode-line-format,
tab-line-format, and header-line-format to the list of variables
that should trigger an immediate redisplay of the buffer's
window.  This fixes redisplay of windows when the mode line
changes its height.

* src/xdisp.c (window_box_height): Use the window's
mode_line_height, tab_line_height, and header_line_height fields
in preference to CURRENT_MODE_LINE_HEIGHT,
CURRENT_TAB_LINE_HEIGHT, and CURRENT_HEADER_LINE_HEIGHT,
respectively.  This fixes display of vertical scroll bar when the
height of the window's mode line changes.
* src/dispnew.c (adjust_glyph_matrix): When resizing a window's
matrix, reset the mode_line_p flag of the previous mode-line row,
so that the window_box_height, CURRENT_MODE_LINE_HEIGHT, and their
ilk won't use stale info.  (Bug#38828)
2020-01-03 09:28:35 +02:00
Paul Eggert
dd0e4d4e16 Let the OS clear large new objects
Prefer calloc to malloc+memset when allocating large zeroed objects.
This avoids page thrashing when (make-vector 1000000000 nil)
allocates a large nil vector, as Emacs need not touch the
vector’s pages.  This wins on platforms like GNU/Linux where
calloc can fiddle with page tables to create a block of memory
that is lazily zeroed.
* src/alloc.c (lisp_malloc, lmalloc, allocate_vectorlike):
New arg CLEARIT to tell callee whether to use malloc or calloc.
All callers changed.
(allocate_clear_vector, allocate_nil_vector): New functions.
* src/alloc.c (xzalloc, make_vector):
* src/lisp.h (make_nil_vector):
Prefer calloc to malloc + memset(...,0,...).
2020-01-02 18:11:25 -08:00
Eli Zaretskii
1420906b81 * src/fileio.c (Fwrite_region): Improve the doc string. 2020-01-02 19:34:30 +02:00
Martin Rudalics
01dfcb7c87 Fix removal of frame decorations on Windows (Bug#38705)
* src/w32fns.c (w32_set_undecorated): Actualize
f->output_data.w32->dwStyle for subsequent calls of
AdjustWindowRect (Bug#38705).
* src/w32term.h (struct w32_output): Add comment for
dwstyle slot.
2020-01-02 09:35:49 +01:00
Eli Zaretskii
338154240e Fix compilation with GTK versions older than 3
* src/xfns.c (x_get_net_workarea): Change a recently moved #ifndef
so that GTK builds which need this function will compile it.
Reported by John <jpff@codemist.co.uk>.

(cherry picked from commit d36adb544d)
2020-01-01 21:16:48 +02:00
Eli Zaretskii
d36adb544d Fix compilation with GTK versions older than 3
* src/xfns.c (x_get_net_workarea): Change a recently moved #ifndef
so that GTK builds which need this function will compile it.
Reported by John <jpff@codemist.co.uk>.
2020-01-01 19:55:35 +02:00
Mattias Engdegård
fab3674b36 Revert "Raise default max-specpdl-size value"
This reverts commit bb9402e6e9.
2020-01-01 17:38:41 +01:00
Mattias Engdegård
bb9402e6e9 Raise default max-specpdl-size value
Occasionally, loading cl-generic.el from source requires
max_specpdl_size > 1600 when bootstrapping, and thus fails.
In any case we are very close to the limit.

* src/eval.c (init_eval_once): Raise max_specpdl_size to 1800.
* doc/lispref/variables.texi (Local Variables): Update docs.
2020-01-01 16:43:58 +01:00
Paul Eggert
12d004d6ee Assume C99-style ‘long long’
Now that Gnulib assumes ‘long long’, it is a good time to clean
out old cruft porting to pre-C99 compilers that lack it.
* src/data.c (ULL_WIDTH, ULL_MAX): Remove.
All uses replaced by ULLONG_WIDTH, ULLONG_MAX.
(bits_word_to_host_endian): Assume ‘unsigned long long’.
By the way, the old code had a performance typo: it used
HAVE_UNSIGNED_LONG_LONG where it should have used
HAVE_UNSIGNED_LONG_LONG_INT.
* src/sysdep.c (ULLONG_MAX): Remove, as lib/limits.h does this now.
(time_from_jiffies) [GNU_LINUX]: Assume ‘long long’.
2019-12-31 20:18:22 -08:00
Paul Eggert
c6fb86b40b Merge from origin/emacs-27
186152ba40 Pacify gcc -Wunused-function on Ubuntu 18.04.3
4cd143aded Fix copyright years by hand
365e01cc9f Update copyright year to 2020
cd2c156163 ; * etc/NEWS: Make the description of XDG fallback more ac...

# Conflicts:
#	etc/NEWS
#	etc/refcards/ru-refcard.tex
2020-01-01 01:08:16 +00:00
Paul Eggert
186152ba40 Pacify gcc -Wunused-function on Ubuntu 18.04.3
This improves on 2019-12-25T20:01:07Z!eggert@cs.ucla.edu,
by fixing a GCC warning on Ubuntu 18.04.3
“‘x_get_net_workarea’ defined but not used”.
* src/xfns.c (x_get_net_workarea) [!USE_GTK]: Do not define.
2020-01-01 01:03:14 +00:00