X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/02b14400024bf82a93e91d425e020684b2d41026..1fa285784472a5bffa5dc002f8e39ca7656e521a:/etc/NEWS diff --git a/etc/NEWS b/etc/NEWS index 6375625ffe..ce10e821e1 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -10,9 +10,79 @@ For older news, see the file ONEWS. ** `movemail' defaults to supporting POP. You can turn this off using the --without-pop configure option, should that be necessary. + +** There are new configure options associated with the support for +images and toolkit scrollbars. Use the --help option to list them. * Changes in Emacs 21.1 +** Emacs now refuses to load compiled Lisp files which weren't +compiled with Emacs. Set `load-dangerous-libraries' to t to change +this behavior. + +The reason for this change is an incompatible change in XEmacs' byte +compiler. Files compiled with XEmacs can contain byte codes that let +Emacs dump core. + +** New X resources recognized + +*** The X resource `synchronous', class `Synchronous', specifies +whether Emacs should run in synchronous mode. Synchronous mode +is useful for debugging X problems. + +Example: + + emacs.synchronous: true + +*** The X resource `visualClass, class `VisualClass', specifies the +visual Emacs should use. The resource's value should be a string of +the form `CLASS-DEPTH', where CLASS is the name of the visual class, +and DEPTH is the requested color depth as a decimal number. Valid +visual class names are + + TrueColor + PseudoColor + DirectColor + StaticColor + GrayScale + StaticGray + +Visual class names specified as X resource are case-insensitive, i.e. +`pseudocolor', `Pseudocolor' and `PseudoColor' all have the same +meaning. + +The program `xdpyinfo' can be used to list the visual classes +supported on your display, and which depths they have. If +`visualClass' is not specified, Emacs uses the display's default +visual. + +Example: + + emacs.visualClass: TrueColor-8 + +*** The X resource `privateColormap', class `PrivateColormap', +specifies that Emacs should use a private colormap if it is using the +default visual, and that visual is of class PseudoColor. Recognized +resource values are `true' or `on'. + +Example: + + emacs.privateColormap: true + +** The menu bar configuration has changed. The new configuration is +more CUA-compliant. The most significant change is that Options is +now a separate menu-bar item, with Mule and Customize as its submenus. + +** User-option `show-cursor-in-non-selected-windows' controls how to +display the cursor in non-selected windows. If nil, no cursor is +shown, if non-nil a hollow box cursor is shown. This option can +be customized. + +** The variable `echo-keystrokes' may now have a floating point value. + +** C-x 5 1 runs the new command delete-other-frames which deletes +all frames except the selected one. + ** If your init file is compiled (.emacs.elc), `user-init-file' is set to the source name (.emacs.el), if that exists, after loading it. @@ -309,6 +379,8 @@ notably at the end of lines. All these functions have been rewritten to avoid inserting unwanted spaces, and an optional prefix now allows them to behave the old way. +There is a new command M-x replace-rectangle. + ** The new command M-x query-replace-regexp-eval acts like query-replace-regexp, but takes a Lisp expression which is evaluated after each match to get the replacement text. @@ -681,6 +753,12 @@ matches are automatically cleared when you end the search. If it is set to nil, you can remove the highlights manually with `M-x isearch-lazy-highlight-cleanup'. +** Changes in sort.el + +The function sort-numeric-fields interprets numbers starting with `0' +as octal and numbers starting with `0x' or `0X' as hexadecimal. The +new user-option sort-numberic-base can be used to specify a default +numeric base. ** Ange-ftp allows you to specify of a port number in remote file names cleanly. It is appended to the host name, separated by a hash @@ -772,6 +850,57 @@ appropriate for C-style escape sequences in strings. ** New modes and packages +*** The new command M-x re-builder offers a convenient interface for +authoring regular expressions with immediate visual feedback. + +The buffer from which the command was called becomes the target for +the regexp editor popping up in a separate window. Matching text in +the target buffer is immediately color marked during the editing. +Each sub-expression of the regexp will show up in a different face so +even complex regexps can be edited and verified on target data in a +single step. + +On displays not supporting faces the matches instead blink like +matching parens to make them stand out. On such a setup you will +probably also want to use the sub-expression mode when the regexp +contains such to get feedback about their respective limits. + +*** glasses-mode is a minor mode that makes +unreadableIdentifiersLikeThis readable. It works as glasses, without +actually modifying content of a buffer. + +*** The package ebnf2ps translates an EBNF to a syntactic chart in +PostScript. + +Currently accepts ad-hoc EBNF, ISO EBNF and Bison/Yacc. + +The ad-hoc default EBNF syntax has the following elements: + + ; comment (until end of line) + A non-terminal + "C" terminal + ?C? special + $A default non-terminal + $"C" default terminal + $?C? default special + A = B. production (A is the header and B the body) + C D sequence (C occurs before D) + C | D alternative (C or D occurs) + A - B exception (A excluding B, B without any non-terminal) + n * A repetition (A repeats n (integer) times) + (C) group (expression C is grouped together) + [C] optional (C may or not occurs) + C+ one or more occurrences of C + {C}+ one or more occurrences of C + {C}* zero or more occurrences of C + {C} zero or more occurrences of C + C / D equivalent to: C {D C}* + {C || D}+ equivalent to: C {D C}* + {C || D}* equivalent to: [C {D C}*] + {C || D} equivalent to: [C {D C}*] + +Please, see ebnf2ps documentation for EBNF syntax and how to use it. + *** The package align.el will align columns within a region, using M-x align. Its mode-specific rules, based on regular expressions, determine where the columns should be split. In C and C++, for @@ -786,6 +915,13 @@ list-buffers or electric-buffer-list. Use M-x bs-show to display a buffer menu with this package. You can use M-x bs-customize to customize the package. +*** calculator.el is a small calculator package that is intended to +replace desktop calculators such as xcalc and calc.exe. Actually, it +is not too small - it has more features than most desktop calculators, +and can be customized easily to get many more functions. It should +not be confused with "calc" which is a much bigger mathematical tool +which answers different needs. + *** The minor modes cwarn-mode and global-cwarn-mode highlights suspicious C and C++ constructions. Currently, assignments inside expressions, semicolon following `if', `for' and `while' (except, of @@ -892,6 +1028,15 @@ specific to Message mode. viewing/editing context diffs (patches). It is selected for files with extension `.diff', `.diffs', `.patch' and `.rej'. +*** EUDC, the Emacs Unified Directory Client, provides a common user +interface to access directory servers using different directory +protocols. It has a separate manual. + +*** autoconf.el provides a major mode for editing configure.in files +for Autoconf, selected automatically. + +*** windmove.el + ** Withdrawn packages *** mldrag.el has been removed. mouse.el provides the same @@ -908,6 +1053,57 @@ Note that +++ before an item means the Lisp manual has been updated. When you add a new item, please add it without either +++ or --- so I will know I still need to look at it -- rms. +** Emacs' reader supports CL read syntax for integers in bases +other than 10. + +*** `#BINTEGER' or `#bINTEGER' reads INTEGER in binary (radix 2). +INTEGER optionally contains a sign. + + #b1111 + => 15 + #b-1111 + => -15 + +*** `#OINTEGER' or `#oINTEGER' reads INTEGER in octal (radix 8). + + #o666 + => 438 + +*** `#XINTEGER' or `#xINTEGER' reads INTEGER in hexadecimal (radix 16). + + #xbeef + => 48815 + +*** `#RADIXrINTEGER' reads INTEGER in radix RADIX, 2 <= RADIX <= 36. + + #2R-111 + => -7 + #25rah + => 267 + +** The function documentation-property now evaluates the value of +the given property to obtain a a string if it doesn't refer to etc/DOC +and isn't a string. + ++++ +** The last argument of `define-key-after' defaults to t for convenience. + +** The new function `replace-regexp-in-string' replaces all matches +for a regexp in a string. + +** `mouse-position' now runs the abnormal hook +`mouse-position-function'. + +** The function string-to-number now returns a float for numbers +that don't fit into a Lisp integer. + +** The variable keyword-symbols-constants-flag has been removed. +Keywords are now always considered constants. + ++++ +** The new function `delete-and-extract-region' deletes text and +returns it. + ** The function `clear-this-command-keys' now also clears the vector returned by function `recent-keys'. @@ -952,8 +1148,8 @@ saved table is restored, even in case of an abnormal exit. Value is what BODY returns. +++ -** Regular expressions now support Perl's non-greedy *? +? and ?? -operators. +** Regular expressions now support intervals \{n,m\} as well as +Perl's shy-groups \(?:...\) and non-greedy *? +? and ?? operators. +++ ** The optional argument BUFFER of function file-local-copy has been @@ -1022,7 +1218,8 @@ as the place that holds the list to be changed. ** New dolist and dotimes macros. -The dolist and dotimes macros of Common Lisp are now available. +Simple versions of the dolist and dotimes macros of Common Lisp +are now defined in Emacs Lisp. (dolist (VAR LIST [RESULT]) BODY...) Execute body once for each element of LIST, @@ -1738,6 +1935,18 @@ modify their color-related behavior. The primitives `color-gray-p' and `color-supported-p' also work for any frame type. +** Platform-independent functions to describe display capabilities. + +The new functions `display-mouse-p', `display-popup-menus-p', +`display-graphic-p', `display-selections-p', `display-screens', +`display-pixel-width', `display-pixel-height', `display-mm-width', +`display-mm-height', `display-backing-store', `display-save-under', +`display-planes', `display-color-cells', `display-visual-class', and +`display-grayscale-p' describe the basic capabilities of a particular +display. Lisp programs should call these functions instead of testing +the value of the variables `window-system' or `system-type', or calling +platform-specific functions such as `x-display-pixel-width'. + +++ ** The minibuffer prompt is now actually inserted in the minibuffer. @@ -2515,6 +2724,13 @@ temporarily to nil, for example Likewise, an attempt to split a fixed-height window vertically, or a fixed-width window horizontally results in a error. + +** The cursor-type frame parameter is now supported on MS-DOS +terminals. When Emacs starts, it by default changes the cursor shape +to a solid box, as it does on Unix. The `cursor-type' frame parameter +overrides this as it does on Unix, except that the bar cursor is +horizontal rather than vertical (since the MS-DOS display doesn't +support a vertical-bar cursor). ^L * Emacs 20.5 is a bug-fix release with no user-visible changes. @@ -2659,6 +2875,18 @@ current codepage when it starts. ** Mail changes +*** When mail is sent using compose-mail (C-x m), and if +`mail-send-nonascii' is set to the new default value `mime', +appropriate MIME headers are added. The headers are added only if +non-ASCII characters are present in the body of the mail, and no other +MIME headers are already present. For example, the following three +headers are added if the coding system used in the *mail* buffer is +latin-1: + + MIME-version: 1.0 + Content-type: text/plain; charset=iso-8859-1 + Content-Transfer-Encoding: 8bit + *** The new variable default-sendmail-coding-system specifies the default way to encode outgoing mail. This has higher priority than default-buffer-file-coding-system but has lower priority than @@ -5441,6 +5669,11 @@ Use M-x dsssl-mode. ** Changes to the emacsclient program +*** If a socket can't be found, and environment variables LOGNAME or +USER are set, emacsclient now looks for a socket based on the UID +associated with the name. That is an emacsclient running as root +can connect to an Emacs server started by a non-root user. + *** The emacsclient program now accepts an option --no-wait which tells it to return immediately without waiting for you to "finish" the buffer in Emacs.