]> git.eshelyaron.com Git - emacs.git/log
emacs.git
6 years ago* test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults): Adapt test.
Michael Albinus [Mon, 28 Jan 2019 15:33:47 +0000 (16:33 +0100)]
* test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults): Adapt test.

6 years agoAdapt accept-process-output timeouts in Tramp
Michael Albinus [Mon, 28 Jan 2019 15:33:27 +0000 (16:33 +0100)]
Adapt accept-process-output timeouts in Tramp

* lisp/net/tramp.el (tramp-accept-process-output):
Make timeout optional.  Do not set explicit timer.
(tramp-action-out-of-band, tramp-process-one-action)
(tramp-wait-for-regexp, tramp-interrupt-process):
* lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
* lisp/net/tramp-rclone.el (tramp-rclone-parse-device-names):
* lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
* lisp/net/tramp-smb.el (tramp-smb-action-get-acl)
(tramp-smb-action-set-acl, tramp-smb-wait-for-output):
* tramp-sudoedit.el (tramp-sudoedit-action-sudo):
Adapt `accept-process-output' calls wrt timeouts.

6 years agoFix bug with face-id after restoring from pdump
Eli Zaretskii [Mon, 28 Jan 2019 15:24:04 +0000 (17:24 +0200)]
Fix bug with face-id after restoring from pdump

* src/xfaces.c (init_xfaces): New function.
* src/emacs.c (main) [HAVE_PDUMPER]: If dumped with pdumper,
call init_xfaces.  (Bug#34226)
* src/lisp.h (init_xfaces) [HAVE_PDUMPER]: Add prototype.

* test/lisp/faces-tests.el (faces--test-face-id): New test for
bug#34226.

6 years agolinks: also link pdmp
Sam Steingold [Mon, 28 Jan 2019 14:56:47 +0000 (09:56 -0500)]
links: also link pdmp

6 years agoDetect when we hit limit in backward search in c-just-after-func-arglist-p
Alan Mackenzie [Mon, 28 Jan 2019 10:54:42 +0000 (10:54 +0000)]
Detect when we hit limit in backward search in c-just-after-func-arglist-p

This fixes a bug reported by Yasushi SHOJI <yasushi.shoji@gmail.com> to
emacs-devel on 2018-11-26, where wrong analysis and fontification occurred.

* lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): Add new parameter
HIT-LIM which, if non-nil causes the function to return nil rather than 'same
when we reach the backward search limit without finding the beginning of
statement.
(c-just-after-func-arglist-p): Supply argument t to this new parameter in call
to c-beginning-of-statement-1.

6 years agoUpdate from Gnulib
Paul Eggert [Mon, 28 Jan 2019 00:20:03 +0000 (16:20 -0800)]
Update from Gnulib

This incorporates:
2019-01-26 getloadavg: Add support for Android
2019-01-24 fchownat: Fix compilation error on Android 4.3
2019-01-24 mbtowc: Fix compilation error on Android 4.3
2019-01-24 random: Fix compilation error on Android 4.3
2019-01-24 renameat: Fix compilation error on Android 4.3
2019-01-24 unlinkat: Fix compilation error on Android 4.3
2019-01-19 gettext: support disabling use of VLAs
2019-01-17 sys_stat: Fix warning on OS/2 kLIBC
2019-01-17 fcntl: Fix syntax error (regression from 2018-10-05)
2019-01-10 verify: Enable _GL_HAVE_STATIC_ASSERT for recent G++
2018-12-22 stdioext: port to newer 32-bit Android
2018-12-16 libc-config: Support HP-UX cc in C99 mode.
* build-aux/config.guess, build-aux/config.sub, doc/misc/texinfo.tex:
* lib/cdefs.h, lib/fcntl.c, lib/getloadavg.c, lib/gettext.h:
* lib/regexec.c, lib/stdio-impl.h, lib/stdio.in.h, lib/stdlib.in.h:
* lib/sys_stat.in.h, lib/unistd.in.h, lib/verify.h, m4/stdlib_h.m4:
Copy from Gnulib.
* lib/gnulib.mk.in: Regenerate.

6 years agoforward-line now works with bignums
Paul Eggert [Sun, 27 Jan 2019 23:49:53 +0000 (15:49 -0800)]
forward-line now works with bignums

* src/cmds.c (Fforward_line): Support bignum arg.
(scan_newline): Return void since no caller was using the
return value.
* src/search.c (find_newline, scan_newline_from_point)
(find_newline1): Return the number of newlines counted, not
the count shortage, so that the return value always fits in
ptrdiff_t even if the original count was a bignum.  All
callers changed.
* test/src/cmds-tests.el (forward-line-with-bignum): New test.

6 years agoImprove pdump load diagnostics
Eli Zaretskii [Sun, 27 Jan 2019 15:55:27 +0000 (17:55 +0200)]
Improve pdump load diagnostics

* src/emacs.c (load_pdump): Improve diagnostics when pdump
file fails to load correctly.

6 years ago* src/emacs.c (load_pdump): Fix a thinko in last change.
Eli Zaretskii [Sat, 26 Jan 2019 17:48:33 +0000 (19:48 +0200)]
* src/emacs.c (load_pdump): Fix a thinko in last change.

6 years agoImprove pdump file search and 'pdumper-stats'
Eli Zaretskii [Sat, 26 Jan 2019 10:08:56 +0000 (12:08 +0200)]
Improve pdump file search and 'pdumper-stats'

* src/pdumper.c (pdumper_record_wd): New function.
(pdumper_load): Use xstrdup instead of strdup, as on
MS-Windows the latter uses the wrong heap.  Don't free a
NULL pointer.
* src/emacs.c (load_pdump): Support the use case where the
Emacs binary was renamed: look in exec-directory for the
pdump file whose base name is derived from the Emacs binary,
in addition to just emacs.pdmp.
(main): Call pdumper_record_wd to prepend CWD to the pdump
file name.
* src/fileio.c (file_name_absolute_p): Now extern.
* src/lisp.h (file_name_absolute_p): Add prototype.
* src/pdumper.h (pdumper_record_wd): Add prototype.

* doc/emacs/cmdargs.texi (Initial Options): Update the
documentation of where Emacs looks for the dump file.

6 years agoFix face initializations in pdump'ed Emacs
Eli Zaretskii [Sat, 26 Jan 2019 10:07:27 +0000 (12:07 +0200)]
Fix face initializations in pdump'ed Emacs

* src/dispnew.c (init_display_interactive): Call init_faces_initial
in the daemon if dumped with pdumper. (Bug#34114)

6 years ago* lisp/loadup.el (load-file-name): Set back to nil
Stefan Monnier [Fri, 25 Jan 2019 21:15:22 +0000 (16:15 -0500)]
* lisp/loadup.el (load-file-name): Set back to nil

6 years agoAdjust previous electric.el and elec-pair.el change
João Távora [Fri, 25 Jan 2019 13:04:13 +0000 (13:04 +0000)]
Adjust previous electric.el and elec-pair.el change

This fixes a serious bug introduced previously
electric-pair-inhibit-if-helps-balance and
electric-pair-skip-if-helps-balance, whereby "innocent" markers were
being pushed by those function's new save-change-and-restore
semantics.  The fix can probably still be improved.

It also adds comments to parts of the code, where deemed necessary.

* lisp/elec-pair.el (electric-pair--insert): Add comment.
(electric-pair--save-literal-point-excursion): New helper macro.
(electric-pair-inhibit-if-helps-balance)
(electric-pair-skip-if-helps-balance): Don't use
insert-before-markers since it may hurt other markers that have
nothing to do with the 'save-excursion'.
(electric-pair-post-self-insert-function): Use
electric-pair--save-literal-point-excursion.

* lisp/electric.el (electric-indent-post-self-insert-function):
Remove lexical variable.

6 years agoUse minibuffer-default in completion-all-sorted-completions (bug#34083)
João Távora [Thu, 24 Jan 2019 18:04:52 +0000 (18:04 +0000)]
Use minibuffer-default in completion-all-sorted-completions (bug#34083)

* lisp/minibuffer (completion-all-sorted-completions): Sort with the
default on top.

6 years ago; Fix recent changes in ELisp manual
Eli Zaretskii [Fri, 25 Jan 2019 09:14:32 +0000 (11:14 +0200)]
; Fix recent changes in ELisp manual

* doc/lispref/commands.texi (Using Interactive): Add a period
at the end of a sentence.
(Event Input Misc): Fix typo and leave 2 spaces between
sentences.

6 years ago; Document input-event-functions
Phillip Lord [Fri, 25 Jan 2019 08:59:06 +0000 (08:59 +0000)]
; Document input-event-functions

6 years agoMake tabulated-list-mode-map inherit from special-mode-map
Alex Branham [Mon, 21 Jan 2019 15:50:11 +0000 (09:50 -0600)]
Make tabulated-list-mode-map inherit from special-mode-map

* lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode-map): Use
  'make-composed-keymap'.

Bug #30452

6 years ago; * etc/NEWS: Mention changes in image-transform-* variables.
Eli Zaretskii [Fri, 25 Jan 2019 08:33:01 +0000 (10:33 +0200)]
; * etc/NEWS: Mention changes in image-transform-* variables.

6 years agoimage-mode: Make parameters buffer-local
Benjamin Riefenstahl [Sat, 12 Jan 2019 14:36:24 +0000 (15:36 +0100)]
image-mode: Make parameters buffer-local

Image parameters were treated as image specific, but because they
actually were global variables, their behaviour transfered to new
images.
* lisp/image-mode.el (image-transform-resize, image-transform-scale)
(image-transform-rotation): Declare with defvar-local.  (Bug#33990)

6 years agoSome fixes in tramp-smb.el
Michael Albinus [Thu, 24 Jan 2019 16:40:10 +0000 (17:40 +0100)]
Some fixes in tramp-smb.el

* lisp/net/tramp-smb.el (tramp-smb-errors):
Add "NT_STATUS_NOT_A_DIRECTORY".
(tramp-smb-maybe-open-connection): Respect ´non-essential'.  Do
not record smbserver-version.
(tramp-smb-wait-for-output): Improve reading pending output.

6 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Thu, 24 Jan 2019 16:39:40 +0000 (17:39 +0100)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

6 years agoAvoid byte-compiler warning in starttls.el
Eli Zaretskii [Thu, 24 Jan 2019 15:01:20 +0000 (17:01 +0200)]
Avoid byte-compiler warning in starttls.el

* lisp/net/network-stream.el (starttls-open-stream): Declare
to avoid compilation warning.

6 years ago; Remove tramp-tests instrumentation
Michael Albinus [Thu, 24 Jan 2019 13:36:38 +0000 (14:36 +0100)]
; Remove tramp-tests instrumentation

6 years agoCheck for client certificates when using GnuTLS
Robert Pluim [Thu, 24 Jan 2019 10:34:34 +0000 (11:34 +0100)]
Check for client certificates when using GnuTLS

This fixes Bug#33780, and extends the documentation to describe how to
enable use of client certificates.

* lisp/net/network-stream.el (network-stream-certificate): Correct
order of parameters to plist-get.
(network-stream-open-tls): Pass all received parameters to
open-gnutls-stream as plist, not just :nowait.

* lisp/net/gnutls.el (open-gnutls-stream): Change optional nowait arg
to be plist.  Derive nowait and client certificate(s) and keys(s) from
plist (maybe via auth-source) and pass to gnutls-boot-parameters and
gnutls-negotiate.
(network-stream-certificate): Add declare-function form for it.

* doc/misc/auth.texi (Help for users): Describe format to use for
client key/cert specification.

* doc/misc/emacs-gnutls.texi (Help For Developers): Describe usage of
optional plist argument.  Add crossreference to description of
.authinfo format for client key/cert specification.

* etc/NEWS: Describe new client certificate functionality for
  'open-network-stream'.

* test/lisp/net/network-stream-tests.el: Add require of network-stream.
(connect-to-tls-ipv4-nowait): Bind network-security-level to 'low
in order to bypass nsm prompting.
(connect-to-tls-ipv6-nowait): Likewise.
(open-network-stream-tls-wait): New test.
(open-network-stream-tls-nowait): New test.
(open-network-stream-tls): New test.
(open-network-stream-tls-nocert): New test.
(open-gnutls-stream-new-api-default): New test.
(open-gnutls-stream-new-api-wait): New test.
(open-gnutls-stream-old-api-wait): New test.
(open-gnutls-stream-new-api-nowait): New test.
(open-gnutls-stream-old-api-nowait): New test.
(open-gnutls-stream-new-api-errors): New test.
The new tests exercise 'open-network-stream' and the old and new
api of 'open-gnutls-stream'.

6 years agoFix error in Tramp's encoding check
Michael Albinus [Thu, 24 Jan 2019 10:06:38 +0000 (11:06 +0100)]
Fix error in Tramp's encoding check

* lisp/net/tramp-sh.el (tramp-find-inline-encoding):
Use `tramp-get-connection-buffer'.

