summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
Commit message (Collapse)AuthorAgeFilesLines
* Prefer \... to control chars in .el literalsPaul Eggert2018-03-293-386/+386
|
* Merge from origin/emacs-26Glenn Morris2018-03-283-23/+29
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9bff405 (origin/emacs-26) * doc/misc/org.texi (Installation): Fix clo... 613c9a5 Update Org to v9.1.9 1b075a9 ; Fix some tiny doc typos 441fe20 De-obsolete `if-let' and `when-let' 8696038 * lisp/htmlfontify.el (hfy-begin-span-handler): Doc fix. 930f7b1 * doc/lispref/functions.texi (Defining Functions): Improve in... 95ccf50 Fix crash after frame is freed on macOS (bug#30800) 45d0475 More manual editing 2acb9f0 Minor manual changes changes d481cba * lisp/calculator.el (calculator-paste-decimals): Add version. 7d6c7d0 ; Use GNU not Gnu in docs 1bc4def More proofreading of the Emacs manual Conflicts: doc/misc/org.texi etc/NEWS lisp/org/org-clock.el
| * ; Fix some tiny doc typosGlenn Morris2018-03-271-1/+1
| |
| * De-obsolete `if-let' and `when-let'Michael Heerdegen2018-03-271-20/+26
| | | | | | | | | | | | | | | | | | | | For the following release it is planned to make `if-let*' and `when-let*' aliases for `if-let' and `when-let'. For now we revert declaring `if-let' and `when-let' obsolete and tweak the docstrings. * lisp/emacs-lisp/subr-x.el (if-let*, when-let*): Make docstrings refer to those of `if-let' and `when-let'. (if-let, when-let): De-obsolete. Rewrite documentation.
| * * lisp/htmlfontify.el (hfy-begin-span-handler): Doc fix.Glenn Morris2018-03-261-2/+2
| |
* | (benchmark-run-compiled): Make it work like 'benchmark-run' againStefan Monnier2018-03-271-3/+3
| | | | | | | | | | * lisp/emacs-lisp/benchmark.el (benchmark-run): Add special case for nil repetitions.
* | * lisp/emacs-lisp/benchmark.el (benchmark-run): Allow variable.Stefan Monnier2018-03-261-3/+3
| | | | | | | | (benchmark-run): Allow `repetitions` to be a variable rather than a constant.
* | Fix constant folding of overflowsPaul Eggert2018-03-261-51/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Trivial fixes for last changes to package.el and marker.cStefan Monnier2018-03-261-4/+6
| | | | | | | | | | * lisp/emacs-lisp/package.el (package-quickstart): Add missing version. * src/marker.c (verify_bytepos): Fix typo.
* | * lisp/emacs-lisp/package.el: New quickstart featureStefan Monnier2018-03-261-14/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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.
* | Allow `&rest' or `&optional' without following variable (Bug#29165)Noam Postavsky2018-03-251-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Fix byte-optimize-memq incorrectly optimizing some memq forms.Vibhav Pant2018-03-251-4/+5
| | | | | | | | | | | | * 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.
* | Optimize certain memq forms during byte-compilation.Vibhav Pant2018-03-251-2/+16
| | | | | | | | | | * lisp/emacs-lisp/byte-opt.el (byte-optimize-memq): New function. Set the byte optimizer function for memq to byte-optimize-memq.
* | Avoid Fortran-style floating-point optimizationPaul Eggert2018-03-231-148/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Quieten cl-lib related compiler warningsGlenn Morris2018-03-224-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | Try and fix the more obvious sources of bug#30635Stefan Monnier2018-03-221-12/+6
| | | | | | | | | | | | | | | | * 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.
* | Fix byte-opt lists of pure functions etc.Paul Eggert2018-03-221-14/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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”.
* | Merge from origin/emacs-26Glenn Morris2018-03-221-17/+30
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Improve warning and error messagesEric Abrahamsen2018-03-221-8/+12
| | | | | | | | | | | | * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read, (eieio-persistent-validate/fix-slot-value): Indicate exactly what went wrong.
| * Let eieio-persistent-read read what object-write has writtenEric Abrahamsen2018-03-221-8/+17
| | | | | | | | | | | | | | | | | | | | | | * 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.
| * Handle possible classtype values in eieio-persistent-readEric Abrahamsen2018-03-221-1/+1
| | | | | | | | | | | | * 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.
* | Print top time consuming tests if advisedMichael Albinus2018-03-191-4/+21
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit): New argument HIGH. Print top-running tests. * test/Makefile.in (check-doit): Use ${SUMMARIZE_TESTS}. * test/README: Explain SUMMARIZE_TESTS.
* | Various follow-ups for early init file changesRadon Rosborough2018-03-191-12/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/emacs/custom.texi (Early Init File): Add more details about which variables must be set in the early init file rather than the regular init file. See https://lists.nongnu.org/archive/html/bug-gnu-emacs/2018-02/msg00827.html * lisp/emacs-lisp/package.el (package-enable-at-startup): Update docstring to note that packages are now made available before loading the init file, rather than afterwards. See https://lists.gnu.org/archive/html/emacs-devel/2018-02/msg00632.html (package-load-list): Refer to "making available" rather than "loading" for packages. See https://lists.gnu.org/archive/html/emacs-devel/2018-02/msg00298.html * lisp/startup.el (command-line): Call `custom-reevaluate-setting' on predefined variables before loading the early init file and before `package-initialize' is called. This prevents `Info-default-directory-list' from being unbound when `package-initialize' tries to access it during startup. See https://lists.gnu.org/archive/html/emacs-devel/2018-02/msg00545.html * lisp/emacs-lisp/package.el (package-initialize): Issue a warning if called twice. See: https://lists.gnu.org/archive/html/emacs-devel/2018-02/msg00626.html https://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00301.html
* | * lisp/emacs-lisp/ert.el (ert-run-tests-batch): Print selector.Michael Albinus2018-03-181-2/+3
| |
* | Print test timings unconditionallyMichael Albinus2018-03-171-18/+8
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/ert.el (ert-batch-print-duration): Remove. (ert-run-tests-batch): Adapt accordingly. * test/Makefile.in: * test/README: Remove TEST_PRINT_TEST_DURATION.
* | Explicitly require cl-lib where neededGlenn Morris2018-03-163-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than relying on the byte-compiler happening to use it. * lisp/completion.el, lisp/ffap.el, lisp/loadhist.el: * lisp/userlock.el, lisp/emacs-lisp/debug.el, lisp/emacs-lisp/rx.el: * lisp/emacs-lisp/testcover.el, lisp/mail/rfc2231.el: * lisp/net/newst-treeview.el, lisp/net/puny.el: * lisp/net/tramp-archive.el, lisp/net/tramp-gvfs.el: * lisp/net/tramp-sh.el, lisp/net/tramp-smb.el, lisp/org/org-ctags.el: * lisp/org/org-macs.el, lisp/progmodes/grep.el: * lisp/progmodes/perl-mode.el, lisp/progmodes/ruby-mode.el: * lisp/textmodes/dns-mode.el, lisp/textmodes/mhtml-mode.el: * lisp/vc/pcvs-parse.el: Explicitly require cl-lib as needed.
* | Optimize "make check" and "make check-maybe"Michael Albinus2018-03-161-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/ert.el (ert-run-tests-batch): Print summary duration. * test/Makefile.in (TEST_LOAD_EL): Set default to "no" for targets all, check, and check-maybe. (Bug#30807) * test/README: Reflect recent changes in Makefile. * test/lisp/net/tramp-archive-tests.el (tramp-archive-test99-libarchive-tests): Tag it :unstable.
* | More hydra.nixos.org logging for unfinished testsGlenn Morris2018-03-141-1/+8
| | | | | | | | | | * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit): Dump contents of any unfinished log files on hydra.nixos.org.
* | Extend ert to print duration of single testsMichael Albinus2018-03-141-2/+15
| | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/ert.el (ert-test-result): New slot ´duration'. (ert-run-or-rerun-test): Set it. (ert-batch-print-duration): New defvar. (ert-run-tests-batch): Print duration if needed. * test/Makefile.in (TEST_PRINT_TEST_DURATION): New variable. * test/README: Explain TEST_PRINT_TEST_DURATION.
* | Make compiler warn about use of obsolete hooksGlenn Morris2018-03-121-0/+5
| | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-form): Warn about using obsolete hooks.
* | Remove many items obsolete since Emacs 22.1Glenn Morris2018-03-105-33/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Emacs 22.1 was five major releases and over decade ago. In bug reporting statistics, it's been absent for around 5 years. Ref: https://debbugs.gnu.org/stats/emacs.html This list can be reviewed before to the next release, but for now hopefully this motivates any needed external updates. * lisp/arc-mode.el (archive-mouse-extract): * lisp/bookmark.el (bookmark-exit-hooks): * lisp/comint.el (comint-use-prompt-regexp-instead-of-fields): * lisp/cus-edit.el (custom-face-save-command): * lisp/descr-text.el (describe-char-after): * lisp/desktop.el (desktop-enable, desktop-basefilename) (desktop-buffer-modes-to-save, desktop-buffer-misc-functions) (desktop-buffer-handlers, desktop-load-default): * lisp/dired-x.el (dired-omit-files-p): * lisp/frame.el (new-frame, set-default-font, delete-frame-hook) (blink-cursor): * lisp/generic-x.el (generic-define-mswindows-modes) (generic-define-unix-modes): * lisp/help.el (describe-project, view-todo): * lisp/hilit-chg.el (highlight-changes-colours): * lisp/ibuffer.el (ibuffer-elide-long-columns, ibuffer-hooks) (ibuffer-mode-hooks): * lisp/imenu.el (imenu-always-use-completion-buffer-p): * lisp/isearch.el (isearch-lazy-highlight-cleanup) (isearch-lazy-highlight-initial-delay) (isearch-lazy-highlight-interval) (isearch-lazy-highlight-max-at-a-time) (isearch-lazy-highlight-cleanup): * lisp/mwheel.el (mouse-wheel-down-button) (mouse-wheel-up-button, mouse-wheel-click-button): * lisp/novice.el (disabled-command-hook): * lisp/recentf.el (recentf-menu-append-commands-p): * lisp/savehist.el (savehist-load): * lisp/speedbar.el (speedbar-ignored-path-expressions) (speedbar-ignored-path-regexp, speedbar-add-ignored-path-regexp) (speedbar-line-path, speedbar-buffers-line-path, speedbar-path-line): * lisp/subr.el (assoc-ignore-case, assoc-ignore-representation) (x-lost-selection-hooks, x-sent-selection-hooks) (process-kill-without-query): * lisp/calendar/icalendar.el (icalendar-convert-diary-to-ical) (icalendar-extract-ical-from-buffer): * lisp/emacs-lisp/autoload.el (update-autoloads-from-directories): * lisp/emacs-lisp/derived.el (derived-mode-class): * lisp/emacs-lisp/generic.el (generic-font-lock-defaults): * lisp/emacs-lisp/timer.el (timer-set-time-with-usecs): * lisp/gnus/spam.el (spam-list-of-processors): * lisp/international/latin1-disp.el (latin1-char-displayable-p): * lisp/mail/rmail.el (rmail-pop-password, rmail-pop-password-required): * lisp/net/goto-addr.el (goto-address-at-mouse): * lisp/net/net-utils.el (ipconfig-program, ipconfig-program-options): * lisp/obsolete/iswitchb.el (iswitchb-use-fonts): * lisp/play/dunnet.el (dungeon-mode-map): * lisp/progmodes/compile.el (compilation-finish-function) * lisp/progmodes/cperl-mode.el (cperl-vc-header-alist) * lisp/progmodes/gud.el (tooltip-gud-modes, tooltip-gud-display) (tooltip-gud-toggle-dereference): * lisp/progmodes/pascal.el (pascal-outline): * lisp/progmodes/perl-mode.el (electric-perl-terminator): * lisp/textmodes/nroff-mode.el (count-text-lines) (forward-text-line, backward-text-line, electric-nroff-newline) (electric-nroff-mode): * lisp/vc/log-edit.el (vc-comment-ring, vc-comment-ring-index) (vc-previous-comment, vc-next-comment) (vc-comment-search-reverse, vc-comment-search-forward) (vc-comment-to-change-log): * lisp/vc/pcvs-info.el (cvs-display-full-path) (cvs-fileinfo->full-path): * lisp/vc/vc.el (vc-diff-switches-list): Remove items, obsolete since Emacs 22.1. * lisp/ibuffer.el (ibuffer-cached-elide-long-columns): Remove internal variable. (ibuffer-compile-make-eliding-form, ibuffer-check-formats): (ibuffer-mode): Remove support for ibuffer-elide-long-columns. * lisp/cedet/semantic/sb.el (semantic-sb-token-jump): Remove support for speedbar-line-path. * lisp/emacs-lisp/unsafep.el (assoc-ignore-case): Stop marking as side-effect-free. * lisp/gnus/spam.el (spam-group-processor-p): Remove support for spam-list-of-processors. * lisp/progmodes/compile.el (define-compilation-mode) (compilation-handle-exit): Remove support for compilation-finish-function. * lisp/progmodes/cperl-mode.el (cperl-mode): Remove support for cperl-vc-header-alist. ; * lisp/files.el: Comments. ; * etc/NEWS: List removed items.
* | Merge from origin/emacs-26Paul Eggert2018-03-101-7/+9
|\| | | | | | | | | | | | | | | | | 5c91ca8 Fix create_process bug breaking eudc-expand-inline e244fed Clarify that nil doesn't match itself as a cl-case clause (Bu... df0e7e2 Improve SVG documentation a34ef52 Document the "URL" keyword in library headers fbc7f9a * test/lisp/international/mule-tests.el: Avoid local variable... 16faff6 ; * lisp/org/org-table.el: Replace obsolete alias in comment.
| * Clarify that nil doesn't match itself as a cl-case clause (Bug#30749)Noam Postavsky2018-03-101-7/+9
| | | | | | | | | | * lisp/emacs-lisp/cl-macs.el (cl-case): Mention that the ATOM => (ATOM) short form is only for non-nil ATOMs.
| * Revert last commitMichael Heerdegen2018-03-061-23/+32
| | | | | | | | | | This reverts commit af4697faa1f5b643f63a9ea61aa205a4c1432e23. It's too late for this to be in the release.
| * Define if-let* and derivatives as aliases for if-let etcMichael Heerdegen2018-03-061-32/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit reverts declaring `if-let' and `when-let' obsolete in favor of the new `if-let*' and `when-let*' versions because of the compiler warning mess (Bug#30039). Instead we make foo-let* aliases for foo-let. The old single-tuple variable spec case is still supported for backward compatibility. * lisp/emacs-lisp/subr-x.el (if-let, when-let): Don't declare obsolete. Tweak edebug specs. (and-let): Renamed from `and-let*' for compatibility with the names `if-let' and `when-let'. (if-let*, when-let*, and-let*): Define as aliases for `if-let', `when-let' and `and-let'. * test/lisp/emacs-lisp/subr-x-tests.el (if-let-single-tuple-case-test) (when-let-single-tuple-case-test): New tests for the single-binding tuple case. In the whole file, prefer the names without "*".
* | Let warning about (:foo) be suppressible (Bug#30499)Noam Postavsky2018-03-101-1/+2
| | | | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-form): Check byte-compile-warning-enabled-p before warning about funcalling const symbol.
* | * lisp/emacs-lisp/ewoc.el (ewoc-goto-node):Glenn Morris2018-03-051-1/+1
| | | | | | | | Simplify and quieten compiler.
* | Merge from origin/emacs-26Paul Eggert2018-03-041-6/+0
|\| | | | | | | | | | | | | | | | | | | f2caf08ca6 ; Spelling fixes f0e5f220b6 * lisp/progmodes/grep.el (zrgrep): a0f71260f8 Minor copyedits in doc/emacs/text.texi adfe2f580f Remove outdated comment in syntax.el b80e15b6a6 Prevent Flyspell from changing unrelated words e385599457 Avoid errors in flymake in builds --without-x d691e30cb0 More improvements of the Emacs manual
| * Remove outdated comment in syntax.elEli Zaretskii2018-03-031-6/+0
| | | | | | | | | | * lisp/emacs-lisp/syntax.el (syntax-ppss-toplevel-pos): Remove outdated comment. (Bug#30617)
* | ; lisp/emacs-lisp/eieio.el (eieio-object-set-name-string): Fix quote.Noam Postavsky2018-03-011-1/+1
| |
* | Arrange for loaddefs files to be greppablePaul Eggert2018-03-011-0/+2
| | | | | | | | | | | | | | | | Without this change, ldefs-boot.el contains a couple of stray NUL bytes, which cause it to be considered to be a non-text file by tools like GNU grep. * lisp/emacs-lisp/autoload.el (autoload-print-form): Set print-escape-control-characters to t.
* | Merge from origin/emacs-26Glenn Morris2018-02-201-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 226aca3 (origin/emacs-26) Fix documentation of 'flyspell-auto-correct... a8c8434 * doc/emacs/misc.texi (Saving Emacs Sessions): Fix markup. 275e735 More changes in the Emacs manuals d962be5 More fixes in the Emacs manual 6dc2846 * src/data.c (Faref): Fix a typo in the doc string. (Bug#30510) 36e729f Minor edit in tramp.texi 6537f99 ; Fix oversight from last commit eb94588 ; * doc/emacs/maintaining.texi: Fix two typos. 258135f More improvements in the Emacs manual f138bca Improve documentation of 'electric-pair-mode' f74ab96 ; Spelling and grammar fixes. 42f9dc4 ; * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): ...
| * ; Spelling and grammar fixes.Paul Eggert2018-02-171-1/+1
| |
* | Merge from origin/emacs-26Glenn Morris2018-02-175-6/+8
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e5a2933 (origin/emacs-26) lisp/vc/: documentation fixes f21f8e6 Document 'desktop-files-not-to-save' d8917eb Improve documentation of Profiling features b228839 Improve indexing of "performance" in ELisp manual ab67b3e Minor change in Emacs manual's VC chapter c352434 Avoid memory corruption with specpdl overflow + edebug (Bug#3... 593bbda Document comment-fill-column in the manual (Bug#11636) bd4cc8d * doc/emacs/dired.texi (Marks vs Flags): Copyedits. 69107f3 ; Fix doc typos related to indefinite articles aaad1e6 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac... 5906418 More fixes for the Emacs manual 9ab3df1 ; Fix doc typos related to indefinite articles 66a4e65 ; Fix doc typos related to indefinite articles 35e5c57 ; Fix doc typos related to indefinite articles
| * Improve documentation of Profiling featuresEli Zaretskii2018-02-172-3/+5
| | | | | | | | | | | | | | | | * doc/lispref/debugging.texi (Profiling): Improve the description of elp.el. Improve wording of the rest of the section. (Bug#30491) * lisp/emacs-lisp/elp.el (elp-instrument-list): Make the interactive invocation work. Doc fix.
| * ; Fix doc typos related to indefinite articlesGlenn Morris2018-02-161-1/+1
| |
| * ; Fix doc typos related to indefinite articlesGlenn Morris2018-02-162-2/+2
| |
* | Add early init file, stop package-initialize insertionRadon Rosborough2018-02-171-70/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Discussion on emacs-devel leading up to this change (approximately 150 messages): - https://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00154.html - https://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00433.html - https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00023.html - https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00599.html - https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00332.html * lisp/startup.el (early-init-file): New variable. (load-user-init-file): New function. (command-line): Load the early init file using `load-user-init-file'. Move the check for an invalid username to just before that, and move the initialization of the package system to just after. Load the regular init file using `load-user-init-file'. * lisp/emacs-lisp/package.el (package--ensure-init-file): Remove definition, usage, and documentation. (package--init-file-ensured): Remove definition and usage. * src/lread.c (Vuser_init_file): Note change in semantics due to its usage while loading the early init file. * doc/emacs/custom.texi: Document early init file. * doc/emacs/package.texi: Document changes to when package-initialize is called. Change terminology for package 'loading'. * doc/lispref/os.texi: Document early init file. Update startup summary. * doc/lispref/package.texi: Document changes to when package-initialize is called, and advise against calling it in the init file. Change terminology for package 'loading'. * doc/misc/org.texi: Don't recommend to call package-initialize in the init file.
* | Merge from origin/emacs-26Glenn Morris2018-02-161-0/+5
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a06a8ed (origin/emacs-26) ; * lisp/vc/vc-git.el (vc-git--program-vers... edc06ad Make 'byte-compile-error-on-warn' a safe file variable 9f5d8da ; * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): ... f73905a Fix the doc string of flyspell-auto-correct-word e9c7ddc Improve the MS-Windows appendix of the Emacs manual 6ddb4bd Fix 'vc-git--program-version' 63c93f7 Fix typos and wording in the Emacs manual 42f15b0 * doc/emacs/programs.texi (Semantic): Order programming langu... b46be29 More improvements for the Emacs manual 874c0ed Minor wording change in Emacs manual 53511f9 Another set of changes for the manual 78426b8 Improvements on tramp.texi 0dca618 Tramp minor doc fixes Conflicts: doc/misc/tramp.texi
| * Make 'byte-compile-error-on-warn' a safe file variableRobert Cochran2018-02-161-0/+5
| | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-error-on-warn): Mark as a safe local variable for boolean values.