ChangeLog.10 858 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13
2003-07-03  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* progmodes/cc-menus.el (cc-imenu-init): Do not set
	`imenu-create-index-function' if the second argument is left
	out.  This bug broke the imenu support in C, C++ and Java modes.

	* progmodes/cc-engine.el, progmodes/cc-align.el
	(c-add-stmt-syntax, c-lineup-arglist)
	(c-lineup-arglist-close-under-paren): Fixes to cope with
	special brace lists in Pike.

2003-07-03  Alan Mackenzie  <bug-cc-mode@gnu.org>

Juanma Barranquero's avatar
Juanma Barranquero committed
14
	* progmodes/cc-mode.el (awk-mode): Call c-awk-after-change to
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
	ensure syntax-table props at loading.

	* progmodes/cc-fonts.el: Put (cc-require-when-compile 'cc-awk)
	to eliminate compile-time errors.

	* progmodes/cc-awk.el, progmodes/cc-engine.el: Add code to
	analyze AWK top-level forms properly (c-guess-basic-syntax
	CASE 5P), c-awk-backward-syntactic-ws.

2003-07-03  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* progmodes/cc-fix.el: cc-mode-19.el has been renamed to
	progmodes/cc-fix.el since it now contains compatibility stuff
	for later versions than (X)Emacs 19.

	* progmodes/cc-langs.el (c-paren-nontype-kwds): New language constant.

	(c-other-decl-kwds, c-postfix-decl-spec-kwds): Add compiler
	specific declspec keywords: __attribute__ for gcc and
	__declspec for msvc.

	* progmodes/cc-fonts.el (c-font-lock-declarations)
	(c-complex-decl-matchers): Support specifiers in a couple more
	contexts to cope with msvc '__declspec'.

	* progmodes/cc-engine.el (c-forward-keyword-clause):
	Support `c-paren-nontype-kwds'.

	* progmodes/cc-langs.el (c-primary-expr-regexp): Don't match a
	bare period as a float.

	* progmodes/cc-bytecomp.el (cc-bytecomp-setup-environment):
	Do not cover functions that have been bound.

	(cc-external-require): New macro to use for requiring external
	packages, to handle the environment correctly.

	* progmodes/cc-defs.el, progmodes/cc-fix.el,
	progmodes/cc-fonts.el, progmodes/cc-mode.el: Replaced external
	require's with `cc-external-require'.

	* progmodes/cc-engine.el (c-beginning-of-member-init-list)
	(c-guess-basic-syntax): Fixes in handling of bitfields.

	* progmodes/cc-langs.el (comment-end): Put a space in front of
	the comment ender in C, as it was before the move from cc-mode.el.

2003-07-03  Alan Mackenzie  <bug-cc-mode@gnu.org>

	* progmodes/cc-fonts.el: Do not load progmodes/cc-awk.elc or
	awk-font-lock-keywords unless there is an AWK Mode buffer.

	* progmodes/cc-awk.el: New file that implements AWK support,
	superseding the old separate derived mode in awk-mode.el.

	* progmodes/cc-vars.el, cc-mode-19.el, progmodes/cc-langs.el,
Juanma Barranquero's avatar
Juanma Barranquero committed
71 72 73
	* progmodes/cc-mode.el, progmodes/cc-defs.el,
	* progmodes/cc-engine.el, progmodes/cc-fonts.el:
	Changes for the new AWK support.
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103

2003-07-03  Martin Stjernholm  <bug-cc-mode@gnu.org>

	* progmodes/cc-engine.el, progmodes/cc-langs.el
	(c-decl-block-key, c-search-uplist-for-classkey): Check that
	the modifier is followed by "{" in Pike before considering it
	to start a class-like block.

	* progmodes/cc-mode.el (c-initialize-cc-mode): Add some
	compatibility to make this function behave somewhat more as
	documented for derived modes.  It's still not enough to make
	the old AWK mode behave reasonably, but it's been like this a
	long time now so fixing it more might cause trouble
	elsewhere. :P

	* progmodes/cc-fonts.el (c-remove-font-lock-face): New macro
	to remove a font lock face properly (especially in XEmacs).

	* progmodes/cc-bytecomp.el (cc-bytecomp-obsolete-fun):
	Add the same kludge as in `cc-bytecomp-obsolete-var' to avoid a
	confused compiler warning.

	* progmodes/cc-engine.el (c-forward-type): Fix a bug in the
	handling of concatenated types when the component types are known.

	* progmodes/cc-fonts.el (c-constant-face-name): Add face name variable
	to avoid the use of `font-lock-constant-face' for constants in
	emacsen that doesn't have it.

	* progmodes/cc-styles.el, progmodes/cc-vars.el,
Juanma Barranquero's avatar
Juanma Barranquero committed
104
	* progmodes/cc-cmds.el: Fixes for the syntactic symbols for
105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
	module and composition blocks.

	* progmodes/cc-mode.el (c-basic-common-init):
	Use `open-paren-in-column-0-is-defun-start' if it exists and works.

	* progmodes/cc-vars.el (c-emacs-features): Add `col-0-paren'
	to detect when `open-paren-in-column-0-is-defun-start' exists
	and actually works.

	* progmodes/cc-vars.el, progmodes/cc-langs.el
	(c-primitive-type-kwds, c-font-lock-extra-types): "complex"
	and "imaginary" aren't keywords in C99, only macros that
	expand to the keywords "_Complex" and "_Imaginary", so make
	the former a bit less hardcoded by putting it on
	`c-font-lock-extra-types' instead.  There are also "bool" and
	"_Bool" that work the same way.
	(c-constant-kwds): "false" and "true" are standard constant
	macros in C99.

	* progmodes/cc-menus.el, progmodes/cc-langs.el,
Juanma Barranquero's avatar
Juanma Barranquero committed
125 126
	* progmodes/cc-engine.el, progmodes/cc-fonts.el,
	* progmodes/cc-cmds.el: Fixed various regexps to use POSIX char
127 128 129 130 131 132 133 134 135 136 137 138 139 140
	classes when that is supported.

	* progmodes/cc-defs.el (c-alpha, c-alnum, c-digit, c-upper, c-lower):
	New constants to make it easier to create regexps
	that use POSIX char classes in emacsen that support them.

	* progmodes/cc-vars.el (c-emacs-features): Detect in the
	regexp engine understands POSIX char classes.

	* progmodes/cc-mode.el (c-after-change): Add kludge for bug
	where this function sometimes gets positions outside the
	buffer range.

	* progmodes/cc-engine.el (c-beginning-of-member-init-list):
Juanma Barranquero's avatar
Juanma Barranquero committed
141
	Better handling of parentheses in unexpected places.
142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295

	* progmodes/cc-engine.el (c-forward-<>-arglist-recur): Fix a
	regexp match order problem that could cause empty template
	args on the form "<>" to be missed.

	* progmodes/cc-engine.el (c-parse-state): Add kludge to
	avoid an infinite loop when Emacs' open-paren-in-column-zero
	rule kicks in and causes the sexp functions to misbehave.

	* progmodes/cc-engine.el (c-beginning-of-member-init-list):
	Fix bug when C++-like code is encountered in non-C++ mode.

	* progmodes/cc-defs.el (c-make-keywords-re): Add option to
	specify the language to look up `c-nonsymbol-key' in.

	* progmodes/cc-cmds.el, progmodes/cc-engine.el
	(c-auto-newline-analysis): New dynamically bound variable to
	turn off the topmost-intro-cont/statement-cont kludge for
	brace lists during the analysis for the auto newline feature.
	This fixes some cases where the setting for `brace-list-open'
	on `c-hanging-braces-alist' didn't have any effect.

	* progmodes/cc-langs.el (c-literal-start-regexp): Yet another
	language variable.

	* progmodes/cc-fonts.el (c-font-lock-doc-comments)
	(c-find-invalid-doc-markup, javadoc-font-lock-keywords):
	Fix fontification of the markup in Javadoc comments.

	* progmodes/cc-engine.el: Fixes in face handling to cope with
	doc comments.
	(c-find-decl-spots): More failsafe skipping of comments and
	strings that only have been partially fontified.

	* progmodes/cc-defs.el (c-got-face-at): New subst to test
	faces at positions easier.

	* progmodes/cc-defs.el (c-safe-scan-lists): New wrapper macro
	to avoid the warnings with too many args to `scan-lists' in Emacs.

	* progmodes/cc-engine.el (c-syntactic-skip-backward):
	New function to make syntactic searches in the backward direction
	easier.

	(c-beginning-of-statement-1): Optimize skipping over large paren
	sexps somewhat.

	(c-safe-position): Remove the odd macro handling which was
	centered around the point instead of the passed position.

	* progmodes/cc-engine.el (c-in-knr-argdecl): Do not trip up on
	initialization expressions.

	* progmodes/cc-align.el (c-lineup-arglist)
	(c-lineup-close-paren, c-lineup-arglist-close-under-paren):
	Tune the "macro block" heuristics to work better in nested
	arglist situations.

	* progmodes/cc-styles.el (c-set-offset): Don't find a default
	syntactic element through syntactic analysis if called outside
	a CC Mode buffer.

	* progmodes/cc-mode.el (c-basic-common-init):
	Install `c-fill-paragraph' on `fill-paragraph-function'.
	Although it's not the normal way to call it in a CC Mode buffer it
	makes a direct call to `fill-paragraph' work better.

	* progmodes/cc-vars.el, progmodes/cc-mode.el
	(c-require-final-newline): Make this variable an alist to
	specify a value for each language.  The default value causes
	`require-final-newline' to be set to t only in languages where
	the standard requires a final newline.

	* progmodes/cc-mode.el, progmodes/cc-vars.el
	(c-require-final-newline): Add a variable to make the
	initialization of `require-final-newline' more configurable.

	* progmodes/cc-vars.el (c-mode-common-hook): Do not change the
	format string to "CC Mode Common Hook" since that causes
	confusion (although it is a more accurate name).

	* progmodes/cc-fonts.el (javadoc-font-lock-keywords)
	(autodoc-font-lock-keywords): Support for Javadoc and Pike
	Autodoc doc comments.

	* progmodes/cc-vars.el (c-doc-comment-style): New variable to
	control the fontification of documentation comments on top of
	the normal mode font lock.

	* progmodes/cc-langs.el, progmodes/cc-fonts.el
	(c-primary-expr-regexp, c-font-lock-declarations): Avoid false
	recognition of parens as casts when they are followed by an
	operator that is both prefix and infix.

	* progmodes/cc-cmds.el (c-guess-fill-prefix): Tune the
	heuristics of when to use `c-block-comment-prefix' for an
	unclosed block comment.

	* progmodes/cc-engine.el, progmodes/cc-langs.el
	(c-nonsymbol-sexp-kwds, c-forward-keyword-clause):
	Handle keywords like "extern" that can be followed by e.g. a string
	literal.

	* progmodes/cc-defs.el (c-make-keywords-re): Make a regexp
	correctly with one submatch when adorn is set and the list is empty.

	* progmodes/cc-fonts.el (c-font-lock-declarations): Fix a
	search that could go far past the relevant region and cause
	slowness.  Do not limit the declaration detection to the
	fontified region since that can cause misfontification in
	multiline declarations.

	* progmodes/cc-engine.el (c-find-decl-spots): Add limit
	argument to handle declarations spanning the fontification
	limit better.

	* progmodes/cc-engine.el (c-in-literal, c-literal-limits)
	(c-literal-limits-fast, c-beginning-of-inheritance-list):
	Use the paren cache instead of the impaired ad hoc in
	`beginning-of-defun', so that these functions doesn't trip up
	on "{" in the first column inside strings or comments.

	* progmodes/cc-vars.el (c-hanging-braces-alist):
	Add `statement-cont' and made it auto newline free by default.

	* progmodes/cc-cmds.el (c-electric-brace):
	Add `statement-cont' to the list of syntactic symbols to consider
	for auto newlines since it can be used for in-statement brace lists.

	* progmodes/cc-vars.el (c-emacs-features): There's no need to
	have this constant autoloaded.

	* progmodes/cc-fonts.el (c-font-lock-declarations):
	Use `c-recognize-typeless-decls' to avoid fontifying some macro
	constructs as declarations in languages where a preceding type
	is mandatory.

	* progmodes/cc-langs.el (c-recognize-typeless-decls):
	New language variable.

	* progmodes/cc-align.el (c-lineup-close-paren):
	Use `c-syntactic-eol' when checking if the open paren ends its line.

	* progmodes/cc-langs.el (c-syntactic-eol): Handle a line
	continuation backslash.

	* progmodes/cc-align.el (c-snug-do-while): Compatibility fix
	for changed structure in `c-syntactic-context'.

	* progmodes/cc-engine.el (c-parse-state): Filter angle bracket
	arglist parens in a better way than disabling the syntax table
	properties completely.

	* progmodes/cc-fonts.el (c-cpp-matchers): Handle line
Juanma Barranquero's avatar
Juanma Barranquero committed
296
	continuations in cpp expressions.  Do not fontify symbols after