6 years ago; Fix typos in NEWS
Phillip Lord [Wed, 23 Jan 2019 22:52:23 +0000 (22:52 +0000)]
; Fix typos in NEWS

6 years agodoc-view-presentation, doc-view-fit-window-to-page, and use mutool
Stefan Monnier [Wed, 23 Jan 2019 22:27:21 +0000 (17:27 -0500)]
doc-view-presentation, doc-view-fit-window-to-page, and use mutool

* lisp/doc-view.el (doc-view-pdfdraw-program): Use "mutool" if available.
(doc-view-mode-map): Keep default 'g' binding of 'revert-buffer'.
Change 'r' binding to 'revert-buffer'.
(doc-view-revert-buffer): Make it an obsolete alias.
(doc-view--revert-buffer): Rename from doc-view-revert-buffer, change
calling convention for use in add-function.
(doc-view-fit-window-to-page): New command.
(doc-view-pdf->png-converter-mupdf): Make it work with "mutool".
(doc-view-mode): Use add-function for revert-buffer-function.
(doc-view-presentation-mode-map, doc-view-presentation--src-data):
New vars.
(doc-view-presentation-exit, doc-view-presentation-mode)
(doc-view-presentation--propagate-pn, doc-view-presentation):
New functions.

6 years agoAvoid having to build src/emacs when we just want to `make tags`
Stefan Monnier [Wed, 23 Jan 2019 21:02:11 +0000 (16:02 -0500)]
Avoid having to build src/emacs when we just want to `make tags`

