Commit graph

44586 commits

Author SHA1 Message Date
Po Lu
0ee1a46e6c Fix overline display over stretch glyphs with box on NS
* src/nsterm.m (ns_dumpglyphs_stretch): Don't draw text
decorations when there is a box.
(ns_draw_glyph_string): Draw text decorations after the box
in stretch glyph that have one.
2021-12-12 21:33:56 +08:00
Po Lu
5bc785d81c Fix overline display when there is a box
* src/w32term.c (w32_draw_glyph_string):
* src/xterm.c (x_draw_glyph_string): Draw box before any text
decorations.
2021-12-12 21:05:35 +08:00
Po Lu
11b2dfca28 * src/xterm.c (x_detect_focus_change): Fix XI2 focus on GTK builds. 2021-12-12 14:20:18 +08:00
Po Lu
4f987e189d Fix last change
* src/xterm.c (x_detect_focus_change): Test against
FOCUS_EXPLICIT.
2021-12-12 14:14:23 +08:00
Po Lu
eff1bb78bd Fix frame focus on X Toolkit builds with XInput 2
* src/xterm.c (x_detect_focus_change): Allow focus_state to not
be FOCUS_EXPLICIT when handling FocusIn and FocusOut events.
2021-12-12 14:01:45 +08:00
Stefan Kangas
2d116c432d Merge from origin/emacs-28
8a0734329a Avoid undefined behavior in 'send-process-region' (Bug#523...
30dd5c9acc Update to Org 9.5.1-25-g9ca3bc
a374849926 Fix the DJGPP port
2021-12-12 06:31:07 +01:00
Po Lu
c6cf446894 Fix drawing overlines on top of stretch glyphs when there is a box
* src/haikuterm.c (haiku_draw_string_box): Also draw text
decorations if the clipping is to be set.
(haiku_draw_glyph_string): Only draw text decorations if
the box will not be drawn with clipping.
2021-12-12 01:19:57 +00:00
Eli Zaretskii
a81669c69f Fix hang when deleting a pipe process
* src/w32.h (FILE_DONT_CLOSE): New flag.
* src/w32.c (sys_close): Don't close descriptors used to read from
the pipe process.  Leave the FILE_DONT_CLOSE flag set in the
descriptor's info.
(register_aux_fd): Set the FILE_DONT_CLOSE flag in the
descriptor's info.
* src/w32proc.c (reader_thread): When exiting normally, close the
file descriptor used to read from a pipe process.  (Bug#52414)
2021-12-11 20:15:53 +02:00
Philipp Stephani
8a0734329a Avoid undefined behavior in 'send-process-region' (Bug#52369).
* src/process.c (send_process): Signal an error if the file descriptor
has already been closed.
2021-12-11 19:03:00 +01:00
Po Lu
a374849926 Fix the DJGPP port
* config.bat:
* msdos/sed1v2.inp:
* msdos/sed2v2.inp:
* msdos/sed3v2.inp:
* msdos/sedlibmk.inp: Update for Emacs 28.
* msdos/langinfo.h: New file.

* lisp/loadup.el: Use correct path to temacs when dumping on
MS-DOS.
* src/callproc.c (environ) [MSDOS]: New declaration.
(child_setup, emacs_spawn): Update MS-DOS parts for Emacs 28.
* src/fileio.c (Fcopy_file): Don't use copy_file_range on
MS-DOS.
* src/msdos.c (initialize_msdos_display): Add
`defined_color_hook'.
(openat, fchmodat, futimens, utimensat): New functions.

* src/msdos.h (FRAME_X_DISPLAY): New macro.
* src/process.c: Make some more things conditional on
subprocess support.
(PIPECONN_P, PIPECONN1_P) [!subprocesses]: New placeholder
macros.
(Fnum_processors): Return 1 on MSDOS.
(open_channel_for_module): Avoid subprocess specific code
on MSDOS.
2021-12-11 19:49:40 +08:00
Po Lu
d90be27995 Use window height to determine wheel event pixel deltas on XInput 2
* src/xterm.c (handle_one_xevent): Use window height instead of
frame height to determine the height of a scroll unit.
2021-12-11 18:30:01 +08:00
Po Lu
607dee1a71 Prevent hang when exiting Emacs on Haiku
* src/haiku_support.cc (be_app_quit): Don't wait for app
thread to also quit.
2021-12-11 10:09:03 +00:00
Eli Zaretskii
facddfc803 * src/sqlite.c (row_to_value): Call 'make_unibyte_string'. 2021-12-11 12:05:54 +02:00
Basil L. Contovounesios
815a8a7db2 Pacify unused variable warning in xterm.c
* src/xterm.c (handle_one_xevent) <GenericEvent> [HAVE_XINPUT2]: The
variable any_stop_p is used only when HAVE_XWIDGETS, so guard its
declaration accordingly to pacify GCC's -Wunused-variable warning.
2021-12-11 11:57:53 +02:00
Eli Zaretskii
4cdc59f33a Minor cleanups in sqlite.c
* src/sqlite.c (Fsqlite_open): Signal an error if
'init_sqlite_functions' fails.  Encode FILE using UTF-8.
(Fsqlite_close, Fsqlite_execute, Fsqlite_select)
(Fsqlite_load_extension): Doc fixes.
(Fsqlite_load_extension): Encode MODULE using UTF-8.
2021-12-11 11:54:44 +02:00
Eli Zaretskii
628306c299 Minor cleanups of sqlite3 code on MS-Windows
* src/sqlite.c (sqlite_loaded_p): Function deleted: not used
anymore.
(init_sqlite_functions) [WINDOWSNT]: Use a static 'bool' variable
to indicate if sqlite3 DLL was successfully loaded.
(Fsqlite_available_p) [WINDOWSNT]: Just call
'init_sqlite_functions' if Vlibrary_cache doesn't mention
'sqlite3'.
2021-12-11 11:26:04 +02:00
Eli Zaretskii
6c81683a27 Fix a typo in sqlite.c
* src/sqlite.c (Fsqlite_select): Fix a typo in arguments to
make_sqlite.
2021-12-11 10:51:09 +02:00
Lars Ingebrigtsen
17569c9495 Fix Fsqlite_finalize book-keeping
* src/sqlite.c (Fsqlite_finalize): Mark the object as dead.
2021-12-11 08:18:09 +01:00
Lars Ingebrigtsen
ebf59d1a28 Check whether the sqlite supports sqlite3_load_extension
* configure.ac: Check for sqlite3_load_extension, which is
apparently missing in some versions.
* src/sqlite.c: Add guards.
(Fsqlite_load_extension): Ifdef out on systems that doesn't have it.
2021-12-11 06:40:01 +01:00
Lars Ingebrigtsen
385f2faf34 Fix some sqlite doc string typos
* src/sqlite.c (Fsqlite_load_extension, Fsqlite_more_p): Fix typos
in doc strings.
2021-12-11 06:26:37 +01:00
Lars Ingebrigtsen
3d38d1d134 Add sqlite3 support to Emacs
* configure.ac: Add check for the sqlite library.
* doc/lispref/text.texi (Database): Document it.

* lisp/sqlite.el: New file.

* lisp/term/w32-win.el (dynamic-library-alist): Add a mapping.

* src/Makefile.in (SQLITE3_LIBS): Add the libraries.

* src/alloc.c (union emacs_align_type): Add a Lisp_Sqlite struct.

* src/data.c (Ftype_of): Add sqlite.

* src/emacs.c (main): Load the syms.

* src/lisp.h (DEFINE_GDB_SYMBOL_BEGIN): Add PVEC_SQLITE.
(GCALIGNED_STRUCT): New struct to keep data for sqlite database
objects and statement objects.
(SQLITEP, SQLITE, CHECK_SQLITE, XSQLITE): New macros for accessing
the objects.

* src/pdumper.c (dump_vectorlike): Update hash.
(dump_vectorlike): Don't dump it.

* src/print.c (print_vectorlike): Add a printer for the sqlite
object.

* src/sqlite.c: New file.

* test/src/sqlite-tests.el: Add tests.
2021-12-11 04:55:57 +01:00
Eli Zaretskii
c0b9041ebd Fix logic in 'compute_window_start_on_continuation_line'
* src/xdisp.c (compute_window_start_on_continuation_line): Fix a
thinko in logic.  Patch by dickmao <dick.r.chiang@gmail.com>.
(Bug#52378)
2021-12-09 21:29:32 +02:00
Stefan Kangas
6ecb24f877 Merge from origin/emacs-28
1821844357 Add missing K key documentation for Cangjie input methods
be860c1385 Fix manual entry of 'quit-restore-window' (Bug#52328)
35a96139df Clarify a comment in xdisp.c
6ba2f028cf Revert "Grep alias `all' shall not match parent directory"
eb9e33e238 ; * etc/NEWS: Non-nil repeat-keep-prefix is not the defaul...
538fc1d0e0 Fix mode-line display in Calendar mode

# Conflicts:
#	etc/NEWS
#	lisp/help.el
2021-12-09 14:53:51 +01:00
Eli Zaretskii
35a96139df Clarify a comment in xdisp.c
* src/xdisp.c (compute_window_start_on_continuation_line): Clarify
a comment.  (Bug#52378)
2021-12-09 09:18:04 +02:00
Po Lu
58cf601aad Fix coarse scroll deltas on macOS
* src/nsterm.m (- mouseDown): Multiply deltas as appropriate.
2021-12-08 19:50:27 +08:00
Po Lu
5671709590 Send scroll stop events to xwidgets correctly
* src/xterm.c (handle_one_xevent): Record stop events manually.

* src/xwidget.h (xwidget_scroll):
* src/xwidget.c (xwidget_scroll): New parameter `stop_p'.
2021-12-08 10:04:31 +08:00
Lars Ingebrigtsen
7d7f3d98dc Pacify svg_load_image compiler warning
* src/image.c (svg_load_image): Fix compiler warning from gcc
(Debian 11.2.0-10).
2021-12-08 01:53:05 +01:00
Lars Ingebrigtsen
b9c43acdd6 Check decoding results in webp_load before using it
* src/image.c (webp_load): Check whether we were able to decode
the image before using it.
2021-12-08 01:38:39 +01:00
Stefan Kangas
2e8d1ad0f2 image.c: Remove some dead code
* src/image.c (gui_put_x_image): Remove dead code, commented out since
2004.
2021-12-06 12:06:35 +01:00
Lars Ingebrigtsen
6620d03e33 ; * src/image.c (webp_load): Minor stylistic fix-up to previous change
* src/image.c (webp_load): Minor stylistic fix-up to previous change.
2021-12-05 23:31:36 +01:00
dickmao
dd2a846890 Add workaround to compilation warning in gcc 10.x in image.c
* src/image.c (webp_load): Work around a (wrong) compiler warning
in gcc 10.x (bug#52276).
2021-12-05 23:29:51 +01:00
Eli Zaretskii
25dc0d1de6 ; Another protection from out-of-bounds access to it->stack[]. 2021-12-05 18:03:40 +02:00
Eli Zaretskii
509dec902c Fix out-of-bounds access in xdisp.c
* src/xdisp.c (produce_stretch_glyph): Avoid indexing it->stack
with a negative index.  Reported by Po Lu <luangruo@yahoo.com>.
2021-12-05 17:34:05 +02:00
Stefan Kangas
520a703fa7 Merge from origin/emacs-28
c086358574 Update to Org 9.5.1-15-gdb4805
fef3e60061 * lisp/emacs-lisp/edebug.el (edebug-eval-defun): Minor doc...
a1e30e4106 ; Fix most remaining AUTHORS warnings
f3e6a432c5 ; * doc/misc/efaq.texi (New in Emacs 28): Add more news.
00236cc802 Fix the enumeration values returned by 'try_scrolling'
2021-12-05 06:30:35 +01:00
Eli Zaretskii
aa6681a51a Fix the MinGW build broken by recent changes in image.c
* src/image.c (rsvg_handle_get_intrinsic_size_in_pixels)
[WINDOWSNT]: Fix prototype.  (Bug#44655)
2021-12-04 13:42:25 +02:00
Alan Third
796075ef7e Make use of Trash on macOS (bug#21340)
* src/nsfns.m (Fsystem_move_file_to_trash): New function.
2021-12-04 10:44:54 +00:00
Eli Zaretskii
3e7aff5fcd Yet another place inside redisplay_window to prevent quitting
* src/xdisp.c (handle_single_display_spec): Inhibit quitting
around the call to 'lookup_derived_face' (which can QUIT).
(Bug#44448)
2021-12-04 10:37:40 +02:00
Eli Zaretskii
00236cc802 Fix the enumeration values returned by 'try_scrolling'
* src/xdisp.c (try_scrolling): Make the enum values match the
commentary.  Reported by Po Lu <luangruo@yahoo.com>.
2021-12-04 10:19:56 +02:00
Stefan Kangas
d82cfbc0e9 Merge from origin/emacs-28
745a732ae4 ; Further author fixes in authors.el
bef17bca21 * src/dosfns.c (Fint86): Doc fix; don't use obsolete names.
bc55dc04af * doc/misc/erc.texi (Keystroke Summary): Fix doc for TAB.
ef4d216eb3 Remove reference to variable obsolete since 24.1
7282e492d5 * doc/misc/efaq.texi (New in Emacs 28): New node.
eafcccd38f ; FAQ: Normalize references to the NEWS.NN file
c006c490eb ; * doc/misc/efaq.texi (Latest version of Emacs): Update v...
9fbc4fa0e7 Add Tramp version integrated in Emacs 28.1
2021-12-04 06:30:32 +01:00
Stefan Kangas
ab828569ab Merge from origin/emacs-28
5d6f828799 Unbreak build after 9c222b9c1a.
2021-12-04 06:30:32 +01:00
Stefan Kangas
bef17bca21 * src/dosfns.c (Fint86): Doc fix; don't use obsolete names. 2021-12-04 01:00:11 +01:00
Paul Eggert
1e2bc1bbf4 Port to Tiny C on x86-64
This allows Emacs to build on Ubuntu 21.10 x86-64 with
‘./configure --without-modules CC=tcc’.
* configure.ac (GC_SETJMP_WORKS):
Accept __x86_64__ as an alias for __amd64__.
* src/lisp.h (alignas): Provide a no-op substitute.
2021-12-03 13:09:34 -08:00
Paul Eggert
5586eb463f Prefer rsvg_handle_get_intrinsic_size_in_pixels
Use rsvg_handle_get_intrinsic_size_in_pixels if available,
as this is simpler and better than what we were doing.
From a comment by by Alan Third (Bug#44655#56).
* src/image.c (init_svg_functions): Arrange for the new function.
(svg_load_image): Prefer the results of
rsvg_handle_get_intrinsic_size_in_pixels if available.
2021-12-03 10:25:09 -08:00
Paul Eggert
bcb4651c41 Improve overflow checking in svg_load_image
* src/image.c: Include math.h, for lrint.
(scale_image_size, compute_image_size): Use ‘double’, not ‘int’
for image size args, since librsvg uses ‘double’ for pixel counts.
(scale_image_size): Use ceil instead of rounding, to avoid
discarding fractional SVG pixels.  Divisor and multiplier are now
double instead of int, for better portability to librsvg
functions with fractional pixel sizes.
(image_get_dimension, compute_image_size, svg_load_image):
Be more careful about ignoring, rejecting or clipping scale
factors or sizes that are out of integer range.
(compute_image_size): Don’t bother to calculate :max-width if
:width is specified, and likewise for :max-height and :height.
2021-12-03 10:25:09 -08:00
Paul Eggert
02386da938 Simplify svg_load_image
* src/image.c (svg_load_image): Simplify slightly.
2021-12-03 10:25:09 -08:00
Paul Eggert
19ac237c9e More-robust svg_load_image fallback
Suggested by Alan Third (Bug#44655#56).
* src/image.c (svg_load_image): Fall back on
rsvg_handle_get_geometry_for_layer if the
rsvg_handle_get_intrinsic_dimensions computations yielded unusable
viewbox width and height, instead of falling back only if
rsvg_handle_get_intrinsic_dimensions did not report image width
and height, or did not report a viewbox.
2021-12-03 10:25:09 -08:00
Philipp Stephani
5d6f828799 Unbreak build after 9c222b9c1a.
* src/pdumper.c (dump_subr): Fix Lisp_Subr hash value.
2021-12-03 09:40:15 +01:00
Eli Zaretskii
1431fce67f Revert "Support display of non-ASCII characters with aligned columns"
This reverts commit 608267c71e.
2021-12-03 10:02:46 +02:00
Po Lu
ba063f8141 Send scroll stop events to xwidgets when built with XInput 2
* src/xwidget.c (xwidget_scroll): Set xg_event->scroll.is_stop
when appropriate.
2021-12-03 14:31:20 +08:00
Stefan Kangas
c66eb52453 Merge from origin/emacs-28
9c222b9c1a Port to C compilers that lack size-0 arrays
fed35a8951 Port emacsclient to Solaris 10
f35d6a9c73 * CONTRIBUTE: Improve commit message instructions
e0ee1d003a Work around IBM XL C compiler bug
6b99b6eb8b * admin/make-tarball.txt: Various clarifications.
bbf4140091 * admin/diff-tar-files: Don't assume .tar.gz.
0a50ad11db * lisp/tab-bar.el (tab-bar-close-other-tabs): Fix regression.
2021-12-03 06:30:26 +01:00