1. 23 Jan, 2019 1 commit
  2. 22 Jan, 2019 9 commits
    • Michael Albinus's avatar
      ; Instrument tramp-tests · ec9f42bc
      Michael Albinus authored
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/package.el (package--alist): New · dde33727
      Stefan Monnier authored
      (package-activate-all): Use it so we only initialize the local part of
      package.el (this reduces the impact of bug#24467 and speeds up startup).
      (package-installed-p): Use it so it works even if package is not
      fully initialized.
      (package-delete): Use it so we only initialize the local part of
    • Phillip Lord's avatar
      Add hook for all events · 7b31de4d
      Phillip Lord authored
      * lisp/subr.el (input-event-functions): Add input-event-functions
      * src/keyboard.c (read_char): Call input-event-functions on all hooks
    • João Távora's avatar
      electric-layout-mode kicks in before electric-pair-mode · fd943124
      João Távora authored
      This aims to solve problems with indentation.  Previously in, say, a
      js-mode buffer with electric-layout-rules set to
         (?\{ before after)
         (?\} before)
      would produce an intended:
         function ()
           <indented point>
      The initial state
        function () {
      Would go immediately to the following by e-p-m
        function () {}
      Only then would e-l-m be applied to } first, and then again to {.
      This makes lines indent in the wrong order, which can be a problem in
      some modes.
      The way we fix this is by reversing the order of e-p-m and e-l-m in
      the post-self-insert-hook (and also fixing a number of details that
      this uncovered).  In the end this changes the sequence from
        function () {
      By way of e-l-m becomes:
        function () <newline>
      The e-p-m inserts the pair
        function () <newline>
      And then e-l-m kicks in for the pair again, yielding the desired result
        function () <newline>
        <indented point>
      * lisp/elec-pair.el (electric-pair--insert): Bind
      (electric-pair-skip-if-helps-balance): Use insert-before-markers,
      playing nice with save-excurion.
      (electric-pair-post-self-insert-function): Go to correct position
      before checking electric-pair-inhibit-predicate and
      electric-pair-skip-self predicate.
      (electric-pair-post-self-insert-function): Increase priority to
      * lisp/electric.el (electric-indent-post-self-insert-function):
      Delete trailing space in reindented line only if line was
      really reindented.  Rewrite comment.
      (electric-layout-allow-duplicate-newlines): New variable.
      (electric-layout-post-self-insert-function-1): Rewrite comments.
      Honours electric-layout-allow-duplicate-newlines.  Don't reindent
      previous line because racecar.
      * test/lisp/electric-tests.el: New test.
      (plainer-c-mode): Move up.
      (electric-layout-int-main-kernel-style): Simplify
      (electric-layout-for-c-style-du-jour): New helper.
      (electric-layout-plainer-c-mode-use-c-style): New test.
    • João Távora's avatar
      Remove tests of electric-pair-mode and CC-based modes · 6ca4626c
      João Távora authored
      The behaviour previously observed in cc-mode-based-modes (and every
      other major-mode) when electric-pair-mode or electric-layout-mode is
      turned on may no longer be observed: this because CC-mode goes around
      the generic implementation of electric-pair-mode.
      An alternative is to bind every delimiter key like '{', '}', etc to
      'self-insert-command, like most major modes already do, at the cost of
      losing c-auto-newline functionality (which was incompatible anyway
      before the recent changes of bug#33794).
      * test/lisp/electric-tests.el
      (electric-pair-test-for): No longer set it.
      (define-electric-pair-test): Use js-mode instead of c++ mode,
      which broke recently.
      (whitespace-chomping-2): Add failing C++ test explicitly.
      (electric-layout-int-main-kernel-style): Use plainer-c-mode.
      (electric-layout-int-main-allman-style): Deleted.
      (electric-modes-int-main-allman-style): Renamed from
    • Alan Mackenzie's avatar
      Extend electric-pair-mode actions to < and >, and also to ( and ) in literals · 9eaf5e05
      Alan Mackenzie authored
      * lisp/progmodes/cc-cmds.el (c-electric-lt-gt): Actuate electric-pair-mode if
      a < or > is typed in a context where this is meaningful (#include, or
      (c-electric-paren): Allow electric-pair-mode activity in a comment or string.
      * lisp/progmodes/cc-defs.el (c-make-keywords-re): Fix a bug where lists of
      source symbols could get overwritten when parameter adorn is set to
      * list/progmodes/cc-langs.el (c-cpp-include-key): New lang const and var.
    • Alan Mackenzie's avatar
    • Michael Albinus's avatar
      Make Tramp tests more robust · 6038fdb2
      Michael Albinus authored
      * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
      Bind `tramp-default-method'.
      (tramp--test-file-attributes-equal-p): New defsubst.
      (tramp-test19-directory-files-and-attributes): Use it.
    • Michael Albinus's avatar
      Respect setgid bit of the upper directory in Tramp · c5800815
      Michael Albinus authored
      * doc/misc/trampver.texi:
      * lisp/net/trampver.el: Change version to "2.4.2-pre".
      * lisp/net/tramp.el: Bump version to 2.4.2-pre.
      (tramp-set-file-uid-gid): Respect setgid bit of the upper directory.
      (tramp-default-file-modes, tramp-handle-insert-file-contents)
      (tramp-mode-string-to-int, tramp-make-tramp-temp-file):
      * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy)
      * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-directly)
      (tramp-sh-handle-write-region): Use octal constants.
  3. 21 Jan, 2019 8 commits
  4. 20 Jan, 2019 2 commits
    • Michael Albinus's avatar
      Use POSIX "df" in Tramp, if available · 5961e4fa
      Michael Albinus authored
      * lisp/net/tramp-sh.el (tramp-get-remote-df):
      Support also POSIX.1 "df".
      (tramp-sh-handle-file-system-info): Adapt accordingly.
    • Eli Zaretskii's avatar
      Support native image resizing on MS-Windows · 67b1053d
      Eli Zaretskii authored
      * src/w32term.c (x_draw_image_foreground): Scale the image if
      the requested dimensions are different from the bitmap
      * src/image.c (Fimage_scaling_p): Return t when HAVE_NTGUI.
      (x_set_image_size) [HAVE_NTGUI]: Record the scaled dimensions
      in the image struct.
      * src/dispextern.h (HAVE_NATIVE_SCALING): Define when
      HAVE_NTGUI as well.
      * etc/NEWS: Update the announcement of native image scaling.
  5. 19 Jan, 2019 8 commits
  6. 18 Jan, 2019 12 commits
    • João Távora's avatar
      Revert "Remove leftover from previous electric-layout-rules API" · 7717778e
      João Távora authored
      This is a backward-incompatible change, and removing it isn't really
      This reverts commit 942dad2b.
    • Stefan Monnier's avatar
      (electric-layout-post-self-insert-function-1): Simplify. · 78725e49
      Stefan Monnier authored
      Call electric--after-char-pos right from the start, and take advantage of the
      fact that it guarantees to return the right position or nil.
    • João Távora's avatar
      Ensure fns in electric-layout-rules are called in right position · 06215916
      João Távora authored
      * lisp/electric.el (electric-layout-rules): Ensure rules are
      called from right spot.
    • João Távora's avatar
      Remove leftover from previous electric-layout-rules API · 942dad2b
      João Távora authored
      An element of electric-layout-rules is either a function or a pair
      (CHAR . WHERE), and WHERE can't be a function anymore.
      * lisp/electric.el (electric-layout-post-self-insert-function-1):
      Remove leftover line.
    • Paul Eggert's avatar
      Port to platforms where NULL is a pointer · 7818bcdd
      Paul Eggert authored
      * src/image.c (x_create_x_image_and_pixmap):
      The Picture type is an integer, not a pointer.
      Come to think of it, Picture is really XID, and as
      far as I can tell, all-bits-one is the invalid XID,
      not all-bits-zero.  However that is a bigger issue;
      for now, this patch just unbreaks the build.
    • Eli Zaretskii's avatar
      Improve documentation of portable dumping · 6bac9ea1
      Eli Zaretskii authored
      * src/pdumper.c (Fdump_emacs_portable): Improve the doc string
      and the error messages.
      * doc/lispref/internals.texi (Building Emacs): Document
      portable dumping and the 'dump-emacs-portable' function.
    • Glenn Morris's avatar
      Merge from origin/emacs-26 · 957090b7
      Glenn Morris authored
      b6d78a0d (origin/emacs-26) Fix a typo in ELisp manual
      c9f6f868 Prevent redrawing if frame is garbaged
      00ba2267 Attempt to fix hangs on MS-Windows due to C-g
      b26d6373 Fix Calc graph output on MS-Windows
      03818b0a Fix a minor mistake in ELisp manual
      6ac59854 ; Fix some trivial doc typos
      21b90269 * etc/tutorials/TUTORIAL: Fix typo (bug#34049)
      d223727a Fix UI of Buffer-menu
      0f716557 Reinitialize ispell-really-enchant when changing the speller
      9845044f Speed up loading css-mode
    • Eli Zaretskii's avatar
      Clean up memory allocation and unexec support on MS-Windows · 5e3b0f52
      Eli Zaretskii authored
      * src/w32heap.c (report_temacs_memory_usage): Condition on
      !CANNOT_DUMP, in addition to ENABLE_CHECKING.
      (init_heap): Accept an argument, which tells us what heap
      allocation method to use.
      (DUMPED_HEAP_SIZE) [CANNOT_DUMP]: Define to a small value, as
      we don't use dumped_data[] in this case.
      * src/w32heap.h (init_heap): Adjust prototype.
      <using_dynamic_heap>: Remove declaration.
      * src/emacs.c (main) [WINDOWSNT]: Determine heap allocation
      method based on whether we are in temacs and whether unexec
      will be used to dump Emacs.  Pass the heap allocation method
      to init_heap, which is now called after parsing the
      --temacs=METHOD option.
      * src/unexw32.c (unexec): Don't fiddle with using_dynamic_heap.
      <using_dynamic_heap>: Remove definition.
      * src/w32proc.c (malloc_before_init, realloc_before_init)
      (free_before_init): New functions, to catch memory allocation
      before heap allocation method is set up.
    • Eli Zaretskii's avatar
      ; * etc/NEWS: Fix description of pdumper. · f9434091
      Eli Zaretskii authored
    • Eli Zaretskii's avatar
      Fix a typo in ELisp manual · b6d78a0d
      Eli Zaretskii authored
      * doc/lispref/nonascii.texi (Converting Representations): Fix
      inconsistency between @defun and the argument description of
      'byte-to-string'.  (Bug#34119)
    • Dmitry Gutov's avatar
      Rebase project-find-regexp on top of project-files · fbe87d0f
      Dmitry Gutov authored
      * lisp/progmodes/project.el (project--files-in-directory):
      New function.
      (project-files, project-find-regexp): Use it.
      (project--dir-ignores): New function.
      (project--find-regexp-in): Remove.
      (project--process-file-region): New function.
      (project--find-regexp-in-files): New function.
      (project-find-regexp, project-or-external-find-regexp): Use it, and
      project-files as well.
    • Dmitry Gutov's avatar
      ; Update the number · afc8a41f
      Dmitry Gutov authored