comparison etc/NEWS @ 62328:6cec4d45253d

Rearrangements and cleanups.
author Richard M. Stallman <rms@gnu.org>
date Sat, 14 May 2005 13:58:01 +0000
parents 13d3be64499c
children 0db5e423dce7
comparison
equal deleted inserted replaced
62327:ab207501967c 62328:6cec4d45253d
675 +++ 675 +++
676 *** The mode line position information now comes before the major mode. 676 *** The mode line position information now comes before the major mode.
677 When the file is maintained under version control, that information 677 When the file is maintained under version control, that information
678 appears between the position information and the major mode. 678 appears between the position information and the major mode.
679 679
680 *** Easy to overlook single character negation is now font-locked. 680 +++
681 You can use the new variable `font-lock-negation-char-face' and the face of 681 *** New face `escape-glyph' highlights control characters and escape glyphs.
682 the same name to customize this. Currently the cc-modes, sh-script-mode,
683 cperl-mode and make-mode support this.
684
685 +++
686 *** Control characters and escape glyphs are now shown in the new
687 escape-glyph face.
688 682
689 +++ 683 +++
690 *** Non-breaking space and hyphens are now prefixed with an escape 684 *** Non-breaking space and hyphens are now prefixed with an escape
691 character, unless the new user variable `show-nonbreak-escape' is set 685 character, unless the new user variable `show-nonbreak-escape' is set
692 to nil. 686 to nil.
817 *** font-lock: in modes like C and Lisp where the fontification assumes that 811 *** font-lock: in modes like C and Lisp where the fontification assumes that
818 an open-paren in column 0 is always outside of any string or comment, 812 an open-paren in column 0 is always outside of any string or comment,
819 font-lock now highlights any such open-paren-in-column-zero in bold-red 813 font-lock now highlights any such open-paren-in-column-zero in bold-red
820 if it is inside a string or a comment, to indicate that it can cause 814 if it is inside a string or a comment, to indicate that it can cause
821 trouble with fontification and/or indentation. 815 trouble with fontification and/or indentation.
816
817 +++
818 *** New standard font-lock face `font-lock-preprocessor-face'.
819
820 *** New standard font-lock face `font-lock-comment-delimiter-face'.
821
822 *** Easy to overlook single character negation is now font-locked.
823 You can use the new variable `font-lock-negation-char-face' and the face of
824 the same name to customize this. Currently the cc-modes, sh-script-mode,
825 cperl-mode and make-mode support this.
822 826
823 --- 827 ---
824 *** The default settings for JIT stealth lock parameters are changed. 828 *** The default settings for JIT stealth lock parameters are changed.
825 The default value for the user option jit-lock-stealth-time is now 16 829 The default value for the user option jit-lock-stealth-time is now 16
826 instead of 3, and the default value of jit-lock-stealth-nice is now 830 instead of 3, and the default value of jit-lock-stealth-nice is now
3919 to a printable string. For example, an IP address A.B.C.D and port 3923 to a printable string. For example, an IP address A.B.C.D and port
3920 number P is represented as a five element vector [A B C D P], and the 3924 number P is represented as a five element vector [A B C D P], and the
3921 printable string returned for this vector is "A.B.C.D:P". See the doc 3925 printable string returned for this vector is "A.B.C.D:P". See the doc
3922 string for other formatting options. 3926 string for other formatting options.
3923 3927
3924 *** By default, the function process-contact still returns (HOST SERVICE) 3928 *** `process-contact' has an optional KEY argument.
3925 for a network process. Using the new optional KEY arg, the complete list 3929
3926 of network process properties or a specific property can be selected. 3930 Depending on this argument, you can get the complete list of network
3927 3931 process properties or a specific property. Using :local or :remote as
3928 Using :local and :remote as the KEY, the address of the local or 3932 the KEY, you get the address of the local or remote end-point.
3929 remote end-point is returned. An Inet address is represented as a 5 3933
3930 element vector, where the first 4 elements contain the IP address and 3934 An Inet address is represented as a 5 element vector, where the first
3931 the fifth is the port number. 3935 4 elements contain the IP address and the fifth is the port number.
3932 3936
3933 *** Network processes can now be stopped and restarted with 3937 *** New functions `stop-process' and `continue-process'.
3934 `stop-process' and `continue-process'. For a server process, no 3938
3935 connections are accepted in the stopped state. For a client process, 3939 These functions stop and restart communication through a network
3936 no input is received in the stopped state. 3940 connection. For a server process, no connections are accepted in the
3937 3941 stopped state. For a client process, no input is received in the
3938 *** New function network-interface-list. 3942 stopped state.
3943
3944 *** New function `network-interface-list'.
3939 3945
3940 This function returns a list of network interface names and their 3946 This function returns a list of network interface names and their
3941 current network addresses. 3947 current network addresses.
3942 3948
3943 *** New function network-interface-info. 3949 *** New function `network-interface-info'.
3944 3950
3945 This function returns the network address, hardware address, current 3951 This function returns the network address, hardware address, current
3946 status, and other information about a specific network interface. 3952 status, and other information about a specific network interface.
3947 3953
3948 *** The sentinel is now called when a network process is deleted with 3954 *** Deleting a network process with `delete-process' calls the sentinel.
3949 delete-process. The status message passed to the sentinel for a 3955
3950 deleted network process is "deleted". The message passed to the 3956 The status message passed to the sentinel for a deleted network
3951 sentinel when the connection is closed by the remote peer has been 3957 process is "deleted". The message passed to the sentinel when the
3952 changed to "connection broken by remote peer". 3958 connection is closed by the remote peer has been changed to
3959 "connection broken by remote peer".
3953 3960
3954 ** Using window objects: 3961 ** Using window objects:
3955 3962
3956 +++ 3963 +++
3957 *** New function `window-body-height'. 3964 *** New function `window-body-height'.
3960 header line. 3967 header line.
3961 3968
3962 +++ 3969 +++
3963 *** New function `window-body-height'. 3970 *** New function `window-body-height'.
3964 3971
3965 This is like window-height but does not count the mode line 3972 This is like `window-height' but does not count the mode line
3966 or the header line. 3973 or the header line.
3967 3974
3968 +++ 3975 +++
3969 *** You can now make a window as short as one line. 3976 *** You can now make a window as short as one line.
3970 3977
3987 +++ 3994 +++
3988 *** The new macro `with-selected-window' temporarily switches the 3995 *** The new macro `with-selected-window' temporarily switches the
3989 selected window without impacting the order of `buffer-list'. 3996 selected window without impacting the order of `buffer-list'.
3990 3997
3991 +++ 3998 +++
3992 *** `select-window' takes an optional second argument `norecord'. 3999 *** `select-window' takes an optional second argument NORECORD.
3993 4000
3994 This is like `switch-to-buffer'. 4001 This is like `switch-to-buffer'.
3995 4002
3996 +++ 4003 +++
3997 *** `save-selected-window' now saves and restores the selected window 4004 *** `save-selected-window' now saves and restores the selected window
4014 identifing the bitmap such as `left-truncation or `continued-line'. 4021 identifing the bitmap such as `left-truncation or `continued-line'.
4015 4022
4016 *** New function `destroy-fringe-bitmap' deletes a fringe bitmap 4023 *** New function `destroy-fringe-bitmap' deletes a fringe bitmap
4017 or restores a built-in one to its default value. 4024 or restores a built-in one to its default value.
4018 4025
4019 *** New function `set-fringe-bitmap-face' can now be used to set a 4026 *** New function `set-fringe-bitmap-face' specifies the face to be
4020 specific face to be used for a specific fringe bitmap. The face is 4027 used for a specific fringe bitmap. The face is automatically merged
4021 automatically merged with the `fringe' face, so normally, the face 4028 with the `fringe' face, so normally, the face should only specify the
4022 should only specify the foreground color of the bitmap. 4029 foreground color of the bitmap.
4023 4030
4024 *** There are new display properties, `left-fringe; and `right-fringe', 4031 *** There are new display properties, `left-fringe' and `right-fringe',
4025 that can be used to show a specific bitmap in the left or right fringe 4032 that can be used to show a specific bitmap in the left or right fringe
4026 bitmap of the display line. 4033 bitmap of the display line.
4027 4034
4028 Format is `display (left-fringe BITMAP [FACE])', where BITMAP is a 4035 Format is `display (left-fringe BITMAP [FACE])', where BITMAP is a
4029 symbol identifying a fringe bitmap, either built-in or defined with 4036 symbol identifying a fringe bitmap, either built-in or defined with
4162 4169
4163 If the `line-spacing' property is a float or cons, the line spacing 4170 If the `line-spacing' property is a float or cons, the line spacing
4164 is calculated as specified above for the `line-height' property. 4171 is calculated as specified above for the `line-height' property.
4165 4172
4166 +++ 4173 +++
4167 *** The buffer local line-spacing variable can now have a float value, 4174 *** The buffer local `line-spacing' variable can now have a float value,
4168 which is used as a height relative to the default frame line height. 4175 which is used as a height relative to the default frame line height.
4169 4176
4170 +++ 4177 +++
4171 *** Enhancements to stretch display properties 4178 *** Enhancements to stretch display properties
4172 4179
4212 For example, to align to the center of the left-margin, use 4219 For example, to align to the center of the left-margin, use
4213 :align-to (+ left-margin (0.5 . left-margin)) 4220 :align-to (+ left-margin (0.5 . left-margin))
4214 4221
4215 If no specific base offset is set for alignment, it is always relative 4222 If no specific base offset is set for alignment, it is always relative
4216 to the left edge of the text area. For example, :align-to 0 in a 4223 to the left edge of the text area. For example, :align-to 0 in a
4217 header-line aligns with the first text column in the text area. 4224 header line aligns with the first text column in the text area.
4218 4225
4219 The value of the form `(NUM . EXPR)' is the value of NUM multiplied by 4226 The value of the form `(NUM . EXPR)' is the value of NUM multiplied by
4220 the value of the expression EXPR. For example, (2 . in) specifies a 4227 the value of the expression EXPR. For example, (2 . in) specifies a
4221 width of 2 inches, while (0.5 . IMAGE) specifies half the width (or 4228 width of 2 inches, while (0.5 . IMAGE) specifies half the width (or
4222 height) of the specified image. 4229 height) of the specified image.
4238 *** Support for displaying image slices 4245 *** Support for displaying image slices
4239 4246
4240 **** New display property (slice X Y WIDTH HEIGHT) can be used with 4247 **** New display property (slice X Y WIDTH HEIGHT) can be used with
4241 an image property to display only a specific slice of the image. 4248 an image property to display only a specific slice of the image.
4242 4249
4243 **** Function insert-image has new optional fourth arg to 4250 **** Function `insert-image' has new optional fourth arg to
4244 specify image slice (X Y WIDTH HEIGHT). 4251 specify image slice (X Y WIDTH HEIGHT).
4245 4252
4246 **** New function insert-sliced-image inserts a given image as a 4253 **** New function `insert-sliced-image' inserts a given image as a
4247 specified number of evenly sized slices (rows x columns). 4254 specified number of evenly sized slices (rows x columns).
4248 4255
4249 +++ 4256 +++
4250 *** Images can now have an associated image map via the :map property. 4257 *** Images can now have an associated image map via the :map property.
4251 4258
4260 4267
4261 When the mouse pointer is above a hot-spot area of an image, the 4268 When the mouse pointer is above a hot-spot area of an image, the
4262 PLIST of that hot-spot is consulted; if it contains a `help-echo' 4269 PLIST of that hot-spot is consulted; if it contains a `help-echo'
4263 property it defines a tool-tip for the hot-spot, and if it contains 4270 property it defines a tool-tip for the hot-spot, and if it contains
4264 a `pointer' property, it defines the shape of the mouse cursor when 4271 a `pointer' property, it defines the shape of the mouse cursor when
4265 it is over the hot-spot. See the variable 'void-area-text-pointer' 4272 it is over the hot-spot. See the variable `void-area-text-pointer'
4266 for possible pointer shapes. 4273 for possible pointer shapes.
4267 4274
4268 When you click the mouse when the mouse pointer is over a hot-spot, 4275 When you click the mouse when the mouse pointer is over a hot-spot,
4269 an event is composed by combining the ID of the hot-spot with the 4276 an event is composed by combining the ID of the hot-spot with the
4270 mouse event, e.g. [area4 mouse-1] if the hot-spot's ID is `area4'. 4277 mouse event, e.g. [area4 mouse-1] if the hot-spot's ID is `area4'.
4288 controlled/overriden via the `pointer' text property. 4295 controlled/overriden via the `pointer' text property.
4289 4296
4290 ** Mouse event enhancements: 4297 ** Mouse event enhancements:
4291 4298
4292 +++ 4299 +++
4293 *** Mouse clicks on fringes now generates left-fringe or right-fringes 4300 *** Mouse events for clicks on window fringes now specify `left-fringe'
4294 events, rather than a text area click event. 4301 or `right-fringe' as the area.
4295 4302
4296 +++ 4303 +++
4297 *** Mouse clicks in the left and right marginal areas now includes a 4304 *** All mouse events now include a buffer position regardless of where
4298 sensible buffer position corresponding to the first character in the 4305 you clicked. For mouse clicks in window margins and fringes, this is
4299 corresponding text row. 4306 a sensible buffer position corresponding to the surrounding text.
4307
4308 +++
4309 *** `posn-point' now returns buffer position for non-text area events.
4300 4310
4301 +++ 4311 +++
4302 *** Function `mouse-set-point' now works for events outside text area. 4312 *** Function `mouse-set-point' now works for events outside text area.
4303
4304 +++
4305 *** Mouse events now includes buffer position for all event types.
4306
4307 +++
4308 *** `posn-point' now returns buffer position for non-text area events.
4309 4313
4310 +++ 4314 +++
4311 *** New function `posn-area' returns window area clicked on (nil means 4315 *** New function `posn-area' returns window area clicked on (nil means
4312 text area). 4316 text area).
4313 4317
4314 +++ 4318 +++
4315 *** Mouse events include actual glyph column and row for all event types. 4319 *** Mouse events include actual glyph column and row for all event types
4316 4320 and all areas.
4317 +++ 4321
4318 *** New function `posn-actual-col-row' returns actual glyph coordinates. 4322 +++
4319 4323 *** New function `posn-actual-col-row' returns the actual glyph coordinates
4320 +++ 4324 of the mouse event position.
4321 *** Mouse events can now include image object in addition to string object. 4325
4322 4326 +++
4323 +++ 4327 *** Mouse events can now indicate an image object clicked on.
4324 *** Mouse events include relative x and y pixel coordinates relative to 4328
4329 +++
4330 *** Mouse events include relative X and Y pixel coordinates relative to
4325 the top left corner of the object (image or character) clicked on. 4331 the top left corner of the object (image or character) clicked on.
4326 4332
4327 +++ 4333 +++
4328 *** Mouse events include the pixel width and height of the object 4334 *** Mouse events include the pixel width and height of the object
4329 (image or character) clicked on. 4335 (image or character) clicked on.
4330 4336
4331 +++ 4337 +++
4332 *** New functions 'posn-object', 'posn-object-x-y', and 4338 *** New functions 'posn-object', 'posn-object-x-y', 'posn-object-width-height'.
4333 'posn-object-width-height' return the image or string object of a mouse 4339
4334 click, the x and y pixel coordinates relative to the top left corner 4340 These return the image or string object of a mouse click, the X and Y
4335 of that object, and the total width and height of that object. 4341 pixel coordinates relative to the top left corner of that object, and
4342 the total width and height of that object.
4336 4343
4337 ** Text property and overlay changes: 4344 ** Text property and overlay changes:
4338 4345
4339 +++ 4346 +++
4340 *** Arguments for remove-overlays are now optional, so that you can 4347 *** Arguments for `remove-overlays' are now optional, so that you can
4341 remove all overlays in the buffer by just calling (remove-overlays). 4348 remove all overlays in the buffer with just (remove-overlays).
4342 4349
4343 +++ 4350 +++
4344 *** New variable char-property-alias-alist. 4351 *** New variable `char-property-alias-alist'.
4345 4352
4346 This variable allows you to create alternative names for text 4353 This variable allows you to create alternative names for text
4347 properties. It works at the same level as `default-text-properties', 4354 properties. It works at the same level as `default-text-properties',
4348 although it applies to overlays as well. This variable was introduced 4355 although it applies to overlays as well. This variable was introduced
4349 to implement the `font-lock-face' property. 4356 to implement the `font-lock-face' property.
4354 return value of `get-char-property' called with those arguments and 4361 return value of `get-char-property' called with those arguments and
4355 whose cdr is the overlay in which the property was found, or nil if 4362 whose cdr is the overlay in which the property was found, or nil if
4356 it was found as a text property or not found at all. 4363 it was found as a text property or not found at all.
4357 4364
4358 +++ 4365 +++
4359 *** The new function remove-list-of-text-properties is almost the same 4366 *** The new function `remove-list-of-text-properties'.
4360 as `remove-text-properties'. The only difference is that it takes a 4367
4361 list of property names as argument rather than a property list. 4368 It is like `remove-text-properties' except that it takes a list of
4369 property names as argument rather than a property list.
4362 4370
4363 ** Face changes 4371 ** Face changes
4364 4372
4365 +++ 4373 +++
4366 *** The new face attribute condition `min-colors' can be used to tailor 4374 *** The new face attribute condition `min-colors' can be used to tailor
4369 look best on a terminal that supports at least this many colors. This 4377 look best on a terminal that supports at least this many colors. This
4370 is now the preferred method for defining default faces in a way that 4378 is now the preferred method for defining default faces in a way that
4371 makes a good use of the capabilities of the display. 4379 makes a good use of the capabilities of the display.
4372 4380
4373 +++ 4381 +++
4374 *** New function display-supports-face-attributes-p can be used to test 4382 *** New function `display-supports-face-attributes-p' can be used to test
4375 whether a given set of face attributes is actually displayable. 4383 whether a given set of face attributes is actually displayable.
4376 4384
4377 A new predicate `supports' has also been added to the `defface' face 4385 A new predicate `supports' has also been added to the `defface' face
4378 specification language, which can be used to do this test for faces 4386 specification language, which can be used to do this test for faces
4379 defined with defface. 4387 defined with `defface'.
4380 4388
4381 --- 4389 ---
4382 *** The special treatment of faces whose names are of the form `fg:COLOR' 4390 *** The special treatment of faces whose names are of the form `fg:COLOR'
4383 or `bg:COLOR' has been removed. Lisp programs should use the 4391 or `bg:COLOR' has been removed. Lisp programs should use the
4384 `defface' facility for defining faces with specific colors, or use 4392 `defface' facility for defining faces with specific colors, or use
4402 *** The function `face-differs-from-default-p' now truly checks 4410 *** The function `face-differs-from-default-p' now truly checks
4403 whether the given face displays differently from the default face or 4411 whether the given face displays differently from the default face or
4404 not (previously it did only a very cursory check). 4412 not (previously it did only a very cursory check).
4405 4413
4406 +++ 4414 +++
4407 *** `face-attribute', `face-foreground', `face-background', and 4415 *** `face-attribute', `face-foreground', `face-background', `face-stipple'.
4408 `face-stipple' now accept a new optional argument, INHERIT, which 4416
4409 controls how face inheritance is used when determining the value of a 4417 These now accept a new optional argument, INHERIT, which controls how
4410 face attribute. 4418 face inheritance is used when determining the value of a face
4419 attribute.
4411 4420
4412 +++ 4421 +++
4413 *** New functions `face-attribute-relative-p' and `merge-face-attribute' 4422 *** New functions `face-attribute-relative-p' and `merge-face-attribute'
4414 help with handling relative face attributes. 4423 help with handling relative face attributes.
4415 4424
4420 faces in the list override later faces in the list; in previous 4429 faces in the list override later faces in the list; in previous
4421 releases of Emacs, the order was the opposite. This change was made 4430 releases of Emacs, the order was the opposite. This change was made
4422 so that :inherit face lists operate identically to face lists in text 4431 so that :inherit face lists operate identically to face lists in text
4423 `face' properties. 4432 `face' properties.
4424 4433
4425 +++
4426 *** New standard font-lock face `font-lock-preprocessor-face'.
4427
4428 --- 4434 ---
4429 *** `set-fontset-font', `fontset-info', `fontset-font' now operate on 4435 *** `set-fontset-font', `fontset-info', `fontset-font' now operate on
4430 the default fontset if the argument NAME is nil.. 4436 the default fontset if the argument NAME is nil..
4431 4437
4432 ** Font-Lock changes: 4438 ** Font-Lock changes:
4440 new variable `char-property-alias-alist'. 4446 new variable `char-property-alias-alist'.
4441 4447
4442 +++ 4448 +++
4443 *** font-lock can manage arbitrary text-properties beside `face'. 4449 *** font-lock can manage arbitrary text-properties beside `face'.
4444 4450
4445 *** the FACENAME returned in `font-lock-keywords' can be a list of the 4451 **** the FACENAME returned in `font-lock-keywords' can be a list of the
4446 form (face FACE PROP1 VAL1 PROP2 VAL2 ...) so you can set other 4452 form (face FACE PROP1 VAL1 PROP2 VAL2 ...) so you can set other
4447 properties than `face'. 4453 properties than `face'.
4448 4454
4449 *** `font-lock-extra-managed-props' can be set to make sure those 4455 **** `font-lock-extra-managed-props' can be set to make sure those
4450 extra properties are automatically cleaned up by font-lock. 4456 extra properties are automatically cleaned up by font-lock.
4451 4457
4452 --- 4458 ---
4453 *** jit-lock obeys a new text-property `jit-lock-defer-multiline'. 4459 *** jit-lock obeys a new text-property `jit-lock-defer-multiline'.
4454 4460
4476 precedence over the file name. Likewise an `<?xml' or `<!DOCTYPE' 4482 precedence over the file name. Likewise an `<?xml' or `<!DOCTYPE'
4477 declaration will give the buffer XML or SGML mode, based on the new 4483 declaration will give the buffer XML or SGML mode, based on the new
4478 var `magic-mode-alist'. 4484 var `magic-mode-alist'.
4479 4485
4480 +++ 4486 +++
4481 *** Major mode functions now run the new normal hook 4487 *** Use the new function `run-mode-hooks' to run the major mode's mode hook.
4482 `after-change-major-mode-hook', at their very end, after the mode hooks. 4488
4489 +++
4490 *** All major mode functions should now run the new normal hook
4491 `after-change-major-mode-hook', at their very end, after the mode
4492 hooks. `run-mode-hooks' does this automatically.
4483 4493
4484 --- 4494 ---
4485 *** If a major mode function has a non-nil `no-clone-indirect' 4495 *** If a major mode function has a non-nil `no-clone-indirect'
4486 property, `clone-indirect-buffer' signals an error if you use 4496 property, `clone-indirect-buffer' signals an error if you use
4487 it in that buffer. 4497 it in that buffer.
4507 and simply passes them to `defcustom', if applicable. 4517 and simply passes them to `defcustom', if applicable.
4508 4518
4509 +++ 4519 +++
4510 *** `minor-mode-list' now holds a list of minor mode commands. 4520 *** `minor-mode-list' now holds a list of minor mode commands.
4511 4521
4512 --- 4522 +++
4513 *** `define-global-minor-mode'. 4523 *** `define-global-minor-mode'.
4514 4524
4515 This is a new name for what was formerly called 4525 This is a new name for what was formerly called
4516 `easy-mmode-define-global-mode'. The old name remains as an alias. 4526 `easy-mmode-define-global-mode'. The old name remains as an alias.
4517 4527
4518 ** Command loop changes: 4528 ** Command loop changes:
4519 4529
4520 +++ 4530 +++
4521 *** The new function `called-interactively-p' does what many people 4531 *** The new function `called-interactively-p' does what many people
4522 have mistakenly believed `interactive-p' did: it returns t if the 4532 have mistakenly believed `interactive-p' to do: it returns t if the
4523 calling function was called through `call-interactively'. This should 4533 calling function was called through `call-interactively'.
4524 only be used when you cannot solve the problem by adding a new 4534
4535 Only use this when you cannot solve the problem by adding a new
4525 INTERACTIVE argument to the command. 4536 INTERACTIVE argument to the command.
4526 4537
4527 +++ 4538 +++
4528 *** The function `commandp' takes an additional optional argument. 4539 *** The function `commandp' takes an additional optional argument.
4529 4540
4568 +++ 4579 +++
4569 *** `load-history' now records (defun . FUNNAME) when a function is 4580 *** `load-history' now records (defun . FUNNAME) when a function is
4570 defined. For a variable, it records just the variable name. 4581 defined. For a variable, it records just the variable name.
4571 4582
4572 +++ 4583 +++
4573 *** The function symbol-file can now search specifically for function or 4584 *** The function `symbol-file' can now search specifically for function,
4574 variable definitions. 4585 variable or face definitions.
4575 4586
4576 +++ 4587 +++
4577 *** `provide' and `featurep' now accept an optional second argument 4588 *** `provide' and `featurep' now accept an optional second argument
4578 to test/provide subfeatures. Also `provide' now checks `after-load-alist' 4589 to test/provide subfeatures. Also `provide' now checks `after-load-alist'
4579 and runs any code associated with the provided feature. 4590 and runs any code associated with the provided feature.
4584 than 3 levels of nesting. 4595 than 3 levels of nesting.
4585 4596
4586 +++ 4597 +++
4587 ** Byte compiler changes: 4598 ** Byte compiler changes:
4588 4599
4589 *** The byte-compiler now displays the actual line and character 4600 *** The byte compiler now displays the actual line and character
4590 position of errors, where possible. Additionally, the form of its 4601 position of errors, where possible. Additionally, the form of its
4591 warning and error messages have been brought more in line with the 4602 warning and error messages have been brought into line with GNU standards
4592 output of other GNU tools. 4603 for these. As a result, you can use next-error and friends on the
4604 compilation output buffer.
4593 4605
4594 *** The new macro `with-no-warnings' suppresses all compiler warnings 4606 *** The new macro `with-no-warnings' suppresses all compiler warnings
4595 inside its body. In terms of execution, it is equivalent to `progn'. 4607 inside its body. In terms of execution, it is equivalent to `progn'.
4596 4608
4597 *** You can avoid warnings for possibly-undefined symbols with a 4609 *** You can avoid warnings for possibly-undefined symbols with a
4663 4675
4664 3. For binary files where format conversion would be pointless and 4676 3. For binary files where format conversion would be pointless and
4665 wasteful. 4677 wasteful.
4666 4678
4667 --- 4679 ---
4668 *** set-buffer-file-coding-system now takes an additional argument, 4680 *** `set-buffer-file-coding-system' now takes an additional argument,
4669 NOMODIFY. If it is non-nil, it means don't mark the buffer modified. 4681 NOMODIFY. If it is non-nil, it means don't mark the buffer modified.
4670 4682
4671 +++ 4683 +++
4672 *** The new variable `auto-coding-functions' lets you specify functions 4684 *** The new variable `auto-coding-functions' lets you specify functions
4673 to examine a file being visited and deduce the proper coding system 4685 to examine a file being visited and deduce the proper coding system
4690 --- 4702 ---
4691 *** New CCL functions `lookup-character' and `lookup-integer' access 4703 *** New CCL functions `lookup-character' and `lookup-integer' access
4692 hash tables defined by the Lisp function `define-translation-hash-table'. 4704 hash tables defined by the Lisp function `define-translation-hash-table'.
4693 4705
4694 --- 4706 ---
4695 *** New function quail-find-key returns a list of keys to type in the 4707 *** New function `quail-find-key' returns a list of keys to type in the
4696 current input method to input a character. 4708 current input method to input a character.
4697 4709
4698 ** Mode line changes: 4710 ** Mode line changes:
4699 4711
4700 +++ 4712 +++
4701 *** New function `format-mode-line'. 4713 *** New function `format-mode-line'.
4702 4714
4703 This returns the mode-line or header-line of the selected (or a 4715 This returns the mode line or header line of the selected (or a
4704 specified) window as a string with or without text properties. 4716 specified) window as a string with or without text properties.
4705 4717
4706 +++ 4718 +++
4707 *** The new mode-line construct `(:propertize ELT PROPS...)' can be 4719 *** The new mode-line construct `(:propertize ELT PROPS...)' can be
4708 used to add text properties to mode-line elements. 4720 used to add text properties to mode-line elements.
4760 ** Miscellaneous: 4772 ** Miscellaneous:
4761 4773
4762 +++ 4774 +++
4763 *** A number of hooks have been renamed to better follow the conventions: 4775 *** A number of hooks have been renamed to better follow the conventions:
4764 4776
4765 find-file-hooks to find-file-hook, 4777 `find-file-hooks' to `find-file-hook',
4766 find-file-not-found-hooks to find-file-not-found-functions, 4778 `find-file-not-found-hooks' to `find-file-not-found-functions',
4767 write-file-hooks to write-file-functions, 4779 `write-file-hooks' to `write-file-functions',
4768 write-contents-hooks to write-contents-functions, 4780 `write-contents-hooks' to `write-contents-functions',
4769 x-lost-selection-hooks to x-lost-selection-functions, 4781 `x-lost-selection-hooks' to `x-lost-selection-functions',
4770 x-sent-selection-hooks to x-sent-selection-functions, 4782 `x-sent-selection-hooks' to `x-sent-selection-functions',
4771 delete-frame-hook to delete-frame-functions. 4783 `delete-frame-hook' to `delete-frame-functions'.
4772 4784
4773 In each case the old name remains as an alias for the moment. 4785 In each case the old name remains as an alias for the moment.
4774 4786
4775 +++ 4787 +++
4776 *** local-write-file-hooks is marked obsolete 4788 *** local-write-file-hooks is marked obsolete