]> git.eshelyaron.com Git - emacs.git/log
emacs.git
6 years agoMore 7 scratch/windows-branch-build-2
Phillip Lord [Sun, 8 Apr 2018 20:16:01 +0000 (21:16 +0100)]
More 7

6 years agoMore 6
Phillip Lord [Sun, 8 Apr 2018 13:33:44 +0000 (14:33 +0100)]
More 6

6 years agoMore 5
Phillip Lord [Sun, 8 Apr 2018 13:32:08 +0000 (14:32 +0100)]
More 5

6 years agoMore 4
Phillip Lord [Sun, 8 Apr 2018 13:29:01 +0000 (14:29 +0100)]
More 4

6 years agoMore 4
Phillip Lord [Sun, 8 Apr 2018 13:26:55 +0000 (14:26 +0100)]
More 4

6 years agoMore 3
Phillip Lord [Sun, 8 Apr 2018 13:25:48 +0000 (14:25 +0100)]
More 3

6 years agoMore
Phillip Lord [Sun, 8 Apr 2018 13:24:38 +0000 (14:24 +0100)]
More

6 years agoMore
Phillip Lord [Sun, 8 Apr 2018 13:21:32 +0000 (14:21 +0100)]
More

6 years ago* admin/nt/dist-build/build-zips.sh: Support building of branches
Phillip Lord [Sun, 8 Apr 2018 12:40:48 +0000 (13:40 +0100)]
* admin/nt/dist-build/build-zips.sh: Support building of branches

6 years agoReduce parallelism to Windows build
Phillip Lord [Wed, 28 Mar 2018 08:40:55 +0000 (09:40 +0100)]
Reduce parallelism to Windows build

* admin/nt/dist-build/build-zips.sh: Reduce make parallelism to 2.

6 years agoAvoid using unportable integer in org-clock
Paul Eggert [Tue, 27 Mar 2018 20:48:13 +0000 (13:48 -0700)]
Avoid using unportable integer in org-clock

* lisp/org/org-clock.el (org-clock--oldest-date): Avoid use of an
integer outside portable Emacs range.  Go back to using a simple
check, since decode-time should no longer infloop.

6 years agoUpdate from Gnulib
Paul Eggert [Tue, 27 Mar 2018 20:30:50 +0000 (13:30 -0700)]
Update from Gnulib

This incorporates:
2018-03-26 time_rz: work around Mac OS X 10.6 infloop
2018-03-20 euidaccess: Port to native Windows.
* lib/euidaccess.c, lib/time_rz.c, m4/time_rz.m4: Copy from Gnulib.

6 years ago(benchmark-run-compiled): Make it work like 'benchmark-run' again
Stefan Monnier [Tue, 27 Mar 2018 20:19:40 +0000 (16:19 -0400)]
(benchmark-run-compiled): Make it work like 'benchmark-run' again

* lisp/emacs-lisp/benchmark.el (benchmark-run): Add special case for
nil repetitions.

6 years ago(completion-at-point-functions): Improve doc
Stefan Monnier [Tue, 27 Mar 2018 20:01:30 +0000 (16:01 -0400)]
(completion-at-point-functions): Improve doc

