diff options
87 files changed, 2040 insertions, 600 deletions
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index 835fef666b6..39f14872dd0 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE | |||
| @@ -40,7 +40,8 @@ Reminders sent out on 2006-06-08. | |||
| 40 | and KDE projects, to use the new Emacs icons in etc/images/icons. | 40 | and KDE projects, to use the new Emacs icons in etc/images/icons. |
| 41 | 41 | ||
| 42 | * WINDOWS SUPPORT BUGS. | 42 | * WINDOWS SUPPORT BUGS. |
| 43 | These don't need to be fixed to start pretest, but we call the | 43 | |
| 44 | These don't need to be fixed before a release, but we call the | ||
| 44 | attention of Windows users to fixing them. | 45 | attention of Windows users to fixing them. |
| 45 | 46 | ||
| 46 | ** Drew Adams 12 Aug bug rpt: overlay display artifact: trace left behind | 47 | ** Drew Adams 12 Aug bug rpt: overlay display artifact: trace left behind |
| @@ -50,9 +51,7 @@ to the hack introduced on 2005-07-01 to fix some other Cleartype problem. | |||
| 50 | ** henman@it.to-be.co.jp 09 Aug 2006: ispell.el problem on Cygwin. | 51 | ** henman@it.to-be.co.jp 09 Aug 2006: ispell.el problem on Cygwin. |
| 51 | (Did we decide that is unreproducible?) | 52 | (Did we decide that is unreproducible?) |
| 52 | 53 | ||
| 53 | ** make-network-process :nowait t doesn't work for non-local targets | 54 | ** lennart.borgman@gmail.com, Feb 22: C-h k does not catch text properies keymaps |
| 54 | on Windows. This has been "fixed" for Emacs 22 by defining | ||
| 55 | BROKEN_NON_BLOCKING_CONNECT in ms-w32.h. | ||
| 56 | 55 | ||
| 57 | 56 | ||
| 58 | * BUGS | 57 | * BUGS |
| @@ -60,12 +59,7 @@ to the hack introduced on 2005-07-01 to fix some other Cleartype problem. | |||
| 60 | ** Fix up copyright confusions. | 59 | ** Fix up copyright confusions. |
| 61 | See end of admin/notes/copyright. | 60 | See end of admin/notes/copyright. |
| 62 | 61 | ||
| 63 | ** simon.marshall@misys.com, Jan 12: | 62 | ** david.hansen@gmx.net, Mar 7: shell.el patch to install |
| 64 | Font-lock decides function call is function declaration in C++ | ||
| 65 | |||
| 66 | ** md5i@cs.cmu.edu, Feb 20: move-end-of-line in comint buffers | ||
| 67 | |||
| 68 | ** daniel@bigwalter.net, Feb 25: Echoing of keys and process I/O | ||
| 69 | 63 | ||
| 70 | * DOCUMENTATION | 64 | * DOCUMENTATION |
| 71 | 65 | ||
diff --git a/admin/notes/copyright b/admin/notes/copyright index 036efa6f006..63947d75df0 100644 --- a/admin/notes/copyright +++ b/admin/notes/copyright | |||
| @@ -15,19 +15,26 @@ longer, eg the text "GNU Emacs is free software...". | |||
| 15 | 15 | ||
| 16 | Summary for the impatient: | 16 | Summary for the impatient: |
| 17 | 17 | ||
| 18 | 1. Don't add a file to Emacs written by someone other than yourself | 18 | 1. Don't add code to Emacs written by someone other than yourself |
| 19 | without thinking about the legal aspect (make sure they have an | 19 | without thinking about the legal aspect. Even if the changes are |
| 20 | assignment, adjust the copyright statements in the file). NB the | 20 | trivial, consider if they combine with previous changes by the same |
| 21 | ChangeLog entry should be in the name of the author of the code, not | 21 | author to make a non-trivial total. If so, make sure they have an |
| 22 | the person who installs it. | 22 | assignment. If adding a whole file adjust the copyright statements in |
| 23 | 23 | the file. | |
| 24 | 2. With images, add the legal info to a README file in the directory | 24 | |
| 25 | 2. When installing code written by someone else, the ChangeLog entry | ||
| 26 | should be in the name of the author of the code, not the person who | ||
| 27 | installs it. I think it is helpful to put the author (if not yourself) | ||
| 28 | in the CVS log as well; and to not install any of your own changes in | ||
| 29 | the same commit. | ||
| 30 | |||
| 31 | 3. With images, add the legal info to a README file in the directory | ||
| 25 | containing the image. | 32 | containing the image. |
| 26 | 33 | ||
| 27 | 3. If you add a lot of text to a previously trivial file that had no | 34 | 4. If you add a lot of text to a previously trivial file that had no |
| 28 | legal notices, consider if you should add a copyright statement. | 35 | legal notices, consider if you should add a copyright statement. |
| 29 | 36 | ||
| 30 | 4. Please don't just add an FSF copyright without checking that is the | 37 | 5. Please don't just add an FSF copyright without checking that is the |
| 31 | right thing to do. | 38 | right thing to do. |
| 32 | 39 | ||
| 33 | 40 | ||
| @@ -133,11 +140,15 @@ lispintro/install-sh | |||
| 133 | src/m/news-r6.h | 140 | src/m/news-r6.h |
| 134 | public domain, leave alone. | 141 | public domain, leave alone. |
| 135 | 142 | ||
| 143 | etc/BABYL, ms-kermit | ||
| 144 | no notices (see below). | ||
| 145 | |||
| 136 | etc/edt-user.doc | 146 | etc/edt-user.doc |
| 137 | - update BOTH notices in this file | 147 | - update BOTH notices in this file |
| 138 | 148 | ||
| 139 | etc/emacs.csh | 149 | etc/emacs.csh |
| 140 | - keep simple license for this simple file | 150 | - written by Michael DeCorte, who has no assignment. But trivial |
| 151 | enough to not need license. | ||
| 141 | 152 | ||
| 142 | etc/future-bug | 153 | etc/future-bug |
| 143 | - doesn't need a humourless disclaimer, because Karl Fogel says we | 154 | - doesn't need a humourless disclaimer, because Karl Fogel says we |
| @@ -159,6 +170,12 @@ WHY-FREE | |||
| 159 | licenses that they have. They are distributed with Emacs but they | 170 | licenses that they have. They are distributed with Emacs but they |
| 160 | are not part of Emacs." | 171 | are not part of Emacs." |
| 161 | 172 | ||
| 173 | etc/HELLO | ||
| 174 | standard notices. Just a note that although the file itself is not | ||
| 175 | really copyrightable, in the wider context of it being part of | ||
| 176 | Emacs (and written by those with assignments), a standard notice is | ||
| 177 | fine. | ||
| 178 | |||
| 162 | etc/MAILINGLISTS | 179 | etc/MAILINGLISTS |
| 163 | rms: simple license is fine for this file | 180 | rms: simple license is fine for this file |
| 164 | 181 | ||
| @@ -361,6 +378,20 @@ src/acldef.h, chpdef.h, ndir.h | |||
| 361 | 378 | ||
| 362 | ** Some notes on resolved issues, for historical information only | 379 | ** Some notes on resolved issues, for historical information only |
| 363 | 380 | ||
| 381 | etc/TERMS | ||
| 382 | rms: "surely written either by me or by ESR. (If you can figure out | ||
| 383 | which year, I can probably tell you which.) Either way, we have papers | ||
| 384 | for it." Present in Emacs-16.56 (15-jul-85). | ||
| 385 | |||
| 386 | etc/ulimit.hack | ||
| 387 | Very obsolete file removed March 2007. Doesn't say who the author | ||
| 388 | is, but web-search suggests Karl Kleinpaste, who has no Emacs | ||
| 389 | assignment. Trivial anyway. | ||
| 390 | http://groups.google.com/group/comp.unix.shell/browse_thread/thread/bf3df496994\ | ||
| 391 | 9f1df/7e5922c67b3a98fb | ||
| 392 | http://groups.google.com/group/comp.unix.questions/msg/cc7e49cacfd1ccb4 | ||
| 393 | (original 1987 source) | ||
| 394 | |||
| 364 | lisp/term/README | 395 | lisp/term/README |
| 365 | - had no copyright notice till Feb 2007. ChangeLog.3 suggests it was | 396 | - had no copyright notice till Feb 2007. ChangeLog.3 suggests it was |
| 366 | written by Eric Raymond. When asked by rms on 14 Feb 2007 he said: | 397 | written by Eric Raymond. When asked by rms on 14 Feb 2007 he said: |
| @@ -381,11 +412,16 @@ lisp/term/README | |||
| 381 | admin/check-doc-strings | 412 | admin/check-doc-strings |
| 382 | File says it's in the public domain, but that might not make it so. | 413 | File says it's in the public domain, but that might not make it so. |
| 383 | 414 | ||
| 415 | etc/BABYL | ||
| 416 | File written long ago by authors with no assignment. Keep them | ||
| 417 | without notices for now, try and contact authors if possible. Be | ||
| 418 | ready to remove these files if the authors ever object. | ||
| 384 | 419 | ||
| 420 | etc/ms-kermit | ||
| 385 | etc/e/eterm-color.ti | 421 | etc/e/eterm-color.ti |
| 386 | src/acldef.h, chpdef.h, ndir.h | 422 | src/acldef.h, chpdef.h, ndir.h |
| 387 | On legal advice from Matt Norwood, the following comment was added | 423 | On legal advice from Matt Norwood, the following comment was added |
| 388 | to these files in Feb 2007: | 424 | to these files in Feb/Mar 2007: |
| 389 | 425 | ||
| 390 | The code here is forced by the interface, and is not subject to | 426 | The code here is forced by the interface, and is not subject to |
| 391 | copyright, constituting the only possible expression of the | 427 | copyright, constituting the only possible expression of the |
| @@ -396,6 +432,19 @@ src/acldef.h, chpdef.h, ndir.h | |||
| 396 | and possibly add a list of all authors who have changed these files. | 432 | and possibly add a list of all authors who have changed these files. |
| 397 | (details in email from Matt Norwood to rms, 2007/02/03). | 433 | (details in email from Matt Norwood to rms, 2007/02/03). |
| 398 | 434 | ||
| 435 | etc/ms-7bkermit | ||
| 436 | Says it was written by Andy Lowry and Joel Spolsky. No entry for | ||
| 437 | either in copyright.list. NB this file is not "constrained" like | ||
| 438 | ms-kermit (rms: "We know it isn't. A comment at the front says it has | ||
| 439 | other bindings which might be handy."). File removed March 2007. | ||
| 440 | Re-add if clear up status at some point. | ||
| 441 | |||
| 442 | etc/Xkeymap.txt | ||
| 443 | No info on author. File removed March 2007. rms: "It says it is | ||
| 444 | RLK's way of remapping his keyboard, so it is not constrained. I think | ||
| 445 | it was written by RLK. Let's delete it; if we contact RLK again, we | ||
| 446 | can put it back." | ||
| 447 | |||
| 399 | 448 | ||
| 400 | src/m/mips4.h, news-risc.h, pmax.h | 449 | src/m/mips4.h, news-risc.h, pmax.h |
| 401 | src/s/aix3-2.h, bsd386.h, hpux8.h, hpux9.h, irix4-0.h, irix5-0.h, | 450 | src/s/aix3-2.h, bsd386.h, hpux8.h, hpux9.h, irix4-0.h, irix5-0.h, |
| @@ -493,11 +542,6 @@ Make sure that all files with non-standard copyrights or licenses are | |||
| 493 | noted in this file. | 542 | noted in this file. |
| 494 | 543 | ||
| 495 | 544 | ||
| 496 | etc/BABYL | ||
| 497 | File says it was written in 1983 by Eugene Ciccarelli, who has no | ||
| 498 | assignment. RMS: "The lawyer said we can keep BABYL." | ||
| 499 | |||
| 500 | |||
| 501 | REMOVED etc/gnu.xpm, nt/icons/emacs21.ico, nt/icons/sink.ico | 545 | REMOVED etc/gnu.xpm, nt/icons/emacs21.ico, nt/icons/sink.ico |
| 502 | - Restore if find legal info. emacs21.ico is not due to Davenport. | 546 | - Restore if find legal info. emacs21.ico is not due to Davenport. |
| 503 | Voelker could not immediately recall anything, but will check and | 547 | Voelker could not immediately recall anything, but will check and |
| @@ -528,8 +572,7 @@ REMOVED src/unexhp9k800.c | |||
| 528 | 572 | ||
| 529 | *** These are copyright issues still to be addressed: | 573 | *** These are copyright issues still to be addressed: |
| 530 | 574 | ||
| 531 | 575 | Do we need an assignment from Kevin Rodgers? (rms) | |
| 532 | etc/ms-kermit - no copyright, but ms-7bkermit has one | ||
| 533 | 576 | ||
| 534 | 577 | ||
| 535 | 578 | ||
diff --git a/etc/ChangeLog b/etc/ChangeLog index d3b8009cb17..4971acef730 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog | |||
| @@ -1,3 +1,14 @@ | |||
| 1 | 2007-03-11 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * ms-7bkermit, ulimit.hack, Xkeymap.txt: Remove files. | ||
| 4 | |||
| 5 | * Makefile (SOURCES): ulimit.hack is removed. | ||
| 6 | |||
| 7 | 2007-03-04 David Kastrup <dak@gnu.org> | ||
| 8 | |||
| 9 | * NEWS (fontification): Mention that the new default for | ||
| 10 | jit-lock-stealth-time is now nil. | ||
| 11 | |||
| 1 | 2007-03-01 Kim F. Storm <storm@cua.dk> | 12 | 2007-03-01 Kim F. Storm <storm@cua.dk> |
| 2 | 13 | ||
| 3 | * ORDERS: Reformat text. | 14 | * ORDERS: Reformat text. |
| @@ -574,7 +585,7 @@ | |||
| 574 | * NEWS.21, NEWS.20: ... new files for Emacs 21 and Emacs 20 news. | 585 | * NEWS.21, NEWS.20: ... new files for Emacs 21 and Emacs 20 news. |
| 575 | * ONEWS, ONEWS.1, ONEWS.2, ONEWS.3, ONEWS.4: Remove (rename) files ... | 586 | * ONEWS, ONEWS.1, ONEWS.2, ONEWS.3, ONEWS.4: Remove (rename) files ... |
| 576 | * NEWS.19, NEWS.18, NEWS.1-17: ... and organize news about older Emacs | 587 | * NEWS.19, NEWS.18, NEWS.1-17: ... and organize news about older Emacs |
| 577 | versions in separte files. Update copyright notices. | 588 | versions in separate files. Update copyright notices. |
| 578 | 589 | ||
| 579 | 2006-06-03 Eli Zaretskii <eliz@gnu.org> | 590 | 2006-06-03 Eli Zaretskii <eliz@gnu.org> |
| 580 | 591 | ||
diff --git a/etc/Makefile b/etc/Makefile index 4f036dfc575..a238bea1928 100644 --- a/etc/Makefile +++ b/etc/Makefile | |||
| @@ -37,7 +37,7 @@ clean distclean maintainer-clean: | |||
| 37 | -rm -f DOC* core *.dvi *.log | 37 | -rm -f DOC* core *.dvi *.log |
| 38 | 38 | ||
| 39 | SOURCES = [0-9A-QS-Z]* README *.[ch16] emacs.* etags.* ledit.l ms-* \ | 39 | SOURCES = [0-9A-QS-Z]* README *.[ch16] emacs.* etags.* ledit.l ms-* \ |
| 40 | spook-lines tasks.texi termcap.* ulimit.hack *.tex | 40 | spook-lines tasks.texi termcap.* *.tex |
| 41 | 41 | ||
| 42 | unlock: | 42 | unlock: |
| 43 | chmod u+w $(SOURCES) | 43 | chmod u+w $(SOURCES) |
| @@ -1130,10 +1130,16 @@ cperl-mode and make-mode support this. | |||
| 1130 | 1130 | ||
| 1131 | --- | 1131 | --- |
| 1132 | *** The default settings for JIT stealth lock parameters are changed. | 1132 | *** The default settings for JIT stealth lock parameters are changed. |
| 1133 | The default value for the user option jit-lock-stealth-time is now 16 | 1133 | The default value for the user option jit-lock-stealth-time is now nil |
| 1134 | instead of 3, and the default value of jit-lock-stealth-nice is now | 1134 | instead of 3. This setting of jit-lock-stealth-time disables stealth |
| 1135 | 0.5 instead of 0.125. The new defaults should lower the CPU usage | 1135 | fontification: on today's machines, it may be a bug in font lock |
| 1136 | when Emacs is fontifying in the background. | 1136 | patterns if fontification otherwise noticeably degrades interactivity. |
| 1137 | If you find movement in infrequently visited buffers sluggish (and the | ||
| 1138 | major mode maintainer has no better idea), customizing | ||
| 1139 | jit-lock-stealth-time to a non-nil value will let Emacs fontify | ||
| 1140 | buffers in the background when it considers the system to be idle. | ||
| 1141 | jit-lock-stealth-nice is now 0.5 instead of 0.125 which is supposed to | ||
| 1142 | cause less load than the old defaults. | ||
| 1137 | 1143 | ||
| 1138 | --- | 1144 | --- |
| 1139 | *** jit-lock can now be delayed with `jit-lock-defer-time'. | 1145 | *** jit-lock can now be delayed with `jit-lock-defer-time'. |
diff --git a/etc/PROBLEMS b/etc/PROBLEMS index 2d418b7b435..a68af366273 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS | |||
| @@ -2399,6 +2399,8 @@ addition, the Cygwin GCC 3.4.4-2 has problems with generating debug | |||
| 2399 | info. Cygwin users are advised not to use these versions of GCC for | 2399 | info. Cygwin users are advised not to use these versions of GCC for |
| 2400 | compiling Emacs. GCC versions 4.0.3 and 4.1.1 reportedly build a | 2400 | compiling Emacs. GCC versions 4.0.3 and 4.1.1 reportedly build a |
| 2401 | working Cygwin binary of Emacs, so we recommend these GCC versions. | 2401 | working Cygwin binary of Emacs, so we recommend these GCC versions. |
| 2402 | Note that these two versions of GCC, 4.0.3 and 4.1.1, are the _only_ | ||
| 2403 | versions known to succeed in building Emacs (as of v22.1). | ||
| 2402 | 2404 | ||
| 2403 | *** Building the native MS-Windows port with Cygwin GCC can fail. | 2405 | *** Building the native MS-Windows port with Cygwin GCC can fail. |
| 2404 | 2406 | ||
diff --git a/etc/Xkeymap.txt b/etc/Xkeymap.txt new file mode 100644 index 00000000000..e34d100fb2f --- /dev/null +++ b/etc/Xkeymap.txt | |||
| @@ -0,0 +1,120 @@ | |||
| 1 | # -*-Mode: Fundamental-*- | ||
| 2 | # X keymap file for rlk with some emacsified bindings | ||
| 3 | # | ||
| 4 | # Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007 | ||
| 5 | # Free Software Foundation, Inc. | ||
| 6 | # See the end of the file for license conditions. | ||
| 7 | # | ||
| 8 | # This file contains the default keyboard mapping. The first column contains a X keyboard code; the other | ||
| 9 | # 16 columns contain the mapping of the keycode to a character string, with various combinations | ||
| 10 | # of the SHIFT, LOCK, META, and CONTROL keys down. See the man page for "keycomp" for more information. | ||
| 11 | # | ||
| 12 | # Keycode constants for non-typewriter keys are found in <X/Xkeyboard.h>. | ||
| 13 | # | ||
| 14 | # It is easiest to edit this file with an EMACS window running across the entire width of the display, with | ||
| 15 | # tab stop set to 4. | ||
| 16 | # | ||
| 17 | # E1=Find, E2=Insert Here, E3=Remove, E4=Select, E5=Prev Screen, E6=Next Screen | ||
| 18 | # uns L S SL M ML MS MSL C CL CS CSL CM CML CMS CMSL | ||
| 19 | 0212 0023, 0023, 0023, 0023, 0223, 0223, 0223, 0223, 0022, 0022, 0022, 0022, 0222, 0222, 0222, 0222, /* E1 */ | ||
| 20 | 0213 U, U, U, U, U, U, U, U, U, U, U, U, U, U, U, U, /* E2 */ | ||
| 21 | 0214 0004, 0004, 0177, 0177, 0304, 0304, 0377, 0377, 0004, 0004, 0177, 0177, 0204, 0204, 0377, 0377 /* E3 */ | ||
| 22 | 0215 U, U, U, U, U, U, U, U, U, U, U, U, U, U, U, U, /* E4 */ | ||
| 23 | 0216 0326, 0326, 0326, 0326, 0326, 0326, 0326, 0326, "\255\226" "\255\226" "\255\226" "\255\226" "\255\226" "\255\226" "\255\226" "\255\226" /* E5 */ | ||
| 24 | 0217 0026, 0026, 0026, 0026, 0026, 0026, 0026, 0026, 0226, 0226, 0226, 0226, 0226, 0226, 0226, 0226, /* E6 */ | ||
| 25 | 0247 0002, 0002, 0002, 0002, 0302, 0302, 0302, 0302, 0202, 0202, 0202, 0202, 0202, 0202, 0202, 0202, /* Left arrow */ | ||
| 26 | 0250 0006, 0006, 0006, 0006, 0306, 0306, 0306, 0306, 0206, 0206, 0206, 0206, 0206, 0206, 0206, 0206, /* Right arrow */ | ||
| 27 | 0251 0016, 0016, 0016, 0016, 0316, 0316, 0316, 0316, 0216, 0216, 0216, 0216, 0216, 0216, 0216, 0216, /* Down arrow */ | ||
| 28 | 0252 0020, 0020, 0020, 0020, 0320, 0320, 0320, 0320, 0220, 0220, 0220, 0220, 0220, 0220, 0220, 0220, /* Up arrow */ | ||
| 29 | 0222 0260, '0', 0260, '0', 0260, '0', 0260, '0', 0260, '0', 0260, '0', 0260, '0', 0260, '0', /* KP 0 */ | ||
| 30 | 0224 0256, '.', 0256, '.', 0256, '.', 0256, '.', 0256, '.', 0256, '.', 0256, '.', 0256, '.', /* KP . */ | ||
| 31 | 0225 '\n', '\n', '\n', '\n', 0312, 0312, 0312, 0312, 0212, 0212, 0212, 0212, 0212, 0212, 0212, 0212, /* KP Enter */ | ||
| 32 | 0226 0261, '1', 0261, '1', 0261, '1', 0261, '1', 0261, '1', 0261, '1', 0261, '1', 0261, '1', /* KP 1 */ | ||
| 33 | 0227 0262, '2', 0262, '2', 0262, '2', 0262, '2', 0262, '2', 0262, '2', 0262, '2', 0262, '2', /* KP 2 */ | ||
| 34 | 0230 0263, '3', 0263, '3', 0263, '3', 0263, '3', 0263, '3', 0263, '3', 0263, '3', 0263, '3', /* KP 3 */ | ||
| 35 | 0231 0264, '4', 0264, '4', 0264, '4', 0264, '4', 0264, '4', 0264, '4', 0264, '4', 0264, '4', /* KP 4 */ | ||
| 36 | 0232 0265, '5', 0265, '5', 0265, '5', 0265, '5', 0265, '5', 0265, '5', 0265, '5', 0265, '5', /* KP 5 */ | ||
| 37 | 0233 0266, '6', 0266, '6', 0266, '6', 0266, '6', 0266, '6', 0266, '6', 0266, '6', 0266, '6', /* KP 6 */ | ||
| 38 | 0234 0254, ',', 0254, ',', 0254, ',', 0254, ',', 0254, ',', 0254, ',', 0254, ',', 0254, ',', /* KP , */ | ||
| 39 | 0235 0267, '7', 0267, '7', 0267, '7', 0267, '7', 0267, '7', 0267, '7', 0267, '7', 0267, '7', /* KP 7 */ | ||
| 40 | 0236 0270, '8', 0270, '8', 0270, '8', 0270, '8', 0270, '8', 0270, '8', 0270, '8', 0270, '8', /* KP 8 */ | ||
| 41 | 0237 0271, '9', 0271, '9', 0271, '9', 0271, '9', 0271, '9', 0271, '9', 0271, '9', 0271, '9', /* KP 9 */ | ||
| 42 | 0240 0255, '-', 0255, '-', 0255, '-', 0255, '-', 0255, '-', 0255, '-', 0255, '-', 0255, '-', /* KP - */ | ||
| 43 | 0174 0010, 0010, 0010, 0010, 0010, 0010, 0010, 0010, 0010, 0010, 0010, 0010, 0010, 0010, 0010, 0010, /* F15/Help */ | ||
| 44 | 0175 0037, 0037, 0037, 0037, 0037, 0037, 0037, 0037, 0037, 0037, 0037, 0037, 0037, 0037, 0037, 0037, /* F16/(Un)Do */ | ||
| 45 | 0161 0033, 0033, 0033, 0033, 0033, 0033, 0033, 0033, 0033, 0033, 0033, 0033, 0033, 0033, 0033, 0033, /* F11/ESC */ | ||
| 46 | 0162 '\b', '\b', '\b', '\b', '\b', '\b', U, U, '\b', '\b', U, U, U, U, U, U, /* F12/BS */ | ||
| 47 | 0163 '\n', '\n', '\n', '\n', '\n', '\n', U, U, '\n', '\n', U, U, U, U, U, U, /* F13/LF */ | ||
| 48 | 0274 0177, 0177, 0177, 0177, 0377, 0377, 0377, 0377, 0030, 0030, 0177, 0177, 0377, 0377, 0377, 0377, /* back */ | ||
| 49 | 0275 '\r', '\r', '\r', '\r', 0215, 0215, 0215, 0215, '\r', '\r', U, U, U, U, U, U, /* Return */ | ||
| 50 | 0276 '\t', '\t', '\t', '\t', 0211, 0211, 0211, 0211, "\021\t" "\021\t" "\021\t" "\021\t" "\021\t" "\021\t" "\021\t" "\021\t" /* Tab */ | ||
| 51 | 0277 '`', '`', '~', '~', 0340, 0340, 0376, 0376, 0036, 0036, 0036, 0036, U, U, U, U, /* ` */ | ||
| 52 | 0300 '1', '1', '!', '!', 0261, 0261, 0241, 0241, '1', '1', '!', '!', U, U, U, U, /* 1 */ | ||
| 53 | 0301 'q', 'Q', 'Q', 'Q', 0361, 0361, 0321, 0321, 0021, 0021, 0021, 0021, 0221, 0221, 0221, 0221, /* q */ | ||
| 54 | 0302 'a', 'A', 'A', 'A', 0341, 0341, 0301, 0301, 0001, 0001, 0001, 0001, 0201, 0201, 0201, 0201, /* a */ | ||
| 55 | 0303 'z', 'Z', 'Z', 'Z', 0372, 0372, 0332, 0332, 0032, 0032, 0032, 0032, 0232, 0232, 0232, 0232, /* z */ | ||
| 56 | 0305 '2', '2', '@', '@', 0262, 0262, 0300, 0300, 0000, 0000, 0000, 0000, 0262, 0262, 0200, 0200, /* 2 */ | ||
| 57 | 0306 'w', 'W', 'W', 'W', 0367, 0367, 0327, 0327, 0027, 0027, 0027, 0027, 0227, 0227, 0227, 0227, /* w */ | ||
| 58 | 0307 's', 'S', 'S', 'S', 0363, 0363, 0323, 0323, 0023, 0023, 0023, 0023, 0223, 0223, 0223, 0223, /* s */ | ||
| 59 | 0310 'x', 'X', 'X', 'X', 0370, 0370, 0330, 0330, 0030, 0030, 0030, 0030, 0230, 0230, 0230, 0230, /* x */ | ||
| 60 | 0311 '<', '<', '>', '>', 0274, 0274, 0276, 0276, U, U, U, U, U, U, U, U, /* < */ | ||
| 61 | 0313 '3', '3', '#', '#', 0263, 0263, 0243, 0243, 0033, 0033, '#', '#', U, U, U, U, /* 3 */ | ||
| 62 | 0314 'e', 'E', 'E', 'E', 0345, 0345, 0305, 0305, 0005, 0005, 0005, 0005, 0205, 0205, 0205, 0205, /* e */ | ||
| 63 | 0315 'd', 'D', 'D', 'D', 0344, 0344, 0304, 0304, 0004, 0004, 0004, 0004, 0204, 0204, 0204, 0204, /* d */ | ||
| 64 | 0316 'c', 'C', 'C', 'C', 0343, 0343, 0303, 0303, 0003, 0003, 0003, 0003, 0203, 0203, 0203, 0203, /* c */ | ||
| 65 | 0320 '4', '4', '$', '$', 0264, 0264, 0244, 0244, 0034, 0034, '$', '$', U, U, U, U, /* 4 */ | ||
| 66 | 0321 'r', 'R', 'R', 'R', 0362, 0362, 0322, 0322, 0022, 0022, 0022, 0022, 0222, 0222, 0222, 0222, /* r */ | ||
| 67 | 0322 'f', 'F', 'F', 'F', 0346, 0346, 0306, 0306, 0006, 0006, 0006, 0006, 0206, 0206, 0206, 0206, /* f */ | ||
| 68 | 0323 'v', 'V', 'V', 'V', 0366, 0366, 0326, 0326, 0026, 0026, 0026, 0026, 0226, 0226, 0226, 0226, /* v */ | ||
| 69 | 0324 ' ', ' ', ' ', ' ', 0240, 0240, 0240, 0240, 0000, 0000, 0000, 0000, 0200, 0200, 0200, 0200, /* space */ | ||
| 70 | 0326 '5', '5', '%', '%', 0265, 0265, 0245, 0245, 0035, 0035, '%', '%', U, U, U, U, /* 5 */ | ||
| 71 | 0327 't', 'T', 'T', 'T', 0364, 0364, 0324, 0324, 0024, 0024, 0024, 0024, 0224, 0224, 0224, 0224, /* t */ | ||
| 72 | 0330 'g', 'G', 'G', 'G', 0347, 0347, 0307, 0307, 0007, 0007, 0007, 0007, 0207, 0207, 0207, 0207, /* g */ | ||
| 73 | 0331 'b', 'B', 'B', 'B', 0342, 0342, 0302, 0302, 0002, 0002, 0002, 0002, 0202, 0202, 0202, 0202, /* b */ | ||
| 74 | 0333 '6', '6', '^', '^', 0266, 0266, 0336, 0336, 0036, 0036, 0036, 0036, U, U, U, U, /* 6 */ | ||
| 75 | 0334 'y', 'Y', 'Y', 'Y', 0371, 0371, 0331, 0331, 0031, 0031, 0031, 0031, 0231, 0231, 0231, 0231, /* y */ | ||
| 76 | 0335 'h', 'H', 'H', 'H', 0350, 0350, 0310, 0310, 0010, 0010, 0010, 0010, 0210, 0210, 0210, 0210, /* h */ | ||
| 77 | 0336 'n', 'N', 'N', 'N', 0356, 0356, 0316, 0316, 0016, 0016, 0016, 0016, 0216, 0216, 0216, 0216, /* n */ | ||
| 78 | 0340 '7', '7', '&', '&', 0267, 0267, 0246, 0246, 0037, 0037, '&', '&', U, U, U, U, /* 7 */ | ||
| 79 | 0341 'u', 'U', 'U', 'U', 0365, 0365, 0325, 0325, 0025, 0025, 0025, 0025, 0225, 0225, 0225, 0225, /* u */ | ||
| 80 | 0342 'j', 'J', 'J', 'J', 0352, 0352, 0312, 0312, 0012, 0012, 0012, 0012, 0212, 0212, 0212, 0212, /* j */ | ||
| 81 | 0343 'm', 'M', 'M', 'M', 0355, 0355, 0315, 0315, 0015, 0015, 0015, 0015, 0215, 0215, 0215, 0215, /* m */ | ||
| 82 | 0345 '8', '8', '*', '*', 0270, 0270, 0252, 0252, 0177, 0177, '*', '*', U, U, U, U, /* 8 */ | ||
| 83 | 0346 'i', 'I', 'I', 'I', 0351, 0351, 0311, 0311, 0011, 0011, 0011, 0011, 0211, 0211, 0211, 0211, /* i */ | ||
| 84 | 0347 'k', 'K', 'K', 'K', 0353, 0353, 0313, 0313, 0013, 0013, 0013, 0013, 0213, 0213, 0213, 0213, /* k */ | ||
| 85 | 0350 ',', ',', '<', '<', 0254, 0254, 0274, 0274, U, U, U, U, U, U, U, U, /* , */ | ||
| 86 | 0352 '9', '9', '(', '(', 0271, 0271, 0250, 0250, '9', '9', '(', '(', U, U, U, U, /* 9 */ | ||
| 87 | 0353 'o', 'O', 'O', 'O', 0357, 0357, 0317, 0317, 0017, 0017, 0017, 0017, 0217, 0217, 0217, 0217, /* o */ | ||
| 88 | 0354 'l', 'L', 'L', 'L', 0354, 0354, 0314, 0314, 0014, 0014, 0014, 0014, 0214, 0214, 0214, 0214, /* l */ | ||
| 89 | 0355 '.', '.', '>', '>', 0256, 0256, 0276, 0276, U, U, U, U, U, U, U, U, /* . */ | ||
| 90 | 0357 '0', '0', ')', ')', 0260, 0260, 0251, 0251, '0', '0', ')', ')', U, U, U, U, /* 0 */ | ||
| 91 | 0360 'p', 'P', 'P', 'P', 0360, 0360, 0320, 0320, 0020, 0020, 0020, 0020, 0220, 0220, 0220, 0220, /* p */ | ||
| 92 | 0362 ';', ';', ':', ':', 0273, 0273, 0272, 0272, U, U, U, U, U, U, U, U, /* ; */ | ||
| 93 | 0363 '/', '/', '?', '?', 0257, 0257, 0277, 0277, 0037, 0037, 0037, 0037, 0237, 0237, 0237, 0237, /* / */ | ||
| 94 | 0365 '=', '=', '+', '+', 0275, 0275, 0253, 0253, U, U, U, U, U, U, U, U, /* = */ | ||
| 95 | 0366 ']', ']', '}', '}', 0335, 0335, 0376, 0376, 0035, 0035, 0035, 0035, 0335, 0335, 0335, 0335, /* ] */ | ||
| 96 | 0367 '\\', '\\', '|', '|', 0334, 0334, 0374, 0374, 0034, 0034, 0034, 0034, 0334, 0334, 0334, 0334, /* \ */ | ||
| 97 | 0371 '-', '-', '_', '_', 0255, 0255, 0337, 0337, 0037, 0037, 0037, 0037, 0337, 0337, 0337, 0337, /* - */ | ||
| 98 | 0372 '[', '[', '{', '{', 0333, 0333, 0373, 0373, 0033, 0033, 0033, 0033, 0333, 0333, 0333, 0333, /* [ */ | ||
| 99 | 0373 '\'', '\'', '"', '"', 0247, 0247, 0242, 0242, U, U, U, U, U, U, U, U, /* ' */ | ||
| 100 | # | ||
| 101 | # local variables: | ||
| 102 | # tab-width: 4 | ||
| 103 | # End: | ||
| 104 | # | ||
| 105 | # This document is free software; you can redistribute it and/or modify | ||
| 106 | # it under the terms of the GNU General Public License as published by | ||
| 107 | # the Free Software Foundation; either version 2, or (at your option) | ||
| 108 | # any later version. | ||
| 109 | # | ||
| 110 | # This document is distributed in the hope that it will be useful, | ||
| 111 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 112 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 113 | # GNU General Public License for more details. | ||
| 114 | # | ||
| 115 | # You should have received a copy of the GNU General Public License | ||
| 116 | # along with this document; see the file COPYING. If not, write to the | ||
| 117 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 118 | # Boston, MA 02110-1301, USA. | ||
| 119 | # | ||
| 120 | # arch-tag: cbaa71af-719b-4647-a2c1-cd4d36a4fc64 | ||
diff --git a/etc/emacs.csh b/etc/emacs.csh index 58c2bf03fa9..5f489333a8b 100644 --- a/etc/emacs.csh +++ b/etc/emacs.csh | |||
| @@ -1,22 +1,7 @@ | |||
| 1 | ### emacs.csh | 1 | ### emacs.csh |
| 2 | 2 | ||
| 3 | ## Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007 | ||
| 4 | ## Free Software Foundation, Inc. | ||
| 5 | |||
| 6 | ## Author: Michael DeCorte | 3 | ## Author: Michael DeCorte |
| 7 | 4 | ||
| 8 | ## COPYING PERMISSIONS: | ||
| 9 | |||
| 10 | ## Permission is hereby granted, free of charge, to any person | ||
| 11 | ## obtaining a copy of this file, to deal in the file without | ||
| 12 | ## restriction, including without limitation the rights to use, copy, | ||
| 13 | ## modify, merge, publish, distribute, sublicense, and/or sell copies | ||
| 14 | ## of the file, and to permit persons to whom the file is furnished to | ||
| 15 | ## do so, subject to the following condition: | ||
| 16 | ## | ||
| 17 | ## The above copyright notice and this permission notice shall be | ||
| 18 | ## included in all copies or substantial portions of the file. | ||
| 19 | |||
| 20 | ### Commentary: | 5 | ### Commentary: |
| 21 | 6 | ||
| 22 | ## This defines a csh command named `edit' which resumes an | 7 | ## This defines a csh command named `edit' which resumes an |
diff --git a/etc/ms-7bkermit b/etc/ms-7bkermit new file mode 100644 index 00000000000..091264fee14 --- /dev/null +++ b/etc/ms-7bkermit | |||
| @@ -0,0 +1,333 @@ | |||
| 1 | ;;; Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007 | ||
| 2 | ;;; Free Software Foundation, Inc. | ||
| 3 | |||
| 4 | ;;; This file is designed for 7-bit connections. | ||
| 5 | ;;; Use the file ms-kermit if you have an 8-bit connection. | ||
| 6 | |||
| 7 | ;;; This kermit script maps the IBM-PC keyboard for use with Gnu Emacs. | ||
| 8 | ;;; The ALT key is used to generate Meta characters and, in conjunction | ||
| 9 | ;;; with the CTRL key, Control-Meta characters. A few other useful | ||
| 10 | ;;; mappings are also performed. | ||
| 11 | ;;; Andy Lowry, May 1989 | ||
| 12 | |||
| 13 | ;;; Exchange ESC and backquote... tilde stays put (shift-backquote) | ||
| 14 | set key \27 ` | ||
| 15 | set key ` \27 | ||
| 16 | |||
| 17 | ;;; BACKSPACE deletes backward one character | ||
| 18 | set key scan \270 \127 | ||
| 19 | |||
| 20 | ;;; The following mappings affect certain special keys... all the keys | ||
| 21 | ;;; are duplicated on the numeric keypad when NUM LOCK is off, but | ||
| 22 | ;;; the keypad versions are NOT mapped (string definition space too small | ||
| 23 | ;;; for that) | ||
| 24 | |||
| 25 | ;;; INSERT toggles overwrite mode | ||
| 26 | set key scan \4434 \27xoverwrite-mode\13 | ||
| 27 | ;;; HOME moves point to beginning of buffer | ||
| 28 | set key scan \4423 \27< | ||
| 29 | ;;; PAGE-UP scrolls backward one screen | ||
| 30 | set key scan \4425 \27v | ||
| 31 | ;;; DELETE deletes one character *forward* | ||
| 32 | set key scan \4435 \4 | ||
| 33 | ;;; END moves point to end of buffer | ||
| 34 | set key scan \4431 \27> | ||
| 35 | ;;; PAGE-DOWN scrolls forward one screen | ||
| 36 | set key scan \4433 \22 | ||
| 37 | ;;; ARROW keys move in the appropriate directions | ||
| 38 | set key scan \4424 \16 | ||
| 39 | set key scan \4427 \2 | ||
| 40 | set key scan \4432 \14 | ||
| 41 | set key scan \4429 \6 | ||
| 42 | |||
| 43 | ;;; META versions of all the printing characters except uppercase | ||
| 44 | ;;; letters are generated by using the ALT key. The definition string | ||
| 45 | ;;; consists of an ESC character followed by the META-ized character. | ||
| 46 | ;;; The characters are listed roughly left-to-right and top-to-bottom | ||
| 47 | ;;; as they appear on the keyboard | ||
| 48 | set key scan \2345 \27` | ||
| 49 | set key scan \2424 \27\o61 ; need to use char code, since digit | ||
| 50 | set key scan \2425 \27\o62 ; would not terminate '\27' | ||
| 51 | set key scan \2426 \27\o63 | ||
| 52 | set key scan \2427 \27\o64 | ||
| 53 | set key scan \2428 \27\o65 | ||
| 54 | set key scan \2429 \27\o66 | ||
| 55 | set key scan \2430 \27\o67 | ||
| 56 | set key scan \2431 \27\o70 | ||
| 57 | set key scan \2432 \27\o71 | ||
| 58 | set key scan \2433 \27\o60 | ||
| 59 | set key scan \2434 \27\45 | ||
| 60 | set key scan \2435 \27= | ||
| 61 | set key scan \2857 \27~ | ||
| 62 | set key scan \2936 \27! | ||
| 63 | set key scan \2937 \27@ | ||
| 64 | set key scan \2938 \27# | ||
| 65 | set key scan \2939 \27$ | ||
| 66 | set key scan \2940 \27% | ||
| 67 | set key scan \2941 \27^ | ||
| 68 | set key scan \2942 \27& | ||
| 69 | set key scan \2943 \27* | ||
| 70 | set key scan \2944 \27( | ||
| 71 | set key scan \2945 \27) | ||
| 72 | set key scan \2946 \27_ | ||
| 73 | set key scan \2947 \27+ | ||
| 74 | set key scan \2469 \27\9 | ||
| 75 | set key scan \2320 \27q | ||
| 76 | set key scan \2321 \27w | ||
| 77 | set key scan \2322 \27e | ||
| 78 | set key scan \2323 \27r | ||
| 79 | set key scan \2324 \27t | ||
| 80 | set key scan \2325 \27y | ||
| 81 | set key scan \2326 \27u | ||
| 82 | set key scan \2327 \27i | ||
| 83 | set key scan \2328 \27o | ||
| 84 | set key scan \2329 \27p | ||
| 85 | set key scan \2330 \27[ | ||
| 86 | set key scan \2842 \27{ | ||
| 87 | set key scan \2331 \27] | ||
| 88 | set key scan \2843 \27} | ||
| 89 | set key scan \2347 \27\ | ||
| 90 | set key scan \2859 \27| | ||
| 91 | set key scan \2334 \27a | ||
| 92 | set key scan \2335 \27s | ||
| 93 | set key scan \2336 \27d | ||
| 94 | set key scan \2337 \27f | ||
| 95 | set key scan \2338 \27g | ||
| 96 | set key scan \2339 \27h | ||
| 97 | set key scan \2340 \27j | ||
| 98 | set key scan \2341 \27k | ||
| 99 | set key scan \2342 \27l | ||
| 100 | set key scan \2343 \27\59 | ||
| 101 | set key scan \2855 \27: | ||
| 102 | set key scan \2344 \27' | ||
| 103 | set key scan \2856 \27" | ||
| 104 | set key scan \2348 \27z | ||
| 105 | set key scan \2349 \27x | ||
| 106 | set key scan \2350 \27c | ||
| 107 | set key scan \2351 \27v | ||
| 108 | set key scan \2352 \27b | ||
| 109 | set key scan \2353 \27n | ||
| 110 | set key scan \2354 \27m | ||
| 111 | set key scan \2355 \27, | ||
| 112 | set key scan \2867 \27< | ||
| 113 | set key scan \2356 \27. | ||
| 114 | set key scan \2868 \27> | ||
| 115 | set key scan \2357 \27/ | ||
| 116 | set key scan \2869 \27? | ||
| 117 | |||
| 118 | ;;; CONTROL-META characters are generated by using both the CTRL and | ||
| 119 | ;;; ALT keys simultaneously. All the lowercase letters are included. | ||
| 120 | ;;; The definition string consists of an ESC character followed by | ||
| 121 | ;;; the control character corresponding to the letter. | ||
| 122 | set key scan \3344 \27\17 | ||
| 123 | set key scan \3345 \27\23 | ||
| 124 | set key scan \3346 \27\5 | ||
| 125 | set key scan \3347 \27\18 | ||
| 126 | set key scan \3348 \27\20 | ||
| 127 | set key scan \3349 \27\25 | ||
| 128 | set key scan \3350 \27\21 | ||
| 129 | set key scan \3351 \27\9 | ||
| 130 | set key scan \3352 \27\15 | ||
| 131 | set key scan \3353 \27\16 | ||
| 132 | set key scan \3358 \27\1 | ||
| 133 | set key scan \3359 \27\19 | ||
| 134 | set key scan \3360 \27\4 | ||
| 135 | set key scan \3361 \27\6 | ||
| 136 | set key scan \3362 \27\7 | ||
| 137 | set key scan \3363 \27\8 | ||
| 138 | set key scan \3364 \27\10 | ||
| 139 | set key scan \3365 \27\11 | ||
| 140 | set key scan \3366 \27\12 | ||
| 141 | set key scan \3372 \27\26 | ||
| 142 | set key scan \3373 \27\24 | ||
| 143 | set key scan \3374 \27\3 | ||
| 144 | set key scan \3375 \27\22 | ||
| 145 | set key scan \3376 \27\2 | ||
| 146 | set key scan \3377 \27\14 | ||
| 147 | set key scan \3378 \27\13 | ||
| 148 | |||
| 149 | end of msiem2.ini | ||
| 150 | ------------------ | ||
| 151 | |||
| 152 | msiema.hlp | ||
| 153 | ----------- | ||
| 154 | Date: Wed, 14 Sep 88 05:20:08 GMT | ||
| 155 | From: spolsky@YALE.ARPA | ||
| 156 | Subject: Using MS kermit 2.31 with emacs | ||
| 157 | Keywords: MS-DOS Kermit 2.31, EMACS, Meta Key | ||
| 158 | |||
| 159 | If you are using kermit (version 2.31 only) with emacs on a mainframe, the | ||
| 160 | following file may help you. It assigns all the Alt-keys so that the Alt key | ||
| 161 | may be used as a "Meta" shift, e.g. Alt-x produces M-x, etc. Note that it | ||
| 162 | will distinguish correctly between upper and lower case and accepts all | ||
| 163 | printables. (If anybody has the patience to do the Meta-Ctrl combinations, | ||
| 164 | please post them!) This actually sends "escapes" so you don't need 8 bits. | ||
| 165 | This file also sets up the cursor keys to behave as expected. | ||
| 166 | |||
| 167 | On extended keyboards (the ones with a separate cursor pad, like PS/2s) you | ||
| 168 | also get assignments for Page Up/Down, Home, End, Insert, Delete, etc. | ||
| 169 | |||
| 170 | Please let me know if you find any problems with this. | ||
| 171 | |||
| 172 | Joel Spolsky bitnet: spolsky@yalecs uucp: ...!yale!spolsky | ||
| 173 | Yale University arpa: spolsky@yale.edu voicenet: 203-436-1483 | ||
| 174 | |||
| 175 | [Ed. - Thanks, Joel! Your key definitions file has been put in the kermit | ||
| 176 | distribution area as msiema.ini ("ms" for MS-Kermit, "i" because it's an | ||
| 177 | initialization file, "ema" for EMACS), along with this message as msiema.hlp.] | ||
| 178 | |||
| 179 | end of msiema.hlp | ||
| 180 | ----------------- | ||
| 181 | |||
| 182 | |||
| 183 | msiema.ini | ||
| 184 | ------------ | ||
| 185 | ; Emacs keyboard layout for Kermit 2.31 | ||
| 186 | ; by Joel Spolsky, Yale Univ. Save this in a file, then | ||
| 187 | ; initialize it by issuing the kermit command | ||
| 188 | ; take filename | ||
| 189 | ; It will set up the keyboard to allow ALT to be used | ||
| 190 | ; as a meta-key, and will allow cursor keys to be used | ||
| 191 | ; with emacs. | ||
| 192 | |||
| 193 | ; First, define all the ALT keys to send ESC+key | ||
| 194 | ; to simulate "meta" | ||
| 195 | |||
| 196 | set key \2320 \27q ;; letters: unshifted | ||
| 197 | set key \2321 \27w | ||
| 198 | set key \2322 \27e | ||
| 199 | set key \2323 \27r | ||
| 200 | set key \2324 \27t | ||
| 201 | set key \2325 \27y | ||
| 202 | set key \2326 \27u | ||
| 203 | set key \2327 \27i | ||
| 204 | set key \2328 \27o | ||
| 205 | set key \2329 \27p | ||
| 206 | set key \2334 \27a | ||
| 207 | set key \2335 \27s | ||
| 208 | set key \2336 \27d | ||
| 209 | set key \2337 \27f | ||
| 210 | set key \2338 \27g | ||
| 211 | set key \2339 \27h | ||
| 212 | set key \2340 \27j | ||
| 213 | set key \2341 \27k | ||
| 214 | set key \2342 \27l | ||
| 215 | set key \2348 \27z | ||
| 216 | set key \2349 \27x | ||
| 217 | set key \2350 \27c | ||
| 218 | set key \2351 \27v | ||
| 219 | set key \2352 \27b | ||
| 220 | set key \2353 \27n | ||
| 221 | set key \2354 \27m | ||
| 222 | set key \2832 \27Q ;; letters: shifted | ||
| 223 | set key \2833 \27W | ||
| 224 | set key \2834 \27E | ||
| 225 | set key \2835 \27R | ||
| 226 | set key \2836 \27T | ||
| 227 | set key \2837 \27Y | ||
| 228 | set key \2838 \27U | ||
| 229 | set key \2839 \27I | ||
| 230 | set key \2840 \27O | ||
| 231 | set key \2841 \27P | ||
| 232 | set key \2846 \27A | ||
| 233 | set key \2847 \27S | ||
| 234 | set key \2848 \27D | ||
| 235 | set key \2849 \27F | ||
| 236 | set key \2850 \27G | ||
| 237 | set key \2851 \27H | ||
| 238 | set key \2852 \27J | ||
| 239 | set key \2853 \27K | ||
| 240 | set key \2854 \27L | ||
| 241 | set key \2860 \27Z | ||
| 242 | set key \2861 \27X | ||
| 243 | set key \2862 \27C | ||
| 244 | set key \2863 \27V | ||
| 245 | set key \2864 \27B | ||
| 246 | set key \2865 \27N | ||
| 247 | set key \2866 \27M | ||
| 248 | set key \2857 \27\126 ; ALT + ~ ;; special symbols begin here | ||
| 249 | set key \2345 \27\96 ; ALT + ` | ||
| 250 | set key \2936 \27\33 ; ALT + ! | ||
| 251 | set key \2937 \27\64 ; ALT + @ | ||
| 252 | set key \2938 \27\35 ; ALT + # | ||
| 253 | set key \2939 \27\36 ; ALT + $ | ||
| 254 | set key \2940 \27\37 ; ALT + % | ||
| 255 | set key \2941 \27\94 ; ALT + ^ | ||
| 256 | set key \2942 \27\38 ; ALT + & | ||
| 257 | set key \2943 \27\42 ; ALT + * | ||
| 258 | set key \2944 \27\40 ; ALT + ( | ||
| 259 | set key \2945 \27\41 ; ALT + ) | ||
| 260 | set key \2946 \27\95 ; ALT + _ | ||
| 261 | set key \2947 \27\43 ; ALT + + | ||
| 262 | set key \2842 \27\123 ; ALT + { | ||
| 263 | set key \2843 \27\125 ; ALT + } | ||
| 264 | set key \2330 \27\91 ; ALT + [ | ||
| 265 | set key \2331 \27\93 ; ALT + ] | ||
| 266 | set key \2859 \27\124 ; ALT + : | ||
| 267 | set key \2347 \27\92 ; ALT + \ | ||
| 268 | set key \2867 \27< ; ALT + < | ||
| 269 | set key \2868 \27> ; ALT + > | ||
| 270 | set key \2343 \27\59 ; ALT + ; | ||
| 271 | set key \2855 \27\58 ; ALT + : | ||
| 272 | set key \2344 \27\39 ; ALT + ' | ||
| 273 | set key \2856 \27\34 ; ALT + " | ||
| 274 | set key \2355 \27\44 ; ALT + , | ||
| 275 | set key \2356 \27\46 ; ALT + . | ||
| 276 | set key \2357 \27\47 ; ALT + / | ||
| 277 | set key \2869 \27\63 ; ALT + ? | ||
| 278 | set key \2424 \27\49 ;; numbers | ||
| 279 | set key \2425 \27\50 | ||
| 280 | set key \2426 \27\51 | ||
| 281 | set key \2427 \27\52 | ||
| 282 | set key \2428 \27\53 | ||
| 283 | set key \2429 \27\54 | ||
| 284 | set key \2430 \27\55 | ||
| 285 | set key \2431 \27\56 | ||
| 286 | set key \2432 \27\57 | ||
| 287 | set key \2433 \27\48 | ||
| 288 | |||
| 289 | ;; These 6 special keys for extended (PS/2) keyboards: | ||
| 290 | set key \4434 \25 ;; Insert is like ^Y - yank from kill ring | ||
| 291 | set key \4435 \23 ;; Delete is like ^W - kill to ring | ||
| 292 | set key \4423 \1 ;; Home is ^A | ||
| 293 | set key \4431 \5 ;; End is ^E | ||
| 294 | set key \4425 \27V ;; Page up is Esc-V | ||
| 295 | set key \4433 \22 ;; Page dn is ^v | ||
| 296 | |||
| 297 | set key \328 \16 ;; up cursor is ^P | ||
| 298 | set key \331 \2 ;; left cursor is ^B | ||
| 299 | set key \333 \6 ;; right cursor is ^F | ||
| 300 | set key \336 \14 ;; down cursor is ^N | ||
| 301 | set key \4427 \2 ;; left cursor on extended kbd | ||
| 302 | set key \4432 \14 ;; down cursor on extended kbd | ||
| 303 | set key \4424 \16 ;; up cursor on extended kbd | ||
| 304 | set key \4429 \6 ;; right cursor on extended kbd | ||
| 305 | |||
| 306 | set key \5491 \27b ;; ctrl-left cursor is M-b | ||
| 307 | set key \5492 \27f ;; ctrl-right cursor is M-f | ||
| 308 | |||
| 309 | ;; move kermit's screen scroll (playback) features to Alt- Home,End,PgUp,PgDn | ||
| 310 | ;; (this is an issue for extended keyboards only) | ||
| 311 | |||
| 312 | set key \2455 \khomscn | ||
| 313 | set key \2463 \kendscn | ||
| 314 | set key \2457 \kupscn | ||
| 315 | set key \2465 \kdnscn | ||
| 316 | |||
| 317 | ;;; COPYING PERMISSIONS: | ||
| 318 | ;;; | ||
| 319 | ;;; This document is free software; you can redistribute it and/or modify | ||
| 320 | ;;; it under the terms of the GNU General Public License as published by | ||
| 321 | ;;; the Free Software Foundation; either version 2 of the License, or | ||
| 322 | ;;; (at your option) any later version. | ||
| 323 | ;;; | ||
| 324 | ;;; This program is distributed in the hope that it will be useful, | ||
| 325 | ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 326 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 327 | ;;; GNU General Public License for more details. | ||
| 328 | ;;; | ||
| 329 | ;;; You should have received a copy of the GNU General Public License | ||
| 330 | ;;; along with this program; if not, write to the Free Software | ||
| 331 | ;;; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
| 332 | |||
| 333 | ;;; arch-tag: b066a884-e956-4f46-9d9c-13502f6cf7a6 | ||
diff --git a/etc/ms-kermit b/etc/ms-kermit index e25c3dbe643..ba53add6a78 100644 --- a/etc/ms-kermit +++ b/etc/ms-kermit | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | ;;; The code here is forced by the interface, and is not subject to | ||
| 2 | ;;; copyright, constituting the only possible expression of the algorithm | ||
| 3 | ;;; in this format. | ||
| 4 | |||
| 1 | ;;; This file is designed for an 8-bit connection. | 5 | ;;; This file is designed for an 8-bit connection. |
| 2 | ;;; Use the file ms-7bkermit if you have a 7-bit connection. | 6 | ;;; Use the file ms-7bkermit if you have a 7-bit connection. |
| 3 | 7 | ||
diff --git a/etc/ulimit.hack b/etc/ulimit.hack new file mode 100644 index 00000000000..674a9613b60 --- /dev/null +++ b/etc/ulimit.hack | |||
| @@ -0,0 +1,59 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # | ||
| 3 | # ulimit.hack: Create an intermediate program for use in | ||
| 4 | # between kernel initialization and init startup. | ||
| 5 | # This is needed on a 3b system if the standard CDLIMIT is | ||
| 6 | # so small that the dumped Emacs file cannot be written. | ||
| 7 | # This program causes everyone to get a bigger CDLIMIT value | ||
| 8 | # so that the dumped Emacs can be written out. | ||
| 9 | # | ||
| 10 | # Users of V.3.1 and later should not use this; see etc/MACHINES | ||
| 11 | # and reconfig your kernel's CDLIMIT parameter instead. | ||
| 12 | # | ||
| 13 | # Caveat: Heaven help you if you screw this up. This puts | ||
| 14 | # a new program in as /etc/init, which then execs the real init. | ||
| 15 | # | ||
| 16 | cat > ulimit.init.c << \EOF | ||
| 17 | main(argc, argv) | ||
| 18 | int argc; | ||
| 19 | char *argv[]; | ||
| 20 | { | ||
| 21 | ulimit(2, 262144L); /* "2" is the "set" command. */ | ||
| 22 | /* 262,144 allows for 128Mb files to be written. */ | ||
| 23 | /* If that value isn't suitable, roll your own. */ | ||
| 24 | execv("/etc/real.init", argv); | ||
| 25 | } | ||
| 26 | EOF | ||
| 27 | # | ||
| 28 | # Compile it and put it in place of the usual init program. | ||
| 29 | # | ||
| 30 | cc ulimit.init.c -o ulimit.init | ||
| 31 | mv /etc/init /etc/real.init | ||
| 32 | mv ulimit.init /etc/ulimit.init | ||
| 33 | ln /etc/ulimit.init /etc/init | ||
| 34 | mv ulimit.init.c /etc/ulimit.init.c # to keep src for this hack nearby. | ||
| 35 | chmod 0754 /etc/init | ||
| 36 | exit 0 | ||
| 37 | # | ||
| 38 | # Upon system reboot, all processes will inherit the new large ulimit. | ||
| 39 | |||
| 40 | # Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007 | ||
| 41 | # Free Software Foundation, Inc. | ||
| 42 | |||
| 43 | # COPYING PERMISSIONS: | ||
| 44 | # | ||
| 45 | # This document is free software; you can redistribute it and/or modify | ||
| 46 | # it under the terms of the GNU General Public License as published by | ||
| 47 | # the Free Software Foundation; either version 2 of the License, or | ||
| 48 | # (at your option) any later version. | ||
| 49 | # | ||
| 50 | # This program is distributed in the hope that it will be useful, | ||
| 51 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 52 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 53 | # GNU General Public License for more details. | ||
| 54 | # | ||
| 55 | # You should have received a copy of the GNU General Public License | ||
| 56 | # along with this program; if not, write to the Free Software | ||
| 57 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
| 58 | |||
| 59 | # arch-tag: 6f9a7072-9d07-4431-b0bb-e867648ad0b4 | ||
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 1c243b3c571..71ed26b632d 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,272 @@ | |||
| 1 | 2007-03-11 Richard Stallman <rms@gnu.org> | ||
| 2 | |||
| 3 | * emacs-lisp/bytecomp.el (byte-compile-warning-prefix): | ||
| 4 | Correctly compute line number. | ||
| 5 | |||
| 6 | 2007-03-11 Guanpeng Xu <herberteuler@hotmail.com> | ||
| 7 | |||
| 8 | * type-break.el (type-break-get-previous-count): | ||
| 9 | Repeat previous change here. | ||
| 10 | |||
| 11 | 2007-03-11 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 12 | |||
| 13 | * progmodes/grep.el (grep-find-ignored-directories): Add .git and | ||
| 14 | .bzr to list. | ||
| 15 | |||
| 16 | 2007-03-11 Andreas Schwab <schwab@suse.de> | ||
| 17 | |||
| 18 | * diff-mode.el (diff-apply-hunk): Use proper format string for | ||
| 19 | error. | ||
| 20 | |||
| 21 | 2007-03-11 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 22 | |||
| 23 | * mail/emacsbug.el (report-emacs-bug): Don't hard code the "X" name. | ||
| 24 | |||
| 25 | 2007-03-10 Chong Yidong <cyd@stupidchicken.com> | ||
| 26 | |||
| 27 | * faces.el (face-set-after-frame-default): Recalculate face | ||
| 28 | customizations after applying X resources. | ||
| 29 | |||
| 30 | 2007-03-10 Ryan Yeske <rcyeske@gmail.com> | ||
| 31 | |||
| 32 | * net/rcirc.el (rcirc-timeout-seconds): New variable. | ||
| 33 | (rcirc-keepalive-seconds): Remove variable. | ||
| 34 | (rcirc-server-name, rcirc-timeout-timer, rcirc-connecting) | ||
| 35 | (rcirc-process, rcirc-user-disconnect): New variables. | ||
| 36 | (rcirc-connect): Initalize new variables. | ||
| 37 | (rcirc-keepalive): Don't send keepalive pings before connection | ||
| 38 | is completed. | ||
| 39 | (rcirc-sentinel): Do mark all channels with activity when | ||
| 40 | connection is dropped. Run hook with process buffer local. | ||
| 41 | (rcirc-reschedule-timeout, rcirc-delete-process): New functions. | ||
| 42 | (rcirc-buffer-process): Return value of rcirc-process if | ||
| 43 | rcirc-server-buffer is nil. | ||
| 44 | (rcirc-server-name): Return the reported server name. | ||
| 45 | (rcirc-update-prompt): Simplify computation of the server name. | ||
| 46 | (rcirc-format-response-string): Likewise. | ||
| 47 | (rcirc-handler-001): Mark server as connected, record the reported | ||
| 48 | server name, and schedule a timeout. | ||
| 49 | (rcirc-track-nick): Add a spec for the tty class. | ||
| 50 | (rcirc-user-non-nick): Remove function. | ||
| 51 | (rcirc-nick-prefix-chars): Add variable. | ||
| 52 | (rcirc-user-nick): Use above variable. | ||
| 53 | |||
| 54 | 2007-03-10 Johan Bockg,be(Brd <bojohan@dd.chalmers.se> | ||
| 55 | |||
| 56 | * icomplete.el (icomplete-tidy, icomplete-exhibit): | ||
| 57 | Bind deactivate-mark to nil. | ||
| 58 | |||
| 59 | 2007-03-10 Martin Rudalics <rudalics@gmx.at> | ||
| 60 | |||
| 61 | * complete.el (PC-do-completion): Bind dirlength to nil to avoid | ||
| 62 | that buffer contents get erased during completion. | ||
| 63 | |||
| 64 | 2007-03-10 Glenn Morris <rgm@gnu.org> | ||
| 65 | |||
| 66 | * woman.el (woman-change-fonts): Add a hack to deal with | ||
| 67 | font-escape followed by "." at start of a line. | ||
| 68 | (woman2-IP): Add a hack to deal with consecutive requests. | ||
| 69 | (woman2-tagged-paragraph): Extend existing hack to handle "sp". | ||
| 70 | |||
| 71 | 2007-03-10 Alan Mackenzie <acm@muc.de> | ||
| 72 | |||
| 73 | * progmodes/cc-mode.el (c-before-change): Wrap in save-match-data. | ||
| 74 | |||
| 75 | 2007-03-09 Richard Stallman <rms@gnu.org> | ||
| 76 | |||
| 77 | * abbrev.el (abbrev): Add `provide'. | ||
| 78 | |||
| 79 | 2007-03-09 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 80 | |||
| 81 | * net/ange-ftp.el (ange-ftp-try-passive-mode): Doc fix. | ||
| 82 | |||
| 83 | 2007-03-09 Martin Rudalics <rudalics@gmx.at> | ||
| 84 | |||
| 85 | * complete.el (PC-try-completion): New function. | ||
| 86 | (PC-do-completion, read-file-name-internal): Use it instead of | ||
| 87 | try-completion. | ||
| 88 | |||
| 89 | 2007-03-08 Alan Mackenzie <acm@muc.de> | ||
| 90 | |||
| 91 | Remove stale tokens from `c-found-types' cache. | ||
| 92 | |||
| 93 | * progmodes/cc-mode.el (c-unfind-enclosing-token) | ||
| 94 | (c-unfind-coalesced-tokens, c-before-change): New functions. | ||
| 95 | (c-maybe-stale-found-type): New variable. | ||
| 96 | |||
| 97 | * progmodes/cc-engine.el (c-partial-ws-p, c-unfind-type) | ||
| 98 | (c-trim-found-types): New functions. | ||
| 99 | |||
| 100 | 2007-03-08 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 101 | |||
| 102 | * smerge-mode.el (smerge-remove-props): Don't mark the buffer modified. | ||
| 103 | (debug-ignored-errors): Add entry from smerge-match-conflict. | ||
| 104 | |||
| 105 | 2007-03-08 J.D. Smith <jdsmith@as.arizona.edu> | ||
| 106 | |||
| 107 | * progmodes/idlw-help.el (idlwave-do-context-help1): Don't visit | ||
| 108 | special help topics for keywords. | ||
| 109 | (idlwave-help-assistant-command): Include ".exe" for ms-dos | ||
| 110 | etc. Assistant command. | ||
| 111 | |||
| 112 | 2007-03-08 Chong Yidong <cyd@stupidchicken.com> | ||
| 113 | |||
| 114 | * replace.el (occur-engine): Move buffer-undo-list binding... | ||
| 115 | (occur-1): ...to here. | ||
| 116 | |||
| 117 | * complete.el (PC-bindings): Rebind M-TAB in read-expression-map. | ||
| 118 | |||
| 119 | * simple.el (minibuffer-completing-symbol): New var. | ||
| 120 | (eval-expression): Use it. | ||
| 121 | (completion-setup-function): Don't bind completion-base-size when | ||
| 122 | completing a symbol in the minibuffer. | ||
| 123 | |||
| 124 | 2007-03-08 Nick Roberts <nickrob@snap.net.nz> | ||
| 125 | |||
| 126 | * progmodes/gud.el (gdb): Pop up current GUD buffer if user | ||
| 127 | tries to start a second session in graphical mode. | ||
| 128 | |||
| 129 | 2007-03-07 Miles Bader <miles@gnu.org> | ||
| 130 | |||
| 131 | * international/isearch-x.el | ||
| 132 | (isearch-process-search-multibyte-characters): | ||
| 133 | Strip text-properties from PROMPT to avoid an error from read-string. | ||
| 134 | |||
| 135 | 2007-03-07 Kim F. Storm <storm@cua.dk> | ||
| 136 | |||
| 137 | * complete.el (PC-bindings): Remap lisp-complete-symbol to | ||
| 138 | PC-lisp-complete-symbol instead of binding M-TAB in global-map. | ||
| 139 | |||
| 140 | 2007-03-07 Micha,Ak(Bl Cadilhac <michael@cadilhac.name> | ||
| 141 | |||
| 142 | * complete.el (PC-do-completion): Delete duplicates in the list of | ||
| 143 | possible completions. | ||
| 144 | |||
| 145 | 2007-03-07 Glenn Morris <rgm@gnu.org> | ||
| 146 | |||
| 147 | * ses.el (ses-mode): Doc fix. | ||
| 148 | |||
| 149 | 2007-03-06 Kim F. Storm <storm@cua.dk> | ||
| 150 | |||
| 151 | * isearch.el (isearch-message-prefix): Undo 2007-03-01 change. | ||
| 152 | |||
| 153 | 2007-03-06 Kenichi Handa <handa@m17n.org> | ||
| 154 | |||
| 155 | * term/x-win.el (x-select-utf8-or-ctext): Improve the strategy. | ||
| 156 | |||
| 157 | 2007-03-06 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 158 | |||
| 159 | * simple.el (completion-setup-function): Improve last fix so it doesn't | ||
| 160 | set it to a relative directory name either. | ||
| 161 | |||
| 162 | 2007-03-05 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 163 | |||
| 164 | * ps-print.el: Replace some (defvar VAR) by (defvar VAR nil). | ||
| 165 | |||
| 166 | 2007-03-05 Richard Stallman <rms@gnu.org> | ||
| 167 | |||
| 168 | * emacs-lisp/re-builder.el (reb-re-syntax): Fix custom type. | ||
| 169 | |||
| 170 | * files.el (find-file-noselect): No error if file no longer exists. | ||
| 171 | Display a message and avoid other questions. | ||
| 172 | |||
| 173 | 2007-03-05 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 174 | |||
| 175 | * pcomplete.el (pcomplete-show-completions): Improve last change, so | ||
| 176 | as not to use an invisible window and to create a window if none exist. | ||
| 177 | |||
| 178 | * progmodes/python.el (python-send-command): Restart proc if necessary. | ||
| 179 | (python-proc): Simplify. | ||
| 180 | |||
| 181 | 2007-03-05 David Hansen <david.hansen@gmx.net> (tiny change) | ||
| 182 | |||
| 183 | * pcomplete.el (pcomplete-show-completions): Search all frames for | ||
| 184 | completions buffer. | ||
| 185 | |||
| 186 | 2007-03-05 Chong Yidong <cyd@stupidchicken.com> | ||
| 187 | |||
| 188 | * cus-edit.el (customize-save-variable): Clear customized-value | ||
| 189 | property (saved values are now put in theme-value property). | ||
| 190 | (customize-set-variable): Doc fix. | ||
| 191 | |||
| 192 | * complete.el (PC-do-completion): If completion-ignore-case is | ||
| 193 | non-nil, replace field with completion string before exiting. | ||
| 194 | |||
| 195 | 2007-03-05 Michael Albinus <michael.albinus@gmx.de> | ||
| 196 | |||
| 197 | * net/tramp.el (tramp-make-temp-file): New parameter FILENAME. | ||
| 198 | Append its extension to the resulting temporary file name. | ||
| 199 | (tramp-handle-file-local-copy, tramp-handle-write-region): Apply it. | ||
| 200 | |||
| 201 | * net/tramp-smb.el (tramp-smb-handle-file-local-copy) | ||
| 202 | (tramp-smb-handle-write-region): Apply it. | ||
| 203 | |||
| 204 | 2007-03-05 Alin C. Soare <alinsoar@voila.fr> (tiny change) | ||
| 205 | |||
| 206 | * emacs-lisp/lisp-mode.el (calculate-lisp-indent): | ||
| 207 | Redo previous change. | ||
| 208 | |||
| 209 | 2007-03-04 Kevin Rodgers <kevin.d.rodgers@gmail.com> | ||
| 210 | |||
| 211 | * diff-mode.el (diff-mode): Doc fix. | ||
| 212 | |||
| 213 | 2007-03-05 Kenichi Handa <handa@m17n.org> | ||
| 214 | |||
| 215 | * international/characters.el: Set category `l' (latin) | ||
| 216 | for more characters. | ||
| 217 | |||
| 218 | 2007-03-04 Kim F. Storm <storm@cua.dk> | ||
| 219 | |||
| 220 | * emacs-lisp/authors.el (authors-aliases): Add alias. | ||
| 221 | |||
| 222 | 2007-03-04 Glenn Morris <rgm@gnu.org> | ||
| 223 | |||
| 224 | * progmodes/hideshow.el (hs-minor-mode): Turn mode off and show | ||
| 225 | all when switching major mode. | ||
| 226 | (hs-minor-mode, hs-c-start-regexp, hs-block-start-regexp) | ||
| 227 | (hs-block-start-mdata-select, hs-block-end-regexp) | ||
| 228 | (hs-forward-sexp-func, hs-adjust-block-beginning): | ||
| 229 | Do not make these variables permanent-local. | ||
| 230 | |||
| 231 | 2007-03-04 Richard Stallman <rms@gnu.org> | ||
| 232 | |||
| 233 | * progmodes/cperl-mode.el (cperl-mode): | ||
| 234 | Modify cperl-compilation-error-regexp-alist by appending. | ||
| 235 | |||
| 236 | * emacs-lisp/edebug.el (edebug-kill-buffer): New function. | ||
| 237 | (edebug-mode): Add the hook. | ||
| 238 | (edebug-recursive-edit): Remove the hook on exiting. | ||
| 239 | |||
| 240 | * type-break.el (type-break-get-previous-time): | ||
| 241 | Handle end-of-file errors specially | ||
| 242 | so they don't get reported wrong in .emacs. | ||
| 243 | |||
| 244 | * startup.el (fancy-splash-text): Clarify text. | ||
| 245 | |||
| 246 | * simple.el (beginning-of-buffer, end-of-buffer): | ||
| 247 | Avoid treating plain C-u like numeric arg. | ||
| 248 | |||
| 249 | * simple.el (completion-setup-function): Don't set | ||
| 250 | default-directory to nil. | ||
| 251 | |||
| 252 | * shell.el (shell-dirstack-query): Doc fix. | ||
| 253 | |||
| 254 | * mouse.el (mouse-drag-mode-line-1, mouse-drag-vertical-line): | ||
| 255 | Don't select the window -- pass it to primitives instead. | ||
| 256 | |||
| 257 | * faces.el (minibuffer-prompt): Use medium blue by default. | ||
| 258 | |||
| 259 | 2007-03-04 David Kastrup <dak@gnu.org> | ||
| 260 | |||
| 261 | * jit-lock.el (jit-lock-stealth-time): Change default to nil. | ||
| 262 | Preserve 16 as default value for "seconds" when customizing. | ||
| 263 | |||
| 264 | 2007-03-04 Carsten Dominik <dominik@science.uva.nl> | ||
| 265 | |||
| 266 | * textmodes/org.el (org-self-insert-command) | ||
| 267 | (orgtbl-self-insert-command, org-delete-char) | ||
| 268 | (org-delete-backward-char): Set the `flyspell-delayed' property. | ||
| 269 | |||
| 1 | 2007-03-03 Chong Yidong <cyd@stupidchicken.com> | 270 | 2007-03-03 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 271 | ||
| 3 | * international/mule.el (find-auto-coding): Don't search for | 272 | * international/mule.el (find-auto-coding): Don't search for |
| @@ -116,7 +385,8 @@ | |||
| 116 | 385 | ||
| 117 | 2007-02-26 Andrey Zhdanov <susuman@hotmail.com> (tiny change) | 386 | 2007-02-26 Andrey Zhdanov <susuman@hotmail.com> (tiny change) |
| 118 | 387 | ||
| 119 | (gud-pdb-marker-regexp): Add optional <module> keyword for Python 2.5. | 388 | * progmodes/gud.el (gud-pdb-marker-regexp): Add optional <module> |
| 389 | keyword for Python 2.5. | ||
| 120 | 390 | ||
| 121 | 2007-02-26 Romain Francoise <romain@orebokech.com> | 391 | 2007-02-26 Romain Francoise <romain@orebokech.com> |
| 122 | 392 | ||
| @@ -154,32 +424,32 @@ | |||
| 154 | (org-table-toggle-coordinate-overlays): New functions. | 424 | (org-table-toggle-coordinate-overlays): New functions. |
| 155 | (org-table-overlay-coordinates, org-table-coordinate-overlays): | 425 | (org-table-overlay-coordinates, org-table-coordinate-overlays): |
| 156 | New variables. | 426 | New variables. |
| 157 | (org-startup-with-deadline-check): Option removed. | 427 | (org-startup-with-deadline-check): Remove option. |
| 158 | (org-mode): Remove deadline check on startup. | 428 | (org-mode): Remove deadline check on startup. |
| 159 | (org-table-limit-column-width): Option removed. | 429 | (org-table-limit-column-width): Remove option. |
| 160 | (org-table-formula-numbers-only): Option removed. | 430 | (org-table-formula-numbers-only): Remove option. |
| 161 | (org-link-style, org-link-format): Options removed. | 431 | (org-link-style, org-link-format): Remove options. |
| 162 | (org-select-agenda-window, org-fit-agenda-window): Options removed. | 432 | (org-select-agenda-window, org-fit-agenda-window): Remove options. |
| 163 | (org-export-ascii-show-new-buffer) | 433 | (org-export-ascii-show-new-buffer) |
| 164 | (org-export-html-show-new-buffer): Options removed. | 434 | (org-export-html-show-new-buffer): Remove options. |
| 165 | (org-activate-links): Camel option removed. | 435 | (org-activate-links): Remove camel option. |
| 166 | (org-file-link-context-use-camel-case): Option removed. | 436 | (org-file-link-context-use-camel-case): Remove option. |
| 167 | (org-camel-regexp): Veriable removed. | 437 | (org-camel-regexp): Remove variable. |
| 168 | (org-activate-camels): Function removed. | 438 | (org-activate-camels): Remove function. |
| 169 | (org-store-link): Removed Camel stuff. | 439 | (org-store-link): Remove Camel stuff. |
| 170 | (org-make-org-heading-camel): Function removed. | 440 | (org-make-org-heading-camel): Remove function. |
| 171 | (org-open-at-point): Removed camel stuff. | 441 | (org-open-at-point): Remove camel stuff. |
| 172 | (org-link-search): Removed camel stuff. | 442 | (org-link-search): Remove camel stuff. |
| 173 | (org-camel-to-words): Function removed. | 443 | (org-camel-to-words): Function removed. |
| 174 | (org-get-agenda-file-buffer): Make sure we prepare the base | 444 | (org-get-agenda-file-buffer): Make sure we prepare the base |
| 175 | buffers, not any indirect buffers. | 445 | buffers, not any indirect buffers. |
| 176 | (org-sort-entries): Sort top-level when not on a headline, and no | 446 | (org-sort-entries): Sort top-level when not on a headline, and no |
| 177 | active region. | 447 | active region. |
| 178 | (org-in-regexp): New function. | 448 | (org-in-regexp): New function. |
| 179 | (org-search-not-self): Renamed from `org-search-not-link'. | 449 | (org-search-not-self): Rename from `org-search-not-link'. |
| 180 | (org-open-link-marker): New variable. | 450 | (org-open-link-marker): New variable. |
| 181 | (org-open-at-point): Set `org-open-link-marker'. | 451 | (org-open-at-point): Set `org-open-link-marker'. |
| 182 | (org-print-icalendar-entries): Fixed bug with excluding DONE | 452 | (org-print-icalendar-entries): Fixe bug with excluding DONE |
| 183 | entries from the exported list. | 453 | entries from the exported list. |
| 184 | (org-edit-formula-lisp-indent): New command. | 454 | (org-edit-formula-lisp-indent): New command. |
| 185 | (orgtbl-to-texinfo, orgtbl-to-html): New functions. | 455 | (orgtbl-to-texinfo, orgtbl-to-html): New functions. |
| @@ -195,7 +465,7 @@ | |||
| 195 | (org-upgrade-old-links) | 465 | (org-upgrade-old-links) |
| 196 | (org-table-modify-formulas, org-table-replace-in-formulas) | 466 | (org-table-modify-formulas, org-table-replace-in-formulas) |
| 197 | (org-table-find-dataline) | 467 | (org-table-find-dataline) |
| 198 | (org-table-get-vertical-vector): Functions removed. | 468 | (org-table-get-vertical-vector): Remove functions. |
| 199 | (org-table-remove-rectangle-highlight) | 469 | (org-table-remove-rectangle-highlight) |
| 200 | (org-time-stamp-format, org-toggle-log-option) | 470 | (org-time-stamp-format, org-toggle-log-option) |
| 201 | (org-table-highlight-rectangle) | 471 | (org-table-highlight-rectangle) |
| @@ -228,17 +498,17 @@ | |||
| 228 | (org-table-edit-scroll, org-table-edit-scroll-down) | 498 | (org-table-edit-scroll, org-table-edit-scroll-down) |
| 229 | (org-set-frame-title, org-show-reference) | 499 | (org-set-frame-title, org-show-reference) |
| 230 | (org-unhighlight-once, org-verify-change-for-undo): New functions. | 500 | (org-unhighlight-once, org-verify-change-for-undo): New functions. |
| 231 | (org-show-variable): Command removed. | 501 | (org-show-variable): Remove command. |
| 232 | (org-add-log-maybe): New arguments STATE, FINDPOS | 502 | (org-add-log-maybe): New arguments STATE, FINDPOS |
| 233 | (org-table-sort-lines): Rewritten from scratch. | 503 | (org-table-sort-lines): Rewrite from scratch. |
| 234 | (org-link-search): New argument AVOID-POS. | 504 | (org-link-search): New argument AVOID-POS. |
| 235 | (org-print-icalendar-entries): Argument CATEGORY removed. | 505 | (org-print-icalendar-entries): Remove argument CATEGORY. |
| 236 | (org-run-agenda-series): Argument WONDOW removed. | 506 | (org-run-agenda-series): Remove argument WONDOW. |
| 237 | (org-next-link, org-previous-link): New commands. | 507 | (org-next-link, org-previous-link): New commands. |
| 238 | (org-agenda-date-format): New option. | 508 | (org-agenda-date-format): New option. |
| 239 | (org-table-iterate): New command. | 509 | (org-table-iterate): New command. |
| 240 | (org-table-modify-formulas) | 510 | (org-table-modify-formulas) |
| 241 | (org-table-replace-in-formulas): Functions removed. | 511 | (org-table-replace-in-formulas): Remove functions. |
| 242 | (org-table-fix-formulas): New function. | 512 | (org-table-fix-formulas): New function. |
| 243 | (org-table-insert-column, org-table-delete-column) | 513 | (org-table-insert-column, org-table-delete-column) |
| 244 | (org-table-move-column): Use `org-table-fix-formulas'. | 514 | (org-table-move-column): Use `org-table-fix-formulas'. |
| @@ -259,8 +529,8 @@ | |||
| 259 | (org-read-date): Accept "+N" as input for a date relative to the | 529 | (org-read-date): Accept "+N" as input for a date relative to the |
| 260 | current date. | 530 | current date. |
| 261 | (org-remove-subtree-entries-from-agenda): New function. | 531 | (org-remove-subtree-entries-from-agenda): New function. |
| 262 | (org-agenda-archive, org-agenda-kill): Use | 532 | (org-agenda-archive, org-agenda-kill): |
| 263 | `org-remove-subtree-entries-from-agenda'. | 533 | Use `org-remove-subtree-entries-from-agenda'. |
| 264 | (org-do-sort, org-sort-entries): New functions. | 534 | (org-do-sort, org-sort-entries): New functions. |
| 265 | (org-sort): New command. | 535 | (org-sort): New command. |
| 266 | (org-table-sort-lines): Use `org-do-sort'. | 536 | (org-table-sort-lines): Use `org-do-sort'. |
| @@ -268,7 +538,7 @@ | |||
| 268 | (org-table-number-regexp): Require 0x... to identify as number | 538 | (org-table-number-regexp): Require 0x... to identify as number |
| 269 | in tables. | 539 | in tables. |
| 270 | (org-startup-options): New keywords for note taking. | 540 | (org-startup-options): New keywords for note taking. |
| 271 | (org-upgrade-old-links): Function removed. | 541 | (org-upgrade-old-links): Remove function. |
| 272 | (org-get-repeat): New function. | 542 | (org-get-repeat): New function. |
| 273 | (org-show-context): Also show siblings on current level. | 543 | (org-show-context): Also show siblings on current level. |
| 274 | (org-show-siblings): New function. | 544 | (org-show-siblings): New function. |
| @@ -397,7 +667,7 @@ | |||
| 397 | * pgg-gpg.el (pgg-gpg-process-region): Make USE-AGENT nil | 667 | * pgg-gpg.el (pgg-gpg-process-region): Make USE-AGENT nil |
| 398 | if PASSPHRASE is given. | 668 | if PASSPHRASE is given. |
| 399 | 669 | ||
| 400 | 2007-02-17 Chris Moore <dooglus@gmail.com> | 670 | 2007-02-17 Chris Moore <dooglus@gmail.com> |
| 401 | 671 | ||
| 402 | * jka-cmpr-hook.el (jka-compr-compression-info-list): | 672 | * jka-cmpr-hook.el (jka-compr-compression-info-list): |
| 403 | Recognize backups of bz2 compressed files. | 673 | Recognize backups of bz2 compressed files. |
| @@ -1412,8 +1682,7 @@ | |||
| 1412 | 1682 | ||
| 1413 | 2007-01-03 Alan Mackenzie <acm@muc.de> | 1683 | 2007-01-03 Alan Mackenzie <acm@muc.de> |
| 1414 | 1684 | ||
| 1415 | * progmode/cc-cmds.el (c-mask-paragraph): Fix yesterday's buggy | 1685 | * progmode/cc-cmds.el (c-mask-paragraph): Fix yesterday's buggy patch. |
| 1416 | patch. | ||
| 1417 | 1686 | ||
| 1418 | 2007-01-03 Chris Moore <christopher.ian.moore@gmail.com> | 1687 | 2007-01-03 Chris Moore <christopher.ian.moore@gmail.com> |
| 1419 | 1688 | ||
| @@ -15669,7 +15938,7 @@ | |||
| 15669 | 15938 | ||
| 15670 | * progmodes/cc-defs.el (c-emacs-features): Don't assume point-min==1. | 15939 | * progmodes/cc-defs.el (c-emacs-features): Don't assume point-min==1. |
| 15671 | 15940 | ||
| 15672 | 2005-12-06 Nozomu Ando <nand@mac.com> (tiny patch) | 15941 | 2005-12-06 Nozomu Ando <nand@mac.com> |
| 15673 | 15942 | ||
| 15674 | * mail/smtpmail.el (smtpmail-try-auth-methods): Make password | 15943 | * mail/smtpmail.el (smtpmail-try-auth-methods): Make password |
| 15675 | prompts work for AUTH PLAIN. Also reported by Steve Allan | 15944 | prompts work for AUTH PLAIN. Also reported by Steve Allan |
| @@ -29217,7 +29486,7 @@ | |||
| 29217 | * progmodes/python.el (python-close-block-statement-p) | 29486 | * progmodes/python.el (python-close-block-statement-p) |
| 29218 | (python-outdent-p, python-current-defun): Use symbol-end. | 29487 | (python-outdent-p, python-current-defun): Use symbol-end. |
| 29219 | 29488 | ||
| 29220 | 2005-03-25 Karl Chen <quarl@cs.berkeley.edu> (tiny change) | 29489 | 2005-03-25 Karl Chen <quarl@cs.berkeley.edu> |
| 29221 | 29490 | ||
| 29222 | * files.el (save-some-buffers): Doc fix. | 29491 | * files.el (save-some-buffers): Doc fix. |
| 29223 | 29492 | ||
| @@ -31902,7 +32171,7 @@ | |||
| 31902 | * electric.el (Electric-pop-up-window): Use fit-window-to-buffer | 32171 | * electric.el (Electric-pop-up-window): Use fit-window-to-buffer |
| 31903 | instead of calculating the right size. | 32172 | instead of calculating the right size. |
| 31904 | 32173 | ||
| 31905 | 2005-01-02 Karl Chen <quarl@cs.berkeley.edu> (tiny change) | 32174 | 2005-01-02 Karl Chen <quarl@cs.berkeley.edu> |
| 31906 | 32175 | ||
| 31907 | * vc-svn.el (vc-svn-diff): Stay local if possible. | 32176 | * vc-svn.el (vc-svn-diff): Stay local if possible. |
| 31908 | 32177 | ||
diff --git a/lisp/ChangeLog.10 b/lisp/ChangeLog.10 index d7264dfb0b8..d6d69c52924 100644 --- a/lisp/ChangeLog.10 +++ b/lisp/ChangeLog.10 | |||
| @@ -2972,7 +2972,7 @@ | |||
| 2972 | (rename-buffer): Use the `newname' arg as base. | 2972 | (rename-buffer): Use the `newname' arg as base. |
| 2973 | (create-file-buffer): Split the file name into base and dirname. | 2973 | (create-file-buffer): Split the file name into base and dirname. |
| 2974 | 2974 | ||
| 2975 | 2003-05-09 Jesper Harder <harder@ifa.au.dk> (tiny change) | 2975 | 2003-05-09 Jesper Harder <harder@ifa.au.dk> |
| 2976 | 2976 | ||
| 2977 | * mail/smtpmail.el (smtpmail-send-queued-mail): Don't use kill-line. | 2977 | * mail/smtpmail.el (smtpmail-send-queued-mail): Don't use kill-line. |
| 2978 | 2978 | ||
| @@ -3275,7 +3275,7 @@ | |||
| 3275 | * filesets.el (filesets-data): Add another defvar. | 3275 | * filesets.el (filesets-data): Add another defvar. |
| 3276 | (filesets-verbosity): Doc fix. | 3276 | (filesets-verbosity): Doc fix. |
| 3277 | 3277 | ||
| 3278 | 2003-05-02 Tak Ota <Takaaki.Ota@am.sony.com> (tiny change) | 3278 | 2003-05-02 Tak Ota <Takaaki.Ota@am.sony.com> |
| 3279 | 3279 | ||
| 3280 | * recentf.el (recentf-cleanup): Swap tests for exclusion and | 3280 | * recentf.el (recentf-cleanup): Swap tests for exclusion and |
| 3281 | accessibility. | 3281 | accessibility. |
| @@ -3492,10 +3492,10 @@ | |||
| 3492 | (Info-display-images-node): New functions for displaying images. | 3492 | (Info-display-images-node): New functions for displaying images. |
| 3493 | (Info-select-node): Call Info-display-images-node. | 3493 | (Info-select-node): Call Info-display-images-node. |
| 3494 | 3494 | ||
| 3495 | 2003-04-25 Kai Gro,A_(Bjohann <kai.grossjohann@gmx.net> | 3495 | 2003-04-25 David Ponce <david.ponce@wanadoo.fr> |
| 3496 | 3496 | ||
| 3497 | * files.el (file-relative-name): Recognize "c:/foo" as absolute | 3497 | * files.el (file-relative-name): Recognize "c:/foo" as absolute |
| 3498 | file name. Tiny change from David PONCE <david.ponce@wanadoo.fr>. | 3498 | file name. |
| 3499 | 3499 | ||
| 3500 | 2003-04-24 Sam Steingold <sds@gnu.org> | 3500 | 2003-04-24 Sam Steingold <sds@gnu.org> |
| 3501 | 3501 | ||
| @@ -5595,7 +5595,7 @@ | |||
| 5595 | beginning-of-defun to the non-existing command | 5595 | beginning-of-defun to the non-existing command |
| 5596 | sh-beginning-of-compound-command. | 5596 | sh-beginning-of-compound-command. |
| 5597 | 5597 | ||
| 5598 | 2003-02-12 Karl Chen <quarl@hkn.eecs.berkeley.edu> (tiny change) | 5598 | 2003-02-12 Karl Chen <quarl@hkn.eecs.berkeley.edu> |
| 5599 | 5599 | ||
| 5600 | * files.el (find-alternate-file): Check whether `dired-directory' | 5600 | * files.el (find-alternate-file): Check whether `dired-directory' |
| 5601 | is bound. | 5601 | is bound. |
| @@ -11971,7 +11971,7 @@ | |||
| 11971 | * calendar/appt.el (appt-delete): Use substring-no-properties. | 11971 | * calendar/appt.el (appt-delete): Use substring-no-properties. |
| 11972 | (appt-make-list): Don't use prin1-to-string; use the string unchanged. | 11972 | (appt-make-list): Don't use prin1-to-string; use the string unchanged. |
| 11973 | 11973 | ||
| 11974 | 2002-08-15 Jan Nieuwenhuizen <janneke@gnu.org> (tiny change) | 11974 | 2002-08-15 Jan Nieuwenhuizen <janneke@gnu.org> |
| 11975 | 11975 | ||
| 11976 | * server.el (server-process-filter): Simplify code. | 11976 | * server.el (server-process-filter): Simplify code. |
| 11977 | (server-goto-line-column): New function. | 11977 | (server-goto-line-column): New function. |
| @@ -12378,7 +12378,7 @@ | |||
| 12378 | * dired.el: Hide disabling of dired-find-alternate-file behind | 12378 | * dired.el: Hide disabling of dired-find-alternate-file behind |
| 12379 | autoload-cookie. | 12379 | autoload-cookie. |
| 12380 | 12380 | ||
| 12381 | 2002-07-31 Tak Ota <Takaaki.Ota@am.sony.com> (tiny change) | 12381 | 2002-07-31 Tak Ota <Takaaki.Ota@am.sony.com> |
| 12382 | 12382 | ||
| 12383 | * makefile.w32-in: Revert some changes from 2002-07-23 because they | 12383 | * makefile.w32-in: Revert some changes from 2002-07-23 because they |
| 12384 | don't work on MSVC/nmake builds. | 12384 | don't work on MSVC/nmake builds. |
| @@ -22919,13 +22919,14 @@ | |||
| 22919 | * startup.el: Document command line option --no-window-system | 22919 | * startup.el: Document command line option --no-window-system |
| 22920 | instead of --no-windows. | 22920 | instead of --no-windows. |
| 22921 | 22921 | ||
| 22922 | 2001-10-30 Stefan Monnier <monnier@cs.yale.edu> | 22922 | 2001-10-30 David Ponce <david.ponce@wanadoo.fr> |
| 22923 | |||
| 22924 | * progmodes/autoconf.el (autoconf-mode): Fix comment-start-skip. | ||
| 22925 | 22923 | ||
| 22926 | * font-lock.el (java-font-lock-syntactic-face-function): New fun. | 22924 | * font-lock.el (java-font-lock-syntactic-face-function): New fun. |
| 22927 | (font-lock-defaults-alist): Use it. | 22925 | (font-lock-defaults-alist): Use it. |
| 22928 | From David Ponce <david.ponce@wanadoo.fr> | 22926 | |
| 22927 | 2001-10-30 Stefan Monnier <monnier@cs.yale.edu> | ||
| 22928 | |||
| 22929 | * progmodes/autoconf.el (autoconf-mode): Fix comment-start-skip. | ||
| 22929 | 22930 | ||
| 22930 | * progmodes/perl-mode.el (perl-indent-line): Use `eq' to compare | 22931 | * progmodes/perl-mode.el (perl-indent-line): Use `eq' to compare |
| 22931 | output of `char-after'. | 22932 | output of `char-after'. |
diff --git a/lisp/ChangeLog.11 b/lisp/ChangeLog.11 index e9c752464f7..ac47f4eaeaa 100644 --- a/lisp/ChangeLog.11 +++ b/lisp/ChangeLog.11 | |||
| @@ -4993,7 +4993,7 @@ | |||
| 4993 | 4993 | ||
| 4994 | * international/latin1-disp.el (latin1-char-displayable-p): Likewise. | 4994 | * international/latin1-disp.el (latin1-char-displayable-p): Likewise. |
| 4995 | 4995 | ||
| 4996 | 2004-08-21 Peter Seibel <peter@javamonkey.com> (tiny patch) | 4996 | 2004-08-21 Peter Seibel <peter@javamonkey.com> (tiny change) |
| 4997 | 4997 | ||
| 4998 | * emacs-lisp/cl-indent.el (lisp-indent-defmethod): | 4998 | * emacs-lisp/cl-indent.el (lisp-indent-defmethod): |
| 4999 | Correct indentation of DEFMETHODS with non-standard method | 4999 | Correct indentation of DEFMETHODS with non-standard method |
| @@ -6043,12 +6043,12 @@ | |||
| 6043 | * international/utf-8.el (ccl-decode-mule-utf-8): Fix previous change. | 6043 | * international/utf-8.el (ccl-decode-mule-utf-8): Fix previous change. |
| 6044 | (ccl-untranslated-to-ucs): Fix typo. | 6044 | (ccl-untranslated-to-ucs): Fix typo. |
| 6045 | 6045 | ||
| 6046 | 2004-06-12 Karl Chen <quarl@hkn.eecs.berkeley.edu> (tiny change) | 6046 | 2004-06-12 Karl Chen <quarl@hkn.eecs.berkeley.edu> |
| 6047 | 6047 | ||
| 6048 | * progmodes/python.el (python-open-block-statement-p): | 6048 | * progmodes/python.el (python-open-block-statement-p): |
| 6049 | Fix indentation after a block opening that contains a comment. | 6049 | Fix indentation after a block opening that contains a comment. |
| 6050 | 6050 | ||
| 6051 | 2004-06-12 J,Ai(Br,At(Bme Marant <jerome@marant.org> (tiny change) | 6051 | 2004-06-12 J,Ai(Br,At(Bme Marant <jerome@marant.org> |
| 6052 | 6052 | ||
| 6053 | * bindings.el (completion-ignored-extensions): Add file extensions | 6053 | * bindings.el (completion-ignored-extensions): Add file extensions |
| 6054 | of Python byte-compiled files. | 6054 | of Python byte-compiled files. |
| @@ -6982,7 +6982,7 @@ | |||
| 6982 | (byte-goto-log-buffer): Delete. | 6982 | (byte-goto-log-buffer): Delete. |
| 6983 | (byte-compile-log-file): Call compilation-forget-errors. | 6983 | (byte-compile-log-file): Call compilation-forget-errors. |
| 6984 | 6984 | ||
| 6985 | 2004-05-19 Takaaki Ota <Takaaki.Ota@am.sony.com> (tiny change) | 6985 | 2004-05-19 Takaaki Ota <Takaaki.Ota@am.sony.com> |
| 6986 | 6986 | ||
| 6987 | * net/ldap.el (ldap-search-internal): Avoid mixing standard error | 6987 | * net/ldap.el (ldap-search-internal): Avoid mixing standard error |
| 6988 | output messages into the search result. | 6988 | output messages into the search result. |
| @@ -6996,7 +6996,7 @@ | |||
| 6996 | 6996 | ||
| 6997 | * international/characters.el: Fix syntax (open/close) of CJK chars. | 6997 | * international/characters.el: Fix syntax (open/close) of CJK chars. |
| 6998 | 6998 | ||
| 6999 | 2004-05-18 Karl Chen <quarl@hkn.eecs.berkeley.edu> (tiny change) | 6999 | 2004-05-18 Karl Chen <quarl@hkn.eecs.berkeley.edu> |
| 7000 | 7000 | ||
| 7001 | * help-mode.el (help-go-back): Don't depend on position of back button. | 7001 | * help-mode.el (help-go-back): Don't depend on position of back button. |
| 7002 | 7002 | ||
| @@ -7121,7 +7121,7 @@ | |||
| 7121 | * calendar/appt.el (appt-disp-window): | 7121 | * calendar/appt.el (appt-disp-window): |
| 7122 | Use `calendar-set-mode-line' for a centered mode-line. | 7122 | Use `calendar-set-mode-line' for a centered mode-line. |
| 7123 | 7123 | ||
| 7124 | 2004-05-13 Takaaki Ota <Takaaki.Ota@am.sony.com> (tiny change) | 7124 | 2004-05-13 Takaaki Ota <Takaaki.Ota@am.sony.com> |
| 7125 | 7125 | ||
| 7126 | * calendar/appt.el (appt-disp-window): Do not split window | 7126 | * calendar/appt.el (appt-disp-window): Do not split window |
| 7127 | excessively when `split-height-threshold' is low. | 7127 | excessively when `split-height-threshold' is low. |
| @@ -10484,12 +10484,12 @@ | |||
| 10484 | * loadhist.el (unload-feature): Doc fix. Rename flist to | 10484 | * loadhist.el (unload-feature): Doc fix. Rename flist to |
| 10485 | unload-hook-features-list. | 10485 | unload-hook-features-list. |
| 10486 | 10486 | ||
| 10487 | 2004-02-16 Jay Belanger <belanger@truman.edu> (tiny change) | 10487 | 2004-02-16 Jay Belanger <belanger@truman.edu> |
| 10488 | 10488 | ||
| 10489 | * calc/calc-embed.el (calc-do-embedded-activate): Add autoload | 10489 | * calc/calc-embed.el (calc-do-embedded-activate): Add autoload |
| 10490 | cookie. Don't check if we are looking-at open-formula. | 10490 | cookie. Don't check if we are looking-at open-formula. |
| 10491 | 10491 | ||
| 10492 | 2004-02-16 Jesper Harder <harder@ifa.au.dk> (tiny change) | 10492 | 2004-02-16 Jesper Harder <harder@ifa.au.dk> |
| 10493 | 10493 | ||
| 10494 | * subr.el (match-string-no-properties): Use substring-no-properties. | 10494 | * subr.el (match-string-no-properties): Use substring-no-properties. |
| 10495 | 10495 | ||
| @@ -10564,7 +10564,7 @@ | |||
| 10564 | * international/ccl.el (ccl-compile-write): Pass `left' to | 10564 | * international/ccl.el (ccl-compile-write): Pass `left' to |
| 10565 | ccl-embed-code to generate correct code of write-expr-register. | 10565 | ccl-embed-code to generate correct code of write-expr-register. |
| 10566 | 10566 | ||
| 10567 | 2004-02-15 Dan Nicolaescu <dann@ics.uci.edu> (tiny change) | 10567 | 2004-02-15 Dan Nicolaescu <dann@ics.uci.edu> |
| 10568 | 10568 | ||
| 10569 | * progmodes/grep.el (grep-compute-defaults): Fix typos. | 10569 | * progmodes/grep.el (grep-compute-defaults): Fix typos. |
| 10570 | 10570 | ||
| @@ -10766,7 +10766,7 @@ | |||
| 10766 | * vc.el (with-vc-file): Fix unsafe uses of error. | 10766 | * vc.el (with-vc-file): Fix unsafe uses of error. |
| 10767 | (vc-cancel-version): Likewise. | 10767 | (vc-cancel-version): Likewise. |
| 10768 | 10768 | ||
| 10769 | 2004-02-08 Jan Nieuwenhuizen <jan.nieuwenhuizen@aspiratie.nl> (tiny change) | 10769 | 2004-02-08 Jan Nieuwenhuizen <jan.nieuwenhuizen@aspiratie.nl> |
| 10770 | 10770 | ||
| 10771 | * progmodes/gud.el (gud-jdb-marker-filter): Add period as optional | 10771 | * progmodes/gud.el (gud-jdb-marker-filter): Add period as optional |
| 10772 | thousands separator; fixes <class>:<line-number> regexp for | 10772 | thousands separator; fixes <class>:<line-number> regexp for |
| @@ -11113,7 +11113,7 @@ | |||
| 11113 | 11113 | ||
| 11114 | * mail/smtpmail.el (smtpmail-send-data): Don't append spurious newline. | 11114 | * mail/smtpmail.el (smtpmail-send-data): Don't append spurious newline. |
| 11115 | 11115 | ||
| 11116 | 2004-01-18 David Ponce <david@dponce.com> (tiny change) | 11116 | 2004-01-18 David Ponce <david@dponce.com> |
| 11117 | 11117 | ||
| 11118 | * progmodes/which-func.el (which-function-mode): Don't cancel | 11118 | * progmodes/which-func.el (which-function-mode): Don't cancel |
| 11119 | which-func-update-timer if not set. | 11119 | which-func-update-timer if not set. |
| @@ -11322,7 +11322,7 @@ | |||
| 11322 | 11322 | ||
| 11323 | * subr.el (functionp): Doc fix. | 11323 | * subr.el (functionp): Doc fix. |
| 11324 | 11324 | ||
| 11325 | 2004-01-03 Jesper Harder <harder@ifa.au.dk> (tiny change) | 11325 | 2004-01-03 Jesper Harder <harder@ifa.au.dk> |
| 11326 | 11326 | ||
| 11327 | * progmodes/idlwave.el (idlwave-make-tags): | 11327 | * progmodes/idlwave.el (idlwave-make-tags): |
| 11328 | * textmodes/flyspell.el (flyspell-large-region):. | 11328 | * textmodes/flyspell.el (flyspell-large-region):. |
| @@ -11525,7 +11525,7 @@ | |||
| 11525 | (table--put-cell-indicator-property): Put yank-handler property | 11525 | (table--put-cell-indicator-property): Put yank-handler property |
| 11526 | that indicates the yank handler for the table cell. | 11526 | that indicates the yank handler for the table cell. |
| 11527 | 11527 | ||
| 11528 | 2003-12-29 Jesper Harder <harder@ifa.au.dk> (tiny change) | 11528 | 2003-12-29 Jesper Harder <harder@ifa.au.dk> |
| 11529 | 11529 | ||
| 11530 | * generic-x.el (etc-modules-conf-generic-mode): A more complete | 11530 | * generic-x.el (etc-modules-conf-generic-mode): A more complete |
| 11531 | set of keywords. | 11531 | set of keywords. |
| @@ -11583,7 +11583,7 @@ | |||
| 11583 | (ido-file-name-all-completions1): Return empty list for | 11583 | (ido-file-name-all-completions1): Return empty list for |
| 11584 | non-readable directory. | 11584 | non-readable directory. |
| 11585 | (ido-exhibit): Print [Not readable] if directory is not readable. | 11585 | (ido-exhibit): Print [Not readable] if directory is not readable. |
| 11586 | (ido-expand-directory): New defun (based on tiny fix from Karl Chen). | 11586 | (ido-expand-directory): New defun (based on fix from Karl Chen). |
| 11587 | (ido-read-file-name, ido-file-internal, ido-read-directory-name): | 11587 | (ido-read-file-name, ido-file-internal, ido-read-directory-name): |
| 11588 | Use it. | 11588 | Use it. |
| 11589 | 11589 | ||
| @@ -11921,7 +11921,7 @@ | |||
| 11921 | (breakpoint-enabled-icon, breakpoint-disabled-icon): Set :ascent | 11921 | (breakpoint-enabled-icon, breakpoint-disabled-icon): Set :ascent |
| 11922 | to 100 for icons to avoid increasing line height when shown. | 11922 | to 100 for icons to avoid increasing line height when shown. |
| 11923 | 11923 | ||
| 11924 | 2003-11-17 Jesper Harder <harder@ifa.au.dk> (tiny change) | 11924 | 2003-11-17 Jesper Harder <harder@ifa.au.dk> |
| 11925 | 11925 | ||
| 11926 | * newcomment.el (comment-normalize-vars): Initialize properly if | 11926 | * newcomment.el (comment-normalize-vars): Initialize properly if |
| 11927 | comment-start was nil. | 11927 | comment-start was nil. |
| @@ -11935,7 +11935,7 @@ | |||
| 11935 | * international/latin1-disp.el (latin1-display-ucs-per-lynx): | 11935 | * international/latin1-disp.el (latin1-display-ucs-per-lynx): |
| 11936 | Fix docstring. | 11936 | Fix docstring. |
| 11937 | 11937 | ||
| 11938 | 2003-11-17 Jesper Harder <harder@ifa.au.dk> (tiny change) | 11938 | 2003-11-17 Jesper Harder <harder@ifa.au.dk> |
| 11939 | 11939 | ||
| 11940 | * international/latin1-disp.el (latin1-display): Fix docstring. | 11940 | * international/latin1-disp.el (latin1-display): Fix docstring. |
| 11941 | 11941 | ||
| @@ -12665,12 +12665,12 @@ | |||
| 12665 | * language/chinese.el ("Chinese-GB", "Chinese-BIG5"): Set up for | 12665 | * language/chinese.el ("Chinese-GB", "Chinese-BIG5"): Set up for |
| 12666 | using a Chinese tutorial. | 12666 | using a Chinese tutorial. |
| 12667 | 12667 | ||
| 12668 | 2003-09-28 Jesper Harder <harder@ifa.au.dk> (tiny change) | 12668 | 2003-09-28 Jesper Harder <harder@ifa.au.dk> |
| 12669 | 12669 | ||
| 12670 | * mail/smtpmail.el (smtpmail-via-smtp): Don't insert a space | 12670 | * mail/smtpmail.el (smtpmail-via-smtp): Don't insert a space |
| 12671 | between "MAIL FROM:" and "RCPT TO:" and the following address. | 12671 | between "MAIL FROM:" and "RCPT TO:" and the following address. |
| 12672 | 12672 | ||
| 12673 | 2003-09-28 Jesper Harder <harder@ifa.au.dk> (tiny change) | 12673 | 2003-09-28 Jesper Harder <harder@ifa.au.dk> |
| 12674 | 12674 | ||
| 12675 | * textmodes/text-mode.el (paragraph-indent-minor-mode): Doc fix. | 12675 | * textmodes/text-mode.el (paragraph-indent-minor-mode): Doc fix. |
| 12676 | 12676 | ||
| @@ -13685,7 +13685,7 @@ | |||
| 13685 | * international/fontset.el (setup-default-fontset): | 13685 | * international/fontset.el (setup-default-fontset): |
| 13686 | Change registry names of Akurti fonts. | 13686 | Change registry names of Akurti fonts. |
| 13687 | 13687 | ||
| 13688 | 2003-07-29 Jesper Harder <harder@ifa.au.dk> (tiny change) | 13688 | 2003-07-29 Jesper Harder <harder@ifa.au.dk> |
| 13689 | 13689 | ||
| 13690 | * comint.el (comint-read-noecho): Use `clear-string' instead of | 13690 | * comint.el (comint-read-noecho): Use `clear-string' instead of |
| 13691 | `fillarray'. | 13691 | `fillarray'. |
| @@ -13701,7 +13701,7 @@ | |||
| 13701 | (menu): Add gdb-restore-windows to menu. Make gdba | 13701 | (menu): Add gdb-restore-windows to menu. Make gdba |
| 13702 | specific menus only visible from gdba. | 13702 | specific menus only visible from gdba. |
| 13703 | 13703 | ||
| 13704 | 2003-07-28 Tak Ota <Takaaki.Ota@am.sony.com> (tiny change) | 13704 | 2003-07-28 Tak Ota <Takaaki.Ota@am.sony.com> |
| 13705 | 13705 | ||
| 13706 | * progmodes/compile.el (compilation-environment): New user variable. | 13706 | * progmodes/compile.el (compilation-environment): New user variable. |
| 13707 | (compile-internal): Respect it. | 13707 | (compile-internal): Respect it. |
| @@ -13930,7 +13930,7 @@ | |||
| 13930 | * desktop.el (desktop-buffer-dired-misc-data, desktop-buffer-dired): | 13930 | * desktop.el (desktop-buffer-dired-misc-data, desktop-buffer-dired): |
| 13931 | Handle `dired-directory' being a list. | 13931 | Handle `dired-directory' being a list. |
| 13932 | 13932 | ||
| 13933 | 2003-07-13 Jesper Harder <harder@ifa.au.dk> (tiny change) | 13933 | 2003-07-13 Jesper Harder <harder@ifa.au.dk> |
| 13934 | 13934 | ||
| 13935 | * mail/smtpmail.el (smtpmail-send-it): Create smtpmail-queue-dir if | 13935 | * mail/smtpmail.el (smtpmail-send-it): Create smtpmail-queue-dir if |
| 13936 | it doesn't exist. | 13936 | it doesn't exist. |
diff --git a/lisp/ChangeLog.7 b/lisp/ChangeLog.7 index d9923a02016..57121a8f2ca 100644 --- a/lisp/ChangeLog.7 +++ b/lisp/ChangeLog.7 | |||
| @@ -8260,7 +8260,7 @@ | |||
| 8260 | 8260 | ||
| 8261 | * cal-tex.el (cal-tex-cursor-week-iso): Delete spurious %. | 8261 | * cal-tex.el (cal-tex-cursor-week-iso): Delete spurious %. |
| 8262 | 8262 | ||
| 8263 | 1997-11-02 Kevin Rodgers <kevinr@airedale.ihs.com> | 8263 | 1997-11-02 Kevin Rodgers <kevinr@ihs.com> |
| 8264 | 8264 | ||
| 8265 | * emacs-lisp/byte-opt.el (byte-optimize-concat): New function. | 8265 | * emacs-lisp/byte-opt.el (byte-optimize-concat): New function. |
| 8266 | 8266 | ||
| @@ -21588,7 +21588,7 @@ | |||
| 21588 | 21588 | ||
| 21589 | * time-stamp.el (time-stamp-dd/mm/yyyy): New function. | 21589 | * time-stamp.el (time-stamp-dd/mm/yyyy): New function. |
| 21590 | 21590 | ||
| 21591 | 1996-11-04 Kevin Rodgers <evinr@ihs.com> | 21591 | 1996-11-04 Kevin Rodgers <kevinr@ihs.com> |
| 21592 | 21592 | ||
| 21593 | * compile.el (compile-highlight-display-limit): New variable. | 21593 | * compile.el (compile-highlight-display-limit): New variable. |
| 21594 | (compilation-handle-exit): Parse error messages here | 21594 | (compilation-handle-exit): Parse error messages here |
diff --git a/lisp/abbrev.el b/lisp/abbrev.el index 1363ccee561..83a3fbbe49d 100644 --- a/lisp/abbrev.el +++ b/lisp/abbrev.el | |||
| @@ -363,5 +363,7 @@ A prefix argument means don't query; expand all abbrevs." | |||
| 363 | (if (or noquery (y-or-n-p (format "Expand `%s'? " string))) | 363 | (if (or noquery (y-or-n-p (format "Expand `%s'? " string))) |
| 364 | (expand-abbrev))))))) | 364 | (expand-abbrev))))))) |
| 365 | 365 | ||
| 366 | (provide 'abbrev) | ||
| 367 | |||
| 366 | ;; arch-tag: dbd6f3ae-dfe3-40ba-b00f-f9e3ff960df5 | 368 | ;; arch-tag: dbd6f3ae-dfe3-40ba-b00f-f9e3ff960df5 |
| 367 | ;;; abbrev.el ends here | 369 | ;;; abbrev.el ends here |
diff --git a/lisp/complete.el b/lisp/complete.el index cc8f29356b6..ce5094d1aef 100644 --- a/lisp/complete.el +++ b/lisp/complete.el | |||
| @@ -147,6 +147,8 @@ If nil, means use the colon-separated path in the variable $INCPATH instead." | |||
| 147 | (cond ((not bind) | 147 | (cond ((not bind) |
| 148 | ;; These bindings are the default bindings. It would be better to | 148 | ;; These bindings are the default bindings. It would be better to |
| 149 | ;; restore the previous bindings. | 149 | ;; restore the previous bindings. |
| 150 | (define-key read-expression-map "\e\t" 'lisp-complete-symbol) | ||
| 151 | |||
| 150 | (define-key completion-map "\t" 'minibuffer-complete) | 152 | (define-key completion-map "\t" 'minibuffer-complete) |
| 151 | (define-key completion-map " " 'minibuffer-complete-word) | 153 | (define-key completion-map " " 'minibuffer-complete-word) |
| 152 | (define-key completion-map "?" 'minibuffer-completion-help) | 154 | (define-key completion-map "?" 'minibuffer-completion-help) |
| @@ -157,8 +159,10 @@ If nil, means use the colon-separated path in the variable $INCPATH instead." | |||
| 157 | (define-key must-match-map "\n" 'minibuffer-complete-and-exit) | 159 | (define-key must-match-map "\n" 'minibuffer-complete-and-exit) |
| 158 | (define-key must-match-map "?" 'minibuffer-completion-help) | 160 | (define-key must-match-map "?" 'minibuffer-completion-help) |
| 159 | 161 | ||
| 160 | (define-key global-map "\e\t" 'complete-symbol)) | 162 | (define-key global-map [remap lisp-complete-symbol] nil)) |
| 161 | (PC-default-bindings | 163 | (PC-default-bindings |
| 164 | (define-key read-expression-map "\e\t" 'PC-lisp-complete-symbol) | ||
| 165 | |||
| 162 | (define-key completion-map "\t" 'PC-complete) | 166 | (define-key completion-map "\t" 'PC-complete) |
| 163 | (define-key completion-map " " 'PC-complete-word) | 167 | (define-key completion-map " " 'PC-complete-word) |
| 164 | (define-key completion-map "?" 'PC-completion-help) | 168 | (define-key completion-map "?" 'PC-completion-help) |
| @@ -181,7 +185,7 @@ If nil, means use the colon-separated path in the variable $INCPATH instead." | |||
| 181 | (define-key must-match-map "\e\n" 'PC-complete-and-exit) | 185 | (define-key must-match-map "\e\n" 'PC-complete-and-exit) |
| 182 | (define-key must-match-map "\e?" 'PC-completion-help) | 186 | (define-key must-match-map "\e?" 'PC-completion-help) |
| 183 | 187 | ||
| 184 | (define-key global-map "\e\t" 'PC-lisp-complete-symbol))))) | 188 | (define-key global-map [remap lisp-complete-symbol] 'PC-lisp-complete-symbol))))) |
| 185 | 189 | ||
| 186 | ;;;###autoload | 190 | ;;;###autoload |
| 187 | (define-minor-mode partial-completion-mode | 191 | (define-minor-mode partial-completion-mode |
| @@ -383,6 +387,29 @@ of `minibuffer-completion-table' and the minibuffer contents.") | |||
| 383 | (let ((completion-ignore-case nil)) | 387 | (let ((completion-ignore-case nil)) |
| 384 | (test-completion str table pred)))) | 388 | (test-completion str table pred)))) |
| 385 | 389 | ||
| 390 | ;; The following function is an attempt to work around two problems: | ||
| 391 | |||
| 392 | ;; (1) When complete.el was written, (try-completion "" '(("") (""))) used to | ||
| 393 | ;; return the value "". With a change from 2002-07-07 it returns t which caused | ||
| 394 | ;; `PC-lisp-complete-symbol' to fail with a "Wrong type argument: sequencep, t" | ||
| 395 | ;; error. `PC-try-completion' returns STRING in this case. | ||
| 396 | |||
| 397 | ;; (2) (try-completion "" '((""))) returned t before the above-mentioned change. | ||
| 398 | ;; Since `PC-chop-word' operates on the return value of `try-completion' this | ||
| 399 | ;; case might have provoked a similar error as in (1). `PC-try-completion' | ||
| 400 | ;; returns "" instead. I don't know whether this is a real problem though. | ||
| 401 | |||
| 402 | ;; Since `PC-try-completion' is not a guaranteed to fix these bugs reliably, you | ||
| 403 | ;; should try to look at the following discussions when you encounter problems: | ||
| 404 | ;; - emacs-pretest-bug ("Partial Completion" starting 2007-02-23), | ||
| 405 | ;; - emacs-devel ("[address-of-OP: Partial completion]" starting 2007-02-24), | ||
| 406 | ;; - emacs-devel ("[address-of-OP: EVAL and mouse selection in *Completions*]" | ||
| 407 | ;; starting 2007-03-05). | ||
| 408 | (defun PC-try-completion (string alist &optional predicate) | ||
| 409 | "Like `try-completion' but return STRING instead of t." | ||
| 410 | (let ((result (try-completion string alist predicate))) | ||
| 411 | (if (eq result t) string result))) | ||
| 412 | |||
| 386 | (defun PC-do-completion (&optional mode beg end) | 413 | (defun PC-do-completion (&optional mode beg end) |
| 387 | (or beg (setq beg (minibuffer-prompt-end))) | 414 | (or beg (setq beg (minibuffer-prompt-end))) |
| 388 | (or end (setq end (point-max))) | 415 | (or end (setq end (point-max))) |
| @@ -390,7 +417,10 @@ of `minibuffer-completion-table' and the minibuffer contents.") | |||
| 390 | (pred minibuffer-completion-predicate) | 417 | (pred minibuffer-completion-predicate) |
| 391 | (filename (funcall PC-completion-as-file-name-predicate)) | 418 | (filename (funcall PC-completion-as-file-name-predicate)) |
| 392 | (dirname nil) ; non-nil only if a filename is being completed | 419 | (dirname nil) ; non-nil only if a filename is being completed |
| 393 | (dirlength 0) | 420 | ;; The following used to be "(dirlength 0)" which caused the erasure of |
| 421 | ;; the entire buffer text before `point' when inserting a completion | ||
| 422 | ;; into a buffer. | ||
| 423 | dirlength | ||
| 394 | (str (buffer-substring beg end)) | 424 | (str (buffer-substring beg end)) |
| 395 | (incname (and filename (string-match "<\\([^\"<>]*\\)>?$" str))) | 425 | (incname (and filename (string-match "<\\([^\"<>]*\\)>?$" str))) |
| 396 | (ambig nil) | 426 | (ambig nil) |
| @@ -404,8 +434,15 @@ of `minibuffer-completion-table' and the minibuffer contents.") | |||
| 404 | 434 | ||
| 405 | ;; Check if buffer contents can already be considered complete | 435 | ;; Check if buffer contents can already be considered complete |
| 406 | (if (and (eq mode 'exit) | 436 | (if (and (eq mode 'exit) |
| 407 | (test-completion-ignore-case str table pred)) | 437 | (test-completion str table pred)) |
| 408 | 'complete | 438 | (progn |
| 439 | ;; If completion-ignore-case is non-nil, insert the | ||
| 440 | ;; completion string since that may have a different case. | ||
| 441 | (when completion-ignore-case | ||
| 442 | (setq str (PC-try-completion str table pred)) | ||
| 443 | (delete-region beg end) | ||
| 444 | (insert str)) | ||
| 445 | 'complete) | ||
| 409 | 446 | ||
| 410 | ;; Do substitutions in directory names | 447 | ;; Do substitutions in directory names |
| 411 | (and filename | 448 | (and filename |
| @@ -553,6 +590,9 @@ of `minibuffer-completion-table' and the minibuffer contents.") | |||
| 553 | (setq poss (cons (car p) poss)))) | 590 | (setq poss (cons (car p) poss)))) |
| 554 | (setq p (cdr p))))) | 591 | (setq p (cdr p))))) |
| 555 | 592 | ||
| 593 | ;; If table had duplicates, they can be here. | ||
| 594 | (delete-dups poss) | ||
| 595 | |||
| 556 | ;; Handle completion-ignored-extensions | 596 | ;; Handle completion-ignored-extensions |
| 557 | (and filename | 597 | (and filename |
| 558 | (not (eq mode 'help)) | 598 | (not (eq mode 'help)) |
| @@ -623,8 +663,8 @@ of `minibuffer-completion-table' and the minibuffer contents.") | |||
| 623 | 663 | ||
| 624 | ;; Check if next few letters are the same in all cases | 664 | ;; Check if next few letters are the same in all cases |
| 625 | (if (and (not (eq mode 'help)) | 665 | (if (and (not (eq mode 'help)) |
| 626 | (setq prefix (try-completion (PC-chunk-after basestr skip) | 666 | (setq prefix (PC-try-completion |
| 627 | poss))) | 667 | (PC-chunk-after basestr skip) poss))) |
| 628 | (let ((first t) i) | 668 | (let ((first t) i) |
| 629 | ;; Retain capitalization of user input even if | 669 | ;; Retain capitalization of user input even if |
| 630 | ;; completion-ignore-case is set. | 670 | ;; completion-ignore-case is set. |
| @@ -662,7 +702,7 @@ of `minibuffer-completion-table' and the minibuffer contents.") | |||
| 662 | (setq skip (concat skip | 702 | (setq skip (concat skip |
| 663 | (regexp-quote prefix) | 703 | (regexp-quote prefix) |
| 664 | PC-ndelims-regex) | 704 | PC-ndelims-regex) |
| 665 | prefix (try-completion | 705 | prefix (PC-try-completion |
| 666 | (PC-chunk-after | 706 | (PC-chunk-after |
| 667 | ;; not basestr, because that does | 707 | ;; not basestr, because that does |
| 668 | ;; not reflect insertions | 708 | ;; not reflect insertions |
| @@ -996,7 +1036,7 @@ absolute rather than relative to some directory on the SEARCH-PATH." | |||
| 996 | (cond | 1036 | (cond |
| 997 | ((not completion-table) nil) | 1037 | ((not completion-table) nil) |
| 998 | ((eq action 'lambda) (test-completion str2 completion-table nil)) | 1038 | ((eq action 'lambda) (test-completion str2 completion-table nil)) |
| 999 | ((eq action nil) (try-completion str2 completion-table nil)) | 1039 | ((eq action nil) (PC-try-completion str2 completion-table nil)) |
| 1000 | ((eq action t) (all-completions str2 completion-table nil))))) | 1040 | ((eq action t) (all-completions str2 completion-table nil))))) |
| 1001 | ad-do-it)) | 1041 | ad-do-it)) |
| 1002 | 1042 | ||
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el index c49328ac40d..d8fdf966374 100644 --- a/lisp/cus-edit.el +++ b/lisp/cus-edit.el | |||
| @@ -938,9 +938,6 @@ VALUE is a Lisp object. | |||
| 938 | If VARIABLE has a `custom-set' property, that is used for setting | 938 | If VARIABLE has a `custom-set' property, that is used for setting |
| 939 | VARIABLE, otherwise `set-default' is used. | 939 | VARIABLE, otherwise `set-default' is used. |
| 940 | 940 | ||
| 941 | The `customized-value' property of the VARIABLE will be set to a list | ||
| 942 | with a quoted VALUE as its sole list member. | ||
| 943 | |||
| 944 | If VARIABLE has a `variable-interactive' property, that is used as if | 941 | If VARIABLE has a `variable-interactive' property, that is used as if |
| 945 | it were the arg to `interactive' (which see) to interactively read the value. | 942 | it were the arg to `interactive' (which see) to interactively read the value. |
| 946 | 943 | ||
| @@ -971,9 +968,6 @@ Return VALUE. | |||
| 971 | If VARIABLE has a `custom-set' property, that is used for setting | 968 | If VARIABLE has a `custom-set' property, that is used for setting |
| 972 | VARIABLE, otherwise `set-default' is used. | 969 | VARIABLE, otherwise `set-default' is used. |
| 973 | 970 | ||
| 974 | The `customized-value' property of the VARIABLE will be set to a list | ||
| 975 | with a quoted VALUE as its sole list member. | ||
| 976 | |||
| 977 | If VARIABLE has a `variable-interactive' property, that is used as if | 971 | If VARIABLE has a `variable-interactive' property, that is used as if |
| 978 | it were the arg to `interactive' (which see) to interactively read the value. | 972 | it were the arg to `interactive' (which see) to interactively read the value. |
| 979 | 973 | ||
| @@ -993,6 +987,8 @@ If given a prefix (or a COMMENT argument), also prompt for a comment." | |||
| 993 | (comment | 987 | (comment |
| 994 | (put variable 'variable-comment comment) | 988 | (put variable 'variable-comment comment) |
| 995 | (put variable 'saved-variable-comment comment))) | 989 | (put variable 'saved-variable-comment comment))) |
| 990 | (put variable 'customized-value nil) | ||
| 991 | (put variable 'customized-variable-comment nil) | ||
| 996 | (custom-save-all) | 992 | (custom-save-all) |
| 997 | value) | 993 | value) |
| 998 | 994 | ||
diff --git a/lisp/diff-mode.el b/lisp/diff-mode.el index c4fac402dbf..543e1bd6a39 100644 --- a/lisp/diff-mode.el +++ b/lisp/diff-mode.el | |||
| @@ -985,7 +985,9 @@ See `after-change-functions' for the meaning of BEG, END and LEN." | |||
| 985 | (define-derived-mode diff-mode fundamental-mode "Diff" | 985 | (define-derived-mode diff-mode fundamental-mode "Diff" |
| 986 | "Major mode for viewing/editing context diffs. | 986 | "Major mode for viewing/editing context diffs. |
| 987 | Supports unified and context diffs as well as (to a lesser extent) | 987 | Supports unified and context diffs as well as (to a lesser extent) |
| 988 | normal diffs. | 988 | normal diffs. If you edit the buffer manually, diff-mode will try |
| 989 | to update the hunk headers for you on-the-fly. | ||
| 990 | |||
| 989 | When the buffer is read-only, the ESC prefix is not necessary. | 991 | When the buffer is read-only, the ESC prefix is not necessary. |
| 990 | If you edit the buffer manually, diff-mode will try to update the hunk | 992 | If you edit the buffer manually, diff-mode will try to update the hunk |
| 991 | headers for you on-the-fly. | 993 | headers for you on-the-fly. |
| @@ -993,7 +995,12 @@ headers for you on-the-fly. | |||
| 993 | You can also switch between context diff and unified diff with \\[diff-context->unified], | 995 | You can also switch between context diff and unified diff with \\[diff-context->unified], |
| 994 | or vice versa with \\[diff-unified->context] and you can also reverse the direction of | 996 | or vice versa with \\[diff-unified->context] and you can also reverse the direction of |
| 995 | a diff with \\[diff-reverse-direction]. | 997 | a diff with \\[diff-reverse-direction]. |
| 996 | \\{diff-mode-map}" | 998 | |
| 999 | When the buffer is read-only, the Meta- modifier is not necessary | ||
| 1000 | to run the Diff mode commands: | ||
| 1001 | |||
| 1002 | \\{diff-mode-map}" | ||
| 1003 | |||
| 997 | (set (make-local-variable 'font-lock-defaults) diff-font-lock-defaults) | 1004 | (set (make-local-variable 'font-lock-defaults) diff-font-lock-defaults) |
| 998 | (set (make-local-variable 'outline-regexp) diff-outline-regexp) | 1005 | (set (make-local-variable 'outline-regexp) diff-outline-regexp) |
| 999 | (set (make-local-variable 'imenu-generic-expression) | 1006 | (set (make-local-variable 'imenu-generic-expression) |
| @@ -1368,7 +1375,8 @@ With a prefix argument, REVERSE the hunk." | |||
| 1368 | (yes-or-no-p (format "Really apply this hunk to %s? " | 1375 | (yes-or-no-p (format "Really apply this hunk to %s? " |
| 1369 | (file-name-nondirectory | 1376 | (file-name-nondirectory |
| 1370 | buffer-file-name))))))) | 1377 | buffer-file-name))))))) |
| 1371 | (error (substitute-command-keys | 1378 | (error "%s" |
| 1379 | (substitute-command-keys | ||
| 1372 | (format "Use %s\\[diff-apply-hunk] to apply it to the other file" | 1380 | (format "Use %s\\[diff-apply-hunk] to apply it to the other file" |
| 1373 | (if (not reverse) "\\[universal-argument] "))))) | 1381 | (if (not reverse) "\\[universal-argument] "))))) |
| 1374 | ((and switched | 1382 | ((and switched |
diff --git a/lisp/emacs-lisp/authors.el b/lisp/emacs-lisp/authors.el index 5f70773444d..d93d80e0c8e 100644 --- a/lisp/emacs-lisp/authors.el +++ b/lisp/emacs-lisp/authors.el | |||
| @@ -70,6 +70,7 @@ files.") | |||
| 70 | ("Francesco Potort,Al(B" "Francesco Potorti" "Francesco Potorti`") | 70 | ("Francesco Potort,Al(B" "Francesco Potorti" "Francesco Potorti`") |
| 71 | ("Frederic Pierresteguy" "Fred Pierresteguy") | 71 | ("Frederic Pierresteguy" "Fred Pierresteguy") |
| 72 | ("Geoff Voelker" "voelker") | 72 | ("Geoff Voelker" "voelker") |
| 73 | ("Gerd M,Av(Bllmann" "Gerd Moellmann") | ||
| 73 | ("Hallvard B. Furuseth" "Hallvard B Furuseth") | 74 | ("Hallvard B. Furuseth" "Hallvard B Furuseth") |
| 74 | ("Hrvoje Nik,B9(Bi,Bf(B" "Hrvoje Niksic") | 75 | ("Hrvoje Nik,B9(Bi,Bf(B" "Hrvoje Niksic") |
| 75 | (nil "(afs@hplb.hpl.hp.com)") | 76 | (nil "(afs@hplb.hpl.hp.com)") |
| @@ -102,6 +103,7 @@ files.") | |||
| 102 | ("Kyle Jones" "Kyle E. Jones") | 103 | ("Kyle Jones" "Kyle E. Jones") |
| 103 | ("Marcus G. Daniels" "Marcus Daniels") | 104 | ("Marcus G. Daniels" "Marcus Daniels") |
| 104 | ("Mark D. Baushke" "Mark D Baushke") | 105 | ("Mark D. Baushke" "Mark D Baushke") |
| 106 | ("Agust,Am(Bn Mart,Am(Bn" "Agustin Martin") | ||
| 105 | ("Martin Lorentzon" "Martin Lorentzson") | 107 | ("Martin Lorentzon" "Martin Lorentzson") |
| 106 | ("Matt Swift" "Matthew Swift") | 108 | ("Matt Swift" "Matthew Swift") |
| 107 | ("Michael R. Mauger" "Michael Mauger") | 109 | ("Michael R. Mauger" "Michael Mauger") |
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index d7d92677f72..15a82fc1b7c 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el | |||
| @@ -972,8 +972,10 @@ Each function's symbol gets added to `byte-compile-noruntime-functions'." | |||
| 972 | (pos (if (and byte-compile-current-file | 972 | (pos (if (and byte-compile-current-file |
| 973 | (integerp byte-compile-read-position)) | 973 | (integerp byte-compile-read-position)) |
| 974 | (with-current-buffer byte-compile-current-buffer | 974 | (with-current-buffer byte-compile-current-buffer |
| 975 | (format "%d:%d:" (count-lines (point-min) | 975 | (format "%d:%d:" |
| 976 | byte-compile-last-position) | 976 | (save-excursion |
| 977 | (goto-char byte-compile-last-position) | ||
| 978 | (1+ (count-lines (point-min) (point-at-bol)))) | ||
| 977 | (save-excursion | 979 | (save-excursion |
| 978 | (goto-char byte-compile-last-position) | 980 | (goto-char byte-compile-last-position) |
| 979 | (1+ (current-column))))) | 981 | (1+ (current-column))))) |
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el index 5af676a5e86..2777ea775e9 100644 --- a/lisp/emacs-lisp/edebug.el +++ b/lisp/emacs-lisp/edebug.el | |||
| @@ -2939,6 +2939,7 @@ MSG is printed after `::::} '." | |||
| 2939 | (edebug-overlay-arrow)) | 2939 | (edebug-overlay-arrow)) |
| 2940 | (setq buffer-read-only edebug-buffer-read-only) | 2940 | (setq buffer-read-only edebug-buffer-read-only) |
| 2941 | (use-local-map edebug-outside-map) | 2941 | (use-local-map edebug-outside-map) |
| 2942 | (remove-hook 'kill-buffer-hook 'edebug-kill-buffer t) | ||
| 2942 | ) | 2943 | ) |
| 2943 | ;; gotta have a buffer to let its buffer local variables be set | 2944 | ;; gotta have a buffer to let its buffer local variables be set |
| 2944 | (get-buffer-create " bogus edebug buffer")) | 2945 | (get-buffer-create " bogus edebug buffer")) |
| @@ -3942,8 +3943,18 @@ edebug-on-signal | |||
| 3942 | edebug-unwrap-results | 3943 | edebug-unwrap-results |
| 3943 | edebug-global-break-condition | 3944 | edebug-global-break-condition |
| 3944 | " | 3945 | " |
| 3946 | ;; If the user kills the buffer in which edebug is currently active, | ||
| 3947 | ;; exit to top level, because the edebug command loop can't usefully | ||
| 3948 | ;; continue running in such a case. | ||
| 3949 | (add-hook 'kill-buffer-hook 'edebug-kill-buffer nil t) | ||
| 3945 | (use-local-map edebug-mode-map)) | 3950 | (use-local-map edebug-mode-map)) |
| 3946 | 3951 | ||
| 3952 | (defun edebug-kill-buffer () | ||
| 3953 | "Used on `kill-buffer-hook' when Edebug is operating in a buffer of Lisp code." | ||
| 3954 | (let (kill-buffer-hook) | ||
| 3955 | (kill-buffer (current-buffer))) | ||
| 3956 | (top-level)) | ||
| 3957 | |||
| 3947 | ;;; edebug eval list mode | 3958 | ;;; edebug eval list mode |
| 3948 | 3959 | ||
| 3949 | ;; A list of expressions and their evaluations is displayed in *edebug*. | 3960 | ;; A list of expressions and their evaluations is displayed in *edebug*. |
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index 5576a4882b0..09cb8436c89 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el | |||
| @@ -909,34 +909,47 @@ is the buffer position of the start of the containing expression." | |||
| 909 | (cond ((elt state 3) | 909 | (cond ((elt state 3) |
| 910 | ;; Inside a string, don't change indentation. | 910 | ;; Inside a string, don't change indentation. |
| 911 | nil) | 911 | nil) |
| 912 | ((save-excursion | ||
| 913 | ;; test whether current line begins with a constant | ||
| 914 | (goto-char indent-point) | ||
| 915 | (skip-chars-forward " \t") | ||
| 916 | (looking-at ":")) | ||
| 917 | (let ((desired-indent | ||
| 918 | (save-excursion | ||
| 919 | (goto-char (1+ containing-sexp)) | ||
| 920 | (parse-partial-sexp (point) calculate-lisp-indent-last-sexp 0 t) | ||
| 921 | (point))) | ||
| 922 | (parse-sexp-ignore-comments t)) | ||
| 923 | ;; Align a constant symbol under the last constant symbol | ||
| 924 | (goto-char calculate-lisp-indent-last-sexp) | ||
| 925 | (while (> (point) desired-indent) | ||
| 926 | (if (looking-at ":") | ||
| 927 | (setq desired-indent (point)) | ||
| 928 | (backward-sexp 1)))) | ||
| 929 | (current-column)) | ||
| 930 | ((and (integerp lisp-indent-offset) containing-sexp) | 912 | ((and (integerp lisp-indent-offset) containing-sexp) |
| 931 | ;; Indent by constant offset | 913 | ;; Indent by constant offset |
| 932 | (goto-char containing-sexp) | 914 | (goto-char containing-sexp) |
| 933 | (+ (current-column) lisp-indent-offset)) | 915 | (+ (current-column) lisp-indent-offset)) |
| 916 | ;; in this case calculate-lisp-indent-last-sexp is not nil | ||
| 917 | (calculate-lisp-indent-last-sexp | ||
| 918 | (or | ||
| 919 | ;; try to align the parameters of a known function | ||
| 920 | (and lisp-indent-function | ||
| 921 | (not retry) | ||
| 922 | (funcall lisp-indent-function indent-point state)) | ||
| 923 | ;; If the function has no special alignment | ||
| 924 | ;; or it does not apply to this argument, | ||
| 925 | ;; try to align a constant-symbol under the last | ||
| 926 | ;; preceding constant symbol, if there is such one of | ||
| 927 | ;; the last 2 preceding symbols, in the previous | ||
| 928 | ;; uncommented line. | ||
| 929 | (and (save-excursion | ||
| 930 | (goto-char indent-point) | ||
| 931 | (skip-chars-forward " \t") | ||
| 932 | (looking-at ":")) | ||
| 933 | (> calculate-lisp-indent-last-sexp | ||
| 934 | (save-excursion | ||
| 935 | (goto-char (1+ containing-sexp)) | ||
| 936 | (parse-partial-sexp (point) calculate-lisp-indent-last-sexp 0 t) | ||
| 937 | (point))) | ||
| 938 | (let ((parse-sexp-ignore-comments t) | ||
| 939 | indent) | ||
| 940 | (goto-char calculate-lisp-indent-last-sexp) | ||
| 941 | (or (and (looking-at ":") | ||
| 942 | (setq indent (current-column))) | ||
| 943 | (and (< (save-excursion (beginning-of-line) (point)) | ||
| 944 | (prog2 (backward-sexp) (point))) | ||
| 945 | (looking-at ":") | ||
| 946 | (setq indent (current-column)))) | ||
| 947 | indent)) | ||
| 948 | ;; another symbols or constants not preceded by a constant | ||
| 949 | ;; as defined above. | ||
| 950 | normal-indent)) | ||
| 951 | ;; in this case calculate-lisp-indent-last-sexp is nil | ||
| 934 | (desired-indent) | 952 | (desired-indent) |
| 935 | ((and (boundp 'lisp-indent-function) | ||
| 936 | lisp-indent-function | ||
| 937 | (not retry)) | ||
| 938 | (or (funcall lisp-indent-function indent-point state) | ||
| 939 | normal-indent)) | ||
| 940 | (t | 953 | (t |
| 941 | normal-indent)))))) | 954 | normal-indent)))))) |
| 942 | 955 | ||
diff --git a/lisp/emacs-lisp/re-builder.el b/lisp/emacs-lisp/re-builder.el index 08897bec72c..dc4562ab9bb 100644 --- a/lisp/emacs-lisp/re-builder.el +++ b/lisp/emacs-lisp/re-builder.el | |||
| @@ -130,14 +130,13 @@ | |||
| 130 | 130 | ||
| 131 | (defcustom reb-re-syntax 'read | 131 | (defcustom reb-re-syntax 'read |
| 132 | "*Syntax for the REs in the RE Builder. | 132 | "*Syntax for the REs in the RE Builder. |
| 133 | Can either be `read', `string', `sregex' or `lisp-re'." | 133 | Can either be `read', `string', `sregex', `lisp-re', `rx'." |
| 134 | :group 're-builder | 134 | :group 're-builder |
| 135 | :type '(choice (const :tag "Read syntax" read) | 135 | :type '(choice (const :tag "Read syntax" read) |
| 136 | (const :tag "String syntax" string) | 136 | (const :tag "String syntax" string) |
| 137 | (const :tag "`sregex' syntax" sregex) | 137 | (const :tag "`sregex' syntax" sregex) |
| 138 | (const :tag "`lisp-re' syntax" lisp-re) | 138 | (const :tag "`lisp-re' syntax" lisp-re) |
| 139 | (const :tag "`rx' syntax" rx) | 139 | (const :tag "`rx' syntax" rx))) |
| 140 | (value: string))) | ||
| 141 | 140 | ||
| 142 | (defcustom reb-auto-match-limit 200 | 141 | (defcustom reb-auto-match-limit 200 |
| 143 | "*Positive integer limiting the matches for RE Builder auto updates. | 142 | "*Positive integer limiting the matches for RE Builder auto updates. |
diff --git a/lisp/faces.el b/lisp/faces.el index 75eb8cdb2c6..8e882e4927c 100644 --- a/lisp/faces.el +++ b/lisp/faces.el | |||
| @@ -1849,7 +1849,11 @@ Initialize colors of certain faces from frame parameters." | |||
| 1849 | (face-spec-set face (face-user-default-spec face) frame) | 1849 | (face-spec-set face (face-user-default-spec face) frame) |
| 1850 | (internal-merge-in-global-face face frame) | 1850 | (internal-merge-in-global-face face frame) |
| 1851 | (if (memq window-system '(x w32 mac)) | 1851 | (if (memq window-system '(x w32 mac)) |
| 1852 | (make-face-x-resource-internal face frame))) | 1852 | (make-face-x-resource-internal face frame)) |
| 1853 | ;; If the user has customized the face, don't let X | ||
| 1854 | ;; resources override the customizations. | ||
| 1855 | (if (get face 'theme-face) | ||
| 1856 | (custom-theme-recalc-face face))) | ||
| 1853 | (error nil))) | 1857 | (error nil))) |
| 1854 | ;; Apply the attributes specified by frame parameters. This | 1858 | ;; Apply the attributes specified by frame parameters. This |
| 1855 | ;; rewrites parameters changed by make-face-x-resource-internal | 1859 | ;; rewrites parameters changed by make-face-x-resource-internal |
| @@ -2197,7 +2201,7 @@ created." | |||
| 2197 | ;; Don't use blue because many users of the MS-DOS port customize | 2201 | ;; Don't use blue because many users of the MS-DOS port customize |
| 2198 | ;; their foreground color to be blue. | 2202 | ;; their foreground color to be blue. |
| 2199 | (((type pc)) :foreground "magenta") | 2203 | (((type pc)) :foreground "magenta") |
| 2200 | (t :foreground "dark blue")) | 2204 | (t :foreground "medium blue")) |
| 2201 | "Face for minibuffer prompts. | 2205 | "Face for minibuffer prompts. |
| 2202 | By default, Emacs automatically adds this face to the value of | 2206 | By default, Emacs automatically adds this face to the value of |
| 2203 | `minibuffer-prompt-properties', which is a list of text properties | 2207 | `minibuffer-prompt-properties', which is a list of text properties |
diff --git a/lisp/files.el b/lisp/files.el index 719cda70739..02b50123a50 100644 --- a/lisp/files.el +++ b/lisp/files.el | |||
| @@ -1474,11 +1474,12 @@ the various files." | |||
| 1474 | (error "Aborted")) | 1474 | (error "Aborted")) |
| 1475 | (if buf | 1475 | (if buf |
| 1476 | ;; We are using an existing buffer. | 1476 | ;; We are using an existing buffer. |
| 1477 | (progn | 1477 | (let (nonexistent) |
| 1478 | (or nowarn | 1478 | (or nowarn |
| 1479 | (verify-visited-file-modtime buf) | 1479 | (verify-visited-file-modtime buf) |
| 1480 | (cond ((not (file-exists-p filename)) | 1480 | (cond ((not (file-exists-p filename)) |
| 1481 | (error "File %s no longer exists!" filename)) | 1481 | (setq nonexistent t) |
| 1482 | (message "File %s no longer exists!" filename)) | ||
| 1482 | ;; Certain files should be reverted automatically | 1483 | ;; Certain files should be reverted automatically |
| 1483 | ;; if they have changed on disk and not in the buffer. | 1484 | ;; if they have changed on disk and not in the buffer. |
| 1484 | ((and (not (buffer-modified-p buf)) | 1485 | ((and (not (buffer-modified-p buf)) |
| @@ -1515,7 +1516,8 @@ the various files." | |||
| 1515 | ;; writable and vice versa, but if the buffer agrees | 1516 | ;; writable and vice versa, but if the buffer agrees |
| 1516 | ;; with the new state of the file, that is ok too. | 1517 | ;; with the new state of the file, that is ok too. |
| 1517 | (let ((read-only (not (file-writable-p buffer-file-name)))) | 1518 | (let ((read-only (not (file-writable-p buffer-file-name)))) |
| 1518 | (unless (or (eq read-only buffer-file-read-only) | 1519 | (unless (or nonexistent |
| 1520 | (eq read-only buffer-file-read-only) | ||
| 1519 | (eq read-only buffer-read-only)) | 1521 | (eq read-only buffer-read-only)) |
| 1520 | (when (or nowarn | 1522 | (when (or nowarn |
| 1521 | (let ((question | 1523 | (let ((question |
| @@ -1528,6 +1530,7 @@ the various files." | |||
| 1528 | 1530 | ||
| 1529 | (when (and (not (eq (not (null rawfile)) | 1531 | (when (and (not (eq (not (null rawfile)) |
| 1530 | (not (null find-file-literally)))) | 1532 | (not (null find-file-literally)))) |
| 1533 | (not nonexistent) | ||
| 1531 | ;; It is confusing to ask whether to visit | 1534 | ;; It is confusing to ask whether to visit |
| 1532 | ;; non-literally if they have the file in | 1535 | ;; non-literally if they have the file in |
| 1533 | ;; hexl-mode. | 1536 | ;; hexl-mode. |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index d3354bd14eb..add0bb47c25 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -906,7 +906,7 @@ | |||
| 906 | (spam-mark-junk-as-spam-routine): Use it. Allow to disable | 906 | (spam-mark-junk-as-spam-routine): Use it. Allow to disable |
| 907 | assigning the spam-mark to new messages. | 907 | assigning the spam-mark to new messages. |
| 908 | 908 | ||
| 909 | 2006-03-20 Adam Sj,Ax(Bgren <asjo@koldfront.dk> (tiny change) | 909 | 2006-03-20 Adam Sj,Ax(Bgren <asjo@koldfront.dk> |
| 910 | 910 | ||
| 911 | (spam-ham-copy-or-move-routine): Don't declare `todo' twice. | 911 | (spam-ham-copy-or-move-routine): Don't declare `todo' twice. |
| 912 | 912 | ||
| @@ -1590,7 +1590,7 @@ | |||
| 1590 | * nnmail.el (nnmail-fancy-expiry-target): Protect against invalid | 1590 | * nnmail.el (nnmail-fancy-expiry-target): Protect against invalid |
| 1591 | date header. | 1591 | date header. |
| 1592 | 1592 | ||
| 1593 | 2005-11-16 Boris Samorodov <bsam@ipt.ru> (tiny patch) | 1593 | 2005-11-16 Boris Samorodov <bsam@ipt.ru> (tiny change) |
| 1594 | 1594 | ||
| 1595 | * imap.el (imap-kerberos4-open): Ignore SSL stuff. | 1595 | * imap.el (imap-kerberos4-open): Ignore SSL stuff. |
| 1596 | 1596 | ||
| @@ -2192,7 +2192,7 @@ | |||
| 2192 | (gnus-decode-header-function, gnus-newsgroup-name): | 2192 | (gnus-decode-header-function, gnus-newsgroup-name): |
| 2193 | * spam-stat.el (gnus-original-article-buffer): Add defvars. | 2193 | * spam-stat.el (gnus-original-article-buffer): Add defvars. |
| 2194 | 2194 | ||
| 2195 | 2005-08-22 Karl Chen <quarl@cs.berkeley.edu> (tiny change) | 2195 | 2005-08-22 Karl Chen <quarl@cs.berkeley.edu> |
| 2196 | 2196 | ||
| 2197 | * gnus-art.el (gnus-treatment-function-alist): Move date-lapsed to | 2197 | * gnus-art.el (gnus-treatment-function-alist): Move date-lapsed to |
| 2198 | the end of the date treatments. | 2198 | the end of the date treatments. |
diff --git a/lisp/gnus/ChangeLog.2 b/lisp/gnus/ChangeLog.2 index 69794a18fa4..4dac2ac55ea 100644 --- a/lisp/gnus/ChangeLog.2 +++ b/lisp/gnus/ChangeLog.2 | |||
| @@ -76,10 +76,10 @@ | |||
| 76 | 76 | ||
| 77 | * smime.el (smime-crl-check): Doc fix. | 77 | * smime.el (smime-crl-check): Doc fix. |
| 78 | 78 | ||
| 79 | 2004-01-02 Edwin Steiner <edwin.steiner@gmx.net> | 79 | 2004-01-02 Edwin Steiner <edwin.steiner@gmx.net> (tiny change) |
| 80 | 80 | ||
| 81 | * gnus-nocem.el (gnus-nocem-enter-article): Use the real group | 81 | * gnus-nocem.el (gnus-nocem-enter-article): Use the real group |
| 82 | hashtb (tiny patch). | 82 | hashtb. |
| 83 | 83 | ||
| 84 | 2004-01-02 Michael Albinus <Michael.Albinus@alcatel.de> | 84 | 2004-01-02 Michael Albinus <Michael.Albinus@alcatel.de> |
| 85 | 85 | ||
| @@ -463,12 +463,15 @@ | |||
| 463 | * mml-smime.el (mml-smime-sign): Replace CRLF with LF in OpenSSL | 463 | * mml-smime.el (mml-smime-sign): Replace CRLF with LF in OpenSSL |
| 464 | output. Reported by Arne J,Ax(Brgensen <arne@arnested.dk>. | 464 | output. Reported by Arne J,Ax(Brgensen <arne@arnested.dk>. |
| 465 | 465 | ||
| 466 | 2003-12-07 Simon Josefsson <jas@extundo.com> | 466 | 2003-12-07 Lloyd Zusman <ljz@asfast.com> (tiny change) |
| 467 | 467 | ||
| 468 | * pgg-gpg.el (pgg-gpg-recipient-arg): Add. | 468 | * pgg-gpg.el (pgg-gpg-recipient-arg): Add. |
| 469 | (pgg-gpg-encrypt-region): Use it. Tiny patch from Lloyd Zusman | 469 | (pgg-gpg-encrypt-region): Use it. |
| 470 | <ljz@asfast.com>. | 470 | |
| 471 | (pgg-gpg-recipient-argument): Doc fix. Renamed fro p-g-r-a. | 471 | 2003-12-07 Simon Josefsson <jas@extundo.com> |
| 472 | |||
| 473 | * pgg-gpg.el (pgg-gpg-recipient-argument): Doc fix. | ||
| 474 | Renamed from p-g-r-a. | ||
| 472 | (pgg-gpg-encrypt-region): Update. | 475 | (pgg-gpg-encrypt-region): Update. |
| 473 | 476 | ||
| 474 | 2003-12-07 Jesper Harder <harder@ifa.au.dk> | 477 | 2003-12-07 Jesper Harder <harder@ifa.au.dk> |
| @@ -907,10 +910,10 @@ | |||
| 907 | * spam.el (spam-spamoracle): doc change, suggested by Jean-Marc | 910 | * spam.el (spam-spamoracle): doc change, suggested by Jean-Marc |
| 908 | Lasgouttes <Jean-Marc.Lasgouttes@inria.fr> | 911 | Lasgouttes <Jean-Marc.Lasgouttes@inria.fr> |
| 909 | 912 | ||
| 910 | 2003-11-04 Katsumi Yamaoka <yamaoka@jpl.org> | 913 | 2003-11-04 Norbert Koch <viteno@xemacs.org> (tiny change) |
| 911 | 914 | ||
| 912 | * gnus-score.el (gnus-decay-score): Protect against arithmetic | 915 | * gnus-score.el (gnus-decay-score): Protect against arithmetic |
| 913 | errors. Tiny patch from Norbert Koch <viteno@xemacs.org>. | 916 | errors. |
| 914 | 917 | ||
| 915 | 2003-10-31 Teodor Zlatanov <tzz@lifelogs.com> | 918 | 2003-10-31 Teodor Zlatanov <tzz@lifelogs.com> |
| 916 | 919 | ||
| @@ -927,12 +930,14 @@ | |||
| 927 | (spam-spamoracle-learn-ham, spam-spamoracle-learn-spam): change | 930 | (spam-spamoracle-learn-ham, spam-spamoracle-learn-spam): change |
| 928 | spam-log-processing-to-registry invocations appropriately | 931 | spam-log-processing-to-registry invocations appropriately |
| 929 | 932 | ||
| 930 | 2003-10-31 Simon Josefsson <jas@extundo.com> | 933 | 2003-10-31 Derek Atkins <warlord@MIT.EDU> (tiny change) |
| 931 | 934 | ||
| 932 | * imap.el (imap-kerberos4-open): Ignore output from ATHENA imtest. | 935 | * imap.el (imap-kerberos4-open): Ignore output from ATHENA imtest. |
| 933 | Tiny patch from Derek Atkins <warlord@MIT.EDU>. | 936 | |
| 934 | (imap-process-connection-type): Improve docstring. Suggested by | 937 | 2003-10-31 Simon Josefsson <jas@extundo.com> |
| 935 | Derek Atkins <warlord@MIT.EDU>. | 938 | |
| 939 | * imap.el (imap-process-connection-type): Improve docstring. | ||
| 940 | Suggested by Derek Atkins <warlord@MIT.EDU>. | ||
| 936 | 941 | ||
| 937 | 2003-10-31 Teodor Zlatanov <tzz@lifelogs.com> | 942 | 2003-10-31 Teodor Zlatanov <tzz@lifelogs.com> |
| 938 | 943 | ||
| @@ -964,11 +969,14 @@ | |||
| 964 | * message.el (message-forward-make-body-plain): Fix ARG=1 mode | 969 | * message.el (message-forward-make-body-plain): Fix ARG=1 mode |
| 965 | after separating m-f-m-b. | 970 | after separating m-f-m-b. |
| 966 | 971 | ||
| 967 | 2003-10-29 Simon Josefsson <jas@extundo.com> | 972 | 2003-10-29 Andre Srinivasan <andre@e2open.com> (tiny change) |
| 968 | 973 | ||
| 969 | * message.el (message-forward-make-body-plain): Remove ignored | 974 | * message.el (message-forward-make-body-plain): Remove ignored |
| 970 | headers. Tiny patch from Andre Srinivasan <andre@e2open.com>. | 975 | headers. |
| 971 | (message-forward-make-body-plain): Fix ARG=1. | 976 | |
| 977 | 2003-10-29 Simon Josefsson <jas@extundo.com> | ||
| 978 | |||
| 979 | * message.el (message-forward-make-body-plain): Fix ARG=1. | ||
| 972 | 980 | ||
| 973 | 2003-10-28 Jesper Harder <harder@ifa.au.dk> | 981 | 2003-10-28 Jesper Harder <harder@ifa.au.dk> |
| 974 | 982 | ||
| @@ -1582,7 +1590,7 @@ | |||
| 1582 | (mml-insert-mime-headers): Use it. Based on (tiny) patch from | 1590 | (mml-insert-mime-headers): Use it. Based on (tiny) patch from |
| 1583 | Lars Balker Rasmussen <lars@balker.org>. | 1591 | Lars Balker Rasmussen <lars@balker.org>. |
| 1584 | 1592 | ||
| 1585 | 2003-08-30 Gaute Strokkenes <gs234@srcf.ucam.org> (tiny change) | 1593 | 2003-08-30 Gaute B Strokkenes <gs234@srcf.ucam.org> (tiny change) |
| 1586 | 1594 | ||
| 1587 | * mail-source.el (mail-source-fetch-imap): Pass correct buffer to | 1595 | * mail-source.el (mail-source-fetch-imap): Pass correct buffer to |
| 1588 | imap-open, reverts 2003-03-17 change. Reverse remove before | 1596 | imap-open, reverts 2003-03-17 change. Reverse remove before |
| @@ -1656,13 +1664,12 @@ | |||
| 1656 | * gnus-art.el (gnus-article-edit-done, gnus-article-edit-exit): | 1664 | * gnus-art.el (gnus-article-edit-done, gnus-article-edit-exit): |
| 1657 | Redisplay article after editing. | 1665 | Redisplay article after editing. |
| 1658 | 1666 | ||
| 1659 | 2003-08-20 Simon Josefsson <jas@extundo.com> | 1667 | 2003-08-20 Jari Aalto <jari.aalto@poboxes.com> |
| 1660 | 1668 | ||
| 1661 | * gnus.el (gnus-read-group): Added check to ask confirmation if | 1669 | * gnus.el (gnus-read-group): Added check to ask confirmation if |
| 1662 | Group name contains invalid character. You can use '/' in IMAP, | 1670 | Group name contains invalid character. You can use '/' in IMAP, |
| 1663 | but not in filenames. G m cannot know what the user is creating, | 1671 | but not in filenames. G m cannot know what the user is creating, |
| 1664 | so let user decide. See thread m2oeysiev3.fsf@naima.lensflare.org. | 1672 | so let user decide. See thread m2oeysiev3.fsf@naima.lensflare.org. |
| 1665 | Tiny patch from letters@hotpop.com (Jari Aalto+mail.linux). | ||
| 1666 | 1673 | ||
| 1667 | 2003-08-13 Reiner Steib <Reiner.Steib@gmx.de> | 1674 | 2003-08-13 Reiner Steib <Reiner.Steib@gmx.de> |
| 1668 | 1675 | ||
| @@ -1715,7 +1722,7 @@ | |||
| 1715 | * gnus.el (gnus-refer-article-method): Ditto. | 1722 | * gnus.el (gnus-refer-article-method): Ditto. |
| 1716 | * message.el (message-courtesy-message): Ditto. | 1723 | * message.el (message-courtesy-message): Ditto. |
| 1717 | 1724 | ||
| 1718 | 2003-08-06 Chunyu Wang <spr@db.cs.hit.edu.cn> (tiny patch) | 1725 | 2003-08-06 Chunyu Wang <spr@db.cs.hit.edu.cn> (tiny change) |
| 1719 | 1726 | ||
| 1720 | * gnus-art.el (gnus-header-face-alist): Fix "Newsgroups" entry. | 1727 | * gnus-art.el (gnus-header-face-alist): Fix "Newsgroups" entry. |
| 1721 | 1728 | ||
| @@ -1754,11 +1761,10 @@ | |||
| 1754 | * gnus-registry.el (gnus-registry-install): add an initial | 1761 | * gnus-registry.el (gnus-registry-install): add an initial |
| 1755 | registry read to the loading when gnus-registry-install is set | 1762 | registry read to the loading when gnus-registry-install is set |
| 1756 | 1763 | ||
| 1757 | 2003-07-26 Kai Gro,A_(Bjohann <kai.grossjohann@gmx.net> | 1764 | 2003-07-26 Mark Thomas <swoon@bellatlantic.net> (tiny change) |
| 1758 | 1765 | ||
| 1759 | * flow-fill.el (fill-flowed): Empty lines separate paragraphs | 1766 | * flow-fill.el (fill-flowed): Empty lines separate paragraphs |
| 1760 | even if the preceding line ends with a soft break. Tiny patch | 1767 | even if the preceding line ends with a soft break. |
| 1761 | from Mark Thomas <swoon@bellatlantic.net>. | ||
| 1762 | 1768 | ||
| 1763 | 2003-07-25 Teodor Zlatanov <tzz@lifelogs.com> | 1769 | 2003-07-25 Teodor Zlatanov <tzz@lifelogs.com> |
| 1764 | 1770 | ||
| @@ -1843,7 +1849,7 @@ | |||
| 1843 | * imap.el (imap-arrival-filter): Fix test for missing process | 1849 | * imap.el (imap-arrival-filter): Fix test for missing process |
| 1844 | buffer. | 1850 | buffer. |
| 1845 | 1851 | ||
| 1846 | 2003-07-09 Gaute B Strokkenes <gs234@cam.ac.uk> (tiny patch). | 1852 | 2003-07-09 Gaute B Strokkenes <gs234@cam.ac.uk> (tiny change) |
| 1847 | 1853 | ||
| 1848 | * imap.el (imap-wait-for-tag): Clarify comment. Use timeout zero | 1854 | * imap.el (imap-wait-for-tag): Clarify comment. Use timeout zero |
| 1849 | for second, after-process-has-died, accept-process-output. | 1855 | for second, after-process-has-died, accept-process-output. |
| @@ -1899,7 +1905,7 @@ | |||
| 1899 | (message-canlock-generate) | 1905 | (message-canlock-generate) |
| 1900 | (message-generate-new-buffer-clone-locals): Docstring fixes. | 1906 | (message-generate-new-buffer-clone-locals): Docstring fixes. |
| 1901 | 1907 | ||
| 1902 | 2003-07-07 Gaute B Strokkenes <gs234@cam.ac.uk> (tiny patch) | 1908 | 2003-07-07 Gaute B Strokkenes <gs234@cam.ac.uk> (tiny change) |
| 1903 | 1909 | ||
| 1904 | * imap.el (imap-wait-for-tag): After the process has died, look | 1910 | * imap.el (imap-wait-for-tag): After the process has died, look |
| 1905 | for more output still pending. | 1911 | for more output still pending. |
| @@ -2421,11 +2427,10 @@ | |||
| 2421 | (rfc2047-syntax-table): Fix building table to work in Emacs 22. | 2427 | (rfc2047-syntax-table): Fix building table to work in Emacs 22. |
| 2422 | (rfc2047-unfold-region): Delete unused var `leading'. | 2428 | (rfc2047-unfold-region): Delete unused var `leading'. |
| 2423 | 2429 | ||
| 2424 | 2003-05-12 Simon Josefsson <jas@extundo.com> | 2430 | 2003-05-12 Ville Skytt,Ad(B <scop@xemacs.org> (tiny change) |
| 2425 | 2431 | ||
| 2426 | * pgg.el (pgg-temp-buffer-show-function): Reuse existing visible | 2432 | * pgg.el (pgg-temp-buffer-show-function): Reuse existing visible |
| 2427 | output window if one is available. Tiny patch from Ville Skytt,Ad(B | 2433 | output window if one is available. |
| 2428 | <scop@xemacs.org>. | ||
| 2429 | 2434 | ||
| 2430 | 2003-05-11 Lars Magne Ingebrigtsen <larsi@gnus.org> | 2435 | 2003-05-11 Lars Magne Ingebrigtsen <larsi@gnus.org> |
| 2431 | 2436 | ||
| @@ -4750,7 +4755,7 @@ | |||
| 4750 | * gnus-start.el (gnus-get-unread-articles-in-group): Make sure | 4755 | * gnus-start.el (gnus-get-unread-articles-in-group): Make sure |
| 4751 | the entry for the group exists before we alter it. | 4756 | the entry for the group exists before we alter it. |
| 4752 | 4757 | ||
| 4753 | 2003-02-22 David S Goldberg <david.goldberg6@verizon.net> (tiny change) | 4758 | 2003-02-22 David S. Goldberg <david.goldberg6@verizon.net> (tiny change) |
| 4754 | 4759 | ||
| 4755 | * message.el (message-mode): MML tags separate paragraphs. | 4760 | * message.el (message-mode): MML tags separate paragraphs. |
| 4756 | 4761 | ||
| @@ -5037,7 +5042,7 @@ | |||
| 5037 | code that only worked under Emacs. | 5042 | code that only worked under Emacs. |
| 5038 | 5043 | ||
| 5039 | 2003-02-08 Satyaki Das <satyaki@chicory.stanford.edu> | 5044 | 2003-02-08 Satyaki Das <satyaki@chicory.stanford.edu> |
| 5040 | 5045 | ||
| 5041 | * pgg-gpg.el (pgg-gpg-process-region): Don't blink. | 5046 | * pgg-gpg.el (pgg-gpg-process-region): Don't blink. |
| 5042 | 5047 | ||
| 5043 | 2003-02-08 Jesper Harder <harder@ifa.au.dk> | 5048 | 2003-02-08 Jesper Harder <harder@ifa.au.dk> |
| @@ -5372,11 +5377,10 @@ | |||
| 5372 | 5377 | ||
| 5373 | * gnus.el: Oort Gnus v0.14 is released. | 5378 | * gnus.el: Oort Gnus v0.14 is released. |
| 5374 | 5379 | ||
| 5375 | 2003-01-24 Kai Gro,A_(Bjohann <kai.grossjohann@uni-duisburg.de> | 5380 | 2003-01-24 Mark Thomas <swoon@bellatlantic.net> (tiny change) |
| 5376 | 5381 | ||
| 5377 | * gnus-sum.el (gnus-summary-prepare-threads): Reset state for %B | 5382 | * gnus-sum.el (gnus-summary-prepare-threads): Reset state for %B |
| 5378 | before beginning. Tiny patch from Mark Thomas | 5383 | before beginning. |
| 5379 | <swoon@bellatlantic.net>. | ||
| 5380 | 5384 | ||
| 5381 | 2003-01-24 Teodor Zlatanov <tzz@lifelogs.com> | 5385 | 2003-01-24 Teodor Zlatanov <tzz@lifelogs.com> |
| 5382 | 5386 | ||
| @@ -13122,7 +13126,7 @@ | |||
| 13122 | 13126 | ||
| 13123 | * nnfolder.el (nnfolder-marks-changed-p): Ditto. | 13127 | * nnfolder.el (nnfolder-marks-changed-p): Ditto. |
| 13124 | 13128 | ||
| 13125 | 2001-10-20 David Z Maze <dmaze@MIT.EDU> | 13129 | 2001-10-20 David Z. Maze <dmaze@MIT.EDU> |
| 13126 | 13130 | ||
| 13127 | * nnml.el (nnml-marks-changed-p): Use `equal' when comparing | 13131 | * nnml.el (nnml-marks-changed-p): Use `equal' when comparing |
| 13128 | conses. | 13132 | conses. |
diff --git a/lisp/icomplete.el b/lisp/icomplete.el index 3ee53a821bf..6599c1442bc 100644 --- a/lisp/icomplete.el +++ b/lisp/icomplete.el | |||
| @@ -219,7 +219,8 @@ and `minibuffer-setup-hook'." | |||
| 219 | (when (and icomplete-mode icomplete-eoinput) | 219 | (when (and icomplete-mode icomplete-eoinput) |
| 220 | 220 | ||
| 221 | (unless (>= icomplete-eoinput (point-max)) | 221 | (unless (>= icomplete-eoinput (point-max)) |
| 222 | (let ((buffer-undo-list t)) ; prevent entry | 222 | (let ((buffer-undo-list t) ; prevent entry |
| 223 | deactivate-mark) | ||
| 223 | (delete-region icomplete-eoinput (point-max)))) | 224 | (delete-region icomplete-eoinput (point-max)))) |
| 224 | 225 | ||
| 225 | ;; Reestablish the safe value. | 226 | ;; Reestablish the safe value. |
| @@ -256,7 +257,8 @@ and `minibuffer-setup-hook'." | |||
| 256 | minibuffer-completion-table | 257 | minibuffer-completion-table |
| 257 | minibuffer-completion-predicate | 258 | minibuffer-completion-predicate |
| 258 | (not minibuffer-completion-confirm))))) | 259 | (not minibuffer-completion-confirm))))) |
| 259 | (buffer-undo-list t)) | 260 | (buffer-undo-list t) |
| 261 | deactivate-mark) | ||
| 260 | ;; Do nothing if while-no-input was aborted. | 262 | ;; Do nothing if while-no-input was aborted. |
| 261 | (if (consp text) (insert (car text)))))))) | 263 | (if (consp text) (insert (car text)))))))) |
| 262 | 264 | ||
diff --git a/lisp/international/isearch-x.el b/lisp/international/isearch-x.el index 76a33d2569e..b75a7cdaab3 100644 --- a/lisp/international/isearch-x.el +++ b/lisp/international/isearch-x.el | |||
| @@ -103,6 +103,15 @@ | |||
| 103 | (prompt (isearch-message-prefix)) | 103 | (prompt (isearch-message-prefix)) |
| 104 | (minibuffer-local-map isearch-minibuffer-local-map) | 104 | (minibuffer-local-map isearch-minibuffer-local-map) |
| 105 | str junk-hist) | 105 | str junk-hist) |
| 106 | |||
| 107 | ;; PROMPT contains text-properties from | ||
| 108 | ;; `minibuffer-prompt-properties', and some of these can screw up | ||
| 109 | ;; its use in `read-string' below (specifically, a read-only | ||
| 110 | ;; property will cause it to signal an error), so strip them here; | ||
| 111 | ;; read-string will add the same properties itself anyway. | ||
| 112 | ;; | ||
| 113 | (set-text-properties 0 (length prompt) nil prompt) | ||
| 114 | |||
| 106 | (if isearch-input-method-function | 115 | (if isearch-input-method-function |
| 107 | (let (;; Let input method work rather tersely. | 116 | (let (;; Let input method work rather tersely. |
| 108 | (input-method-verbose-flag nil)) | 117 | (input-method-verbose-flag nil)) |
diff --git a/lisp/isearch.el b/lisp/isearch.el index 76f6115fc23..e9fca098c09 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el | |||
| @@ -1953,9 +1953,8 @@ If there is no completion possible, say so and continue searching." | |||
| 1953 | (concat " [" current-input-method-title "]: ") | 1953 | (concat " [" current-input-method-title "]: ") |
| 1954 | ": ") | 1954 | ": ") |
| 1955 | ))) | 1955 | ))) |
| 1956 | (apply 'propertize | 1956 | (propertize (concat (upcase (substring m 0 1)) (substring m 1)) |
| 1957 | (concat (upcase (substring m 0 1)) (substring m 1)) | 1957 | 'face 'minibuffer-prompt))) |
| 1958 | minibuffer-prompt-properties))) | ||
| 1959 | 1958 | ||
| 1960 | (defun isearch-message-suffix (&optional c-q-hack ellipsis) | 1959 | (defun isearch-message-suffix (&optional c-q-hack ellipsis) |
| 1961 | (concat (if c-q-hack "^Q" "") | 1960 | (concat (if c-q-hack "^Q" "") |
diff --git a/lisp/jit-lock.el b/lisp/jit-lock.el index 958bb679832..0471edb7891 100644 --- a/lisp/jit-lock.el +++ b/lisp/jit-lock.el | |||
| @@ -74,14 +74,14 @@ This variable controls both display-time and stealth fontification." | |||
| 74 | :group 'jit-lock) | 74 | :group 'jit-lock) |
| 75 | 75 | ||
| 76 | 76 | ||
| 77 | (defcustom jit-lock-stealth-time 16 | 77 | (defcustom jit-lock-stealth-time nil |
| 78 | "*Time in seconds to wait before beginning stealth fontification. | 78 | "*Time in seconds to wait before beginning stealth fontification. |
| 79 | Stealth fontification occurs if there is no input within this time. | 79 | Stealth fontification occurs if there is no input within this time. |
| 80 | If nil, stealth fontification is never performed. | 80 | If nil, stealth fontification is never performed. |
| 81 | 81 | ||
| 82 | The value of this variable is used when JIT Lock mode is turned on." | 82 | The value of this variable is used when JIT Lock mode is turned on." |
| 83 | :type '(choice (const :tag "never" nil) | 83 | :type '(choice (const :tag "never" nil) |
| 84 | (number :tag "seconds")) | 84 | (number :tag "seconds" :value 16)) |
| 85 | :group 'jit-lock) | 85 | :group 'jit-lock) |
| 86 | 86 | ||
| 87 | 87 | ||
diff --git a/lisp/mail/emacsbug.el b/lisp/mail/emacsbug.el index c4592aca66c..7e091a1943f 100644 --- a/lisp/mail/emacsbug.el +++ b/lisp/mail/emacsbug.el | |||
| @@ -139,7 +139,9 @@ usually do not have translators to read other languages for them.\n\n") | |||
| 139 | (insert "\n\nIn " (emacs-version) "\n") | 139 | (insert "\n\nIn " (emacs-version) "\n") |
| 140 | (if (fboundp 'x-server-vendor) | 140 | (if (fboundp 'x-server-vendor) |
| 141 | (condition-case nil | 141 | (condition-case nil |
| 142 | (insert "X server distributor `" (x-server-vendor) "', version " | 142 | ;; This is used not only for X11 but also W32 and others. |
| 143 | (insert "Windowing system distributor `" (x-server-vendor) | ||
| 144 | "', version " | ||
| 143 | (mapconcat 'number-to-string (x-server-version) ".") "\n") | 145 | (mapconcat 'number-to-string (x-server-version) ".") "\n") |
| 144 | (error t))) | 146 | (error t))) |
| 145 | (if (and system-configuration-options | 147 | (if (and system-configuration-options |
| @@ -281,5 +283,5 @@ and send the mail again using \\[mail-send-and-exit]."))) | |||
| 281 | 283 | ||
| 282 | (provide 'emacsbug) | 284 | (provide 'emacsbug) |
| 283 | 285 | ||
| 284 | ;;; arch-tag: 248b6523-c3b5-4fec-9a3f-0411fafa7d49 | 286 | ;; arch-tag: 248b6523-c3b5-4fec-9a3f-0411fafa7d49 |
| 285 | ;;; emacsbug.el ends here | 287 | ;;; emacsbug.el ends here |
diff --git a/lisp/mouse.el b/lisp/mouse.el index ef0784d8973..94897f57e99 100644 --- a/lisp/mouse.el +++ b/lisp/mouse.el | |||
| @@ -409,11 +409,6 @@ MODE-LINE-P non-nil means dragging a mode line; nil means a header line." | |||
| 409 | should-enlarge-minibuffer event mouse y top bot edges wconfig growth) | 409 | should-enlarge-minibuffer event mouse y top bot edges wconfig growth) |
| 410 | (track-mouse | 410 | (track-mouse |
| 411 | (progn | 411 | (progn |
| 412 | ;; enlarge-window only works on the selected window, so | ||
| 413 | ;; we must select the window where the start event originated. | ||
| 414 | ;; unwind-protect will restore the old selected window later. | ||
| 415 | (select-window start-event-window) | ||
| 416 | |||
| 417 | ;; if this is the bottommost ordinary window, then to | 412 | ;; if this is the bottommost ordinary window, then to |
| 418 | ;; move its modeline the minibuffer must be enlarged. | 413 | ;; move its modeline the minibuffer must be enlarged. |
| 419 | (setq should-enlarge-minibuffer | 414 | (setq should-enlarge-minibuffer |
| @@ -421,7 +416,7 @@ MODE-LINE-P non-nil means dragging a mode line; nil means a header line." | |||
| 421 | mode-line-p | 416 | mode-line-p |
| 422 | (not (one-window-p t)) | 417 | (not (one-window-p t)) |
| 423 | (= (nth 1 (window-edges minibuffer)) | 418 | (= (nth 1 (window-edges minibuffer)) |
| 424 | (nth 3 (window-edges))))) | 419 | (nth 3 (window-edges start-event-window))))) |
| 425 | 420 | ||
| 426 | ;; loop reading events and sampling the position of | 421 | ;; loop reading events and sampling the position of |
| 427 | ;; the mouse. | 422 | ;; the mouse. |
| @@ -459,7 +454,7 @@ MODE-LINE-P non-nil means dragging a mode line; nil means a header line." | |||
| 459 | 454 | ||
| 460 | (t | 455 | (t |
| 461 | (setq y (cdr (cdr mouse)) | 456 | (setq y (cdr (cdr mouse)) |
| 462 | edges (window-edges) | 457 | edges (window-edges start-event-window) |
| 463 | top (nth 1 edges) | 458 | top (nth 1 edges) |
| 464 | bot (nth 3 edges)) | 459 | bot (nth 3 edges)) |
| 465 | 460 | ||
| @@ -572,10 +567,6 @@ resized by dragging their header-line." | |||
| 572 | (error "Attempt to drag leftmost scrollbar"))) | 567 | (error "Attempt to drag leftmost scrollbar"))) |
| 573 | (track-mouse | 568 | (track-mouse |
| 574 | (progn | 569 | (progn |
| 575 | ;; enlarge-window only works on the selected window, so | ||
| 576 | ;; we must select the window where the start event originated. | ||
| 577 | ;; unwind-protect will restore the old selected window later. | ||
| 578 | (select-window start-event-window) | ||
| 579 | ;; loop reading events and sampling the position of | 570 | ;; loop reading events and sampling the position of |
| 580 | ;; the mouse. | 571 | ;; the mouse. |
| 581 | (while (not done) | 572 | (while (not done) |
| @@ -611,9 +602,9 @@ resized by dragging their header-line." | |||
| 611 | ;; If the scroll bar is on the window's left, | 602 | ;; If the scroll bar is on the window's left, |
| 612 | ;; adjust the window on the left. | 603 | ;; adjust the window on the left. |
| 613 | (if (eq which-side 'right) | 604 | (if (eq which-side 'right) |
| 614 | (selected-window) | 605 | start-event-window |
| 615 | (mouse-drag-vertical-line-rightward-window | 606 | (mouse-drag-vertical-line-rightward-window |
| 616 | (selected-window))))) | 607 | start-event-window)))) |
| 617 | (setq x (- (car (cdr mouse)) | 608 | (setq x (- (car (cdr mouse)) |
| 618 | (if (eq which-side 'right) 0 2)) | 609 | (if (eq which-side 'right) 0 2)) |
| 619 | edges (window-edges window) | 610 | edges (window-edges window) |
diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el index 08efbb1e107..ec76279c642 100644 --- a/lisp/net/ange-ftp.el +++ b/lisp/net/ange-ftp.el | |||
| @@ -1005,7 +1005,7 @@ Don't use any other value." | |||
| 1005 | (const :tag "Allow" 1))) | 1005 | (const :tag "Allow" 1))) |
| 1006 | 1006 | ||
| 1007 | (defcustom ange-ftp-try-passive-mode nil | 1007 | (defcustom ange-ftp-try-passive-mode nil |
| 1008 | "It t, try to use passive mode in ftp, if the client program supports it." | 1008 | "If t, try to use passive mode in ftp, if the client program supports it." |
| 1009 | :group 'ange-ftp | 1009 | :group 'ange-ftp |
| 1010 | :type 'boolean | 1010 | :type 'boolean |
| 1011 | :version "21.1") | 1011 | :version "21.1") |
diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el index ac2c886a976..dc346695ce2 100644 --- a/lisp/net/rcirc.el +++ b/lisp/net/rcirc.el | |||
| @@ -312,9 +312,8 @@ and the cdr part is used for encoding." | |||
| 312 | "List of urls seen in the current buffer.") | 312 | "List of urls seen in the current buffer.") |
| 313 | (put 'rcirc-urls 'permanent-local t) | 313 | (put 'rcirc-urls 'permanent-local t) |
| 314 | 314 | ||
| 315 | (defvar rcirc-keepalive-seconds 60 | 315 | (defvar rcirc-timeout-seconds 60 |
| 316 | "Number of seconds between keepalive pings. | 316 | "Kill connection after this many seconds if there is no activity.") |
| 317 | If nil, do not send keepalive pings.") | ||
| 318 | 317 | ||
| 319 | (defconst rcirc-id-string (concat "rcirc on GNU Emacs " emacs-version)) | 318 | (defconst rcirc-id-string (concat "rcirc on GNU Emacs " emacs-version)) |
| 320 | 319 | ||
| @@ -357,7 +356,12 @@ If ARG is non-nil, prompt for a server to connect to." | |||
| 357 | (defvar rcirc-topic nil) | 356 | (defvar rcirc-topic nil) |
| 358 | (defvar rcirc-keepalive-timer nil) | 357 | (defvar rcirc-keepalive-timer nil) |
| 359 | (defvar rcirc-last-server-message-time nil) | 358 | (defvar rcirc-last-server-message-time nil) |
| 360 | (defvar rcirc-server nil) | 359 | (defvar rcirc-server nil) ; server provided by server |
| 360 | (defvar rcirc-server-name nil) ; server name given by 001 response | ||
| 361 | (defvar rcirc-timeout-timer nil) | ||
| 362 | (defvar rcirc-user-disconnect nil) | ||
| 363 | (defvar rcirc-connecting nil) | ||
| 364 | (defvar rcirc-process nil) | ||
| 361 | 365 | ||
| 362 | ;;;###autoload | 366 | ;;;###autoload |
| 363 | (defun rcirc-connect (&optional server port nick user-name full-name startup-channels) | 367 | (defun rcirc-connect (&optional server port nick user-name full-name startup-channels) |
| @@ -374,7 +378,7 @@ If ARG is non-nil, prompt for a server to connect to." | |||
| 374 | (user-name (or user-name rcirc-default-user-name)) | 378 | (user-name (or user-name rcirc-default-user-name)) |
| 375 | (full-name (or full-name rcirc-default-user-full-name)) | 379 | (full-name (or full-name rcirc-default-user-full-name)) |
| 376 | (startup-channels startup-channels) | 380 | (startup-channels startup-channels) |
| 377 | (process (open-network-stream server nil server port-number))) | 381 | (process (make-network-process :name server :host server :service port-number))) |
| 378 | ;; set up process | 382 | ;; set up process |
| 379 | (set-process-coding-system process 'raw-text 'raw-text) | 383 | (set-process-coding-system process 'raw-text 'raw-text) |
| 380 | (switch-to-buffer (rcirc-generate-new-buffer-name process nil)) | 384 | (switch-to-buffer (rcirc-generate-new-buffer-name process nil)) |
| @@ -382,8 +386,12 @@ If ARG is non-nil, prompt for a server to connect to." | |||
| 382 | (rcirc-mode process nil) | 386 | (rcirc-mode process nil) |
| 383 | (set-process-sentinel process 'rcirc-sentinel) | 387 | (set-process-sentinel process 'rcirc-sentinel) |
| 384 | (set-process-filter process 'rcirc-filter) | 388 | (set-process-filter process 'rcirc-filter) |
| 389 | (make-local-variable 'rcirc-process) | ||
| 390 | (setq rcirc-process process) | ||
| 385 | (make-local-variable 'rcirc-server) | 391 | (make-local-variable 'rcirc-server) |
| 386 | (setq rcirc-server server) | 392 | (setq rcirc-server server) |
| 393 | (make-local-variable 'rcirc-server-name) | ||
| 394 | (setq rcirc-server-name server) ; update when we get 001 response | ||
| 387 | (make-local-variable 'rcirc-buffer-alist) | 395 | (make-local-variable 'rcirc-buffer-alist) |
| 388 | (setq rcirc-buffer-alist nil) | 396 | (setq rcirc-buffer-alist nil) |
| 389 | (make-local-variable 'rcirc-nick-table) | 397 | (make-local-variable 'rcirc-nick-table) |
| @@ -396,6 +404,12 @@ If ARG is non-nil, prompt for a server to connect to." | |||
| 396 | (setq rcirc-startup-channels startup-channels) | 404 | (setq rcirc-startup-channels startup-channels) |
| 397 | (make-local-variable 'rcirc-last-server-message-time) | 405 | (make-local-variable 'rcirc-last-server-message-time) |
| 398 | (setq rcirc-last-server-message-time (current-time)) | 406 | (setq rcirc-last-server-message-time (current-time)) |
| 407 | (make-local-variable 'rcirc-timeout-timer) | ||
| 408 | (setq rcirc-timeout-timer nil) | ||
| 409 | (make-local-variable 'rcirc-user-disconnect) | ||
| 410 | (setq rcirc-user-disconnect nil) | ||
| 411 | (make-local-variable 'rcirc-connecting) | ||
| 412 | (setq rcirc-connecting t) | ||
| 399 | 413 | ||
| 400 | ;; identify | 414 | ;; identify |
| 401 | (rcirc-send-string process (concat "NICK " nick)) | 415 | (rcirc-send-string process (concat "NICK " nick)) |
| @@ -404,10 +418,9 @@ If ARG is non-nil, prompt for a server to connect to." | |||
| 404 | full-name)) | 418 | full-name)) |
| 405 | 419 | ||
| 406 | ;; setup ping timer if necessary | 420 | ;; setup ping timer if necessary |
| 407 | (when rcirc-keepalive-seconds | 421 | (unless rcirc-keepalive-timer |
| 408 | (unless rcirc-keepalive-timer | 422 | (setq rcirc-keepalive-timer |
| 409 | (setq rcirc-keepalive-timer | 423 | (run-at-time 0 (/ rcirc-timeout-seconds 2) 'rcirc-keepalive))) |
| 410 | (run-at-time 0 rcirc-keepalive-seconds 'rcirc-keepalive)))) | ||
| 411 | 424 | ||
| 412 | (message "Connecting to %s...done" server) | 425 | (message "Connecting to %s...done" server) |
| 413 | 426 | ||
| @@ -430,12 +443,11 @@ Kill processes that have not received a server message since the | |||
| 430 | last ping." | 443 | last ping." |
| 431 | (if (rcirc-process-list) | 444 | (if (rcirc-process-list) |
| 432 | (mapc (lambda (process) | 445 | (mapc (lambda (process) |
| 433 | (with-rcirc-process-buffer process | 446 | (with-rcirc-process-buffer process |
| 434 | (if (> (cadr (time-since rcirc-last-server-message-time)) | 447 | (when (not rcirc-connecting) |
| 435 | rcirc-keepalive-seconds) | 448 | (rcirc-send-string process (concat "PING " (rcirc-server-name process)))))) |
| 436 | (kill-process process) | ||
| 437 | (rcirc-send-string process (concat "PING " rcirc-server))))) | ||
| 438 | (rcirc-process-list)) | 449 | (rcirc-process-list)) |
| 450 | ;; no processes, clean up timer | ||
| 439 | (cancel-timer rcirc-keepalive-timer) | 451 | (cancel-timer rcirc-keepalive-timer) |
| 440 | (setq rcirc-keepalive-timer nil))) | 452 | (setq rcirc-keepalive-timer nil))) |
| 441 | 453 | ||
| @@ -472,12 +484,12 @@ Functions are called with PROCESS and SENTINEL arguments.") | |||
| 472 | (format "%s: %s (%S)" | 484 | (format "%s: %s (%S)" |
| 473 | (process-name process) | 485 | (process-name process) |
| 474 | sentinel | 486 | sentinel |
| 475 | (process-status process)) t) | 487 | (process-status process)) (not rcirc-target)) |
| 476 | ;; remove the prompt from buffers | 488 | ;; remove the prompt from buffers |
| 477 | (let ((inhibit-read-only t)) | 489 | (let ((inhibit-read-only t)) |
| 478 | (delete-region rcirc-prompt-start-marker | 490 | (delete-region rcirc-prompt-start-marker |
| 479 | rcirc-prompt-end-marker))))) | 491 | rcirc-prompt-end-marker)))) |
| 480 | (run-hook-with-args 'rcirc-sentinel-hooks process sentinel))) | 492 | (run-hook-with-args 'rcirc-sentinel-hooks process sentinel)))) |
| 481 | 493 | ||
| 482 | (defun rcirc-process-list () | 494 | (defun rcirc-process-list () |
| 483 | "Return a list of rcirc processes." | 495 | "Return a list of rcirc processes." |
| @@ -496,6 +508,7 @@ Function is called with PROCESS, COMMAND, SENDER, ARGS and LINE.") | |||
| 496 | (defun rcirc-filter (process output) | 508 | (defun rcirc-filter (process output) |
| 497 | "Called when PROCESS receives OUTPUT." | 509 | "Called when PROCESS receives OUTPUT." |
| 498 | (rcirc-debug process output) | 510 | (rcirc-debug process output) |
| 511 | (rcirc-reschedule-timeout process) | ||
| 499 | (with-rcirc-process-buffer process | 512 | (with-rcirc-process-buffer process |
| 500 | (setq rcirc-last-server-message-time (current-time)) | 513 | (setq rcirc-last-server-message-time (current-time)) |
| 501 | (setq rcirc-process-output (concat rcirc-process-output output)) | 514 | (setq rcirc-process-output (concat rcirc-process-output output)) |
| @@ -506,6 +519,19 @@ Function is called with PROCESS, COMMAND, SENDER, ARGS and LINE.") | |||
| 506 | (split-string rcirc-process-output "[\n\r]" t)) | 519 | (split-string rcirc-process-output "[\n\r]" t)) |
| 507 | (setq rcirc-process-output nil)))) | 520 | (setq rcirc-process-output nil)))) |
| 508 | 521 | ||
| 522 | (defun rcirc-reschedule-timeout (process) | ||
| 523 | (with-rcirc-process-buffer process | ||
| 524 | (when (not rcirc-connecting) | ||
| 525 | (with-rcirc-process-buffer process | ||
| 526 | (when rcirc-timeout-timer (cancel-timer rcirc-timeout-timer)) | ||
| 527 | (setq rcirc-timeout-timer (run-at-time rcirc-timeout-seconds nil | ||
| 528 | 'rcirc-delete-process | ||
| 529 | process)))))) | ||
| 530 | |||
| 531 | (defun rcirc-delete-process (process) | ||
| 532 | (message "delete process %S" process) | ||
| 533 | (delete-process process)) | ||
| 534 | |||
| 509 | (defvar rcirc-trap-errors-flag t) | 535 | (defvar rcirc-trap-errors-flag t) |
| 510 | (defun rcirc-process-server-response (process text) | 536 | (defun rcirc-process-server-response (process text) |
| 511 | (if rcirc-trap-errors-flag | 537 | (if rcirc-trap-errors-flag |
| @@ -557,15 +583,16 @@ Function is called with PROCESS, COMMAND, SENDER, ARGS and LINE.") | |||
| 557 | (defun rcirc-buffer-process (&optional buffer) | 583 | (defun rcirc-buffer-process (&optional buffer) |
| 558 | "Return the process associated with channel BUFFER. | 584 | "Return the process associated with channel BUFFER. |
| 559 | With no argument or nil as argument, use the current buffer." | 585 | With no argument or nil as argument, use the current buffer." |
| 560 | (get-buffer-process (if buffer | 586 | (or (get-buffer-process (if buffer |
| 561 | (with-current-buffer buffer | 587 | (with-current-buffer buffer |
| 562 | rcirc-server-buffer) | 588 | rcirc-server-buffer) |
| 563 | rcirc-server-buffer))) | 589 | rcirc-server-buffer)) |
| 590 | rcirc-process)) | ||
| 564 | 591 | ||
| 565 | (defun rcirc-server-name (process) | 592 | (defun rcirc-server-name (process) |
| 566 | "Return PROCESS server name, given by the 001 response." | 593 | "Return PROCESS server name, given by the 001 response." |
| 567 | (with-rcirc-process-buffer process | 594 | (with-rcirc-process-buffer process |
| 568 | (or rcirc-server rcirc-default-server))) | 595 | (or rcirc-server-name rcirc-default-server))) |
| 569 | 596 | ||
| 570 | (defun rcirc-nick (process) | 597 | (defun rcirc-nick (process) |
| 571 | "Return PROCESS nick." | 598 | "Return PROCESS nick." |
| @@ -790,7 +817,7 @@ If ALL is non-nil, update prompts in all IRC buffers." | |||
| 790 | (setq prompt | 817 | (setq prompt |
| 791 | (replace-regexp-in-string (car rep) (cdr rep) prompt))) | 818 | (replace-regexp-in-string (car rep) (cdr rep) prompt))) |
| 792 | (list (cons "%n" (rcirc-buffer-nick)) | 819 | (list (cons "%n" (rcirc-buffer-nick)) |
| 793 | (cons "%s" (with-rcirc-server-buffer (or rcirc-server ""))) | 820 | (cons "%s" (with-rcirc-server-buffer rcirc-server-name)) |
| 794 | (cons "%t" (or rcirc-target "")))) | 821 | (cons "%t" (or rcirc-target "")))) |
| 795 | (save-excursion | 822 | (save-excursion |
| 796 | (delete-region rcirc-prompt-start-marker rcirc-prompt-end-marker) | 823 | (delete-region rcirc-prompt-start-marker rcirc-prompt-end-marker) |
| @@ -1079,9 +1106,7 @@ is found by looking up RESPONSE in `rcirc-response-formats'." | |||
| 1079 | "%") | 1106 | "%") |
| 1080 | ((or (eq key ?n) (eq key ?N)) | 1107 | ((or (eq key ?n) (eq key ?N)) |
| 1081 | ;; %n/%N -- nick | 1108 | ;; %n/%N -- nick |
| 1082 | (let ((nick (concat (if (string= (with-rcirc-process-buffer | 1109 | (let ((nick (concat (if (string= (rcirc-server-name process) |
| 1083 | process | ||
| 1084 | rcirc-server) | ||
| 1085 | sender) | 1110 | sender) |
| 1086 | "" | 1111 | "" |
| 1087 | sender) | 1112 | sender) |
| @@ -1302,19 +1327,15 @@ record activity." | |||
| 1302 | (rcirc-cmd-join channel process))))) | 1327 | (rcirc-cmd-join channel process))))) |
| 1303 | 1328 | ||
| 1304 | ;;; nick management | 1329 | ;;; nick management |
| 1330 | (defvar rcirc-nick-prefix-chars "~&@%+") | ||
| 1305 | (defun rcirc-user-nick (user) | 1331 | (defun rcirc-user-nick (user) |
| 1306 | "Return the nick from USER. Remove any non-nick junk." | 1332 | "Return the nick from USER. Remove any non-nick junk." |
| 1307 | (save-match-data | 1333 | (save-match-data |
| 1308 | (if (string-match "^[@%+]?\\([^! ]+\\)!?" (or user "")) | 1334 | (if (string-match (concat "^[" rcirc-nick-prefix-chars |
| 1335 | "]?\\([^! ]+\\)!?") (or user "")) | ||
| 1309 | (match-string 1 user) | 1336 | (match-string 1 user) |
| 1310 | user))) | 1337 | user))) |
| 1311 | 1338 | ||
| 1312 | (defun rcirc-user-non-nick (user) | ||
| 1313 | "Return the non-nick portion of USER." | ||
| 1314 | (if (string-match "^[@+]?[^! ]+!?\\(.*\\)" (or user "")) | ||
| 1315 | (match-string 1 user) | ||
| 1316 | user)) | ||
| 1317 | |||
| 1318 | (defun rcirc-nick-channels (process nick) | 1339 | (defun rcirc-nick-channels (process nick) |
| 1319 | "Return list of channels for NICK." | 1340 | "Return list of channels for NICK." |
| 1320 | (with-rcirc-process-buffer process | 1341 | (with-rcirc-process-buffer process |
| @@ -2009,7 +2030,9 @@ in this buffer.") | |||
| 2009 | (rcirc-handler-generic process "001" sender args text) | 2030 | (rcirc-handler-generic process "001" sender args text) |
| 2010 | ;; set the real server name | 2031 | ;; set the real server name |
| 2011 | (with-rcirc-process-buffer process | 2032 | (with-rcirc-process-buffer process |
| 2012 | (setq rcirc-server sender) | 2033 | (setq rcirc-connecting nil) |
| 2034 | (rcirc-reschedule-timeout process) | ||
| 2035 | (setq rcirc-server-name sender) | ||
| 2013 | (setq rcirc-nick (car args)) | 2036 | (setq rcirc-nick (car args)) |
| 2014 | (rcirc-update-prompt) | 2037 | (rcirc-update-prompt) |
| 2015 | (when rcirc-auto-authenticate-flag (rcirc-authenticate)) | 2038 | (when rcirc-auto-authenticate-flag (rcirc-authenticate)) |
| @@ -2419,7 +2442,8 @@ Passwords are stored in `rcirc-authinfo' (which see)." | |||
| 2419 | :group 'rcirc-faces) | 2442 | :group 'rcirc-faces) |
| 2420 | 2443 | ||
| 2421 | (defface rcirc-track-nick | 2444 | (defface rcirc-track-nick |
| 2422 | '((t (:inverse-video t))) | 2445 | '((((type tty)) (:inherit default)) |
| 2446 | (t (:inverse-video t))) | ||
| 2423 | "The face used in the mode-line when your nick is mentioned." | 2447 | "The face used in the mode-line when your nick is mentioned." |
| 2424 | :group 'rcirc-faces) | 2448 | :group 'rcirc-faces) |
| 2425 | 2449 | ||
diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el index dfe6216043e..5d5d441193d 100644 --- a/lisp/net/tramp-smb.el +++ b/lisp/net/tramp-smb.el | |||
| @@ -384,7 +384,7 @@ KEEP-DATE is not handled in case NEWNAME resides on an SMB server." | |||
| 384 | (save-excursion | 384 | (save-excursion |
| 385 | (let ((share (tramp-smb-get-share localname)) | 385 | (let ((share (tramp-smb-get-share localname)) |
| 386 | (file (tramp-smb-get-localname localname t)) | 386 | (file (tramp-smb-get-localname localname t)) |
| 387 | (tmpfil (tramp-make-temp-file))) | 387 | (tmpfil (tramp-make-temp-file filename))) |
| 388 | (unless (file-exists-p filename) | 388 | (unless (file-exists-p filename) |
| 389 | (error "Cannot make local copy of non-existing file `%s'" filename)) | 389 | (error "Cannot make local copy of non-existing file `%s'" filename)) |
| 390 | (tramp-message-for-buffer | 390 | (tramp-message-for-buffer |
| @@ -595,7 +595,7 @@ Catches errors for shares like \"C$/\", which are common in Microsoft Windows." | |||
| 595 | (curbuf (current-buffer)) | 595 | (curbuf (current-buffer)) |
| 596 | tmpfil) | 596 | tmpfil) |
| 597 | ;; Write region into a tmp file. | 597 | ;; Write region into a tmp file. |
| 598 | (setq tmpfil (tramp-make-temp-file)) | 598 | (setq tmpfil (tramp-make-temp-file filename)) |
| 599 | ;; We say `no-message' here because we don't want the visited file | 599 | ;; We say `no-message' here because we don't want the visited file |
| 600 | ;; modtime data to be clobbered from the temp file. We call | 600 | ;; modtime data to be clobbered from the temp file. We call |
| 601 | ;; `set-visited-file-modtime' ourselves later on. | 601 | ;; `set-visited-file-modtime' ourselves later on. |
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 602c6d25eaa..7ff9b2d956b 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el | |||
| @@ -3771,10 +3771,12 @@ This will break if COMMAND prints a newline, followed by the value of | |||
| 3771 | 3771 | ||
| 3772 | ;; File Editing. | 3772 | ;; File Editing. |
| 3773 | 3773 | ||
| 3774 | (defsubst tramp-make-temp-file () | 3774 | (defsubst tramp-make-temp-file (filename) |
| 3775 | (funcall (if (fboundp 'make-temp-file) 'make-temp-file 'make-temp-name) | 3775 | (concat |
| 3776 | (expand-file-name tramp-temp-name-prefix | 3776 | (funcall (if (fboundp 'make-temp-file) 'make-temp-file 'make-temp-name) |
| 3777 | (tramp-temporary-file-directory)))) | 3777 | (expand-file-name tramp-temp-name-prefix |
| 3778 | (tramp-temporary-file-directory))) | ||
| 3779 | (file-name-extension filename t))) | ||
| 3778 | 3780 | ||
| 3779 | (defun tramp-handle-file-local-copy (filename) | 3781 | (defun tramp-handle-file-local-copy (filename) |
| 3780 | "Like `file-local-copy' for tramp files." | 3782 | "Like `file-local-copy' for tramp files." |
| @@ -3794,7 +3796,7 @@ This will break if COMMAND prints a newline, followed by the value of | |||
| 3794 | (unless (file-exists-p filename) | 3796 | (unless (file-exists-p filename) |
| 3795 | (error "Cannot make local copy of non-existing file `%s'" | 3797 | (error "Cannot make local copy of non-existing file `%s'" |
| 3796 | filename)) | 3798 | filename)) |
| 3797 | (setq tmpfil (tramp-make-temp-file)) | 3799 | (setq tmpfil (tramp-make-temp-file filename)) |
| 3798 | 3800 | ||
| 3799 | (cond ((tramp-method-out-of-band-p multi-method method user host) | 3801 | (cond ((tramp-method-out-of-band-p multi-method method user host) |
| 3800 | ;; `copy-file' handles out-of-band methods | 3802 | ;; `copy-file' handles out-of-band methods |
| @@ -3846,7 +3848,7 @@ This will break if COMMAND prints a newline, followed by the value of | |||
| 3846 | (kill-buffer tmpbuf)) | 3848 | (kill-buffer tmpbuf)) |
| 3847 | ;; If tramp-decoding-function is not defined for this | 3849 | ;; If tramp-decoding-function is not defined for this |
| 3848 | ;; method, we invoke tramp-decoding-command instead. | 3850 | ;; method, we invoke tramp-decoding-command instead. |
| 3849 | (let ((tmpfil2 (tramp-make-temp-file))) | 3851 | (let ((tmpfil2 (tramp-make-temp-file filename))) |
| 3850 | (write-region (point-min) (point-max) tmpfil2) | 3852 | (write-region (point-min) (point-max) tmpfil2) |
| 3851 | (tramp-message | 3853 | (tramp-message |
| 3852 | 6 "Decoding remote file %s with command %s..." | 3854 | 6 "Decoding remote file %s with command %s..." |
| @@ -4053,7 +4055,7 @@ Returns a file name in `tramp-auto-save-directory' for autosaving this file." | |||
| 4053 | ;; Write region into a tmp file. This isn't really needed if we | 4055 | ;; Write region into a tmp file. This isn't really needed if we |
| 4054 | ;; use an encoding function, but currently we use it always | 4056 | ;; use an encoding function, but currently we use it always |
| 4055 | ;; because this makes the logic simpler. | 4057 | ;; because this makes the logic simpler. |
| 4056 | (setq tmpfil (tramp-make-temp-file)) | 4058 | (setq tmpfil (tramp-make-temp-file filename)) |
| 4057 | ;; Set current buffer. If connection wasn't open, `file-modes' has | 4059 | ;; Set current buffer. If connection wasn't open, `file-modes' has |
| 4058 | ;; changed it accidently. | 4060 | ;; changed it accidently. |
| 4059 | (set-buffer curbuf) | 4061 | (set-buffer curbuf) |
diff --git a/lisp/pcomplete.el b/lisp/pcomplete.el index 1ca617a08a5..c4840059f64 100644 --- a/lisp/pcomplete.el +++ b/lisp/pcomplete.el | |||
| @@ -974,18 +974,20 @@ Typing SPC flushes the help buffer." | |||
| 974 | (while (with-current-buffer (get-buffer "*Completions*") | 974 | (while (with-current-buffer (get-buffer "*Completions*") |
| 975 | (setq event (pcomplete-read-event))) | 975 | (setq event (pcomplete-read-event))) |
| 976 | (cond | 976 | (cond |
| 977 | ((event-matches-key-specifier-p event ? ) | 977 | ((event-matches-key-specifier-p event ?\s) |
| 978 | (set-window-configuration pcomplete-last-window-config) | 978 | (set-window-configuration pcomplete-last-window-config) |
| 979 | (setq pcomplete-last-window-config nil) | 979 | (setq pcomplete-last-window-config nil) |
| 980 | (throw 'done nil)) | 980 | (throw 'done nil)) |
| 981 | ((or (event-matches-key-specifier-p event 'tab) | 981 | ((or (event-matches-key-specifier-p event 'tab) |
| 982 | ;; Needed on a terminal | 982 | ;; Needed on a terminal |
| 983 | (event-matches-key-specifier-p event 9)) | 983 | (event-matches-key-specifier-p event 9)) |
| 984 | (save-selected-window | 984 | (let ((win (or (get-buffer-window "*Completions*" 0) |
| 985 | (select-window (get-buffer-window "*Completions*")) | 985 | (display-buffer "*Completions*" |
| 986 | (if (pos-visible-in-window-p (point-max)) | 986 | 'not-this-window)))) |
| 987 | (goto-char (point-min)) | 987 | (with-selected-window win |
| 988 | (scroll-up))) | 988 | (if (pos-visible-in-window-p (point-max)) |
| 989 | (goto-char (point-min)) | ||
| 990 | (scroll-up)))) | ||
| 989 | (message "")) | 991 | (message "")) |
| 990 | (t | 992 | (t |
| 991 | (setq unread-command-events (list event)) | 993 | (setq unread-command-events (list event)) |
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el index f69382c9d70..a901ee07454 100644 --- a/lisp/progmodes/cc-engine.el +++ b/lisp/progmodes/cc-engine.el | |||
| @@ -1912,6 +1912,26 @@ comment at the start of cc-engine.el for more info." | |||
| 1912 | ))) | 1912 | ))) |
| 1913 | 1913 | ||
| 1914 | 1914 | ||
| 1915 | ;; Other whitespace tools | ||
| 1916 | (defun c-partial-ws-p (beg end) | ||
| 1917 | ;; Is the region (beg end) WS, and is there WS (or BOB/EOB) next to the | ||
| 1918 | ;; region? This is a "heuristic" function. ..... | ||
| 1919 | ;; | ||
| 1920 | ;; The motivation for the second bit is to check whether the removal of this | ||
| 1921 | ;; space is to check whether removing this region would coalesce two | ||
| 1922 | ;; symbols. | ||
| 1923 | ;; | ||
| 1924 | ;; FIXME!!! This function doesn't check virtual semicolons in any way. Be | ||
| 1925 | ;; careful about using this function for, e.g. AWK. (2007/3/7) | ||
| 1926 | (save-excursion | ||
| 1927 | (let ((end+1 (min (1+ end) (point-max)))) | ||
| 1928 | (or (progn (goto-char (max (point-min) (1- beg))) | ||
| 1929 | (c-skip-ws-forward end) | ||
| 1930 | (eq (point) end)) | ||
| 1931 | (progn (goto-char beg) | ||
| 1932 | (c-skip-ws-forward end+1) | ||
| 1933 | (eq (point) end+1)))))) | ||
| 1934 | |||
| 1915 | ;; A system for finding noteworthy parens before the point. | 1935 | ;; A system for finding noteworthy parens before the point. |
| 1916 | 1936 | ||
| 1917 | (defvar c-state-cache nil) | 1937 | (defvar c-state-cache nil) |
| @@ -2491,24 +2511,25 @@ comment at the start of cc-engine.el for more info." | |||
| 2491 | ;; Move to the beginning of the current token. Do not move if not | 2511 | ;; Move to the beginning of the current token. Do not move if not |
| 2492 | ;; in the middle of one. BACK-LIMIT may be used to bound the | 2512 | ;; in the middle of one. BACK-LIMIT may be used to bound the |
| 2493 | ;; backward search; if given it's assumed to be at the boundary | 2513 | ;; backward search; if given it's assumed to be at the boundary |
| 2494 | ;; between two tokens. | 2514 | ;; between two tokens. Return non-nil if the point is move, nil |
| 2515 | ;; otherwise. | ||
| 2495 | ;; | 2516 | ;; |
| 2496 | ;; This function might do hidden buffer changes. | 2517 | ;; This function might do hidden buffer changes. |
| 2497 | (if (looking-at "\\w\\|\\s_") | ||
| 2498 | (skip-syntax-backward "w_" back-limit) | ||
| 2499 | (let ((start (point))) | 2518 | (let ((start (point))) |
| 2500 | (when (< (skip-syntax-backward ".()" back-limit) 0) | 2519 | (if (looking-at "\\w\\|\\s_") |
| 2501 | (while (let ((pos (or (and (looking-at c-nonsymbol-token-regexp) | 2520 | (skip-syntax-backward "w_" back-limit) |
| 2502 | (match-end 0)) | 2521 | (when (< (skip-syntax-backward ".()" back-limit) 0) |
| 2503 | ;; `c-nonsymbol-token-regexp' should always match | 2522 | (while (let ((pos (or (and (looking-at c-nonsymbol-token-regexp) |
| 2504 | ;; since we've skipped backward over punctuator | 2523 | (match-end 0)) |
| 2505 | ;; or paren syntax, but consume one char in case | 2524 | ;; `c-nonsymbol-token-regexp' should always match |
| 2506 | ;; it doesn't so that we don't leave point before | 2525 | ;; since we've skipped backward over punctuator |
| 2507 | ;; some earlier incorrect token. | 2526 | ;; or paren syntax, but consume one char in case |
| 2508 | (1+ (point))))) | 2527 | ;; it doesn't so that we don't leave point before |
| 2509 | (if (<= pos start) | 2528 | ;; some earlier incorrect token. |
| 2510 | (goto-char pos)) | 2529 | (1+ (point))))) |
| 2511 | (< pos start))))))) | 2530 | (if (<= pos start) |
| 2531 | (goto-char pos)))))) | ||
| 2532 | (< (point) start))) | ||
| 2512 | 2533 | ||
| 2513 | (defun c-end-of-current-token (&optional back-limit) | 2534 | (defun c-end-of-current-token (&optional back-limit) |
| 2514 | ;; Move to the end of the current token. Do not move if not in the | 2535 | ;; Move to the end of the current token. Do not move if not in the |
| @@ -3957,6 +3978,9 @@ comment at the start of cc-engine.el for more info." | |||
| 3957 | ;; file, and we only use this as a last resort in ambiguous cases (see | 3978 | ;; file, and we only use this as a last resort in ambiguous cases (see |
| 3958 | ;; `c-forward-decl-or-cast-1'). | 3979 | ;; `c-forward-decl-or-cast-1'). |
| 3959 | ;; | 3980 | ;; |
| 3981 | ;; Not every type need be in this cache. However, things which have | ||
| 3982 | ;; ceased to be types must be removed from it. | ||
| 3983 | ;; | ||
| 3960 | ;; Template types in C++ are added here too but with the template | 3984 | ;; Template types in C++ are added here too but with the template |
| 3961 | ;; arglist replaced with "<>" in references or "<" for the one in the | 3985 | ;; arglist replaced with "<>" in references or "<" for the one in the |
| 3962 | ;; primary type. E.g. the type "Foo<A,B>::Bar<C>" is stored as | 3986 | ;; primary type. E.g. the type "Foo<A,B>::Bar<C>" is stored as |
| @@ -3990,6 +4014,10 @@ comment at the start of cc-engine.el for more info." | |||
| 3990 | (unintern (substring type 0 -1) c-found-types) | 4014 | (unintern (substring type 0 -1) c-found-types) |
| 3991 | (intern type c-found-types)))) | 4015 | (intern type c-found-types)))) |
| 3992 | 4016 | ||
| 4017 | (defun c-unfind-type (name) | ||
| 4018 | ;; Remove the "NAME" from c-found-types, if present. | ||
| 4019 | (unintern name c-found-types)) | ||
| 4020 | |||
| 3993 | (defsubst c-check-type (from to) | 4021 | (defsubst c-check-type (from to) |
| 3994 | ;; Return non-nil if the given region contains a type in | 4022 | ;; Return non-nil if the given region contains a type in |
| 3995 | ;; `c-found-types'. | 4023 | ;; `c-found-types'. |
| @@ -4008,6 +4036,48 @@ comment at the start of cc-engine.el for more info." | |||
| 4008 | c-found-types) | 4036 | c-found-types) |
| 4009 | (sort type-list 'string-lessp))) | 4037 | (sort type-list 'string-lessp))) |
| 4010 | 4038 | ||
| 4039 | (defun c-trim-found-types (beg end old-len) | ||
| 4040 | ;; An after change function which, in conjunction with the info in | ||
| 4041 | ;; c-maybe-stale-found-type (set in c-before-change), removes a type | ||
| 4042 | ;; from `c-found-types', should this type have become stale. For | ||
| 4043 | ;; example, this happens to "foo" when "foo \n bar();" becomes | ||
| 4044 | ;; "foo(); \n bar();". Such stale types, if not removed, foul up | ||
| 4045 | ;; the fontification. | ||
| 4046 | ;; | ||
| 4047 | ;; Have we, perhaps, added non-ws characters to the front/back of a found | ||
| 4048 | ;; type? | ||
| 4049 | (when (> end beg) | ||
| 4050 | (save-excursion | ||
| 4051 | (when (< end (point-max)) | ||
| 4052 | (goto-char end) | ||
| 4053 | (if (and (c-beginning-of-current-token) ; only moves when we started in the middle | ||
| 4054 | (progn (goto-char end) | ||
| 4055 | (c-end-of-current-token))) | ||
| 4056 | (c-unfind-type (buffer-substring-no-properties | ||
| 4057 | end (point))))) | ||
| 4058 | (when (> beg (point-min)) | ||
| 4059 | (goto-char beg) | ||
| 4060 | (if (and (c-end-of-current-token) ; only moves when we started in the middle | ||
| 4061 | (progn (goto-char beg) | ||
| 4062 | (c-beginning-of-current-token))) | ||
| 4063 | (c-unfind-type (buffer-substring-no-properties | ||
| 4064 | (point) beg)))))) | ||
| 4065 | |||
| 4066 | (if c-maybe-stale-found-type ; e.g. (c-decl-id-start "foo" 97 107 " (* ooka) " "o") | ||
| 4067 | (cond | ||
| 4068 | ;; Changing the amount of (already existing) whitespace - don't do anything. | ||
| 4069 | ((and (c-partial-ws-p beg end) | ||
| 4070 | (or (= beg end) ; removal of WS | ||
| 4071 | ; (string-match "\\s *\\'" (nth 5 c-maybe-stale-found-type)) | ||
| 4072 | (string-match "^[ \t\n\r\f\v]*$" (nth 5 c-maybe-stale-found-type))))) | ||
| 4073 | |||
| 4074 | ;; The syntactic relationship which defined a "found type" has been | ||
| 4075 | ;; destroyed. | ||
| 4076 | ((eq (car c-maybe-stale-found-type) 'c-decl-id-start) | ||
| 4077 | (c-unfind-type (cadr c-maybe-stale-found-type))) | ||
| 4078 | ;; ((eq (car c-maybe-stale-found-type) 'c-decl-type-start) FIXME!!! | ||
| 4079 | ))) | ||
| 4080 | |||
| 4011 | 4081 | ||
| 4012 | ;; Handling of small scale constructs like types and names. | 4082 | ;; Handling of small scale constructs like types and names. |
| 4013 | 4083 | ||
diff --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el index e2891bde98d..1407b497305 100644 --- a/lisp/progmodes/cc-mode.el +++ b/lisp/progmodes/cc-mode.el | |||
| @@ -412,8 +412,143 @@ preferably use the `c-mode-menu' language constant directly." | |||
| 412 | ;; temporary changes in some font lock support modes, causing extra | 412 | ;; temporary changes in some font lock support modes, causing extra |
| 413 | ;; unnecessary work and font lock glitches due to interactions between | 413 | ;; unnecessary work and font lock glitches due to interactions between |
| 414 | ;; various text properties. | 414 | ;; various text properties. |
| 415 | 415 | ;; | |
| 416 | (defun c-after-change (beg end len) | 416 | ;; (2007-02-12): The macro `combine-after-change-calls' ISN'T used any |
| 417 | ;; more. | ||
| 418 | |||
| 419 | (defun c-unfind-enclosing-token (pos) | ||
| 420 | ;; If POS is wholly inside a token, remove that id from | ||
| 421 | ;; `c-found-types', should it be present. Return t if we were in an | ||
| 422 | ;; id, else nil. | ||
| 423 | (save-excursion | ||
| 424 | (let ((tok-beg (progn (goto-char pos) | ||
| 425 | (and (c-beginning-of-current-token) (point)))) | ||
| 426 | (tok-end (progn (goto-char pos) | ||
| 427 | (and (c-end-of-current-token) (point))))) | ||
| 428 | (when (and tok-beg tok-end) | ||
| 429 | (c-unfind-type (buffer-substring-no-properties tok-beg tok-end)) | ||
| 430 | t)))) | ||
| 431 | |||
| 432 | (defun c-unfind-coalesced-tokens (beg end) | ||
| 433 | ;; unless the non-empty region (beg end) is entirely WS and there's at | ||
| 434 | ;; least one character of WS just before or after this region, remove | ||
| 435 | ;; the tokens which touch the region from `c-found-types' should they | ||
| 436 | ;; be present. | ||
| 437 | (or (c-partial-ws-p beg end) | ||
| 438 | (save-excursion | ||
| 439 | (progn | ||
| 440 | (goto-char beg) | ||
| 441 | (or (eq beg (point-min)) | ||
| 442 | (c-skip-ws-backward (1- beg)) | ||
| 443 | (/= (point) beg) | ||
| 444 | (= (c-backward-token-2) 1) | ||
| 445 | (c-unfind-type (buffer-substring-no-properties | ||
| 446 | (point) beg))) | ||
| 447 | (goto-char end) | ||
| 448 | (or (eq end (point-max)) | ||
| 449 | (c-skip-ws-forward (1+ end)) | ||
| 450 | (/= (point) end) | ||
| 451 | (progn (forward-char) (c-end-of-current-token) nil) | ||
| 452 | (c-unfind-type (buffer-substring-no-properties | ||
| 453 | end (point)))))))) | ||
| 454 | |||
| 455 | ;; c-maybe-stale-found-type records a place near the region being | ||
| 456 | ;; changed where an element of `found-types' might become stale. It | ||
| 457 | ;; is set in c-before-change and is either nil, or has the form: | ||
| 458 | ;; | ||
| 459 | ;; (c-decl-id-start "foo" 97 107 " (* ooka) " "o"), where | ||
| 460 | ;; | ||
| 461 | ;; o - `c-decl-id-start' is the c-type text property value at buffer | ||
| 462 | ;; pos 96. | ||
| 463 | ;; | ||
| 464 | ;; o - 97 107 is the region potentially containing the stale type - | ||
| 465 | ;; this is delimited by a non-nil c-type text property at 96 and | ||
| 466 | ;; either another one or a ";", "{", or "}" at 107. | ||
| 467 | ;; | ||
| 468 | ;; o - " (* ooka) " is the (before change) buffer portion containing | ||
| 469 | ;; the suspect type (here "ooka"). | ||
| 470 | ;; | ||
| 471 | ;; o - "o" is the buffer contents which is about to be deleted. This | ||
| 472 | ;; would be the empty string for an insertion. | ||
| 473 | (defvar c-maybe-stale-found-type nil) | ||
| 474 | (make-variable-buffer-local 'c-maybe-stale-found-type) | ||
| 475 | |||
| 476 | (defun c-before-change (beg end) | ||
| 477 | ;; Function to be put on `before-change-function'. Currently | ||
| 478 | ;; (2007-02) it is used only to remove stale entries from the | ||
| 479 | ;; `c-found-types' cache, and to record entries which a | ||
| 480 | ;; `c-after-change' function might confirm as stale. | ||
| 481 | ;; | ||
| 482 | ;; Note that this function must be FAST rather than accurate. Note | ||
| 483 | ;; also that it only has any effect when font locking is enabled. | ||
| 484 | ;; We exploit this by checking for font-lock-*-face instead of doing | ||
| 485 | ;; rigourous syntactic analysis. | ||
| 486 | |||
| 487 | ;; If either change boundary is wholly inside an identifier, delete | ||
| 488 | ;; it/them from the cache. Don't worry about being inside a string | ||
| 489 | ;; or a comment - "wrongly" removing a symbol from `c-found-types' | ||
| 490 | ;; isn't critical. | ||
| 491 | (setq c-maybe-stale-found-type nil) | ||
| 492 | (save-restriction | ||
| 493 | (save-match-data | ||
| 494 | (widen) | ||
| 495 | (save-excursion | ||
| 496 | ;; Are we inserting/deleting stuff in the middle of an identifier? | ||
| 497 | (c-unfind-enclosing-token beg) | ||
| 498 | (c-unfind-enclosing-token end) | ||
| 499 | ;; Are we coalescing two tokens together, e.g. "fo o" -> "foo"? | ||
| 500 | (when (< beg end) | ||
| 501 | (c-unfind-coalesced-tokens beg end)) | ||
| 502 | ;; Are we (potentially) disrupting the syntactic context which | ||
| 503 | ;; makes a type a type? E.g. by inserting stuff after "foo" in | ||
| 504 | ;; "foo bar;", or before "foo" in "typedef foo *bar;"? | ||
| 505 | ;; | ||
| 506 | ;; We search for appropriate c-type properties "near" the change. | ||
| 507 | ;; First, find an appropriate boundary for this property search. | ||
| 508 | (let (lim | ||
| 509 | type type-pos | ||
| 510 | marked-id term-pos | ||
| 511 | (end1 | ||
| 512 | (if (eq (get-text-property end 'face) 'font-lock-comment-face) | ||
| 513 | (previous-single-property-change end 'face) | ||
| 514 | end))) | ||
| 515 | (when (>= end1 beg) ; Don't hassle about changes entirely in comments. | ||
| 516 | ;; Find a limit for the search for a `c-type' property | ||
| 517 | (while | ||
| 518 | (and (/= (skip-chars-backward "^;{}") 0) | ||
| 519 | (> (point) (point-min)) | ||
| 520 | (memq (c-get-char-property (1- (point)) 'face) | ||
| 521 | '(font-lock-comment-face font-lock-string-face)))) | ||
| 522 | (setq lim (max (point-min) (1- (point)))) | ||
| 523 | |||
| 524 | ;; Look for the latest `c-type' property before end1 | ||
| 525 | (when (and (> end1 1) | ||
| 526 | (setq type-pos | ||
| 527 | (if (get-text-property (1- end1) 'c-type) | ||
| 528 | end1 | ||
| 529 | (previous-single-property-change end1 'c-type nil lim)))) | ||
| 530 | (setq type (get-text-property (max (1- type-pos) lim) 'c-type)) | ||
| 531 | |||
| 532 | (when (memq type '(c-decl-id-start c-decl-type-start)) | ||
| 533 | ;; Get the identifier, if any, that the property is on. | ||
| 534 | (goto-char (1- type-pos)) | ||
| 535 | (setq marked-id | ||
| 536 | (when (looking-at "\\(\\sw\\|\\s_\\)") | ||
| 537 | (c-beginning-of-current-token) | ||
| 538 | (buffer-substring-no-properties (point) type-pos))) | ||
| 539 | |||
| 540 | (goto-char end1) | ||
| 541 | (skip-chars-forward "^;{}") ; FIXME!!! loop for comment, maybe | ||
| 542 | (setq lim (point)) | ||
| 543 | (setq term-pos | ||
| 544 | (or (next-single-property-change end 'c-type nil lim) lim)) | ||
| 545 | (setq c-maybe-stale-found-type | ||
| 546 | (list type marked-id | ||
| 547 | type-pos term-pos | ||
| 548 | (buffer-substring-no-properties type-pos term-pos) | ||
| 549 | (buffer-substring-no-properties beg end))))))))))) | ||
| 550 | |||
| 551 | (defun c-after-change (beg end old-len) | ||
| 417 | ;; Function put on `after-change-functions' to adjust various caches | 552 | ;; Function put on `after-change-functions' to adjust various caches |
| 418 | ;; etc. Prefer speed to finesse here, since there will be an order | 553 | ;; etc. Prefer speed to finesse here, since there will be an order |
| 419 | ;; of magnitude more calls to this function than any of the | 554 | ;; of magnitude more calls to this function than any of the |
| @@ -441,6 +576,7 @@ preferably use the `c-mode-menu' language constant directly." | |||
| 441 | (when (> beg end) | 576 | (when (> beg end) |
| 442 | (setq beg end))) | 577 | (setq beg end))) |
| 443 | 578 | ||
| 579 | (c-trim-found-types beg end old-len) ; maybe we don't need all of these. | ||
| 444 | (c-invalidate-sws-region-after beg end) | 580 | (c-invalidate-sws-region-after beg end) |
| 445 | (c-invalidate-state-cache beg) | 581 | (c-invalidate-state-cache beg) |
| 446 | (c-invalidate-find-decl-cache beg) | 582 | (c-invalidate-find-decl-cache beg) |
| @@ -577,6 +713,8 @@ that requires a literal mode spec at compile time." | |||
| 577 | 713 | ||
| 578 | ;; Install the functions that ensure that various internal caches | 714 | ;; Install the functions that ensure that various internal caches |
| 579 | ;; don't become invalid due to buffer changes. | 715 | ;; don't become invalid due to buffer changes. |
| 716 | (make-local-hook 'before-change-functions) | ||
| 717 | (add-hook 'before-change-functions 'c-before-change nil t) | ||
| 580 | (make-local-hook 'after-change-functions) | 718 | (make-local-hook 'after-change-functions) |
| 581 | (add-hook 'after-change-functions 'c-after-change nil t)) | 719 | (add-hook 'after-change-functions 'c-after-change nil t)) |
| 582 | 720 | ||
diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el index 29f4cc372d3..0b8287503f8 100644 --- a/lisp/progmodes/cperl-mode.el +++ b/lisp/progmodes/cperl-mode.el | |||
| @@ -1795,8 +1795,8 @@ or as help on variables `cperl-tips', `cperl-problems', | |||
| 1795 | ((boundp 'compilation-error-regexp-alist);; xmeacs 19.x | 1795 | ((boundp 'compilation-error-regexp-alist);; xmeacs 19.x |
| 1796 | (make-local-variable 'compilation-error-regexp-alist) | 1796 | (make-local-variable 'compilation-error-regexp-alist) |
| 1797 | (set 'compilation-error-regexp-alist | 1797 | (set 'compilation-error-regexp-alist |
| 1798 | (cons cperl-compilation-error-regexp-alist | 1798 | (append cperl-compilation-error-regexp-alist |
| 1799 | (symbol-value 'compilation-error-regexp-alist))))) | 1799 | (symbol-value 'compilation-error-regexp-alist))))) |
| 1800 | (make-local-variable 'font-lock-defaults) | 1800 | (make-local-variable 'font-lock-defaults) |
| 1801 | (setq font-lock-defaults | 1801 | (setq font-lock-defaults |
| 1802 | (cond | 1802 | (cond |
diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el index a0dd83fb974..fe2bbdec14e 100644 --- a/lisp/progmodes/grep.el +++ b/lisp/progmodes/grep.el | |||
| @@ -157,7 +157,8 @@ The following place holders should be present in the string: | |||
| 157 | :type 'alist | 157 | :type 'alist |
| 158 | :group 'grep) | 158 | :group 'grep) |
| 159 | 159 | ||
| 160 | (defcustom grep-find-ignored-directories '("CVS" ".svn" "{arch}" ".hg" "_darcs") | 160 | (defcustom grep-find-ignored-directories '("CVS" ".svn" "{arch}" ".hg" "_darcs" |
| 161 | ".git" ".bzr") | ||
| 161 | "*List of names of sub-directories which `rgrep' shall not recurse into." | 162 | "*List of names of sub-directories which `rgrep' shall not recurse into." |
| 162 | :type '(repeat string) | 163 | :type '(repeat string) |
| 163 | :group 'grep) | 164 | :group 'grep) |
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el index 1662af1c924..8db7c28219e 100644 --- a/lisp/progmodes/gud.el +++ b/lisp/progmodes/gud.el | |||
| @@ -690,7 +690,10 @@ session." | |||
| 690 | (buffer-name gud-comint-buffer) | 690 | (buffer-name gud-comint-buffer) |
| 691 | (get-buffer-process gud-comint-buffer) | 691 | (get-buffer-process gud-comint-buffer) |
| 692 | (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba))) | 692 | (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba))) |
| 693 | (error "Multiple debugging requires restarting in text command mode")) | 693 | (let ((same-window-regexps)) |
| 694 | (display-buffer gud-comint-buffer) | ||
| 695 | (error | ||
| 696 | "Multiple debugging requires restarting in text command mode"))) | ||
| 694 | 697 | ||
| 695 | (gud-common-init command-line nil 'gud-gdb-marker-filter) | 698 | (gud-common-init command-line nil 'gud-gdb-marker-filter) |
| 696 | (set (make-local-variable 'gud-minor-mode) 'gdb) | 699 | (set (make-local-variable 'gud-minor-mode) 'gdb) |
diff --git a/lisp/progmodes/hideshow.el b/lisp/progmodes/hideshow.el index 35ab0362613..3bc1c55cc7d 100644 --- a/lisp/progmodes/hideshow.el +++ b/lisp/progmodes/hideshow.el | |||
| @@ -906,11 +906,18 @@ Key bindings: | |||
| 906 | (if hs-minor-mode | 906 | (if hs-minor-mode |
| 907 | (progn | 907 | (progn |
| 908 | (hs-grok-mode-type) | 908 | (hs-grok-mode-type) |
| 909 | ;; Turn off this mode if we change major modes. | ||
| 910 | (add-hook 'change-major-mode-hook | ||
| 911 | (lambda () (hs-minor-mode -1)) | ||
| 912 | nil t) | ||
| 909 | (easy-menu-add hs-minor-mode-menu) | 913 | (easy-menu-add hs-minor-mode-menu) |
| 910 | (set (make-local-variable 'line-move-ignore-invisible) t) | 914 | (set (make-local-variable 'line-move-ignore-invisible) t) |
| 911 | (add-to-invisibility-spec '(hs . t))) | 915 | (add-to-invisibility-spec '(hs . t))) |
| 912 | (easy-menu-remove hs-minor-mode-menu) | 916 | (easy-menu-remove hs-minor-mode-menu) |
| 913 | (remove-from-invisibility-spec '(hs . t))) | 917 | (remove-from-invisibility-spec '(hs . t)) |
| 918 | ;; hs-show-all does nothing unless h-m-m is non-nil. | ||
| 919 | (let ((hs-minor-mode t)) | ||
| 920 | (hs-show-all))) | ||
| 914 | (run-hooks 'hs-minor-mode-hook)) | 921 | (run-hooks 'hs-minor-mode-hook)) |
| 915 | 922 | ||
| 916 | ;;--------------------------------------------------------------------------- | 923 | ;;--------------------------------------------------------------------------- |
| @@ -945,7 +952,7 @@ Key bindings: | |||
| 945 | (add-to-list 'minor-mode-map-alist (cons 'hs-minor-mode hs-minor-mode-map)) | 952 | (add-to-list 'minor-mode-map-alist (cons 'hs-minor-mode hs-minor-mode-map)) |
| 946 | (add-to-list 'minor-mode-alist '(hs-minor-mode " hs") t) | 953 | (add-to-list 'minor-mode-alist '(hs-minor-mode " hs") t) |
| 947 | 954 | ||
| 948 | ;; make some variables permanently buffer-local | 955 | ;; make some variables buffer-local |
| 949 | (dolist (var '(hs-minor-mode | 956 | (dolist (var '(hs-minor-mode |
| 950 | hs-c-start-regexp | 957 | hs-c-start-regexp |
| 951 | hs-block-start-regexp | 958 | hs-block-start-regexp |
| @@ -953,8 +960,7 @@ Key bindings: | |||
| 953 | hs-block-end-regexp | 960 | hs-block-end-regexp |
| 954 | hs-forward-sexp-func | 961 | hs-forward-sexp-func |
| 955 | hs-adjust-block-beginning)) | 962 | hs-adjust-block-beginning)) |
| 956 | (make-variable-buffer-local var) | 963 | (make-variable-buffer-local var)) |
| 957 | (put var 'permanent-local t)) | ||
| 958 | 964 | ||
| 959 | ;;--------------------------------------------------------------------------- | 965 | ;;--------------------------------------------------------------------------- |
| 960 | ;; that's it | 966 | ;; that's it |
diff --git a/lisp/progmodes/idlw-help.el b/lisp/progmodes/idlw-help.el index a9ceccac6a0..030b785acdf 100644 --- a/lisp/progmodes/idlw-help.el +++ b/lisp/progmodes/idlw-help.el | |||
| @@ -386,8 +386,7 @@ It collects and prints the diagnostics messages." | |||
| 386 | (< beg (- end 4)))) | 386 | (< beg (- end 4)))) |
| 387 | module keyword cw mod1 mod2 mod3) | 387 | module keyword cw mod1 mod2 mod3) |
| 388 | (if (or arg | 388 | (if (or arg |
| 389 | (and (not st-ass) | 389 | (and (not classtag) |
| 390 | (not classtag) | ||
| 391 | (not structtag) | 390 | (not structtag) |
| 392 | (not (member (string-to-char this-word) '(?! ?.))))) | 391 | (not (member (string-to-char this-word) '(?! ?.))))) |
| 393 | ;; Need the module information | 392 | ;; Need the module information |
| @@ -408,7 +407,8 @@ It collects and prints the diagnostics messages." | |||
| 408 | (arg (setq mod1 module)) | 407 | (arg (setq mod1 module)) |
| 409 | 408 | ||
| 410 | ;; A special topic -- only system help | 409 | ;; A special topic -- only system help |
| 411 | (st-ass (setq mod1 (list (cdr st-ass)))) | 410 | ((and st-ass (not (memq cw '(function-keyword procedure-keyword)))) |
| 411 | (setq mod1 (list (cdr st-ass)))) | ||
| 412 | 412 | ||
| 413 | ;; A system variable -- only system help | 413 | ;; A system variable -- only system help |
| 414 | ((string-match | 414 | ((string-match |
| @@ -1226,7 +1226,7 @@ Useful when source code is displayed as help. See the option | |||
| 1226 | ;; we must pass the -profile argument as well. | 1226 | ;; we must pass the -profile argument as well. |
| 1227 | (defvar idlwave-help-assistant-command | 1227 | (defvar idlwave-help-assistant-command |
| 1228 | (if (memq system-type '(ms-dos windows-nt)) | 1228 | (if (memq system-type '(ms-dos windows-nt)) |
| 1229 | "bin/bin.x86/idl_assistant" | 1229 | "bin/bin.x86/idl_assistant.exe" |
| 1230 | "bin/idl_assistant") | 1230 | "bin/idl_assistant") |
| 1231 | "The command, rooted at idlwave-system-directory, which invokes the | 1231 | "The command, rooted at idlwave-system-directory, which invokes the |
| 1232 | IDL assistant.") | 1232 | IDL assistant.") |
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 38e846aa2cc..6c37fb859e1 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el | |||
| @@ -1383,11 +1383,11 @@ buffer for a list of commands.)" | |||
| 1383 | COMMAND should be a single statement." | 1383 | COMMAND should be a single statement." |
| 1384 | ;; (assert (not (string-match "\n" command))) | 1384 | ;; (assert (not (string-match "\n" command))) |
| 1385 | ;; (let ((end (marker-position (process-mark (python-proc))))) | 1385 | ;; (let ((end (marker-position (process-mark (python-proc))))) |
| 1386 | (with-current-buffer python-buffer (goto-char (point-max))) | 1386 | (with-current-buffer (process-buffer (python-proc)) |
| 1387 | (goto-char (point-max)) | ||
| 1387 | (compilation-forget-errors) | 1388 | (compilation-forget-errors) |
| 1388 | (python-send-string command) | 1389 | (python-send-string command) |
| 1389 | (with-current-buffer python-buffer | 1390 | (setq compilation-last-buffer (current-buffer))) |
| 1390 | (setq compilation-last-buffer (current-buffer))) | ||
| 1391 | ;; No idea what this is for but it breaks the call to | 1391 | ;; No idea what this is for but it breaks the call to |
| 1392 | ;; compilation-fake-loc in python-send-region. -- Stef | 1392 | ;; compilation-fake-loc in python-send-region. -- Stef |
| 1393 | ;; Must wait until this has completed before re-setting variables below. | 1393 | ;; Must wait until this has completed before re-setting variables below. |
| @@ -1517,9 +1517,9 @@ See variable `python-buffer'. Starts a new process if necessary." | |||
| 1517 | ;; isn't one for `python-buffer'. | 1517 | ;; isn't one for `python-buffer'. |
| 1518 | (unless (comint-check-proc python-buffer) | 1518 | (unless (comint-check-proc python-buffer) |
| 1519 | (run-python nil t)) | 1519 | (run-python nil t)) |
| 1520 | (get-buffer-process (or (if (derived-mode-p 'inferior-python-mode) | 1520 | (get-buffer-process (if (derived-mode-p 'inferior-python-mode) |
| 1521 | (current-buffer) | 1521 | (current-buffer) |
| 1522 | python-buffer)))) | 1522 | python-buffer))) |
| 1523 | 1523 | ||
| 1524 | (defun python-set-proc () | 1524 | (defun python-set-proc () |
| 1525 | "Set the default value of `python-buffer' to correspond to this buffer. | 1525 | "Set the default value of `python-buffer' to correspond to this buffer. |
diff --git a/lisp/replace.el b/lisp/replace.el index 5b970681ea7..9e45e3479c3 100644 --- a/lisp/replace.el +++ b/lisp/replace.el | |||
| @@ -1049,7 +1049,9 @@ See also `multi-occur'." | |||
| 1049 | 1049 | ||
| 1050 | (with-current-buffer occur-buf | 1050 | (with-current-buffer occur-buf |
| 1051 | (occur-mode) | 1051 | (occur-mode) |
| 1052 | (let ((inhibit-read-only t)) | 1052 | (let ((inhibit-read-only t) |
| 1053 | ;; Don't generate undo entries for creation of the initial contents. | ||
| 1054 | (buffer-undo-list t)) | ||
| 1053 | (erase-buffer) | 1055 | (erase-buffer) |
| 1054 | (let ((count (occur-engine | 1056 | (let ((count (occur-engine |
| 1055 | regexp active-bufs occur-buf | 1057 | regexp active-bufs occur-buf |
| @@ -1086,8 +1088,6 @@ See also `multi-occur'." | |||
| 1086 | title-face prefix-face match-face keep-props) | 1088 | title-face prefix-face match-face keep-props) |
| 1087 | (with-current-buffer out-buf | 1089 | (with-current-buffer out-buf |
| 1088 | (let ((globalcount 0) | 1090 | (let ((globalcount 0) |
| 1089 | ;; Don't generate undo entries for creation of the initial contents. | ||
| 1090 | (buffer-undo-list t) | ||
| 1091 | (coding nil)) | 1091 | (coding nil)) |
| 1092 | ;; Map over all the buffers | 1092 | ;; Map over all the buffers |
| 1093 | (dolist (buf buffers) | 1093 | (dolist (buf buffers) |
diff --git a/lisp/ses.el b/lisp/ses.el index ab92434bedb..2eec1b68e47 100644 --- a/lisp/ses.el +++ b/lisp/ses.el | |||
| @@ -1485,7 +1485,7 @@ overlay, remove special text properties." | |||
| 1485 | ;;;###autoload | 1485 | ;;;###autoload |
| 1486 | (defun ses-mode () | 1486 | (defun ses-mode () |
| 1487 | "Major mode for Simple Emacs Spreadsheet. | 1487 | "Major mode for Simple Emacs Spreadsheet. |
| 1488 | See \"ses-example.ses\" (in the etc data directory) for more info. | 1488 | See \"ses-example.ses\" (in `data-directory') for more info. |
| 1489 | 1489 | ||
| 1490 | Key definitions: | 1490 | Key definitions: |
| 1491 | \\{ses-mode-map} | 1491 | \\{ses-mode-map} |
diff --git a/lisp/shell.el b/lisp/shell.el index 008cd93c47b..a218981256a 100644 --- a/lisp/shell.el +++ b/lisp/shell.el | |||
| @@ -336,7 +336,7 @@ Thus, this does not include the shell's current directory.") | |||
| 336 | "Keep track of last directory for ksh `cd -' command.") | 336 | "Keep track of last directory for ksh `cd -' command.") |
| 337 | 337 | ||
| 338 | (defvar shell-dirstack-query nil | 338 | (defvar shell-dirstack-query nil |
| 339 | "Command used by `shell-resync-dir' to query the shell.") | 339 | "Command used by `shell-resync-dirs' to query the shell.") |
| 340 | 340 | ||
| 341 | (defvar shell-mode-map nil) | 341 | (defvar shell-mode-map nil) |
| 342 | (cond ((not shell-mode-map) | 342 | (cond ((not shell-mode-map) |
diff --git a/lisp/simple.el b/lisp/simple.el index 7d7cad5854a..a426aab909b 100644 --- a/lisp/simple.el +++ b/lisp/simple.el | |||
| @@ -758,7 +758,7 @@ Don't use this command in Lisp programs! | |||
| 758 | (/ size 10)) | 758 | (/ size 10)) |
| 759 | (/ (+ 10 (* size (prefix-numeric-value arg))) 10))) | 759 | (/ (+ 10 (* size (prefix-numeric-value arg))) 10))) |
| 760 | (point-min)))) | 760 | (point-min)))) |
| 761 | (if arg (forward-line 1))) | 761 | (if (and arg (not (consp arg))) (forward-line 1))) |
| 762 | 762 | ||
| 763 | (defun end-of-buffer (&optional arg) | 763 | (defun end-of-buffer (&optional arg) |
| 764 | "Move point to the end of the buffer; leave mark at previous position. | 764 | "Move point to the end of the buffer; leave mark at previous position. |
| @@ -785,7 +785,7 @@ Don't use this command in Lisp programs! | |||
| 785 | (point-max)))) | 785 | (point-max)))) |
| 786 | ;; If we went to a place in the middle of the buffer, | 786 | ;; If we went to a place in the middle of the buffer, |
| 787 | ;; adjust it to the beginning of a line. | 787 | ;; adjust it to the beginning of a line. |
| 788 | (cond (arg (forward-line 1)) | 788 | (cond ((and arg (not (consp arg))) (forward-line 1)) |
| 789 | ((> (point) (window-end nil t)) | 789 | ((> (point) (window-end nil t)) |
| 790 | ;; If the end of the buffer is not already on the screen, | 790 | ;; If the end of the buffer is not already on the screen, |
| 791 | ;; then scroll specially to put it near, but not at, the bottom. | 791 | ;; then scroll specially to put it near, but not at, the bottom. |
| @@ -1005,6 +1005,9 @@ in *Help* buffer. See also the command `describe-char'." | |||
| 1005 | 1005 | ||
| 1006 | (defvar read-expression-history nil) | 1006 | (defvar read-expression-history nil) |
| 1007 | 1007 | ||
| 1008 | (defvar minibuffer-completing-symbol nil | ||
| 1009 | "Non-nil means completing a Lisp symbol in the minibuffer.") | ||
| 1010 | |||
| 1008 | (defcustom eval-expression-print-level 4 | 1011 | (defcustom eval-expression-print-level 4 |
| 1009 | "Value for `print-level' while printing value in `eval-expression'. | 1012 | "Value for `print-level' while printing value in `eval-expression'. |
| 1010 | A value of nil means no limit." | 1013 | A value of nil means no limit." |
| @@ -1056,9 +1059,10 @@ the echo area. | |||
| 1056 | If `eval-expression-debug-on-error' is non-nil, which is the default, | 1059 | If `eval-expression-debug-on-error' is non-nil, which is the default, |
| 1057 | this command arranges for all errors to enter the debugger." | 1060 | this command arranges for all errors to enter the debugger." |
| 1058 | (interactive | 1061 | (interactive |
| 1059 | (list (read-from-minibuffer "Eval: " | 1062 | (list (let ((minibuffer-completing-symbol t)) |
| 1060 | nil read-expression-map t | 1063 | (read-from-minibuffer "Eval: " |
| 1061 | 'read-expression-history) | 1064 | nil read-expression-map t |
| 1065 | 'read-expression-history)) | ||
| 1062 | current-prefix-arg)) | 1066 | current-prefix-arg)) |
| 1063 | 1067 | ||
| 1064 | (if (null eval-expression-debug-on-error) | 1068 | (if (null eval-expression-debug-on-error) |
| @@ -5088,7 +5092,8 @@ of the minibuffer before point is always the common substring.)") | |||
| 5088 | ;; so it will get copied into the completion list buffer. | 5092 | ;; so it will get copied into the completion list buffer. |
| 5089 | (if minibuffer-completing-file-name | 5093 | (if minibuffer-completing-file-name |
| 5090 | (with-current-buffer mainbuf | 5094 | (with-current-buffer mainbuf |
| 5091 | (setq default-directory (file-name-directory mbuf-contents)))) | 5095 | (setq default-directory |
| 5096 | (file-name-directory (expand-file-name mbuf-contents))))) | ||
| 5092 | (with-current-buffer standard-output | 5097 | (with-current-buffer standard-output |
| 5093 | (completion-list-mode) | 5098 | (completion-list-mode) |
| 5094 | (set (make-local-variable 'completion-reference-buffer) mainbuf) | 5099 | (set (make-local-variable 'completion-reference-buffer) mainbuf) |
| @@ -5108,6 +5113,7 @@ of the minibuffer before point is always the common substring.)") | |||
| 5108 | (save-excursion | 5113 | (save-excursion |
| 5109 | (skip-chars-backward completion-root-regexp) | 5114 | (skip-chars-backward completion-root-regexp) |
| 5110 | (- (point) (minibuffer-prompt-end))))) | 5115 | (- (point) (minibuffer-prompt-end))))) |
| 5116 | (minibuffer-completing-symbol nil) | ||
| 5111 | ;; Otherwise, in minibuffer, the base size is 0. | 5117 | ;; Otherwise, in minibuffer, the base size is 0. |
| 5112 | ((minibufferp mainbuf) 0))) | 5118 | ((minibufferp mainbuf) 0))) |
| 5113 | (setq common-string-length | 5119 | (setq common-string-length |
diff --git a/lisp/smerge-mode.el b/lisp/smerge-mode.el index bda569a1e05..8e239ab5a26 100644 --- a/lisp/smerge-mode.el +++ b/lisp/smerge-mode.el | |||
| @@ -345,7 +345,9 @@ according to `smerge-match-conflict'.") | |||
| 345 | ;; during font-locking so inhibit-modification-hooks is non-nil, so we | 345 | ;; during font-locking so inhibit-modification-hooks is non-nil, so we |
| 346 | ;; can't just modify the buffer and expect font-lock to be triggered as in: | 346 | ;; can't just modify the buffer and expect font-lock to be triggered as in: |
| 347 | ;; (put-text-property beg end 'smerge-force-highlighting nil) | 347 | ;; (put-text-property beg end 'smerge-force-highlighting nil) |
| 348 | (remove-text-properties beg end '(fontified nil))) | 348 | (let ((modified (buffer-modified-p))) |
| 349 | (remove-text-properties beg end '(fontified nil)) | ||
| 350 | (restore-buffer-modified-p modified))) | ||
| 349 | 351 | ||
| 350 | (defun smerge-popup-context-menu (event) | 352 | (defun smerge-popup-context-menu (event) |
| 351 | "Pop up the Smerge mode context menu under mouse." | 353 | "Pop up the Smerge mode context menu under mouse." |
| @@ -558,6 +560,8 @@ An error is raised if not inside a conflict." | |||
| 558 | t) | 560 | t) |
| 559 | (search-failed (error "Point not in conflict region"))))) | 561 | (search-failed (error "Point not in conflict region"))))) |
| 560 | 562 | ||
| 563 | (add-to-list 'debug-ignored-errors "Point not in conflict region") | ||
| 564 | |||
| 561 | (defun smerge-conflict-overlay (pos) | 565 | (defun smerge-conflict-overlay (pos) |
| 562 | "Return the conflict overlay at POS if any." | 566 | "Return the conflict overlay at POS if any." |
| 563 | (let ((ols (overlays-at pos)) | 567 | (let ((ols (overlays-at pos)) |
diff --git a/lisp/startup.el b/lisp/startup.el index 4b7868e215b..ccb1d29202c 100644 --- a/lisp/startup.el +++ b/lisp/startup.el | |||
| @@ -1143,13 +1143,13 @@ regardless of the value of this variable." | |||
| 1143 | ;; If there is a specific tutorial for the current language | 1143 | ;; If there is a specific tutorial for the current language |
| 1144 | ;; environment and it is not English, append its title. | 1144 | ;; environment and it is not English, append its title. |
| 1145 | (concat | 1145 | (concat |
| 1146 | "Emacs Tutorial\tLearn how to use Emacs efficiently" | 1146 | "Emacs Tutorial\t\tLearn how to use Emacs efficiently" |
| 1147 | (if (string= en tut) | 1147 | (if (string= en tut) |
| 1148 | "" | 1148 | "" |
| 1149 | (concat " (" title ")")) | 1149 | (concat " (" title ")")) |
| 1150 | "\n"))) | 1150 | "\n"))) |
| 1151 | :face variable-pitch "\ | 1151 | :face variable-pitch "\ |
| 1152 | Emacs FAQ\tFrequently asked questions and answers | 1152 | Emacs FAQ\t\tFrequently asked questions and answers |
| 1153 | View Emacs Manual\tView the Emacs manual using Info | 1153 | View Emacs Manual\tView the Emacs manual using Info |
| 1154 | Absence of Warranty\tGNU Emacs comes with " | 1154 | Absence of Warranty\tGNU Emacs comes with " |
| 1155 | :face (variable-pitch :slant oblique) | 1155 | :face (variable-pitch :slant oblique) |
| @@ -1159,12 +1159,13 @@ Absence of Warranty\tGNU Emacs comes with " | |||
| 1159 | Copying Conditions\tConditions for redistributing and changing Emacs | 1159 | Copying Conditions\tConditions for redistributing and changing Emacs |
| 1160 | Getting New Versions\tHow to obtain the latest version of Emacs | 1160 | Getting New Versions\tHow to obtain the latest version of Emacs |
| 1161 | More Manuals / Ordering Manuals Buying printed manuals from the FSF\n") | 1161 | More Manuals / Ordering Manuals Buying printed manuals from the FSF\n") |
| 1162 | (:face (variable-pitch :weight bold) | 1162 | (:face variable-pitch |
| 1163 | "To quit a partially entered command, type " | 1163 | "To quit a partially entered command, type " |
| 1164 | :face default | 1164 | :face default |
| 1165 | "Control-g" | 1165 | "Control-g" |
| 1166 | :face variable-pitch | 1166 | :face variable-pitch |
| 1167 | "." | 1167 | ".\n" |
| 1168 | :face (variable-pitch :weight bold) | ||
| 1168 | "Useful File menu items:\n" | 1169 | "Useful File menu items:\n" |
| 1169 | :face variable-pitch | 1170 | :face variable-pitch |
| 1170 | "Exit Emacs\t\t(Or type " | 1171 | "Exit Emacs\t\t(Or type " |
| @@ -1299,8 +1300,7 @@ using the mouse.\n\n") | |||
| 1299 | :face 'variable-pitch | 1300 | :face 'variable-pitch |
| 1300 | "Type " | 1301 | "Type " |
| 1301 | :face 'default | 1302 | :face 'default |
| 1302 | (substitute-command-keys | 1303 | "Control-l" |
| 1303 | "\\[recenter]") | ||
| 1304 | :face 'variable-pitch | 1304 | :face 'variable-pitch |
| 1305 | " to begin editing" | 1305 | " to begin editing" |
| 1306 | (if (equal (buffer-name fancy-splash-outer-buffer) | 1306 | (if (equal (buffer-name fancy-splash-outer-buffer) |
diff --git a/lisp/term/x-win.el b/lisp/term/x-win.el index fd95be90bfd..c68e655a212 100644 --- a/lisp/term/x-win.el +++ b/lisp/term/x-win.el | |||
| @@ -2199,11 +2199,12 @@ order until succeed.") | |||
| 2199 | ;; (1) If their lengthes are different, select the longer one. This | 2199 | ;; (1) If their lengthes are different, select the longer one. This |
| 2200 | ;; is because an X client may just cut off unsupported characters. | 2200 | ;; is because an X client may just cut off unsupported characters. |
| 2201 | ;; | 2201 | ;; |
| 2202 | ;; (2) Otherwise, if the Nth character of CTEXT is an ASCII | 2202 | ;; (2) Otherwise, if they are different at Nth character, and that |
| 2203 | ;; character that is different from the Nth character of UTF8, | 2203 | ;; of UTF8 is a Latin character and that of CTEXT belongs to a CJK |
| 2204 | ;; select UTF8. This is because an X client may replace unsupported | 2204 | ;; character set, select UTF8. Also select UTF8 if the Nth |
| 2205 | ;; characters with some ASCII character (typically ` ' or `?') in | 2205 | ;; character of UTF8 is non-ASCII where as that of CTEXT is ASCII. |
| 2206 | ;; CTEXT. | 2206 | ;; This is because an X client may replace unsupported characters |
| 2207 | ;; with some ASCII character (typically ` ' or `?') in CTEXT. | ||
| 2207 | ;; | 2208 | ;; |
| 2208 | ;; (3) Otherwise, select CTEXT. This is because legacy charsets are | 2209 | ;; (3) Otherwise, select CTEXT. This is because legacy charsets are |
| 2209 | ;; better for the current Emacs, especially when the selection owner | 2210 | ;; better for the current Emacs, especially when the selection owner |
| @@ -2218,10 +2219,16 @@ order until succeed.") | |||
| 2218 | (if (/= len-utf8 len-ctext) | 2219 | (if (/= len-utf8 len-ctext) |
| 2219 | (if (> len-utf8 len-ctext) utf8 ctext) | 2220 | (if (> len-utf8 len-ctext) utf8 ctext) |
| 2220 | (let ((result (compare-strings utf8 0 len-utf8 ctext 0 len-ctext))) | 2221 | (let ((result (compare-strings utf8 0 len-utf8 ctext 0 len-ctext))) |
| 2221 | (if (or (eq result t) | 2222 | (if (eq result t) |
| 2222 | (>= (aref ctext (1- (abs result))) 128)) | ||
| 2223 | ctext | 2223 | ctext |
| 2224 | utf8))))) | 2224 | (let ((utf8-char (aref utf8 (1- (abs result)))) |
| 2225 | (ctext-char (aref ctext (1- (abs result))))) | ||
| 2226 | (if (or (and (aref (char-category-set utf8-char) ?l) | ||
| 2227 | (aref (char-category-set ctext-char) ?C)) | ||
| 2228 | (and (>= utf8-char 128) | ||
| 2229 | (< ctext-char 128))) | ||
| 2230 | utf8 | ||
| 2231 | ctext))))))) | ||
| 2225 | 2232 | ||
| 2226 | ;; Get a selection value of type TYPE by calling x-get-selection with | 2233 | ;; Get a selection value of type TYPE by calling x-get-selection with |
| 2227 | ;; an appropiate DATA-TYPE argument decidd by `x-select-request-type'. | 2234 | ;; an appropiate DATA-TYPE argument decidd by `x-select-request-type'. |
diff --git a/lisp/textmodes/org.el b/lisp/textmodes/org.el index bba5832b0e6..5ada05d1e74 100644 --- a/lisp/textmodes/org.el +++ b/lisp/textmodes/org.el | |||
| @@ -18767,6 +18767,13 @@ because, in this case the deletion might narrow the column." | |||
| 18767 | (put 'org-delete-char 'delete-selection 'supersede) | 18767 | (put 'org-delete-char 'delete-selection 'supersede) |
| 18768 | (put 'org-delete-backward-char 'delete-selection 'supersede) | 18768 | (put 'org-delete-backward-char 'delete-selection 'supersede) |
| 18769 | 18769 | ||
| 18770 | ;; Make `flyspell-mode' delay after some commands | ||
| 18771 | (put 'org-self-insert-command 'flyspell-delayed t) | ||
| 18772 | (put 'orgtbl-self-insert-command 'flyspell-delayed t) | ||
| 18773 | (put 'org-delete-char 'flyspell-delayed t) | ||
| 18774 | (put 'org-delete-backward-char 'flyspell-delayed t) | ||
| 18775 | |||
| 18776 | |||
| 18770 | ;; How to do this: Measure non-white length of current string | 18777 | ;; How to do this: Measure non-white length of current string |
| 18771 | ;; If equal to column width, we should realign. | 18778 | ;; If equal to column width, we should realign. |
| 18772 | 18779 | ||
diff --git a/lisp/type-break.el b/lisp/type-break.el index 361670dbe6c..e065e32df54 100644 --- a/lisp/type-break.el +++ b/lisp/type-break.el | |||
| @@ -562,9 +562,12 @@ Returns nil if the file is missing or if the time breaks with the | |||
| 562 | (if file | 562 | (if file |
| 563 | (timep ;; returns expected format, else nil | 563 | (timep ;; returns expected format, else nil |
| 564 | (with-current-buffer (find-file-noselect file 'nowarn) | 564 | (with-current-buffer (find-file-noselect file 'nowarn) |
| 565 | (save-excursion | 565 | (condition-case nil |
| 566 | (goto-char (point-min)) | 566 | (save-excursion |
| 567 | (read (current-buffer)))))))) | 567 | (goto-char (point-min)) |
| 568 | (read (current-buffer))) | ||
| 569 | (end-of-file | ||
| 570 | (error "End of file in `%s'" file)))))))) | ||
| 568 | 571 | ||
| 569 | (defun type-break-get-previous-count () | 572 | (defun type-break-get-previous-count () |
| 570 | "Get previous keystroke count from `type-break-file-name'. | 573 | "Get previous keystroke count from `type-break-file-name'. |
| @@ -576,10 +579,13 @@ integer." | |||
| 576 | (setq file | 579 | (setq file |
| 577 | (with-current-buffer | 580 | (with-current-buffer |
| 578 | (find-file-noselect file 'nowarn) | 581 | (find-file-noselect file 'nowarn) |
| 579 | (save-excursion | 582 | (condition-case nil |
| 580 | (goto-char (point-min)) | 583 | (save-excursion |
| 581 | (forward-line 1) | 584 | (goto-char (point-min)) |
| 582 | (read (current-buffer))))))) | 585 | (forward-line 1) |
| 586 | (read (current-buffer))) | ||
| 587 | (end-of-file | ||
| 588 | (error "End of file in `%s'" file))))))) | ||
| 583 | file | 589 | file |
| 584 | 0))) | 590 | 0))) |
| 585 | 591 | ||
diff --git a/lisp/woman.el b/lisp/woman.el index 728bf347d9f..9c73a365b61 100644 --- a/lisp/woman.el +++ b/lisp/woman.el | |||
| @@ -3284,7 +3284,7 @@ If optional arg CONCAT is non-nil then join arguments." | |||
| 3284 | ;; Find font requests, paragraph macros and font escapes: | 3284 | ;; Find font requests, paragraph macros and font escapes: |
| 3285 | (re-search-forward | 3285 | (re-search-forward |
| 3286 | "^[.'][ \t]*\\(\\(\\ft\\)\\|\\(.P\\)\\)\\|\\(\\\\f\\)" nil 1) | 3286 | "^[.'][ \t]*\\(\\(\\ft\\)\\|\\(.P\\)\\)\\|\\(\\\\f\\)" nil 1) |
| 3287 | (let (font beg notfont) | 3287 | (let (font beg notfont fescape) |
| 3288 | ;; Match font indicator and leave point at end of sequence: | 3288 | ;; Match font indicator and leave point at end of sequence: |
| 3289 | (cond ((match-string 2) | 3289 | (cond ((match-string 2) |
| 3290 | ;; .ft request found | 3290 | ;; .ft request found |
| @@ -3299,7 +3299,8 @@ If optional arg CONCAT is non-nil then join arguments." | |||
| 3299 | (setq font 'default)) | 3299 | (setq font 'default)) |
| 3300 | ((match-string 4) | 3300 | ((match-string 4) |
| 3301 | ;; \f escape found | 3301 | ;; \f escape found |
| 3302 | (setq beg (match-beginning 0)) | 3302 | (setq beg (match-beginning 0) |
| 3303 | fescape t) | ||
| 3303 | (woman-match-name)) | 3304 | (woman-match-name)) |
| 3304 | (t (setq notfont t))) | 3305 | (t (setq notfont t))) |
| 3305 | (if notfont | 3306 | (if notfont |
| @@ -3321,6 +3322,13 @@ If optional arg CONCAT is non-nil then join arguments." | |||
| 3321 | ;; Delete font control line or escape sequence: | 3322 | ;; Delete font control line or escape sequence: |
| 3322 | (cond (beg (delete-region beg (point)) | 3323 | (cond (beg (delete-region beg (point)) |
| 3323 | (if (eq font 'previous) (setq font previous-font)))) | 3324 | (if (eq font 'previous) (setq font previous-font)))) |
| 3325 | ;; Deal with things like \fB.cvsrc\fR at the start of a line. | ||
| 3326 | ;; After removing the font control codes, this would | ||
| 3327 | ;; otherwise match woman-request-regexp. The "\\&" which is | ||
| 3328 | ;; inserted to prevent this is removed by woman2-process-escapes. | ||
| 3329 | (and fescape | ||
| 3330 | (looking-at "^\\.") | ||
| 3331 | (insert "\\&")) | ||
| 3324 | (woman-set-face previous-pos (point) current-font) | 3332 | (woman-set-face previous-pos (point) current-font) |
| 3325 | (if beg | 3333 | (if beg |
| 3326 | ;; Explicit font control | 3334 | ;; Explicit font control |
| @@ -3665,39 +3673,39 @@ expression in parentheses. Leaves point after the value." | |||
| 3665 | (unwind-protect | 3673 | (unwind-protect |
| 3666 | (while | 3674 | (while |
| 3667 | ;; Find next control line: | 3675 | ;; Find next control line: |
| 3668 | (re-search-forward woman-request-regexp nil t) | 3676 | (re-search-forward woman-request-regexp nil t) |
| 3669 | (cond | 3677 | (cond |
| 3670 | ;; Construct woman function to call: | 3678 | ;; Construct woman function to call: |
| 3671 | ((setq fn (intern-soft | 3679 | ((setq fn (intern-soft |
| 3672 | (concat "woman2-" | 3680 | (concat "woman2-" |
| 3673 | (setq request (match-string 1))))) | 3681 | (setq request (match-string 1))))) |
| 3674 | ;; Delete request or macro name: | 3682 | ;; Delete request or macro name: |
| 3675 | (woman-delete-match 0)) | 3683 | (woman-delete-match 0)) |
| 3676 | ;; Unrecognised request: | 3684 | ;; Unrecognised request: |
| 3677 | ((prog1 nil | 3685 | ((prog1 nil |
| 3678 | ;; (WoMan-warn ".%s request ignored!" request) | 3686 | ;; (WoMan-warn ".%s request ignored!" request) |
| 3679 | (WoMan-warn-ignored request "ignored!") | 3687 | (WoMan-warn-ignored request "ignored!") |
| 3680 | ;; (setq fn 'woman2-LP) | 3688 | ;; (setq fn 'woman2-LP) |
| 3681 | ;; AVOID LEAVING A BLANK LINE! | 3689 | ;; AVOID LEAVING A BLANK LINE! |
| 3682 | ;; (setq fn 'woman2-format-paragraphs) | 3690 | ;; (setq fn 'woman2-format-paragraphs) |
| 3683 | )) | 3691 | )) |
| 3684 | ;; .LP assumes it is at eol and leaves a (blank) line, | 3692 | ;; .LP assumes it is at eol and leaves a (blank) line, |
| 3685 | ;; so leave point at end of line before paragraph: | 3693 | ;; so leave point at end of line before paragraph: |
| 3686 | ((or (looking-at "[ \t]*$") ; no argument | 3694 | ((or (looking-at "[ \t]*$") ; no argument |
| 3687 | woman-ignore) ; ignore all | 3695 | woman-ignore) ; ignore all |
| 3688 | ;; (beginning-of-line) (kill-line) | 3696 | ;; (beginning-of-line) (kill-line) |
| 3689 | ;; AVOID LEAVING A BLANK LINE! | 3697 | ;; AVOID LEAVING A BLANK LINE! |
| 3690 | (beginning-of-line) (woman-delete-line 1)) | 3698 | (beginning-of-line) (woman-delete-line 1)) |
| 3691 | (t (end-of-line) (insert ?\n)) | 3699 | (t (end-of-line) (insert ?\n)) |
| 3692 | ) | 3700 | ) |
| 3693 | (if (not (or fn | 3701 | (if (not (or fn |
| 3694 | (and (not (memq (following-char) '(?. ?'))) | 3702 | (and (not (memq (following-char) '(?. ?'))) |
| 3695 | (setq fn 'woman2-format-paragraphs)))) | 3703 | (setq fn 'woman2-format-paragraphs)))) |
| 3696 | () | 3704 | () |
| 3697 | ;; Find next control line: | 3705 | ;; Find next control line: |
| 3698 | (set-marker to (woman-find-next-control-line)) | 3706 | (set-marker to (woman-find-next-control-line)) |
| 3699 | ;; Call the appropriate function: | 3707 | ;; Call the appropriate function: |
| 3700 | (funcall fn to))) | 3708 | (funcall fn to))) |
| 3701 | (if (not (eobp)) ; This should not happen, but ... | 3709 | (if (not (eobp)) ; This should not happen, but ... |
| 3702 | (woman2-format-paragraphs (copy-marker (point-max) t) | 3710 | (woman2-format-paragraphs (copy-marker (point-max) t) |
| 3703 | woman-left-margin)) | 3711 | woman-left-margin)) |
| @@ -4193,7 +4201,27 @@ If tag doesn't fit, place it on a separate line." | |||
| 4193 | (let ((i (woman2-get-prevailing-indent 'leave-eol))) | 4201 | (let ((i (woman2-get-prevailing-indent 'leave-eol))) |
| 4194 | (beginning-of-line) | 4202 | (beginning-of-line) |
| 4195 | (woman-leave-blank-lines) ; must be here, | 4203 | (woman-leave-blank-lines) ; must be here, |
| 4196 | (woman2-tagged-paragraph to i)))) | 4204 | ;; |
| 4205 | ;; The cvs.1 manpage contains some (possibly buggy) syntax that | ||
| 4206 | ;; confuses woman, although the man program displays it ok. | ||
| 4207 | ;; Most problems are caused by IP followed by another request on | ||
| 4208 | ;; the next line. Without the following hack, the second request | ||
| 4209 | ;; gets displayed raw in the output. Note that | ||
| 4210 | ;; woman2-tagged-paragraph also contains a hack for similar | ||
| 4211 | ;; issues (eg IP followed by SP). | ||
| 4212 | ;; | ||
| 4213 | ;; i) For IP followed by one or more IPs, we ignore all but the | ||
| 4214 | ;; last (mimic man). The hack in w-t-p would only work for two | ||
| 4215 | ;; consecutive IPs, and would use the first. | ||
| 4216 | ;; ii) For IP followed by SP followed by one or more requests, | ||
| 4217 | ;; do nothing. At least in cvs.1, there is usually another IP in | ||
| 4218 | ;; there somewhere. | ||
| 4219 | (unless (or (looking-at "^\\.IP") | ||
| 4220 | (and (looking-at "^\\.sp") | ||
| 4221 | (save-excursion | ||
| 4222 | (and (zerop (forward-line 1)) | ||
| 4223 | (looking-at woman-request-regexp))))) | ||
| 4224 | (woman2-tagged-paragraph to i))))) | ||
| 4197 | 4225 | ||
| 4198 | (defun woman-find-next-control-line-carefully () | 4226 | (defun woman-find-next-control-line-carefully () |
| 4199 | "Find and return start of next control line, even if already there!" | 4227 | "Find and return start of next control line, even if already there!" |
| @@ -4208,17 +4236,21 @@ Format paragraphs upto TO. Set prevailing indent to I." | |||
| 4208 | (if (not (looking-at "\\s *$")) ; non-empty tag | 4236 | (if (not (looking-at "\\s *$")) ; non-empty tag |
| 4209 | (setq woman-leave-blank-lines nil)) | 4237 | (setq woman-leave-blank-lines nil)) |
| 4210 | 4238 | ||
| 4211 | ;; Temporary hack for bash.1 and groff_mmse.7 until code is revised | 4239 | ;; Temporary hack for bash.1, cvs.1 and groff_mmse.7 until code is revised |
| 4212 | ;; to process all requests uniformly: | 4240 | ;; to process all requests uniformly. |
| 4213 | (cond ((and (= (point) to) (looking-at "^[.'][ \t]*\\(PD\\|br\\|ta\\) *")) | 4241 | ;; This hack deals with IP requests followed by other requests (eg |
| 4214 | (if (string= (match-string 1) "br") | 4242 | ;; SP) on the very next line. We skip over the SP, otherwise it gets |
| 4215 | (woman-delete-line 1) | 4243 | ;; inserted raw in the rendered output. |
| 4216 | (woman-delete-match 0) | 4244 | (cond ((and (= (point) to) |
| 4217 | (if (string= (match-string 1) "ta") ; for GetInt.3 | 4245 | (looking-at "^[.'][ \t]*\\(PD\\|br\\|ta\\|sp\\) *")) |
| 4218 | (woman2-ta to) | 4246 | (if (member (match-string 1) '("br" "sp")) |
| 4219 | (woman-set-interparagraph-distance))) | 4247 | (woman-delete-line 1) |
| 4220 | (set-marker to (woman-find-next-control-line-carefully)) | 4248 | (woman-delete-match 0) |
| 4221 | )) | 4249 | (if (string= (match-string 1) "ta") ; for GetInt.3 |
| 4250 | (woman2-ta to) | ||
| 4251 | (woman-set-interparagraph-distance))) | ||
| 4252 | (set-marker to (woman-find-next-control-line-carefully)) | ||
| 4253 | )) | ||
| 4222 | 4254 | ||
| 4223 | (let ((tag (point))) | 4255 | (let ((tag (point))) |
| 4224 | (woman-reset-nospace) | 4256 | (woman-reset-nospace) |
| @@ -4274,6 +4306,7 @@ Delete line from point and eol unless LEAVE-EOL is non-nil." | |||
| 4274 | (let ((i (woman-get-numeric-arg))) | 4306 | (let ((i (woman-get-numeric-arg))) |
| 4275 | (woman-delete-line) (or leave-eol (delete-char 1)) | 4307 | (woman-delete-line) (or leave-eol (delete-char 1)) |
| 4276 | ;; i = 0 if the argument was not a number | 4308 | ;; i = 0 if the argument was not a number |
| 4309 | ;; FIXME should this be >= 0? How else to reset to 0 indent? | ||
| 4277 | (if (> i 0) (setq woman-prevailing-indent i)))) | 4310 | (if (> i 0) (setq woman-prevailing-indent i)))) |
| 4278 | woman-prevailing-indent) | 4311 | woman-prevailing-indent) |
| 4279 | 4312 | ||
diff --git a/lispref/ChangeLog b/lispref/ChangeLog index bfae9080054..70a9843a3e1 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog | |||
| @@ -1,3 +1,31 @@ | |||
| 1 | 2007-03-05 Richard Stallman <rms@gnu.org> | ||
| 2 | |||
| 3 | * variables.texi (File Local Variables): Update | ||
| 4 | enable-local-variables values. | ||
| 5 | |||
| 6 | 2007-03-04 Richard Stallman <rms@gnu.org> | ||
| 7 | |||
| 8 | * syntax.texi (Control Parsing): Minor clarification. | ||
| 9 | |||
| 10 | * strings.texi (Formatting Strings): Clarify width, precision, flags. | ||
| 11 | |||
| 12 | * sequences.texi (Sequence Functions): Move string-bytes away, | ||
| 13 | add xref. | ||
| 14 | |||
| 15 | * nonascii.texi (Text Representations): Move string-bytes here. | ||
| 16 | |||
| 17 | * modes.texi (Major Mode Conventions): Fundamental mode is exception. | ||
| 18 | |||
| 19 | * minibuf.texi (Basic Completion): Minor clarification. | ||
| 20 | |||
| 21 | * markers.texi (The Mark): Clarify existence vs activation of mark. | ||
| 22 | Other cleanup. | ||
| 23 | |||
| 24 | * display.texi (Finding Overlays): Write better example. | ||
| 25 | |||
| 26 | * compile.texi (Eval During Compile): Clarify putting macros | ||
| 27 | in eval-when-compile. | ||
| 28 | |||
| 1 | 2007-02-25 Vinicius Jose Latorre <viniciusjl@ig.com.br> | 29 | 2007-02-25 Vinicius Jose Latorre <viniciusjl@ig.com.br> |
| 2 | 30 | ||
| 3 | * loading.texi (How Programs Do Loading): Fix anchor position at | 31 | * loading.texi (How Programs Do Loading): Fix anchor position at |
diff --git a/lispref/compile.texi b/lispref/compile.texi index 0d63887e1cc..4ed0eb8c1bf 100644 --- a/lispref/compile.texi +++ b/lispref/compile.texi | |||
| @@ -454,11 +454,10 @@ used to load it for compiling, but not executing. For example, | |||
| 454 | (require 'my-macro-package)) ;; only macros needed from this | 454 | (require 'my-macro-package)) ;; only macros needed from this |
| 455 | @end lisp | 455 | @end lisp |
| 456 | 456 | ||
| 457 | The same sort of thing goes for macros or @code{defalias}es defined | 457 | The same sort of thing goes for macros and @code{defsubst} functions |
| 458 | locally and only for use within the file. They can be defined while | 458 | defined locally and only for use within the file. They are needed for |
| 459 | compiling, but then not needed when executing. This is good for code | 459 | compiling the file, but in most cases they are not needed for |
| 460 | that's only a fallback for compatibility with other versions of Emacs. | 460 | execution of the compiled file. For example, |
| 461 | For example. | ||
| 462 | 461 | ||
| 463 | @lisp | 462 | @lisp |
| 464 | (eval-when-compile | 463 | (eval-when-compile |
| @@ -467,6 +466,10 @@ For example. | |||
| 467 | (compatibility code)))) | 466 | (compatibility code)))) |
| 468 | @end lisp | 467 | @end lisp |
| 469 | 468 | ||
| 469 | @noindent | ||
| 470 | This is often good for code that's only a fallback for compatibility | ||
| 471 | with other versions of Emacs. | ||
| 472 | |||
| 470 | @strong{Common Lisp Note:} At top level, @code{eval-when-compile} is analogous to the Common | 473 | @strong{Common Lisp Note:} At top level, @code{eval-when-compile} is analogous to the Common |
| 471 | Lisp idiom @code{(eval-when (compile eval) @dots{})}. Elsewhere, the | 474 | Lisp idiom @code{(eval-when (compile eval) @dots{})}. Elsewhere, the |
| 472 | Common Lisp @samp{#.} reader macro (but not when interpreting) is closer | 475 | Common Lisp @samp{#.} reader macro (but not when interpreting) is closer |
diff --git a/lispref/display.texi b/lispref/display.texi index 02491c422d9..f485829725a 100644 --- a/lispref/display.texi +++ b/lispref/display.texi | |||
| @@ -1527,26 +1527,25 @@ end of an overlay, before @var{pos}. If there is none, it returns | |||
| 1527 | @code{(point-min)}. | 1527 | @code{(point-min)}. |
| 1528 | @end defun | 1528 | @end defun |
| 1529 | 1529 | ||
| 1530 | Here's a function which uses @code{next-overlay-change} to search | 1530 | As an example, here's a simplified (and inefficient) version of the |
| 1531 | for the next character which gets a given property @code{prop} from | 1531 | primitive function @code{next-single-char-property-change} |
| 1532 | either its overlays or its text properties (@pxref{Property Search}): | 1532 | (@pxref{Property Search}). It searches forward from position |
| 1533 | @var{pos} for the next position where the value of a given property | ||
| 1534 | @code{prop}, as obtained from either overlays or text properties, | ||
| 1535 | changes. | ||
| 1533 | 1536 | ||
| 1534 | @smallexample | 1537 | @smallexample |
| 1535 | (defun find-overlay-prop (prop) | 1538 | (defun next-single-char-property-change (position prop) |
| 1536 | (save-excursion | 1539 | (save-excursion |
| 1537 | (while (and (not (eobp)) | 1540 | (goto-char position) |
| 1538 | (not (get-char-property (point) prop))) | 1541 | (let ((propval (get-char-property (point) prop))) |
| 1539 | (goto-char (min (next-overlay-change (point)) | 1542 | (while (and (not (eobp)) |
| 1540 | (next-single-property-change (point) prop)))) | 1543 | (eq (get-char-property (point) prop) propval)) |
| 1544 | (goto-char (min (next-overlay-change (point)) | ||
| 1545 | (next-single-property-change (point) prop))))) | ||
| 1541 | (point))) | 1546 | (point))) |
| 1542 | @end smallexample | 1547 | @end smallexample |
| 1543 | 1548 | ||
| 1544 | Now you can search for a @code{happy} property like this: | ||
| 1545 | |||
| 1546 | @smallexample | ||
| 1547 | (find-overlay-prop 'happy) | ||
| 1548 | @end smallexample | ||
| 1549 | |||
| 1550 | @node Width | 1549 | @node Width |
| 1551 | @section Width | 1550 | @section Width |
| 1552 | 1551 | ||
diff --git a/lispref/markers.texi b/lispref/markers.texi index e8e04479758..b955538fe03 100644 --- a/lispref/markers.texi +++ b/lispref/markers.texi | |||
| @@ -410,10 +410,10 @@ values of point and the mark as arguments to the command in an | |||
| 410 | interactive call, but permits other Lisp programs to specify arguments | 410 | interactive call, but permits other Lisp programs to specify arguments |
| 411 | explicitly. @xref{Interactive Codes}. | 411 | explicitly. @xref{Interactive Codes}. |
| 412 | 412 | ||
| 413 | Each buffer has its own value of the mark that is independent of the | 413 | Each buffer has a marker which represents the value of the mark in |
| 414 | value of the mark in other buffers. When a buffer is created, the mark | 414 | that buffer, independent of any other buffer. When a buffer is newly |
| 415 | exists but does not point anywhere. We consider this state as ``the | 415 | created, this marker exists but does not point anywhere. That means |
| 416 | absence of a mark in that buffer.'' | 416 | the mark ``doesn't exist'' in that buffer as yet. |
| 417 | 417 | ||
| 418 | Once the mark ``exists'' in a buffer, it normally never ceases to | 418 | Once the mark ``exists'' in a buffer, it normally never ceases to |
| 419 | exist. However, it may become @dfn{inactive}, if Transient Mark mode is | 419 | exist. However, it may become @dfn{inactive}, if Transient Mark mode is |
| @@ -452,10 +452,10 @@ inactivity of the mark, and returns the mark position anyway (or | |||
| 452 | @end defun | 452 | @end defun |
| 453 | 453 | ||
| 454 | @defun mark-marker | 454 | @defun mark-marker |
| 455 | This function returns the current buffer's mark. This is the very marker | 455 | This function returns the marker that represents the current buffer's |
| 456 | that records the mark location inside Emacs, not a copy. Therefore, | 456 | mark. It is not a copy, it is the marker used internally. Therefore, |
| 457 | changing this marker's position will directly affect the position of the mark. | 457 | changing this marker's position will directly affect the buffer's |
| 458 | Don't do it unless that is the effect you want. | 458 | mark. Don't do that unless that is the effect you want. |
| 459 | 459 | ||
| 460 | @example | 460 | @example |
| 461 | @group | 461 | @group |
| @@ -472,10 +472,10 @@ Don't do it unless that is the effect you want. | |||
| 472 | @end group | 472 | @end group |
| 473 | @end example | 473 | @end example |
| 474 | 474 | ||
| 475 | Like any marker, this marker can be set to point at any buffer you like. | 475 | Like any marker, this marker can be set to point at any buffer you |
| 476 | We don't recommend that you make it point at any buffer other than the | 476 | like. If you make it point at any buffer other than the one of which |
| 477 | one of which it is the mark. If you do, it will yield perfectly | 477 | it is the mark, it will yield perfectly consistent, but rather odd, |
| 478 | consistent, but rather odd, results. | 478 | results. We recommend that you not do it! |
| 479 | @end defun | 479 | @end defun |
| 480 | 480 | ||
| 481 | @ignore | 481 | @ignore |
diff --git a/lispref/minibuf.texi b/lispref/minibuf.texi index de81e94e54e..1abbb148b85 100644 --- a/lispref/minibuf.texi +++ b/lispref/minibuf.texi | |||
| @@ -629,12 +629,11 @@ match. | |||
| 629 | If @var{collection} is an alist (@pxref{Association Lists}), the | 629 | If @var{collection} is an alist (@pxref{Association Lists}), the |
| 630 | permissible completions are the elements of the alist that are either | 630 | permissible completions are the elements of the alist that are either |
| 631 | strings, symbols, or conses whose @sc{car} is a string or symbol. | 631 | strings, symbols, or conses whose @sc{car} is a string or symbol. |
| 632 | Symbols are converted to strings using @code{symbol-name}. | 632 | Symbols are converted to strings using @code{symbol-name}. Other |
| 633 | Other elements of the alist are ignored. (Remember that in Emacs Lisp, | 633 | elements of the alist are ignored. (Remember that in Emacs Lisp, the |
| 634 | the elements of alists do not @emph{have} to be conses.) As all | 634 | elements of alists do not @emph{have} to be conses.) In particular, a |
| 635 | elements of the alist can be strings, this case actually includes | 635 | list of strings or symbols is allowed, even though we usually do not |
| 636 | lists of strings or symbols, even though we usually do not think of | 636 | think of such lists as alists. |
| 637 | such lists as alists. | ||
| 638 | 637 | ||
| 639 | @cindex obarray in completion | 638 | @cindex obarray in completion |
| 640 | If @var{collection} is an obarray (@pxref{Creating Symbols}), the names | 639 | If @var{collection} is an obarray (@pxref{Creating Symbols}), the names |
diff --git a/lispref/modes.texi b/lispref/modes.texi index cfa9e90d793..6eba02d5a0b 100644 --- a/lispref/modes.texi +++ b/lispref/modes.texi | |||
| @@ -256,7 +256,9 @@ Fundamental mode. Rmail mode is a complicated and specialized mode. | |||
| 256 | The code for existing major modes follows various coding conventions, | 256 | The code for existing major modes follows various coding conventions, |
| 257 | including conventions for local keymap and syntax table initialization, | 257 | including conventions for local keymap and syntax table initialization, |
| 258 | global names, and hooks. Please follow these conventions when you | 258 | global names, and hooks. Please follow these conventions when you |
| 259 | define a new major mode. | 259 | define a new major mode. (Fundamental mode is an exception to many |
| 260 | of these conventions, because its definition is to present the global | ||
| 261 | state of Emacs.) | ||
| 260 | 262 | ||
| 261 | This list of conventions is only partial, because each major mode | 263 | This list of conventions is only partial, because each major mode |
| 262 | should aim for consistency in general with other Emacs major modes. | 264 | should aim for consistency in general with other Emacs major modes. |
diff --git a/lispref/nonascii.texi b/lispref/nonascii.texi index d733cc80860..3661079c56e 100644 --- a/lispref/nonascii.texi +++ b/lispref/nonascii.texi | |||
| @@ -111,6 +111,13 @@ out of range, the value is @code{nil}. | |||
| 111 | Return @code{t} if @var{string} is a multibyte string. | 111 | Return @code{t} if @var{string} is a multibyte string. |
| 112 | @end defun | 112 | @end defun |
| 113 | 113 | ||
| 114 | @defun string-bytes string | ||
| 115 | @cindex string, number of bytes | ||
| 116 | This function returns the number of bytes in @var{string}. | ||
| 117 | If @var{string} is a multibyte string, this can be greater than | ||
| 118 | @code{(length @var{string})}. | ||
| 119 | @end defun | ||
| 120 | |||
| 114 | @node Converting Representations | 121 | @node Converting Representations |
| 115 | @section Converting Text Representations | 122 | @section Converting Text Representations |
| 116 | 123 | ||
diff --git a/lispref/sequences.texi b/lispref/sequences.texi index 8087b8051cb..ac5a16e261f 100644 --- a/lispref/sequences.texi +++ b/lispref/sequences.texi | |||
| @@ -111,12 +111,8 @@ Emacs character code. | |||
| 111 | @end example | 111 | @end example |
| 112 | @end defun | 112 | @end defun |
| 113 | 113 | ||
| 114 | @defun string-bytes string | 114 | @noindent |
| 115 | @cindex string, number of bytes | 115 | See also @code{string-bytes}, in @ref{Text Representations}. |
| 116 | This function returns the number of bytes in @var{string}. | ||
| 117 | If @var{string} is a multibyte string, this is greater than | ||
| 118 | @code{(length @var{string})}. | ||
| 119 | @end defun | ||
| 120 | 116 | ||
| 121 | @defun elt sequence index | 117 | @defun elt sequence index |
| 122 | @cindex elements of sequences | 118 | @cindex elements of sequences |
diff --git a/lispref/strings.texi b/lispref/strings.texi index e1824518abd..23f679d5bb9 100644 --- a/lispref/strings.texi +++ b/lispref/strings.texi | |||
| @@ -821,18 +821,19 @@ operation} error. | |||
| 821 | 821 | ||
| 822 | @cindex field width | 822 | @cindex field width |
| 823 | @cindex padding | 823 | @cindex padding |
| 824 | All the specification characters allow an optional ``width,'' which | 824 | A specification can have a @dfn{width}, which is a signed decimal |
| 825 | is a digit-string between the @samp{%} and the character. If the | 825 | number between the @samp{%} and the specification character. If the |
| 826 | printed representation of the object contains fewer characters than | 826 | printed representation of the object contains fewer characters than |
| 827 | this width, then it is padded. The padding is on the left if the | 827 | this width, @code{format} extends it with padding. The padding goes |
| 828 | width is positive (or starts with zero) and on the right if the | 828 | on the left if the width is positive (or starts with zero) and on the |
| 829 | width is negative. The padding character is normally a space, but if | 829 | right if the width is negative. The padding character is normally a |
| 830 | the width starts with a zero, zeros are used for padding. Some of | 830 | space, but it's @samp{0} if the width starts with a zero. |
| 831 | these conventions are ignored for specification characters for which | 831 | |
| 832 | they do not make sense. That is, @samp{%s}, @samp{%S} and @samp{%c} | 832 | Some of these conventions are ignored for specification characters |
| 833 | accept a width starting with 0, but still pad with @emph{spaces} on | 833 | for which they do not make sense. That is, @samp{%s}, @samp{%S} and |
| 834 | the left. Also, @samp{%%} accepts a width, but ignores it. Here are | 834 | @samp{%c} accept a width starting with 0, but still pad with |
| 835 | some examples of padding: | 835 | @emph{spaces} on the left. Also, @samp{%%} accepts a width, but |
| 836 | ignores it. Here are some examples of padding: | ||
| 836 | 837 | ||
| 837 | @example | 838 | @example |
| 838 | (format "%06d is padded on the left with zeros" 123) | 839 | (format "%06d is padded on the left with zeros" 123) |
| @@ -842,15 +843,16 @@ some examples of padding: | |||
| 842 | @result{} "123 is padded on the right" | 843 | @result{} "123 is padded on the right" |
| 843 | @end example | 844 | @end example |
| 844 | 845 | ||
| 846 | @noindent | ||
| 845 | If the width is too small, @code{format} does not truncate the | 847 | If the width is too small, @code{format} does not truncate the |
| 846 | object's printed representation. Thus, you can use a width to specify | 848 | object's printed representation. Thus, you can use a width to specify |
| 847 | a minimum spacing between columns with no risk of losing information. | 849 | a minimum spacing between columns with no risk of losing information. |
| 848 | 850 | ||
| 849 | In the following three examples, @samp{%7s} specifies a minimum width | 851 | In the following three examples, @samp{%7s} specifies a minimum |
| 850 | of 7. In the first case, the string inserted in place of @samp{%7s} has | 852 | width of 7. In the first case, the string inserted in place of |
| 851 | only 3 letters, so 4 blank spaces are inserted for padding. In the | 853 | @samp{%7s} has only 3 letters, it needs 4 blank spaces as padding. In |
| 852 | second case, the string @code{"specification"} is 13 letters wide but is | 854 | the second case, the string @code{"specification"} is 13 letters wide |
| 853 | not truncated. In the third case, the padding is on the right. | 855 | but is not truncated. In the third case, the padding is on the right. |
| 854 | 856 | ||
| 855 | @smallexample | 857 | @smallexample |
| 856 | @group | 858 | @group |
| @@ -873,32 +875,35 @@ not truncated. In the third case, the padding is on the right. | |||
| 873 | @end smallexample | 875 | @end smallexample |
| 874 | 876 | ||
| 875 | @cindex precision in format specifications | 877 | @cindex precision in format specifications |
| 876 | All the specification characters allow an optional ``precision'' | 878 | All the specification characters allow an optional @dfn{precision} |
| 877 | before the character (after the width, if present). The precision is | 879 | before the character (after the width, if present). The precision is |
| 878 | a decimal-point @samp{.} followed by a digit-string. For the | 880 | a decimal-point @samp{.} followed by a digit-string. For the |
| 879 | floating-point specifications (@samp{%e}, @samp{%f}, @samp{%g}), the | 881 | floating-point specifications (@samp{%e}, @samp{%f}, @samp{%g}), the |
| 880 | precision specifies how many decimal places to show; if zero, the | 882 | precision specifies how many decimal places to show; if zero, the |
| 881 | decimal-point itself is also omitted. For @samp{%s} and @samp{%S}, | 883 | decimal-point itself is also omitted. For @samp{%s} and @samp{%S}, |
| 882 | the precision truncates the string to the given width, so | 884 | the precision truncates the string to the given width, so @samp{%.3s} |
| 883 | @samp{%.3s} shows only the first three characters of the | 885 | shows only the first three characters of the representation for |
| 884 | representation for @var{object}. Precision is ignored for other | 886 | @var{object}. Precision has no effect for other specification |
| 885 | specification characters. | 887 | characters. |
| 886 | 888 | ||
| 887 | @cindex flags in format specifications | 889 | @cindex flags in format specifications |
| 888 | Immediately after the @samp{%} and before the optional width and | 890 | Immediately after the @samp{%} and before the optional width and |
| 889 | precision, you can put certain ``flag'' characters. | 891 | precision, you can put certain ``flag'' characters. |
| 890 | 892 | ||
| 891 | A space character inserts a space for positive numbers, a plus character | 893 | @samp{+} as a flag inserts a plus sign before a positive number, so |
| 892 | inserts a plus sign (otherwise nothing is inserted for positive | 894 | that it always has a sign. A space character as flag inserts a space |
| 893 | numbers). These flags are ignored except for @samp{%d}, @samp{%e}, | 895 | before a positive number. (Otherwise, positive numbers start with the |
| 894 | @samp{%f}, @samp{%g}, and if both flags are present the space is | 896 | first digit.) Either of these two flags ensures that positive numbers |
| 895 | ignored. | 897 | and negative numbers use the same number of columns. These flags are |
| 896 | 898 | ignored except for @samp{%d}, @samp{%e}, @samp{%f}, @samp{%g}, and if | |
| 897 | The flag @samp{#} indicates ``alternate form.'' For @samp{%o} it | 899 | both flags are used, the @samp{+} takes precedence. |
| 898 | ensures that the result begins with a 0. For @samp{%x} and @samp{%X} | 900 | |
| 899 | the result is prefixed with @samp{0x} or @samp{0X}. For @samp{%e}, | 901 | The flag @samp{#} specifies an ``alternate form'' which depends on |
| 900 | @samp{%f}, and @samp{%g} a decimal point is always shown even if the | 902 | the format in use. For @samp{%o} it ensures that the result begins |
| 901 | precision is zero. | 903 | with a @samp{0}. For @samp{%x} and @samp{%X}, it prefixes the result |
| 904 | with @samp{0x} or @samp{0X}. For @samp{%e}, @samp{%f}, and @samp{%g}, | ||
| 905 | the @samp{#} flag means include a decimal point even if the precision | ||
| 906 | is zero. | ||
| 902 | 907 | ||
| 903 | @node Case Conversion | 908 | @node Case Conversion |
| 904 | @comment node-name, next, previous, up | 909 | @comment node-name, next, previous, up |
diff --git a/lispref/syntax.texi b/lispref/syntax.texi index 85dcb83bd50..47f09944880 100644 --- a/lispref/syntax.texi +++ b/lispref/syntax.texi | |||
| @@ -873,7 +873,8 @@ can still override the syntax.) | |||
| 873 | @defopt parse-sexp-ignore-comments | 873 | @defopt parse-sexp-ignore-comments |
| 874 | @cindex skipping comments | 874 | @cindex skipping comments |
| 875 | If the value is non-@code{nil}, then comments are treated as | 875 | If the value is non-@code{nil}, then comments are treated as |
| 876 | whitespace by the functions in this section and by @code{forward-sexp}. | 876 | whitespace by the functions in this section and by @code{forward-sexp}, |
| 877 | @code{scan-lists} and @code{scan-sexps}. | ||
| 877 | @end defopt | 878 | @end defopt |
| 878 | 879 | ||
| 879 | @vindex parse-sexp-lookup-properties | 880 | @vindex parse-sexp-lookup-properties |
diff --git a/lispref/variables.texi b/lispref/variables.texi index 8d3e0bb5c25..56732d22db6 100644 --- a/lispref/variables.texi +++ b/lispref/variables.texi | |||
| @@ -1654,10 +1654,21 @@ This section describes the functions and variables that affect | |||
| 1654 | processing of file local variables. | 1654 | processing of file local variables. |
| 1655 | 1655 | ||
| 1656 | @defopt enable-local-variables | 1656 | @defopt enable-local-variables |
| 1657 | This variable controls whether to process file local variables. A | 1657 | This variable controls whether to process file local variables. |
| 1658 | value of @code{t} means to process them, querying the user if unsafe | 1658 | The possible values are: |
| 1659 | variables are encountered; @code{nil} means ignore them; anything else | 1659 | |
| 1660 | means to query the user for each file. The default value is @code{t}. | 1660 | @table @asis |
| 1661 | @item @code{t} (the default) | ||
| 1662 | Set the safe variables, and query (once) about any unsafe variables. | ||
| 1663 | @item @code{:safe} | ||
| 1664 | Set only the safe variables and do not query. | ||
| 1665 | @item @code{:all} | ||
| 1666 | Set all the variables and do not query. | ||
| 1667 | @item @code{nil} | ||
| 1668 | Don't set any variables. | ||
| 1669 | @item anything else | ||
| 1670 | Query (once) about all the variables. | ||
| 1671 | @end table | ||
| 1661 | @end defopt | 1672 | @end defopt |
| 1662 | 1673 | ||
| 1663 | @defun hack-local-variables &optional mode-only | 1674 | @defun hack-local-variables &optional mode-only |
diff --git a/man/ChangeLog b/man/ChangeLog index ad357f99680..7666c91261c 100644 --- a/man/ChangeLog +++ b/man/ChangeLog | |||
| @@ -1,3 +1,18 @@ | |||
| 1 | 2007-03-11 Andreas Seltenreich <uwi7@rz.uni-karlsruhe.de> | ||
| 2 | |||
| 3 | * gnus.texi (Mail and Post): Update documentation for gnus-user-agent. | ||
| 4 | The variable now uses a list of symbols instead of just a symbol. | ||
| 5 | Reported by Christoph Conrad <christoph.conrad@gmx.de>. | ||
| 6 | |||
| 7 | 2007-03-06 Romain Francoise <romain@orebokech.com> | ||
| 8 | |||
| 9 | * faq.texi (New in Emacs 22): Don't say "now" too much. Add MH-E to | ||
| 10 | new packages, and mention Gnus update. | ||
| 11 | |||
| 12 | 2007-03-04 Richard Stallman <rms@gnu.org> | ||
| 13 | |||
| 14 | * custom.texi (Safe File Variables): Minor correction. | ||
| 15 | |||
| 1 | 2007-02-27 Katsumi Yamaoka <yamaoka@jpl.org> | 16 | 2007-02-27 Katsumi Yamaoka <yamaoka@jpl.org> |
| 2 | 17 | ||
| 3 | * gnus.texi (NNTP): Mention nntp-never-echoes-commands and | 18 | * gnus.texi (NNTP): Mention nntp-never-echoes-commands and |
diff --git a/man/custom.texi b/man/custom.texi index 40eefba1ba3..40a0f8d0b2c 100644 --- a/man/custom.texi +++ b/man/custom.texi | |||
| @@ -1247,7 +1247,7 @@ processes @code{eval} variables. The three possibilities for the | |||
| 1247 | variable's value are @code{t}, @code{nil}, and anything else, just as | 1247 | variable's value are @code{t}, @code{nil}, and anything else, just as |
| 1248 | for @code{enable-local-variables}. The default is @code{maybe}, which | 1248 | for @code{enable-local-variables}. The default is @code{maybe}, which |
| 1249 | is neither @code{t} nor @code{nil}, so normally Emacs does ask for | 1249 | is neither @code{t} nor @code{nil}, so normally Emacs does ask for |
| 1250 | confirmation about processes @code{eval} variables. | 1250 | confirmation about processing @code{eval} variables. |
| 1251 | 1251 | ||
| 1252 | @vindex safe-local-eval-forms | 1252 | @vindex safe-local-eval-forms |
| 1253 | But there is an exception. The @code{safe-local-eval-forms} is a | 1253 | But there is an exception. The @code{safe-local-eval-forms} is a |
diff --git a/man/faq.texi b/man/faq.texi index b800ffac69a..a8feffa46e4 100644 --- a/man/faq.texi +++ b/man/faq.texi | |||
| @@ -1147,39 +1147,40 @@ and on @code{xterm} with @kbd{emacs -nw}. | |||
| 1147 | @cindex Recently introduced features | 1147 | @cindex Recently introduced features |
| 1148 | 1148 | ||
| 1149 | @cindex Default features | 1149 | @cindex Default features |
| 1150 | Font Lock mode, auto-compression mode, and file name shadow mode are now | 1150 | Font Lock mode, auto-compression mode, and file name shadow mode are |
| 1151 | enabled by default. On graphics displays it is now possible to follow | 1151 | enabled by default. On graphics displays it is possible to follow links |
| 1152 | links with @kbd{mouse-1}, and the modeline of the selected window is now | 1152 | with @kbd{mouse-1}. The modeline of the selected window is now |
| 1153 | highlighted. Window fringes are now customizable. The minibuffer | 1153 | highlighted. Window fringes are customizable. The minibuffer prompt is |
| 1154 | prompt is now displayed in a distinct face. | 1154 | displayed in a distinct face. |
| 1155 | 1155 | ||
| 1156 | Emacs now reads abbrev definitions automatically at startup. The | 1156 | Emacs now reads abbrev definitions automatically at startup. The |
| 1157 | maximum size of buffers has been doubled and is now 256M on 32-bit | 1157 | maximum size of buffers has been doubled and is 256M on 32-bit machines. |
| 1158 | machines. Grep mode is now separate from Compilation mode and has many | 1158 | Grep mode is separate from Compilation mode and has many new specific |
| 1159 | new specific options and commands. | 1159 | options and commands. |
| 1160 | 1160 | ||
| 1161 | The original Emacs macro system has been replaced by the new Kmacro | 1161 | The original Emacs macro system has been replaced by the new Kmacro |
| 1162 | package, which provides many new commands and features and a simple | 1162 | package, which provides many new commands and features and a simple |
| 1163 | interface that uses the function keys F3 and F4. Macros are now stored | 1163 | interface that uses the function keys F3 and F4. Macros are stored |
| 1164 | in a macro ring, and can be debugged and edited interactively. | 1164 | in a macro ring, and can be debugged and edited interactively. |
| 1165 | 1165 | ||
| 1166 | The GUD (Grand Unified Debugger) package can now be used with a full | 1166 | The GUD (Grand Unified Debugger) package can now be used with a full |
| 1167 | graphical user interface to the debugger which provides many features | 1167 | graphical user interface to the debugger which provides many features |
| 1168 | found in traditional development environments, making it easy to | 1168 | found in traditional development environments, making it easy to |
| 1169 | manipulate breakpoints, add watch points, display the call stack, etc. | 1169 | manipulate breakpoints, add watch points, display the call stack, etc. |
| 1170 | Breakpoints are now displayed in the source buffer. | 1170 | Breakpoints are displayed in the source buffer. |
| 1171 | 1171 | ||
| 1172 | @cindex GTK+ Toolkit | 1172 | @cindex GTK+ Toolkit |
| 1173 | @cindex Drag-and-drop | 1173 | @cindex Drag-and-drop |
| 1174 | @cindex Mouse wheel | 1174 | @cindex Mouse wheel |
| 1175 | Emacs can now be built with GTK+ widgets, and supports drag-and-drop | 1175 | Emacs can be built with GTK+ widgets, and supports drag-and-drop |
| 1176 | operation on X. Mouse wheel support is now enabled by default. | 1176 | operation on X. Mouse wheel support is enabled by default. |
| 1177 | 1177 | ||
| 1178 | @cindex New modes | 1178 | @cindex New modes |
| 1179 | Many new modes and packages have been included in Emacs, such as Calc, | 1179 | Many new modes and packages have been included in Emacs, such as MH-E, |
| 1180 | Tramp and URL, as well as IDO, CUA, rcirc, ERC, conf-mode, python-mode, | 1180 | Calc, Tramp and URL, as well as IDO, CUA, rcirc, ERC, conf-mode, |
| 1181 | table, tumme, SES, ruler, Flymake, Org, PGG, wdired, t-mouse, longlines, | 1181 | python-mode, table, tumme, SES, ruler, Flymake, Org, PGG, wdired, |
| 1182 | dns-mode, savehist, Password, Printing, Reveal, etc. | 1182 | t-mouse, longlines, dns-mode, savehist, Password, Printing, Reveal, etc. |
| 1183 | Gnus has been updated to version 5.11. | ||
| 1183 | 1184 | ||
| 1184 | @cindex Multilingual Environment | 1185 | @cindex Multilingual Environment |
| 1185 | Leim is now part of Emacs. Unicode support has been much improved, and | 1186 | Leim is now part of Emacs. Unicode support has been much improved, and |
diff --git a/man/gnus.texi b/man/gnus.texi index e2adfae2253..2ca1d225786 100644 --- a/man/gnus.texi +++ b/man/gnus.texi | |||
| @@ -11799,12 +11799,12 @@ still a pain, though. | |||
| 11799 | @cindex User-Agent | 11799 | @cindex User-Agent |
| 11800 | 11800 | ||
| 11801 | This variable controls which information should be exposed in the | 11801 | This variable controls which information should be exposed in the |
| 11802 | User-Agent header. It can be one of the symbols @code{gnus} (show only | 11802 | User-Agent header. It can be a list of symbols or a string. Valid |
| 11803 | Gnus version), @code{emacs-gnus} (show only Emacs and Gnus versions), | 11803 | symbols are @code{gnus} (show Gnus version) and @code{emacs} (show Emacs |
| 11804 | @code{emacs-gnus-config} (same as @code{emacs-gnus} plus system | 11804 | version). In addition to the Emacs version, you can add @code{codename} |
| 11805 | configuration), @code{emacs-gnus-type} (same as @code{emacs-gnus} plus | 11805 | (show (S)XEmacs codename) or either @code{config} (show system |
| 11806 | system type) or a custom string. If you set it to a string, be sure to | 11806 | configuration) or @code{type} (show system type). If you set it to a |
| 11807 | use a valid format, see RFC 2616. | 11807 | string, be sure to use a valid format, see RFC 2616. |
| 11808 | 11808 | ||
| 11809 | @end table | 11809 | @end table |
| 11810 | 11810 | ||
diff --git a/nt/ChangeLog b/nt/ChangeLog index 5df79a70fc1..3d5383fdc28 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog | |||
| @@ -1,7 +1,10 @@ | |||
| 1 | 2007-03-09 Richard Stallman <rms@gnu.org> | ||
| 2 | |||
| 3 | * INSTALL: Say explicitly this is not for Cygwin. | ||
| 4 | |||
| 1 | 2007-03-03 Eli Zaretskii <eliz@gnu.org> | 5 | 2007-03-03 Eli Zaretskii <eliz@gnu.org> |
| 2 | 6 | ||
| 3 | * INSTALL: Add URL of another site with detailed build | 7 | * INSTALL: Add URL of another site with detailed build instructions. |
| 4 | instructions. | ||
| 5 | 8 | ||
| 6 | 2007-02-16 Glenn Morris <rgm@gnu.org> | 9 | 2007-02-16 Glenn Morris <rgm@gnu.org> |
| 7 | 10 | ||
| @@ -9,8 +12,8 @@ | |||
| 9 | * icons/gnu2b48t.ico, icons/gnu3b32.ico, icons/gnu3b32t.ico: | 12 | * icons/gnu2b48t.ico, icons/gnu3b32.ico, icons/gnu3b32t.ico: |
| 10 | * icons/gnu4g48.ico, icons/gnu4g48t.ico, icons/gnu5w32.ico: | 13 | * icons/gnu4g48.ico, icons/gnu4g48t.ico, icons/gnu5w32.ico: |
| 11 | * icons/gnu5w32t.ico, icons/gnu6w48.ico, icons/gnu6w48t.ico: | 14 | * icons/gnu5w32t.ico, icons/gnu6w48.ico, icons/gnu6w48t.ico: |
| 12 | * icons/gnu7.ico, icons/gnu8.ico, icons/gnu9.ico: Restore all but | 15 | * icons/gnu7.ico, icons/gnu8.ico, icons/gnu9.ico: |
| 13 | two of icons deleted in previous change. | 16 | Restore all but two of icons deleted in previous change. |
| 14 | 17 | ||
| 15 | 2007-02-13 Chong Yidong <cyd@stupidchicken.com> | 18 | 2007-02-13 Chong Yidong <cyd@stupidchicken.com> |
| 16 | 19 | ||
| @@ -21,8 +24,8 @@ | |||
| 21 | * icons/gnu4g48.ico, icons/gnu6w48.ico, icons/gnu9.ico: | 24 | * icons/gnu4g48.ico, icons/gnu6w48.ico, icons/gnu9.ico: |
| 22 | * icons/gnu2b48t.ico, icons/gnu4g48t.ico: | 25 | * icons/gnu2b48t.ico, icons/gnu4g48t.ico: |
| 23 | * icons/gnu6w48t.ico, icons/gnu2a32.ico, icons/gnu3b32.ico: | 26 | * icons/gnu6w48t.ico, icons/gnu2a32.ico, icons/gnu3b32.ico: |
| 24 | * icons/gnu5w32.ico, icons/gnu7.ico, icons/sink.ico: Unused icons | 27 | * icons/gnu5w32.ico, icons/gnu7.ico, icons/sink.ico: |
| 25 | deleted. | 28 | Unused icons deleted. |
| 26 | 29 | ||
| 27 | 2007-01-31 Juanma Barranquero <lekktu@gmail.com> | 30 | 2007-01-31 Juanma Barranquero <lekktu@gmail.com> |
| 28 | 31 | ||
| @@ -40,7 +43,7 @@ | |||
| 40 | 43 | ||
| 41 | * nmake.defs (TEMACS_EXTRA_LINK): Remove duplicated flags from | 44 | * nmake.defs (TEMACS_EXTRA_LINK): Remove duplicated flags from |
| 42 | DEBUG_LINK. | 45 | DEBUG_LINK. |
| 43 | (DEBUG_LINK): Remove -debugtype:both | 46 | (DEBUG_LINK): Remove -debugtype:both. |
| 44 | 47 | ||
| 45 | 2006-12-27 Eli Zaretskii <eliz@gnu.org> | 48 | 2006-12-27 Eli Zaretskii <eliz@gnu.org> |
| 46 | 49 | ||
| @@ -812,8 +815,7 @@ | |||
| 812 | 815 | ||
| 813 | * install.bat: Pass on command line arguments to make. | 816 | * install.bat: Pass on command line arguments to make. |
| 814 | 817 | ||
| 815 | * makefile.nt (fast_install): Bring commands up-to-date, and fix | 818 | * makefile.nt (fast_install): Bring commands up-to-date, and fix typo. |
| 816 | typo. | ||
| 817 | 819 | ||
| 818 | 1999-11-21 Andrew Innes <andrewi@gnu.org> | 820 | 1999-11-21 Andrew Innes <andrewi@gnu.org> |
| 819 | 821 | ||
diff --git a/nt/INSTALL b/nt/INSTALL index cc677c3486d..dc88bfd9975 100644 --- a/nt/INSTALL +++ b/nt/INSTALL | |||
| @@ -8,8 +8,11 @@ | |||
| 8 | * For the impatient | 8 | * For the impatient |
| 9 | 9 | ||
| 10 | Here are the concise instructions for configuring and building the | 10 | Here are the concise instructions for configuring and building the |
| 11 | native Win32 binary of Emacs on Windows, for those who want to skip | 11 | native Windows binary of Emacs, for those who want to skip the |
| 12 | the complex explanations and ``just do it'': | 12 | complex explanations and ``just do it'': |
| 13 | |||
| 14 | Do not use this recipe with Cygwin. For building on Cygwin, | ||
| 15 | use the normal installation instructions, ../INSTALL. | ||
| 13 | 16 | ||
| 14 | 1. Change to the `nt' directory (the directory of this file): | 17 | 1. Change to the `nt' directory (the directory of this file): |
| 15 | 18 | ||
| @@ -75,6 +78,11 @@ | |||
| 75 | 78 | ||
| 76 | * Preliminaries | 79 | * Preliminaries |
| 77 | 80 | ||
| 81 | If you want to build a Cygwin port of Emacs, use the instructions in | ||
| 82 | the INSTALL file in the main Emacs directory (the parent of this | ||
| 83 | directory). These instructions are for building a native Windows | ||
| 84 | binary of Emacs. | ||
| 85 | |||
| 78 | If you used WinZip to unpack the distribution, we suggest to | 86 | If you used WinZip to unpack the distribution, we suggest to |
| 79 | remove the files and unpack again with a different program! | 87 | remove the files and unpack again with a different program! |
| 80 | WinZip is known to create some subtle and hard to debug problems, | 88 | WinZip is known to create some subtle and hard to debug problems, |
diff --git a/src/ChangeLog b/src/ChangeLog index af6d98afb2a..2c241cd2a51 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,12 +1,90 @@ | |||
| 1 | 2007-03-11 Sam Steingold <sds@gnu.org> | ||
| 2 | |||
| 3 | * process.c (sigchld_handler): Sleep before wait3 to avoid a busyloop. | ||
| 4 | |||
| 5 | 2007-03-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 6 | |||
| 7 | * macfns.c (Fx_server_vendor): Change vendor string to "Apple Inc.". | ||
| 8 | |||
| 9 | 2007-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 10 | |||
| 11 | * macterm.c [USE_CARBON_EVENTS] (mac_handle_mouse_event): Ignore | ||
| 12 | mouse wheel movement on title bar or tool bar. | ||
| 13 | |||
| 14 | 2007-03-10 Chong Yidong <cyd@stupidchicken.com> | ||
| 15 | |||
| 16 | * keyboard.c (help_form_saved_window_configs): New var. | ||
| 17 | (read_char_help_form_unwind): New function. | ||
| 18 | (read_char): Don't restore window configuration if a mouse click | ||
| 19 | arrives while the help form is being displayed. | ||
| 20 | |||
| 21 | 2007-03-10 Kim F. Storm <storm@cua.dk> | ||
| 22 | |||
| 23 | * xdisp.c (redisplay_window): Don't automatically select a new window | ||
| 24 | start for a contination line during mouse-click. | ||
| 25 | |||
| 26 | 2007-03-09 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 27 | |||
| 28 | * xterm.c (handle_one_xevent): Ignore buttons > 3 for the tool bar. | ||
| 29 | |||
| 30 | 2007-03-09 Juanma Barranquero <lekktu@gmail.com> | ||
| 31 | |||
| 32 | * keymap.c (Fdescribe_buffer_bindings): Check that BUFFER is valid. | ||
| 33 | |||
| 34 | 2007-03-08 Richard Stallman <rms@gnu.org> | ||
| 35 | |||
| 36 | * keyboard.c (syms_of_keyboard): Doc fix. | ||
| 37 | |||
| 38 | 2007-03-08 Chong Yidong <cyd@stupidchicken.com> | ||
| 39 | |||
| 40 | * minibuf.c (Ftry_completion): Don't short circuit if | ||
| 41 | completion-ignore-case is non-nil. | ||
| 42 | |||
| 43 | 2007-03-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 44 | |||
| 45 | * macfns.c (mac_set_scroll_bar_width, mac_frame_parm_handlers): | ||
| 46 | Undo 2006-03-06 changes. | ||
| 47 | |||
| 48 | * macterm.c (XTset_vertical_scroll_bar) [MAC_OSX]: Don't show scroll | ||
| 49 | bar if its width is smaller than that of Aqua small scroll bar. | ||
| 50 | |||
| 51 | 2007-03-07 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 52 | |||
| 53 | * minibuf.c (read_minibuf): Bind inhibit-read-only a bit longer so as | ||
| 54 | to handle correctly prompts with read-only property. | ||
| 55 | |||
| 56 | 2007-03-06 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 57 | |||
| 58 | * sound.c (wav_play): Check header->data_length to see how much we | ||
| 59 | shall read. | ||
| 60 | (alsa_period_size): Convert ALSA period size in frames to bytes. | ||
| 61 | (alsa_write): Return if frames is zero. | ||
| 62 | |||
| 63 | 2007-03-06 Kenichi Handa <handa@m17n.org> | ||
| 64 | |||
| 65 | * xselect.c (Vselection_coding_system): Documentation improved. | ||
| 66 | |||
| 67 | 2007-03-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 68 | |||
| 69 | * macterm.c (x_scroll_bar_create, XTread_socket): Replace #if | ||
| 70 | USE_TOOLKIT_SCROLL_BARS with #ifdef USE_TOOLKIT_SCROLL_BARS. | ||
| 71 | (x_set_window_size): Call SET_FRAME_GARBAGED. Clear window if | ||
| 72 | internal border width has changed. | ||
| 73 | |||
| 74 | * macterm.h (struct mac_output): New member `internal_border_width'. | ||
| 75 | |||
| 76 | 2007-03-04 Richard Stallman <rms@gnu.org> | ||
| 77 | |||
| 78 | * window.c (Fdisplay_buffer): Doc fix. | ||
| 79 | |||
| 1 | 2007-03-03 Glenn Morris <rgm@gnu.org> | 80 | 2007-03-03 Glenn Morris <rgm@gnu.org> |
| 2 | 81 | ||
| 3 | * Makefile.in: Don't clear out LIB_X11_LIB, since XFT_LIBS does | 82 | * Makefile.in: Don't clear out LIB_X11_LIB, since XFT_LIBS does |
| 4 | not include -lX11 on Solaris. | 83 | not include -lX11 on Solaris. |
| 5 | 84 | ||
| 6 | 2007-03-02 Stuart D. Herring <herring@lanl.gov> | 85 | 2007-03-02 Stuart D. Herring <herring@lanl.gov> |
| 7 | 86 | ||
| 8 | * keymap.c (Fkey_binding): Don't consider two-element lists as | 87 | * keymap.c (Fkey_binding): Don't consider one-element lists as events. |
| 9 | events. | ||
| 10 | 88 | ||
| 11 | 2007-03-01 Kenichi Handa <handa@m17n.org> | 89 | 2007-03-01 Kenichi Handa <handa@m17n.org> |
| 12 | 90 | ||
| @@ -35,8 +113,8 @@ | |||
| 35 | (x_scroll_bar_create, XTset_vertical_scroll_bar) | 113 | (x_scroll_bar_create, XTset_vertical_scroll_bar) |
| 36 | [USE_TOOLKIT_SCROLL_BARS]: Initialize bar->min_handle. | 114 | [USE_TOOLKIT_SCROLL_BARS]: Initialize bar->min_handle. |
| 37 | 115 | ||
| 38 | * macterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]: New | 116 | * macterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]: |
| 39 | member `min_handle'. | 117 | New member `min_handle'. |
| 40 | 118 | ||
| 41 | 2007-02-23 Kim F. Storm <storm@cua.dk> | 119 | 2007-02-23 Kim F. Storm <storm@cua.dk> |
| 42 | 120 | ||
| @@ -59,11 +137,11 @@ | |||
| 59 | (mac_flush_display_optional) [USE_CG_DRAWING]: New function. | 137 | (mac_flush_display_optional) [USE_CG_DRAWING]: New function. |
| 60 | (x_redisplay_interface) [USE_CG_DRAWING]: Set it as handler for | 138 | (x_redisplay_interface) [USE_CG_DRAWING]: Set it as handler for |
| 61 | flush_display_optional. | 139 | flush_display_optional. |
| 62 | [USE_TOOLKIT_SCROLL_BARS] (x_scroll_bar_handle_press): New | 140 | [USE_TOOLKIT_SCROLL_BARS] (x_scroll_bar_handle_press): |
| 63 | argument MOUSE_POS. All uses changed. Set bar->dragging to | 141 | New argument MOUSE_POS. All uses changed. Set bar->dragging to |
| 64 | negative integer if scroll bar handle is pressed. | 142 | negative integer if scroll bar handle is pressed. |
| 65 | [USE_TOOLKIT_SCROLL_BARS] (x_scroll_bar_handle_release): Negative | 143 | [USE_TOOLKIT_SCROLL_BARS] (x_scroll_bar_handle_release): |
| 66 | bar->dragging means scroll bar handle is not dragged. | 144 | Negative bar->dragging means scroll bar handle is not dragged. |
| 67 | [USE_TOOLKIT_SCROLL_BARS] (x_scroll_bar_handle_drag): Get initial | 145 | [USE_TOOLKIT_SCROLL_BARS] (x_scroll_bar_handle_drag): Get initial |
| 68 | offset of scroll bar handle from negative bar->dragging. | 146 | offset of scroll bar handle from negative bar->dragging. |
| 69 | (XTread_socket) [USE_TOOLKIT_SCROLL_BARS]: Modifiers for scroll | 147 | (XTread_socket) [USE_TOOLKIT_SCROLL_BARS]: Modifiers for scroll |
| @@ -98,8 +176,7 @@ | |||
| 98 | 176 | ||
| 99 | * w32menu.c (current_popup_menu): Make available globally. | 177 | * w32menu.c (current_popup_menu): Make available globally. |
| 100 | (menubar_selection_callback): Free menu strings before pushing the | 178 | (menubar_selection_callback): Free menu strings before pushing the |
| 101 | menu event into the keyboard buffer. Remove | 179 | menu event into the keyboard buffer. Remove menu_command_in_progress. |
| 102 | menu_command_in_progress. | ||
| 103 | 180 | ||
| 104 | * w32fns.c (current_popup_menu): Use from w32menu.c. | 181 | * w32fns.c (current_popup_menu): Use from w32menu.c. |
| 105 | (w32_wnd_proc) [WM_EXITMENULOOP, WM_TIMER]: Use menubar_active | 182 | (w32_wnd_proc) [WM_EXITMENULOOP, WM_TIMER]: Use menubar_active |
| @@ -369,8 +446,8 @@ | |||
| 369 | 446 | ||
| 370 | 2007-01-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 447 | 2007-01-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
| 371 | 448 | ||
| 372 | * macmenu.c (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Use | 449 | * macmenu.c (create_and_show_dialog) [TARGET_API_MAC_CARBON]: |
| 373 | DisableControl for disabled items. Set default button to first | 450 | Use DisableControl for disabled items. Set default button to first |
| 374 | enabled one. Use icon of application in execution. | 451 | enabled one. Use icon of application in execution. |
| 375 | 452 | ||
| 376 | 2007-01-13 Eli Zaretskii <eliz@gnu.org> | 453 | 2007-01-13 Eli Zaretskii <eliz@gnu.org> |
diff --git a/src/keyboard.c b/src/keyboard.c index c7d25088313..e1e53010931 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -2450,6 +2450,17 @@ Lisp_Object print_help (); | |||
| 2450 | static Lisp_Object kbd_buffer_get_event (); | 2450 | static Lisp_Object kbd_buffer_get_event (); |
| 2451 | static void record_char (); | 2451 | static void record_char (); |
| 2452 | 2452 | ||
| 2453 | static Lisp_Object help_form_saved_window_configs; | ||
| 2454 | static Lisp_Object | ||
| 2455 | read_char_help_form_unwind (arg) | ||
| 2456 | { | ||
| 2457 | Lisp_Object window_config = XCAR (help_form_saved_window_configs); | ||
| 2458 | help_form_saved_window_configs = XCDR (help_form_saved_window_configs); | ||
| 2459 | if (!NILP (window_config)) | ||
| 2460 | Fset_window_configuration (window_config); | ||
| 2461 | return Qnil; | ||
| 2462 | } | ||
| 2463 | |||
| 2453 | #ifdef MULTI_KBOARD | 2464 | #ifdef MULTI_KBOARD |
| 2454 | static jmp_buf wrong_kboard_jmpbuf; | 2465 | static jmp_buf wrong_kboard_jmpbuf; |
| 2455 | #endif | 2466 | #endif |
| @@ -3319,8 +3330,10 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu, end_time) | |||
| 3319 | Lisp_Object tem0; | 3330 | Lisp_Object tem0; |
| 3320 | count = SPECPDL_INDEX (); | 3331 | count = SPECPDL_INDEX (); |
| 3321 | 3332 | ||
| 3322 | record_unwind_protect (Fset_window_configuration, | 3333 | help_form_saved_window_configs |
| 3323 | Fcurrent_window_configuration (Qnil)); | 3334 | = Fcons (Fcurrent_window_configuration (Qnil), |
| 3335 | help_form_saved_window_configs); | ||
| 3336 | record_unwind_protect (read_char_help_form_unwind, Qnil); | ||
| 3324 | 3337 | ||
| 3325 | tem0 = Feval (Vhelp_form); | 3338 | tem0 = Feval (Vhelp_form); |
| 3326 | if (STRINGP (tem0)) | 3339 | if (STRINGP (tem0)) |
| @@ -3328,7 +3341,12 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu, end_time) | |||
| 3328 | 3341 | ||
| 3329 | cancel_echoing (); | 3342 | cancel_echoing (); |
| 3330 | do | 3343 | do |
| 3331 | c = read_char (0, 0, 0, Qnil, 0, NULL); | 3344 | { |
| 3345 | c = read_char (0, 0, 0, Qnil, 0, NULL); | ||
| 3346 | if (EVENT_HAS_PARAMETERS (c) | ||
| 3347 | && EQ (EVENT_HEAD_KIND (EVENT_HEAD (c)), Qmouse_click)) | ||
| 3348 | XSETCAR (help_form_saved_window_configs, Qnil); | ||
| 3349 | } | ||
| 3332 | while (BUFFERP (c)); | 3350 | while (BUFFERP (c)); |
| 3333 | /* Remove the help from the frame */ | 3351 | /* Remove the help from the frame */ |
| 3334 | unbind_to (count, Qnil); | 3352 | unbind_to (count, Qnil); |
| @@ -11334,6 +11352,9 @@ syms_of_keyboard () | |||
| 11334 | menu_bar_items_vector = Qnil; | 11352 | menu_bar_items_vector = Qnil; |
| 11335 | staticpro (&menu_bar_items_vector); | 11353 | staticpro (&menu_bar_items_vector); |
| 11336 | 11354 | ||
| 11355 | help_form_saved_window_configs = Qnil; | ||
| 11356 | staticpro (&help_form_saved_window_configs); | ||
| 11357 | |||
| 11337 | defsubr (&Scurrent_idle_time); | 11358 | defsubr (&Scurrent_idle_time); |
| 11338 | defsubr (&Sevent_convert_list); | 11359 | defsubr (&Sevent_convert_list); |
| 11339 | defsubr (&Sread_key_sequence); | 11360 | defsubr (&Sread_key_sequence); |
| @@ -11396,7 +11417,7 @@ An element of the form (t . EVENT) forces EVENT to be added to that list. */); | |||
| 11396 | DEFVAR_LISP ("unread-post-input-method-events", &Vunread_post_input_method_events, | 11417 | DEFVAR_LISP ("unread-post-input-method-events", &Vunread_post_input_method_events, |
| 11397 | doc: /* List of events to be processed as input by input methods. | 11418 | doc: /* List of events to be processed as input by input methods. |
| 11398 | These events are processed before `unread-command-events' | 11419 | These events are processed before `unread-command-events' |
| 11399 | and actual keyboard input without given to `input-method-function'. */); | 11420 | and actual keyboard input, but are not given to `input-method-function'. */); |
| 11400 | Vunread_post_input_method_events = Qnil; | 11421 | Vunread_post_input_method_events = Qnil; |
| 11401 | 11422 | ||
| 11402 | DEFVAR_LISP ("unread-input-method-events", &Vunread_input_method_events, | 11423 | DEFVAR_LISP ("unread-input-method-events", &Vunread_input_method_events, |
diff --git a/src/keymap.c b/src/keymap.c index abf934908cc..a612b0d5c6c 100644 --- a/src/keymap.c +++ b/src/keymap.c | |||
| @@ -2989,6 +2989,8 @@ Keyboard translations:\n\n\ | |||
| 2989 | You type Translation\n\ | 2989 | You type Translation\n\ |
| 2990 | -------- -----------\n"; | 2990 | -------- -----------\n"; |
| 2991 | 2991 | ||
| 2992 | CHECK_BUFFER (buffer); | ||
| 2993 | |||
| 2992 | shadow = Qnil; | 2994 | shadow = Qnil; |
| 2993 | GCPRO1 (shadow); | 2995 | GCPRO1 (shadow); |
| 2994 | 2996 | ||
diff --git a/src/macfns.c b/src/macfns.c index 072bc6f50b5..888c3bdf8e8 100644 --- a/src/macfns.c +++ b/src/macfns.c | |||
| @@ -1909,24 +1909,6 @@ x_set_scroll_bar_default_width (f) | |||
| 1909 | #endif /* not MAC_OSX */ | 1909 | #endif /* not MAC_OSX */ |
| 1910 | } | 1910 | } |
| 1911 | 1911 | ||
| 1912 | void | ||
| 1913 | mac_set_scroll_bar_width (f, arg, oldval) | ||
| 1914 | struct frame *f; | ||
| 1915 | Lisp_Object arg, oldval; | ||
| 1916 | { | ||
| 1917 | #ifdef MAC_OSX | ||
| 1918 | if (INTEGERP (arg) && XINT (arg) > 0) | ||
| 1919 | { | ||
| 1920 | if (XINT (arg) < (MAC_AQUA_SMALL_VERTICAL_SCROLL_BAR_WIDTH | ||
| 1921 | + MAC_AQUA_VERTICAL_SCROLL_BAR_WIDTH) / 2) | ||
| 1922 | XSETINT (arg, MAC_AQUA_SMALL_VERTICAL_SCROLL_BAR_WIDTH); | ||
| 1923 | else | ||
| 1924 | XSETINT (arg, MAC_AQUA_VERTICAL_SCROLL_BAR_WIDTH); | ||
| 1925 | } | ||
| 1926 | #endif | ||
| 1927 | x_set_scroll_bar_width (f, arg, oldval); | ||
| 1928 | } | ||
| 1929 | |||
| 1930 | static void | 1912 | static void |
| 1931 | mac_set_font (f, arg, oldval) | 1913 | mac_set_font (f, arg, oldval) |
| 1932 | struct frame *f; | 1914 | struct frame *f; |
| @@ -3052,7 +3034,7 @@ If omitted or nil, that stands for the selected frame's display. */) | |||
| 3052 | (display) | 3034 | (display) |
| 3053 | Lisp_Object display; | 3035 | Lisp_Object display; |
| 3054 | { | 3036 | { |
| 3055 | return build_string ("Apple Computers"); | 3037 | return build_string ("Apple Inc."); |
| 3056 | } | 3038 | } |
| 3057 | 3039 | ||
| 3058 | DEFUN ("x-server-version", Fx_server_version, Sx_server_version, 0, 1, 0, | 3040 | DEFUN ("x-server-version", Fx_server_version, Sx_server_version, 0, 1, 0, |
| @@ -4677,7 +4659,7 @@ frame_parm_handler mac_frame_parm_handlers[] = | |||
| 4677 | x_set_menu_bar_lines, | 4659 | x_set_menu_bar_lines, |
| 4678 | x_set_mouse_color, | 4660 | x_set_mouse_color, |
| 4679 | x_explicitly_set_name, | 4661 | x_explicitly_set_name, |
| 4680 | mac_set_scroll_bar_width, | 4662 | x_set_scroll_bar_width, |
| 4681 | x_set_title, | 4663 | x_set_title, |
| 4682 | x_set_unsplittable, | 4664 | x_set_unsplittable, |
| 4683 | x_set_vertical_scroll_bars, | 4665 | x_set_vertical_scroll_bars, |
diff --git a/src/macterm.c b/src/macterm.c index 3a403c39c26..1fa3daace6f 100644 --- a/src/macterm.c +++ b/src/macterm.c | |||
| @@ -4965,7 +4965,7 @@ x_scroll_bar_create (w, top, left, width, height, disp_top, disp_height) | |||
| 4965 | #endif | 4965 | #endif |
| 4966 | #if TARGET_API_MAC_CARBON | 4966 | #if TARGET_API_MAC_CARBON |
| 4967 | ch = NewControl (FRAME_MAC_WINDOW (f), &r, "\p", | 4967 | ch = NewControl (FRAME_MAC_WINDOW (f), &r, "\p", |
| 4968 | #if USE_TOOLKIT_SCROLL_BARS | 4968 | #ifdef USE_TOOLKIT_SCROLL_BARS |
| 4969 | false, | 4969 | false, |
| 4970 | #else | 4970 | #else |
| 4971 | width < disp_height, | 4971 | width < disp_height, |
| @@ -5219,7 +5219,11 @@ XTset_vertical_scroll_bar (w, portion, whole, position) | |||
| 5219 | #ifdef USE_TOOLKIT_SCROLL_BARS | 5219 | #ifdef USE_TOOLKIT_SCROLL_BARS |
| 5220 | if (NILP (bar->track_top)) | 5220 | if (NILP (bar->track_top)) |
| 5221 | { | 5221 | { |
| 5222 | if (sb_width >= disp_height) | 5222 | if (sb_width >= disp_height |
| 5223 | #ifdef MAC_OSX | ||
| 5224 | || sb_width < MAC_AQUA_SMALL_VERTICAL_SCROLL_BAR_WIDTH | ||
| 5225 | #endif | ||
| 5226 | ) | ||
| 5223 | { | 5227 | { |
| 5224 | XSETINT (bar->track_top, 0); | 5228 | XSETINT (bar->track_top, 0); |
| 5225 | XSETINT (bar->track_height, 0); | 5229 | XSETINT (bar->track_height, 0); |
| @@ -6242,6 +6246,16 @@ x_set_window_size (f, change_gravity, cols, rows) | |||
| 6242 | #endif | 6246 | #endif |
| 6243 | mac_handle_size_change (f, pixelwidth, pixelheight); | 6247 | mac_handle_size_change (f, pixelwidth, pixelheight); |
| 6244 | 6248 | ||
| 6249 | if (f->output_data.mac->internal_border_width | ||
| 6250 | != FRAME_INTERNAL_BORDER_WIDTH (f)) | ||
| 6251 | { | ||
| 6252 | mac_clear_window (f); | ||
| 6253 | f->output_data.mac->internal_border_width | ||
| 6254 | = FRAME_INTERNAL_BORDER_WIDTH (f); | ||
| 6255 | } | ||
| 6256 | |||
| 6257 | SET_FRAME_GARBAGED (f); | ||
| 6258 | |||
| 6245 | UNBLOCK_INPUT; | 6259 | UNBLOCK_INPUT; |
| 6246 | } | 6260 | } |
| 6247 | 6261 | ||
| @@ -9995,23 +10009,30 @@ mac_handle_mouse_event (next_handler, event, data) | |||
| 9995 | if (err != noErr || axis != kEventMouseWheelAxisY) | 10009 | if (err != noErr || axis != kEventMouseWheelAxisY) |
| 9996 | break; | 10010 | break; |
| 9997 | 10011 | ||
| 9998 | err = GetEventParameter (event, kEventParamMouseWheelDelta, | ||
| 9999 | typeSInt32, NULL, sizeof (SInt32), | ||
| 10000 | NULL, &delta); | ||
| 10001 | if (err != noErr) | ||
| 10002 | break; | ||
| 10003 | err = GetEventParameter (event, kEventParamMouseLocation, | 10012 | err = GetEventParameter (event, kEventParamMouseLocation, |
| 10004 | typeQDPoint, NULL, sizeof (Point), | 10013 | typeQDPoint, NULL, sizeof (Point), |
| 10005 | NULL, &point); | 10014 | NULL, &point); |
| 10006 | if (err != noErr) | 10015 | if (err != noErr) |
| 10007 | break; | 10016 | break; |
| 10017 | |||
| 10018 | SetPortWindowPort (wp); | ||
| 10019 | GlobalToLocal (&point); | ||
| 10020 | if (point.h < 0 || point.v < 0 | ||
| 10021 | || EQ (window_from_coordinates (f, point.h, point.v, 0, 0, 0, 1), | ||
| 10022 | f->tool_bar_window)) | ||
| 10023 | break; | ||
| 10024 | |||
| 10025 | err = GetEventParameter (event, kEventParamMouseWheelDelta, | ||
| 10026 | typeSInt32, NULL, sizeof (SInt32), | ||
| 10027 | NULL, &delta); | ||
| 10028 | if (err != noErr) | ||
| 10029 | break; | ||
| 10030 | |||
| 10008 | read_socket_inev->kind = WHEEL_EVENT; | 10031 | read_socket_inev->kind = WHEEL_EVENT; |
| 10009 | read_socket_inev->code = 0; | 10032 | read_socket_inev->code = 0; |
| 10010 | read_socket_inev->modifiers = | 10033 | read_socket_inev->modifiers = |
| 10011 | (mac_event_to_emacs_modifiers (event) | 10034 | (mac_event_to_emacs_modifiers (event) |
| 10012 | | ((delta < 0) ? down_modifier : up_modifier)); | 10035 | | ((delta < 0) ? down_modifier : up_modifier)); |
| 10013 | SetPortWindowPort (wp); | ||
| 10014 | GlobalToLocal (&point); | ||
| 10015 | XSETINT (read_socket_inev->x, point.h); | 10036 | XSETINT (read_socket_inev->x, point.h); |
| 10016 | XSETINT (read_socket_inev->y, point.v); | 10037 | XSETINT (read_socket_inev->y, point.v); |
| 10017 | XSETFRAME (read_socket_inev->frame_or_window, f); | 10038 | XSETFRAME (read_socket_inev->frame_or_window, f); |
| @@ -11042,7 +11063,7 @@ XTread_socket (sd, expected, hold_quit) | |||
| 11042 | else | 11063 | else |
| 11043 | { | 11064 | { |
| 11044 | /* A window has been deactivated */ | 11065 | /* A window has been deactivated */ |
| 11045 | #if USE_TOOLKIT_SCROLL_BARS | 11066 | #ifdef USE_TOOLKIT_SCROLL_BARS |
| 11046 | if (dpyinfo->grabbed && tracked_scroll_bar) | 11067 | if (dpyinfo->grabbed && tracked_scroll_bar) |
| 11047 | { | 11068 | { |
| 11048 | struct input_event event; | 11069 | struct input_event event; |
diff --git a/src/macterm.h b/src/macterm.h index 3d0b41f6efe..b3826c5e7f7 100644 --- a/src/macterm.h +++ b/src/macterm.h | |||
| @@ -327,6 +327,9 @@ struct mac_output | |||
| 327 | They are changed only when a different background is involved. */ | 327 | They are changed only when a different background is involved. */ |
| 328 | unsigned long relief_background; | 328 | unsigned long relief_background; |
| 329 | 329 | ||
| 330 | /* Width of the internal border. */ | ||
| 331 | int internal_border_width; | ||
| 332 | |||
| 330 | /* Hints for the size and the position of a window. */ | 333 | /* Hints for the size and the position of a window. */ |
| 331 | XSizeHints *size_hints; | 334 | XSizeHints *size_hints; |
| 332 | 335 | ||
diff --git a/src/minibuf.c b/src/minibuf.c index 14f5eac846a..50f48c2344f 100644 --- a/src/minibuf.c +++ b/src/minibuf.c | |||
| @@ -700,27 +700,27 @@ read_minibuf (map, initial, prompt, backup_n, expflag, | |||
| 700 | specbind (Qinhibit_read_only, Qt); | 700 | specbind (Qinhibit_read_only, Qt); |
| 701 | specbind (Qinhibit_modification_hooks, Qt); | 701 | specbind (Qinhibit_modification_hooks, Qt); |
| 702 | Ferase_buffer (); | 702 | Ferase_buffer (); |
| 703 | |||
| 704 | if (!NILP (current_buffer->enable_multibyte_characters) | ||
| 705 | && ! STRING_MULTIBYTE (minibuf_prompt)) | ||
| 706 | minibuf_prompt = Fstring_make_multibyte (minibuf_prompt); | ||
| 707 | |||
| 708 | /* Insert the prompt, record where it ends. */ | ||
| 709 | Finsert (1, &minibuf_prompt); | ||
| 710 | if (PT > BEG) | ||
| 711 | { | ||
| 712 | Fput_text_property (make_number (BEG), make_number (PT), | ||
| 713 | Qfront_sticky, Qt, Qnil); | ||
| 714 | Fput_text_property (make_number (BEG), make_number (PT), | ||
| 715 | Qrear_nonsticky, Qt, Qnil); | ||
| 716 | Fput_text_property (make_number (BEG), make_number (PT), | ||
| 717 | Qfield, Qt, Qnil); | ||
| 718 | Fadd_text_properties (make_number (BEG), make_number (PT), | ||
| 719 | Vminibuffer_prompt_properties, Qnil); | ||
| 720 | } | ||
| 703 | unbind_to (count1, Qnil); | 721 | unbind_to (count1, Qnil); |
| 704 | } | 722 | } |
| 705 | 723 | ||
| 706 | if (!NILP (current_buffer->enable_multibyte_characters) | ||
| 707 | && ! STRING_MULTIBYTE (minibuf_prompt)) | ||
| 708 | minibuf_prompt = Fstring_make_multibyte (minibuf_prompt); | ||
| 709 | |||
| 710 | /* Insert the prompt, record where it ends. */ | ||
| 711 | Finsert (1, &minibuf_prompt); | ||
| 712 | if (PT > BEG) | ||
| 713 | { | ||
| 714 | Fput_text_property (make_number (BEG), make_number (PT), | ||
| 715 | Qfront_sticky, Qt, Qnil); | ||
| 716 | Fput_text_property (make_number (BEG), make_number (PT), | ||
| 717 | Qrear_nonsticky, Qt, Qnil); | ||
| 718 | Fput_text_property (make_number (BEG), make_number (PT), | ||
| 719 | Qfield, Qt, Qnil); | ||
| 720 | Fadd_text_properties (make_number (BEG), make_number (PT), | ||
| 721 | Vminibuffer_prompt_properties, Qnil); | ||
| 722 | } | ||
| 723 | |||
| 724 | minibuf_prompt_width = (int) current_column (); /* iftc */ | 724 | minibuf_prompt_width = (int) current_column (); /* iftc */ |
| 725 | 725 | ||
| 726 | /* Put in the initial input. */ | 726 | /* Put in the initial input. */ |
| @@ -1483,6 +1483,10 @@ is used to further constrain the set of candidates. */) | |||
| 1483 | matchcount++; | 1483 | matchcount++; |
| 1484 | bestmatchsize = matchsize; | 1484 | bestmatchsize = matchsize; |
| 1485 | if (matchsize <= SCHARS (string) | 1485 | if (matchsize <= SCHARS (string) |
| 1486 | /* If completion-ignore-case is non-nil, don't | ||
| 1487 | short-circuit because we want to find the best | ||
| 1488 | possible match *including* case differences. */ | ||
| 1489 | && !completion_ignore_case | ||
| 1486 | && matchcount > 1) | 1490 | && matchcount > 1) |
| 1487 | /* No need to look any further. */ | 1491 | /* No need to look any further. */ |
| 1488 | break; | 1492 | break; |
diff --git a/src/process.c b/src/process.c index 4611ce2c05c..f3162c9d3e5 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -6401,12 +6401,16 @@ sigchld_handler (signo) | |||
| 6401 | #define WUNTRACED 0 | 6401 | #define WUNTRACED 0 |
| 6402 | #endif /* no WUNTRACED */ | 6402 | #endif /* no WUNTRACED */ |
| 6403 | /* Keep trying to get a status until we get a definitive result. */ | 6403 | /* Keep trying to get a status until we get a definitive result. */ |
| 6404 | do | 6404 | while (1) { |
| 6405 | { | 6405 | errno = 0; |
| 6406 | errno = 0; | 6406 | pid = wait3 (&w, WNOHANG | WUNTRACED, 0); |
| 6407 | pid = wait3 (&w, WNOHANG | WUNTRACED, 0); | 6407 | if (! (pid < 0 && errno == EINTR)) |
| 6408 | } | 6408 | break; |
| 6409 | while (pid < 0 && errno == EINTR); | 6409 | /* avoid a busyloop: wait3 is a system call, so we do not want |
| 6410 | to prevent the kernel from actually sending SIGCHLD to emacs | ||
| 6411 | by asking for it all the time */ | ||
| 6412 | sleep (1); | ||
| 6413 | } | ||
| 6410 | 6414 | ||
| 6411 | if (pid <= 0) | 6415 | if (pid <= 0) |
| 6412 | { | 6416 | { |
diff --git a/src/sound.c b/src/sound.c index 7fb79e64048..5a27e7a6232 100644 --- a/src/sound.c +++ b/src/sound.c | |||
| @@ -621,12 +621,18 @@ wav_play (s, sd) | |||
| 621 | char *buffer; | 621 | char *buffer; |
| 622 | int nbytes; | 622 | int nbytes; |
| 623 | int blksize = sd->period_size ? sd->period_size (sd) : 2048; | 623 | int blksize = sd->period_size ? sd->period_size (sd) : 2048; |
| 624 | int data_left = header->data_length; | ||
| 624 | 625 | ||
| 625 | buffer = (char *) alloca (blksize); | 626 | buffer = (char *) alloca (blksize); |
| 626 | lseek (s->fd, sizeof *header, SEEK_SET); | 627 | lseek (s->fd, sizeof *header, SEEK_SET); |
| 627 | 628 | while (data_left > 0 | |
| 628 | while ((nbytes = emacs_read (s->fd, buffer, blksize)) > 0) | 629 | && (nbytes = emacs_read (s->fd, buffer, blksize)) > 0) |
| 629 | sd->write (sd, buffer, nbytes); | 630 | { |
| 631 | /* Don't play possible garbage at the end of file */ | ||
| 632 | if (data_left < nbytes) nbytes = data_left; | ||
| 633 | data_left -= nbytes; | ||
| 634 | sd->write (sd, buffer, nbytes); | ||
| 635 | } | ||
| 630 | 636 | ||
| 631 | if (nbytes < 0) | 637 | if (nbytes < 0) |
| 632 | sound_perror ("Error reading sound file"); | 638 | sound_perror ("Error reading sound file"); |
| @@ -986,7 +992,8 @@ alsa_period_size (sd) | |||
| 986 | struct sound_device *sd; | 992 | struct sound_device *sd; |
| 987 | { | 993 | { |
| 988 | struct alsa_params *p = (struct alsa_params *) sd->data; | 994 | struct alsa_params *p = (struct alsa_params *) sd->data; |
| 989 | return p->period_size; | 995 | int fact = snd_pcm_format_size (sd->format, 1) * sd->channels; |
| 996 | return p->period_size * (fact > 0 ? fact : 1); | ||
| 990 | } | 997 | } |
| 991 | 998 | ||
| 992 | static void | 999 | static void |
| @@ -1209,9 +1216,10 @@ alsa_write (sd, buffer, nbytes) | |||
| 1209 | 1216 | ||
| 1210 | while (nwritten < nbytes) | 1217 | while (nwritten < nbytes) |
| 1211 | { | 1218 | { |
| 1212 | err = snd_pcm_writei (p->handle, | 1219 | snd_pcm_uframes_t frames = (nbytes - nwritten)/fact; |
| 1213 | buffer + nwritten, | 1220 | if (frames == 0) break; |
| 1214 | (nbytes - nwritten)/fact); | 1221 | |
| 1222 | err = snd_pcm_writei (p->handle, buffer + nwritten, frames); | ||
| 1215 | if (err < 0) | 1223 | if (err < 0) |
| 1216 | { | 1224 | { |
| 1217 | if (err == -EPIPE) | 1225 | if (err == -EPIPE) |
diff --git a/src/window.c b/src/window.c index 8a25992d783..508ddadae9a 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -3612,11 +3612,12 @@ The variables `special-display-buffer-names', | |||
| 3612 | `same-window-regexps' customize how certain buffer names are handled. | 3612 | `same-window-regexps' customize how certain buffer names are handled. |
| 3613 | The latter two take effect only if NOT-THIS-WINDOW is nil. | 3613 | The latter two take effect only if NOT-THIS-WINDOW is nil. |
| 3614 | 3614 | ||
| 3615 | If optional argument FRAME is `visible', search all visible frames. | 3615 | If optional argument FRAME is `visible', check all visible frames |
| 3616 | If FRAME is 0, search all visible and iconified frames. | 3616 | for a window to use. |
| 3617 | If FRAME is t, search all frames. | 3617 | If FRAME is 0, check all visible and iconified frames. |
| 3618 | If FRAME is a frame, search only that frame. | 3618 | If FRAME is t, check all frames. |
| 3619 | If FRAME is nil, search only the selected frame | 3619 | If FRAME is a frame, check only that frame. |
| 3620 | If FRAME is nil, check only the selected frame | ||
| 3620 | (actually the last nonminibuffer frame), | 3621 | (actually the last nonminibuffer frame), |
| 3621 | unless `pop-up-frames' or `display-buffer-reuse-frames' is non-nil, | 3622 | unless `pop-up-frames' or `display-buffer-reuse-frames' is non-nil, |
| 3622 | which means search visible and iconified frames. | 3623 | which means search visible and iconified frames. |
diff --git a/src/xdisp.c b/src/xdisp.c index cd4683a71b9..ee17abb7794 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -13283,8 +13283,15 @@ redisplay_window (window, just_this_one_p) | |||
| 13283 | 13283 | ||
| 13284 | /* If first window line is a continuation line, and window start | 13284 | /* If first window line is a continuation line, and window start |
| 13285 | is inside the modified region, but the first change is before | 13285 | is inside the modified region, but the first change is before |
| 13286 | current window start, we must select a new window start.*/ | 13286 | current window start, we must select a new window start. |
| 13287 | |||
| 13288 | However, if this is the result of a down-mouse event (e.g. by | ||
| 13289 | extending the mouse-drag-overlay), we don't want to select a | ||
| 13290 | new window start, since that would change the position under | ||
| 13291 | the mouse, resulting in an unwanted mouse-movement rather | ||
| 13292 | than a simple mouse-click. */ | ||
| 13287 | if (NILP (w->start_at_line_beg) | 13293 | if (NILP (w->start_at_line_beg) |
| 13294 | && NILP (do_mouse_tracking) | ||
| 13288 | && CHARPOS (startp) > BEGV) | 13295 | && CHARPOS (startp) > BEGV) |
| 13289 | { | 13296 | { |
| 13290 | /* Make sure beg_unchanged and end_unchanged are up to date. | 13297 | /* Make sure beg_unchanged and end_unchanged are up to date. |
diff --git a/src/xselect.c b/src/xselect.c index 4f6959587fd..3fe109a5b85 100644 --- a/src/xselect.c +++ b/src/xselect.c | |||
| @@ -2975,8 +2975,17 @@ it merely informs you that they have happened. */); | |||
| 2975 | 2975 | ||
| 2976 | DEFVAR_LISP ("selection-coding-system", &Vselection_coding_system, | 2976 | DEFVAR_LISP ("selection-coding-system", &Vselection_coding_system, |
| 2977 | doc: /* Coding system for communicating with other X clients. | 2977 | doc: /* Coding system for communicating with other X clients. |
| 2978 | When sending or receiving text via selection and clipboard, the text is | 2978 | |
| 2979 | encoded or decoded by this coding system. | 2979 | When sending text via selection and clipboard, if the requested |
| 2980 | data-type is not "UTF8_STRING", the text is encoded by this coding | ||
| 2981 | system. | ||
| 2982 | |||
| 2983 | When receiving text, if the data-type of the received text is not | ||
| 2984 | "UTF8_STRING", it is decoded by this coding system. | ||
| 2985 | |||
| 2986 | See also the documentation of the variable `x-select-request-type' how | ||
| 2987 | to control which data-type to request for receiving text. | ||
| 2988 | |||
| 2980 | The default value is `compound-text-with-extensions'. */); | 2989 | The default value is `compound-text-with-extensions'. */); |
| 2981 | Vselection_coding_system = intern ("compound-text-with-extensions"); | 2990 | Vselection_coding_system = intern ("compound-text-with-extensions"); |
| 2982 | 2991 | ||
diff --git a/src/xterm.c b/src/xterm.c index 925b4e3bd1f..8b33bf00e54 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -5525,7 +5525,7 @@ x_scroll_bar_expose (bar, event) | |||
| 5525 | 5525 | ||
| 5526 | x_scroll_bar_set_handle (bar, XINT (bar->start), XINT (bar->end), 1); | 5526 | x_scroll_bar_set_handle (bar, XINT (bar->start), XINT (bar->end), 1); |
| 5527 | 5527 | ||
| 5528 | /* Switch to scroll bar foreground color. */ | 5528 | /* Switch to scroll bar foreground color. */ |
| 5529 | if (f->output_data.x->scroll_bar_foreground_pixel != -1) | 5529 | if (f->output_data.x->scroll_bar_foreground_pixel != -1) |
| 5530 | XSetForeground (FRAME_X_DISPLAY (f), gc, | 5530 | XSetForeground (FRAME_X_DISPLAY (f), gc, |
| 5531 | f->output_data.x->scroll_bar_foreground_pixel); | 5531 | f->output_data.x->scroll_bar_foreground_pixel); |
| @@ -6979,15 +6979,16 @@ handle_one_xevent (dpyinfo, eventp, finish, hold_quit) | |||
| 6979 | int y = event.xbutton.y; | 6979 | int y = event.xbutton.y; |
| 6980 | 6980 | ||
| 6981 | window = window_from_coordinates (f, x, y, 0, 0, 0, 1); | 6981 | window = window_from_coordinates (f, x, y, 0, 0, 0, 1); |
| 6982 | if (EQ (window, f->tool_bar_window)) | 6982 | tool_bar_p = EQ (window, f->tool_bar_window); |
| 6983 | |||
| 6984 | if (tool_bar_p && event.xbutton.button < 4) | ||
| 6983 | { | 6985 | { |
| 6984 | if (event.xbutton.type == ButtonPress) | 6986 | if (event.xbutton.type == ButtonPress) |
| 6985 | handle_tool_bar_click (f, x, y, 1, 0); | 6987 | handle_tool_bar_click (f, x, y, 1, 0); |
| 6986 | else | 6988 | else |
| 6987 | handle_tool_bar_click (f, x, y, 0, | 6989 | handle_tool_bar_click (f, x, y, 0, |
| 6988 | x_x_to_emacs_modifiers (dpyinfo, | 6990 | x_x_to_emacs_modifiers (dpyinfo, |
| 6989 | event.xbutton.state)); | 6991 | event.xbutton.state)); |
| 6990 | tool_bar_p = 1; | ||
| 6991 | } | 6992 | } |
| 6992 | } | 6993 | } |
| 6993 | 6994 | ||