summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
Commit message (Collapse)AuthorAgeFilesLines
...
* | * lisp/emacs-lisp/package.el: Fix decoding of downloaded filesStefan Monnier2019-05-181-42/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a different fix for bug#34909, which should also fix bug#35739. Our downloading code used to automatically decode the result according to the usual heuristics for files. This caused problems when we later needed to save the data in a file that needed to be byte-for-byte equal to the original in order to pass the signature verification, especially because we didn't keep track of which coding-system was used to decode the data. (package--unless-error): New macro extracted from package--with-response-buffer-1, so that we can specify edebug and indent specs. (package--with-response-buffer-1): Use it. More importantly, change code so it runs `body` in a unibyte buffer with undecoded data. (package--download-one-archive): Don't encode with utf-8 since the data is not decoded yet. (describe-package-1): Explicitly decode the readem.txt files here. * lisp/url/url-handlers.el (url-insert-file-contents): Use it. (url-insert): Don't decode if buffer is unibyte. * lisp/url/url-http.el (url-http--insert-file-helper): New function, extracted from url-insert-file-contents.
* | * lisp/emacs-lisp/package.el: Reduce macrology in ...with-response-bufferStefan Monnier2019-05-181-39/+42
| | | | | | | | | | | | (package--with-response-buffer-1): New function, extracted from package--with-response-buffer. (package--with-response-buffer): Use it.
* | * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix docstring of accessors.Stefan Monnier2019-05-161-1/+1
| |
* | Make `package' not "uninhibit" messages (Bug#34037)Paul Pogonyshev2019-05-161-2/+2
| | | | | | | | | | * lisp/emacs-lisp/package.el: Don't let-bind inhibit-message to a different value if it was non-nil.
* | * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand) <setq>: RewriteStefan Monnier2019-05-161-9/+19
| | | | | | | | | | | | | | | | The previous code had 2 problems: - It converted `setq` to `setf` in unrelated cases such as (cl-symbol-macrolet ((x 1)) (setq (car foo) bar)) - It macroexpanded places before `setf` had a chance to see if they have a gv-expander.
* | Add standard unmatchable regexpMattias Engdegård2019-05-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add `regexp-unmatchable' as a standard unmatchable regexp, defined as "\\`a\\`". Use it where such a regexp is needed, replacing slower expressions in several places. From a suggestion by Philippe Schnoebelen. * lisp/subr.el (regexp-unmatchable): New defconst. * etc/NEWS (Lisp Changes): Mention `regexp-unmatchable'. * doc/lispref/searching.texi (Regexp Functions): Document it. * lisp/emacs-lisp/regexp-opt.el (regexp-opt) * lisp/progmodes/cc-defs.el (cc-conditional-require-after-load) (c-make-keywords-re) * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1) (c-forward-<>-arglist-recur, c-forward-decl-or-cast-1) (c-looking-at-decl-block) * lisp/progmodes/cc-fonts.el (c-doc-line-join-re) (c-doc-bright-comment-start-re) * lisp/progmodes/cc-langs.el (c-populate-syntax-table) (c-assignment-op-regexp) (c-block-comment-ender-regexp, c-font-lock-comment-end-skip) (c-block-comment-start-regexp, c-line-comment-start-regexp) (c-doc-comment-start-regexp, c-decl-start-colon-kwd-re) (c-type-decl-prefix-key, c-type-decl-operator-prefix-key) (c-pre-id-bracelist-key, c-enum-clause-introduction-re) (c-nonlabel-token-2-key) * lisp/progmodes/cc-mode.el (c-doc-fl-decl-start, c-doc-fl-decl-end) * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re) (c-noise-macro-name-re, c-make-noise-macro-regexps) * lisp/progmodes/octave.el (octave-help-mode) * lisp/vc/vc-bzr.el (vc-bzr-log-view-mode, vc-bzr-revision-completion-table) * lisp/vc/vc-git.el (vc-git-log-view-mode) * lisp/vc/vc-hg.el (vc-hg-log-view-mode) * lisp/vc/vc-mtn.el (vc-mtn-log-view-mode): Use `regexp-unmatchable'. * lisp/textmodes/ispell.el (ispell-non-empty-string): Use `regexp-unmatchable', fixing a broken never-match regexp.
* | * lisp/emacs-lisp/packages.el: Add `all` to package-check-signatureStefan Monnier2019-05-121-5/+13
| | | | | | | | | | (package-check-signature): Add `all` option. (package--check-signature-content): Adjust accordingly.
* | Fix alist-get gv setter not returning VALMichael Heerdegen2019-05-091-12/+14
| | | | | | | | | | | | | | This fixes Bug#35546. * lisp/emacs-lisp/gv.el (alist-get): Make setter return the set value to preserve 'setf' semantics.
* | * lisp/emacs-lisp/syntax.el (syntax-propertize): `ignore` is like nilStefan Monnier2019-05-081-2/+3
| | | | | | | | | | | | (syntax-ppss-after-change-function): Mark it as obsolete. * lisp/font-lock.el (font-lock-apply-syntactic-highlight): Use syntax-ppss-flush-cache instead.
* | Merge from origin/emacs-26Glenn Morris2019-05-081-11/+21
|\| | | | | | | | | | | | | | | | | | | 1c6484e (origin/emacs-26) Fix incorrect cloning of eieio-instance-inh... 37436fe Fix cloning of eieio-named objects (Bug#22840) fb65a36 Fix ibuffer-unmark-backward synopsis (bug#35572) f77bd2b ; * src/lisp.h (DEFSYM): Fix inaccurate comment. 3b86e0b Clarify handling of long options (Bug#24949) 04340a8 Improve documentation of the daemon and emacsclient 3e29de2 * etc/NEWS.24: Belatedly announce delete-consecutive-dups.
| * Fix incorrect cloning of eieio-instance-inheritor objects (Bug#34840)Vitalie Spinu2019-05-081-2/+10
| | | | | | | | | | | | * lisp/emacs-lisp/eieio-base.el (clone): Unbound slots of eieio-instance-inheritor objects as documented in the docs string and implemented in the original eieio implementation.
| * Fix cloning of eieio-named objects (Bug#22840)Vitalie Spinu2019-05-071-9/+11
| | | | | | | | | | * lisp/emacs-lisp/eieio-base.el (clone): Correctly set the name of the cloned objects from eieio-named instances.
* | * lisp/emacs-lisp/lisp.el (insert-pair-alist): Turn defvar into defcustom.Juri Linkov2019-05-061-9/+12
| | | | | | | | Revert to old default value. (Bug#35480)
* | * lisp/emacs-lisp/lisp.el (insert-pair-alist): Precompute default value.Juri Linkov2019-05-051-1/+7
| | | | | | | | | | Use unicode-property-table-internal with 'paired-bracket to append pairs of open/close characters to the default value (bug#35480).
* | * lisp/emacs-lisp/edebug.el: Better handle instrumentation of `end-of-defun`Stefan Monnier2019-05-011-51/+34
| | | | | | | | | | | | Remove redundant :group args. (edebug-read-top-level-form): Let-bind edebug-active. (edebug-active): Move before this new first use.
* | Merge from origin/emacs-26Glenn Morris2019-04-291-8/+14
|\| | | | | | | | | | | | | 0e8d452 ; * doc/lispref/nonascii.texi (Coding System Basics): Fix gra... 25a2ff7 ; Add missing space in custom.texi 9ec18fb * admin/admin.el (set-version): Check for increase in version... 93912ba Be more careful about indent-sexp going over eol (Bug#35286)
| * Be more careful about indent-sexp going over eol (Bug#35286)Noam Postavsky2019-04-221-8/+14
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Only go over multiple sexps if the end of line is within a sexp. * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-stop-before-eol-comment) (indent-sexp-stop-before-eol-non-lisp): New tests.
* | Fix Bug#33618; define search path variables for grep, byte-compileStephen Leake2019-04-251-0/+9
| | | | | | | | | | | | | | | | * etc/NEWS: Mention new variables. * lisp/emacs-lisp/bytecomp.el (emacs-lisp-compilation-search-path): New. * lisp/progmodes/grep.el (grep-search-path): New.
* | Fix rescheduling timers after suspensionEli Zaretskii2019-04-241-1/+1
| | | | | | | | | | * lisp/emacs-lisp/timer.el (timer-event-handler): Fix the comparison between next invocation time and current time.
* | * lisp/emacs-lisp/timer-list.el: Fix header-line alignmentStefan Monnier2019-04-231-3/+7
| | | | | | | | | | | | Enable lexical-binding. (cl-print-compiled, cl-print-compiled-button): Declare. (timer-list-mode): Add spacing to align the header.
* | Move side-effect-free from unsafep.el to subr.elBasil L. Contovounesios2019-04-211-5/+0
| | | | | | | | | | | | * lisp/emacs-lisp/unsafep.el: Move side-effect-free property setting from here... * lisp/subr.el: ...to here, as function declarations for modularity.
* | * lisp/emacs-lisp/smie.el (smie-indent-comment-continue): Single-char case.Stefan Monnier2019-04-191-5/+27
| | | | | | | | | | Make it so the comment-continue is aligned with the comment-start when comment-start is a single-char.
* | * lisp/emacs-lisp/radix-tree.el (pcase-defmacro): Improve docstringStefan Monnier2019-04-191-2/+2
| |
* | * lisp/emacs-lisp/byte-run.el (define-obsolete-variable-alias): Tweak docStefan Monnier2019-04-191-1/+1
| |
* | Make warning about unescaped character literals more helpful.Philipp Stephani2019-04-192-8/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See Bug#31676. * lisp/emacs-lisp/byte-run.el (byte-run--unescaped-character-literals-warning): New defun. * src/lread.c (load_warn_unescaped_character_literals): Use new defun. (syms_of_lread): Define symbol for new defun. * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Use new defun. * test/src/lread-tests.el (lread-tests--unescaped-char-literals): test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--unescaped-char-literals): Adapt unit tests.
* | Properly bracket concat of comment-start-skip (Bug#34805)Noam Postavsky2019-04-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/smie.el (smie-indent-fixindent): * lisp/cedet/semantic/doc.el (semantic-doc-snarf-comment-for-tag): * lisp/progmodes/fortran.el (fortran-previous-statement) (fortran-next-statement) (fortran-fill-statement): * lisp/progmodes/vhdl-mode.el (vhdl-beginning-of-statement): Bracket comment-start-skip and comment-end-skip to avoid unexpected regexp operator precedence.
* | Omit/rewrite useless regexp repetitionsPaul Eggert2019-04-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem reported by Mattias Engdegård in: https://lists.gnu.org/r/emacs-devel/2019-04/msg00527.html * lisp/align.el (align-rules-list): * lisp/cedet/srecode/srt-mode.el (srecode-font-lock-keywords): * lisp/emacs-lisp/copyright.el (copyright-regexp): * lisp/erc/erc-backend.el (JOIN): * lisp/erc/erc-goodies.el (erc-unmorse): * lisp/mail/mail-extr.el (mail-extr-telephone-extension-pattern): * lisp/net/tramp-adb.el (tramp-adb-prompt): * lisp/org/org-table.el (org-table-range-regexp): * lisp/progmodes/idlwave.el (idlwave-where): * lisp/progmodes/verilog-mode.el (verilog-declaration-re-2-no-macro) (verilog-declaration-re-2-macro, verilog-delete-auto-buffer) (verilog-auto-inst-port): * lisp/url/url-misc.el (url-data): Omit or rewrite useless repetitions that risk being very slow in the backtracking regexp engine in Emacs.
* | Optimize byte-compilation of proper-list-pBasil L. Contovounesios2019-04-121-1/+2
| | | | | | | | | | | | | | | | | | For discussion, see thread starting at: https://lists.gnu.org/archive/html/emacs-devel/2019-04/msg00316.html * lisp/emacs-lisp/byte-opt.el: Optimize proper-list-p as a predicate. * lisp/subr.el: Mark proper-list-p as pure, and side-effect and error free.
* | * nadvice.el: Add ourselves to package--builtin-versionsStefan Monnier2019-04-081-0/+7
| |
* | * lisp/emacs-lisp/cl-macs.el: Don't always inline struct functionsStefan Monnier2019-04-021-4/+11
| | | | | | | | | | (cl--struct-inline): New var. (cl-defstruct): Obey it along with a new :noinline keyword argument.
* | * lisp/subr.el (prog2): Define as a macroStefan Monnier2019-04-025-22/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | * src/eval.c (Fprog2): Delete function. (syms_of_eval): Don't register it. * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): * lisp/emacs-lisp/generator.el (cps--transform-1): Remove `prog2` case. * lisp/emacs-lisp/bytecomp.el (prog2): Remove handlers. (byte-compile-prog2): Delete. * lisp/emacs-lisp/lisp-mode.el (prog2): Remove property.
* | * lisp/subr.el (setq-default): Define as a macroStefan Monnier2019-04-012-26/+10
| | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-setq-default): Delete. (byte-compile-set-default): Inline the part that it used. * lisp/emacs-lisp/edebug.el (setq-default): Remove the debug spec. * src/data.c (Fsetq_default): Delete. (syms_of_data): Don't register.
* | Use memql instead of memq in pcaseMattias Engdegård2019-03-281-4/+4
| | | | | | | | | | | | * lisp/emacs-lisp/pcase.el (pcase--u1): Use memql instead of memq to work with bignums (Bug#34781). * test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-member): Test the above.
* | Use regexp-opt-charset to improve regexp tweaksPaul Eggert2019-03-271-3/+3
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/regexp-opt.el (regexp-opt): Reword confusing sentence in doc string. * lisp/erc/erc.el (erc-lurker-maybe-trim): * lisp/mail/footnote.el (footnote-hebrew-numeric-regex): Improve by using regexp-opt-charset.
* | * lisp/emacs-lisp/map.el (map-inplace): Fix the message of the error.Nicolas Petton2019-03-271-1/+1
| |
* | * easy-mmode.el: simplify via custom-current-groupStefan Monnier2019-03-261-6/+0
| | | | | | | | | | * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Don't try and guess a default :group, defcustom does it better anyway.
* | Fix the error message when modifying maps in-place (Bug#34941)Nicolas Petton2019-03-221-2/+2
| | | | | | | | | | | | | | * lisp/emacs-lisp/map.el (map-not-inplace): Fix the message of the error. (map-put!): When signaling map-no-inplace error, output the map that cannot be updated inplace.
* | Correctly handle packages without description in describe-packageFederico Tedin2019-03-221-1/+2
| | | | | | | | | | * lisp/emacs-lisp/package.el (describe-package-1): Do not call insert if package description is nil (Bug#34147).
* | Make edebug-eval-expression support code completionFederico Tedin2019-03-221-3/+1
| | | | | | | | | | * lisp/emacs-lisp/edebug.el (edebug-eval-expression): Use read--expression instead of read-from-minibuffer. (Bug#34065)
* | * lisp/emacs-lisp/seq.el (seq-difference): Inverse a conditional for clarity.Nicolas Petton2019-03-211-3/+3
| |
* | New seq-contains-p predicate (Bug#34852)Nicolas Petton2019-03-211-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/seq.el (seq-contains-p): New predicate function. It is a replacement for seq-contains which cannot be used as a predicate when a sequence contains nil values as it returns the element found. (seq-contains): Make obsolete. * test/lisp/emacs-lisp/seq-tests.el (test-seq-contains-p): (test-seq-intersection-with-nil, test-seq-set-equal-p-with-nil, test-difference-with-nil): Add regression tests. * doc/lispref/sequences.texi (Sequence Functions): Document seq-contains-p.
* | Merge from origin/emacs-26Glenn Morris2019-03-201-2/+7
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 24b6e6e (origin/emacs-26) * etc/AUTHORS: Update. 2f22a17 * ; ChangeLog.3 update 0f523de Improve indexing of the user manual bd5795e Fix url-copy-file arglist eaa188a ; * admin/notes/bugtracker: Minor additions and updates. 5ed05fb Fix downloading updates for packages with non-ASCII descriptions e9f2d1f * etc/NEWS: Remove temporary markers. 24fc133 * doc/misc/cc-mode.texi (Config Basics): in @itemize, @asis -... 0f325d1 Don't clobber 'comint-input-autoexpand' in 'read-shell-command' bc75589 Document restrictions when setting window margins, fringes or... cc4cebf More improvements for 'read-buffer's doc string d026d9a * lisp/progmodes/cc-defs.el: Update c-version to 5.33.2 for E... 5dbf08b * src/minibuf.c (Fread_buffer): Minor doc fixes. (Bug#34749) # Conflicts: # etc/NEWS # lisp/url/url-handlers.el
| * Fix downloading updates for packages with non-ASCII descriptionsEli Zaretskii2019-03-191-2/+7
| | | | | | | | | | | | | | * lisp/emacs-lisp/package.el (package--download-one-archive): Make sure archive contents are written using UTF-8 encoding. (Bug#34909) (list-packages): Set buffer's encoding to UTF-8.
* | Disallow reversed char ranges in `rx'Mattias Engdegård2019-03-191-2/+9
| | | | | | | | | | | | | | | | | | | | (any "a-Z0-9") generated "[0-9]", and (any (?9 . ?0)) generated "[9-0]". Reversed ranges are either mistakes or abuse. Neither should be allowed. etc/NEWS: Explain the change. lisp/emacs-lisp/rx.el (rx): Document. (rx-check-any-string, rx-check-any): Add error checks for reversed ranges. test/lisp/emacs-lisp/rx-tests.el (rx-char-any-range-bad): New test.
* | Fix more regular expression typosPaul Eggert2019-03-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem reported by Mattias Engdegård in: https://lists.gnu.org/r/emacs-devel/2019-03/msg00548.html except that I didn’t address the issues involving Hebrew, or involving comint-prompt-regexp. * lisp/align.el (align-rules-list, align-exclude-rules-list): * lisp/auth-source-pass.el (auth-source-pass--parse-secret) (auth-source-pass--parse-data): * lisp/cedet/data-debug.el (data-debug-next) (data-debug-prev, data-debug-expand-or-contract): * lisp/comint.el (comint-within-quotes): * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): * lisp/emulation/viper-ex.el (ex-cmd-complete): * lisp/gnus/gnus-cite.el (gnus-message-search-citation-line): * lisp/gnus/nnir.el (nnir-imap-end-of-input): * lisp/mail/mail-extr.el (mail-extr-all-letters): * lisp/minibuffer.el (minibuffer-maybe-quote-filename): * lisp/nxml/rng-nxml.el (rng-complete-tag) (rng-complete-end-tag, rng-complete-attribute-name): * lisp/obsolete/vip.el (vip-get-ex-token, vip-get-ex-pat): * lisp/org/org-pcomplete.el (org-thing-at-point): * lisp/org/org.el (org-set-tags) (org-increase-number-at-point) (org-fill-line-break-nobreak-p): * lisp/pcomplete.el (pcomplete-parse-comint-arguments): * lisp/progmodes/ada-mode.el (ada-compile-goto-error): * lisp/progmodes/cperl-mode.el (cperl-highlight-charclass) (cperl-find-pods-heres, cperl-not-bad-style-regexp) (cperl-regext-to-level-start): * lisp/progmodes/ebnf-yac.el (ebnf-yac-skip-spaces): * lisp/progmodes/flymake-proc.el (flymake-proc-master-tex-init): * lisp/progmodes/flymake.el (flymake-diag-region): * lisp/progmodes/fortran.el (fortran-current-line-indentation): * lisp/progmodes/idlw-complete-structtag.el: (idlwave-complete-structure-tag): * lisp/progmodes/idlwave.el (idlwave-complete-sysvar-or-tag): * lisp/progmodes/prolog.el (prolog-pred-end) (prolog-clause-info): * lisp/progmodes/ruby-mode.el (ruby-forward-sexp) (ruby-backward-sexp): * lisp/progmodes/verilog-mode.el (verilog-repair-open-comma): * lisp/term.el (term-within-quotes): * lisp/textmodes/bib-mode.el (bib-capitalize-title-stop-words): * lisp/textmodes/refbib.el (r2b-capitalize-title-stop-words): * lisp/textmodes/reftex-parse.el (reftex-nth-arg): * lisp/textmodes/rst.el (rst-svn-rev): * lisp/url/url-http.el (url-http-parse-response): * test/lisp/progmodes/f90-tests.el (f90-test-bug3730): Fix regular expression typos.
* | * lisp/subr.el (combine-change-calls-1): Don't combine syntax-ppss flushesStefan Monnier2019-03-161-0/+5
| |
* | Customize tabulated-list sort indicatorsPhilippe Vaucher2019-03-151-9/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows the user to customize the sorting indicators displayed near the current column. * lisp/emacs-lisp/tabulated-list.el (tabulated-list): New group. (tabulated-list-gui-sort-indicator-asc) (tabulated-list-gui-sort-indicator-desc) (tabulated-list-tty-sort-indicator-asc) (tabulated-list-tty-sort-indicator-desc): New defcustomd. (tabulated-list-glyphless-char-display): Remove. (tabulated-list-make-glyphless-char-display-table): New function. * doc/lispref/modes.texi (Tabulated List Mode): Add documentation for new options. * etc/NEWS: Mention the new options.
* | * lisp/emacs-lisp/easy-mmode.el: Fix most obvious bug#34723Stefan Monnier2019-03-131-1/+6
| | | | | | | | | | (easy-mmode-define-navigation): Don't scroll in the opposite direction of the movement.
* | * lisp/emacs-lisp/autoload.el (make-autoload): Don't add useless docStefan Monnier2019-03-081-1/+1
| | | | | | | | | | | | | | More specifically, don't add a useless '(fn)' to the docstring for functions which take no arguments. This should fix the 'No docstring slot for pcase--make-docstring' warning during bootstrap.
* | * lisp/emacs-lisp/cursor-sensor.el: Fix sensor behavior with overlaysStefan Monnier2019-03-081-2/+2
| | | | | | | | | | | | (cursor-sensor--detect): Also consult overlay properties when checking to see if we just moved inside the same "element" as opposed to changing from one to another of the same type.