297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365
	#ifdef etc as variables since that isn't consistent with how
	the face is used elsewhere (i.e. only for the definition of
	the symbol).

	* progmodes/cc-mode.el: Add autoload directives for the
	interface functions in cc-langs.

	* progmodes/cc-fonts.el (c-font-lock-declarations): Add a
	property to handle refontication in multiline declaration
	arglists better.
	(c-font-lock-<>-arglists): Fix to handle recursive template
	arglists better.  (As a side effect this will make
	fontification work better in older emacsen too.)

	* progmodes/cc-engine.el (c-forward-<>-arglist)
	(c-remove-<>-arglist-properties): Use a common text property
	`c-type' for all sorts of CC Mode char classification, to
	avoid cases when then same char is given conflicting types.
	(c-forward-<>-arglist): New reparse argument to control that
	aspect explicitly.
	(c-forward-name, c-forward-type): Changes in the handling of
	recursive template arglists.  Fixes to cope with the new 'known
	type classification.

	* progmodes/cc-mode.el (c-basic-common-init): Add the new
	char property `c-type' to `text-property-default-nonsticky'.

	* progmodes/cc-defs.el (c-put-char-property)
	(c-get-char-property, c-clear-char-property)
	(c-clear-char-properties): Generalize `c-put-char-syntax' and
	`c-get-char-syntax' to handle any property.

	* progmodes/cc-bytecomp.el (cc-bytecomp-defun): Fix bug that
	caused existing function definitions to be overridden by
	phonies when the bytecomp environment is restored.

	* progmodes/cc-cmds.el (c-mask-paragraph): Masking is
	necessary in normal code too to avoid getting a fill prefix
	from a nearby comment.  Change the name from `c-mask-comment'
	to a more accurate one.

	* progmodes/cc-defs.el, progmodes/cc-mode.el: Change the
	auto-load-alist strategy to not add entries on package load,
	to be defensive in the case that autoloads are updated in
	older emacsen.  The bug that would occur in that case would
	probably be rather nasty for the average user.

	* progmodes/cc-fonts.el (c-font-lock-declarations):
	Fine tuning of the decision tree that tells declarations from
	expressions to produce better results in some ambiguous cases.

	* progmodes/cc-fonts.el (c-font-lock-syntactic-face-function):
	Remove since it doesn't give the control we want.
	(c-font-lock-invalid-string): Replacement for
	`c-font-lock-syntactic-face-function' that puts the error face
	on the string opener only, to avoid the annoying excessive use
	of the error face while a string literal is being written.
	(c-basic-matchers-before): Use `c-font-lock-invalid-string'.

	* progmodes/cc-engine.el (c-string-syntax)
	(c-string-limit-regexp): Add constants to use when handling
	string limits, since not all old emacsen react well to the "|"
	syntax class.

	(c-literal-limits, c-literal-limits-fast, c-literal-type):
	Use `c-string-syntax' and `c-string-limit-regexp'.  Replace some
	hardcoded comment start regexps with `c-comment-start-regexp'.

	* progmodes/cc-mode.el: Added an association for pike-mode on
Juanma Barranquero's avatar
Juanma Barranquero committed
366
	`interpreter-mode-alist'.
367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493

	* progmodes/cc-mode.el: Add the `auto-mode-alist' entries to
	the end instead of the start of the list, to avoid overriding
	user additions that are made before this file is loaded when
	the entries don't correspond to any already on `auto-mode-alist'.
	This is done through the third append argument to
	`add-to-alist'.  That doesn't exist in older (X)Emacsen, so
	the function is advised in cc-defs.  However, that advice
	doesn't help if the autoloads are updated in an old (X)Emacs
	with this version of CC Mode, but I believe it's unlikely that
	anyone does that when CC Mode isn't distributed with with it.

	* progmodes/cc-defs.el (add-to-list): Add advice to get the
	optional third append argument in older (X)Emacsen.

	* progmodes/cc-langs.el (c-keywords-obarray): Kludge for
	strange bug in Emacs that gives so odd errors that I frankly
	don't even muster to begin trying to narrow it down.
	If someone is so inclined, restore the commented code, byte
	compile, and try to open a C++ file or something in font lock mode.

	* progmodes/cc-langs.el: Update the IDL support from the
	specs.  This also adds the keywords for the variants PSDL and
	CIDL.  (This is mostly done from reading the grammars only;
	very lightly tested.)

	* progmodes/cc-langs.el (c-type-list-kwds): Add "new" in Java.

	* progmodes/cc-fonts.el: Make sure that
	`parse-sexp-lookup-properties' is properly insulated from
	clobbering by the font-lock package at all relevant entry points.

	* progmodes/cc-langs.el (c-opt-after-id-concat-key):
	New language constant to make the recognition of identifier
	qualifiers more flexible.  Recognize the identifier before
	".*" as a qualifier in Java.
	(c-identifier-key): Recognize "::*" inside identifiers in C++.
	Recognize identifiers ending with ".*" in Java for the sake of
	import directives.
	(c-type-list-kwds, c-ref-list-kwds): Recognize "import" and
	"package" declarations in Java.

	* progmodes/cc-vars.el (c-doc-face, c-doc-marker-face)
	(c-doc-markup-face): Remove since they aren't used (and
	probably won't be).

	* progmodes/cc-langs.el (c-ref-list-kwds): New language
	constant to specify keywords followed by references.
	(c-last-identifier-range): New variable to avoid going back to
	search for the identifier to font lock after a call to
	`c-forward-name'.
	(c-type-prefix-kwds, c-type-list-kwds): Fix classification of
	"@interface" etc in Objective-C.

	* progmodes/cc-engine.el (c-forward-keyword-clause):
	Fix handling of keyword prefixes in `c-type-list-kwds' and
	`c-colon-type-list-kwds' clauses.
	(c-keyword-sym, c-keyword-member): New functions to lookup and
	categorize keywords.
	(c-forward-keyword-clause): New function to move over a keyword
	and its associated clause according to `c-<>-arglist-kwds' etc.

	* progmodes/cc-langs.el (c-typeless-decl-kwds)
	(c-type-list-kwds, c-colon-type-list-kwds)
	(c-colon-type-list-re, c-paren-type-kwds): New language
	constants and variables to generalize the recognition of
	various language constructs.
	(c-keywords): Did away with the list of `*-kwds' constants.
	It's now built through macro expansion.
	(c-keywords-obarray): New language variable which contains each
	keyword as a symbol, to make fast reverse lookup of keywords to
	the `*-kwds' lists they come from.

	* progmodes/cc-defs.el (c-lang-defconst-eval-immediately):
	Add macro to be able to do direct evaluation in
	`c-lang-defconst' forms.

	* progmodes/cc-engine.el (c-syntactic-re-search-forward):
	Fix a bug which could cause the point to end up outside the
	containing sexp if PAREN-LEVEL was used.

	* progmodes/cc-engine.el, progmodes/cc-fonts.el,
	progmodes/cc-langs.el: Generalize the C++ template arglist
	support to handle angle bracket arglists in any language.
	(c-recognize-<>-arglists, c-<>-arglist-kwds)
	(c-opt-<>-arglist-start): New language variables to control
	angle bracket arglists.
	(c-opt-type-suffix-key): Use `c-recognize-<>-arglists' in
	Objective-C instead of matching a protocol reference list as a
	type suffix.

	* progmodes/cc-align.el (c-gnu-impose-minimum): Fix a missing
	`save-excursion' that caused the point to jump around.

	* progmodes/cc-mode.el, progmodes/cc-menus.el (objc-mode)
	(cc-imenu-init): Fix initialization bug that has made the
	Objective-C support inoperational since 5.26.
	(cc-imenu-objc-generic-expression): Update submatch indices
	due to changes in `cc-imenu-c++-generic-expression'.
	(cc-imenu-objc-function): Don't add an empty "C" menu since
	imenu doesn't like that.

	* progmodes/cc-align.el (c-lineup-arglist)
	(c-lineup-arglist-close-under-paren, c-lineup-close-paren):
	Add DWIM to the functions that line up at or after the
	arglist open paren to avoid that if there are brace blocks
	inside, e.g. when a macro contains a code block.

	* progmodes/cc-vars.el (objc-font-lock-extra-types):
	Change default to treat identifiers starting with capital letters as
	types, according to Objective-C naming conventions.  The types
	previously on the list is part of the language and therefore
	on `c-primitive-type-kwds' instead.

	* progmodes/cc-fonts.el: Fix font locking in Objective-C.
	Be more careful about returning nil from functions used
	directly as font-lock matchers.

	* progmodes/cc-mode.el (c-font-lock-init): Make the syntax
	table modification element of `font-lock-defaults'
	parameterized over the languages.

	* progmodes/cc-langs.el: Update the Objective-C constants
	according to the language spec.  The "@" chars that start
	directives are now considered part of the keywords to make
	things easier.

Juanma Barranquero's avatar
Juanma Barranquero committed
494
	* progmodes/cc-defs.el (c-(up|down)-list-(forward|backward)):
