Yuuki Harano
b3a20d7a21
Implement Scroll-bar-forground and scroll-bar-background
...
* src/pgtkterm.h (struct pgtk_output):
* src/pgtkterm.c (x_free_frame_resources):
* src/pgtkfns.c (pgtk_set_scroll_bar_foreground)
(pgtk_set_scroll_bar_background, pgtk_frame_parm_handlers)
(Fx_create_frame):
* src/gtkutil.c (xg_finish_scroll_bar_creation):handle scrollbar css values
* etc/org.gnu.emacs.defaults.gschema.xml: add scroll bar fields
scroll-bar-foreground, scroll-bar-background 実装。
2020-11-22 14:46:55 +11:00
Yuuki Harano
bfbcb11248
implement set-tool-bar-position and set-sticky
...
* ../src/pgtkfns.c (pgtk_set_tool_bar_position)
(pgtk_frame_parm_handlers):
tool-bar-position 実装。
2020-11-22 14:46:55 +11:00
Yuuki Harano
9d9c8284fe
TIMERFD support for PGTK, prevent calling when timerfd<0
...
* ../src/atimer.c (set_alarm):
2020-11-22 14:46:55 +11:00
Yuuki Harano
6957f9469c
Add PGTK support for fullscreen
...
* src/gtkutil.c (x_wm_set_size_hint): Fullscreen support for PGTK
fullscreen にできるようにした。
2020-11-22 14:46:55 +11:00
Yuuki Harano
31bba950bc
Use gsettings instead of X resource database
...
* src/pgtkfns.c (pgtk_is_lower_char, pgtk_is_upper_char)
(pgtk_is_numeric_char, parse_resource_key)
(pgtk_get_defaults_value, pgtk_set_defaults_value)
(Fpgtk_set_resource, pgtk_get_string_resource): handle gsettings scheme
* m4/gsettings.m4: new file
* etc/org.gnu.emacs.defaults.gschema.xml: new file
* configure.ac (GLIB_DISABLE_DEPRECATION_WARNINGS)
(gsettingsschemadir):
* Makefile.in (gsettingsschemadir, GLIB_COMPILE_SCHEMAS)
(install, uninstall, clean):
* .gitignore: add gschema
*.gschema.valid は生成ファイルなので無視。
schema の置き場所を変更。
2020-11-22 14:46:55 +11:00
Yuuki Harano
519a4ac39f
Implement Meta key detection
...
* ../src/pgtkterm.c (x_find_modifier_meanings, )
(key_press_event, construct_mouse_click, scroll_event)
(pgtk_term_init):
* src/pgtkterm.h (struct pgtk_display_info):
* ../src/gtkutil.c (xg_tool_bar_callback):
meta キーの検出を実装。
X11 で alt キーを meta キーとして使えなくなっていたのを修正。
2020-11-22 14:46:55 +11:00
Yuuki Harano
68b99a3e66
Implement invisible-pointer to create blinking effect
...
* src/pgtkterm.h (struct pgtk_display_info): add cursor and callback
* src/pgtkterm.c (x_setup_pointer_blanking)
(XTtoggle_invisible_pointer, x_toggle_visible_pointer): new functions
(pgtk_create_terminal, pgtk_term_init): use gdkcursor
* src/pgtkgui.h: define Emacs_cursor as a GdkCursor
invisible pointer 実装。
2020-11-22 14:46:55 +11:00
Yuuki Harano
ea3ecd320c
init border_pixel.
...
* ../src/pgtkfns.c (Fx_create_frame): remove if preprocessor
2020-11-22 14:46:55 +11:00
Yuuki Harano
da3c3518ed
border_color/pixel width
...
* src/pgtkterm.h (struct pgtk_output):
* src/pgtkterm.c (x_free_frame_resources, frame_highlight)
(frame_unhighlight, pgtk_frame_rehighlight): use css information
* src/pgtkfns.c (x_set_border_color, pgtk_frame_parm_handlers)
(Fx_create_frame): new functions connected
* src/frame.c (gui_set_border_width): ifdef for PGTK
border_color/pixel 対応。
2020-11-22 14:46:55 +11:00
Yuuki Harano
19da22ed25
Add support for handing the internal border
...
src/pgtkterm.c (pgtk_clear_under_internal_border): remove #if 0
src/pgtkfns.c (x_set_internal_border_width): add clear and fill support
internal-border 対応。
2020-11-22 14:46:55 +11:00
Yuuki Harano
fbba846ee8
Addframe highlighting support
...
* ../src/pgtkterm.c:
(pgtk_focus_frame, set_opacity_recursively, x_set_frame_alpha)
(frame_highlight, frame_unhighlight, pgtk_frame_rehighlight)
(XTframe_rehighlight, x_new_focus_frame, pgtk_create_terminal):
frame の highlight に対応。
とりあえず opacity のみ対応。
2020-11-22 14:46:55 +11:00
Yuuki Harano
85441c96d7
Add Stipple support for PGTK
...
* ../src/pgtkterm.c (create_background_surface_by_face)
(create_background_surface, x_draw_glyph_string_background)
(x_draw_glyph_string_bg_rect, x_draw_image_glyph_string)
(x_draw_stretch_glyph_string, pgtk_draw_fringe_bitmap): handle stipple
* ../src/image.c (image_create_bitmap_from_file, )
(syms_of_image): Add pgtk support
* ../lisp/faces.el (face-valid-attribute-values): add pgtk support
stipple 対応。
stipple がまともに動いてなかったので修正。
2020-11-22 14:46:55 +11:00
Yuuki Harano
1d549fa069
Add support for make-frame-(in)visible
...
* ../src/pgtkterm.c (pgtk_make_frame_visible_wait_for_map_event_cb)
(pgtk_make_frame_visible_wait_for_map_event_timeout)
(x_make_frame_visible, x_new_font)
(pgtk_make_frame_visible_invisible, pgtk_make_frame_visible)
(pgtk_redisplay_interface, pgtk_create_terminal, map_event)
(syms_of_pgtkterm):
make-frame-visible/invisible 実装。
2020-11-22 14:46:55 +11:00
Jeff Walsh
592badc357
Early toolbar improvements
...
* src/xdisp.c (redisplay_tool_bar):
* src/pgtkterm.h:
* src/pgtkterm.c:
(pgtk_make_frame_visible, pgtk_make_frame_invisible)
(pgtk_update_begin, pgtk_parse_color, pgtk_query_colors)
(syms_of_pgtkterm):
* src/pgtkfns.c: cleanup function
* src/image.c (image_create_bitmap_from_file):
* src/gtkutil.c (xg_get_pixbuf_from_pix_and_mask):
2020-11-22 14:46:55 +11:00
Yuuki Harano
164800da6f
Add Preferred geometry settings
...
* ../src/pgtkterm.h (struct pgtk_output):
* ../src/pgtkterm.c (pgtk_set_window_size):
* ../src/gtkutil.c (x_wm_set_size_hint):
* ../src/emacsgtkfixed.c (emacs_fixed_get_preferred_width)
(emacs_fixed_get_preferred_height):
Fixup toolbar handling
toolbar, menubar の ON/OFF でサイズが変化していっていたのを修正。
2020-11-22 14:46:55 +11:00
Yuuki Harano
330a346ca7
Migrate to Emacs_GC
...
* ../src/xfaces.c (x_create_gc, x_free_gc):
* ../src/pgtkterm.h (struct pgtk_output, struct pgtk_output):
* ../src/pgtkterm.c (x_set_cursor_gc, x_set_mouse_face_gc)
(x_setup_relief_color, x_draw_image_foreground_1)
(x_draw_image_foreground)
(pgtk_cr_draw_image, pgtk_draw_fringe_bitmap)
(pgtk_begin_cr_clip, pgtk_set_cr_source_with_gc_foreground)
(pgtk_set_cr_source_with_gc_background):
* ../src/pgtkgui.h:
* ../src/dispextern.h (struct glyph_string): clean up XGCValues emulation
XGCValues, GC 廃止。
Emacs_GC に統一。
2020-11-22 14:46:55 +11:00
Yuuki Harano
f4920a6883
Add pgtk-read-file-name function
...
* ../src/pgtkfns.c (read_file_name_closed_cb)
(Fpgtk_read_file_name, syms_of_pgtkfns): add function
pgtk-read-file-name を作成。
toolbar からよく呼ばれるので…
2020-11-22 14:46:55 +11:00
Jeff Walsh
cdc04b4509
Implement menubar for pgtk emacs
...
* src/xdisp.c (display_menu_bar): add pgtk case
* ../src/pgtkterm.c (pgtk_create_terminal): update hooks
(pgtk_menu_show): delete
* src/pgtkterm.h: add decls
* src/pgtkmenu.c: new file
* ../src/pgtkfns.c (x_set_menu_bar_lines)
(x_change_tool_bar_height, x_set_tool_bar_lines)
(Fx_create_frame):
2020-11-22 14:46:55 +11:00
Yuuki Harano
12cc104cd5
Cleanup x_* to gui_ to match upstream work
...
* ../src/pgtkterm.h (struct pgtk_display_info):
* ../src/pgtkterm.c (mark_pgtkterm, x_free_frame_resources)
(pgtk_update_window_end, pgtk_mouse_position)
(pgtk_redisplay_interface, pgtk_query_frame_background_color)
(pgtk_delete_terminal, pgtk_create_terminal)
(pgtk_query_frame_background_color, frame_highlight)
(motion_notify_event, button_event, scroll_event):
* ../src/pgtkfns.c (x_set_cursor_color, x_icon)
(pgtk_frame_parm_handlers, x_default_font_parameter)
(Fx_create_frame):
"for the time being, commit" -- rename x->gui, frame_X_X(f) macros
ひとまず commit。
2020-11-22 14:46:55 +11:00
Yuuki Harano
ed1f7d1e2a
Simplify compilaiton condtion
...
* ../src/menu.c (single_menu_item):
change condition.
2020-11-22 14:46:55 +11:00
Yuuki Harano
53cb431639
replace listn with list.
...
* ../src/pgtkfns.c (frame_geometry):
replace listn with list.
2020-11-22 14:46:55 +11:00
Yuuki Harano
a9c8a56ba1
Fix xdg-open handling
...
* ../src/pgtkterm.c (pgtk_term_init, NUM_ARGV, pgtk_term_init):
* ../lisp/net/browse-url.el (browse-url):
xdg-open できなかったのを修正。
2020-11-22 14:46:55 +11:00
Yuuki Harano
045e25278b
Add support for cursor_foreground_colors
...
* ../src/pgtkterm.c (x_set_cursor_gc):
* ../src/pgtkfns.c (x_set_cursor_color, Fx_create_frame)
(syms_of_pgtkfns):
* src/pgtkterm.h (struct pgtk_output):
cursor_foreground_color 対応。
あんまり意味なかった感じ。
2020-11-22 14:46:55 +11:00
Yuuki Harano
1b621c8e3c
Don't mark name_list_element as it's not required
...
* ../src/pgtkterm.c (mark_pgtkterm):
これは余分。
2020-11-22 14:46:55 +11:00
Yuuki Harano
f15c6a408d
Add set_skip_taskbar frame parm
...
* src/pgtkfns.c (x_set_skip_taskbar, pgtk_frame_parm_handlers):
Add set_skip_taskbar
2020-11-22 14:46:55 +11:00
Yuuki Harano
b721cbc6a8
Add set_undecorated frame parameter
...
* src/pgtkfns.c (x_set_undecorated, pgtk_frame_parm_handlers): Add
undecorated frame parameter handle
2020-11-22 14:46:55 +11:00
Yuuki Harano
f6d8c5939b
Introduce Pure GTK3 port
...
* src/xsettings.h:
* src/xsettings.c:
(dpyinfo_valid, store_tool_bar_style_changed)
(XSETTINGS_FONT_NAME, get_prop_window, read_settings)
(apply_xft_settings, read_and_apply_settings)
(xft_settings_event, init_xsettings, xsettings_initialize):
* src/xfaces.c:
(x_create_gc, x_free_gc):
* src/xdisp.c (redisplay_tool_bar, redisplay_internal)
(draw_glyphs_debug, draw_glyphs, mouse_face_from_buffer_pos)
(note_mouse_highlight):
* src/terminal.c (Fterminal_live_p):
* src/termhooks.h (enum output_method, GCALIGNED_STRUCT)
(TERMINAL_FONT_CACHE):
* src/process.c (wait_reading_process_output):
* src/pgtkterm.h:
* src/pgtkterm.c:
* src/pgtkselect.h:
* src/pgtkselect.c:
* src/pgtkgui.h:
* src/pgtkfns.c:
* src/image.c:
(XGetPixel, XPutPixel, image_create_bitmap_from_data)
(image_create_bitmap_from_file, free_bitmap_record)
(image_destroy_x_image, gui_put_x_image, image_get_x_image)
(Create_Pixmap_From_Bitmap_Data, xbm_load_image, )
(xpm_load_image, lookup_rgb_color, image_disable_image)
(image_build_heuristic_mask, imagemagick_load_image):
* src/gtkutil.h:
* src/gtkutil.c (PGTK_TRACE, xg_set_screen, xg_display_open)
(xg_display_close, xg_create_default_cursor)
(xg_get_pixbuf_from_pix_and_mask, xg_check_special_colors)
(qttip_cb, hierarchy_ch_cb, xg_prepare_tooltip, )
(xg_show_tooltip, xg_hide_tooltip, xg_frame_resized)
(xg_frame_set_char_size, xg_height_or_width_changed)
(xg_set_widget_bg, style_changed_cb, xg_create_frame_widgets)
(xg_free_frame_widgets, x_wm_set_size_hint, xg_frame_restack)
(xg_mark_data, xg_update_frame_menubar, free_frame_menubar)
(xg_update_submenu, xg_finish_scroll_bar_creation)
(xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos)
(xg_set_toolkit_scroll_bar_thumb, xg_event_is_for_scrollbar)
(draw_page, xg_pack_tool_bar, xg_create_tool_bar)
(xg_update_tool_bar_sizes, update_frame_tool_bar)
(free_frame_tool_bar, xg_change_toolbar_position):
* src/ftcrfont.c:
(ftcrfont_draw):
* src/fringe.c:
(init_fringe_bitmap):
* src/frame.h (GCALIGNED_STRUCT, FRAME_WINDOW_P):
* src/frame.c (Fframep):
* src/font.h:
* src/font.c (syms_of_font):
* src/emacsgtkfixed.c:
(emacs_fixed_get_preferred_width)
(emacs_fixed_get_preferred_height, XSetWMSizeHints):
* src/emacs.c (main):
* src/dispnew.c (init_display_interactive):
* src/dispextern.h:
* src/alloc.c:
(garbage_collect):
* src/Makefile.in (PGTK_OBJ, PGTK_LIBS, base_obj, LIBES):
* src/.gdbinit:
* lisp/url/url-privacy.el (url-setup-privacy-info):
* lisp/term/pgtk-win.el (featurep):
* lisp/startup.el (command-line, fancy-splash-frame):
* lisp/net/eww.el (eww-form-submit, eww-form-file)
(eww-form-checkbox, eww-form-select):
* lisp/mwheel.el (mouse-wheel-down-event, mouse-wheel-up-event):
* lisp/loadup.el (featurep):
* lisp/international/mule-cmds.el (set-coding-system-map):
* lisp/frame.el (pgtk-frame-geometry, frame-geometry)
(w32-frame-edges, frame-edges)
(pgtk-mouse-absolute-pixel-position)
(mouse-absolute-pixel-position)
(pgtk-set-mouse-absolute-pixel-position)
(pgtk-frame-list-z-order, frame-list-z-order)
(pgtk-frame-restack, frame-restack, display-mouse-p)
(display-graphic-p, display-symbol-keys-p, )
(display-pixel-height, display-mm-height, display-mm-width)
(display-backing-store, display-save-under, display-color-cells)
(display-planes, display-visual-class)
(pgtk-display-monitor-attributes-list)
(display-monitor-attributes-list):
* lisp/faces.el (face-spec-set-match-display, tool-bar):
* lisp/cus-edit.el (custom-button, custom-button-mouse)
(custom-button-pressed, custom-display):
* configure.ac (AUTO_DEPEND, XARGS_LIMIT, XWIDGETS_OBJ):
2020-11-22 14:46:55 +11:00
Stefan Kangas
b6339fc19c
Test interactive-only spec of with-suppressed-warnings
...
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-test--with-suppressed-warnings): Test suppressing warning
with interactive-only.
2020-11-22 03:24:26 +01:00
Stefan Kangas
fb9326b45c
Say which command shadows a key binding
...
* src/keymap.c (describe_vector): Say which command shadows this
binding. (Bug#9293)
* test/src/keymap-tests.el
(help--describe-vector/bug-9293-one-shadowed-in-range): Adapt
test.
2020-11-22 02:48:53 +01:00
Stefan Kangas
84dd5c9bea
Don't shadow bindings by the same command
...
* src/keymap.c (describe_vector): Do not say binding is shadowed if
the other key binding points to the same command. (Bug#9293)
* test/src/keymap-tests.el
(help--describe-vector/bug-9293-same-command-does-not-shadow): New
test.
2020-11-22 02:45:03 +01:00
Stefan Kangas
a649034336
Don't show key ranges if shadowed by different commands
...
* src/keymap.c (describe_vector): Make sure found consecutive keys
are either not shadowed or, if they are, that they are shadowed by
the same command. (Bug#9293)
* test/src/keymap-tests.el
(help--describe-vector/bug-9293-one-shadowed-in-range): New test.
2020-11-22 02:45:03 +01:00
Juri Linkov
0a8cd01162
Handle help-form in y-or-n-p and use this in find-file-noselect (bug#5423)
...
* doc/lispref/help.texi (Help Functions): Mention help-form for
read-char-from-minibuffer and y-or-n-p.
* doc/lispref/minibuf.texi (Yes-or-No Queries): Mention help-form
for y-or-n-p.
(Multiple Queries): Mention help-form for read-char-from-minibuffer.
* lisp/files.el (find-file-noselect): Let-bind multi-line help text
to help-form for y-or-n-p.
* lisp/subr.el (read-char-choice): Mention help-form in docstring.
(read-char-from-minibuffer): Mention help-form in docstring.
(y-or-n-p-map): Remove handling of 'help'.
(y-or-n-p): Mention help-form in docstring.
When help-form is non-nil: add help-char to 'prompt', and bind
help-char to help-form-show in composed-keymap.
2020-11-21 21:49:46 +02:00
Michael Albinus
3ceee39819
Fix Bug#44481
...
* lisp/net/tramp.el (tramp-system-name): New defconst.
(tramp-default-host, tramp-restricted-shell-hosts-alist)
(tramp-local-host-regexp):
* lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it. (Bug#44481)
2020-11-21 16:00:17 +01:00
Michael Albinus
789ee3e1d5
Handle connection-local null-device and path-separator variables
...
* doc/lispref/os.texi (System Environment): Add `path-separator'
function and `null-device' variable and function.
* etc/NEWS: Mention 'null-device' and 'path-separator'. Fix typos.
* lisp/files-x.el (path-separator, null-device): New defuns. (Bug#3736)
* lisp/net/tramp-adb.el
(tramp-adb-connection-local-default-shell-variables): Rename from
`tramp-adb-connection-local-default-profile'.
* lisp/net/tramp-integration.el
(tramp-connection-local-default-system-variables): New defvar.
Add it to connection-local profiles.
(tramp-connection-local-default-shell-variables): Rename from
`tramp-connection-local-default-profile'.
* lisp/progmodes/grep.el (grep-hello-file): New defun.
(grep-compute-defaults): Use `null-device' function for remote
case. Handle remote `hello-file'. Use `process-file-shell-command'.
(grep,grep-expand-keywords, lgrep): Use `null-device' function for
remote case.
2020-11-21 15:28:52 +01:00
Lars Ingebrigtsen
a824888188
Minor Edebug manual keystroke clarifications
...
* doc/lispref/edebug.texi (Edebug Misc): Also mention the `a'
binding to abort (bug#44697). Also fix `d' function reference, and
add `P' reference.
(cherry picked from commit b613f25f97 )
2020-11-21 10:27:04 +02:00
Jared Finder
2c7687738d
Migrate usage of GPM_CLICK_EVENT to MOUSE_CLICK_EVENT.
...
* src/termhooks.h (enum event_kind):
* src/term.c (term_mouse_click, handle_one_term_event):
* src/keyboard.c (discard_mouse_events, make_lispy_event): Migrate
usage of GPM_CLICK_EVENT to MOUSE_CLICK_EVENT.
2020-11-21 10:20:05 +02:00
Eli Zaretskii
86cbc9d216
Make ignoring modifiers on IME input optional
...
By default, ignore modifier keys on IME input, but add
a variable to get back old behavior.
* src/w32fns.c (syms_of_w32fns): New variable
w32-ignore-modifiers-on-IME-input.
(w32_wnd_proc): Use it to ignore modifier keys when IME input is
used. (Bug#44641)
* etc/NEWS: Announce the change and the new variable.
2020-11-21 10:14:55 +02:00
Masahiro Nakamura
32b97bb9e0
Ignore modifiers when processing WM_IME_CHAR messages
...
* src/w32fns.c (w32_wnd_proc): Ignore modifiers when processing
WM_IME_CHAR messages.
2020-11-21 09:50:22 +02:00
Stefan Kangas
6781cd670d
Make load argument of native-compile-async internal
...
* lisp/emacs-lisp/comp.el (native--compile-async): New defun extracted
from native-compile-async.
(native-compile-async): Remove load argument and use above new defun.
* src/comp.c (maybe_defer_native_compilation): Use above new
defun. (Bug#44676)
2020-11-21 04:22:59 +01:00
Stefan Monnier
932cb10761
* lisp/emacs-lisp/package.el (package-strip-rcs-id): Don't ignore errors
...
Ignoring errors here just postpones the error and replaces a clear
"invalid version syntax" with a confusing "package lacks a version".
2020-11-20 19:28:34 -05:00
Mauro Aranda
abd15e088e
Use cl-letf instead of unwind-protect in a test
...
* test/lisp/cus-edit-tests.el (cus-edit-tests-customize-saved/show-obsolete):
Good use case for cl-letf, so use it.
Suggested by Stefan Monnier <monnier@iro.umontreal.ca> in:
https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg00914.html
2020-11-20 19:28:03 -03:00
Stefan Monnier
ac98bcc906
* test/manual/indent/tcl.tcl: Add string interpolation case
2020-11-20 16:54:06 -05:00
Stefan Monnier
2ba2e7217f
Don't optimize away eval when its lexical context is different
...
* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-eval):
Obey lexical-binding.
2020-11-20 16:45:56 -05:00
Mauro Aranda
6924320aeb
Take care of a FIXME in cus-edit-tests.el
...
* test/lisp/cus-edit-tests.el (cus-edit-tests-customize-saved/show-obsolete):
Add a fake saved-value property, to be able check that the obsolete
option is present in the Customize buffer. Expect the test to pass
now.
2020-11-20 18:37:30 -03:00
Stefan Kangas
c60355582a
* lisp/emacs-lisp/comp.el (native-compile-async): Doc fix.
2020-11-20 21:06:09 +01:00
Stefan Kangas
050de01d94
Support native compilation of packages on install
...
* lisp/emacs-lisp/package.el (package-unpack)
(package--native-compile): Native compile packages on install, if the
feature is available. (Bug#44676)
(package-native-compile): New defcustom.
2020-11-20 21:05:57 +01:00
Stefan Kangas
a79365acaf
compile-async: Don't error out on deferred compilation after load
...
* lisp/emacs-lisp/comp.el (native-compile-async): Update
comp-files-queue when deferred compilation is requested. (Bug#44676)
2020-11-20 20:55:09 +01:00
Stefan Kangas
cf436db285
; Fix trivial typos
2020-11-20 20:35:44 +01:00
Stefan Kangas
86d87d2431
Don't quote lambda in idlwave.el
...
* lisp/progmodes/idlwave.el (idlwave-keyword-abbrev): Don't quote
lambda.
2020-11-20 17:25:31 +01:00
Stefan Kangas
966052cb59
Remove remaining XEmacs compat code from erc-log.el
...
* lisp/erc/erc-log.el (erc-save-buffer-in-logs): Remove XEmacs
compat code.
2020-11-20 16:45:33 +01:00