1. 12 Apr, 2017 5 commits
    • Martin Rudalics's avatar
      New internal-border face and args for select-window and x-focus-frame · c25005ed
      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.
      c25005ed
    • Paul Eggert's avatar
      Port recent frame changes to --enable-gcc-warnings · 8720f601
      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.
      8720f601
    • Tak Kunihiro's avatar
      Scroll right and left using wheel-right and wheel-left. · 88f43dc3
      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.
      88f43dc3
    • Eli Zaretskii's avatar
    • Martin Rudalics's avatar
      Add new frame parameters and associated functions · 3fdd3bb5
      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.
      3fdd3bb5
  2. 11 Apr, 2017 5 commits
    • Glenn Morris's avatar
      Update a package test for hydra · 449bc49c
      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 .
      449bc49c
    • Martin Rudalics's avatar
      Frame movement, focus and hook related changes · ea6c880a
      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.
      ea6c880a
    • Werner LEMBERG's avatar
      Avoid abort in ftfont.c due to faulty fonts · 0eef8e9a
      Werner LEMBERG authored
      * src/ftfont.c (ftfont_get_metrics): Try loading the font without
      hinting, before aborting.  (Bug#25945)
      0eef8e9a
    • Jens Lechtenboerger's avatar
      Introduce customizable variable 'package-gnupghome-dir' · 695eacc2
      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.
      695eacc2
    • Martin Rudalics's avatar
      Set x_gtk_use_window_move by default for fixing bug#25851 and bug#25943 · 291b76f9
      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.
      291b76f9
  3. 10 Apr, 2017 6 commits
    • Alan Mackenzie's avatar
      Fix a loop in C Mode caused by inadequate analysis of comments. · 230e25fd
      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.
      230e25fd
    • Lars Brinkhoff's avatar
      Add PVSIZE function to return the size of a pseudovector. · 3ccd0ff1
      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.
      3ccd0ff1
    • Michael Albinus's avatar
      Add Tramp tests · dd42ca42
      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.
      dd42ca42
    • Martin Rudalics's avatar
      Make sure that `shell' makes BUFFER current · 375bfbde
      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.
      375bfbde
    • Dmitry Gutov's avatar
    • Jim Blandy's avatar
      Default to PCRE syntax when reading .hgignore · f3662966
      Jim Blandy authored
      * lisp/vc/vc-hg.el (vc-hg--slurp-hgignore-1):
      Default to the PCRE syntax (bug#26249).
      f3662966
  4. 09 Apr, 2017 7 commits
    • Michael Albinus's avatar
      Document Tramp changes · 9e1f45d9
      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'.
      9e1f45d9
    • Paul Eggert's avatar
      Merge from gnulib (Bug#26398) · 43bc45ba
      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.
      43bc45ba
    • Ken Raeburn's avatar
      Write updated loaddefs to a temporary file and rename into place. · 440bafef
      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.
      440bafef
    • Glenn Morris's avatar
      In the manual, mention pops and imaps · e3c15342
      Glenn Morris authored
      * doc/emacs/rmail.texi (Movemail, Remote Mailboxes):
      Mention pops and imaps protocols.
      e3c15342
    • Glenn Morris's avatar
    • Sergey Poznyakoff's avatar
      Fix rmail handling of movemail protocols (bug#18278) · 48536f67
      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.).
      48536f67
    • Glenn Morris's avatar
      Fix typos in manual re movemail local mailboxes · 79b1669c
      Glenn Morris authored
      * doc/emacs/rmail.texi (Movemail, Other Mailbox Formats):
      Fix examples of local mailbox urls.
      79b1669c
  5. 08 Apr, 2017 12 commits
    • Glenn Morris's avatar
    • Glenn Morris's avatar
      Remove references to OS/2 in code, doc, and comments · bca1fde8
      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.
      bca1fde8
    • Michael Albinus's avatar
      Tune Tramp syntax · b7d61609
      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.
      b7d61609
    • Mark Oteiza's avatar
      Replace more nested ifs with cond · c5f319eb
      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.
      c5f319eb
    • Mark Oteiza's avatar
      Adjust the edebug spec of if-let* · fd4b83ca
      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.
      fd4b83ca
    • Mark Oteiza's avatar
      Replace some uses of cl-member-if with apply · 1c69215c
      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.
      1c69215c
    • Philipp Stephani's avatar
      Validate SPEC of `dolist', cf. Bug#25477. · 98bfac68
      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.
      98bfac68
    • Philipp Stephani's avatar
      Add unit test for Bug#26378 · 5ea696fd
      Philipp Stephani authored
      * test/lisp/vc/ediff-diff-tests.el
      (ediff-diff-tests--ediff-exec-process--nil): New unit test.
      5ea696fd
    • Lars Brinkhoff's avatar
      Fix circular read syntax for records. · 4fbfd7ad
      Lars Brinkhoff authored
      * lread.c (substitute_object_recurse): Work with records.
      
      * lread-tests.el (lread-record-1): New test.
      4fbfd7ad
    • Paul Eggert's avatar
      Deprecate copy-record in favor of copy-sequence · a2b3fea9
      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.
      a2b3fea9
    • Paul Eggert's avatar
      Fix dependency checking in src/Makefile.in · a614cd41
      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.
      a614cd41
    • Paul Eggert's avatar
      Minor tuneup of write-region change · 6fbbfc77
      Paul Eggert authored
      * src/fileio.c (write_region): Use SCHARS, not Flength,
      on a value known to be a string.
      6fbbfc77
  6. 07 Apr, 2017 5 commits
    • Noam Postavsky's avatar
      Adjust write-region so file name is at the beginning again · c3236593
      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.
      c3236593
    • Kaushal Modi's avatar
      Check that file argument is a string · 75824977
      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.
      75824977
    • Noam Postavsky's avatar
      Fix handling of non-integer START param to write-region · 9e27e0d1
      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.
      9e27e0d1
    • Glenn Morris's avatar
    • Michael Albinus's avatar
      Add Tramp versions to `customize-package-emacs-version-alist' · 5c6b0136
      Michael Albinus authored
      * lisp/net/trampver.el (customize-package-emacs-version-alist):
      Add Tramp versions to `customize-package-emacs-version-alist'.
      5c6b0136