* Makefile.in (TAGS tags): Remove `src` from the dependencies.
* src/Makefile.in (ctagsfiles1): Strip macuvs.h and fingerprint.c.

6 years ago; * src/Makefile.in: Fix wording of comment in last change.
Eli Zaretskii [Wed, 23 Jan 2019 19:54:51 +0000 (21:54 +0200)]
; * src/Makefile.in: Fix wording of comment in last change.

6 years agoFix build errors with pdump fingerprint on macOS
Eli Zaretskii [Wed, 23 Jan 2019 19:53:29 +0000 (21:53 +0200)]
Fix build errors with pdump fingerprint on macOS

* src/Makefile.in ($(lispsource)/international/charprop.el):
Remove macuvs.h from the target list, to avoid circular
dependency on macOS.  Reported by Alan Third <alan@idiocy.org>.

6 years ago; More instrumentation of tramp-tests.el for hydra
Michael Albinus [Wed, 23 Jan 2019 18:16:36 +0000 (19:16 +0100)]
; More instrumentation of tramp-tests.el for hydra

* test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case):
Adapt docstring.

6 years agoRework last commit to icomplete and minibuffer.el.
Stefan Monnier [Wed, 23 Jan 2019 17:30:54 +0000 (12:30 -0500)]
Rework last commit to icomplete and minibuffer.el.

Rather than let minibuffer-force-complete set up cycling and then undoing it,
better tell it directly not to setup cycling.  Also be a bit more careful
to remove the transient map.
Additionally to bug#34077 and bug#34116, this also relates to bug#25644.

