2007-04-12 02:31:20 +00:00
|
|
|
|
GNU Emacs NEWS -- history of user-visible changes.
|
2007-02-11 01:18:25 +00:00
|
|
|
|
|
2015-01-01 22:26:41 +00:00
|
|
|
|
Copyright (C) 2014-2015 Free Software Foundation, Inc.
|
2007-02-11 01:18:25 +00:00
|
|
|
|
See the end of the file for license conditions.
|
1999-10-03 12:39:42 +00:00
|
|
|
|
|
2010-01-12 05:11:05 +00:00
|
|
|
|
Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
|
2006-06-04 01:01:51 +00:00
|
|
|
|
If possible, use M-x report-emacs-bug.
|
|
|
|
|
|
2014-10-02 04:24:07 +00:00
|
|
|
|
This file is about changes in Emacs version 25.
|
2006-06-04 01:01:51 +00:00
|
|
|
|
|
2014-10-02 04:24:07 +00:00
|
|
|
|
See files NEWS.24, NEWS.23, NEWS.22, NEWS.21, NEWS.20, NEWS.19, NEWS.18,
|
2010-03-11 06:10:50 +00:00
|
|
|
|
and NEWS.1-17 for changes in older Emacs versions.
|
2006-06-04 01:01:51 +00:00
|
|
|
|
|
|
|
|
|
You can narrow news to a specific version by calling `view-emacs-news'
|
|
|
|
|
with a prefix argument or by typing C-u C-h C-n.
|
2007-06-12 08:16:23 +00:00
|
|
|
|
|
2015-03-03 22:52:04 +00:00
|
|
|
|
Temporary note:
|
|
|
|
|
+++ indicates that all necessary documentation updates are complete.
|
|
|
|
|
(This means all relevant manuals in doc/ AND lisp doc-strings.)
|
|
|
|
|
--- means no change in the manuals is needed.
|
|
|
|
|
When you add a new item, use the appropriate mark if you are sure it applies,
|
|
|
|
|
otherwise leave it unmarked.
|
2014-12-18 15:25:54 +00:00
|
|
|
|
|
2014-03-21 06:36:08 +00:00
|
|
|
|
|
2014-09-29 18:14:08 +00:00
|
|
|
|
* Installation Changes in Emacs 25.1
|
2014-03-21 06:36:08 +00:00
|
|
|
|
|
2014-03-27 19:41:57 +00:00
|
|
|
|
+++
|
2014-05-17 08:11:31 +00:00
|
|
|
|
** Building Emacs now requires C99 or later.
|
|
|
|
|
|
2014-06-11 03:03:40 +00:00
|
|
|
|
** Building Emacs now requires GNU make, version 3.81 or later.
|
2014-03-27 19:41:57 +00:00
|
|
|
|
|
2015-06-03 00:20:06 +00:00
|
|
|
|
** New configure option --with-cairo.
|
2015-06-03 00:46:09 +00:00
|
|
|
|
Maybe add text based on http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00689.html
|
2015-06-03 00:20:06 +00:00
|
|
|
|
|
2014-04-16 15:28:06 +00:00
|
|
|
|
** By default, Emacs no longer works on IRIX. We expect that Emacs
|
|
|
|
|
users are not affected by this, as SGI stopped supporting IRIX in
|
|
|
|
|
December 2013. If you are affected, please send a bug report. You
|
|
|
|
|
should be able to work around the problem either by porting the Emacs
|
|
|
|
|
undumping code to GCC under IRIX, or by configuring --with-wide-int,
|
|
|
|
|
or by sticking with Emacs 24.4.
|
|
|
|
|
|
2015-01-25 02:05:33 +00:00
|
|
|
|
** 'configure' now prefers gnustep-config when configuring GNUstep.
|
|
|
|
|
If gnustep-config is not available, the old heuristics are used.
|
|
|
|
|
|
2014-05-02 23:29:57 +00:00
|
|
|
|
---
|
2015-04-12 21:55:38 +00:00
|
|
|
|
** The configure option '--with-pkg-config-prog' has been removed.
|
2014-05-16 15:49:13 +00:00
|
|
|
|
Use './configure PKG_CONFIG=/full/name/of/pkg-config' if you need to.
|
2014-05-02 23:29:57 +00:00
|
|
|
|
|
2015-04-12 21:55:38 +00:00
|
|
|
|
---
|
|
|
|
|
** The configure option '--with-mmdf' has been removed.
|
|
|
|
|
It was no longer useful, as it relied on libraries that are no longer
|
|
|
|
|
supported, and its presence led to confusion during configuration.
|
|
|
|
|
This affects only the 'movemail' utility; Emacs itself can still
|
|
|
|
|
process MMDF-format files as before.
|
|
|
|
|
|
2015-01-11 09:18:15 +00:00
|
|
|
|
** The configure option '--enable-silent-rules' is now the default,
|
|
|
|
|
and silent rules are now quieter. To get the old behavior where
|
|
|
|
|
'make' chatters a lot, configure with '--disable-silent-rules' or
|
|
|
|
|
build with 'make V=1'.
|
--enable-silent-warnings now suppresses more chatter.
* INSTALL, etc/NEWS: Document this.
* lib-src/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1, AM_V_CCLD, am__v_CCLD_, am__v_CCLD_0)
(am__v_CCLD_1): New macros, taken from Automake.
(regex.o, etags${EXEEXT}, ctags${EXEEXT}, ebrowse${EXEEXT})
(profile${EXEEXT}, make-docfile${EXEEXT}, movemail${EXEEXT})
(pop.o, emacsclient${EXEEXT}, emacsclientw${EXEEXT})
(emacsclientw${EXEEXT}, ntlib.o, hexl${EXEEXT})
(update-game-score${EXEEXT}): Use them.
* lwlib/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1): New macros, taken from Automake.
(.c.o): Use them.
* oldXMenu/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1): New macros, taken from Automake.
(.c.o): Use them.
* src/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1, AM_V_CCLD, am__v_CCLD_, am__v_CCLD_0)
(am__v_CCLD_1): New macros, taken from Automake.
(.c.o, .m.o, temacs$(EXEEXT)): Use them.
2014-09-01 09:49:51 +00:00
|
|
|
|
|
2015-01-16 08:25:25 +00:00
|
|
|
|
---
|
|
|
|
|
** The configure option '--with-gameuser' now allows to specify a
|
|
|
|
|
group instead of a user if its argument is prefixed by ':' (a colon).
|
|
|
|
|
This will cause the game score files in ${localstatedir}/games/emacs
|
|
|
|
|
to be owned by that group, and the helper program for updating them to
|
2015-02-08 20:00:49 +00:00
|
|
|
|
be installed setgid. The option now defaults to the 'games' group.
|
2015-01-16 08:25:25 +00:00
|
|
|
|
|
2014-12-14 02:38:21 +00:00
|
|
|
|
---
|
|
|
|
|
** The `grep-changelog' script (and its manual page) are no longer included.
|
|
|
|
|
It has no particular connection to Emacs and has not changed in years,
|
|
|
|
|
so if you want to use it, you can always take a copy from an older Emacs.
|
|
|
|
|
|
2014-03-21 06:36:08 +00:00
|
|
|
|
|
2014-09-29 18:14:08 +00:00
|
|
|
|
* Startup Changes in Emacs 25.1
|
2014-03-21 06:36:08 +00:00
|
|
|
|
|
2015-05-28 21:30:31 +00:00
|
|
|
|
+++
|
|
|
|
|
** When Emacs is given a file as a command line argument and
|
|
|
|
|
`initial-buffer-choice' is non-nil, display both the file and
|
|
|
|
|
`initial-buffer-choice'. When Emacs is given more than one file and
|
|
|
|
|
`initial-buffer-choice' is non-nil, show `initial-buffer-choice'
|
|
|
|
|
and *Buffer List*. This makes Emacs convenient to use from the
|
|
|
|
|
command line when `initial-buffer-choice' is non-nil.
|
|
|
|
|
|
2014-03-21 06:36:08 +00:00
|
|
|
|
|
2014-09-29 18:14:08 +00:00
|
|
|
|
* Changes in Emacs 25.1
|
2015-02-01 19:39:36 +00:00
|
|
|
|
|
2015-01-27 16:08:01 +00:00
|
|
|
|
** `isearch' and `query-replace' now perform character folding in matches.
|
|
|
|
|
This is analogous to case-folding, but applies between Unicode
|
|
|
|
|
characters and their ASCII counterparts. This means many characters
|
|
|
|
|
will match entire groups of charactes.
|
|
|
|
|
|
|
|
|
|
For instance, the " will match all variants of unicode double quotes
|
|
|
|
|
(like “ and ”), and the letter a will match all of its accented
|
|
|
|
|
cousins, even those composed of multiple characters, as well as many
|
|
|
|
|
other symbols like ℀, ℁, ⒜, and ⓐ.
|
|
|
|
|
|
2015-06-24 22:15:45 +00:00
|
|
|
|
** New function `character-folded-regexp' can be used
|
2015-01-27 16:08:01 +00:00
|
|
|
|
by searching commands to produce a a regexp matching anything that
|
|
|
|
|
character-folds into STRING.
|
|
|
|
|
|
2015-06-08 14:41:00 +00:00
|
|
|
|
** New command `checkdoc-package-keywords' checks if the
|
|
|
|
|
current package keywords are recognized. Set the new option
|
|
|
|
|
`checkdoc-package-keywords-flag' to non-nil to make
|
|
|
|
|
`checkdoc-current-buffer' call this function automatically.
|
|
|
|
|
|
2015-06-08 06:30:32 +00:00
|
|
|
|
** New function `checkdoc-file' checks for style errors.
|
|
|
|
|
It's meant for use together with `compile':
|
|
|
|
|
emacs -batch --eval "(checkdoc-file \"subr.el\")"
|
|
|
|
|
|
2015-02-08 21:05:24 +00:00
|
|
|
|
** New command `comment-line' bound to `C-x C-;'.
|
|
|
|
|
|
2014-12-14 11:49:06 +00:00
|
|
|
|
** New function `custom-prompt-customize-unsaved-options' checks for
|
|
|
|
|
unsaved customizations and prompts user to customize (if found).
|
|
|
|
|
|
2014-12-05 16:05:09 +00:00
|
|
|
|
+++
|
2014-11-24 17:29:47 +00:00
|
|
|
|
** Network security (TLS/SSL certificate validity and the like) is
|
|
|
|
|
added via the new Network Security Manager (NSM) and controlled via
|
|
|
|
|
the `network-security-level' variable.
|
|
|
|
|
|
2014-11-10 02:58:52 +00:00
|
|
|
|
** C-h l now also lists the commands that were run.
|
|
|
|
|
|
2014-12-05 16:05:09 +00:00
|
|
|
|
---
|
2014-11-17 18:46:51 +00:00
|
|
|
|
** The new M-s M-w key binding uses eww to search the web for the
|
2014-11-14 03:46:11 +00:00
|
|
|
|
text in the region.
|
|
|
|
|
|
2014-11-03 22:27:26 +00:00
|
|
|
|
** M-x suggests shorthands and ignores obsolete commands for completion.
|
Get rid of backend-dependent selection-handling functions for kill/yank
and make it generic instead by relying on the lower-level selection
management functions.
* select.el (select-enable-clipboard): Rename from
gui-select-enable-clipboard.
(select-enable-primary): Move from x-win.el and rename from
x-select-enable-primary.
(gui-last-selected-text): Remove.
(gui--last-selected-text-clipboard, gui--last-selected-text-primary):
New vars.
(gui-select-text): Rewrite, based on x-win.el's old x-select-text.
(gui-select-text-alist, gui-selection-value-alist): Remove.
(x-select-request-type): Move from x-win.el.
(gui--selection-value-internal): New function, taken from x-win's
x-selection-value-internal.
(gui-selection-value): Rewrite, based on x-win.el's old x-selection-value.
(gui-set-selection-alist): Rename from gui-own-selection-alist and
extend it to handle a nil value as a "disown" request.
(gui-disown-selection-alist): Remove.
(xselect-convert-to-delete): Adjust accordingly.
(gui-set-selection): Simplify accordingly as well. Use dotimes.
* lisp/frame.el (gui-method): Use window-system rather than framep.
(gui-method-declare): The tty case is now nil rather than t.
(make-frame): Adjust accordingly.
* lisp/term/x-win.el (x-last-selected-text-primary)
(x-select-enable-primary): Remove (moved to select.el).
(x-select-request-type): Move to select.el.
(x-selection-value-internal, x--selection-value): Remove functions.
(gui-selection-value, gui-select-text): Remove moethods.
(gui-set-selection): Merge own and disown methods.
* lisp/startup.el (command-line): Adjust now that `gui-method' expects nil
for ttys.
* lisp/term/ns-win.el (ns-get-pasteboard, ns-set-pasteboard)
(ns-selection-value): Remove functions.
(gui-select-text, gui-selection-value): Don't define method any more.
(gui-set-selection): Merge the old own and disown methods.
(gui-selection-exists-p, gui-get-selection): Adjust to new name of
underlying C primitive.
* lisp/term/pc-win.el (w16-get-selection-value): Add dummy argument and drop
test of gui-select-enable-clipboard, to make it usable as
a gui-get-selection method.
(gui-selection-exists-p): Adjust to new name of C primitive.
(gui-set-selection): Merge own and disown methods.
(gui-select-text, gui-selection-value): Delete methods.
(w16--select-text): Delete function.
* lisp/term/w32-win.el (w32--select-text, w32--get-selection-value):
Delete function (move functionality into w32--set-selection and
w32--get-selection).
(gui-select-text, gui-selection-value): Don't define methods.
(w32--set-selection, w32--get-selection, w32--selection-owner-p):
New functions.
(gui-get-selection, gui-selection-owner-p, gui-selection-exists-p):
Use them.
(gui-selection-exists-p): Adjust to new name of C primitive.
* src/nsselect.m (ns_get_local_selection): Signal error rather than `quit'.
(Fns_own_selection_internal): Tighten scoping.
(Fns_selection_exists_p): Rename from Fx_selection_exists_p.
(Fns_get_selection): Rename from Fx_get_selection_internal.
(Fns_get_selection_internal, Fns_store_selection_internal):
Remove functions.
(syms_of_nsselect): Adjust accordingly.
* src/w16select.c (Fw16_selection_exists_p): Rename from
Fx_selection_exists_p.
(syms_of_win16select): Adjust accordingly.
* src/w32select.c (Fw32_selection_exists_p): Rename from
Fx_selection_exists_p.
(syms_of_w32select): Adjust accordingly.
2014-10-21 15:27:18 +00:00
|
|
|
|
** x-select-enable-clipboard is renamed select-enable-clipboard.
|
|
|
|
|
x-select-enable-primary and renamed select-enable-primary.
|
|
|
|
|
Additionally they both now apply to all systems (OSX, GNUstep, Windows, you
|
|
|
|
|
name it), with the proviso that on some systems (e.g. Windows)
|
|
|
|
|
select-enable-primary is ineffective since the system doesn't
|
|
|
|
|
have the equivalent of a primary selection.
|
2014-10-01 22:13:11 +00:00
|
|
|
|
|
2014-10-09 01:52:47 +00:00
|
|
|
|
+++
|
|
|
|
|
** terpri gets an optional arg ENSURE to conditionally output a newline.
|
|
|
|
|
|
2014-11-19 18:18:01 +00:00
|
|
|
|
+++
|
|
|
|
|
** New macro `define-advice'.
|
|
|
|
|
|
2014-09-14 23:11:52 +00:00
|
|
|
|
** `insert-register' now leaves point after the inserted text
|
|
|
|
|
when called interactively. A prefix argument toggles this behavior.
|
2014-03-21 06:36:08 +00:00
|
|
|
|
|
2014-06-19 14:58:57 +00:00
|
|
|
|
** New var `truncate-string-ellipsis' to choose how to indicate truncation.
|
|
|
|
|
|
Introduce `term-file-aliases', replacing some small lisp/term files
* lisp/faces.el (term-file-aliases): New variable.
(tty-run-terminal-initialization): Respect term-file-aliases.
* lisp/term/apollo.el, lisp/term/vt102.el, lisp/term/vt125.el:
* lisp/term/vt201.el, lisp/term/vt220.el, lisp/term/vt240.el:
* lisp/term/vt300.el, lisp/term/vt320.el, lisp/term/vt400.el:
* lisp/term/vt420.el: Remove files, replaced by aliases.
* lisp/term/README: Mention term-file-aliases.
* lisp/term/AT386.el, lisp/term/news.el, lisp/term/tvi970.el:
* lisp/term/vt100.el, lisp/term/wyse50.el: Remove obsolete comment.
* doc/emacs/custom.texi (Terminal Init): Mention term-file-aliases.
* doc/lispref/os.texi (Terminal-Specific): Mention term-file-aliases.
* etc/NEWS: Mention this.
2014-03-28 01:29:54 +00:00
|
|
|
|
+++
|
|
|
|
|
** The new variable `term-file-aliases' replaces some files from lisp/term.
|
|
|
|
|
The function `tty-run-terminal-initialization' consults this variable
|
|
|
|
|
when deciding what terminal-specific initialization code to run.
|
|
|
|
|
|
2014-03-28 22:03:42 +00:00
|
|
|
|
---
|
|
|
|
|
** New variable `system-configuration-features', listing some of the
|
|
|
|
|
main features that Emacs was compiled with. This is mainly intended
|
|
|
|
|
for use in Emacs bug reports.
|
|
|
|
|
|
2014-07-11 09:33:06 +00:00
|
|
|
|
+++
|
|
|
|
|
** A password is now hidden also when typed in batch mode. Another
|
|
|
|
|
hiding character but the default `.' can be used by let-binding the
|
|
|
|
|
variable `read-hide-char'.
|
|
|
|
|
|
2014-08-24 15:47:06 +00:00
|
|
|
|
** The new functions `string-collate-lessp' and `string-collate-equalp'
|
|
|
|
|
preserve the collation order as defined by the system's locale(1)
|
2014-08-25 15:55:46 +00:00
|
|
|
|
environment. For the time being this is implemented for modern POSIX
|
|
|
|
|
systems and for MS-Windows, for other systems they fall back to their
|
|
|
|
|
counterparts `string-lessp' and `string-equal'.
|
2014-08-24 15:47:06 +00:00
|
|
|
|
|
2014-12-18 16:07:26 +00:00
|
|
|
|
*** The ls-lisp package uses `string-collate-lessp' to sort file names.
|
|
|
|
|
If you want the old, locale-independent sorting, customize the new
|
|
|
|
|
option `ls-lisp-use-string-collate' to a nil value.
|
|
|
|
|
|
|
|
|
|
*** The MS-Windows specific variable `w32-collate-ignore-punctuation',
|
|
|
|
|
if set to a non-nil value, causes the above 2 functions to ignore
|
|
|
|
|
symbol and punctuation characters when collating strings. This
|
|
|
|
|
emulates the behavior of modern Posix platforms when the locale's
|
|
|
|
|
codeset is "UTF-8" (as in "en_US.UTF-8"). This is needed because
|
|
|
|
|
MS-Windows doesn't support UTF-8 as codeset in its locales.
|
|
|
|
|
|
2014-12-02 14:13:47 +00:00
|
|
|
|
+++
|
|
|
|
|
** The new function `bidi-find-overridden-directionality' allows to
|
|
|
|
|
find characters whose directionality was, perhaps maliciously,
|
|
|
|
|
overridden by directional override control characters. Lisp programs
|
|
|
|
|
can use this to detect potential phishing of URLs and other links that
|
|
|
|
|
exploits bidirectional display reordering.
|
|
|
|
|
|
2014-12-04 09:31:33 +00:00
|
|
|
|
+++
|
|
|
|
|
** The new function `buffer-substring-with-bidi-context' allows to
|
|
|
|
|
copy a portion of a buffer into a different location while preserving
|
|
|
|
|
the visual appearance both of the copied text and the text at
|
|
|
|
|
destination, even when the copied text includes mixed bidirectional
|
|
|
|
|
text and directional control characters.
|
|
|
|
|
|
2014-10-05 12:25:00 +00:00
|
|
|
|
** New variable `ns-use-fullscreen-animation' controls animation for
|
|
|
|
|
non-native NS fullscreen. The default is nil. Set to t to enable
|
|
|
|
|
animation when entering and leaving fullscreen. For native OSX fullscreen
|
|
|
|
|
this has no effect.
|
|
|
|
|
|
2014-12-03 18:24:58 +00:00
|
|
|
|
** A new text property `inhibit-read-only' can be used in read-only
|
2014-11-16 22:36:58 +00:00
|
|
|
|
buffers to allow certain parts of the text to be writable.
|
|
|
|
|
|
2014-12-09 06:20:53 +00:00
|
|
|
|
** A new function `directory-files-recursively' returns all matching
|
|
|
|
|
files (recursively) under a directory.
|
|
|
|
|
|
2015-05-20 06:49:23 +00:00
|
|
|
|
** The new function `directory-name-p' can be used to check whether a file
|
2014-12-13 15:10:04 +00:00
|
|
|
|
name (as returned from, for instance, `file-name-all-completions' is
|
|
|
|
|
a directory file name. It returns non-nil if the last character in
|
|
|
|
|
the name is a forward slash.
|
|
|
|
|
|
2014-12-14 18:26:44 +00:00
|
|
|
|
+++
|
|
|
|
|
** New variable `fast-but-imprecise-scrolling' inhibits
|
|
|
|
|
fontification during full screen scrolling operations, giving less
|
|
|
|
|
hesitant operation during auto-repeat of C-v, M-v at the cost of
|
|
|
|
|
possible inaccuracies in the end position.
|
|
|
|
|
|
2014-12-18 16:07:26 +00:00
|
|
|
|
** The function `font-info' now returns more details about a font.
|
|
|
|
|
In particular, it now returns the average width of the font's
|
|
|
|
|
characters, which can be used for geometry-related calculations.
|
|
|
|
|
|
2015-03-21 10:31:29 +00:00
|
|
|
|
** A new function `default-font-width' returns the average width of a
|
|
|
|
|
character in the current buffer's default font. If the default face
|
|
|
|
|
is remapped (see `face-remapping-alist'), the value for the remapped
|
|
|
|
|
face is returned. This function complements the existing function
|
|
|
|
|
`default-font-height'.
|
|
|
|
|
|
|
|
|
|
** New functions `window-font-height' and `window-font-width' return
|
|
|
|
|
the height and average width of characters in a specified face and
|
|
|
|
|
window. If FACE is remapped (see `face-remapping-alist'), the
|
|
|
|
|
function returns the information for the remapped face.
|
|
|
|
|
|
|
|
|
|
** A new function `window-max-chars-per-line' returns the maximal
|
|
|
|
|
number of characters that can be displayed on one line. If a face
|
|
|
|
|
and/or window are provided, these values are used for the
|
|
|
|
|
calculation. This function is different from `window-body-width' in
|
|
|
|
|
that it accounts for (i) continuation glyphs, (ii) the size of the
|
|
|
|
|
font, and (iii) the specified window.
|
|
|
|
|
|
2015-04-15 16:43:37 +00:00
|
|
|
|
** New possible value for `system-type': nacl.
|
|
|
|
|
|
2015-04-22 12:45:09 +00:00
|
|
|
|
+++
|
|
|
|
|
** New variable `inhibit-message', when bound to non-nil, inhibits
|
|
|
|
|
`message' and related functions from displaying messages the Echo
|
|
|
|
|
Area. The output is still logged to the *Messages* buffer.
|
|
|
|
|
|
2015-05-24 22:38:53 +00:00
|
|
|
|
+++
|
2015-05-16 08:52:53 +00:00
|
|
|
|
** It is now safe for a mode that derives `tabulated-list-mode' to not
|
|
|
|
|
call `tabulated-list-init-header', in which case it will have no
|
|
|
|
|
header.
|
|
|
|
|
|
2015-05-24 22:38:53 +00:00
|
|
|
|
+++
|
|
|
|
|
** `tabulated-list-print' takes a second optional argument, update,
|
|
|
|
|
which specifies an alternative printing method which is faster when
|
|
|
|
|
few or no entries have changed.
|
|
|
|
|
|
2014-03-21 06:36:08 +00:00
|
|
|
|
|
2014-09-29 18:14:08 +00:00
|
|
|
|
* Editing Changes in Emacs 25.1
|
2014-03-21 06:36:08 +00:00
|
|
|
|
|
2015-04-13 18:05:09 +00:00
|
|
|
|
** Successive single-char deletions are collapsed in the undo-log just like
|
|
|
|
|
successive char insertions.
|
|
|
|
|
|
2015-01-05 16:34:06 +00:00
|
|
|
|
** Unicode names entered via C-x 8 RET now use substring completion by default.
|
|
|
|
|
|
2015-05-11 00:24:05 +00:00
|
|
|
|
** C-x 8 now has shorthands for these chars: ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″
|
|
|
|
|
€ № ← → ↔ − ≈ ≠ ≤ ≥. As before, you can type C-x 8 C-h to list shorthands.
|
|
|
|
|
|
2015-05-28 07:46:59 +00:00
|
|
|
|
** New minor mode electric-quote-mode for quoting ‘like this’ and “like this”.
|
|
|
|
|
|
2014-10-15 17:32:41 +00:00
|
|
|
|
** New minor mode global-eldoc-mode is enabled by default.
|
|
|
|
|
|
2014-06-13 18:09:06 +00:00
|
|
|
|
** Emacs now supports "bracketed paste mode" when running on a terminal
|
2014-04-17 07:54:23 +00:00
|
|
|
|
that supports it. This facility allows Emacs to understand pasted
|
2014-06-13 18:09:06 +00:00
|
|
|
|
chunks of text as strings to be inserted, instead of interpreting each
|
|
|
|
|
character in the pasted text as actual user input. This results in a
|
|
|
|
|
paste experience similar to that under a window system, and significant
|
2014-04-17 07:54:23 +00:00
|
|
|
|
performance improvements when pasting large amounts of text.
|
|
|
|
|
|
2014-10-13 06:50:16 +00:00
|
|
|
|
** Emacs now supports the latest version of the UBA.
|
|
|
|
|
The Emacs implementation of the Unicode Bidirectional Algorithm (UBA)
|
|
|
|
|
was updated to support all the latest additions and changes introduced
|
2015-06-18 08:14:13 +00:00
|
|
|
|
in Unicode Standard versions 6.3, 7.0, and the latest Unicode 8.0.
|
|
|
|
|
This includes full support for directional isolates and the
|
|
|
|
|
Bidirectional Parentheses Algorithm (BPA) specified by these Unicode
|
|
|
|
|
standards.
|
2014-10-13 06:50:16 +00:00
|
|
|
|
|
2014-12-18 21:41:34 +00:00
|
|
|
|
** You can access `mouse-buffer-menu' (C-down-mouse-1) using C-f10.
|
|
|
|
|
|
2015-03-28 14:43:33 +00:00
|
|
|
|
+++
|
|
|
|
|
** New buffer-local `electric-pair-local-mode'.
|
|
|
|
|
|
2014-03-21 06:36:08 +00:00
|
|
|
|
|
2014-09-29 18:14:08 +00:00
|
|
|
|
* Changes in Specialized Modes and Packages in Emacs 25.1
|
2015-04-27 23:12:11 +00:00
|
|
|
|
|
2015-06-27 00:25:31 +00:00
|
|
|
|
** Prog mode has some support for multi-mode indentation.
|
|
|
|
|
See `prog-indentation-context' and `prog-widen'.
|
|
|
|
|
|
2015-05-04 02:24:20 +00:00
|
|
|
|
** New `xterm-screen-extra-capabilities' config.
|
|
|
|
|
|
2015-04-27 23:12:11 +00:00
|
|
|
|
** The `save-place' variable is replaced by a `save-place-mode'.
|
|
|
|
|
|
2015-05-21 19:30:18 +00:00
|
|
|
|
** ERC
|
|
|
|
|
|
|
|
|
|
*** Hide message types by network or channel. `erc-hide-list' will
|
|
|
|
|
hide all messages of the specified type, where `erc-network-hide-list'
|
|
|
|
|
and `erc-channel-hide-list' will only hide the specified message types
|
|
|
|
|
for the respective specified targets.
|
|
|
|
|
|
2015-04-27 23:07:51 +00:00
|
|
|
|
** Midnight-mode
|
|
|
|
|
*** `midnight-mode' is a proper minor mode.
|
|
|
|
|
*** clean-buffer-*-regexps can now specify buffers via predicate functions.
|
|
|
|
|
|
2015-04-13 15:36:30 +00:00
|
|
|
|
** In xterms, killing text now also sets the CLIPBOARD/PRIMARY selection
|
2015-04-21 01:55:00 +00:00
|
|
|
|
in the surrounding GUI (using the OSC-52 escape sequence). This only works
|
|
|
|
|
if your xterm supports it and enables the `allowWindowOps' options (disabled
|
|
|
|
|
by default at least in Debian, for security reasons).
|
2015-04-13 15:36:30 +00:00
|
|
|
|
|
2015-05-25 21:03:50 +00:00
|
|
|
|
Similarly, you can yank the CLIPBOARD/PRIMARY selection (using the OSC-52
|
|
|
|
|
escape sequence) if your xterm has the feature enabled but for that you
|
|
|
|
|
additionally need to add `getSelection' to `xterm-extra-capabilities'.
|
|
|
|
|
|
2015-03-25 01:04:00 +00:00
|
|
|
|
** xterm-mouse-mode now supports mouse-tracking (if your xterm supports it).
|
|
|
|
|
|
2015-02-03 11:08:02 +00:00
|
|
|
|
** package.el
|
2015-04-20 06:20:54 +00:00
|
|
|
|
|
2015-05-07 15:11:50 +00:00
|
|
|
|
*** New "external" package status.
|
|
|
|
|
An external package is any installed package that's not built-in and
|
|
|
|
|
not from `package-user-dir', which usually means it's from an entry in
|
|
|
|
|
`package-directory-list'. They are treated much like built-in
|
2015-05-07 19:32:24 +00:00
|
|
|
|
packages, in that they cannot be deleted through the package menu and
|
2015-05-07 15:11:50 +00:00
|
|
|
|
are not considered for upgrades.
|
|
|
|
|
|
|
|
|
|
The effect, is that a user can manually place a specific version of a
|
2015-05-07 19:32:24 +00:00
|
|
|
|
package inside `package-directory-list' and the package menu will
|
2015-05-07 15:11:50 +00:00
|
|
|
|
always respect that.
|
|
|
|
|
|
2015-04-25 15:12:43 +00:00
|
|
|
|
*** If a package is available on multiple archives and one has higher
|
|
|
|
|
priority (as per `package-archive-priorities') only that one is
|
|
|
|
|
listed. This can be configured with `package-menu-hide-low-priority'.
|
|
|
|
|
|
2015-06-22 15:20:46 +00:00
|
|
|
|
*** `package-menu-toggle-hiding' now toggles the hiding of packages.
|
2015-04-25 15:12:43 +00:00
|
|
|
|
This includes the above-mentioned low-priority packages, as well as
|
|
|
|
|
available packages whose version is lower than the currently installed
|
|
|
|
|
version (which were previously impossible to display).
|
|
|
|
|
This allows users to downgrade a package if a lower version is
|
|
|
|
|
available.
|
|
|
|
|
|
2015-04-20 06:20:54 +00:00
|
|
|
|
*** When filtering the package menu, keywords starting with "arc:" or
|
|
|
|
|
"status:" represent package archive or status, respectively, instead
|
|
|
|
|
of actual keywords.
|
|
|
|
|
|
2015-04-06 10:25:01 +00:00
|
|
|
|
*** Most functions which involve downloading information now take an
|
|
|
|
|
ASYNC argument. If it is non-nil, package.el performs the download(s)
|
|
|
|
|
asynchronously.
|
|
|
|
|
|
|
|
|
|
*** New variable `package-menu-async' controls whether the
|
|
|
|
|
package-menu uses asynchronous downloads.
|
|
|
|
|
|
2015-02-03 11:08:02 +00:00
|
|
|
|
*** `package-install-from-buffer' and `package-install-file' work on directories.
|
|
|
|
|
This follows the same rules as installing from a .tar file, except the
|
|
|
|
|
-pkg file is optional.
|
|
|
|
|
|
|
|
|
|
*** Packages which are dependencies of other packages cannot be deleted.
|
|
|
|
|
The FORCE argument to `package-delete' overrides this.
|
|
|
|
|
|
|
|
|
|
*** New custom variable `package-selected-packages' tracks packages
|
|
|
|
|
which were installed by the user (as opposed to installed as
|
|
|
|
|
dependencies). This variable can also be manually customized.
|
|
|
|
|
|
|
|
|
|
*** New command `package-install-user-selected-packages' installs all
|
|
|
|
|
packages from `package-selected-packages' which are currently missing.
|
|
|
|
|
|
|
|
|
|
*** New command `package-autoremove' removes all packages which were
|
|
|
|
|
installed strictly as dependencies but are no longer needed.
|
|
|
|
|
|
2014-12-25 19:28:51 +00:00
|
|
|
|
** Shell
|
|
|
|
|
|
|
|
|
|
When you invoke `shell' interactively, the *shell* buffer will now
|
|
|
|
|
display in a new window. However, you can customize this behavior via
|
2015-01-06 21:32:09 +00:00
|
|
|
|
the `display-buffer-alist' variable. For example, to get
|
2014-12-25 19:28:51 +00:00
|
|
|
|
the old behavior -- *shell* buffer displays in current window -- use
|
2015-01-06 21:32:09 +00:00
|
|
|
|
(add-to-list 'display-buffer-alist
|
|
|
|
|
'("^\\*shell\\*$" . (display-buffer-same-window))).
|
2014-12-25 19:28:51 +00:00
|
|
|
|
|
2015-01-08 20:47:32 +00:00
|
|
|
|
|
|
|
|
|
** EIEIO
|
2015-04-13 18:36:55 +00:00
|
|
|
|
+++
|
2015-01-17 04:48:26 +00:00
|
|
|
|
*** The `:protection' slot option is not obeyed any more.
|
2015-04-13 18:36:55 +00:00
|
|
|
|
+++
|
2015-01-18 17:24:43 +00:00
|
|
|
|
*** The `newname' argument to constructors is optional&deprecated.
|
|
|
|
|
If you need your objects to be named, do it by inheriting from `eieio-named'.
|
2015-04-13 18:36:55 +00:00
|
|
|
|
+++
|
2015-01-08 20:47:32 +00:00
|
|
|
|
*** The <class>-list-p and <class>-child-p functions are declared obsolete.
|
2015-04-13 18:36:55 +00:00
|
|
|
|
+++
|
2015-01-08 20:47:32 +00:00
|
|
|
|
*** The <class> variables are declared obsolete.
|
2015-04-13 18:36:55 +00:00
|
|
|
|
+++
|
2015-01-08 20:47:32 +00:00
|
|
|
|
*** The <initarg> variables are declared obsolete.
|
2015-01-20 20:40:29 +00:00
|
|
|
|
*** defgeneric and defmethod are declared obsolete.
|
2015-04-13 18:36:55 +00:00
|
|
|
|
+++
|
2015-02-18 16:04:15 +00:00
|
|
|
|
*** `constructor' is now an obsolete alias for `make-instance'.
|
2015-01-20 20:40:29 +00:00
|
|
|
|
|
2014-11-19 00:47:36 +00:00
|
|
|
|
** ido
|
|
|
|
|
*** New command `ido-bury-buffer-at-head' bound to C-S-b
|
|
|
|
|
Bury the buffer at the head of `ido-matches', analogous to how C-k
|
|
|
|
|
kills the buffer at head.
|
2014-06-11 21:51:44 +00:00
|
|
|
|
|
2014-11-18 21:33:42 +00:00
|
|
|
|
** Minibuffer
|
|
|
|
|
|
|
|
|
|
*** You can use <up> and <down> keys to move point in the multi-line
|
|
|
|
|
minibuffer just as in an ordinary buffer. Only when point moves over
|
|
|
|
|
the bottom/top of the minibuffer it goes to the next/previous history
|
|
|
|
|
element. The new commands bound to <up> and <down> in the minibuffer:
|
|
|
|
|
`next-line-or-history-element' and `previous-line-or-history-element'.
|
|
|
|
|
|
2014-11-08 22:50:49 +00:00
|
|
|
|
** Search and Replace
|
|
|
|
|
|
2014-11-09 17:28:18 +00:00
|
|
|
|
*** Query-replace history is enhanced.
|
|
|
|
|
When query-replace reads the FROM string from the minibuffer, typing
|
|
|
|
|
`M-p' will now show previous replacements as "FROM SEP TO", where FROM
|
|
|
|
|
and TO are the original text and its replacement, and SEP is an arrow
|
|
|
|
|
string defined by the new variable `query-replace-from-to-separator'.
|
|
|
|
|
To select a prior replacement, type `M-p' until the desired
|
|
|
|
|
replacement appears in the minibuffer, and then exit the minibuffer by
|
|
|
|
|
typing RET.
|
2014-11-08 22:50:49 +00:00
|
|
|
|
|
2014-10-29 00:37:37 +00:00
|
|
|
|
** Calc
|
|
|
|
|
+++
|
|
|
|
|
*** If `quick-calc' is called with a prefix argument, insert the
|
|
|
|
|
result of the calculation into the current buffer.
|
|
|
|
|
|
Introduce global-eldoc-mode. Move Elisp-specific code to elisp-mode.el.
* lisp/emacs-lisp/eldoc.el (global-eldoc-mode): New minor mode.
(eldoc-schedule-timer): Obey it.
(eldoc-documentation-function): Default to nil.
(eldoc-mode): Don't enable if eldoc-documentation-function is not set.
(eldoc-documentation-function-default, eldoc-get-fnsym-args-string)
(eldoc-highlight-function-argument, eldoc-get-var-docstring)
(eldoc-last-data-store, eldoc-docstring-first-line)
(eldoc-docstring-format-sym-doc, eldoc-fnsym-in-current-sexp)
(eldoc-beginning-of-sexp, eldoc-current-symbol)
(eldoc-function-argstring): Move to elisp-mode.el.
(eldoc-symbol-function): Remove, unused.
* lisp/progmodes/elisp-mode.el: New file. Rename all "eldoc-*" to "elisp--*".
(elisp-completion-at-point): Rename from lisp-completion-at-point.
(elisp--preceding-sexp): Rename from preceding-sexp.
* lisp/loadup.el: Load new file progmodes/elisp-mode.
* lisp/ielm.el (inferior-emacs-lisp-mode): Set eldoc-documentation-function.
* lisp/emacs-lisp/lisp.el (lisp--local-variables-1, lisp--local-variables)
(lisp--local-variables-completion-table, lisp--expect-function-p)
(lisp--form-quoted-p, lisp--company-doc-buffer)
(lisp--company-doc-string, lisp--company-location)
(lisp-completion-at-point): Move to elisp-mode.el.
* lisp/emacs-lisp/lisp-mode.el (lisp--mode-syntax-table): New syntax-table,
extracted from emacs-lisp-mode-syntax-table.
(emacs-lisp-mode-abbrev-table, emacs-lisp-mode-syntax-table): Move to
elisp-mode.el.
(lisp-imenu-generic-expression): Add comments to document what comes
from which Lisp dialect.
(emacs-lisp-mode-map, emacs-lisp-byte-compile)
(emacs-lisp-byte-compile-and-load, emacs-lisp-mode-hook)
(emacs-lisp-mode, emacs-list-byte-code-comment-re)
(emacs-lisp-byte-code-comment)
(emacs-lisp-byte-code-syntax-propertize, emacs-lisp-byte-code-mode)
(lisp-interaction-mode-map, lisp-interaction-mode)
(eval-print-last-sexp, last-sexp-setup-props)
(last-sexp-toggle-display, prin1-char, preceding-sexp)
(eval-last-sexp-1, eval-last-sexp-print-value)
(eval-last-sexp-fake-value, eval-sexp-add-defvars, eval-last-sexp)
(eval-defun-1, eval-defun-2, eval-defun): Move to elisp-mode.el.
* src/lisp.mk (lisp): Add elisp-mode.elc.
2014-09-27 03:57:41 +00:00
|
|
|
|
** ElDoc
|
2014-12-03 18:49:42 +00:00
|
|
|
|
*** New minor mode `global-eldoc-mode'
|
|
|
|
|
*** `eldoc-documentation-function' now defaults to `ignore'
|
|
|
|
|
*** `describe-char-eldoc' displays information about character at point,
|
|
|
|
|
and can be used as a default value of `eldoc-documentation-function'. It is
|
|
|
|
|
useful when, for example, one needs to distinguish various spaces (e.g. ] [,
|
|
|
|
|
] [, ] [, etc.) while using mono-spaced font.
|
Introduce global-eldoc-mode. Move Elisp-specific code to elisp-mode.el.
* lisp/emacs-lisp/eldoc.el (global-eldoc-mode): New minor mode.
(eldoc-schedule-timer): Obey it.
(eldoc-documentation-function): Default to nil.
(eldoc-mode): Don't enable if eldoc-documentation-function is not set.
(eldoc-documentation-function-default, eldoc-get-fnsym-args-string)
(eldoc-highlight-function-argument, eldoc-get-var-docstring)
(eldoc-last-data-store, eldoc-docstring-first-line)
(eldoc-docstring-format-sym-doc, eldoc-fnsym-in-current-sexp)
(eldoc-beginning-of-sexp, eldoc-current-symbol)
(eldoc-function-argstring): Move to elisp-mode.el.
(eldoc-symbol-function): Remove, unused.
* lisp/progmodes/elisp-mode.el: New file. Rename all "eldoc-*" to "elisp--*".
(elisp-completion-at-point): Rename from lisp-completion-at-point.
(elisp--preceding-sexp): Rename from preceding-sexp.
* lisp/loadup.el: Load new file progmodes/elisp-mode.
* lisp/ielm.el (inferior-emacs-lisp-mode): Set eldoc-documentation-function.
* lisp/emacs-lisp/lisp.el (lisp--local-variables-1, lisp--local-variables)
(lisp--local-variables-completion-table, lisp--expect-function-p)
(lisp--form-quoted-p, lisp--company-doc-buffer)
(lisp--company-doc-string, lisp--company-location)
(lisp-completion-at-point): Move to elisp-mode.el.
* lisp/emacs-lisp/lisp-mode.el (lisp--mode-syntax-table): New syntax-table,
extracted from emacs-lisp-mode-syntax-table.
(emacs-lisp-mode-abbrev-table, emacs-lisp-mode-syntax-table): Move to
elisp-mode.el.
(lisp-imenu-generic-expression): Add comments to document what comes
from which Lisp dialect.
(emacs-lisp-mode-map, emacs-lisp-byte-compile)
(emacs-lisp-byte-compile-and-load, emacs-lisp-mode-hook)
(emacs-lisp-mode, emacs-list-byte-code-comment-re)
(emacs-lisp-byte-code-comment)
(emacs-lisp-byte-code-syntax-propertize, emacs-lisp-byte-code-mode)
(lisp-interaction-mode-map, lisp-interaction-mode)
(eval-print-last-sexp, last-sexp-setup-props)
(last-sexp-toggle-display, prin1-char, preceding-sexp)
(eval-last-sexp-1, eval-last-sexp-print-value)
(eval-last-sexp-fake-value, eval-sexp-add-defvars, eval-last-sexp)
(eval-defun-1, eval-defun-2, eval-defun): Move to elisp-mode.el.
* src/lisp.mk (lisp): Add elisp-mode.elc.
2014-09-27 03:57:41 +00:00
|
|
|
|
|
2014-11-03 00:01:20 +00:00
|
|
|
|
** eww
|
|
|
|
|
|
2015-02-10 05:41:36 +00:00
|
|
|
|
---
|
|
|
|
|
*** HTML can now be rendered using variable-width fonts.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** A new command `F' (`eww-toggle-fonts') can be used to toggle
|
|
|
|
|
whether to use variable-pitch fonts or not. The user can also
|
|
|
|
|
customize the `shr-use-fonts' variable.
|
|
|
|
|
|
2014-12-05 16:05:09 +00:00
|
|
|
|
+++
|
2014-11-03 00:01:20 +00:00
|
|
|
|
*** A new command `R' (`eww-readable') will try do identify the main
|
|
|
|
|
textual parts of a web page and display only that, leaving menus and
|
|
|
|
|
the like off the page.
|
|
|
|
|
|
2014-12-05 16:05:09 +00:00
|
|
|
|
---
|
2014-11-10 21:18:11 +00:00
|
|
|
|
*** You can now use several eww buffers in parallel by renaming eww
|
|
|
|
|
buffers you want to keep separate.
|
|
|
|
|
|
2014-12-05 16:05:09 +00:00
|
|
|
|
+++
|
2014-11-23 15:44:22 +00:00
|
|
|
|
*** Partial state of the eww buffers (the URIs and the titles of the
|
|
|
|
|
pages visited) is now preserved in the desktop file.
|
|
|
|
|
|
2014-12-05 16:05:09 +00:00
|
|
|
|
+++
|
2014-11-13 21:41:55 +00:00
|
|
|
|
*** `eww-after-render-hook' is now called after eww has rendered
|
|
|
|
|
the data in the buffer.
|
|
|
|
|
|
2014-12-07 19:49:16 +00:00
|
|
|
|
---
|
|
|
|
|
*** The `eww-reload' command now takes a prefix to not reload via
|
|
|
|
|
the net, but just use the local copy of the HTML.
|
|
|
|
|
|
2014-12-05 16:05:09 +00:00
|
|
|
|
+++
|
2014-11-27 11:36:08 +00:00
|
|
|
|
*** The DOM shr and eww uses has been changed to the general Emacs
|
|
|
|
|
xml.el/libxml2 DOM, and a new package dom.el has been added to
|
|
|
|
|
interact with this DOM. See the Emacs Lisp manual for interface
|
|
|
|
|
details.
|
|
|
|
|
|
2014-12-05 16:05:09 +00:00
|
|
|
|
+++
|
2014-12-05 15:51:51 +00:00
|
|
|
|
*** `mailcap-mime-data' is now consulted when displaying PDF files.
|
|
|
|
|
|
2014-12-08 18:30:16 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The new `S' command will list all eww buffers, and allow managing
|
|
|
|
|
them.
|
|
|
|
|
|
2014-12-09 03:21:57 +00:00
|
|
|
|
---
|
|
|
|
|
*** https pages with valid certificates have headers marked in green, while
|
|
|
|
|
invalid certificates are marked in red.
|
|
|
|
|
|
2014-10-15 21:55:10 +00:00
|
|
|
|
** Message mode
|
|
|
|
|
|
|
|
|
|
*** text/html messages that contain inline image parts will be
|
|
|
|
|
transformed into multipart/related messages before sending.
|
|
|
|
|
|
2014-09-22 14:30:47 +00:00
|
|
|
|
** pcase
|
2015-03-23 22:24:30 +00:00
|
|
|
|
*** New UPatterns `quote', `app', `cl-struct', and `eieio'.
|
2014-09-22 15:04:12 +00:00
|
|
|
|
*** New UPatterns can be defined with `pcase-defmacro'.
|
2014-10-09 01:52:47 +00:00
|
|
|
|
+++
|
|
|
|
|
*** New vector QPattern.
|
2014-06-11 21:51:44 +00:00
|
|
|
|
|
2014-06-19 14:03:45 +00:00
|
|
|
|
** Lisp mode
|
|
|
|
|
*** Strings after `:documentation' are highlighted as docstrings.
|
|
|
|
|
|
2014-06-17 19:33:58 +00:00
|
|
|
|
** Rectangle editing
|
|
|
|
|
*** Rectangle Mark mode can have corners past EOL or in the middle of a TAB.
|
|
|
|
|
*** C-x C-x in rectangle-mark-mode now cycles through the four corners.
|
|
|
|
|
*** `string-rectangle' provides on-the-fly preview of the result.
|
2014-03-21 06:36:08 +00:00
|
|
|
|
|
2014-06-13 18:09:06 +00:00
|
|
|
|
** New font-lock functions font-lock-ensure and font-lock-flush, which
|
|
|
|
|
should be used instead of font-lock-fontify-buffer when called from Elisp.
|
2014-03-22 22:12:52 +00:00
|
|
|
|
|
2014-08-29 23:30:50 +00:00
|
|
|
|
** Macro `minibuffer-with-setup-hook' takes (:append FUN) to mean
|
|
|
|
|
appending FUN to `minibuffer-setup-hook'.
|
|
|
|
|
|
2014-10-09 01:52:47 +00:00
|
|
|
|
** cl-lib
|
|
|
|
|
*** New functions cl-fresh-line, cl-digit-char-p and cl-parse-integer.
|
|
|
|
|
|
2014-12-18 13:31:46 +00:00
|
|
|
|
** seq
|
|
|
|
|
*** New seq library:
|
|
|
|
|
The seq library adds sequence manipulation functions and macros that
|
|
|
|
|
complement basic functions provided by subr.el. All functions are
|
|
|
|
|
prefixed with `seq-' and work on lists, strings and vectors.
|
|
|
|
|
|
2015-05-16 09:35:00 +00:00
|
|
|
|
** map
|
|
|
|
|
*** New map library:
|
|
|
|
|
The map library provides map-manipulation functions that work on alists,
|
|
|
|
|
hash-table and arrays. All functions are prefixed with "map-".
|
|
|
|
|
|
2014-05-04 00:16:58 +00:00
|
|
|
|
** Calendar and diary
|
|
|
|
|
|
2015-06-16 00:46:01 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The default `diary-file' is now located in .emacs.d.
|
|
|
|
|
|
2014-05-04 00:16:58 +00:00
|
|
|
|
+++
|
|
|
|
|
*** New commands to insert diary entries with Chinese dates:
|
|
|
|
|
`diary-chinese-insert-anniversary-entry' `diary-chinese-insert-entry'
|
2014-06-13 18:09:06 +00:00
|
|
|
|
`diary-chinese-insert-monthly-entry', `diary-chinese-insert-yearly-entry'.
|
2014-05-04 00:16:58 +00:00
|
|
|
|
|
|
|
|
|
+++
|
Remove calendar code obsolete since at least version 23.1
* lisp/calendar/cal-bahai.el (calendar-absolute-from-bahai)
(calendar-print-bahai-date, calendar-bahai-prompt-for-date)
(calendar-goto-bahai-date, list-bahai-diary-entries)
(mark-bahai-calendar-date-pattern, mark-bahai-diary-entries)
(insert-bahai-diary-entry, insert-monthly-bahai-diary-entry)
(insert-yearly-bahai-diary-entry):
* lisp/calendar/cal-china.el (chinese-calendar-time-zone)
(chinese-calendar-location-name)
(chinese-calendar-daylight-time-offset)
(chinese-calendar-standard-time-zone-name)
(chinese-calendar-daylight-time-zone-name)
(chinese-calendar-daylight-savings-starts)
(chinese-calendar-daylight-savings-ends)
(chinese-calendar-daylight-savings-starts-time)
(chinese-calendar-daylight-savings-ends-time)
(chinese-calendar-celestial-stem)
(chinese-calendar-terrestrial-branch)
(calendar-absolute-from-chinese, calendar-print-chinese-date)
(calendar-goto-chinese-date):
* lisp/calendar/cal-coptic.el (calendar-absolute-from-coptic)
(calendar-print-coptic-date, coptic-prompt-for-date)
(calendar-goto-coptic-date, calendar-absolute-from-ethiopic)
(calendar-print-ethiopic-date, calendar-goto-ethiopic-date):
* lisp/calendar/cal-french.el (calendar-absolute-from-french)
(calendar-print-french-date, calendar-goto-french-date):
* lisp/calendar/cal-hebrew.el (diary-sabbath-candles-minutes)
(calendar-absolute-from-hebrew, calendar-print-hebrew-date)
(hebrew-calendar-yahrzeit, calendar-goto-hebrew-date)
(holiday-rosh-hashanah-etc, holiday-hanukkah)
(holiday-passover-etc, holiday-tisha-b-av-etc)
(list-hebrew-diary-entries, mark-hebrew-calendar-date-pattern)
(mark-hebrew-diary-entries, insert-hebrew-diary-entry)
(insert-monthly-hebrew-diary-entry)
(insert-yearly-hebrew-diary-entry, list-yahrzeit-dates)
(diary-omer, diary-yahrzeit, diary-rosh-hodesh, diary-parasha)
(diary-sabbath-candles):
* lisp/calendar/cal-islam.el (calendar-absolute-from-islamic)
(calendar-print-islamic-date, calendar-goto-islamic-date)
(list-islamic-diary-entries, mark-islamic-calendar-date-pattern)
(mark-islamic-diary-entries, insert-islamic-diary-entry)
(insert-monthly-islamic-diary-entry)
(insert-yearly-islamic-diary-entry):
* lisp/calendar/cal-iso.el (calendar-absolute-from-iso)
(calendar-print-iso-date, calendar-iso-read-args)
(calendar-goto-iso-date, calendar-goto-iso-week):
* lisp/calendar/cal-julian.el (calendar-absolute-from-julian)
(calendar-print-julian-date, calendar-goto-julian-date)
(calendar-absolute-from-astro, calendar-print-astro-day-number)
(calendar-goto-astro-day-number):
* lisp/calendar/cal-mayan.el (calendar-print-mayan-date)
(calendar-next-haab-date, calendar-previous-haab-date)
(calendar-next-tzolkin-date, calendar-previous-tzolkin-date)
(calendar-next-calendar-round-date)
(calendar-previous-calendar-round-date)
(calendar-absolute-from-mayan-long-count)
(calendar-goto-mayan-long-count-date):
* lisp/calendar/cal-move.el (scroll-calendar-left)
(scroll-calendar-right, scroll-calendar-left-three-months)
(scroll-calendar-right-three-months):
* lisp/calendar/cal-persia.el (calendar-absolute-from-persian)
(calendar-print-persian-date, persian-prompt-for-date)
(calendar-goto-persian-date):
* lisp/calendar/cal-x.el (calendar-after-frame-setup-hooks):
* lisp/calendar/calendar.el (view-diary-entries-initially)
(mark-diary-entries-in-calendar, calendar-today-face)
(diary-face, holiday-face, view-calendar-holidays-initially)
(mark-holidays-in-calendar, initial-calendar-window-hook)
(today-visible-calendar-hook, today-invisible-calendar-hook)
(hebrew-diary-entry-symbol, islamic-diary-entry-symbol)
(bahai-diary-entry-symbol, american-date-diary-pattern)
(european-date-diary-pattern, european-calendar-display-form)
(american-calendar-display-form, holidays-in-diary-buffer)
(all-hebrew-calendar-holidays, all-christian-calendar-holidays)
(all-islamic-calendar-holidays, all-bahai-calendar-holidays)
(fancy-diary-buffer, increment-calendar-month)
(extract-calendar-month, extract-calendar-day)
(extract-calendar-year, exit-calendar, calendar-date-is-legal-p)
(mark-visible-calendar-date, calendar-version):
* lisp/calendar/diary-lib.el (diary-button-face, sexp-diary-entry-symbol)
(diary-display-hook, list-diary-entries-hook)
(mark-diary-entries-hook, nongregorian-diary-listing-hook)
(nongregorian-diary-marking-hook, print-diary-entries-hook)
(abbreviated-calendar-year, number-of-diary-entries)
(view-other-diary-entries, add-to-diary-list)
(include-other-diary-files, simple-diary-display)
(fancy-diary-display, print-diary-entries, mark-diary-entries)
(mark-sexp-diary-entries, mark-included-diary-files)
(mark-calendar-days-named, mark-calendar-month)
(mark-calendar-date-pattern, sort-diary-entries)
(list-sexp-diary-entries, make-diary-entry, insert-diary-entry)
(insert-weekly-diary-entry, insert-monthly-diary-entry)
(insert-yearly-diary-entry, insert-anniversary-diary-entry)
(insert-block-diary-entry, insert-cyclic-diary-entry)
(fancy-diary-font-lock-keywords, fancy-diary-display-mode):
* lisp/calendar/holidays.el (general-holidays, oriental-holidays)
(local-holidays, other-holidays, hebrew-holidays)
(christian-holidays, islamic-holidays, bahai-holidays)
(solar-holidays, list-calendar-holidays)
(check-calendar-holidays, mark-calendar-holidays)
(filter-visible-calendar-holidays):
* lisp/calendar/lunar.el (calendar-phases-of-moon, phases-of-moon)
(diary-phases-of-moon): Remove obsolete aliases.
* lisp/calendar/cal-menu.el (cal-menu-load-hook): Remove obsolete hook.
* calendar/cal-x.el (calendar-one-frame-setup)
(calendar-only-one-frame-setup, calendar-two-frame-setup):
Remove obsolete functions.
(cal-x-load-hook): Remove obsolete hook.
* calendar/calendar.el (european-calendar-style): Remove obsolete variable.
(calendar-date-style): No longer consult european-calendar-style.
* calendar/calendar.el (european-calendar, american-calendar):
Remove obsolete commands.
* calendar/calendar.el (calendar-for-loop): Remove obsolete macro.
* calendar/diary-lib.el (diary-face): Remove obsolete variable.
(diary-font-lock-date-forms, diary-fancy-font-lock-keywords):
Use the face `diary' instead of the variable `diary-face'.
* calendar/holidays.el (hebrew-holidays-1, hebrew-holidays-2)
(hebrew-holidays-3, hebrew-holidays-4): Remove obsolete variables.
* lisp/calendar/icalendar.el (icalendar--date-style): Remove function.
Replace all uses with calendar-date-style.
* lisp/textmodes/remember.el (calendar-date-style): Declare.
(remember-diary-convert-entry):
No longer consult european-calendar-style.
* test/automated/icalendar-tests.el (icalendar--calendar-style):
Remove test, no longer relevant.
2014-10-06 02:02:04 +00:00
|
|
|
|
*** The calendar can now list and mark diary entries with Chinese dates.
|
2014-06-13 18:09:06 +00:00
|
|
|
|
See `diary-chinese-list-entries' and `diary-chinese-mark-entries'.
|
|
|
|
|
|
Remove calendar code obsolete since at least version 23.1
* lisp/calendar/cal-bahai.el (calendar-absolute-from-bahai)
(calendar-print-bahai-date, calendar-bahai-prompt-for-date)
(calendar-goto-bahai-date, list-bahai-diary-entries)
(mark-bahai-calendar-date-pattern, mark-bahai-diary-entries)
(insert-bahai-diary-entry, insert-monthly-bahai-diary-entry)
(insert-yearly-bahai-diary-entry):
* lisp/calendar/cal-china.el (chinese-calendar-time-zone)
(chinese-calendar-location-name)
(chinese-calendar-daylight-time-offset)
(chinese-calendar-standard-time-zone-name)
(chinese-calendar-daylight-time-zone-name)
(chinese-calendar-daylight-savings-starts)
(chinese-calendar-daylight-savings-ends)
(chinese-calendar-daylight-savings-starts-time)
(chinese-calendar-daylight-savings-ends-time)
(chinese-calendar-celestial-stem)
(chinese-calendar-terrestrial-branch)
(calendar-absolute-from-chinese, calendar-print-chinese-date)
(calendar-goto-chinese-date):
* lisp/calendar/cal-coptic.el (calendar-absolute-from-coptic)
(calendar-print-coptic-date, coptic-prompt-for-date)
(calendar-goto-coptic-date, calendar-absolute-from-ethiopic)
(calendar-print-ethiopic-date, calendar-goto-ethiopic-date):
* lisp/calendar/cal-french.el (calendar-absolute-from-french)
(calendar-print-french-date, calendar-goto-french-date):
* lisp/calendar/cal-hebrew.el (diary-sabbath-candles-minutes)
(calendar-absolute-from-hebrew, calendar-print-hebrew-date)
(hebrew-calendar-yahrzeit, calendar-goto-hebrew-date)
(holiday-rosh-hashanah-etc, holiday-hanukkah)
(holiday-passover-etc, holiday-tisha-b-av-etc)
(list-hebrew-diary-entries, mark-hebrew-calendar-date-pattern)
(mark-hebrew-diary-entries, insert-hebrew-diary-entry)
(insert-monthly-hebrew-diary-entry)
(insert-yearly-hebrew-diary-entry, list-yahrzeit-dates)
(diary-omer, diary-yahrzeit, diary-rosh-hodesh, diary-parasha)
(diary-sabbath-candles):
* lisp/calendar/cal-islam.el (calendar-absolute-from-islamic)
(calendar-print-islamic-date, calendar-goto-islamic-date)
(list-islamic-diary-entries, mark-islamic-calendar-date-pattern)
(mark-islamic-diary-entries, insert-islamic-diary-entry)
(insert-monthly-islamic-diary-entry)
(insert-yearly-islamic-diary-entry):
* lisp/calendar/cal-iso.el (calendar-absolute-from-iso)
(calendar-print-iso-date, calendar-iso-read-args)
(calendar-goto-iso-date, calendar-goto-iso-week):
* lisp/calendar/cal-julian.el (calendar-absolute-from-julian)
(calendar-print-julian-date, calendar-goto-julian-date)
(calendar-absolute-from-astro, calendar-print-astro-day-number)
(calendar-goto-astro-day-number):
* lisp/calendar/cal-mayan.el (calendar-print-mayan-date)
(calendar-next-haab-date, calendar-previous-haab-date)
(calendar-next-tzolkin-date, calendar-previous-tzolkin-date)
(calendar-next-calendar-round-date)
(calendar-previous-calendar-round-date)
(calendar-absolute-from-mayan-long-count)
(calendar-goto-mayan-long-count-date):
* lisp/calendar/cal-move.el (scroll-calendar-left)
(scroll-calendar-right, scroll-calendar-left-three-months)
(scroll-calendar-right-three-months):
* lisp/calendar/cal-persia.el (calendar-absolute-from-persian)
(calendar-print-persian-date, persian-prompt-for-date)
(calendar-goto-persian-date):
* lisp/calendar/cal-x.el (calendar-after-frame-setup-hooks):
* lisp/calendar/calendar.el (view-diary-entries-initially)
(mark-diary-entries-in-calendar, calendar-today-face)
(diary-face, holiday-face, view-calendar-holidays-initially)
(mark-holidays-in-calendar, initial-calendar-window-hook)
(today-visible-calendar-hook, today-invisible-calendar-hook)
(hebrew-diary-entry-symbol, islamic-diary-entry-symbol)
(bahai-diary-entry-symbol, american-date-diary-pattern)
(european-date-diary-pattern, european-calendar-display-form)
(american-calendar-display-form, holidays-in-diary-buffer)
(all-hebrew-calendar-holidays, all-christian-calendar-holidays)
(all-islamic-calendar-holidays, all-bahai-calendar-holidays)
(fancy-diary-buffer, increment-calendar-month)
(extract-calendar-month, extract-calendar-day)
(extract-calendar-year, exit-calendar, calendar-date-is-legal-p)
(mark-visible-calendar-date, calendar-version):
* lisp/calendar/diary-lib.el (diary-button-face, sexp-diary-entry-symbol)
(diary-display-hook, list-diary-entries-hook)
(mark-diary-entries-hook, nongregorian-diary-listing-hook)
(nongregorian-diary-marking-hook, print-diary-entries-hook)
(abbreviated-calendar-year, number-of-diary-entries)
(view-other-diary-entries, add-to-diary-list)
(include-other-diary-files, simple-diary-display)
(fancy-diary-display, print-diary-entries, mark-diary-entries)
(mark-sexp-diary-entries, mark-included-diary-files)
(mark-calendar-days-named, mark-calendar-month)
(mark-calendar-date-pattern, sort-diary-entries)
(list-sexp-diary-entries, make-diary-entry, insert-diary-entry)
(insert-weekly-diary-entry, insert-monthly-diary-entry)
(insert-yearly-diary-entry, insert-anniversary-diary-entry)
(insert-block-diary-entry, insert-cyclic-diary-entry)
(fancy-diary-font-lock-keywords, fancy-diary-display-mode):
* lisp/calendar/holidays.el (general-holidays, oriental-holidays)
(local-holidays, other-holidays, hebrew-holidays)
(christian-holidays, islamic-holidays, bahai-holidays)
(solar-holidays, list-calendar-holidays)
(check-calendar-holidays, mark-calendar-holidays)
(filter-visible-calendar-holidays):
* lisp/calendar/lunar.el (calendar-phases-of-moon, phases-of-moon)
(diary-phases-of-moon): Remove obsolete aliases.
* lisp/calendar/cal-menu.el (cal-menu-load-hook): Remove obsolete hook.
* calendar/cal-x.el (calendar-one-frame-setup)
(calendar-only-one-frame-setup, calendar-two-frame-setup):
Remove obsolete functions.
(cal-x-load-hook): Remove obsolete hook.
* calendar/calendar.el (european-calendar-style): Remove obsolete variable.
(calendar-date-style): No longer consult european-calendar-style.
* calendar/calendar.el (european-calendar, american-calendar):
Remove obsolete commands.
* calendar/calendar.el (calendar-for-loop): Remove obsolete macro.
* calendar/diary-lib.el (diary-face): Remove obsolete variable.
(diary-font-lock-date-forms, diary-fancy-font-lock-keywords):
Use the face `diary' instead of the variable `diary-face'.
* calendar/holidays.el (hebrew-holidays-1, hebrew-holidays-2)
(hebrew-holidays-3, hebrew-holidays-4): Remove obsolete variables.
* lisp/calendar/icalendar.el (icalendar--date-style): Remove function.
Replace all uses with calendar-date-style.
* lisp/textmodes/remember.el (calendar-date-style): Declare.
(remember-diary-convert-entry):
No longer consult european-calendar-style.
* test/automated/icalendar-tests.el (icalendar--calendar-style):
Remove test, no longer relevant.
2014-10-06 02:02:04 +00:00
|
|
|
|
---
|
|
|
|
|
*** The option `calendar-mode-line-format' can now be nil,
|
|
|
|
|
which means to do nothing special with the mode line in calendars.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** Many items obsolete since at least version 23.1 have been removed.
|
|
|
|
|
The majority were function/variable/face aliases, too numerous to list here.
|
|
|
|
|
The remainder were:
|
|
|
|
|
|
|
|
|
|
**** Functions `calendar-one-frame-setup', `calendar-only-one-frame-setup',
|
|
|
|
|
`calendar-two-frame-setup', `european-calendar', `american-calendar'.
|
|
|
|
|
|
|
|
|
|
**** Hooks `cal-menu-load-hook', `cal-x-load-hook'.
|
|
|
|
|
|
|
|
|
|
**** Macro `calendar-for-loop'.
|
|
|
|
|
|
|
|
|
|
**** Variables `european-calendar-style', `diary-face', `hebrew-holidays-{1,4}'.
|
2014-09-13 17:44:32 +00:00
|
|
|
|
|
2014-10-11 02:54:11 +00:00
|
|
|
|
**** The nil and list forms of `diary-display-function'.
|
|
|
|
|
|
2014-06-26 06:21:55 +00:00
|
|
|
|
** New ERT function `ert-summarize-tests-batch-and-exit'.
|
|
|
|
|
|
2015-03-10 23:29:01 +00:00
|
|
|
|
** New js.el option `js-indent-first-init'.
|
2015-03-10 22:40:09 +00:00
|
|
|
|
|
2014-10-10 03:24:41 +00:00
|
|
|
|
---
|
|
|
|
|
** `Info-fontify-maximum-menu-size' can be t for no limit.
|
|
|
|
|
|
2014-12-31 14:14:33 +00:00
|
|
|
|
+++
|
|
|
|
|
** `info-display-manual' can now be given a prefix argument which (any
|
|
|
|
|
non-nil value) directs the command to limit the completion
|
|
|
|
|
alternatives to currently visited manuals.
|
|
|
|
|
|
2014-10-04 19:25:35 +00:00
|
|
|
|
---
|
|
|
|
|
** ntlm.el has support for NTLM2.
|
|
|
|
|
|
2015-05-27 01:04:19 +00:00
|
|
|
|
** Rmail
|
|
|
|
|
|
|
|
|
|
*** The Rmail commands d, C-d and u take optional repeat counts to delete or
|
2014-06-13 18:09:06 +00:00
|
|
|
|
undelete multiple messages.
|
|
|
|
|
|
2015-05-27 01:04:19 +00:00
|
|
|
|
*** Rmail can now render HTML mail messages if your Emacs was built with
|
2014-09-13 18:59:56 +00:00
|
|
|
|
libxml2 or if you have the Lynx browser installed. By default, Rmail
|
|
|
|
|
will display the HTML version of a mail message that has both HTML and
|
|
|
|
|
plain text parts, if display of HTML email is possible; customize the
|
|
|
|
|
`rmail-mime-prefer-html' option to `nil' if you don't want that.
|
|
|
|
|
|
2015-05-27 01:04:19 +00:00
|
|
|
|
+++
|
|
|
|
|
*** In the commands that make summaries by subject, recipients, or senders,
|
|
|
|
|
you can no longer use commas to separate regular expressions.
|
|
|
|
|
|
2014-06-13 18:09:06 +00:00
|
|
|
|
** SES now supports local printer functions; see `ses-define-local-printer'.
|
2014-05-04 00:16:58 +00:00
|
|
|
|
|
2014-05-25 01:18:16 +00:00
|
|
|
|
** In sh-mode, you can now use `sh-shell' as a file-local variable to
|
|
|
|
|
specify the type of shell in use (bash, csh, etc).
|
|
|
|
|
|
2014-12-08 19:57:40 +00:00
|
|
|
|
** TLS
|
|
|
|
|
---
|
|
|
|
|
*** Fatal TLS errors are now silent by default.
|
|
|
|
|
|
2014-11-23 14:05:18 +00:00
|
|
|
|
** URL
|
|
|
|
|
|
|
|
|
|
*** The URL package accepts now the protocols "ssh", "scp" and "rsync".
|
2014-04-01 13:20:20 +00:00
|
|
|
|
When `url-handler-mode' is enabled, file operations for these
|
|
|
|
|
protocols as well as for "telnet" and "ftp" are passed to Tramp.
|
|
|
|
|
|
2014-11-23 14:05:18 +00:00
|
|
|
|
*** The URL package allows customizing the `url-user-agent' string.
|
2014-11-05 17:19:55 +00:00
|
|
|
|
The new `url-user-agent' variable can be customized to be a string or
|
|
|
|
|
a function.
|
|
|
|
|
|
2014-11-23 14:05:18 +00:00
|
|
|
|
*** The new interface variable `url-request-noninteractive' can be used
|
|
|
|
|
to specify that we're running in a noninteractive context, and that
|
|
|
|
|
we should not be queried about things like TLS certificate validity.
|
|
|
|
|
|
2014-12-09 02:59:48 +00:00
|
|
|
|
*** If URL is used with a https connection, the first callback argument
|
|
|
|
|
plist will contain a :peer element that has the output of
|
|
|
|
|
`gnutls-peer-status' (if Emacs is built with GnuTLS support).
|
|
|
|
|
|
2014-06-15 20:49:10 +00:00
|
|
|
|
** Tramp
|
|
|
|
|
|
|
|
|
|
*** New connection method "nc", which allows to access dumb busyboxes.
|
|
|
|
|
|
2014-09-08 12:38:53 +00:00
|
|
|
|
** SQL mode
|
|
|
|
|
|
|
|
|
|
*** New user variable `sql-default-directory' enables remote
|
|
|
|
|
connections using Tramp.
|
|
|
|
|
|
|
|
|
|
*** New command `sql-send-line-and-next' sends the current line to the
|
|
|
|
|
interactive buffer and advances to the next line, skipping whitespace
|
|
|
|
|
and comments.
|
|
|
|
|
|
2014-09-12 19:57:40 +00:00
|
|
|
|
*** Add support for Vertica SQL.
|
|
|
|
|
|
2014-07-08 08:49:18 +00:00
|
|
|
|
** VC and related modes
|
|
|
|
|
|
2015-05-13 00:42:42 +00:00
|
|
|
|
*** Basic push support, via `vc-push', bound to `C-x v P'.
|
2015-05-13 16:38:05 +00:00
|
|
|
|
Implemented for Bzr, Git, Hg. As part of this change, the pre-existing
|
|
|
|
|
(undocumented) command vc-hg-push now behaves slightly differently.
|
2015-05-13 00:42:42 +00:00
|
|
|
|
|
2014-11-08 22:50:49 +00:00
|
|
|
|
*** The new command vc-region-history shows the log+diff of the active region.
|
|
|
|
|
|
2014-07-08 08:49:18 +00:00
|
|
|
|
*** New option `vc-annotate-background-mode' controls whether
|
|
|
|
|
the color range from `vc-annotate-color-map' is applied to the
|
|
|
|
|
background or to the foreground.
|
|
|
|
|
|
2014-12-28 00:48:05 +00:00
|
|
|
|
*** `compare-windows' now compares text with the most recently used window
|
2014-12-05 00:50:41 +00:00
|
|
|
|
instead of the next window. The new option `compare-windows-get-window-function'
|
|
|
|
|
allows to customize this.
|
|
|
|
|
|
2014-12-28 00:48:05 +00:00
|
|
|
|
*** Two new faces `compare-windows-removed' and `compare-windows-added'
|
|
|
|
|
replace the obsolete face `compare-windows'.
|
|
|
|
|
|
2015-05-08 06:03:02 +00:00
|
|
|
|
---
|
|
|
|
|
*** `log-edit-insert-changelog' converts "(tiny change)" to
|
|
|
|
|
"Copyright-paperwork-exempt: yes". Set `log-edit-rewrite-tiny-change'
|
|
|
|
|
nil to disable this.
|
|
|
|
|
|
Sync with upstream vhdl mode v3.37.1. Add VHDL'08 support.
* lisp/progmodes/vhdl-mode.el (vhdl-version, vhdl-time-stamp)
(vhdl-doc-release-notes): Update.
(vhdl-standard): Add VHDL'08 option.
(vhdl-sensitivity-list-all): New option.
(vhdl-directive-keywords): Add psl.
(vhdl-offsets-alist-default, vhdl-mode-abbrev-table-init)
(vhdl-template-construct-alist-init, vhdl-create-mode-menu):
(vhdl-imenu-generic-expression): Add context, directive.
(vhdl-offsets-alist, vhdl-mode, vhdl-doc-keywords): Doc fixes.
(vhdl-template-map-init): Add vhdl-template-context.
(vhdl-mode-syntax-table): Support VHDL'08 block comments.
(vhdl-create-mode-menu): Add some entries.
(vhdl-08-keywords, vhdl-08-types, vhdl-08-attributes)
(vhdl-08-functions, vhdl-08-packages, vhdl-08-directives): New constants.
(vhdl-directives): New variable.
(vhdl-words-init, vhdl-template-process)
(vhdl-template-replace-header-keywords): Support VHDL'08.
(vhdl-abbrev-list-init): Add vhdl-directives.
(vhdl-in-comment-p, vhdl-in-literal, vhdl-win-il)
(vhdl-forward-syntactic-ws, vhdl-get-syntactic-context)
(vhdl-lineup-comment): Handle block comments and directives.
(vhdl-beginning-of-directive, vhdl-template-context)
(vhdl-template-context-hook): New functions.
(vhdl-libunit-re, vhdl-defun-re, vhdl-begin-p)
(vhdl-corresponding-begin, vhdl-get-library-unit, vhdl-regress-line)
(vhdl-align-declarations, vhdl-beginning-of-block, vhdl-end-of-block)
(vhdl-font-lock-keywords-2, vhdl-get-end-of-unit)
(vhdl-scan-context-clause): Add context.
* etc/NEWS: Mention this.
2015-02-21 00:35:25 +00:00
|
|
|
|
** VHDL mode supports VHDL'08.
|
|
|
|
|
|
2014-06-24 07:55:36 +00:00
|
|
|
|
** Calculator: decimal display mode uses "," groups, so it's more
|
|
|
|
|
fitting for use in money calculations; factorial works with
|
|
|
|
|
non-integer inputs.
|
|
|
|
|
|
2015-05-20 06:49:23 +00:00
|
|
|
|
** HideIfDef mode now support full C/C++ expressions, argumented macro expansions,
|
|
|
|
|
interactive macro evaluation and automatic scanning of #defined symbols.
|
HideIfDef mode bug fixes and enhancements. This is #3 of 3 patches based
on the completed work posted on http://www.emacswiki.org/emacs/HideIfDef.
- Add macro evaluation function and key binding for a marked region.
- Merge continuous "..." lines into one.
- Fix old hideif bugs that fail to hide the correct #elif regions
- Support hide/show commands in a marked region.
- Expand top level for .h files to prevent re-inclusion protection.
- Change maintainer.
* lisp/progmodes/hideif.el (hide-ifdef-env): Change to global.
(hide-ifdef-env-backup): New variable.
(hide-ifdef-expand-reinclusion-protection, hide-ifdef-header-regexp):
New customizable variables.
(hif-clear-all-ifdef-defined): New defun.
(hif-merge-ifdef-region, hide-ifdef-region-internal, hide-ifdef-region)
(hif-show-ifdef-region): Merge hidden regions to prevent continuous "...".
(hif-tokenize): Fix for MS-DOS/Win EOL style.
(hif-endif-to-ifdef, hif-make-range, hif-find-range, hif-possibly-hide):
Fix bug to hide the correct #elif region(s).
(hif-range-elif): New defun.
(hif-recurse-level): New var.
(hif-evaluate-region, hif-evaluate-macro): New defun.
(hide-ifdef-guts): Prevent reinclusion protected C/C++ headers from
fully hidden.
(hide-ifdef-define, hide-ifdefs, hide-ifdef-block, show-ifdef-block):
Better interaction.
2014-07-07 08:59:32 +00:00
|
|
|
|
|
|
|
|
|
*** New custom variable `hide-ifdef-header-regexp' to define C/C++ header file
|
|
|
|
|
name patterns. Default case-insensitive .h, .hh, .hpp and .hxx.
|
|
|
|
|
*** New custom variable `hide-ifdef-expand-reinclusion-protection' to prevent
|
|
|
|
|
reinclusion protected header files from being fully hidden.
|
|
|
|
|
*** New custom variable `hide-ifdef-exclude-define-regexp' to define symbol
|
|
|
|
|
name patterns (e.x. all "FOR_DOXYGEN_ONLY_*") to be excluded.
|
|
|
|
|
|
2014-09-05 19:07:52 +00:00
|
|
|
|
** TeX mode
|
|
|
|
|
|
|
|
|
|
*** New custom variable `tex-print-file-extension' to help users who
|
|
|
|
|
use PDF instead of DVI.
|
|
|
|
|
|
2014-10-18 00:22:13 +00:00
|
|
|
|
** whitespace-mode: new 'big-indent style highlighting too much indentation.
|
|
|
|
|
By default, 32 spaces and four TABs are considered to be too much but
|
|
|
|
|
`whitespace-big-indent-regexp' can be configured to change that.
|
|
|
|
|
|
2014-11-17 13:41:37 +00:00
|
|
|
|
** tildify: `tildify-space-string', `tildify-pattern', and
|
|
|
|
|
`tildify-foreach-region-function' variables added making
|
|
|
|
|
`tildify-string-alist', `tildify-pattern-alist', and
|
|
|
|
|
`tildify-ignored-environments-alist' variables (as well as a few
|
|
|
|
|
helper functions) obsolete.
|
2014-11-16 16:38:15 +00:00
|
|
|
|
|
2014-12-25 20:08:19 +00:00
|
|
|
|
** xref
|
|
|
|
|
The new package provides generic framework and new commands to find
|
|
|
|
|
and move to definitions, as well as pop back to the original location.
|
|
|
|
|
|
|
|
|
|
*** New key bindings
|
|
|
|
|
`xref-find-definitions' replaces `find-tag' and provides an interface
|
2014-12-26 02:18:42 +00:00
|
|
|
|
to pick one destination among several. Hence, `tags-loop-continue' is
|
2014-12-25 20:08:19 +00:00
|
|
|
|
unbound. `xref-pop-marker-stack' replaces `pop-tag-mark', but uses an
|
|
|
|
|
easier binding, which is now unoccupied (`M-,').
|
|
|
|
|
`xref-find-definitions-other-window' replaces `find-tag-other-window'.
|
|
|
|
|
`xref-find-definitions-other-frame' replaces `find-tag-other-frame'.
|
|
|
|
|
`xref-find-apropos' replaces `find-tag-regexp'.
|
|
|
|
|
|
|
|
|
|
*** New variables
|
|
|
|
|
`find-tag-marker-ring-length' is now an obsolete alias for
|
|
|
|
|
`xref-marker-ring-length'. `find-tag-marker-ring' is now an obsolete
|
|
|
|
|
alias for a private variable. `xref-push-marker-stack' and
|
|
|
|
|
`xref-pop-marker-stack' should be used to mutate it instead.
|
|
|
|
|
|
2014-12-29 00:36:57 +00:00
|
|
|
|
** etags
|
|
|
|
|
As a result of the above, these commands are now obsolete:
|
|
|
|
|
`find-tag-other-window', `find-tag-other-frame', `find-tag-regexp',
|
|
|
|
|
`tags-apropos' and `tags-loop-continue'.
|
|
|
|
|
|
2015-01-24 05:37:32 +00:00
|
|
|
|
** EUDC
|
|
|
|
|
EUDC's LDAP backend has been improved.
|
|
|
|
|
|
|
|
|
|
*** EUDC supports LDAP-over-SSL URLs (ldaps://).
|
|
|
|
|
|
|
|
|
|
*** EUDC passes LDAP passwords through a pipe to the ldapsearch
|
|
|
|
|
subprocess instead of on the command line.
|
|
|
|
|
|
|
|
|
|
*** EUDC handles LDAP wildcards automatically so the user shouldn't
|
|
|
|
|
need to configure this manually anymore.
|
|
|
|
|
|
|
|
|
|
*** The LDAP configuration section of EUDC's manual has been
|
|
|
|
|
rewritten.
|
|
|
|
|
|
|
|
|
|
There have also been customization changes.
|
|
|
|
|
|
|
|
|
|
*** New custom variable `eudc-server-hotlist' to allow specifying
|
|
|
|
|
multiple EUDC servers in init file.
|
|
|
|
|
|
|
|
|
|
*** Custom variable `eudc-inline-query-format' defaults to completing
|
|
|
|
|
on email and firstname instead of surname.
|
|
|
|
|
|
|
|
|
|
*** Custom variable `eudc-expansion-overwrites-query' defaults to nil
|
|
|
|
|
to avoid interfering with the kill ring.
|
|
|
|
|
|
|
|
|
|
*** Custom variable `eudc-inline-expansion-format' defaults to
|
|
|
|
|
"Firstname Surname <mail-address>".
|
|
|
|
|
|
2015-04-28 02:26:56 +00:00
|
|
|
|
*** Custom variable `eudc-options-file' defaults to
|
|
|
|
|
"~/.emacs.d/eudc-options".
|
|
|
|
|
|
2015-01-24 05:37:32 +00:00
|
|
|
|
*** New custom variable `ldap-ldapsearch-password-prompt-regexp' to
|
|
|
|
|
allow overriding the regular expression that recognizes the ldapsearch
|
|
|
|
|
command line's password prompt.
|
|
|
|
|
|
2015-03-16 23:31:59 +00:00
|
|
|
|
** Eshell
|
|
|
|
|
|
2015-04-19 18:47:31 +00:00
|
|
|
|
+++
|
2015-03-16 23:31:59 +00:00
|
|
|
|
*** The new built-in command `clear' can scroll window contents out of sight.
|
2015-04-19 17:56:09 +00:00
|
|
|
|
If provided with an optional non-nil argument, the scrollback contents will be cleared.
|
2015-03-16 23:31:59 +00:00
|
|
|
|
|
2015-05-16 02:42:00 +00:00
|
|
|
|
*** New buffer syntax '#<buffer-name>', which is equivalent to
|
|
|
|
|
'#<buffer buffer-name>'. This shorthand makes interacting with
|
|
|
|
|
buffers from eshell more convenient. Custom variable
|
|
|
|
|
`eshell-buffer-shorthand', which has been broken for a while, has been
|
|
|
|
|
removed.
|
|
|
|
|
|
2015-05-17 21:55:16 +00:00
|
|
|
|
*** By default, eshell "visual" program buffers (created by
|
|
|
|
|
`eshell-visual-commands' and similar custom vars) are no longer killed
|
|
|
|
|
when their processes die. This fixes issues with short-lived commands
|
|
|
|
|
and makes visual programs more useful in general. For example, if
|
|
|
|
|
"git log" is a visual command, it will always show the visual command
|
|
|
|
|
buffer, even if the "git log" process dies. For the old behavior,
|
|
|
|
|
make the new option `eshell-destroy-buffer-when-process-dies' non-nil.
|
|
|
|
|
|
2015-03-16 23:57:23 +00:00
|
|
|
|
** Browse-url
|
|
|
|
|
|
browse-url: mark some of the more obsolete stuff as such
* lisp/net/browse-url.el (browse-url-browser-function)
(browse-url-default-browser):
Remove obsolete items from the explicit listing.
(browse-url-new-window-flag, browse-url-of-file-hook): Doc fixes.
(browse-url-netscape-program, browse-url-netscape-arguments)
(browse-url-netscape-startup-arguments)
(browse-url-galeon-program, browse-url-galeon-arguments)
(browse-url-galeon-startup-arguments)
(browse-url-gnome-moz-program, browse-url-gnome-moz-arguments)
(browse-url-galeon-new-window-is-tab)
(browse-url-netscape-new-window-is-tab)
(browse-url-mosaic-program, browse-url-mosaic-arguments)
(browse-url-mosaic-pidfile, browse-url-CCI-port)
(browse-url-CCI-host, browse-url-netscape-version)
(browse-url-netscape, browse-url-netscape-sentinel)
(browse-url-netscape-reload, browse-url-netscape-send)
(browse-url-galeon, browse-url-galeon-sentinel)
(browse-url-gnome-moz, browse-url-mosaic, browse-url-cci)
(browse-url-w3-gnudoit): Make obsolete.
* etc/NEWS: Mention this.
* doc/misc/idlwave.texi (HTML Help Browser Tips): Remove obsolete info.
* lisp/ffap.el (ffap-url-fetcher): Simplify default and doc.
* lisp/x-dnd.el: Comment update.
2015-03-25 06:26:48 +00:00
|
|
|
|
*** Support for the Conkeror web browser.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** Support for several ancient browsers is now officially obsolete.
|
2015-03-16 23:57:23 +00:00
|
|
|
|
|
2015-01-27 21:25:56 +00:00
|
|
|
|
+++
|
|
|
|
|
** tar-mode: new `tar-new-entry' command, allowing for new members to
|
|
|
|
|
be added to the archive.
|
|
|
|
|
|
2015-02-21 12:21:24 +00:00
|
|
|
|
** Autorevert: dired buffers are also auto-reverted via file
|
|
|
|
|
notifications, if Emacs is compiled with file notification support.
|
|
|
|
|
|
2014-03-26 01:41:13 +00:00
|
|
|
|
** Obsolete packages
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** gulp.el
|
|
|
|
|
|
2015-04-14 15:47:04 +00:00
|
|
|
|
+++
|
2015-04-15 07:26:32 +00:00
|
|
|
|
** The character classes [:graph:] and [:print:] in regular expressions
|
|
|
|
|
no longer match every multibyte character. Instead, Emacs now
|
2015-04-14 15:47:04 +00:00
|
|
|
|
consults the Unicode character properties to determine which
|
2015-04-15 07:26:32 +00:00
|
|
|
|
characters are graphic or printable. In particular, surrogates and
|
|
|
|
|
unassigned codepoints are now rejected. If you want the old behavior,
|
|
|
|
|
use [:multibyte:] instead.
|
2015-04-14 15:47:04 +00:00
|
|
|
|
|
2014-03-21 06:36:08 +00:00
|
|
|
|
|
2014-09-29 18:14:08 +00:00
|
|
|
|
* New Modes and Packages in Emacs 25.1
|
2014-03-21 06:36:08 +00:00
|
|
|
|
|
2015-06-18 01:08:04 +00:00
|
|
|
|
** pinentry.el allows GnuPG passphrase to be prompted through the
|
|
|
|
|
minibuffer instead of a graphical dialog, depending on whether the gpg
|
|
|
|
|
command is called from Emacs (i.e., INSIDE_EMACS environment variable
|
|
|
|
|
is set). This feature requires newer versions of GnuPG (2.1.5 or
|
|
|
|
|
later) and Pinentry (0.9.5 or later).
|
|
|
|
|
|
2015-01-14 19:37:10 +00:00
|
|
|
|
** cl-generic.el provides CLOS-style multiple-dispatch generic functions.
|
|
|
|
|
|
2014-10-20 16:36:34 +00:00
|
|
|
|
** scss-mode (a minor variant of css-mode)
|
2014-12-15 22:54:44 +00:00
|
|
|
|
|
|
|
|
|
** let-alist is a new macro (and a package) that allows one to easily
|
|
|
|
|
let-bind the values stored in an alist.
|
|
|
|
|
|
2014-10-15 08:01:26 +00:00
|
|
|
|
** `tildify-mode' allows to automatically insert hard spaces as one
|
|
|
|
|
types the text. Breaking line after a single-character words is
|
|
|
|
|
forbidden by Czech and Polish typography (and may be discouraged in
|
|
|
|
|
other languages), so `auto-tildify-mode' makes it easier to create
|
|
|
|
|
a typographically-correct documents.
|
2014-03-21 06:36:08 +00:00
|
|
|
|
|
2014-09-29 18:14:08 +00:00
|
|
|
|
* Incompatible Lisp Changes in Emacs 25.1
|
2014-03-21 06:36:08 +00:00
|
|
|
|
|
2015-06-17 18:52:54 +00:00
|
|
|
|
** `:global' minor mode use `setq-default' rather than `setq'.
|
|
|
|
|
This means that you can't use `make-local-variable' and expect them to
|
|
|
|
|
"magically" become buffer-local.
|
|
|
|
|
|
2015-05-28 02:42:33 +00:00
|
|
|
|
** `inhibit-point-motion-hooks' now defaults to t and is obsolete.
|
|
|
|
|
|
2015-05-19 00:51:47 +00:00
|
|
|
|
** The optional `predicate' argument of `lisp-complete-symbol' no longer
|
|
|
|
|
has any effect. (This change was made in Emacs 24.4 but was not
|
|
|
|
|
advertised at the time.)
|
|
|
|
|
|
2015-05-04 02:24:20 +00:00
|
|
|
|
** `indirect-function' does not signal `void-function' any more.
|
|
|
|
|
This is mostly a bug-fix, since this change was missed back in 24.4 when
|
|
|
|
|
symbol-function was changed not to signal `void-function' any more.
|
|
|
|
|
*** As a consequence, the second arg of `indirect-function' is now obsolete.
|
|
|
|
|
|
2015-04-09 18:45:42 +00:00
|
|
|
|
** Comint, term, and compile do not set the EMACS env var any more.
|
|
|
|
|
Use the INSIDE_EMACS environment variable instead.
|
|
|
|
|
|
2015-03-25 13:47:12 +00:00
|
|
|
|
** `save-excursion' does not save&restore the mark any more.
|
|
|
|
|
|
2015-03-16 18:49:01 +00:00
|
|
|
|
** read-buffer-function can now be called with a 4th argument (`predicate').
|
|
|
|
|
|
2014-12-03 18:42:20 +00:00
|
|
|
|
** completion-table-dynamic stays in the minibuffer.
|
|
|
|
|
If you want the old behavior of calling the function in the buffer
|
|
|
|
|
from which the minibuffer was entered, call it with the new argument
|
|
|
|
|
`switch-buffer'.
|
|
|
|
|
|
2015-05-20 06:49:23 +00:00
|
|
|
|
** window-configurations no longer record the buffers' marks.
|
2014-04-29 15:16:07 +00:00
|
|
|
|
|
2014-06-13 18:09:06 +00:00
|
|
|
|
** inhibit-modification-hooks now also inhibits lock-file checks, as well as
|
2014-04-09 01:48:07 +00:00
|
|
|
|
active region handling.
|
|
|
|
|
|
2014-04-09 13:21:30 +00:00
|
|
|
|
** deactivate-mark is now buffer-local.
|
|
|
|
|
|
2014-06-13 18:09:06 +00:00
|
|
|
|
** `cl-the' now asserts that its argument is of the given type.
|
2014-04-20 02:50:36 +00:00
|
|
|
|
|
2015-03-24 17:23:14 +00:00
|
|
|
|
** `process-running-child-p` may now return a numeric process
|
|
|
|
|
group ID instead of `t'.
|
|
|
|
|
|
2014-06-07 14:29:48 +00:00
|
|
|
|
+++
|
|
|
|
|
** Mouse click events on mode line or header line no longer include
|
|
|
|
|
any reference to a buffer position. The 6th member of the mouse
|
|
|
|
|
position list returned for such events is now nil.
|
|
|
|
|
|
2014-09-24 19:23:13 +00:00
|
|
|
|
** Menu items in keymaps do not support the "key shortcut cache" any more.
|
|
|
|
|
These slots used to hold key-shortcut data, but have been obsolete since
|
|
|
|
|
Emacs-21.
|
2014-06-07 14:29:48 +00:00
|
|
|
|
|
2015-01-22 04:21:45 +00:00
|
|
|
|
** Emacs no longer downcases the first letter of a system diagnostic
|
|
|
|
|
when signaling a file error. For example, it now reports "Permission
|
|
|
|
|
denied" instead of "permission denied". The old behavior was problematic
|
|
|
|
|
in languages like German where downcasing rules depend on grammar.
|
|
|
|
|
|
Improve the optional translation of quotes
Fix several problems with the recently-added custom variable
help-quote-translation where the code would quote inconsistently
in help buffers. Add support for quoting 'like this', which
is common in other GNU programs in ASCII environments. Change
help-quote-translation to use more mnemonic values: values are now the
initial quoting char, e.g., (setq help-quote-translation ?`) gets the
traditional Emacs help-buffer quoting style `like this'. Change the
default behavior of substitute-command-keys to match what's done in
set-locale-environment, i.e., quote ‘like this’ if displayable,
'like this' otherwise.
* doc/lispref/help.texi (Keys in Documentation): Document
new behavior of substitute-command-keys, and document
help-quote-translation.
* doc/lispref/tips.texi (Documentation Tips):
Mention the effect of help-quote-translation.
* etc/NEWS: Mention new behavior of substitute-command-keys,
and merge help-quote-translation news into it.
When talking about doc strings, mention new ways to type quotes.
* lisp/cedet/mode-local.el (overload-docstring-extension):
Revert my recent change to this function, which shouldn't be
needed as the result is a doc string.
* lisp/cedet/mode-local.el (mode-local-print-binding)
(mode-local-describe-bindings-2):
* lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
* lisp/cus-theme.el (describe-theme-1):
* lisp/descr-text.el (describe-text-properties-1, describe-char):
* lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
* lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
(eieio-help-constructor):
* lisp/emacs-lisp/package.el (describe-package-1):
* lisp/faces.el (describe-face):
* lisp/help-fns.el (help-fns--key-bindings)
(help-fns--compiler-macro, help-fns--parent-mode)
(help-fns--obsolete, help-fns--interactive-only)
(describe-function-1, describe-variable):
* lisp/help.el (describe-mode):
Use substitute-command-keys to ensure a more-consistent quoting
style in help buffers.
* lisp/cus-start.el (standard):
Document new help-quote-translation behavior.
* lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
* lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
(help-xref-url-regexp):
* lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
* lisp/wid-edit.el (widget-documentation-link-regexp):
Also match 'foo', in case we're in a help buffer generated when
help-quote-translation is ?'.
* src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
(LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
(uRSQM1, uRSQM2, LSQM, RSQM): New constants.
(Fsubstitute_command_keys): Document and implement new behavior.
(Vhelp_quote_translation): Document new behavior.
2015-06-19 07:35:43 +00:00
|
|
|
|
** substitute-command-keys now replaces quotes.
|
|
|
|
|
That is, it replaces left single quotation marks (‘) by left quotes
|
|
|
|
|
and right single quotation marks (’) by right quotes. It also
|
|
|
|
|
replaces grave accents by left quotes, and apostrophes that match
|
|
|
|
|
grave accents by right quotes. As before, isolated apostrophes and
|
|
|
|
|
characters preceded by \= are output as-is. Left and right quotes are
|
|
|
|
|
determined by new custom variable ‘help-quote-translation’. ?‘ means
|
|
|
|
|
quote ‘like this’, ?' means quote 'like this', ?` means quote `like
|
|
|
|
|
this', and nil (default) means quote ‘like this’ if displayable and
|
|
|
|
|
'like this' otherwise.
|
2015-05-28 07:06:13 +00:00
|
|
|
|
|
2015-02-28 12:25:35 +00:00
|
|
|
|
+++
|
|
|
|
|
** The character classes [:alpha:] and [:alnum:] in regular expressions
|
|
|
|
|
now match multibyte characters using Unicode character properties.
|
|
|
|
|
If you want the old behavior where they matched any character with
|
|
|
|
|
word syntax, use `\sw' instead.
|
|
|
|
|
|
2015-04-14 02:03:32 +00:00
|
|
|
|
+++
|
|
|
|
|
** The `diff' command uses the unified format now. To restore the old
|
|
|
|
|
behavior, set `diff-switches' to `-c'.
|
|
|
|
|
|
2014-03-21 06:36:08 +00:00
|
|
|
|
|
2014-09-29 18:14:08 +00:00
|
|
|
|
* Lisp Changes in Emacs 25.1
|
2014-03-21 06:36:08 +00:00
|
|
|
|
|
2015-06-15 22:48:08 +00:00
|
|
|
|
** New function `filepos-to-bufferpos'.
|
|
|
|
|
|
2015-05-06 16:14:43 +00:00
|
|
|
|
** The default value of `load-read-function' is now `read'.
|
|
|
|
|
|
Deprecate `intangible' and `point-entered' properties
* lisp/emacs-lisp/cursor-sensor.el: New file.
* lisp/simple.el (pre-redisplay-functions): New hook.
(redisplay--pre-redisplay-functions): New function.
(pre-redisplay-function): Use it.
(minibuffer-avoid-prompt): Mark obsolete.
(redisplay--update-region-highlight): Adapt it to work as a function on
pre-redisplay-functions.
* lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
(minibuffer-prompt-properties): Use it. Use cursor-intangible rather
than point-entered to make the prompt intangible.
* lisp/forms.el: Move `provide' calls to the end.
(forms-mode): Don't use `run-hooks' on a local var.
(forms--make-format, forms--make-format-elt-using-text-properties):
Use cursor-intangible rather than `intangible'.
(forms-mode): Enable cursor-intangible-mode.
* lisp/isearch.el (isearch-mode): Use defvar-local.
(cursor-sensor-inhibit): Declare.
(isearch-mode): Set cursor-sensor-inhibit.
(isearch-done): Set it back.
(isearch-open-overlay-temporary, isearch-open-necessary-overlays)
(isearch-close-unnecessary-overlays): Don't bother with `intangible'
any more.
* lisp/ses.el (ses-localvars): Remove `mode-line-process'.
(ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
Add Edebug spec.
(ses-goto-print, ses-print-cell, ses-adjust-print-width)
(ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
inhibit-point-motion-hooks any more.
(ses--cell-at-pos, ses--curcell): New functions, extracted from
ses-set-curcell.
(ses-set-curcell): Use them.
(ses-print-cell, ses-setup): Use cursor-intangible instead of
`intangible'. Make sure cursor-intangible isn't sticky at BOB.
(ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
Use ses--cell-at-pos.
(ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
extracted from ses-command-hook. Make them work with multiple windows
displaying the same buffer.
(ses-mode): Use them via mode-line-process and pre-redisplay-functions.
Enable cursor-intangible-mode.
(ses-command-hook): Remove cell highlight and mode-line update code.
(ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
Update for new name of text-property holding the cell name.
(ses-rename-cell): Don't mess with mode-line-process.
* lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
cursor-sensor-functions property instead of point-entered.
(erc-insert-timestamp-right, erc-format-timestamp):
Use cursor-intangible rather than `intangible'.
(erc-munge-invisibility-spec): Use add-to-invisibility-spec and
remove-from-invisibility-spec. Enable cursor-intangible-mode and
cursor-sensor-mode if needed.
(erc-echo-timestamp): Adapt to calling convention of
cursor-sensor-functions.
(erc-insert-timestamp-right): Remove unused vars `current-window' and
`indent'.
* lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
(gnus-update-group-mark-positions): Remove unused `topic' var.
(gnus-group-insert-group-line): Remove unused var `header'.
(gnus-group--setup-tool-bar-update): New function.
(gnus-group-insert-group-line): Use it.
(gnus-group-update-eval-form): Declare local
dynamically-bound variables.
(gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
* lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
(gnus-group-prepare-topics, gnus-topic-update-topic)
(gnus-topic-change-level, gnus-topic-catchup-articles)
(gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
Use inhibit-read-only.
(gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
(gnus-topic-mode): Use define-minor-mode and derived-mode-p.
* lisp/textmodes/reftex-index.el (reftex-display-index):
Use cursor-intangible-mode if available.
(reftex-index-post-command-hook): Check cursor-intangible.
* lisp/textmodes/reftex-toc.el (reftex-toc):
Use cursor-intangible-mode if available.
(reftex-toc-recenter, reftex-toc-post-command-hook):
Check cursor-intangible.
* lisp/textmodes/sgml-mode.el: Use lexical-binding.
(sgml-tag): Use cursor-sensor-functions instead of point-entered.
(sgml-tags-invisible): Use with-silent-modifications and
inhibit-read-only. Enable cursor-sensor-mode.
(sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
calling convention of cursor-sensor-functions.
* lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
(table-point-entered-cell-hook, table-point-left-cell-hook):
Don't autoload.
(table-cell-entered-state): Remove var.
(table--put-cell-point-entered/left-property)
(table--remove-cell-properties):
Use cursor-sensor-functions rather than point-entered/left.
(table--point-entered/left-cell-function): Merge
table--point-entered-cell-function and table--point-left-cell-function
and adjust to calling convention of cursor-sensor-functions.
2015-04-13 19:51:15 +00:00
|
|
|
|
** New hook `pre-redisplay-functions', a bit easier to use than pre-redisplay-function.
|
|
|
|
|
|
2015-04-16 02:25:16 +00:00
|
|
|
|
** The second arg of `looking-back' should always be provided explicitly.
|
|
|
|
|
|
Deprecate `intangible' and `point-entered' properties
* lisp/emacs-lisp/cursor-sensor.el: New file.
* lisp/simple.el (pre-redisplay-functions): New hook.
(redisplay--pre-redisplay-functions): New function.
(pre-redisplay-function): Use it.
(minibuffer-avoid-prompt): Mark obsolete.
(redisplay--update-region-highlight): Adapt it to work as a function on
pre-redisplay-functions.
* lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
(minibuffer-prompt-properties): Use it. Use cursor-intangible rather
than point-entered to make the prompt intangible.
* lisp/forms.el: Move `provide' calls to the end.
(forms-mode): Don't use `run-hooks' on a local var.
(forms--make-format, forms--make-format-elt-using-text-properties):
Use cursor-intangible rather than `intangible'.
(forms-mode): Enable cursor-intangible-mode.
* lisp/isearch.el (isearch-mode): Use defvar-local.
(cursor-sensor-inhibit): Declare.
(isearch-mode): Set cursor-sensor-inhibit.
(isearch-done): Set it back.
(isearch-open-overlay-temporary, isearch-open-necessary-overlays)
(isearch-close-unnecessary-overlays): Don't bother with `intangible'
any more.
* lisp/ses.el (ses-localvars): Remove `mode-line-process'.
(ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
Add Edebug spec.
(ses-goto-print, ses-print-cell, ses-adjust-print-width)
(ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
inhibit-point-motion-hooks any more.
(ses--cell-at-pos, ses--curcell): New functions, extracted from
ses-set-curcell.
(ses-set-curcell): Use them.
(ses-print-cell, ses-setup): Use cursor-intangible instead of
`intangible'. Make sure cursor-intangible isn't sticky at BOB.
(ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
Use ses--cell-at-pos.
(ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
extracted from ses-command-hook. Make them work with multiple windows
displaying the same buffer.
(ses-mode): Use them via mode-line-process and pre-redisplay-functions.
Enable cursor-intangible-mode.
(ses-command-hook): Remove cell highlight and mode-line update code.
(ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
Update for new name of text-property holding the cell name.
(ses-rename-cell): Don't mess with mode-line-process.
* lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
cursor-sensor-functions property instead of point-entered.
(erc-insert-timestamp-right, erc-format-timestamp):
Use cursor-intangible rather than `intangible'.
(erc-munge-invisibility-spec): Use add-to-invisibility-spec and
remove-from-invisibility-spec. Enable cursor-intangible-mode and
cursor-sensor-mode if needed.
(erc-echo-timestamp): Adapt to calling convention of
cursor-sensor-functions.
(erc-insert-timestamp-right): Remove unused vars `current-window' and
`indent'.
* lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
(gnus-update-group-mark-positions): Remove unused `topic' var.
(gnus-group-insert-group-line): Remove unused var `header'.
(gnus-group--setup-tool-bar-update): New function.
(gnus-group-insert-group-line): Use it.
(gnus-group-update-eval-form): Declare local
dynamically-bound variables.
(gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
* lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
(gnus-group-prepare-topics, gnus-topic-update-topic)
(gnus-topic-change-level, gnus-topic-catchup-articles)
(gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
Use inhibit-read-only.
(gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
(gnus-topic-mode): Use define-minor-mode and derived-mode-p.
* lisp/textmodes/reftex-index.el (reftex-display-index):
Use cursor-intangible-mode if available.
(reftex-index-post-command-hook): Check cursor-intangible.
* lisp/textmodes/reftex-toc.el (reftex-toc):
Use cursor-intangible-mode if available.
(reftex-toc-recenter, reftex-toc-post-command-hook):
Check cursor-intangible.
* lisp/textmodes/sgml-mode.el: Use lexical-binding.
(sgml-tag): Use cursor-sensor-functions instead of point-entered.
(sgml-tags-invisible): Use with-silent-modifications and
inhibit-read-only. Enable cursor-sensor-mode.
(sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
calling convention of cursor-sensor-functions.
* lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
(table-point-entered-cell-hook, table-point-left-cell-hook):
Don't autoload.
(table-cell-entered-state): Remove var.
(table--put-cell-point-entered/left-property)
(table--remove-cell-properties):
Use cursor-sensor-functions rather than point-entered/left.
(table--point-entered/left-cell-function): Merge
table--point-entered-cell-function and table--point-left-cell-function
and adjust to calling convention of cursor-sensor-functions.
2015-04-13 19:51:15 +00:00
|
|
|
|
** Obsolete text properties `intangible', `point-entered', and `point-left'.
|
|
|
|
|
Replaced by properties `cursor-intangible' and `cursor-sensor-functions',
|
|
|
|
|
implemented by the new `cursor-intangible-mode' and
|
|
|
|
|
`cursor-sensor-mode' minor modes.
|
|
|
|
|
|
2015-04-07 08:42:09 +00:00
|
|
|
|
** New process type `pipe', which can be used in combination with the
|
|
|
|
|
`:stderr' keyword of make-process to handle standard error output
|
|
|
|
|
of subprocess.
|
|
|
|
|
|
2015-03-23 03:40:29 +00:00
|
|
|
|
** New function `make-process' provides an alternative interface to
|
|
|
|
|
`start-process'. It allows programs to set process parameters such as
|
|
|
|
|
process filter, sentinel, etc., through keyword arguments (similar to
|
|
|
|
|
`make-network-process').
|
|
|
|
|
|
2015-03-16 18:49:01 +00:00
|
|
|
|
** `read-buffer' takes a new `predicate' argument.
|
|
|
|
|
|
2015-03-02 07:57:51 +00:00
|
|
|
|
** Emacs Lisp now supports generators.
|
|
|
|
|
|
Add support for finalizers
+2015-03-02 Daniel Colascione <dancol@dancol.org>
+
+ * NEWS: Mention finalizers.
+
2015-02-09 Gareth Rees <gdr@garethrees.org> (tiny change)
* NEWS.24: Fix typo (bug#19820)
diff --git a/src/ChangeLog b/src/ChangeLog
index 4aa64c1..2f04d0b 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,21 @@
+2015-03-02 Daniel Colascione <dancol@dancol.org>
+
+ * print.c (print_object): Print finalizers.
+
+ * alloc.c:
+ (finalizers, doomed_finalizers): New variables.
+ (init_finalizer_list, finalizer_insert, unchain_finalizer)
+ (mark_finalizer_list, queue_doomed_finalizers)
+ (run_finalizer_handler, run_finalizer_function, run_finalizers):
+ New functions.
+ (garbage_collect_1, mark_object, sweep_misc)
+ (init_alloc_once, syms_of_alloc): Support finalizers.
+ (gc-precise-p): New Lisp variable.
+
+ * lisp.h (Lisp_Misc_Type): New value Lisp_Misc_Finalizer.
+ (FINALIZERP, XFINALIZER): New functions.
+ (Lisp_Finalizer): New structure.
+
2015-02-28 Paul Eggert <eggert@cs.ucla.edu>
* character.c (alphabeticp, decimalnump): Avoid undefined behavior
diff --git a/test/ChangeLog b/test/ChangeLog
index cf1b2c1..684e98f 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,9 @@
+2015-03-02 Daniel Colascione <dancol@dancol.org>
+
+ * automated/finalizer-tests.el (finalizer-basic)
+ (finalizer-circular-reference, finalizer-cross-reference)
+ (finalizer-error): New tests.
+
2015-03-01 Michael Albinus <michael.albinus@gmx.de>
* automated/vc-tests.el (vc-test--create-repo): Add check for
2015-03-02 10:23:09 +00:00
|
|
|
|
** New finalizer facility for running code when objects
|
|
|
|
|
become unreachable.
|
|
|
|
|
|
2015-02-05 19:28:16 +00:00
|
|
|
|
** lexical closures can use (:documentation <form>) to build their docstring.
|
|
|
|
|
It should be placed right where the docstring would be, and <form> is then
|
|
|
|
|
evaluated (and should return a string) when the closure is built.
|
|
|
|
|
|
2014-12-01 14:45:15 +00:00
|
|
|
|
** define-inline provides a new way to define inlinable functions.
|
|
|
|
|
|
2015-06-04 16:31:49 +00:00
|
|
|
|
** New function `macroexpand-1' to perform a single step of macroexpansion.
|
2014-10-31 21:35:35 +00:00
|
|
|
|
|
Consolidate management/ownership of selections.
* lisp/select.el (gui-get-selection-alist): New method.
(gui-get-selection): Use it. Rename from x-get-selection.
(x-get-selection): Define as obsolete alias.
(x-get-clipboard): Mark obsolete.
(gui-get-primary-selection): New function.
(x-get-selection-value): Mark obsolete.
(gui-own-selection-alist, gui-disown-selection-alist)
(gui-selection-owner-p-alist): New methods.
(gui-set-selection): Use them. Rename from x-set-selection.
(x-set-selection): Define as obsolete alias.
(gui--valid-simple-selection-p): Rename from
x-valid-simple-selection-p.
* lisp/w32-common-fns.el (gui-own-selection, gui-disown-selection)
(gui-selection-owner-p, gui-get-selection): Define for w32.
(w32-get-selection-value): Rename from x-get-selection-value.
Use the new gui-last-selected-text.
* lisp/term/x-win.el (x-get-selection-value): Remove.
(x-clipboard-yank): Declare obsolete.
(gui-own-selection, gui-disown-selection, gui-get-selection)
(gui-selection-owner-p): Define for x.
* lisp/term/w32-win.el (w32-win-suspend-error): Rename from
x-win-suspend-error.
* lisp/term/pc-win.el (w16-get-selection-value): Rename from
x-get-selection-value.
(w16-selection-owner-p): Rename from x-selection-owner-p.
(gui-own-selection, gui-disown-selection, gui-get-selection)
(gui-selection-owner-p): Define for pc.
(w16--select-text): New function.
* lisp/term/ns-win.el (gui-own-selection, gui-disown-selection)
(gui-get-selection, gui-selection-owner-p): Define for ns.
* lisp/term.el (term-mouse-paste):
* lisp/mouse.el (mouse-yank-primary): Use gui-get-primary-selection.
* src/nsselect.m (ns-own-selection-internal, ns-disown-selection-internal):
Rename from the "x-" prefix.
2014-10-02 03:19:32 +00:00
|
|
|
|
** Some "x-*" were obsoleted:
|
|
|
|
|
*** x-select-text is renamed gui-select-text.
|
2014-10-03 01:39:49 +00:00
|
|
|
|
*** x-selection-value is renamed gui-selection-value.
|
Consolidate management/ownership of selections.
* lisp/select.el (gui-get-selection-alist): New method.
(gui-get-selection): Use it. Rename from x-get-selection.
(x-get-selection): Define as obsolete alias.
(x-get-clipboard): Mark obsolete.
(gui-get-primary-selection): New function.
(x-get-selection-value): Mark obsolete.
(gui-own-selection-alist, gui-disown-selection-alist)
(gui-selection-owner-p-alist): New methods.
(gui-set-selection): Use them. Rename from x-set-selection.
(x-set-selection): Define as obsolete alias.
(gui--valid-simple-selection-p): Rename from
x-valid-simple-selection-p.
* lisp/w32-common-fns.el (gui-own-selection, gui-disown-selection)
(gui-selection-owner-p, gui-get-selection): Define for w32.
(w32-get-selection-value): Rename from x-get-selection-value.
Use the new gui-last-selected-text.
* lisp/term/x-win.el (x-get-selection-value): Remove.
(x-clipboard-yank): Declare obsolete.
(gui-own-selection, gui-disown-selection, gui-get-selection)
(gui-selection-owner-p): Define for x.
* lisp/term/w32-win.el (w32-win-suspend-error): Rename from
x-win-suspend-error.
* lisp/term/pc-win.el (w16-get-selection-value): Rename from
x-get-selection-value.
(w16-selection-owner-p): Rename from x-selection-owner-p.
(gui-own-selection, gui-disown-selection, gui-get-selection)
(gui-selection-owner-p): Define for pc.
(w16--select-text): New function.
* lisp/term/ns-win.el (gui-own-selection, gui-disown-selection)
(gui-get-selection, gui-selection-owner-p): Define for ns.
* lisp/term.el (term-mouse-paste):
* lisp/mouse.el (mouse-yank-primary): Use gui-get-primary-selection.
* src/nsselect.m (ns-own-selection-internal, ns-disown-selection-internal):
Rename from the "x-" prefix.
2014-10-02 03:19:32 +00:00
|
|
|
|
*** x-get-selection is renamed gui-get-selection.
|
|
|
|
|
*** x-get-clipboard and x-clipboard-yank are marked obsolete.
|
|
|
|
|
*** x-get-selection-value is renamed to gui-get-primary-selection.
|
|
|
|
|
*** x-set-selection is renamed to gui-set-selection
|
2014-10-01 22:13:11 +00:00
|
|
|
|
|
2015-06-04 16:31:49 +00:00
|
|
|
|
** New function `string-greaterp', which return the opposite result of
|
|
|
|
|
`string-lessp'.
|
|
|
|
|
|
2014-10-01 17:23:42 +00:00
|
|
|
|
** New function `alist-get', which is also a valid place (aka lvalue).
|
2014-03-21 06:36:08 +00:00
|
|
|
|
|
2014-05-28 00:09:14 +00:00
|
|
|
|
** New function `funcall-interactively', which works like `funcall'
|
|
|
|
|
but makes `called-interactively-p' treat the function as (you guessed it)
|
|
|
|
|
called interactively.
|
|
|
|
|
|
2014-04-22 16:22:13 +00:00
|
|
|
|
** New function `function-put' to use instead of `put' for function properties.
|
|
|
|
|
|
2014-03-22 22:12:52 +00:00
|
|
|
|
+++
|
2014-04-22 16:22:13 +00:00
|
|
|
|
** New properties that can be specified with `declare':
|
2014-06-13 18:09:06 +00:00
|
|
|
|
*** (interactive-only INSTEAD), says to use INSTEAD for non-interactive use.
|
2014-04-22 16:22:13 +00:00
|
|
|
|
*** (pure VAL), if VAL is non-nil, indicates the function is pure.
|
|
|
|
|
*** (side-effect-free VAL), if VAL is non-nil, indicates the function does not
|
|
|
|
|
have side effects.
|
2014-03-22 22:12:52 +00:00
|
|
|
|
|
2014-05-14 17:15:15 +00:00
|
|
|
|
+++
|
|
|
|
|
** New macro `with-file-modes', for evaluating expressions with default file
|
|
|
|
|
permissions set to temporary values (e.g., for creating private files).
|
|
|
|
|
|
2014-04-22 03:18:15 +00:00
|
|
|
|
** You can access the slots of structures using `cl-struct-slot-value'.
|
2014-04-20 02:34:22 +00:00
|
|
|
|
|
2014-08-29 12:23:30 +00:00
|
|
|
|
** Function `sort' can deal with vectors.
|
|
|
|
|
|
2014-12-29 20:37:53 +00:00
|
|
|
|
** Function `system-name' now returns an updated value if the current
|
2014-12-29 20:39:58 +00:00
|
|
|
|
system's name has changed or if the Emacs process has changed systems,
|
|
|
|
|
and to avoid long waits it no longer consults DNS to canonicalize the
|
|
|
|
|
name. The variable `system-name' is now obsolete.
|
2014-12-29 20:37:53 +00:00
|
|
|
|
|
2015-01-04 01:48:23 +00:00
|
|
|
|
+++
|
|
|
|
|
** Function `write-region' no longer outputs "Wrote FILE" in batch mode.
|
|
|
|
|
|
2015-05-01 21:24:10 +00:00
|
|
|
|
** If `pwd' is called with a prefix argument, insert the current default
|
|
|
|
|
directory at point.
|
|
|
|
|
|
New if-let, when-let, thread-first and thread-last macros.
* lisp/emacs-lisp/subr-x.el
(internal--listify, internal--check-binding)
(internal--build-binding-value-form, internal--build-binding)
(internal--build-bindings): New functions.
(internal--thread-argument, thread-first, thread-last)
(if-let, when-let): New macros.
* test/automated/subr-x-tests.el
(subr-x-test-if-let-single-binding-expansion)
(subr-x-test-if-let-single-symbol-expansion)
(subr-x-test-if-let-nil-related-expansion)
(subr-x-test-if-let-malformed-binding, subr-x-test-if-let-true)
(subr-x-test-if-let-false, subr-x-test-if-let-bound-references)
(subr-x-test-if-let-and-lazyness-is-preserved)
(subr-x-test-when-let-body-expansion)
(subr-x-test-when-let-single-binding-expansion)
(subr-x-test-when-let-single-symbol-expansion)
(subr-x-test-when-let-nil-related-expansion)
(subr-x-test-when-let-malformed-binding)
(subr-x-test-when-let-true, subr-x-test-when-let-false)
(subr-x-test-when-let-bound-references)
(subr-x-test-when-let-and-lazyness-is-preserved)
(subr-x-test-thread-first-no-forms)
(subr-x-test-thread-first-function-names-are-threaded)
(subr-x-test-thread-first-expansion)
(subr-x-test-thread-last-no-forms)
(subr-x-test-thread-last-function-names-are-threaded)
(subr-x-test-thread-last-expansion): New tests.
2014-06-30 04:11:43 +00:00
|
|
|
|
---
|
2014-06-30 19:58:56 +00:00
|
|
|
|
** New utilities in subr-x.el:
|
|
|
|
|
*** New macros `if-let' and `when-let' allow defining bindings and to
|
|
|
|
|
execute code depending whether all values are true.
|
|
|
|
|
*** New macros `thread-first' and `thread-last' allow threading a form
|
|
|
|
|
as the first or last argument of subsequent forms.
|
New if-let, when-let, thread-first and thread-last macros.
* lisp/emacs-lisp/subr-x.el
(internal--listify, internal--check-binding)
(internal--build-binding-value-form, internal--build-binding)
(internal--build-bindings): New functions.
(internal--thread-argument, thread-first, thread-last)
(if-let, when-let): New macros.
* test/automated/subr-x-tests.el
(subr-x-test-if-let-single-binding-expansion)
(subr-x-test-if-let-single-symbol-expansion)
(subr-x-test-if-let-nil-related-expansion)
(subr-x-test-if-let-malformed-binding, subr-x-test-if-let-true)
(subr-x-test-if-let-false, subr-x-test-if-let-bound-references)
(subr-x-test-if-let-and-lazyness-is-preserved)
(subr-x-test-when-let-body-expansion)
(subr-x-test-when-let-single-binding-expansion)
(subr-x-test-when-let-single-symbol-expansion)
(subr-x-test-when-let-nil-related-expansion)
(subr-x-test-when-let-malformed-binding)
(subr-x-test-when-let-true, subr-x-test-when-let-false)
(subr-x-test-when-let-bound-references)
(subr-x-test-when-let-and-lazyness-is-preserved)
(subr-x-test-thread-first-no-forms)
(subr-x-test-thread-first-function-names-are-threaded)
(subr-x-test-thread-first-expansion)
(subr-x-test-thread-last-no-forms)
(subr-x-test-thread-last-function-names-are-threaded)
(subr-x-test-thread-last-expansion): New tests.
2014-06-30 04:11:43 +00:00
|
|
|
|
|
Support curved quotes in doc strings
Emacs's traditional doc string style has been to quote symbols
`like this'. This worked well on now-obsolete terminals where
` and ' were symmetric quotes, but nowadays curved quotes
‘like this’ look better. Support quoting the new way too.
(Bug#20385)
* doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
‘like-this’ as well as `like-this'.
* etc/NEWS: Mention this.
* lisp/cedet/mode-local.el (overload-docstring-extension)
(mode-local-print-binding, mode-local-describe-bindings-2):
* lisp/cus-theme.el (describe-theme-1):
* lisp/descr-text.el (describe-text-properties-1, describe-char):
* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
* lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
* lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
(eieio-help-constructor):
* lisp/emacs-lisp/package.el (describe-package-1):
* lisp/faces.el (describe-face):
* lisp/help-fns.el (help-fns--key-bindings)
(help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
(help-fns--interactive-only, describe-function-1):
(describe-variable):
* lisp/help.el (describe-mode):
* lisp/international/mule-cmds.el (describe-input-method)
(describe-language-environment):
* lisp/international/mule-diag.el (describe-character-set)
(print-coding-system-briefly, list-input-methods)
(list-input-methods-1):
Insert curved quotes rather than grave accent and apostrophe.
* lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
(checkdoc-proper-noun-region-engine):
* lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
(lisp-cl-font-lock-keywords-2):
* lisp/finder.el (finder-font-lock-keywords):
* lisp/gnus/gnus-art.el (gnus-button-alist):
* lisp/help-fns.el (help-do-arg-highlight)
(describe-function-1, describe-variable):
* lisp/help-mode.el (help-xref-symbol-regexp)
(help-xref-info-regexp, help-xref-url-regexp):
* lisp/help.el (describe-mode):
* lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
* lisp/wid-edit.el (widget-documentation-link-regexp):
Parse symbols quoted ‘like-this’ as well as `like-this'.
* lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
Add "‘" and "’" to electric-pair-text-pairs.
(elisp--form-quoted-p): Also allow "‘" as a quoting char.
(elisp-completion-at-point, elisp--preceding-sexp):
Also treat "‘" and "’" as quoting chars.
2015-05-28 07:06:14 +00:00
|
|
|
|
** Documentation strings now support quoting with curved single quotes
|
|
|
|
|
‘like-this’ in addition to the old style with grave accent and
|
|
|
|
|
apostrophe `like-this'. The new style looks better on today's displays.
|
Improve the optional translation of quotes
Fix several problems with the recently-added custom variable
help-quote-translation where the code would quote inconsistently
in help buffers. Add support for quoting 'like this', which
is common in other GNU programs in ASCII environments. Change
help-quote-translation to use more mnemonic values: values are now the
initial quoting char, e.g., (setq help-quote-translation ?`) gets the
traditional Emacs help-buffer quoting style `like this'. Change the
default behavior of substitute-command-keys to match what's done in
set-locale-environment, i.e., quote ‘like this’ if displayable,
'like this' otherwise.
* doc/lispref/help.texi (Keys in Documentation): Document
new behavior of substitute-command-keys, and document
help-quote-translation.
* doc/lispref/tips.texi (Documentation Tips):
Mention the effect of help-quote-translation.
* etc/NEWS: Mention new behavior of substitute-command-keys,
and merge help-quote-translation news into it.
When talking about doc strings, mention new ways to type quotes.
* lisp/cedet/mode-local.el (overload-docstring-extension):
Revert my recent change to this function, which shouldn't be
needed as the result is a doc string.
* lisp/cedet/mode-local.el (mode-local-print-binding)
(mode-local-describe-bindings-2):
* lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
* lisp/cus-theme.el (describe-theme-1):
* lisp/descr-text.el (describe-text-properties-1, describe-char):
* lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
* lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
(eieio-help-constructor):
* lisp/emacs-lisp/package.el (describe-package-1):
* lisp/faces.el (describe-face):
* lisp/help-fns.el (help-fns--key-bindings)
(help-fns--compiler-macro, help-fns--parent-mode)
(help-fns--obsolete, help-fns--interactive-only)
(describe-function-1, describe-variable):
* lisp/help.el (describe-mode):
Use substitute-command-keys to ensure a more-consistent quoting
style in help buffers.
* lisp/cus-start.el (standard):
Document new help-quote-translation behavior.
* lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
* lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
(help-xref-url-regexp):
* lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
* lisp/wid-edit.el (widget-documentation-link-regexp):
Also match 'foo', in case we're in a help buffer generated when
help-quote-translation is ?'.
* src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
(LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
(uRSQM1, uRSQM2, LSQM, RSQM): New constants.
(Fsubstitute_command_keys): Document and implement new behavior.
(Vhelp_quote_translation): Document new behavior.
2015-06-19 07:35:43 +00:00
|
|
|
|
In the new Electric Quote mode, you can enter curved single quotes
|
|
|
|
|
into documentation by typing ` and '. Outside Electric Quote mode,
|
|
|
|
|
you can enter them by typing ‘C-x 8 [’ and ‘C-x 8 ]’, or (if your Alt
|
|
|
|
|
key works) by typing ‘A-[’ and ‘A-]’.
|
2015-06-19 01:07:27 +00:00
|
|
|
|
|
Improve time stamp handling, and be more consistent about it.
This implements a suggestion made in:
http://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00587.html
Among other things, this means timer.el no longer needs to
autoload the time-date module.
* doc/lispref/os.texi (Time of Day, Time Conversion, Time Parsing)
(Processor Run Time, Time Calculations):
Document the new behavior, plus be clearer about the old behavior.
(Idle Timers): Take advantage of new functionality.
* etc/NEWS: Document the changes.
* lisp/allout-widgets.el (allout-elapsed-time-seconds): Doc fix.
* lisp/arc-mode.el (archive-ar-summarize):
* lisp/calendar/time-date.el (seconds-to-time, days-to-time, time-since):
* lisp/emacs-lisp/timer.el (timer-relative-time, timer-event-handler)
(run-at-time, with-timeout-suspend, with-timeout-unsuspend):
* lisp/net/tramp.el (tramp-time-less-p, tramp-time-subtract):
* lisp/proced.el (proced-time-lessp):
* lisp/timezone.el (timezone-time-from-absolute):
* lisp/type-break.el (type-break-schedule, type-break-time-sum):
Simplify by using new functionality.
* lisp/calendar/cal-dst.el (calendar-next-time-zone-transition):
Do not return time values in obsolete and undocumented (HI . LO)
format; use (HI LO) instead.
* lisp/calendar/time-date.el (with-decoded-time-value):
Treat 'nil' as current time. This is mostly for XEmacs.
(encode-time-value, with-decoded-time-value): Obsolete.
(time-add, time-subtract, time-less-p): Use no-op autoloads, for
XEmacs. Define only if XEmacs, as they're now C builtins in Emacs.
* lisp/ldefs-boot.el: Update to match new time-date.el
* lisp/proced.el: Do not require time-date.
* src/editfns.c (invalid_time): New function.
Use it instead of 'error ("Invalid time specification")'.
(time_add, time_subtract, time_arith, Ftime_add, Ftime_less_p)
(decode_float_time, lisp_to_timespec, lisp_time_struct):
New functions.
(make_time_tail, make_time): Remove. All uses changed to use
new functions or plain list4i.
(disassemble_lisp_time): Return effective length if successful.
Check that LOW is an integer, if it's combined with other components.
(decode_time_components): Decode into struct lisp_time, not
struct timespec, so that we can support a wide set of times
regardless of whether time_t is signed. Decode plain numbers
as seconds since the Epoch, and nil as the current time.
(lisp_time_argument, lisp_seconds_argument, Ffloat_time):
Reimplement in terms of new functions.
(Fencode_time): Just use list2i.
(syms_of_editfns): Add time-add, time-subtract, time-less-p.
* src/keyboard.c (decode_timer): Don't allow the new formats (floating
point or nil) in timers.
* src/systime.h (LO_TIME_BITS): New constant. Use it everywhere in
place of the magic number '16'.
(struct lisp_time): New type.
(decode_time_components): Use it.
(lisp_to_timespec): New decl.
2014-11-17 04:38:15 +00:00
|
|
|
|
+++
|
|
|
|
|
** Time-related changes:
|
|
|
|
|
|
|
|
|
|
*** Time-related functions now consistently accept numbers
|
|
|
|
|
(representing seconds since the epoch) and nil (representing the
|
|
|
|
|
current time) as well as the usual list-of-integer representation.
|
|
|
|
|
Affected functions include `current-time-string', `current-time-zone',
|
|
|
|
|
`decode-time', `float-time', `format-time-string', `seconds-to-time',
|
|
|
|
|
`time-add', `time-less-p', `time-subtract', `time-to-day-in-year',
|
|
|
|
|
`time-to-days', and `time-to-seconds'.
|
|
|
|
|
|
|
|
|
|
*** The `encode-time-value' and `with-decoded-time-value' macros have
|
|
|
|
|
been obsoleted.
|
|
|
|
|
|
|
|
|
|
*** `calendar-next-time-zone-transition', `time-add', and
|
|
|
|
|
`time-subtract' no longer return time values in the obsolete and
|
|
|
|
|
undocumented integer-pair format. Instead, they return a list of two
|
|
|
|
|
integers.
|
|
|
|
|
|
2015-01-15 15:50:50 +00:00
|
|
|
|
+++
|
|
|
|
|
** New function `set-binary-mode' allows to switch a standard stream
|
|
|
|
|
of the Emacs process to binary I/O mode.
|
|
|
|
|
|
2015-06-01 03:04:05 +00:00
|
|
|
|
** In locales that cannot display curved quotes, ASCII approximations
|
|
|
|
|
are installed in standard-display-table.
|
|
|
|
|
|
|
|
|
|
** Standard output and error streams now transliterate characters via
|
|
|
|
|
standard-display-table, and encode output using locale-coding-system.
|
|
|
|
|
|
2015-04-06 06:40:54 +00:00
|
|
|
|
** Miscellaneous name change
|
|
|
|
|
|
|
|
|
|
For consistency with the usual Emacs spelling, the Lisp variable
|
|
|
|
|
`hfy-optimisations' has been renamed to `hfy-optimizations'.
|
|
|
|
|
The old name should still work, as an obsolescent alias.
|
|
|
|
|
|
2014-03-21 06:36:08 +00:00
|
|
|
|
|
2014-09-29 18:14:08 +00:00
|
|
|
|
* Changes in Frames and Windows Code in Emacs 25.1
|
2014-09-03 15:10:29 +00:00
|
|
|
|
|
2014-10-04 08:20:24 +00:00
|
|
|
|
+++
|
2014-09-03 15:10:29 +00:00
|
|
|
|
** Emacs can now draw horizontal scroll bars on some platforms that
|
2014-10-04 08:20:24 +00:00
|
|
|
|
provide toolkit scroll bars, namely Gtk+, Lucid, Motif and Windows.
|
2014-09-03 16:13:17 +00:00
|
|
|
|
Horizontal scroll bars are turned off by default.
|
2014-09-05 10:29:34 +00:00
|
|
|
|
*** New function `horizontal-scroll-bars-available-p' telling whether
|
|
|
|
|
horizontal scroll bars are available on the underlying system.
|
2014-09-03 16:13:17 +00:00
|
|
|
|
*** New mode `horizontal-scroll-bar-mode' to toggle horizontal scroll
|
|
|
|
|
bars on all existing and future frames.
|
2014-10-04 08:20:24 +00:00
|
|
|
|
*** New function `toggle-horizontal-scroll-bar' to toggle horizontal
|
|
|
|
|
scroll bars on the selected frame.
|
2014-09-03 16:13:17 +00:00
|
|
|
|
*** New frame parameters `horizontal-scroll-bars' and
|
|
|
|
|
`scroll-bar-height' to set horizontal scroll bars and their height
|
|
|
|
|
for individual frames and in `default-frame-alist'.
|
2014-10-04 08:20:24 +00:00
|
|
|
|
*** New functions `frame-scroll-bar-height' and
|
|
|
|
|
`window-scroll-bar-height' return the height of horizontal scroll
|
|
|
|
|
bars on a specific frame or window.
|
2014-09-03 16:13:17 +00:00
|
|
|
|
*** `set-window-scroll-bars' now accepts five parameters where the last
|
|
|
|
|
two specify height and type of the window's horizontal scroll bar.
|
2014-10-04 08:20:24 +00:00
|
|
|
|
*** `window-scroll-bars' now returns type and sizes of horizontal scroll
|
|
|
|
|
bars too.
|
|
|
|
|
*** New buffer-local variables `horizontal-scroll-bar' and
|
|
|
|
|
`scroll-bar-height'.
|
2014-09-03 16:13:17 +00:00
|
|
|
|
|
2014-10-22 10:01:17 +00:00
|
|
|
|
+++
|
2015-01-10 06:18:04 +00:00
|
|
|
|
** The height of a frame's menu and tool bar are no longer counted in the
|
2014-09-03 16:13:17 +00:00
|
|
|
|
frame's text height. This means that the text height stands only for
|
|
|
|
|
the height of the frame's root window plus that of the echo area (if
|
|
|
|
|
present). This was already the behavior for frames with external tool
|
|
|
|
|
and menu bars (like in the Gtk builds) but has now been extended to all
|
|
|
|
|
builds.
|
|
|
|
|
|
2014-10-22 10:01:17 +00:00
|
|
|
|
+++
|
2014-09-03 16:13:17 +00:00
|
|
|
|
** Frames now do not necessarily preserve the number of columns or lines
|
|
|
|
|
they display when setting default font, menu bar, fringe width, or
|
|
|
|
|
scroll bars. In particular, maximized and fullscreen frames are
|
|
|
|
|
conceptually never resized if such settings change. For fullheight and
|
|
|
|
|
fullwidth frames, the behavior may depend on the toolkit used.
|
|
|
|
|
*** New option `frame-inhibit-implied-resize' if non-nil, means that
|
|
|
|
|
setting default font, menu bar, fringe width, or scroll bars of a
|
|
|
|
|
specific frame does not resize that frame in order to preserve the
|
|
|
|
|
number of columns or lines it displays.
|
2014-10-02 04:24:07 +00:00
|
|
|
|
|
2014-12-19 10:32:39 +00:00
|
|
|
|
+++
|
Add code for "preserving" window sizes.
* frame.c (frame_windows_min_size): New argument IGNORE.
(adjust_frame_size): When called from change_frame_size call
frame_windows_min_size with IGNORE Qt so we can ignore size
restrictions.
* dired.el (dired-pop-to-buffer): Call fit-window-to-buffer with
`preserve-size' t.
(dired-mark-pop-up): Preserve size of window showing marked
files.
* electric.el (Electric-pop-up-window):
* help.el (resize-temp-buffer-window): Call fit-window-to-buffer
with `preserve-size' t.
* minibuffer.el (minibuffer-completion-help): Use
`resize-temp-buffer-window' instead of `fit-window-to-buffer'
(Bug#19355). Preserve size of completions window.
* register.el (register-preview): Preserve size of register
preview window.
* tmm.el (tmm-add-prompt): Call fit-window-to-buffer
with `preserve-size' t (Bug#1291).
* window.el (with-displayed-buffer-window): Add calls to
`window-preserve-size'.
(window-min-pixel-size, window--preservable-size)
(window-preserve-size, window-preserved-size)
(window--preserve-size, window--min-size-ignore-p): New
functions.
(window-min-size, window-min-delta, window--resizable)
(window--resize-this-window, split-window-below)
(split-window-right): Amend doc-string.
(adjust-window-trailing-edge): Handle preserving window
sizes. Signal user-error instead of an error when there's no
window above or below.
(window--min-size-1, window-sizable, window--size-fixed-1)
(window-size-fixed-p, window--min-delta-1)
(frame-windows-min-size, window--max-delta-1, window-resize)
(window--resize-child-windows, window--resize-siblings)
(enlarge-window, shrink-window, split-window): Handle preserving
window sizes.
(window--state-put-2): Handle horizontal scroll bars.
(window--display-buffer): Call `preserve-size' if asked for.
(display-buffer): Mention `preserve-size' alist member in
doc-string.
(fit-window-to-buffer): New argument PRESERVE-SIZE.
2014-12-18 17:12:24 +00:00
|
|
|
|
** New function `window-preserve-size' allows to preserve the size of
|
|
|
|
|
windows without "fixing" it. It's supported by `fit-window-to-buffer',
|
|
|
|
|
`temp-buffer-resize-mode' and `display-buffer'.
|
|
|
|
|
|
2015-05-20 06:49:23 +00:00
|
|
|
|
+++
|
|
|
|
|
** New option `switch-to-buffer-in-dedicated-window' allows to customize
|
|
|
|
|
how `switch-to-buffer' proceeds interactively when the selected window
|
|
|
|
|
is strongly dedicated to its buffer.
|
|
|
|
|
|
2014-10-19 20:35:32 +00:00
|
|
|
|
** Tearoff menus and detachable toolbars for Gtk+ has been removed.
|
2014-10-19 17:07:32 +00:00
|
|
|
|
Those features have been deprecated in Gtk+ for a long time.
|
|
|
|
|
|
2015-05-28 02:42:33 +00:00
|
|
|
|
** Miscellaneous
|
|
|
|
|
|
|
|
|
|
*** etags no longer qualifies class members by default.
|
|
|
|
|
By default, `etags' will not qualify class members for C-like
|
|
|
|
|
object-oriented languages with their class names and namespaces, and
|
|
|
|
|
will remove qualifications used explicitly in the code from the tag
|
|
|
|
|
names it puts in TAGS files. This is so the etags.el back-end for
|
|
|
|
|
`xref-find-definitions' is more accurate and produces less false
|
|
|
|
|
positives.
|
|
|
|
|
|
|
|
|
|
Use --class-qualify (-Q) if you want the old default behavior of
|
|
|
|
|
qualifying class members in C++, Java, and Objective C. Note that
|
|
|
|
|
using -Q might make some class members become "unknown" to `M-.'
|
|
|
|
|
(`xref-find-definitions'); if so, you can use `C-u M-.' to specify the
|
|
|
|
|
qualified names by hand.
|
|
|
|
|
|
2014-03-21 06:36:08 +00:00
|
|
|
|
|
2014-09-29 18:14:08 +00:00
|
|
|
|
* Changes in Emacs 25.1 on Non-Free Operating Systems
|
2014-03-21 06:36:08 +00:00
|
|
|
|
|
2014-06-11 19:34:43 +00:00
|
|
|
|
---
|
|
|
|
|
** Building Emacs for MS-Windows requires at least Windows XP
|
|
|
|
|
or Windows Server 2003. The built binaries still run on all versions
|
|
|
|
|
of Windows starting with Windows 9X.
|
|
|
|
|
|
2015-02-27 14:20:56 +00:00
|
|
|
|
+++
|
|
|
|
|
** Emacs running on MS-Windows now supports the daemon mode.
|
|
|
|
|
|
2015-05-25 20:06:11 +00:00
|
|
|
|
** The byte counts in etags-generated TAGS files are now the same on
|
|
|
|
|
MS-Windows as they are on other platforms.
|
|
|
|
|
|
2015-06-23 02:03:33 +00:00
|
|
|
|
---
|
|
|
|
|
** On OS X, configure creates a Cocoa ("Nextstep") build by default.
|
|
|
|
|
Pass '--without-ns' to configure to create an X11 build, the old default.
|
|
|
|
|
|
2014-10-17 18:05:48 +00:00
|
|
|
|
** OS X 10.5 or older is no longer supported.
|
|
|
|
|
|
|
|
|
|
** OS X on PowerPC is no longer supported.
|
2012-02-26 09:17:07 +00:00
|
|
|
|
|
2001-01-25 20:15:31 +00:00
|
|
|
|
|
1999-10-03 12:39:42 +00:00
|
|
|
|
----------------------------------------------------------------------
|
2007-02-11 01:18:25 +00:00
|
|
|
|
This file is part of GNU Emacs.
|
1999-10-03 12:39:42 +00:00
|
|
|
|
|
2008-05-15 07:32:14 +00:00
|
|
|
|
GNU Emacs is free software: you can redistribute it and/or modify
|
2007-02-11 01:18:25 +00:00
|
|
|
|
it under the terms of the GNU General Public License as published by
|
2008-05-15 07:32:14 +00:00
|
|
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
|
|
|
(at your option) any later version.
|
2007-02-11 01:18:25 +00:00
|
|
|
|
|
|
|
|
|
GNU Emacs is distributed in the hope that it will be useful,
|
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
GNU General Public License for more details.
|
1999-10-03 12:39:42 +00:00
|
|
|
|
|
2007-02-11 01:18:25 +00:00
|
|
|
|
You should have received a copy of the GNU General Public License
|
2008-05-15 07:32:14 +00:00
|
|
|
|
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
|
1999-10-03 12:39:42 +00:00
|
|
|
|
|
2001-01-25 20:15:31 +00:00
|
|
|
|
|
1999-10-03 12:39:42 +00:00
|
|
|
|
Local variables:
|
2014-05-24 22:23:47 +00:00
|
|
|
|
coding: utf-8
|
1999-10-03 12:39:42 +00:00
|
|
|
|
mode: outline
|
|
|
|
|
paragraph-separate: "[ ]*$"
|
|
|
|
|
end:
|