6 years ago(read_key_sewuence): Use POSN in second event when needed (bug#30955)
Stefan Monnier [Tue, 27 Mar 2018 19:26:02 +0000 (15:26 -0400)]
(read_key_sewuence): Use POSN in second event when needed (bug#30955)

* src/keyboard.c (active_maps): Add arg 'second_event'.
(read_key_sequence): Pass it.

* lisp/mouse.el (mouse--click-1-maybe-follows-link): Modify event in place.

6 years ago* lisp/mouse.el: Remove redundant ':group's.
Stefan Monnier [Tue, 27 Mar 2018 19:22:42 +0000 (15:22 -0400)]
* lisp/mouse.el: Remove redundant ':group's.

6 years ago* test/lisp/emacs-lisp/bytecomp-tests.el
Glenn Morris [Tue, 27 Mar 2018 01:56:33 +0000 (21:56 -0400)]
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-test-featurep-warnings): New.

6 years ago* lisp/emacs-lisp/benchmark.el (benchmark-run): Allow variable.
Stefan Monnier [Tue, 27 Mar 2018 01:07:35 +0000 (21:07 -0400)]
* lisp/emacs-lisp/benchmark.el (benchmark-run): Allow variable.

(benchmark-run): Allow `repetitions` to be a variable rather than a constant.

6 years agoFix constant folding of overflows
Paul Eggert [Tue, 27 Mar 2018 00:03:54 +0000 (17:03 -0700)]
Fix constant folding of overflows

This suppresses some byte-code optimizations that were invalid in
the presence of integer overflows, because they meant that .elc
files assumed the runtime behavior of the compiling platform, as
opposed to the runtime platform.  Problem reported by Pip Cet in:
https://lists.gnu.org/r/emacs-devel/2018-03/msg00753.html
* lisp/emacs-lisp/byte-opt.el (byte-opt--portable-max)
(byte-opt--portable-min): New constants.
(byte-opt--portable-numberp, byte-opt--arith-reduce)
(byte-optimize-1+, byte-optimize-1-): New functions.
(byte-optimize-plus, byte-optimize-minus, byte-optimize-multiply)
(byte-optimize-divide): Avoid invalid optimizations.
(1+, 1-): Use new optimizers.
(byte-optimize-or, byte-optimize-cond): Simplify by using
remq instead of delq and copy-sequence.

6 years agoTrivial fixes for last changes to package.el and marker.c
Stefan Monnier [Mon, 26 Mar 2018 18:29:49 +0000 (14:29 -0400)]
Trivial fixes for last changes to package.el and marker.c

* lisp/emacs-lisp/package.el (package-quickstart): Add missing version.
* src/marker.c (verify_bytepos): Fix typo.

6 years ago; Spelling fix
Paul Eggert [Mon, 26 Mar 2018 16:29:42 +0000 (09:29 -0700)]
; Spelling fix

6 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Mon, 26 Mar 2018 14:44:01 +0000 (16:44 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

6 years ago* lisp/emacs-lisp/package.el: New quickstart feature
Stefan Monnier [Mon, 26 Mar 2018 13:41:30 +0000 (09:41 -0400)]
* lisp/emacs-lisp/package.el: New quickstart feature

(package--quickstart-pkgs): New var.
(package-activate-1): Obey and fill it.
(package-activate-all): New function.
(package-initialize): Call it.
Set package-initialized before activating the packages.
(package-installed-p): Make it work before package.el is initialized in
the case where min-version is not specified.
(package-install, package-delete): Refresh the quickstart if applicable.
(package-quickstart, package-quickstart-file): New vars.
(package--quickstart-maybe-refresh, package-quickstart-refresh):
New functions.

* lisp/startup.el (command-line): Use package-activate-all rather than
package-initialize.

* doc/lispref/package.texi (Packaging Basics):
* doc/emacs/package.texi (Package Installation):
* doc/lispref/os.texi (Startup Summary): Refer to package-activate-all.

6 years ago* src/marker.c: Try and speed up byte<->char conversion with many markers.
Stefan Monnier [Mon, 26 Mar 2018 13:01:30 +0000 (09:01 -0400)]
* src/marker.c: Try and speed up byte<->char conversion with many markers.

When considering markers (to find a starting point for the conversion),
typically one of the two bounds is nearby (coming from
cached_(byte|char)pos) but the other is far (point-min or point-max),
so change the exit condition so we stop as soon as *one* of the bounds
is near.

(BYTECHAR_DISTANCE_INITIAL, BYTECHAR_DISTANCE_INCREMENT): New constants.
(buf_charpos_to_bytepos, buf_bytepos_to_charpos): Use them to try and
reduce the number of markers we consider.

6 years agoFix problem with trailing slash in Tramp
Michael Albinus [Mon, 26 Mar 2018 12:33:24 +0000 (14:33 +0200)]
Fix problem with trailing slash in Tramp

* lisp/net/tramp.el (tramp-handle-file-truename):
* lisp/net/tramp-adb.el (tramp-adb-handle-file-truename):
* lisp/net/tramp-sh.el (tramp-sh-handle-file-truename):
Fix problem with trailing slash.

* test/lisp/net/tramp-tests.el (tramp-test21-file-links):
Test also quoted directories.

6 years agoRemove architecture dependent source downloads feature/deps-download
Phillip Lord [Mon, 26 Mar 2018 11:49:50 +0000 (12:49 +0100)]
Remove architecture dependent source downloads

* admin/nt/dist-build/build-dep-zips.py:

6 years agoMake eshell/kill handle -<signal> and -<SIGNALNAME> (Bug#29156)
Eric Skoglund [Fri, 16 Mar 2018 13:49:56 +0000 (14:49 +0100)]
Make eshell/kill handle -<signal> and -<SIGNALNAME> (Bug#29156)

* lisp/eshell/esh-proc.el (eshell/kill): Handle the argument parsing
and numeric conversion in function in order to parse -signal and
-SIGNALNAME correctly.
* doc/misc/eshell.texi (kill): Update docs to reflect new function
behaviour.
* etc/NEWS: Mention new eshell/kill behaviour.

6 years agoAllow `&rest' or `&optional' without following variable (Bug#29165)
Noam Postavsky [Sat, 20 Jan 2018 16:27:23 +0000 (11:27 -0500)]
Allow `&rest' or `&optional' without following variable (Bug#29165)

This is sometimes convenient when writing macros, so that the empty
variable case doesn't need to be handled specially.  Older versions of
Emacs accepted this in some cases (especially the interpreter in Emacs
25 and below was very accepting).

                            |   interpreted/compiled   |
| arglist                   | 25 & earlier | 26  | 27  |
|---------------------------+--------------+-----+-----|
| (&rest)                   | y/n          | n/n | y/y |
| (&rest &rest)             | y/n          | n/n | n/n |
| (&rest &rest x)           | y/n          | n/n | n/n |
| (&rest x &rest)           | y/n          | n/n | n/n |
| (&rest x &rest y)         | y/n          | n/n | n/n |
|---------------------------+--------------+-----+-----|
| (&optional)               | y/n          | n/n | y/y |
| (&optional &optional)     | y/n          | n/n | n/n |
| (&optional x &optional)   | y/n          | n/n | n/n |
| (&optional x &optional y) | y/y          | n/n | n/n |
|---------------------------+--------------+-----+-----|
| (&optional &rest)         | y/n          | n/n | y/y |
| (&optional x &rest)       | y/n          | n/n | y/y |
| (&optional &rest y)       | y/y          | n/n | y/y |
|---------------------------+--------------+-----+-----|
| (&rest &optional)         | y/n          | n/n | n/n |
| (&rest &optional y)       | y/n          | n/n | n/n |
| (&rest x &optional y)     | y/n          | n/n | n/n |

The values in the table above can be produced with the following code:

(with-current-buffer (get-buffer-create "*ck-args*")
  (erase-buffer)
  (dolist (arglist '((&rest)
                     (&rest &rest)
                     (&rest &rest x)
                     (&rest x &rest)
                     (&rest x &rest y)
                     (&optional)
                     (&optional &optional)
                     (&optional x &optional)
                     (&optional x &optional y)
                     (&optional &rest)
                     (&optional x &rest)
                     (&optional &rest y)
                     (&rest &optional)
                     (&rest &optional y)
                     (&rest x &optional y)))
    (insert
     (format "%c/%c\n"
             (condition-case err
                 (progn (funcall `(lambda ,arglist 'ok))
                        ?y)
               (error ?n))
             (condition-case err
                 (progn (byte-compile-check-lambda-list arglist)
                        ?y)
               (error ?n))))
    (display-buffer (current-buffer))))

* src/eval.c (funcall_lambda):
* lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list): Don't
check for missing variables after `&rest' and `&optional'.
* test/src/eval-tests.el (eval-tests--bugs-24912-and-24913)
(eval-tests-accept-empty-optional-rest): Update tests accordingly.
* etc/NEWS: Update announcement accordingly.
* doc/lispref/functions.texi (Argument List): Update manual to
indicate that variable names are optional.

6 years agoFix byte-optimize-memq incorrectly optimizing some memq forms.
Vibhav Pant [Sun, 25 Mar 2018 05:52:50 +0000 (11:22 +0530)]
Fix byte-optimize-memq incorrectly optimizing some memq forms.

* lisp/emacs-lisp/byte-opt.el (byte-optimize-memq): Call
  byte-optimize-and only for memq forms that can be optimized, use
  byte-optimize-predicate to optimize the final form.

6 years agoOptimize certain memq forms during byte-compilation.
Vibhav Pant [Sat, 24 Mar 2018 19:08:01 +0000 (00:38 +0530)]
Optimize certain memq forms during byte-compilation.

* lisp/emacs-lisp/byte-opt.el (byte-optimize-memq): New function.
  Set the byte optimizer function for memq to byte-optimize-memq.

6 years agoReduce build load
Phillip Lord [Sat, 24 Mar 2018 17:34:19 +0000 (17:34 +0000)]
Reduce build load

* admin/nt/dist-build/build-zips.sh: Reduce parallelism to 8

6 years ago* lisp/emulation/viper.el (viper-set-hooks): Replace obsolete func.
Glenn Morris [Sat, 24 Mar 2018 00:55:51 +0000 (20:55 -0400)]
* lisp/emulation/viper.el (viper-set-hooks): Replace obsolete func.

6 years ago* lisp/vc/vc.el (vc-initial-comment): Remove var unused since 23.2.
Glenn Morris [Sat, 24 Mar 2018 00:31:53 +0000 (20:31 -0400)]
* lisp/vc/vc.el (vc-initial-comment): Remove var unused since 23.2.

6 years agoRemove some unused gnus-registry variables
Glenn Morris [Sat, 24 Mar 2018 00:01:26 +0000 (20:01 -0400)]
Remove some unused gnus-registry variables

* lisp/gnus/gnus-registry.el (gnus-registry-clean-empty)
(gnus-registry-use-long-group-names)
(gnus-registry-max-track-groups, gnus-registry-entry-caching)
(gnus-registry-trim-articles-without-groups):
Remove variables labeled as obsolete since 23.4 that do nothing.

6 years agoRemove variables labeled as obsolete that do nothing
Glenn Morris [Fri, 23 Mar 2018 23:52:09 +0000 (19:52 -0400)]
Remove variables labeled as obsolete that do nothing

* lisp/allout.el (allout-passphrase-verifier-string)
(allout-passphrase-hint-string):
* lisp/w32-vars.el (w32-list-proportional-fonts):
Remove variables that are unused since Emacs 23.x.

6 years agoLimit build load
Phillip Lord [Fri, 23 Mar 2018 23:11:13 +0000 (23:11 +0000)]
Limit build load

* admin/nt/dist-build/build-zips.sh: Limit build load.

6 years agoEnsure configure is running if necessary
Phillip Lord [Fri, 23 Mar 2018 22:01:08 +0000 (22:01 +0000)]
Ensure configure is running if necessary

* admin/nt/dist-build/build-zips.sh: Check for missing Makefile.

6 years ago* lisp/progmodes/cc-langs.el: Silence compiler.
Glenn Morris [Fri, 23 Mar 2018 21:09:51 +0000 (17:09 -0400)]
* lisp/progmodes/cc-langs.el: Silence compiler.

6 years agoQuieten lisp/obsolete compilation
Glenn Morris [Fri, 23 Mar 2018 21:05:01 +0000 (17:05 -0400)]
Quieten lisp/obsolete compilation

* lisp/obsolete/vi.el (vi-mark-region):
* lisp/obsolete/vip.el (vip-delete-backward-char): Silence compiler.

6 years agoClarify syntax of radixed integers
Paul Eggert [Fri, 23 Mar 2018 20:49:58 +0000 (13:49 -0700)]
Clarify syntax of radixed integers

* doc/lispref/numbers.texi (Integer Basics): Specify what digits
are allowed in radixed integers, and that there is no initial sign
or final period.

6 years agoRemove some declare-function stub definitions
Glenn Morris [Fri, 23 Mar 2018 20:28:24 +0000 (16:28 -0400)]
Remove some declare-function stub definitions

* lisp/emulation/viper-cmd.el, lisp/emulation/viper-keym.el:
* lisp/emulation/viper-util.el, lisp/net/newst-plainview.el:
* lisp/net/newst-treeview.el, lisp/ps-def.el, lisp/vc/ediff.el:
* lisp/vc/ediff-util.el, lisp/vc/ediff-wind.el:
Remove stub declare-function definitions.
It exists since Emacs 22.2, released 10 years ago.
Most of these files are using even newer features, such as
lexical-binding and cl-lib anyway, making the stubs pointless.

6 years agoReplace some uses of cl with cl-lib
Glenn Morris [Fri, 23 Mar 2018 20:14:26 +0000 (16:14 -0400)]
Replace some uses of cl with cl-lib

* lisp/progmodes/idlw-toolbar.el: No need for cl.
* lisp/progmodes/antlr-mode.el, lisp/progmodes/idlw-shell.el:
* lisp/progmodes/idlwave.el: Replace cl with cl-lib.

6 years agoReplace cl in some obsolete files
Glenn Morris [Fri, 23 Mar 2018 20:13:55 +0000 (16:13 -0400)]
Replace cl in some obsolete files

* lisp/obsolete/assoc.el, lisp/obsolete/fast-lock.el:
* lisp/obsolete/mouse-sel.el: No need for cl.
* lisp/obsolete/lazy-lock.el, lisp/obsolete/pgg-gpg.el:
* lisp/obsolete/pgg-parse.el, lisp/obsolete/pgg-pgp.el:
* lisp/obsolete/pgg-pgp5.el, lisp/obsolete/pgg.el:
* lisp/obsolete/sregex.el: Replace cl with cl-lib.

6 years agocedet: replace cl with cl-lib
Glenn Morris [Fri, 23 Mar 2018 20:13:40 +0000 (16:13 -0400)]
cedet: replace cl with cl-lib

* lisp/cedet/ede/linux.el, lisp/cedet/semantic/decorate/mode.el:
* lisp/cedet/semantic/wisent/comp.el: Replace cl with cl-lib.
* lisp/cedet/cedet.el, lisp/cedet/mode-local.el:
* lisp/cedet/ede/dired.el, lisp/cedet/ede/pmake.el:
* lisp/cedet/ede/proj-comp.el, lisp/cedet/ede/proj-misc.el:
* lisp/cedet/ede/proj-obj.el, lisp/cedet/ede/proj-prog.el:
* lisp/cedet/ede/speedbar.el, lisp/cedet/semantic/analyze.el:
* lisp/cedet/semantic/complete.el:
* lisp/cedet/semantic/mru-bookmark.el, lisp/cedet/semantic/debug.el:
* lisp/cedet/semantic/wisent/python.el:
* lisp/cedet/srecode/compile.el, lisp/cedet/srecode/dictionary.el:
* lisp/cedet/srecode/srt.el: No need for cl.

6 years agognus: replace cl with cl-lib
Glenn Morris [Fri, 23 Mar 2018 20:13:09 +0000 (16:13 -0400)]
gnus: replace cl with cl-lib

* lisp/gnus/gnus-agent.el, lisp/gnus/gnus-art.el:
* lisp/gnus/gnus-async.el, lisp/gnus/gnus-cache.el:
* lisp/gnus/gnus-demon.el, lisp/gnus/gnus-group.el:
* lisp/gnus/gnus-icalendar.el, lisp/gnus/gnus-logic.el:
* lisp/gnus/gnus-msg.el, lisp/gnus/gnus-picon.el:
* lisp/gnus/gnus-registry.el, lisp/gnus/gnus-salt.el:
* lisp/gnus/gnus-score.el, lisp/gnus/gnus-spec.el:
* lisp/gnus/gnus-srvr.el, lisp/gnus/gnus-start.el:
* lisp/gnus/gnus-sum.el, lisp/gnus/gnus-topic.el:
* lisp/gnus/gnus-util.el, lisp/gnus/gnus-uu.el, lisp/gnus/gnus-win.el:
* lisp/gnus/mail-source.el, lisp/gnus/mm-decode.el:
* lisp/gnus/mm-encode.el, lisp/gnus/mm-url.el, lisp/gnus/mm-view.el:
* lisp/gnus/mml-smime.el, lisp/gnus/mml.el, lisp/gnus/mml2015.el:
* lisp/gnus/nnbabyl.el, lisp/gnus/nndoc.el, lisp/gnus/nneething.el:
* lisp/gnus/nnheader.el, lisp/gnus/nnimap.el, lisp/gnus/nnmail.el:
* lisp/gnus/nnmaildir.el, lisp/gnus/nnoo.el, lisp/gnus/nnrss.el:
* lisp/gnus/nnspool.el, lisp/gnus/nntp.el, lisp/gnus/nnvirtual.el:
* lisp/gnus/nnweb.el, lisp/gnus/spam.el: Replace cl with cl-lib.
* lisp/gnus/canlock.el, lisp/gnus/gnus-bcklg.el:
* lisp/gnus/gnus-cite.el, lisp/gnus/gnus-cloud.el:
* lisp/gnus/gnus-draft.el, lisp/gnus/gnus-dup.el:
* lisp/gnus/gnus-fun.el, lisp/gnus/gnus-html.el:
* lisp/gnus/gnus-int.el, lisp/gnus/gnus-kill.el, lisp/gnus/gnus-ml.el:
* lisp/gnus/gnus-mlspl.el, lisp/gnus/gnus-range.el:
* lisp/gnus/gnus-undo.el, lisp/gnus/gnus-vm.el:
* lisp/gnus/mm-partial.el, lisp/gnus/mm-uu.el, lisp/gnus/mml1991.el:
* lisp/gnus/nnagent.el, lisp/gnus/nndiary.el, lisp/gnus/nndir.el:
* lisp/gnus/nndraft.el, lisp/gnus/nnfolder.el, lisp/gnus/nngateway.el:
* lisp/gnus/nnmairix.el, lisp/gnus/nnmbox.el, lisp/gnus/nnmh.el:
* lisp/gnus/nnml.el, lisp/gnus/score-mode.el, lisp/gnus/smiley.el:
No need for cl.

6 years ago* lisp/gnus/gnus-vm.el (vm-mode, vm-save-message):
Glenn Morris [Fri, 23 Mar 2018 20:12:13 +0000 (16:12 -0400)]
* lisp/gnus/gnus-vm.el (vm-mode, vm-save-message):
Declare rather than autoload.

6 years ago* src/process.c (Fsignal_process): Simplify.
Paul Eggert [Fri, 23 Mar 2018 20:14:06 +0000 (13:14 -0700)]
* src/process.c (Fsignal_process): Simplify.

6 years agoFix too-large integer in Hg backend
Paul Eggert [Fri, 23 Mar 2018 20:10:14 +0000 (13:10 -0700)]
Fix too-large integer in Hg backend

* lisp/vc/vc-hg.el (vc-hg-state-fast):
Don’t assume that 2**32 - 1 is representable as a fixnum.

6 years agoAvoid Fortran-style floating-point optimization
Paul Eggert [Fri, 23 Mar 2018 19:57:39 +0000 (12:57 -0700)]
Avoid Fortran-style floating-point optimization

When optimizing arithmetic operations, avoid optimizations that
are valid for mathematical numbers but invalid for floating-point.
For example, do not optimize (+ 1 v 0.5) to (+ v 1.5), as they may
not be the same due to rounding errors.  In general,
floating-point numbers cannot be constant-folded, since that would
make .elc files platform-dependent.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-associative-math):
Do not optimize floats.
(byte-optimize-nonassociative-math, byte-optimize-approx-equal)
(byte-optimize-delay-constants-math, byte-compile-butlast)
(byte-optimize-logmumble):
Remove; no longer used.
(byte-optimize-minus): Do not optimize (- 0 x) to (- x).
(byte-optimize-multiply): Do not optimize (* -1 x) to (- x).
(byte-optimize-divide): Do not optimize (/ x -1) to (- x).
(logand, logior, logxor): Optimize with byte-optimize-predicate
instead of with byte-optimize-logmumble.
* test/lisp/emacs-lisp/bytecomp-tests.el:
(byte-opt-testsuite-arith-data): Add a couple of test cases.

6 years agoInstrument tramp-test39-utf8
Michael Albinus [Fri, 23 Mar 2018 16:39:29 +0000 (17:39 +0100)]
Instrument tramp-test39-utf8

* test/lisp/net/tramp-tests.el (tramp--test-expensive-test):
Add the test name to the template.
(tramp-test39-utf8): Instrument test.

6 years agosql.el defcustom fixes
Glenn Morris [Thu, 22 Mar 2018 18:31:33 +0000 (14:31 -0400)]
sql.el defcustom fixes

* lisp/progmodes/sql.el (sql-login-params): Update.
Avoids type mismatch with postgres and sqlite login params.
(sql-postgres-login-params): Bump version.

6 years agoFix bug#30846, along with misc cleanups found along the way
Stefan Monnier [Fri, 23 Mar 2018 15:29:06 +0000 (11:29 -0400)]
Fix bug#30846, along with misc cleanups found along the way

* test/src/data-tests.el (data-tests-kill-all-local-variables): New test.

* src/buffer.c (swap_out_buffer_local_variables): Remove.
Fuse the body of its loop into that of reset_buffer_local_variables.
(Fkill_buffer, Fkill_all_local_variables): Don't call it any more.
(reset_buffer_local_variables): Make sure the buffer's local binding
is swapped out before removing it from the alist (bug#30846).
Call watchers before actually killing the var.

* src/data.c (Fmake_local_variable): Simplify.
Use swap_in_global_binding to swap out any local binding, instead of
a mix of find_symbol_value followed by messing with where&found.
Don't call swap_in_symval_forwarding since the currently swapped
binding is never one we've modified.
(Fkill_local_variable): Use swap_in_global_binding rather than messing
with where&found to try and trick find_symbol_value into doing the same.

* src/alloc.c (mark_localized_symbol): 'where' can't be a frame any more.

6 years ago* src/alloc.c: Avoid O(N²) complexity when unchaining markers (bug#24548).
Stefan Monnier [Fri, 23 Mar 2018 15:09:54 +0000 (11:09 -0400)]
* src/alloc.c: Avoid O(N²) complexity when unchaining markers (bug#24548).

Unchain all dead markers with a single scan of the markers list,
instead of calling the O(N) 'unchain_marker' N times.

(unchain_dead_markers): New function.
(sweep_buffers): Use it.
(gc_sweep): Sweep buffers before markers.
(sweep_misc): Check that markers have been unchained when reclaiming them.

6 years agoMerge from origin/emacs-26
Stefan Monnier [Fri, 23 Mar 2018 15:01:31 +0000 (11:01 -0400)]
Merge from origin/emacs-26

b8ebf5fb64 * src/lisp.h (struct Lisp_Buffer_Local_Value): Update comm...
8c92a37cb4 * doc/emacs/trouble.texi: Fix location of `emacs-version' ...
10b1f2fdd5 Explain more about (defvar foo) form (Bug#18059)
68c2f336b1 * doc/lispref/buffers.texi (Buffer List): Fix grammar.
7e720c6851 * doc/lispref/anti.texi (Antinews): Fix grammar.
a6a821d29b * lisp/org/ob-lisp.el (org-babel-lisp-eval-fn): Tweak type.

6 years ago; Merge from origin/emacs-26
Stefan Monnier [Fri, 23 Mar 2018 15:01:31 +0000 (11:01 -0400)]
; Merge from origin/emacs-26

The following commit was skipped:

7c993c34b0 sql.el defcustom fixes

6 years ago* src/lisp.h (struct Lisp_Buffer_Local_Value): Update commentary.
Noam Postavsky [Fri, 23 Mar 2018 08:51:53 +0000 (04:51 -0400)]
* src/lisp.h (struct Lisp_Buffer_Local_Value): Update commentary.

6 years ago* doc/emacs/trouble.texi: Fix location of `emacs-version' index.
Noam Postavsky [Thu, 15 Mar 2018 11:42:40 +0000 (07:42 -0400)]
* doc/emacs/trouble.texi: Fix location of `emacs-version' index.

6 years agoExplain more about (defvar foo) form (Bug#18059)
Noam Postavsky [Sat, 10 Feb 2018 19:06:05 +0000 (14:06 -0500)]
Explain more about (defvar foo) form (Bug#18059)

* doc/lispref/variables.texi (Defining Variables)
(Using Lexical Binding):
* doc/lispref/compile.texi (Compiler Errors): Emphasize that omitting
VALUE for `defvar' marks the variable special only locally.
* doc/lispref/variables.texi (Using Lexical Binding): Add example of
using `defvar' without VALUE.

6 years agoMake update_autogen work in git worktrees
Robert Pluim [Thu, 22 Mar 2018 08:06:44 +0000 (09:06 +0100)]
Make update_autogen work in git worktrees

* admin/update_autogen: Make it work in a git worktree

6 years agoQuieten cl-lib related compiler warnings
Glenn Morris [Fri, 23 Mar 2018 04:40:24 +0000 (21:40 -0700)]
Quieten cl-lib related compiler warnings

* lisp/completion.el (cl-set-difference):
* lisp/files.el (map-merge-with, map-merge):
* lisp/emacs-lisp/radix-tree.el (map-apply): Declare.
* lisp/emacs-lisp/thunk.el: Load cl-lib at run-time, not
cl-macs at compile.
* lisp/gnus/gnus-group.el: Load cl-lib at run-time, not cl at compile.
* lisp/emacs-lisp/checkdoc.el, lisp/emacs-lisp/package.el
* lisp/gnus/gnus-sum.el, lisp/gnus/message.el, lisp/net/shr.el:
Load cl-lib at run-time.
* lisp/gnus/mml-sec.el (mml-signencrypt-style)
(mml-secure-cust-record-keys): Replace cl with cl-lib,
and load it at run-time.
* lisp/cedet/ede/linux.el, lisp/vc/vc-hg.el: Reorder requires.

6 years agoTry and fix the more obvious sources of bug#30635
Stefan Monnier [Thu, 22 Mar 2018 22:18:26 +0000 (18:18 -0400)]
Try and fix the more obvious sources of bug#30635

* lisp/files.el (dir-locals-read-from-dir): Handle the easy cases
without loading `map`.

* lisp/emacs-lisp/bytecomp.el: Don't require cl-lib at run-time.
(byte-compile-and-folded): Avoid cl-every.

6 years ago* doc/lispref/buffers.texi (Buffer List): Fix grammar.
Charles A. Roelli [Thu, 22 Mar 2018 19:43:42 +0000 (20:43 +0100)]
* doc/lispref/buffers.texi (Buffer List): Fix grammar.

6 years ago* doc/lispref/anti.texi (Antinews): Fix grammar.
Charles A. Roelli [Thu, 22 Mar 2018 19:40:02 +0000 (20:40 +0100)]
* doc/lispref/anti.texi (Antinews): Fix grammar.

6 years agoAdd new command vc-git-stash-delete
Charles A. Roelli [Thu, 22 Mar 2018 19:33:45 +0000 (20:33 +0100)]
Add new command vc-git-stash-delete

* lisp/vc/vc-git.el (vc-git-stash-delete): New command, in line with
vc-git-stash-delete-at-point.
(vc-git-extra-menu-map): Add menu entry.

6 years ago* lisp/org/ob-lisp.el (org-babel-lisp-eval-fn): Tweak type.
Glenn Morris [Thu, 22 Mar 2018 18:37:45 +0000 (14:37 -0400)]
* lisp/org/ob-lisp.el (org-babel-lisp-eval-fn): Tweak type.

Avoids type mismatch when relevant library is not present/loaded.

6 years agosql.el defcustom fixes
Glenn Morris [Thu, 22 Mar 2018 18:31:33 +0000 (14:31 -0400)]
sql.el defcustom fixes

* lisp/progmodes/sql.el (sql-login-params): Update.
Avoids type mismatch with postgres and sqlite login params.
(sql-postgres-login-params): Bump version.

6 years agoFix byte-opt lists of pure functions etc.
Paul Eggert [Thu, 22 Mar 2018 18:25:42 +0000 (11:25 -0700)]
Fix byte-opt lists of pure functions etc.

This fixes a bug where a byte-compiler running on 64-bit Emacs
optimized (lsh -1 -1) to #x1fffffffffffffff, an optimization
that is incorrect for .elc files intended for either 32- or
64-bit Emacs.  While I was in the neighborhood, I noticed other
glitches in the lists of pure and side-effect-free functions, and
fixed the errors that I found.
* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
Move some functions here from side-effect-and-error-free-fns,
since they can now signal errors.  The affected functions are
current-time-string, current-time-zone,
line-beginning-position, line-end-position.  Rename langinfo
to locale-info.  Add logcount.  Remove string-to-int.
(side-effect-and-error-free-fns): Remove minibuffer-window, a
function that can signal errors, and that is already in
side-effect-free-fns.
(pure-fns): Remove ash, lsh, and logb, since they are
platform-dependent and .elc files should be
platform-independent.  Add %, logand, logcount.  Sort.
Clarify what is meant by “pure”.

6 years agoPort emacs-module-tests to 32-bit Emacs
Paul Eggert [Thu, 22 Mar 2018 16:32:50 +0000 (09:32 -0700)]
Port emacs-module-tests to 32-bit Emacs

Fix a portability bug when emacs-module-tests.el is byte-compiled
with a 32-bit Emacs (where #x20000000 evaluates to a
floating-point number) and then is run on a 64-bit Emacs (where
the floating-point number causes a test failure).
* test/src/emacs-module-tests.el (mod-test-sum-test):
Don’t assume #x20000000 can be represented as an Emacs integer.

6 years ago; Fix last commit in tramp.el
Michael Albinus [Thu, 22 Mar 2018 15:52:58 +0000 (16:52 +0100)]
; Fix last commit in tramp.el

6 years agoMerge from origin/emacs-26
Glenn Morris [Thu, 22 Mar 2018 14:50:37 +0000 (07:50 -0700)]
Merge from origin/emacs-26

8ac621b (origin/emacs-26) Document DEFUN attributes
16d0cc7 * etc/NEWS: Add an entry for auth-source-pass.
cc1702f Fix the MSDOS build
daa9e85 Improve warning and error messages
7612dd1 Adjust eieio persistence tests for expected failure
f0cf4dc Let eieio-persistent-read read what object-write has written
40ad1ff Handle possible classtype values in eieio-persistent-read
4ec935d Add new tests for eieio persistence
47917d8 * lisp/gnus/gnus-cloud.el (gnus-cloud-synced-files): Fix doc ...
e32f352 * lisp/ibuf-ext.el (ibuffer-never-search-content-mode): Fix t...
5268f30 * doc/lispref/windows.texi (Selecting Windows): Fix a typo.
143b485 * doc/lispref/internals.texi (Writing Emacs Primitives): Fix ...
4ab4551 Firm up documentation of generalized variables
a5bf099 Improve documentation of Auto-Revert mode
ed05eaa Improvements in dired.texi

Conflicts:
etc/NEWS

6 years ago; Merge from origin/emacs-26
Glenn Morris [Thu, 22 Mar 2018 14:50:37 +0000 (07:50 -0700)]
; Merge from origin/emacs-26

The following commits were skipped:

f8cad16 Revert "Support all perl variable declarators and prefixes"
d09c488 Port to 32-bit sparc64

6 years agoDocument DEFUN attributes
Eli Zaretskii [Thu, 22 Mar 2018 12:57:43 +0000 (14:57 +0200)]
Document DEFUN attributes

* doc/lispref/internals.texi (Writing Emacs Primitives): Document
specification of function attributes in DEFUN.

6 years ago* etc/NEWS: Add an entry for auth-source-pass.
Nicolas Petton [Thu, 22 Mar 2018 10:55:15 +0000 (11:55 +0100)]
* etc/NEWS: Add an entry for auth-source-pass.

6 years agoFix the MSDOS build
Eli Zaretskii [Thu, 22 Mar 2018 09:15:23 +0000 (11:15 +0200)]
Fix the MSDOS build

* msdos/sed2v2.inp (HAVE_SBRK): Define to 1.

6 years agoFix commit c24c5dc4a4
Michael Albinus [Thu, 22 Mar 2018 08:58:56 +0000 (09:58 +0100)]
Fix commit c24c5dc4a4

* lisp/net/tramp.el (tramp-handle-substitute-in-file-name): Drop volume
letter of localname substitution.  Reported by Chris Zheng
<chriszheng99@gmail.com>.

6 years agoTag tramp-test39-utf8* as :unstable
Michael Albinus [Thu, 22 Mar 2018 08:43:44 +0000 (09:43 +0100)]
Tag tramp-test39-utf8* as :unstable

* test/lisp/net/tramp-tests.el (tramp-test39-utf8)
(tramp-test39-utf8-with-stat, tramp-test39-utf8-with-perl)
(tramp-test39-utf8-with-ls): Tag the tests as :unstable.

6 years agoFix Bug#30904
Michael Albinus [Thu, 22 Mar 2018 08:37:48 +0000 (09:37 +0100)]
Fix Bug#30904

* lisp/net/tramp.el (tramp-dissect-file-name): Adapt docstring.  (Bug#30904)

6 years agoImprove warning and error messages
Eric Abrahamsen [Sat, 10 Mar 2018 08:26:38 +0000 (16:26 +0800)]
Improve warning and error messages

* lisp/emacs-lisp/eieio-base.el (eieio-persistent-read,
  (eieio-persistent-validate/fix-slot-value): Indicate exactly what
  went wrong.

6 years agoAdjust eieio persistence tests for expected failure
Eric Abrahamsen [Sat, 30 Dec 2017 18:12:22 +0000 (10:12 -0800)]
Adjust eieio persistence tests for expected failure

* test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
 (eieio-test-persist-hash-and-vector,
  eieio-test-persist-interior-lists): Persistence does not currently
 handle deeply-nested objects. Expect current failures, and mark for
 future fixes.

6 years agoLet eieio-persistent-read read what object-write has written
Eric Abrahamsen [Fri, 29 Dec 2017 02:14:47 +0000 (18:14 -0800)]
Let eieio-persistent-read read what object-write has written

* lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
  `object-write' may quote lists inside hash tables and vectors, so
  unquote those lists here.

This patch allows the eieio-persistent write/restore process to
perform a clean round trip. It only handles a very specific and
limited range of object structures, but at least the write and read
procedures match.

6 years agoHandle possible classtype values in eieio-persistent-read
Eric Abrahamsen [Tue, 19 Dec 2017 22:56:13 +0000 (14:56 -0800)]
Handle possible classtype values in eieio-persistent-read

* lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
  The function `eieio-persistent-slot-type-is-class-p' could return
  either a single class, or a list of classes.

6 years agoAdd new tests for eieio persistence
Pierre Téchoueyres [Fri, 15 Dec 2017 20:42:21 +0000 (21:42 +0100)]
Add new tests for eieio persistence

* test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el:
  (hash-equal): New comparison test for hash-tables.
  (persist-test-save-and-compare): Use test for hash-tables.
  (eieio-test-persist-hash-and-vector,
  eieio-test-persist-interior-lists): New tests.

6 years ago* lisp/gnus/gnus-cloud.el (gnus-cloud-synced-files): Fix doc & type.
Glenn Morris [Thu, 22 Mar 2018 00:47:28 +0000 (20:47 -0400)]
* lisp/gnus/gnus-cloud.el (gnus-cloud-synced-files): Fix doc & type.

6 years ago* lisp/ibuf-ext.el (ibuffer-never-search-content-mode): Fix type.
Glenn Morris [Wed, 21 Mar 2018 23:38:44 +0000 (19:38 -0400)]
* lisp/ibuf-ext.el (ibuffer-never-search-content-mode): Fix type.

6 years agoPort data-tests-popcnt to 32-bit Emacs
Paul Eggert [Wed, 21 Mar 2018 23:08:27 +0000 (16:08 -0700)]
Port data-tests-popcnt to 32-bit Emacs

* test/src/data-tests.el (data-tests-popcnt):
Don’t assume Emacs integers can represent 32-bit quantities.
Change to a simple and straightforward approach, since runtime
performance is not important here.

6 years ago* lisp/play/fortune.el (fortune-in-buffer): Revert previous nonsense.
Glenn Morris [Wed, 21 Mar 2018 21:10:41 +0000 (17:10 -0400)]
* lisp/play/fortune.el (fortune-in-buffer): Revert previous nonsense.

6 years ago* doc/lispref/windows.texi (Selecting Windows): Fix a typo.
Glenn Morris [Wed, 21 Mar 2018 20:58:11 +0000 (16:58 -0400)]
* doc/lispref/windows.texi (Selecting Windows): Fix a typo.

6 years agoProvide completion in vc-git-stash-* commands
Charles A. Roelli [Wed, 21 Mar 2018 20:16:18 +0000 (21:16 +0100)]
Provide completion in vc-git-stash-* commands

* lisp/vc/vc-git.el (vc-git-stash-read-history)
(vc-git-stash-read): New history variable and function.
(vc-git-stash-show, vc-git-stash-apply, vc-git-stash-pop): Update
their interactive specifications.

6 years ago* doc/lispref/internals.texi (Writing Emacs Primitives): Fix grammar.
Charles A. Roelli [Wed, 21 Mar 2018 19:52:35 +0000 (20:52 +0100)]
* doc/lispref/internals.texi (Writing Emacs Primitives): Fix grammar.

6 years agoAdd tests for Bug#30408
Paul Eggert [Wed, 21 Mar 2018 19:10:11 +0000 (12:10 -0700)]
Add tests for Bug#30408

* test/src/editfns-tests.el (format-%d-large-float)
(format-%x-large-float, format-%o-invalid-float): New tests.

6 years agoQuieten eieio-test compilation
Glenn Morris [Wed, 21 Mar 2018 18:13:53 +0000 (14:13 -0400)]
Quieten eieio-test compilation

* test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:
* test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el:
* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el:
Remove obsolete name args where not being explicitly tested.

6 years ago; * autogen.sh: Comment.
Glenn Morris [Wed, 21 Mar 2018 18:12:42 +0000 (14:12 -0400)]
; * autogen.sh: Comment.

6 years ago* lisp/play/fortune.el (fortune-in-buffer): Unadvertise no-op arg.
Glenn Morris [Wed, 21 Mar 2018 18:12:17 +0000 (14:12 -0400)]
* lisp/play/fortune.el (fortune-in-buffer): Unadvertise no-op arg.

6 years ago* lisp/play/fortune.el (fortune-message):
Glenn Morris [Wed, 21 Mar 2018 18:10:05 +0000 (14:10 -0400)]
* lisp/play/fortune.el (fortune-message):
Avoid trailing newline.  (Bug#30887)

6 years agoFirm up documentation of generalized variables
Alan Mackenzie [Wed, 21 Mar 2018 17:36:34 +0000 (17:36 +0000)]
Firm up documentation of generalized variables

* doc/lispref/variables.texi (Generalized Variables)
(Setting Generalized Variables): Define a generalized variable as something
setf can write to.  Remove the insinuation that hackers have poor memories.
State explicitly that the list of GVs given is complete.  Remove the
suggestion that `setf' has superseded, or is in the process of superseding,
`setq'.  Make minor corrections to the English.

6 years agoImprove documentation of Auto-Revert mode
Eli Zaretskii [Wed, 21 Mar 2018 16:57:41 +0000 (18:57 +0200)]
Improve documentation of Auto-Revert mode

* doc/emacs/files.texi (Reverting): Mention that Aut-Revert
applies to Dired buffers as well.  Suggested by Michael Albinus
<michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.

6 years agoImprovements in dired.texi
Eli Zaretskii [Wed, 21 Mar 2018 16:49:29 +0000 (18:49 +0200)]
Improvements in dired.texi

* doc/emacs/dired.texi (Dired): Mention that Dired works with
remote directories.
(Dired Enter): ls-lisp is used on some remote systems as well.
(Dired Navigation): Mention and index the command names.
(Dired Deletion): Document the 'always' value of
dired-recursive-deletes.  Mention the alternative deletion method.
(Marks vs Flags): Fix spelling of Auto-Revert mode.  Document what
marking does on a subdirectory header line.
(Operating on Files): Document that 'Z' uses gzip or compress.
(Comparison in Dired): Mention ediff-files.
(Misc Dired Features): Fix a typo.  Suggested by Michael Albinus
<michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.

6 years agoRevert "Support all perl variable declarators and prefixes"
Noam Postavsky [Tue, 20 Mar 2018 23:18:33 +0000 (19:18 -0400)]
Revert "Support all perl variable declarators and prefixes"

It highlights normal variable names in perl programs (Bug#30812).
* lisp/progmodes/perl-mode.el (perl-imenu-generic-expression)
(perl-font-lock-keywords-2): Restore values prior to Bug#27613 fix.

Don't merge to master, we will fix Bug#27613 properly there (it's too
close to release to do that on emacs-26).

6 years agoPort to 32-bit sparc64
Paul Eggert [Tue, 20 Mar 2018 16:54:20 +0000 (09:54 -0700)]
Port to 32-bit sparc64

Backport from master.
Problem reported by Ulrich Mueller; fix suggested by Eli Zaretskii
and Andreas Schwab (Bug#30855).
* src/alloc.c (mark_memory): Call mark_maybe_object only on
pointers that are properly aligned for Lisp_Object.

6 years ago* lisp/isearch.el (isearch-pre-command-hook): Replace cl-lib function.
Glenn Morris [Tue, 20 Mar 2018 21:15:39 +0000 (17:15 -0400)]
* lisp/isearch.el (isearch-pre-command-hook): Replace cl-lib function.

As a preloaded file, isearch.el cannot require cl-lib at runtime.