495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668
	Make the position optional and added docstrings.
	(c-go-(up|down)-list-(forward|backward)): Add variants of the
	above that move point and return successfulness instead.

	* progmodes/cc-fonts.el (c-font-lock-<>-arglists):
	New function to fontify all occurrences of template arglists in C++.

	* progmodes/cc-engine.el (c-disallow-comma-in-<>-arglists):
	New variable to be able to avoid false recognition of template
	arglists in some cases.

	* progmodes/cc-fonts.el, progmodes/cc-langs.el
	(c-decl-prefix-re, c-font-lock-declarations): Match template
	open brackets to get a declaration in the first template argument.
	(c-complex-decl-matchers): Fontify the second type in a "class
	X = Y" expression in C++.

	* progmodes/cc-engine.el (c-forward-<>-arglist): Break out the
	recursive part to a new function to improve efficiency when a
	nested template arglist search turns out to be futile.

	* progmodes/cc-menus.el (cc-imenu-java-generic-expression):
	Improve to avoid false matches on e.g. "else if (foo)".

	* progmodes/cc-engine.el (c-forward-token-2)
	(c-backward-token-2): New functions that work like the -1
	variants but that handle multicharacter operator tokens.

	* progmodes/cc-engine.el (c-inside-bracelist-p)
	(c-guess-basic-syntax): Do away with the hardcoded regexps to
	recognize "typedef" declaration prefixes, "extern" and
	"namespace" blocks, "enum"-style brace list declarations and
	Java-style array initializers with "new".

	* progmodes/cc-langs.el (c-brace-list-decl-kwds)
	(c-brace-list-key, c-inexpr-brace-list-kwds)
	(c-opt-inexpr-brace-list-key): New language constants and
	variables to parameterize some more of the hardcoded regexps
	in cc-engine.

	* progmodes/cc-align.el (c-lineup-cascaded-calls): Do not
	allow cascaded call lists containing both "->" and ".".

	* progmodes/cc-align.el, progmodes/cc-cmds.el,
	progmodes/cc-defs.el, progmodes/cc-engine.el,
	progmodes/cc-fonts.el, progmodes/cc-langs.el,
	progmodes/cc-mode.el, progmodes/cc-styles.el: New language
	variable system to make it easier to set up optimized language
	variables and to extend them in third party derived modes.
	cc-langs is no longer required at runtime.

	* progmodes/cc-mode.el (c-basic-common-init): No longer
	initializes the language variables.  It's necessary that the
	caller does that directly since the evaluated values for them
	now get compiled in directly.
	(c-font-lock-init, c-common-init): Separate the font-lock
	initialization from `c-common-init'.

	* progmodes/cc-mode.el (c-define-abbrev-table): Do not
	override an existing abbrev table.
	(c-Java-defun-prompt-regexp): Move here from cc-langs since
	cc-langs isn't always loaded at runtime.

	* progmodes/cc-langs.el (c-make-init-lang-vars-fun)
	(c-init-language-vars): Change to allow language variable
	initialization from derived modes.
	(c-mode-menu): New language variable for the mode menu.
	(c-make-mode-syntax-table, c-mode-syntax-table)
	(make-c++-template-syntax-table): New language variables for syntax
	tables.  The code that initializes them has been moved to cc-mode
	to make it possible to avoid loading cc-langs at runtime.

	* progmodes/cc-engine.el, progmodes/cc-langs.el
	(c-hungry-delete-key, c-auto-newline, c-auto-hungry-string):
	Move these state variables from cc-langs to cc-engine to make
	it possible to avoid loading cc-langs at runtime.

	* progmodes/cc-defs.el (c-lang-defconst, c-lang-const):
	Move from cc-langs and rewritten to make the language constant
	system usable from derived modes.

	(c-add-language): New function intended for use from derived modes
	that add new C-like languages.

	* progmodes/cc-defs.el, progmodes/cc-vars.el
	(c-buffer-is-cc-mode): Move from cc-vars to cc-defs to define
	it during compilation.

	* progmodes/cc-bytecomp.el (cc-require-when-compile):
	New support macro for compile time `require's.

	* progmodes/cc-defs.el, progmodes/cc-mode.el (c-version):
	Move from cc-mode to cc-defs to make it accessible to the
	other components.

	* progmodes/cc-engine.el (c-forward-token-1, c-backward-token-1):
	Compatibility fix for emacsen that doesn't understand generic
	string delimiters.

	* progmodes/cc-vars.el (c-emacs-features): Add detection of
	generic string and comment delimiters.

	* progmodes/cc-defs.el, progmodes/cc-langs.el
	(c-make-keywords-re): Change interface to make it more extensible.

	* progmodes/cc-langs.el, progmodes/cc-defs.el (c-regexp-opt)
	(c-regexp-opt-depth, c-make-keywords-re): Move from cc-langs
	to cc-defs since they are generally useful.

	* progmodes/cc-bytecomp.el, progmodes/cc-defs.el
	(cc-eval-when-compile): Move from cc-bytecomp to cc-defs to
	allow use at runtime.

	* progmodes/cc-bytecomp.el (cc-eval-when-compile):
	Workaround for a bug with nested `eval-when-compile' in XEmacs 21.

	* progmodes/cc-mode.el: Added autoloaded forms to install the
	appropriate file suffixes on `auto-mode-alist'.  Necessary in
	XEmacs 21.5, and it can be useful elsewhere too.

	* progmodes/cc-align.el (c-lineup-cascaded-calls): Handle "."
	too, for use in Java.

	* progmodes/cc-engine.el (c-forward-sws, c-backward-sws):
	Do not handle cpp directives in languages that doesn't have any.

	* progmodes/cc-langs.el (c-operators): Add a high level description
	of all operators, along with their precedence and associativity.

	* progmodes/cc-align.el (c-lineup-multi-inher): Fix bug
	where the position of the point and not the beginning of the
	line was used to calculate the indentation.

	* progmodes/cc-defs.el, progmodes/cc-engine.el
	(c-backward-single-comment, c-backward-comments): Add kludge
	for the bug in `forward-comment' in most (X)Emacs versions
	where it moves back over the "*/" of a block comment if
	there's no matching "/*".  This has become more important now
	since it can cause incorrect caching by `c-backward-sws'.

	* progmodes/cc-cmds.el (c-hungry-backspace)
	(c-hungry-delete-forward): New functions to do hungry deletion
	regardless of hungry-delete mode.  Contributed by Kevin Ryde.

	* progmodes/cc-engine.el (c-forward-sws, c-backward-sws)
	(c-invalidate-sws-region): Use text properties to cache regions
	with complex syntactic whitespace.  This helps a lot in
	improving responsiveness when there are lots of comments and
	cpp directives before point.

	* progmodes/cc-guess.el, progmodes/cc-langs.el,
	progmodes/cc-menus.el, progmodes/cc-mode.el,
	progmodes/cc-styles.el, progmodes/cc-vars.el,
	progmodes/cc-engine.el, progmodes/cc-fonts.el,
	progmodes/cc-cmds.el, progmodes/cc-defs.el: Introduce a
	classification of functions into those that make "hidden
	buffer changes" and those who don't.  This is prompted by the
	increasing use of text properties for various things, to
	correctly cover the silly buffer modifications that is caused
	by text property changes.
	(c-save-buffer-state): New macro that's put around any code that
	can manipulate text properties.

	* progmodes/cc-mode.el (c-basic-common-init):
	Setup `text-property-default-nonsticky' to avoid messing with the
	rear-nonsticky property on each character in Emacs 21.

	* progmodes/cc-defs.el (c-clear-char-syntax, c-put-char-syntax):
	Macros that sets and removes the
	syntax-table property on a single character and makes the
	property nonsticky in both directions in a suitable way for
	each (X)Emacs flavor.

	* progmodes/cc-vars.el, progmodes/cc-defs.el,
Juanma Barranquero's avatar
Juanma Barranquero committed
669
	* progmodes/cc-engine.el, progmodes/cc-mode.el:
670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741
	Use `lookup-syntax-properties' in XEmacs to control whether the
	syntax-table property has any effect or not.
	(c-parse-sexp-lookup-properties): New macro that expands to either
	`parse-sexp-lookup-properties' or `lookup-syntax-properties'.

	* progmodes/cc-defs.el, progmodes/cc-engine.el,
	progmodes/cc-fonts.el: Put the faces into the buffer in the
	same way as the font-lock package does.  This fixes a
	compatibility problem with XEmacs which sets an extra
	font-lock property.

	* progmodes/cc-fonts.el (c-put-font-lock-face): A macro that
	finds out the right way to put font lock faces at compile
	time.  We're definitely not byte code portable between Emacs
	and XEmacs now.

	* progmodes/cc-engine.el (c-forward-sws, c-backward-sws):
	Implement a cache for the last large skipped over syntactic
	whitespace.  This also has most effect after many macros.

	* progmodes/cc-engine.el, progmodes/cc-defs.el
	(c-forward-syntactic-ws, c-backward-syntactic-ws): Utilize the
	limit better when one is passed.  These are now macros to
	avoid a little overhead when no limit is given.
	(c-forward-sws, c-backward-sws): New functions called by the
	macros above to do the unbounded search.

	* progmodes/cc-fonts.el (c-font-lock-declarations):
	Implement a cache for the first backward search for a
	preceding `c-decl-prefix-re' match.  This typically speeds up
	interactive refontification a lot on the top level of macro
	heavy header files.

	* progmodes/cc-vars.el (c-emacs-features): Add check for
	syntax text properties.

	* progmodes/cc-mode.el (c-basic-common-init): Turn on
	`parse-sexp-lookup-properties' if it's supported.  Define the
	variable in any case since it's used at runtime to check on this.

	* progmodes/cc-langs.el (c-identifier-key): Support C++
	destructor names.
	(c-identifier-start, c-op-token-regexp, c-type-modifier-kwds)
	(c-opt-type-modifier-key, c-opt-type-component-key)
	(c-typedef-specifier-kwds, c-typedef-specifier-key)
	(c-paren-stmt-kwds, c-paren-stmt-key, c-syntactic-ws-start):
	A bunch of new language constants and variables to support the
	improved handling of names and types.

	* progmodes/cc-fonts.el (c-font-lock-declarators)
	(c-font-lock-declarations): Handle C++ template declarations
	and template references.  Fontify complex types and names more
	accurately by delegating it to `c-forward-type' and
	`c-forward-name'.  Fontify the identifiers in typedef
	declarations as types.

	* progmodes/cc-engine.el (c-forward-<>-arglist): New function
	to move forward over a C++ template arglist.  It also marks
	the '<' and '>' chars with paren syntax using the syntax-table
	property, to speed up later calls in emacsen that support
	syntax text properties (Emacs >= 20 and (undocumented) XEmacs 21).
	This also has the very interesting effect that if font locking
	is used with decoration level 3 or higher in these emacsen
	then template arglists will behave just like paren sexps with
	the various sexp movement commands.
	(c-forward-name): New function to move over a name.  Simple in
	most languages except C++ where a name can contain template
	arglists and therefore almost arbitrary expressions.
	(c-on-identifier): Fix for Pike operator identifiers.
	(c-simple-skip-symbol-backward, c-syntactic-content)
	(c-remove-<>-paren-properties): New helper functions.

Juanma Barranquero's avatar
Juanma Barranquero committed
742
	* progmodes/cc-defs.el (c-clear-char-syntax)
743 744 745 746 747 748 749
	(c-mark-paren-open, c-mark-paren-close): New support functions
	to handle syntactic properties on C++ template arglist brackets.
	(c-put-type-face, c-put-reference-face): Helpers to put faces on
	regions, since there are a bit of that inside `c-forward-name' etc
	in progmodes/cc-engine.el.

	* progmodes/cc-engine.el, progmodes/cc-fonts.el,
Juanma Barranquero's avatar
Juanma Barranquero committed
750
	* progmodes/cc-langs.el: Fix the names on a number of regexp
751 752 753 754
	language variables to conform to the nomenclature and
	shortened some names.

	* progmodes/cc-align.el, progmodes/cc-cmds.el,
Juanma Barranquero's avatar
Juanma Barranquero committed
755
	* progmodes/cc-fonts.el, progmodes/cc-engine.el
756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869
	(c-syntactic-re-search-forward): Remove the COUNT argument
	since it's never used.  Add an argument to tell which
	subexpression whose end should be tested for syntactic
	relevance.  Using this also removes some optimizations, so
	that it's possible to use a look behind subexpression that
	matches the end of a literal or a close paren when PAREN-LEVEL
	is used.

	(c-guess-continued-construct): Don't match <<= or >>= for the
	stream-op syntactic element.

	* progmodes/cc-defs.el (c-paren-re, c-identifier-re):
	Remove these helper macros since better and more correct tools are
	now available in progmodes/cc-langs.el.

	* progmodes/cc-align.el (c-lineup-string-cont): New lineup
	function to line up string literals that will be concatenated.

	* progmodes/cc-langs.el (c-populate-syntax-table):
	XEmacs classifies the hard space character as a symbol character
	but it's better to let it be in the punctuation class so that it's
	always highlighted with the inverted invalid face.  It can
	perhaps be argued that that character is allowed in
	identifiers in some languages (haven't checked), but using it
	would still be extremely confusing.

	* progmodes/cc-engine.el (c-beginning-of-statement-1): Fix a
	case when a labeled substatement caused incorrect association
	of the following continuation clause.

	* progmodes/cc-engine.el (c-syntactic-re-search-forward):
	Handle the case when the syntactic match position is in the
	middle of a comment starter.

	(c-guess-continued-construct): Analyze the "K&R region" of a
	function nested inside a function as func-decl-cont and not
	statement-cont.  New case E.  Also clean up case C (stream-op
	recognition) a bit.

	* progmodes/cc-engine.el (c-parse-state, c-check-state-cache):
	Move the check on `c-state-cache-start' from
	`c-check-state-cache' to `c-parse-state' so that the state
	cache isn't zapped if `c-check-state-cache' but not
	`c-parse-state' is called during a temporary narrowing.
	This fixes a performance problem that could occur when
	`fill-paragraph' is used in font lock mode on a comment at the
	end of a large class or function.
	(c-state-cache-start): Fix buffer localness.

	* progmodes/cc-langs.el: Updates from the C99 standard (or
	actually from the latest web accessible draft of it).

	* progmodes/cc-langs.el: Update the keywords and operator
	tokens from the latest C++ and Java standards.  Some other
	multichar token corrections.

	* progmodes/cc-cmds.el, progmodes/cc-engine.el,
	progmodes/cc-vars.el (c-syntactic-context)
	(c-syntactic-element): Do not bind any values to these
	variables globally since they should always be dynamically
	bound.  This makes it much easier to debug cases when they've
	gotten global values somehow.

	* progmodes/cc-langs.el (c-regexp-opt): Fix to work around the
	non-greedy behavior that the regexp engine sometimes exposes.
	This bug only shows in (X)Emacs 19 where there's no regexp-opt package.

	* progmodes/cc-engine.el (c-syntactic-re-search-forward):
	Add a feature to filter out matches in the middle of tokens.
	Changed the comment to a docstring since I consider this
	function generally useful.

	* progmodes/cc-defs.el (c-mode-symbol): Break out a part of
	`c-mode-var'.

	* progmodes/cc-align.el (c-lineup-cascaded-calls)
	(c-lineup-gcc-asm-reg): Cope with that `c-most-enclosing-brace'
	might return nil.

	* progmodes/cc-engine.el (c-found-types, c-clear-found-types)
	(c-add-type, c-check-type, c-add-complex-type)
	(c-list-found-types, c-forward-type): Add a sort of symbol
	table for types: If a name is recognized as a type in a
	declaration it's added in an obarray to be able to recognize
	it in other ambiguous declarations.
	(c-remove-ws): New helper function to canonicalize fully
	qualified identifiers for `c-found-types'.

	* progmodes/cc-defs.el (c-mode-var): New defsubst to access
	mode prefixed variables uniformly.

	* progmodes/cc-align.el (c-lineup-arglist-close-under-paren):
	Work correctly with nested arglist-cont-nonempty symbols.
	(c-lineup-arglist-operators): New lineup function to line up infix
	operators under the open paren of the surrounding sexp.

	* progmodes/cc-engine.el (c-forward-syntactic-ws): Fix a bug
	that could cause an infinite loop if something that looks like
	a macro begins in the middle of a line.
	(c-parse-state): Fix a bug that could cause `c-state-cache'
	to contain two conses in sequence when there's an unbalanced
	open paren in a macro.

	* progmodes/cc-defs.el (c-face-name-p): A defsubst to
	recognize the name of a face in a way that works also in XEmacs.

	* progmodes/cc-engine.el (c-forward-type): New function to
	move past a type spec.

	* progmodes/cc-engine.el (c-syntactic-re-search-forward):
	Fix behavior when the limit is reached inside a comment,
	string, or a macro.

	* progmodes/cc-align.el, progmodes/cc-cmds.el,
Juanma Barranquero's avatar
Juanma Barranquero committed
870 871 872 873 874
	* progmodes/cc-engine.el (c-forward-single-comment)
	(c-forward-comments, c-backward-single-comment, c-backward-comments):
	New replacements for `c-forward-comment' that wraps `forward-comment'
	more efficiently in each of the four different cases it's actually
	used.  These replacements also treats line continuations as whitespace.