* lisp/minibuffer.el (completion--flush-all-sorted-completions):
Also take down the transient cycling map if applicable.
(minibuffer-force-complete): New arg dont-cycle.
Set completion-cycling to the actual function that takes down the
transient map rather than just t.
(minibuffer-force-complete-and-exit):
* lisp/icomplete.el (icomplete-force-complete): Use new dont-cycle arg.

6 years ago; Instrument tramp-tests.el for hydra.
Michael Albinus [Wed, 23 Jan 2019 17:07:40 +0000 (18:07 +0100)]
; Instrument tramp-tests.el for hydra.

6 years agoForce completion in icomplete with C-M-i, but don't cycle (bug#34077)
João Távora [Wed, 23 Jan 2019 16:30:41 +0000 (16:30 +0000)]
Force completion in icomplete with C-M-i, but don't cycle (bug#34077)

Cycling after forcing a completion with C-M-i in icomplete can be
confusing, as it leaves rotated prospects in the minibuffer.  In C-x
C-f, for example it is very difficult to understand if the prospects
refer to subdirectories of the directory being completed to, which
happens naturally when the completion is unique; or if they are a
cycled version of prospects that match the new completion pattern, in
case the completion happens to still match other items.

To resolve this confusion, never cycle with C-M-i in icomplete:
non-ambiguous cycling can be achieved with C-. and C-,

The former behaviour can still be restored with:

