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
      * 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
      * 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.
    • 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.
    • 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
      (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'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
      * 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
      (frameset-restore): Handle `delete-before', `parent-frame' and
  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 .
    • 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
      * src/frame.c (do_switch_frame): Simplify code.
      (Fhandle_switch_frame): Switch frame before running
      (Vfocus_in_hook, Vfocus_out_hook): Clarify doc-strings.
      (Vmove_frame_functions): New hook variable.
      * src/keyboard.c (kbd_buffer_get_event): Handle
      (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
    • 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)
    • 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.
    • 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.
  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
    • 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.
    • 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-test02-file-name-dissect-separate): New tests.
    • 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.
    • 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).
  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'.
    • 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.
    • 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.
    • 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.
    • 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.).
    • 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.
  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.
    • 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.
      Use `tramp-completion-file-name-regexp-default'.
      (tramp-run-real-handler): Do not autoload any longer.
    • 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.
    • 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.
    • 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
      * 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
    • 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.
    • 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.
    • 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.
    • 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.
    • 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.
    • 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.
  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.
    • 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
    • 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.
    • 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'.