875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929
	(c-forward-comment): Remove.  The four different cases above
	are basically different, so it's better to make them into
	separate functions than choose between them at runtime using
	the argument.

	* progmodes/cc-align.el (c-gnu-impose-minimum): Fix bug due
	to the new placement of cpp-macro and comment-intro in the
	syntactic context, as pointed out by Kevin Ryde.  Change the
	method that decides whether point is inside a top-level
	construct to one that doesn't depend on the set of syntactic
	elements so much.

	* progmodes/cc-defs.el (c-point): Use the functions
	`line-beginning-position' and `line-end-position' in emacsen
	that have them (currently Emacs 20 and later).

	* progmodes/cc-cmds.el (c-mask-comment): Fix a bug that
	sometimes caused code after a closed block comment to be taken
	into account when the fill prefix is calculated.

	* progmodes/cc-align.el (c-lineup-arglist, c-lineup-argcont)
	(c-lineup-math, c-lineup-cascaded-calls, c-lineup-gcc-asm-reg):
	Fixes to cope correctly with nested arglists for the lineups
	that can be used with arglist-cont-nonempty.

	* progmodes/cc-engine.el (c-add-stmt-syntax, c-guess-basic-syntax):
	Change the anchor position of
	arglist-cont-nonempty and arglist-close so that a relative
	indentation like + can be used with consistent results.
	Prior to this, the indentation engine more or less assumed that
	arglist-cont-nonempty always used `c-lineup-arglist'.
	Those two syntax symbols also get the opening paren as an extra
	position, to make it possible for `c-lineup-arglist' to
	continue to do a proper job.

	* progmodes/cc-engine.el (c-get-syntactic-indentation):
	A vector with an absolute indentation column now only overrides
	the indentation for surrounding structures, i.e. those whose
	syntactic elements are earlier in the `c-syntactic-context'
	list, but not nested ones.  This so that
	e.g. `c-lineup-arglist' can reliably line up with the first
	argument but still allow relative indentation changes for
	nested things, e.g. the arglist-close of a nested argument
	list.  This change means that the order in
	`c-syntactic-context' has become more essential.
	(c-guess-basic-syntax): Changes to make the nesting order of the
	returned syntax list correct.

	Compatibility note: This change means that `c-lineup-dont-change'
	now (again) isn't absolutely sure to keep the current indentation.
	However, I believe that most people use it for comments, macros
	and string literals, and since those are nested innermost it won't
	matter.

	* progmodes/cc-align.el, progmodes/cc-defs.el,
Juanma Barranquero's avatar
Juanma Barranquero committed
930
	* progmodes/cc-engine.el, progmodes/cc-vars.el
931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046
	(c-guess-basic-syntax, c-calc-offset)
	(c-get-syntactic-indentation, c-syntactic-context):
	Extend the representation of the syntactic context: Previously it was
	a list containing cons cells of the found syntactic symbols
	and their relpos values.  Now each element is instead a list
	containing the syntactic symbol in the first element and the
	relpos (if any) in the second.  After that there might be more
	elements, depending on the syntactic symbol.  The line-up
	functions get these additional elements as extra arguments.

	This change is slightly incompatible.  Although the calling
	convention for line-up functions is strictly extended, the format
	of the `c-syntactic-context' variable has changed slightly.  It's
	believed that this incompatibility is minor, though; not a single
	line-up function distributed with CC Mode needed to be changed,
	for instance.

	* progmodes/cc-styles.el (c-set-style, c-set-style-1):
	Add another state for the `dont-override' flag where it only keeps
	globally set variables.

	* progmodes/cc-mode.el (c-postprocess-file-styles): Do nothing
	except in CC Mode modes.

	* progmodes/cc-vars.el, progmodes/cc-fonts.el,
	progmodes/cc-langs.el, progmodes/cc-mode.el: Add font lock support.

	* progmodes/cc-engine.el (c-beginning-of-syntax): New function
	to be used for font-lock-beginning-of-syntax-function.
	It uses the state cache to quickly find a good position.

	* progmodes/cc-defs.el (c-major-mode-is): Allow a list of
	modes.  Made it a macro ensure that it's optimized to either
	eq or memq for constant arguments.

	* progmodes/cc-mode.el (c-common-init): Do away with the
	hardcoded setting of `comment-column'; it's a user variable
	that we have no business meddling with.  Since the default
	value for it is 32 in all supported (X)Emacs versions, it's
	also safe from a compatibility perspective.

	* progmodes/cc-mode.el (c-basic-common-init): New function
	that contains only the syntax and line breaking/filling
	initialization.  It's intended for use by other modes that
	embed CC Mode.

	* progmodes/cc-engine.el (c-add-stmt-syntax): Fix some cases
	of wrong anchoring, e.g. for else-if compounds.

	* progmodes/cc-engine.el (c-guess-basic-syntax): Fix anchor
	position for defun-open in K&R style functions.

	* progmodes/cc-engine.el (c-in-knr-argdecl): Don't trip up on macros.
	(c-search-decl-header-end): Handle C++ template arguments more
	correctly.
	(c-beginning-of-decl-1): Fix when the declaration is first in a macro.

	* progmodes/cc-engine.el (c-beginning-of-decl-1): Better way
	to handle protection labels, one which doesn't get confused by
	inherit colons.
	(c-end-of-decl-1): Don't treat functions that have "class" or
	"struct" in the return type as classes or structs.

	* progmodes/cc-langs.el (c-make-keywords-re): Fix the
	keyword adornment so that it works when a keyword ends with "_".

	* progmodes/cc-cmds.el (c-mask-comment): More fixes when used
	from `c-do-auto-fill' and point is at or near the limit of the
	comment.  Fix bug when the prefix from `c-guess-fill-prefix'
	is longer than the text on the first line of the comment when
	it's masked.

	* progmodes/cc-cmds.el (c-mask-comment): Fix bug where point
	was moved to the following line when it was at the first line
	of a block comment where comment-start-skip matched to eol.

2003-07-01  Luc Teirlinck  <teirllm@mail.auburn.edu>

	* info.el (Info-fontify-menu-headers): Only fontify `* Menu:' at
	the beginning of a line.
	(Info-extract-menu-node-name): Correctly initialize while loop.
	(Info-scroll-prefer-subnodes): Change default to nil.

	* simple.el (vis-mode): Update documentation string to reflect
	earlier changes.

2003-06-30  Richard M. Stallman  <rms@gnu.org>

	* loadup.el (pure-space-overflow): Set it if overflow.

	* startup.el (pure-space-overflow): New variable.
	(fancy-splash-screens-1): Display warning if overflow.
	(normal-splash-screen): Likewise.

	* vc.el (vc-default-show-log-entry): Use with-no-warnings.

	* subr.el (lazy-completion-table, dynamic-completion-table):
	New macros.

2003-06-28  Richard M. Stallman  <rms@gnu.org>

	* menu-bar.el (menu-bar-options-menu): Move mouse-set-fonts item here.

	* international/mule-cmds.el (mule-menu-keymap):
	Delete mouse-set-fonts item here.

2003-06-29  Nick Roberts  <nick@nick.uklinux.net>

	* gdb-ui.el (gdb-display-number-end): Don't re-initialise local
	variables to preserve array slices.
	(gdb-array-slice): Rename gdb-mouse-array-slice.
	(gdb-array-slice): Interactive function bound to "\r" for text
	terminals.
	(gdb-view-source): Rename gdb-view-source-function.
	Set uninitialised variables (defvars) to nil.

Juanma Barranquero's avatar
Juanma Barranquero committed
1047
2003-06-29  Kai Großjohann  <kai.grossjohann@gmx.net>
1048 1049 1050 1051 1052

	* international/mule-cmds.el
	(set-display-table-and-terminal-coding-system): Remove CVS
	conflict markers and some code.

Juanma Barranquero's avatar
Juanma Barranquero committed
1053
2003-06-27  Kai Großjohann  <kai.grossjohann@gmx.net>
1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064

	* international/mule-cmds.el (menu-bar-options-menu):
	Move `mouse-set-fonts' here from Options/Mule submenu.

2003-06-26  Stephen Eglen  <stephen@gnu.org>

	* iswitchb.el (iswitchb-read-buffer): Remove redundant variable
	iswitchb-prepost-hooks.
	(iswitchb-xemacs): Delete variable and use (featurep 'xemacs)
	and fboundp instead.
	(iswitchb-completions): Remove two redundant arguments and local
Juanma Barranquero's avatar
Juanma Barranquero committed
1065
	variables.  (All above from Stefan Monnier).
1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172

2003-06-20  Masatake YAMATO  <jet@gyve.org>

	* progmodes/asm-mode.el (asm-font-lock-keywords):
	Support labels starting with "." and directives starting with ".".

2003-06-22  Andreas Schwab  <schwab@suse.de>

	* emacs-lisp/easy-mmode.el (easy-mmode-define-navigation):
	Avoid variable as format argument for error.
	Don't call symbol-name on string.

	* eshell/esh-opt.el (eshell-do-opt): Avoid variable as format
	argument for error.

	* simple.el (vis-mode): Doc fix.

2003-06-22  Glenn Morris  <gmorris@ast.cam.ac.uk>

	* calendar/diary-lib.el (diary-check-diary-file): New function.
	(diary, view-diary-entries, show-all-diary-entries)
	(mark-diary-entries): Use it.
	(view-other-diary-entries): Doc fix.  Use `prefix-numeric-value'.
	(diary-syntax-table, diary-attrtype-convert, diary-mail-days): Doc fix.
	(diary-modified, d-file): No need to defvar (for compiler).
	(list-diary-entries): No need for `let*' so use `let'.
	(simple-diary-display): Use `diary-file' directly rather than
	inheriting `d-file' from `list-diary-entries' caller.
	(make-fancy-diary-buffer, show-all-diary-entries):
	`mode-line-format' already buffer-local.
	(diary-mail-addr): Set to the empty string (rather than nil) if
	undefined, as per `user-mail-address'.
	(diary-mail-entries): Doc fix.  Error if `diary-mail-address' unset.
	(mark-sexp-diary-entries): Don't regexp-quote sexp-mark twice.
	Remove an un-needed `if'.
	(list-sexp-diary-entries): Remove local vars mark and s-entry, and
	use `let' rather than `let*'.
	(diary-date, insert-monthly-diary-entry)
	(insert-yearly-diary-entry, insert-anniversary-diary-entry)
	(insert-block-diary-entry, insert-cyclic-diary-entry)
	(font-lock-diary-date-forms): No need for `let*' so use `let'.
	(make-diary-entry): Doc fix.  Use `or' rather than `if'.
	(diary-font-lock-keywords): Use `when'.  `cal-islam' is required
	feature, not `cal-islamic'.
	`calendar-islamic-month-name-array-leap-year' does not exist - use
	`calendar-islamic-month-name-array'.

2003-06-21  Kenichi Handa  <handa@m17n.org>

	* international/utf-16.el: Many name changes: utf-16-{be,le} ->
	utf-16{be,le}.
	(mule-utf-16-le, utf-16-le, mule-utf-16-be, utf-16-be): New coding
	system aliases for backward compatibility.

	* international/utf-7.el: Adjusted for the name change:
	xxx-utf-16-{le,be} -> xxx-utf-16{le,be}.

	* international/ucs-tables.el (ucs-unify-8859, ucs-fragment-8859):
	Adjust for the name change: xxx-utf-16-{le,be} ->
	xxx-utf-16{le,be}.

	* international/mule-conf.el: Adjusted for the name change:
	xxx-utf-16-{le,be} -> xxx-utf-16{le,be}.

	* international/mule-cmds.el (reset-language-environment):
	Adjust for the name change: xxx-utf-16-{le,be} ->
	xxx-utf-16{le,be}.

2003-06-20  Luc Teirlinck  <teirllm@mail.auburn.edu>

	* vc.el (vc-rename-file): Fix typo.

2003-06-19  Andreas Schwab  <schwab@suse.de>

	* info.el (Info-fontify-node): Improve calculation of other-tag.

2003-06-19  Stefan Monnier  <monnier@cs.yale.edu>

	* progmodes/cc-mode.el (c-mode): Reverting last change.

2003-06-18  Stefan Monnier  <monnier@cs.yale.edu>

	* progmodes/gud.el (gud-find-expr-function): Rename from gud-find-expr.
	(gud-find-fortran-expr): Move to fortran.el.

	* progmodes/fortran.el (fortran-gud-find-expr): Move from gud.el
	where it was called gud-find-fortran-expr.
	(fortran-mode): Set gud-find-expr-function.

2003-06-18  Nick Roberts  <nick@nick.uklinux.net>

	* gdb-ui.el (gud-display1): Keep the gdb command, "display", in
	the command history.
	(gdb-restore-windows): Make restore work when gdb-many-windows
	is nil.
	(gdb-source-info, gdba): Display assembler if there is no symbol
	table for main, or message if there is no main.
	(gdb-assembler-custom): Move point to current line of assembler.

	* progmodes/gud.el (gud-menu-map): Add dbx support for "run" and
	"nexti".
	(dbx): Define gud-nexti and gud-run.
	(gud-find-expr, gud-find-fortran-expr): New functions.
	(gud-find-expr): New variable.
	(gud-find-c-expr): Simplify.

	* progmodes/fortran.el (fortran-gud-syntax-table): Syntax table
Juanma Barranquero's avatar
Juanma Barranquero committed
1173
	for parsing Fortran expressions for gud-print.  (Stefan Monnier)
1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203
	(fortran-mode): Add local variable gud-find-expr.

	* progmodes/cc-mode.el (c-mode): Add local variable gud-find-expr.

2003-06-18  Stefan Monnier  <monnier@cs.yale.edu>

	* subr.el (looking-back): Handle the case of non-trivial regexps.
	Add an optional `limit' argument.
	(push, pop, with-temp-file, with-temp-message, delay-mode-hooks)
	(with-syntax-table): Add edebug info.

