Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ** Emacs now provides a limited form of concurrency with Lisp threads.
- Concurrency in Emacs Lisp is "mostly cooperative", meaning that
- Emacs will only switch execution between threads at well-defined
- times: when Emacs waits for input, during blocking operations related
- to threads (such as mutex locking), or when the current thread
- explicitly yields. Global variables are shared among all threads, but
- a 'let' binding is thread-local. Each thread also has its own current
- buffer and its own match data.
- See the chapter "Threads" in the ELisp manual for full documentation
- of these facilities.
- ...
- ** 'C-x h' ('mark-whole-buffer') will now avoid marking the prompt
- part of minibuffers.
- ...
- ** 'align-regexp' has a separate history for its interactive argument.
- 'align-regexp' no longer shares its history with all other
- history-less functions that use 'read-string'.
- ...
- ** The networking code has been reworked so that it's more
- asynchronous than it was (when specifying :nowait t in
- 'make-network-process'). How asynchronous it is varies based on the
- capabilities of the system, but on a typical GNU/Linux system the DNS
- resolution, the connection, and (for TLS streams) the TLS negotiation
- are all done without blocking the main Emacs thread. To get
- asynchronous TLS, the TLS boot parameters have to be passed in (see
- the manual for details).
- Certain process oriented functions (like 'process-datagram-address')
- will block until socket setup has been performed. The recommended way
- to deal with asynchronous sockets is to avoid interacting with them
- until they have changed status to "run". This is most easily done
- from a process sentinel.
- ...
- ** Emacsclient has a new option -T/--tramp.
- This helps with using a local Emacs session as the server for a remote
- emacsclient. With appropriate setup, one can now set the EDITOR
- environment variable on a remote machine to emacsclient, and
- use the local Emacs to edit remote files via Tramp. See the node
- "emacsclient Options" in the user manual for the details.
- ...
- ** Two new commands for finding the source code of Emacs Lisp
- libraries: 'find-library-other-window' and 'find-library-other-frame'.
- ...
- ** The new variable 'display-raw-bytes-as-hex' allows to change the
- display of raw bytes from octal to hex.
- ...
- ** Emacs now supports optional display of line numbers in the buffer.
- This is similar to what linum-mode provides, but much faster and
- doesn't usurp the display margin for the line numbers. Customize the
- buffer-local variable 'display-line-numbers' to activate this optional
- display. Alternatively, you can use the `display-line-numbers-mode'
- minor mode or the global `global-display-line-numbers-mode'. When
- using these modes, customize `display-line-numbers-type' with the same
- value as you would use with `display-line-numbers'.
- Line numbers are not displayed at all in minibuffer windows and in
- tooltips, as they are not useful there.
- Lisp programs can disable line-number display for a particular screen
- line by putting the 'display-line-numbers-disable' text property or
- overlay property on the first character of that screen line. This is
- intended for add-on packages that need a finer control of the display.
- Lisp programs that need to know how much screen estate is used up for
- line-number display in a window can use the new function
- 'line-number-display-width'.
- Linum mode and all similar packages are henceforth becoming obsolete.
- Users and developers are encouraged to switch to this new feature
- instead.
- ...
- ** The 'occur' command can now operate on the region.
- ...
- ** New bindings for 'query-replace-map'.
- 'undo', undo the last replacement; bound to 'u'.
- 'undo-all', undo all replacements; bound to 'U'.
- ...
- ** Emacs no longer prompts about editing a changed file when the file's
- content is unchanged. Instead of only checking the modification time,
- Emacs now also checks the file's actual content before prompting the user.
- ...
- ** New command 'replace-buffer-contents'.
- This command replaces the contents of the accessible portion of the
- current buffer with the contents of the accessible portion of a
- different buffer while keeping point, mark, markers, and text
- properties as intact as possible.
- ...
- *** You can answer 'all' in 'dired-do-delete' to delete recursively all
- remaining directories without more prompts.
- ...
- *** You can now use '`?`' in 'dired-do-shell-command'.
- It gets replaced by the current file name, like ' ? '.
- ...
- *** In wdired, when editing files to contain slash characters,
- the resulting directories are automatically created. Whether to do
- this is controlled by the 'wdired-create-parent-directories' variable.
- ...
- *** 'W' is now bound to 'browse-url-of-dired-file', and is useful for
- viewing HTML files and the like.
- ...
- *** New 'M-RET' command for opening a link at point in a new eww buffer.
- ...
- *** A new 's' command for switching to another eww buffer via the minibuffer.
- ...
- *** New connection method "gdrive", which allows to access Google
- Drive onsite repositories.
- ...
- *** Tramp is able now to send SIGINT to remote asynchronous processes.
- ...
- *** Support for completing attribute values, at-rules, bang-rules,
- HTML tags, classes and IDs using the 'completion-at-point' command.
- Completion candidates for HTML classes and IDs are retrieved from open
- HTML mode buffers.
- ...
- *** CSS mode now binds 'C-h S' to a function that will show
- information about a CSS construct (an at-rule, property, pseudo-class,
- pseudo-element, with the default being guessed from context). By
- default the information is looked up on the Mozilla Developer Network,
- but this can be customized using 'css-lookup-url-format'.
- ...
- *** CSS colors are fontified using the color they represent as the
- background. For instance, #ff0000 would be fontified with a red
- background.
- ...
- *** Opening a .h file will turn C or C++ mode depending on language used.
- This is done with the help of 'c-or-c++-mode' function which analyses
- contents of the buffer to determine whether it's a C or C++ source
- file.
- ...
- *** Enchant is now supported as a spell-checker.
- Enchant is a meta-spell-checker that uses providers
- such as Hunspell to do the actual checking. With it, users can use
- spell-checkers not directly supported by Emacs, such as Voikko, Hspell
- and AppleSpell, more easily share personal word-lists with other
- programs, and configure different spelling-checkers for different
- languages. (Version 2.1.0 or later of Enchant is required.)
- ...
- *** A new submode of 'html-mode', 'mhtml-mode', is now the default
- mode for *.html files. This mode handles indentation,
- fontification, and commenting for embedded JavaScript and CSS.
- ...
- ** New major mode 'less-css-mode' (a minor variant of 'css-mode') for
- editing Less files.
- ...
- ** 'C-up', 'C-down', 'C-left' and 'C-right' are now defined in term
- mode to send the same escape sequences that xterm does. This makes
- things like forward-word in readline work.
- ...
- ** 'min' and 'max' no longer round their results.
- Formerly, they returned a floating-point value if any argument was
- floating-point, which was sometimes numerically incorrect. For
- example, on a 64-bit host (max 1e16 10000000000000001) now returns its
- second argument instead of its first.
- ...
- ** To avoid confusion caused by "smart quotes", the reader no longer
- accepts Lisp symbols which begin with the following quotation
- characters: ‘’‛“”‟〞"', unless they are escaped with backslash.
- ...
- ** The function 'assoc' now takes an optional third argument TESTFN.
- This argument, when non-nil, is used for comparison instead of
- 'equal'.
- ...
- ** The new function 'buffer-hash' computes a fast, non-consing hash of
- a buffer's contents.
- ...
- ** 'car' and 'cdr' compositions 'cXXXr' and 'cXXXXr' are now part of Elisp.
- ...
- ** 'gensym' is now part of Elisp.
- ...
- ** Intercepting hotkeys on Windows 7 and later now works better.
- The new keyboard hooking code properly grabs system hotkeys such as
- Win-* and Alt-TAB, in a way that Emacs can get at them before the
- system. This makes the 'w32-register-hot-key' functionality work
- again on all versions of MS-Windows starting with Windows 7. On
- Windows NT and later you can now register any hotkey combination. (On
- Windows 9X, the previous limitations, spelled out in the Emacs manual,
- still apply.)
- ...
- ** 'process-attributes' on Darwin systems now returns more information.
- THIS MEANS M-x proced WORKS NOW ON OSX!!!
- ...
- ** Mousewheel and trackpad scrolling on macOS 10.7+ now behaves more
- like the macOS default. The new variables 'ns-mwheel-line-height',
- 'ns-use-mwheel-acceleration' and 'ns-use-mwheel-momentum' can be used
- to customize the behavior.
Add Comment
Please, Sign In to add comment