Commit graph

132609 commits

Author SHA1 Message Date
Glenn Morris
80ab3192b0 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.
2018-12-11 14:18:30 +08:00
Glenn Morris
7bb98228fc 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.
2018-12-11 14:18:30 +08:00
Phillip Lord
e70347ac8a Limit build load
* admin/nt/dist-build/build-zips.sh: Limit build load.
2018-12-11 14:18:30 +08:00
Phillip Lord
491c4c36cb Ensure configure is running if necessary
* admin/nt/dist-build/build-zips.sh: Check for missing Makefile.
2018-12-11 14:18:30 +08:00
Glenn Morris
c5595a1bf7 * lisp/progmodes/cc-langs.el: Silence compiler. 2018-12-11 14:18:30 +08:00
Glenn Morris
5a4b225366 Quieten lisp/obsolete compilation
* lisp/obsolete/vi.el (vi-mark-region):
* lisp/obsolete/vip.el (vip-delete-backward-char): Silence compiler.
2018-12-11 14:18:30 +08:00
Paul Eggert
f06346b0d7 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.
2018-12-11 14:18:30 +08:00
Glenn Morris
bc2d36aa14 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.
2018-12-11 14:18:30 +08:00
Glenn Morris
2e4c1b997b 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.
2018-12-11 14:18:30 +08:00
Glenn Morris
d46646d95c 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.
2018-12-11 14:18:30 +08:00
Glenn Morris
8ee4b77fbc 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.
2018-12-11 14:18:30 +08:00
Paul Eggert
6eddea6eb9 * src/process.c (Fsignal_process): Simplify. 2018-12-11 14:17:58 +08:00
Paul Eggert
4a805954e9 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.
2018-12-11 14:17:58 +08:00
Paul Eggert
17a41a948d 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.
2018-12-11 14:17:58 +08:00
Michael Albinus
bdea39bd45 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.
2018-12-11 14:17:58 +08:00
Stefan Monnier
709e1da373 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.
2018-12-11 14:17:58 +08:00
Stefan Monnier
7985c87867 * 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.
2018-12-11 14:17:58 +08:00
Noam Postavsky
992a8ecc09 * src/lisp.h (struct Lisp_Buffer_Local_Value): Update commentary. 2018-12-11 14:17:58 +08:00
Noam Postavsky
fe87972494 * doc/emacs/trouble.texi: Fix location of `emacs-version' index. 2018-12-11 14:17:57 +08:00
Noam Postavsky
1a1bb0c337 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.
2018-12-11 14:17:57 +08:00
Robert Pluim
21aa7529bd Make update_autogen work in git worktrees
* admin/update_autogen: Make it work in a git worktree
2018-12-11 14:17:57 +08:00
Glenn Morris
6d35e8a86a 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.
2018-12-11 14:17:57 +08:00
Stefan Monnier
3ff0a07b6e 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.
2018-12-11 14:17:57 +08:00
Charles A. Roelli
73ee8d292e * doc/lispref/buffers.texi (Buffer List): Fix grammar. 2018-12-11 14:17:57 +08:00
Charles A. Roelli
219d6cf3f2 * doc/lispref/anti.texi (Antinews): Fix grammar. 2018-12-11 14:17:57 +08:00
Charles A. Roelli
9fabadf800 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.
2018-12-11 14:17:57 +08:00
Glenn Morris
b36a2f9cb4 * lisp/org/ob-lisp.el (org-babel-lisp-eval-fn): Tweak type.
Avoids type mismatch when relevant library is not present/loaded.
2018-12-11 14:17:57 +08:00
Glenn Morris
4fdc730c99 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.
2018-12-11 14:17:57 +08:00
Paul Eggert
0d04cb6006 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”.
2018-12-11 14:17:57 +08:00
Paul Eggert
7f60bfed2d 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.
2018-12-11 14:17:57 +08:00
Michael Albinus
0bf81e2387 ; Fix last commit in tramp.el 2018-12-11 14:17:57 +08:00
Eli Zaretskii
c1d88db13c Document DEFUN attributes
* doc/lispref/internals.texi (Writing Emacs Primitives): Document
specification of function attributes in DEFUN.
2018-12-11 14:17:57 +08:00
Nicolas Petton
d5a07beb15 * etc/NEWS: Add an entry for auth-source-pass. 2018-12-11 14:17:57 +08:00
Eli Zaretskii
6dbf88e276 Fix the MSDOS build
* msdos/sed2v2.inp (HAVE_SBRK): Define to 1.
2018-12-11 14:17:57 +08:00
Michael Albinus
267b82797b 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>.
2018-12-11 14:17:57 +08:00
Michael Albinus
b6d216c768 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.
2018-12-11 14:17:57 +08:00
Michael Albinus
aa16566f85 Fix Bug#30904
* lisp/net/tramp.el (tramp-dissect-file-name): Adapt docstring.  (Bug#30904)
2018-12-11 14:17:57 +08:00
Eric Abrahamsen
5f36db72fe 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.
2018-12-11 14:17:57 +08:00
Eric Abrahamsen
8671f0320e 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.
2018-12-11 14:17:57 +08:00
Eric Abrahamsen
9d4baa3de6 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.
2018-12-11 14:17:57 +08:00
Eric Abrahamsen
b4377a3433 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.
2018-12-11 14:17:57 +08:00
Pierre Téchoueyres
a1b7a1edb0 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.
2018-12-11 14:17:56 +08:00
Glenn Morris
1955afe0fc * lisp/gnus/gnus-cloud.el (gnus-cloud-synced-files): Fix doc & type. 2018-12-11 14:17:56 +08:00
Glenn Morris
5502f96b1a * lisp/ibuf-ext.el (ibuffer-never-search-content-mode): Fix type. 2018-12-11 14:17:56 +08:00
Paul Eggert
e3bcd115d2 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.
2018-12-11 14:17:56 +08:00
Glenn Morris
b74e19e759 * lisp/play/fortune.el (fortune-in-buffer): Revert previous nonsense. 2018-12-11 14:17:56 +08:00
Glenn Morris
d74261fb74 * doc/lispref/windows.texi (Selecting Windows): Fix a typo. 2018-12-11 14:17:56 +08:00
Charles A. Roelli
91bdd5a4f0 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.
2018-12-11 14:17:56 +08:00
Charles A. Roelli
4a6cf41144 * doc/lispref/internals.texi (Writing Emacs Primitives): Fix grammar. 2018-12-11 14:17:56 +08:00
Paul Eggert
246460c157 Add tests for Bug#30408
* test/src/editfns-tests.el (format-%d-large-float)
(format-%x-large-float, format-%o-invalid-float): New tests.
2018-12-11 14:17:56 +08:00