2003-06-17  Stefan Monnier  <monnier@cs.yale.edu>

	* simple.el (kill-new): Leave yank-handler property alone if no
	explicit yank-handler is specified.
	(vis-mode-saved-buffer-invisibility-spec): Rename from
	saved-buffer-invisibility-spec.
	(vis-mode): Correctly handle the case where the mode is turned on
	or off several times in a row.

2003-06-17  Luc Teirlinck  <teirllm@mail.auburn.edu>

	* info.el (Info-fontify-node): Give only the last whitespace
	character after the node name the display property.  Give all
	other such whitespace the invisibility property.

2003-06-17  Pinku Surana  <surana@rcn.com>

	* progmodes/sql.el: Add support for SQLite interpreter.

Juanma Barranquero's avatar
Juanma Barranquero committed
1204
2003-06-17  Kai Großjohann  <kai.grossjohann@gmx.net>
1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220

	Version 2.0.35 of Tramp released.

	* net/tramp.el (tramp-password-end-of-line): Use "xy" with plink.
	(tramp-completion-function-alist): Add completion function for
	"remcp", "remsh" and "plink1".
	Factor out the `regular' file name handling via a remote shell of
	some sort into a specific function.  Intent is to later put that
	part of Tramp into a special file, so that the Tramp `core' is
	just a dispatcher that dispatches to various handlers.
	(tramp-sh-file-name-handler): New function.
	(tramp-foreign-file-name-handler-alist): New default value.
	Call tramp-sh-file-name-handler as default case.
	(tramp-file-name-handler): Do not invoke the old remote-shell handler.
	(tramp-find-foreign-file-name-handler): Return after first match
	is found.  From Francis Litterio <franl@world.std.com>.
Juanma Barranquero's avatar
Juanma Barranquero committed
1221
	(tramp-handle-file-newer-than-file-p): `tramp-time-diff' returns
1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275
	integer, not list.  Do not apply `car' to the return value of
	`tramp-time-diff'.  Reported by David D. Smith
	<ultrasoul@ultrasoul.com>.
	(tramp-time-diff): Convert return value of subtract-time to a
	number of seconds in a correct manner, by applying float-time or
	time-to-seconds.  Also correct compat code accordingly.
	The XEmacs branch for itimer-time-difference didn't need correction,
	it returned a float already.  Reported by David D. Smith
	<ultrasoul@ultrasoul.com>.
	(tramp-handle-insert-file-contents): When calling
	`file-local-copy', let-bind `inhibit-file-name-operation'
	accordingly.  This makes sure that jka-compr is not called when
	`insert-file-contents-literally' is invoked.  From Katsumi Yamaoka
	<yamaoka@jpl.org>.
	(tramp-do-copy-or-rename-via-buffer): Avoid calling jka-compr when
	writing the target file.
	(tramp-foreign-file-name-handler-alist): Add comment about default
	value having to come last.
	(tramp-handle-file-local-copy, tramp-handle-write-region): Add the
	"-p" hack.
	(tramp-handle-copy-file): Set file modes of target file.
	(tramp-handle-file-local-copy)
	(tramp-do-copy-or-rename-via-buffer): Use binary coding system,
	instead of no-conversion.  They are the same on Emacs but
	different on XEmacs.
	(tramp-shell-prompt-pattern): Allow multiple escape
	sequences (each with optional trailing space).

	* net/tramp-uu.el:
	* net/tramp-util.el:
	* net/tramp-efs.el: Use iso-2022-7bit encoding with coding cookie
	for XEmacs compatibility.

2003-06-17  Kenichi Handa  <handa@m17n.org>

	* term/x-win.el (x-select-request-type): New variable.
	(x-select-utf8-or-ctext): New function.
	(x-selection-value): New function.
	(x-cut-buffer-or-selection-value): Call x-selection-value to get
	a selection data.  Set next-selection-coding-system to nil.

	* select.el (x-get-selection): If the string returned by
	x-get-selection-internal has text property `foreign-selection',
	decode it while preserving that property.

2003-06-16  Stefan Monnier  <monnier@cs.yale.edu>

	* menu-bar.el (ispell-menu-bar): Don't autoload.
	(cvs-global-menu): Use the function rather than the variable.

	* pcvs-defs.el (cvs-global-menu): Define as a function as well.

	* emacs-lisp/debug.el (debug): Fix call to message.

Juanma Barranquero's avatar
Juanma Barranquero committed
1276
2003-06-16  Michael Mauger  <mmaug@yahoo.com>  (tiny change)
1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342

	* emulation/cua-base.el (cua-mode): Use explicit arg to turn off
	minor modes.

2003-06-16  Stefan Monnier  <monnier@cs.yale.edu>

	* emacs-lisp/cl-extra.el (cl-macroexpand-all):
	Don't burp if (cadr (caddr found)) encounters a non-list element.

	* emacs-lisp/cl-macs.el (cl-parse-loop-clause): Use map-keymap.
	(defsubst*): Don't put a `cl-whole argument if it's not used.

	* emacs-lisp/cl-specs.el (pushnew): Use keywordp.

	* emacs-lisp/disass.el (disassemble): Accept plain expressions.

	* add-log.el (add-log-edit-prev-comment, add-log-edit-next-comment):
	New commands.
	(change-log-mode-map): Bind them.
	(smerge-resolve-function): Declare to quieten the byte-compiler.
	(change-log-mode): Add the keymap to the docstring.

2003-06-16  Luc Teirlinck  <teirllm@mail.auburn.edu>

	* simple.el (vis-mode): New function.
	(saved-buffer-invisibility-spec): New variable.

2003-06-16  Juanma Barranquero  <lektu@terra.es>

	* progmodes/sh-script.el (sh-while-getopts, sh-if, sh-case):
	Revert part of previous change.

2003-06-16  Pieter E.J. Pareit  <pieter.pareit@skynet.be>

	* progmodes/mixal-mode.el: New file.

2003-06-16  Markus Rost  <rost@math.ohio-state.edu>

	* files.el (recover-session-finish): Don't give up when there are
	two consecutive empty lines in the auto-save-list file.

2003-06-14  Stefan Monnier  <monnier@cs.yale.edu>

	* emacs-lisp/copyright.el (copyright-update-year): New function
	extracted from copyright-update.
	When `arg' is set, replace the year, not the `copyright' text.
	Ignore `copyright-update = nil' if called interactively.
	Use "," rather than ", " if that's what was used before.
	Recognize mixes of 2 and 4 digit years.
	Use replace-match.
	(copyright-update): Add interactivep arg.
	Use it instead of use last-command.
	Use replace-match.  Don't assume (point-min) == 1.

	* textmodes/tex-mode.el (tex-compile-commands):
	Handle tex-start-commands like tex-start-tex does.

	* cus-edit.el (custom-get-fresh-buffer): Kill overlays before erasing
	the buffer.

2003-06-13  Ilya N. Golubev  <gin@mo.msk.ru>  (tiny change)

	* shell.el (shell-command-separator-regexp): New variable.
	(shell-directory-tracker): Make regexp used for skipping to next
	command correspond to one used for command itself.

1343
2003-06-13  Katsumi Yamaoka  <yamaoka@jpl.org>
1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386

	* textmodes/texinfmt.el (texinfo-format-scan):
	Silence `whitespace-cleanup'.

2003-06-12  Glenn Morris  <gmorris@ast.cam.ac.uk>

	* calendar/timeclock.el (display-time-hook)
	(timeclock-modeline-display): Define for byte-compiler.
	(timeclock-time-to-date, timeclock-workday-remaining)
	(timeclock-time-to-seconds, timeclock-seconds-to-time):
	Move earlier in the file so defined before used.
	(timeclock-status-string): No need for `let*' so use `let'.
	(timeclock-query-out): Always return a non-nil value.

2003-06-10  Rajesh Vaidheeswarran  <rv@gnu.org>

	* whitespace.el (whitespace-version): Bump to 3.3
	(whitespace-cleanup): Respect user preference for silence

	* whitespace.el: Remove :tag in commentary :link.  Remove empty
	lines in comment, since commentary seems to have a problem with that.

2003-06-09  Stefan Monnier  <monnier@cs.yale.edu>

	* textmodes/tex-mode.el (tex-search-noncomment): New macro.
	(tex-last-unended-begin, tex-next-unmatched-end): Use it
	so we don't get confused by \begin and \end in comments.
	(tex-compile): Change dir before calling tex-compile-default.

2003-06-09  Luc Teirlinck  <teirllm@mail.auburn.edu>

	* bindings.el (global-map): Bind `kill-whole-line' to
	C-S-<backspace>.  Remove M-S-<backspace> binding: too close to
	C-M-<backspace>.

	* dired.el (dired-re-dot): Make it handle trailing /.
	(dired-get-filename): Update documentation string.
	Revert previous change and fix typo in earlier version.

2003-06-10  Kim F. Storm  <storm@cua.dk>

	* info.el (Info-fontify-node): Make `invisible' property
	non-sticky so that whitespace added by filling stays visible.
Juanma Barranquero's avatar
Juanma Barranquero committed
1387
	Make refilling less aggressive by starting at beginning of current
1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450
	line rather than beginning of current paragraph.

2003-06-09  Andreas Schwab  <schwab@suse.de>

	* dired.el (dired-get-filename): Complain only about "." and "..",
	not all directories.

2003-06-08  Nick Roberts  <nick@nick.uklinux.net>

	* gdb-ui.el (gdb-get-current-frame, gdb-frame-handler): Use Gdb
	command `info frame' instead of `frame' to preserve point.
	(gdb-invalidate-assembler): Only run disassemble again if frame
	has changed.
	(gdb-append-to-inferior-io): Revert change from 2003-05-17.

2003-06-07  Stefan Monnier  <monnier@cs.yale.edu>

	* textmodes/texinfo.el (texinfo-enable-quote-macros): Fix thinko.
	(texinfo-insert-@table): Remove unused arg.
	(texinfo-show-structure): Remove unused var `source-buffer'.

	* info.el (Info-goto-node, Info-follow-reference, Info-menu-update)
	(Info-fontify-node): Don't search past header-end.
	Use match-string and line-end-position.

	* skeleton.el (skeleton-proxy-new): Consume the mark-active state.

	* textmodes/tex-mode.el (tex-mode-syntax-table)
	(tex-latex-indent-syntax-table): Don't use easy-mmode-defsyntax.

2003-06-07  Jason Rumney  <jasonr@gnu.org>

	* mwheel.el (mouse-wheel-up-event, mouse-wheel-down-event):
	Use wheel-* events on darwin.

2003-06-06  Era Eriksson  <era@iki.fi>  (tiny change)

	* shell.el (shell-resync-dirs): Tolerate an extra line of output
	before the list of directories from `shell-dirstack-query' (it
	looks for, and ignores, a literal copy of the value of
	shell-dirstack-query).

2003-06-06  Lute Kamstra  <lute@gnu.org>

	* info.el (Info-complete-menu-item): Revert change of 2003-06-03.

2003-06-06  Klaus Zeitler  <kzeitler@lucent.com>

	* progmodes/sh-script.el: Fix bug in "Options Loop" skeleton for
	ksh.  Add newlines to a few skeletons, add "select" keyword for bash.

2003-06-06  Andreas Schwab  <schwab@suse.de>

	* info.el (Info-select-node): Doc fix.

2003-06-06  Miles Bader  <miles@gnu.org>

	* frame.el (set-frame-font): Default to frame's current default font.

2003-06-06  Kim F. Storm  <storm@cua.dk>

	* info.el (Info-fontify-node): Don't refill over lines ending in a
	period; this should fix problems with lists like one in the
Juanma Barranquero's avatar
Juanma Barranquero committed
1451
	"(emacs)Library Keywords" section.
1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642

2003-06-05  Markus Rost  <rost@math.ohio-state.edu>

	* dired.el (dired-get-filename): Don't err for . and .. for calls
	from dired-add-entry.

