aboutsummaryrefslogtreecommitdiffstats
path: root/lisp (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Move project-dired and project-eshell higherDmitry Gutov2020-05-261-15/+15
| | | | | | | | | | | | | | | | | | * lisp/progmodes/project.el: (project-dired, project-eshell): Move higher in the file, according to their universal utility.
| * | Use an alist instead of a keymapDmitry Gutov2020-05-261-11/+13
| | | | | | | | | | | | | | | | | | * lisp/progmodes/project.el: (project--switch-alist): New variable to use instead of project-switch-keymap, which remove. Update all references.
| * | Improve project name completionDmitry Gutov2020-05-261-2/+6
| | | | | | | | | | | | | | | | | | * lisp/progmodes/project.el: (project-prompt-project-dir): Use REQUIRE-MATCH=t. Make sure the 'substring' completion style is used by default.
| * | Simplify a little, and avoid duplicate commandsDmitry Gutov2020-05-261-50/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/project.el: (project--transient-p) Remove, not needed. (project-current): Move project-find based on the directory here. (project--remove-from-project-list): Only write if the list changed. (project-find-project): Rename to project-prompt-project-dir. Simply return the directory selected by the user. (project-switch-project-find-file): Remove. (project-switch-project-dired): Rename to project-dired and make it follow the convention of existing projec tcommands. (project-switch-project-eshell): Ditto. (project-switch-project): Instead of passing the project instance to the command, just bind default-directory.
| * | Add project switching functionalitySimen Heggestøyl2020-05-261-8/+164
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/project.el: Require subr-x. (project--transient-p, project--ensure-file-exists) (project--read-project-list, project--ensure-read-project-list) (project--write-project-list) (project--add-to-project-list-front) (project--remove-from-project-list, project-find-project) (project-switch-project-find-file, project-switch-project-dired) (project-switch-project-eshell, project-add-switch-command) (project--keymap-prompt, project-switch-project): New functions. (project--list, project-switch-keymap): New variables. (project-current): Call 'project-find-project' when no project is current.
* | | Document that {en,de}code-coding-string preserve match dataMattias Engdegård2020-05-281-12/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/international/mule.el (define-coding-system): Require :pre-write-conversion and :post-read-conversion functions to leave the match data untouched. * src/coding.c (Fdecode_coding_string, Fencode_coding_string): Document functions as match-data-preserving. Suggested by Stefan Monnier (see bug#41445).
* | | Merge from origin/emacs-27Glenn Morris2020-05-281-14/+24
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | bd7b681dc4 (origin/emacs-27) Tiny texinfo markup fixes d0dd0e0612 ; Fix more @var/@code mixups in Elisp manual 313dc0439e ; Fix another format-spec typo in the Elisp manual 9d7fd78421 Make next-error behavior a bit more flexible 0691d25295 * etc/NEWS.25: Belatedly announce upcase-dwim and downcase... df91c94ca8 Fix access to single-byte characters in buffer text
| * | Make next-error behavior a bit more flexibleDmitry Gutov2020-05-271-14/+24
| | | | | | | | | | | | | | | | | | * lisp/simple.el (next-error-no-navigation-try-current): Extract from the case #2 in next-error-find-buffer (bug#40919). (next-error-find-buffer-function): Use it as the default.
| * | Revert "Fix eshell-mode-map initialization"Noam Postavsky2020-05-249-159/+100
| | | | | | | | | | | | | | | | | | | | | It makes eshell-return-exits-minibuffer permanently affect the eshell-mode-map (Bug#41370). Do not merge to master, we will fix it properly there.
* | | Merge from origin/emacs-27Glenn Morris2020-05-282-5/+8
|\ \ \ | |/ / | | | | | | | | | | | | | | | e7a3ed8a6d Fix tab-bar-tab-name-ellipsis initialization 4737d0af75 Fix Elisp manual entry for format-spec 0195809bb6 Fix rare assertion violations in 'etags' cddb0079ff ; * lisp/format-spec.el (format-spec): Fix typo.
| * | Fix tab-bar-tab-name-ellipsis initializationMatthias Meulien2020-05-251-4/+7
| | | | | | | | | | | | | | | * lisp/tab-bar.el (tab-bar-tab-name-truncated): Evaluate displayable character when generating tab name.
| * | ; * lisp/format-spec.el (format-spec): Fix typo.Basil L. Contovounesios2020-05-241-1/+1
| | |
* | | Fix customizing of ido-mode (Bug#41557)Noam Postavsky2020-05-271-1/+1
| | | | | | | | | | | | | | | lisp/ido.el (ido-mode): When setting the user option to nil, pass 0 to the function, so that it will be disabled as intended.
* | | Don't clobber match data in utf-8-hfs conversion (bug#41445)Mattias Engdegård2020-05-271-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reported by Ture Pålsson. * lisp/international/ucs-normalize.el (ucs-normalize-hfs-nfd-post-read-conversion) (ucs-normalize-hfs-nfd-pre-write-conversion): Use save-match-data to avoid match data clobber in normalisation. * test/lisp/international/ucs-normalize-tests.el (ucs-normalize-save-match-data): New test.
* | | Introduce some Objective-C 2.0 keywords. This fixes bug #5953Alan Mackenzie2020-05-261-4/+7
| |/ |/| | | | | | | | | | | | | * lisp/progmodes/cc-langs.el (c-other-decl-kwds): New keywords @property, @dynamic, @synthesize, @compatibility_alias. (c-protection-kwds): New keywords @package, @required, @optional. (c-block-stmt-1-kwds): New keyword @autoreleasepool. (c-constant-kwds): New keywords IBAction, IBOutlet.
* | Mark metamail.el as obsolete (Bug#41388)Stefan Kangas2020-05-261-0/+1
| | | | | | | | | | | | | | | | | | The metamail package was last released in 1994, and has been removed from most GNU/Linux distributions due to being buggy and unmaintained. * lisp/mail/metamail.el: Move from here... * lisp/obsolete/metamail.el: ...to here. * etc/NEWS: Mention its obsoletion.
* | Bump project.el versionDmitry Gutov2020-05-251-1/+1
| | | | | | | | * project.el: Bump the version
* | ; More the note about reporting problems further upDmitry Gutov2020-05-251-5/+5
| |
* | ; * lisp/files.el (auto-save-visited-mode): Fix typo in last commit.Philipp Stephani2020-05-251-1/+1
| |
* | Allow inhibiting 'auto-save-visited-mode' on a per-buffer basis.Philipp Stephani2020-05-251-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | At least for me, 'auto-save-visited-mode' is very slow and blocks user interaction for files visited over TRAMP. Therefore, I'd like a mechanism to disable it for some buffers (namely, those visiting remote files). * (auto-save-visited-mode): Document that 'auto-save-visited-mode' can be set to nil buffer-locally. * etc/NEWS: Document new behavior.
* | Don't bug out in xml-escape-string if invalid characters aren't presentLars Ingebrigtsen2020-05-251-1/+2
| | | | | | | | | | * lisp/xml.el (xml-escape-string): Don't bug out if invalid characters aren't present.
* | Add command ffap-other-tab (Bug#41410)ej32u@protonmail.com2020-05-241-0/+11
| | | | | | | | | | | | * lisp/ffap.el (ffap-other-tab): New command, opens files at point in another tab. (ffap-bindings): Bind it to find-file-other-tab's binding.
* | Make dedicated keymap and mode for eshell-command (Bug#41370)Noam Postavsky2020-05-241-9/+13
| | | | | | | | | | | | | | | | | | | | | | Otherwise, we end up permanently modifying eshell-mode-map when running eshell-command. * lisp/eshell/eshell.el (eshell-command-mode): New mode, with map to contain the bindings previously set by eshell-return-exits-minibuffer. (eshell-return-exits-minibuffer): Make into obsolete alias for eshell-command-mode. (eshell-command): Use eshell-command-mode instead of eshell-return-exits-minibuffer.
* | Mark browse-url-conkeror as obsoleteStefan Kangas2020-05-241-3/+8
| | | | | | | | | | | | | | | | | | | | | | * lisp/net/browse-url.el: (browse-url--browser-defcustom-type) (browse-url-conkeror-new-window-is-buffer) (browse-url-conkeror-program, browse-url-conkeror-arguments) (browse-url-default-browser, browse-url-conkeror): Mark the conkeror browser as obsolete. * etc/NEWS: Mention this.
* | Add three C++20 coroutine keywords, co_await, co_yield, and co_returnCarl Lei2020-05-241-1/+3
| | | | | | | | | | | | | | | | | | * lisp/progmodes/cc-langs.el (c-operators): Add co_await and co_yield to the C++ value of "Exception" keywords. (c-return-kwds): Create a C++ value containing co_return. (c-simple-stmt-kwds): Add co_return to the C++ value. Copyright-paperwork-exempt: yes.
* | Merge from origin/emacs-27Glenn Morris2020-05-231-1/+5
|\ \ | |/ | | | | | | | | | | | | | | d6a0b66a0c (origin/emacs-27) * lisp/subr.el (save-match-data): Clarif... 1a6d59eeba Improve the documentation of setting up fontsets c7737d40f2 ; * etc/TODO (Ligatures): Update the entry based on recent... fb2e34cd21 ; * etc/TODO (Ligatures): Update the entry based on recent... 13b6dfd4f7 * doc/emacs/killing.texi (Rectangles): Improve indexing. a10254dd46 Fix accessing files on networked drives on MS-Windows
| * * lisp/subr.el (save-match-data): Clarify use in docstringStefan Monnier2020-05-231-1/+5
| |
| * CC Mode: Fix bug #39972, by fixing c-display-defun-name for nested defunsAlan Mackenzie2020-05-221-1/+1
| | | | | | | | | | | | * lisp/progmodes/cc-mode.el (c-common-init): Build add-log-current-defun-function out of c-defun-name-and-limits instead of the former c-defun-name.
| * Redo RCS Id for pdumperPaul Eggert2020-05-211-4/+0
| | | | | | | | | | | | | | | | * lisp/version.el: Don’t put an RCS Id style string into the executable via purecopy, as this does not work with the pdumper. * src/emacs.c (RCS_Id): New constant, for 'ident'. (cherry picked from commit 3d1bcfba5e21b29be8669aa2a8f27b344c9e02fd)
* | Reject invalid characters in XML strings (Bug#41094).Philipp Stephani2020-05-231-1/+12
| | | | | | | | | | | | | | | | | | * lisp/xml.el (xml-escape-string): Search for invalid characters. (xml-invalid-character): New error symbol. * test/lisp/xml-tests.el (xml-print-invalid-cdata): New unit test. * etc/NEWS: Document new behavior.
* | Let user adjust the column widths of the package menu.Chris McMahan2020-05-231-4/+24
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/package.el (package-name-column-width) (package-version-column-width, package-status-column-width) (package-archive-column-width): New defcustoms. (package-menu-mode): Use the values of defcustoms instead of hardcoded values. (Bug#41086)
* | Delete another library obsolete since 23.2Stefan Kangas2020-05-231-292/+0
| | | | | | | | | | | | | | | | This was missed in a previous commit to remove obsolete libraries. Its deletion was already announced in NEWS. * lisp/obsolete/levents.el: Delete file. This library has been obsolete since 23.2.
* | * lisp/doc-view.el (doc-view-presentation): Fix thinkoStefan Monnier2020-05-221-2/+2
| |
* | Implement 'mark-resolved' for the Git backendDmitry Gutov2020-05-231-0/+4
| | | | | | | | * lisp/vc/vc-git.el (vc-git-mark-resolved): New function.
* | project.el: A project has only one main root nowDmitry Gutov2020-05-233-41/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Practice shows that the vast majority of projects only use one main root. The users of this API very often make this assumption as well. The rest of the "roots" should be possible to express through project-external-roots. * lisp/progmodes/project.el: Update the commentary. Only 4 non-obsolete generics now. (project-root): Replacement for `project-roots'. All callers updated. Implementations too. (project-roots): Declare obsolete. (project-external-roots): Simplify the docstring. (project-ignores): Update the docstring. (project-find-regexp): Omit the second arg to project-files. (project--dir-ignores): Simplify. (project-compile): Simplify, remove outdated comment. * lisp/cedet/ede.el: Add a FIXME.
* | Disable ido-everywhere when ido-mode is offDmitry Gutov2020-05-231-1/+1
| | | | | | | | | | * lisp/ido.el (ido-mode): Disable the effects of 'ido-everywhere' when ido-mode is turned off.
* | Improve shr/eww handling of mailto URLsBasil L. Contovounesios2020-05-222-62/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/net/eww.el (eww): Use function-put in place of put, as recommended in "(elisp) Symbol Plists". (eww-follow-link): * lisp/net/shr.el (shr-browse-url): Rather than call browse-url-mail directly, call browse-url which respects the user options browse-url-handlers and browse-url-mailto-function. (Bug#41133) (shr--current-link-region): Return nil if there is no link at point. (shr--blink-link): Adapt accordingly. (shr-fill-line, shr-indent, shr-table-body): Refactor to avoid some unnecessary allocations. * etc/NEWS: Announce that eww-follow-link and shr-browse-url support custom URL handlers.
* | Various json.el improvementsBasil L. Contovounesios2020-05-223-315/+332
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * etc/NEWS: Announce that json-read-number is now stricter. * json.el: Bump package version. (json-encoding-lisp-style-closings, json-pre-element-read-function) (json-post-element-read-function, json-advance, json-peek) (json--path): Clarify and improve style of doc strings. (json-join): Define as an obsolete alias of string-join. (json-alist-p, json-plist-p): Refactor for speed and declare as pure, side-effect-free, and error-free. (json--plist-reverse): Rename function... (json--plist-nreverse): ...to this, making it destructive for speed. All callers changed. (json--plist-to-alist): Remove, replacing single use with map-pairs. (json--with-indentation): Accept multiple forms as arguments, fix their indentation, and allow them to be instrumented for debugging. Add docstring. (json-pop, json-read-keyword, json-add-to-object) (json-encode-array): Simplify for speed. (json-skip-whitespace): Put newline before carriage return for likely frequency of occurrence, and so that the characters appear in increasing order. (json--check-position): Use 1+. (json-path-to-position): Open code apply-partially. (json-keywords): Turn into a defconst and mark as obsolete now that it is no longer used. (json--post-value, json--number, json--escape): New rx definitions. (json-encode-keyword): Declare as side-effect-free. (json-read-number): Reject leading zeros and plus signs, and make integer part mandatory in accordance with JSON standards and for consistency with native JSON parsing functions. Eagerly signal json-number-format when garbage follows a valid number, e.g., when reading "1.1.1", instead of leaving that up to the caller. Remove optional internal argument from advertised calling convention now that the function is no longer recursive. (json-encode-number): Define as an alias of number-to-string. (json-special-chars): Turn into a defconst. (json-read-escaped-char, json-new-object, json-read-file) (json-pretty-print): Simplify. (json-read-string): For consistency with other json.el error reporting, remove check for leading '"', and use the integer value rather than the printed representation of characters in error data. At EOB signal json-end-of-file instead of json-string-format. (json--long-string-threshold, json--string-buffer): New variables. (json-encode-string): Reimplement in terms of buffer manipulation for speed (bug#20154). (json-read-object): Escape ?\} properly. (json--encode-alist): New function extracted from json-encode-alist. (json-encode-hash-table, json-encode-alist, json-encode-plist): Use it to avoid destructively modifying the argument when json-encoding-object-sort-predicate is non-nil without incurring unnecessary copying (bug#40693). Encode empty object as "{}" even when pretty-printing. Simplify for speed. (json-read-array): Avoid recomputing list length on each iteration when json-pre-element-read-function is non-nil. Make first element of json-array-format error data a string for consistency with json-object-format and to make the displayed error message clearer. (json-readtable-dispatch): Accept any kind of argument, not just symbols. Generate the table in a simpler manner so the dispatch order is clearer. Remove dispatch on ?+ and ?. now that json-read-number is stricter and for consistency with native JSON parsing functions. Signal json-end-of-file if argument is nil. (json-read): Simplify accordingly. (json-encode): Avoid allocating a list on each invocation. * lisp/jsonrpc.el (jsonrpc--json-read, jsonrpc--json-encode): Check whether native JSON functions are fboundp only once, at load time. * lisp/progmodes/python.el (python--parse-json-array): New function. (python-shell-prompt-detect): Use it to parse JSON directly as a list rather than converting from a vector. * test/lisp/json-tests.el (json-tests--with-temp-buffer): Allow instrumenting for debugging. (test-json-join, test-json-plist-to-alist): Remove tests. (test-json-alist-p, test-json-plist-p, test-json-advance) (test-json-peek, test-json-pop, test-json-skip-whitespace) (test-json-read-keyword, test-json-encode-keyword) (test-json-encode-number, test-json-read-escaped-char) (test-json-read-string, test-json-encode-string) (test-json-encode-key, test-json-new-object) (test-json-encode-hash-table, test-json-encode-plist) (test-json-encode-list, test-json-read-array) (test-json-encode-array, test-json-read) (test-json-read-from-string, test-json-encode): Extend tests. (test-json-plist-reverse): Rename test... (test-json-plist-nreverse): ...to this and avoid modifying literal lists. (test-json-read-number): Rename test... (test-json-read-integer): ...to this, focusing on integers. (test-json-add-to-object): Rename test... (test-json-add-to-alist): ...to this, focusing on alists. (json-encode-simple-alist): Rename test... (test-json-encode-alist): ...to this, extending it. (test-json-encode-alist-with-sort-predicate): Rename test... (test-json-encode-alist-sort): ...to this, extending it. (test-json-encode-plist-with-sort-predicate): Rename test... (test-json-encode-plist-sort): ...to this, extending it. (test-json-read-keyword-invalid, test-json-read-fraction) (test-json-read-exponent, test-json-read-fraction-exponent) (test-json-read-number-invalid) (test-json-read-escaped-char-invalid, test-json-add-to-plist) (test-json-add-to-hash-table, test-json-read-object-empty) (test-json-read-object-invalid, test-json-read-object-function) (test-json-encode-hash-table-pretty) (test-json-encode-hash-table-lisp-style) (test-json-encode-hash-table-sort, test-json-encode-alist-pretty) (test-json-encode-alist-lisp-style, test-json-encode-plist-pretty) (test-json-encode-plist-lisp-style, test-json-read-array-function) (test-json-encode-array-pretty, test-json-encode-array-lisp-style) (test-json-read-invalid): New tests. (test-json-path-to-position-no-match): Use should-not. (test-json-read-object): Move error check to new test test-json-read-object-invalid. (test-json-pretty-print-object): Adapt test now that empty objects are pretty-printed as "{}".
* | ; Bump defcustom :version in last changeBasil L. Contovounesios2020-05-211-2/+3
| | | | | | | | | | * lisp/ido.el (ido-cannot-complete-command): Bump defcustom :version after default value was changed.
* | lisp/ido.el: Respect completion-auto-help settingRyan C. Thompson2020-05-211-3/+13
| | | | | | | | | | | | | | | | | | | | | | This commit makes ido completion respect the user's setting for `completion-auto-help' by default. It does this by defining a wrapper function `ido-completion-auto-help', which calls `ido-completion-help' only when `completion-auto-help' is non-nil. * lisp/ido.el (ido-completion-auto-help): New function. (ido-cannot-complete-command): Use it as the new default (bug#41340).
* | Bookmark locations can refer to VC directory buffers (bug#39722)Matthias Meulien2020-05-211-0/+36
| | | | | | | | | | | | | | | | | | * etc/NEWS: Document feature. * lisp/vc/vc-dir.el (vc-dir-mode): Set local bookmark-make-record-function. (bookmark-make-record-default, bookmark-prop-get, bookmark-default-handler) (bookmark-get-bookmark-record): Declarations. (vc-dir-bookmark-make-record): Make record used to bookmark a `vc-dir' buffer. (vc-dir-bookmark-jump): Provides bookmark-jump behavior for a `vc-dir' buffer.
* | CC Mode: Fix bug #39972, by fixing c-display-defun-name for nested defunsAlan Mackenzie2020-05-201-1/+1
| | | | | | | | | | | | * lisp/progmodes/cc-mode.el (c-common-init): Build add-log-current-defun-function out of c-defun-name-and-limits instead of the former c-defun-name.
* | Prevent gnus-registry-handle-action from creating spurious entriesEric Abrahamsen2020-05-201-17/+19
| | | | | | | | | | | | | | | | Thanks to Bob Newell for finding this. * lisp/gnus/gnus-registry.el (gnus-registry-handle-action): If a message entry ends up with no groups in its 'group key, that means the entry should be deleted.
* | which-function-mode: put hook function on after-change-major-mode-hookAlan Mackenzie2020-05-201-47/+50
| | | | | | | | | | | | | | | | | | | | | | | | , rather than find-file-hook. This keeps which-function-mode active should the major mode be reinitialized. Also accept a null result from add-log-current-defun as definitive, should that function have run. This fixes bug #40714. * lisp/progmodes/which-func.el (which-func-ff-hook): Put on after-change-major-mode-hook. (which-function): Enhance the logic to accept a null result from add-log-current-defun.
* | ; Fix comment in tramp-archive.elMichael Albinus2020-05-201-2/+2
| |
* | Fix minor Tramp odditiesMichael Albinus2020-05-202-2/+16
| | | | | | | | | | | | | | | | * lisp/net/tramp-archive.el (tramp-archive-file-name-handler): Increase `max-specpdl-size' temporarily. * lisp/net/tramp-rclone.el (tramp-rclone-flush-directory-cache): Fix a problem with older Emacsen.
* | Add project-compile commandPhilip K2020-05-201-0/+12
| | | | | | | | | | * lisp/progmodes/project.el (project-compile): New function.
* | project--vc-list-files: Don't list conflicted files thriceDmitry Gutov2020-05-201-1/+3
| | | | | | | | | | * lisp/progmodes/project.el (project--vc-list-files): Use delete-consecutive-dups.
* | Allow back-references in syntax-propertize-rules.Tassilo Horn2020-05-191-10/+25
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/syntax.el (syntax-propertize--shift-groups-and-backrefs): Renamed from syntax-propertize--shift-groups, and also shift back-references. (syntax-propertize-rules): Adapt docstring and use renamed function. * test/lisp/emacs-lisp/syntax-tests.el: New test. (syntax-propertize--shift-groups-and-backrefs): New ERT test.
* | Indicate not downloaded parts in MIME buttons.Tassilo Horn2020-05-191-2/+12
| | | | | | | | | | | | | | | | | | | | Via nnimap-fetch-partial-articles one can tell Gnus to omit fetching certain parts by default. Now the MIME buttons in the article buffer indicate how to fetch the complete message in order to act on those missing parts. * lisp/gnus/gnus-art.el (gnus-insert-mime-button): Indicate not downloaded parts in MIME buttons.