- 12 Apr, 2017 5 commits
-
-
Martin Rudalics authored
Add `internal-border' face and handle it whenever clearing the internal border. If NORECORD equals the symbol 'mark-for-redisplay', `select-window' will not record the window but still mark it for redisplay. The new argument NOACTIVATE for `x-focus-frame' tries to not activate FRAME when set. * lisp/faces.el (internal-border): New face. * lisp/mwheel.el (mwheel-scroll): Select window to scroll with `mark-for-redisplay'. * lisp/scroll-bar.el (scroll-bar-drag) (scroll-bar-horizontal-drag, scroll-bar-scroll-down) (scroll-bar-scroll-up, scroll-bar-toolkit-scroll) (scroll-bar-toolkit-horizontal-scroll): Select window to scroll with `mark-for-redisplay'. * lisp/window.el (handle-select-window): When `focus-follows-mouse' is not 'auto-raise' try to not activate FRAME. * src/dispextern.h (face_id): Add INTERNAL_BORDER_FACE_ID. * src/frame.c (Fx_focus_frame): New argument NOACTIVATE. * src/frame.h (x_focus_frame): Update extern declaration. * src/gtkutil.c (xg_clear_under_internal_border): Remove function. (xg_frame_resized, xg_frame_set_char_size): Call x_clear_under_internal_border. (xg_tool_bar_callback): Adapt x_focus_frame call. * src/gtkutil.h (xg_clear_under_internal_border): Remove declaration. * src/nsfns.m (x_focus_frame): Add argument NOACTIVATE. * src/w32fns.c (x_clear_under_internal_border): Fill border with internal-border background if specified. * src/w32term.h (x_clear_under_internal_border): Add extern declaration. * src/w32term.c (x_after_update_window_line): Fill border with internal-border background if specified. (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar) (x_scroll_bar_clear, w32_read_socket): Call x_clear_under_internal_border. (x_focus_frame): New argument NOACTIVATE. * src/window.c (select_window): Mark WINDOW for redisplay when NORECORD equals 'mark-for-redisplay'. (Fselect_window): Update doc-string. (syms_of_window): Define Qmark_for_redisplay. * src/xdisp.c (clear_garbaged_frames, echo_area_display) (redisplay_internal): Call x_clear_under_internal_border. * src/xfaces.c (lookup_basic_face): Handle `window-divider' and `internal-border' faces. (realize_basic_faces): Realize `internal-border' face. (syms_of_xfaces): Define Qinternal_border. * src/xfns.c (x_set_internal_border_width): Remove call for xg_clear_under_internal_border. (x_focus_frame): New argument NOACTIVATE. When non-nil try to not activate frame. * src/xterm.c (x_fill_rectangle): No more static. (x_clear_under_internal_border, x_after_update_window_line): Fill border with internal-border background if specified. (xt_horizontal_action_hook): Rewrite. (handle_one_xevent): Call x_clear_under_internal_border. * src/xterm.h (x_fill_rectangle): Add extern declaration.
-
Paul Eggert authored
* src/frame.c (next_frame, prev_frame): Remove now-redundant assertions. * src/frame.h (FOR_EACH_FRAME): Assume Vframe_list is nonempty.
-
Tak Kunihiro authored
These changes also make use of touchpad and trackpad (Bug#26347). * doc/emacs/frames.texi (Mouse Commands): Document horizontal scrolling using the mouse wheel. * lisp/mwheel.el (mwheel-scroll): Respond to wheel-right and wheel-left. (mwheel-tilt-scroll-p, mwheel-flip-direction) (mwheel-scroll-left-function, mwheel-scroll-right-function): New defcustoms. (mouse-wheel-left-event, mouse-wheel-right-event): New variables, events that calls wheel-left/right. * etc/NEWS: Mention horizontal scrolling using the mouse wheel.
-
Eli Zaretskii authored
-
Martin Rudalics authored
Add new frame parameters `undecorated', `override-redirect', `parent-frame', `skip-taskbar', `no-focus-on-map', `no-accept-focus', `z-group', `delete-before', `no-other-frame', `mouse-wheel-frame', `min-width', `min-height'. Add new functions `frame-restack' and `frame-list-z-order'. * lisp/cus-start.el (focus-follows-mouse): Adapt customization type. * lisp/frame.el (handle-delete-frame): Handle child and `delete-before' frames. (other-frame): Stop looking for other frame after one round. (frame-list-z-order, frame-restack): New functions. (delete-other-frames): Handle child frames. * lisp/frameset.el (frameset-persistent-filter-alist) (frameset--record-relationships): Handle `delete-before', `parent-frame' and `mouse-wheel-frame' parameters. Rename latter from `frameset--record-minibuffer-relationships'. (frameset--restore-frame): Handle ‘parent-frame’ parameter specially. (frameset-restore): Handle `delete-before', `parent-frame' and `mouse-wheel-frame' parameters. * lisp/mwheel.el (mwheel-scroll): Handle `mouse-wheel-frame' parameter. * lisp/window.el (window--min-size-ignore-p): Fix doc-string. (mouse-autoselect-window-select, handle-select-window): Major rewrite. Try to not ignore errors. Handle auto-selection of child frames and different values of `focus-follows-mouse'. * src/frame.c (frame_windows_min_size): Handle new `min-width' and `min-height' frame parameters. (make_frame): Initialize new frame structure members. (do_switch_frame): Don't reset internal_last_event_frame for descendant frames. (Fframe_parent, frame_ancestor_p, Fframe_ancestor_p): New functions. (candidate_frame): Don't return `no-other-frame' frame. (other_frames): New function replacing other_visible_frames. (delete_frame): Rewrite. Handle child and `delete-before' frames. (Fmake_frame_invisible): Call other_frames. (store_frame_param): Check `delete-before' and `parent-frame' parameters for circular dependencies. (frame_parms, syms_of_frame): Add entries for and define new frame parameters. (focus_follows_mouse): New meaningful value `auto-raise'. * src/frame.h (z_group): New enumeration type. (frame): New slots parent_frame, undecorated, override_redirect, skip_taskbar, no_focus_on_map, no_accept_focus, z_group. (fset_parent_frame): New inlined function. (FRAME_UNDECORATED, FRAME_OVERRIDE_REDIRECT) (FRAME_PARENT_FRAME, FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP) (FRAME_NO_ACCEPT_FOCUS, FRAME_Z_GROUP, FRAME_Z_GROUP_NONE) (FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_ABOVE_SUSPENDED) (FRAME_Z_GROUP_BELOW): New macros. (frame_ancestor_p): Add declaration. * src/gtkutil.c (xg_create_frame_widgets): Handle `undecorated' and `override-redirect' frame parameters. (x_wm_set_size_hint): None for child frames. (xg_set_undecorated, xg_frame_restack, xg_set_skip_taskbar) (xg_set_no_focus_on_map, xg_set_no_accept_focus) (xg_set_override_redirect): New functions. (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Don't let scrollbars obscure child frames. * src/gtkutil.h: (xg_set_undecorated, xg_frame_restack) (xg_set_skip_taskbar, xg_set_no_focus_on_map) (xg_set_no_accept_focus, xg_set_override_redirect): Add extern declarations. * src/nsfns.m (ns_frame_parm_handlers): Add entries for new frame parameters. (Fx_create_frame): Install `min-width' and `min-height' frame parameters. * src/nsterm.m (mouseMoved:): Handle focus_follows_mouse change. * src/w32fns.c (WS_EX_NOACTIVATE): Define if necessary. (x_real_positions): Handle child frames. (x_set_menu_bar_lines): Don't for child frames. (x_set_undecorated, x_set_parent_frame, x_set_skip_taskbar) (x_set_no_focus_on_map, x_set_no_accept_focus) (x_set_z_group): New functions. (w32_createvscrollbar, w32_createhscrollbar): Don't draw scroll bars over child frames. (w32_createwindow): Handle new frame parameters and child frames. (w32_wnd_proc): Let mouse clicks into a child frame activate the frame. Try to handle the `no-accept-focus' parameter. Do SetFocus when our window is brought to top or becomes the foreground window. (w32_window): Don't initialize menu bar for child frames. (Fx_create_frame): Handle new frame parameters. (x_create_tip_frame): Set explicit_parent slot. (w32_dialog_in_progress): New function. (Fx_file_dialog): Handle `z-group-above' frames. (w32_frame_list_z_order, Fw32_frame_list_z_order) (w32_frame_restack, Fw32_frame_restack): New functions. (w32_frame_parm_handlers): Add entries for new frame parameters. * src/w32font.c (Fx_select_font): Handle `z-group-above' frames during font selection dialogue. * src/w32term.c (construct_mouse_wheel): Construct mouse wheel event from F's w32 window. (w32_mouse_position): Handle child frames. (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar): Don't draw scroll bars over child frames. (w32_read_socket): Always erase background of child frames. When generating SELECT_WINDOW_EVENTs handle new value of `focus-follows-mouse' and handle `no-accept-focus' parameter. Handle `mouse-wheel-frame' parameter. (x_calc_absolute_position, x_set_offset, x_set_window_size): Handle child frames. (x_make_frame_visible): Handle child frames specially. Handle `no-focus-on-map' parameter. * src/w32term.h (w32_dialog_in_progress): Add external declaration. * src/xdisp.c (x_consider_frame_title, prepare_menu_bars): Not for child frames. * src/xfns.c (Xm/MwmUtil.h): Include for WM hints. (PropMotifWmHints, PROP_MOTIF_WM_HINTS_ELEMENTS): Define for non-Motif, non-GTK case. (x_real_pos_and_offsets): Handle child frames. (x_set_undecorated, x_set_parent_frame) (x_set_no_focus_on_map, x_set_no_accept_focus) (x_set_override_redirect): New functions. (x_set_menu_bar_lines): Not for child frames. (x_window): Handle `undecorated' and `override_redirect' cases. (Fx_create_frame): Handle new frame parameters. (frame_geometry): Handle child frames and outer border. (x_frame_list_z_order, Fx_frame_list_z_order) (x_frame_restack, Fx_frame_restack): New functions. (Fx_file_dialog, Fx_select_font): Set x_menu_set_in_use. (x_frame_parm_handlers): Add entries for new frame parameters. * src/xmenu.c (x_menu_set_in_use): Handle `z-group-above' frames. * src/xterm.c (x_set_frame_alpha): Don't set alpha of parent for child frames. (XTmouse_position): Handle child frames. (x_scroll_bar_create, x_scroll_bar_expose): Don't let scroll bars obscure child frames. (handle_one_xevent): Handle child frame positions. If necessary set `skip-taskbar' and reassign proper `z-group' when we are mapped. When generating SELECT_WINDOW_EVENTs handle new value of `focus-follows-mouse'. Handle `mouse-wheel-frame' parameter. Let mouse clicks into a child frame activate the frame. (x_calc_absolute_position, x_set_offset): Handle child frames specially. (x_set_skip_taskbar, x_set_z_group): New functions. (x_make_frame_visible): Handle child frames. (ATOM_REFS_INIT): Add entries for Xatom_net_wm_state_skip_taskbar, Xatom_net_wm_state_above, Xatom_net_wm_state_below. * src/xterm.h (top-level): Declare Xatom_net_wm_state_above, Xatom_net_wm_state_below and Xatom_net_wm_state_skip_taskbar. (x_set_skip_taskbar, x_set_z_group): Add extern declarations.
-
- 11 Apr, 2017 5 commits
-
-
Glenn Morris authored
* test/lisp/emacs-lisp/package-tests.el (with-package-test): Also bind package-gnupghome-dir, see eg http://hydra.nixos.org/build/51462182 .
-
Martin Rudalics authored
New hook `move-frame-functions'. Run `focus-in-hook' after switching to frame that gets focus. Don't run XMoveWindow for GTK. * lisp/frame.el (handle-move-frame, frame-size-changed-p): New functions. * src/frame.c (do_switch_frame): Simplify code. (Fhandle_switch_frame): Switch frame before running `handle-focus-in'. (Vfocus_in_hook, Vfocus_out_hook): Clarify doc-strings. (Vmove_frame_functions): New hook variable. * src/keyboard.c (kbd_buffer_get_event): Handle MOVE_FRAME_EVENT. Handle SELECT_WINDOW_EVENT separately. (head_table): Add Qmove_frame entry. (syms_of_keyboard): Add Qmove_frame. (keys_of_keyboard): Define key for `move-frame'. * src/termhooks.h (event_kind): Add MOVE_FRAME_EVENT. * src/w32term.c (w32_read_socket): Create MOVE_FRAME_EVENT. * src/window.c (run_window_size_change_functions): Record size of FRAME's minibuffer window too. * src/xterm.c (handle_one_xevent): Create MOVE_FRAME_EVENT. (x_set_offset): For GTK call gtk_widget_move instead of XMoveWindow.
-
Werner LEMBERG authored
* src/ftfont.c (ftfont_get_metrics): Try loading the font without hinting, before aborting. (Bug#25945)
-
Jens Lechtenboerger authored
* lisp/emacs-lisp/package.el (package-import-keyring) (package--check-signature-content, package-check-signature): Use new variable package-gnupghome-dir to control which GnuPG homedir to use. * doc/emacs/package.texi: Mention package-gnupghome-dir. * etc/NEWS: Mention package-gnupghome-dir.
-
Martin Rudalics authored
This activates a change that was installed a few weeks ago but whose ChangeLog was inadvertently dropped during its commit. The proper ChangeLog is included below as part of the present commit. * src/gtkutil.c (xg_set_geometry): When x_gtk_use_window_move is set avoid calling x_gtk_parse_geometry (Bug#25851). (x_wm_set_size_hint): When x_gtk_use_window_move is set, set PPosition, USPosition and USSize flags if requested. * src/xterm.c (x_set_offset): With GTK when x_gtk_use_window_move is set, leave it entirely to gtk_window_move to position the window and skip any post-adjustments (Bug#25851 and Bug#25943). (x_gtk_use_window_move): New variable.
-
- 10 Apr, 2017 6 commits
-
-
Alan Mackenzie authored
After M-;, and the insertion of the opening "/*", the CC Mode after-change function got confused, since the new comment opener matched the end of a subsequent comment, but moving back over that comment did not come back to the starting point. Fix this. * lisp/progmodes/cc-engine.el (c-end-of-macro): Add a limit parameter, wherer point is left if no end-of-macro is found before it. (c-forward-sws): Change the `safe-start' mechanism. Now `safe-start' is non-nil except where we have an unclosed block comment at the end of a macro. This enables us to populate the cache more fully, at the cost of some run time.
-
Lars Brinkhoff authored
* src/lisp.h (PVSIZE): New function. * src/chartab.c (copy_char_table): * src/data.c (Ftype_of, Finteractive_form, Faref, Faset): * src/doc.c (Fdocumentation, store_function_docstring): * src/eval.c (Fcommandp, funcall_lambda, lambda_arity, Ffetch_bytecode): * src/fns.c (Flength, Fcopy_sequence): * src/font.h (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P): * src/lread.c (substitute_object_recurse): * src/src/print.c (print_object): Use it.
-
Michael Albinus authored
* lisp/net/tramp.el (tramp-syntax): Adapt docstring. * test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax-simplified) (tramp-test01-file-name-syntax-separate) (tramp-test02-file-name-dissect-simplified) (tramp-test02-file-name-dissect-separate): New tests.
-
Martin Rudalics authored
* lisp/shell.el (shell): Restrict scope of recently added `with-current-buffer' to make sure that BUFFER is current when `shell' returns.
-
Dmitry Gutov authored
-
Jim Blandy authored
* lisp/vc/vc-hg.el (vc-hg--slurp-hgignore-1): Default to the PCRE syntax (bug#26249).
-
- 09 Apr, 2017 7 commits
-
-
Michael Albinus authored
* doc/misc/tramp.texi (Change file name syntax): New node. * etc/NEWS: Mention `tramp-change-syntax'. * lisp/net/tramp.el (tramp-file-name-regexp): Reinsert it. External packages uses it. (tramp-syntax): Set also `tramp-file-name-regexp'.
-
Paul Eggert authored
This incorporates: 2017-04-08 getopt: prefer - to _ in new file names 2017-04-08 getopt: port recent getopt changes to macOS * .gitignore: Add lib/getopt-cdefs.h. * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h. * lib/getopt-core.h: Rename from lib/getopt_core.h. * lib/getopt-ext.h: Rename from lib/getopt_ext.h. * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h. * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h. * lib/getopt.in.h, lib/unistd.in.h, m4/getopt.m4: Copy from Gnulib. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
-
Ken Raeburn authored
In a parallel build, byte compilation can be running at the same times as loaddefs.el is being regenerated. However, in a CANNOT_DUMP build, loaddefs.el is read at startup and must always be in a usable state. * lisp/Makefile.in ($(lisp)/loaddefs.el): Write generated output to loaddefs.el.new and then rename it to loaddefs.el.
-
Glenn Morris authored
* doc/emacs/rmail.texi (Movemail, Remote Mailboxes): Mention pops and imaps protocols.
-
Glenn Morris authored
-
Sergey Poznyakoff authored
* lisp/mail/rmail.el (rmail-remote-proto-p): New function. (rmail-parse-url): Return protocol in second list element. Only use passwords with remote mailboxes. (rmail-insert-inbox-text): Handle non-simple local mailboxes (maildir, MH, etc.).
-
Glenn Morris authored
* doc/emacs/rmail.texi (Movemail, Other Mailbox Formats): Fix examples of local mailbox urls.
-
- 08 Apr, 2017 12 commits
-
-
Glenn Morris authored
-
Glenn Morris authored
* lisp/gnus/nnheader.el (nnheader-read-timeout) (nnheader-file-name-translation-alist): Remove OS/2 case, and simplify. * lisp/emulation/viper-util.el (viper-color-defined-p): * lisp/net/pop3.el (pop3-read-timeout): * lisp/net/imap.el (imap-read-timeout): * lisp/url/url-privacy.el (url-setup-privacy-info): Remove OS/2 case. * lisp/emulation/viper-ex.el (viper-glob-function): * lisp/vc/ediff-util.el (ediff-submit-report): Doc fix. * lisp/cus-edit.el (custom-display): Remove "pm" (OS/2). * doc/emacs/msdos-xtra.texi (MS-DOS): * doc/misc/gnus.texi (Various Various): * doc/misc/viper.texi (Rudimentary Changes): Remove mentions of OS/2. ; * lisp/url/url.el, lisp/url/url-vars.el: ; * lisp/progmodes/cperl-mode.el: Remove old comments.
-
Michael Albinus authored
* lisp/net/tramp-cmds.el (tramp-change-syntax): Use `tramp-syntax-values'. * lisp/net/tramp-compat.el (tramp-compat-tramp-syntax): New defsubst. * lisp/net/tramp.el (tramp-syntax): Rename possible values. (tramp-syntax-values): New defun. (tramp-prefix-format, tramp-method-regexp) (tramp-postfix-method-format, tramp-prefix-ipv6-format) (tramp-postfix-ipv6-format, tramp-postfix-host-format) (tramp-completion-file-name-regexp): Use `tramp-compat-tramp-syntax' and changed values. (tramp-completion-file-name-regexp-default): Rename from `tramp-completion-file-name-regexp-unified'. Adapt docstring. (tramp-completion-file-name-regexp-simplified): Rename from `tramp-completion-file-name-regexp-old-style'. Adapt docstring. (tramp-initial-completion-file-name-regexp): Use `tramp-completion-file-name-regexp-default'. (tramp-run-real-handler): Do not autoload any longer.
-
Mark Oteiza authored
This is a continuation of d5260473 "Replace more nested ifs with cond". * lisp/play/dunnet.el (dun-firstword, dun-firstwordl, dun-cat): Use when and cond where appropriate.
-
Mark Oteiza authored
This was fixed in Bug#24748, but now looking more closely, using gate in the spec seems correct. See (info "(elisp) Backtracking"). * lisp/emacs-lisp/subr-x.el (if-let*): Use gate in edebug spec.
-
Mark Oteiza authored
From the mhtml-mode series. Some of the uses of cl-lib are not necessary. * lisp/align.el: Don't require cl-lib. (align-region): Use apply instead of cl-member-if. * lisp/emulation/viper.el: Don't require cl-lib. (viper-mode, this-major-mode-requires-vi-state): Use apply instead of cl-member-if.
-
Philipp Stephani authored
* lisp/subr.el (dolist): Test type and length of SPEC. * test/lisp/subr-tests.el (subr-tests--dolist--wrong-number-of-args): Add unit test.
-
Philipp Stephani authored
* test/lisp/vc/ediff-diff-tests.el (ediff-diff-tests--ediff-exec-process--nil): New unit test.
-
Lars Brinkhoff authored
* lread.c (substitute_object_recurse): Work with records. * lread-tests.el (lread-record-1): New test.
-
Paul Eggert authored
Since copy-sequence seems to be needed anyway for records, have it work on records, and remove copy-record as being superfluous. * doc/lispref/records.texi (Records, Record Functions): * lisp/emacs-lisp/cl-macs.el (cl-defstruct): * lisp/emacs-lisp/eieio.el (make-instance, clone): * test/src/alloc-tests.el (record-3): Use copy-sequence, not copy-record, to copy records. * doc/lispref/sequences.texi (Sequence Functions) (Array Functions): Document that aref and copy-sequence work on records. * etc/NEWS: Omit copy-record. * src/alloc.c (Fcopy_record): Remove. * src/data.c (Faref): Document that arg can be a record. * src/fns.c (Fcopy_sequence): Copy records, too.
-
Paul Eggert authored
* src/Makefile.in (AUTO_DEPEND, DEPDIR, DEPFLAGS): Move includes of dependency files until after ALLOBJS is defined, since it uses ALLOBJS. Otherwise, some dependencies will be missed.
-
Paul Eggert authored
* src/fileio.c (write_region): Use SCHARS, not Flength, on a value known to be a string.
-
- 07 Apr, 2017 5 commits
-
-
Noam Postavsky authored
* lisp/epa-file.el (epa-file-write-region): * lisp/gnus/mm-util.el (mm-append-to-file): * lisp/jka-compr.el (jka-compr-write-region): * lisp/net/ange-ftp.el (ange-ftp-write-region): * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region): * lisp/net/tramp-sh.el (tramp-sh-handle-write-region): * src/fileio.c (write_region): Put file name at the beginning and move number of characters to the end of the message.
-
Kaushal Modi authored
* lisp/vc/ediff-diff.el (ediff-exec-process): Check that the argument passed to `file-local-copy' is a string (Bug#26378). Also fix the existing comment for this function, and convert it to its doc-string.
-
Noam Postavsky authored
The previous patch for Bug#354 incorrectly assumed that START would always be an integer. * lisp/epa-file.el (epa-file-write-region): * lisp/jka-compr.el (jka-compr-write-region): * lisp/net/ange-ftp.el (ange-ftp-write-region): * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region): * lisp/net/tramp-sh.el (tramp-sh-handle-write-region): * src/fileio.c (write_region): Handle nil and string values of START.
-
Glenn Morris authored
-
Michael Albinus authored
* lisp/net/trampver.el (customize-package-emacs-version-alist): Add Tramp versions to `customize-package-emacs-version-alist'.
-