2003-06-05  Takaaki Ota  <Takaaki.Ota@am.sony.com>

	* textmodes/table.el (table-cell-horizontal-chars): Rename from
	table-cell-horizontal-char.  Now a string value instead of a
	character.  ?= is allowed for horizontal boundary as well as ?-.
	(table-command-remap-alist, table-command-list): Change defconst to
	defvar because the value is modified.
	(table-insert, table-insert-row, table-insert-column)
	(table-recognize, table-recognize-region, table-widen-cell)
	(table-span-cell, table-split-cell-vertically): Change due to
	table-cell-horizontal-chars.
	(table--cell-horizontal-char-p): New function.
	(table--generate-source-scan-lines, table-delete-row)
	(table-delete-column, table--spacify-frame)
	(table--find-row-column, table--probe-cell-left-up)
	(table--probe-cell-right-bottom, table--probe-cell): Change due to
	table-cell-horizontal-chars.  From David Abrahams
	<dave@boost-consulting.com>

2003-06-05  Juanma Barranquero  <lektu@terra.es>

	* gud.el: Moved to progmodes.

2003-06-05  Benjamin Riefenstahl  <Benjamin.Riefenstahl@epost.de>  (tiny change)

	* progmodes/tcl.el (tcl-mode): Set imenu-generic-expression to the
	value of tcl-imenu-generic-expression instead of the symbol.

2003-06-05  Luc Teirlinck  <teirllm@mail.auburn.edu>

	* info.el (Info-mode): Mention `c' and remove duplicate mention
	of `q' in documentation string.

2003-06-05  Lute Kamstra  <lute@gnu.org>

	* shell.el (shell-mode): Put `shell-filter-ctrl-a-ctrl-b' on
	`comint-output-filter-functions' when bash is used as the inferior
	shell.
	(shell-filter-ctrl-a-ctrl-b): New function.

2003-06-05  Dave Love  <fx@gnu.org>

	* vc-hooks.el (vc-make-backup-files): Add :group backup.

2003-06-05  Kim F. Storm  <storm@cua.dk>

	* info.el (Info-fontify-node): Individually refill menus and
	paragraphs to preserve menu items and varying indentation.
	Only color first 9 menu items differently.

2003-06-05  Juanma Barranquero  <lektu@terra.es>

	* desktop.el: Add new maintainer.

2003-06-04  Stefan Monnier  <monnier@cs.yale.edu>

	* textmodes/sgml-mode.el (sgml-parse-tag-backward): Try and detect
	when we're starting from within a tag.
	(sgml-get-context): When called from inside a tag, do something useful.
	Rename the arg now that it's never used for `full' context anymore.
	(sgml-calculate-indent): Make `lcon' an argument.
	Return nil when we DON'T know what to do.
	If the initial lcon turns out to be wrong, try again.
	(sgml-indent-line): If sgml-calculate-indent returns nil, don't indent.

2003-06-04  Jason Rumney  <jasonr@gnu.org>

	* mwheel.el (mouse-wheel-down-event, mouse-wheel-up-event):
	Default to new wheel-up and wheel-down events on MacOS.

	* term/mac-win.el: No need to bind wheel events specially.

2003-06-04  Luc Teirlinck  <teirllm@mail.auburn.edu>

	* simple.el (yank-excluded-properties): Expand documentation string.

2003-06-04  Richard M. Stallman  <rms@gnu.org>

	* emacs-lisp/lisp-mnt.el (lm-keywords-finder-p):
	Use with-no-warnings.

	* gud.el (gud-minor-mode-type): Move defvar up.

	* progmodes/compile.el (compilation-next-error): When moving fwd,
	compare position of point with the errors.

	* dired.el (dired-get-filename): Err for . and .. in usual case.
	(dired-get-file-for-visit): Specify no-error to dired-get-filename,
	and check for real errors here.
	(dired-unmark-all-files): Specify no-error to dired-get-filename.

	* buff-menu.el (list-buffers-noselect): Use window-inside-edges
	to compute the number of offset spaces.
	(list-buffers-noselect): Use Buffer-menu-buffer+size to
	indent the dashes properly.  Put some in fixed-pitch.

2003-06-04  Lars Hansen  <larsh@math.ku.dk>

	* desktop.el (desktop-create-buffer): Undo last change.
	(desktop-kill, desktop-save, desktop-remove): Use expand-directory
	rather than concat to construct desktop filename.
	(desktop-kill, desktop-read, desktop-change-dir):
	Ensure desktop-dirname is a directory name.
	(desktop-change-dir): Fix bug when DIR was relative.

2003-06-04  Alex Coventry  <alex_c@mit.edu>  (tiny change)

	* files.el (after-find-file): Fix arguments of call to `sit-for'.

2003-06-03  Stefan Monnier  <monnier@cs.yale.edu>

	* info.el (Info-extract-menu-node-name): Remove unused arg errmessage.
	(Info-follow-reference): Update corresponding call.
	(Info-node-spec-re): New const.
	(Info-complete-menu-item): Use it to only allow : when necessary.
	(Info-fontify-node): Use it as well.  Fixup typo.

	* info.el (info-fontify-node): Use better help-echo text.
	Use :align-to display prop.
	Use `invisible' rather than `display' prop to hide text.

	* info.el (Info-mode-hook): Obey obsolete `Info-fontify'.
	(Info-find-in-tag-table-1): Remove unused vars.
	(Info-display-images-node): Remove unused var paragraph-markers.
	(Info-header-line): Remove.
	(Info-select-node): Don't set it.
	(Info-search): Remove unused var `current'.
	(Info-follow-reference): Remove unused var `beg'.
	(Info-extract-menu-node-name): Remove unused var `i'.
	(Info-complete-menu-item): Use `with-current-buffer'.
	(Info-index): Remove unused var `rnode'.
	(Info-mode): Set header-line-format to check text-properties directly.
	(Info-find-emacs-command-nodes): Remove unused var `found' and `exact'.
	(Info-fontify-node): Use `push'.
	(Info-speedbar-hierarchy-buttons): Use `dolist'.
	(Info-speedbar-goto-node, Info-speedbar-fetch-file-nodes):
	Check the return value of `string-match'.
	(Info-speedbar-fetch-file-nodes): Factor out common code.

2003-06-03  Lute Kamstra  <lute@gnu.org>

	* cus-edit.el (custom-get-fresh-buffer): Test for nonexistence buffer.

2003-06-03  Richard M. Stallman  <rms@gnu.org>

	* emacs-lisp/lisp-mode.el (eval-last-sexp-1):
	Add save-excursion.

	* windmove.el (windmove-reference-loc, windmove-frame-edges):
	Use window-inside-edges.
	(windmove-do-window-select): Fix error messages.

	* files.el (after-find-file): Simplify msg if nonexistent directory.
	(make-directory): Doc fix.

	* dabbrev.el (dabbrev--goto-start-of-abbrev):
	Use minibuffer-prompt-end.

	* comint.el (comint-move-point-for-output): Renamed from
	comint-scroll-to-bottom-on-output.  Old name is alias.
	All uses changed.  Doc fix.
	(comint-scroll-show-maximum-output): Doc fix.

	* comint.el (comint-exec-1): Don't use directory-sep-char.
	(comint-dynamic-complete-as-filename): Likewise.

	* bindings.el (global-map): Delete C-M-delete and C-M-backspace.

2003-06-03  Markus Rost  <rost@math.ohio-state.edu>

	* progmodes/ps-mode.el (ps-mode): Use autoload cookie in the
	standard way.

2003-06-02  Stefan Monnier  <monnier@cs.yale.edu>

	* textmodes/bibtex.el (bibtex-member-of-regexp)
	(bibtex-assoc-of-regexp, bibtex-format-entry, bibtex-find-entry)
	(bibtex-autokey-demangle-name, bibtex-string-files-init, bibtex-mode):
	Fix up regexp usage and use match-string.

2003-06-02  Roland Winkler  <roland.winkler@physik.uni-erlangen.de>

	* textmodes/bibtex.el: Long overdue merge.
	Don't require `compile' since it seems unnecessary.
	For all internal variables and functions the docstring comments have
Juanma Barranquero's avatar
Juanma Barranquero committed
1643
	been converted into proper docstrings.
1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696
	(bibtex-maintainer-address, bibtex-maintainer-salutation)
	(bibtex-version): Remove support for bug reporting.
	(bibtex-field-delimiters, bibtex-entry-delimiters)
	(bibtex-sort-ignore-string-entries, bibtex-maintain-sorted-entries)
	Replace make-variable-buffer-local by make-local-variable for
	(bibtex-entry-format): New tag `required-fields'.
	(bibtex-maintain-sorted-entries): New var.
	(bibtex-sort-entry-class, bibtex-sort-entry-class-alist): New vars.
	(bibtex-predefined-month-strings, bibtex-predefined-strings):
	Make into alists with pairs (abbreviation expansion).
	(bibtex-autokey-titleword-change-strings)
	(bibtex-autokey-transcriptions): Make into alists.
	Add new replacement pairs.
	(bibtex-autokey-use-crossref): New var.
	Replace bibtex-autokey-year-use-crossref-entry because updated code
	for autokey generation handles crossrefs independently of
	particular fields.
	(bibtex-reference-key, bibtex-mode-syntax-table):
	Remove = because it can't be part of a string's key.
	(bibtex-complete-key-cleanup): New var.
	(bibtex-complete): Merge bibtex-complete-string and bibtex-complete-key
	into it (and bind to M-tab).
	(bibtex-valid-entry-re, bibtex-any-valid-entry-re)
	(bibtex-valid-entry-whitespace-re, bibtex-empty-field-re)
	(bibtex-quoted-string-re): New vars.
	(bibtex-field-name-for-parsing): Don't make-variable-buffer-local.
	(zmacs-regions): Declare to quieten the byte-compiler.
	(bibtex-comment-start): Don't include the space.
	(bibtex-font-lock-syntactic-keywords): New var.
	(bibtex-font-lock-keywords): Remove the entry for @Comment.
	(bibtex-parse-field-string): Merge the functionality of
	bibtex-parse-field-string-braced, bibtex-parse-quoted-string and
	bibtex-parse-field-string-quoted.
	(bibtex-search-forward-field-string): Remove.
	(bibtex-parse-association): Use when.
	(bibtex-parse-field-name): Use when.
	(bibtex-parse-field-text): Use when and cond.
	(bibtex-parse-field): Use let.
	(bibtex-search-forward-field, bibtex-search-backward-field):
	Make bound optional, use let, setq, and cddr.
	(bibtex-start-of-field, bibtex-start-of-name-in-field)
	(bibtex-end-of-name-in-field): Use nth.
	(bibtex-name-in-field, bibtex-text-in-field-bounds)
	(bibtex-text-in-field, bibtex-type-in-head, bibtex-key-in-head)
	(bibtex-text-in-string): New functions.
	(bibtex-reference-key-in-string): New fun.  Merge of
	bibtex-start-of-reference-key-in-string and
	bibtex-end-of-reference-key-in-string.
	(bibtex-parse-string-prefix): Use let and when.
	(bibtex-parse-string-postfix): Use when.
	(bibtex-search-forward-string, bibtex-search-backward-string):
	Use save-excursion and setq.
	(bibtex-member-of-regexp): Use let.
Juanma Barranquero's avatar
Juanma Barranquero committed
1697
	(bibtex-assoc-of-regexp): Use caar and let.
1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002
	(bibtex-skip-to-valid-entry): Return buffer position.
	(bibtex-map-entries): Use save-excursion.
	(bibtex-progress-message): Simplify.
	(bibtex-search-entry): Use skip-chars-forward, when, save-match-data.
	(bibtex-move-outside-of-entry): Handle the case that point is before
	first entry.
	(bibtex-enclosing-field): Use save-excursion, when.
	(bibtex-format-field-delimiters): Merge into bibtex-format-entry.
	(bibtex-enclosing-entry-maybe-empty-head): Simplify.
	(bibtex-format-entry): Simplify.  Handle new tag required-fields of
	bibtex-entry-format.
	(bibtex-autokey-abbrev): Accept negative values of len.
	(bibtex-autokey-get-field, bibtex-autokey-demangle-title): New funs.
	(bibtex-autokey-get-namefield, bibtex-autokey-get-namelist)
	(bibtex-autokey-get-yearfield-digits, bibtex-autokey-get-yearfield)
	(bibtex-autokey-get-titlestring): Remove.
	(bibtex-autokey-get-names): Simplify.
	(bibtex-autokey-get-titles): Rename to bibtex-autokey-get-title.
	(bibtex-autokey-demangle-name): Simplify, avoid error messages.
	(bibtex-generate-autokey): Simplify.
	(bibtex-parse-keys): Simplify, use push.
	(bibtex-parse-strings): New fun similar to bibtex-parse-keys.
	(bibtex-string-files-init): New fun.
	(bibtex-parse-buffers-stealthily): Use bibtex-parse-keys,
	bibtex-string-files-init and bibtex-parse-strings.
	(bibtex-complete): Rename to bibtex-complete-internal, use push,
	bibtex-reference-key-in-string, no sorting.
	(bibtex-complete-string-cleanup): New fun, displays expansion of
	completed strings.
	(bibtex-choose-completion-string): New fun.  Required for
	choose-completion-string-functions.
	(bibtex-do-auto-fill): Remove.  Set fill-prefix in bibtex-mode.
	(bibtex-pop): Simplify.
	(bibtex-mode): Move setting of bibtex-string to bibtex-parse-strings.
	Set choose-completion-string-functions.
	(bibtex-print-help-message,bibtex-make-field, bibtex-end-of-entry)
	(bibtex-count-entries): Simplify.
	(bibtex-entry-index, bibtex-lessp): New funs for generalized sorting
	scheme of indices, see bibtex-maintain-sorted-entries.
	(bibtex-sort-buffer): Use bibtex-lessp for sorting.
	(bibtex-find-crossref, bibtex-find-entry): New funs.
	(bibtex-find-entry-location): Rename to bibtex-prepare-new-entry, use
	bibtex-lessp, Simplify.
	(bibtex-validate): Simplify.  Fixe bug of internal variable
	questionable-month.
	(bibtex-remove-OPT-or-ALT): Use when.
	(bibtex-remove-delimiters, bibtex-kill-field, bibtex-kill-entry)
	(bibtex-clean-entry, bibtex-fill-entry, bibtex-reformat): Simplify.
	(bibtex-convert-alien): Use deactivate-mark rather than the
	non-existent bibtex-mark-active variable.
	(bibtex-complete-string, bibtex-complete-key): Merge into new
	`smart' defun bibtex-complete.
	(bibtex-String): Update for new sorting scheme, distinguish empty and
	non-empty key strings.

