2007-04-12 02:31:20 +00:00
|
|
|
|
GNU Emacs NEWS -- history of user-visible changes.
|
2007-02-11 01:18:25 +00:00
|
|
|
|
|
2011-01-25 04:08:28 +00:00
|
|
|
|
Copyright (C) 2010-2011 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.
|
|
|
|
|
|
2010-03-11 06:10:50 +00:00
|
|
|
|
This file is about changes in Emacs version 24.
|
2006-06-04 01:01:51 +00:00
|
|
|
|
|
2010-03-11 06:10:50 +00:00
|
|
|
|
See files NEWS.23, NEWS.22, NEWS.21, NEWS.20, NEWS.19, NEWS.18,
|
|
|
|
|
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
|
|
|
|
|
2009-06-21 04:42:46 +00:00
|
|
|
|
|
|
|
|
|
Temporary note:
|
|
|
|
|
+++ indicates that the appropriate manual has already been updated.
|
|
|
|
|
--- means no change in the manuals is called for.
|
|
|
|
|
When you add a new item, please add it without either +++ or ---
|
|
|
|
|
so we will look at it and add it to the manual.
|
|
|
|
|
|
|
|
|
|
|
2010-03-11 06:10:50 +00:00
|
|
|
|
* Installation Changes in Emacs 24.1
|
2008-06-24 17:27:10 +00:00
|
|
|
|
|
2010-06-11 03:35:40 +00:00
|
|
|
|
** Configure links against libselinux if it is found.
|
|
|
|
|
You can disable this by using --without-selinux.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
** By default, the installed Info and man pages are compressed.
|
|
|
|
|
You can disable this by configuring --without-compress-info.
|
|
|
|
|
|
Replace some cpp with autoconf.
* configure.in (--with-mmdf, --with-mail-unlink):
New options, off by default.
(--with-mailhost): New option to set default POP host.
(LIBXPM, LIBJPEG, LIBPNG, LIBTIFF, LIBGIF, LIBGPM, LIBS_MAIL)
(LIBHESIOD, LIBRESOLV, COM_ERRLIB, CRYPTOLIB, KRB5LIB, DESLIB, KRB4LIB):
New variables, substituted in Makefiles.
(try_libungif, ac_gif_lib_name): Replace with HAVE_GIF=maybe, LIBGIF.
(LIBGIF): Use AC_SUBST rather than AC_DEFINE.
(HAVE_LIBMAIL, HAVE_LIBLOCKFILE, HAVE_LIBCOM_ERR, HAVE_LIBCRYPTO)
(HAVE_LIBK5CRYPTO, HAVE_LIBKRB5, HAVE_LIBDES425, HAVE_LIBDES)
(HAVE_LIBKRB4, HAVE_LIBKRB): New AC_DEFINEs.
* lib-src/Makefile.in (KRB4LIB, DESLIB, KRB5LIB, CRYPTOLIB, COM_ERRLIB)
(HESIODLIB, LIBS_MAIL): Set using autoconf rather than cpp.
(BASE_CFLAGS): Remove (identical to CPP_CFLAGS).
* src/Makefile.in (XFT_LIBS, LIBXPM, LIBJPEG, LIBPNG, LIBTIFF, LIBGIF)
(LIBGPM, LIBRESOLV): Set using autoconf rather than cpp.
2010-03-18 05:49:31 +00:00
|
|
|
|
---
|
|
|
|
|
** There are new configure options:
|
|
|
|
|
--with-mmdf, --with-mail-unlink, --with-mailhost.
|
|
|
|
|
These provide no new functionality, they just remove the need to edit
|
|
|
|
|
lib-src/Makefile by hand in order to use the associated features.
|
|
|
|
|
|
Use non-deprecated Gtk+ functions, add changes for Gtk+3 with GSEAL_ENABLE.
* configure.in: Add --with-x-toolkit=gtk3. Remove HAVE_GTK_MULTIDISPLAY,
check for gtk_file_chooser_dialog_new, and HAVE_GTK_FILE_BOTH (implied
by minimum required Gtk+ 2.6). Add checks for functions introduced
in Gtk+ 2.14 or newer.
* xterm.h (gtk_widget_get_window, gtk_widget_get_mapped)
(gtk_adjustment_get_page_size, gtk_adjustment_get_upper): New
defines based on what configure finds.
* xterm.c (XTflash): Use gtk_widget_get_window.
(xg_scroll_callback): Use gtk_adjustment_get_upper and
gtk_adjustment_get_page_size.
(handle_one_xevent): Use gtk_widget_get_mapped.
(x_term_init): Remove HAVE_GTK_MULTIDISPLAY and associated error
messages.
* xmenu.c (create_and_show_popup_menu): Call gtk_widget_get_mapped.
* gtkutil.h: Replace HAVE_GTK_FILE_BOTH with
HAVE_GTK_FILE_SELECTION_NEW.
* gtkutil.c (xg_display_open, xg_display_close): Remove
HAVE_GTK_MULTIDISPLAY, it is always defined.
(xg_display_open): Return type is void.
(gtk_widget_set_has_window)
(gtk_dialog_get_action_area, gtk_dialog_get_content_area)
(gtk_widget_get_sensitive, gtk_adjustment_set_page_size)
(gtk_adjustment_set_page_increment)
(gtk_adjustment_get_step_increment): #define these if not found
by configure.
(remove_submenu): New define based on Gtk+ version.
(xg_set_cursor, xg_frame_resized, xg_event_is_for_scrollbar): Use
gtk_widget_get_window.
(xg_frame_resized, xg_update_frame_menubar): Use gtk_widget_get_mapped.
(xg_create_frame_widgets): Use gtk_widget_set_has_window.
(create_dialog): Use gtk_dialog_get_action_area and
gtk_dialog_get_content_area.
(xg_uses_old_file_dialog, xg_get_file_name): Remove HAVE_GTK_FILE_BOTH
and HAVE_GTK_FILE_CHOOSER_DIALOG_NEW. File chooser is always
available, so checking for HAVE_GTK_FILE_SELECTION_NEW is enough.
(xg_update_menubar, xg_update_submenu, xg_show_toolbar_item): Use
g_object_ref and g_object_unref.
(xg_update_menu_item, xg_tool_bar_menu_proxy): Use
gtk_widget_get_sensitive.
(xg_update_submenu): Use remove_submenu.
(xg_update_scrollbar_pos): Don't use GtkFixedChild, use child
properties instead to get old x and y position.
(xg_set_toolkit_scroll_bar_thumb): Use gtk_adjustment_get_page_size,
gtk_adjustment_get_step_increment, gtk_adjustment_set_page_size,
gtk_adjustment_set_step_increment and gtk_adjustment_set_page_increment.
(xg_get_tool_bar_widgets): New function.
(xg_tool_bar_menu_proxy, xg_show_toolbar_item)
(update_frame_tool_bar): Call xg_get_tool_bar_widgets.
(toolbar_set_orientation): New #define based on if configure
finds gtk_orientable_set_orientation.
(xg_create_tool_bar): Call toolbar_set_orientation.
(xg_make_tool_item, xg_show_toolbar_item): Call gtk_box_pack_start
instead of gtk_box_pack_start_defaults.
2010-06-28 10:11:26 +00:00
|
|
|
|
---
|
2010-07-18 18:44:32 +00:00
|
|
|
|
** Emacs can be compiled against Gtk+ 3.0 if you pass --with-x-toolkit=gtk3
|
Use non-deprecated Gtk+ functions, add changes for Gtk+3 with GSEAL_ENABLE.
* configure.in: Add --with-x-toolkit=gtk3. Remove HAVE_GTK_MULTIDISPLAY,
check for gtk_file_chooser_dialog_new, and HAVE_GTK_FILE_BOTH (implied
by minimum required Gtk+ 2.6). Add checks for functions introduced
in Gtk+ 2.14 or newer.
* xterm.h (gtk_widget_get_window, gtk_widget_get_mapped)
(gtk_adjustment_get_page_size, gtk_adjustment_get_upper): New
defines based on what configure finds.
* xterm.c (XTflash): Use gtk_widget_get_window.
(xg_scroll_callback): Use gtk_adjustment_get_upper and
gtk_adjustment_get_page_size.
(handle_one_xevent): Use gtk_widget_get_mapped.
(x_term_init): Remove HAVE_GTK_MULTIDISPLAY and associated error
messages.
* xmenu.c (create_and_show_popup_menu): Call gtk_widget_get_mapped.
* gtkutil.h: Replace HAVE_GTK_FILE_BOTH with
HAVE_GTK_FILE_SELECTION_NEW.
* gtkutil.c (xg_display_open, xg_display_close): Remove
HAVE_GTK_MULTIDISPLAY, it is always defined.
(xg_display_open): Return type is void.
(gtk_widget_set_has_window)
(gtk_dialog_get_action_area, gtk_dialog_get_content_area)
(gtk_widget_get_sensitive, gtk_adjustment_set_page_size)
(gtk_adjustment_set_page_increment)
(gtk_adjustment_get_step_increment): #define these if not found
by configure.
(remove_submenu): New define based on Gtk+ version.
(xg_set_cursor, xg_frame_resized, xg_event_is_for_scrollbar): Use
gtk_widget_get_window.
(xg_frame_resized, xg_update_frame_menubar): Use gtk_widget_get_mapped.
(xg_create_frame_widgets): Use gtk_widget_set_has_window.
(create_dialog): Use gtk_dialog_get_action_area and
gtk_dialog_get_content_area.
(xg_uses_old_file_dialog, xg_get_file_name): Remove HAVE_GTK_FILE_BOTH
and HAVE_GTK_FILE_CHOOSER_DIALOG_NEW. File chooser is always
available, so checking for HAVE_GTK_FILE_SELECTION_NEW is enough.
(xg_update_menubar, xg_update_submenu, xg_show_toolbar_item): Use
g_object_ref and g_object_unref.
(xg_update_menu_item, xg_tool_bar_menu_proxy): Use
gtk_widget_get_sensitive.
(xg_update_submenu): Use remove_submenu.
(xg_update_scrollbar_pos): Don't use GtkFixedChild, use child
properties instead to get old x and y position.
(xg_set_toolkit_scroll_bar_thumb): Use gtk_adjustment_get_page_size,
gtk_adjustment_get_step_increment, gtk_adjustment_set_page_size,
gtk_adjustment_set_step_increment and gtk_adjustment_set_page_increment.
(xg_get_tool_bar_widgets): New function.
(xg_tool_bar_menu_proxy, xg_show_toolbar_item)
(update_frame_tool_bar): Call xg_get_tool_bar_widgets.
(toolbar_set_orientation): New #define based on if configure
finds gtk_orientable_set_orientation.
(xg_create_tool_bar): Call toolbar_set_orientation.
(xg_make_tool_item, xg_show_toolbar_item): Call gtk_box_pack_start
instead of gtk_box_pack_start_defaults.
2010-06-28 10:11:26 +00:00
|
|
|
|
to configure. Note that other libraries used by Emacs, RSVG and GConf,
|
|
|
|
|
also depend on Gtk+. You can disable them with --without-rsvg and
|
|
|
|
|
--without-gconf.
|
|
|
|
|
|
2010-07-02 08:11:24 +00:00
|
|
|
|
** There is a new configure option --enable-use-lisp-union-type.
|
|
|
|
|
This is only useful for Emacs developers to debug certain types of bugs.
|
2010-09-18 09:15:02 +00:00
|
|
|
|
This is not a new feature; only the configure flag is new.
|
2010-07-02 08:11:24 +00:00
|
|
|
|
|
2010-08-07 10:26:42 +00:00
|
|
|
|
---
|
|
|
|
|
** New translation of the Emacs Tutorial in Hebrew is available
|
|
|
|
|
Type `C-u C-h t' to choose it in case your language setup doesn't
|
|
|
|
|
automatically select it.
|
|
|
|
|
|
2007-05-22 06:17:37 +00:00
|
|
|
|
|
2010-03-11 06:10:50 +00:00
|
|
|
|
* Startup Changes in Emacs 24.1
|
2008-07-31 11:52:15 +00:00
|
|
|
|
|
2010-08-22 21:15:20 +00:00
|
|
|
|
** The --unibyte, --multibyte, --no-multibyte, and --no-unibyte
|
2010-12-03 02:54:34 +00:00
|
|
|
|
command line arguments, and the EMACS_UNIBYTE environment variable, no
|
|
|
|
|
longer have any effect. (They were declared obsolete in Emacs 23.)
|
2010-08-22 21:15:20 +00:00
|
|
|
|
|
2011-01-07 03:10:39 +00:00
|
|
|
|
** New command line option `--no-site-lisp' removes site-lisp directories
|
|
|
|
|
from load-path. -Q now implies this.
|
|
|
|
|
|
2007-05-22 06:17:37 +00:00
|
|
|
|
|
2010-03-11 06:10:50 +00:00
|
|
|
|
* Changes in Emacs 24.1
|
2009-06-15 09:05:17 +00:00
|
|
|
|
|
2010-10-03 00:03:44 +00:00
|
|
|
|
** emacsclient changes
|
|
|
|
|
|
|
|
|
|
*** New emacsclient argument --parent-id ID can be used to open a
|
2010-05-29 23:50:47 +00:00
|
|
|
|
client frame in parent X window ID, via XEmbed. This works like the
|
|
|
|
|
--parent-id argument to Emacs.
|
|
|
|
|
|
2010-10-03 00:03:44 +00:00
|
|
|
|
*** If emacsclient shuts down as a result of Emacs signalling an
|
|
|
|
|
error, its exit status is 1.
|
|
|
|
|
|
2010-05-12 00:39:46 +00:00
|
|
|
|
** Completion can cycle, depending on completion-cycle-threshold.
|
|
|
|
|
|
2010-03-31 01:51:54 +00:00
|
|
|
|
** auto-mode-case-fold is now enabled by default.
|
|
|
|
|
|
2010-03-29 12:26:24 +00:00
|
|
|
|
+++
|
|
|
|
|
** Emacs now supports display and editing of bidirectional text.
|
|
|
|
|
|
|
|
|
|
See the node "Bidirectional Editing" in the Emacs Manual for some
|
|
|
|
|
initial documentation.
|
|
|
|
|
|
|
|
|
|
To turn this on in any given buffer, set the buffer-local variable
|
|
|
|
|
`bidi-display-reordering' to a non-nil value. The default is nil.
|
|
|
|
|
|
|
|
|
|
The buffer-local variable `bidi-paragraph-direction', if non-nil,
|
|
|
|
|
forces each paragraph in the buffer to have its base direction
|
|
|
|
|
according to the value of this variable. Possible values are
|
|
|
|
|
`right-to-left' and `left-to-right'. If the value is nil (the
|
|
|
|
|
default), Emacs determines the base direction of each paragraph from
|
|
|
|
|
its text, as specified by the Unicode Bidirectional Algorithm.
|
|
|
|
|
|
2010-05-15 13:23:48 +00:00
|
|
|
|
The function `current-bidi-paragraph-direction' returns the actual
|
|
|
|
|
value of paragraph base direction at point.
|
|
|
|
|
|
2010-03-29 12:26:24 +00:00
|
|
|
|
Reordering of bidirectional text for display in Emacs is a "Full
|
|
|
|
|
bidirectionality" class implementation of the Unicode Bidirectional
|
|
|
|
|
Algorithm.
|
|
|
|
|
|
2010-05-07 17:04:15 +00:00
|
|
|
|
Note that some advanced display features, such as overlay strings and
|
|
|
|
|
`display' text properties, do not yet work correctly when
|
|
|
|
|
bidirectional text is reordered for display.
|
|
|
|
|
|
2010-03-15 17:16:46 +00:00
|
|
|
|
** GTK scroll-bars are now placed on the right by default.
|
2010-03-12 23:13:27 +00:00
|
|
|
|
Use `set-scroll-bar-mode' to change this.
|
|
|
|
|
|
2010-04-21 16:25:15 +00:00
|
|
|
|
** GTK tool bars can have just text, just images or images and text.
|
2010-04-23 05:43:48 +00:00
|
|
|
|
Customize `tool-bar-style' to choose style. On a Gnome desktop, the default
|
2010-04-21 16:25:15 +00:00
|
|
|
|
is taken from the desktop settings.
|
|
|
|
|
|
2010-07-29 17:10:41 +00:00
|
|
|
|
** GTK tool bars can be placed on the left/right or top/bottom of the frame.
|
|
|
|
|
The frame-parameter tool-bar-position controls this. It takes the values
|
2010-08-13 06:57:12 +00:00
|
|
|
|
top, left, right or bottom. The Options => Show/Hide menu has entries
|
2010-07-29 17:10:41 +00:00
|
|
|
|
for this.
|
|
|
|
|
|
2010-09-09 02:21:12 +00:00
|
|
|
|
** ImageMagick support.
|
2010-09-28 02:41:18 +00:00
|
|
|
|
It is now possible to use the ImageMagick library to load many new
|
|
|
|
|
image formats in Emacs. By default, Emacs links with the ImageMagick
|
|
|
|
|
libraries if they are present at build time. To disable this, use
|
2010-09-27 20:53:35 +00:00
|
|
|
|
the configure option `--without-imagemagick'.
|
2010-08-18 10:35:23 +00:00
|
|
|
|
|
2010-09-09 02:21:12 +00:00
|
|
|
|
The new function `imagemagick-types' returns a list of image file
|
|
|
|
|
extensions that your installation of ImageMagick supports. The
|
|
|
|
|
function `imagemagick-register-types' enables ImageMagick support for
|
2010-09-18 09:15:02 +00:00
|
|
|
|
these image types, minus those listed in `imagemagick-types-inhibit'.
|
2010-08-18 10:35:23 +00:00
|
|
|
|
|
2010-09-09 02:21:12 +00:00
|
|
|
|
See the Emacs Lisp Reference Manual for more information.
|
2010-08-18 10:35:23 +00:00
|
|
|
|
|
2010-08-11 18:28:10 +00:00
|
|
|
|
** The colors for selected text (the region face) are taken from the GTK
|
|
|
|
|
theme when Emacs is built with GTK.
|
|
|
|
|
|
2010-08-01 13:57:07 +00:00
|
|
|
|
** Emacs uses GTK tooltips by default if built with GTK. You can turn that
|
|
|
|
|
off by customizing x-gtk-use-system-tooltips.
|
|
|
|
|
|
2010-04-11 18:25:09 +00:00
|
|
|
|
** Lucid menus and dialogs can display antialiased fonts if Emacs is built
|
2011-02-14 17:21:10 +00:00
|
|
|
|
with Xft. To change font, use the X resource font, for example:
|
|
|
|
|
Emacs.pane.menubar.font: Courier-12
|
Lucid menus can now use Xft for fonts.
* xsettings.c (current_font, SYSTEM_FONT, XSETTINGS_FONT_NAME): New.
(parse_xft_settings): Also check for XSETTINGS_FONT_NAME and save that
in current_font.
(init_gconf): Read value of SYSTEM_FONT and save it in current_font.
(Ffont_get_system_normal_font, xsettings_get_system_normal_font): New
functions.
(syms_of_xsettings): Initialize current_font. defsubr
Sfont_get_system_normal_font.
* xsettings.h (Ffont_get_system_normal_font,
xsettings_get_system_normal_font): Declare.
* xfns.c (extern xlwmenu_default_font): Remove.
(Fx_create_frame): Remove setting of xlwmenu_default_font, moved
to xlwmenu.c.
* menu.c (digest_single_submenu): If USE_LUCID and HAVE_XFT, encode
menu items in UTF-8.
* xmenu.c: include xsettings.h and xlwmenu.h if USE_LUCID.
(apply_systemfont_to_menu): New function.
(set_frame_menubar, create_and_show_popup_menu): Call
apply_systemfont_to_menu.
* xlwmenu.c (xlwmenu_default_font): Make static.
(xlwMenuResources): Add XtNfaceName and XtNdefaultFace.
(string_width): Use XftTextExtentsUtf8 if HAVE_XFT.
(MENU_FONT_HEIGHT, MENU_FONT_ASCENT): Add versions for
HAVE_XFT.
(size_menu): Set max_rest_width in window_state structure.
(display_menu_item): If HAVE_XFT and xft_draw is set, use
XftDrawRect and XftDrawStringUtf8 to draw text.
(make_windows_if_needed): Set max_rest_width and xft_draw
in windows[i].
(openXftFont): New.
(XlwMenuInitialize): Call openXftFont if HAVE_XFT. If mw->menu.font
is not set, load font fixed and save it in xlwmenu_default_font.
(XlwMenuInitialize): Set max_rest_width and xft_draw in windows[0].
(XlwMenuClassInitialize): Initialize xlwmenu_default_font.
(XlwMenuRealize): Set xft_fg, xft_bg, xft_disabled_fg and
windows[0].xft_draw if xft_font is set.
(XlwMenuDestroy): Destroy all xft_draw and close xft_font.
(facename_changed): New.
(XlwMenuSetValues): Call facename_changed. If face name did change,
close old fonts and destroy xft_draw:s. Then create new ones.
* xlwmenu.h (XtNfaceName, XtCFaceName, XtNdefaultFace,
XtCDefaultFace): New.
* xlwmenuP.h (_window_state): Add max_rest_width and xft_draw.
(_XlwMenu_part): Add faceName,xft_fg, xft_bg, xft_disabled_fg and
xft_font.
* xresources.texi (Lucid Resources): Mention faceName to set Xft fonts.
2010-04-08 16:20:32 +00:00
|
|
|
|
|
2010-11-13 13:29:31 +00:00
|
|
|
|
+++
|
|
|
|
|
** Enhanced support for characters that have no glyphs in available fonts
|
|
|
|
|
If a character has no glyphs in any of the available fonts, Emacs by
|
|
|
|
|
default will display it either as a hexadecimal code in a box or as a
|
|
|
|
|
thin 1-pixel space. In addition to these two methods, Emacs can
|
|
|
|
|
display these characters as empty box, as an acronym, or not display
|
|
|
|
|
them at all. To change how these characters are displayed, customize
|
|
|
|
|
the variable `glyphless-char-display-control'.
|
|
|
|
|
|
|
|
|
|
On character terminals these methods are used for characters that
|
|
|
|
|
cannot be encoded by the `terminal-coding-system'.
|
|
|
|
|
|
2010-10-19 19:24:39 +00:00
|
|
|
|
** On graphical displays, the mode-line no longer ends in dashes.
|
|
|
|
|
|
2010-04-21 03:08:21 +00:00
|
|
|
|
** Basic SELinux support has been added.
|
|
|
|
|
This requires Emacs to be linked with libselinux at build time.
|
|
|
|
|
|
2010-04-23 05:43:48 +00:00
|
|
|
|
*** Emacs preserves the SELinux file context when backing up, and
|
|
|
|
|
optionally when copying files. To this end, copy-file has an extra
|
|
|
|
|
optional argument, and backup-buffer and friends include the SELinux
|
|
|
|
|
context in their return values.
|
2010-04-21 03:08:21 +00:00
|
|
|
|
|
|
|
|
|
*** The new functions file-selinux-context and set-file-selinux-context
|
|
|
|
|
get and set the SELinux context of a file.
|
|
|
|
|
|
2010-04-23 14:19:44 +00:00
|
|
|
|
*** Tramp offers handlers for file-selinux-context and set-file-selinux-context
|
|
|
|
|
for remote machines which support SELinux.
|
|
|
|
|
|
2011-02-01 07:23:48 +00:00
|
|
|
|
+++
|
|
|
|
|
** The function format-time-string now supports the %N directive, for
|
|
|
|
|
higher-resolution time stamps.
|
|
|
|
|
|
2010-10-02 02:30:11 +00:00
|
|
|
|
** The function kill-emacs is now run upon receipt of the signals SIGTERM
|
2010-10-02 08:24:14 +00:00
|
|
|
|
and SIGHUP, and upon SIGINT in batch mode.
|
2010-10-02 02:30:11 +00:00
|
|
|
|
|
|
|
|
|
** kill-emacs-hook is now also run in batch mode.
|
|
|
|
|
|
2010-04-05 23:38:53 +00:00
|
|
|
|
** New scrolling commands `scroll-up-command' and `scroll-down-command'
|
2010-04-14 00:43:54 +00:00
|
|
|
|
(bound to C-v/[next] and M-v/[prior]) does not signal errors at top/bottom
|
|
|
|
|
of buffer at first key-press (instead moves to top/bottom of buffer)
|
|
|
|
|
when a new variable `scroll-error-top-bottom' is non-nil.
|
2010-04-05 23:38:53 +00:00
|
|
|
|
|
2010-04-05 23:44:24 +00:00
|
|
|
|
** New scrolling commands `scroll-up-line' and `scroll-down-line'
|
|
|
|
|
scroll a line instead of full screen.
|
|
|
|
|
|
2010-04-15 23:51:12 +00:00
|
|
|
|
** New property `scroll-command' should be set on a command's symbol to
|
2010-09-18 09:15:02 +00:00
|
|
|
|
define it as a scroll command affected by `scroll-preserve-screen-position'.
|
2010-04-14 00:11:21 +00:00
|
|
|
|
|
Change delete-by-moving-to-trash so Lisp calls explicitly request trashing.
* src/fileio.c (Fdelete_file): Change meaning of optional arg to mean
whether to trash.
(internal_delete_file, Frename_file): Callers changed.
(delete_by_moving_to_trash): Doc fix.
(Fdelete_directory_internal): Don't move to trash.
* src/callproc.c (delete_temp_file):
* src/buffer.c (Fkill_buffer): Callers changed.
* src/lisp.h: Update prototype.
* lisp/diff.el (diff-sentinel):
* lisp/epg.el (epg--make-temp-file, epg-decrypt-string)
(epg-verify-string, epg-sign-string, epg-encrypt-string):
* lisp/jka-compr.el (jka-compr-partial-uncompress)
(jka-compr-call-process, jka-compr-write-region):
* lisp/server.el (server-sentinel): Remove optional arg from
delete-file, reverting 2010-05-03 change.
* lisp/dired.el (dired-delete-file): New arg TRASH.
(dired-internal-do-deletions): New arg TRASH. Use progress
reporter.
(dired-do-flagged-delete, dired-do-delete): Use trash.
* lisp/files.el (delete-directory): New arg TRASH.
* lisp/speedbar.el (speedbar-item-delete): Allow trashing.
* lisp/net/ange-ftp.el (ange-ftp-del-tmp-name, ange-ftp-delete-file)
(ange-ftp-rename-remote-to-remote)
(ange-ftp-rename-local-to-remote)
(ange-ftp-rename-remote-to-local, ange-ftp-load)
(ange-ftp-compress, ange-ftp-uncompress): Remove optional arg from
`delete-file'.
(ange-ftp-delete-directory): Add optional arg to `delete-file', to
allow trashing.
* lisp/net/tramp-compat.el (tramp-compat-delete-file): Rewrite to
handle new TRASH arg of `delete-file'.
* lisp/net/tramp-fish.el (tramp-fish-handle-delete-directory)
(tramp-fish-handle-delete-file)
(tramp-fish-handle-make-symbolic-link)
(tramp-fish-handle-process-file): Use null TRASH arg in
`tramp-compat-delete-file' call.
* lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler): Use null TRASH
arg in `tramp-compat-delete-file' call.
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-file): Rename arg.
(tramp-gvfs-handle-write-region): Use null TRASH arg in
`tramp-compat-delete-file' call.
* lisp/net/tramp-imap.el (tramp-imap-handle-delete-file): Rename arg.
(tramp-imap-do-copy-or-rename-file): Use null TRASH arg in
`tramp-compat-delete-file' call.
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
(tramp-smb-handle-file-local-copy, tramp-smb-handle-rename-file)
(tramp-smb-handle-write-region): Use null TRASH arg in
tramp-compat-delete-file call.
(tramp-smb-handle-delete-directory): Use tramp-compat-delete-file.
(tramp-smb-handle-delete-file): Rename arg.
* lisp/net/tramp.el (tramp-handle-delete-file): Change FORCE arg to TRASH.
(tramp-handle-make-symbolic-link, tramp-handle-load)
(tramp-do-copy-or-rename-file-via-buffer)
(tramp-do-copy-or-rename-file-directly)
(tramp-do-copy-or-rename-file-out-of-band)
(tramp-handle-process-file, tramp-handle-call-process-region)
(tramp-handle-shell-command, tramp-handle-file-local-copy)
(tramp-handle-insert-file-contents, tramp-handle-write-region)
(tramp-delete-temp-file-function): Use null TRASH arg in
tramp-compat-delete-file call.
2010-05-27 23:30:11 +00:00
|
|
|
|
** Trash changes
|
|
|
|
|
|
|
|
|
|
*** `delete-by-moving-to-trash' now only affects commands that specify
|
|
|
|
|
trashing. This avoids inadvertently trashing temporary files.
|
|
|
|
|
|
|
|
|
|
*** Calling `delete-file' or `delete-directory' with a prefix argument
|
|
|
|
|
now forces true deletion, regardless of `delete-by-moving-to-trash'.
|
|
|
|
|
|
2010-06-14 16:03:04 +00:00
|
|
|
|
** New option `list-colors-sort' defines the color sort order
|
|
|
|
|
for `list-colors-display'.
|
|
|
|
|
|
2010-06-17 02:08:10 +00:00
|
|
|
|
** An Emacs Lisp package manager is now included.
|
|
|
|
|
This is a convenient way to download and install additional packages,
|
2010-11-01 03:20:57 +00:00
|
|
|
|
from a package repository at elpa.gnu.org.
|
2010-08-26 03:31:34 +00:00
|
|
|
|
|
|
|
|
|
*** `M-x list-packages' shows a list of packages, which can be
|
|
|
|
|
selected for installation.
|
|
|
|
|
|
|
|
|
|
*** New command `describe-package', bound to `C-h P'.
|
2010-06-17 02:08:10 +00:00
|
|
|
|
|
|
|
|
|
*** By default, all installed packages are loaded and activated
|
|
|
|
|
automatically when Emacs starts up. To disable this, set
|
|
|
|
|
`package-enable-at-startup' to nil. To change which packages are
|
|
|
|
|
loaded, customize `package-load-list'.
|
|
|
|
|
|
2011-01-12 16:08:24 +00:00
|
|
|
|
** An Emacs Lisp testing tool is now included.
|
|
|
|
|
Emacs Lisp developers can use this tool to write automated tests for
|
|
|
|
|
their code. See the ERT info manual for details.
|
|
|
|
|
|
2010-10-12 03:12:33 +00:00
|
|
|
|
** Custom Themes
|
|
|
|
|
|
|
|
|
|
*** `M-x customize-themes' lists Custom themes which can be enabled.
|
|
|
|
|
|
2010-10-16 18:27:08 +00:00
|
|
|
|
*** New option `custom-theme-load-path' is the load path for themes.
|
|
|
|
|
Emacs no longer looks for custom themes in `load-path'. The default
|
|
|
|
|
is to search in `custom-theme-directory', followed by a built-in theme
|
|
|
|
|
directory named "themes/" in `data-directory'.
|
|
|
|
|
|
2011-01-09 04:59:56 +00:00
|
|
|
|
*** New option `custom-safe-themes' records known-safe theme files.
|
|
|
|
|
If a theme is not in this list, Emacs queries before loading it, and
|
|
|
|
|
offers to save the theme to `custom-safe-themes' automatically. By
|
|
|
|
|
default, all themes included in Emacs are treated as safe.
|
2011-01-08 19:19:55 +00:00
|
|
|
|
|
2010-10-03 16:43:22 +00:00
|
|
|
|
** The user option `remote-file-name-inhibit-cache' controls whether
|
|
|
|
|
the remote file-name cache is used for read access.
|
|
|
|
|
|
2010-10-23 02:46:06 +00:00
|
|
|
|
** The standalone programs lib-src/digest-doc and sorted-doc have been
|
|
|
|
|
replaced with Lisp commands `doc-file-to-man' and `doc-file-to-info'.
|
|
|
|
|
|
2010-12-20 11:11:30 +00:00
|
|
|
|
** The variable `focus-follows-mouse' now always defaults to nil.
|
|
|
|
|
|
2007-05-22 06:17:37 +00:00
|
|
|
|
|
2010-03-11 06:10:50 +00:00
|
|
|
|
* Editing Changes in Emacs 24.1
|
2008-06-26 17:26:15 +00:00
|
|
|
|
|
2010-11-13 03:48:16 +00:00
|
|
|
|
+++
|
|
|
|
|
** There is a new command `count-words-region', which does what you expect.
|
|
|
|
|
|
2010-12-06 21:06:02 +00:00
|
|
|
|
** completion-at-point now handles tags and semantic completion.
|
2010-04-28 22:27:54 +00:00
|
|
|
|
|
2010-11-21 19:46:48 +00:00
|
|
|
|
** The default value of `backup-by-copying-when-mismatch' is now t.
|
|
|
|
|
|
2010-12-16 01:20:46 +00:00
|
|
|
|
** The command `just-one-space' (C-SPC), if given a negative argument,
|
|
|
|
|
also deletes newlines around point.
|
|
|
|
|
|
2010-06-28 01:01:11 +00:00
|
|
|
|
** Deletion changes
|
|
|
|
|
|
|
|
|
|
*** New option `delete-active-region'.
|
|
|
|
|
If non-nil, C-d, [delete], and DEL delete the region if it is active
|
|
|
|
|
and no prefix argument is given. If set to `kill', these commands
|
|
|
|
|
kill instead.
|
|
|
|
|
|
|
|
|
|
*** New command `delete-forward-char', bound to C-d and [delete].
|
2010-11-01 03:20:57 +00:00
|
|
|
|
This is meant for interactive use, and obeys `delete-active-region'.
|
|
|
|
|
The command `delete-char' does not obey `delete-active-region'.
|
2010-06-28 01:01:11 +00:00
|
|
|
|
|
|
|
|
|
*** `delete-backward-char' is now a Lisp function.
|
|
|
|
|
Apart from obeying `delete-active-region', its behavior is unchanged.
|
|
|
|
|
However, the byte compiler now warns if it is called from Lisp; you
|
|
|
|
|
should use delete-char with a negative argument instead.
|
|
|
|
|
|
|
|
|
|
*** The option `mouse-region-delete-keys' has been deleted.
|
|
|
|
|
|
2010-07-14 18:03:39 +00:00
|
|
|
|
** Selection changes.
|
|
|
|
|
|
2011-01-27 21:41:47 +00:00
|
|
|
|
The default handling of clipboard and primary selections was changed
|
|
|
|
|
to conform with modern X applications. In short, most commands for
|
|
|
|
|
killing and yanking text now use the clipboard, while mouse commands
|
|
|
|
|
use the primary selection.
|
|
|
|
|
|
|
|
|
|
In the following, we provide a list of these changes, followed by a
|
|
|
|
|
list of steps to get the old behavior back if you prefer that.
|
|
|
|
|
|
|
|
|
|
*** `mouse-drag-copy-region' now defaults to nil.
|
|
|
|
|
*** `select-active-regions' now defaults to t.
|
|
|
|
|
Merely selecting text (e.g. with drag-mouse-1) no longer puts it in
|
|
|
|
|
the kill-ring. The selected text is put in the primary selection, if
|
|
|
|
|
the system possesses a separate primary selection facility (e.g. X).
|
|
|
|
|
|
|
|
|
|
**** `select-active-regions' also accepts a new value, `only'.
|
|
|
|
|
This means to only set the primary selection for temporarily active
|
|
|
|
|
regions (usually made by mouse-dragging or shift-selection);
|
|
|
|
|
"ordinary" active regions, such as those made with C-SPC followed by
|
|
|
|
|
point motion, do not alter the primary selection.
|
|
|
|
|
|
|
|
|
|
*** mouse-2 is now bound to `mouse-yank-primary'.
|
|
|
|
|
This pastes from the primary selection, ignoring the kill-ring.
|
|
|
|
|
Previously, mouse-2 was bound to `mouse-yank-at-click'.
|
|
|
|
|
|
|
|
|
|
*** `x-select-enable-clipboard' now defaults to t on all platforms.
|
|
|
|
|
*** `x-select-enable-primary' now defaults to nil.
|
|
|
|
|
Thus, commands that kill text or copy it to the kill-ring (such as
|
|
|
|
|
M-w, C-w, and C-k) also use the clipboard---not the primary selection.
|
|
|
|
|
|
|
|
|
|
**** The "Copy", "Cut", and "Paste" items in the "Edit" menu are now
|
|
|
|
|
exactly equivalent to, respectively M-w, C-w, and C-y.
|
|
|
|
|
|
|
|
|
|
**** Note that on MS-Windows, `x-select-enable-clipboard' was already
|
|
|
|
|
non-nil by default, as Windows does not support the primary selection
|
|
|
|
|
between applications.
|
|
|
|
|
|
|
|
|
|
*** To return to the previous behavior, do the following:
|
|
|
|
|
|
|
|
|
|
**** Change `mouse-drag-copy-region' to t.
|
|
|
|
|
**** Change `x-select-enable-primary' to t (on X only).
|
|
|
|
|
**** Change `x-select-enable-clipboard' to nil.
|
|
|
|
|
**** Bind `mouse-yank-at-click' to mouse-2.
|
2010-07-14 18:03:39 +00:00
|
|
|
|
|
2010-09-02 09:52:24 +00:00
|
|
|
|
*** Support for X cut buffers has been removed.
|
|
|
|
|
|
2010-12-15 02:56:22 +00:00
|
|
|
|
** New command `rectangle-number-lines', bound to `C-x r N', numbers
|
|
|
|
|
the lines in the current rectangle. With an prefix argument, this
|
|
|
|
|
prompts for a number to count from and for a format string.
|
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
|
2010-03-11 06:10:50 +00:00
|
|
|
|
* Changes in Specialized Modes and Packages in Emacs 24.1
|
2001-08-22 07:11:33 +00:00
|
|
|
|
|
2011-01-28 22:12:05 +00:00
|
|
|
|
** The compile.el mode can be used without font-lock-mode.
|
|
|
|
|
`compilation-parse-errors-function' is now obsolete.
|
|
|
|
|
|
2011-01-22 20:12:51 +00:00
|
|
|
|
** The Landmark game is now invoked with `landmark', not `lm'.
|
|
|
|
|
|
2011-01-11 05:07:32 +00:00
|
|
|
|
** Prolog mode has been completely revamped, with lots of additional
|
|
|
|
|
functionality such as more intelligent indentation, electricty, support for
|
|
|
|
|
more variants, including Mercury, and a lot more.
|
|
|
|
|
|
2010-11-12 14:13:48 +00:00
|
|
|
|
** shell-mode can track your cwd by reading it from your prompt.
|
|
|
|
|
Just set shell-dir-cookie-re to an appropriate regexp.
|
|
|
|
|
|
* lisp/progmodes/modula2.el: Use SMIE and skeleton.
(m2-mode-syntax-table): (*..*) can be nested.
Add //...\n. Fix paren syntax.
(m2-mode-map): Remove LF and TAB bindings.
(m2-indent): Add safety property.
(m2-smie-grammar): New var.
(m2-smie-refine-colon, m2-smie-refine-of, m2-smie-backward-token)
(m2-smie-forward-token, m2-smie-refine-semi, m2-smie-rules): New funs.
(m2-mode): Use define-derived-mode.
(m2-newline, m2-tab): Remove.
(m2-begin, m2-case, m2-definition, m2-else, m2-for, m2-header)
(m2-if, m2-loop, m2-module, m2-or, m2-procedure, m2-with, m2-record)
(m2-stdio, m2-type, m2-until, m2-var, m2-while, m2-export)
(m2-import): Use define-skeleton.
* test/indent/modula2.mod: New file.
2010-11-11 21:06:15 +00:00
|
|
|
|
** Modula-2 mode provides auto-indentation.
|
|
|
|
|
|
2010-09-18 00:35:00 +00:00
|
|
|
|
** latex-electric-env-pair-mode keeps \begin..\end matched on the fly.
|
|
|
|
|
|
2010-10-08 03:17:31 +00:00
|
|
|
|
** FIXME: xdg-open for browse-url and reportbug, 2010/08.
|
2010-08-18 02:48:28 +00:00
|
|
|
|
|
2010-04-18 23:08:52 +00:00
|
|
|
|
** Archive Mode has basic support to browse 7z archives.
|
|
|
|
|
|
2010-11-24 06:29:06 +00:00
|
|
|
|
** browse-url has gotten a new variable that is used for mailto: URLs,
|
|
|
|
|
`browse-url-mailto-function', which defaults to `browse-url-mail'.
|
|
|
|
|
|
2010-08-14 22:58:10 +00:00
|
|
|
|
** ERC changes
|
|
|
|
|
|
|
|
|
|
*** New vars `erc-autojoin-timing' and `erc-autojoin-delay'.
|
|
|
|
|
If the value of `erc-autojoin-timing' is 'ident, ERC autojoins after a
|
|
|
|
|
successful NickServ identification, or after `erc-autojoin-delay'
|
|
|
|
|
seconds. The default value, 'ident, means to autojoin immediately
|
|
|
|
|
after connecting.
|
|
|
|
|
|
2010-11-05 14:17:46 +00:00
|
|
|
|
*** New variable `erc-coding-system-precedence': If we use `undecided'
|
|
|
|
|
as the server coding system, this variable will then be consulted.
|
|
|
|
|
The default is to decode strings that can be decoded as utf-8 as
|
|
|
|
|
utf-8, and do the normal `undecided' decoding for the rest.
|
|
|
|
|
|
2010-12-16 02:28:33 +00:00
|
|
|
|
** Eshell changes
|
|
|
|
|
|
|
|
|
|
*** The default value of eshell-directory-name is a directory named
|
|
|
|
|
"eshell" in `user-emacs-directory'. If the old "~/.eshell/" directory
|
|
|
|
|
exists, that is used instead.
|
|
|
|
|
|
2010-04-29 15:41:23 +00:00
|
|
|
|
** In ido-mode, C-v is no longer bound to ido-toggle-vc.
|
|
|
|
|
The reason is that this interferes with cua-mode.
|
|
|
|
|
|
2010-04-13 03:29:38 +00:00
|
|
|
|
** partial-completion-mode is now obsolete.
|
2010-05-09 22:39:36 +00:00
|
|
|
|
You can get a comparable behavior with:
|
|
|
|
|
(setq completion-styles '(partial-completion initials))
|
|
|
|
|
(setq completion-pcm-complete-word-inserts-delimiters t)
|
2010-04-13 03:29:38 +00:00
|
|
|
|
|
2010-03-25 00:06:08 +00:00
|
|
|
|
** mpc.el: Can use pseudo tags of the form tag1|tag2 as a union of two tags.
|
2010-09-18 09:15:02 +00:00
|
|
|
|
|
2010-10-26 07:42:46 +00:00
|
|
|
|
** server can listen on a specific port using the server-port option.
|
|
|
|
|
|
2010-09-30 02:23:25 +00:00
|
|
|
|
** Calendar, Diary, and Appt
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** The obsolete (since Emacs 22.1) method of enabling the appt package
|
|
|
|
|
by adding appt-make-list to diary-hook has been removed. Use appt-activate.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** Some appt variables (obsolete since Emacs 22.1) have been removed:
|
|
|
|
|
appt-issue-message (use the function appt-activate)
|
|
|
|
|
appt-visible/appt-msg-window (use the variable appt-display-format)
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** Some diary function aliases (obsolete since Emacs 22.1) have been removed:
|
|
|
|
|
view-diary-entries, list-diary-entries, show-all-diary-entries
|
|
|
|
|
|
2010-03-12 23:13:27 +00:00
|
|
|
|
** Customize
|
|
|
|
|
|
|
|
|
|
*** Customize buffers now contain a search field.
|
|
|
|
|
The search is performed using `customize-apropos'.
|
2010-11-01 03:20:57 +00:00
|
|
|
|
To turn off the search field, set custom-search-field to nil.
|
2010-03-12 23:13:27 +00:00
|
|
|
|
|
|
|
|
|
*** Custom options now start out hidden if at their default values.
|
|
|
|
|
Use the arrow to the left of the option name to toggle visibility.
|
|
|
|
|
|
|
|
|
|
*** custom-buffer-sort-alphabetically now defaults to t.
|
|
|
|
|
|
|
|
|
|
*** The color widget now has a "Choose" button, which allows you to
|
|
|
|
|
choose a color via list-colors-display.
|
|
|
|
|
|
2010-05-20 21:33:58 +00:00
|
|
|
|
** Dired-x
|
|
|
|
|
|
|
|
|
|
*** dired-jump and dired-jump-other-window called with a prefix argument
|
|
|
|
|
read a file name from the minibuffer instead of using buffer-file-name.
|
|
|
|
|
|
2010-03-12 08:04:54 +00:00
|
|
|
|
** Directory local variables can apply to file-less buffers.
|
|
|
|
|
For example, adding "(diff-mode . ((mode . whitespace)))" to your
|
2010-04-23 05:43:48 +00:00
|
|
|
|
.dir-locals.el file, will turn on `whitespace-mode' for *vc-diff* buffers.
|
2010-03-12 08:04:54 +00:00
|
|
|
|
|
2010-05-10 02:07:58 +00:00
|
|
|
|
** SQL Mode enhancements.
|
|
|
|
|
|
2010-07-18 18:44:32 +00:00
|
|
|
|
*** Several variables have been marked as safe local variables. The
|
|
|
|
|
variables `sql-product', `sql-user', `sql-server', `sql-database' and
|
|
|
|
|
`sql-port' can now be safely used as local variables.
|
2010-05-10 02:07:58 +00:00
|
|
|
|
|
SQL Mode, Version 2.6
* progmodes/sql.el: Version 2.6
(sql-dialect): Synonym for "sql-product".
(sql-find-sqli-buffer, sql-set-sqli-buffer-generally)
(sql-set-sqli-buffer, sql-show-sqli-buffer, sql-interactive-mode):
Set "sql-buffer" to buffer name not buffer object so multiple sql
interactive buffers work properly. Reverts misguided changes in
earlier work.
(sql-comint): Make sure different buffer name is used if "*SQL*"
buffer is for a different product.
(sql-make-alternate-buffer-name): Fix bug with "sql-database"
login param.
(sql-oracle, sql-sybase, sql-informix, sql-sqlite, sql-mysql)
(sql-solid, sql-ingres, sql-ms, sql-postgres, sql-interbase)
(sql-db2, sql-linter, sql-product-interactive, sql-rename-buffer):
Accept new buffer name or prompt for one.
(sql-port): Default to zero.
(sql-comint-mysql): Handle "sql-port" as a numeric.
(sql-port-history): Delete unused variable.
(sql-get-login): Default "sql-port" to a number.
(sql-product-alist): Correct Postgres prompt and terminator
regexp.
(sql-sqlite-program): Dynamically detect presence of "sqlite" or
"sqlite3" executables.
(sql-sqlite-login-params): Add "*.sqlite[23]?" database name
pattern.
(sql-buffer-live-p): New function.
(sql-mode-menu, sql-send-string): Use it.
(sql-mode-oracle-font-lock-keywords): Improve SQL*Plus REMARK
syntax pattern.
(sql-mode-postgres-font-lock-keywords): Support Postgres V9.
(sql-mode-sqlite-font-lock-keywords): Hilight sqlite commands.
2010-09-11 03:17:02 +00:00
|
|
|
|
*** `sql-dialect' is a synonym for `sql-product'.
|
|
|
|
|
|
2010-09-19 02:11:18 +00:00
|
|
|
|
*** Added ability to login with a port on MySQL and Postgres.
|
2010-05-10 02:07:58 +00:00
|
|
|
|
The custom variable `sql-port' can be specified for connection to
|
2010-09-19 02:11:18 +00:00
|
|
|
|
MySQL or Postgres servers. By default, the port is not listed in
|
|
|
|
|
either login parameter, but will be added to the command line if set
|
|
|
|
|
to a non-zero value.
|
2010-05-10 02:07:58 +00:00
|
|
|
|
|
SQL Mode, Version 2.6
* progmodes/sql.el: Version 2.6
(sql-dialect): Synonym for "sql-product".
(sql-find-sqli-buffer, sql-set-sqli-buffer-generally)
(sql-set-sqli-buffer, sql-show-sqli-buffer, sql-interactive-mode):
Set "sql-buffer" to buffer name not buffer object so multiple sql
interactive buffers work properly. Reverts misguided changes in
earlier work.
(sql-comint): Make sure different buffer name is used if "*SQL*"
buffer is for a different product.
(sql-make-alternate-buffer-name): Fix bug with "sql-database"
login param.
(sql-oracle, sql-sybase, sql-informix, sql-sqlite, sql-mysql)
(sql-solid, sql-ingres, sql-ms, sql-postgres, sql-interbase)
(sql-db2, sql-linter, sql-product-interactive, sql-rename-buffer):
Accept new buffer name or prompt for one.
(sql-port): Default to zero.
(sql-comint-mysql): Handle "sql-port" as a numeric.
(sql-port-history): Delete unused variable.
(sql-get-login): Default "sql-port" to a number.
(sql-product-alist): Correct Postgres prompt and terminator
regexp.
(sql-sqlite-program): Dynamically detect presence of "sqlite" or
"sqlite3" executables.
(sql-sqlite-login-params): Add "*.sqlite[23]?" database name
pattern.
(sql-buffer-live-p): New function.
(sql-mode-menu, sql-send-string): Use it.
(sql-mode-oracle-font-lock-keywords): Improve SQL*Plus REMARK
syntax pattern.
(sql-mode-postgres-font-lock-keywords): Support Postgres V9.
(sql-mode-sqlite-font-lock-keywords): Hilight sqlite commands.
2010-09-11 03:17:02 +00:00
|
|
|
|
*** Dynamic selection of product in an SQL interactive session.
|
|
|
|
|
If you use `sql-product-interactive' to start an SQL interactive
|
|
|
|
|
session it uses the current value of `sql-product'. Preceding the
|
|
|
|
|
invocation with C-u will force it to ask for the product before
|
|
|
|
|
creating the session.
|
|
|
|
|
|
|
|
|
|
*** Renaming a SQL interactive buffer when it is created.
|
|
|
|
|
Prefixing the SQL interactive commands (`sql-sqlite', `sql-postgres',
|
|
|
|
|
`sql-mysql', etc.) with C-u will force a new interactive session to be
|
|
|
|
|
started and will prompt for the new name. This will reduce the need
|
|
|
|
|
for `sql-rename-buffer' is most common use cases.
|
|
|
|
|
|
2010-08-10 23:04:32 +00:00
|
|
|
|
*** Command continuation prompts in SQL interactive mode are suppressed.
|
|
|
|
|
Multiple line commands in SQL interactive mode, generate command
|
|
|
|
|
continuation prompts which needlessly confuse the output. These
|
|
|
|
|
prompts are now filtered out from the output. This change impacts
|
|
|
|
|
multiple line SQL statements entered with C-j between each line,
|
|
|
|
|
statements yanked into the buffer and statements sent with
|
|
|
|
|
`sql-send-*' functions.
|
|
|
|
|
|
2010-05-10 02:07:58 +00:00
|
|
|
|
*** Custom variables control prompting for login parameters.
|
|
|
|
|
Each supported product has a custom variable `sql-*-login-params'
|
|
|
|
|
which is a list of the parameters to be prompted for before a
|
|
|
|
|
connection is established.
|
|
|
|
|
|
2010-09-19 02:11:18 +00:00
|
|
|
|
The lists consist of the following five tokens: `user', `password',
|
|
|
|
|
`database', `server', and `port'. The order in which they appear is
|
|
|
|
|
the order in which they are prompted. The tokens symbols can be
|
|
|
|
|
replaced by a sublist starting with the token and followed by a plist
|
|
|
|
|
which control the prompting for values. The tokens `user',
|
|
|
|
|
`database', and `server' each can take a property of :default which
|
|
|
|
|
specifies the value to be used if no value is entered. The
|
|
|
|
|
`database', `server', and `port' tokens handle the :completion
|
|
|
|
|
property which restricts the entry to either one of the values in the
|
|
|
|
|
list or to one of the values returned by the function provided as the
|
|
|
|
|
property value. The `database' and `server' tokens also accept the
|
|
|
|
|
:file property whose value is a regexp to identify useful file names.
|
|
|
|
|
|
|
|
|
|
(user :default DEF)
|
|
|
|
|
(database :default DEF
|
|
|
|
|
:file FILEPAT
|
|
|
|
|
:completion COMPLETE)
|
|
|
|
|
(server :default DEF
|
|
|
|
|
:file FILEPAT
|
|
|
|
|
:completion COMPLETE)
|
|
|
|
|
|
|
|
|
|
The FILEPAT when :file is specified is a regexp that will match valid
|
|
|
|
|
file names (without the directory portion). Generally these strings
|
|
|
|
|
will be of the form ".+\.SUF" where SUF is the desired file suffix.
|
|
|
|
|
|
|
|
|
|
When :completion is specified, the COMPLETE corresponds to the
|
|
|
|
|
PREDICATE argument to the `completing-read' function (a list of
|
|
|
|
|
possible values or a function returning such a list).
|
2010-07-23 00:59:43 +00:00
|
|
|
|
|
2010-07-18 18:44:32 +00:00
|
|
|
|
*** Added `sql-connection-alist' to record login parameter values.
|
|
|
|
|
An alist for recording different username, database and server
|
|
|
|
|
values. If there are multiple databases that you connect to the
|
|
|
|
|
parameters needed can be stored in this alist.
|
|
|
|
|
|
|
|
|
|
For example, the following might be set in the user's init.el:
|
|
|
|
|
|
|
|
|
|
(setq sql-connection-alist
|
|
|
|
|
'((dev (sql-product 'sqlite)
|
|
|
|
|
(sql-database "/home/mmaug/dev.db"))
|
|
|
|
|
(prd (sql-product 'oracle)
|
|
|
|
|
(sql-user "mmaug")
|
|
|
|
|
(sql-database "iprd2a"))))
|
|
|
|
|
|
|
|
|
|
This defines two connections named "dev" and "prd".
|
|
|
|
|
|
|
|
|
|
*** Added `sql-connect' to use predefined connections.
|
|
|
|
|
Sets the login parameters based on the values in the
|
|
|
|
|
`sql-connection-alist' and start a SQL interactive session. Any
|
|
|
|
|
values specified in the connection will not be prompted for.
|
|
|
|
|
|
|
|
|
|
In the example above, if the user were to invoke M-x sql-connect, they
|
|
|
|
|
would be prompted for the connection. The user can respond with
|
|
|
|
|
either "dev" or "prd". The "dev" connection would connect to the
|
|
|
|
|
SQLite database without prompting; the "prd" connection would prompt
|
|
|
|
|
for the users password and then connect to the Oracle database.
|
|
|
|
|
|
2010-07-21 01:56:55 +00:00
|
|
|
|
**** Added SQL->Start... submenu when connections are defined.
|
2010-09-18 09:15:02 +00:00
|
|
|
|
When connections have been defined, there is a submenu available that
|
2010-07-21 01:56:55 +00:00
|
|
|
|
allows the user to select one to start a SQLi session. The "Start
|
|
|
|
|
SQLi Session" item moves to the "Start..." submenu when cnnections
|
|
|
|
|
have been defined.
|
|
|
|
|
|
|
|
|
|
**** Added "Save Connection" menu item in SQLi buffers.
|
|
|
|
|
When a SQLi session is not started by a connection then
|
|
|
|
|
`sql-save-connection' will gather the login params specified for the
|
|
|
|
|
session and save them as a new connection.
|
|
|
|
|
|
2010-09-19 02:11:18 +00:00
|
|
|
|
*** List database objects and details.
|
|
|
|
|
Once a SQL interactive session has been started, you can get a list of
|
|
|
|
|
the objects in the database and see details of those objects. The
|
|
|
|
|
objects shown and the details available are product specific.
|
|
|
|
|
|
|
|
|
|
**** List all objects.
|
|
|
|
|
Using `M-x sql-list-all', `C-c C-l a' or selecting "SQL->List all
|
|
|
|
|
objects" will list all the objects in the database. At a minimum it
|
|
|
|
|
lists the tables and views in the database. Preceeding the command by
|
|
|
|
|
universal argument may provide additional details or extend the
|
|
|
|
|
listing to include other schemas objects. The list will appear in a
|
|
|
|
|
separate window in view-mode.
|
|
|
|
|
|
|
|
|
|
**** List Table details.
|
|
|
|
|
Using `M-x sql-list-table', `C-c C-l t' or selecting "SQL->List Table
|
|
|
|
|
details" will ask for the name of a database table or view and display
|
|
|
|
|
the list of columns in the relation. Preceeding the comand with the
|
|
|
|
|
universal argument may provide additional details about each column.
|
|
|
|
|
The list will appear in a separate window in view-mode.
|
|
|
|
|
|
2010-05-10 02:07:58 +00:00
|
|
|
|
*** Added option `sql-send-terminator'.
|
|
|
|
|
When set makes sure that each command sent with `sql-send-*' commands
|
|
|
|
|
are properly terminated and submitted to the SQL processor.
|
|
|
|
|
|
|
|
|
|
*** Added option `sql-oracle-scan-on'.
|
|
|
|
|
When set commands sent to Oracle's SQL*Plus are scanned for strings
|
2010-07-18 18:44:32 +00:00
|
|
|
|
starting with an ampersand and the user is asked for replacement text.
|
|
|
|
|
In general, the SQL*Plus option SCAN should always be set OFF under
|
|
|
|
|
SQL interactive mode and this option used in its place.
|
2010-05-10 02:07:58 +00:00
|
|
|
|
|
|
|
|
|
*** SQL interactive mode will replace tabs with spaces.
|
|
|
|
|
This prevents the comand interpretter for MySQL and Postgres from
|
|
|
|
|
listing object name completions when being sent text via
|
|
|
|
|
`sql-send-*' functions.
|
|
|
|
|
|
|
|
|
|
*** An API for manipulating SQL product definitions has been added.
|
|
|
|
|
|
2010-12-26 23:17:09 +00:00
|
|
|
|
** sregex.el is now obsolete, since rx.el is a strict superset.
|
|
|
|
|
|
2011-02-08 20:45:53 +00:00
|
|
|
|
** s-region.el and pc-select are now declared obsolete,
|
|
|
|
|
superceded by shift-select-mode enabled by default in 23.1.
|
|
|
|
|
** pc-mode.el is also declared obsolete.
|
2010-03-27 13:27:43 +00:00
|
|
|
|
** gdb-mi
|
|
|
|
|
|
|
|
|
|
*** GDB User Interface migrated to GDB Machine Interface and now
|
|
|
|
|
supports multithread non-stop debugging and debugging of several
|
|
|
|
|
threads simultaneously.
|
|
|
|
|
|
2010-08-23 13:57:55 +00:00
|
|
|
|
** D-Bus
|
|
|
|
|
|
|
|
|
|
*** It is possible now, to access alternative buses than the default
|
|
|
|
|
system or session bus.
|
|
|
|
|
|
2011-01-10 09:40:20 +00:00
|
|
|
|
*** dbus-register-{service,method,property}
|
|
|
|
|
The -method and -property functions do not automatically register
|
|
|
|
|
names anymore.
|
|
|
|
|
|
|
|
|
|
The new function dbus-register-service registers a service known name
|
|
|
|
|
on a D-Bus without simultaneously registering a property or a method.
|
2011-01-04 12:44:17 +00:00
|
|
|
|
|
2010-09-13 15:43:33 +00:00
|
|
|
|
** Tramp
|
|
|
|
|
|
2010-12-14 20:42:57 +00:00
|
|
|
|
*** There exists a new inline access method "ksu" (kerberized su).
|
|
|
|
|
|
2010-09-13 15:43:33 +00:00
|
|
|
|
*** The following access methods are discontinued: "ssh1_old",
|
2011-02-13 12:57:41 +00:00
|
|
|
|
"ssh2_old", "scp1_old", "scp2_old", "imap", "imaps" and "fish".
|
2010-09-13 15:43:33 +00:00
|
|
|
|
|
2010-11-23 01:26:02 +00:00
|
|
|
|
** VC and related modes
|
|
|
|
|
|
|
|
|
|
*** Support for pulling on distributed version control systems.
|
2011-01-29 03:12:32 +00:00
|
|
|
|
The vc-pull command runs a "pull" operation, if it is supported.
|
2010-11-23 01:26:02 +00:00
|
|
|
|
This updates the current branch from upstream. A prefix argument
|
2011-01-29 03:12:32 +00:00
|
|
|
|
means to prompt the user for specifics, e.g. a pull location.
|
2010-11-23 01:26:02 +00:00
|
|
|
|
|
2011-02-01 18:18:46 +00:00
|
|
|
|
**** `vc-update' is now an alias for `vc-pull'.
|
2010-11-23 01:26:02 +00:00
|
|
|
|
|
2011-01-29 03:12:32 +00:00
|
|
|
|
**** Currently supported by Bzr, Git, and Mercurial.
|
2010-11-23 01:26:02 +00:00
|
|
|
|
|
|
|
|
|
*** Support for merging on distributed version control systems.
|
|
|
|
|
The vc-merge command now runs a "merge" operation, if it is supported.
|
2011-01-29 03:12:32 +00:00
|
|
|
|
This merges another branch into the current one. This command prompts
|
|
|
|
|
the user for specifics, e.g. a merge source.
|
2010-11-23 01:26:02 +00:00
|
|
|
|
|
2011-02-14 01:49:24 +00:00
|
|
|
|
**** Currently supported for Bzr, Git, and Mercurial.
|
2010-11-23 01:26:02 +00:00
|
|
|
|
|
2011-02-13 20:04:33 +00:00
|
|
|
|
*** Log entries in some Log View buffers can be toggled to display a
|
|
|
|
|
longer description by typing RET (log-view-toggle-entry-display).
|
|
|
|
|
In the Log View buffers made by `C-x v L' (vc-print-root-log), you can
|
|
|
|
|
use this to display the full log entry for the revision at point.
|
|
|
|
|
|
2011-02-14 01:49:24 +00:00
|
|
|
|
**** Currently supported for Bzr, Git, and Mercurial.
|
2011-02-13 20:04:33 +00:00
|
|
|
|
|
|
|
|
|
**** Packages using Log View mode can enable this functionality by
|
|
|
|
|
binding `log-view-expanded-log-entry-function' to a suitable function.
|
|
|
|
|
|
2011-01-25 08:36:34 +00:00
|
|
|
|
** Miscellaneous
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** `copyright-fix-years' can optionally convert consecutive years to ranges.
|
|
|
|
|
|
2010-03-11 06:10:50 +00:00
|
|
|
|
|
|
|
|
|
* New Modes and Packages in Emacs 24.1
|
2008-06-20 17:10:33 +00:00
|
|
|
|
|
2010-11-16 21:14:46 +00:00
|
|
|
|
** New global minor modes electric-pair-mode, electric-indent-mode,
|
|
|
|
|
and electric-layout-mode.
|
2010-09-03 13:06:51 +00:00
|
|
|
|
|
2010-08-10 13:18:14 +00:00
|
|
|
|
** pcase.el provides the ML-style pattern matching macro `pcase'.
|
|
|
|
|
|
2010-03-13 20:33:54 +00:00
|
|
|
|
** secrets.el is an implementation of the Secret Service API, an
|
|
|
|
|
interface to password managers like GNOME Keyring or KDE Wallet. The
|
2010-05-18 19:43:04 +00:00
|
|
|
|
Secret Service API requires D-Bus for communication. The command
|
|
|
|
|
`secrets-show-secrets' offers a buffer with a visualization of the
|
|
|
|
|
secrets.
|
2010-03-13 20:33:54 +00:00
|
|
|
|
|
2010-06-09 07:26:38 +00:00
|
|
|
|
** notifications.el provides an implementation of the Desktop
|
|
|
|
|
Notifications API. It requires D-Bus for communication.
|
|
|
|
|
|
2010-03-11 06:10:50 +00:00
|
|
|
|
|
|
|
|
|
* Incompatible Lisp Changes in Emacs 24.1
|
2008-04-29 06:09:32 +00:00
|
|
|
|
|
2011-02-12 19:34:50 +00:00
|
|
|
|
** `copy-directory' now copies the source directory as a subdirectory
|
|
|
|
|
of the target directory, if the latter is an existing directory. The
|
|
|
|
|
new optional arg COPY-CONTENTS, if non-nil, makes the function copy
|
|
|
|
|
the contents directly into a pre-existing target directory.
|
|
|
|
|
|
2011-01-13 04:23:41 +00:00
|
|
|
|
** `compose-mail' now accepts an optional 8th arg, RETURN-ACTION, and
|
|
|
|
|
passes it to the mail user agent function. This argument specifies an
|
|
|
|
|
action for returning to the caller after finishing with the mail.
|
|
|
|
|
This is currently used by Rmail to delete a mail window.
|
|
|
|
|
|
2010-11-17 02:37:45 +00:00
|
|
|
|
** For mouse click input events in the text area, the Y pixel
|
|
|
|
|
coordinate in the POSITION list now counts from the top of the text
|
|
|
|
|
area, excluding any header line. Previously, it counted from the top
|
|
|
|
|
of the header line.
|
|
|
|
|
|
2010-10-29 19:20:28 +00:00
|
|
|
|
** Remove obsolete name `e' (use `float-e' instead).
|
|
|
|
|
|
2010-06-16 14:10:02 +00:00
|
|
|
|
** A backquote not followed by a space is now always treated as new-style.
|
|
|
|
|
|
2010-04-18 23:49:58 +00:00
|
|
|
|
** Test for special mode-class was moved from view-file to view-buffer.
|
2010-06-16 14:10:02 +00:00
|
|
|
|
FIXME: This only says what was changed, but not what are the
|
|
|
|
|
programmer-visible consequences.
|
2010-04-18 23:49:58 +00:00
|
|
|
|
|
2010-04-13 01:03:04 +00:00
|
|
|
|
** Passing a nil argument to a minor mode function now turns the mode
|
|
|
|
|
ON unconditionally.
|
2010-06-27 00:30:52 +00:00
|
|
|
|
|
|
|
|
|
** During startup, Emacs no longer adds entries for `menu-bar-lines'
|
|
|
|
|
and `tool-bar-lines' to `default-frame-alist' and
|
|
|
|
|
`initial-frame-alist'. With these alist entries omitted, `make-frame'
|
|
|
|
|
checks the value of the variable `menu-bar-mode'/`tool-bar-mode' to
|
|
|
|
|
determine whether to create a menu-bar or tool-bar, respectively.
|
|
|
|
|
If the alist entries are added, they override the value of
|
|
|
|
|
`menu-bar-mode'/`tool-bar-mode'.
|
|
|
|
|
|
2010-07-03 03:16:11 +00:00
|
|
|
|
** Regions created by mouse dragging are now normal active regions,
|
|
|
|
|
similar to the ones created by shift-selection. In previous Emacs
|
|
|
|
|
versions, these regions were delineated by `mouse-drag-overlay', which
|
|
|
|
|
has now been removed.
|
2010-07-03 03:13:26 +00:00
|
|
|
|
|
2010-10-06 02:30:53 +00:00
|
|
|
|
** cl.el no longer provides `cl-19'.
|
|
|
|
|
|
Remove some functions, variables and aliases obsolete since at least 21.1.
* doc/misc/misc.texi (Shell Mode): Remove reference to old function name.
* src/character.c (Fchar_bytes): Remove obsolete function.
(syms_of_character): Remove Schar_bytes.
* lisp/subr.el (char-bytes): Remove obsolete function.
* lisp/emacs-lisp/checkdoc.el (checkdoc-minor-keymap): Remove obsolete alias.
* lisp/isearch.el (isearch-return-char): Remove obsolete function.
* lisp/mouse.el: No longer provide mldrag.
(mldrag-drag-mode-line, mldrag-drag-vertical-line):
Remove obsolete aliases.
* lisp/comint.el (comint-kill-output): Remove obsolete alias.
* lisp/shell.el: Comment fix.
* lisp/composite.el (decompose-composite-char): Remove obsolete function.
* lisp/ps-def.el (decompose-composite-char): Remove unused function.
* lisp/iswitchb.el (iswitchb-default-keybindings): Remove obsolete function.
* lisp/outline.el (outline-visible): Remove obsolete function.
* lisp/term/pc-win.el (x-frob-font-slant, x-frob-font-weight):
* lisp/faces.el (internal-find-face, internal-get-face)
(frame-update-faces, frame-update-face-colors)
(x-frob-font-weight, x-frob-font-slant)
(internal-frob-font-weight, internal-frob-font-slant)
(x-make-font-bold, x-make-font-demibold, x-make-font-unbold)
(x-make-font-italic, x-make-font-oblique, x-make-font-unitalic)
(x-make-font-bold-italic): Remove functions and aliases, obsolete
since Emacs 21.1.
* lisp/emulation/viper-util.el (viper-get-face):
* lisp/obsolete/lucid.el (find-face, get-face): Use facep.
* lisp/vc/ediff-init.el (ediff-valid-color-p, ediff-get-face):
Remove unused functions.
* lisp/vc/ediff-util.el (ediff-submit-report): Doc fix.
* etc/NEWS: Mention above changes.
2010-10-02 02:46:13 +00:00
|
|
|
|
** The following functions and aliases, obsolete since at least Emacs 21.1,
|
|
|
|
|
have been removed:
|
|
|
|
|
comint-kill-output, decompose-composite-char, outline-visible,
|
|
|
|
|
internal-find-face, internal-get-face, frame-update-faces,
|
|
|
|
|
frame-update-face-colors, x-frob-font-weight, x-frob-font-slant,
|
|
|
|
|
x-make-font-bold, x-make-font-demibold, x-make-font-unbold
|
|
|
|
|
x-make-font-italic, x-make-font-oblique, x-make-font-unitalic
|
|
|
|
|
x-make-font-bold-italic, mldrag-drag-mode-line, mldrag-drag-vertical-line,
|
2010-10-03 01:53:04 +00:00
|
|
|
|
iswitchb-default-keybindings, char-bytes, isearch-return-char,
|
|
|
|
|
make-local-hook
|
Remove some functions, variables and aliases obsolete since at least 21.1.
* doc/misc/misc.texi (Shell Mode): Remove reference to old function name.
* src/character.c (Fchar_bytes): Remove obsolete function.
(syms_of_character): Remove Schar_bytes.
* lisp/subr.el (char-bytes): Remove obsolete function.
* lisp/emacs-lisp/checkdoc.el (checkdoc-minor-keymap): Remove obsolete alias.
* lisp/isearch.el (isearch-return-char): Remove obsolete function.
* lisp/mouse.el: No longer provide mldrag.
(mldrag-drag-mode-line, mldrag-drag-vertical-line):
Remove obsolete aliases.
* lisp/comint.el (comint-kill-output): Remove obsolete alias.
* lisp/shell.el: Comment fix.
* lisp/composite.el (decompose-composite-char): Remove obsolete function.
* lisp/ps-def.el (decompose-composite-char): Remove unused function.
* lisp/iswitchb.el (iswitchb-default-keybindings): Remove obsolete function.
* lisp/outline.el (outline-visible): Remove obsolete function.
* lisp/term/pc-win.el (x-frob-font-slant, x-frob-font-weight):
* lisp/faces.el (internal-find-face, internal-get-face)
(frame-update-faces, frame-update-face-colors)
(x-frob-font-weight, x-frob-font-slant)
(internal-frob-font-weight, internal-frob-font-slant)
(x-make-font-bold, x-make-font-demibold, x-make-font-unbold)
(x-make-font-italic, x-make-font-oblique, x-make-font-unitalic)
(x-make-font-bold-italic): Remove functions and aliases, obsolete
since Emacs 21.1.
* lisp/emulation/viper-util.el (viper-get-face):
* lisp/obsolete/lucid.el (find-face, get-face): Use facep.
* lisp/vc/ediff-init.el (ediff-valid-color-p, ediff-get-face):
Remove unused functions.
* lisp/vc/ediff-util.el (ediff-submit-report): Doc fix.
* etc/NEWS: Mention above changes.
2010-10-02 02:46:13 +00:00
|
|
|
|
|
|
|
|
|
** The following variables and aliases, obsolete since at least Emacs 21.1,
|
|
|
|
|
have been removed:
|
2010-10-06 04:14:05 +00:00
|
|
|
|
checkdoc-minor-keymap, vc-header-alist, directory-sep-char,
|
|
|
|
|
font-lock-defaults-alist
|
Remove some functions, variables and aliases obsolete since at least 21.1.
* doc/misc/misc.texi (Shell Mode): Remove reference to old function name.
* src/character.c (Fchar_bytes): Remove obsolete function.
(syms_of_character): Remove Schar_bytes.
* lisp/subr.el (char-bytes): Remove obsolete function.
* lisp/emacs-lisp/checkdoc.el (checkdoc-minor-keymap): Remove obsolete alias.
* lisp/isearch.el (isearch-return-char): Remove obsolete function.
* lisp/mouse.el: No longer provide mldrag.
(mldrag-drag-mode-line, mldrag-drag-vertical-line):
Remove obsolete aliases.
* lisp/comint.el (comint-kill-output): Remove obsolete alias.
* lisp/shell.el: Comment fix.
* lisp/composite.el (decompose-composite-char): Remove obsolete function.
* lisp/ps-def.el (decompose-composite-char): Remove unused function.
* lisp/iswitchb.el (iswitchb-default-keybindings): Remove obsolete function.
* lisp/outline.el (outline-visible): Remove obsolete function.
* lisp/term/pc-win.el (x-frob-font-slant, x-frob-font-weight):
* lisp/faces.el (internal-find-face, internal-get-face)
(frame-update-faces, frame-update-face-colors)
(x-frob-font-weight, x-frob-font-slant)
(internal-frob-font-weight, internal-frob-font-slant)
(x-make-font-bold, x-make-font-demibold, x-make-font-unbold)
(x-make-font-italic, x-make-font-oblique, x-make-font-unitalic)
(x-make-font-bold-italic): Remove functions and aliases, obsolete
since Emacs 21.1.
* lisp/emulation/viper-util.el (viper-get-face):
* lisp/obsolete/lucid.el (find-face, get-face): Use facep.
* lisp/vc/ediff-init.el (ediff-valid-color-p, ediff-get-face):
Remove unused functions.
* lisp/vc/ediff-util.el (ediff-submit-report): Doc fix.
* etc/NEWS: Mention above changes.
2010-10-02 02:46:13 +00:00
|
|
|
|
|
2010-10-05 04:19:58 +00:00
|
|
|
|
** The following files, obsolete since at least Emacs 21.1, have been removed:
|
|
|
|
|
sc.el, x-menu.el, rnews.el, rnewspost.el
|
|
|
|
|
|
2010-10-31 00:24:34 +00:00
|
|
|
|
** FIXME finder-inf.el changes.
|
|
|
|
|
|
2010-03-11 06:10:50 +00:00
|
|
|
|
|
|
|
|
|
* Lisp changes in Emacs 24.1
|
2007-10-26 09:56:27 +00:00
|
|
|
|
|
2011-01-26 20:02:07 +00:00
|
|
|
|
** Removed the stack-trace-on-error variable.
|
|
|
|
|
Also the debugger can now "continue" from an error, which means it will jump
|
|
|
|
|
to the error handler as if the debugger had not been invoked instead of
|
|
|
|
|
jumping all the way to the top-level.
|
|
|
|
|
|
2011-01-08 19:17:23 +00:00
|
|
|
|
** New function `read-char-choice' reads a restricted set of characters,
|
|
|
|
|
discarding any inputs not inside the set.
|
|
|
|
|
|
2010-10-13 14:50:06 +00:00
|
|
|
|
** `image-library-alist' is renamed to `dynamic-library-alist'.
|
|
|
|
|
The variable is now used to load all kind of supported dynamic libraries,
|
|
|
|
|
not just image libraries. The previous name is still available as an
|
|
|
|
|
obsolete alias.
|
|
|
|
|
|
New syntax-propertize functionality.
* lisp/font-lock.el (font-lock-syntactic-keywords): Make obsolete.
(font-lock-fontify-syntactic-keywords-region): Move handling of
font-lock-syntactically-fontified to...
(font-lock-default-fontify-region): ...here.
Let syntax-propertize-function take precedence.
(font-lock-fontify-syntactically-region): Cal syntax-propertize.
* lisp/emacs-lisp/regexp-opt.el (regexp-opt-depth): Skip named groups.
* lisp/emacs-lisp/syntax.el (syntax-propertize-function)
(syntax-propertize-chunk-size, syntax-propertize--done)
(syntax-propertize-extend-region-functions): New vars.
(syntax-propertize-wholelines, syntax-propertize-multiline)
(syntax-propertize--shift-groups, syntax-propertize-via-font-lock)
(syntax-propertize): New functions.
(syntax-propertize-rules): New macro.
(syntax-ppss-flush-cache): Set syntax-propertize--done.
(syntax-ppss): Call syntax-propertize.
* lisp/progmodes/ada-mode.el (ada-set-syntax-table-properties)
(ada-after-change-function, ada-initialize-syntax-table-properties)
(ada-handle-syntax-table-properties): Only define when
syntax-propertize is not available.
(ada-mode): Use syntax-propertize-function.
* lisp/progmodes/autoconf.el (autoconf-mode):
Use syntax-propertize-function.
(autoconf-font-lock-syntactic-keywords): Remove.
* lisp/progmodes/cfengine.el (cfengine-mode):
Use syntax-propertize-function.
(cfengine-font-lock-syntactic-keywords): Remove.
* lisp/progmodes/cperl-mode.el (cperl-mode): Use syntax-propertize-function.
* lisp/progmodes/fortran.el (fortran-mode): Use syntax-propertize-function.
(fortran--font-lock-syntactic-keywords): New var.
(fortran-line-length): Update syntax-propertize-function and
fortran--font-lock-syntactic-keywords.
* lisp/progmodes/gud.el (gdb-script-syntax-propertize-function): New var;
replaces gdb-script-font-lock-syntactic-keywords.
(gdb-script-mode): Use it.
* lisp/progmodes/js.el (js--regexp-literal): Define while compiling.
(js-syntax-propertize-function): New var; replaces
js-font-lock-syntactic-keywords.
(js-mode): Use it.
* lisp/progmodes/make-mode.el (makefile-syntax-propertize-function):
New var; replaces makefile-font-lock-syntactic-keywords.
(makefile-mode): Use it.
(makefile-imake-mode): Adjust.
* lisp/progmodes/mixal-mode.el (mixal-syntax-propertize-function): New var;
replaces mixal-font-lock-syntactic-keywords.
(mixal-mode): Use it.
* lisp/progmodes/octave-mod.el (octave-syntax-propertize-sqs): New function
to replace octave-font-lock-close-quotes.
(octave-syntax-propertize-function): New function to replace
octave-font-lock-syntactic-keywords.
(octave-mode): Use it.
* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function): New fun to
replace perl-font-lock-syntactic-keywords.
(perl-syntax-propertize-special-constructs): New fun to replace
perl-font-lock-special-syntactic-constructs.
(perl-font-lock-syntactic-face-function): New fun.
(perl-mode): Use it.
* lisp/progmodes/python.el (python-syntax-propertize-function): New var to
replace python-font-lock-syntactic-keywords.
(python-mode): Use it.
(python-quote-syntax): Simplify and adjust to new use.
* lisp/progmodes/ruby-mode.el (ruby-here-doc-beg-re):
Define while compiling.
(ruby-here-doc-end-re, ruby-here-doc-beg-match)
(ruby-font-lock-syntactic-keywords, ruby-comment-beg-syntax)
(syntax-ppss, ruby-in-ppss-context-p, ruby-in-here-doc-p)
(ruby-here-doc-find-end, ruby-here-doc-beg-syntax)
(ruby-here-doc-end-syntax): Only define when
syntax-propertize is not available.
(ruby-syntax-propertize-function, ruby-syntax-propertize-heredoc):
New functions.
(ruby-in-ppss-context-p): Update to new syntax of heredocs.
(electric-indent-chars): Silence bytecompiler.
(ruby-mode): Use prog-mode, syntax-propertize-function, and
electric-indent-chars.
* lisp/progmodes/sh-script.el (sh-st-symbol): Remove.
(sh-font-lock-close-heredoc, sh-font-lock-open-heredoc): Add eol arg.
(sh-font-lock-flush-syntax-ppss-cache, sh-font-lock-here-doc): Remove.
(sh-font-lock-quoted-subshell): Assume we've already matched $(.
(sh-font-lock-paren): Set syntax-multiline.
(sh-font-lock-syntactic-keywords): Remove.
(sh-syntax-propertize-function): New function to replace it.
(sh-mode): Use it.
* lisp/progmodes/simula.el (simula-syntax-propertize-function): New var to
replace simula-font-lock-syntactic-keywords.
(simula-mode): Use it.
* lisp/progmodes/tcl.el (tcl-syntax-propertize-function): New var to
replace tcl-font-lock-syntactic-keywords.
(tcl-mode): Use it.
* lisp/progmodes/vhdl-mode.el (vhdl-mode): Use syntax-propertize-function
if available.
(vhdl-fontify-buffer): Adjust.
* lisp/textmodes/bibtex.el (bibtex-mode): Use syntax-propertize-function.
* lisp/textmodes/reftex.el (font-lock-syntactic-keywords): Don't declare
since we don't use it.
* lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-function): New var to
replace sgml-font-lock-syntactic-keywords.
(sgml-mode): Use it.
* lisp/textmodes/tex-mode.el (tex-common-initialization, doctex-mode):
Use syntax-propertize-function.
* lisp/textmodes/texinfo.el (texinfo-syntax-propertize-function): New fun
to replace texinfo-font-lock-syntactic-keywords.
(texinfo-mode): Use it.
* test/indent/octave.m: Remove some `fixindent' not needed any more.
2010-09-10 23:13:42 +00:00
|
|
|
|
** New variable syntax-propertize-function to set syntax-table properties.
|
|
|
|
|
Replaces font-lock-syntactic-keywords which are now obsolete.
|
|
|
|
|
This allows syntax-table properties to be set independently from font-lock:
|
|
|
|
|
just call syntax-propertize to make sure the text is propertized.
|
|
|
|
|
Together with this new variable come a new hook
|
|
|
|
|
syntax-propertize-extend-region-functions, as well as two helper functions:
|
|
|
|
|
syntax-propertize-via-font-lock to reuse old font-lock-syntactic-keywords
|
|
|
|
|
as-is; and syntax-propertize-rules which provides a new way to specify
|
|
|
|
|
syntactic rules.
|
|
|
|
|
|
2010-08-19 15:43:45 +00:00
|
|
|
|
** New hook post-self-insert-hook run at the end of self-insert-command.
|
|
|
|
|
|
2010-09-11 13:58:57 +00:00
|
|
|
|
+++
|
2010-08-12 14:44:16 +00:00
|
|
|
|
** Syntax tables support a new "comment style c" additionally to style b.
|
2010-05-14 17:53:42 +00:00
|
|
|
|
** frame-local variables cannot be let-bound any more.
|
2010-05-14 16:41:01 +00:00
|
|
|
|
** prog-mode is a new major-mode meant to be the parent of programming mode.
|
2010-05-05 02:08:25 +00:00
|
|
|
|
** define-minor-mode accepts a new keyword :variable.
|
|
|
|
|
|
2010-09-18 09:15:02 +00:00
|
|
|
|
** `delete-file' and `delete-directory' now accept optional arg TRASH.
|
Change delete-by-moving-to-trash so Lisp calls explicitly request trashing.
* src/fileio.c (Fdelete_file): Change meaning of optional arg to mean
whether to trash.
(internal_delete_file, Frename_file): Callers changed.
(delete_by_moving_to_trash): Doc fix.
(Fdelete_directory_internal): Don't move to trash.
* src/callproc.c (delete_temp_file):
* src/buffer.c (Fkill_buffer): Callers changed.
* src/lisp.h: Update prototype.
* lisp/diff.el (diff-sentinel):
* lisp/epg.el (epg--make-temp-file, epg-decrypt-string)
(epg-verify-string, epg-sign-string, epg-encrypt-string):
* lisp/jka-compr.el (jka-compr-partial-uncompress)
(jka-compr-call-process, jka-compr-write-region):
* lisp/server.el (server-sentinel): Remove optional arg from
delete-file, reverting 2010-05-03 change.
* lisp/dired.el (dired-delete-file): New arg TRASH.
(dired-internal-do-deletions): New arg TRASH. Use progress
reporter.
(dired-do-flagged-delete, dired-do-delete): Use trash.
* lisp/files.el (delete-directory): New arg TRASH.
* lisp/speedbar.el (speedbar-item-delete): Allow trashing.
* lisp/net/ange-ftp.el (ange-ftp-del-tmp-name, ange-ftp-delete-file)
(ange-ftp-rename-remote-to-remote)
(ange-ftp-rename-local-to-remote)
(ange-ftp-rename-remote-to-local, ange-ftp-load)
(ange-ftp-compress, ange-ftp-uncompress): Remove optional arg from
`delete-file'.
(ange-ftp-delete-directory): Add optional arg to `delete-file', to
allow trashing.
* lisp/net/tramp-compat.el (tramp-compat-delete-file): Rewrite to
handle new TRASH arg of `delete-file'.
* lisp/net/tramp-fish.el (tramp-fish-handle-delete-directory)
(tramp-fish-handle-delete-file)
(tramp-fish-handle-make-symbolic-link)
(tramp-fish-handle-process-file): Use null TRASH arg in
`tramp-compat-delete-file' call.
* lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler): Use null TRASH
arg in `tramp-compat-delete-file' call.
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-file): Rename arg.
(tramp-gvfs-handle-write-region): Use null TRASH arg in
`tramp-compat-delete-file' call.
* lisp/net/tramp-imap.el (tramp-imap-handle-delete-file): Rename arg.
(tramp-imap-do-copy-or-rename-file): Use null TRASH arg in
`tramp-compat-delete-file' call.
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
(tramp-smb-handle-file-local-copy, tramp-smb-handle-rename-file)
(tramp-smb-handle-write-region): Use null TRASH arg in
tramp-compat-delete-file call.
(tramp-smb-handle-delete-directory): Use tramp-compat-delete-file.
(tramp-smb-handle-delete-file): Rename arg.
* lisp/net/tramp.el (tramp-handle-delete-file): Change FORCE arg to TRASH.
(tramp-handle-make-symbolic-link, tramp-handle-load)
(tramp-do-copy-or-rename-file-via-buffer)
(tramp-do-copy-or-rename-file-directly)
(tramp-do-copy-or-rename-file-out-of-band)
(tramp-handle-process-file, tramp-handle-call-process-region)
(tramp-handle-shell-command, tramp-handle-file-local-copy)
(tramp-handle-insert-file-contents, tramp-handle-write-region)
(tramp-delete-temp-file-function): Use null TRASH arg in
tramp-compat-delete-file call.
2010-05-27 23:30:11 +00:00
|
|
|
|
Trashing is performed if TRASH and `delete-by-moving-to-trash' are
|
|
|
|
|
both non-nil. Interactively, TRASH defaults to t, unless a prefix
|
|
|
|
|
argument is supplied (see Trash changes, above).
|
2010-05-03 15:01:21 +00:00
|
|
|
|
|
2010-05-02 05:56:30 +00:00
|
|
|
|
** buffer-substring-filters is obsoleted by filter-buffer-substring-functions.
|
|
|
|
|
|
2010-03-23 00:59:49 +00:00
|
|
|
|
** New completion style `substring'.
|
|
|
|
|
|
2010-10-24 18:43:31 +00:00
|
|
|
|
** `facemenu-read-color' is now an alias for `read-color'.
|
|
|
|
|
The command `read-color' now requires a match for a color name or RGB
|
|
|
|
|
triplet, instead of signalling an error if the user provides a invalid
|
|
|
|
|
input.
|
|
|
|
|
|
2010-12-17 04:04:06 +00:00
|
|
|
|
** Tool-bars can display separators.
|
|
|
|
|
Tool-bar separators are handled like menu separators in menu-bar maps,
|
2010-12-20 00:17:26 +00:00
|
|
|
|
i.e. via menu entries of the form `(menu-item "--")'.
|
2010-10-24 18:43:31 +00:00
|
|
|
|
|
2010-03-11 20:42:19 +00:00
|
|
|
|
** Image API
|
|
|
|
|
|
|
|
|
|
*** When the image type is one of listed in `image-animated-types'
|
2010-03-31 14:55:01 +00:00
|
|
|
|
and the number of sub-images in the image is more than one, then the
|
2010-03-11 20:42:19 +00:00
|
|
|
|
new function `create-animated-image' creates an animated image where
|
|
|
|
|
sub-images are displayed successively with the duration defined by
|
|
|
|
|
`image-animate-max-time' and the delay between sub-images defined
|
|
|
|
|
by the Graphic Control Extension of the image.
|
|
|
|
|
|
2010-03-31 14:55:01 +00:00
|
|
|
|
*** `image-extension-data' is renamed to `image-metadata'.
|
|
|
|
|
|
2010-09-10 17:51:48 +00:00
|
|
|
|
** XML and HTML parsing
|
|
|
|
|
|
|
|
|
|
*** If Emacs is compiled with libxml2 support (which is the default),
|
2010-09-22 03:10:16 +00:00
|
|
|
|
two new Emacs Lisp-level functions are defined:
|
2011-01-04 13:00:11 +00:00
|
|
|
|
`libxml-parse-html-region' (which will parse "real world" HTML)
|
|
|
|
|
and `libxml-parse-xml-region' (which parses XML). Both return an
|
2010-09-22 03:10:16 +00:00
|
|
|
|
Emacs Lisp parse tree.
|
|
|
|
|
|
|
|
|
|
FIXME: These should be front-ended by xml.el.
|
|
|
|
|
|
2010-09-30 02:23:25 +00:00
|
|
|
|
** FIXME GnuTLS
|
2010-09-10 17:51:48 +00:00
|
|
|
|
|
2010-05-20 22:16:19 +00:00
|
|
|
|
** Isearch
|
|
|
|
|
|
|
|
|
|
*** New hook `isearch-update-post-hook' that runs in `isearch-update'.
|
|
|
|
|
|
2010-03-29 23:18:48 +00:00
|
|
|
|
** Progress reporters can now "spin".
|
|
|
|
|
The MIN-VALUE and MAX-VALUE arguments of `make-progress-reporter' can
|
|
|
|
|
now be nil, or omitted. This makes a "non-numeric" reporter. Each
|
|
|
|
|
time you call `progress-reporter-update' on that progress reporter,
|
|
|
|
|
with a nil or omitted VALUE argument, the reporter message is
|
|
|
|
|
displayed with a "spinning bar".
|
|
|
|
|
|
2010-03-11 06:10:50 +00:00
|
|
|
|
|
|
|
|
|
* Changes in Emacs 24.1 on non-free operating systems
|
2007-08-27 03:36:34 +00:00
|
|
|
|
|
2010-07-19 13:39:19 +00:00
|
|
|
|
** New configure.bat option --enable-checking builds emacs with extra
|
|
|
|
|
runtime checks.
|
|
|
|
|
|
2010-07-24 13:35:31 +00:00
|
|
|
|
** New configure.bat option --distfiles to specify files to be
|
|
|
|
|
included in binary distribution
|
|
|
|
|
|
|
|
|
|
** New make target `dist' to create binary disttribution for Windows
|
|
|
|
|
platform
|
|
|
|
|
|
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:
|
|
|
|
|
mode: outline
|
|
|
|
|
paragraph-separate: "[ ]*$"
|
|
|
|
|
end:
|