1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-29 02:02:50 -07:00
Commit graph

44802 commits

Author SHA1 Message Date
Paul Eggert
9c222b9c1a Port to C compilers that lack size-0 arrays
The C standard does not allow size-zero arrays, so redo struct
Lisp_Subr to not use size-zero arrays when native compilation is
not being used.  Formerly, the code was using size-zero arrays (a
GNU C extension) to avoid using memory unnecessarily when
HAVE_NATIVE_COMP is not defined.  Replace this hack with the
more-traditional hack of putting the relevant members inside
‘#ifdef HAVE_NATIVE_COMP’.
* src/alloc.c (cleanup_vector, mark_object):
* src/comp.c (make_subr):
* src/data.c (Fsubr_native_lambda_list, Fsubr_native_comp_unit):
* src/eval.c (init_eval_once, funcall_lambda):
* src/lisp.h (SUBR_NATIVE_COMPILEDP, SUBR_NATIVE_COMPILED_DYNP)
(SUBR_TYPE):
* src/lread.c (Fload):
Conditionally compile with ‘#ifdef HAVE_NATIVE_COMP’ instead of
with ‘if (NATIVE_COMP_FLAG)’.  Redo members like native_comp_u[0]
to be plain native_comp_u.  Put all uses of these members inside
‘#ifdef HAVE_NATIVE_COMP’.
* src/lisp.h (struct Lisp_Subr): Members native_comp_u,
native_c_name, lambda_list, type are now all ifdeffed out if
HAVE_NATIVE_COMP is not defined, instead of being size-zero
arrays.  All uses changed.
* src/pdumper.c (dump_subr, dump_cold_native_subr)
(dump_do_dump_relocation):
* src/comp.h (NATIVE_COMP_FLAG): Remove; no longer needed.
2021-12-02 19:03:14 -08:00
Po Lu
f17d0dfb3e Generate touch-end events on pgtk
* src/pgtkterm.c (scroll_event): Generate touch end events.
2021-12-03 10:29:41 +08:00
Paul Eggert
e0ee1d003a Work around IBM XL C compiler bug
* src/fileio.c (Fcopy_file): Work around a compiler bug in IBM XL
C for AIX, V12.1 (5765-J02, 5725-C72).  Without this patch, the
compiler incorrectly complains “Initialization between types "int"
and "struct timespec" is not allowed” and “Initialization between
types "long" and "struct timespec" is not allowed”.
2021-12-02 18:20:05 -08:00
Po Lu
15d5af8cb0 Merge remote-tracking branch 'origin/master' into feature/pgtk 2021-12-03 08:36:48 +08:00
Eli Zaretskii
8203c2cd30 ; * src/xdisp.c (syms_of_xdisp) <align-columns-display>: Doc fix. 2021-12-02 19:46:26 +02:00
Eli Zaretskii
608267c71e Support display of non-ASCII characters with aligned columns
* src/xdisp.c (get_normal_width): New function.
(gui_produce_glyphs): Use 'get_normal_width' to widen on display
characters whose width is not an integral multiple of the
"standard" width.
(syms_of_xdisp) <align-columns-display>: New boolean variable.
2021-12-02 19:44:46 +02:00
Lars Ingebrigtsen
a516ab79c3 Add a new variable 'process-error-pause-time'
* doc/lispref/processes.texi (Asynchronous Processes): Document it.
* lisp/cus-start.el (standard): Customize.