2003-06-02  Stefan Monnier  <monnier@cs.yale.edu>

	* sort.el (sort-subr): Add `predicate' arg.  Remove `sortcar' code.

2003-06-02  Lute Kamstra  <lute@gnu.org>

	* emacs-lisp/lisp-mnt.el (lm-synopsis): Use relative filenames
	correctly.  Show the synopsis to the user when appropriate.
	Do not kill buffers that were created outside `lm-synopsis'.

2003-06-01  Stefan Monnier  <monnier@cs.yale.edu>

	* cus-edit.el (custom-get-fresh-buffer): Be extra paranoid,
	just in case some used a file of the wrong name.

	* progmodes/sh-script.el (sh-is-quoted-p): New fun.
	(sh-font-lock-paren): Use it to allow \C in case patterns.
	(sh-get-indent-info): Check the \n before the line for string-status.
	(sh-feature): Remove unused var `function'.
	(sh-get-indent-info): Remove unused variables.
	(sh-prev-thing): Remove unused vars `going', `n', and `found'.
	(sh-set-indent): Remove unused var `new-val' and `val0'.
	(sh-learn-buffer-indent): Remove unused vars `last-pos' and `lines'.
	(sh-guess-basic-offset): Remove unused var `return' and `j'.

2003-05-27  David Ponce  <david@dponce.com>

	* ruler-mode.el

	Version 1.6

	Take into account changes made to the display margins, fringes and
	scroll-bar handling.

	(ruler-mode-margins-char): Remove.  Not used anymore.
	(ruler-mode-pad-face, ruler-mode-fringes-face): New faces.
	(ruler-mode-margins-face): New definition.  Move.
	(ruler-mode-left-fringe-cols)
	(ruler-mode-right-fringe-cols)
	(ruler-mode-left-scroll-bar-cols)
	(ruler-mode-right-scroll-bar-cols): Reimplement.  Move.
	(ruler-mode-full-window-width)
	(ruler-mode-window-col): New functions.
	(ruler-mode-mouse-set-left-margin)
	(ruler-mode-mouse-set-right-margin)
	(ruler-mode-mouse-add-tab-stop)
	(ruler-mode-mouse-del-tab-stop): Reimplement.
	(ruler-mode-mouse-current-grab-object): Rename to...
	(ruler-mode-dragged-symbol): New.
	(ruler-mode-mouse-grab-any-column): Use it.  Clean up.
	(ruler-mode-mouse-drag-any-column): Likewise.
	(ruler-mode-mouse-drag-any-column-iteration): Simplify.
	(ruler-mode): Restore previous `header-line-format' if
	`ruler-mode-header-line-format-old' has a local binding in current
	buffer.
	(ruler-mode-left-margin-help-echo)
	(ruler-mode-right-margin-help-echo): Remove.
	(ruler-mode-margin-help-echo)
	(ruler-mode-fringe-help-echo): New constants.
	(ruler-mode-ruler): Use them.  Reimplement.

2003-06-01  Jason Rumney  <jasonr@gnu.org>

	* mwheel.el (mouse-wheel-down-event, mouse-wheel-up-event):
	Default to new wheel-up and wheel-down events on Windows.

	* term/w32-win.el: No need to bind wheel events specially.

2003-06-01  Michael Kifer  <kifer@cs.stonybrook.edu>

	* desktop.el (desktop-create-buffer): Add (desktop-first-buffer) to
	the let-statement to avoid the startup error that desktop-first-buffer
	is undefined.

2003-06-01  Andreas Schwab  <schwab@suse.de>

	* man.el (Man-name-regexp): Also match Latin-1 soft hyphen.
	(Man-build-references-alist): Handle Latin-1 soft hyphen.

2003-05-31  Stephen Eglen  <stephen@gnu.org>

	* iswitchb.el (iswitchb-buffer-ignore): Update custom type to
	allow functions.

2003-05-31  Stefan Monnier  <monnier@cs.yale.edu>

	* view.el (view-file, view-file-other-window, view-file-other-frame):
	Signal an error when trying to visit an inexistent file.

	* vc-hooks.el (vc-call-backend): Give better error message
	when a backend function is missing.
	(vc-find-file-hook): USe unless.  Merge if and cond.

	* vc.el (vc-directory-exclusion-list): Add MCVS and .svn.
	(vc-checkin-hook): Adjust option to new name.

	* log-edit.el (log-edit-maximum-comment-ring-size)
	(log-edit-comment-ring, log-edit-comment-ring-index)
	(log-edit-last-comment-match): Rename vars from
	vc-maximum-comment-ring-size, vc-comment-ring, vc-comment-ring-index,
	and vc-last-comment-match.
	(log-edit-new-comment-index, log-edit-previous-comment)
	(log-edit-next-comment, log-edit-comment-search-backward)
	(log-edit-comment-search-forward, log-edit-comment-to-change-log):
	Rename funs from vc-new-comment-index, vc-previous-comment,
	vc-next-comment, vc-comment-search-reverse, vc-comment-search-forward,
	and vc-comment-to-change-log.

	* wid-edit.el (widget-specify-insert): Simplify.
	(widget-editable-list-entry-create): Don't assume that %d and %i are
	in the format string.
	(widget-map-buttons): Remove unused var `parent'.
	(widget-move): Remove unused shadowed var `new'.
	(widget-color-action): Remove unused var `pos'.

	* cus-edit.el (custom-get-fresh-buffer): New fun.
	(custom-buffer-create, custom-buffer-create-other-window)
	(customize-browse): Use it instead of killing buffers.
	(custom-bury-buffer): Obey the argument.
	(custom-variable-reset-saved, custom-variable-reset-standard):
	Remove unused var `comment-widget'.
	(custom-face-edit-deactivate): Remove unused var `to'.
	(custom-save-variables): Remove unused var `sep'.

2003-05-31  John Paul Wallington  <jpw@gnu.org>

	* files.el (large-file-warning-threshold): Add type, groups.

	* progmodes/delphi.el (delphi-ignore-changes): Defvar; non-constant.

2003-05-31  Kenichi Handa  <handa@m17n.org>

	* files.el (recover-file): Bind coding-system-for-read to
	auto-save-coding.

2003-05-31  Juanma Barranquero  <lektu@terra.es>

	* misc.el (mark-beginning-of-buffer, mark-end-of-buffer)
	(upcase-char, forward-to-word, backward-to-word): Move from unused.el.

	* unused.el: Deleted (contents moved to misc.el).

	* options.el:
	* emacs-lisp/float.el:
	* textmodes/scribe.el: Moved to obsolete.

	* byte-run.el:
	* derived.el:
	* float-sup.el:
	* map-ynp.el:
	* regi.el:
	* timer.el:
	* warnings.el: Moved to emacs-lisp.

	* enriched.el: Moved to textmodes.

	* textmodes/outline.el: Moved to lisp.

	* which-func.el: Moved to progmodes.

	* loadup.el: Load byte-run.el, map-ynp.el, timer.el and float-sup.el
	from emacs-lisp.

2003-05-31  Tom Wurgler  <twurgler@goodyear.com>  (tiny change)

	* subr.el (looking-back): New function to check for regular
	expression before point.

2003-05-30  Stefan Monnier  <monnier@cs.yale.edu>

	* newcomment.el (comment-empty-lines): New var.
	(comment-region-internal): Use it.

	* textmodes/tex-mode.el (latex-block-args-alist)
	(latex-block-body-alist): New vars.
	(latex-insert-block): Use them.
	(tex-string-prefix-p): New fun.
	(tex-guess-main-file): Use it to detect when the main file
	is in a parent directory.
	(tex-main-file): Try to find a main-file in parent directories.
	(tex-compile-default): Don't use `gv' on pdf files just because
	`gv' was used recently on a ps file.  Remove unused arg `dir'.
	Reuse a previous command as-is if it applied to the same file.
	(tex-compile): Use the right file name when file is not in dir.

	* textmodes/refill.el (refill-adjust-ignorable-overlay):
	Don't hardcode pint-min == 1.
	(refill-fill-paragraph-at): Use a more robust method to detect
	when the paragraph is after point.  Remove unused var `fill-pfx'.

	* xml.el (xml-parse-tag): Return (foo nil) rather than (foo nil "")
	for <foo/>, to make it behave like <foo></foo>.

	* emacs-lisp/edebug.el (edebug-storing-offsets): Move indent
	and debug to inside the macro.
	(edebug-read-storing-offsets): Simplify.
	(edebug-read-quote, edebug-read-function): Place the
	start-position correctly.
	(edebug-read-backquote-new): Remove.
	(edebug-read-backquote-level): New var to replace it.
	(edebug-read-backquote): Increment it.
	Don't store offsets one extra time.
	(edebug-read-comma): Decrement it.  Read the comma as a plain
	symbol if outside of any new-style backquote.
	(edebug-read-list): Use edebug-read-backquote-level.
	Don't call edebug-read-backquote directly.  This way the extra
	offsets store is done exactly when it's needed.
	(edebug-read-vector): Use push.
	(defmacro): Add support for the `declare' thingy.

2003-05-29  Stefan Monnier  <monnier@cs.yale.edu>

	* forms.el (forms-mode-hook): Rename from forms-mode-hooks.
	(forms-mode): Use add-hook rather than make-local-variable+setq.
	Use with-current-buffer.  Run the new and the old hooks.
	(forms--update): Use with-current-buffer and line-end-position.
	(forms--goto-record): New fun.
	(forms-jump-record, forms-insert-record, forms-delete-record): Use it.
	(forms--process-format-list): Remove unused var `this-item'.
	(forms--intuit-from-file): Remove unused var `the-result'.
	(forms--trans): Remove unused var `x'.
	(forms--exit, forms-exit, forms-exit-no-save): Remove unused arg.

	* emacs-lisp/edebug.el (edebug-window-list): Use push.
	(edebug-macrop): Use functionp.
	(edebug-functionp): Remove.
	(edebug-get-displayed-buffer-points): Use push.
	(edebug-set-buffer-points): Use save-current-buffer and buffer-live-p.
	(edebug-list-form): Remove dead code.
	(backquote-form): Correctly handle `(a . ,b).
	(edebug-mode-map, global-edebug-map): Move init to inside the defvar.
	(define-derived-mode, define-minor-mode): Remove outdated spec.
	(save-match-data, with-output-to-string, with-current-buffer)
	(combine-after-change-calls, with-temp-buffer, dolist, dotimes)
	(unless, when): Remove specs that are now in the corresponding macro.

	* emacs-lisp/easy-mmode.el (define-minor-mode): Add edebug spec.
	Accept a :keymap argument, as you'd expect.

	* derived.el (define-derived-mode): Add a proper edebug declaration.

2003-05-29  Luc Teirlinck  <teirllm@mail.auburn.edu>

	* simple.el (kill-whole-line): Make it interact correctly with
	the kill ring.

2003-05-29  Kenichi Handa  <handa@m17n.org>

	* international/mule.el (ctext-non-standard-encodings-alist):
	Rename from non-standard-icccm-encodings-alist.
Juanma Barranquero's avatar
Juanma Barranquero committed
2003
	(ctext-non-standard-encodings-regexp): New variable.
2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025
	(ctext-post-read-conversion): Full rewrite.
	(ctext-non-standard-designations-alist): Rename from
	non-standard-designations-alist.
	(ctext-pre-write-conversion): Full rewrite.

2003-05-28  Stefan Monnier  <monnier@cs.yale.edu>

	* info.el (Info-fontify-node): Hide \n------- rather than -------\n.

	* skeleton.el (skeleton-edebug-spec): First cut of an edebug spec.
	(define-skeleton): Use it.

