aboutsummaryrefslogtreecommitdiffstats
path: root/etc/NEWS (follow)
Commit message (Collapse)AuthorAgeFilesLines
* ; * etc/NEWS (Eldoc): adjust NEWS entry.João Távora2020-07-081-2/+2
|
* ; * etc/NEWS: Fix last change.Eli Zaretskii2020-07-081-1/+1
|
* ; * etc/NEWS: Minor copyedits of the recent additions.Eli Zaretskii2020-07-081-9/+10
|
* Adjust Eldoc documentation after Eli's reviewJoão Távora2020-07-081-6/+14
| | | | | | | | | | | | | | * etc/NEWS (Eldoc): Adjust paragraphs. * lisp/emacs-lisp/eldoc.el (eldoc-prefer-doc-buffer): Adjust docstring. (eldoc--enthusiasm-curbing-timer, eldoc-documentation-strategy) (eldoc-documentation-functions): Adjust docstring. (eldoc--handle-docs): Adjust comments. (eldoc--documentation-compose-1): New helper. (eldoc-documentation-compose) (eldoc-documentation-compose-eagerly): Use it. (eldoc-print-current-symbol-info): Adjust comments.
* Better handle asynchronous Eldoc sourcesJoão Távora2020-07-081-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a backward compatible redesign of significant parts of the eldoc.el library. Previously, Eldoc clients (major/minor modes setting its documentation gathering variables) needed to directly call eldoc-message, an internal function, to display the docstring to the user. When more asynchronous sources are involved, this is hard to do or even breaks down. Now, an Eldoc backend may return any non-nil, non-string value and call a callback afterwards. This restores power to Eldoc over how (and crucially also when) to display the docstrings to the user. Among other things, this fixes so called "doc blinking", or the very short-lived display of a lower priority Eldoc message. This would happen if a particular producer of documentation finishes shortly before a higher priority one, like in the LSP engine Eglot as reported by Andrii Kolomoiets <andreyk.mad@gmail.com> and Dmitry Gutov <dgutov@yandex.ru>. Gathering docstrings is now delegated to the variable eldoc-documentation-strategy, which is the new name for the now-obsolete eldoc-documentation-function, and still accepts the so-called "old protocol". Examples of the new strategies enabled are codified in functions such as eldoc-documentation-enthusiast, eldoc-documentation-compose-eagerly, along with the existing eldoc-documentation-compose and eldoc-documentation-default. The work of displaying and formatting docstrings is shifted almost fully to Eldoc itself and is delegated to the internal function eldoc--handle-docs. Among other improvements, it handles most of eldoc-echo-area-use-multiline-p and outputs documentation to a temporary *eldoc* buffer. The manual and NEWS are updated to mention the new Eldoc features. * lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): Overhaul docstring. (eldoc-documentation-compose, eldoc-documentation-default): Handle non-nil, non-string values of elements of eldoc-documentation-functions. Use eldoc--handle-multiline. (eldoc-print-current-symbol-info): Honour non-nil, non-string values returned by eldoc-documentation-callback. (eldoc--make-callback): Now also a function. (eldoc-documentation-default, eldoc-documentation-compose): Tweak docstring. (eldoc-documentation-enthusiast, eldoc-documentation-compose-eagerly): New functions. (eldoc-echo-area-use-multiline-p): Add new semantics. (eldoc--handle-docs): Handle some of eldoc-echo-area-use-multiline-p. (eldoc-doc-buffer): New command. (eldoc-prefer-doc-buffer): New defcustom. (eldoc--enthusiasm-curbing-timer): New variable. (eldoc-documentation-strategy): Rename from eldoc-documentation-function. (eldoc--supported-p): Use eldoc-documentation-strategy (eldoc-highlight-function-argument) (eldoc-argument-case, global-eldoc-mode) (turn-on-eldoc-mode): Mention eldoc-documentation-strategy. (eldoc-message-function): Mention eldoc--message. (eldoc-message): Made obsolete. (eldoc--message): New helper. * lisp/hexl.el (hexl-print-current-point-info): Adjust to new eldoc-documentation-functions protocol. * lisp/progmodes/cfengine.el (cfengine3-documentation-function): Adjust to new eldoc-documentation-functions protocol. * lisp/progmodes/elisp-mode.el (elisp-eldoc-documentation-function): Adjust to new eldoc-documentation-functions protocol. * lisp/progmodes/octave.el (octave-eldoc-function): Adjust to new eldoc-documentation-functions protocol. * lisp/progmodes/python.el (python-eldoc-function): Adjust to new eldoc-documentation-functions protocol. (eldoc-print-current-symbol-info): Rework with cl-labels. * doc/emacs/programs.texi (Lisp Doc): Mention eldoc-documentation-strategy. * doc/lispref/modes.texi (Major Mode Conventions): Mention eldoc-documentation-functions. * etc/NEWS: Mention eldoc-documentation-strategy.
* Revert feature added in bfd96e995d using project directories in vc (bug#41821)Juri Linkov2020-07-021-4/+0
|
* ; * etc/NEWS: Announce dropping of support for OpenBSD 5.3.Eli Zaretskii2020-07-011-0/+5
|
* Bind 'C-x 4 1' to 'same-window-prefix' and document new commands (bug#41691)Juri Linkov2020-07-011-0/+10
| | | | | | | | * lisp/window.el (ctl-x-4-map): Bind 'C-x 4 1' to 'same-window-prefix'. * doc/emacs/windows.texi (Pop Up Window): Add 'C-x 4 4' and 'C-x 4 1'. * doc/emacs/frames.texi (Creating Frames): Add 'C-x 5 5'. (Tab Bars): Add 'C-x t t'.
* Subject: Frame-local tab-bar for numeric value of tab-bar-show (bug#42052)James N. V. Cash2020-06-301-0/+4
| | | | | | | | | * lisp/tab-bar.el (tab-bar-new-tab-to): Set frame parameter tab-bar-lines to 1 when tab-bar-show is the same as number of tabs. (tab-bar-close-tab, tab-bar-close-other-tabs): Set frame parameter tab-bar-lines to 0 when tab-bar-show is the same as number of tabs. Copyright-paperwork-exempt: yes
* Add NEWS entry for bug-reference auto-setup.Tassilo Horn2020-06-251-2/+15
| | | | * etc/NEWS: Add entry for bug-reference auto-setup.
* Fix last changeEli Zaretskii2020-06-251-0/+5
| | | | | | | | * lisp/menu-bar.el (menu-bar-describe-menu): Improve the wording and the help-echo of the new list-recent-keystrokes Help menu item. (Bug#41933) * etc/NEWS: Call out the new menu item.
* ; * etc/NEWS: Improve format and wording of recently added entries.Eli Zaretskii2020-06-241-5/+8
|
* ; Fix typos in etc/NEWSMichael Albinus2020-06-241-4/+4
|
* M-n in read-directory-name of vc commands gets project dirs (bug#41821)Juri Linkov2020-06-241-0/+3
| | | | | | | | | | * lisp/progmodes/project.el (project-known-roots): New autoloaded function. * lisp/vc/vc-hooks.el (vc-known-roots): New function. * lisp/vc/vc.el (vc-root-diff, vc-print-root-log): * lisp/vc/vc-dir.el (vc-dir): Use 'vc-known-roots' for default values for read-directory-name.
* More not-state-changing vc commands can be used from non-file buffersJuri Linkov2020-06-241-0/+3
| | | | | | | | | * lisp/vc/vc.el (vc-deduce-fileset): Instead of checking for log-view-mode, check for '(not buffer-file-name)' before trying to get the backend for default-directory. Remove the branch that checks for '(not buffer-file-name)' and signals the error because vc-responsible-backend used in previous condition already signals its error. (Bug#41974)
* Minor improvements as followup to recent RGB string-parsing changeEli Zaretskii2020-06-221-0/+5
| | | | | | | | | | | * src/xfaces.c (Finternal_color_values_from_color_spec): Rename to... (Fcolor_values_from_color_spec): ...this. Callers changed. Rename the argument to SPEC and improve the doc string. (parse_color_spec, parse_float_color_comp, parse_hex_color_comp): Improve commentary. (parse_color_spec): Rename the argument S to SPEC. * etc/NEWS: Mention 'color-values-from-color-spec'.
* New commands other-window-prefix (C-x 4 4) and other-frame-prefix (C-x 5 5)Juri Linkov2020-06-221-0/+8
| | | | | | | | * lisp/window.el (other-window-prefix, same-window-prefix): New commands. (ctl-x-4-map): Bind 'C-x 4 4' to 'other-window-prefix'. (Bug#41691) * lisp/frame.el (other-frame-prefix): New command. (ctl-x-5-map): Bind 'C-x 5 5' to 'other-frame-prefix'.
* Documentation followup to the last changeEli Zaretskii2020-06-201-0/+6
| | | | | | * doc/emacs/cmdargs.texi (General Variables): * etc/NEWS: Document the COLORTERM environment variable. (Bug#41846)
* * etc/NEWS: Fix inconsistencies. Add `tramp-crypt-add-directory'.Michael Albinus2020-06-181-17/+22
|
* Improve battery.el UPower supportBasil L. Contovounesios2020-06-181-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For discussion, see the following threads: https://lists.gnu.org/archive/html/emacs-devel/2020-01/msg00843.html https://lists.gnu.org/archive/html/emacs-devel/2020-02/msg00042.html https://lists.gnu.org/archive/html/emacs-devel/2020-02/msg00282.html * etc/NEWS: Announce that battery-upower is enabled by default. * lisp/battery.el (battery-upower-device): Accept both battery and line power device names, or a list thereof (bug#39491). (battery-upower-line-power-device): Remove user option; superseded by battery-upower-device. (battery-upower-subscribe): New user option. (battery-status-function): Check whether a UPower service is provided without activating it. (display-battery-mode): Subscribe to UPower signals when using battery-upower. (battery-upower): Merge data from multiple power sources. Calculate terse battery status %b based on average battery load percentage rather than coarse and often missing BatteryLevel (bug#39491). Add support for average temperature %d. (battery-upower-dbus-service) (battery-upower-dbus-interface) (battery-upower-dbus-path) (battery-upower-dbus-device-interface) (battery-upower-dbus-device-path) (battery-upower-device-all-properties): Rename to... (battery-upower-service) (battery-upower-interface) (battery-upower-path) (battery-upower-device-interface) (battery-upower-device-path) (battery--upower-device-properties): ...these, respectively. (battery-upower-device-list): Rename to... (battery--upower-devices) ...this. Return a flat list of device names determined by battery-upower-device. (battery-upower-types, battery-upower-states) (battery-upower-device-property, battery-upower-device-autodetect): Remove. (battery--upower-signals): New variable. (battery--upower-signal-handler, battery--upower-props-changed) (battery--upower-unsubscribe, battery--upower-subsribe) (battery--upower-state): New functions. * test/lisp/battery-tests.el (battery-upower-state) (battery-upower-state-unknown): New tests.
* Fix and extend format-spec (bug#41758)Basil L. Contovounesios2020-06-181-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/format-spec.el: Use lexical-binding. Remove dependence on subr-x.el. (format-spec-make): Clarify docstring. (format-spec--parse-modifiers): Rename to... (format-spec--parse-flags): ...this and simplify. In particular, don't bother parsing :space-pad which is redundant and unused. (format-spec--pad): Remove, replacing with... (format-spec--do-flags): ...this new helper function which performs more of format-spec's supported text manipulation. (format-spec): Autoload. Allow optional argument to take on special values 'ignore' and 'delete' for more control over what happens when a replacement for a format specification isn't provided. Bring back proper support for a precision modifier similar to that of 'format'. * lisp/battery.el (battery-format): Rewrite in terms of format-spec. (battery-echo-area-format, battery-mode-line-format): Mention support of format-spec syntax in docstrings. * doc/lispref/strings.texi (Custom Format Strings): * etc/NEWS: Document and announce these changes. * lisp/dired-aux.el (dired-do-compress-to): * lisp/erc/erc-match.el (erc-log-matches): * lisp/erc/erc.el (erc-update-mode-line-buffer): * lisp/gnus/gnus-sieve.el (gnus-sieve-update): * lisp/gnus/gssapi.el (open-gssapi-stream): * lisp/gnus/mail-source.el (mail-source-fetch-file) (mail-source-fetch-directory, mail-source-fetch-pop) (mail-source-fetch-imap): * lisp/gnus/message.el (message-insert-formatted-citation-line): * lisp/image-dired.el: * lisp/net/eww.el: * lisp/net/imap.el (imap-kerberos4-open, imap-gssapi-open) (imap-shell-open): * lisp/net/network-stream.el (network-stream-open-shell): * lisp/obsolete/tls.el (open-tls-stream): * lisp/textmodes/tex-mode.el: Remove extraneous loads and autoloads of format-spec now that it is autoloaded and simplify its uses where possible. * test/lisp/battery-tests.el (battery-format): Test new format-spec support. * test/lisp/format-spec-tests.el (test-format-spec): Rename to... (format-spec) ...this, extending test cases. (test-format-unknown): Rename to... (format-spec-unknown): ...this, extending test cases. (test-format-modifiers): Rename to... (format-spec-flags): ...this. (format-spec-make, format-spec-parse-flags, format-spec-do-flags) (format-spec-do-flags-truncate, format-spec-do-flags-pad) (format-spec-do-flags-chop, format-spec-do-flags-case): New tests.
* Various dbus.el cleanups (bug#41744)Basil L. Contovounesios2020-06-181-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * etc/NEWS: Announce removal of aliases obsolete since Emacs 24.3. * lisp/net/dbus.el: Remove unneeded dependency on cl-lib.el. Quote function symbols as such. (dbus-ignore-errors): Don't add macro name to font-lock keywords, as emacs-lisp-mode now dynamically fontifies new macro definitions. (dbus-event-error-hooks, dbus-call-method-non-blocking): Remove aliases obsolete since Emacs 24.3. (dbus-register-signal, dbus-escape-as-identifier): Simplify. Use regexp \` and \' in place of ^ and $. (dbus--parse-xml-buffer): New function for libxml2 compatibility. (dbus-introspect-xml): Use it. (dbus-string-to-byte-array, dbus-byte-array-to-string) (dbus-unescape-from-identifier, dbus-list-known-names) (dbus-introspect-get-all-nodes, dbus-get-all-properties) (dbus-get-all-managed-objects): Simplify. (dbus--introspect-names, dbus--introspect-name): New convenience functions. (dbus-introspect-get-node-names) (dbus-introspect-get-interface-names) (dbus-introspect-get-interface, dbus-introspect-get-method-names) (dbus-introspect-get-method, dbus-introspect-get-signal-names) (dbus-introspect-get-signal, dbus-introspect-get-property-names) (dbus-introspect-get-property) (dbus-introspect-get-annotation-names) (dbus-introspect-get-annotation) (dbus-introspect-get-argument-names, dbus-introspect-get-argument): Use them to DRY. * test/lisp/net/dbus-tests.el (dbus-test-all): Quote function symbols as such.
* Orthographical amendments to commit 145aab0672ae259736ee9230f8e0ff4effa5f4fdAlan Mackenzie2020-06-091-1/+1
| | | | | | | * etc/NEWS: Correct the spelling of CC Mode. * lisp/progmodes/cc-fonts.el (doxygen-font-lock-doc-comments): Replace curly quotes in comments by ASCII ones.
* The key prefix 'C-x t t' displays next command buffer in a new tab (bug#41691)Juri Linkov2020-06-071-0/+4
| | | | | | | | | | | * lisp/tab-bar.el (other-tab-prefix): New command. (tab-prefix-map): Bind key 'C-x t t' to other-tab-prefix. * lisp/windmove.el (windmove-display-in-direction): Use display-buffer-override-next-command. * lisp/window.el (display-buffer-override-next-command): New function refactored from windmove-display-in-direction.
* make-text-button no longer modifies its string argPaul Eggert2020-06-061-0/+5
| | | | | | | | | * etc/NEWS: Mention this. * lisp/apropos.el (apropos-library-button): * lisp/ibuf-ext.el (ibuffer-old-saved-filters-warning): There’s no longer a need copy make-text-button’s string arg. * lisp/button.el (make-text-button): Return a copy of a string arg. Delay making the copy until after error-checking.
* Un-deprecate oset and oset-defaultBasil L. Contovounesios2020-06-061-1/+6
| | | | | | | | | | | | | | | | | | | | | For discussion see the following threads: https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg00630.html https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg00674.html https://lists.gnu.org/archive/html/emacs-devel/2020-06/msg00099.html * lisp/emacs-lisp/eieio.el (oset, oset-default): Un-deprecate. * lisp/emacs-lisp/eieio-core.el (eieio-oref): Declare gv-setter here instead of in lisp/emacs-lisp/eieio.el. Suggested by Stefan Monnier <monnier@iro.umontreal.ca>. (eieio-oref-default): Add gv-setter declaration. * etc/NEWS: Announce these changes. * doc/misc/eieio.texi (Accessing Slots): Document oref and oref-default as generalized variables. Consistently document getters before setters. * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: Use lexical-binding. (eieio-test-13-init-methods): Simplify. (eieio-test-33-instance-tracker): Declare IT-list as special.
* ; NEWS updatesDmitry Gutov2020-06-031-0/+4
|
* * lisp/progmodes/project.el (project-vc-dir, project-shell): New commands.Juri Linkov2020-06-021-2/+2
| | | | | | | | | (project-compile): Add args and interactive spec like in 'compile'. (project-switch-commands): Bind project-vc-dir to "v", project-shell to "s", and rebind project-find-regexp from "s" to "r". * doc/emacs/maintaining.texi (Project File Commands): Describe project-vc-dir and project-shell.
* occur: Add bindings for next-error-no-selectTino Calancha2020-05-311-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Make the navigation in the occur buffer closer to the navigation in the compilation buffer. Add bindings to navigate the occur matches (Bug#39121). Honor `next-error-highlight' and `next-error-highlight-no-select' when navigating the occurrences. * lisp/replace.el (occur-highlight-regexp, occur-highlight-overlay): New variables. (occur-1): Set `occur-highlight-regexp' to the searched regexp. (occur-goto-locus-delete-o, occur--highlight-occurrence): New defuns. (occur-mode-display-occurrence, occur-mode-goto-occurrence): Use `occur--highlight-occurrence'. (occur-mode-map): Bind n to `next-error-no-select' and p to `previous-error-no-select' * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 28.1): Announce this change. * test/lisp/replace-tests.el (replace-tests-with-highlighted-occurrence): Add helper macro. (occur-highlight-occurrence): Add test.
* * lisp/emacs-lisp/lisp-mode.el: Add new indentation conventionakater2020-05-291-0/+4
| | | | | | (calculate-lisp-indent): To distinguish code and data when indenting, introduce the convention that a space between an open paren and a symbol indicate that this should be indented as a simple data list.
* Improve Malayalam language transliterationJames Thomas2020-05-281-0/+5
| | | | | | | | | | | The existing ITRANS scheme did not support some characters and language quirks like 'chillu's. The Inscript method had errors. * lisp/language/ind-util.el (indian-mlm-base-table): Add archaic chars, Mozhi combos; cleanup. (indian-mlm-mozhi-table): New scheme Mozhi. * lisp/leim/quail/indian.el (inscript-mlm-keytable): Correct errors. Add Inscript chillus & zero-width chars, Mozhi scheme. * etc/NEWS: Mention the changes.
* Merge branch 'feature/project-switching'Simen Heggestøyl2020-05-281-0/+13
|\
| * Some copy editsDmitry Gutov2020-05-261-2/+2
| | | | | | | | | | | | | | * doc/emacs/maintaining.texi (Switching Projects) (Project File Commands): Copy edits. * etc/NEWS: Same.
| * Update the Emacs manual with recent project.el changesSimen Heggestøyl2020-05-261-0/+13
| | | | | | | | | | | | | | | | | | | | * doc/emacs/maintaining.texi (Projects): Add a menu. (Project File Commands): New subsection describing project file commands (moved here from 'Working with Projects'). Describe the new commands 'project-dired' and 'project-eshell'. (Switching Projects): New subsection. * etc/NEWS: Mention project.el changes.
* | Adjust NEWS for revert of eshell fix on emacs-27 (Bug#41370)Noam Postavsky2020-05-271-0/+6
|/ | | | | | * etc/NEWS.27: Move "Eshell no longer re-initializes its keymap every call" to... * etc/NEWS: ... here.
* Mark metamail.el as obsolete (Bug#41388)Stefan Kangas2020-05-261-0/+2
| | | | | | | | | 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.
* Allow inhibiting 'auto-save-visited-mode' on a per-buffer basis.Philipp Stephani2020-05-251-0/+3
| | | | | | | | | | | | 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.
* Mark browse-url-conkeror as obsoleteStefan Kangas2020-05-241-0/+2
| | | | | | | | | | | * 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.
* Reject invalid characters in XML strings (Bug#41094).Philipp Stephani2020-05-231-0/+7
| | | | | | | | | * 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.
* ; * etc/NEWS: Mention new customization options for package.el.Eli Zaretskii2020-05-231-0/+6
|
* Improve shr/eww handling of mailto URLsBasil L. Contovounesios2020-05-221-0/+18
| | | | | | | | | | | | | | | * 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-221-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 "{}".
* Bookmark locations can refer to VC directory buffers (bug#39722)Matthias Meulien2020-05-211-0/+3
| | | | | | | | | * 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.
* ; Update NEWSDmitry Gutov2020-05-191-0/+4
|
* Introduce process-file-return-signal-stringMichael Albinus2020-05-161-43/+54
| | | | | | | | | | | | | | | | | | | | * doc/lispref/processes.texi (Synchronous Processes): Describe `process-file-return-signal-string'. * doc/misc/tramp.texi: Adapt Tramp and Emacs version numbers. (Remote processes): Describe `process-file-return-signal-string' and $INSIDE_EMACS. * etc/NEWS: Describe `process-file-return-signal-string'. Fix typos. * lisp/simple.el (process-file-return-signal-string): New user option. * lisp/net/tramp-adb.el (tramp-adb-handle-process-file): * lisp/net/tramp-sh.el (tramp-sh-handle-process-file): Use it. * lisp/net/tramp.el (tramp-get-signal-strings): New defun. * test/lisp/net/tramp-tests.el (tramp-test28-process-file): Adapt test.
* Delete libraries obsolete since 23.1 and 23.2Stefan Kangas2020-05-151-0/+4
| | | | | | | | | | | | | | | | | | | Emacs 23.2 was released 10 years ago. old-whitespace.el has a replacement in whitespace.el and is no longer relevant. The other libraries implement compatibility with Lucid Emacs, a modified version of Emacs last released in the 1990s. * lisp/obsolete/ledit.el: * lisp/obsolete/lmenu.el: * lisp/obsolete/lucid.el: * lisp/obsolete/old-whitespace.el: Delete files. These libraries have been obsolete since Emacs 23.1 or 23.2. * etc/NEWS: Announce their deletion. * admin/authors.el (authors-ignored-files) (authors-fixed-entries, authors-valid-file-names): * lisp/emulation/viper.el (viper-mode): * lisp/ffap.el (ffap-menu-ask): Remove references to deleted files.
* Combine archive-int-to-mode and tar-grind-file-modebug27952_combine-tar-grind-file-mode_archive-int-to-modeTino Calancha2020-05-141-0/+4
| | | | | | | | | | | | | | | | | | | | | Add a new function, file-modes-number-to-symbolic. Make archive-int-to-mode and obsolete alias of it; use it to define tar-grind-file-mode (Bug#27952). * lisp/files.el (file-modes-number-to-symbolic): New defun. * lisp/arc-mode.el (archive-int-to-mode): Make it an obsolete alias. * lisp/tar-mode.el (tar-grind-file-mode): Use file-modes-number-to-symbolic. * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode) * test/lisp/tar-mode-tests.el (tar-mode-test-tar-grind-file-mode): Update test. * test/lisp/files-tests.el (files-tests-file-modes-symbolic-to-number) (files-tests-file-modes-number-to-symbolic): New tests. * doc/lispref/files.texi (Changing Files): Document the new funtion. * etc/NEWS (Lisp Changes in Emacs 28.1): Announce it.
* Add new filter command to Package Menu (Bug#39903)Pieter van Oostrum2020-05-091-0/+1
| | | | | | | | | | | | * lisp/emacs-lisp/package.el (package-menu-filter-marked): New filter command. * test/lisp/emacs-lisp/package-tests.el (package-test-list-filter-marked): New test. (package-menu-mode-menu): (package-menu-mode-map): Update menu to include new filter command. * doc/emacs/package.texi (Package Menu): Document the new command. * etc/NEWS: Announce the new command.
* cc-mode: add ‘c-lineup-ternary-bodies’ (bug#41061)Michal Nazarewicz2020-05-091-0/+17
| | | | | | | | | | | | | | | Introduce ‘c-lineup-ternary-bodies’ function which, when used as a c lineup function, aligns question mark and colon of a ternary operator. For example: return arg % 2 == 0 ? arg / 2 : (3 * arg + 1); * lisp/progmodes/cc-align.el (c-lineup-ternary-bodies): New function. * doc/misc/cc-mode.texi (Operator Line-Up Functions): Document the new function. * test/lisp/progmodes/cc-mode-tests.el (c-lineup-ternary-bodies): New test case.
* Allow predicates for matching in browse-url-handlers.Tassilo Horn2020-05-081-5/+15
| | | | | | | | | | * lisp/net/browse-url.el (browse-url-handlers): Allow predicates for matching in browse-url-handlers. Adapt docs and customize type. (browse-url-select-handler): Support predicates in addition to regexes. (browse-url--non-html-file-url-p): New defun. (browse-url-default-handlers): Use above predicate entry instead of two entries.