* src/process.c (read_process_output_error_handler)
(exec_sentinel_error_handler): Use it.
(syms_of_process): New variable process-error-pause-time (bug#19457).
2021-12-02 13:21:53 +01:00
Po Lu
105c7562dc Get rid of duplicate pgtk function
* src/pgtkfns.c (Fpgtk_popup_font_panel): Remove function.
(syms_of_pgtkfns): Get rid of removed subr.
2021-12-02 18:18:00 +08:00
Po Lu
7fa11be2fa Fix `menu-set-font' on pgtk
* src/pgtkfns.c (Fx_select_font): New function.
(syms_of_pgtkfns): Define new subr.
2021-12-02 18:03:51 +08:00
Po Lu
2f6b519eae Merge remote-tracking branch 'origin/master' into feature/pgtk 2021-12-02 17:53:58 +08:00
Po Lu
603bdc8d38 Add some primitive momentum-based precision scrolling
The algorithm used to scroll the display kinetically is very
simple and needs improvement.  Someone should work on that
eventually.

* lisp/pixel-scroll.el (pixel-scroll-precision-use-momentum):
New user option.
(pixel-scroll-precision-mode-map): Add
`pixel-scroll-start-momentum'.
(pixel-scroll-kinetic-state):
(pixel-scroll-accumulate-velocity):
(pixel-scroll-calculate-velocity): New functions.
(pixel-scroll-start-momentum): New command.

* src/xterm.c (handle_one_xevent): Fix touch-end event
generation.
2021-12-02 11:01:59 +08:00
Po Lu
5001f4f91b Add `touch-end' event type
* etc/NEWS:
* doc/lispref/commands.texi (Misc Events): Document new
`touch-end' event type.

* lisp/bindings.el: Ignore touch-end events by default.

* src/keyboard.c (make_lispy_event): Add support for
TOUCH_END_EVENT events.
(syms_of_keyboard): New symbol `touch-end'.

* src/termhooks.h (enum event_kind): New member
`TOUCH_END_EVENT'.

* src/xterm.c (handle_one_xevent): Send touch-end events when
appropriate.
2021-12-02 10:27:24 +08:00
Po Lu
78a3933b62 Merge remote-tracking branch 'origin/master' into feature/pgtk 2021-12-02 09:21:11 +08:00
Eli Zaretskii
ddaedb1910 ; * src/w32term.c (w32_construct_mouse_wheel): Fix a typo. 2021-12-01 15:57:59 +02:00
Po Lu
6e5c2fb468 Stop relying on `x_coalesce_scroll_events' in pgtk code
* src/pgtkterm.c (scroll_event): Use
`mwheel_coalesce_scroll_events'.
(x_coalesce_scroll_events): Remove variable.
2021-12-01 21:50:43 +08:00
Po Lu
658085d069 Merge remote-tracking branch 'origin/master' into feature/pgtk 2021-12-01 21:50:02 +08:00
Eli Zaretskii
bab2969404 Support precision mouse scrolling on MS-Windows
* src/w32fns.c (w32_wnd_proc): Pass the WM_SETTINGCHANGE message
to the Lisp thread.
* src/w32term.c (w32_construct_mouse_wheel): Support mice with
precision scrolling wheel.
(w32_get_mouse_wheel_vertical_delta): New function.
(w32_read_socket): When the WM_SETTINGCHANGE is received, call
'w32_get_mouse_wheel_vertical_delta'.
(w32_initialize): Call 'w32_get_mouse_wheel_vertical_delta' at
startup.
* src/nsterm.m (syms_of_nsterm):
* src/haikuterm.c (syms_of_haikuterm):
* src/xterm.c (syms_of_xterm): Remove window-system specific
variables for coalescing mwheel events.
* src/keyboard.c (syms_of_keyboard)
<mwheel-coalesce-scroll-events>: New variable, to replace the
above platform-specific ones.

* doc/lispref/commands.texi (Misc Events): Improve wording of the
description of mouse-wheel events.
2021-12-01 15:36:55 +02:00
Po Lu
5477b929da Merge remote-tracking branch 'origin/master' into feature/pgtk 2021-12-01 15:20:08 +08:00
Stefan Kangas
93d9bc09f4 Merge from origin/emacs-28
e632b83a28 Update authors.el for Emacs 28
e9fdb11903 ; * ChangeLog.3: Some additional fixes.
8fa4749df1 ; * ChangeLog.3: Filename fixes.
ea5a90b4f4 * lisp/repeat.el: Fix long-standing problem when a random ...
ef4954b69c * lisp/repeat.el (repeat-keep-prefix): Change default to nil.
6d5886e780 * test/lisp/repeat-tests.el (repeat-tests-call-b): Test fo...
9e16c6a96d ; * src/comp.c (syms_of_comp) <comp-no-native-file-h>: Doc...
9aa8fd6e62 * src/callint.c (Fcall_interactively): Fix inhibit_mouse_e...
70c229b1fc Fix regression in gdb-frame-handler
cd9dd26d24 Format and index concept 'predicate' in ELisp Intro
ab291656d0 ; * ChangeLog.3: Fix typos.
354f6c5609 ; * ChangeLog.3: Formatting fixes.
6192525a96 ; make change-history-commit
2021-12-01 06:30:22 +01:00
Po Lu
b463dc8921 Synchronize pgtk tab bar code with xterm
* src/pgtkterm.c (x_draw_image_relief):
(button_event): Synchronize code with xterm. (Bug#50779)
2021-12-01 09:20:27 +08:00
Po Lu
3005c00b13 Merge remote-tracking branch 'origin/master' into feature/pgtk 2021-12-01 09:05:07 +08:00
Eli Zaretskii
9e16c6a96d ; * src/comp.c (syms_of_comp) <comp-no-native-file-h>: Doc fix. 2021-11-30 20:23:47 +02:00
Eli Zaretskii
bf299b7d2f ; * src/comp.c (syms_of_comp): Fix first lines of doc strings. 2021-11-30 20:16:25 +02:00
Juri Linkov
9aa8fd6e62 * src/callint.c (Fcall_interactively): Fix inhibit_mouse_event_check.
Don't search for the next mouse event with parameters
when inhibit-mouse-event-check is non-nil (bug#50067).
2021-11-30 20:12:06 +02:00
Andrea Corallo
9b381a95ef Improve native compiler startup circular dependecy prevention mechanism
* src/comp.c (maybe_defer_native_compilation): Update to accumulate
delayed objects in `comp--delayed-sources'.
(syms_of_comp): Add `comp--delayed-sources' and `comp--loadable'
vars.

* lisp/startup.el (startup--honor-delayed-native-compilations): New
function.
(normal-top-level): Call it.
2021-11-30 15:42:41 +01:00
Po Lu
5cab2684c0 * src/nsterm.m (Vns_scroll_event_delta_factor): Fix doc string. 2021-11-30 21:10:36 +08:00
Po Lu
c3a440e520 Calculate pixel deltas correctly
* src/pgtkterm.c (scroll_event): Fix scroll delta
factor. (bug#52195)
2021-11-30 19:35:36 +08:00
Po Lu
4beecd8e8c Merge remote-tracking branch 'origin/master' into feature/pgtk 2021-11-30 13:56:32 +08:00
Po Lu
72d223a544 Enable shallow menu bar updates on PGTK
* src/gtkutil.c (menu_bar_button_pressed_cb): New function.
(create_menus): Connect button press event signal.

* src/pgtkmenu.c (set_frame_menubar): Allow shallow updates.
2021-11-30 13:55:16 +08:00
Po Lu
f3bb2b80b4 Add `ns-scroll-event-delta-factor'
* src/nsterm.m (- mouseDown): Take delta factor into account.
(Vns_scroll_event_delta_factor): New variable.

* lisp/cus-start.el: Add option.
2021-11-30 13:41:16 +08:00
Po Lu
a59deef359 Allow non-float values in x-scroll-event-delta-factor
* src/xterm.c (handle_one_xevent): Use XFLOATINT instead of
XFLOAT_DATA.
2021-11-30 09:46:25 +08:00
Po Lu
b3277883f3 Make interrupt input optionally work on PGTK
* src/pgtkterm.c (pgtk_delete_terminal): Close display fd if it
exists.
(pgtk_term_init): Set up interrupt handling for display fd if
available.
* src/pgtkterm.h (struct pgtk_display_info): Add `connection'
field.
2021-11-30 09:34:24 +08:00
Po Lu
d15dafeefb Stop setting mouse face GC manually, as it is no longer required
* src/pgtkterm.c (x_set_mouse_face_gc): Remove obsolete code.
2021-11-30 09:11:42 +08:00
Po Lu
faa593ac5d Enable pixel-precision scrolling on pgtk port
* src/pgtkterm.c (scroll_event): Generate enhanced wheel
events.
(x_coalesce_scroll_events): New variable.
2021-11-30 09:01:26 +08:00
Po Lu
105205c86b Get rid of pgtk_select and use xg_select instead
* src/pgtkmenu.c (pgtk_menu_wait_for_event): Get rid
of pgtk_select.
* src/pgtkterm.h (pgtk_select):
* src/pgtkterm.c (pgtk_select): Delete function.
* src/process.c (wait_reading_process_output): Stop
using pgtk_select.
2021-11-30 08:52:00 +08:00
Po Lu
66b5f5a872 Fix build after merge
* lisp/mwheel.el (mouse-wheel-up-event):
* src/gtkutil.c (xg_event_is_for_scrollbar):
* src/termhooks.h (enum output_method): Fix trivial typos.
2021-11-30 08:33:24 +08:00
Po Lu
194c299470 Merge remote-tracking branch 'origin/feature/pgtk' into feature/pgtk 2021-11-30 08:19:46 +08:00
Po Lu
8f5d2a3181 Merge remote-tracking branch 'origin/master' into feature/pgtk 2021-11-30 08:16:50 +08:00
Alan Third
50379fb78d Fix build on macOS
* src/nsterm.h (NSPasteboardTypeMultipleTextSelection):
(NSPasteboardTypePNG): These are already defined on macOS 10.6 and
above and aren't used at all in GNUstep.
2021-11-29 22:11:04 +00:00
Alan Third
67676bb5a0 Fix NS port text decorations (bug#52156)
* src/nsterm.m (ns_draw_text_decoration): Set the correct colors for
decorations other than underline.
(ns_draw_glyph_string): Remove superfluous color setting call.
2021-11-29 21:58:42 +00:00
Yuuki Harano
7d8f0c0586 * src/xdisp.c (mouse_face_from_buffer_pos): Revert whitespace only change 2021-11-30 00:23:39 +09:00
Yuuki Harano
92cd274ba8 Remove draw_glyphs_debug
It is left-over from debugging, and not needed any more.

* src/xdisp.c (draw_glyphs_debug):
(draw_glyphs):
2021-11-30 00:19:22 +09:00
Yuuki Harano
073111cc77 Replace XFillRectangle with cairo_rectangle and cairo_fill
* src/pgtkterm.c (pgtk_flash):
2021-11-30 00:14:42 +09:00
Yuuki Harano
3b8e122bc7 Use /* */ comment style instead of //
* src/gtkutil.c (xg_create_frame_widgets):
* src/pgtkfns.c (Fx_create_frame):
(frame_geometry):
* src/pgtkterm.c (pgtk_mouse_position):
(pgtk_redisplay_interface):
(pgtk_clear_frame):
(pgtk_create_terminal):
(struct pgtk_window_is_of_frame_recursive_t):
(key_press_event):
(syms_of_pgtkterm):
2021-11-30 00:07:18 +09:00
Andreas Schwab
de9d27f679 Avoid undefined behaviour when copying part of structure
* src/dispnew.c (copy_row_except_pointers): Don't use address of
subobject as starting point.

(cherry picked from commit 6943786b5c)
2021-11-29 14:45:40 +02:00
Andreas Schwab
6943786b5c Avoid undefined behaviour when copying part of structure
* src/dispnew.c (copy_row_except_pointers): Don't use address of
subobject as starting point.
2021-11-29 10:30:10 +01:00
Po Lu
618070d4b4 Allow customizing the pixel delta of wheel events on X
* lisp/cus-start.el: Add `x-scroll-event-delta-factor'.
* src/xterm.c (handle_one_xevent): Apply scroll event
delta factor to wheel events with pixel data.
(Vx_scroll_event_delta_factor): New user option.
2021-11-29 15:37:41 +08:00
Po Lu
a1aa9cbf57 Make overhangs in ftcrfont work on Haiku
* src/ftcrfont.c (ftcrfont_draw): Dump left overhang clipping
on Haiku and always set `background_filled_p'.
2021-11-29 07:12:25 +00:00
Stefan Kangas
d648874110 Merge from origin/emacs-28
c4daff9cf8 * Makefile.in (PREFERRED_BRANCH): Now emacs-28.
bca57086be ; Remove an obsolete comment
455b64c336 * src/coding.c (Fdecode_coding_region, Fencode_coding_regi...
2021-11-29 07:00:25 +01:00
Po Lu
390361cb24 Update XKB map on MappingNotify
* src/xterm.c (handle_one_xevent): Update XKB map when X
tells us the keyboard map has been updated.
2021-11-29 12:39:16 +08:00