2003-05-28  Andreas Schwab  <schwab@suse.de>

	* descr-text.el (describe-char): Use `char' instead of
	`(char-after)'.  Fix display of unicode.

2003-05-28  Nick Roberts  <nick@nick.uklinux.net>

	* gud.el (gud-gdb-goto-stackframe, gud-gdb-get-stackframe):
	Add server prefix to the gdb commands used by the speedbar.

Juanma Barranquero's avatar
Juanma Barranquero committed
2026
2003-05-28  Kai Großjohann  <kai.grossjohann@gmx.net>
2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063

	* simple.el (kill-region): If nothing was killed, and the
	previous command was not a kill, break kill sequence.

2003-05-28  Richard M. Stallman  <rms@gnu.org>

	* textmodes/refill.el (refill-fill-paragraph-at):
	Avoid refilling the following paragraph.
	(refill-doit): Doc fix.

	* emulation/vip.el (ctl-x-map): Don't bind C-x C-i or C-x 3.
	(global-map): Don't bind C-z.
	(vip-setup): New function to rebind C-x 7 and C-z.

	* emacs-lisp/lisp-mode.el (last-sexp-toggle-display):
	Undo previous change (don't check for eob).  Widen at the beginning.

	* map-ynp.el (map-y-or-n-p): No special handling for exit-prefix.
	In help string, mention C-g but not ESC.

	* jka-compr.el (jka-compr-insert-file-contents):
	When REPLACE, delete the proper range of text.

	* info.el (Info-index): Add autoload cookie.

	* forms.el (forms-mode): Use write-file-functions instead
	of local-write-file-hooks.  Use make-local-variable to make it local.

	* descr-text.el (describe-char-unicode-data): New dummy definition.
	(unicode-data): Comment out since we can't use UnicodeData.txt as is.
	(describe-char-unicodedata-file): Variable renamed and commented out.

	* faces.el (set-face-attribute): Set face-modified prop to t
	when we change the new-frame defaults.
	(face-spec-set): Set face-modified prop to nil
	when we change the new-frame defaults.

Juanma Barranquero's avatar
Juanma Barranquero committed
2064
	* cus-edit.el (custom-face-state-set): Non-nil `face-modified'
2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119
	means face was set outside of Custom.

2003-05-28  Richard M. Stallman  <rms@gnu.org>

	* byte-run.el (with-no-warnings): New function.

	* emacs-lisp/bytecomp.el (byte-compile-no-warnings): New function.
	(with-no-warnings): Set up compile handler.

	* startup.el (command-line-1): Use with-no-warnings.

	* type-break.el (type-break-cancel-function-timers):
	Use with-no-warnings.

2003-05-28  Luc Teirlinck  <teirllm@mail.auburn.edu>

	* env.el (substitute-env-vars): Fix typo.

2003-05-28  Walter C. Pelissero  <walter@pelissero.de>  (tiny change)

	* net/browse-url.el (browse-url-mozilla): Correct the conditionals
	for using ,new-window.

2003-05-27  Glenn Morris  <gmorris@ast.cam.ac.uk>

	* progmodes/sh-script.el (sh-here-document-word):
	Document new treatment of leading "-".
	(sh-maybe-here-document): Strip a leading "-" from closing
	heredoc delimiter, if present.

	* align.el (align-rules-list): Doc fix.

	* calendar/timeclock.el: Update copyright.
	(timeclock-ask-before-exiting): Put `timeclock-query-out' on
	`kill-emacs-query-functions' rather than `kill-emacs-hook'.
	(timeclock-mode-string): Doc fix.
	(timeclock-modeline-display): Doc fix.  Use `global-mode-string'
	rather than `mode-line-format'.
	(timeclock-query-out): Doc fix.
	(timeclock-update-modeline): No need for `let*', so use `let'.
	Add some help-echo text to `timeclock-mode-string'.
	(timeclock-mode-string): Give it the risky-local-variable
	property, so that help-echo text will display.
	(timeclock-find-discrep): Set `accum' to 0 if
	`timeclock-discrepancy' is nil.

2003-05-27  Stefan Monnier  <monnier@cs.yale.edu>

	* emacs-lisp/lisp-mode.el (lisp-font-lock-syntactic-face-function):
	Don't infinite loop at bob.
	(emacs-lisp-mode): Mark its main custom group to be `lisp'.
	(prin1-char): New fun.
	(eval-last-sexp-1): Use it.  Use with-syntax-table as well.
	(eval-defun-1): Don't replace `defvar' with `defconst'.

Juanma Barranquero's avatar
Juanma Barranquero committed
2120
2003-05-27  Kai Großjohann  <kai.grossjohann@gmx.net>
2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138

	* bindings.el (global-map): Bind M-S-<backspace to kill-whole-line.

2003-05-26  Stefan Monnier  <monnier@cs.yale.edu>

	* gud.el (gud-find-class): Remove unused var `pos'.
	(gdb-script-mode-syntax-table, gdb-script-font-lock-keywords)
	(gdb-script-font-lock-syntactic-keywords)
	(gdb-script-font-lock-syntactic-face, gdb-script-basic-indent)
	(gdb-script-skip-to-head, gdb-script-calculate-indentation)
	(gdb-script-indent-line, gdb-script-mode): New mode to edit
	.gdbinit-like scripts.

2003-05-26  John Paul Wallington  <jpw@gnu.org>

	* faces.el (display-supports-face-attributes-p): Doc fix.
	(x-create-frame-with-faces): Call `face-set-after-frame-default'.

Juanma Barranquero's avatar
Juanma Barranquero committed
2139
2003-05-26  Kai Großjohann  <kai.grossjohann@gmx.net>
2140 2141 2142 2143 2144 2145 2146

	* bindings.el (global-map): Don't bind S-<backspace>.  Too many
	people hit it by mistake.

2003-05-26  Andre Spiegel  <spiegel@gnu.org>

	* vc.el (vc-delete-file): Fix free variable reference.
Juanma Barranquero's avatar
Juanma Barranquero committed
2147
	(vc-annotate-display): Remove obsolescence declaration; it isn't
2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172
	obsolete.

2003-05-25  Kevin Ryde  <user42@zip.com.au>

	* info-look.el (autoconf-mode setups): Recognise AH_ and AU_ entries
	in "(autoconf)Autoconf Macro Index".  Add "(autoconf)M4 Macro Index"
	and "(autoconf)Autotest Macro Index".  Remove duplicate copy of
	"(automake)Macro and Variable Index".  Keep automake after all
	autoconf possibilities, so as to prefer those.

2003-05-25  Stefan Monnier  <monnier@cs.yale.edu>

	* skeleton.el (skeleton-internal-1): Don't loop if interactor of
	subskeleton is nil.
	(skeleton-pair-default-alist): New var.
	(skeleton-pair-insert-maybe): Use it.  Don't munge multibyte chars.

2003-05-25  Nick Roberts  <nick@nick.uklinux.net>

	* gdb-ui.el (gdb-info-breakpoints-custom, gdb-assembler-custom):
	Put string associated with breakpoint at start of line so that it
	is always visible.
	(gdb-display-source-buffer): Display assembler during execution,
	when requested.
	(gud-menu-map): Add a toggle button to menubar for gdb-many-windows.
Juanma Barranquero's avatar
Juanma Barranquero committed
2173
	(gdb-many-windows): Define explicitly as a function and a variable
Juanma Barranquero's avatar
Juanma Barranquero committed
2174
	(formerly as a minor mode).  These need to be global so layout can
2175 2176 2177 2178
	be reset from any buffer.
	(gdb-assembler-mode): Keep fringe outside margin as the overlay
	arrow is not used for assembler.

Juanma Barranquero's avatar
Juanma Barranquero committed
2179
2003-05-25  Tim Van Holder  <tim.vanholder@anubex.com>
2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213

	* which-func.el (which-func-update-timer): New variable.
	(which-function-mode): Use it.

2003-05-25  Richard M. Stallman  <rms@gnu.org>

	* simple.el (idle-update-delay): New variable.

2003-05-25  Luc Teirlinck  <teirllm@mail.auburn.edu>

	* simple.el (forward-visible-line): Fix negative arguments.

2003-05-25  Juanma Barranquero  <lektu@terra.es>

	* skeleton.el (skeleton-pair-insert-maybe): Remove leftover
	reference to skeleton-abbrev-cleanup.

2003-05-24  Andreas Schwab  <schwab@suse.de>

	* files.el (insert-directory): Preserve CR in a file name.

2003-05-24  Stefan Monnier  <monnier@cs.yale.edu>

	* skeleton.el (skeleton-abbrev-cleanup, skeleton-proxy):
	Remove obsolete code.

	* term/w32-win.el (iconify-or-deiconify-frame):
	* term/mac-win.el (iconify-or-deiconify-frame): Move to frame.el.

	* term/x-win.el (iconify-or-deiconify-frame): Move to frame.el.
	Turn on mouse-wheel support by default.

	* frame.el (iconify-or-deiconify-frame): Move from term/x-win.el.

Juanma Barranquero's avatar
Juanma Barranquero committed
2214
2003-05-24  Kai Großjohann  <kai.grossjohann@gmx.net>
2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247

	* net/tramp.el: Version 2.0.34 released.
	(tramp-handle-file-symlink-p): If target of symlink is absolute,
	return a Tramp filename.  (Ie, return "/user@host:/target" instead
	of "/target".)
	(tramp-handle-file-truename): Deal with new return value from
	`file-symlink-p'.
	(tramp-handle-expand-file-name): Make default method explicit in
	file name.
	(tramp-unified-filenames): Move to an earlier spot in the file.
	(top-level): If tramp-unified-filenames is set and we're running
	on XEmacs, load tramp-efs.
	(tramp-wait-for-shell-prompt, tramp-barf-if-no-shell-prompt):
	New functions, used by tramp-send-command-internal.
	(tramp-open-connection-setup-interactive-shell): Simplify using
	`tramp-send-command-internal'.
	(tramp-send-command-internal): New function.
	(tramp-methods): New entries "remsh" and "remcp" are like "rsh"
	and "rcp" but invoke "remsh" instead of "rsh".  This is useful on
	Cray systems, for instance.  Unify tramp-rsh-program,
	tramp-telnet-program, tramp-su-program into tramp-login-program.
	Likewise with tramp-login-args, tramp-copy-program,
	tramp-copy-args, tramp-copy-keep-date-arg.  Users changed.  New
	method plink1; like plink but pass "-1" to force protocol version 1.
	(tramp-default-method): Use plink as the default on machines where
	the plink program is present.
	(tramp-completion-file-name-handler): Add safe-magic property.
	(tramp-shell-prompt-pattern): Allow ANSI escapes at
	end of prompt.  (ANSI escapes elsewhere in the prompt are
	recognized properly already.)

	* net/tramp-efs.el: New file.

Juanma Barranquero's avatar
Juanma Barranquero committed
2248
2003-05-24  Michael Albinus  <Michael.Albinus@alcatel.de>
2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292

	* net/tramp.el (tramp-handle-file-truename): `sym' shouldn't be
	quoted.
	(tramp-methods, tramp-multi-connection-function-alist):
	Use argument "-p Password:" for "sudo" method, because password prompt
	might be changed by either passprompt option in /etc/sudoers, or
	SUDO_PROMPT environment variable.  Suggested by Peter Oliver
	<peter.oliver@aquila-networks.co.uk>.

2003-05-23  Stefan Monnier  <monnier@cs.yale.edu>

	* mail/supercite.el: Use `push' and replace `regi-pos' by equivalents.
	(sc-emacs-features): Remove.  Use better tests instead.
	(sc-minor-mode): Use define-minor-mode.
	(sc-mode-string, sc-set-mode-string): Remove.
	Use a better modeline expression instead.
	(sc-completing-read, sc-read-string, sc-submatch, sc-member)
	(sc-string-text): Remove those compatibility functions.

	* pcvs.el (cvs-temp-buffer): Kill running process in displayed buffers.
	(cvs-make-cvs-buffer): Fix up format of the header.

	* progmodes/perl-mode.el (perl-font-lock-syntactic-keywords):
	Match more cases of /.../ patterns.

2003-05-23  Nick Roberts  <nick@nick.uklinux.net>

	* gdb-ui.el (gdba): Accommodate Fortran programs.
	(gud-gdba-command-name): Use -noasync in all cases (as Fortran
	seems to require it also).
	(gdb-source-info): Parse correctly when compilation directory
	specifies host also (IRIX).

2003-05-23  Andre Spiegel  <spiegel@gnu.org>

	* vc-cvs.el (vc-cvs-checkout): Don't leave the branch when
	REV is t.  From Don Provan <dprovan@bivio.net>

2003-05-23  Richard M. Stallman  <rms@gnu.org>

	* forms.el (forms--mode-commands1): Bind \t, not `tab'.
	(forms--mode-commands): Don't bind \t in the maps where
	we call forms--mode-commands1.

Juanma Barranquero's avatar
Juanma Barranquero committed
2293
2003-05-23  Taro Kawagishi  <tarok@acm.org>
2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356