(define-key icomplete-minibuffer-map (kbd "C-M-i") 'minibuffer-force-complete)

* lisp/icomplete.el (icomplete-force-complete): New command.
(icomplete-minibuffer-map): Bind C-M-i to icomplete-force-complete.

6 years agoAvoid cycling in minibuffer-force-complete-and-exit (bug#34116)
João Távora [Wed, 23 Jan 2019 16:17:03 +0000 (16:17 +0000)]
Avoid cycling in minibuffer-force-complete-and-exit (bug#34116)

* lisp/minibuffer.el (minibuffer-force-complete-and-exit): Check
completion-cycling before minibuffer-force-complete.

6 years ago* src/keyboard.c (read_char): Use CALLN.
Paul Eggert [Wed, 23 Jan 2019 16:01:37 +0000 (08:01 -0800)]
* src/keyboard.c (read_char): Use CALLN.

6 years ago* src/emacs.c (load_pdump): Minor simplification.
Stefan Monnier [Wed, 23 Jan 2019 15:56:26 +0000 (10:56 -0500)]
* src/emacs.c (load_pdump): Minor simplification.

6 years agoFix compilation of pdumper.c with old buggy GCC
Eli Zaretskii [Wed, 23 Jan 2019 15:40:10 +0000 (17:40 +0200)]
Fix compilation of pdumper.c with old buggy GCC

* src/pdumper.c (emacs_ptr_at): Renamed from emacs_ptr, to
avoid compilation errors with GCC 4.7.  Reported by Martin
Rudalics <rudalics@gmx.at>.  All callers changed.

6 years ago* lisp/net/tramp.el (tramp-set-file-uid-gid): Fix thinko.
Michael Albinus [Wed, 23 Jan 2019 14:23:57 +0000 (15:23 +0100)]
* lisp/net/tramp.el (tramp-set-file-uid-gid): Fix thinko.

* test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case):
Adapt docstring.

6 years ago; Further tramp-tests instrumentation
Michael Albinus [Wed, 23 Jan 2019 07:53:24 +0000 (08:53 +0100)]
; Further tramp-tests instrumentation

6 years ago; Instrument tramp-tests
Michael Albinus [Tue, 22 Jan 2019 23:01:26 +0000 (00:01 +0100)]
; Instrument tramp-tests

6 years ago* lisp/emacs-lisp/package.el (package--alist): New
Stefan Monnier [Tue, 22 Jan 2019 22:54:29 +0000 (17:54 -0500)]
* lisp/emacs-lisp/package.el (package--alist): New

(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
package.el.

6 years agoAdd hook for all events
Phillip Lord [Sat, 5 Jan 2019 19:31:15 +0000 (20:31 +0100)]
Add hook for all events

* lisp/subr.el (input-event-functions): Add input-event-functions
* src/keyboard.c (read_char): Call input-event-functions on all hooks

6 years agoelectric-layout-mode kicks in before electric-pair-mode
João Távora [Tue, 22 Jan 2019 15:46:56 +0000 (15:46 +0000)]
electric-layout-mode kicks in before electric-pair-mode

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>
  {
  <newline>

The e-p-m inserts the pair

  function () <newline>
  {
  <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-layout-no-duplicate-newlines.
(electric-pair-inhibit-if-helps-balance)
(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
50.

* 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-modes-int-main-allman-style)
(electric-layout-int-main-kernel-style): Simplify
electric-layout-rules.
(electric-layout-for-c-style-du-jour): New helper.
(electric-layout-plainer-c-mode-use-c-style): New test.

6 years agoRemove tests of electric-pair-mode and CC-based modes
João Távora [Tue, 22 Jan 2019 14:36:54 +0000 (14:36 +0000)]
Remove tests of electric-pair-mode and CC-based modes

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
electric-layout-int-main-allman-style.

6 years agoExtend electric-pair-mode actions to < and >, and also to ( and ) in literals
Alan Mackenzie [Tue, 22 Jan 2019 14:37:54 +0000 (14:37 +0000)]
Extend electric-pair-mode actions to < and >, and also to ( and ) in literals

* 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
template).
(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
'appendable.

* list/progmodes/cc-langs.el (c-cpp-include-key): New lang const and var.

6 years agoRevert "Fix electric-pair-tests by disabling bug#33794's fix with a variable"
Alan Mackenzie [Sun, 20 Jan 2019 20:34:33 +0000 (20:34 +0000)]
Revert "Fix electric-pair-tests by disabling bug#33794's fix with a variable"

This reverts commit be505726b68d407a44fdcd9c7ac1ef722398532d.

6 years agoMake Tramp tests more robust
Michael Albinus [Tue, 22 Jan 2019 14:22:52 +0000 (15:22 +0100)]
Make Tramp tests more robust

* 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.

6 years agoRespect setgid bit of the upper directory in Tramp
Michael Albinus [Tue, 22 Jan 2019 09:38:49 +0000 (10:38 +0100)]
Respect setgid bit of the upper directory in Tramp

* 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)
(tramp-adb-handle-write-region):
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-directly)
(tramp-sh-handle-write-region): Use octal constants.

6 years ago* lisp/international/titdic-cnv.el: Use lexical-binding
Stefan Monnier [Mon, 21 Jan 2019 22:20:00 +0000 (17:20 -0500)]
* lisp/international/titdic-cnv.el: Use lexical-binding

(tit-process-body): Remove unused vars 'template' and 'second'.
(tsang-quick-converter): Remove unused args 'name' and 'title'.
Remove unused var 'slot'.
(tsang-b5-converter, quick-b5-converter, tsang-cns-converter)
(quick-cns-converter, py-converter, ziranma-converter)
(ctlau-converter, ctlau-gb-converter, ctlau-b5-converter):
Remove unused args 'name' and 'title'.
(miscdic-convert): Remove unused var 'dicbuf'.
Don't pass 'name' and 'title' to the conversion function.

6 years agoSimplify pdumper-load via timespectod
Paul Eggert [Mon, 21 Jan 2019 20:48:42 +0000 (12:48 -0800)]
Simplify pdumper-load via timespectod

Suggested by Eli Zaretskii in:
https://lists.gnu.org/r/emacs-devel/2019-01/msg00458.html
* src/pdumper.c (pdumper_load): Simplify.

6 years ago* src/pdumper.c (dump_string) [CHECK_STRUCTS]: Fix copy&paste error
Stefan Monnier [Mon, 21 Jan 2019 20:03:28 +0000 (15:03 -0500)]
* src/pdumper.c (dump_string) [CHECK_STRUCTS]: Fix copy&paste error

6 years ago* lisp/electric.el: Fix typo in last change.
Stefan Monnier [Mon, 21 Jan 2019 19:30:29 +0000 (14:30 -0500)]
* lisp/electric.el: Fix typo in last change.

6 years ago(electric--sort-post-self-insertion-hook): Accept non-symbol functions
Stefan Monnier [Mon, 21 Jan 2019 18:52:51 +0000 (13:52 -0500)]
(electric--sort-post-self-insertion-hook): Accept non-symbol functions

* lisp/electric.el (electric--sort-post-self-insertion-hook):
Don't burp on non-symbol functions.

6 years agoFix occasional pdumper/bootstrap error
Alan Third [Mon, 21 Jan 2019 16:50:12 +0000 (16:50 +0000)]
Fix occasional pdumper/bootstrap error

* src/Makefile.in (emacs$(EXEEXT)): Copy the new executable over
bootstrap-emacs.

6 years ago* lisp/net/tramp-sh.el (tramp-set-remote-path): Fix usage of tmpfile.
Michael Albinus [Mon, 21 Jan 2019 10:34:32 +0000 (11:34 +0100)]
* lisp/net/tramp-sh.el (tramp-set-remote-path): Fix usage of tmpfile.

6 years agoUse `inhibit-read-only' in Tramp
Michael Albinus [Mon, 21 Jan 2019 08:48:55 +0000 (09:48 +0100)]
Use `inhibit-read-only' in Tramp

* lisp/net/tramp.el (tramp-process-actions, tramp-accept-process-output)
(tramp-send-string):
* lisp/net/tramp-adb.el (tramp-adb-handle-make-process)
(tramp-adb-send-command-and-check, tramp-adb-wait-for-output):
* lisp/net/tramp-sh.el (tramp-sh-handle-make-process)
(tramp-wait-for-output, tramp-send-command-and-check):
* lisp/net/tramp-smb.el (tramp-smb-wait-for-output):
Use `inhibit-read-only'.

6 years agoUse POSIX "df" in Tramp, if available
Michael Albinus [Sun, 20 Jan 2019 17:56:26 +0000 (18:56 +0100)]
Use POSIX "df" in Tramp, if available

* lisp/net/tramp-sh.el (tramp-get-remote-df):
Support also POSIX.1 "df".
(tramp-sh-handle-file-system-info): Adapt accordingly.

6 years agoSupport native image resizing on MS-Windows
Eli Zaretskii [Sun, 20 Jan 2019 15:59:12 +0000 (17:59 +0200)]
Support native image resizing on MS-Windows

* src/w32term.c (x_draw_image_foreground): Scale the image if
the requested dimensions are different from the bitmap
dimensions.
* 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.

6 years agoImprove error data when passing a wrong type to 'sort' (Bug#34104)
Philipp Stephani [Thu, 17 Jan 2019 22:39:19 +0000 (23:39 +0100)]
Improve error data when passing a wrong type to 'sort' (Bug#34104)

* src/fns.c (Fsort): Use 'list-or-vector-p' for error message.
(syms_of_fns): Define 'list-or-vector-p'.

* test/src/fns-tests.el (fns-tests-sort): Extend unit test.

6 years agopdumper-stats now returns s, not ms
Paul Eggert [Sat, 19 Jan 2019 22:38:52 +0000 (14:38 -0800)]
pdumper-stats now returns s, not ms

* doc/lispref/internals.texi (pdumper-stats):
* src/pdumper.c (pdumper_load): Return seconds, not milliseconds.
Minimize rounding errors in the usual case.

6 years ago; Fix a recent change in pdumper.c
Eli Zaretskii [Sat, 19 Jan 2019 18:37:50 +0000 (20:37 +0200)]
; Fix a recent change in pdumper.c

* src/pdumper.c (Fpdumper_stats): Don't expand dump filename, as we don't
record the directory relative to which it was specified.

6 years agoMinor cleanup in pdumper.c
Eli Zaretskii [Sat, 19 Jan 2019 18:21:25 +0000 (20:21 +0200)]
Minor cleanup in pdumper.c

* src/pdumper (subtract_timespec): Function removed.
(pdumper_load): Use timespec_sub instead of subtract_timespec.

6 years agoImprove 'pdumper-stats' and its documentation
Eli Zaretskii [Sat, 19 Jan 2019 18:09:38 +0000 (20:09 +0200)]
Improve 'pdumper-stats' and its documentation

* src/pdumper.c (Fpdumper_stats): Improve formatting and
wording of the doc string.  Decode the pdump file name and
expand-file-name it.

* doc/lispref/internals.texi (Building Emacs): Document
'pdumper-stats'.

6 years agoUnbreak the macOS NS build
Eli Zaretskii [Sat, 19 Jan 2019 11:32:59 +0000 (13:32 +0200)]
Unbreak the macOS NS build

* src/xdisp.c (expose_window_tree): Declare and define 'f' on
NS as well.  Reported by Herbert J. Skuhra <herbert@gojira.at>.

6 years ago; Update the commentary
Dmitry Gutov [Sat, 19 Jan 2019 00:57:58 +0000 (03:57 +0300)]
; Update the commentary

6 years agoMisc ignore-related project.el changes
Dmitry Gutov [Sat, 19 Jan 2019 00:46:07 +0000 (03:46 +0300)]
Misc ignore-related project.el changes

* lisp/progmodes/project.el (project-ignores): Don't append the
default ignores list, just use vc-directory-exclusion-list.
(project--dir-ignores): Use the default ignores if the dir is
outside of the current project.
(project-files): Use project--dir-ignores to support external
roots better.

6 years agoRevert "Remove leftover from previous electric-layout-rules API"
João Távora [Fri, 18 Jan 2019 22:26:29 +0000 (22:26 +0000)]
Revert "Remove leftover from previous electric-layout-rules API"

This is a backward-incompatible change, and removing it isn't really
necessary.

This reverts commit 942dad2b519cabddf6caea7641517507dc06944b.

6 years ago(electric-layout-post-self-insert-function-1): Simplify.
Stefan Monnier [Fri, 18 Jan 2019 22:20:21 +0000 (17:20 -0500)]
(electric-layout-post-self-insert-function-1): Simplify.

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.

6 years agoEnsure fns in electric-layout-rules are called in right position
João Távora [Fri, 18 Jan 2019 22:05:36 +0000 (22:05 +0000)]
Ensure fns in electric-layout-rules are called in right position

* lisp/electric.el (electric-layout-rules): Ensure rules are
called from right spot.

6 years agoRemove leftover from previous electric-layout-rules API
João Távora [Fri, 18 Jan 2019 21:54:48 +0000 (21:54 +0000)]
Remove leftover from previous electric-layout-rules API

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.

6 years agoPort to platforms where NULL is a pointer
Paul Eggert [Fri, 18 Jan 2019 21:03:47 +0000 (13:03 -0800)]
Port to platforms where NULL is a pointer

* 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.

6 years agoImprove documentation of portable dumping
Eli Zaretskii [Fri, 18 Jan 2019 15:58:47 +0000 (17:58 +0200)]
Improve documentation of portable dumping

* 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.

6 years agoMerge from origin/emacs-26
Glenn Morris [Fri, 18 Jan 2019 15:50:47 +0000 (07:50 -0800)]
Merge from origin/emacs-26

b6d78a0 (origin/emacs-26) Fix a typo in ELisp manual
c9f6f86 Prevent redrawing if frame is garbaged
00ba226 Attempt to fix hangs on MS-Windows due to C-g
b26d637 Fix Calc graph output on MS-Windows
03818b0 Fix a minor mistake in ELisp manual
6ac5985 ; Fix some trivial doc typos
21b9026 * etc/tutorials/TUTORIAL: Fix typo (bug#34049)
d223727 Fix UI of Buffer-menu
0f71655 Reinitialize ispell-really-enchant when changing the speller
9845044 Speed up loading css-mode

6 years agoClean up memory allocation and unexec support on MS-Windows
Eli Zaretskii [Fri, 18 Jan 2019 15:04:00 +0000 (17:04 +0200)]
Clean up memory allocation and unexec support on MS-Windows

* 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.

6 years ago; * etc/NEWS: Fix description of pdumper.
Eli Zaretskii [Fri, 18 Jan 2019 09:56:47 +0000 (11:56 +0200)]
; * etc/NEWS: Fix description of pdumper.

6 years agoFix a typo in ELisp manual
Eli Zaretskii [Fri, 18 Jan 2019 08:51:57 +0000 (10:51 +0200)]
Fix a typo in ELisp manual

* doc/lispref/nonascii.texi (Converting Representations): Fix
inconsistency between @defun and the argument description of
'byte-to-string'.  (Bug#34119)

6 years agoRebase project-find-regexp on top of project-files
Dmitry Gutov [Fri, 18 Jan 2019 03:38:12 +0000 (06:38 +0300)]
Rebase project-find-regexp on top of project-files

* 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.

6 years ago; Update the number
Dmitry Gutov [Sun, 13 Jan 2019 21:29:38 +0000 (00:29 +0300)]
; Update the number

6 years agoMake 'project-files' the "canonical" generic of the two
Dmitry Gutov [Sun, 13 Jan 2019 21:16:19 +0000 (00:16 +0300)]
Make 'project-files' the "canonical" generic of the two

* lisp/progmodes/project.el (project-files): Move the actual
command building and invocation here.
(project-file-completion-table): Delegate to 'project-files'.

6 years ago* lisp/textmodes/sgml-mode.el: Try and fix bug#33887.
Stefan Monnier [Thu, 17 Jan 2019 23:25:00 +0000 (18:25 -0500)]
* lisp/textmodes/sgml-mode.el: Try and fix bug#33887.

Remove redundant :group args.
(sgml-syntax-propertize-rules): Speed up processing of most double quotes.

6 years agoFix electric-pair-tests by disabling bug#33794's fix with a variable
João Távora [Thu, 17 Jan 2019 18:47:00 +0000 (18:47 +0000)]
Fix electric-pair-tests by disabling bug#33794's fix with a variable

The variable c--disable-fix-of-bug-33794, which should be removed in
the short term in favor of a permanent solution, is introduced.

It is bound to nil by default.  This means that breakage is still
happening in actual c-mode and c++-mode usage, though the tests no
longer show it.

To get around this breakage, put

   (setq c--disable-fix-of-bug-33794 t)

In your init file.  Evidently, you will lose the fix for bug#33794,
but that only affects a small corner case of c-toggle-auto-newline,
which is not turned on by default.

See https://lists.gnu.org/archive/html/emacs-devel/2019-01/msg00360.html
for more information.

* lisp/progmodes/cc-cmds.el (c--disable-fix-of-bug-33794): New
variable.
(c--with-post-self-insert-hook-maybe): New macro.
(c-electric-pound, c-electric-brace, c-electric-slash)
(c-electric-star, c-electric-semi&comma, c-electric-colon)
(c-electric-lt-gt, c-electric-paren): Use it.
(c-electric-paren, c-electric-brace): Check
c--disable-fix-of-bug-33794.

* test/lisp/electric-tests.el (c--disable-fix-of-bug-33794):
Forward declare.
(electric-pair-test-for)
(electric-layout-int-main-kernel-style)
(electric-modes-in-c-mode-with-self-insert-command): Use it.

6 years agoRevert "Temporarily comment out CC Mode from tests..."
João Távora [Thu, 17 Jan 2019 18:08:01 +0000 (18:08 +0000)]
Revert "Temporarily comment out CC Mode from tests..."

This reverts commit 54f297904e0c641fcfd81f16e9a87177124a27be.

6 years agoFix wording in Window Hooks section of Elisp manual
Martin Rudalics [Thu, 17 Jan 2019 18:07:47 +0000 (19:07 +0100)]
Fix wording in Window Hooks section of Elisp manual

* doc/lispref/windows.texi (Window Hooks): Fix wording in
description of window change functions.  Suggested by Robert
Pluim <rpluim@gmail.com>.

6 years agoBe more specific with XRender bit-depths (bug#34051)
Alan Third [Tue, 15 Jan 2019 16:38:34 +0000 (16:38 +0000)]
Be more specific with XRender bit-depths (bug#34051)

* src/image.c (x_create_x_image_and_pixmap): Fail gracefully if a bit
depth is requested that XRender doesn't support.

6 years agoSimplify ignored extensions filtering in Icomplete (bug#34070)
João Távora [Tue, 15 Jan 2019 12:10:23 +0000 (12:10 +0000)]
Simplify ignored extensions filtering in Icomplete (bug#34070)

* lisp/icomplete.el: Use lexical binding.
(icomplete-completions): Use minibuffer-completion-predicate
to filter out completion-ignored-extensions.

6 years agoRevert "Fix icomplete's cycling when filename filtering kicks in"
João Távora [Thu, 17 Jan 2019 15:11:21 +0000 (15:11 +0000)]
Revert "Fix icomplete's cycling when filename filtering kicks in"

This reverts commit cdb082322d4209c5104bc1a98b21bf3dd75e8f17, which
was a fix for bug#34070.  A much better fix to be added soon.

6 years agoFix flymake-proc--delete-temp-directory if temp dir ends in slash
João Távora [Thu, 17 Jan 2019 14:38:44 +0000 (14:38 +0000)]
Fix flymake-proc--delete-temp-directory if temp dir ends in slash

Fixes: bug#34074
Reported by 林宝龙 <lbl52001@gmail.com>.

* lisp/progmodes/flymake-proc.el
 (flymake-proc--delete-temp-directory):  Use directory-file-name.

6 years agoTemporarily comment out CC Mode from tests which are incompatible with it.
Alan Mackenzie [Thu, 17 Jan 2019 12:51:40 +0000 (12:51 +0000)]
Temporarily comment out CC Mode from tests which are incompatible with it.

* tests/electric-tests (electric-pair-test-for): comment out c++-mode from the
list of modes to be used in tests.
(electric-pair-whitespace-chomping-2-at-point-4-in-c++-mode-in-strings)
(ert-deftest electric-layout-int-main-kernel-style)
(ert-deftest electric-layout-int-main-allman-style): Comment out.

6 years agoFix --enable-profiling builds (bug#34099)
Glenn Morris [Thu, 17 Jan 2019 12:19:45 +0000 (07:19 -0500)]
Fix --enable-profiling builds (bug#34099)

* src/profiler.c (syms_of_profiler_for_pdumper):
Only set cpu_log if CPU profiling is enabled.

6 years agoExpand spectrum of window change functions
Martin Rudalics [Thu, 17 Jan 2019 09:21:07 +0000 (10:21 +0100)]
Expand spectrum of window change functions

* src/window.c (run_window_change_functions): Run window
change functions for Qwindow_state_change_functions.
(resize_frame_windows): Set frame's window_change slot when
single-window frames change size.
(Qwindow_state_change_functions): New symbol.
(Vwindow_state_change_functions): New Lisp variable.
* doc/lispref/windows.texi (Selecting Windows): Mention
'window-selection/state-change-functions' and add reference to
Window Hooks.
(Window Hooks): Document 'window-state-change-functions'.
* etc/NEWS: Mention new hook 'window-state-change-functions'.

6 years agoPort pdumper to older GNU/Linux
Paul Eggert [Thu, 17 Jan 2019 01:34:45 +0000 (17:34 -0800)]
Port pdumper to older GNU/Linux

Problem reported by Colin Baxter in:
https://lists.gnu.org/r/emacs-devel/2019-01/msg00321.html
* src/alloc.c (my_heap_start): Also define if
GNU_LINUX && CANNOT_DUMP && DOUG_LEA_MALLOC.

6 years agoFix segfault in profiler after pdump load
Daniel Colascione [Thu, 17 Jan 2019 01:26:19 +0000 (20:26 -0500)]
Fix segfault in profiler after pdump load

Move initialization of the profiler's hash test to static
initialization from the syms function so that pdumper doesn't need to
bother capturing it in any special way.

* src/profiler.c (cmpfn_profiler, hashfn_profiler):
forward declare.
(hashtest_profiler): statically initialize.
(syms_of_profiler): remove dynamic initialization of
hashtest_profiler.

6 years ago* doc/lispref/processes.texi (Accepting Output): Simplify.
Paul Eggert [Wed, 16 Jan 2019 18:31:21 +0000 (10:31 -0800)]
* doc/lispref/processes.texi (Accepting Output): Simplify.

6 years agoFix previous change: use correct pdumper function
Daniel Colascione [Wed, 16 Jan 2019 19:44:45 +0000 (14:44 -0500)]
Fix previous change: use correct pdumper function

6 years agoFix crash in charset detection after pdumper load
Daniel Colascione [Wed, 16 Jan 2019 19:37:21 +0000 (14:37 -0500)]
Fix crash in charset detection after pdumper load

* src/coding.c:
(reset_coding_after_pdumper_load): new function re-init character
classes after pdumper load.
(syms_of_coding): Call it.

6 years agoAvoid compilation warnings in MS-Windows build
Andy Moreton [Wed, 16 Jan 2019 17:44:10 +0000 (17:44 +0000)]
Avoid compilation warnings in MS-Windows build

* src/pdumper.c (dump_cold_bignum):
* src/emacs.c(load_pdump) [WINDOWSNT]: Avoid compiler warnings
due to 64-bit vs 32-bit data type mismatches.

6 years agoImprove documentation of pdumper; minor code cleanup
Eli Zaretskii [Wed, 16 Jan 2019 15:55:53 +0000 (17:55 +0200)]
Improve documentation of pdumper; minor code cleanup

* src/emacs.c (usage_message): Add the --dump-file option.
(string_starts_with_p, find_argument): Functions removed; use
'argmatch' instead.
(PDUMP_FILE_ARG): Macro removed; use literal strings instead,
as with other command-line options.  Use HAVE_PDUMPER for cpp
conditionals which used PDUMP_FILE_ARG.
(load_pdump, main): Use 'argmatch' for "--dump-file" and
"--temacs" arguments, thus supporting the "-dump-file" and
"-temacs" variants, for consistency with other options.
(main): Remove the extra fatal error for using --dump-file in
unexec'ed Emacs: load_pdump does that anyway.
(standard_args): Add --dump-file and --temacs, with
appropriate priorities.

* etc/NEWS: Expand on the pdumper support.

* doc/emacs/cmdargs.texi (Initial Options): Document the
'--dump-file' command-line option.

6 years agoFix minor glitch with producing 'emacs' executable
Eli Zaretskii [Wed, 16 Jan 2019 15:26:15 +0000 (17:26 +0200)]
Fix minor glitch with producing 'emacs' executable

* src/Makefile.in (LC_ALL) [!DUMPING]: Don't overwrite
previous emacs-X.Y.Z executables with new ones.

6 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Wed, 16 Jan 2019 12:57:00 +0000 (13:57 +0100)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs