diff options
64 files changed, 1002 insertions, 416 deletions
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index be844766439..facce8ec9a7 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE | |||
| @@ -181,7 +181,7 @@ SECTION READERS | |||
| 181 | man/abbrevs.texi | 181 | man/abbrevs.texi |
| 182 | man/anti.texi | 182 | man/anti.texi |
| 183 | man/basic.texi "Luc Teirlinck" | 183 | man/basic.texi "Luc Teirlinck" |
| 184 | man/buffers.texi "Luc Teirlinck" | 184 | man/buffers.texi "Luc Teirlinck" Chong Yidong |
| 185 | man/building.texi "Ted Zlatanov" <tzz@lifelogs.com> | 185 | man/building.texi "Ted Zlatanov" <tzz@lifelogs.com> |
| 186 | man/calendar.texi Joakim Verona <joakim@verona.se> | 186 | man/calendar.texi Joakim Verona <joakim@verona.se> |
| 187 | man/cmdargs.texi | 187 | man/cmdargs.texi |
| @@ -191,9 +191,9 @@ man/dired.texi | |||
| 191 | man/display.texi "Luc Teirlinck" | 191 | man/display.texi "Luc Teirlinck" |
| 192 | man/emacs.texi "Luc Teirlinck" | 192 | man/emacs.texi "Luc Teirlinck" |
| 193 | man/entering.texi "Luc Teirlinck" | 193 | man/entering.texi "Luc Teirlinck" |
| 194 | man/files.texi "Luc Teirlinck" | 194 | man/files.texi "Luc Teirlinck" Chong Yidong |
| 195 | man/fixit.texi "Luc Teirlinck" | 195 | man/fixit.texi "Luc Teirlinck" |
| 196 | man/frames.texi "Luc Teirlinck" | 196 | man/frames.texi "Luc Teirlinck" Chong Yidong |
| 197 | man/glossary.texi | 197 | man/glossary.texi |
| 198 | man/help.texi "Luc Teirlinck" | 198 | man/help.texi "Luc Teirlinck" |
| 199 | man/indent.texi "Luc Teirlinck" | 199 | man/indent.texi "Luc Teirlinck" |
| @@ -215,9 +215,9 @@ man/rmail.texi | |||
| 215 | man/screen.texi "Luc Teirlinck" | 215 | man/screen.texi "Luc Teirlinck" |
| 216 | man/search.texi "Luc Teirlinck" | 216 | man/search.texi "Luc Teirlinck" |
| 217 | man/sending.texi | 217 | man/sending.texi |
| 218 | man/text.texi "Luc Teirlinck" | 218 | man/text.texi "Luc Teirlinck" Chong Yidong |
| 219 | man/trouble.texi | 219 | man/trouble.texi |
| 220 | man/windows.texi "Luc Teirlinck" | 220 | man/windows.texi "Luc Teirlinck" Chong Yidong |
| 221 | man/xresources.texi | 221 | man/xresources.texi |
| 222 | 222 | ||
| 223 | ** Check the Emacs Lisp manual. | 223 | ** Check the Emacs Lisp manual. |
| @@ -233,7 +233,7 @@ lispref/abbrevs.texi "Luc Teirlinck" | |||
| 233 | lispref/advice.texi Joakim Verona <joakim@verona.se> | 233 | lispref/advice.texi Joakim Verona <joakim@verona.se> |
| 234 | lispref/anti.texi | 234 | lispref/anti.texi |
| 235 | lispref/backups.texi "Luc Teirlinck" | 235 | lispref/backups.texi "Luc Teirlinck" |
| 236 | lispref/buffers.texi "Luc Teirlinck" | 236 | lispref/buffers.texi "Luc Teirlinck" Chong Yidong |
| 237 | lispref/calendar.texi Joakim Verona <joakim@verona.se> | 237 | lispref/calendar.texi Joakim Verona <joakim@verona.se> |
| 238 | lispref/commands.texi "Luc Teirlinck" | 238 | lispref/commands.texi "Luc Teirlinck" |
| 239 | lispref/compile.texi "Luc Teirlinck" | 239 | lispref/compile.texi "Luc Teirlinck" |
| @@ -245,8 +245,8 @@ lispref/edebug.texi | |||
| 245 | lispref/elisp.texi "Luc Teirlinck" | 245 | lispref/elisp.texi "Luc Teirlinck" |
| 246 | lispref/errors.texi "Luc Teirlinck" | 246 | lispref/errors.texi "Luc Teirlinck" |
| 247 | lispref/eval.texi "Luc Teirlinck" | 247 | lispref/eval.texi "Luc Teirlinck" |
| 248 | lispref/files.texi "Luc Teirlinck" | 248 | lispref/files.texi "Luc Teirlinck" Chong Yidong |
| 249 | lispref/frames.texi "Luc Teirlinck" | 249 | lispref/frames.texi "Luc Teirlinck" Chong Yidong |
| 250 | lispref/functions.texi "Luc Teirlinck" | 250 | lispref/functions.texi "Luc Teirlinck" |
| 251 | lispref/hash.texi "Luc Teirlinck" | 251 | lispref/hash.texi "Luc Teirlinck" |
| 252 | lispref/help.texi "Luc Teirlinck" | 252 | lispref/help.texi "Luc Teirlinck" |
| @@ -274,10 +274,10 @@ lispref/streams.texi "Luc Teirlinck" | |||
| 274 | lispref/strings.texi "Luc Teirlinck" | 274 | lispref/strings.texi "Luc Teirlinck" |
| 275 | lispref/symbols.texi "Luc Teirlinck" | 275 | lispref/symbols.texi "Luc Teirlinck" |
| 276 | lispref/syntax.texi "Luc Teirlinck" | 276 | lispref/syntax.texi "Luc Teirlinck" |
| 277 | lispref/text.texi | 277 | lispref/text.texi Chong Yidong |
| 278 | lispref/tips.texi "Luc Teirlinck" | 278 | lispref/tips.texi "Luc Teirlinck" |
| 279 | lispref/variables.texi "Luc Teirlinck" | 279 | lispref/variables.texi "Luc Teirlinck" |
| 280 | lispref/windows.texi "Luc Teirlinck" | 280 | lispref/windows.texi "Luc Teirlinck" Chong Yidong |
| 281 | 281 | ||
| 282 | 282 | ||
| 283 | Local variables: | 283 | Local variables: |
diff --git a/etc/ChangeLog b/etc/ChangeLog index 4a3c7039363..47f20d8f03f 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2005-02-05 Frederik Fouvry <fouvry@CoLi.Uni-SB.DE> | ||
| 2 | |||
| 3 | * emacs.bash: Update the name of the socket of the Emacs server. | ||
| 4 | |||
| 1 | 2005-01-22 David Kastrup <dak@gnu.org> | 5 | 2005-01-22 David Kastrup <dak@gnu.org> |
| 2 | 6 | ||
| 3 | * NEWS: Mention alias `find-grep' for `grep-find'. | 7 | * NEWS: Mention alias `find-grep' for `grep-find'. |
| @@ -201,22 +201,23 @@ character is used every few digits, making it easier to see byte | |||
| 201 | boundries etc. For more info, see the documentation of the variable | 201 | boundries etc. For more info, see the documentation of the variable |
| 202 | `calculator-radix-grouping-mode'. | 202 | `calculator-radix-grouping-mode'. |
| 203 | 203 | ||
| 204 | +++ | ||
| 204 | ** You can now follow links by clicking Mouse-1 on the link. | 205 | ** You can now follow links by clicking Mouse-1 on the link. |
| 205 | 206 | ||
| 206 | Traditionally, Emacs uses a Mouse-1 click to set point and a Mouse-2 | 207 | Traditionally, Emacs uses a Mouse-1 click to set point and a Mouse-2 |
| 207 | click to follow a link, whereas most other applications use a Mouse-1 | 208 | click to follow a link, whereas most other applications use a Mouse-1 |
| 208 | click for both purposes, depending on whether you click outside or | 209 | click for both purposes, depending on whether you click outside or |
| 209 | inside a link. With release 21.4, the behaviour of a Mouse-1 click | 210 | inside a link. Now the behavior of a Mouse-1 click has been changed |
| 210 | has been changed to match this context-sentitive dual behaviour. | 211 | to match this context-sentitive dual behavior. |
| 211 | 212 | ||
| 212 | Depending on the current mode, a Mouse-2 click in Emacs may do much | 213 | Depending on the current mode, a Mouse-2 click in Emacs may do much |
| 213 | more than just follow a link, so the new Mouse-1 behaviour is only | 214 | more than just follow a link, so the new Mouse-1 behavior is only |
| 214 | activated for modes which explicitly mark a clickable text as a "link" | 215 | activated for modes which explicitly mark a clickable text as a "link" |
| 215 | (see the new function `mouse-on-link-p' for details). The lisp | 216 | (see the new function `mouse-on-link-p' for details). The Lisp |
| 216 | packages that are included in release 21.4 have been adapted to do | 217 | packages that are included in release 21.4 have been adapted to do |
| 217 | this, but external packages may not yet support this. However, there | 218 | this, but external packages may not yet support this. However, there |
| 218 | is no risk in using such packages, as the worst thing that could | 219 | is no risk in using such packages, as the worst thing that could |
| 219 | happen is that you get the original Mouse-1 behaviour when you click | 220 | happen is that you get the original Mouse-1 behavior when you click |
| 220 | on a link, which typically means that you set point where you click. | 221 | on a link, which typically means that you set point where you click. |
| 221 | 222 | ||
| 222 | If you want to get the original Mouse-1 action also inside a link, you | 223 | If you want to get the original Mouse-1 action also inside a link, you |
| @@ -227,7 +228,7 @@ you release it). | |||
| 227 | Dragging the Mouse-1 inside a link still performs the original | 228 | Dragging the Mouse-1 inside a link still performs the original |
| 228 | drag-mouse-1 action, typically copy the text. | 229 | drag-mouse-1 action, typically copy the text. |
| 229 | 230 | ||
| 230 | You can customize the new Mouse-1 behaviour via the new user option | 231 | You can customize the new Mouse-1 behavior via the new user option |
| 231 | `mouse-1-click-follows-link'. | 232 | `mouse-1-click-follows-link'. |
| 232 | 233 | ||
| 233 | +++ | 234 | +++ |
| @@ -551,7 +552,7 @@ Instead, the newline now "overflows" into the right fringe, and the | |||
| 551 | cursor will be displayed in the fringe when positioned on that newline. | 552 | cursor will be displayed in the fringe when positioned on that newline. |
| 552 | 553 | ||
| 553 | The new user option 'overflow-newline-into-fringe' may be set to nil to | 554 | The new user option 'overflow-newline-into-fringe' may be set to nil to |
| 554 | revert to the old behaviour of continuing such lines. | 555 | revert to the old behavior of continuing such lines. |
| 555 | 556 | ||
| 556 | +++ | 557 | +++ |
| 557 | ** The buffer boundaries (i.e. first and last line in the buffer) may | 558 | ** The buffer boundaries (i.e. first and last line in the buffer) may |
| @@ -1613,7 +1614,7 @@ directory listing into a buffer. | |||
| 1613 | 1614 | ||
| 1614 | ** Unexpected yanking of text due to accidental clicking on the mouse | 1615 | ** Unexpected yanking of text due to accidental clicking on the mouse |
| 1615 | wheel button (typically mouse-2) during wheel scrolling is now avoided. | 1616 | wheel button (typically mouse-2) during wheel scrolling is now avoided. |
| 1616 | This behaviour can be customized via the mouse-wheel-click-event and | 1617 | This behavior can be customized via the mouse-wheel-click-event and |
| 1617 | mouse-wheel-inhibit-click-time variables. | 1618 | mouse-wheel-inhibit-click-time variables. |
| 1618 | 1619 | ||
| 1619 | +++ | 1620 | +++ |
| @@ -2445,7 +2446,7 @@ before calling it, if used while defining a macro. | |||
| 2445 | 2446 | ||
| 2446 | In addition, when ending or calling a macro with C-x e, the macro can | 2447 | In addition, when ending or calling a macro with C-x e, the macro can |
| 2447 | be repeated immediately by typing just the `e'. You can customize | 2448 | be repeated immediately by typing just the `e'. You can customize |
| 2448 | this behaviour via the variable kmacro-call-repeat-key and | 2449 | this behavior via the variable kmacro-call-repeat-key and |
| 2449 | kmacro-call-repeat-with-arg. | 2450 | kmacro-call-repeat-with-arg. |
| 2450 | 2451 | ||
| 2451 | Keyboard macros can now be debugged and edited interactively. | 2452 | Keyboard macros can now be debugged and edited interactively. |
| @@ -3227,7 +3228,7 @@ created and can be changed later by `set-process-filter-multibyte'. | |||
| 3227 | buffer is multibyte, the output of the process is at first converted | 3228 | buffer is multibyte, the output of the process is at first converted |
| 3228 | to multibyte by `string-to-multibyte' then inserted in the buffer. | 3229 | to multibyte by `string-to-multibyte' then inserted in the buffer. |
| 3229 | Previously, it was converted to multibyte by `string-as-multibyte', | 3230 | Previously, it was converted to multibyte by `string-as-multibyte', |
| 3230 | which was not compatible with the behaviour of file reading. | 3231 | which was not compatible with the behavior of file reading. |
| 3231 | 3232 | ||
| 3232 | +++ | 3233 | +++ |
| 3233 | ** New function `string-to-multibyte' converts a unibyte string to a | 3234 | ** New function `string-to-multibyte' converts a unibyte string to a |
| @@ -3715,7 +3716,7 @@ elements with the following format: | |||
| 3715 | The `insert-for-yank' function looks for a yank-handler property on | 3716 | The `insert-for-yank' function looks for a yank-handler property on |
| 3716 | the first character on its string argument (typically the first | 3717 | the first character on its string argument (typically the first |
| 3717 | element on the kill-ring). If a yank-handler property is found, | 3718 | element on the kill-ring). If a yank-handler property is found, |
| 3718 | the normal behaviour of `insert-for-yank' is modified in various ways: | 3719 | the normal behavior of `insert-for-yank' is modified in various ways: |
| 3719 | 3720 | ||
| 3720 | When FUNCTION is present and non-nil, it is called instead of `insert' | 3721 | When FUNCTION is present and non-nil, it is called instead of `insert' |
| 3721 | to insert the string. FUNCTION takes one argument--the object to insert. | 3722 | to insert the string. FUNCTION takes one argument--the object to insert. |
| @@ -3803,7 +3804,7 @@ speech synthesis. | |||
| 3803 | 3804 | ||
| 3804 | On some systems, when emacs reads the output from a subprocess, the | 3805 | On some systems, when emacs reads the output from a subprocess, the |
| 3805 | output data is read in very small blocks, potentially resulting in | 3806 | output data is read in very small blocks, potentially resulting in |
| 3806 | very poor performance. This behaviour can be remedied to some extent | 3807 | very poor performance. This behavior can be remedied to some extent |
| 3807 | by setting the new variable process-adaptive-read-buffering to a | 3808 | by setting the new variable process-adaptive-read-buffering to a |
| 3808 | non-nil value (the default), as it will automatically delay reading | 3809 | non-nil value (the default), as it will automatically delay reading |
| 3809 | from such processes, to allowing them to produce more output before | 3810 | from such processes, to allowing them to produce more output before |
| @@ -4317,7 +4318,7 @@ By default `unify-8859-on-encoding-mode' is turned on. | |||
| 4317 | If you want the old behavior, set selection-coding-system to | 4318 | If you want the old behavior, set selection-coding-system to |
| 4318 | compound-text, which may be significantly more efficient. Using | 4319 | compound-text, which may be significantly more efficient. Using |
| 4319 | compound-text-with-extensions seems to be necessary only for decoding | 4320 | compound-text-with-extensions seems to be necessary only for decoding |
| 4320 | text from applications under XFree86 4.2, whose behaviour is actually | 4321 | text from applications under XFree86 4.2, whose behavior is actually |
| 4321 | contrary to the compound text specification. | 4322 | contrary to the compound text specification. |
| 4322 | 4323 | ||
| 4323 | 4324 | ||
| @@ -24,6 +24,9 @@ to the FSF. | |||
| 24 | It should not generate :require. Or :require in defcustom | 24 | It should not generate :require. Or :require in defcustom |
| 25 | should not be recorded in the user's custom-set-variables call. | 25 | should not be recorded in the user's custom-set-variables call. |
| 26 | 26 | ||
| 27 | ** The buttons at the top of a custom buffer should not omit | ||
| 28 | variables whose values are currently hidden. | ||
| 29 | |||
| 27 | * Important features: | 30 | * Important features: |
| 28 | 31 | ||
| 29 | ** Provide user-friendly ways to list all available font families, | 32 | ** Provide user-friendly ways to list all available font families, |
diff --git a/etc/emacs.bash b/etc/emacs.bash index 80930f80d77..c482e82b361 100644 --- a/etc/emacs.bash +++ b/etc/emacs.bash | |||
| @@ -22,7 +22,7 @@ function edit () | |||
| 22 | if [ -n "${windowsys:+set}" ]; then | 22 | if [ -n "${windowsys:+set}" ]; then |
| 23 | # Do not just test if these files are sockets. On some systems | 23 | # Do not just test if these files are sockets. On some systems |
| 24 | # ordinary files or fifos are used instead. Just see if they exist. | 24 | # ordinary files or fifos are used instead. Just see if they exist. |
| 25 | if [ -e "${HOME}/.emacs_server" -o -e "/tmp/esrv${UID}-"* ]; then | 25 | if [ -e "${HOME}/.emacs_server" -o -e "/tmp/emacs${UID}/server" ]; then |
| 26 | emacsclient "$@" | 26 | emacsclient "$@" |
| 27 | return $? | 27 | return $? |
| 28 | else | 28 | else |
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 503a8bead04..4ffa38482cf 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog | |||
| @@ -1,3 +1,13 @@ | |||
| 1 | 2005-02-04 Andreas Schwab <schwab@suse.de> | ||
| 2 | |||
| 3 | * movemail.c (fatal): Accept third parameter and pass down to | ||
| 4 | error. | ||
| 5 | (pfatal_with_name): Pass error string as format parameter instead | ||
| 6 | of as part of format string. | ||
| 7 | (pfatal_and_delete): Likewise. | ||
| 8 | (main): Adjust call to fatal. | ||
| 9 | (xmalloc): Likewise. | ||
| 10 | |||
| 1 | 2005-01-29 Richard M. Stallman <rms@gnu.org> | 11 | 2005-01-29 Richard M. Stallman <rms@gnu.org> |
| 2 | 12 | ||
| 3 | * movemail.c (popmail): Don't use Errmsg as format string. | 13 | * movemail.c (popmail): Don't use Errmsg as format string. |
diff --git a/lib-src/movemail.c b/lib-src/movemail.c index 46c47a97bd6..e4243a1bd66 100644 --- a/lib-src/movemail.c +++ b/lib-src/movemail.c | |||
| @@ -245,7 +245,7 @@ main (argc, argv) | |||
| 245 | #endif | 245 | #endif |
| 246 | 246 | ||
| 247 | if (*outname == 0) | 247 | if (*outname == 0) |
| 248 | fatal ("Destination file name is empty", 0); | 248 | fatal ("Destination file name is empty", 0, 0); |
| 249 | 249 | ||
| 250 | /* Check access to output file. */ | 250 | /* Check access to output file. */ |
| 251 | if (access (outname, F_OK) == 0 && access (outname, W_OK) != 0) | 251 | if (access (outname, F_OK) == 0 && access (outname, W_OK) != 0) |
| @@ -601,12 +601,12 @@ mail_spool_name (inname) | |||
| 601 | /* Print error message and exit. */ | 601 | /* Print error message and exit. */ |
| 602 | 602 | ||
| 603 | void | 603 | void |
| 604 | fatal (s1, s2) | 604 | fatal (s1, s2, s3) |
| 605 | char *s1, *s2; | 605 | char *s1, *s2, *s3; |
| 606 | { | 606 | { |
| 607 | if (delete_lockname) | 607 | if (delete_lockname) |
| 608 | unlink (delete_lockname); | 608 | unlink (delete_lockname); |
| 609 | error (s1, s2, 0); | 609 | error (s1, s2, s3); |
| 610 | exit (EXIT_FAILURE); | 610 | exit (EXIT_FAILURE); |
| 611 | } | 611 | } |
| 612 | 612 | ||
| @@ -631,17 +631,16 @@ void | |||
| 631 | pfatal_with_name (name) | 631 | pfatal_with_name (name) |
| 632 | char *name; | 632 | char *name; |
| 633 | { | 633 | { |
| 634 | char *s = concat ("", strerror (errno), " for %s"); | 634 | fatal ("%s for %s", strerror (errno), name); |
| 635 | fatal (s, name); | ||
| 636 | } | 635 | } |
| 637 | 636 | ||
| 638 | void | 637 | void |
| 639 | pfatal_and_delete (name) | 638 | pfatal_and_delete (name) |
| 640 | char *name; | 639 | char *name; |
| 641 | { | 640 | { |
| 642 | char *s = concat ("", strerror (errno), " for %s"); | 641 | char *s = strerror (errno); |
| 643 | unlink (name); | 642 | unlink (name); |
| 644 | fatal (s, name); | 643 | fatal ("%s for %s", s, name); |
| 645 | } | 644 | } |
| 646 | 645 | ||
| 647 | /* Return a newly-allocated string whose contents concatenate those of s1, s2, s3. */ | 646 | /* Return a newly-allocated string whose contents concatenate those of s1, s2, s3. */ |
| @@ -669,7 +668,7 @@ xmalloc (size) | |||
| 669 | { | 668 | { |
| 670 | long *result = (long *) malloc (size); | 669 | long *result = (long *) malloc (size); |
| 671 | if (!result) | 670 | if (!result) |
| 672 | fatal ("virtual memory exhausted", 0); | 671 | fatal ("virtual memory exhausted", 0, 0); |
| 673 | return result; | 672 | return result; |
| 674 | } | 673 | } |
| 675 | 674 | ||
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 5722db8f6b1..a38b40db6e1 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,107 @@ | |||
| 1 | 2005-02-05 Arne_J,Ax(Brgensen <arne@arnested.dk> (tiny change) | ||
| 2 | |||
| 3 | * net/ldap.el (ldap-search-internal): Support attributes with | ||
| 4 | optional descriptions separated by a semi-colon, as in | ||
| 5 | "userCertificate;binary". | ||
| 6 | |||
| 7 | 2005-02-05 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 8 | |||
| 9 | * x-dnd.el (x-dnd-handle-xdnd): Handle the case where the flags | ||
| 10 | isn't a cons (i.e. the version is 0). | ||
| 11 | |||
| 12 | 2005-02-05 Eli Zaretskii <eliz@gnu.org> | ||
| 13 | |||
| 14 | * help.el (help-for-help): Doc fix. | ||
| 15 | |||
| 16 | 2005-02-05 Nick Roberts <nickrob@snap.net.nz> | ||
| 17 | |||
| 18 | * progmodes/gdb-ui.el: Update copyright. Put GDB-Frames before | ||
| 19 | GDB-Windows on the menu-bar as this works better. | ||
| 20 | |||
| 21 | 2005-02-04 Jay Belanger <belanger@truman.edu> | ||
| 22 | |||
| 23 | * calc/calc-embed.el (calc-embedded-update): Don't put in | ||
| 24 | unnecessary newlines. Adjust the end of formula marker. | ||
| 25 | |||
| 26 | * calc/calc-lang.el (math-latex-parse-frac): Don't use arguments. | ||
| 27 | (math-latex-parse-two-args): New function. | ||
| 28 | |||
| 29 | 2005-02-03 Lute Kamstra <lute@gnu.org> | ||
| 30 | |||
| 31 | * help-fns.el (help-with-tutorial): Make sure that users cannot | ||
| 32 | remove the entire text of the tutorial by means of `undo'. | ||
| 33 | |||
| 34 | 2005-02-03 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 35 | |||
| 36 | * textmodes/ispell.el (ispell-internal-change-dictionary): Fix problem | ||
| 37 | in recent changes, where the ispell process was repeatedly | ||
| 38 | killed & restarted. | ||
| 39 | |||
| 40 | * international/mule-cmds.el (set-locale-environment): Set file-name | ||
| 41 | coding system to utf-8 on Darwin systems. | ||
| 42 | (set-default-coding-systems): Don't set default-file-name-coding-system | ||
| 43 | on Darwin systems. | ||
| 44 | |||
| 45 | 2005-02-03 Richard M. Stallman <rms@gnu.org> | ||
| 46 | |||
| 47 | * hi-lock.el (hi-lock-mode): Turning on Hi-Lock turns on Font-Lock. | ||
| 48 | |||
| 49 | 2005-02-03 Matt Hodges <MPHodges@member.fsf.org> | ||
| 50 | |||
| 51 | * faces.el (list-faces-display): Add optional argument. | ||
| 52 | |||
| 53 | 2005-02-02 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 54 | |||
| 55 | * font-core.el (font-lock-default-function): Handle the rare case where | ||
| 56 | only font-lock-keywords is set. | ||
| 57 | |||
| 58 | 2005-02-02 Kenichi Handa <handa@m17n.org> | ||
| 59 | |||
| 60 | * international/characters.el: Cancel previous change for | ||
| 61 | I-WITH-DOT-ABOVE and DOTLESS-i. | ||
| 62 | |||
| 63 | * international/latin-5.el: Cancel previous change. | ||
| 64 | |||
| 65 | 2005-02-02 Nick Roberts <nickrob@snap.net.nz> | ||
| 66 | |||
| 67 | * progmodes/gud.el: Correction to syntax in gud-menu-map. | ||
| 68 | |||
| 69 | 2005-02-02 Kenichi Handa <handa@m17n.org> | ||
| 70 | |||
| 71 | * international/latin-5.el (tbl): Setup cases of I-WITH-DOT-ABOVE, | ||
| 72 | DOTLESS-i. | ||
| 73 | |||
| 74 | * international/characters.el: Setup cases of GREEK-FINAL-SIGMA, | ||
| 75 | Y-WITH-DIAERESIS, I-WITH-DOT-ABOVE, DOTLESS-i. | ||
| 76 | |||
| 77 | * case-table.el (get-upcase-table): New function. | ||
| 78 | (copy-case-table): Copy upcaes table too if non-nil. | ||
| 79 | (set-case-syntax-delims): Maintain upcase table too. | ||
| 80 | (set-case-syntax-pair): Likewise. | ||
| 81 | (set-upcase-syntax, set-downcase-syntax): New functions. | ||
| 82 | (set-case-syntax): Maintain upcase table too. | ||
| 83 | |||
| 84 | 2005-02-02 Nick Roberts <nickrob@snap.net.nz> | ||
| 85 | |||
| 86 | * progmodes/gdb-ui.el: (gdb-goto-info): Delete. | ||
| 87 | |||
| 88 | * progmodes/gud.el (gud-goto-info): New function. | ||
| 89 | (gud-tool-bar-map): Use correct icon. | ||
| 90 | |||
| 91 | 2005-02-01 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 92 | |||
| 93 | * emacs-lisp/lisp-mode.el (lisp-indent-function): Fix bug: | ||
| 94 | When delegating, order args in the funcall correctly. | ||
| 95 | |||
| 96 | 2005-02-01 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 97 | |||
| 98 | * emacs-lisp/lisp-mode.el (lisp-indent-function): Doc fix. | ||
| 99 | |||
| 100 | 2005-02-01 Carsten Dominik <dominik@science.uva.nl> | ||
| 101 | |||
| 102 | * textmodes/reftex.el (reftex-access-scan-info): Error out in a | ||
| 103 | buffer not visiting a file. | ||
| 104 | |||
| 1 | 2005-01-31 Jay Belanger <belanger@truman.edu> | 105 | 2005-01-31 Jay Belanger <belanger@truman.edu> |
| 2 | 106 | ||
| 3 | * calc/calc-embed.el (calc-embedded-find-bounds): Set the formula | 107 | * calc/calc-embed.el (calc-embedded-find-bounds): Set the formula |
| @@ -111,7 +215,7 @@ | |||
| 111 | 215 | ||
| 112 | 2005-01-29 Richard M. Stallman <rms@gnu.org> | 216 | 2005-01-29 Richard M. Stallman <rms@gnu.org> |
| 113 | 217 | ||
| 114 | * ses.el (undo-more): defadvice deleted. | 218 | * ses.el (undo-more): Delete defadvice. |
| 115 | (ses-begin-change): Doc fix. | 219 | (ses-begin-change): Doc fix. |
| 116 | 220 | ||
| 117 | * dired.el (dired-mode-map): Remap `undo' and `advertised-undo' | 221 | * dired.el (dired-mode-map): Remap `undo' and `advertised-undo' |
| @@ -129,7 +233,7 @@ | |||
| 129 | 233 | ||
| 130 | * simple.el (undo): Fix the test for continuing a series of undos. | 234 | * simple.el (undo): Fix the test for continuing a series of undos. |
| 131 | (undo-more): Set pending-undo-list to t when we reach end. | 235 | (undo-more): Set pending-undo-list to t when we reach end. |
| 132 | (pending-undo-list): defvar moved up. | 236 | (pending-undo-list): Move up defvar. |
| 133 | 237 | ||
| 134 | * wid-edit.el (widget-button-click): | 238 | * wid-edit.el (widget-button-click): |
| 135 | Shorten the range of the track-mouse binding. | 239 | Shorten the range of the track-mouse binding. |
| @@ -154,6 +258,20 @@ | |||
| 154 | (gdb-assembler-custom): Update to recognise breakpoint information | 258 | (gdb-assembler-custom): Update to recognise breakpoint information |
| 155 | added on 2005-01-19. | 259 | added on 2005-01-19. |
| 156 | 260 | ||
| 261 | 2005-01-28 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 262 | |||
| 263 | * progmodes/scheme.el (scheme-mode-variables): Set comment-add. | ||
| 264 | (dsssl-mode): Use define-derived-mode. | ||
| 265 | (scheme-mode-initialize): Remove. | ||
| 266 | (scheme-mode): Use run-mode-hooks. | ||
| 267 | |||
| 268 | * cus-edit.el (customize-group-other-window) | ||
| 269 | (custom-buffer-create-other-window): Don't override special-display-*. | ||
| 270 | (custom-mode-map): Make it dense. | ||
| 271 | |||
| 272 | * emacs-lisp/lisp-mode.el (eval-defun-1): Make sure `defvar' always | ||
| 273 | sets the default value. | ||
| 274 | |||
| 157 | 2005-01-28 Eli Zaretskii <eliz@gnu.org> | 275 | 2005-01-28 Eli Zaretskii <eliz@gnu.org> |
| 158 | 276 | ||
| 159 | * descr-text.el: Add more keywords. | 277 | * descr-text.el: Add more keywords. |
diff --git a/lisp/calc/calc-embed.el b/lisp/calc/calc-embed.el index 4c6311c9a5b..e3b3b6b5b19 100644 --- a/lisp/calc/calc-embed.el +++ b/lisp/calc/calc-embed.el | |||
| @@ -967,19 +967,24 @@ The command \\[yank] can retrieve it from there." | |||
| 967 | (calc-embedded-original-buffer t info) | 967 | (calc-embedded-original-buffer t info) |
| 968 | (or (equal str (aref info 6)) | 968 | (or (equal str (aref info 6)) |
| 969 | (let ((delta (- (aref info 5) (aref info 3))) | 969 | (let ((delta (- (aref info 5) (aref info 3))) |
| 970 | (adjbot 0) | ||
| 970 | (buffer-read-only nil)) | 971 | (buffer-read-only nil)) |
| 971 | (goto-char (aref info 2)) | 972 | (goto-char (aref info 2)) |
| 972 | (delete-region (point) (aref info 3)) | 973 | (delete-region (point) (aref info 3)) |
| 973 | (and (> (nth 1 entry) (1+ extra)) | 974 | (and (> (nth 1 entry) (1+ extra)) |
| 974 | (aref info 7) | 975 | (aref info 7) |
| 975 | (progn | 976 | (progn |
| 976 | (aset info 7 nil) | ||
| 977 | (delete-horizontal-space) | 977 | (delete-horizontal-space) |
| 978 | (insert "\n\n") | 978 | (if (looking-at "\n") |
| 979 | (delete-horizontal-space) | 979 | ;; If there's a newline there, don't add one |
| 980 | (backward-char 1))) | 980 | (insert "\n") |
| 981 | (insert "\n\n") | ||
| 982 | (delete-horizontal-space) | ||
| 983 | (setq adjbot 1) | ||
| 984 | ; (setq delta (1+ delta)) | ||
| 985 | (backward-char 1)))) | ||
| 981 | (insert str) | 986 | (insert str) |
| 982 | (set-marker (aref info 3) (point)) | 987 | (set-marker (aref info 3) (+ (point) adjbot)) |
| 983 | (set-marker (aref info 5) (+ (point) delta)) | 988 | (set-marker (aref info 5) (+ (point) delta)) |
| 984 | (aset info 6 str)))))) | 989 | (aset info 6 str)))))) |
| 985 | (if (eq (car-safe val) 'calcFunc-evalto) | 990 | (if (eq (car-safe val) 'calcFunc-evalto) |
diff --git a/lisp/calc/calc-lang.el b/lisp/calc/calc-lang.el index d91d78fc461..63d24bb76d5 100644 --- a/lisp/calc/calc-lang.el +++ b/lisp/calc/calc-lang.el | |||
| @@ -469,12 +469,12 @@ | |||
| 469 | (put 'latex 'math-function-table | 469 | (put 'latex 'math-function-table |
| 470 | (append | 470 | (append |
| 471 | (get 'tex 'math-function-table) | 471 | (get 'tex 'math-function-table) |
| 472 | '(( \\frac . (math-latex-parse-frac /)) | 472 | '(( \\frac . (math-latex-parse-frac)) |
| 473 | ( \\tfrac . (math-latex-parse-frac /)) | 473 | ( \\tfrac . (math-latex-parse-frac)) |
| 474 | ( \\dfrac . (math-latex-parse-frac /)) | 474 | ( \\dfrac . (math-latex-parse-frac)) |
| 475 | ( \\binom . (math-latex-parse-frac calcFunc-choose)) | 475 | ( \\binom . (math-latex-parse-two-args calcFunc-choose)) |
| 476 | ( \\tbinom . (math-latex-parse-frac calcFunc-choose)) | 476 | ( \\tbinom . (math-latex-parse-two-args calcFunc-choose)) |
| 477 | ( \\dbinom . (math-latex-parse-frac calcFunc-choose)) | 477 | ( \\dbinom . (math-latex-parse-two-args calcFunc-choose)) |
| 478 | ( \\phi . calcFunc-totient ) | 478 | ( \\phi . calcFunc-totient ) |
| 479 | ( \\mu . calcFunc-moebius )))) | 479 | ( \\mu . calcFunc-moebius )))) |
| 480 | 480 | ||
| @@ -487,12 +487,23 @@ | |||
| 487 | 487 | ||
| 488 | (put 'latex 'math-complex-format 'i) | 488 | (put 'latex 'math-complex-format 'i) |
| 489 | 489 | ||
| 490 | |||
| 490 | (defun math-latex-parse-frac (f val) | 491 | (defun math-latex-parse-frac (f val) |
| 491 | (let (numer denom) | 492 | (let (numer denom) |
| 492 | (setq args (math-read-expr-list)) | 493 | (setq numer (car (math-read-expr-list))) |
| 494 | (math-read-token) | ||
| 495 | (setq denom (math-read-factor)) | ||
| 496 | (if (and (Math-num-integerp numer) | ||
| 497 | (Math-num-integerp denom)) | ||
| 498 | (list 'frac numer denom) | ||
| 499 | (list '/ numer denom)))) | ||
| 500 | |||
| 501 | (defun math-latex-parse-two-args (f val) | ||
| 502 | (let (first second) | ||
| 503 | (setq first (car (math-read-expr-list))) | ||
| 493 | (math-read-token) | 504 | (math-read-token) |
| 494 | (setq margs (math-read-factor)) | 505 | (setq second (math-read-factor)) |
| 495 | (list (nth 2 f) (car args) margs))) | 506 | (list (nth 2 f) first second))) |
| 496 | 507 | ||
| 497 | (defun math-latex-print-frac (a fn) | 508 | (defun math-latex-print-frac (a fn) |
| 498 | (list 'horiz (nth 1 fn) "{" (math-compose-expr (nth 1 a) -1) | 509 | (list 'horiz (nth 1 fn) "{" (math-compose-expr (nth 1 a) -1) |
diff --git a/lisp/case-table.el b/lisp/case-table.el index 747e90c28f5..c3da621a9dd 100644 --- a/lisp/case-table.el +++ b/lisp/case-table.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; case-table.el --- code to extend the character set and support case tables | 1 | ;;; case-table.el --- code to extend the character set and support case tables |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1988, 1994 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1988, 1994, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Howard Gayle | 5 | ;; Author: Howard Gayle |
| 6 | ;; Maintainer: FSF | 6 | ;; Maintainer: FSF |
| @@ -60,11 +60,26 @@ | |||
| 60 | (describe-vector description) | 60 | (describe-vector description) |
| 61 | (help-mode))))) | 61 | (help-mode))))) |
| 62 | 62 | ||
| 63 | (defun get-upcase-table (case-table) | ||
| 64 | "Return the upcase table of CASE-TABLE." | ||
| 65 | (or (char-table-extra-slot case-table 0) | ||
| 66 | ;; Setup all extra slots of CASE-TABLE by temporarily selecting | ||
| 67 | ;; it as the standard case table. | ||
| 68 | (let ((old (standard-case-table))) | ||
| 69 | (unwind-protect | ||
| 70 | (progn | ||
| 71 | (set-standard-case-table case-table) | ||
| 72 | (char-table-extra-slot case-table 0)) | ||
| 73 | (or (eq case-table old) | ||
| 74 | (set-standard-case-table old)))))) | ||
| 75 | |||
| 63 | (defun copy-case-table (case-table) | 76 | (defun copy-case-table (case-table) |
| 64 | (let ((copy (copy-sequence case-table))) | 77 | (let ((copy (copy-sequence case-table)) |
| 65 | ;; Clear out the extra slots so that they will be | 78 | (up (char-table-extra-slot case-table 0))) |
| 66 | ;; recomputed from the main (downcase) table. | 79 | ;; Clear out the extra slots (except for upcase table) so that |
| 67 | (set-char-table-extra-slot copy 0 nil) | 80 | ;; they will be recomputed from the main (downcase) table. |
| 81 | (if up | ||
| 82 | (set-char-table-extra-slot copy 0 (copy-sequence up))) | ||
| 68 | (set-char-table-extra-slot copy 1 nil) | 83 | (set-char-table-extra-slot copy 1 nil) |
| 69 | (set-char-table-extra-slot copy 2 nil) | 84 | (set-char-table-extra-slot copy 2 nil) |
| 70 | copy)) | 85 | copy)) |
| @@ -77,9 +92,11 @@ It also modifies `standard-syntax-table' to | |||
| 77 | indicate left and right delimiters." | 92 | indicate left and right delimiters." |
| 78 | (aset table l l) | 93 | (aset table l l) |
| 79 | (aset table r r) | 94 | (aset table r r) |
| 95 | (let ((up (get-upcase-table table))) | ||
| 96 | (aset up l l) | ||
| 97 | (aset up r r)) | ||
| 80 | ;; Clear out the extra slots so that they will be | 98 | ;; Clear out the extra slots so that they will be |
| 81 | ;; recomputed from the main (downcase) table. | 99 | ;; recomputed from the main (downcase) table and upcase table. |
| 82 | (set-char-table-extra-slot table 0 nil) | ||
| 83 | (set-char-table-extra-slot table 1 nil) | 100 | (set-char-table-extra-slot table 1 nil) |
| 84 | (set-char-table-extra-slot table 2 nil) | 101 | (set-char-table-extra-slot table 2 nil) |
| 85 | (modify-syntax-entry l (concat "(" (char-to-string r) " ") | 102 | (modify-syntax-entry l (concat "(" (char-to-string r) " ") |
| @@ -110,9 +127,10 @@ that will be used as the downcase part of a case table. | |||
| 110 | It also modifies `standard-syntax-table'. | 127 | It also modifies `standard-syntax-table'. |
| 111 | SYNTAX should be \" \", \"w\", \".\" or \"_\"." | 128 | SYNTAX should be \" \", \"w\", \".\" or \"_\"." |
| 112 | (aset table c c) | 129 | (aset table c c) |
| 130 | (let ((up (get-upcase-table table))) | ||
| 131 | (aset up c c)) | ||
| 113 | ;; Clear out the extra slots so that they will be | 132 | ;; Clear out the extra slots so that they will be |
| 114 | ;; recomputed from the main (downcase) table. | 133 | ;; recomputed from the main (downcase) table and upcase table. |
| 115 | (set-char-table-extra-slot table 0 nil) | ||
| 116 | (set-char-table-extra-slot table 1 nil) | 134 | (set-char-table-extra-slot table 1 nil) |
| 117 | (set-char-table-extra-slot table 2 nil) | 135 | (set-char-table-extra-slot table 2 nil) |
| 118 | (modify-syntax-entry c syntax (standard-syntax-table))) | 136 | (modify-syntax-entry c syntax (standard-syntax-table))) |
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index 86c3ac1bab4..6b5c0b1c0f1 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el | |||
| @@ -881,11 +881,11 @@ which has a non-nil property `lisp-indent-function', | |||
| 881 | that specifies how to do the indentation. The property value can be | 881 | that specifies how to do the indentation. The property value can be |
| 882 | * `defun', meaning indent `defun'-style; | 882 | * `defun', meaning indent `defun'-style; |
| 883 | * an integer N, meaning indent the first N arguments specially | 883 | * an integer N, meaning indent the first N arguments specially |
| 884 | like ordinary function arguments and then indent any further | 884 | like ordinary function arguments and then indent any further |
| 885 | aruments like a body; | 885 | arguments like a body; |
| 886 | * a function to call just as this function was called. | 886 | * a function to call just as this function was called. |
| 887 | If that function returns nil, that means it doesn't specify | 887 | If that function returns nil, that means it doesn't specify |
| 888 | the indentation. | 888 | the indentation. |
| 889 | 889 | ||
| 890 | This function also returns nil meaning don't specify the indentation." | 890 | This function also returns nil meaning don't specify the indentation." |
| 891 | (let ((normal-indent (current-column))) | 891 | (let ((normal-indent (current-column))) |
| @@ -921,7 +921,7 @@ This function also returns nil meaning don't specify the indentation." | |||
| 921 | (lisp-indent-specform method state | 921 | (lisp-indent-specform method state |
| 922 | indent-point normal-indent)) | 922 | indent-point normal-indent)) |
| 923 | (method | 923 | (method |
| 924 | (funcall method state indent-point))))))) | 924 | (funcall method indent-point state))))))) |
| 925 | 925 | ||
| 926 | (defvar lisp-body-indent 2 | 926 | (defvar lisp-body-indent 2 |
| 927 | "Number of columns to indent the second line of a `(def...)' form.") | 927 | "Number of columns to indent the second line of a `(def...)' form.") |
diff --git a/lisp/faces.el b/lisp/faces.el index 5efcc30cfea..0185541ecef 100644 --- a/lisp/faces.el +++ b/lisp/faces.el | |||
| @@ -1143,15 +1143,26 @@ Value is a list (FACE NEW-VALUE) where FACE is the face read | |||
| 1143 | ;; conflict with Lucid, which uses that name differently. | 1143 | ;; conflict with Lucid, which uses that name differently. |
| 1144 | 1144 | ||
| 1145 | (defvar help-xref-stack) | 1145 | (defvar help-xref-stack) |
| 1146 | (defun list-faces-display () | 1146 | (defun list-faces-display (&optional regexp) |
| 1147 | "List all faces, using the same sample text in each. | 1147 | "List all faces, using the same sample text in each. |
| 1148 | The sample text is a string that comes from the variable | 1148 | The sample text is a string that comes from the variable |
| 1149 | `list-faces-sample-text'." | 1149 | `list-faces-sample-text'. |
| 1150 | (interactive) | 1150 | |
| 1151 | If REGEXP is non-nil, list only those faces with names matching | ||
| 1152 | this regular expression. When called interactively with a prefix | ||
| 1153 | arg, prompt for a regular expression." | ||
| 1154 | (interactive (list (and current-prefix-arg | ||
| 1155 | (read-string "List faces matching regexp: ")))) | ||
| 1151 | (let ((faces (sort (face-list) #'string-lessp)) | 1156 | (let ((faces (sort (face-list) #'string-lessp)) |
| 1152 | (face nil) | ||
| 1153 | (frame (selected-frame)) | 1157 | (frame (selected-frame)) |
| 1154 | disp-frame window face-name) | 1158 | disp-frame window face-name) |
| 1159 | (when (> (length regexp) 0) | ||
| 1160 | (setq faces | ||
| 1161 | (delq nil | ||
| 1162 | (mapcar (lambda (f) | ||
| 1163 | (when (string-match regexp (symbol-name f)) | ||
| 1164 | f)) | ||
| 1165 | faces)))) | ||
| 1155 | (with-output-to-temp-buffer "*Faces*" | 1166 | (with-output-to-temp-buffer "*Faces*" |
| 1156 | (save-excursion | 1167 | (save-excursion |
| 1157 | (set-buffer standard-output) | 1168 | (set-buffer standard-output) |
| @@ -1164,9 +1175,7 @@ The sample text is a string that comes from the variable | |||
| 1164 | "\\[help-follow] on a face name to customize it\n" | 1175 | "\\[help-follow] on a face name to customize it\n" |
| 1165 | "or on its sample text for a description of the face.\n\n"))) | 1176 | "or on its sample text for a description of the face.\n\n"))) |
| 1166 | (setq help-xref-stack nil) | 1177 | (setq help-xref-stack nil) |
| 1167 | (while faces | 1178 | (dolist (face faces) |
| 1168 | (setq face (car faces)) | ||
| 1169 | (setq faces (cdr faces)) | ||
| 1170 | (setq face-name (symbol-name face)) | 1179 | (setq face-name (symbol-name face)) |
| 1171 | (insert (format "%25s " face-name)) | 1180 | (insert (format "%25s " face-name)) |
| 1172 | ;; Hyperlink to a customization buffer for the face. Using | 1181 | ;; Hyperlink to a customization buffer for the face. Using |
| @@ -1208,6 +1217,7 @@ The sample text is a string that comes from the variable | |||
| 1208 | (copy-face (car faces) (car faces) frame disp-frame) | 1217 | (copy-face (car faces) (car faces) frame disp-frame) |
| 1209 | (setq faces (cdr faces))))))) | 1218 | (setq faces (cdr faces))))))) |
| 1210 | 1219 | ||
| 1220 | |||
| 1211 | (defun describe-face (face &optional frame) | 1221 | (defun describe-face (face &optional frame) |
| 1212 | "Display the properties of face FACE on FRAME. | 1222 | "Display the properties of face FACE on FRAME. |
| 1213 | Interactively, FACE defaults to the faces of the character after point | 1223 | Interactively, FACE defaults to the faces of the character after point |
diff --git a/lisp/font-core.el b/lisp/font-core.el index ce4a35a0ec3..bbe1961e51e 100644 --- a/lisp/font-core.el +++ b/lisp/font-core.el | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | ;;; font-core.el --- Core interface to font-lock | 1 | ;;; font-core.el --- Core interface to font-lock |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1992, 93, 94, 95, 96, 97, 98, 1999, 2000, 2001, 02, 2003 | 3 | ;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, |
| 4 | ;; Free Software Foundation, Inc. | 4 | ;; 2002, 2003, 2005 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Maintainer: FSF | 6 | ;; Maintainer: FSF |
| 7 | ;; Keywords: languages, faces | 7 | ;; Keywords: languages, faces |
| @@ -202,6 +202,7 @@ this function onto `change-major-mode-hook'." | |||
| 202 | ;; Only do hard work if the mode has specified stuff in | 202 | ;; Only do hard work if the mode has specified stuff in |
| 203 | ;; `font-lock-defaults'. | 203 | ;; `font-lock-defaults'. |
| 204 | (when (or font-lock-defaults | 204 | (when (or font-lock-defaults |
| 205 | (and (boundp 'font-lock-keywords) font-lock-keywords) | ||
| 205 | (cdr (assq major-mode font-lock-defaults-alist))) | 206 | (cdr (assq major-mode font-lock-defaults-alist))) |
| 206 | (font-lock-mode-internal mode))) | 207 | (font-lock-mode-internal mode))) |
| 207 | 208 | ||
| @@ -295,6 +296,5 @@ means that Font Lock mode is turned on for buffers in C and C++ modes only." | |||
| 295 | 296 | ||
| 296 | (provide 'font-core) | 297 | (provide 'font-core) |
| 297 | 298 | ||
| 299 | ;; arch-tag: f8c286e1-02f7-41d9-b89b-1b67780aed71 | ||
| 298 | ;;; font-core.el ends here | 300 | ;;; font-core.el ends here |
| 299 | |||
| 300 | ;;; arch-tag: f8c286e1-02f7-41d9-b89b-1b67780aed71 | ||
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index eb761d10b27..e0db7c194a7 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2005-02-03 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 2 | |||
| 3 | * gnus-art.el (gnus-mime-inline-part): Show the raw contents if a | ||
| 4 | prefix arg is neither nil nor a number, as info specifies. | ||
| 5 | |||
| 1 | 2005-01-30 Stefan Monnier <monnier@iro.umontreal.ca> | 6 | 2005-01-30 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 7 | ||
| 3 | * gnus-art.el (gnus-article-mode): Turn off the "\ " non-break space. | 8 | * gnus-art.el (gnus-article-mode): Turn off the "\ " non-break space. |
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index 3f8e172c1a8..22d48c3eff0 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el | |||
| @@ -4354,7 +4354,16 @@ are decompressed." | |||
| 4354 | (setq charset | 4354 | (setq charset |
| 4355 | (or (cdr (assq arg | 4355 | (or (cdr (assq arg |
| 4356 | gnus-summary-show-article-charset-alist)) | 4356 | gnus-summary-show-article-charset-alist)) |
| 4357 | (mm-read-coding-system "Charset: "))))) | 4357 | (mm-read-coding-system "Charset: ")))) |
| 4358 | (t | ||
| 4359 | (if (mm-handle-undisplayer handle) | ||
| 4360 | (mm-remove-part handle)) | ||
| 4361 | (setq contents | ||
| 4362 | (if (fboundp 'string-to-multibyte) | ||
| 4363 | (string-to-multibyte contents) | ||
| 4364 | (mapconcat | ||
| 4365 | (lambda (ch) (mm-string-as-multibyte (char-to-string ch))) | ||
| 4366 | contents ""))))) | ||
| 4358 | (forward-line 2) | 4367 | (forward-line 2) |
| 4359 | (mm-insert-inline handle | 4368 | (mm-insert-inline handle |
| 4360 | (if (and charset | 4369 | (if (and charset |
diff --git a/lisp/help-fns.el b/lisp/help-fns.el index 9acadaa2fa6..4bf0a4775a0 100644 --- a/lisp/help-fns.el +++ b/lisp/help-fns.el | |||
| @@ -97,6 +97,7 @@ With ARG, you are asked to choose which language." | |||
| 97 | (forward-line 1) | 97 | (forward-line 1) |
| 98 | (newline (- n (/ n 2))))) | 98 | (newline (- n (/ n 2))))) |
| 99 | (goto-char (point-min)) | 99 | (goto-char (point-min)) |
| 100 | (setq buffer-undo-list nil) | ||
| 100 | (set-buffer-modified-p nil)))) | 101 | (set-buffer-modified-p nil)))) |
| 101 | 102 | ||
| 102 | ;;;###autoload | 103 | ;;;###autoload |
diff --git a/lisp/help.el b/lisp/help.el index f5831c9ab3f..5da7ef0c03a 100644 --- a/lisp/help.el +++ b/lisp/help.el | |||
| @@ -186,7 +186,7 @@ If FUNCTION is nil, it applies `message', thus displaying the message." | |||
| 186 | \(Use SPC or DEL to scroll through this text. Type \\<help-map>\\[help-quit] to exit the Help command.) | 186 | \(Use SPC or DEL to scroll through this text. Type \\<help-map>\\[help-quit] to exit the Help command.) |
| 187 | 187 | ||
| 188 | a command-apropos. Give a substring, and see a list of commands | 188 | a command-apropos. Give a substring, and see a list of commands |
| 189 | (functions interactively callable) that contain | 189 | (functions that are interactively callable) that contain |
| 190 | that substring. See also the apropos command. | 190 | that substring. See also the apropos command. |
| 191 | b describe-bindings. Display table of all key bindings. | 191 | b describe-bindings. Display table of all key bindings. |
| 192 | c describe-key-briefly. Type a command key sequence; | 192 | c describe-key-briefly. Type a command key sequence; |
| @@ -194,24 +194,28 @@ c describe-key-briefly. Type a command key sequence; | |||
| 194 | C describe-coding-system. This describes either a specific coding system | 194 | C describe-coding-system. This describes either a specific coding system |
| 195 | (if you type its name) or the coding systems currently in use | 195 | (if you type its name) or the coding systems currently in use |
| 196 | (if you type just RET). | 196 | (if you type just RET). |
| 197 | e view-echo-area-messages. Show the `*Messages*' buffer. | 197 | e view-echo-area-messages. Show the buffer where the echo-area messages |
| 198 | f describe-function. Type a function name and get documentation of it. | 198 | are stored. |
| 199 | f describe-function. Type a function name and get its documentation. | ||
| 199 | F Info-goto-emacs-command-node. Type a function name; | 200 | F Info-goto-emacs-command-node. Type a function name; |
| 200 | it takes you to the Info node for that command. | 201 | it takes you to the on-line manual's section that describes |
| 202 | the command. | ||
| 201 | h Display the HELLO file which illustrates various scripts. | 203 | h Display the HELLO file which illustrates various scripts. |
| 202 | i info. The info documentation reader. | 204 | i info. The Info documentation reader: read on-line manuals. |
| 203 | I describe-input-method. Describe a specific input method (if you type | 205 | I describe-input-method. Describe a specific input method (if you type |
| 204 | its name) or the current input method (if you type just RET). | 206 | its name) or the current input method (if you type just RET). |
| 205 | k describe-key. Type a command key sequence; | 207 | k describe-key. Type a command key sequence; |
| 206 | it displays the full documentation. | 208 | it displays the full documentation for that key sequence. |
| 207 | K Info-goto-emacs-key-command-node. Type a command key sequence; | 209 | K Info-goto-emacs-key-command-node. Type a command key sequence; |
| 208 | it takes you to the Info node for the command bound to that key. | 210 | it takes you to the on-line manual's section that describes |
| 211 | the command bound to that key. | ||
| 209 | l view-lossage. Show last 100 characters you typed. | 212 | l view-lossage. Show last 100 characters you typed. |
| 210 | L describe-language-environment. This describes either a | 213 | L describe-language-environment. This describes either a |
| 211 | specific language environment (if you type its name) | 214 | specific language environment (if you type its name) |
| 212 | or the current language environment (if you type just RET). | 215 | or the current language environment (if you type just RET). |
| 213 | m describe-mode. Print documentation of current minor modes, | 216 | m describe-mode. Display documentation of current minor modes, |
| 214 | and the current major mode, including their special commands. | 217 | and the current major mode, including their special commands. |
| 218 | n view-emacs-news. Display news of recent Emacs changes. | ||
| 215 | p finder-by-keyword. Find packages matching a given topic keyword. | 219 | p finder-by-keyword. Find packages matching a given topic keyword. |
| 216 | s describe-syntax. Display contents of syntax table, plus explanations. | 220 | s describe-syntax. Display contents of syntax table, plus explanations. |
| 217 | S info-lookup-symbol. Display the definition of a specific symbol | 221 | S info-lookup-symbol. Display the definition of a specific symbol |
diff --git a/lisp/hi-lock.el b/lisp/hi-lock.el index 99eeb698171..81c7296760f 100644 --- a/lisp/hi-lock.el +++ b/lisp/hi-lock.el | |||
| @@ -294,6 +294,10 @@ is found. A mode is excluded if it's in the list `hi-lock-exclude-modes'." | |||
| 294 | (when (and (not hi-lock-mode-prev) hi-lock-mode) | 294 | (when (and (not hi-lock-mode-prev) hi-lock-mode) |
| 295 | (add-hook 'find-file-hooks 'hi-lock-find-file-hook) | 295 | (add-hook 'find-file-hooks 'hi-lock-find-file-hook) |
| 296 | (add-hook 'font-lock-mode-hook 'hi-lock-font-lock-hook) | 296 | (add-hook 'font-lock-mode-hook 'hi-lock-font-lock-hook) |
| 297 | (when (eq nil font-lock-defaults) | ||
| 298 | (setq font-lock-defaults '(nil))) | ||
| 299 | (unless font-lock-mode | ||
| 300 | (font-lock-mode 1)) | ||
| 297 | (define-key-after menu-bar-edit-menu [hi-lock] | 301 | (define-key-after menu-bar-edit-menu [hi-lock] |
| 298 | (cons "Regexp Highlighting" hi-lock-menu)) | 302 | (cons "Regexp Highlighting" hi-lock-menu)) |
| 299 | (dolist (buffer (buffer-list)) | 303 | (dolist (buffer (buffer-list)) |
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el index 5953d499755..acebb3b8d70 100644 --- a/lisp/international/mule-cmds.el +++ b/lisp/international/mule-cmds.el | |||
| @@ -332,7 +332,8 @@ This also sets the following values: | |||
| 332 | (or (local-variable-p 'buffer-file-coding-system buffer) | 332 | (or (local-variable-p 'buffer-file-coding-system buffer) |
| 333 | (ucs-set-table-for-input buffer)))) | 333 | (ucs-set-table-for-input buffer)))) |
| 334 | 334 | ||
| 335 | (if default-enable-multibyte-characters | 335 | (if (and default-enable-multibyte-characters (not (eq system-type 'darwin))) |
| 336 | ;; The file-name coding system on Darwin systems is always utf-8. | ||
| 336 | (setq default-file-name-coding-system coding-system)) | 337 | (setq default-file-name-coding-system coding-system)) |
| 337 | ;; If coding-system is nil, honor that on MS-DOS as well, so | 338 | ;; If coding-system is nil, honor that on MS-DOS as well, so |
| 338 | ;; that they could reset the terminal coding system. | 339 | ;; that they could reset the terminal coding system. |
| @@ -1647,6 +1648,8 @@ The default status is as follows: | |||
| 1647 | 1648 | ||
| 1648 | (set-default-coding-systems nil) | 1649 | (set-default-coding-systems nil) |
| 1649 | (setq default-sendmail-coding-system 'iso-latin-1) | 1650 | (setq default-sendmail-coding-system 'iso-latin-1) |
| 1651 | ;; On Darwin systems, this should be utf-8, but when this file is loaded | ||
| 1652 | ;; utf-8 is not yet defined, so we set it in set-locale-environment instead. | ||
| 1650 | (setq default-file-name-coding-system 'iso-latin-1) | 1653 | (setq default-file-name-coding-system 'iso-latin-1) |
| 1651 | ;; Preserve eol-type from existing default-process-coding-systems. | 1654 | ;; Preserve eol-type from existing default-process-coding-systems. |
| 1652 | ;; On non-unix-like systems in particular, these may have been set | 1655 | ;; On non-unix-like systems in particular, these may have been set |
| @@ -2411,6 +2414,10 @@ system codeset `%s' for this locale." coding-system codeset)))))))) | |||
| 2411 | (set-keyboard-coding-system code-page-coding) | 2414 | (set-keyboard-coding-system code-page-coding) |
| 2412 | (set-terminal-coding-system code-page-coding)))) | 2415 | (set-terminal-coding-system code-page-coding)))) |
| 2413 | 2416 | ||
| 2417 | ;; On Darwin, file names are always encoded in utf-8, no matter the locale. | ||
| 2418 | (when (eq system-type 'darwin) | ||
| 2419 | (setq default-file-name-coding-system 'utf-8)) | ||
| 2420 | |||
| 2414 | ;; Default to A4 paper if we're not in a C, POSIX or US locale. | 2421 | ;; Default to A4 paper if we're not in a C, POSIX or US locale. |
| 2415 | ;; (See comments in Flocale_info.) | 2422 | ;; (See comments in Flocale_info.) |
| 2416 | (let ((locale locale) | 2423 | (let ((locale locale) |
diff --git a/lisp/net/ldap.el b/lisp/net/ldap.el index f093fb1cbcc..16af42ffc27 100644 --- a/lisp/net/ldap.el +++ b/lisp/net/ldap.el | |||
| @@ -579,9 +579,9 @@ an alist of attribute/value pairs." | |||
| 579 | (end-of-line) | 579 | (end-of-line) |
| 580 | (point)))) | 580 | (point)))) |
| 581 | (forward-line 1) | 581 | (forward-line 1) |
| 582 | (while (looking-at "^\\(\\w*\\)[=:\t ]+\\(<[\t ]*file://\\)?\\(.*\\)$") | 582 | (while (looking-at "^\\(\\w*\\)\\(;\\w*\\)?[=:\t ]+\\(<[\t ]*file://\\)?\\(.*\\)$") |
| 583 | (setq name (match-string 1) | 583 | (setq name (match-string 1) |
| 584 | value (match-string 3)) | 584 | value (match-string 4)) |
| 585 | ;; Need to handle file:///D:/... as generated by OpenLDAP | 585 | ;; Need to handle file:///D:/... as generated by OpenLDAP |
| 586 | ;; on DOS/Windows as local files. | 586 | ;; on DOS/Windows as local files. |
| 587 | (if (and (memq system-type '(windows-nt ms-dos)) | 587 | (if (and (memq system-type '(windows-nt ms-dos)) |
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el index 54c43d1df36..9c15fc5be52 100644 --- a/lisp/progmodes/gdb-ui.el +++ b/lisp/progmodes/gdb-ui.el | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | ;; Maintainer: FSF | 4 | ;; Maintainer: FSF |
| 5 | ;; Keywords: unix, tools | 5 | ;; Keywords: unix, tools |
| 6 | 6 | ||
| 7 | ;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. | 7 | ;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. |
| 8 | 8 | ||
| 9 | ;; This file is part of GNU Emacs. | 9 | ;; This file is part of GNU Emacs. |
| 10 | 10 | ||
| @@ -289,13 +289,6 @@ detailed description of this mode. | |||
| 289 | `(lambda () (gdb-var-create-handler ,expr)))))) | 289 | `(lambda () (gdb-var-create-handler ,expr)))))) |
| 290 | (select-window (get-buffer-window gud-comint-buffer 0))) | 290 | (select-window (get-buffer-window gud-comint-buffer 0))) |
| 291 | 291 | ||
| 292 | (defun gdb-goto-info () | ||
| 293 | "Go to Emacs info node: GDB Graphical Interface." | ||
| 294 | (interactive) | ||
| 295 | (select-frame (make-frame)) | ||
| 296 | (require 'info) | ||
| 297 | (Info-goto-node "(emacs)GDB Graphical Interface")) | ||
| 298 | |||
| 299 | (defconst gdb-var-create-regexp | 292 | (defconst gdb-var-create-regexp |
| 300 | "name=\"\\(.*?\\)\",numchild=\"\\(.*?\\)\",type=\"\\(.*?\\)\"") | 293 | "name=\"\\(.*?\\)\",numchild=\"\\(.*?\\)\",type=\"\\(.*?\\)\"") |
| 301 | 294 | ||
| @@ -1897,18 +1890,6 @@ corresponding to the mode line clicked." | |||
| 1897 | 1890 | ||
| 1898 | ;;; Shared keymap initialization: | 1891 | ;;; Shared keymap initialization: |
| 1899 | 1892 | ||
| 1900 | (let ((menu (make-sparse-keymap "GDB-Frames"))) | ||
| 1901 | (define-key gud-menu-map [frames] | ||
| 1902 | `(menu-item "GDB-Frames" ,menu :visible (eq gud-minor-mode 'gdba))) | ||
| 1903 | (define-key menu [gdb] '("Gdb" . gdb-frame-gdb-buffer)) | ||
| 1904 | (define-key menu [threads] '("Threads" . gdb-frame-threads-buffer)) | ||
| 1905 | (define-key menu [memory] '("Memory" . gdb-frame-memory-buffer)) | ||
| 1906 | (define-key menu [assembler] '("Machine" . gdb-frame-assembler-buffer)) | ||
| 1907 | (define-key menu [registers] '("Registers" . gdb-frame-registers-buffer)) | ||
| 1908 | (define-key menu [locals] '("Locals" . gdb-frame-locals-buffer)) | ||
| 1909 | (define-key menu [frames] '("Stack" . gdb-frame-stack-buffer)) | ||
| 1910 | (define-key menu [breakpoints] '("Breakpoints" . gdb-frame-breakpoints-buffer))) | ||
| 1911 | |||
| 1912 | (let ((menu (make-sparse-keymap "GDB-Windows"))) | 1893 | (let ((menu (make-sparse-keymap "GDB-Windows"))) |
| 1913 | (define-key gud-menu-map [displays] | 1894 | (define-key gud-menu-map [displays] |
| 1914 | `(menu-item "GDB-Windows" ,menu :visible (eq gud-minor-mode 'gdba))) | 1895 | `(menu-item "GDB-Windows" ,menu :visible (eq gud-minor-mode 'gdba))) |
| @@ -1921,15 +1902,27 @@ corresponding to the mode line clicked." | |||
| 1921 | (define-key menu [frames] '("Stack" . gdb-display-stack-buffer)) | 1902 | (define-key menu [frames] '("Stack" . gdb-display-stack-buffer)) |
| 1922 | (define-key menu [breakpoints] '("Breakpoints" . gdb-display-breakpoints-buffer))) | 1903 | (define-key menu [breakpoints] '("Breakpoints" . gdb-display-breakpoints-buffer))) |
| 1923 | 1904 | ||
| 1905 | (let ((menu (make-sparse-keymap "GDB-Frames"))) | ||
| 1906 | (define-key gud-menu-map [frames] | ||
| 1907 | `(menu-item "GDB-Frames" ,menu :visible (eq gud-minor-mode 'gdba))) | ||
| 1908 | (define-key menu [gdb] '("Gdb" . gdb-frame-gdb-buffer)) | ||
| 1909 | (define-key menu [threads] '("Threads" . gdb-frame-threads-buffer)) | ||
| 1910 | (define-key menu [memory] '("Memory" . gdb-frame-memory-buffer)) | ||
| 1911 | (define-key menu [assembler] '("Machine" . gdb-frame-assembler-buffer)) | ||
| 1912 | (define-key menu [registers] '("Registers" . gdb-frame-registers-buffer)) | ||
| 1913 | (define-key menu [locals] '("Locals" . gdb-frame-locals-buffer)) | ||
| 1914 | (define-key menu [frames] '("Stack" . gdb-frame-stack-buffer)) | ||
| 1915 | (define-key menu [breakpoints] '("Breakpoints" . gdb-frame-breakpoints-buffer))) | ||
| 1916 | |||
| 1924 | (let ((menu (make-sparse-keymap "GDB-UI"))) | 1917 | (let ((menu (make-sparse-keymap "GDB-UI"))) |
| 1925 | (define-key gud-menu-map [ui] | 1918 | (define-key gud-menu-map [ui] |
| 1926 | `(menu-item "GDB-UI" ,menu :visible (eq gud-minor-mode 'gdba))) | 1919 | `(menu-item "GDB-UI" ,menu :visible (eq gud-minor-mode 'gdba))) |
| 1927 | (define-key menu [gdb-restore-windows] | 1920 | (define-key menu [gdb-restore-windows] |
| 1928 | '("Restore window layout" . gdb-restore-windows)) | 1921 | '("Restore Window Layout" . gdb-restore-windows)) |
| 1929 | (define-key menu [gdb-many-windows] | 1922 | (define-key menu [gdb-many-windows] |
| 1930 | (menu-bar-make-toggle gdb-many-windows gdb-many-windows | 1923 | (menu-bar-make-toggle gdb-many-windows gdb-many-windows |
| 1931 | "Display other windows" "Many Windows %s" | 1924 | "Display Other Windows" "Many windows %s" |
| 1932 | "Display locals, stack and breakpoint information"))) | 1925 | "Toggle display of locals, stack and breakpoint information"))) |
| 1933 | 1926 | ||
| 1934 | (defun gdb-frame-gdb-buffer () | 1927 | (defun gdb-frame-gdb-buffer () |
| 1935 | "Display GUD buffer in a new frame." | 1928 | "Display GUD buffer in a new frame." |
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el index 2a40ae1aab6..0988599ed54 100644 --- a/lisp/progmodes/gud.el +++ b/lisp/progmodes/gud.el | |||
| @@ -91,9 +91,17 @@ If SOFT is non-nil, returns nil if the symbol doesn't already exist." | |||
| 91 | "Non-nil if debuggee is running. | 91 | "Non-nil if debuggee is running. |
| 92 | Used to grey out relevant toolbar icons.") | 92 | Used to grey out relevant toolbar icons.") |
| 93 | 93 | ||
| 94 | (defun gud-goto-info () | ||
| 95 | "Go to relevant Emacs info node." | ||
| 96 | (interactive) | ||
| 97 | (select-frame (make-frame)) | ||
| 98 | (require 'info) | ||
| 99 | (if (memq gud-minor-mode '(gdbmi gdba)) | ||
| 100 | (Info-goto-node "(emacs)GDB Graphical Interface") | ||
| 101 | (Info-goto-node "(emacs)Debuggers"))) | ||
| 102 | |||
| 94 | (easy-mmode-defmap gud-menu-map | 103 | (easy-mmode-defmap gud-menu-map |
| 95 | '(([help] menu-item "Help" gdb-goto-info | 104 | '(([help] "Info" . gud-goto-info) |
| 96 | :enable (memq gud-minor-mode '(gdbmi gdba))) | ||
| 97 | ([refresh] "Refresh" . gud-refresh) | 105 | ([refresh] "Refresh" . gud-refresh) |
| 98 | ([run] menu-item "Run" gud-run | 106 | ([run] menu-item "Run" gud-run |
| 99 | :enable (and (not gud-running) | 107 | :enable (and (not gud-running) |
| @@ -172,7 +180,7 @@ Used to grey out relevant toolbar icons.") | |||
| 172 | (gud-nexti . "gud-ni") | 180 | (gud-nexti . "gud-ni") |
| 173 | (gud-up . "gud-up") | 181 | (gud-up . "gud-up") |
| 174 | (gud-down . "gud-down") | 182 | (gud-down . "gud-down") |
| 175 | (gdb-goto-info . "help")) | 183 | (gud-goto-info . "info")) |
| 176 | map) | 184 | map) |
| 177 | (tool-bar-local-item-from-menu | 185 | (tool-bar-local-item-from-menu |
| 178 | (car x) (cdr x) map gud-minor-mode-map))))) | 186 | (car x) (cdr x) map gud-minor-mode-map))))) |
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el index 3f3529f2aa5..c3b0f561cc2 100644 --- a/lisp/textmodes/ispell.el +++ b/lisp/textmodes/ispell.el | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | ;;; ispell.el --- interface to International Ispell Versions 3.1 and 3.2 | 1 | ;;; ispell.el --- interface to International Ispell Versions 3.1 and 3.2 |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005 |
| 4 | ;; Free Software Foundation, Inc. | ||
| 4 | 5 | ||
| 5 | ;; Author: Ken Stevens <k.stevens@ieee.org> | 6 | ;; Author: Ken Stevens <k.stevens@ieee.org> |
| 6 | ;; Maintainer: Ken Stevens <k.stevens@ieee.org> | 7 | ;; Maintainer: Ken Stevens <k.stevens@ieee.org> |
| @@ -2419,7 +2420,7 @@ With prefix argument, set the default dictionary." | |||
| 2419 | "Update the dictionary actually used by Ispell. | 2420 | "Update the dictionary actually used by Ispell. |
| 2420 | This may kill the Ispell process; if so, | 2421 | This may kill the Ispell process; if so, |
| 2421 | a new one will be started when needed." | 2422 | a new one will be started when needed." |
| 2422 | (let ((dict (or ispell-local-dictionary ispell-dictionary "default"))) | 2423 | (let ((dict (or ispell-local-dictionary ispell-dictionary))) |
| 2423 | (unless (equal ispell-current-dictionary dict) | 2424 | (unless (equal ispell-current-dictionary dict) |
| 2424 | (setq ispell-current-dictionary dict) | 2425 | (setq ispell-current-dictionary dict) |
| 2425 | (ispell-kill-ispell t)))) | 2426 | (ispell-kill-ispell t)))) |
diff --git a/lisp/textmodes/reftex.el b/lisp/textmodes/reftex.el index 318279b1377..49485c24725 100644 --- a/lisp/textmodes/reftex.el +++ b/lisp/textmodes/reftex.el | |||
| @@ -1228,6 +1228,11 @@ This enforces rescanning the buffer on next use." | |||
| 1228 | ;; But, when RESCAN is -1, don't rescan even if docstruct is empty. | 1228 | ;; But, when RESCAN is -1, don't rescan even if docstruct is empty. |
| 1229 | ;; When FILE is non-nil, parse only from that file. | 1229 | ;; When FILE is non-nil, parse only from that file. |
| 1230 | 1230 | ||
| 1231 | ;; Error out in a buffer without a file. | ||
| 1232 | (if (and reftex-mode | ||
| 1233 | (not (buffer-file-name))) | ||
| 1234 | (error "RefTeX works only in buffers visiting a file.")) | ||
| 1235 | |||
| 1231 | ;; Make sure we have the symbols tied | 1236 | ;; Make sure we have the symbols tied |
| 1232 | (if (eq reftex-docstruct-symbol nil) | 1237 | (if (eq reftex-docstruct-symbol nil) |
| 1233 | ;; Symbols are not yet tied: Tie them. | 1238 | ;; Symbols are not yet tied: Tie them. |
diff --git a/lisp/x-dnd.el b/lisp/x-dnd.el index f2b081fdcc5..a540c1b7af3 100644 --- a/lisp/x-dnd.el +++ b/lisp/x-dnd.el | |||
| @@ -557,18 +557,20 @@ EVENT is the client message. FRAME is where the mouse is now. | |||
| 557 | WINDOW is the window within FRAME where the mouse is now. | 557 | WINDOW is the window within FRAME where the mouse is now. |
| 558 | FORMAT is 32 (not used). MESSAGE is the data part of an XClientMessageEvent." | 558 | FORMAT is 32 (not used). MESSAGE is the data part of an XClientMessageEvent." |
| 559 | (cond ((equal "XdndEnter" message) | 559 | (cond ((equal "XdndEnter" message) |
| 560 | (let ((version (ash (car (aref data 1)) -8)) | 560 | (let* ((flags (aref data 1)) |
| 561 | (more-than-3 (cdr (aref data 1))) | 561 | (version (and (consp flags) (ash (car flags) -8))) |
| 562 | (dnd-source (aref data 0))) | 562 | (more-than-3 (and (consp flags) (cdr flags))) |
| 563 | (x-dnd-save-state | 563 | (dnd-source (aref data 0))) |
| 564 | window nil nil | 564 | (if version ;; If flags is bad, version will be nil. |
| 565 | (if (> more-than-3 0) | 565 | (x-dnd-save-state |
| 566 | (x-window-property "XdndTypeList" | 566 | window nil nil |
| 567 | frame "AnyPropertyType" | 567 | (if (> more-than-3 0) |
| 568 | dnd-source nil t) | 568 | (x-window-property "XdndTypeList" |
| 569 | (vector (x-get-atom-name (aref data 2)) | 569 | frame "AnyPropertyType" |
| 570 | (x-get-atom-name (aref data 3)) | 570 | dnd-source nil t) |
| 571 | (x-get-atom-name (aref data 4))))))) | 571 | (vector (x-get-atom-name (aref data 2)) |
| 572 | (x-get-atom-name (aref data 3)) | ||
| 573 | (x-get-atom-name (aref data 4)))))))) | ||
| 572 | 574 | ||
| 573 | ((equal "XdndPosition" message) | 575 | ((equal "XdndPosition" message) |
| 574 | (let* ((x (car (aref data 2))) | 576 | (let* ((x (car (aref data 2))) |
diff --git a/lispref/ChangeLog b/lispref/ChangeLog index c327bfc9058..b74ef44b0aa 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog | |||
| @@ -1,8 +1,62 @@ | |||
| 1 | 2005-01-31 Luc Teirlinck <teirllm@auburn.edu> | 1 | 2005-02-05 Lute Kamstra <lute@gnu.org> |
| 2 | |||
| 3 | * text.texi (Maintaining Undo): Remove obsolete function. | ||
| 4 | |||
| 5 | 2005-02-05 Eli Zaretskii <eliz@gnu.org> | ||
| 6 | |||
| 7 | * frames.texi (Color Names): Add pointer to the X docs about RGB | ||
| 8 | color specifications. Improve indexing | ||
| 9 | (Text Terminal Colors): Replace the description of RGB values by | ||
| 10 | an xref to "Color Names". | ||
| 11 | |||
| 12 | 2005-02-03 Richard M. Stallman <rms@gnu.org> | ||
| 13 | |||
| 14 | * windows.texi (Basic Windows): Add cursor-in-non-selected-windows. | ||
| 15 | Clarify. | ||
| 16 | (Selecting Windows): Clarify save-selected-window. | ||
| 17 | (Cyclic Window Ordering): Clarify walk-windows. | ||
| 18 | (Window Point): Clarify. | ||
| 19 | (Window Start): Add comment to example. | ||
| 20 | (Resizing Windows): Add `interactive' specs in examples. | ||
| 21 | Document fit-window-to-buffer. | ||
| 22 | |||
| 23 | * text.texi (User-Level Deletion): just-one-space takes numeric arg. | ||
| 24 | (Undo, Maintaining Undo): Clarify last change. | ||
| 25 | (Sorting): In sort-numeric-fields, explain about octal and hex. | ||
| 26 | Mention sort-numeric-base. | ||
| 27 | (Format Properties): Add xref for hard newlines. | ||
| 28 | |||
| 29 | * frames.texi (Window Frame Parameters): Explain pixel=char on tty. | ||
| 30 | (Pop-Up Menus): Fix typo. | ||
| 31 | (Color Names): Explain all types of color names. | ||
| 32 | Explain color-values on B&W terminal. | ||
| 33 | (Text Terminal Colors): Explain "rgb values" are lists. Fix arg names. | ||
| 34 | |||
| 35 | * files.texi (File Locks): Not supported on MS systems. | ||
| 36 | (Testing Accessibility): Clarify. | ||
| 37 | |||
| 38 | * edebug.texi (Printing in Edebug): Fix edebug-print-circle. | ||
| 39 | (Coverage Testing): Fix typo. | ||
| 40 | |||
| 41 | * commands.texi (Misc Events): Remove stray space. | ||
| 42 | |||
| 43 | * buffers.texi (Buffer Names): Clarify generate-new-buffer-name. | ||
| 44 | (Modification Time): Clarify when visited-file-modtime returns 0. | ||
| 45 | (The Buffer List): Clarify bury-buffer. | ||
| 46 | (Killing Buffers): Clarify. | ||
| 47 | (Indirect Buffers): Add clone-indirect-buffer. | ||
| 48 | |||
| 49 | 2005-02-02 Matt Hodges <MPHodges@member.fsf.org> | ||
| 50 | |||
| 51 | * edebug.texi (Printing in Edebug): Fix default value of | ||
| 52 | edebug-print-circle. | ||
| 53 | (Coverage Testing): Fix displayed frequency count data. | ||
| 54 | |||
| 55 | 2005-02-02 Luc Teirlinck <teirllm@auburn.edu> | ||
| 2 | 56 | ||
| 3 | * text.texi (Maintaining Undo): Add `undo-outer-limit'. | 57 | * text.texi (Maintaining Undo): Add `undo-outer-limit'. |
| 4 | 58 | ||
| 5 | 2005-02-01 Kim F. Storm <storm@cua.dk> | 59 | 2005-02-02 Kim F. Storm <storm@cua.dk> |
| 6 | 60 | ||
| 7 | * text.texi (Undo) <buffer-undo-list>: Describe `apply' elements. | 61 | * text.texi (Undo) <buffer-undo-list>: Describe `apply' elements. |
| 8 | 62 | ||
diff --git a/lispref/buffers.texi b/lispref/buffers.texi index 42131766ec7..e0ef75ccae8 100644 --- a/lispref/buffers.texi +++ b/lispref/buffers.texi | |||
| @@ -344,11 +344,11 @@ number inside of @samp{<@dots{}>}. It starts at 2 and keeps | |||
| 344 | incrementing the number until it is not the name of an existing buffer. | 344 | incrementing the number until it is not the name of an existing buffer. |
| 345 | 345 | ||
| 346 | If the optional second argument @var{ignore} is non-@code{nil}, it | 346 | If the optional second argument @var{ignore} is non-@code{nil}, it |
| 347 | should be a string; it makes a difference if it is a name in the | 347 | should be a string, a potential buffer name. It means to consider |
| 348 | sequence of names to be tried. That name will be considered acceptable, | 348 | that potential buffer acceptable, if it is tried, even it is the name |
| 349 | if it is tried, even if a buffer with that name exists. Thus, if | 349 | of an existing buffer (which would normally be rejected). Thus, if |
| 350 | buffers named @samp{foo}, @samp{foo<2>}, @samp{foo<3>} and @samp{foo<4>} | 350 | buffers named @samp{foo}, @samp{foo<2>}, @samp{foo<3>} and |
| 351 | exist, | 351 | @samp{foo<4>} exist, |
| 352 | 352 | ||
| 353 | @example | 353 | @example |
| 354 | (generate-new-buffer-name "foo") | 354 | (generate-new-buffer-name "foo") |
| @@ -629,16 +629,13 @@ modification time, as a list of the form @code{(@var{high} @var{low})}. | |||
| 629 | (This is the same format that @code{file-attributes} uses to return | 629 | (This is the same format that @code{file-attributes} uses to return |
| 630 | time values; see @ref{File Attributes}.) | 630 | time values; see @ref{File Attributes}.) |
| 631 | 631 | ||
| 632 | The function returns zero if the buffer has no recorded last | 632 | If the buffer has no recorded last modification time, this function |
| 633 | modification time, which can happen, for instance, if the record has | 633 | returns zero. This case occurs, for instance, if the buffer is not |
| 634 | been explicitly cleared by @code{clear-visited-file-modtime} or if the | 634 | visiting a file or if the time has been explicitly cleared by |
| 635 | buffer is not visiting a file. Note, however, that | 635 | @code{clear-visited-file-modtime}. Note, however, that |
| 636 | @code{visited-file-modtime} can return a non-zero value for some | 636 | @code{visited-file-modtime} returns a list for some non-file buffers |
| 637 | buffers that are not visiting files, but are nevertheless closely | 637 | too. For instance, in a Dired buffer listing a directory, it returns |
| 638 | associated with a file. This happens, for instance, with dired | 638 | the last modification time of that directory, as recorded by Dired. |
| 639 | buffers listing a directory. For such buffers, | ||
| 640 | @code{visited-file-modtime} returns the last modification time of that | ||
| 641 | directory, as recorded by dired. | ||
| 642 | 639 | ||
| 643 | For a new buffer visiting a not yet existing file, @var{high} is | 640 | For a new buffer visiting a not yet existing file, @var{high} is |
| 644 | @minus{}1 and @var{low} is 65535, that is, | 641 | @minus{}1 and @var{low} is 65535, that is, |
| @@ -857,7 +854,8 @@ If no suitable buffer exists, the buffer @samp{*scratch*} is returned | |||
| 857 | This function puts @var{buffer-or-name} at the end of the buffer list, | 854 | This function puts @var{buffer-or-name} at the end of the buffer list, |
| 858 | without changing the order of any of the other buffers on the list. | 855 | without changing the order of any of the other buffers on the list. |
| 859 | This buffer therefore becomes the least desirable candidate for | 856 | This buffer therefore becomes the least desirable candidate for |
| 860 | @code{other-buffer} to return. | 857 | @code{other-buffer} to return. The argument can be either a buffer |
| 858 | itself or the name of one. | ||
| 861 | 859 | ||
| 862 | @code{bury-buffer} operates on each frame's @code{buffer-list} parameter | 860 | @code{bury-buffer} operates on each frame's @code{buffer-list} parameter |
| 863 | as well as the frame-independent Emacs buffer list; therefore, the | 861 | as well as the frame-independent Emacs buffer list; therefore, the |
| @@ -949,8 +947,8 @@ Names}. | |||
| 949 | @cindex killing buffers | 947 | @cindex killing buffers |
| 950 | @cindex buffers, killing | 948 | @cindex buffers, killing |
| 951 | 949 | ||
| 952 | @dfn{Killing a buffer} makes its name unknown to Emacs and makes its | 950 | @dfn{Killing a buffer} makes its name unknown to Emacs and makes the |
| 953 | text space available for other use. | 951 | memory space it occupied available for other use. |
| 954 | 952 | ||
| 955 | The buffer object for the buffer that has been killed remains in | 953 | The buffer object for the buffer that has been killed remains in |
| 956 | existence as long as anything refers to it, but it is specially marked | 954 | existence as long as anything refers to it, but it is specially marked |
| @@ -1101,6 +1099,18 @@ non-@code{nil}, the initial state is copied from the actual base | |||
| 1101 | buffer, not from @var{base-buffer}. | 1099 | buffer, not from @var{base-buffer}. |
| 1102 | @end deffn | 1100 | @end deffn |
| 1103 | 1101 | ||
| 1102 | @defun clone-indirect-buffer newname display-flag &optional norecord | ||
| 1103 | This function creates and returns a new indirect buffer that shares | ||
| 1104 | the current buffer's base buffer and copies the rest of the current | ||
| 1105 | buffer's attributes. (If the current buffer is not indirect, it is | ||
| 1106 | used as the base buffer.) | ||
| 1107 | |||
| 1108 | If @var{display-flag} is non-@code{nil}, that means to display the new | ||
| 1109 | buffer by calling @code{pop-to-buffer}. If @var{norecord} is | ||
| 1110 | non-@code{nil}, that means not to put the new buffer to the front of | ||
| 1111 | the buffer list. | ||
| 1112 | @end defun | ||
| 1113 | |||
| 1104 | @defun buffer-base-buffer &optional buffer | 1114 | @defun buffer-base-buffer &optional buffer |
| 1105 | This function returns the base buffer of @var{buffer}, which defaults | 1115 | This function returns the base buffer of @var{buffer}, which defaults |
| 1106 | to the current buffer. If @var{buffer} is not indirect, the value is | 1116 | to the current buffer. If @var{buffer} is not indirect, the value is |
diff --git a/lispref/commands.texi b/lispref/commands.texi index 293d72783c5..ec3c972e28a 100644 --- a/lispref/commands.texi +++ b/lispref/commands.texi | |||
| @@ -1554,7 +1554,7 @@ portion of buffer text which has a @code{help-echo} text property. | |||
| 1554 | The generated event has this form: | 1554 | The generated event has this form: |
| 1555 | 1555 | ||
| 1556 | @example | 1556 | @example |
| 1557 | (help-echo @var{frame} @var{help} @var{window} @var{object} @var{pos}) | 1557 | (help-echo @var{frame} @var{help} @var{window} @var{object} @var{pos}) |
| 1558 | @end example | 1558 | @end example |
| 1559 | 1559 | ||
| 1560 | @noindent | 1560 | @noindent |
diff --git a/lispref/edebug.texi b/lispref/edebug.texi index 9789835780b..bcd7eba5b6f 100644 --- a/lispref/edebug.texi +++ b/lispref/edebug.texi | |||
| @@ -801,7 +801,7 @@ vectors. | |||
| 801 | 801 | ||
| 802 | @defopt edebug-print-circle | 802 | @defopt edebug-print-circle |
| 803 | If non-@code{nil}, Edebug binds @code{print-circle} to this value while | 803 | If non-@code{nil}, Edebug binds @code{print-circle} to this value while |
| 804 | printing results. The default value is @code{nil}. | 804 | printing results. The default value is @code{t}. |
| 805 | @end defopt | 805 | @end defopt |
| 806 | 806 | ||
| 807 | Other programs can also use custom printing; see @file{cust-print.el} | 807 | Other programs can also use custom printing; see @file{cust-print.el} |
| @@ -909,7 +909,7 @@ the breakpoint is reached, the frequency data looks like this: | |||
| 909 | @example | 909 | @example |
| 910 | (defun fac (n) | 910 | (defun fac (n) |
| 911 | (if (= n 0) (edebug)) | 911 | (if (= n 0) (edebug)) |
| 912 | ;#6 1 0 =5 | 912 | ;#6 1 = =5 |
| 913 | (if (< 0 n) | 913 | (if (< 0 n) |
| 914 | ;#5 = | 914 | ;#5 = |
| 915 | (* n (fac (1- n))) | 915 | (* n (fac (1- n))) |
diff --git a/lispref/files.texi b/lispref/files.texi index 2e6a5bcee00..aa97ff83d30 100644 --- a/lispref/files.texi +++ b/lispref/files.texi | |||
| @@ -646,9 +646,10 @@ with-temp-buffer,, The Current Buffer}. | |||
| 646 | @section File Locks | 646 | @section File Locks |
| 647 | @cindex file locks | 647 | @cindex file locks |
| 648 | 648 | ||
| 649 | When two users edit the same file at the same time, they are likely to | 649 | When two users edit the same file at the same time, they are likely |
| 650 | interfere with each other. Emacs tries to prevent this situation from | 650 | to interfere with each other. Emacs tries to prevent this situation |
| 651 | arising by recording a @dfn{file lock} when a file is being modified. | 651 | from arising by recording a @dfn{file lock} when a file is being |
| 652 | modified. (File locks are not implemented on Microsoft systems.) | ||
| 652 | Emacs can then detect the first attempt to modify a buffer visiting a | 653 | Emacs can then detect the first attempt to modify a buffer visiting a |
| 653 | file that is locked by another Emacs job, and ask the user what to do. | 654 | file that is locked by another Emacs job, and ask the user what to do. |
| 654 | The file lock is really a file, a symbolic link with a special name, | 655 | The file lock is really a file, a symbolic link with a special name, |
| @@ -680,14 +681,15 @@ some other job. | |||
| 680 | This function locks the file @var{filename}, if the current buffer is | 681 | This function locks the file @var{filename}, if the current buffer is |
| 681 | modified. The argument @var{filename} defaults to the current buffer's | 682 | modified. The argument @var{filename} defaults to the current buffer's |
| 682 | visited file. Nothing is done if the current buffer is not visiting a | 683 | visited file. Nothing is done if the current buffer is not visiting a |
| 683 | file, or is not modified. | 684 | file, or is not modified, or if the system does not support locking. |
| 684 | @end defun | 685 | @end defun |
| 685 | 686 | ||
| 686 | @defun unlock-buffer | 687 | @defun unlock-buffer |
| 687 | This function unlocks the file being visited in the current buffer, | 688 | This function unlocks the file being visited in the current buffer, |
| 688 | if the buffer is modified. If the buffer is not modified, then | 689 | if the buffer is modified. If the buffer is not modified, then |
| 689 | the file should not be locked, so this function does nothing. It also | 690 | the file should not be locked, so this function does nothing. It also |
| 690 | does nothing if the current buffer is not visiting a file. | 691 | does nothing if the current buffer is not visiting a file, or if the |
| 692 | system does not support locking. | ||
| 691 | @end defun | 693 | @end defun |
| 692 | 694 | ||
| 693 | File locking is not supported on some systems. On systems that do not | 695 | File locking is not supported on some systems. On systems that do not |
| @@ -834,10 +836,11 @@ a directory. | |||
| 834 | @c Emacs 19 feature | 836 | @c Emacs 19 feature |
| 835 | @defun file-accessible-directory-p dirname | 837 | @defun file-accessible-directory-p dirname |
| 836 | This function returns @code{t} if you have permission to open existing | 838 | This function returns @code{t} if you have permission to open existing |
| 837 | files in the directory whose name as a file is @var{dirname}; otherwise | 839 | files in the directory whose name as a file is @var{dirname}; |
| 838 | (or if there is no such directory), it returns @code{nil}. The value | 840 | otherwise (or if there is no such directory), it returns @code{nil}. |
| 839 | of @var{dirname} may be either a directory name or the file name of a | 841 | The value of @var{dirname} may be either a directory name (such as |
| 840 | file which is a directory. | 842 | @file{/foo/}) or the file name of a file which is a directory |
| 843 | (such as @file{/foo}, without the final slash). | ||
| 841 | 844 | ||
| 842 | Example: after the following, | 845 | Example: after the following, |
| 843 | 846 | ||
diff --git a/lispref/frames.texi b/lispref/frames.texi index 655232a8869..f50be70f473 100644 --- a/lispref/frames.texi +++ b/lispref/frames.texi | |||
| @@ -310,12 +310,14 @@ The GNU Emacs Manual}. | |||
| 310 | @node Window Frame Parameters | 310 | @node Window Frame Parameters |
| 311 | @subsection Window Frame Parameters | 311 | @subsection Window Frame Parameters |
| 312 | 312 | ||
| 313 | Just what parameters a frame has depends on what display mechanism it | 313 | Just what parameters a frame has depends on what display mechanism it |
| 314 | uses. Here is a table of the parameters that have special meanings in a | 314 | uses. Here is a table of the parameters that have special meanings in a |
| 315 | window frame; of these, @code{name}, @code{title}, @code{height}, | 315 | window frame; of these, @code{name}, @code{title}, @code{height}, |
| 316 | @code{width}, @code{buffer-list} and @code{buffer-predicate} provide | 316 | @code{width}, @code{buffer-list} and @code{buffer-predicate} provide |
| 317 | meaningful information in terminal frames, and @code{tty-color-mode} | 317 | meaningful information in terminal frames, and @code{tty-color-mode} |
| 318 | is meaningful @emph{only} in terminal frames. | 318 | is meaningful @emph{only} in terminal frames. Frame parameter whose |
| 319 | values measured in pixels, when used on text-only terminals, count | ||
| 320 | characters or lines instead. | ||
| 319 | 321 | ||
| 320 | @table @code | 322 | @table @code |
| 321 | @item display | 323 | @item display |
| @@ -1407,7 +1409,7 @@ that it calls @code{x-popup-menu}. Therefore, if you try to implement a | |||
| 1407 | submenu using @code{x-popup-menu}, it cannot work with the menu bar in | 1409 | submenu using @code{x-popup-menu}, it cannot work with the menu bar in |
| 1408 | an integrated fashion. This is why all menu bar submenus are | 1410 | an integrated fashion. This is why all menu bar submenus are |
| 1409 | implemented with menu keymaps within the parent menu, and never with | 1411 | implemented with menu keymaps within the parent menu, and never with |
| 1410 | @code{x-popup-menu}. @xref{Menu Bar}, | 1412 | @code{x-popup-menu}. @xref{Menu Bar}. |
| 1411 | 1413 | ||
| 1412 | If you want a menu bar submenu to have contents that vary, you should | 1414 | If you want a menu bar submenu to have contents that vary, you should |
| 1413 | still use a menu keymap to implement it. To make the contents vary, add | 1415 | still use a menu keymap to implement it. To make the contents vary, add |
| @@ -1586,6 +1588,22 @@ but @code{t} on MS-Windows. | |||
| 1586 | @node Color Names | 1588 | @node Color Names |
| 1587 | @section Color Names | 1589 | @section Color Names |
| 1588 | 1590 | ||
| 1591 | @cindex color names | ||
| 1592 | @cindex specify color | ||
| 1593 | @cindex numerical RGB color specification | ||
| 1594 | A color name is text (usually in a string) that specifies a color. | ||
| 1595 | Symbolic names such as @samp{black}, @samp{white}, @samp{red}, etc., | ||
| 1596 | are allowed; use @kbd{M-x list-colors-display} to see a list of | ||
| 1597 | defined names. You can also specify colors numerically in forms such | ||
| 1598 | as @samp{#@var{rgb}} and @samp{RGB:@var{r}/@var{g}/@var{b}}, where | ||
| 1599 | @var{r} specifies the red level, @var{g} specifies the green level, | ||
| 1600 | and @var{b} specifies the blue level. You can use either one, two, | ||
| 1601 | three, or four hex digits for @var{r}; then you must use the same | ||
| 1602 | number of hex digits for all @var{g} and @var{b} as well, making | ||
| 1603 | either 3, 6, 9 or 12 hex digits in all. (See the documentation of the | ||
| 1604 | X Window System for more details about numerical RGB specification of | ||
| 1605 | colors.) | ||
| 1606 | |||
| 1589 | These functions provide a way to determine which color names are | 1607 | These functions provide a way to determine which color names are |
| 1590 | valid, and what they look like. In some cases, the value depends on the | 1608 | valid, and what they look like. In some cases, the value depends on the |
| 1591 | @dfn{selected frame}, as described below; see @ref{Input Focus}, for the | 1609 | @dfn{selected frame}, as described below; see @ref{Input Focus}, for the |
| @@ -1644,12 +1662,14 @@ color name, this function returns @code{nil}. | |||
| 1644 | 1662 | ||
| 1645 | @defun color-values color &optional frame | 1663 | @defun color-values color &optional frame |
| 1646 | @tindex color-values | 1664 | @tindex color-values |
| 1665 | @cindex rgb value | ||
| 1647 | This function returns a value that describes what @var{color} should | 1666 | This function returns a value that describes what @var{color} should |
| 1648 | ideally look like on @var{frame}. If @var{color} is defined, the | 1667 | ideally look like on @var{frame}. If @var{color} is defined, the |
| 1649 | value is a list of three integers, which give the amount of red, the | 1668 | value is a list of three integers, which give the amount of red, the |
| 1650 | amount of green, and the amount of blue. Each integer ranges in | 1669 | amount of green, and the amount of blue. Each integer ranges in |
| 1651 | principle from 0 to 65535, but some displays may not use the full | 1670 | principle from 0 to 65535, but some displays may not use the full |
| 1652 | range. This kind of three-element list is called an @dfn{rgb value}. | 1671 | range. This three-element list is called the @dfn{rgb values} of the |
| 1672 | color. | ||
| 1653 | 1673 | ||
| 1654 | If @var{color} is not defined, the value is @code{nil}. | 1674 | If @var{color} is not defined, the value is @code{nil}. |
| 1655 | 1675 | ||
| @@ -1666,9 +1686,10 @@ If @var{color} is not defined, the value is @code{nil}. | |||
| 1666 | @result{} nil | 1686 | @result{} nil |
| 1667 | @end example | 1687 | @end example |
| 1668 | 1688 | ||
| 1669 | The color values are returned for @var{frame}'s display. If @var{frame} | 1689 | The color values are returned for @var{frame}'s display. If |
| 1670 | is omitted or @code{nil}, the information is returned for the selected | 1690 | @var{frame} is omitted or @code{nil}, the information is returned for |
| 1671 | frame's display. | 1691 | the selected frame's display. If the frame cannot display colors, the |
| 1692 | value is @code{nil}. | ||
| 1672 | 1693 | ||
| 1673 | @findex x-color-values | 1694 | @findex x-color-values |
| 1674 | This function used to be called @code{x-color-values}, | 1695 | This function used to be called @code{x-color-values}, |
| @@ -1690,37 +1711,34 @@ standard set of colors and will try to use them automatically. | |||
| 1690 | The functions described in this section control how terminal colors | 1711 | The functions described in this section control how terminal colors |
| 1691 | are used by Emacs. | 1712 | are used by Emacs. |
| 1692 | 1713 | ||
| 1693 | @cindex rgb value | 1714 | Several of these functions use or return @dfn{rgb values}, described |
| 1694 | Several of these functions use or return @dfn{rgb values}. An rgb | 1715 | in @ref{Color Names}. |
| 1695 | value is a list of three integers, which give the amount of red, the | ||
| 1696 | amount of green, and the amount of blue. Each integer ranges in | ||
| 1697 | principle from 0 to 65535, but some displays may not use the full range. . | ||
| 1698 | 1716 | ||
| 1699 | These functions accept a display (either a frame or the name of a | 1717 | These functions accept a display (either a frame or the name of a |
| 1700 | terminal) as an optional argument. We hope in the future to make Emacs | 1718 | terminal) as an optional argument. We hope in the future to make Emacs |
| 1701 | support more than one text-only terminal at one time; then this argument | 1719 | support more than one text-only terminal at one time; then this argument |
| 1702 | will specify which terminal to operate on (the default being the | 1720 | will specify which terminal to operate on (the default being the |
| 1703 | selected frame's terminal; @pxref{Input Focus}). At present, though, | 1721 | selected frame's terminal; @pxref{Input Focus}). At present, though, |
| 1704 | the @var{display} argument has no effect. | 1722 | the @var{frame} argument has no effect. |
| 1705 | 1723 | ||
| 1706 | @defun tty-color-define name number &optional rgb display | 1724 | @defun tty-color-define name number &optional rgb frame |
| 1707 | @tindex tty-color-define | 1725 | @tindex tty-color-define |
| 1708 | This function associates the color name @var{name} with | 1726 | This function associates the color name @var{name} with |
| 1709 | color number @var{number} on the terminal. | 1727 | color number @var{number} on the terminal. |
| 1710 | 1728 | ||
| 1711 | The optional argument @var{rgb}, if specified, is an rgb value; it says | 1729 | The optional argument @var{rgb}, if specified, is an rgb value, a list |
| 1712 | what the color actually looks like. If you do not specify @var{rgb}, | 1730 | of three numbers that specify what what the color actually looks like. |
| 1713 | then this color cannot be used by @code{tty-color-approximate} to | 1731 | If you do not specify @var{rgb}, then this color cannot be used by |
| 1714 | approximate other colors, because Emacs does not know what it looks | 1732 | @code{tty-color-approximate} to approximate other colors, because |
| 1715 | like. | 1733 | Emacs will not know what it looks like. |
| 1716 | @end defun | 1734 | @end defun |
| 1717 | 1735 | ||
| 1718 | @defun tty-color-clear &optional display | 1736 | @defun tty-color-clear &optional frame |
| 1719 | @tindex tty-color-clear | 1737 | @tindex tty-color-clear |
| 1720 | This function clears the table of defined colors for a text-only terminal. | 1738 | This function clears the table of defined colors for a text-only terminal. |
| 1721 | @end defun | 1739 | @end defun |
| 1722 | 1740 | ||
| 1723 | @defun tty-color-alist &optional display | 1741 | @defun tty-color-alist &optional frame |
| 1724 | @tindex tty-color-alist | 1742 | @tindex tty-color-alist |
| 1725 | This function returns an alist recording the known colors supported by a | 1743 | This function returns an alist recording the known colors supported by a |
| 1726 | text-only terminal. | 1744 | text-only terminal. |
| @@ -1728,26 +1746,23 @@ text-only terminal. | |||
| 1728 | Each element has the form @code{(@var{name} @var{number} . @var{rgb})} | 1746 | Each element has the form @code{(@var{name} @var{number} . @var{rgb})} |
| 1729 | or @code{(@var{name} @var{number})}. Here, @var{name} is the color | 1747 | or @code{(@var{name} @var{number})}. Here, @var{name} is the color |
| 1730 | name, @var{number} is the number used to specify it to the terminal. | 1748 | name, @var{number} is the number used to specify it to the terminal. |
| 1731 | If present, @var{rgb} is an rgb value that says what the color | 1749 | If present, @var{rgb} is a list of three color values (for red, green, |
| 1732 | actually looks like. | 1750 | and blue) that says what the color actually looks like. |
| 1733 | @end defun | 1751 | @end defun |
| 1734 | 1752 | ||
| 1735 | @defun tty-color-approximate rgb &optional display | 1753 | @defun tty-color-approximate rgb &optional frame |
| 1736 | @tindex tty-color-approximate | 1754 | @tindex tty-color-approximate |
| 1737 | This function finds the closest color, among the known colors supported | 1755 | This function finds the closest color, among the known colors |
| 1738 | for @var{display}, to that described by the rgb value @var{rgb}. | 1756 | supported for @var{display}, to that described by the rgb value |
| 1739 | The return value is an element of @code{tty-color-alist}. | 1757 | @var{rgb} (a list of color values). The return value is an element of |
| 1758 | @code{tty-color-alist}. | ||
| 1740 | @end defun | 1759 | @end defun |
| 1741 | 1760 | ||
| 1742 | @defun tty-color-translate color &optional display | 1761 | @defun tty-color-translate color &optional frame |
| 1743 | @tindex tty-color-translate | 1762 | @tindex tty-color-translate |
| 1744 | This function finds the closest color to @var{color} among the known | 1763 | This function finds the closest color to @var{color} among the known |
| 1745 | colors supported for @var{display} and returns its index (an integer). | 1764 | colors supported for @var{display} and returns its index (an integer). |
| 1746 | If the name @var{color} is not defined, the value is @code{nil}. | 1765 | If the name @var{color} is not defined, the value is @code{nil}. |
| 1747 | |||
| 1748 | @var{color} can be an X-style @code{"#@var{xxxyyyzzz}"} specification | ||
| 1749 | instead of an actual name. The format | ||
| 1750 | @code{"RGB:@var{xx}/@var{yy}/@var{zz}"} is also supported. | ||
| 1751 | @end defun | 1766 | @end defun |
| 1752 | 1767 | ||
| 1753 | @node Resources | 1768 | @node Resources |
diff --git a/lispref/text.texi b/lispref/text.texi index 3d2fa870bac..0e636d4ba58 100644 --- a/lispref/text.texi +++ b/lispref/text.texi | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, | 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, |
| 4 | @c 2000, 2001, 2004 | 4 | @c 2000, 2001, 2004, 2005 |
| 5 | @c Free Software Foundation, Inc. | 5 | @c Free Software Foundation, Inc. |
| 6 | @c See the file elisp.texi for copying conditions. | 6 | @c See the file elisp.texi for copying conditions. |
| 7 | @setfilename ../info/text | 7 | @setfilename ../info/text |
| @@ -720,10 +720,11 @@ This has too many spaces at the start of (this list) | |||
| 720 | @end smallexample | 720 | @end smallexample |
| 721 | @end deffn | 721 | @end deffn |
| 722 | 722 | ||
| 723 | @deffn Command just-one-space | 723 | @deffn Command just-one-space &optional n |
| 724 | @comment !!SourceFile simple.el | 724 | @comment !!SourceFile simple.el |
| 725 | This command replaces any spaces and tabs around point with a single | 725 | This command replaces any spaces and tabs around point with a single |
| 726 | space. It returns @code{nil}. | 726 | space, or @var{n} spaces if @var{n} is specified. It returns |
| 727 | @code{nil}. | ||
| 727 | @end deffn | 728 | @end deffn |
| 728 | 729 | ||
| 729 | @deffn Command delete-blank-lines | 730 | @deffn Command delete-blank-lines |
| @@ -1218,7 +1219,8 @@ This kind of element records a change that can be undone by evaluating | |||
| 1218 | and @var{end} is buffer positions of the range affected by this change | 1219 | and @var{end} is buffer positions of the range affected by this change |
| 1219 | and @var{delta} is an integer value which is the number of bytes added | 1220 | and @var{delta} is an integer value which is the number of bytes added |
| 1220 | or deleted in that range by this change. This kind of element | 1221 | or deleted in that range by this change. This kind of element |
| 1221 | supports undo in an active region | 1222 | enables undo limited to a region to determine whether the element |
| 1223 | pertains to that region. | ||
| 1222 | 1224 | ||
| 1223 | @item (@var{marker} . @var{adjustment}) | 1225 | @item (@var{marker} . @var{adjustment}) |
| 1224 | This kind of element records the fact that the marker @var{marker} was | 1226 | This kind of element records the fact that the marker @var{marker} was |
| @@ -1303,7 +1305,6 @@ You cannot specify any other buffer. | |||
| 1303 | @end deffn | 1305 | @end deffn |
| 1304 | 1306 | ||
| 1305 | @deffn Command buffer-disable-undo &optional buffer-or-name | 1307 | @deffn Command buffer-disable-undo &optional buffer-or-name |
| 1306 | @deffnx Command buffer-flush-undo &optional buffer-or-name | ||
| 1307 | @cindex disable undo | 1308 | @cindex disable undo |
| 1308 | This function discards the undo list of @var{buffer-or-name}, and disables | 1309 | This function discards the undo list of @var{buffer-or-name}, and disables |
| 1309 | further recording of undo information. As a result, it is no longer | 1310 | further recording of undo information. As a result, it is no longer |
| @@ -1312,9 +1313,6 @@ the undo list of @var{buffer-or-name} is already disabled, this function | |||
| 1312 | has no effect. | 1313 | has no effect. |
| 1313 | 1314 | ||
| 1314 | This function returns @code{nil}. | 1315 | This function returns @code{nil}. |
| 1315 | |||
| 1316 | The name @code{buffer-flush-undo} is not considered obsolete, but the | ||
| 1317 | preferred name is @code{buffer-disable-undo}. | ||
| 1318 | @end deffn | 1316 | @end deffn |
| 1319 | 1317 | ||
| 1320 | As editing continues, undo lists get longer and longer. To prevent | 1318 | As editing continues, undo lists get longer and longer. To prevent |
| @@ -1339,8 +1337,8 @@ change group is only discarded if it exceeds @code{undo-outer-limit}. | |||
| 1339 | 1337 | ||
| 1340 | @defopt undo-outer-limit | 1338 | @defopt undo-outer-limit |
| 1341 | If at garbage collection time the undo info for the current command | 1339 | If at garbage collection time the undo info for the current command |
| 1342 | exceeds this limit, Emacs discards the info and prints a warning | 1340 | exceeds this limit, Emacs discards the info and displays a warning. |
| 1343 | message. This is a last ditch limit to prevent memory overflow. | 1341 | This is a last ditch limit to prevent memory overflow. |
| 1344 | @end defopt | 1342 | @end defopt |
| 1345 | 1343 | ||
| 1346 | @node Filling | 1344 | @node Filling |
| @@ -1915,19 +1913,27 @@ is useful for sorting tables. | |||
| 1915 | 1913 | ||
| 1916 | @deffn Command sort-numeric-fields field start end | 1914 | @deffn Command sort-numeric-fields field start end |
| 1917 | This command sorts lines in the region between @var{start} and | 1915 | This command sorts lines in the region between @var{start} and |
| 1918 | @var{end}, comparing them numerically by the @var{field}th field of each | 1916 | @var{end}, comparing them numerically by the @var{field}th field of |
| 1919 | line. The specified field must contain a number in each line of the | 1917 | each line. Fields are separated by whitespace and numbered starting |
| 1920 | region. Fields are separated by whitespace and numbered starting from | 1918 | from 1. The specified field must contain a number in each line of the |
| 1921 | 1. If @var{field} is negative, sorting is by the | 1919 | region. Numbers starting with 0 are treated as octal, and numbers |
| 1922 | @w{@minus{}@var{field}th} field from the end of the line. This command | 1920 | starting with @samp{0x} are treated as hexadecimal. |
| 1923 | is useful for sorting tables. | 1921 | |
| 1922 | If @var{field} is negative, sorting is by the | ||
| 1923 | @w{@minus{}@var{field}th} field from the end of the line. This | ||
| 1924 | command is useful for sorting tables. | ||
| 1924 | @end deffn | 1925 | @end deffn |
| 1925 | 1926 | ||
| 1927 | @defopt sort-numeric-base | ||
| 1928 | This variable specifies the default radix for | ||
| 1929 | @code{sort-numeric-fields} to parse numbers. | ||
| 1930 | @end defopt | ||
| 1931 | |||
| 1926 | @deffn Command sort-columns reverse &optional beg end | 1932 | @deffn Command sort-columns reverse &optional beg end |
| 1927 | This command sorts the lines in the region between @var{beg} and | 1933 | This command sorts the lines in the region between @var{beg} and |
| 1928 | @var{end}, comparing them alphabetically by a certain range of columns. | 1934 | @var{end}, comparing them alphabetically by a certain range of |
| 1929 | The column positions of @var{beg} and @var{end} bound the range of | 1935 | columns. The column positions of @var{beg} and @var{end} bound the |
| 1930 | columns to sort on. | 1936 | range of columns to sort on. |
| 1931 | 1937 | ||
| 1932 | If @var{reverse} is non-@code{nil}, the sort is in reverse order. | 1938 | If @var{reverse} is non-@code{nil}, the sort is in reverse order. |
| 1933 | 1939 | ||
| @@ -3119,8 +3125,9 @@ are used for representing formatted text. @xref{Filling}, and | |||
| 3119 | @item hard | 3125 | @item hard |
| 3120 | If a newline character has this property, it is a ``hard'' newline. | 3126 | If a newline character has this property, it is a ``hard'' newline. |
| 3121 | The fill commands do not alter hard newlines and do not move words | 3127 | The fill commands do not alter hard newlines and do not move words |
| 3122 | across them. However, this property takes effect only if the variable | 3128 | across them. However, this property takes effect only if the |
| 3123 | @code{use-hard-newlines} is non-@code{nil}. | 3129 | @code{use-hard-newlines} minor mode is enabled. @xref{Hard and Soft |
| 3130 | Newlines,, Hard and Soft Newlines, emacs, The GNU Emacs Manual}. | ||
| 3124 | 3131 | ||
| 3125 | @item right-margin | 3132 | @item right-margin |
| 3126 | This property specifies an extra right margin for filling this part of the | 3133 | This property specifies an extra right margin for filling this part of the |
diff --git a/lispref/windows.texi b/lispref/windows.texi index 5041fb5b2df..671175a550d 100644 --- a/lispref/windows.texi +++ b/lispref/windows.texi | |||
| @@ -53,11 +53,17 @@ multiple nonoverlapping Emacs windows. | |||
| 53 | 53 | ||
| 54 | In each frame, at any time, one and only one window is designated as | 54 | In each frame, at any time, one and only one window is designated as |
| 55 | @dfn{selected within the frame}. The frame's cursor appears in that | 55 | @dfn{selected within the frame}. The frame's cursor appears in that |
| 56 | window. At any time, one frame is the selected frame; and the window | 56 | window, but the other windows have ``non-selected'' cursors, normally |
| 57 | selected within that frame is @dfn{the selected window}. The selected | 57 | less visible. At any time, one frame is the selected frame; and the |
| 58 | window's buffer is usually the current buffer (except when | 58 | window selected within that frame is @dfn{the selected window}. The |
| 59 | selected window's buffer is usually the current buffer (except when | ||
| 59 | @code{set-buffer} has been used). @xref{Current Buffer}. | 60 | @code{set-buffer} has been used). @xref{Current Buffer}. |
| 60 | 61 | ||
| 62 | @defvar cursor-in-non-selected-windows | ||
| 63 | If this variable is @code{nil}, Emacs displays only one cursor, | ||
| 64 | in the selected window. Other windows have no cursor at all. | ||
| 65 | @end defvar | ||
| 66 | |||
| 61 | For practical purposes, a window exists only while it is displayed in | 67 | For practical purposes, a window exists only while it is displayed in |
| 62 | a frame. Once removed from the frame, the window is effectively deleted | 68 | a frame. Once removed from the frame, the window is effectively deleted |
| 63 | and should not be used, @emph{even though there may still be references | 69 | and should not be used, @emph{even though there may still be references |
| @@ -455,10 +461,10 @@ The return value is @var{window}. | |||
| 455 | @end defun | 461 | @end defun |
| 456 | 462 | ||
| 457 | @defmac save-selected-window forms@dots{} | 463 | @defmac save-selected-window forms@dots{} |
| 458 | This macro records the selected window, as well as the selected window | 464 | This macro records the selected frame, as well as the selected window |
| 459 | of each frame, executes @var{forms} in sequence, then restores the | 465 | of each frame, executes @var{forms} in sequence, then restores the |
| 460 | earlier selected windows. It returns the value of the last form in | 466 | earlier selected frame and windows It returns the value of the last |
| 461 | @var{forms}. | 467 | form in @var{forms}. |
| 462 | 468 | ||
| 463 | This macro does not save or restore anything about the sizes, | 469 | This macro does not save or restore anything about the sizes, |
| 464 | arrangement or contents of windows; therefore, if the @var{forms} | 470 | arrangement or contents of windows; therefore, if the @var{forms} |
| @@ -648,8 +654,9 @@ In an interactive call, @var{count} is the numeric prefix argument. | |||
| 648 | 654 | ||
| 649 | @c Emacs 19 feature | 655 | @c Emacs 19 feature |
| 650 | @defun walk-windows proc &optional minibuf all-frames | 656 | @defun walk-windows proc &optional minibuf all-frames |
| 651 | This function cycles through all windows, calling @code{proc} | 657 | This function cycles through all windows. It calls the function |
| 652 | once for each window with the window as its sole argument. | 658 | @code{proc} once for each window, with the window as its sole |
| 659 | argument. | ||
| 653 | 660 | ||
| 654 | The optional arguments @var{minibuf} and @var{all-frames} specify the | 661 | The optional arguments @var{minibuf} and @var{all-frames} specify the |
| 655 | set of windows to include in the scan. See @code{next-window}, above, | 662 | set of windows to include in the scan. See @code{next-window}, above, |
| @@ -1175,10 +1182,10 @@ the other windows are stored in those windows. | |||
| 1175 | @item | 1182 | @item |
| 1176 | As long as the selected window displays the current buffer, the window's | 1183 | As long as the selected window displays the current buffer, the window's |
| 1177 | point and the buffer's point always move together; they remain equal. | 1184 | point and the buffer's point always move together; they remain equal. |
| 1185 | @end itemize | ||
| 1178 | 1186 | ||
| 1179 | @item | 1187 | @noindent |
| 1180 | @xref{Positions}, for more details on buffer positions. | 1188 | @xref{Positions}, for more details on buffer positions. |
| 1181 | @end itemize | ||
| 1182 | 1189 | ||
| 1183 | As far as the user is concerned, point is where the cursor is, and | 1190 | As far as the user is concerned, point is where the cursor is, and |
| 1184 | when the user switches to another buffer, the cursor jumps to the | 1191 | when the user switches to another buffer, the cursor jumps to the |
| @@ -1356,6 +1363,7 @@ Here is an example: | |||
| 1356 | 1363 | ||
| 1357 | @example | 1364 | @example |
| 1358 | @group | 1365 | @group |
| 1366 | ;; @r{If point is off the screen now, recenter it now.} | ||
| 1359 | (or (pos-visible-in-window-p | 1367 | (or (pos-visible-in-window-p |
| 1360 | (point) (selected-window)) | 1368 | (point) (selected-window)) |
| 1361 | (recenter 0)) | 1369 | (recenter 0)) |
| @@ -1984,6 +1992,7 @@ It could be defined as follows: | |||
| 1984 | @example | 1992 | @example |
| 1985 | @group | 1993 | @group |
| 1986 | (defun enlarge-window-horizontally (columns) | 1994 | (defun enlarge-window-horizontally (columns) |
| 1995 | (interactive "p") | ||
| 1987 | (enlarge-window columns t)) | 1996 | (enlarge-window columns t)) |
| 1988 | @end group | 1997 | @end group |
| 1989 | @end example | 1998 | @end example |
| @@ -2006,16 +2015,29 @@ It could be defined as follows: | |||
| 2006 | @example | 2015 | @example |
| 2007 | @group | 2016 | @group |
| 2008 | (defun shrink-window-horizontally (columns) | 2017 | (defun shrink-window-horizontally (columns) |
| 2018 | (interactive "p") | ||
| 2009 | (shrink-window columns t)) | 2019 | (shrink-window columns t)) |
| 2010 | @end group | 2020 | @end group |
| 2011 | @end example | 2021 | @end example |
| 2012 | @end deffn | 2022 | @end deffn |
| 2013 | 2023 | ||
| 2024 | @defun fit-window-to-buffer &optional window max-height min-height | ||
| 2025 | This function makes @var{window} the right height to display its | ||
| 2026 | contents exactly. If @var{window} is omitted or @code{nil}, it uses | ||
| 2027 | the selected window. | ||
| 2028 | |||
| 2029 | The argument @var{max-height} specifies the maximum height the window | ||
| 2030 | is allowed to be; @code{nil} means use the frame height. The argument | ||
| 2031 | @var{min-height} specifies the minimum height for the window; | ||
| 2032 | @code{nil} means use @code{window-min-height}. All these height | ||
| 2033 | values include the mode-line and/or header-line. | ||
| 2034 | @end defun | ||
| 2035 | |||
| 2014 | @deffn Command shrink-window-if-larger-than-buffer &optional window | 2036 | @deffn Command shrink-window-if-larger-than-buffer &optional window |
| 2015 | This command shrinks @var{window} to be as small as possible while still | 2037 | This command shrinks @var{window} vertically to be as small as |
| 2016 | showing the full contents of its buffer---but not less than | 2038 | possible while still showing the full contents of its buffer---but not |
| 2017 | @code{window-min-height} lines. If @var{window} is not given, | 2039 | less than @code{window-min-height} lines. If @var{window} is not |
| 2018 | it defaults to the selected window. | 2040 | given, it defaults to the selected window. |
| 2019 | 2041 | ||
| 2020 | However, the command does nothing if the window is already too small to | 2042 | However, the command does nothing if the window is already too small to |
| 2021 | display the whole text of the buffer, or if part of the contents are | 2043 | display the whole text of the buffer, or if part of the contents are |
diff --git a/mac/inc/config.h b/mac/inc/config.h index 859ef017bc6..4f9d36c030c 100644 --- a/mac/inc/config.h +++ b/mac/inc/config.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* Handcrafted Emacs site configuration file for Mac OS. -*- C -*- */ | 1 | /* Handcrafted Emacs site configuration file for Mac OS 9. -*- C -*- */ |
| 2 | 2 | ||
| 3 | /* GNU Emacs site configuration template file. -*- C -*- | 3 | /* GNU Emacs site configuration template file. -*- C -*- |
| 4 | Copyright (C) 1988, 1993, 1994, 1999, 2000 Free Software Foundation, Inc. | 4 | Copyright (C) 1988, 1993, 1994, 1999, 2000 Free Software Foundation, Inc. |
diff --git a/mac/inc/s-mac.h b/mac/inc/s-mac.h index 2905692aac0..a9108a67ca5 100644 --- a/mac/inc/s-mac.h +++ b/mac/inc/s-mac.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* Handcrafted s-mac.h file for building GNU Emacs on the Macintosh. | 1 | /* Handcrafted s-mac.h file for building GNU Emacs on Mac OS 9. |
| 2 | Copyright (C) 1999, 2000 Free Software Foundation, Inc. | 2 | Copyright (C) 1999, 2000 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is part of GNU Emacs. | 4 | This file is part of GNU Emacs. |
diff --git a/man/ChangeLog b/man/ChangeLog index 2559bdfaa61..71185265be5 100644 --- a/man/ChangeLog +++ b/man/ChangeLog | |||
| @@ -1,4 +1,54 @@ | |||
| 1 | 2005-01-31 Luc Teirlinck <teirllm@auburn.edu> | 1 | 2005-02-05 Eli Zaretskii <eliz@gnu.org> |
| 2 | |||
| 3 | * frames.texi (Frame Parameters): Add an xref to the description | ||
| 4 | of list-colors-display. Add a pointer to the X docs about colors. | ||
| 5 | |||
| 6 | * cmdargs.texi (Colors): Mention 16-, 88- and 256-color modes. | ||
| 7 | Impove docs of list-colors-display. | ||
| 8 | |||
| 9 | 2005-02-03 Lute Kamstra <lute@gnu.org> | ||
| 10 | |||
| 11 | * frames.texi (Frames, Drag and Drop): Fix typos. | ||
| 12 | |||
| 13 | 2005-02-03 Richard M. Stallman <rms@gnu.org> | ||
| 14 | |||
| 15 | * windows.texi (Basic Window): Mention color-change in mode line. | ||
| 16 | (Change Window): Explain dragging vertical boundaries. | ||
| 17 | |||
| 18 | * text.texi (Sentences): Clarify. | ||
| 19 | (Paragraphs): Explain M-a and blank lines. | ||
| 20 | (Outline Mode): Clarify text and menu. | ||
| 21 | (Hard and Soft Newlines): Mention use-hard-newlines. | ||
| 22 | |||
| 23 | * frames.texi (Frames): Delete unnecessary mention of Windows. | ||
| 24 | (Mouse Commands): Likewise. Mention xterm mouse support. | ||
| 25 | (Clipboard): Clarify. | ||
| 26 | (Mouse References): Mention use of Mouse-1 for following links. | ||
| 27 | (Menu Mouse Clicks): Clarify. | ||
| 28 | (Mode Line Mouse): Clarify. | ||
| 29 | (Drag and Drop): Rewrite. | ||
| 30 | |||
| 31 | * fixit.texi (Spelling): Fix typo. | ||
| 32 | |||
| 33 | * files.texi (File Names): Clarify. | ||
| 34 | (Visiting): Update conditions for use of file dialog. Clarify. | ||
| 35 | (Saving): Doc d as answer in save-some-buffers. | ||
| 36 | (Remote Files): Clean up the text. | ||
| 37 | |||
| 38 | * dired.texi (Misc Dired Commands): Delete dired-marked-files. | ||
| 39 | |||
| 40 | * buffers.texi (Select Buffer): Doc next-buffer and prev-buffer. | ||
| 41 | (List Buffers): Clarify. | ||
| 42 | (Several Buffers): Doc T command. | ||
| 43 | (Buffer Convenience): Clarify menu. | ||
| 44 | |||
| 45 | * basic.texi (Undo): Clarify last change. | ||
| 46 | |||
| 47 | 2005-02-02 Matt Hodges <MPHodges@member.fsf.org> | ||
| 48 | |||
| 49 | * fixit.texi (Spelling): Fix typo. | ||
| 50 | |||
| 51 | 2005-02-01 Luc Teirlinck <teirllm@auburn.edu> | ||
| 2 | 52 | ||
| 3 | * basic.texi (Undo): Update description of `undo-outer-limit'. | 53 | * basic.texi (Undo): Update description of `undo-outer-limit'. |
| 4 | 54 | ||
diff --git a/man/basic.texi b/man/basic.texi index 29bf6d4e207..1598de2632a 100644 --- a/man/basic.texi +++ b/man/basic.texi | |||
| @@ -400,7 +400,7 @@ value of @code{undo-strong-limit} is 30000. | |||
| 400 | Regardless of the values of those variables, the most recent change | 400 | Regardless of the values of those variables, the most recent change |
| 401 | is never discarded unless it gets bigger than @code{undo-outer-limit} | 401 | is never discarded unless it gets bigger than @code{undo-outer-limit} |
| 402 | (normally 3,000,000). At that point, Emacs discards the undo data and | 402 | (normally 3,000,000). At that point, Emacs discards the undo data and |
| 403 | warns you about it. This is the only situation in which you can not | 403 | warns you about it. This is the only situation in which you cannot |
| 404 | undo the last command. If this happens, you can increase the value of | 404 | undo the last command. If this happens, you can increase the value of |
| 405 | @code{undo-outer-limit} to make it even less likely to happen in the | 405 | @code{undo-outer-limit} to make it even less likely to happen in the |
| 406 | future. But if you didn't expect the command to create such large | 406 | future. But if you didn't expect the command to create such large |
diff --git a/man/buffers.texi b/man/buffers.texi index 558b636de60..97234966b4b 100644 --- a/man/buffers.texi +++ b/man/buffers.texi | |||
| @@ -67,6 +67,10 @@ megabytes. | |||
| 67 | @table @kbd | 67 | @table @kbd |
| 68 | @item C-x b @var{buffer} @key{RET} | 68 | @item C-x b @var{buffer} @key{RET} |
| 69 | Select or create a buffer named @var{buffer} (@code{switch-to-buffer}). | 69 | Select or create a buffer named @var{buffer} (@code{switch-to-buffer}). |
| 70 | @item C-x @key{LEFT} | ||
| 71 | Select the previous buffer in the list of existing buffers. | ||
| 72 | @item C-x @key{RIGHT} | ||
| 73 | Select the next buffer in the list of existing buffers. | ||
| 70 | @item C-x 4 b @var{buffer} @key{RET} | 74 | @item C-x 4 b @var{buffer} @key{RET} |
| 71 | Similar, but select @var{buffer} in another window | 75 | Similar, but select @var{buffer} in another window |
| 72 | (@code{switch-to-buffer-other-window}). | 76 | (@code{switch-to-buffer-other-window}). |
| @@ -84,6 +88,16 @@ name you want (@pxref{Completion}). An empty argument to @kbd{C-x b} | |||
| 84 | specifies the buffer that was current most recently among those not | 88 | specifies the buffer that was current most recently among those not |
| 85 | now displayed in any window. | 89 | now displayed in any window. |
| 86 | 90 | ||
| 91 | @kindex C-x @key{LEFT} | ||
| 92 | @kindex C-x @key{RIGHT} | ||
| 93 | @findex next-buffer | ||
| 94 | @findex prev-buffer | ||
| 95 | For conveniently switching between a few buffers, use the commands | ||
| 96 | @kbd{C-x @key{LEFT}} and @kbd{C-x @key{RIGHT}}. @kbd{C-x @key{RIGHT}} | ||
| 97 | (@code{prev-buffer}) selects the previous buffer (following the order | ||
| 98 | of most recent selection), while @kbd{C-x @key{LEFT}} | ||
| 99 | (@code{next-buffer}) moves through buffers in the reverse direction. | ||
| 100 | |||
| 87 | @kindex C-x 4 b | 101 | @kindex C-x 4 b |
| 88 | @findex switch-to-buffer-other-window | 102 | @findex switch-to-buffer-other-window |
| 89 | @vindex even-window-heights | 103 | @vindex even-window-heights |
| @@ -141,9 +155,9 @@ List the existing buffers (@code{list-buffers}). | |||
| 141 | @cindex listing current buffers | 155 | @cindex listing current buffers |
| 142 | @kindex C-x C-b | 156 | @kindex C-x C-b |
| 143 | @findex list-buffers | 157 | @findex list-buffers |
| 144 | To display a list of all the buffers that exist, type @kbd{C-x C-b}. | 158 | To display a list of existing buffers, type @kbd{C-x C-b}. Each |
| 145 | Each line in the list shows one buffer's name, major mode and visited | 159 | line in the list shows one buffer's name, major mode and visited file. |
| 146 | file. The buffers are listed in the order that they were current; the | 160 | The buffers are listed in the order that they were current; the |
| 147 | buffers that were current most recently come first. | 161 | buffers that were current most recently come first. |
| 148 | 162 | ||
| 149 | @samp{*} in the first field of a line indicates the buffer is ``modified.'' | 163 | @samp{*} in the first field of a line indicates the buffer is ``modified.'' |
| @@ -171,7 +185,7 @@ directory @file{~/cvs/emacs/src/}. You can list only buffers that are | |||
| 171 | visiting files by giving the command a prefix; for instance, by typing | 185 | visiting files by giving the command a prefix; for instance, by typing |
| 172 | @kbd{C-u C-x C-b}. | 186 | @kbd{C-u C-x C-b}. |
| 173 | 187 | ||
| 174 | @code{list-buffers} omits buffers whose name begins with a blank, | 188 | @code{list-buffers} omits buffers whose names begin with a space, |
| 175 | unless they visit files: such buffers are used internally by Emacs. | 189 | unless they visit files: such buffers are used internally by Emacs. |
| 176 | 190 | ||
| 177 | @need 2000 | 191 | @need 2000 |
| @@ -332,8 +346,9 @@ Similar, but do it in another window. | |||
| 332 | buffers@footnote{Buffers which don't visit files and whose names begin | 346 | buffers@footnote{Buffers which don't visit files and whose names begin |
| 333 | with a space are omitted: these are used internally by Emacs.} into the | 347 | with a space are omitted: these are used internally by Emacs.} into the |
| 334 | buffer @samp{*Buffer List*}, and selects that buffer in Buffer Menu | 348 | buffer @samp{*Buffer List*}, and selects that buffer in Buffer Menu |
| 335 | mode. The list in the @samp{*Buffer List*} buffer looks exactly as | 349 | mode. |
| 336 | described in @ref{List Buffers}. The buffer is read-only, and can be | 350 | |
| 351 | The buffer is read-only, and can be | ||
| 337 | changed only through the special commands described in this section. | 352 | changed only through the special commands described in this section. |
| 338 | The usual Emacs cursor motion commands can be used in the @samp{*Buffer | 353 | The usual Emacs cursor motion commands can be used in the @samp{*Buffer |
| 339 | List*} buffer. The following commands apply to the buffer described on | 354 | List*} buffer. The following commands apply to the buffer described on |
| @@ -411,21 +426,32 @@ any buffers previously marked with the @kbd{m} command. If you have not | |||
| 411 | marked any buffers, this command is equivalent to @kbd{1}. | 426 | marked any buffers, this command is equivalent to @kbd{1}. |
| 412 | @end table | 427 | @end table |
| 413 | 428 | ||
| 414 | All that @code{buffer-menu} does directly is create and switch to a | 429 | There is also a command that affects the entire buffer list: |
| 415 | suitable buffer, and turn on Buffer Menu mode. Everything else | 430 | |
| 431 | @table @kbd | ||
| 432 | @item T | ||
| 433 | Delete, or reinsert, lines for non-file buffers. This command toggles | ||
| 434 | the inclusion of such buffers in the buffer list. | ||
| 435 | @end table | ||
| 436 | |||
| 437 | What @code{buffer-menu} actually does is create and switch to a | ||
| 438 | suitable buffer, and turn on Buffer Menu mode in it. Everything else | ||
| 416 | described above is implemented by the special commands provided in | 439 | described above is implemented by the special commands provided in |
| 417 | Buffer Menu mode. One consequence of this is that you can switch from | 440 | Buffer Menu mode. One consequence of this is that you can switch from |
| 418 | the @samp{*Buffer List*} buffer to another Emacs buffer, and edit there. | 441 | the @samp{*Buffer List*} buffer to another Emacs buffer, and edit |
| 419 | You can reselect the @samp{*Buffer List*} buffer later, to perform the | 442 | there. You can reselect the @samp{*Buffer List*} buffer later, to |
| 420 | operations already requested, or you can kill it, or pay no further | 443 | perform the operations already requested, or you can kill it, or pay |
| 421 | attention to it. | 444 | no further attention to it. |
| 422 | 445 | ||
| 423 | The only difference between @code{buffer-menu} and @code{list-buffers} | 446 | The list in the @samp{*Buffer List*} buffer looks exactly like the |
| 424 | is that @code{buffer-menu} switches to the @samp{*Buffer List*} buffer | 447 | buffer list described in @ref{List Buffers}, because they really are |
| 425 | in the selected window; @code{list-buffers} displays it in another | 448 | the same. The only difference between @code{buffer-menu} and |
| 426 | window. If you run @code{list-buffers} (that is, type @kbd{C-x C-b}) | 449 | @code{list-buffers} is that @code{buffer-menu} switches to the |
| 427 | and select the buffer list manually, you can use all of the commands | 450 | @samp{*Buffer List*} buffer in the selected window; |
| 428 | described here. | 451 | @code{list-buffers} displays the same buffer in another window. If |
| 452 | you run @code{list-buffers} (that is, type @kbd{C-x C-b}) and select | ||
| 453 | the buffer list manually, you can use all of the commands described | ||
| 454 | here. | ||
| 429 | 455 | ||
| 430 | Normally, the buffer @samp{*Buffer List*} is not updated automatically when | 456 | Normally, the buffer @samp{*Buffer List*} is not updated automatically when |
| 431 | buffers are created and killed; its contents are just text. If you have | 457 | buffers are created and killed; its contents are just text. If you have |
| @@ -506,7 +532,7 @@ minibuffer. | |||
| 506 | convenient to switch between buffers. | 532 | convenient to switch between buffers. |
| 507 | 533 | ||
| 508 | @menu | 534 | @menu |
| 509 | * Uniquify:: Buffer names can contain directory parts. | 535 | * Uniquify:: Making buffer names unique with directory parts. |
| 510 | * Iswitchb:: Switching between buffers with substrings. | 536 | * Iswitchb:: Switching between buffers with substrings. |
| 511 | * Buffer Menus:: Configurable buffer menu. | 537 | * Buffer Menus:: Configurable buffer menu. |
| 512 | @end menu | 538 | @end menu |
diff --git a/man/cmdargs.texi b/man/cmdargs.texi index 960f2d0bd65..d131baa094a 100644 --- a/man/cmdargs.texi +++ b/man/cmdargs.texi | |||
| @@ -874,6 +874,9 @@ displays the entire font @samp{6x13}. | |||
| 874 | parts of the Emacs display. To find out what colors are available on | 874 | parts of the Emacs display. To find out what colors are available on |
| 875 | your system, type @kbd{M-x list-colors-display}, or press | 875 | your system, type @kbd{M-x list-colors-display}, or press |
| 876 | @kbd{C-Mouse-2} and select @samp{Display Colors} from the pop-up menu. | 876 | @kbd{C-Mouse-2} and select @samp{Display Colors} from the pop-up menu. |
| 877 | (A particular window system might support many more colors, but the | ||
| 878 | list displayed by @code{list-colors-display} shows their portable | ||
| 879 | subset that can be safely used on any display supported by Emacs.) | ||
| 877 | If you do not specify colors, on windowed displays the default for the | 880 | If you do not specify colors, on windowed displays the default for the |
| 878 | background is white and the default for all other colors is black. On a | 881 | background is white and the default for all other colors is black. On a |
| 879 | monochrome display, the foreground is black, the background is white, | 882 | monochrome display, the foreground is black, the background is white, |
| @@ -947,7 +950,9 @@ specified by the ANSI escape sequences for the 8 standard colors. | |||
| 947 | Use color mode for @var{num} colors. If @var{num} is -1, turn off | 950 | Use color mode for @var{num} colors. If @var{num} is -1, turn off |
| 948 | color support (equivalent to @samp{never}); if it is 0, use the | 951 | color support (equivalent to @samp{never}); if it is 0, use the |
| 949 | default color support for this terminal (equivalent to @samp{auto}); | 952 | default color support for this terminal (equivalent to @samp{auto}); |
| 950 | otherwise use an appropriate standard mode for @var{num} colors. If | 953 | otherwise use an appropriate standard mode for @var{num} colors. |
| 954 | Depending on your terminal's capabilities, Emacs might be able to turn | ||
| 955 | on a color mode for 8, 16, 88, or 256 as the value of @var{num}. If | ||
| 951 | there is no mode that supports @var{num} colors, Emacs acts as if | 956 | there is no mode that supports @var{num} colors, Emacs acts as if |
| 952 | @var{num} were 0, i.e.@: it uses the terminal's default color support | 957 | @var{num} were 0, i.e.@: it uses the terminal's default color support |
| 953 | mode. | 958 | mode. |
diff --git a/man/dired.texi b/man/dired.texi index 464aa34c6c2..0390848faf6 100644 --- a/man/dired.texi +++ b/man/dired.texi | |||
| @@ -1116,13 +1116,10 @@ marked file. As a special case, if no prefix argument is given and | |||
| 1116 | point is on a directory headerline, @kbd{w} gives you the name of that | 1116 | point is on a directory headerline, @kbd{w} gives you the name of that |
| 1117 | directory without looking for marked files. | 1117 | directory without looking for marked files. |
| 1118 | 1118 | ||
| 1119 | @vindex dired-marked-files | ||
| 1120 | The main purpose of the @kbd{w} command is so that you can yank the | 1119 | The main purpose of the @kbd{w} command is so that you can yank the |
| 1121 | file names into arguments for other Emacs commands. It also displays | 1120 | file names into arguments for other Emacs commands. It also displays |
| 1122 | what was pushed onto the kill ring, so you can use it to display the | 1121 | what was pushed onto the kill ring, so you can use it to display the |
| 1123 | list of currently marked files in the echo area. It also stores the | 1122 | list of currently marked files in the echo area. |
| 1124 | list of names in the variable @code{dired-marked-files}, for use in | ||
| 1125 | Lisp expressions. | ||
| 1126 | @end table | 1123 | @end table |
| 1127 | 1124 | ||
| 1128 | @ignore | 1125 | @ignore |
diff --git a/man/files.texi b/man/files.texi index 2ab9d5aaaa6..df7809309e8 100644 --- a/man/files.texi +++ b/man/files.texi | |||
| @@ -120,7 +120,7 @@ is not defined). | |||
| 120 | only when done before Emacs is started. | 120 | only when done before Emacs is started. |
| 121 | 121 | ||
| 122 | @cindex home directory shorthand | 122 | @cindex home directory shorthand |
| 123 | You can use the @file{~/} in a file name to mean your home directory, | 123 | You can use @file{~/} in a file name to mean your home directory, |
| 124 | or @file{~@var{user-id}/} to mean the home directory of a user whose | 124 | or @file{~@var{user-id}/} to mean the home directory of a user whose |
| 125 | login name is @code{user-id}. (On DOS and Windows systems, where a user | 125 | login name is @code{user-id}. (On DOS and Windows systems, where a user |
| 126 | doesn't have a home directory, Emacs substitutes @file{~/} with the | 126 | doesn't have a home directory, Emacs substitutes @file{~/} with the |
| @@ -208,11 +208,13 @@ While in the minibuffer, you can abort @kbd{C-x C-f} by typing | |||
| 208 | about this, see @ref{Completion Options}. | 208 | about this, see @ref{Completion Options}. |
| 209 | 209 | ||
| 210 | @cindex file selection dialog | 210 | @cindex file selection dialog |
| 211 | When Emacs is built with a suitable GUI toolkit, it pops up the | 211 | When Emacs is built with a suitable GUI toolkit, commands invoked |
| 212 | standard File Selection dialog of that toolkit instead of prompting for | 212 | with the mouse or the menu bar use the toolkit's standard File |
| 213 | the file name in the minibuffer. On Unix and GNU/Linux platforms, Emacs | 213 | Selection dialog instead of prompting for the file name in the |
| 214 | does that when built with LessTif and Motif toolkits; on MS-Windows, the | 214 | minibuffer. On Unix and GNU/Linux platforms, Emacs does that when |
| 215 | GUI version does that by default. | 215 | built with GTK, LessTif, and Motif toolkits; on MS-Windows, the GUI |
| 216 | version does that by default. @xref{Dialog Boxes}, for info | ||
| 217 | on customization of this. | ||
| 216 | 218 | ||
| 217 | Your confirmation that @kbd{C-x C-f} has completed successfully is the | 219 | Your confirmation that @kbd{C-x C-f} has completed successfully is the |
| 218 | appearance of new text on the screen and a new buffer name in the mode | 220 | appearance of new text on the screen and a new buffer name in the mode |
| @@ -253,10 +255,10 @@ carriage-return linefeed or just carriage-return if appropriate. | |||
| 253 | @vindex find-file-run-dired | 255 | @vindex find-file-run-dired |
| 254 | If the file you specify is actually a directory, @kbd{C-x C-f} invokes | 256 | If the file you specify is actually a directory, @kbd{C-x C-f} invokes |
| 255 | Dired, the Emacs directory browser, so that you can ``edit'' the contents | 257 | Dired, the Emacs directory browser, so that you can ``edit'' the contents |
| 256 | of the directory (@pxref{Dired}). Dired is a convenient way to delete, | 258 | of the directory (@pxref{Dired}). Dired is a convenient way to view, delete, |
| 257 | look at, or operate on the files in the directory. However, if the | 259 | or operate on the files in the directory. However, if the variable |
| 258 | variable @code{find-file-run-dired} is @code{nil}, then it is an error | 260 | @code{find-file-run-dired} is @code{nil}, then it is an error to try |
| 259 | to try to visit a directory. | 261 | to visit a directory. |
| 260 | 262 | ||
| 261 | Files which are actually collections of other files, or @dfn{file | 263 | Files which are actually collections of other files, or @dfn{file |
| 262 | archives}, are visited in special modes which invoke a Dired-like | 264 | archives}, are visited in special modes which invoke a Dired-like |
| @@ -407,6 +409,9 @@ about other buffers. | |||
| 407 | View the buffer that you are currently being asked about. When you exit | 409 | View the buffer that you are currently being asked about. When you exit |
| 408 | View mode, you get back to @code{save-some-buffers}, which asks the | 410 | View mode, you get back to @code{save-some-buffers}, which asks the |
| 409 | question again. | 411 | question again. |
| 412 | @item d | ||
| 413 | Diff the buffer against its corresponding file, so you can see | ||
| 414 | what changes you would be saving. | ||
| 410 | @item C-h | 415 | @item C-h |
| 411 | Display a help message about these options. | 416 | Display a help message about these options. |
| 412 | @end table | 417 | @end table |
| @@ -3085,26 +3090,24 @@ syntax: | |||
| 3085 | @end example | 3090 | @end example |
| 3086 | 3091 | ||
| 3087 | @noindent | 3092 | @noindent |
| 3088 | When you do this, Emacs may use the FTP program to access files on the | 3093 | To carry out this request, Emacs uses either the FTP program or a |
| 3089 | remote host, or Emacs may use a remote-login program (such as | 3094 | remote-login program such as @command{ssh}, @command{rlogin}, or |
| 3090 | @command{ssh}, @command{rlogin}, or @command{telnet}) to do this. | 3095 | @command{telnet}. You can always specify in the file name which |
| 3091 | 3096 | method to use---for example, | |
| 3092 | You can always specify in the file name which method should be used to | ||
| 3093 | access the remote files, for example | ||
| 3094 | @file{/ftp:@var{user}@@@var{host}:@var{filename}} uses FTP, whereas | 3097 | @file{/ftp:@var{user}@@@var{host}:@var{filename}} uses FTP, whereas |
| 3095 | @file{/ssh:@var{user}@@@var{host}:@var{filename}} uses @command{ssh}. | 3098 | @file{/ssh:@var{user}@@@var{host}:@var{filename}} uses @command{ssh}. |
| 3096 | When you don't specify a method in the file name, Emacs determines a | 3099 | When you don't specify a method in the file name, Emacs chooses |
| 3097 | default method according to the following rules: | 3100 | the method as follows: |
| 3098 | 3101 | ||
| 3099 | @enumerate | 3102 | @enumerate |
| 3100 | @item | 3103 | @item |
| 3101 | If the host name starts with @samp{ftp.} (with dot), then Emacs assumes | 3104 | If the host name starts with @samp{ftp.} (with dot), then Emacs uses |
| 3102 | the @command{ftp} method. | 3105 | FTP. |
| 3103 | @item | 3106 | @item |
| 3104 | If the user name is @samp{ftp} or @samp{anonymous}, then Emacs assumes | 3107 | If the user name is @samp{ftp} or @samp{anonymous}, then Emacs uses |
| 3105 | the @command{ftp} method. | 3108 | FTP. |
| 3106 | @item | 3109 | @item |
| 3107 | Otherwise, Emacs assumes the @command{ssh} method. | 3110 | Otherwise, Emacs uses @command{ssh}. |
| 3108 | @end enumerate | 3111 | @end enumerate |
| 3109 | 3112 | ||
| 3110 | @noindent | 3113 | @noindent |
diff --git a/man/fixit.texi b/man/fixit.texi index 84121842b8c..04fa823e76e 100644 --- a/man/fixit.texi +++ b/man/fixit.texi | |||
| @@ -159,7 +159,7 @@ checker program Ispell, which is not part of Emacs. | |||
| 159 | @table @kbd | 159 | @table @kbd |
| 160 | @item M-x flyspell-mode | 160 | @item M-x flyspell-mode |
| 161 | Enable Flyspell mode, which highlights all misspelled words. | 161 | Enable Flyspell mode, which highlights all misspelled words. |
| 162 | @item M-x flyspell-progmode | 162 | @item M-x flyspell-prog-mode |
| 163 | Enable Flyspell mode for comments and strings only. | 163 | Enable Flyspell mode for comments and strings only. |
| 164 | @item M-$ | 164 | @item M-$ |
| 165 | Check and correct spelling of the word at point (@code{ispell-word}). | 165 | Check and correct spelling of the word at point (@code{ispell-word}). |
diff --git a/man/frames.texi b/man/frames.texi index 2d6c953d2e4..5c0c42b3d8b 100644 --- a/man/frames.texi +++ b/man/frames.texi | |||
| @@ -29,10 +29,6 @@ frame. | |||
| 29 | so that you can use many of the features described in this chapter. | 29 | so that you can use many of the features described in this chapter. |
| 30 | @xref{MS-DOS Input}, for more information. | 30 | @xref{MS-DOS Input}, for more information. |
| 31 | 31 | ||
| 32 | @cindex MS Windows | ||
| 33 | Emacs compiled for MS Windows mostly supports the same features as | ||
| 34 | under X. | ||
| 35 | |||
| 36 | @menu | 32 | @menu |
| 37 | * Mouse Commands:: Moving, cutting, and pasting, with the mouse. | 33 | * Mouse Commands:: Moving, cutting, and pasting, with the mouse. |
| 38 | * Secondary Selection:: Cutting without altering point and mark. | 34 | * Secondary Selection:: Cutting without altering point and mark. |
| @@ -48,7 +44,7 @@ under X. | |||
| 48 | * Frame Parameters:: Changing the colors and other modes of frames. | 44 | * Frame Parameters:: Changing the colors and other modes of frames. |
| 49 | * Scroll Bars:: How to enable and disable scroll bars; how to use them. | 45 | * Scroll Bars:: How to enable and disable scroll bars; how to use them. |
| 50 | * Wheeled Mice:: Using mouse wheels for scrolling. | 46 | * Wheeled Mice:: Using mouse wheels for scrolling. |
| 51 | * Drag and drop:: Using drag and drop to open files and insert text. | 47 | * Drag and Drop:: Using drag and drop to open files and insert text. |
| 52 | * Menu Bars:: Enabling and disabling the menu bar. | 48 | * Menu Bars:: Enabling and disabling the menu bar. |
| 53 | * Tool Bars:: Enabling and disabling the tool bar. | 49 | * Tool Bars:: Enabling and disabling the tool bar. |
| 54 | * Dialog Boxes:: Controlling use of dialog boxes. | 50 | * Dialog Boxes:: Controlling use of dialog boxes. |
| @@ -64,7 +60,9 @@ under X. | |||
| 64 | 60 | ||
| 65 | The mouse commands for selecting and copying a region are mostly | 61 | The mouse commands for selecting and copying a region are mostly |
| 66 | compatible with the @code{xterm} program. You can use the same mouse | 62 | compatible with the @code{xterm} program. You can use the same mouse |
| 67 | commands for copying between Emacs and other X client programs. | 63 | commands for copying between Emacs and other window-based programs. |
| 64 | Most of these commands also work in Emacs when you run it under an | ||
| 65 | @code{xterm} terminal. | ||
| 68 | 66 | ||
| 69 | @kindex DELETE @r{(and mouse selection)} | 67 | @kindex DELETE @r{(and mouse selection)} |
| 70 | If you select a region with any of these mouse commands, and then | 68 | If you select a region with any of these mouse commands, and then |
| @@ -188,8 +186,6 @@ you want. Then yank it in Emacs with @kbd{C-y} or @kbd{Mouse-2}. | |||
| 188 | system for X selections, use @kbd{C-x @key{RET} x} or @kbd{C-x | 186 | system for X selections, use @kbd{C-x @key{RET} x} or @kbd{C-x |
| 189 | @key{RET} X}. @xref{Specify Coding}. | 187 | @key{RET} X}. @xref{Specify Coding}. |
| 190 | 188 | ||
| 191 | These cutting and pasting commands also work on MS-Windows. | ||
| 192 | |||
| 193 | @cindex primary selection | 189 | @cindex primary selection |
| 194 | @cindex cut buffer | 190 | @cindex cut buffer |
| 195 | @cindex selection, primary | 191 | @cindex selection, primary |
| @@ -270,7 +266,7 @@ that matters is which window you click on. @xref{Mouse Commands}. | |||
| 270 | @cindex OpenWindows | 266 | @cindex OpenWindows |
| 271 | @cindex Gnome | 267 | @cindex Gnome |
| 272 | 268 | ||
| 273 | As well as the primary and secondary selection types, X supports a | 269 | Apart from the primary and secondary selection types, X supports a |
| 274 | @dfn{clipboard} selection type which is used by some applications, | 270 | @dfn{clipboard} selection type which is used by some applications, |
| 275 | particularly under OpenWindows and Gnome. | 271 | particularly under OpenWindows and Gnome. |
| 276 | 272 | ||
| @@ -287,28 +283,42 @@ unlike most systems. | |||
| 287 | 283 | ||
| 288 | @node Mouse References | 284 | @node Mouse References |
| 289 | @section Following References with the Mouse | 285 | @section Following References with the Mouse |
| 286 | @kindex Mouse-1 @r{(selection)} | ||
| 290 | @kindex Mouse-2 @r{(selection)} | 287 | @kindex Mouse-2 @r{(selection)} |
| 291 | 288 | ||
| 292 | Some Emacs buffers display lists of various sorts. These include | 289 | Some read-only Emacs buffers include references you can follow, or |
| 293 | lists of files, of buffers, of possible completions, of matches for | 290 | commands you can activate. These include names of files, of buffers, |
| 294 | a pattern, and so on. | 291 | of possible completions, of matches for a pattern, as well as the |
| 295 | 292 | buttons in Help buffers and customization buffers. You can follow the | |
| 296 | Since yanking text into these buffers is not very useful, most of them | 293 | reference or activate the command by moving point to it and typing |
| 297 | define @kbd{Mouse-2} specially, as a command to use or view the item you | 294 | @key{RET}. You can also do this with the mouse, using either |
| 298 | click on. | 295 | @kbd{Mouse-1} or @kbd{Mouse-2}. |
| 299 | 296 | ||
| 300 | For example, if you click @kbd{Mouse-2} on a file name in a Dired | 297 | Since yanking text into a read-only buffer is not allowed, these |
| 301 | buffer, you visit that file. If you click @kbd{Mouse-2} on an error | 298 | buffers generally define @kbd{Mouse-2} to follow a reference or |
| 302 | message in the @samp{*Compilation*} buffer, you go to the source code | 299 | activate a command. For example, if you click @kbd{Mouse-2} on a file |
| 303 | for that error message. If you click @kbd{Mouse-2} on a completion in | 300 | name in a Dired buffer, you visit that file. If you click |
| 304 | the @samp{*Completions*} buffer, you choose that completion. | 301 | @kbd{Mouse-2} on an error message in the @samp{*Compilation*} buffer, |
| 302 | you go to the source code for that error message. If you click | ||
| 303 | @kbd{Mouse-2} on a completion in the @samp{*Completions*} buffer, you | ||
| 304 | choose that completion. | ||
| 305 | |||
| 306 | @vindex mouse-1-click-follows-link | ||
| 307 | However, most applications use @kbd{Mouse-1} to do this sort of | ||
| 308 | thing, so Emacs implements this too. If you click @kbd{Mouse-1} | ||
| 309 | quickly on a reference or button, it follows or activates. If you | ||
| 310 | click slowly, it moves point as usual. Dragging, meaning moving the | ||
| 311 | mouse while it is held down, also has its usual behavior of setting | ||
| 312 | the region. The variable @code{mouse-1-click-follows-link} controls | ||
| 313 | whether @kbd{Mouse-1} has this behavior. | ||
| 305 | 314 | ||
| 306 | @vindex mouse-highlight | 315 | @vindex mouse-highlight |
| 307 | You can usually tell when @kbd{Mouse-2} has this special sort of | 316 | You can usually tell when @kbd{Mouse-1} and @kbd{Mouse-2} have this |
| 308 | meaning because the sensitive text highlights when you move the mouse | 317 | special sort of meaning because the sensitive text highlights when you |
| 309 | over it. The variable @code{mouse-highlight} controls whether to do | 318 | move the mouse over it. The variable @code{mouse-highlight} controls |
| 310 | this highlighting always (even when such text appears where the mouse | 319 | whether to do this highlighting always (even when such text appears |
| 311 | already is), never, or only immediately after you move the mouse. | 320 | where the mouse already is), never, or only immediately after you move |
| 321 | the mouse. | ||
| 312 | 322 | ||
| 313 | @node Menu Mouse Clicks | 323 | @node Menu Mouse Clicks |
| 314 | @section Mouse Clicks for Menus | 324 | @section Mouse Clicks for Menus |
| @@ -331,16 +341,17 @@ for editing formatted text. @xref{Formatted Text}. | |||
| 331 | 341 | ||
| 332 | @item C-Mouse-3 | 342 | @item C-Mouse-3 |
| 333 | @kindex C-Mouse-3 | 343 | @kindex C-Mouse-3 |
| 334 | This menu is mode-specific. For most modes if Menu-bar mode is on, this | 344 | This menu is mode-specific. For most modes if Menu-bar mode is on, |
| 335 | menu has the same items as all the mode-specific menu-bar menus put | 345 | this menu has the same items as all the mode-specific menu-bar menus |
| 336 | together. Some modes may specify a different menu for this | 346 | put together. Some modes may specify a different menu for this |
| 337 | button.@footnote{Some systems use @kbd{Mouse-3} for a mode-specific | 347 | button.@footnote{Some systems use @kbd{Mouse-3} for a mode-specific |
| 338 | menu. We took a survey of users, and found they preferred to keep | 348 | menu. We took a survey of users, and found they preferred to keep |
| 339 | @kbd{Mouse-3} for selecting and killing regions. Hence the decision to | 349 | @kbd{Mouse-3} for selecting and killing regions. Hence the decision |
| 340 | use @kbd{C-Mouse-3} for this menu.} If Menu-bar mode is off, this menu | 350 | to use @kbd{C-Mouse-3} for this menu. To use @kbd{Mouse-3} instead, |
| 341 | contains all the items which would be present in the menu bar---not just | 351 | do @code{(global-set-key [mouse-3] 'mouse-popup-menubar-stuff)}.} If |
| 342 | the mode-specific ones---so that you can access them without having to | 352 | Menu-bar mode is off, this menu contains all the items which would be |
| 343 | display the menu bar. | 353 | present in the menu bar---not just the mode-specific ones---so that |
| 354 | you can access them without having to display the menu bar. | ||
| 344 | 355 | ||
| 345 | @item S-Mouse-1 | 356 | @item S-Mouse-1 |
| 346 | This menu is for specifying the frame's principal font. | 357 | This menu is for specifying the frame's principal font. |
| @@ -357,9 +368,9 @@ windows. | |||
| 357 | @table @kbd | 368 | @table @kbd |
| 358 | @item Mouse-1 | 369 | @item Mouse-1 |
| 359 | @kindex Mouse-1 @r{(mode line)} | 370 | @kindex Mouse-1 @r{(mode line)} |
| 360 | @kbd{Mouse-1} on a mode line selects the window above. By dragging | 371 | @kbd{Mouse-1} on a mode line selects the window it belongs to. By |
| 361 | @kbd{Mouse-1} on the mode line, you can move it, thus changing the | 372 | dragging @kbd{Mouse-1} on the mode line, you can move it, thus |
| 362 | height of the windows above and below. | 373 | changing the height of the windows above and below. |
| 363 | 374 | ||
| 364 | @item Mouse-2 | 375 | @item Mouse-2 |
| 365 | @kindex Mouse-2 @r{(mode line)} | 376 | @kindex Mouse-2 @r{(mode line)} |
| @@ -367,9 +378,9 @@ height of the windows above and below. | |||
| 367 | 378 | ||
| 368 | @item Mouse-3 | 379 | @item Mouse-3 |
| 369 | @kindex Mouse-3 @r{(mode line)} | 380 | @kindex Mouse-3 @r{(mode line)} |
| 370 | @kbd{Mouse-3} on a mode line deletes the window above. If the frame has | 381 | @kbd{Mouse-3} on a mode line deletes the window it belongs to. If the |
| 371 | only one window, it buries the current buffer instead and switches to | 382 | frame has only one window, it buries the current buffer instead, and |
| 372 | another buffer. | 383 | switches to another buffer. |
| 373 | 384 | ||
| 374 | @item C-Mouse-2 | 385 | @item C-Mouse-2 |
| 375 | @kindex C-mouse-2 @r{(mode line)} | 386 | @kindex C-mouse-2 @r{(mode line)} |
| @@ -639,7 +650,6 @@ whether that feature is also in use for the same buffer name. | |||
| 639 | 650 | ||
| 640 | @node Frame Parameters | 651 | @node Frame Parameters |
| 641 | @section Setting Frame Parameters | 652 | @section Setting Frame Parameters |
| 642 | @cindex colors | ||
| 643 | @cindex Auto-Raise mode | 653 | @cindex Auto-Raise mode |
| 644 | @cindex Auto-Lower mode | 654 | @cindex Auto-Lower mode |
| 645 | 655 | ||
| @@ -653,10 +663,16 @@ window management behavior of the selected frame. | |||
| 653 | @findex set-border-color | 663 | @findex set-border-color |
| 654 | @findex auto-raise-mode | 664 | @findex auto-raise-mode |
| 655 | @findex auto-lower-mode | 665 | @findex auto-lower-mode |
| 666 | @cindex colors | ||
| 656 | @table @kbd | 667 | @table @kbd |
| 657 | @item M-x set-foreground-color @key{RET} @var{color} @key{RET} | 668 | @item M-x set-foreground-color @key{RET} @var{color} @key{RET} |
| 658 | Specify color @var{color} for the foreground of the selected frame. | 669 | Specify color @var{color} for the foreground of the selected frame. |
| 659 | (This also changes the foreground color of the default face.) | 670 | (This also changes the foreground color of the default face.) You can |
| 671 | specify @var{color} either by its symbolic name or by its RGB | ||
| 672 | numerical specification@footnote{ | ||
| 673 | See the X Window System documentation for more details. On a typical | ||
| 674 | GNU or Unix system, the command @kbd{man 7 X} or @kbd{man -s 7 X} will | ||
| 675 | display the X manual page that explains how to specify colors.}. | ||
| 660 | 676 | ||
| 661 | @item M-x set-background-color @key{RET} @var{color} @key{RET} | 677 | @item M-x set-background-color @key{RET} @var{color} @key{RET} |
| 662 | Specify color @var{color} for the background of the selected frame. | 678 | Specify color @var{color} for the background of the selected frame. |
| @@ -674,7 +690,8 @@ Specify color @var{color} for the border of the selected frame. | |||
| 674 | 690 | ||
| 675 | @item M-x list-colors-display | 691 | @item M-x list-colors-display |
| 676 | Display the defined color names and show what the colors look like. | 692 | Display the defined color names and show what the colors look like. |
| 677 | This command is somewhat slow. | 693 | This command is somewhat slow. @xref{Colors, list-colors-display, |
| 694 | Display available colors}. | ||
| 678 | 695 | ||
| 679 | @item M-x auto-raise-mode | 696 | @item M-x auto-raise-mode |
| 680 | Toggle whether or not the selected frame should auto-raise. Auto-raise | 697 | Toggle whether or not the selected frame should auto-raise. Auto-raise |
| @@ -798,19 +815,24 @@ generating appropriate events for Emacs. | |||
| 798 | @code{mouse-wheel-scroll-amount} determine where and by how much | 815 | @code{mouse-wheel-scroll-amount} determine where and by how much |
| 799 | buffers are scrolled. | 816 | buffers are scrolled. |
| 800 | 817 | ||
| 801 | @node Drag and drop | 818 | @node Drag and Drop |
| 802 | @section Drag and drop in Emacs. | 819 | @section Drag and Drop |
| 803 | |||
| 804 | @cindex drag and drop | 820 | @cindex drag and drop |
| 805 | Emacs supports drag and drop so that dropping of files and text is handled. | ||
| 806 | Currently supported drag and drop protocols are XDND, Motif and the old | ||
| 807 | KDE 1.x protocol. There is no drag support yet. | ||
| 808 | When text is dropped on Emacs, Emacs inserts the text where it is dropped. | ||
| 809 | When a file is dragged from a file manager to Emacs, Emacs opens that file. | ||
| 810 | As a special case, if a file is dropped on a dired buffer the file is | ||
| 811 | copied or moved (depends on exactly how it is dragged and the application | ||
| 812 | it was dragged from) to the directory the dired buffer is displaying. | ||
| 813 | 821 | ||
| 822 | Emacs supports @dfn{drag and drop} using the mouse. For instance, | ||
| 823 | dropping text onto an Emacs frame inserts the text where it is dropped. | ||
| 824 | Dropping a file onto an Emacs frame visits that file. As a special | ||
| 825 | case, dropping the file on a Dired buffer moves or copies the file | ||
| 826 | (according to the conventions of the application it came from) into the | ||
| 827 | directory displayed in that buffer. | ||
| 828 | |||
| 829 | @vindex x-dnd-open-file-other-window | ||
| 830 | Dropping a file normally visits it in the window you drop it on. If | ||
| 831 | you prefer to visit the file in a new window in such cases, customize | ||
| 832 | the variable @code{x-dnd-open-file-other-window}. | ||
| 833 | |||
| 834 | @ignore | ||
| 835 | @c ??? To Lisp manual | ||
| 814 | @vindex x-dnd-test-function | 836 | @vindex x-dnd-test-function |
| 815 | @vindex x-dnd-known-types | 837 | @vindex x-dnd-known-types |
| 816 | When a user drags something from another application over Emacs, that other | 838 | When a user drags something from another application over Emacs, that other |
| @@ -822,26 +844,24 @@ which accepts drops if the type of the data to be dropped is present in | |||
| 822 | @code{x-dnd-known-types} if you want Emacs to accept or reject drops based | 844 | @code{x-dnd-known-types} if you want Emacs to accept or reject drops based |
| 823 | on some other criteria. | 845 | on some other criteria. |
| 824 | 846 | ||
| 825 | @vindex x-dnd-open-file-other-window | ||
| 826 | A file is normally opened in the window it is dropped on, but if you | ||
| 827 | prefer the file to be opened in a new window you can customize the variable | ||
| 828 | @code{x-dnd-open-file-other-window}. | ||
| 829 | |||
| 830 | @vindex x-dnd-types-alist | 847 | @vindex x-dnd-types-alist |
| 831 | If you want to change the way Emacs handles drop of different types | 848 | If you want to change the way Emacs handles drop of different types |
| 832 | or add a new type, you shall customize @code{x-dnd-types-alist}. This | 849 | or add a new type, customize @code{x-dnd-types-alist}. This requires |
| 833 | requires detailed knowledge of what types other applications use | 850 | detailed knowledge of what types other applications use for drag and |
| 834 | for drag and drop. | 851 | drop. |
| 835 | 852 | ||
| 836 | @vindex x-dnd-protocol-alist | 853 | @vindex x-dnd-protocol-alist |
| 837 | When an URL is dropped on Emacs it may be a file, but it may also be | 854 | When an URL is dropped on Emacs it may be a file, but it may also be |
| 838 | another URL type (ftp, http, etc.). Emacs first checks | 855 | another URL type (ftp, http, etc.). Emacs first checks |
| 839 | @code{x-dnd-protocol-alist} to determine what to do with the URL. If there | 856 | @code{x-dnd-protocol-alist} to determine what to do with the URL. If |
| 840 | is no match there and if @code{browse-url-browser-function} is an alist, | 857 | there is no match there and if @code{browse-url-browser-function} is |
| 841 | Emacs looks for a match there. If no match is found the text for the URL | 858 | an alist, Emacs looks for a match there. If no match is found the |
| 842 | is inserted. If you want to alter Emacs behaviour you can customize these | 859 | text for the URL is inserted. If you want to alter Emacs behavior, |
| 843 | variables. | 860 | you can customize these variables. |
| 861 | @end ignore | ||
| 844 | 862 | ||
| 863 | The drag and drop protocols XDND, Motif and the | ||
| 864 | old KDE 1.x protocol are currently supported. | ||
| 845 | 865 | ||
| 846 | @node Menu Bars | 866 | @node Menu Bars |
| 847 | @section Menu Bars | 867 | @section Menu Bars |
| @@ -873,20 +893,20 @@ menus. | |||
| 873 | @cindex mode, Tool Bar | 893 | @cindex mode, Tool Bar |
| 874 | @cindex icons, toolbar | 894 | @cindex icons, toolbar |
| 875 | 895 | ||
| 876 | The @dfn{tool bar} is a line (or multiple lines) of icons at the top | 896 | The @dfn{tool bar} is a line (or lines) of icons at the top of the |
| 877 | of the Emacs window. You can click on these icons with the mouse | 897 | Emacs window, just below the menu bar. You can click on these icons |
| 878 | to do various jobs. | 898 | with the mouse to do various jobs. |
| 879 | 899 | ||
| 880 | The global tool bar contains general commands. Some major modes | 900 | The global tool bar contains general commands. Some major modes |
| 881 | define their own tool bars to replace it. A few ``special'' modes | 901 | define their own tool bars to replace it. A few ``special'' modes |
| 882 | that are not designed for ordinary editing remove some items from the | 902 | that are not designed for ordinary editing remove some items from the |
| 883 | global tool bar. | 903 | global tool bar. |
| 884 | 904 | ||
| 885 | Tool bars work only on a graphical display. The tool bar uses colored | 905 | Tool bars work only on a graphical display. The tool bar uses colored |
| 886 | XPM icons if Emacs was built with XPM support. Otherwise, the tool | 906 | XPM icons if Emacs was built with XPM support. Otherwise, the tool |
| 887 | bar uses monochrome icons (PBM or XBM format). | 907 | bar uses monochrome icons (PBM or XBM format). |
| 888 | 908 | ||
| 889 | You can turn display of tool bars on or off with @kbd{M-x | 909 | You can turn display of tool bars on or off with @kbd{M-x |
| 890 | tool-bar-mode}. | 910 | tool-bar-mode}. |
| 891 | 911 | ||
| 892 | @node Dialog Boxes | 912 | @node Dialog Boxes |
diff --git a/man/text.texi b/man/text.texi index a83e78cc211..8eaa6178a8d 100644 --- a/man/text.texi +++ b/man/text.texi | |||
| @@ -185,9 +185,9 @@ Kill back to the beginning of the sentence (@code{backward-kill-sentence}). | |||
| 185 | The commands @kbd{M-a} and @kbd{M-e} (@code{backward-sentence} and | 185 | The commands @kbd{M-a} and @kbd{M-e} (@code{backward-sentence} and |
| 186 | @code{forward-sentence}) move to the beginning and end of the current | 186 | @code{forward-sentence}) move to the beginning and end of the current |
| 187 | sentence, respectively. They were chosen to resemble @kbd{C-a} and | 187 | sentence, respectively. They were chosen to resemble @kbd{C-a} and |
| 188 | @kbd{C-e}, which move to the beginning and end of a line. Unlike them, | 188 | @kbd{C-e}, which move to the beginning and end of a line. Unlike |
| 189 | @kbd{M-a} and @kbd{M-e} if repeated or given numeric arguments move over | 189 | them, @kbd{M-a} and @kbd{M-e} move over successive sentences if |
| 190 | successive sentences. | 190 | repeated. |
| 191 | 191 | ||
| 192 | Moving backward over a sentence places point just before the first | 192 | Moving backward over a sentence places point just before the first |
| 193 | character of the sentence; moving forward places point right after the | 193 | character of the sentence; moving forward places point right after the |
| @@ -238,11 +238,10 @@ set @code{sentence-end} to this value: | |||
| 238 | @end example | 238 | @end example |
| 239 | 239 | ||
| 240 | @noindent | 240 | @noindent |
| 241 | You should also set the variable @code{sentence-end-double-space} to | 241 | This is what setting the variable @code{sentence-end-double-space} to |
| 242 | @code{nil} so that the fill commands expect and leave just one space at | 242 | @code{nil} automatically does. But note that this makes it impossible |
| 243 | the end of a sentence. Note that this makes it impossible to | 243 | to distinguish between periods that end sentences and those that |
| 244 | distinguish between periods that end sentences and those that indicate | 244 | indicate abbreviations. |
| 245 | abbreviations. | ||
| 246 | 245 | ||
| 247 | @node Paragraphs | 246 | @node Paragraphs |
| 248 | @section Paragraphs | 247 | @section Paragraphs |
| @@ -269,8 +268,8 @@ paragraph, while @kbd{M-@}} moves to the end of the current or next | |||
| 269 | paragraph. Blank lines and text-formatter command lines separate | 268 | paragraph. Blank lines and text-formatter command lines separate |
| 270 | paragraphs and are not considered part of any paragraph. In Indented | 269 | paragraphs and are not considered part of any paragraph. In Indented |
| 271 | Text mode, but not in Text mode, an indented line also starts a new | 270 | Text mode, but not in Text mode, an indented line also starts a new |
| 272 | paragraph. (If a paragraph is preceded by a blank line, these | 271 | paragraph. If there is a blank line before the paragraph, @kbd{M-@{} |
| 273 | commands treat that blank line as the beginning of the paragraph.) | 272 | moves to the blank line, because that is convenient in practice. |
| 274 | 273 | ||
| 275 | In major modes for programs, paragraphs begin and end only at blank | 274 | In major modes for programs, paragraphs begin and end only at blank |
| 276 | lines. This makes the paragraph commands continue to be useful even | 275 | lines. This makes the paragraph commands continue to be useful even |
| @@ -894,11 +893,11 @@ invisible so that you can see the outline structure. Type @kbd{M-x | |||
| 894 | outline-mode} to switch to Outline mode as the major mode of the current | 893 | outline-mode} to switch to Outline mode as the major mode of the current |
| 895 | buffer. | 894 | buffer. |
| 896 | 895 | ||
| 897 | When Outline mode makes a line invisible, the line does not appear on | 896 | When Outline mode makes a line invisible, the line does not appear |
| 898 | the screen. The screen appears exactly as if the invisible line were | 897 | on the screen. The screen appears exactly as if the invisible line |
| 899 | deleted, except that an ellipsis (three periods in a row) appears at the | 898 | were deleted, except that an ellipsis (three periods in a row) appears |
| 900 | end of the previous visible line (only one ellipsis no matter how many | 899 | at the end of the previous visible line. (Multiple consecutive |
| 901 | invisible lines follow). | 900 | invisible lines produce just one ellipsis.) |
| 902 | 901 | ||
| 903 | Editing commands that operate on lines, such as @kbd{C-n} and | 902 | Editing commands that operate on lines, such as @kbd{C-n} and |
| 904 | @kbd{C-p}, treat the text of the invisible line as part of the previous | 903 | @kbd{C-p}, treat the text of the invisible line as part of the previous |
| @@ -929,7 +928,7 @@ the hook @code{outline-mode-hook} (@pxref{Hooks}). | |||
| 929 | outlines. | 928 | outlines. |
| 930 | * Visibility: Outline Visibility. Commands to control what is visible. | 929 | * Visibility: Outline Visibility. Commands to control what is visible. |
| 931 | * Views: Outline Views. Outlines and multiple views. | 930 | * Views: Outline Views. Outlines and multiple views. |
| 932 | * Foldout:: Folding editing. | 931 | * Foldout:: Folding means zooming in on outlines. |
| 933 | @end menu | 932 | @end menu |
| 934 | 933 | ||
| 935 | @node Outline Format | 934 | @node Outline Format |
| @@ -1900,8 +1899,11 @@ for more information about text properties. | |||
| 1900 | @cindex soft newline | 1899 | @cindex soft newline |
| 1901 | @cindex newlines, hard and soft | 1900 | @cindex newlines, hard and soft |
| 1902 | 1901 | ||
| 1902 | @cindex use-hard-newlines | ||
| 1903 | In formatted text, Emacs distinguishes between two different kinds of | 1903 | In formatted text, Emacs distinguishes between two different kinds of |
| 1904 | newlines, @dfn{hard} newlines and @dfn{soft} newlines. | 1904 | newlines, @dfn{hard} newlines and @dfn{soft} newlines. (You can enable |
| 1905 | or disable this feature separately in any buffer with the command | ||
| 1906 | @code{use-hard-newlines}.) | ||
| 1905 | 1907 | ||
| 1906 | Hard newlines are used to separate paragraphs, or items in a list, or | 1908 | Hard newlines are used to separate paragraphs, or items in a list, or |
| 1907 | anywhere that there should always be a line break regardless of the | 1909 | anywhere that there should always be a line break regardless of the |
diff --git a/man/windows.texi b/man/windows.texi index 8416c4be076..0d90a3b2e0c 100644 --- a/man/windows.texi +++ b/man/windows.texi | |||
| @@ -60,8 +60,8 @@ only one mark position. | |||
| 60 | 60 | ||
| 61 | Each window has its own mode line, which displays the buffer name, | 61 | Each window has its own mode line, which displays the buffer name, |
| 62 | modification status and major and minor modes of the buffer that is | 62 | modification status and major and minor modes of the buffer that is |
| 63 | displayed in the window. @xref{Mode Line}, for full details on the mode | 63 | displayed in the window. The selected window's mode line appears in a |
| 64 | line. | 64 | different color. @xref{Mode Line}, for full details on the mode line. |
| 65 | 65 | ||
| 66 | @iftex | 66 | @iftex |
| 67 | @break | 67 | @break |
| @@ -322,9 +322,14 @@ except for the echo area. | |||
| 322 | @kbd{Mouse-3}, and delete all the windows in a frame except one window | 322 | @kbd{Mouse-3}, and delete all the windows in a frame except one window |
| 323 | by clicking on that window's mode line with @kbd{Mouse-2}. | 323 | by clicking on that window's mode line with @kbd{Mouse-2}. |
| 324 | 324 | ||
| 325 | The easiest way to adjust window heights is with a mouse. If you | 325 | You can also adjust window heights and widths with the mouse. If |
| 326 | press @kbd{Mouse-1} on a mode line, you can drag that mode line up or | 326 | you press @kbd{Mouse-1} on a mode line, you can drag that mode line up |
| 327 | down, changing the heights of the windows above and below it. | 327 | or down, changing the heights of the windows above and below it. If |
| 328 | you press it on the divider between two consecutive mode lines, you | ||
| 329 | can drag that divider right or left, changing the widths of the | ||
| 330 | windows to either side. Note that changing heights and widths with | ||
| 331 | the mouse never deletes windows, it just refuses to make any window | ||
| 332 | smaller than it can be. | ||
| 328 | 333 | ||
| 329 | @kindex C-x ^ | 334 | @kindex C-x ^ |
| 330 | @findex enlarge-window | 335 | @findex enlarge-window |
diff --git a/src/ChangeLog b/src/ChangeLog index 397a34f1be4..b15fba5254c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,82 @@ | |||
| 1 | 2005-02-05 Andreas Schwab <schwab@suse.de> | ||
| 2 | |||
| 3 | * sysdep.c (sys_subshell): Properly terminate execlp argument | ||
| 4 | list. | ||
| 5 | |||
| 6 | 2005-02-05 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 7 | |||
| 8 | * xselect.c (Fx_send_client_event, x_handle_dnd_message): Handle | ||
| 9 | the longs in a XClientMessageEvent correctly when long is 64 bits. | ||
| 10 | |||
| 11 | 2005-02-05 Eli Zaretskii <eliz@gnu.org> | ||
| 12 | |||
| 13 | * xfaces.c (face_color_supported_p): Use HAVE_WINDOW_SYSTEM | ||
| 14 | instead of HAVE_X_WINDOWS, for non-X windowed sessions. | ||
| 15 | |||
| 16 | 2005-02-03 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 17 | |||
| 18 | * xmenu.c (menubar_selection_callback): Force out GTK buffered | ||
| 19 | events so the menu event comes after them. This is to prevent sit-for | ||
| 20 | from exiting on buffered events directly after a menu selection, | ||
| 21 | lisp code for Help => About Emacs uses sit-for. | ||
| 22 | |||
| 23 | * gtkutil.c (create_menus): Connect selection-done event instead of | ||
| 24 | the deactivate event to deactivate_cb. This will make the last | ||
| 25 | leave event come before the call to deactivate_cb, so the leave | ||
| 26 | event does not make sit-for exit after a menu selection. | ||
| 27 | |||
| 28 | 2005-02-03 Kim F. Storm <storm@cua.dk> | ||
| 29 | |||
| 30 | * dispnew.c (build_frame_matrix_from_leaf_window) | ||
| 31 | [!GLYPH_DEBUG]: Fix xassert. | ||
| 32 | |||
| 33 | * xfaces.c (x_free_gc) [!GLYPH_DEBUG]: Fix xassert. | ||
| 34 | |||
| 35 | * xfns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert. | ||
| 36 | |||
| 37 | 2005-02-03 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 38 | |||
| 39 | * mac.c: Use MAC_OS_X_VERSION_MAX_ALLOWED to conditionalize by | ||
| 40 | the compiling OS version. | ||
| 41 | |||
| 42 | * macfns.c (x_create_tip_frame): Likewise. | ||
| 43 | |||
| 44 | * macterm.c (mac_draw_string_common, x_make_frame_visible): | ||
| 45 | Likewise. | ||
| 46 | |||
| 47 | 2005-02-03 Richard M. Stallman <rms@gnu.org> | ||
| 48 | |||
| 49 | * xterm.c (x_error_quitter): On GCC 3 and up, specify noinline. | ||
| 50 | |||
| 51 | * xdisp.c (echo_area_display): Clear echo_message_buffer. | ||
| 52 | |||
| 53 | * buffer.c (Fbury_buffer): Doc fix. | ||
| 54 | |||
| 55 | 2005-02-02 Steven Tamm <steventamm@mac.com> | ||
| 56 | |||
| 57 | * macfns.c (unwind_create_frame): Fixing compile error due to | ||
| 58 | xassert being uncondition, but predicate is. | ||
| 59 | * dispnew.c (update_window): Fixing compile error due to | ||
| 60 | xassert being uncondition, but predicate is. | ||
| 61 | |||
| 62 | 2005-02-02 Miles Bader <miles@gnu.org> | ||
| 63 | |||
| 64 | * dispextern.h (xassert): Enable unconditionally. | ||
| 65 | |||
| 66 | 2005-02-02 Kim F. Storm <storm@cua.dk> | ||
| 67 | |||
| 68 | * undo.c (Fprimitive_undo): Fix dummy apply undo entry. | ||
| 69 | |||
| 70 | 2005-02-02 Kenichi Handa <handa@m17n.org> | ||
| 71 | |||
| 72 | * casefiddle.c (casify_object): Enable changing characters of | ||
| 73 | different byte length. | ||
| 74 | (casify_region): Fix loop condition, args to replace_range_2, and | ||
| 75 | update opoint_byte. | ||
| 76 | |||
| 77 | * insdel.c (replace_range_2): Fix bugs in adjusting markers and | ||
| 78 | point. | ||
| 79 | |||
| 1 | 2005-02-01 Kim F. Storm <storm@cua.dk> | 80 | 2005-02-01 Kim F. Storm <storm@cua.dk> |
| 2 | 81 | ||
| 3 | * xdisp.c (back_to_previous_visible_line_start): Reset iterator | 82 | * xdisp.c (back_to_previous_visible_line_start): Reset iterator |
diff --git a/src/buffer.c b/src/buffer.c index d869388ec72..153b0ca0bb2 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -1953,6 +1953,7 @@ DEFUN ("bury-buffer", Fbury_buffer, Sbury_buffer, 0, 1, "", | |||
| 1953 | doc: /* Put BUFFER at the end of the list of all buffers. | 1953 | doc: /* Put BUFFER at the end of the list of all buffers. |
| 1954 | There it is the least likely candidate for `other-buffer' to return; | 1954 | There it is the least likely candidate for `other-buffer' to return; |
| 1955 | thus, the least likely buffer for \\[switch-to-buffer] to select by default. | 1955 | thus, the least likely buffer for \\[switch-to-buffer] to select by default. |
| 1956 | You can specify a buffer name as BUFFER, or an actual buffer object. | ||
| 1956 | If BUFFER is nil or omitted, bury the current buffer. | 1957 | If BUFFER is nil or omitted, bury the current buffer. |
| 1957 | Also, if BUFFER is nil or omitted, remove the current buffer from the | 1958 | Also, if BUFFER is nil or omitted, remove the current buffer from the |
| 1958 | selected window if it is displayed there. */) | 1959 | selected window if it is displayed there. */) |
diff --git a/src/casefiddle.c b/src/casefiddle.c index 297eb82c15b..889c3879cb4 100644 --- a/src/casefiddle.c +++ b/src/casefiddle.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* GNU Emacs case conversion functions. | 1 | /* GNU Emacs case conversion functions. |
| 2 | Copyright (C) 1985,94,97,98,99, 2001, 2002, 2004 | 2 | Copyright (C) 1985,94,97,98,99, 2001, 2002, 2004, 2005 |
| 3 | Free Software Foundation, Inc. | 3 | Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is part of GNU Emacs. | 5 | This file is part of GNU Emacs. |
diff --git a/src/dispextern.h b/src/dispextern.h index 5edc213fba1..a438b305c35 100644 --- a/src/dispextern.h +++ b/src/dispextern.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Interface definitions for display code. | 1 | /* Interface definitions for display code. |
| 2 | Copyright (C) 1985,93,94,97,98,99, 2000,01,02,03, 2004 | 2 | Copyright (C) 1985,93,94,97,98,99, 2000,01,02,03, 2004, 2005 |
| 3 | Free Software Foundation, Inc. | 3 | Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is part of GNU Emacs. | 5 | This file is part of GNU Emacs. |
| @@ -123,12 +123,13 @@ enum window_part | |||
| 123 | 123 | ||
| 124 | #if GLYPH_DEBUG | 124 | #if GLYPH_DEBUG |
| 125 | #define IF_DEBUG(X) X | 125 | #define IF_DEBUG(X) X |
| 126 | #define xassert(X) do {if (!(X)) abort ();} while (0) | ||
| 127 | #else | 126 | #else |
| 128 | #define IF_DEBUG(X) (void) 0 | 127 | #define IF_DEBUG(X) (void) 0 |
| 129 | #define xassert(X) (void) 0 | ||
| 130 | #endif | 128 | #endif |
| 131 | 129 | ||
| 130 | /* Maybe move this inside the above `#ifdef GLYPH_DEBUG' for release. */ | ||
| 131 | #define xassert(X) do {if (!(X)) abort ();} while (0) | ||
| 132 | |||
| 132 | /* Macro for displaying traces of redisplay. If Emacs was compiled | 133 | /* Macro for displaying traces of redisplay. If Emacs was compiled |
| 133 | with GLYPH_DEBUG != 0, the variable trace_redisplay_p can be set to | 134 | with GLYPH_DEBUG != 0, the variable trace_redisplay_p can be set to |
| 134 | a non-zero value in debugging sessions to activate traces. */ | 135 | a non-zero value in debugging sessions to activate traces. */ |
diff --git a/src/dispnew.c b/src/dispnew.c index c07a4cf8395..302095aa1e8 100644 --- a/src/dispnew.c +++ b/src/dispnew.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Updating of data structures for redisplay. | 1 | /* Updating of data structures for redisplay. |
| 2 | Copyright (C) 1985,86,87,88,93,94,95,97,98,1999,2000,01,02,03,04 | 2 | Copyright (C) 1985, 1986, 1987, 1988, 1993, 1994, 1995, 1997, 1998, 1999, |
| 3 | Free Software Foundation, Inc. | 3 | 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is part of GNU Emacs. | 5 | This file is part of GNU Emacs. |
| 6 | 6 | ||
| @@ -2763,6 +2763,7 @@ build_frame_matrix_from_leaf_window (frame_matrix, w) | |||
| 2763 | SET_CHAR_GLYPH_FROM_GLYPH (*border, right_border_glyph); | 2763 | SET_CHAR_GLYPH_FROM_GLYPH (*border, right_border_glyph); |
| 2764 | } | 2764 | } |
| 2765 | 2765 | ||
| 2766 | #if GLYPH_DEBUG | ||
| 2766 | /* Window row window_y must be a slice of frame row | 2767 | /* Window row window_y must be a slice of frame row |
| 2767 | frame_y. */ | 2768 | frame_y. */ |
| 2768 | xassert (glyph_row_slice_p (window_row, frame_row)); | 2769 | xassert (glyph_row_slice_p (window_row, frame_row)); |
| @@ -2770,7 +2771,6 @@ build_frame_matrix_from_leaf_window (frame_matrix, w) | |||
| 2770 | /* If rows are in sync, we don't have to copy glyphs because | 2771 | /* If rows are in sync, we don't have to copy glyphs because |
| 2771 | frame and window share glyphs. */ | 2772 | frame and window share glyphs. */ |
| 2772 | 2773 | ||
| 2773 | #if GLYPH_DEBUG | ||
| 2774 | strcpy (w->current_matrix->method, w->desired_matrix->method); | 2774 | strcpy (w->current_matrix->method, w->desired_matrix->method); |
| 2775 | add_window_display_history (w, w->current_matrix->method, 0); | 2775 | add_window_display_history (w, w->current_matrix->method, 0); |
| 2776 | #endif | 2776 | #endif |
| @@ -4051,11 +4051,11 @@ update_window (w, force_p) | |||
| 4051 | extern Lisp_Object do_mouse_tracking; | 4051 | extern Lisp_Object do_mouse_tracking; |
| 4052 | #if GLYPH_DEBUG | 4052 | #if GLYPH_DEBUG |
| 4053 | struct frame *f = XFRAME (WINDOW_FRAME (w)); | 4053 | struct frame *f = XFRAME (WINDOW_FRAME (w)); |
| 4054 | #endif | ||
| 4055 | 4054 | ||
| 4056 | /* Check that W's frame doesn't have glyph matrices. */ | 4055 | /* Check that W's frame doesn't have glyph matrices. */ |
| 4057 | xassert (FRAME_WINDOW_P (f)); | 4056 | xassert (FRAME_WINDOW_P (f)); |
| 4058 | xassert (updating_frame != NULL); | 4057 | xassert (updating_frame != NULL); |
| 4058 | #endif | ||
| 4059 | 4059 | ||
| 4060 | /* Check pending input the first time so that we can quickly return. */ | 4060 | /* Check pending input the first time so that we can quickly return. */ |
| 4061 | if (redisplay_dont_pause) | 4061 | if (redisplay_dont_pause) |
diff --git a/src/gtkutil.c b/src/gtkutil.c index aecc4e2eaea..6bf0c25f350 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c | |||
| @@ -1905,7 +1905,7 @@ create_menus (data, f, select_cb, deactivate_cb, highlight_cb, | |||
| 1905 | 1905 | ||
| 1906 | if (deactivate_cb) | 1906 | if (deactivate_cb) |
| 1907 | g_signal_connect (G_OBJECT (wmenu), | 1907 | g_signal_connect (G_OBJECT (wmenu), |
| 1908 | "deactivate", deactivate_cb, 0); | 1908 | "selection-done", deactivate_cb, 0); |
| 1909 | 1909 | ||
| 1910 | g_signal_connect (G_OBJECT (wmenu), | 1910 | g_signal_connect (G_OBJECT (wmenu), |
| 1911 | "grab-notify", G_CALLBACK (menu_grab_callback), 0); | 1911 | "grab-notify", G_CALLBACK (menu_grab_callback), 0); |
diff --git a/src/insdel.c b/src/insdel.c index aec393692a2..c2ee9a94674 100644 --- a/src/insdel.c +++ b/src/insdel.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Buffer insertion/deletion and gap motion for GNU Emacs. | 1 | /* Buffer insertion/deletion and gap motion for GNU Emacs. |
| 2 | Copyright (C) 1985, 86,93,94,95,97,98, 1999, 2000, 01, 2003 | 2 | Copyright (C) 1985, 86,93,94,95,97,98, 1999, 2000, 01, 2003, 2005 |
| 3 | Free Software Foundation, Inc. | 3 | Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is part of GNU Emacs. | 5 | This file is part of GNU Emacs. |
| @@ -1778,17 +1778,21 @@ replace_range_2 (from, from_byte, to, to_byte, ins, inschars, insbytes, markers) | |||
| 1778 | 1778 | ||
| 1779 | /* Adjust markers for the deletion and the insertion. */ | 1779 | /* Adjust markers for the deletion and the insertion. */ |
| 1780 | if (markers | 1780 | if (markers |
| 1781 | && ! (nchars_del == 1 && inschars == 1)) | 1781 | && ! (nchars_del == 1 && inschars == 1 && nbytes_del == insbytes)) |
| 1782 | adjust_markers_for_replace (from, from_byte, nchars_del, nbytes_del, | 1782 | adjust_markers_for_replace (from, from_byte, nchars_del, nbytes_del, |
| 1783 | inschars, insbytes); | 1783 | inschars, insbytes); |
| 1784 | 1784 | ||
| 1785 | offset_intervals (current_buffer, from, inschars - nchars_del); | 1785 | offset_intervals (current_buffer, from, inschars - nchars_del); |
| 1786 | 1786 | ||
| 1787 | /* Relocate point as if it were a marker. */ | 1787 | /* Relocate point as if it were a marker. */ |
| 1788 | if (from < PT && nchars_del != inschars) | 1788 | if (from < PT && (nchars_del != inschars || nbytes_del != insbytes)) |
| 1789 | adjust_point ((from + inschars - (PT < to ? PT : to)), | 1789 | { |
| 1790 | (from_byte + insbytes | 1790 | if (PT < to) |
| 1791 | - (PT_BYTE < to_byte ? PT_BYTE : to_byte))); | 1791 | /* PT was within the deleted text. Move it to FROM. */ |
| 1792 | adjust_point (from - PT, from_byte - PT_BYTE); | ||
| 1793 | else | ||
| 1794 | adjust_point (inschars - nchars_del, insbytes - nbytes_del); | ||
| 1795 | } | ||
| 1792 | 1796 | ||
| 1793 | if (insbytes == 0) | 1797 | if (insbytes == 0) |
| 1794 | evaporate_overlays (from); | 1798 | evaporate_overlays (from); |
| @@ -2858,7 +2858,7 @@ select_and_poll_event (n, rfds, wfds, efds, timeout) | |||
| 2858 | return r; | 2858 | return r; |
| 2859 | } | 2859 | } |
| 2860 | 2860 | ||
| 2861 | #ifndef MAC_OS_X_VERSION_10_2 | 2861 | #if MAC_OS_X_VERSION_MAX_ALLOWED < 1020 |
| 2862 | #undef SELECT_INVALIDATE_CFSOCKET | 2862 | #undef SELECT_INVALIDATE_CFSOCKET |
| 2863 | #endif | 2863 | #endif |
| 2864 | 2864 | ||
diff --git a/src/macfns.c b/src/macfns.c index 7254ac41752..e46b8469fe2 100644 --- a/src/macfns.c +++ b/src/macfns.c | |||
| @@ -2527,9 +2527,11 @@ unwind_create_frame (frame) | |||
| 2527 | 2527 | ||
| 2528 | x_free_frame_resources (f); | 2528 | x_free_frame_resources (f); |
| 2529 | 2529 | ||
| 2530 | #if GLYPH_DEBUG | ||
| 2530 | /* Check that reference counts are indeed correct. */ | 2531 | /* Check that reference counts are indeed correct. */ |
| 2531 | xassert (dpyinfo->reference_count == dpyinfo_refcount); | 2532 | xassert (dpyinfo->reference_count == dpyinfo_refcount); |
| 2532 | xassert (dpyinfo->image_cache->refcount == image_cache_refcount); | 2533 | xassert (dpyinfo->image_cache->refcount == image_cache_refcount); |
| 2534 | #endif | ||
| 2533 | return Qt; | 2535 | return Qt; |
| 2534 | } | 2536 | } |
| 2535 | 2537 | ||
| @@ -3880,7 +3882,7 @@ x_create_tip_frame (dpyinfo, parms, text) | |||
| 3880 | SetRect (&r, 0, 0, 1, 1); | 3882 | SetRect (&r, 0, 0, 1, 1); |
| 3881 | #if TARGET_API_MAC_CARBON | 3883 | #if TARGET_API_MAC_CARBON |
| 3882 | if (CreateNewWindow (kHelpWindowClass, | 3884 | if (CreateNewWindow (kHelpWindowClass, |
| 3883 | #ifdef MAC_OS_X_VERSION_10_2 | 3885 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 |
| 3884 | kWindowIgnoreClicksAttribute | | 3886 | kWindowIgnoreClicksAttribute | |
| 3885 | #endif | 3887 | #endif |
| 3886 | kWindowNoUpdatesAttribute | | 3888 | kWindowNoUpdatesAttribute | |
diff --git a/src/macterm.c b/src/macterm.c index 5a7db8e04e2..2ee881e8d49 100644 --- a/src/macterm.c +++ b/src/macterm.c | |||
| @@ -731,7 +731,7 @@ mac_draw_string_common (display, w, gc, x, y, buf, nchars, mode, | |||
| 731 | int nchars, mode, bytes_per_char; | 731 | int nchars, mode, bytes_per_char; |
| 732 | { | 732 | { |
| 733 | SetPortWindowPort (w); | 733 | SetPortWindowPort (w); |
| 734 | #ifdef MAC_OS_X_VERSION_10_2 | 734 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 |
| 735 | UInt32 textFlags, savedFlags; | 735 | UInt32 textFlags, savedFlags; |
| 736 | if (!NILP(Vmac_use_core_graphics)) { | 736 | if (!NILP(Vmac_use_core_graphics)) { |
| 737 | textFlags = kQDUseCGTextRendering; | 737 | textFlags = kQDUseCGTextRendering; |
| @@ -748,7 +748,7 @@ mac_draw_string_common (display, w, gc, x, y, buf, nchars, mode, | |||
| 748 | 748 | ||
| 749 | MoveTo (x, y); | 749 | MoveTo (x, y); |
| 750 | DrawText (buf, 0, nchars * bytes_per_char); | 750 | DrawText (buf, 0, nchars * bytes_per_char); |
| 751 | #ifdef MAC_OS_X_VERSION_10_2 | 751 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 |
| 752 | if (!NILP(Vmac_use_core_graphics)) | 752 | if (!NILP(Vmac_use_core_graphics)) |
| 753 | SwapQDTextFlags(savedFlags); | 753 | SwapQDTextFlags(savedFlags); |
| 754 | #endif | 754 | #endif |
| @@ -5468,7 +5468,7 @@ x_make_frame_visible (f) | |||
| 5468 | else | 5468 | else |
| 5469 | RepositionWindow (FRAME_MAC_WINDOW (f), | 5469 | RepositionWindow (FRAME_MAC_WINDOW (f), |
| 5470 | FRAME_MAC_WINDOW (sf), | 5470 | FRAME_MAC_WINDOW (sf), |
| 5471 | #ifdef MAC_OS_X_VERSION_10_2 | 5471 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 |
| 5472 | kWindowCascadeStartAtParentWindowScreen | 5472 | kWindowCascadeStartAtParentWindowScreen |
| 5473 | #else | 5473 | #else |
| 5474 | kWindowCascadeOnParentWindowScreen | 5474 | kWindowCascadeOnParentWindowScreen |
diff --git a/src/sysdep.c b/src/sysdep.c index 1884c0ccffa..f1345e591ab 100644 --- a/src/sysdep.c +++ b/src/sysdep.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Interfaces to system-dependent kernel and library entries. | 1 | /* Interfaces to system-dependent kernel and library entries. |
| 2 | Copyright (C) 1985, 1986, 1987, 1988, 1993, 1994, 1995, 1999, 2000, 2001, | 2 | Copyright (C) 1985, 1986, 1987, 1988, 1993, 1994, 1995, 1999, 2000, 2001, |
| 3 | 2003, 2004 Free Software Foundation, Inc. | 3 | 2003, 2004, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is part of GNU Emacs. | 5 | This file is part of GNU Emacs. |
| 6 | 6 | ||
| @@ -869,7 +869,7 @@ sys_subshell () | |||
| 869 | if (pid == -1) | 869 | if (pid == -1) |
| 870 | write (1, "Can't execute subshell", 22); | 870 | write (1, "Can't execute subshell", 22); |
| 871 | #else /* not WINDOWSNT */ | 871 | #else /* not WINDOWSNT */ |
| 872 | execlp (sh, sh, 0); | 872 | execlp (sh, sh, (char *) 0); |
| 873 | write (1, "Can't execute subshell", 22); | 873 | write (1, "Can't execute subshell", 22); |
| 874 | _exit (1); | 874 | _exit (1); |
| 875 | #endif /* not WINDOWSNT */ | 875 | #endif /* not WINDOWSNT */ |
diff --git a/src/undo.c b/src/undo.c index ea4f35397a9..eaf312be676 100644 --- a/src/undo.c +++ b/src/undo.c | |||
| @@ -560,12 +560,13 @@ Return what remains of the list. */) | |||
| 560 | } | 560 | } |
| 561 | cdr = Fcdr (cdr); | 561 | cdr = Fcdr (cdr); |
| 562 | apply1 (car, cdr); | 562 | apply1 (car, cdr); |
| 563 | |||
| 563 | /* Make sure this produces at least one undo entry, | 564 | /* Make sure this produces at least one undo entry, |
| 564 | so the test in `undo' for continuing an undo series | 565 | so the test in `undo' for continuing an undo series |
| 565 | will work right. */ | 566 | will work right. */ |
| 566 | if (EQ (oldlist, current_buffer->undo_list)) | 567 | if (EQ (oldlist, current_buffer->undo_list)) |
| 567 | current_buffer->undo_list | 568 | current_buffer->undo_list |
| 568 | = Fcons (list2 (Qcdr, Qnil), current_buffer->undo_list); | 569 | = Fcons (list3 (Qapply, Qcdr, Qnil), current_buffer->undo_list); |
| 569 | } | 570 | } |
| 570 | else if (STRINGP (car) && INTEGERP (cdr)) | 571 | else if (STRINGP (car) && INTEGERP (cdr)) |
| 571 | { | 572 | { |
diff --git a/src/xdisp.c b/src/xdisp.c index 31a6074b61f..6ee9efafc62 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -8200,6 +8200,8 @@ echo_area_display (update_frame_p) | |||
| 8200 | 8200 | ||
| 8201 | /* Last displayed message is now the current message. */ | 8201 | /* Last displayed message is now the current message. */ |
| 8202 | echo_area_buffer[1] = echo_area_buffer[0]; | 8202 | echo_area_buffer[1] = echo_area_buffer[0]; |
| 8203 | /* Inform read_char that we're not echoing. */ | ||
| 8204 | echo_message_buffer = Qnil; | ||
| 8203 | 8205 | ||
| 8204 | /* Prevent redisplay optimization in redisplay_internal by resetting | 8206 | /* Prevent redisplay optimization in redisplay_internal by resetting |
| 8205 | this_line_start_pos. This is done because the mini-buffer now | 8207 | this_line_start_pos. This is done because the mini-buffer now |
diff --git a/src/xfaces.c b/src/xfaces.c index a4920d893ee..29b342a8f1e 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* xfaces.c -- "Face" primitives. | 1 | /* xfaces.c -- "Face" primitives. |
| 2 | Copyright (C) 1993, 1994, 1998, 1999, 2000, 2001, 2002, 2003, 2004 | 2 | Copyright (C) 1993, 1994, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 |
| 3 | Free Software Foundation. | 3 | Free Software Foundation. |
| 4 | 4 | ||
| 5 | This file is part of GNU Emacs. | 5 | This file is part of GNU Emacs. |
| @@ -738,7 +738,7 @@ x_free_gc (f, gc) | |||
| 738 | GC gc; | 738 | GC gc; |
| 739 | { | 739 | { |
| 740 | BLOCK_INPUT; | 740 | BLOCK_INPUT; |
| 741 | xassert (--ngcs >= 0); | 741 | IF_DEBUG (xassert (--ngcs >= 0)); |
| 742 | XFreeGC (FRAME_X_DISPLAY (f), gc); | 742 | XFreeGC (FRAME_X_DISPLAY (f), gc); |
| 743 | UNBLOCK_INPUT; | 743 | UNBLOCK_INPUT; |
| 744 | } | 744 | } |
| @@ -771,7 +771,7 @@ x_free_gc (f, gc) | |||
| 771 | GC gc; | 771 | GC gc; |
| 772 | { | 772 | { |
| 773 | BLOCK_INPUT; | 773 | BLOCK_INPUT; |
| 774 | xassert (--ngcs >= 0); | 774 | IF_DEBUG (xassert (--ngcs >= 0)); |
| 775 | xfree (gc); | 775 | xfree (gc); |
| 776 | UNBLOCK_INPUT; | 776 | UNBLOCK_INPUT; |
| 777 | } | 777 | } |
| @@ -1511,7 +1511,7 @@ face_color_supported_p (f, color_name, background_p) | |||
| 1511 | 1511 | ||
| 1512 | XSETFRAME (frame, f); | 1512 | XSETFRAME (frame, f); |
| 1513 | return | 1513 | return |
| 1514 | #ifdef HAVE_X_WINDOWS | 1514 | #ifdef HAVE_WINDOW_SYSTEM |
| 1515 | FRAME_WINDOW_P (f) | 1515 | FRAME_WINDOW_P (f) |
| 1516 | ? (!NILP (Fxw_display_color_p (frame)) | 1516 | ? (!NILP (Fxw_display_color_p (frame)) |
| 1517 | || xstricmp (color_name, "black") == 0 | 1517 | || xstricmp (color_name, "black") == 0 |
diff --git a/src/xfns.c b/src/xfns.c index 2bb5fa31327..2732a1be051 100644 --- a/src/xfns.c +++ b/src/xfns.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Functions for the X window system. | 1 | /* Functions for the X window system. |
| 2 | Copyright (C) 1989, 92, 93, 94, 95, 96, 97, 98, 99, 2000,01,02,03,04 | 2 | Copyright (C) 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, |
| 3 | Free Software Foundation. | 3 | 2001, 2002, 2003, 2004, 2005 Free Software Foundation. |
| 4 | 4 | ||
| 5 | This file is part of GNU Emacs. | 5 | This file is part of GNU Emacs. |
| 6 | 6 | ||
| @@ -2843,9 +2843,11 @@ unwind_create_frame (frame) | |||
| 2843 | 2843 | ||
| 2844 | x_free_frame_resources (f); | 2844 | x_free_frame_resources (f); |
| 2845 | 2845 | ||
| 2846 | #if GLYPH_DEBUG | ||
| 2846 | /* Check that reference counts are indeed correct. */ | 2847 | /* Check that reference counts are indeed correct. */ |
| 2847 | xassert (dpyinfo->reference_count == dpyinfo_refcount); | 2848 | xassert (dpyinfo->reference_count == dpyinfo_refcount); |
| 2848 | xassert (dpyinfo->image_cache->refcount == image_cache_refcount); | 2849 | xassert (dpyinfo->image_cache->refcount == image_cache_refcount); |
| 2850 | #endif | ||
| 2849 | return Qt; | 2851 | return Qt; |
| 2850 | } | 2852 | } |
| 2851 | 2853 | ||
| @@ -4071,7 +4073,7 @@ Value is VALUE. */) | |||
| 4071 | 4073 | ||
| 4072 | if (! NILP (outer_p)) w = FRAME_OUTER_WINDOW (f); | 4074 | if (! NILP (outer_p)) w = FRAME_OUTER_WINDOW (f); |
| 4073 | else w = FRAME_X_WINDOW (f); | 4075 | else w = FRAME_X_WINDOW (f); |
| 4074 | 4076 | ||
| 4075 | XChangeProperty (FRAME_X_DISPLAY (f), w, | 4077 | XChangeProperty (FRAME_X_DISPLAY (f), w, |
| 4076 | prop_atom, target_type, element_format, PropModeReplace, | 4078 | prop_atom, target_type, element_format, PropModeReplace, |
| 4077 | data, nelements); | 4079 | data, nelements); |
| @@ -5240,7 +5242,7 @@ or directory must exist. ONLY-DIR-P is ignored." */) | |||
| 5240 | if (keysym == XK_g && (event.xkey.state & ControlMask) != 0) | 5242 | if (keysym == XK_g && (event.xkey.state & ControlMask) != 0) |
| 5241 | XtUnmanageChild (dialog); | 5243 | XtUnmanageChild (dialog); |
| 5242 | } | 5244 | } |
| 5243 | 5245 | ||
| 5244 | (void) x_dispatch_event (&event, FRAME_X_DISPLAY (f)); | 5246 | (void) x_dispatch_event (&event, FRAME_X_DISPLAY (f)); |
| 5245 | } | 5247 | } |
| 5246 | 5248 | ||
diff --git a/src/xmenu.c b/src/xmenu.c index 850b8f4ddf4..e98ee7534a4 100644 --- a/src/xmenu.c +++ b/src/xmenu.c | |||
| @@ -1445,9 +1445,9 @@ menu_highlight_callback (widget, id, call_data) | |||
| 1445 | /* Find the menu selection and store it in the keyboard buffer. | 1445 | /* Find the menu selection and store it in the keyboard buffer. |
| 1446 | F is the frame the menu is on. | 1446 | F is the frame the menu is on. |
| 1447 | MENU_BAR_ITEMS_USED is the length of VECTOR. | 1447 | MENU_BAR_ITEMS_USED is the length of VECTOR. |
| 1448 | VECTOR is an array of menu events for the whole menu. | 1448 | VECTOR is an array of menu events for the whole menu. */ |
| 1449 | */ | 1449 | |
| 1450 | void | 1450 | static void |
| 1451 | find_and_call_menu_selection (f, menu_bar_items_used, vector, client_data) | 1451 | find_and_call_menu_selection (f, menu_bar_items_used, vector, client_data) |
| 1452 | FRAME_PTR f; | 1452 | FRAME_PTR f; |
| 1453 | EMACS_INT menu_bar_items_used; | 1453 | EMACS_INT menu_bar_items_used; |
| @@ -1554,6 +1554,17 @@ menubar_selection_callback (widget, client_data) | |||
| 1554 | if (! cb_data || ! cb_data->cl_data || ! cb_data->cl_data->f) | 1554 | if (! cb_data || ! cb_data->cl_data || ! cb_data->cl_data->f) |
| 1555 | return; | 1555 | return; |
| 1556 | 1556 | ||
| 1557 | /* When a menu is popped down, X generates a focus event (i.e. focus | ||
| 1558 | goes back to the frame below the menu). Since GTK buffers events, | ||
| 1559 | we force it out here before the menu selection event. Otherwise | ||
| 1560 | sit-for will exit at once if the focus event follows the menu selection | ||
| 1561 | event. */ | ||
| 1562 | |||
| 1563 | BLOCK_INPUT; | ||
| 1564 | while (gtk_events_pending ()) | ||
| 1565 | gtk_main_iteration (); | ||
| 1566 | UNBLOCK_INPUT; | ||
| 1567 | |||
| 1557 | find_and_call_menu_selection (cb_data->cl_data->f, | 1568 | find_and_call_menu_selection (cb_data->cl_data->f, |
| 1558 | cb_data->cl_data->menu_bar_items_used, | 1569 | cb_data->cl_data->menu_bar_items_used, |
| 1559 | cb_data->cl_data->menu_bar_vector, | 1570 | cb_data->cl_data->menu_bar_vector, |
diff --git a/src/xselect.c b/src/xselect.c index 5dd63b9c735..daae84b276c 100644 --- a/src/xselect.c +++ b/src/xselect.c | |||
| @@ -2536,7 +2536,7 @@ x_property_data_to_lisp (f, data, type, format, size) | |||
| 2536 | data, size*format/8, type, format); | 2536 | data, size*format/8, type, format); |
| 2537 | } | 2537 | } |
| 2538 | 2538 | ||
| 2539 | /* Get the mouse position frame relative coordinates. */ | 2539 | /* Get the mouse position in frame relative coordinates. */ |
| 2540 | 2540 | ||
| 2541 | static void | 2541 | static void |
| 2542 | mouse_position_for_drop (f, x, y) | 2542 | mouse_position_for_drop (f, x, y) |
| @@ -2635,16 +2635,31 @@ x_handle_dnd_message (f, event, dpyinfo, bufp) | |||
| 2635 | Lisp_Object frame; | 2635 | Lisp_Object frame; |
| 2636 | unsigned long size = (8*sizeof (event->data))/event->format; | 2636 | unsigned long size = (8*sizeof (event->data))/event->format; |
| 2637 | int x, y; | 2637 | int x, y; |
| 2638 | unsigned char *data = (unsigned char *) event->data.b; | ||
| 2639 | int idata[5]; | ||
| 2638 | 2640 | ||
| 2639 | XSETFRAME (frame, f); | 2641 | XSETFRAME (frame, f); |
| 2640 | 2642 | ||
| 2643 | /* On a 64 bit machine, the event->data.l array members are 64 bits (long), | ||
| 2644 | but the x_property_data_to_lisp (or rather selection_data_to_lisp_data) | ||
| 2645 | function expects them to be of size int (i.e. 32). So to be able to | ||
| 2646 | use that function, put the data in the form it expects if format is 32. */ | ||
| 2647 | |||
| 2648 | if (event->format == 32 && event->format < BITS_PER_LONG) | ||
| 2649 | { | ||
| 2650 | int i; | ||
| 2651 | for (i = 0; i < 5; ++i) /* There are only 5 longs in a ClientMessage. */ | ||
| 2652 | idata[i] = (int) event->data.l[i]; | ||
| 2653 | data = (unsigned char *) idata; | ||
| 2654 | } | ||
| 2655 | |||
| 2641 | vec = Fmake_vector (make_number (4), Qnil); | 2656 | vec = Fmake_vector (make_number (4), Qnil); |
| 2642 | AREF (vec, 0) = SYMBOL_NAME (x_atom_to_symbol (FRAME_X_DISPLAY (f), | 2657 | AREF (vec, 0) = SYMBOL_NAME (x_atom_to_symbol (FRAME_X_DISPLAY (f), |
| 2643 | event->message_type)); | 2658 | event->message_type)); |
| 2644 | AREF (vec, 1) = frame; | 2659 | AREF (vec, 1) = frame; |
| 2645 | AREF (vec, 2) = make_number (event->format); | 2660 | AREF (vec, 2) = make_number (event->format); |
| 2646 | AREF (vec, 3) = x_property_data_to_lisp (f, | 2661 | AREF (vec, 3) = x_property_data_to_lisp (f, |
| 2647 | event->data.b, | 2662 | data, |
| 2648 | event->message_type, | 2663 | event->message_type, |
| 2649 | event->format, | 2664 | event->format, |
| 2650 | size); | 2665 | size); |
| @@ -2697,6 +2712,8 @@ are ignored. */) | |||
| 2697 | struct frame *f = check_x_frame (from); | 2712 | struct frame *f = check_x_frame (from); |
| 2698 | int count; | 2713 | int count; |
| 2699 | int to_root; | 2714 | int to_root; |
| 2715 | int idata[5]; | ||
| 2716 | void *data; | ||
| 2700 | 2717 | ||
| 2701 | CHECK_STRING (message_type); | 2718 | CHECK_STRING (message_type); |
| 2702 | CHECK_NUMBER (format); | 2719 | CHECK_NUMBER (format); |
| @@ -2756,10 +2773,31 @@ are ignored. */) | |||
| 2756 | when sending to the root window. */ | 2773 | when sending to the root window. */ |
| 2757 | event.xclient.window = to_root ? FRAME_OUTER_WINDOW (f) : wdest; | 2774 | event.xclient.window = to_root ? FRAME_OUTER_WINDOW (f) : wdest; |
| 2758 | 2775 | ||
| 2759 | memset (event.xclient.data.b, 0, sizeof (event.xclient.data.b)); | 2776 | |
| 2760 | x_fill_property_data (dpyinfo->display, values, event.xclient.data.b, | 2777 | if (event.xclient.format == 32 && event.xclient.format < BITS_PER_LONG) |
| 2761 | event.xclient.format); | 2778 | { |
| 2779 | /* x_fill_property_data expects data to hold 32 bit values when | ||
| 2780 | format == 32, but on a 64 bit machine long is 64 bits. | ||
| 2781 | event.xclient.l is an array of long, so we must compensate. */ | ||
| 2762 | 2782 | ||
| 2783 | memset (idata, 0, sizeof (idata)); | ||
| 2784 | data = idata; | ||
| 2785 | } | ||
| 2786 | else | ||
| 2787 | { | ||
| 2788 | memset (event.xclient.data.b, 0, sizeof (event.xclient.data.b)); | ||
| 2789 | data = event.xclient.data.b; | ||
| 2790 | } | ||
| 2791 | |||
| 2792 | x_fill_property_data (dpyinfo->display, values, data, event.xclient.format); | ||
| 2793 | |||
| 2794 | if (data == idata) | ||
| 2795 | { | ||
| 2796 | int i; | ||
| 2797 | for (i = 0; i < 5; ++i) /* There are only 5 longs in a ClientMessage. */ | ||
| 2798 | event.xclient.data.l[i] = (long) idata[i]; | ||
| 2799 | } | ||
| 2800 | |||
| 2763 | /* If event mask is 0 the event is sent to the client that created | 2801 | /* If event mask is 0 the event is sent to the client that created |
| 2764 | the destination window. But if we are sending to the root window, | 2802 | the destination window. But if we are sending to the root window, |
| 2765 | there is no such client. Then we set the event mask to 0xffff. The | 2803 | there is no such client. Then we set the event mask to 0xffff. The |
diff --git a/src/xterm.c b/src/xterm.c index c54b96a19b7..137e0d2ae9e 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -7777,10 +7777,18 @@ x_error_handler (display, error) | |||
| 7777 | It kills all frames on the display that we got the error for. | 7777 | It kills all frames on the display that we got the error for. |
| 7778 | If that was the only one, it prints an error message and kills Emacs. */ | 7778 | If that was the only one, it prints an error message and kills Emacs. */ |
| 7779 | 7779 | ||
| 7780 | /* It is after x_error_handler so that it won't get inlined in | 7780 | /* .gdbinit puts a breakpoint here, so make sure it is not inlined. */ |
| 7781 | x_error_handler. */ | ||
| 7782 | 7781 | ||
| 7783 | static void | 7782 | #if __GNUC__ >= 3 /* On GCC 3.0 we might get a warning. */ |
| 7783 | #define NO_INLINE __attribute__((noinline)) | ||
| 7784 | #else | ||
| 7785 | #define NO_INLINE | ||
| 7786 | #endif | ||
| 7787 | |||
| 7788 | /* On older GCC versions, just putting x_error_quitter | ||
| 7789 | after x_error_handler prevents inlining into the former. */ | ||
| 7790 | |||
| 7791 | static void NO_INLINE | ||
| 7784 | x_error_quitter (display, error) | 7792 | x_error_quitter (display, error) |
| 7785 | Display *display; | 7793 | Display *display; |
| 7786 | XErrorEvent *error; | 7794 | XErrorEvent *error; |