diff options
| author | Miles Bader | 2005-10-07 07:15:40 +0000 |
|---|---|---|
| committer | Miles Bader | 2005-10-07 07:15:40 +0000 |
| commit | 00e18f33adde1d2f196fdf9cadf11235cc4fcc8f (patch) | |
| tree | 8c553c9a361da158ba47f3d0ed0429da180d957f | |
| parent | ba4c328314c2b01e6dcc3807a0666a644c3f3954 (diff) | |
| parent | 9e1cb4bc96d36af6e8b893d467970a25afead03b (diff) | |
| download | emacs-00e18f33adde1d2f196fdf9cadf11235cc4fcc8f.tar.gz emacs-00e18f33adde1d2f196fdf9cadf11235cc4fcc8f.zip | |
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-88
Merge from emacs--cvs-trunk--0
Patches applied:
* emacs--cvs-trunk--0 (patch 569-579)
- Update from CVS
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 129-132)
- Update from CVS
- Merge from emacs--cvs-trunk--0
171 files changed, 6127 insertions, 17190 deletions
| @@ -1,3 +1,9 @@ | |||
| 1 | 2005-10-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 2 | |||
| 3 | * configure.in: Prefer Carbon if --enable-carbon-app or | ||
| 4 | --with-carbon is explicitly specified even when X11 is detected. | ||
| 5 | * configure: Regenerate. | ||
| 6 | |||
| 1 | 2005-09-15 Ulf Jasper <ulf.jasper@web.de> | 7 | 2005-09-15 Ulf Jasper <ulf.jasper@web.de> |
| 2 | 8 | ||
| 3 | * Makefile.in (install-arch-indep, uninstall): | 9 | * Makefile.in (install-arch-indep, uninstall): |
diff --git a/admin/ChangeLog b/admin/ChangeLog index 3f6f6aee58a..df7954d73bb 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2005-10-01 Jason Rumney <jasonr@gnu.org> | ||
| 2 | |||
| 3 | * admin.el (set-version): Set version numbers in nt/emacs.rc. | ||
| 4 | |||
| 1 | 2005-08-31 Romain Francoise <romain@orebokech.com> | 5 | 2005-08-31 Romain Francoise <romain@orebokech.com> |
| 2 | 6 | ||
| 3 | * FOR-RELEASE: (New features): Remove vhdl-mode.el update | 7 | * FOR-RELEASE: (New features): Remove vhdl-mode.el update |
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index 9821c98c8dd..3515f78d04a 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE | |||
| @@ -27,8 +27,6 @@ face name prefixes should be in it for good results. | |||
| 27 | 27 | ||
| 28 | * NEW FEATURES | 28 | * NEW FEATURES |
| 29 | 29 | ||
| 30 | ** Update Speedbar. | ||
| 31 | |||
| 32 | ** Rework how the fringe "angle" bitmap at at bottom of buffer is | 30 | ** Rework how the fringe "angle" bitmap at at bottom of buffer is |
| 33 | shown to include an indication of whether the last line has a NL or not. | 31 | shown to include an indication of whether the last line has a NL or not. |
| 34 | [Assigned to KFS] | 32 | [Assigned to KFS] |
| @@ -67,6 +65,8 @@ back burner waiting for a legal comment or an alternate implementation | |||
| 67 | 65 | ||
| 68 | * BUGS | 66 | * BUGS |
| 69 | 67 | ||
| 68 | * Pierre Albarede's Aug 30 bug report about C-v and long lines. | ||
| 69 | |||
| 70 | ** Make a new interface for specifying window configurations | 70 | ** Make a new interface for specifying window configurations |
| 71 | so that we can fix bugs in balance-windows. | 71 | so that we can fix bugs in balance-windows. |
| 72 | 72 | ||
diff --git a/admin/admin.el b/admin/admin.el index 3969345cc32..2f7f085b9d9 100644 --- a/admin/admin.el +++ b/admin/admin.el | |||
| @@ -87,7 +87,36 @@ Root must be the root of an Emacs source tree." | |||
| 87 | (submatch (1+ (in "0-9.")))))) | 87 | (submatch (1+ (in "0-9.")))))) |
| 88 | (set-version-in-file root "lispref/elisp.texi" version | 88 | (set-version-in-file root "lispref/elisp.texi" version |
| 89 | (rx (and "EMACSVER" (1+ space) | 89 | (rx (and "EMACSVER" (1+ space) |
| 90 | (submatch (1+ (in "0-9."))))))) | 90 | (submatch (1+ (in "0-9.")))))) |
| 91 | ;; nt/emacs.rc also contains the version number, but in an awkward | ||
| 92 | ;; format. It must contain four components, separated by commas, and | ||
| 93 | ;; in two places those commas are followed by space, in two other | ||
| 94 | ;; places they are not. | ||
| 95 | (let* ((version-components (append (split-string version "\\.") | ||
| 96 | '("0" "0"))) | ||
| 97 | (comma-version | ||
| 98 | (concat (car version-components) "," | ||
| 99 | (cadr version-components) "," | ||
| 100 | (cadr (cdr version-components)) "," | ||
| 101 | (cadr (cdr (cdr version-components))))) | ||
| 102 | (comma-space-version | ||
| 103 | (concat (car version-components) ", " | ||
| 104 | (cadr version-components) ", " | ||
| 105 | (cadr (cdr version-components)) ", " | ||
| 106 | (cadr (cdr (cdr version-components)))))) | ||
| 107 | (set-version-in-file root "nt/emacs.rc" comma-version | ||
| 108 | (rx (and "FILEVERSION" (1+ space) | ||
| 109 | (submatch (1+ (in "0-9,")))))) | ||
| 110 | (set-version-in-file root "nt/emacs.rc" comma-version | ||
| 111 | (rx (and "PRODUCTVERSION" (1+ space) | ||
| 112 | (submatch (1+ (in "0-9,")))))) | ||
| 113 | (set-version-in-file root "nt/emacs.rc" comma-space-version | ||
| 114 | (rx (and "\"FileVersion\"" (0+ space) ?, (0+ space) | ||
| 115 | ?\" (submatch (1+ (in "0-9, "))) "\\0\""))) | ||
| 116 | (set-version-in-file root "nt/emacs.rc" comma-space-version | ||
| 117 | (rx (and "\"ProductVersion\"" (0+ space) ?, | ||
| 118 | (0+ space) ?\" (submatch (1+ (in "0-9, "))) | ||
| 119 | "\\0\""))))) | ||
| 91 | 120 | ||
| 92 | ;;; arch-tag: 4ea83636-2293-408b-884e-ad64f22a3bf5 | 121 | ;;; arch-tag: 4ea83636-2293-408b-884e-ad64f22a3bf5 |
| 93 | ;; admin.el ends here. | 122 | ;; admin.el ends here. |
| @@ -8197,52 +8197,9 @@ else | |||
| 8197 | fi | 8197 | fi |
| 8198 | fi | 8198 | fi |
| 8199 | 8199 | ||
| 8200 | case "${window_system}" in | ||
| 8201 | x11 ) | ||
| 8202 | HAVE_X_WINDOWS=yes | ||
| 8203 | HAVE_X11=yes | ||
| 8204 | case "${with_x_toolkit}" in | ||
| 8205 | athena | lucid ) USE_X_TOOLKIT=LUCID ;; | ||
| 8206 | motif ) USE_X_TOOLKIT=MOTIF ;; | ||
| 8207 | gtk ) with_gtk=yes | ||
| 8208 | USE_X_TOOLKIT=none ;; | ||
| 8209 | no ) USE_X_TOOLKIT=none ;; | ||
| 8210 | * ) USE_X_TOOLKIT=maybe ;; | ||
| 8211 | esac | ||
| 8212 | ;; | ||
| 8213 | none ) | ||
| 8214 | HAVE_X_WINDOWS=no | ||
| 8215 | HAVE_X11=no | ||
| 8216 | USE_X_TOOLKIT=none | ||
| 8217 | ;; | ||
| 8218 | esac | ||
| 8219 | |||
| 8220 | ### If we're using X11, we should use the X menu package. | ||
| 8221 | HAVE_MENUS=no | ||
| 8222 | case ${HAVE_X11} in | ||
| 8223 | yes ) HAVE_MENUS=yes ;; | ||
| 8224 | esac | ||
| 8225 | |||
| 8226 | if test "${opsys}" = "hpux9"; then | ||
| 8227 | case "${x_libraries}" in | ||
| 8228 | *X11R4* ) | ||
| 8229 | opsysfile="s/hpux9-x11r4.h" | ||
| 8230 | ;; | ||
| 8231 | esac | ||
| 8232 | fi | ||
| 8233 | |||
| 8234 | if test "${opsys}" = "hpux9shr"; then | ||
| 8235 | case "${x_libraries}" in | ||
| 8236 | *X11R4* ) | ||
| 8237 | opsysfile="s/hpux9shxr4.h" | ||
| 8238 | ;; | ||
| 8239 | esac | ||
| 8240 | fi | ||
| 8241 | |||
| 8242 | HAVE_CARBON=no | 8200 | HAVE_CARBON=no |
| 8243 | if test "${HAVE_X11}" != "yes"; then | 8201 | if test "${with_carbon}" != no; then |
| 8244 | if test "${with_carbon}" != "no"; then | 8202 | if test "${ac_cv_header_Carbon_Carbon_h+set}" = set; then |
| 8245 | if test "${ac_cv_header_Carbon_Carbon_h+set}" = set; then | ||
| 8246 | echo "$as_me:$LINENO: checking for Carbon/Carbon.h" >&5 | 8203 | echo "$as_me:$LINENO: checking for Carbon/Carbon.h" >&5 |
| 8247 | echo $ECHO_N "checking for Carbon/Carbon.h... $ECHO_C" >&6 | 8204 | echo $ECHO_N "checking for Carbon/Carbon.h... $ECHO_C" >&6 |
| 8248 | if test "${ac_cv_header_Carbon_Carbon_h+set}" = set; then | 8205 | if test "${ac_cv_header_Carbon_Carbon_h+set}" = set; then |
| @@ -8384,8 +8341,58 @@ if test $ac_cv_header_Carbon_Carbon_h = yes; then | |||
| 8384 | fi | 8341 | fi |
| 8385 | 8342 | ||
| 8386 | 8343 | ||
| 8344 | fi | ||
| 8345 | if test "${window_system}" = x11 && test "${HAVE_CARBON}" = yes; then | ||
| 8346 | if test "${with_carbon+set}" != set \ | ||
| 8347 | && test "${carbon_appdir_x+set}" != set; then | ||
| 8348 | HAVE_CARBON=no | ||
| 8387 | fi | 8349 | fi |
| 8388 | fi | 8350 | fi |
| 8351 | if test "${HAVE_CARBON}" = yes; then | ||
| 8352 | window_system=mac | ||
| 8353 | fi | ||
| 8354 | |||
| 8355 | case "${window_system}" in | ||
| 8356 | x11 ) | ||
| 8357 | HAVE_X_WINDOWS=yes | ||
| 8358 | HAVE_X11=yes | ||
| 8359 | case "${with_x_toolkit}" in | ||
| 8360 | athena | lucid ) USE_X_TOOLKIT=LUCID ;; | ||
| 8361 | motif ) USE_X_TOOLKIT=MOTIF ;; | ||
| 8362 | gtk ) with_gtk=yes | ||
| 8363 | USE_X_TOOLKIT=none ;; | ||
| 8364 | no ) USE_X_TOOLKIT=none ;; | ||
| 8365 | * ) USE_X_TOOLKIT=maybe ;; | ||
| 8366 | esac | ||
| 8367 | ;; | ||
| 8368 | mac | none ) | ||
| 8369 | HAVE_X_WINDOWS=no | ||
| 8370 | HAVE_X11=no | ||
| 8371 | USE_X_TOOLKIT=none | ||
| 8372 | ;; | ||
| 8373 | esac | ||
| 8374 | |||
| 8375 | ### If we're using X11, we should use the X menu package. | ||
| 8376 | HAVE_MENUS=no | ||
| 8377 | case ${HAVE_X11} in | ||
| 8378 | yes ) HAVE_MENUS=yes ;; | ||
| 8379 | esac | ||
| 8380 | |||
| 8381 | if test "${opsys}" = "hpux9"; then | ||
| 8382 | case "${x_libraries}" in | ||
| 8383 | *X11R4* ) | ||
| 8384 | opsysfile="s/hpux9-x11r4.h" | ||
| 8385 | ;; | ||
| 8386 | esac | ||
| 8387 | fi | ||
| 8388 | |||
| 8389 | if test "${opsys}" = "hpux9shr"; then | ||
| 8390 | case "${x_libraries}" in | ||
| 8391 | *X11R4* ) | ||
| 8392 | opsysfile="s/hpux9shxr4.h" | ||
| 8393 | ;; | ||
| 8394 | esac | ||
| 8395 | fi | ||
| 8389 | 8396 | ||
| 8390 | ### Compute the unexec source name from the object name. | 8397 | ### Compute the unexec source name from the object name. |
| 8391 | UNEXEC_SRC="`echo ${unexec} | sed 's/\.o/.c/'`" | 8398 | UNEXEC_SRC="`echo ${unexec} | sed 's/\.o/.c/'`" |
| @@ -12716,7 +12723,6 @@ cat >>confdefs.h <<\_ACEOF | |||
| 12716 | #define HAVE_CARBON 1 | 12723 | #define HAVE_CARBON 1 |
| 12717 | _ACEOF | 12724 | _ACEOF |
| 12718 | 12725 | ||
| 12719 | window_system=mac | ||
| 12720 | ## Specify the install directory | 12726 | ## Specify the install directory |
| 12721 | carbon_appdir= | 12727 | carbon_appdir= |
| 12722 | if test "${carbon_appdir_x}" != ""; then | 12728 | if test "${carbon_appdir_x}" != ""; then |
diff --git a/configure.in b/configure.in index f8f2d524214..db2bfba22df 100644 --- a/configure.in +++ b/configure.in | |||
| @@ -1668,6 +1668,20 @@ else | |||
| 1668 | fi | 1668 | fi |
| 1669 | fi | 1669 | fi |
| 1670 | 1670 | ||
| 1671 | HAVE_CARBON=no | ||
| 1672 | if test "${with_carbon}" != no; then | ||
| 1673 | AC_CHECK_HEADER(Carbon/Carbon.h, HAVE_CARBON=yes) | ||
| 1674 | fi | ||
| 1675 | if test "${window_system}" = x11 && test "${HAVE_CARBON}" = yes; then | ||
| 1676 | if test "${with_carbon+set}" != set \ | ||
| 1677 | && test "${carbon_appdir_x+set}" != set; then | ||
| 1678 | HAVE_CARBON=no | ||
| 1679 | fi | ||
| 1680 | fi | ||
| 1681 | if test "${HAVE_CARBON}" = yes; then | ||
| 1682 | window_system=mac | ||
| 1683 | fi | ||
| 1684 | |||
| 1671 | case "${window_system}" in | 1685 | case "${window_system}" in |
| 1672 | x11 ) | 1686 | x11 ) |
| 1673 | HAVE_X_WINDOWS=yes | 1687 | HAVE_X_WINDOWS=yes |
| @@ -1686,7 +1700,7 @@ dnl make this decision later: use the toolkit if we have X11R5 or newer. | |||
| 1686 | * ) USE_X_TOOLKIT=maybe ;; | 1700 | * ) USE_X_TOOLKIT=maybe ;; |
| 1687 | esac | 1701 | esac |
| 1688 | ;; | 1702 | ;; |
| 1689 | none ) | 1703 | mac | none ) |
| 1690 | HAVE_X_WINDOWS=no | 1704 | HAVE_X_WINDOWS=no |
| 1691 | HAVE_X11=no | 1705 | HAVE_X11=no |
| 1692 | USE_X_TOOLKIT=none | 1706 | USE_X_TOOLKIT=none |
| @@ -1715,13 +1729,6 @@ if test "${opsys}" = "hpux9shr"; then | |||
| 1715 | esac | 1729 | esac |
| 1716 | fi | 1730 | fi |
| 1717 | 1731 | ||
| 1718 | HAVE_CARBON=no | ||
| 1719 | if test "${HAVE_X11}" != "yes"; then | ||
| 1720 | if test "${with_carbon}" != "no"; then | ||
| 1721 | AC_CHECK_HEADER(Carbon/Carbon.h, HAVE_CARBON=yes) | ||
| 1722 | fi | ||
| 1723 | fi | ||
| 1724 | |||
| 1725 | ### Compute the unexec source name from the object name. | 1732 | ### Compute the unexec source name from the object name. |
| 1726 | UNEXEC_SRC="`echo ${unexec} | sed 's/\.o/.c/'`" | 1733 | UNEXEC_SRC="`echo ${unexec} | sed 's/\.o/.c/'`" |
| 1727 | 1734 | ||
| @@ -2345,7 +2352,6 @@ AC_CHECK_HEADER(malloc/malloc.h, AC_DEFINE(HAVE_MALLOC_MALLOC_H, 1, [Define to 1 | |||
| 2345 | ### Use Mac OS X Carbon API to implement GUI. | 2352 | ### Use Mac OS X Carbon API to implement GUI. |
| 2346 | if test "${HAVE_CARBON}" = "yes"; then | 2353 | if test "${HAVE_CARBON}" = "yes"; then |
| 2347 | AC_DEFINE(HAVE_CARBON, 1, [Define to 1 if you are using the Carbon API on Mac OS X.]) | 2354 | AC_DEFINE(HAVE_CARBON, 1, [Define to 1 if you are using the Carbon API on Mac OS X.]) |
| 2348 | window_system=mac | ||
| 2349 | ## Specify the install directory | 2355 | ## Specify the install directory |
| 2350 | carbon_appdir= | 2356 | carbon_appdir= |
| 2351 | if test "${carbon_appdir_x}" != ""; then | 2357 | if test "${carbon_appdir_x}" != ""; then |
diff --git a/etc/ChangeLog b/etc/ChangeLog index 3a365d8df19..12a85271f72 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog | |||
| @@ -1,3 +1,39 @@ | |||
| 1 | 2005-10-02 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * TODO: Clarify the local variables entry. | ||
| 4 | |||
| 5 | 2005-09-30 Bill Wohler <wohler@newt.com> | ||
| 6 | |||
| 7 | Moved MH-E image files from toolbar and mail directories into | ||
| 8 | etc/images. | ||
| 9 | |||
| 10 | * images/mail: New directory. | ||
| 11 | |||
| 12 | * images/mail/reply.*: Moved here from lisp/mail/reply2*. | ||
| 13 | |||
| 14 | * images/mail/alias.*, images/mail/refile.*, images/mail/repack.*: | ||
| 15 | * images/mail/reply*: Moved here from lisp/toolbar. | ||
| 16 | |||
| 17 | * images/execute.*, images/highlight.*, images/mh-logo.xpm: | ||
| 18 | * images/page-down.*, images/show.*, images/widen.*: Moved here | ||
| 19 | from lisp/toolbar. | ||
| 20 | |||
| 21 | * images/refresh.*: Moved here from lisp/toolbar/rescan.*. | ||
| 22 | Use GNOME 2.10's refresh icon. | ||
| 23 | |||
| 24 | * images/README: New file that indicates which icons came from | ||
| 25 | GNOME (see lisp/toolbar/README). | ||
| 26 | |||
| 27 | 2005-09-30 Romain Francoise <romain@orebokech.com> | ||
| 28 | |||
| 29 | * NEWS: Mention changes to `read-buffer'. | ||
| 30 | |||
| 31 | 2005-09-30 Chong Yidong <cyd@stupidchicken.com> | ||
| 32 | |||
| 33 | * images/ezimage: New directory. | ||
| 34 | |||
| 35 | * images/ezimage/*.xpm: Add images used by speedbar.el. | ||
| 36 | |||
| 1 | 2005-09-30 David Ponce <david@dponce.com> | 37 | 2005-09-30 David Ponce <david@dponce.com> |
| 2 | 38 | ||
| 3 | * NEWS: Update recentf changes. | 39 | * NEWS: Update recentf changes. |
| @@ -9,8 +45,7 @@ | |||
| 9 | 2005-09-27 Jay Belanger <belanger@truman.edu> | 45 | 2005-09-27 Jay Belanger <belanger@truman.edu> |
| 10 | 46 | ||
| 11 | * calccard.tex: Update `versionnumber', remove `versiondate'. | 47 | * calccard.tex: Update `versionnumber', remove `versiondate'. |
| 12 | (Error Recovery): Refer to "initial state" rather than "default | 48 | (Error Recovery): Refer to "initial state" rather than "default state". |
| 13 | state". | ||
| 14 | (Algebra): Mention LaTeX language mode. | 49 | (Algebra): Mention LaTeX language mode. |
| 15 | (Programming): Delete reference to "Z =". | 50 | (Programming): Delete reference to "Z =". |
| 16 | 51 | ||
| @@ -25,8 +60,7 @@ | |||
| 25 | 60 | ||
| 26 | 2005-09-15 Kenichi Handa <handa@m17n.org> | 61 | 2005-09-15 Kenichi Handa <handa@m17n.org> |
| 27 | 62 | ||
| 28 | * PROBLEMS: Fix the paragraph describing the limitation of | 63 | * PROBLEMS: Fix the paragraph describing the limitation of UTF-8/16/7. |
| 29 | UTF-8/16/7. | ||
| 30 | 64 | ||
| 31 | 2005-09-14 Romain Francoise <romain@orebokech.com> | 65 | 2005-09-14 Romain Francoise <romain@orebokech.com> |
| 32 | 66 | ||
| @@ -128,12 +162,11 @@ | |||
| 128 | 2005-07-03 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | 162 | 2005-07-03 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> |
| 129 | 163 | ||
| 130 | * PROBLEMS (Fedora Core 4 GNU/Linux: Segfault during dumping): | 164 | * PROBLEMS (Fedora Core 4 GNU/Linux: Segfault during dumping): |
| 131 | Added it again. | 165 | Add it again. |
| 132 | 166 | ||
| 133 | 2005-06-29 Carsten Dominik <dominik@science.uva.nl> | 167 | 2005-06-29 Carsten Dominik <dominik@science.uva.nl> |
| 134 | 168 | ||
| 135 | * NEWS: Added an entry for Org-mode, and a change entry for | 169 | * NEWS: Add an entry for Org-mode, and a change entry for reftex-mode. |
| 136 | reftex-mode. | ||
| 137 | 170 | ||
| 138 | 2005-06-28 Richard M. Stallman <rms@gnu.org> | 171 | 2005-06-28 Richard M. Stallman <rms@gnu.org> |
| 139 | 172 | ||
| @@ -3774,6 +3774,12 @@ If the variable is itself nil, then `frame-or-buffer-changed-p' uses, | |||
| 3774 | for compatibility, an internal variable which exists only for this | 3774 | for compatibility, an internal variable which exists only for this |
| 3775 | purpose. | 3775 | purpose. |
| 3776 | 3776 | ||
| 3777 | +++ | ||
| 3778 | *** The function `read-buffer' follows the convention for reading from | ||
| 3779 | the minibuffer with a default value: if DEF is non-nil, the minibuffer | ||
| 3780 | prompt provided in PROMPT is edited to show the default value provided | ||
| 3781 | in DEF before the terminal colon and space. | ||
| 3782 | |||
| 3777 | ** Local variables lists: | 3783 | ** Local variables lists: |
| 3778 | 3784 | ||
| 3779 | +++ | 3785 | +++ |
| @@ -4422,6 +4428,9 @@ If non-nil, that says to preserve the window's current margin, fringe, | |||
| 4422 | and scroll-bar settings. | 4428 | and scroll-bar settings. |
| 4423 | 4429 | ||
| 4424 | +++ | 4430 | +++ |
| 4431 | *** The new function `window-split-tree' returns a frame's window split tree. | ||
| 4432 | |||
| 4433 | +++ | ||
| 4425 | ** Customizable fringe bitmaps | 4434 | ** Customizable fringe bitmaps |
| 4426 | 4435 | ||
| 4427 | *** New function `define-fringe-bitmap' can now be used to create new | 4436 | *** New function `define-fringe-bitmap' can now be used to create new |
| @@ -47,7 +47,7 @@ to the FSF. | |||
| 47 | ** Implement something better than the current Refill mode. This | 47 | ** Implement something better than the current Refill mode. This |
| 48 | probably needs some primitive support. | 48 | probably needs some primitive support. |
| 49 | 49 | ||
| 50 | ** Add a command to make a local variables list in the current buffer | 50 | ** Add a command to make a "Local Variables" section in the current buffer |
| 51 | and/or add a variable to the list. | 51 | and/or add a variable to the list. |
| 52 | 52 | ||
| 53 | ** Implement primitive and higher-level functions to allow filling | 53 | ** Implement primitive and higher-level functions to allow filling |
diff --git a/etc/images/README b/etc/images/README new file mode 100644 index 00000000000..c697bfdc438 --- /dev/null +++ b/etc/images/README | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | The following icons are from GNOME 2.10: | ||
| 2 | |||
| 3 | refresh.pbm, refresh.xpm | ||
| 4 | |||
| 5 | They are not part of Emacs, but distributed and used by Emacs. | ||
diff --git a/lisp/toolbar/execute.pbm b/etc/images/execute.pbm index 84bcbb38428..84bcbb38428 100644 --- a/lisp/toolbar/execute.pbm +++ b/etc/images/execute.pbm | |||
| Binary files differ | |||
diff --git a/lisp/toolbar/execute.xpm b/etc/images/execute.xpm index ce38c629f73..ce38c629f73 100644 --- a/lisp/toolbar/execute.xpm +++ b/etc/images/execute.xpm | |||
diff --git a/etc/images/ezimage/bits.xpm b/etc/images/ezimage/bits.xpm new file mode 100644 index 00000000000..b291fcfb5f3 --- /dev/null +++ b/etc/images/ezimage/bits.xpm | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_obj_xpm[] = { | ||
| 3 | "15 15 2 1", | ||
| 4 | " c None", | ||
| 5 | ". c #000CFF", | ||
| 6 | " .. . .. . ", | ||
| 7 | ". . . . . . ", | ||
| 8 | ". . . . . . ", | ||
| 9 | ". . . . . . ", | ||
| 10 | " .. . .. . ", | ||
| 11 | " ", | ||
| 12 | ". .. . .. ", | ||
| 13 | ". . . . . . ", | ||
| 14 | ". . . . . . ", | ||
| 15 | ". . . . . . ", | ||
| 16 | ". .. . .. ", | ||
| 17 | " ", | ||
| 18 | " .. . .. . ", | ||
| 19 | ". . . . . . ", | ||
| 20 | ". . . . . . "}; | ||
diff --git a/etc/images/ezimage/bitsbang.xpm b/etc/images/ezimage/bitsbang.xpm new file mode 100644 index 00000000000..cd49e831d9d --- /dev/null +++ b/etc/images/ezimage/bitsbang.xpm | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_objod_xpm[] = { | ||
| 3 | "15 15 3 1", | ||
| 4 | " c None", | ||
| 5 | ". c #000CFF", | ||
| 6 | "+ c #FFFA00", | ||
| 7 | " .. . .. . ", | ||
| 8 | ". .++ . . . ", | ||
| 9 | ". .++ . . . ", | ||
| 10 | ". . ++. . . ", | ||
| 11 | " .. ++ .. . ", | ||
| 12 | " ++ ", | ||
| 13 | ". ..++. .. ", | ||
| 14 | ". . .++ . . ", | ||
| 15 | ". . .++ . . ", | ||
| 16 | ". . .++ . . ", | ||
| 17 | ". .. . .. ", | ||
| 18 | " ++ ", | ||
| 19 | " .. . ++. . ", | ||
| 20 | ". . . . . . ", | ||
| 21 | ". . . . . . "}; | ||
diff --git a/etc/images/ezimage/box-minus.xpm b/etc/images/ezimage/box-minus.xpm new file mode 100644 index 00000000000..a24583cd24d --- /dev/null +++ b/etc/images/ezimage/box-minus.xpm | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_box_minus_xpm[] = { | ||
| 3 | "20 15 4 1", | ||
| 4 | " c None", | ||
| 5 | ". c #000000", | ||
| 6 | "+ c #828282", | ||
| 7 | "@ c #D19200", | ||
| 8 | "...+ +..+ ", | ||
| 9 | ".@@.+ +.@.+", | ||
| 10 | "+.@@.+ +.@@@.", | ||
| 11 | "+.@@@.+++++++++.@@..", | ||
| 12 | " +..@............@.+", | ||
| 13 | " +.@..@@@@@@@@@@@..+", | ||
| 14 | " +.@@..............+", | ||
| 15 | " +.@@.@@@@@@@@@@@@.+", | ||
| 16 | " +.@@.@@@@@@@@@@@@.+", | ||
| 17 | " +.@@.@@@......@@@.+", | ||
| 18 | " +.@@.@@@......@@@.+", | ||
| 19 | " +.@.@@@@@@@@@@@@.+", | ||
| 20 | " +..@@@@@@@@@@@@.+", | ||
| 21 | " +..............+", | ||
| 22 | " ++++++++++++++ "}; | ||
diff --git a/etc/images/ezimage/box-plus.xpm b/etc/images/ezimage/box-plus.xpm new file mode 100644 index 00000000000..5f70fef9278 --- /dev/null +++ b/etc/images/ezimage/box-plus.xpm | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_box_plus_xpm[] = { | ||
| 3 | "20 15 4 1", | ||
| 4 | " c None", | ||
| 5 | ". c #828282", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #D19200", | ||
| 8 | " ", | ||
| 9 | " .............. ", | ||
| 10 | " .++++++++++++++. ", | ||
| 11 | " .++@@@@@@+@@@@@+. ", | ||
| 12 | " .+@+@@@@@@+@@@@@+. ", | ||
| 13 | " .+@@++++++++++++++.", | ||
| 14 | " .+@@+@@@@@@@@@@@@+.", | ||
| 15 | " .+@@+@@@@@++@@@@@+.", | ||
| 16 | " .+@@+@@@@@++@@@@@+.", | ||
| 17 | " .+@@+@@@++++++@@@+.", | ||
| 18 | " .+@@+@@@++++++@@@+.", | ||
| 19 | " .+@+@@@@@++@@@@@+.", | ||
| 20 | " .++@@@@@++@@@@@+.", | ||
| 21 | " .++++++++++++++.", | ||
| 22 | " .............. "}; | ||
diff --git a/etc/images/ezimage/box.xpm b/etc/images/ezimage/box.xpm new file mode 100644 index 00000000000..f56971543ec --- /dev/null +++ b/etc/images/ezimage/box.xpm | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_box_xpm[] = { | ||
| 3 | "20 15 4 1", | ||
| 4 | " c None", | ||
| 5 | ". c #828282", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #FFF993", | ||
| 8 | " ", | ||
| 9 | " ............... ", | ||
| 10 | " .++++++++++++++. ", | ||
| 11 | " .++@@@@@@+@@@@@+. ", | ||
| 12 | " .+@+@@@@@@+@@@@@+. ", | ||
| 13 | " .+@@++++++++++++++.", | ||
| 14 | " .+@@+@@@@@@@@@@@@+.", | ||
| 15 | " .+@@+@@@@@@@@@@@@+.", | ||
| 16 | " .+@@+@@@@@@@@@@@@+.", | ||
| 17 | " .+@@+@@@@@@@@@@@@+.", | ||
| 18 | " .+@@+@@@@@@@@@@@@+.", | ||
| 19 | " .+@+@@@@@@@@@@@@+.", | ||
| 20 | ". .++@@@@@@@@@@@@+.", | ||
| 21 | " .++++++++++++++.", | ||
| 22 | " .............. "}; | ||
diff --git a/etc/images/ezimage/checkmark.xpm b/etc/images/ezimage/checkmark.xpm new file mode 100644 index 00000000000..ad4078b64b3 --- /dev/null +++ b/etc/images/ezimage/checkmark.xpm | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_chk_xpm[] = { | ||
| 3 | "15 15 2 1", | ||
| 4 | " c None", | ||
| 5 | ". c #FF0000", | ||
| 6 | " ", | ||
| 7 | " . . .. ", | ||
| 8 | " . . . ", | ||
| 9 | " . . . . ", | ||
| 10 | " . .. . ", | ||
| 11 | " .. ", | ||
| 12 | " .. ", | ||
| 13 | " ... .. ", | ||
| 14 | " ... .. ", | ||
| 15 | " .... .. ", | ||
| 16 | " ... .. ", | ||
| 17 | " .... ", | ||
| 18 | " ... ", | ||
| 19 | " . ", | ||
| 20 | " "}; | ||
diff --git a/etc/images/ezimage/dir-minus.xpm b/etc/images/ezimage/dir-minus.xpm new file mode 100644 index 00000000000..2edd33e6b2b --- /dev/null +++ b/etc/images/ezimage/dir-minus.xpm | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_dir_minus_xpm[] = { | ||
| 3 | "20 15 5 1", | ||
| 4 | " c None", | ||
| 5 | ". c #828282", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #DBDB00", | ||
| 8 | "# c #FFF993", | ||
| 9 | " ....... ", | ||
| 10 | ".+++++++. ", | ||
| 11 | ".+@@@@@@+......... ", | ||
| 12 | ".+@@@@@@@++++++++. ", | ||
| 13 | ".+@@@@@@@@@@@@@@+...", | ||
| 14 | ".+@@++++++++++++++++", | ||
| 15 | ".+@@+##############+", | ||
| 16 | ".+@+##############+.", | ||
| 17 | ".+@+####++++++####+.", | ||
| 18 | ".+@+####++++++####+.", | ||
| 19 | ".+@+##############+.", | ||
| 20 | ".++##############+..", | ||
| 21 | ".++##############+. ", | ||
| 22 | ".+++++++++++++++++. ", | ||
| 23 | " ................. "}; | ||
diff --git a/etc/images/ezimage/dir-plus.xpm b/etc/images/ezimage/dir-plus.xpm new file mode 100644 index 00000000000..93154af7e82 --- /dev/null +++ b/etc/images/ezimage/dir-plus.xpm | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_dir_plus_xpm[] = { | ||
| 3 | "20 15 5 1", | ||
| 4 | " c None", | ||
| 5 | ". c #828282", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #DBDB00", | ||
| 8 | "# c #FFF993", | ||
| 9 | " ....... ", | ||
| 10 | ".+++++++. ", | ||
| 11 | ".+@@@@@@+.......... ", | ||
| 12 | ".+@@@@@@@++++++++++.", | ||
| 13 | ".+@@@@@@@@@@@@@@@@+.", | ||
| 14 | ".+#######++#####@@+.", | ||
| 15 | ".+#######++######@+.", | ||
| 16 | ".+#####++++++####@+.", | ||
| 17 | ".+#####++++++####@+.", | ||
| 18 | ".+#######++######@+.", | ||
| 19 | ".+#######++######@+.", | ||
| 20 | ".+###############@+.", | ||
| 21 | ".+###############@+.", | ||
| 22 | ".++++++++++++++++++.", | ||
| 23 | " .................. "}; | ||
diff --git a/etc/images/ezimage/dir.xpm b/etc/images/ezimage/dir.xpm new file mode 100644 index 00000000000..de1d3fd6698 --- /dev/null +++ b/etc/images/ezimage/dir.xpm | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_dir_xpm[] = { | ||
| 3 | "20 15 5 1", | ||
| 4 | " c None", | ||
| 5 | ". c #828282", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #DBDB00", | ||
| 8 | "# c #FFF993", | ||
| 9 | " ....... ", | ||
| 10 | ".+++++++. ", | ||
| 11 | ".+@@@@@@+.......... ", | ||
| 12 | ".+@@@@@@@++++++++++.", | ||
| 13 | ".+@@@@@@@@@@@@@@@@+.", | ||
| 14 | ".+##############@@+.", | ||
| 15 | ".+###############@+.", | ||
| 16 | ".+###############@+.", | ||
| 17 | ".+###############@+.", | ||
| 18 | ".+###############@+.", | ||
| 19 | ".+###############@+.", | ||
| 20 | ".+###############@+.", | ||
| 21 | ".+###############@+.", | ||
| 22 | ".++++++++++++++++++.", | ||
| 23 | " .................. "}; | ||
diff --git a/etc/images/ezimage/doc-minus.xpm b/etc/images/ezimage/doc-minus.xpm new file mode 100644 index 00000000000..2480e4b9db4 --- /dev/null +++ b/etc/images/ezimage/doc-minus.xpm | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_doc_minus_xpm[] = { | ||
| 3 | "15 15 5 1", | ||
| 4 | " c None", | ||
| 5 | ". c #828282", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #5A818B", | ||
| 8 | "# c #FFFFFF", | ||
| 9 | " ....... ", | ||
| 10 | " .+++++++. ", | ||
| 11 | " .+@@@@@@+. ", | ||
| 12 | " .+@@@@@@+#. ", | ||
| 13 | " .+@@@@@@+#+.", | ||
| 14 | " .+@####@+##+.", | ||
| 15 | " .+@@@@@@@+#+. ", | ||
| 16 | " .+@@@@@@+##+. ", | ||
| 17 | ".++++@@@@+#+. ", | ||
| 18 | ".+###++++##+. ", | ||
| 19 | ".+########+. ", | ||
| 20 | ".++#######+. ", | ||
| 21 | " ..++++##+. ", | ||
| 22 | " ....+++. ", | ||
| 23 | " ... "}; | ||
diff --git a/etc/images/ezimage/doc-plus.xpm b/etc/images/ezimage/doc-plus.xpm new file mode 100644 index 00000000000..eb7ebe17309 --- /dev/null +++ b/etc/images/ezimage/doc-plus.xpm | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_doc_plus_xpm[] = { | ||
| 3 | "15 15 5 1", | ||
| 4 | " c None", | ||
| 5 | ". c #828282", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #5A818B", | ||
| 8 | "# c #FFFFFF", | ||
| 9 | " ....... ", | ||
| 10 | " .+++++++. ", | ||
| 11 | " .+@@@@@@+. ", | ||
| 12 | " .+@@#@@@+#. ", | ||
| 13 | " .+@@#@@@+#+.", | ||
| 14 | " .+@#####+##+.", | ||
| 15 | " .+@@@@#@@+#+. ", | ||
| 16 | " .+@@@@#@+##+. ", | ||
| 17 | ".++++@@@@+#+. ", | ||
| 18 | ".+###++++##+. ", | ||
| 19 | ".+########+. ", | ||
| 20 | ".++#######+. ", | ||
| 21 | " ..++++##+. ", | ||
| 22 | " ....+++. ", | ||
| 23 | " ... "}; | ||
diff --git a/etc/images/ezimage/doc.xpm b/etc/images/ezimage/doc.xpm new file mode 100644 index 00000000000..3ed8eee2bcf --- /dev/null +++ b/etc/images/ezimage/doc.xpm | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_doc_xpm[] = { | ||
| 3 | "15 15 5 1", | ||
| 4 | " c None", | ||
| 5 | ". c #828282", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #5A818B", | ||
| 8 | "# c #FFFFFF", | ||
| 9 | " ....... ", | ||
| 10 | " .+++++++. ", | ||
| 11 | " .+@@@@@@+. ", | ||
| 12 | " .+@@@@@@+#. ", | ||
| 13 | " .+@@@@@@+#+.", | ||
| 14 | " .+@@@@@@+##+.", | ||
| 15 | " .+@@@@@@@+#+. ", | ||
| 16 | " .+@@@@@@+##+. ", | ||
| 17 | ".++++@@@@+#+. ", | ||
| 18 | ".+###++++##+. ", | ||
| 19 | ".+########+. ", | ||
| 20 | ".+########+. ", | ||
| 21 | ".++++++##+. ", | ||
| 22 | " ......+++. ", | ||
| 23 | " ... "}; | ||
diff --git a/etc/images/ezimage/info.xpm b/etc/images/ezimage/info.xpm new file mode 100644 index 00000000000..0027252bf57 --- /dev/null +++ b/etc/images/ezimage/info.xpm | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_info_xpm[] = { | ||
| 3 | "10 15 4 1", | ||
| 4 | " c None", | ||
| 5 | ". c #BEBEBE", | ||
| 6 | "+ c #0000FF", | ||
| 7 | "@ c #FFFFFF", | ||
| 8 | " .. ", | ||
| 9 | " ..+++. ", | ||
| 10 | " .+++@++. ", | ||
| 11 | " .+++++++ ", | ||
| 12 | " .+++++++ ", | ||
| 13 | ".++@@@++++", | ||
| 14 | ".++++@++++", | ||
| 15 | ".++++@++++", | ||
| 16 | ".++++@++++", | ||
| 17 | " .+++@++++", | ||
| 18 | " .+++@+++ ", | ||
| 19 | " .+@@@@@+ ", | ||
| 20 | " .+++++++ ", | ||
| 21 | " .+++++ ", | ||
| 22 | " ++ "}; | ||
diff --git a/etc/images/ezimage/key.xpm b/etc/images/ezimage/key.xpm new file mode 100644 index 00000000000..4b9c7b8188d --- /dev/null +++ b/etc/images/ezimage/key.xpm | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * key_xpm[] = { | ||
| 3 | "16 16 4 1", | ||
| 4 | " c None", | ||
| 5 | ". c #828282", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #FFF993", | ||
| 8 | " ........ ", | ||
| 9 | " ..++++++.. ", | ||
| 10 | " .+@@@@@@+. ", | ||
| 11 | " .+@@++@@+. ", | ||
| 12 | " .+@@@@@@+. ", | ||
| 13 | " .+@@@@@@+. ", | ||
| 14 | " .+@@@@@@+. ", | ||
| 15 | " .+@@@@+. ", | ||
| 16 | " .+@@+. ", | ||
| 17 | " .+@@@+. ", | ||
| 18 | " .+@@+. ", | ||
| 19 | " .+@@+. ", | ||
| 20 | " .+@@@+. ", | ||
| 21 | " .+@@+. ", | ||
| 22 | " .++. ", | ||
| 23 | " .. "}; | ||
diff --git a/etc/images/ezimage/label.xpm b/etc/images/ezimage/label.xpm new file mode 100644 index 00000000000..715cc2c1dee --- /dev/null +++ b/etc/images/ezimage/label.xpm | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_label_xpm[] = { | ||
| 3 | "10 16 3 1", | ||
| 4 | " c None", | ||
| 5 | ". c gray", | ||
| 6 | "+ c blue", | ||
| 7 | " .....", | ||
| 8 | " ..+++++", | ||
| 9 | " .+++++++", | ||
| 10 | " .++++++++", | ||
| 11 | " .++++++++", | ||
| 12 | ".+++++++++", | ||
| 13 | ".+++++++++", | ||
| 14 | ".+++++++++", | ||
| 15 | ".+++++++++", | ||
| 16 | ".+++++++++", | ||
| 17 | ".+++++++++", | ||
| 18 | ".+++++++++", | ||
| 19 | ".+++++++++", | ||
| 20 | ".+++++++++", | ||
| 21 | ".+++++++++", | ||
| 22 | ".+++++++++"}; | ||
diff --git a/etc/images/ezimage/lock.xpm b/etc/images/ezimage/lock.xpm new file mode 100644 index 00000000000..f51ee975c2c --- /dev/null +++ b/etc/images/ezimage/lock.xpm | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * lock_xpm[] = { | ||
| 3 | "16 16 4 1", | ||
| 4 | " c None", | ||
| 5 | ". c #828282", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #FFF993", | ||
| 8 | " ........ ", | ||
| 9 | " ..++++++.. ", | ||
| 10 | " .++....++. ", | ||
| 11 | " .+......+. ", | ||
| 12 | " ..+......+.. ", | ||
| 13 | " ..++++++++++..", | ||
| 14 | " .++@@@@@@@@++.", | ||
| 15 | " .+@@@@@@@@@@+.", | ||
| 16 | " .+@@@@@@@@@@+.", | ||
| 17 | " .+@@@++++@@@+.", | ||
| 18 | " .+@@@@++@@@@+.", | ||
| 19 | " .+@@@@@@@@@@+.", | ||
| 20 | " .+@@@@++@@@@+.", | ||
| 21 | " .+@@@@@@@@@@+.", | ||
| 22 | " .++++++++++++.", | ||
| 23 | " .............."}; | ||
diff --git a/etc/images/ezimage/mail.xpm b/etc/images/ezimage/mail.xpm new file mode 100644 index 00000000000..5716eeb9661 --- /dev/null +++ b/etc/images/ezimage/mail.xpm | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_mail_xpm[] = { | ||
| 3 | "20 15 4 1", | ||
| 4 | " c None", | ||
| 5 | ". c #828282", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #FFFFFF", | ||
| 8 | "................... ", | ||
| 9 | ".++++++++++++++++++.", | ||
| 10 | ".++@@@@@@@@@@@@@@++.", | ||
| 11 | ".+@++@@@@@@@@@@++@+.", | ||
| 12 | ".+@@@++@@@@@@++@@@+.", | ||
| 13 | ".+@@@@@++@@++@@@@@+.", | ||
| 14 | ".+@@@@@@@++@@@@@@@+.", | ||
| 15 | ".+@@@@@@@@@@@@@@@@+.", | ||
| 16 | ".+@@@@+@@@@@@+@@@@+.", | ||
| 17 | ".+@@@@@@@@@@@@@@@@+.", | ||
| 18 | ".+@@+@@@@@@@@@@+@@+.", | ||
| 19 | ".+@@@@@@@@@@@@@@@@+.", | ||
| 20 | ".++@@@@@@@@@@@@@@++.", | ||
| 21 | ".++++++++++++++++++.", | ||
| 22 | " .................. "}; | ||
diff --git a/etc/images/ezimage/page-minus.xpm b/etc/images/ezimage/page-minus.xpm new file mode 100644 index 00000000000..2e5424361d1 --- /dev/null +++ b/etc/images/ezimage/page-minus.xpm | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_pg_minus_xpm[] = { | ||
| 3 | "20 15 5 1", | ||
| 4 | " c None", | ||
| 5 | ". c #828282", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #FFFFFF", | ||
| 8 | "# c #ADADAD", | ||
| 9 | " ............ ", | ||
| 10 | " .++++++++++++.", | ||
| 11 | " .++@@@@@@@@@@+.", | ||
| 12 | " .+#+@@@@@@@@@@+.", | ||
| 13 | " .+##+@@@@@@@@@@+.", | ||
| 14 | " .+###+@@@@@@@@@@+.", | ||
| 15 | " .+####+@@@@@@@@@@+.", | ||
| 16 | ".+++++++@++++++@@@+.", | ||
| 17 | ".+@@@@@@@++++++@@@+.", | ||
| 18 | ".+@@@@@@@@@@@@@@@@+.", | ||
| 19 | ".+@@@@@@@@@@@@@@@@+.", | ||
| 20 | ".+@@@@@@@@@@@@@@@@+.", | ||
| 21 | ".+@@@@@@@@@@@@@@@@+.", | ||
| 22 | ".++++++++++++++++++.", | ||
| 23 | " .................. "}; | ||
diff --git a/etc/images/ezimage/page-plus.xpm b/etc/images/ezimage/page-plus.xpm new file mode 100644 index 00000000000..aa5d38fd215 --- /dev/null +++ b/etc/images/ezimage/page-plus.xpm | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_pg_plus_xpm[] = { | ||
| 3 | "20 15 5 1", | ||
| 4 | " c None", | ||
| 5 | ". c #828282", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #FFFFFF", | ||
| 8 | "# c #ADADAD", | ||
| 9 | " ............ ", | ||
| 10 | " .++++++++++++.", | ||
| 11 | " .++@@@@@@@@@@+.", | ||
| 12 | " .+#+@@@@@@@@@@+.", | ||
| 13 | " .+##+@@@@@@@@@@+.", | ||
| 14 | " .+###+@@@++@@@@@+.", | ||
| 15 | " .+####+@@@++@@@@@+.", | ||
| 16 | ".+++++++@++++++@@@+.", | ||
| 17 | ".+@@@@@@@++++++@@@+.", | ||
| 18 | ".+@@@@@@@@@++@@@@@+.", | ||
| 19 | ".+@@@@@@@@@++@@@@@+.", | ||
| 20 | ".+@@@@@@@@@@@@@@@@+.", | ||
| 21 | ".+@@@@@@@@@@@@@@@@+.", | ||
| 22 | ".++++++++++++++++++.", | ||
| 23 | " .................. "}; | ||
diff --git a/etc/images/ezimage/page.xpm b/etc/images/ezimage/page.xpm new file mode 100644 index 00000000000..75c6a6e7299 --- /dev/null +++ b/etc/images/ezimage/page.xpm | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_pg_xpm[] = { | ||
| 3 | "20 15 5 1", | ||
| 4 | " c None", | ||
| 5 | ". c #828282", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #FFFFFF", | ||
| 8 | "# c #ADADAD", | ||
| 9 | " ............ ", | ||
| 10 | " .++++++++++++.", | ||
| 11 | " .++@@@@@@@@@@+.", | ||
| 12 | " .+#+@@@@@@@@@@+.", | ||
| 13 | " .+##+@@@@@@@@@@+.", | ||
| 14 | " .+###+@@@@@@@@@@+.", | ||
| 15 | " .+####+@@@@@@@@@@+.", | ||
| 16 | ".+++++++@@@@@@@@@@+.", | ||
| 17 | ".+@@@@@@@@@@@@@@@@+.", | ||
| 18 | ".+@@@@@@@@@@@@@@@@+.", | ||
| 19 | ".+@@@@@@@@@@@@@@@@+.", | ||
| 20 | ".+@@@@@@@@@@@@@@@@+.", | ||
| 21 | ".+@@@@@@@@@@@@@@@@+.", | ||
| 22 | ".++++++++++++++++++.", | ||
| 23 | " .................. "}; | ||
diff --git a/etc/images/ezimage/tag-gt.xpm b/etc/images/ezimage/tag-gt.xpm new file mode 100644 index 00000000000..49b8b72a2c1 --- /dev/null +++ b/etc/images/ezimage/tag-gt.xpm | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_tag_gt_xpm[] = { | ||
| 3 | "20 15 4 1", | ||
| 4 | " c None", | ||
| 5 | ". c #828282", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #FFF993", | ||
| 8 | " ", | ||
| 9 | " ", | ||
| 10 | " ............... ", | ||
| 11 | " .+++++++++++++++.", | ||
| 12 | " .+@@@@@++@@@@@@@+.", | ||
| 13 | " .+@@@@@@+++@@@@@@+.", | ||
| 14 | ".+@@@@@@@++++@@@@@+.", | ||
| 15 | ".+@++@@@@+++++@@@@+.", | ||
| 16 | ".+@++@@@@+++++.@@@+.", | ||
| 17 | ".+@@@@@@@++++.@@@@+.", | ||
| 18 | " .+@@@@@@+++.@@@@@+.", | ||
| 19 | " .+@@@@@++.@@@@@@+.", | ||
| 20 | ". .++++++.++++++++.", | ||
| 21 | " ............... ", | ||
| 22 | " "}; | ||
diff --git a/etc/images/ezimage/tag-minus.xpm b/etc/images/ezimage/tag-minus.xpm new file mode 100644 index 00000000000..f006c4ef4cb --- /dev/null +++ b/etc/images/ezimage/tag-minus.xpm | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_tag__xpm[] = { | ||
| 3 | "20 15 4 1", | ||
| 4 | " c None", | ||
| 5 | ". c #828282", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #FFF993", | ||
| 8 | " ", | ||
| 9 | " ", | ||
| 10 | " ............... ", | ||
| 11 | " .+++++++++++++++.", | ||
| 12 | " .+@@@@@@@@@@@@@@+.", | ||
| 13 | " .+@@@@@@@@@@@@@@@+.", | ||
| 14 | ".+@@@@@@@@@@@@@@@@+.", | ||
| 15 | ".+@++@@++++++@@@@@+.", | ||
| 16 | ".+@++@@++++++@@@@@+.", | ||
| 17 | ".+@@@@@@@@@@@@@@@@+.", | ||
| 18 | " .+@@@@@@@@@@@@@@@+.", | ||
| 19 | " .+@@@@@@@@@@@@@@+.", | ||
| 20 | ". .+++++++++++++++.", | ||
| 21 | " ............... ", | ||
| 22 | " "}; | ||
diff --git a/etc/images/ezimage/tag-plus.xpm b/etc/images/ezimage/tag-plus.xpm new file mode 100644 index 00000000000..cf32fef549c --- /dev/null +++ b/etc/images/ezimage/tag-plus.xpm | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_tag+_xpm[] = { | ||
| 3 | "20 15 4 1", | ||
| 4 | " c None", | ||
| 5 | ". c #828282", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #FFF993", | ||
| 8 | " ", | ||
| 9 | " ", | ||
| 10 | " ............... ", | ||
| 11 | " .+++++++++++++++.", | ||
| 12 | " .+@@@@@@@@@@@@@@+.", | ||
| 13 | " .+@@@@@@++@@@@@@@+.", | ||
| 14 | ".+@@@@@@@++@@@@@@@+.", | ||
| 15 | ".+@++@@++++++@@@@@+.", | ||
| 16 | ".+@++@@++++++@@@@@+.", | ||
| 17 | ".+@@@@@@@++@@@@@@@+.", | ||
| 18 | " .+@@@@@@++@@@@@@@+.", | ||
| 19 | " .+@@@@@@@@@@@@@@+.", | ||
| 20 | ". .+++++++++++++++.", | ||
| 21 | " ............... ", | ||
| 22 | " "}; | ||
diff --git a/etc/images/ezimage/tag-type.xpm b/etc/images/ezimage/tag-type.xpm new file mode 100644 index 00000000000..65886989dbd --- /dev/null +++ b/etc/images/ezimage/tag-type.xpm | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_tag_type_xpm[] = { | ||
| 3 | "20 15 4 1", | ||
| 4 | " c None", | ||
| 5 | ". c #828282", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #FFF993", | ||
| 8 | " ", | ||
| 9 | " ", | ||
| 10 | " ............... ", | ||
| 11 | " .+++++++++++++++.", | ||
| 12 | " .+@@@@@@@@@@@@@@+.", | ||
| 13 | " .+@@@@@@++++++@@@+.", | ||
| 14 | ".+@@@@@@@++++++@@@+.", | ||
| 15 | ".+@++@@@@@@++@@@@@+.", | ||
| 16 | ".+@++@@@@@@++@@@@@+.", | ||
| 17 | ".+@@@@@@@@@++@@@@@+.", | ||
| 18 | " .+@@@@@@@@++@@@@@+.", | ||
| 19 | " .+@@@@@@@@@@@@@@+.", | ||
| 20 | ". .+++++++++++++++.", | ||
| 21 | " ............... ", | ||
| 22 | " "}; | ||
diff --git a/etc/images/ezimage/tag-v.xpm b/etc/images/ezimage/tag-v.xpm new file mode 100644 index 00000000000..7431e4c5d87 --- /dev/null +++ b/etc/images/ezimage/tag-v.xpm | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_tag_v_xpm[] = { | ||
| 3 | "20 15 4 1", | ||
| 4 | " c None", | ||
| 5 | ". c #828282", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #FFF993", | ||
| 8 | " ", | ||
| 9 | " ", | ||
| 10 | " ............... ", | ||
| 11 | " .+++++++++++++++.", | ||
| 12 | " .+@@@@@@@@@@@@@@+.", | ||
| 13 | " .+@@@++++++++++.@+.", | ||
| 14 | ".+@@@@@++++++++.@@+.", | ||
| 15 | ".+@++@@@++++++.@@@+.", | ||
| 16 | ".+@++@@@@++++.@@@@+.", | ||
| 17 | ".+@@@@@@@@++.@@@@@+.", | ||
| 18 | " .+@@@@@@@@.@@@@@@+.", | ||
| 19 | " .+@@@@@@@@@@@@@@+.", | ||
| 20 | ". .+++++++++++++++.", | ||
| 21 | " ............... ", | ||
| 22 | " "}; | ||
diff --git a/etc/images/ezimage/tag.xpm b/etc/images/ezimage/tag.xpm new file mode 100644 index 00000000000..4c6f1c56c1f --- /dev/null +++ b/etc/images/ezimage/tag.xpm | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_tag_xpm[] = { | ||
| 3 | "20 15 4 1", | ||
| 4 | " c None", | ||
| 5 | ". c #828282", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #FFF993", | ||
| 8 | " ", | ||
| 9 | " ", | ||
| 10 | " ............... ", | ||
| 11 | " .+++++++++++++++.", | ||
| 12 | " .+@@@@@@@@@@@@@@+.", | ||
| 13 | " .+@@@@@@@@@@@@@@@+.", | ||
| 14 | ".+@@@@@@@@@@@@@@@@+.", | ||
| 15 | ".+@++@@@@@@@@@@@@@+.", | ||
| 16 | ".+@++@@@@@@@@@@@@@+.", | ||
| 17 | ".+@@@@@@@@@@@@@@@@+.", | ||
| 18 | " .+@@@@@@@@@@@@@@@+.", | ||
| 19 | " .+@@@@@@@@@@@@@@+.", | ||
| 20 | ". .+++++++++++++++.", | ||
| 21 | " ............... ", | ||
| 22 | " "}; | ||
diff --git a/etc/images/ezimage/unlock.xpm b/etc/images/ezimage/unlock.xpm new file mode 100644 index 00000000000..5841163a017 --- /dev/null +++ b/etc/images/ezimage/unlock.xpm | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * unlock_xpm[] = { | ||
| 3 | "16 16 4 1", | ||
| 4 | " c None", | ||
| 5 | ". c #828282", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #FFF993", | ||
| 8 | " ....... ", | ||
| 9 | "..+++++.. ", | ||
| 10 | ".++...++. ", | ||
| 11 | ".+.....+. ", | ||
| 12 | ".+.....+........", | ||
| 13 | "....++++++++++..", | ||
| 14 | " .++@@@@@@@@++.", | ||
| 15 | " .+@@@@@@@@@@+.", | ||
| 16 | " .+@@@@@@@@@@+.", | ||
| 17 | " .+@@@++++@@@+.", | ||
| 18 | " .+@@@@++@@@@+.", | ||
| 19 | " .+@@@@@@@@@@+.", | ||
| 20 | " .+@@@@++@@@@+.", | ||
| 21 | " .+@@@@@@@@@@+.", | ||
| 22 | " .++++++++++++.", | ||
| 23 | " .............."}; | ||
diff --git a/lisp/toolbar/highlight.pbm b/etc/images/highlight.pbm index 23394f05e27..23394f05e27 100644 --- a/lisp/toolbar/highlight.pbm +++ b/etc/images/highlight.pbm | |||
| Binary files differ | |||
diff --git a/lisp/toolbar/highlight.xpm b/etc/images/highlight.xpm index 1844128f02f..1844128f02f 100644 --- a/lisp/toolbar/highlight.xpm +++ b/etc/images/highlight.xpm | |||
diff --git a/lisp/toolbar/alias.pbm b/etc/images/mail/alias.pbm index cdd42c3632c..cdd42c3632c 100644 --- a/lisp/toolbar/alias.pbm +++ b/etc/images/mail/alias.pbm | |||
| Binary files differ | |||
diff --git a/lisp/toolbar/alias.xpm b/etc/images/mail/alias.xpm index 8bf75063bdc..8bf75063bdc 100644 --- a/lisp/toolbar/alias.xpm +++ b/etc/images/mail/alias.xpm | |||
diff --git a/lisp/toolbar/refile.pbm b/etc/images/mail/refile.pbm index 64e534ecc89..64e534ecc89 100644 --- a/lisp/toolbar/refile.pbm +++ b/etc/images/mail/refile.pbm | |||
| Binary files differ | |||
diff --git a/lisp/toolbar/refile.xpm b/etc/images/mail/refile.xpm index 561012d8505..561012d8505 100644 --- a/lisp/toolbar/refile.xpm +++ b/etc/images/mail/refile.xpm | |||
diff --git a/lisp/toolbar/repack.pbm b/etc/images/mail/repack.pbm index 502b1179939..502b1179939 100644 --- a/lisp/toolbar/repack.pbm +++ b/etc/images/mail/repack.pbm | |||
| Binary files differ | |||
diff --git a/lisp/toolbar/repack.xpm b/etc/images/mail/repack.xpm index b50b8f37551..b50b8f37551 100644 --- a/lisp/toolbar/repack.xpm +++ b/etc/images/mail/repack.xpm | |||
diff --git a/lisp/toolbar/reply-all.pbm b/etc/images/mail/reply-all.pbm index 57503cbea7c..57503cbea7c 100644 --- a/lisp/toolbar/reply-all.pbm +++ b/etc/images/mail/reply-all.pbm | |||
| Binary files differ | |||
diff --git a/lisp/toolbar/reply-all.xpm b/etc/images/mail/reply-all.xpm index 43453ee4d3a..43453ee4d3a 100644 --- a/lisp/toolbar/reply-all.xpm +++ b/etc/images/mail/reply-all.xpm | |||
diff --git a/lisp/toolbar/reply-from.pbm b/etc/images/mail/reply-from.pbm index 99fad608f30..99fad608f30 100644 --- a/lisp/toolbar/reply-from.pbm +++ b/etc/images/mail/reply-from.pbm | |||
| Binary files differ | |||
diff --git a/lisp/toolbar/reply-from.xpm b/etc/images/mail/reply-from.xpm index 543850f4b5e..543850f4b5e 100644 --- a/lisp/toolbar/reply-from.xpm +++ b/etc/images/mail/reply-from.xpm | |||
diff --git a/lisp/toolbar/reply-to.pbm b/etc/images/mail/reply-to.pbm index d7dc6391b69..d7dc6391b69 100644 --- a/lisp/toolbar/reply-to.pbm +++ b/etc/images/mail/reply-to.pbm | |||
| Binary files differ | |||
diff --git a/lisp/toolbar/reply-to.xpm b/etc/images/mail/reply-to.xpm index bce818c4804..bce818c4804 100644 --- a/lisp/toolbar/reply-to.xpm +++ b/etc/images/mail/reply-to.xpm | |||
diff --git a/lisp/mail/reply2.pbm b/etc/images/mail/reply.pbm index f48b34be3ae..f48b34be3ae 100644 --- a/lisp/mail/reply2.pbm +++ b/etc/images/mail/reply.pbm | |||
| Binary files differ | |||
diff --git a/lisp/mail/reply2.xpm b/etc/images/mail/reply.xpm index 047f8533d7c..047f8533d7c 100644 --- a/lisp/mail/reply2.xpm +++ b/etc/images/mail/reply.xpm | |||
diff --git a/lisp/toolbar/mh-logo.xpm b/etc/images/mh-logo.xpm index ce6b97c2f5a..ce6b97c2f5a 100644 --- a/lisp/toolbar/mh-logo.xpm +++ b/etc/images/mh-logo.xpm | |||
diff --git a/lisp/toolbar/page-down.pbm b/etc/images/page-down.pbm index 2f577146b63..2f577146b63 100644 --- a/lisp/toolbar/page-down.pbm +++ b/etc/images/page-down.pbm | |||
| Binary files differ | |||
diff --git a/lisp/toolbar/page-down.xpm b/etc/images/page-down.xpm index 3ef0f24ee0e..3ef0f24ee0e 100644 --- a/lisp/toolbar/page-down.xpm +++ b/etc/images/page-down.xpm | |||
diff --git a/etc/images/refresh.pbm b/etc/images/refresh.pbm new file mode 100644 index 00000000000..57a67cfde22 --- /dev/null +++ b/etc/images/refresh.pbm | |||
| Binary files differ | |||
diff --git a/etc/images/refresh.xpm b/etc/images/refresh.xpm new file mode 100644 index 00000000000..cf7d05d194c --- /dev/null +++ b/etc/images/refresh.xpm | |||
| @@ -0,0 +1,113 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * refresh_xpm[] = { | ||
| 3 | "24 24 86 1", | ||
| 4 | " c None", | ||
| 5 | ". c #000000", | ||
| 6 | "+ c #F3F6F8", | ||
| 7 | "@ c #C8D4DF", | ||
| 8 | "# c #F7F9FA", | ||
| 9 | "$ c #0D110C", | ||
| 10 | "% c #6286A5", | ||
| 11 | "& c #A0B6C9", | ||
| 12 | "* c #C9D5E0", | ||
| 13 | "= c #F2F5F7", | ||
| 14 | "- c #172116", | ||
| 15 | "; c #819EB6", | ||
| 16 | "> c #CAD6E1", | ||
| 17 | ", c #CCD7E1", | ||
| 18 | "' c #CED9E3", | ||
| 19 | ") c #F6F8F9", | ||
| 20 | "! c #7192AE", | ||
| 21 | "~ c #587B99", | ||
| 22 | "{ c #CDD8E2", | ||
| 23 | "] c #CFDAE4", | ||
| 24 | "^ c #D3DDE6", | ||
| 25 | "/ c #D5DEE6", | ||
| 26 | "( c #ADC0D0", | ||
| 27 | "_ c #90A9BF", | ||
| 28 | ": c #537490", | ||
| 29 | "< c #23323E", | ||
| 30 | "[ c #85A1B8", | ||
| 31 | "} c #5E83A3", | ||
| 32 | "| c #6084A3", | ||
| 33 | "1 c #6689A7", | ||
| 34 | "2 c #678AA8", | ||
| 35 | "3 c #48657D", | ||
| 36 | "4 c #A8BCCD", | ||
| 37 | "5 c #7393AE", | ||
| 38 | "6 c #6B8DAA", | ||
| 39 | "7 c #5C81A1", | ||
| 40 | "8 c #5D82A2", | ||
| 41 | "9 c #6588A6", | ||
| 42 | "0 c #435F76", | ||
| 43 | "a c #B1C3D2", | ||
| 44 | "b c #50718D", | ||
| 45 | "c c #9FB5C8", | ||
| 46 | "d c #94ACC1", | ||
| 47 | "e c #425D73", | ||
| 48 | "f c #435E74", | ||
| 49 | "g c #B4C5D3", | ||
| 50 | "h c #6C8EAB", | ||
| 51 | "i c #C4D2DD", | ||
| 52 | "j c #5B80A0", | ||
| 53 | "k c #456178", | ||
| 54 | "l c #7595B0", | ||
| 55 | "m c #BFCEDA", | ||
| 56 | "n c #597D9C", | ||
| 57 | "o c #A3B8CA", | ||
| 58 | "p c #B0C2D1", | ||
| 59 | "q c #86A2B9", | ||
| 60 | "r c #6E8FAB", | ||
| 61 | "s c #E1E8EE", | ||
| 62 | "t c #B9C9D6", | ||
| 63 | "u c #6387A6", | ||
| 64 | "v c #4C6B85", | ||
| 65 | "w c #7F9DB6", | ||
| 66 | "x c #BCCCD9", | ||
| 67 | "y c #DDE5EC", | ||
| 68 | "z c #E4EAEF", | ||
| 69 | "A c #D8E1E9", | ||
| 70 | "B c #D1DBE4", | ||
| 71 | "C c #C7D3DE", | ||
| 72 | "D c #B7C8D6", | ||
| 73 | "E c #7091AD", | ||
| 74 | "F c #537592", | ||
| 75 | "G c #9DB3C6", | ||
| 76 | "H c #8CA7BD", | ||
| 77 | "I c #304353", | ||
| 78 | "J c #4E6E89", | ||
| 79 | "K c #829FB7", | ||
| 80 | "L c #92ABC0", | ||
| 81 | "M c #C5D3DE", | ||
| 82 | "N c #7C9AB3", | ||
| 83 | "O c #5A7E9D", | ||
| 84 | "P c #47647C", | ||
| 85 | "Q c #6185A4", | ||
| 86 | "R c #5B7F9E", | ||
| 87 | "S c #4F6F8A", | ||
| 88 | "T c #405A71", | ||
| 89 | "U c #283926", | ||
| 90 | " . ", | ||
| 91 | " .. ", | ||
| 92 | " .+. ", | ||
| 93 | " ....@#. ", | ||
| 94 | " $%&@@**=. .. ", | ||
| 95 | " -;@@**>,'). .!~. ", | ||
| 96 | " .%@**>,{]^/(. ._:. ", | ||
| 97 | " <&@[}}|%123. .4. ", | ||
| 98 | ".5@678|%920. .ab. ", | ||
| 99 | ".cd7e...1f. . .gh. ", | ||
| 100 | ".ijb. .k. .. .al. ", | ||
| 101 | ".mn. .. .'. .op5. ", | ||
| 102 | ".qr. . .*s...at4u. ", | ||
| 103 | ".vw. .xyzyABCDEF. ", | ||
| 104 | " .G. .p'B,@ixaH2I. ", | ||
| 105 | " .JK. .LM@,>>MmNOP. ", | ||
| 106 | " .F9. .9|%Q|}7RS.. ", | ||
| 107 | " .. .|R~~nJT.. ", | ||
| 108 | " .j~.... ", | ||
| 109 | " UO. ", | ||
| 110 | " .. ", | ||
| 111 | " . ", | ||
| 112 | " ", | ||
| 113 | " "}; | ||
diff --git a/lisp/toolbar/show.pbm b/etc/images/show.pbm index d86b1e6fe77..d86b1e6fe77 100644 --- a/lisp/toolbar/show.pbm +++ b/etc/images/show.pbm | |||
| Binary files differ | |||
diff --git a/lisp/toolbar/show.xpm b/etc/images/show.xpm index 659226b8280..659226b8280 100644 --- a/lisp/toolbar/show.xpm +++ b/etc/images/show.xpm | |||
diff --git a/lisp/toolbar/widen.pbm b/etc/images/widen.pbm index 2d9780b9959..2d9780b9959 100644 --- a/lisp/toolbar/widen.pbm +++ b/etc/images/widen.pbm | |||
| Binary files differ | |||
diff --git a/lisp/toolbar/widen.xpm b/etc/images/widen.xpm index 0b87fc9752e..0b87fc9752e 100644 --- a/lisp/toolbar/widen.xpm +++ b/etc/images/widen.xpm | |||
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 8b91dedc496..0bc033fbb35 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,423 @@ | |||
| 1 | 2005-10-07 Nick Roberts <nickrob@snap.net.nz> | ||
| 2 | |||
| 3 | * progmodes/gud.el (gud-menu-map): Only display un-intuitive | ||
| 4 | gud-break and gud-remove icons when the fringe is not available. | ||
| 5 | |||
| 6 | * progmodes/gdb-ui.el (gdb-fringe-width -> gdb-buffer-fringe-width): | ||
| 7 | Typo. | ||
| 8 | |||
| 9 | 2005-10-06 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 10 | |||
| 11 | * play/zone.el (zone): Wrap body with save-window-excursion. | ||
| 12 | Suggested by Michael Cadilhac. | ||
| 13 | |||
| 14 | 2005-10-06 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 15 | |||
| 16 | * calendar/cal-menu.el (calendar-mouse-view-diary-entries): | ||
| 17 | Use the new `list-only' arg to diary-list-entries. | ||
| 18 | |||
| 19 | * calendar/diary-lib.el: Use overlays rather than selective-display. | ||
| 20 | (diary-selective-display): New var. | ||
| 21 | (diary-header-line-format): Use it. | ||
| 22 | (diary-list-entries): Add argument `list-only'. | ||
| 23 | Put the buffer in diary-mode. Don't add \^M at beg and end. | ||
| 24 | Replace \^M by invisible overlays. | ||
| 25 | (diary-unhide-everything): Replace \^M by invisible overlays. | ||
| 26 | (print-diary-entries): Look for overlays rather than \^M. | ||
| 27 | Add a space to the temp buffer name. | ||
| 28 | (diary-show-all-entries, mark-diary-entries, make-diary-entry): | ||
| 29 | Put the buffer in diary-mode. | ||
| 30 | (list-sexp-diary-entries): Replace \^M by invisible overlays. | ||
| 31 | (diary-anniversary): Make the year arg optional. | ||
| 32 | (diary-time-regexp): New const. | ||
| 33 | (diary-font-lock-keywords): Use it to accept a few more time formats. | ||
| 34 | |||
| 35 | * pcvs.el (cvs-sentinel): Make sure we do re-enable undo. | ||
| 36 | |||
| 37 | 2005-10-06 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 38 | |||
| 39 | * textmodes/artist.el (artist-ellipse-mirror-quadrant): | ||
| 40 | Fix bug introduced 2005-07-03: Use (car (last ...)) | ||
| 41 | to faithfully reproduce replaced artist-last. | ||
| 42 | (artist-set-arrow-points-for-poly): Likewise. | ||
| 43 | Suggested by Johan Bockg,Ae(Brd. | ||
| 44 | |||
| 45 | 2005-10-06 Juanma Barranquero <lekktu@gmail.com> | ||
| 46 | |||
| 47 | * dframe.el (x-pointer-hand2, x-pointer-top-left-arrow): | ||
| 48 | * wid-edit.el (widget): | ||
| 49 | * progmodes/gdb-ui.el (gdb-buffer-fringe-width): | ||
| 50 | * progmodes/vhdl-mode.el (speedbar-attached-frame): Add defvars. | ||
| 51 | |||
| 52 | 2005-10-06 Kenichi Handa <handa@m17n.org> | ||
| 53 | |||
| 54 | * international/mule-cmds.el (set-language-environment): | ||
| 55 | Fix setting up of case-table for unibyte mode. | ||
| 56 | |||
| 57 | * simple.el (what-cursor-position): If the character is displayed | ||
| 58 | by some `display' text property, show that. Don't use | ||
| 59 | single-key-description for eight-bit characters in multibyte mode. | ||
| 60 | |||
| 61 | 2005-10-06 Nick Roberts <nickrob@snap.net.nz> | ||
| 62 | |||
| 63 | * progmodes/gdb-ui.el (gdb-fringe-width): New variable. | ||
| 64 | (gdb-ann3): Set it. | ||
| 65 | (gdb-put-breakpoint-icon): Don't take fringe-width from speedbar frame. | ||
| 66 | (gdb-info-frames-custom): Use inverse-video for first five | ||
| 67 | characters of selected frame only. | ||
| 68 | (gdb-get-frame-number): Select frame even when point is on frame | ||
| 69 | number. | ||
| 70 | |||
| 71 | 2005-10-06 Masatake YAMATO <jet@gyve.org> | ||
| 72 | |||
| 73 | * progmodes/gdb-ui.el (gdb-info-breakpoints-custom): | ||
| 74 | Put `font-lock-function-name-face'. | ||
| 75 | (gdb-info-frames-custom): Put `font-lock-function-name-face' | ||
| 76 | and `font-lock-variable-name-face' | ||
| 77 | (gdb-registers-font-lock-keywords): New font lock keywords definition. | ||
| 78 | (gdb-registers-mode): Use `gdb-registers-font-lock-keywords`. | ||
| 79 | (gdb-memory-font-lock-keywords): New font lock keywords definition. | ||
| 80 | (gdb-memory-mode): Use `gdb-memory-font-lock-keywords'. | ||
| 81 | (gdb-local-font-lock-keywords): New font lock keywords definition. | ||
| 82 | (gdb-locals-mode): Use `gdb-local-font-lock-keywords' | ||
| 83 | (gdb-threads-font-lock-keywords): New font lock keywords definition. | ||
| 84 | (gdb-threads-mode): Use `gdb-threads-font-lock-keywords'. | ||
| 85 | |||
| 86 | 2005-10-05 Michael Kifer <kifer@cs.stonybrook.edu> | ||
| 87 | |||
| 88 | * ediff-merge.el (ediff-merge-region-is-non-clash): New defsubst. | ||
| 89 | (ediff-merge-region-is-non-clash-to-skip): Previously called | ||
| 90 | ediff-merge-region-is-non-clash. | ||
| 91 | |||
| 92 | * ediff-mult.el (ediff-append-custom-diff, ediff-meta-show-patch): | ||
| 93 | Use insert-buffer-substring. | ||
| 94 | |||
| 95 | * ediff-ptch.el (ediff-fixup-patch-map): Use better heuristics for | ||
| 96 | selecting files to patch. Also bug fixes. | ||
| 97 | |||
| 98 | * ediff-util.el (ediff-setup): Bug fix. | ||
| 99 | (ediff-next-difference): Never skip clashes that differ in white | ||
| 100 | space only. | ||
| 101 | |||
| 102 | * ediff-wind.el (ediff-setup-control-frame) | ||
| 103 | (ediff-destroy-control-frame): Check the menubar feature. | ||
| 104 | |||
| 105 | * viper-cmd.el (viper-normalize-minor-mode-map-alist) | ||
| 106 | (viper-refresh-mode-line): Use make-local-variable to localize | ||
| 107 | some vars instead of make-variable-buffer-local. Suggested by | ||
| 108 | Stefan Monnier. | ||
| 109 | |||
| 110 | * viper-init.el (viper-make-variable-buffer-local): Delete alias. | ||
| 111 | (viper-restore-cursor-type, viper-set-insert-cursor-type): | ||
| 112 | Use make-local-variable instead of make-variable-buffer-local. | ||
| 113 | Suggested by Stefan Monnier. | ||
| 114 | |||
| 115 | * viper.el (viper-mode): Don't use viper-make-variable-buffer-local. | ||
| 116 | (viper-comint-mode-hook): Use make-local-variable on | ||
| 117 | require-final-newline. | ||
| 118 | (viper-non-hook-settings): Don't use make-variable-buffer-local. | ||
| 119 | |||
| 120 | 2005-10-05 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 121 | |||
| 122 | * progmodes/scheme.el (scheme-mode-syntax-table): Mark ; as being | ||
| 123 | also the second char of a comment-start sequence. | ||
| 124 | (scheme-sexp-comment-syntax-table): New var. | ||
| 125 | (lambda, define): Set their scheme-doc-string-elt property. | ||
| 126 | (scheme-font-lock-syntactic-face-function): Handle sexp-comments. | ||
| 127 | Use lisp-font-lock-syntactic-face-function now that it properly | ||
| 128 | handles |...| symbols. | ||
| 129 | (scheme-mode-variables): Set lisp-doc-string-elt-property, | ||
| 130 | parse-sexp-lookup-properties and font-lock-extra-managed-props. | ||
| 131 | |||
| 132 | * emacs-lisp/lisp-mode.el (lisp-mode-syntax-table): Move the nesting | ||
| 133 | bit from # to |. | ||
| 134 | (lisp-font-lock-syntactic-face-function): Distinguish |...| symbols. | ||
| 135 | |||
| 136 | * emacs-lisp/lisp-mode.el (lambda): Add its doc-string-elt property. | ||
| 137 | (lisp-doc-string-elt-property): New var. | ||
| 138 | (lisp-font-lock-syntactic-face-function): Use it. | ||
| 139 | Rewrite to recognize docstrings even for forms not at toplevel. | ||
| 140 | |||
| 141 | * progmodes/scheme.el (scheme-mode-syntax-table): Put the nested | ||
| 142 | annotation on the | part of #| rather than on the # part. | ||
| 143 | (scheme-font-lock-syntactic-face-function): New function, to | ||
| 144 | distinguish strings from |...| symbols. | ||
| 145 | (scheme-mode-variables): Use it. Also fix up the font-lock-time | ||
| 146 | syntax-table so that #|...|# is properly highlighted. | ||
| 147 | |||
| 148 | * emacs-lisp/lisp-mode.el (lisp-font-lock-syntactic-face-function): | ||
| 149 | Don't mark as docstring the 3rd elem of an unknown toplevel form. | ||
| 150 | |||
| 151 | 2005-10-04 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 152 | |||
| 153 | * bindings.el (global-map): Resync [home] and [end] bindings with C-a | ||
| 154 | and C-e. | ||
| 155 | |||
| 156 | * emacs-lisp/eldoc.el: Move comments into docstrings. | ||
| 157 | (eldoc-message-commands): Initialize in its declaration. | ||
| 158 | Add move-beginning-of-line and move-end-of-line. | ||
| 159 | (eldoc-add-command, eldoc-add-command-completions) | ||
| 160 | (eldoc-remove-command, eldoc-remove-command-completions): Simplify. | ||
| 161 | |||
| 162 | * outline.el (outline-mark-subtree): Activate the mark. | ||
| 163 | |||
| 164 | * calendar/appt.el (appt-time-regexp): New var. | ||
| 165 | (appt-add, appt-make-list): Use it. | ||
| 166 | (appt-convert-time): Clean up. | ||
| 167 | |||
| 168 | * textmodes/tex-mode.el (tex-font-lock-syntactic-face-function): | ||
| 169 | Don't set any syntax-table property here. | ||
| 170 | (tex-font-lock-verb): New function. Do it here. | ||
| 171 | (tex-font-lock-syntactic-keywords): Use it. | ||
| 172 | |||
| 173 | 2005-10-04 Richard M. Stallman <rms@gnu.org> | ||
| 174 | |||
| 175 | * wid-edit.el (widget-file-complete): Get the widget start point | ||
| 176 | the right way. Default directory to `/' if file has none. | ||
| 177 | |||
| 178 | * x-dnd.el (x-dnd-drop-data): Check for dedicated windows. | ||
| 179 | |||
| 180 | * textmodes/flyspell.el (flyspell-mode-on): | ||
| 181 | Call ispell-maybe-find-aspell-dictionaries. | ||
| 182 | |||
| 183 | * textmodes/ispell.el (ispell-word, ispell-region): | ||
| 184 | Call ispell-maybe-find-aspell-dictionaries. | ||
| 185 | (ispell-accept-buffer-local-defs): | ||
| 186 | Don't call ispell-maybe-find-aspell-dictionaries | ||
| 187 | |||
| 188 | 2005-10-04 Richard M. Stallman <rms@gnu.org> | ||
| 189 | |||
| 190 | * iswitchb.el (iswitchb-buffer-ignore): Label it risky. | ||
| 191 | |||
| 192 | 2005-10-04 Emilio C. Lopes <eclig@gmx.net> | ||
| 193 | |||
| 194 | * iswitchb.el (iswitchb-ignore-buffername-p): Use `functionp' | ||
| 195 | instead of `fboundp' in order to allow for anonymous functions. | ||
| 196 | |||
| 197 | 2005-10-04 Chong Yidong <cyd@stupidchicken.com> | ||
| 198 | |||
| 199 | * info.el (Info-next, Info-prev, Info-up): Select info buffer, in | ||
| 200 | case the user clicks on the link while another window is selected. | ||
| 201 | (Info-speedbar-hierarchy-buttons): Use speedbar-current-frame. | ||
| 202 | |||
| 203 | * dframe.el (dframe-update-keymap): Use mouse-1-click-follows-link | ||
| 204 | functionality. | ||
| 205 | (dframe-help-echo): Save point in case mouse tracking is off. | ||
| 206 | |||
| 207 | 2005-10-04 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 208 | |||
| 209 | * net/ange-ftp.el (ange-ftp-ls): Fix typo introduced in last change. | ||
| 210 | |||
| 211 | 2005-10-03 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 212 | |||
| 213 | * progmodes/cc-styles.el (c-setup-paragraph-variables): Make sure we do | ||
| 214 | not change the global value of those vars. | ||
| 215 | |||
| 216 | * progmodes/cc-mode.el (c-basic-common-init): Remove calls to | ||
| 217 | make-local-variable which we do not need any more. | ||
| 218 | |||
| 219 | 2005-10-03 Chong Yidong <cyd@stupidchicken.com> | ||
| 220 | |||
| 221 | * speedbar.el (speedbar-ignored-path-regexp, speedbar-line-path) | ||
| 222 | (speedbar-ignored-path-expressions, speedbar-buffers-line-path) | ||
| 223 | (speedbar-add-ignored-path-regexp, speedbar-buffers-line-path) | ||
| 224 | (speedbar-path-line): Define obsolete aliases. | ||
| 225 | (speedbar-line-directory): Doc fix. | ||
| 226 | |||
| 227 | * progmodes/vhdl-mode.el (vhdl-speedbar-initialize) | ||
| 228 | (vhdl-speedbar-rescan-hierarchy): Call speedbar-line-directory | ||
| 229 | instead of speedbar-line-path. | ||
| 230 | |||
| 231 | 2005-10-03 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 232 | |||
| 233 | * x-dnd.el (x-dnd-drop-data): Don't set dnd-open-file-other-window | ||
| 234 | to nil if dropping on a window. Handle dropping on a minibuffer window | ||
| 235 | like dropping on a non-window part of Emacs. | ||
| 236 | |||
| 237 | 2005-10-03 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 238 | |||
| 239 | * net/ange-ftp.el: Use with-current-buffer. | ||
| 240 | (ange-ftp-insert-directory): Do not follow symlinks any more. | ||
| 241 | |||
| 242 | * textmodes/ispell.el (ispell-find-aspell-dictionaries): | ||
| 243 | Remove interactive spec. | ||
| 244 | |||
| 245 | 2005-10-03 Kim F. Storm <storm@cua.dk> | ||
| 246 | |||
| 247 | * ido.el (ido-mode): Use custom-initialize-set. | ||
| 248 | |||
| 249 | 2005-10-02 Richard M. Stallman <rms@gnu.org> | ||
| 250 | |||
| 251 | * progmodes/ebnf2ps.el (ebnf-eps-production-list): | ||
| 252 | Use insert-buffer-substring. | ||
| 253 | |||
| 254 | * net/tramp.el: Pacify byte compiler warnings in pacification code. | ||
| 255 | (tramp-handle-file-local-copy): Use insert-buffer-substring. | ||
| 256 | |||
| 257 | 2005-10-02 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 258 | |||
| 259 | * net/ange-ftp.el (ange-ftp-insert-directory): Undo unintended part | ||
| 260 | in last change. | ||
| 261 | (ange-ftp-insert-directory): Fix up the search for the case where | ||
| 262 | `file' is absolute. | ||
| 263 | |||
| 264 | 2005-10-02 Romain Francoise <romain@orebokech.com> | ||
| 265 | |||
| 266 | * progmodes/compile.el (compile-goto-error): Delete extra paren. | ||
| 267 | |||
| 268 | 2005-10-02 Andreas Schwab <schwab@suse.de> | ||
| 269 | |||
| 270 | * ediff-ptch.el (ediff-fixup-patch-map): Handle file names without | ||
| 271 | directory component in the session info. | ||
| 272 | |||
| 273 | 2005-10-01 Richard M. Stallman <rms@gnu.org> | ||
| 274 | |||
| 275 | * comint.el (comint-redirect-subvert-readonly): Doc fix. | ||
| 276 | |||
| 277 | * simple.el (next-error-internal): New function. | ||
| 278 | |||
| 279 | * progmodes/compile.el (compilation-buffer-name): New arg MODE-COMMAND. | ||
| 280 | (compilation-start): Pass new arg to compilation-buffer-name. | ||
| 281 | (compile-goto-error): Use next-error-internal. | ||
| 282 | |||
| 283 | 2005-10-01 Chong Yidong <cyd@stupidchicken.com> | ||
| 284 | |||
| 285 | * speedbar.el: Remove RCS tag. | ||
| 286 | (speedbar-check-read-only): Handle non-existent files. | ||
| 287 | |||
| 288 | * dframe.el, ezimage.el, sb-image.el: Remove RCS tags. | ||
| 289 | |||
| 290 | * info.el (Info-speedbar-hierarchy-buttons) | ||
| 291 | (Info-speedbar-goto-node): Call speedbar-select-attached-frame. | ||
| 292 | |||
| 293 | 2005-10-01 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de> | ||
| 294 | |||
| 295 | * textmodes/bibtex.el (bibtex-valid-entry-whitespace-re): | ||
| 296 | Do not match newline. | ||
| 297 | (bibtex-realign): Do not use bibtex-valid-entry-whitespace-re. | ||
| 298 | (bibtex-summary): Remove unnecessary save-excursion. | ||
| 299 | (bibtex-fill-field-bounds): Use fill-region-as-paragraph. | ||
| 300 | |||
| 301 | 2005-10-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 302 | |||
| 303 | * term/mac-win.el: Add charset info for "iso10646-1". | ||
| 304 | Modify default fontset to use ATSUI-compatible fonts for some charsets | ||
| 305 | if available. | ||
| 306 | |||
| 307 | 2005-10-01 Chong Yidong <cyd@stupidchicken.com> | ||
| 308 | |||
| 309 | * speedbar.el: Re-apply arch tag. | ||
| 310 | (speedbar-version): Rename to version 1.0. Suggested by Eric | ||
| 311 | M. Ludlam. | ||
| 312 | Reapply two changes from Emacs CVS' version of speedbar lost | ||
| 313 | during the merge: | ||
| 314 | (speedbar-use-imenu-flag): Avoid unnecessary use of locate-library. | ||
| 315 | (speedbar-frame-parameters): Improve customize type. | ||
| 316 | |||
| 317 | 2005-09-30 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 318 | |||
| 319 | * net/ange-ftp.el (ange-ftp-gwp-start): Use with-current-buffer. | ||
| 320 | (ange-ftp-file-directory-p): Fix the symlink case. | ||
| 321 | (ange-ftp-insert-directory): When listing a single file, get a list of | ||
| 322 | the parent buffer and extract the relevant line. Inspired from a patch | ||
| 323 | by Katsumi Yamaoka <yamaoka@jpl.org>. | ||
| 324 | (ange-ftp-file-name-sans-versions): Simplify. | ||
| 325 | |||
| 326 | 2005-09-30 Bill Wohler <wohler@newt.com> | ||
| 327 | |||
| 328 | Move MH-E image files from toolbar and mail directories into | ||
| 329 | etc/images. | ||
| 330 | |||
| 331 | * mail/reply2.*: Move to etc/images/mail/reply*. | ||
| 332 | |||
| 333 | * toolbar/execute.*, toolbar/highlight.*, toolbar/mh-logo.xpm: | ||
| 334 | * toolbar/page-down.*, toolbar/show.*, toolbar/widen.*: Move to | ||
| 335 | etc/images. | ||
| 336 | |||
| 337 | * toolbar/alias.*, toolbar/refile.*, toolbar/repack.*: | ||
| 338 | * toolbar/reply*: Move to etc/images/mail. | ||
| 339 | |||
| 340 | * toolbar/rescan.*: Move and rename to etc/images/refresh.*. | ||
| 341 | |||
| 342 | 2005-09-30 Eric M. Ludlam <zappo@gnu.org> | ||
| 343 | |||
| 344 | * speedbar.el: New version 1.0pre3. | ||
| 345 | |||
| 346 | Frame management code (including timer, and mouse click specifics) | ||
| 347 | moved to dframe.el: | ||
| 348 | (speedbar-attached-frame): Removed. Use dframe-attached-frame. | ||
| 349 | (speedbar-timer): Removed. Use dframe-timer. | ||
| 350 | (speedbar-close-frame): Removed. Use dframe-close-frame. | ||
| 351 | (speedbar-activity-change-focus-flag): Removed. Use | ||
| 352 | dframe-activity-change-focus-flag. | ||
| 353 | (speedbar-update-speed, speedbar-navigating-speed): Obsolete. Use | ||
| 354 | dframe-update-speed. | ||
| 355 | |||
| 356 | (speedbar-current-frame): New macro. Use this instead of the | ||
| 357 | variable speedbar-frame. | ||
| 358 | |||
| 359 | (speedbar-use-images, speedbar-expand-image-button-alist) | ||
| 360 | (speedbar-insert-image-button-maybe): Moved to sb-image.el. | ||
| 361 | |||
| 362 | (speedbar-find-image-on-load-path): Removed. Replaced by | ||
| 363 | defezimage in ezimage.el. | ||
| 364 | (speedbar-expand-image-button-alist): Removed. Replaced by | ||
| 365 | ezimage-expand-image-button-alist in ezimage.el. | ||
| 366 | |||
| 367 | (speedbar-ignored-directory-regexp) | ||
| 368 | (speedbar-add-ignored-directory-regexp) | ||
| 369 | (speedbar-ignored-directory-expressions) | ||
| 370 | (speedbar-line-directory, speedbar-buffers-line-directory) | ||
| 371 | (speedbar-directory-line, speedbar-buffers-line-directory): | ||
| 372 | Renamed, replacing `path' with `directory'. | ||
| 373 | |||
| 374 | (speedbar-create-directory, speedbar-expand-line-descendants) | ||
| 375 | (speedbar-toggle-line-expansion) | ||
| 376 | (speedbar-contract-line-descendants): New commands. | ||
| 377 | |||
| 378 | (speedbar-query-confirmation-method, speedbar-select-frame-method) | ||
| 379 | (speedbar-use-tool-tips-flag): New options. | ||
| 380 | |||
| 381 | (speedbar-check-read-only, speedbar-require-version) | ||
| 382 | (speedbar-insert-separator, speedbar-buffers-tail-notes) | ||
| 383 | (speedbar-handle-delete-frame, speedbar-try-completion) | ||
| 384 | (speedbar-update-localized-contents): New functions. | ||
| 385 | |||
| 386 | (speedbar-incompatible-version, speedbar-ro-to-do-point) | ||
| 387 | (speedbar-object-read-only-indicator): New variables. | ||
| 388 | |||
| 389 | (speedbar-visiting-tag-hook, speedbar-before-visiting-file-hook): | ||
| 390 | New hooks. | ||
| 391 | |||
| 392 | (speedbar-separator-face): New face. | ||
| 393 | |||
| 394 | (speedbar-supported-extension-expressions): Add `.g' and `.ma?k'. | ||
| 395 | (speedbar-ignored-modes): Add fundamental-mode. | ||
| 396 | (speedbar-directory-unshown-regexp): Add . directories. | ||
| 397 | |||
| 398 | (speedbar-key-map): Remove old SPC and DEL page up/down keys. | ||
| 399 | (speedbar-file-key-map): Add SPC to toggle node expansion, `[' and | ||
| 400 | `]' for full expand/close. | ||
| 401 | (speedbar-buffers-key-map): Add SPC to toggle node expansion. | ||
| 402 | |||
| 403 | (speedbar-check-vc): Support hidden files. | ||
| 404 | (speedbar-vc-check-dir-p): Use vc-state if available for CVS. | ||
| 405 | (speedbar-this-file-in-vc): Use vc-state if available. If VC | ||
| 406 | state is nil, it is not checked out. | ||
| 407 | |||
| 408 | (speedbar-line-text, speedbar-line-token): Support expand buttons | ||
| 409 | with no text. | ||
| 410 | (speedbar-refresh): Universal argument acts as power-click. | ||
| 411 | (speedbar-fetch-dynamic-tags): If a buffer is in Emacs, switch to | ||
| 412 | that buffer to get variable values. | ||
| 413 | |||
| 414 | And many other bugfixes. | ||
| 415 | |||
| 416 | * dframe.el, ezimage.el, sb-image.el: New files. | ||
| 417 | |||
| 418 | * sb-*.xpm: Remove files. New image files installed into | ||
| 419 | etc/images/ezimage. | ||
| 420 | |||
| 1 | 2005-09-30 Kenichi Handa <handa@m17n.org> | 421 | 2005-09-30 Kenichi Handa <handa@m17n.org> |
| 2 | 422 | ||
| 3 | * ps-mule.el (ps-mule-show-warning): If a character is in | 423 | * ps-mule.el (ps-mule-show-warning): If a character is in |
| @@ -47,7 +467,7 @@ | |||
| 47 | 467 | ||
| 48 | * emulation/cua-base.el: Set CUA move property on additional commands: | 468 | * emulation/cua-base.el: Set CUA move property on additional commands: |
| 49 | up-list, down-list, backward-up-list, end-of-defun beginning-of-defun, | 469 | up-list, down-list, backward-up-list, end-of-defun beginning-of-defun, |
| 50 | forward-sexp backward-sexp, forward-list, backward-list | 470 | forward-sexp, backward-sexp, forward-list, backward-list. |
| 51 | 471 | ||
| 52 | 2005-09-28 Romain Francoise <romain@orebokech.com> | 472 | 2005-09-28 Romain Francoise <romain@orebokech.com> |
| 53 | 473 | ||
| @@ -107,15 +527,13 @@ | |||
| 107 | * progmodes/ebrowse.el (ebrowse-find-pattern): | 527 | * progmodes/ebrowse.el (ebrowse-find-pattern): |
| 108 | * progmodes/idlw-shell.el (idlwave-shell-set-bp-check): | 528 | * progmodes/idlw-shell.el (idlwave-shell-set-bp-check): |
| 109 | * textmodes/reftex-index.el (reftex-index-initialize-phrases-buffer): | 529 | * textmodes/reftex-index.el (reftex-index-initialize-phrases-buffer): |
| 110 | End `yes-or-no-p' and `y-or-n-p' prompts with question mark and | 530 | End `yes-or-no-p' and `y-or-n-p' prompts with question mark and space. |
| 111 | space. | ||
| 112 | 531 | ||
| 113 | * vc.el (vc-delete-file): | 532 | * vc.el (vc-delete-file): |
| 114 | * play/gomoku.el (gomoku-terminate-game, gomoku) | 533 | * play/gomoku.el (gomoku-terminate-game, gomoku) |
| 115 | (gomoku-prompt-for-move, gomoku-human-takes-back): | 534 | (gomoku-prompt-for-move, gomoku-human-takes-back): |
| 116 | * play/landmark.el (lm-human-takes-back, lm-prompt-for-move) | 535 | * play/landmark.el (lm-human-takes-back, lm-prompt-for-move) |
| 117 | (lm-start-robot, lm-human-plays): Remove extraneous spaces in | 536 | (lm-start-robot, lm-human-plays): Remove extraneous spaces in messages. |
| 118 | messages. | ||
| 119 | 537 | ||
| 120 | 2005-09-24 Dan Nicolaescu <dann@ics.uci.edu> | 538 | 2005-09-24 Dan Nicolaescu <dann@ics.uci.edu> |
| 121 | 539 | ||
| @@ -12234,14340 +12652,13 @@ | |||
| 12234 | 12652 | ||
| 12235 | * image.el (insert-sliced-image): Use t for line-height property. | 12653 | * image.el (insert-sliced-image): Use t for line-height property. |
| 12236 | 12654 | ||
| 12237 | 2004-12-31 Jay Belanger <belanger@truman.edu> | 12655 | See ChangeLog.11 for earlier changes. |
| 12238 | |||
| 12239 | * calc/calc-store.el (calcVar-digit, calcVar-oper): Remove the need | ||
| 12240 | for "var-" at the beginning of the minibuffer. | ||
| 12241 | |||
| 12242 | 2004-12-31 Richard M. Stallman <rms@gnu.org> | ||
| 12243 | |||
| 12244 | * faces.el (read-face-name): | ||
| 12245 | Don't treat an attribute spec as a list of faces. | ||
| 12246 | |||
| 12247 | * simple.el (undo): Use undo-equiv-table to detect | ||
| 12248 | unexpected changes since previous undo. | ||
| 12249 | (undo-list-saved): Variable deleted. | ||
| 12250 | (buffer-disable-undo): Don't alter undo-list-saved. | ||
| 12251 | |||
| 12252 | * files.el (require-final-newline): Allow `visit' and `visit-save'. | ||
| 12253 | (mode-require-final-newline): New option. | ||
| 12254 | (after-find-file): Handle require-final-newline with new values. | ||
| 12255 | (basic-save-buffer): Handle new values of require-final-newline. | ||
| 12256 | |||
| 12257 | * progmodes/sh-script.el (sh-require-final-newline): | ||
| 12258 | Alist value now controls whether to use mode-require-final-newline. | ||
| 12259 | (sh-set-shell): Implement that new meaning. | ||
| 12260 | |||
| 12261 | * progmodes/cc-vars.el (c-require-final-newline): Fix custom type, doc. | ||
| 12262 | * progmodes/cc-mode.el (c-common-init): Use mode-require-final-newline. | ||
| 12263 | * progmodes/antlr-mode.el (antlr-mode): Use mode-require-final-newline. | ||
| 12264 | Delete old-Emacs compatibility code. | ||
| 12265 | (antlr-c-common-init): Function deleted. | ||
| 12266 | |||
| 12267 | * net/snmp-mode.el (snmp-common-mode): Use mode-require-final-newline. | ||
| 12268 | * progmodes/vhdl-mode.el (vhdl-mode): Use mode-require-final-newline. | ||
| 12269 | * progmodes/simula.el (simula-mode): Use mode-require-final-newline. | ||
| 12270 | * progmodes/python.el (python-mode): Use mode-require-final-newline. | ||
| 12271 | * progmodes/perl-mode.el (perl-mode): Use mode-require-final-newline. | ||
| 12272 | * progmodes/modula2.el (modula-2-mode): Use mode-require-final-newline. | ||
| 12273 | * progmodes/mixal-mode.el (mixal-mode): Use mode-require-final-newline. | ||
| 12274 | * progmodes/idlwave.el (idlwave-mode): Use mode-require-final-newline. | ||
| 12275 | * progmodes/icon.el (icon-mode): Use mode-require-final-newline. | ||
| 12276 | * progmodes/fortran.el (fortran-mode): Use mode-require-final-newline. | ||
| 12277 | * progmodes/f90.el (f90-mode): Use mode-require-final-newline. | ||
| 12278 | * progmodes/cperl-mode.el (cperl-mode): Use mode-require-final-newline. | ||
| 12279 | * progmodes/cfengine.el (cfengine-mode): Use | ||
| 12280 | mode-require-final-newline. | ||
| 12281 | * progmodes/ada-mode.el (ada-mode): Use mode-require-final-newline. | ||
| 12282 | * textmodes/text-mode.el (text-mode): Use mode-require-final-newline. | ||
| 12283 | * textmodes/texinfo.el (texinfo-mode): Use mode-require-final-newline. | ||
| 12284 | |||
| 12285 | 2004-12-31 Jay Belanger <belanger@truman.edu> | ||
| 12286 | |||
| 12287 | * calc/calc-graph.el (calc-graph-show-dumb): Mention C-cC-c as the | ||
| 12288 | way to return to Calc. | ||
| 12289 | |||
| 12290 | * calc/calc-yank.el (calc-edit-mode): Mention C-cC-c as the way to | ||
| 12291 | finish, C-xk as the way to cancel the edit. Add cancel routine to | ||
| 12292 | kill-buffer-hook. | ||
| 12293 | |||
| 12294 | * calc/calc.el (calc-same-interface, calc-quit): Remove obsolete | ||
| 12295 | MacEdit code. | ||
| 12296 | |||
| 12297 | * calc/calc-prog.el: Remove obsolete MacEdit code. | ||
| 12298 | (calc-macro-edit-algebraic, calc-macro-edit-variable) | ||
| 12299 | (calc-macro-edit-variable-2, calc-macro-edit-quick-digit): Remove. | ||
| 12300 | |||
| 12301 | 2004-12-31 Kenichi Handa <handa@m17n.org> | ||
| 12302 | |||
| 12303 | * international/mule.el (buffer-file-coding-system-explicit): | ||
| 12304 | Rename for explicit-buffer-file-coding-system. | ||
| 12305 | (after-insert-file-set-coding): Adjust for the above change. | ||
| 12306 | |||
| 12307 | * files.el (revert-buffer): Change explicit-buffer-file-coding-system | ||
| 12308 | to buffer-file-coding-system-explicit. | ||
| 12309 | (basic-save-buffer-1): Likewise. | ||
| 12310 | |||
| 12311 | 2004-12-30 Richard M. Stallman <rms@gnu.org> | ||
| 12312 | |||
| 12313 | * textmodes/artist.el (artist-butlast-fn): Var deleted. | ||
| 12314 | (artist-butlast, artist-last): Functions deleted. | ||
| 12315 | (artist-ellipse-mirror-quadrant): Call last and butlast directly. | ||
| 12316 | (artist-compute-key-compl-table): Call remq directly. | ||
| 12317 | (artist-remove-nulls): Function deleted. | ||
| 12318 | (artist-vaporize-lines, artist-flood-fill): Use push and pop directly. | ||
| 12319 | (artist-push, artist-pop): Macro deleted. | ||
| 12320 | |||
| 12321 | 2004-12-30 Andreas Leue <al@sphenon.de> | ||
| 12322 | |||
| 12323 | * textmodes/artist.el (artist-version): 1.2.6 | ||
| 12324 | (artist-prev-next-op-alist): New variable. | ||
| 12325 | (artist-select-next-op-in-list): New function. | ||
| 12326 | (artist-select-prev-op-in-list): New function. | ||
| 12327 | (artist-make-prev-next-op-alist): New function. | ||
| 12328 | (artist-is-in-op-list-p): New function. | ||
| 12329 | (artist-get-first-non-nil-op): New function. | ||
| 12330 | (artist-get-last-non-nil-op): New function. | ||
| 12331 | (artist-mode-init): Call artist-get-last-non-nil-op to initialize | ||
| 12332 | artist-prev-next-op-alist. | ||
| 12333 | (artist-mode-map): Add binding for C-mouse-4 and C-mouse-5 to | ||
| 12334 | change drawing operation. | ||
| 12335 | |||
| 12336 | 2004-12-30 Luc Teirlinck <teirllm@auburn.edu> | ||
| 12337 | |||
| 12338 | * autorevert.el (auto-revert-tail-handler): Put in undo boundaries. | ||
| 12339 | |||
| 12340 | 2004-12-31 Masatake YAMATO <jet@gyve.org> | ||
| 12341 | |||
| 12342 | * server.el (server-process-filter): Suppress `error', too. | ||
| 12343 | |||
| 12344 | 2004-12-30 Jay Belanger <belanger@truman.edu> | ||
| 12345 | |||
| 12346 | * calc/calc-store.el (calc-copy-variable): Fix mistyped variable name. | ||
| 12347 | Change the way a variable is displayed in a message. | ||
| 12348 | |||
| 12349 | * calc/calc-prog.el (calc-user-define-edit, calc-finish-macro-edit) | ||
| 12350 | (calc-user-define-permanent, calc-execute-kbd-macro): | ||
| 12351 | Replace old function MacEdit-parse-keys with edmacro-parse-keys. | ||
| 12352 | |||
| 12353 | 2004-12-30 Kenichi Handa <handa@m17n.org> | ||
| 12354 | |||
| 12355 | * files.el (basic-save-buffer-1): | ||
| 12356 | Set explicit-buffer-file-coding-system to last-coding-system-used. | ||
| 12357 | (revert-buffer): Pay attention to | ||
| 12358 | explicit-buffer-file-coding-system (not buffer-file-coding-system) | ||
| 12359 | on bind coding-system-for-read. | ||
| 12360 | |||
| 12361 | * international/mule.el (explicit-buffer-file-coding-system): | ||
| 12362 | New buffer local variable. | ||
| 12363 | (after-insert-file-set-coding): Set it to coding-system-for-read. | ||
| 12364 | |||
| 12365 | 2004-12-29 Luc Teirlinck <teirllm@auburn.edu> | ||
| 12366 | |||
| 12367 | * autorevert.el (auto-revert-tail-mode): Doc fix for defvar. | ||
| 12368 | |||
| 12369 | 2004-12-29 Sanghyuk Suh <han9kin@mac.com> | ||
| 12370 | |||
| 12371 | * term/mac-win.el (mac-drag-n-drop): Handle drag-n-drop events | ||
| 12372 | that include line numbers. | ||
| 12373 | |||
| 12374 | 2004-12-29 Milan Zamazal <pdm@zamazal.org> | ||
| 12375 | |||
| 12376 | * files.el (hack-local-variables): If no PREFIX, set it to "^". | ||
| 12377 | Redundant variable PREFIXLEN removed. | ||
| 12378 | |||
| 12379 | 2004-12-28 Matt Hodges <MPHodges@member.fsf.org> | ||
| 12380 | |||
| 12381 | * eshell/em-hist.el (eshell-previous-matching-input): | ||
| 12382 | Start the deletion from the end of the output. | ||
| 12383 | |||
| 12384 | 2004-12-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 12385 | |||
| 12386 | * term/mac-win.el: Require x-dnd. | ||
| 12387 | (mac-drag-n-drop): Sync with W32 version. Use x-dnd.el functions. | ||
| 12388 | |||
| 12389 | 2004-12-29 David Kastrup <dak@gnu.org> | ||
| 12390 | |||
| 12391 | * international/mule.el (decode-coding-inserted-region): | ||
| 12392 | Don't barf if `buffer-undo-list' is already set to `t'. | ||
| 12393 | |||
| 12394 | 2004-12-29 Jay Belanger <belanger@truman.edu> | ||
| 12395 | |||
| 12396 | * calc/calc-prog.el (calc-user-define-formula): Put default values | ||
| 12397 | for function names in prompts. | ||
| 12398 | (calc-user-define-permanent, calc-user-define-composition) | ||
| 12399 | (calc-user-define-formula): Remove the need for "calcFunc-" in the | ||
| 12400 | default input for algebraic functions. | ||
| 12401 | |||
| 12402 | 2004-12-29 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 12403 | |||
| 12404 | * vc-rcs.el (vc-rcs-annotate-command): | ||
| 12405 | Fix omission bug: Call `vc-setup-buffer'. | ||
| 12406 | |||
| 12407 | 2004-12-29 Kenichi Handa <handa@m17n.org> | ||
| 12408 | |||
| 12409 | * international/mule.el (recode-region): New function. | ||
| 12410 | |||
| 12411 | 2004-12-28 Richard M. Stallman <rms@gnu.org> | ||
| 12412 | |||
| 12413 | * simple.el (undo-extra-outer-limit): New variable. | ||
| 12414 | (undo-outer-limit-truncate): Test and set it. | ||
| 12415 | |||
| 12416 | * emacs-lisp/lisp.el (mark-sexp, mark-defun): New arg ALLOW-EXTEND | ||
| 12417 | enables the feature to extend the existing region. | ||
| 12418 | |||
| 12419 | * simple.el (mark-word): New arg ALLOW-EXTEND | ||
| 12420 | enables the feature to extend the existing region. | ||
| 12421 | |||
| 12422 | * textmodes/paragraphs.el (mark-paragraph): New arg ALLOW-EXTEND | ||
| 12423 | enables the feature to extend the existing region. | ||
| 12424 | |||
| 12425 | * startup.el (site-run-file): Don't allow setting it with Custom. | ||
| 12426 | |||
| 12427 | * simple.el (buffer-disable-undo): Fix previous change. | ||
| 12428 | |||
| 12429 | 2004-12-27 Masatake YAMATO <jet@gyve.org> | ||
| 12430 | |||
| 12431 | * hexl.el (hexlify-buffer): Remove fontification here. | ||
| 12432 | Use font lock mechanism instead. | ||
| 12433 | (hexl-font-lock-keywords): New font lock kewords. | ||
| 12434 | (hexl-mode-old-font-lock-keywords): New variable. | ||
| 12435 | (hexl-mode): Store the old font lock keywords. | ||
| 12436 | (hexl-mode-exit): Restore the old font lock keywords. | ||
| 12437 | |||
| 12438 | 2004-12-27 Richard M. Stallman <rms@gnu.org> | ||
| 12439 | |||
| 12440 | * simple.el (undo): Fix previous change. | ||
| 12441 | |||
| 12442 | 2004-12-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 12443 | |||
| 12444 | * term/mac-win.el: Sync with x-win.el. Rearrange the contents. | ||
| 12445 | Call mac-clear-font-name-table if invoked on Mac OS 8/9. | ||
| 12446 | Call x-open-connection on Mac OS X. | ||
| 12447 | |||
| 12448 | 2004-12-27 Richard M. Stallman <rms@gnu.org> | ||
| 12449 | |||
| 12450 | * files.el (buffer-save-without-query): New var (buffer-local). | ||
| 12451 | (save-some-buffers): Save those buffers first, w/o asking. | ||
| 12452 | |||
| 12453 | * files.el (insert-directory-ls-version): New variable. | ||
| 12454 | (insert-directory): When ls returns an error, test the version | ||
| 12455 | number to decide what the return code means. | ||
| 12456 | With --dired output format, detect and distinguish lines | ||
| 12457 | that are really error messages. | ||
| 12458 | (insert-directory-adj-pos): New function. | ||
| 12459 | |||
| 12460 | * bookmark.el (bookmark-jump): Nice error if BOOKMARK is nil. | ||
| 12461 | |||
| 12462 | * battery.el (battery-mode-line-format): Remove initial spaces. | ||
| 12463 | |||
| 12464 | * uniquify.el (uniquify-rationalize-file-buffer-names): | ||
| 12465 | Delete interactive spec. | ||
| 12466 | |||
| 12467 | * type-break.el (type-break-mode): Set buffer-save-without-query. | ||
| 12468 | Remove code that tried to set save-some-buffers-always. | ||
| 12469 | (type-break-file-keystroke-count): Bind deactivate-mark. | ||
| 12470 | |||
| 12471 | * mouse.el (mouse-drag-region): Bind mouse-autoselect-window. | ||
| 12472 | |||
| 12473 | * simple.el (next-error-buffer-p): New arg AVOID-CURRENT. | ||
| 12474 | Test that the buffer is live, and maybe reject current buffer too. | ||
| 12475 | Clarify. | ||
| 12476 | (next-error-find-buffer): Rewrite for clarity. | ||
| 12477 | |||
| 12478 | * loadup.el: Don't use buffer-disable-undo; do it directly. | ||
| 12479 | |||
| 12480 | * help-fns.el (describe-function-1): Call symbol-file with `defun'. | ||
| 12481 | (describe-variable): Call symbol-file with `defvar'. | ||
| 12482 | |||
| 12483 | * subr.el (messages-buffer-max-lines): Alias for message-log-max. | ||
| 12484 | (symbol-file): Rewritten to handle new load-history format. | ||
| 12485 | Now takes an arg TYPE to specify looking for a particular | ||
| 12486 | type of definition only. | ||
| 12487 | |||
| 12488 | * emacs-lisp/debug.el (debugger-make-xrefs): | ||
| 12489 | Call symbol-file with `defun'. | ||
| 12490 | |||
| 12491 | * emacs-lisp/find-func.el (find-function-noselect): | ||
| 12492 | Call symbol-file with `defun'. | ||
| 12493 | (find-variable-noselect): Call symbol-file with `defvar'. | ||
| 12494 | |||
| 12495 | * eshell/esh-cmd.el (eshell-find-alias-function): | ||
| 12496 | Call symbol-file with `defun'. | ||
| 12497 | |||
| 12498 | * eshell/esh-test.el (eshell-test-goto-func): | ||
| 12499 | Call symbol-file with `defun'. | ||
| 12500 | |||
| 12501 | * mail/rmail.el (rmail-resend): | ||
| 12502 | Let MAIL-ALIAS-FILE arg override mail-personal-alias-file. | ||
| 12503 | |||
| 12504 | * net/goto-addr.el (goto-address-mail-regexp): Allow = in username. | ||
| 12505 | |||
| 12506 | * progmodes/compile.el (compilation-find-buffer): Rename arg. | ||
| 12507 | |||
| 12508 | * textmodes/texinfmt.el (texinfo-format-buffer-1): | ||
| 12509 | Call buffer-disable-undo. | ||
| 12510 | |||
| 12511 | * simple.el (undo-list-saved): New variable (buffer-local). | ||
| 12512 | (undo): Set and test it. | ||
| 12513 | (buffer-disable-undo): Move here from buffer.c. | ||
| 12514 | Clear out undo-list-saved. | ||
| 12515 | |||
| 12516 | * international/mule.el (decode-coding-inserted-region): | ||
| 12517 | Set buffer-undo-list in a correct and optimal way. | ||
| 12518 | |||
| 12519 | * progmodes/cperl-mode.el (cperl-find-bad-style): Use with-no-warnings. | ||
| 12520 | (cperl-font-lock-unfontify-region-function): No need to save and | ||
| 12521 | restore info, since font-lock.el does it for us. | ||
| 12522 | |||
| 12523 | * ansi-color.el (save-buffer-state): Definition deleted. | ||
| 12524 | (ansi-color-unfontify-region): Don't use save-buffer-state. | ||
| 12525 | |||
| 12526 | 2004-12-27 Dave Love <fx@gnu.org> | ||
| 12527 | |||
| 12528 | * wid-edit.el (function): Use restricted-sexp as parent. | ||
| 12529 | |||
| 12530 | 2004-12-27 Kevin Ryde <user42@zip.com.au> | ||
| 12531 | |||
| 12532 | * simple.el (next-matching-history-element): Use same | ||
| 12533 | `interactive' form as previous-matching-history-element. | ||
| 12534 | |||
| 12535 | * ffap.el (ffap-string-at-point-mode-alist): Add "*" to url chars, | ||
| 12536 | it can appear unencoded and has been seen from yahoo. | ||
| 12537 | |||
| 12538 | 2004-12-27 Sergey Poznyakoff <gray@Mirddin.farlep.net> (tiny change) | ||
| 12539 | |||
| 12540 | * mail/smtpmail.el (smtpmail-try-auth-methods): Send AUTH CRAM-MD5 | ||
| 12541 | in upper case. Reported by Wojciech Polak <polak@gnu.org>. | ||
| 12542 | |||
| 12543 | 2004-12-27 Kenichi Handa <handa@m17n.org> | ||
| 12544 | |||
| 12545 | * international/utf-8.el (utf-translate-cjk-load-tables): | ||
| 12546 | Bind coding-system-for-read to nil while loading subst-*. | ||
| 12547 | |||
| 12548 | 2004-12-26 Jay Belanger <belanger@truman.edu> | ||
| 12549 | |||
| 12550 | * calc/calc-store.el (calc-read-var-name): Remove "var-" from | ||
| 12551 | default input. | ||
| 12552 | |||
| 12553 | 2004-12-26 Luc Teirlinck <teirllm@auburn.edu> | ||
| 12554 | |||
| 12555 | * buff-menu.el (Buffer-menu-revert-function): Clear out undo info | ||
| 12556 | before reverting and disable undo recording while reverting. | ||
| 12557 | |||
| 12558 | 2004-12-26 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 12559 | |||
| 12560 | * progmodes/hideshow.el (hs-set-up-overlay): New user var. | ||
| 12561 | (hs-make-overlay): New function. | ||
| 12562 | (hs-isearch-show-temporary): Handle `display' overlay prop specially. | ||
| 12563 | (hs-flag-region): Delete function. | ||
| 12564 | (hs-hide-comment-region): No longer use `hs-flag-region'. | ||
| 12565 | Instead, use `hs-discard-overlays' and `hs-make-overlay'. | ||
| 12566 | (hs-hide-block-at-point): Likewise. | ||
| 12567 | (hs-hide-level-recursive): Use `hs-discard-overlays'. | ||
| 12568 | (hs-hide-all, hs-show-all): Likewise. | ||
| 12569 | (hs-show-block): Likewise. | ||
| 12570 | Also, use overlay prop `hs-b-offset', not `hs-ofs'. | ||
| 12571 | |||
| 12572 | 2004-12-24 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 12573 | |||
| 12574 | * progmodes/hideshow.el: Require `cl' when compiling. | ||
| 12575 | Remove XEmacs and Emacs 19 compatibility. | ||
| 12576 | Use `dolist' and `add-to-list' for load-time actions. | ||
| 12577 | (hs-discard-overlays): Use `dolist'. | ||
| 12578 | (hs-show-block): Likewise. | ||
| 12579 | |||
| 12580 | 2004-12-23 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 12581 | |||
| 12582 | * faces.el (mode-line, mode-line-inactive): Use min-colors. | ||
| 12583 | |||
| 12584 | 2004-12-23 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 12585 | |||
| 12586 | * progmodes/hideshow.el (hs-inside-comment-p): Fix omission bug: | ||
| 12587 | When extending backwards, move outside the current comment first. | ||
| 12588 | |||
| 12589 | 2004-12-22 Kenichi Handa <handa@m17n.org> | ||
| 12590 | |||
| 12591 | * international/quail.el (quail-start-translation): Fix prompt | ||
| 12592 | string for the case if input-method-use-echo-area being non-nil. | ||
| 12593 | (quail-start-conversion): Likewise. | ||
| 12594 | (quail-show-guidance): Don't show guidance if | ||
| 12595 | input-method-use-echo-area is non-nil. | ||
| 12596 | |||
| 12597 | 2004-12-21 Richard M. Stallman <rms@gnu.org> | ||
| 12598 | |||
| 12599 | * textmodes/ispell.el (ispell-help): Bind resize-mini-windows. | ||
| 12600 | |||
| 12601 | 2004-12-21 Markus Rost <rost@ias.edu> | ||
| 12602 | |||
| 12603 | * calendar/diary-lib.el (mark-diary-entries): | ||
| 12604 | Set mark-diary-entries-in-calendar only after checking for diary-file. | ||
| 12605 | |||
| 12606 | 2004-12-21 Richard M. Stallman <rms@gnu.org> | ||
| 12607 | |||
| 12608 | * faces.el (escape-glyph): Use blue against light foreground. | ||
| 12609 | |||
| 12610 | * simple.el (undo-outer-limit-truncate): New function. | ||
| 12611 | (undo-outer-limit-function): Use undo-outer-limit-truncate. | ||
| 12612 | |||
| 12613 | 2004-12-21 Eli Barzilay <eli@barzilay.org> | ||
| 12614 | |||
| 12615 | * calculator.el (calculator-radix-grouping-mode) | ||
| 12616 | (calculator-radix-grouping-digits) | ||
| 12617 | (calculator-radix-grouping-separator): | ||
| 12618 | New defcustoms for the new radix grouping mode functionality. | ||
| 12619 | (calculator-mode-hook): Now used in electric mode too, | ||
| 12620 | (calculator): Call it. | ||
| 12621 | (calculator-mode-map): Some new keys. | ||
| 12622 | (calculator-message): New function. Some new calls. | ||
| 12623 | (calculator-op, calculator-set-register): Use it. | ||
| 12624 | (calculator-string-to-number): New function, mostly moved and | ||
| 12625 | updated code from calculator-curnum-value. | ||
| 12626 | (calculator-curnum-value): Use it. | ||
| 12627 | (calculator-paste): Use it, and update grabbing the current-kill. | ||
| 12628 | (calculator-rotate-displayer) | ||
| 12629 | (calculator-rotate-displayer-back): Toggle digit grouping when | ||
| 12630 | in radix mode, use calculator-message. | ||
| 12631 | (calculator-displayer-prev, calculator-displayer-next): | ||
| 12632 | Change digit group size when in radix mode. | ||
| 12633 | (calculator-number-to-string): Rename from | ||
| 12634 | calculator-num-to-string. Now deals with digit grouping in | ||
| 12635 | radix mode. | ||
| 12636 | (calculator-update-display, calculator-put-value): Use the new name. | ||
| 12637 | (calculator-fact): Return a floating point number. | ||
| 12638 | (calculator-mode): Doc fix. | ||
| 12639 | |||
| 12640 | 2004-12-20 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 12641 | |||
| 12642 | * calendar/calendar.el (view-other-diary-entries): Add autoload. | ||
| 12643 | * calendar/diary-lib.el (view-other-diary-entries): | ||
| 12644 | Use current-prefix-arg in interactive spec. | ||
| 12645 | |||
| 12646 | 2004-12-19 Jay Belanger <belanger@truman.edu> | ||
| 12647 | |||
| 12648 | * calc/calc-aent.el (calcAlg-blank-matching-open): Temporarily | ||
| 12649 | adjust the syntax of both delimiters of half-open intervals. | ||
| 12650 | |||
| 12651 | 2004-12-19 Kim F. Storm <storm@cua.dk> | ||
| 12652 | |||
| 12653 | * mouse.el (mouse-1-click-follows-link): Doc fix. | ||
| 12654 | |||
| 12655 | 2004-12-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 12656 | |||
| 12657 | * term/mac-win.el (encoding-vector, mac-font-encoder-list) | ||
| 12658 | (ccl-encode-mac-centraleurroman-font): Use centraleurroman | ||
| 12659 | instead of centraleuropean as the name | ||
| 12660 | |||
| 12661 | 2004-12-17 Michael Albinus <michael.albinus@gmx.de> | ||
| 12662 | |||
| 12663 | Sync with Tramp 2.0.46. | ||
| 12664 | |||
| 12665 | * net/tramp.el (tramp-maybe-send-perl-script): Change order of | ||
| 12666 | parameters wrt Tramp convention. | ||
| 12667 | (tramp-handle-file-attributes-with-perl) | ||
| 12668 | (tramp-handle-directory-files-and-attributes): Apply it. | ||
| 12669 | (tramp-do-copy-or-rename-file-out-of-band): Check for existence of | ||
| 12670 | `copy-program'. Reported by Zack Weinberg | ||
| 12671 | <zack@codesourcery.com>. | ||
| 12672 | (top): Set `edebug-form-spec' property directly rather than | ||
| 12673 | calling `def-edebug-spec'. | ||
| 12674 | |||
| 12675 | * net/tramp-smb.el (tramp-smb-advice-PC-do-completion): Make the | ||
| 12676 | advice less fragile. Surround temporary redefinition of | ||
| 12677 | `substitute-in-file-name' with `unwind-protect'. Suggested by | ||
| 12678 | Matt Hodges <MPHodges@member.fsf.org>. | ||
| 12679 | |||
| 12680 | 2004-12-17 Juri Linkov <juri@jurta.org> | ||
| 12681 | |||
| 12682 | * replace.el (occur-accumulate-lines, occur-engine): | ||
| 12683 | Make forcing deferred font-lock fontification jit-specific. | ||
| 12684 | |||
| 12685 | 2004-12-17 Kim F. Storm <storm@cua.dk> | ||
| 12686 | |||
| 12687 | * mouse.el (mouse-1-click-follows-link): New defcustom. | ||
| 12688 | (mouse-on-link-p): New function. | ||
| 12689 | (mouse-drag-region-1): Implement mouse-1-click-follows-link | ||
| 12690 | functionality. Map a mouse-1 click event into a mouse-2 (or | ||
| 12691 | other) event when position is inside a link. | ||
| 12692 | |||
| 12693 | * tooltip.el (tooltip-show-help-function): Replace "mouse-2" | ||
| 12694 | prefix in tooltip text with "mouse-1" when this is a link | ||
| 12695 | recognized by mouse-1-click-follows-link functionality. | ||
| 12696 | |||
| 12697 | * help.el (describe-key): Report effective and original binding | ||
| 12698 | for mouse-1 when clicked on a link. | ||
| 12699 | (describe-mode): Add follow-link property to "minor-mode" button. | ||
| 12700 | |||
| 12701 | * help-fns.el (describe-variable): Add follow-link property to | ||
| 12702 | "below" button. | ||
| 12703 | |||
| 12704 | * help-mode.el (help-xref): Add follow-link property. | ||
| 12705 | |||
| 12706 | * apropos.el (apropos-symbol, apropos-function, apropos-macro) | ||
| 12707 | (apropos-command, apropos-variable, apropos-face, apropos-group) | ||
| 12708 | (apropos-widget, apropos-plist): Add follow-link property. | ||
| 12709 | |||
| 12710 | * pcvs-defs.el (cvs-mode-map): Map follow-link to a function which | ||
| 12711 | checks if position is in a filename, rather than some other | ||
| 12712 | clickable item. Function looks for cvs-filename-face at position. | ||
| 12713 | |||
| 12714 | * wid-edit.el (widget-specify-field, widget-specify-button): | ||
| 12715 | Map a :follow-link keyword into a follow-link property. | ||
| 12716 | (link): Add :follow-link keyword, map to RET binding. | ||
| 12717 | |||
| 12718 | * dired.el (dired-mode-map): Map follow-link to mouse-face. | ||
| 12719 | |||
| 12720 | * progmodes/compile.el (compilation-minor-mode-map) | ||
| 12721 | (compilation-button-map, compilation-mode-map): Likewise. | ||
| 12722 | |||
| 12723 | 2004-12-17 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 12724 | |||
| 12725 | * play/zone.el (zone): Init `line-spacing' from orig buffer. | ||
| 12726 | (zone-replace-char): Take `count' and `del-count' | ||
| 12727 | instead of `direction'. Update callers. When `del-count' is | ||
| 12728 | non-nil, delete that many characters, otherwise `count' characters | ||
| 12729 | backwards. Insert the newly-replaced string `count' times. | ||
| 12730 | (zone-fret): Handle chars w/ width greater than one. | ||
| 12731 | (zone-fall-through-ws): No longer take window width `ww'. | ||
| 12732 | Update callers. Add handling for `char-width' greater than one. | ||
| 12733 | (zone-pgm-drip): Update var holding window-end position every cycle. | ||
| 12734 | |||
| 12735 | 2004-12-17 Andre Spiegel <spiegel@gnu.org> | ||
| 12736 | |||
| 12737 | * vc.el (vc-default-update-changelog): Use insert-file-contents, | ||
| 12738 | rather than insert-file. | ||
| 12739 | |||
| 12740 | 2004-12-16 Jay Belanger <belanger@truman.edu> | ||
| 12741 | |||
| 12742 | * calc/calc-comb.el (var-RandSeed): Don't initially bind it. | ||
| 12743 | (math-init-random-base, math-random-digit): Check to see if | ||
| 12744 | var-RandSeed is bound. | ||
| 12745 | (math-random-last): Declare it. | ||
| 12746 | (math-random-digit): Don't make math-random-last local. | ||
| 12747 | |||
| 12748 | 2004-12-16 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 12749 | |||
| 12750 | * play/zone.el (zone): Fix omission bug: Use a self-disabling | ||
| 12751 | one-shot thunk for uniform (error, quit, normal) recovery. | ||
| 12752 | Reported by John Paul Wallington. | ||
| 12753 | (zone-pgm-random-life): Fix bug: | ||
| 12754 | Recognize empty initial field by lack of "@" chars. | ||
| 12755 | |||
| 12756 | 2004-12-16 Juri Linkov <juri@jurta.org> | ||
| 12757 | |||
| 12758 | * help.el (function-called-at-point): | ||
| 12759 | * help-fns.el (variable-at-point): As a last resort try stripping | ||
| 12760 | non-word prefixes and suffixes. | ||
| 12761 | |||
| 12762 | * descr-text.el (describe-property-list): Don't treat syntax-table | ||
| 12763 | specially. Use describe-text-sexp which inserts [show] button | ||
| 12764 | for large objects and handles printing errors. Sort properties | ||
| 12765 | by names in alphabetical order instead of by value sizes. | ||
| 12766 | Add `mouse-face' to list of properties for `describe-face' widget. | ||
| 12767 | (describe-char): Mask out face-id from 19 bits of character. | ||
| 12768 | Print face-id separately. | ||
| 12769 | |||
| 12770 | * replace.el (occur-accumulate-lines, occur-engine): | ||
| 12771 | Fontify unfontified matching lines in the source buffer | ||
| 12772 | before copying them. | ||
| 12773 | (occur-engine): Don't put mouse-face on context lines. | ||
| 12774 | (occur-next-error): Set point to line beginning/end | ||
| 12775 | before searching for prev/next property to skip multiple | ||
| 12776 | matches on a line (not supported by occur engine). | ||
| 12777 | Remove redundant prefix-numeric-value. | ||
| 12778 | |||
| 12779 | 2004-12-15 Juri Linkov <juri@jurta.org> | ||
| 12780 | |||
| 12781 | * replace.el (match): New face. | ||
| 12782 | (list-matching-lines-face): Change default from `bold' to `match'. | ||
| 12783 | |||
| 12784 | * progmodes/grep.el (grep-match-face): New defvar. | ||
| 12785 | (grep-mode-font-lock-keywords): Use grep-match-face instead of | ||
| 12786 | compilation-column-face to highlight grep matches. | ||
| 12787 | |||
| 12788 | * apropos.el (apropos-match-face): Change default from | ||
| 12789 | `secondary-selection' to `match'. | ||
| 12790 | |||
| 12791 | * info-look.el (info-lookup-highlight-face): Change default from | ||
| 12792 | `highlight' to `match'. | ||
| 12793 | |||
| 12794 | 2004-12-15 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 12795 | |||
| 12796 | * progmodes/executable.el (executable-interpret): Eliminate | ||
| 12797 | obsolete compile-internal, and switch to comint for interaction. | ||
| 12798 | |||
| 12799 | 2004-12-15 J.D. Smith <jdsmith@as.arizona.edu> | ||
| 12800 | |||
| 12801 | * progmodes/idlwave.el (idlwave-skip-multi-commands): Don't match | ||
| 12802 | `&&' when skipping multiple statements on a line. | ||
| 12803 | |||
| 12804 | 2004-12-15 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 12805 | |||
| 12806 | * play/zone.el (zone): Set `truncate-lines'. | ||
| 12807 | Also, init `tab-width' with value from original buffer. | ||
| 12808 | (zone-shift-up): Rewrite for speed. | ||
| 12809 | (zone-shift-down, zone-shift-left, zone-shift-right): Likewise. | ||
| 12810 | (zone-pgm-jitter): Remove redundant entries from ops vector. | ||
| 12811 | (zone-exploding-remove): Reduce iteration count. | ||
| 12812 | (zone-cpos): Convert to defsubst. | ||
| 12813 | (zone-replace-char): New defsubst. | ||
| 12814 | (zone-park/sit-for): Likewise. | ||
| 12815 | (zone-fret): Take window-start arg. | ||
| 12816 | Update callers. Use `zone-park/sit-for'. | ||
| 12817 | (zone-fill-out-screen): Rewrite. | ||
| 12818 | (zone-fall-through-ws): Likewise. Update callers. | ||
| 12819 | (zone-pgm-drip): Use `zone-replace-char'. | ||
| 12820 | Move var inits before while-loop. Use `zone-park/sit-for'. | ||
| 12821 | (zone-pgm-random-life): Handle empty initial field. | ||
| 12822 | Use `zone-replace-char' and `zone-park/sit-for'. | ||
| 12823 | |||
| 12824 | 2004-12-15 Juri Linkov <juri@jurta.org> | ||
| 12825 | |||
| 12826 | * isearch.el (isearch-update): Test isearch-lazy-highlight | ||
| 12827 | before calling isearch-lazy-highlight-new-loop. | ||
| 12828 | (isearch-lazy-highlight-new-loop): | ||
| 12829 | Don't test isearch-lazy-highlight. | ||
| 12830 | |||
| 12831 | * replace.el (perform-replace): Add isearch-case-fold-search. | ||
| 12832 | Use delimited-flag for isearch-regexp. | ||
| 12833 | Reset isearch-lazy-highlight-last-string to force lazy | ||
| 12834 | highlighting when called from isearch mode. | ||
| 12835 | (query-replace-highlight): Revert defcustom type to boolean. | ||
| 12836 | (query-replace-lazy-highlight): New defcustom. | ||
| 12837 | (query-replace): New face. | ||
| 12838 | (perform-replace, replace-highlight, replace-dehighlight): | ||
| 12839 | Test query-replace-lazy-highlight instead of special value | ||
| 12840 | `isearch' of query-replace-highlight. | ||
| 12841 | (replace-dehighlight): Don't call isearch-dehighlight. | ||
| 12842 | (replace-highlight): Don't call isearch-highlight. | ||
| 12843 | Use face `query-replace' unconditionally. | ||
| 12844 | |||
| 12845 | 2004-12-14 Kim F. Storm <storm@cua.dk> | ||
| 12846 | |||
| 12847 | * simple.el (inhibit-mark-movement): Remove defvar. | ||
| 12848 | (beginning-of-buffer, end-of-buffer): Don't use it. | ||
| 12849 | |||
| 12850 | * emacs-lisp/lisp.el (beginning-of-defun, end-of-defun): | ||
| 12851 | Don't use inhibit-mark-movement. | ||
| 12852 | |||
| 12853 | * emulation/cua-base.el (cua--preserve-mark-commands): Remove. | ||
| 12854 | (cua--undo-push-mark): Remove. | ||
| 12855 | (cua--pre-command-handler, cua--post-command-handler): | ||
| 12856 | Don't fiddle with inhibit-mark-movement. | ||
| 12857 | |||
| 12858 | 2004-12-14 Juri Linkov <juri@jurta.org> | ||
| 12859 | |||
| 12860 | * buff-menu.el (list-buffers-noselect): Collect internal info | ||
| 12861 | for every buffer in BUFFER-LIST arg too. | ||
| 12862 | (Buffer-menu-switch-other-window): Bind pop-up-windows to t. | ||
| 12863 | (Buffer-menu-switch-other-window, Buffer-menu-2-window): | ||
| 12864 | Bind same-window-buffer-names and same-window-regexps to nil. | ||
| 12865 | |||
| 12866 | 2004-12-13 Juri Linkov <juri@jurta.org> | ||
| 12867 | |||
| 12868 | * simple.el (next-error-buffer-p, next-error-find-buffer): Doc fix. | ||
| 12869 | |||
| 12870 | * mail/supercite.el (sc-cite-frame-alist): Doc fix. | ||
| 12871 | (sc-cite-region, sc-uncite-region, sc-recite-region): | ||
| 12872 | Fix previous change to handle not alist as a symbol, but | ||
| 12873 | a citation frame as a symbol that represents a variable name. | ||
| 12874 | |||
| 12875 | 2004-12-13 Richard M. Stallman <rms@gnu.org> | ||
| 12876 | |||
| 12877 | * filecache.el (file-cache-add-directory-using-find): | ||
| 12878 | Only set up file-cache-find-command-posix-flag if we will use it. | ||
| 12879 | |||
| 12880 | * bindings.el (mode-line-buffer-identification-keymap): | ||
| 12881 | Don't cancel the mode-line's usual down-mouse-1 binding. | ||
| 12882 | |||
| 12883 | * cus-edit.el (custom-face-selected): Handle `default' specs. | ||
| 12884 | (custom-face-edit): Increase extra-offset. | ||
| 12885 | (custom-display): Handle `default' specs. | ||
| 12886 | |||
| 12887 | * xml.el (xml-name-re, xml-entity-value-re): Add defvars. | ||
| 12888 | |||
| 12889 | * emacs-lisp/elint.el (elint-standard-variables) | ||
| 12890 | (elint-unknown-builtin-args): Move definitions up. | ||
| 12891 | |||
| 12892 | * net/browse-url.el (browse-url-url-at-point): Add autoload. | ||
| 12893 | |||
| 12894 | * info.el (info-xref-visited): Use `default' instead of t. | ||
| 12895 | (Info-try-follow-nearest-node): Don't explicitly load browse-url. | ||
| 12896 | |||
| 12897 | * faces.el (header-line, mode-line-inactive, tool-bar): | ||
| 12898 | Use `default' instead of t for setting the defaults. | ||
| 12899 | (face-spec-choose): Separate `t' from `default'. | ||
| 12900 | |||
| 12901 | * subr.el (while-no-input): New macro. | ||
| 12902 | |||
| 12903 | 2004-12-13 Frederik Fouvry <fouvry@CoLi.Uni-SB.DE> (tiny change) | ||
| 12904 | |||
| 12905 | * filecache.el (file-cache-add-directory-using-find): | ||
| 12906 | Only test file-cache-find-command-posix-flag on some systems. | ||
| 12907 | |||
| 12908 | 2004-12-13 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 12909 | |||
| 12910 | * vc-svn.el (vc-svn-repository-hostname): Adjust to new format. | ||
| 12911 | Reported by Ville Skytt,Ad(B <scop@xemacs.org>. | ||
| 12912 | (vc-svn-annotate-current-time, vc-svn-annotate-time-of-rev) | ||
| 12913 | (vc-svn-annotate-time, vc-svn-annotate-extract-revision-at-line) | ||
| 12914 | (vc-svn-annotate-command, vc-svn-annotate-re): Support for svn | ||
| 12915 | annotate. | ||
| 12916 | |||
| 12917 | 2004-12-12 Juri Linkov <juri@jurta.org> | ||
| 12918 | |||
| 12919 | * files.el (find-file-other-window, find-file-other-frame): | ||
| 12920 | Add the first buffer to the returned value to return the complete | ||
| 12921 | list of all visited buffers. | ||
| 12922 | (find-file-read-only, find-file-read-only-other-window) | ||
| 12923 | (find-file-read-only-other-frame): Use nil for `mustmatch' arg of | ||
| 12924 | `find-file-read-args'. Signal an error about non-existent file | ||
| 12925 | only if file name doesn't contain wildcards. Toggle read-only in | ||
| 12926 | all visited buffers. | ||
| 12927 | (find-alternate-file, find-alternate-file-other-window): | ||
| 12928 | Add optional arg `wildcards'. Doc fix. Set `wildcards' to t when | ||
| 12929 | called interactively. Pass arg `wildcards' to other functions. | ||
| 12930 | (find-file-noselect): Doc fix. | ||
| 12931 | |||
| 12932 | * ffap.el (ffap-dired-wildcards): Set default to "[*?][^/]*\\'". | ||
| 12933 | Doc fix. | ||
| 12934 | (ffap-directory-finder): New variable. | ||
| 12935 | (ffap-string-at-point-mode-alist): Add * and ? to `file'. | ||
| 12936 | (ffap-file-at-point): Add /* to immediately rejected names. | ||
| 12937 | Return absolute file names matching ffap-dired-wildcards. | ||
| 12938 | (ffap-read-file-or-url): Set default value for `completing-read' | ||
| 12939 | to `buffer-file-name'. | ||
| 12940 | (find-file-at-point): When filename matches ffap-dired-wildcards, | ||
| 12941 | call ffap-file-finder with t arg `wildcards', instead of dired. | ||
| 12942 | (ffap-other-window, ffap-other-frame): Return visited buffers. | ||
| 12943 | (ffap-read-only, ffap-read-only-other-window) | ||
| 12944 | (ffap-read-only-other-frame, ffap-alternate-file): New commands. | ||
| 12945 | (dired-at-point): Call ffap-directory-finder instead of dired. | ||
| 12946 | (ffap-dired-other-window, ffap-dired-other-frame) | ||
| 12947 | (ffap-list-directory): New commands. | ||
| 12948 | (ffap-bindings): New keybindings for new commands. | ||
| 12949 | |||
| 12950 | 2004-12-12 Juri Linkov <juri@jurta.org> | ||
| 12951 | |||
| 12952 | * simple.el (beginning-of-buffer, end-of-buffer): | ||
| 12953 | * emacs-lisp/lisp.el (beginning-of-defun, end-of-defun): | ||
| 12954 | Do not push mark when mark is active in transient-mark-mode. | ||
| 12955 | |||
| 12956 | * simple.el (mark-word): | ||
| 12957 | * emacs-lisp/lisp.el (mark-sexp, mark-defun): | ||
| 12958 | * textmodes/paragraphs.el (mark-paragraph): | ||
| 12959 | Extend the region when mark is active in transient-mark-mode, | ||
| 12960 | regardless of the last command. Doc fix. | ||
| 12961 | |||
| 12962 | * simple.el (mark-word): Preserve direction when repeating. | ||
| 12963 | Make arg optional. Interactive "p" -> "P". | ||
| 12964 | (transient-mark-mode, inhibit-mark-movement): Doc fix. | ||
| 12965 | |||
| 12966 | * emacs-lisp/lisp.el (mark-sexp): Reverse the condition for | ||
| 12967 | preserving direction, to mark forward instead of backward when mark | ||
| 12968 | is equal to point (e.g. when C-SPC C-M-SPC is typed in t-m-m). | ||
| 12969 | |||
| 12970 | 2004-12-12 Juri Linkov <juri@jurta.org> | ||
| 12971 | |||
| 12972 | * isearch.el (isearch-edit-string): Set 7th arg of | ||
| 12973 | `read-from-minibuffer' to `t' to inherit the current input | ||
| 12974 | method (whose name is indicated by [IM] in the minibuffer prompt) | ||
| 12975 | from the current buffer to the minibuffer. | ||
| 12976 | (isearch-lazy-highlight-update): Put body to `with-local-quit' | ||
| 12977 | to allow C-g quitting for lazy highlighting looping inside the | ||
| 12978 | search with nested repetition operators. Add overlay to the list | ||
| 12979 | before setting its face and other properties to avoid the case of | ||
| 12980 | code quitting after placing the new overlay but before it's | ||
| 12981 | recorded on the list. Select the window where isearch was | ||
| 12982 | activated, to highlight matches in the right window when isearch | ||
| 12983 | switches the current window to the minibuffer. | ||
| 12984 | |||
| 12985 | * international/isearch-x.el | ||
| 12986 | (isearch-process-search-multibyte-characters): | ||
| 12987 | Use `isearch-message' as initial input for `read-string' instead | ||
| 12988 | of adding it to the minibuffer prompt. After reading a string | ||
| 12989 | remove the initial value of `isearch-message' from the string. | ||
| 12990 | |||
| 12991 | * replace.el (replace-match-maybe-edit): Doc fix. | ||
| 12992 | (perform-replace): Don't call `replace-highlight' when automatic | ||
| 12993 | replacement is requested in literal mode, since it is intended | ||
| 12994 | only to highlight words during entering a new replacement string | ||
| 12995 | for \? in non-literal mode. | ||
| 12996 | |||
| 12997 | * replace.el (query-replace-highlight): Add new value `isearch' | ||
| 12998 | that allows query replacement to use isearch highlighting. | ||
| 12999 | Change type from `boolean' to `choice'. Doc fix. | ||
| 13000 | (replace-highlight, replace-dehighlight, perform-replace): | ||
| 13001 | Use isearch highlighting if query-replace-highlight eq `isearch'. | ||
| 13002 | |||
| 13003 | 2004-12-11 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 13004 | |||
| 13005 | * emacs-lisp/checkdoc.el (checkdoc-continue, checkdoc-comments) | ||
| 13006 | (checkdoc-message-text, checkdoc-defun): Fix format messages for | ||
| 13007 | `error'. | ||
| 13008 | |||
| 13009 | * textmodes/tex-mode.el (latex-backward-sexp-1): Handle the special | ||
| 13010 | case of \end{verbatim}. | ||
| 13011 | |||
| 13012 | 2004-12-11 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 13013 | |||
| 13014 | * term.el (term-termcap-format): Synchronize with terminfo. | ||
| 13015 | (term-emulate-terminal): Handle reset. | ||
| 13016 | (term-reset-terminal): New function. | ||
| 13017 | |||
| 13018 | 2004-12-11 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 13019 | |||
| 13020 | * play/zone.el (zone-programs): Add `zone-pgm-random-life'. | ||
| 13021 | (zone-fill-out-screen): New func. | ||
| 13022 | (zone-pgm-drip): Use `zone-fill-out-screen'. | ||
| 13023 | Also, no longer go to point-min on every cycle. | ||
| 13024 | (zone-pgm-paragraph-spaz): Allow spazzing for texinfo-mode. | ||
| 13025 | (zone-pgm-random-life-wait): New user var. | ||
| 13026 | (zone-pgm-random-life): New func. | ||
| 13027 | |||
| 13028 | 2004-12-10 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 13029 | |||
| 13030 | * files.el (auto-mode-alist): Map .com to DCL mode. | ||
| 13031 | |||
| 13032 | 2004-12-09 Richard M. Stallman <rms@gnu.org> | ||
| 13033 | |||
| 13034 | * isearch.el (isearch-mode-map): Treat S-SPC like SPC. | ||
| 13035 | |||
| 13036 | 2004-12-09 Nick Roberts <nickrob@snap.net.nz> | ||
| 13037 | |||
| 13038 | * xt-mouse.el (xterm-mouse-event): Correct cursor position in a | ||
| 13039 | buffer with a display margin. | ||
| 13040 | |||
| 13041 | 2004-12-08 Jay Belanger <belanger@truman.edu> | ||
| 13042 | |||
| 13043 | * calc/calc-keypd.el (calc-keypad-mode): Unbind unused mouse events. | ||
| 13044 | (calc-keypad-left-click): Set buffer to calc-keymap-buffer. | ||
| 13045 | |||
| 13046 | 2004-12-08 Richard M. Stallman <rms@gnu.org> | ||
| 13047 | |||
| 13048 | * faces.el: Delete code to set display table. | ||
| 13049 | (escape-glyph): Redefine to be less loud. (Copy minibuffer-prompt.) | ||
| 13050 | |||
| 13051 | 2004-12-08 Jay Belanger <belanger@truman.edu> | ||
| 13052 | |||
| 13053 | * calc/calc.el: Add math-read-preprocess-string to autoloads. | ||
| 13054 | |||
| 13055 | * calc/calc-ext.el (math-read-replacement-list) | ||
| 13056 | (math-read-superscripts, math-read-preprocess-string): Move to | ||
| 13057 | calc-aent.el. | ||
| 13058 | |||
| 13059 | * calc/calc-aent.el (math-read-replacement-list) | ||
| 13060 | (math-read-superscripts, math-read-preprocess-string): Move from | ||
| 13061 | calc-ext.el. | ||
| 13062 | |||
| 13063 | 2004-12-07 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 13064 | |||
| 13065 | * isearch.el (isearch-quote-char): Fix up typo in last change. | ||
| 13066 | |||
| 13067 | 2004-12-07 Luc Teirlinck <teirllm@auburn.edu> | ||
| 13068 | |||
| 13069 | * mouse.el (mouse-set-font): Handle the case where the command was | ||
| 13070 | not invoked using the mouse. | ||
| 13071 | |||
| 13072 | * edmacro.el: `edit-kbd-macro' is now bound to `C-x C-k e'. | ||
| 13073 | (edmacro-finish-edit): Further update for keyboard macros that are | ||
| 13074 | lambda forms. | ||
| 13075 | (edmacro-sanitize-for-string): Correctly remove Meta modifier. | ||
| 13076 | |||
| 13077 | 2004-12-07 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 13078 | |||
| 13079 | * font-lock.el (font-lock-unfontify-region): Save buffer state. | ||
| 13080 | (font-lock-default-unfontify-region): Don't save buffer state any more. | ||
| 13081 | |||
| 13082 | 2004-12-07 Jay Belanger <belanger@truman.edu> | ||
| 13083 | |||
| 13084 | * calc/calc-help.el (calc-describe-key): | ||
| 13085 | Set calc-summary-indentation even when Calc Summary buffer exists. | ||
| 13086 | |||
| 13087 | 2004-12-07 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 13088 | |||
| 13089 | * calendar/holidays.el (holiday-easter-etc): Make arguments | ||
| 13090 | optional for backwards compatibility. Doc fix. | ||
| 13091 | Remove un-necessary local vars mandatory, output-list. | ||
| 13092 | (holiday-advent): Make arguments optional for backwards | ||
| 13093 | compatibility. Doc fix. | ||
| 13094 | |||
| 13095 | 2004-12-06 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 13096 | |||
| 13097 | * paren.el (show-paren-function): Fix last change (2004-12-02). | ||
| 13098 | |||
| 13099 | * international/mule-util.el (char-displayable-p): Return nil for | ||
| 13100 | unibyte mode. | ||
| 13101 | |||
| 13102 | * subr.el (subregexp-context-p): New function. | ||
| 13103 | |||
| 13104 | * isearch.el (isearch-quote-char): Use it. | ||
| 13105 | |||
| 13106 | * emacs-lisp/regexp-opt.el (regexp-opt-depth): Use it. | ||
| 13107 | (regexp-opt-not-groupie*-re): Remove. | ||
| 13108 | (regexp-opt): Properly handle inputs with duplicate entries. | ||
| 13109 | |||
| 13110 | 2004-12-06 Richard M. Stallman <rms@gnu.org> | ||
| 13111 | |||
| 13112 | * info-look.el (info-lookup-maybe-add-help cfengine-mode): Regexp typo. | ||
| 13113 | |||
| 13114 | * cus-edit.el (custom-file): Doc fix. | ||
| 13115 | |||
| 13116 | * textmodes/org.el: New file. | ||
| 13117 | |||
| 13118 | 2004-12-06 Kenichi Handa <handa@m17n.org> | ||
| 13119 | |||
| 13120 | * ldefs-boot.el: Update international/mule-util.el section. | ||
| 13121 | |||
| 13122 | 2004-12-05 Sam Steingold <sds@gnu.org> | ||
| 13123 | |||
| 13124 | * net/tramp.el (tramp-handle-file-accessible-directory-p): | ||
| 13125 | Fix `tramp-time-diff' comparison logic. | ||
| 13126 | |||
| 13127 | 2004-12-05 Paul Pogonyshev <pogonyshev@gmx.net> | ||
| 13128 | |||
| 13129 | * progmodes/which-func.el (which-function): | ||
| 13130 | Use `run-hook-with-args-until-success' instead of a custom loop. | ||
| 13131 | Fixes bug with local hooks. | ||
| 13132 | |||
| 13133 | 2004-12-05 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de> | ||
| 13134 | |||
| 13135 | * textmodes/bibtex.el (bibtex-font-lock-url-regexp): | ||
| 13136 | Use delete-dups when calculating the initial value. | ||
| 13137 | (bibtex-autokey-get-title): Use <=. | ||
| 13138 | (bibtex-goto-line): New function. | ||
| 13139 | (bibtex-reposition-window): Use line numbers instead of point | ||
| 13140 | positions. Use window-body-height. | ||
| 13141 | (bibtex-find-crossref): Use bibtex-reposition-window. | ||
| 13142 | (bibtex-find-entry): Use bibtex-reposition-window. Always return | ||
| 13143 | position of entry if key is found or nil if not found. | ||
| 13144 | |||
| 13145 | 2004-12-05 Richard M. Stallman <rms@gnu.org> | ||
| 13146 | |||
| 13147 | * cus-edit.el (custom-file): Doc fix. | ||
| 13148 | |||
| 13149 | * progmodes/sh-script.el (sh-indent-for-then): Change default. | ||
| 13150 | |||
| 13151 | 2004-12-03 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 13152 | |||
| 13153 | * simple.el (blink-matching-open): | ||
| 13154 | * textmodes/tex-mode.el (tex-validate-region): | ||
| 13155 | Obey syntax-table text properties. | ||
| 13156 | |||
| 13157 | 2004-12-02 Per Abrahamsen <abraham@dina.kvl.dk> | ||
| 13158 | |||
| 13159 | * wid-edit.el (widget-specify-field): Add `real-field' property to | ||
| 13160 | boundary. | ||
| 13161 | (widget-field-at): Use it. | ||
| 13162 | |||
| 13163 | 2004-12-02 Richard M. Stallman <rms@gnu.org> | ||
| 13164 | |||
| 13165 | * progmodes/cc-mode.el (awk-mode autoload): | ||
| 13166 | Supply t meaning interactive function. | ||
| 13167 | |||
| 13168 | * isearch.el (search-whitespace-regexp): Remove the group. Doc fix. | ||
| 13169 | (isearch-mode-map): No special definition for space. | ||
| 13170 | (isearch-whitespace-chars): Command deleted. | ||
| 13171 | (isearch-forward-regexp): Doc fix. | ||
| 13172 | (isearch-quote-char): When a space is not inside brackets, | ||
| 13173 | use `[ ]' instead of just space. | ||
| 13174 | (isearch-lazy-highlight-search): Bind search-spaces-regexp. | ||
| 13175 | |||
| 13176 | * imenu.el (imenu--generic-function): Delete code to exclude | ||
| 13177 | matches in comments. | ||
| 13178 | |||
| 13179 | * man.el (Man-reverse-face): Change default to `highlight'. | ||
| 13180 | |||
| 13181 | * replace.el (occur-1): Specify t for KEEP-PROPS to occur-engine. | ||
| 13182 | (occur-engine): Use `face' prop rather than `font-lock-face' | ||
| 13183 | when specifying use of `match-face'. | ||
| 13184 | (occur-accumulate-lines): Change arg from NO-PROPS to KEEP-PROPS. | ||
| 13185 | |||
| 13186 | * emacs-lisp/elint.el (elint-standard-variables): Update list. | ||
| 13187 | |||
| 13188 | * add-log.el (add-log-current-defun): Handle the case where point | ||
| 13189 | is in the header part of a DEFUN construct. | ||
| 13190 | |||
| 13191 | 2004-12-02 Dave Love <fx@gnu.org> | ||
| 13192 | |||
| 13193 | * progmodes/python.el (python-font-lock-syntactic-keywords): | ||
| 13194 | Fix previous change. | ||
| 13195 | |||
| 13196 | 2004-12-02 Richard G Bielawski <Richard.G.Bielawski@wellsfargo.com> (tiny change) | ||
| 13197 | |||
| 13198 | * paren.el (show-paren-function): Check for matching chars | ||
| 13199 | specified by text props. | ||
| 13200 | |||
| 13201 | 2004-12-02 Jay Belanger <belanger@truman.edu> | ||
| 13202 | |||
| 13203 | * calc/calc.el (calc-read-key-sequence): Leave the old message visible | ||
| 13204 | when reading a new key sequence. | ||
| 13205 | |||
| 13206 | 2004-12-02 Kim F. Storm <storm@cua.dk> | ||
| 13207 | |||
| 13208 | * faces.el (escape-glyph): Rename from glyph. | ||
| 13209 | (standard-display-table): Set it here. Add escape-glyph face to | ||
| 13210 | extra slot characters. | ||
| 13211 | |||
| 13212 | * disp-table.el: Undo 2004-12-01 change. Display table is now | ||
| 13213 | setup in faces.el. | ||
| 13214 | |||
| 13215 | 2004-12-02 Mark A. Hershberger <mah@everybody.org> | ||
| 13216 | |||
| 13217 | * xml.el (xml-parse-dtd): Don't show validity messages when | ||
| 13218 | xml-validating-parser is nil. | ||
| 13219 | (xml-substitute-special): Fix validity error messages to | ||
| 13220 | actually show the unexpandable entity. Added validity error if & | ||
| 13221 | isn't followed by an entity. | ||
| 13222 | (xml-parse-tag): Concatenate any string following the a | ||
| 13223 | <![CDATA[]]> section to the parsed CDATA. | ||
| 13224 | (xml-parse-dtd): Skip parameter entity declarations and use of | ||
| 13225 | parameter entities. | ||
| 13226 | |||
| 13227 | 2004-12-01 Luc Teirlinck <teirllm@auburn.edu> | ||
| 13228 | |||
| 13229 | * kmacro.el (kmacro-default-counter-format): New var. | ||
| 13230 | (kmacro-set-format): Use it. Delete `(printf format)' from prompt. | ||
| 13231 | (kmacro-display): Remove `nil' from `and' form. Delete call to | ||
| 13232 | `format' inside `message'. | ||
| 13233 | (kmacro-start-macro): Use `kmacro-default-counter-format'. | ||
| 13234 | |||
| 13235 | 2004-12-01 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 13236 | |||
| 13237 | * pcvs.el (cvs-header-msg): New function. | ||
| 13238 | (cvs-update-header): Use it. Change calling convention. | ||
| 13239 | Correctly handle the case of having simultaneous active processes. | ||
| 13240 | (cvs-sentinel): Don't call cvs-update-header any more. | ||
| 13241 | (cvs-mode-run): Update call and add cvs-update-header to postproc. | ||
| 13242 | |||
| 13243 | 2004-12-01 Jay Belanger <belanger@truman.edu> | ||
| 13244 | |||
| 13245 | * calc/calc-ext.el (calc-inverse, calc-hyperbolic): | ||
| 13246 | Change message. | ||
| 13247 | |||
| 13248 | 2004-12-01 Juri Linkov <juri@jurta.org> | ||
| 13249 | |||
| 13250 | * progmodes/prolog.el (prolog-mode-variables): | ||
| 13251 | Fix imenu-generic-expression. | ||
| 13252 | |||
| 13253 | 2004-12-01 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 13254 | |||
| 13255 | * faces.el (glyph): New face. | ||
| 13256 | |||
| 13257 | * disp-table.el: Add an autoloaded table, that doesn't require | ||
| 13258 | this library, with glyph face. | ||
| 13259 | |||
| 13260 | * textmodes/conf-mode.el (conf-ppd-mode-syntax-table): New var. | ||
| 13261 | (conf-ppd-mode): New conf-mode wrapper for printer descriptions. | ||
| 13262 | (conf-quote-normal): Allow normalizing only ' or ". | ||
| 13263 | (conf-mode): Regexp-quote constructed comment-start and don't | ||
| 13264 | match section {} where "name" contains braces. | ||
| 13265 | |||
| 13266 | * files.el (auto-mode-alist): Add conf-ppd-mode, inittab and acpid | ||
| 13267 | files. | ||
| 13268 | |||
| 13269 | 2004-12-01 Kenichi Handa <handa@m17n.org> | ||
| 13270 | |||
| 13271 | * term/x-win.el (x-last-selected-text-cut-encoded): New variable. | ||
| 13272 | (x-select-text): Don't treat eight-bit-control/graphic chars | ||
| 13273 | specially. Store the encoded text in the X cut buffer. | ||
| 13274 | (x-cut-buffer-or-selection-value): Compare the X cut buffer text | ||
| 13275 | with x-last-selected-text-cut-encoded. | ||
| 13276 | |||
| 13277 | 2004-11-30 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 13278 | |||
| 13279 | * man.el (Man-fontify-manpage): Improve handling of ANSI escapes. | ||
| 13280 | |||
| 13281 | 2004-11-30 Markus Rost <rost@ias.edu> | ||
| 13282 | |||
| 13283 | * textmodes/tex-mode.el (tex-main-file): Add a compatibility with | ||
| 13284 | AUCTeX. | ||
| 13285 | |||
| 13286 | 2004-11-30 Jay Belanger <belanger@truman.edu> | ||
| 13287 | |||
| 13288 | * calc/calc-arith.el (math-possible-signs): Made stronger checks | ||
| 13289 | on signs of intervals. | ||
| 13290 | (math-pow-of-zero): Strengthen checks for positive and negative | ||
| 13291 | exponents. | ||
| 13292 | |||
| 13293 | * calc/calc-aent.el, calc/calc-alg.el, calc/calc-arith.el | ||
| 13294 | * calc/calc-bin.el, calc/calc-comb.el, calc/calc-cplx.el | ||
| 13295 | * calc/calc-embed.el, calc/calc-fin.el, calc/calc-forms.el | ||
| 13296 | * calc/calc-frac.el, calc/calc-funcs.el, calc/calc-graph.el | ||
| 13297 | * calc/calc-help.el, calc/calc-incom.el, calc/calc-keypd.el | ||
| 13298 | * calc/calc-lang.el, calc/calc-map.el, calc/calc-math.el | ||
| 13299 | * calc/calc-misc.el, calc/calc-mode.el, calc/calc-mtx.el | ||
| 13300 | * calc/calc-poly.el, calc/calc-prog.el, calc/calc-rewr.el | ||
| 13301 | * calc/calc-rules.el, calc/calc-sel.el, calc/calc-stat.el | ||
| 13302 | * calc/calc-store.el, calc/calc-stuff.el, calc/calc-trail.el | ||
| 13303 | * calc/calc-undo.el, calc/calc-units.el, calc/calc-vec.el | ||
| 13304 | * calc/calc-yank.el, calc/calcalg2.el, calc/calcalg3.el | ||
| 13305 | * calc/calccomp.el, calc/calcsel2.el: Replace dummy autoloaded | ||
| 13306 | functions with provide statements. | ||
| 13307 | |||
| 13308 | * calc/calc-alg.el (math-defsimplify): Move from calc-ext.el. | ||
| 13309 | |||
| 13310 | * calc/calc-embed.el (calc-do-embedded-activate): Remove from | ||
| 13311 | autoloads. | ||
| 13312 | |||
| 13313 | * calc/calc-ext.el: Remove dummy autoloading functions from autoloads. | ||
| 13314 | (calc-load-everything, math-defsimplify): Replace dummy autoloading | ||
| 13315 | functions by require statements. | ||
| 13316 | (math-defsimplify): Move to calc-alg.el, add to autoloads. | ||
| 13317 | |||
| 13318 | * calc/calc-graph.el (calc-gnuplot-name, calc-gnuplot-plot-command) | ||
| 13319 | (calc-gnuplot-print): Give them values. | ||
| 13320 | |||
| 13321 | * calc/calc.el: Remove calc-Need-calc-aent and calc-Need-calc-misc from | ||
| 13322 | autoloads. | ||
| 13323 | Add calc-do-embedded-activate to autoloads. | ||
| 13324 | (calc-gnuplot-name, calc-gnuplot-plot-command) | ||
| 13325 | (calc-gnuplot-print-command): Move them to calc-graph.el. | ||
| 13326 | |||
| 13327 | 2004-11-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 13328 | |||
| 13329 | * term/mac-win.el (ccl-encode-mac-roman-font) | ||
| 13330 | (ccl-encode-mac-cyrillic-font) | ||
| 13331 | (ccl-encode-mac-centraleuropean-font, encoder-list) | ||
| 13332 | (fontset-add-mac-fonts, create-fontset-from-mac-roman-font): | ||
| 13333 | Support Cyrillic, CentralEuropean, and Dingbat font display | ||
| 13334 | |||
| 13335 | 2004-11-30 Andre Spiegel <spiegel@gnu.org> | ||
| 13336 | |||
| 13337 | * vc-hooks.el (vc-recompute-state): Move here from vc.el. | ||
| 13338 | |||
| 13339 | * vc-cvs.el (vc-cvs-state): Handle the case where vc-state is | ||
| 13340 | still nil. | ||
| 13341 | |||
| 13342 | 2004-11-29 Luc Teirlinck <teirllm@auburn.edu> | ||
| 13343 | |||
| 13344 | * emulation/tpu-edt.el (tpu-help-keypad-map, tpu-help-text) | ||
| 13345 | (tpu-word-separator-list, tpu-skip-chars): defconst->defvar. | ||
| 13346 | |||
| 13347 | 2004-11-29 Jay Belanger <belanger@truman.edu> | ||
| 13348 | |||
| 13349 | * calc/calc-arith.el (math-pow-of-zero): Take into account different | ||
| 13350 | cases of the base and exponent. | ||
| 13351 | |||
| 13352 | 2004-11-26 Teodor Zlatanov <tzz@lifelogs.com> | ||
| 13353 | |||
| 13354 | * simple.el (next-error-buffer-p): Allow for inclusive and | ||
| 13355 | exclusive tests for finding a buffer. | ||
| 13356 | (next-error-find-buffer): Pass the exclusive and inclusive tests | ||
| 13357 | to next-error-buffer-p. | ||
| 13358 | |||
| 13359 | * replace.el (occur-next-error): Switch to the Occur buffer when | ||
| 13360 | appropriate, use the exclusive filter to next-error-find-buffer to | ||
| 13361 | do it. Use the absolute value of the motion amount. | ||
| 13362 | |||
| 13363 | 2004-11-29 Kenichi Handa <handa@m17n.org> | ||
| 13364 | |||
| 13365 | * startup.el (command-line): Decode all default-directory by | ||
| 13366 | locale-coding-system. | ||
| 13367 | |||
| 13368 | 2004-11-29 Jay Belanger <belanger@truman.edu> | ||
| 13369 | |||
| 13370 | * calc/calc-aent.el: Remove unnecessary eval-when-compile. | ||
| 13371 | (calc-do-quick-calc, calc-do-calc-eval, calc-alg-entry) | ||
| 13372 | (math-read-expr-level, calc-check-user-syntax, math-read-factor): | ||
| 13373 | Replace calls to calc-extensions by appropriate require, replace | ||
| 13374 | calc-extensions-loaded by appropriate featurep. | ||
| 13375 | |||
| 13376 | * calc/calc-ext.el: Move require to end of file. Remove redundant | ||
| 13377 | loading of calc.el. | ||
| 13378 | (calc-extensions-loaded): Remove unnecessary variable. | ||
| 13379 | (calc-extensions): Remove unnecessary function. | ||
| 13380 | (calc-load-everything): Replace calc-need-macros by appropriate | ||
| 13381 | require. | ||
| 13382 | |||
| 13383 | * calc/calc-macs.el: Move provide to end of file. | ||
| 13384 | (calc-need-macros): Remove unnecessary function. | ||
| 13385 | |||
| 13386 | * calc/calc-misc.el (calc-do-handle-whys, calc-last-args-stub) | ||
| 13387 | (calc-missing-key, calc-shift-Y-prefix-help, math-concat) | ||
| 13388 | (math-trunc, math-floor, calcFunc-inv, math-mod, math-pow): | ||
| 13389 | Replace calc-extensions by appropriate require. | ||
| 13390 | (calc-power): Replace calc-extensions-loaded by appropriate featurep. | ||
| 13391 | |||
| 13392 | * calc/calc-prog.el (calc-user-define-formula, calc-do-defmath): | ||
| 13393 | Replace calc-need-macros by appropriate require. | ||
| 13394 | |||
| 13395 | * calc/calc.el: Move require to end of file. | ||
| 13396 | (calc-info-filename, calc-autoload-directory, calc-extensions-loaded): | ||
| 13397 | Remove unnecessary variable. | ||
| 13398 | (calc-do-dispatch, calc-mode, calc-check-defines, calc-create-buffer) | ||
| 13399 | (calc, calc-keypad, full-calc-keypad, calc-do, calc-normalize) | ||
| 13400 | (calc-binary-op, calc-unary-op, calcDigit-start, calcDigit-key) | ||
| 13401 | (math-normalize, math-add, math-mul, math-div, math-format-stack-value) | ||
| 13402 | (math-stack-value-offset, math-format-value, math-format-flat-expr) | ||
| 13403 | (math-format-number, math-format-bignum, math-read-number) | ||
| 13404 | (calc-grab-region, calc-grab-rectangle, calc-grab-sum-down) | ||
| 13405 | (calc-grab-sum-across, calc-embedded, defmath): Replace calc-extensions | ||
| 13406 | by appropriate require. | ||
| 13407 | (calc-check-defines): Replace calc-need-macros by appropriate require. | ||
| 13408 | |||
| 13409 | 2004-11-29 Kim F. Storm <storm@cua.dk> | ||
| 13410 | |||
| 13411 | * macros.el (insert-kbd-macro): Handle kmacro functions. | ||
| 13412 | |||
| 13413 | 2004-11-28 Juri Linkov <juri@jurta.org> | ||
| 13414 | |||
| 13415 | * compare-w.el (compare-windows-highlight): Attach each overlay | ||
| 13416 | to its window to properly highlight differences while comparing | ||
| 13417 | two windows of the same buffer. Fix arguments. | ||
| 13418 | (compare-windows-sync-default-function): Fix arguments of | ||
| 13419 | `compare-windows-highlight'. | ||
| 13420 | |||
| 13421 | * emacs-lisp/edebug.el (edebug-set-global-break-condition): | ||
| 13422 | Use `read-expression-history'. Set initial contents only if | ||
| 13423 | `edebug-global-break-condition' is non-nil. Set histpos to 1 | ||
| 13424 | if initial contents is equal to the last history element. | ||
| 13425 | (edebug-set-conditional-breakpoint): Instead of temporarily | ||
| 13426 | prepending the current condition to the history, set initial | ||
| 13427 | contents to the current condition. Set histpos to 1 if initial | ||
| 13428 | contents is equal to the last history element. | ||
| 13429 | |||
| 13430 | * info.el (Info-search-whitespace-regexp): Remove shy group. | ||
| 13431 | (Info-search): Forward line if search is on the header line. | ||
| 13432 | Use search-whitespace-regexp in two other places. | ||
| 13433 | |||
| 13434 | 2004-11-27 Luc Teirlinck <teirllm@auburn.edu> | ||
| 13435 | |||
| 13436 | * fringe.el (fringe-indicators): Add fake defvar to avoid compiler | ||
| 13437 | warning. Delay real definition, which uses | ||
| 13438 | `set-fringe-indicators-1' till after the definition of that function. | ||
| 13439 | |||
| 13440 | 2004-11-28 Kim F. Storm <storm@cua.dk> | ||
| 13441 | |||
| 13442 | * fringe.el (fringe): New defgroup. | ||
| 13443 | (fringe-mode): Move to fringe group. | ||
| 13444 | (fringe-indicators): New defcustom. | ||
| 13445 | (set-fringe-indicators-1): New defun. | ||
| 13446 | |||
| 13447 | * menu-bar.el (menu-bar-options-save): Add fringe-indicators. | ||
| 13448 | (menu-bar-showhide-fringe-ind-menu): New keymap. | ||
| 13449 | (menu-bar-showhide-fringe-ind-empty) | ||
| 13450 | (menu-bar-showhide-fringe-ind-mixed) | ||
| 13451 | (menu-bar-showhide-fringe-ind-box) | ||
| 13452 | (menu-bar-showhide-fringe-ind-right) | ||
| 13453 | (menu-bar-showhide-fringe-ind-left) | ||
| 13454 | (menu-bar-showhide-fringe-ind-none): New defuns. | ||
| 13455 | (menu-bar-showhide-fringe-menu): Add "Indicators" sub-menu. | ||
| 13456 | |||
| 13457 | 2004-11-27 Richard M. Stallman <rms@gnu.org> | ||
| 13458 | |||
| 13459 | * comint.el (comint-read-noecho): Add trivial compatibility definition. | ||
| 13460 | |||
| 13461 | * generic.el (define-generic-mode): Doc fix. | ||
| 13462 | |||
| 13463 | * menu-bar.el (menu-bar-options-save): For the options | ||
| 13464 | that are toggled with menu-bar-make-mm-toggle, don't check | ||
| 13465 | for customized-value prop. | ||
| 13466 | |||
| 13467 | 2004-11-27 Eli Zaretskii <eliz@gnu.org> | ||
| 13468 | |||
| 13469 | * mail/supercite.el (sc-cite-region): Handle the case where | ||
| 13470 | sc-cite-frame-alist is a symbol. | ||
| 13471 | (sc-uncite-region): Handle the case where sc-uncite-frame-alist is | ||
| 13472 | a symbol. | ||
| 13473 | (sc-recite-region): Handle the case where sc-recite-frame-alist is | ||
| 13474 | a symbol. | ||
| 13475 | |||
| 13476 | 2004-11-27 Arne J,Ax(Brgensen <arne@arnested.dk> (tiny change) | ||
| 13477 | |||
| 13478 | * wid-edit.el (widget-narrow-to-field): New function. | ||
| 13479 | (widget-complete): Use it. | ||
| 13480 | |||
| 13481 | 2004-11-27 Jay Belanger <belanger@truman.edu> | ||
| 13482 | |||
| 13483 | * calc/calc-aent.el (calc-eval-error): Declare and initialize the | ||
| 13484 | variable. | ||
| 13485 | (calc-eval-error): Don't check if the variable calc-eval-error is | ||
| 13486 | bound. | ||
| 13487 | (calc-buffer, calc-digit-value, math-expr-data): Declare them. | ||
| 13488 | (math-alg-inequalities): Move declaration to earlier in the file. | ||
| 13489 | |||
| 13490 | * calc/calc-ext.el (calc-command-flags, calc-gnuplot-buffer) | ||
| 13491 | (calc-gnuplot-input, math-normalize-a, math-integral-cache): | ||
| 13492 | Declare them. | ||
| 13493 | |||
| 13494 | * calc/calc-lang.el (math-expr-data, math-expr-token) | ||
| 13495 | (math-exp-old-pos): Declare them. | ||
| 13496 | |||
| 13497 | * calc/calc-vec.el (math-exp-pos, math-exp-str, math-exp-old-pos) | ||
| 13498 | (math-exp-token, math-exp-keep-spaces, math-expr-data): Declare them. | ||
| 13499 | |||
| 13500 | 2004-11-27 Kim F. Storm <storm@cua.dk> | ||
| 13501 | |||
| 13502 | * progmodes/flymake.el: Use (featurep 'xemacs). | ||
| 13503 | (flymake-makehash): Change to defsubst. Use fboundp. | ||
| 13504 | (flymake-time-to-float): Remove. | ||
| 13505 | (flymake-float-time): Merge code from flymake-time-to-float here. | ||
| 13506 | (flymake-replace-regexp-in-string): Change to defsubst. | ||
| 13507 | (flymake-split-string-remove-empty-edges): | ||
| 13508 | Rename to flymake-split-string. | ||
| 13509 | (flymake-split-string): Remove previous defalias. | ||
| 13510 | (flymake-get-temp-dir): Change to defsubst. | ||
| 13511 | (flymake-make-xemacs-menu, flymake-xemacs-window-edges): | ||
| 13512 | Define for xemacs only. | ||
| 13513 | (flymake-master-file-count-limit): Change into compiler defvar only. | ||
| 13514 | (flymake-find-possible-master-files): Let-bind it dynamically while | ||
| 13515 | sorting files using flymake-master-file-compare. | ||
| 13516 | |||
| 13517 | 2004-11-26 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 13518 | |||
| 13519 | * font-lock.el (font-lock-compile-keywords): Don't complain if the end | ||
| 13520 | of defun-prompt-regexp matches inside a comment/string but the | ||
| 13521 | beginning is correctly outside everything. | ||
| 13522 | |||
| 13523 | * progmodes/tcl.el (tcl-omit-ws-regexp): Avoid the case where { or [ | ||
| 13524 | appears within a string or a comment. | ||
| 13525 | |||
| 13526 | * emacs-lisp/cl-macs.el (cl-parse-loop-clause, labels): Use gensym | ||
| 13527 | rather than make-symbol for symbols which are used in | ||
| 13528 | a symbol-macrolet or equivalent. | ||
| 13529 | |||
| 13530 | 2004-11-26 Jay Belanger <belanger@truman.edu> | ||
| 13531 | |||
| 13532 | * calc-misc.el (calc-last-why-command): Declare it. | ||
| 13533 | |||
| 13534 | * calc-vec.el (math-grade-vec): New variable. | ||
| 13535 | (calcFunc-grade, calcFunc-rgrade, math-grade-beforep): | ||
| 13536 | Replace variable grade-vec by declared variable. | ||
| 13537 | (math-rb-close): New variable. | ||
| 13538 | (math-read-brackets, math-read-vector): Replace variable close by | ||
| 13539 | declared variable. | ||
| 13540 | |||
| 13541 | * calc/calc-yank.el (calc-original-buffer, calc-return-buffer) | ||
| 13542 | (calc-one-window, calc-edit-handler, calc-restore-trail) | ||
| 13543 | (calc-allow-ret): Declare them. | ||
| 13544 | |||
| 13545 | * calc/calc-stuff.el (calc-flush-caches): Remove unnecessary variables. | ||
| 13546 | (math-lud-cache, math-log2-cache, math-radix-digits-cache) | ||
| 13547 | (math-radix-float-cache-tag, math-random-cache) | ||
| 13548 | (math-max-digits-cache, math-integral-cache, math-units-table) | ||
| 13549 | (math-format-date-cache, math-holidays-cache-tag): Declare them. | ||
| 13550 | (math-moc-func): New variable. | ||
| 13551 | (math-map-over-constants, math-map-over-constants-rec): | ||
| 13552 | Replace variable func by declared variable. | ||
| 13553 | |||
| 13554 | * calc/calc-store.el (calc-given-value, calc-store-opers): | ||
| 13555 | Declare them. | ||
| 13556 | (calc-var-name-map): Move declaration to earlier in the file. | ||
| 13557 | (calc-pv-pos): New variable. | ||
| 13558 | (calc-permanent-variable, calc-insert-permanent-variable): | ||
| 13559 | Replace variable pos by declared variable. | ||
| 13560 | |||
| 13561 | * calc/calc-mtx.el (calc-det-lu): New variable. | ||
| 13562 | (math-det-raw, math-det-step): Replace variable lu by declared | ||
| 13563 | variable. | ||
| 13564 | |||
| 13565 | * calc/calc-map.el (math-ms-temp, math-ms-args): New variables. | ||
| 13566 | (math-multi-subst, math-multi-subst-rec): Replace variables temp | ||
| 13567 | and arg by declared variables. | ||
| 13568 | (calcFunc-reducer): Fix incorrect variable. | ||
| 13569 | (math-inner-mul-func, math-inner-add-func): New variables. | ||
| 13570 | (calcFunc-inner, math-inner-mats): Replace variables mul-func | ||
| 13571 | and add-func by declared variables. | ||
| 13572 | |||
| 13573 | * calc/calc-incom.el (calc-prev-char, calc-prev-prev-char) | ||
| 13574 | (calc-digit-value): Declare them. | ||
| 13575 | |||
| 13576 | * calc/calc-help.el (Info-history): Declare it. | ||
| 13577 | (calc-describe-key): Make calc-summary-indentation a local variable. | ||
| 13578 | (calc-help-long-names): Move declaration to earlier in file. | ||
| 13579 | |||
| 13580 | * calc/calc-embed.el (calc-original-buffer): Declare it. | ||
| 13581 | (calc-embed-outer-top, calc-embed-outer-bot, calc-embed-top) | ||
| 13582 | (calc-embed-bot): New variables. | ||
| 13583 | (calc-do-embedded, calc-embedded-mark-formula) | ||
| 13584 | (calc-embedded-find-bounds, calc-embedded-duplicate) | ||
| 13585 | (calc-embedded-new-formula, calc-embedded-make-info): | ||
| 13586 | Replace vars outer-top, outer-bot, bot and top by declared variables. | ||
| 13587 | (calc-embed-prev-modes): New variable. | ||
| 13588 | (calc-embedded-set-modes, calc-embedded-update): Replace variable | ||
| 13589 | prev-modes with declared variable. | ||
| 13590 | (calc-embed-vars-used): New variable. | ||
| 13591 | (calc-embedded-make-info, calc-embedded-evaluate-expr) | ||
| 13592 | (calc-embedded-update, calc-embedded-find-vars): Replace variable | ||
| 13593 | vars-used by declared variable. | ||
| 13594 | |||
| 13595 | * calc/calc-bin.el (math-format-radix-float): Make pos a local | ||
| 13596 | variable. | ||
| 13597 | (math-format-radix-float): Remove unnecessary setq. | ||
| 13598 | (math-radix-float-cache): Declare it. | ||
| 13599 | |||
| 13600 | * calc/calcsel2.el (calc-keep-selection): Declare it. | ||
| 13601 | |||
| 13602 | * calc/calc-maint.el: Remove file. | ||
| 13603 | |||
| 13604 | 2004-11-26 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de> | ||
| 13605 | |||
| 13606 | * textmodes/bibtex.el (bibtex-sort-entry-class) | ||
| 13607 | (bibtex-comment-start): Use defcustom. | ||
| 13608 | (bibtex-entry-field-alist): Use nil if initial content of the | ||
| 13609 | field is undefined. Fix docstring. | ||
| 13610 | (bibtex-parse-keys-timeout, bibtex-autokey-additional-names) | ||
| 13611 | (bibtex-generate-autokey, bibtex-parse-buffers-stealthily) | ||
| 13612 | (bibtex-mode, bibtex-field-list, bibtex-entry-updat) | ||
| 13613 | (bibtex-autofill-entry, bibtex-entry-index, bibtex-next-field): | ||
| 13614 | Fix docstring. | ||
| 13615 | (bibtex-autokey-title-terminators): Use only one regexp. | ||
| 13616 | (bibtex-string-maybe-empty-head): New variable. | ||
| 13617 | (bibtex-remove-delimiters-string): New function. | ||
| 13618 | (bibtex-text-in-field-bounds, bibtex-text-in-string): | ||
| 13619 | Use bibtex-remove-delimiters-string. | ||
| 13620 | (bibtex-progress-message, bibtex-field-left-delimiter) | ||
| 13621 | (bibtex-field-right-delimiter, bibtex-entry-left-delimiter) | ||
| 13622 | (bibtex-entry-right-delimiter, bibtex-search-entry): Use eq. | ||
| 13623 | (bibtex-insert-kill): Rename from `bibtex-insert-current-kill'. | ||
| 13624 | Simplify. | ||
| 13625 | (bibtex-format-entry): Use save-excursion for inherited booktitle. | ||
| 13626 | Use eq and bibtex-remove-delimiters-string. For end markers use | ||
| 13627 | insertion type so that marker stays after inserted text. | ||
| 13628 | (bibtex-autokey-get-names): Return empty string if name is missing. | ||
| 13629 | (bibtex-autokey-demangle-name): Call bibtex-autokey-abbrev before | ||
| 13630 | calling bibtex-autokey-name-case-convert. | ||
| 13631 | (bibtex-autokey-demangle-title): | ||
| 13632 | Call bibtex-autokey-titleword-case-convert. Remove call to | ||
| 13633 | bibtex-autokey-titleword-case-convert from bibtex-autokey-get-title. | ||
| 13634 | (bibtex-global-key-alist, bibtex-read-string-key): New functions. | ||
| 13635 | (bibtex-read-key): New optional arg global. | ||
| 13636 | (bibtex-files-expand): New optional arg force. | ||
| 13637 | (bibtex-complete-string-cleanup): Expansion of abbrev can be absent. | ||
| 13638 | (bibtex-complete-crossref-cleanup): Rename from | ||
| 13639 | bibtex-complete-key-cleanup. Simplify code. | ||
| 13640 | (bibtex-copy-summary-as-kill): Remove arg key. Use looking-at. | ||
| 13641 | Operate on current entry. | ||
| 13642 | (bibtex-button): Add docstring. | ||
| 13643 | (bibtex-entry): Simplify. | ||
| 13644 | (bibtex-make-field): Replace optional arg called-by-yank with more | ||
| 13645 | specific args move and interactive. | ||
| 13646 | (bibtex-end-of-entry): Use forward-sexp. | ||
| 13647 | (bibtex-find-entry-globally): Remove. | ||
| 13648 | (bibtex-find-crossref): Allow for crossref key located in other buffer. | ||
| 13649 | Bound to C-c C-x. | ||
| 13650 | (bibtex-find-entry): New optional args global and display. | ||
| 13651 | (bibtex-find-text): Fix docstring. Remove arg as-if-interactive. | ||
| 13652 | (bibtex-validate): Use arg force of bibtex-files-expand. | ||
| 13653 | (bibtex-clean-entry): Bugfix, clean string entries properly. | ||
| 13654 | Always keep point at beginning of entry. | ||
| 13655 | (bibtex-complete): Bugfix. Handle string entries properly. | ||
| 13656 | Call cleanup functions only if needed. | ||
| 13657 | (bibtex-String): Use bibtex-read-string-key. | ||
| 13658 | (bibtex-url): Use bibtex-remove-delimiters-string. Do not alter | ||
| 13659 | case of replacement text. | ||
| 13660 | |||
| 13661 | 2004-11-26 Lars Hansen <larsh@math.ku.dk> | ||
| 13662 | |||
| 13663 | * tramp.el (tramp-handle-directory-files-and-attributes): New function. | ||
| 13664 | (tramp-perl-directory-files-and-attributes): New constant. | ||
| 13665 | (tramp-file-name-handler-alist): Delete file-directory-files, add | ||
| 13666 | directory-files-and-attributes. | ||
| 13667 | (tramp-perl-file-attributes): Surround uid and gid by double | ||
| 13668 | quotes. Change parameter id-format from nonnumeric. | ||
| 13669 | (tramp-convert-file-attributes): New function. | ||
| 13670 | (tramp-handle-file-attributes): Use it. | ||
| 13671 | (tramp-maybe-send-perl-script): New function. | ||
| 13672 | (tramp-handle-file-attributes-with-perl): Use it. Don't convert | ||
| 13673 | file mode. Change parameter id-format from nonnumeric. | ||
| 13674 | (tramp-handle-file-attributes-with-ls): Change parameter id-format | ||
| 13675 | from nonnumeric. | ||
| 13676 | (tramp-post-connection): Don't send tramp-perl-file-attributes | ||
| 13677 | script. Reset connection property "perl-scripts". | ||
| 13678 | (tramp-handle-insert-directory): Run real handler when ls-lisp is | ||
| 13679 | in use. | ||
| 13680 | |||
| 13681 | 2004-11-26 Lars Hansen <larsh@math.ku.dk> | ||
| 13682 | |||
| 13683 | * desktop.el (desktop-read): Replace mapcar with mapc. | ||
| 13684 | (desktop-create-buffer): Replace mapcar with mapc. | ||
| 13685 | Remove redundant piece of code. | ||
| 13686 | |||
| 13687 | 2004-11-27 Nick Roberts <nickrob@snap.net.nz> | ||
| 13688 | |||
| 13689 | * progmodes/gud.el (gud-display-line): Use display-buffer | ||
| 13690 | for GDB-UI as for GUD. | ||
| 13691 | |||
| 13692 | * progmodes/gdb-ui.el (gdb-view-source, gdb-selected-view): | ||
| 13693 | Delete variables. | ||
| 13694 | (gdb-ann3): Don't make GUD buffer dedicated. | ||
| 13695 | (gdb-goto-breakpoint, gdb-display-buffer): Don't always dedicate. | ||
| 13696 | (gdb-display-source-buffer): Delete function. | ||
| 13697 | (gdb-view-source-function, gdb-view-assembler): Delete functions. | ||
| 13698 | (menu): Delete menu bindings for viewing source/assembler. | ||
| 13699 | (gdb-setup-windows, gdb-restore-windows): | ||
| 13700 | Don't dedicate GUD. No assembler now. | ||
| 13701 | (gdb-reset): No need to undedicate source buffers now. | ||
| 13702 | (gdb-source-info): No assembler now. | ||
| 13703 | |||
| 13704 | 2004-11-26 Nick Roberts <nickrob@snap.net.nz> | ||
| 13705 | |||
| 13706 | * progmodes/gdb-ui.el (gdb-frame-parameters): Match height and | ||
| 13707 | width to those for special frames. | ||
| 13708 | (gdb-frame-breakpoints-buffer): Use gdb-frame-parameters. | ||
| 13709 | Use display-buffer. | ||
| 13710 | (gdb-frame-stack-buffer, gdb-frame-threads-buffer) | ||
| 13711 | (gdb-frame-registers-buffer, gdb-frame-locals-buffer) | ||
| 13712 | (gdb-frame-assembler-buffer): Rework like | ||
| 13713 | gdb-frame-breakpoints-buffer. | ||
| 13714 | |||
| 13715 | 2004-11-25 Richard M. Stallman <rms@gnu.org> | ||
| 13716 | |||
| 13717 | * progmodes/flymake.el: Reindent. | ||
| 13718 | (flymake-split-string): Turn into defalias. | ||
| 13719 | (flymake-fix-file-name): Rename from flymake-fix-path-name. | ||
| 13720 | (flymake-ensure-ends-with-slash): Rename arg to FILENAME. | ||
| 13721 | (flymake-get-common-file-prefix): Rename from ...path... Doc fix. | ||
| 13722 | (flymake-build-relative-filename): Rename from ...path. | ||
| 13723 | Fix error message. | ||
| 13724 | |||
| 13725 | 2004-11-25 Cheng Gao <chenggao@gmail.com> | ||
| 13726 | |||
| 13727 | * progmodes/flymake.el: Much whitespace and capitalization change. | ||
| 13728 | Move `provide' to end. Require `compile' only when compiling. | ||
| 13729 | |||
| 13730 | 2004-11-24 Jay Belanger <belanger@truman.edu> | ||
| 13731 | |||
| 13732 | * calc/calc-alg.el: Added comment. | ||
| 13733 | (math-polynomial-base): Replace variable mpb-top-expr by | ||
| 13734 | math-poly-base-top-expr. | ||
| 13735 | |||
| 13736 | * calc/calc-poly.el (math-poly-base-top-expr): New variable. | ||
| 13737 | (math-polynomial-p1): Replace variable mpb-top-expr by declared | ||
| 13738 | variable. | ||
| 13739 | (math-poly-base-total-base): New variable. | ||
| 13740 | (math-total-polynomial-base, math-polynomial-p1): Replace variable | ||
| 13741 | mpb-total-base by declared variable. | ||
| 13742 | (math-factored-vars, math-to-list): Declare it. | ||
| 13743 | (math-fact-expr): New variable. | ||
| 13744 | (calcFunc-factors, calcFunc-factor, math-factor-expr) | ||
| 13745 | (math-factor-expr-try, math-factor-expr-part): Replace variable | ||
| 13746 | expr by declared variable. | ||
| 13747 | (math-fet-x): New variable. | ||
| 13748 | (math-factor-expr-try, math-factor-poly-coefs): Replace variable x | ||
| 13749 | by declared variable. | ||
| 13750 | (math-factor-poly-coefs): Make temp a local variable. | ||
| 13751 | |||
| 13752 | * calc/calc-units.el (calc-convert-units): Make units a local | ||
| 13753 | variable. | ||
| 13754 | (calc-num-units, calc-den-units): New variables. | ||
| 13755 | (calc-explain-units, calc-explain-units-rec): Replace variables | ||
| 13756 | num-units and den-units by declared variables. | ||
| 13757 | (math-cu-unit-list): New variable. | ||
| 13758 | (math-build-units-table, math-compare-unit-names) | ||
| 13759 | (math-convert-units, math-convert-units-rec): Replace variable | ||
| 13760 | unit-list by declared variable. | ||
| 13761 | (math-fbu-base, math-fbu-entry): New variables. | ||
| 13762 | (math-find-base-units, math-find-base-units-rec): Replace variables | ||
| 13763 | base and entry by declared variables. | ||
| 13764 | (math-which-standard): New variable. | ||
| 13765 | (math-to-standard-units, math-to-standard-rec): Replace variable | ||
| 13766 | which-standard by declared variable. | ||
| 13767 | (math-fcu-u): New variable. | ||
| 13768 | (math-find-compatible-unit, math-find-compatible-unit-rec): | ||
| 13769 | Replace variable u by declared variable. | ||
| 13770 | (math-cu-new-units, math-cu-pure): New variables. | ||
| 13771 | (math-convert-units, math-convert-units-rec): Replace variables | ||
| 13772 | new-units and pure by declared variables. | ||
| 13773 | (math-try-cancel-units): New variable. | ||
| 13774 | (math-simplify-units-quotient): Replace variable try-cancel-units by | ||
| 13775 | declared variable. | ||
| 13776 | |||
| 13777 | 2004-11-24 Richard M. Stallman <rms@gnu.org> | ||
| 13778 | |||
| 13779 | * textmodes/ispell.el (ispell-check-version): | ||
| 13780 | If default-directory is nonexistent, use home dir. | ||
| 13781 | |||
| 13782 | * progmodes/grep.el (grep-regexp-alist): | ||
| 13783 | Don't match parens around line numbers. | ||
| 13784 | |||
| 13785 | * progmodes/cperl-mode.el (cperl-indent-region) | ||
| 13786 | (cperl-imenu--create-perl-index, cperl-xsub-scan): | ||
| 13787 | Don't print progress messages. | ||
| 13788 | |||
| 13789 | * progmodes/compile.el (compilation-mode-map): | ||
| 13790 | Don't inherit from compilation-minor-mode-map; | ||
| 13791 | copy its bindings instead. But the menu bar Compile | ||
| 13792 | entry now does inherit from compilation-menu-map. | ||
| 13793 | |||
| 13794 | * emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): | ||
| 13795 | Use with-no-warnings around compiler-macroexpand. | ||
| 13796 | |||
| 13797 | * imenu.el: Don't always require newcomment. | ||
| 13798 | (imenu--generic-function): Call comment-normalize-vars | ||
| 13799 | if we have a comment syntax. | ||
| 13800 | Exit the loop if REGEXP matches the null string. | ||
| 13801 | Test comment-start as well as comment-start-skip | ||
| 13802 | when deciding whether to check for comments. | ||
| 13803 | |||
| 13804 | * tooltip.el (tooltip-mode): Doc fix. | ||
| 13805 | |||
| 13806 | * term.el (term-escape-char, term-mode): Doc fixes. | ||
| 13807 | |||
| 13808 | 2004-11-24 Dave Love <fx@gnu.org> | ||
| 13809 | |||
| 13810 | * progmodes/python.el (python-font-lock-syntactic-keywords): | ||
| 13811 | Check for escapes in the regexp. | ||
| 13812 | (python-quote-syntax): Don't do it here. | ||
| 13813 | |||
| 13814 | 2004-11-24 Nick Roberts <nickrob@snap.net.nz> | ||
| 13815 | |||
| 13816 | * progmodes/gdb-ui.el (gdb-breakpoints-mode-map) | ||
| 13817 | (gdb-frames-mode-map, gdb-threads-mode-map) | ||
| 13818 | (gdb-registers-mode-map, gdb-locals-mode-map) | ||
| 13819 | (gdb-assembler-mode-map): Bind "q" to kill-this-buffer. | ||
| 13820 | (gdb-set-window-buffer): Rename from dedicated-switch-to-buffer. | ||
| 13821 | |||
| 13822 | Suggested by Stefan Monnier <monnier@iro.umontreal.ca>: | ||
| 13823 | (dedicated-switch-to-buffer): Rework. | ||
| 13824 | (gdb-var-evaluate-expression-handler, gdb-put-string): | ||
| 13825 | Remove unused variable bindings. | ||
| 13826 | (gdb-setup-windows, gdb-display-buffer): | ||
| 13827 | Simplify. Use pop-to-buffer. | ||
| 13828 | (gdb-view-source-function): Simplify. | ||
| 13829 | (gdb-frame-breakpoints-buffer): | ||
| 13830 | Use pop-to-buffer, special-display-regexps. | ||
| 13831 | |||
| 13832 | 2004-11-24 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 13833 | |||
| 13834 | * progmodes/f90.el (f90-smart-end) | ||
| 13835 | (f90-previous-statement, f90-beginning-of-block): Doc fix. | ||
| 13836 | (f90-calculate-indent): Handle un-named PROGRAM blocks. | ||
| 13837 | (f90-end-of-block): Doc fix. Make check of outermost block | ||
| 13838 | conditional on value of `f90-smart-end'. | ||
| 13839 | (f90-block-match): Hack to deal with un-named PROGRAM blocks. | ||
| 13840 | Handle case where END-BLOCK is nil. | ||
| 13841 | (f90-match-end): Handle un-named PROGRAM blocks. | ||
| 13842 | (f90-backslash-not-special): New function. | ||
| 13843 | |||
| 13844 | 2004-11-24 Jay Belanger <belanger@truman.edu> | ||
| 13845 | |||
| 13846 | * calc/calc.el (calc-embedded-active): Removed unnecessary | ||
| 13847 | declaration. | ||
| 13848 | (calc-show-banner): Removed redundant declaration. | ||
| 13849 | |||
| 13850 | * calc/calc-graph.el (calc-gnuplot-default-device) | ||
| 13851 | (calc-gnuplot-default-output, calc-gnuplot-print-device) | ||
| 13852 | (calc-gnuplot-print-output, calc-gnuplot-geometry) | ||
| 13853 | (calc-graph-default-resolution, calc-graph-default-resolution-3d): | ||
| 13854 | Remove redundant initial values. | ||
| 13855 | |||
| 13856 | * calc/calc-arith.el (math-scalar-functions) | ||
| 13857 | (math-nonscalar-functions, math-scalar-if-args-functions) | ||
| 13858 | (math-real-functions, math-positive-functions) | ||
| 13859 | (math-nonnegative-functions, math-real-scalar-functions) | ||
| 13860 | (math-real-if-arg-functions, math-integer-functions) | ||
| 13861 | (math-num-integer-functions, math-rounding-functions) | ||
| 13862 | (math-float-rounding-functions, math-integer-if-args-functions) | ||
| 13863 | (math-super-types): Move declarations to earlier in file. | ||
| 13864 | (math-unit-prefixes): Declared it. | ||
| 13865 | (math-floor-prec, math-trunc-prec): New variables. | ||
| 13866 | (math-trunc-fancy): Replace variable prec by declared variable. | ||
| 13867 | (math-floor-fancy): Replace variable prec by declared variable. | ||
| 13868 | (math-com-bterms): New variable. | ||
| 13869 | (math-commutative-equal, math-commutative-collect): | ||
| 13870 | Replace variable bterms by declared variable. | ||
| 13871 | |||
| 13872 | * calc/calc-misc.el (math-trunc): Replace variable prec by | ||
| 13873 | math-trunc-prec. | ||
| 13874 | (math-floor): Replace variable prec by math-floor-prec. | ||
| 13875 | |||
| 13876 | * calc/calc-forms.el (math-fd-date, math-fd-dt, math-fd-year) | ||
| 13877 | (math-fd-month, math-fd-day, math-fd-weekday, math-fd-hour) | ||
| 13878 | (math-fd-minute, math-fd-second, math-fd-bc-flag): New variables. | ||
| 13879 | (math-format-date, math-format-date-part): Replace variables | ||
| 13880 | date, dt, year, month, day, weekday, hour, minute, second and | ||
| 13881 | bc-flag by declared variables. | ||
| 13882 | (math-pd-str): New variable. | ||
| 13883 | (math-parse-date, math-parse-date-word, math-parse-standard-date): | ||
| 13884 | Replace variable str by declared variable. | ||
| 13885 | (math-daylight-savings-hook, math-tzone-names): Move definitions | ||
| 13886 | to earlier in the file. | ||
| 13887 | (var-TimeZone, math-exp-str, math-exp-pos): Declare them. | ||
| 13888 | (math-sh-year): New variable. | ||
| 13889 | (math-setup-add-holidays, math-setup-holidays) | ||
| 13890 | (math-setup-year-holidays): Replace variable `year' by declared | ||
| 13891 | variable. | ||
| 13892 | |||
| 13893 | * calc/calc-math.el (math-nrf-n, math-nrf-nf, math-nrf-nfm1): | ||
| 13894 | New variables. | ||
| 13895 | (math-nth-root-float, math-nth-root-float-iter): Replace variables | ||
| 13896 | n, nf and nfm1 by declared variables. | ||
| 13897 | (math-nri-n): New variable. | ||
| 13898 | (math-nth-root-integer, math-nth-root-int-iter): Replace variable | ||
| 13899 | n by declared variable. | ||
| 13900 | (calcFunc-log): Removed misplaced condition. | ||
| 13901 | |||
| 13902 | 2004-11-24 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 13903 | |||
| 13904 | * generic.el (generic-mode-set-comments): Accept an empty comment-end. | ||
| 13905 | |||
| 13906 | 2004-11-24 Nick Roberts <nickrob@snap.net.nz> | ||
| 13907 | |||
| 13908 | * progmodes/gdb-ui.el (dedicated-switch-to-buffer): New function. | ||
| 13909 | (gdb-ann3, gdb-setup-windows, gdb-restore-windows): | ||
| 13910 | Dedicate gdb-related windows. | ||
| 13911 | (gdb-display-buffer): Dedicate gdb-related windows. | ||
| 13912 | Don't grab other frames. | ||
| 13913 | (gdb-reset): Remove dedicated property after debugging. | ||
| 13914 | |||
| 13915 | 2004-11-24 Jay Belanger <belanger@truman.edu> | ||
| 13916 | |||
| 13917 | * calc/calc-sel.el: Add comment. | ||
| 13918 | |||
| 13919 | * calc/calc.el (math-stack-value-offset): Replace variables c, | ||
| 13920 | wid and off with math-svo-c, math-svo-wid and math-svo-off. | ||
| 13921 | |||
| 13922 | * calc/calccomp.el (math-comp-sel-tag): Declare it. | ||
| 13923 | (math-svo-c, math-svo-wid, math-svo-off): New variables. | ||
| 13924 | (math-stack-value-offset-fancy): Replace variables c, wid and off | ||
| 13925 | by declared variables. | ||
| 13926 | (math-comp-just, math-comp-comma-spc): New variables. | ||
| 13927 | (math-compose-expr, math-compose-matrix): Replace variables `just' | ||
| 13928 | and comma-spc by declared variable. | ||
| 13929 | (math-comp-vector-prec): New variable. | ||
| 13930 | (math-compose-expr, math-compose-matrix, math-compose-rows): | ||
| 13931 | Replace variable vector-prec by declared variable. | ||
| 13932 | (math-comp-left-bracket, math-comp-right-bracket) | ||
| 13933 | (math-comp-comma): New variables. | ||
| 13934 | (math-compose-expr, math-compose-rows): Replace variables | ||
| 13935 | left-bracket, right-bracket and comma by declared variables. | ||
| 13936 | (math-comp-full-width): New variable. | ||
| 13937 | (math-comp-to-string-flat, math-comp-to-string-flat-term): | ||
| 13938 | Replace variable full-width by declared variable. | ||
| 13939 | (math-comp-highlight, math-comp-word, math-comp-level) | ||
| 13940 | (math-comp-margin, math-comp-pos, math-comp-buf, math-comp-base) | ||
| 13941 | (math-comp-hgt, math-comp-tag, math-comp-hpos, math-comp-vpos): | ||
| 13942 | New variables. | ||
| 13943 | (math-comp-to-string-flat, math-comp-to-string-flat-term) | ||
| 13944 | (math-comp-sel-flat-term): Replace variables comp-highlight, | ||
| 13945 | comp-word, comp-level, comp-margin, comp-pos and comp-buf by | ||
| 13946 | declared variables. | ||
| 13947 | (math-comp-simplify, math-comp-simplify-term) | ||
| 13948 | (math-comp-add-string, math-comp-add-string-sel): | ||
| 13949 | Replace variables comp-highlight, comp-buf, comp-base, | ||
| 13950 | comp-height, comp-tag, comp-hpos and comp-vpos by declared variables. | ||
| 13951 | |||
| 13952 | 2004-11-23 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 13953 | |||
| 13954 | * cus-start.el (all): Add x-use-old-gtk-file-dialog. | ||
| 13955 | |||
| 13956 | * mail/emacsbug.el (report-emacs-bug): Catch error that x-server-vendor | ||
| 13957 | and x-server-version may throw. | ||
| 13958 | |||
| 13959 | 2004-11-23 Kim F. Storm <storm@cua.dk> | ||
| 13960 | |||
| 13961 | * subr.el (substitute-key-definition-key): Optimize. | ||
| 13962 | Don't call indirect-function for nil defn (always signals error). | ||
| 13963 | |||
| 13964 | * ido.el (ido-read-internal): Fix require-match check when | ||
| 13965 | ido-directory-too-big is set. | ||
| 13966 | |||
| 13967 | 2004-11-23 Jay Belanger <belanger@truman.edu> | ||
| 13968 | |||
| 13969 | * calc/calc-ext.el (math-read-replacement-list) | ||
| 13970 | (math-read-superscripts): New variables. | ||
| 13971 | (math-read-preprocess-string): New function. | ||
| 13972 | (math-read-expr): Filter input through math-read-preprocess-string. | ||
| 13973 | |||
| 13974 | * calc/calc-aent.el (math-read-exprs): Filter input through | ||
| 13975 | math-read-preprocess-string. | ||
| 13976 | |||
| 13977 | 2004-11-23 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 13978 | |||
| 13979 | * progmodes/compile.el (compilation-start): In cd command use | ||
| 13980 | substitute-env-vars -- not quite shell compatible but better than | ||
| 13981 | nothing. | ||
| 13982 | (compilation-error-regexp-alist-alist): Simplify ftnchek to only | ||
| 13983 | handle the newer versions messages, which are more parseable. | ||
| 13984 | |||
| 13985 | 2004-11-22 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 13986 | |||
| 13987 | * reveal.el (reveal-mode-map): New var. | ||
| 13988 | (reveal-mode): Use it. | ||
| 13989 | |||
| 13990 | 2004-11-23 Nick Roberts <nickrob@snap.net.nz> | ||
| 13991 | |||
| 13992 | * progmodes/gdb-ui.el (gdb-flush-pending-output): New variable. | ||
| 13993 | (gdb-send-item, gdb-resync, gud-gdba-marker-filter): Use it. | ||
| 13994 | |||
| 13995 | 2004-11-22 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 13996 | |||
| 13997 | * buff-menu.el (list-buffers-noselect): Re-add the leading space in the | ||
| 13998 | header-line when needed. | ||
| 13999 | Use fixed-pitch only in the header-line. | ||
| 14000 | Build the underline automatically. Use emdash if available. | ||
| 14001 | |||
| 14002 | 2004-11-22 Richard M. Stallman <rms@gnu.org> | ||
| 14003 | |||
| 14004 | * dired.el (dired-recursive-copies): Move from dired-aux.el. | ||
| 14005 | * dired-aux.el (dired-recursive-copies): Move to dired.el. | ||
| 14006 | |||
| 14007 | 2004-11-22 Nick Roberts <nickrob@snap.net.nz> | ||
| 14008 | |||
| 14009 | * progmodes/gdb-ui.el (gdb-resync): New function. | ||
| 14010 | (gdb-pre-prompt, gdb-prompt, gdb-starting, gdb-stopping) | ||
| 14011 | (gdb-frame-begin, gdb-stopped, gdb-post-prompt): | ||
| 14012 | Use it to fail more gracefully. | ||
| 14013 | (gdb-variables): Delete variable. | ||
| 14014 | Re-order variables to reduce byte-compiler warnings. | ||
| 14015 | |||
| 14016 | 2004-11-22 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 14017 | |||
| 14018 | * descr-text.el (describe-char): | ||
| 14019 | * paren.el (show-paren-function): | ||
| 14020 | * subr.el (syntax-after): Undo last change. | ||
| 14021 | |||
| 14022 | * progmodes/python.el (run-python): Don't hard code *Python*. | ||
| 14023 | Don't modify global process-environment. | ||
| 14024 | (python-send-region, python-load-file): Don't assume that | ||
| 14025 | python-buffer == (process-buffer (python-proc)). | ||
| 14026 | (python-switch-to-python): Simplify. | ||
| 14027 | |||
| 14028 | * dired.el (dired-align-file): Don't assume line starts with spaces. | ||
| 14029 | |||
| 14030 | 2004-11-21 Jay Belanger <belanger@truman.edu> | ||
| 14031 | |||
| 14032 | * calc/calc-ext.el (math-read-big-expr, math-read-big-bigp): | ||
| 14033 | Replace variable `lines' by math-read-big-lines. | ||
| 14034 | (math-read-big-expr): Replace variables the-baseline, the-h2 | ||
| 14035 | and err-msg by math-read-big-baseline, math-read-big-h2 and | ||
| 14036 | math-read-err-msg. | ||
| 14037 | (math-read-big-bigp): Replace variable h2 with math-rb-h2. | ||
| 14038 | |||
| 14039 | * calc/calc-lang.el (math-read-big-rec): Fix typo. | ||
| 14040 | (math-read-big-balance): Replace unbound variable by value. | ||
| 14041 | (math-read-big-lines): New variable. | ||
| 14042 | (math-read-big-rec, math-read-big-char, math-read-big-emptyp) | ||
| 14043 | (math-read-big-error, math-read-big-balance): Replace variable | ||
| 14044 | `lines' by declared variable. | ||
| 14045 | (math-read-big-baseline, math-read-big-h2): New variables. | ||
| 14046 | (math-read-big-rec): Replace variables the-baseline and the-h2 | ||
| 14047 | by declared variables. | ||
| 14048 | (math-rb-h1, math-rb-h2, math-rb-v1, math-rb-v2): New variables. | ||
| 14049 | (math-read-big-rec, math-read-big-char, math-read-big-emptyp) | ||
| 14050 | (math-read-big-balance): Replace variables h1, h2, v1 and v2 by | ||
| 14051 | declared variables. | ||
| 14052 | (math-read-big-err-msg): New variable. | ||
| 14053 | (math-read-big-error): Replace variable err-msg by declared variable. | ||
| 14054 | |||
| 14055 | 2004-11-21 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 14056 | |||
| 14057 | * ses.el: Add coding cookie. | ||
| 14058 | Fix up docstrings, follow new commenting conventions. | ||
| 14059 | (ses-header-line-menu): Fix missing variable rename for header-row. | ||
| 14060 | (ses-cell-size): Remove. | ||
| 14061 | (ses-make-cell): New function. | ||
| 14062 | (ses-cell, ses-insert-row, ses-insert-column): Use it. | ||
| 14063 | (ses-calculate-cell): Remove unused var `symbol'. | ||
| 14064 | (ses-narrowed-p): New function. | ||
| 14065 | (ses-goto-data, undo-more, ses-reconstruct-all): Use it. | ||
| 14066 | (ses-initial-file-trailer): Change ;;; to ;; for local vars. | ||
| 14067 | (ses-load, ses-reconstruct-all): Adjust string search accordingly. | ||
| 14068 | (ses-setup): Use restore-buffer-modified-p. | ||
| 14069 | (ses-cleanup): Remove unused var `end'. | ||
| 14070 | (ses-header-string-left-offset): Remove. | ||
| 14071 | (ses-create-header-string): Adjust to new behavior of `align-to'. | ||
| 14072 | Truncate excessively large fields to preserve alignment. | ||
| 14073 | (ses-reconstruct-all): Remove unused var `refs'. | ||
| 14074 | (ses-read-cell-printer): Remove unused var `prompt'. | ||
| 14075 | (ses-delete-row): Remove unused var `pos'. | ||
| 14076 | (ses-delete-column): Remove unused var `new'. | ||
| 14077 | |||
| 14078 | 2004-11-21 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 14079 | |||
| 14080 | * ps-print.el: Insert :version tag into all defgroup and defcustom. | ||
| 14081 | Use (featurep 'xemacs) instead of (eq ps-print-emacs-type 'xemacs). | ||
| 14082 | Eliminate eval-and-compile usage. | ||
| 14083 | (ps-insert-file): Use insert-file-contents instead of insert-file. | ||
| 14084 | (ps-setup): Code fix. | ||
| 14085 | |||
| 14086 | * printing.el (pr-setup, lpr-setup): Code fix. | ||
| 14087 | |||
| 14088 | 2004-11-21 Jay Belanger <belanger@truman.edu> | ||
| 14089 | |||
| 14090 | * calc/calc-prog.el (math-integral-cache-state, calc-lang) | ||
| 14091 | (calc-original-buffer): Declare them. | ||
| 14092 | (calc-user-formula-alist): New variable. | ||
| 14093 | (calc-user-define-formula, calc-fix-user-formula) | ||
| 14094 | (calc-user-define-composition, calc-finish-formula-edit): | ||
| 14095 | Replace variable `alist' by declared variable. | ||
| 14096 | (var-q0, var-q1, var-q2, var-q3, var-q4, var-q5, var-q6) | ||
| 14097 | (var-q7, var-q7, var-q8, var-q9): Declare them. | ||
| 14098 | (calc-kbd-push): Don't check to see if var-q0 through var-q9 | ||
| 14099 | are bound. | ||
| 14100 | (calcFunc-typeof): Replace undeclared variable by expression. | ||
| 14101 | (math-exp-env): New variable. | ||
| 14102 | (math-define-body, math-define-exp): Replace exp-env by declared var. | ||
| 14103 | (math-define-exp): Replace misplaced variable by expression. | ||
| 14104 | |||
| 14105 | * calc/calcalg3.el (calc-curve-nvars, calc-curve-varnames) | ||
| 14106 | (calc-curve-model, calc-curve-coefnames): New variables. | ||
| 14107 | (calc-curve-fit, calc-get-fit-variables): Replace variables nvars, | ||
| 14108 | varnames, model and coefnames by declared variables. | ||
| 14109 | (math-root-widen): New variable. | ||
| 14110 | (math-search-root, math-find-root): Replace variable root-widen by | ||
| 14111 | declared variable. | ||
| 14112 | (var-DUMMY): Declare it. | ||
| 14113 | (math-root-vars, math-min-vars): Move the declarations to earlier in | ||
| 14114 | the file. | ||
| 14115 | (math-brent-min): Make d a local variable. | ||
| 14116 | (math-find-minimum): Replace non-existent variable. | ||
| 14117 | (math-ninteg-romberg): Remove unnecessary variable. | ||
| 14118 | (math-ninteg-temp): New variable. | ||
| 14119 | (math-ninteg-romberg, math-ninteg-midpoint): Replace variable | ||
| 14120 | integ-temp by declared variable. | ||
| 14121 | (math-fit-first-var, math-fit-first-coef, math-fit-new-coefs): | ||
| 14122 | New variables. | ||
| 14123 | (math-general-fit): Replace variables first-var, first-coef and | ||
| 14124 | new-coefs by declared variables. | ||
| 14125 | (calcFunc-fitvar): Replace variable first-var by declared variable. | ||
| 14126 | (calcFunc-fitparam): Replace variable first-coef by declared variable. | ||
| 14127 | (calcFunc-fitdummy): Replace variable new-coefs by declared variable. | ||
| 14128 | (math-all-vars-vars, math-all-vars-found): New variables. | ||
| 14129 | (math-all-vars-in, math-all-vars-rec): Replace variables vars and | ||
| 14130 | found by declared variable math-all-vars-vars. | ||
| 14131 | |||
| 14132 | 2004-11-20 Luc Teirlinck <teirllm@auburn.edu> | ||
| 14133 | |||
| 14134 | * emacs-lisp/cust-print.el (custom-printers): Use `defvar' instead | ||
| 14135 | of `defconst'. | ||
| 14136 | |||
| 14137 | 2004-11-20 Richard M. Stallman <rms@gnu.org> | ||
| 14138 | |||
| 14139 | * isearch.el (isearch-mode-map): Don't bind SPC. | ||
| 14140 | (isearch-whitespace-chars): Function deleted. | ||
| 14141 | (isearch-search): Bind search-spaces-regexp. | ||
| 14142 | (isearch-lazy-highlight-search): Likewise. | ||
| 14143 | (search-whitespace-regexp): Doc fix. | ||
| 14144 | (isearch-forward-regexp): Doc fix. | ||
| 14145 | |||
| 14146 | * emacs-lisp/bytecomp.el (byte-compile-form): | ||
| 14147 | Move the calls to byte-compile-set-symbol-position, | ||
| 14148 | to avoid having two for the same symbol occurrence. | ||
| 14149 | |||
| 14150 | * comint.el (comint-input-ring-size): Increase to 150. | ||
| 14151 | |||
| 14152 | * hexl.el (hexl-mode-old-hl-line-mode, hexl-mode-old-ruler-mode): | ||
| 14153 | New variables. | ||
| 14154 | (hexl-mode): Set those variables, record ruler-mode and hl-line-mode. | ||
| 14155 | (hexl-mode-exit): Restore status of ruler-mode and hl-line-mode. | ||
| 14156 | |||
| 14157 | * imenu.el (imenu--generic-function): | ||
| 14158 | Ensure we keep moving backward even if BEG isn't further back. | ||
| 14159 | |||
| 14160 | * replace.el (query-replace-read-to, query-replace-read-from): | ||
| 14161 | Specify t for KEEP-ALL in read-from-minibuffer. | ||
| 14162 | |||
| 14163 | * progmodes/python.el (python-switch-to-python): | ||
| 14164 | If Python isn't running, start it. | ||
| 14165 | Don't alter debug-ignored-errors. | ||
| 14166 | |||
| 14167 | * progmodes/cperl-mode.el (cperl-indent-region): | ||
| 14168 | Don't mind imenu-scanning-message. | ||
| 14169 | |||
| 14170 | * bindings.el (global-map): Bind C-e to move-end-of-line. | ||
| 14171 | |||
| 14172 | * simple.el (line-move-finish): New arg FORWARD. | ||
| 14173 | Ignore invisible newlines, not intangible ones. | ||
| 14174 | Conditions for acceptable stopping positions depend on FORWARD. | ||
| 14175 | (line-move): Pass FORWARD arg to line-move-finish. | ||
| 14176 | |||
| 14177 | * buff-menu.el (list-buffers-noselect): Eliminate space at the start | ||
| 14178 | of HEADER. Compensate for this change in the code to add display | ||
| 14179 | properties. Don't make the first line intangible. | ||
| 14180 | |||
| 14181 | * info.el (Info-search): Fix previous change. | ||
| 14182 | |||
| 14183 | 2004-11-20 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 14184 | |||
| 14185 | * Makefile.in (recompile): Revert 2004-11-19 change. | ||
| 14186 | (compile): Likewise. | ||
| 14187 | |||
| 14188 | 2004-11-19 Luc Teirlinck <teirllm@auburn.edu> | ||
| 14189 | |||
| 14190 | * Makefile.in (compile): Set `max-specpdl-size' before compiling. | ||
| 14191 | |||
| 14192 | 2004-11-19 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 14193 | |||
| 14194 | * progmodes/ebnf2ps.el: Fix typos. Insert :version tag into all | ||
| 14195 | defgroup and defcustom. Eliminate eval-and-compile usage. | ||
| 14196 | |||
| 14197 | * progmodes/ebnf-otz.el: Fix typos. | ||
| 14198 | |||
| 14199 | 2004-11-19 Jay Belanger <belanger@truman.edu> | ||
| 14200 | |||
| 14201 | * calc/calc-yank.el (calc-edit-disp-trail): New variable. | ||
| 14202 | (calc-edit-finish, calc-finish-stack-edit): Replace variable | ||
| 14203 | disp-trail by declared variable. | ||
| 14204 | |||
| 14205 | * calc/calc-sel.el (calc-edit-disp-trail): Declare it. | ||
| 14206 | (calc-finish-selection-edit): Replace variable disp-trail by | ||
| 14207 | declared variable. | ||
| 14208 | (calc-selection-cache-entry): Move declaration to earlier in the file. | ||
| 14209 | (calc-selection-cache-num, calc-selection-cache-comp) | ||
| 14210 | (calc-selection-cache-offset, calc-selection-true-num) | ||
| 14211 | (calc-final-point-line, calc-final-point-column) | ||
| 14212 | (calc-original-buffer): Declare them. | ||
| 14213 | (calc-fnp-op, calc-fnp-num): New variables. | ||
| 14214 | (calc-find-nth-part, calc-find-nth-part-rec) | ||
| 14215 | (calc-select-previous): Replace op and num by declared variables. | ||
| 14216 | (calc-rsf-old, calc-rsf-new): New variables. | ||
| 14217 | (calc-replace-sub-formula, calc-replace-sub-formula-rec): | ||
| 14218 | Replace variables old and new by declared variables. | ||
| 14219 | (calc-sel-reselect): New variable. | ||
| 14220 | (calc-auto-selection, calc-enter-selection, calc-edit-selection) | ||
| 14221 | (calc-sel-evaluate, calc-sel-expand-formula, calc-sel-expand-formula) | ||
| 14222 | (calc-sel-mult-both-sides, calc-sel-add-both-sides): Replace variable | ||
| 14223 | reselect with declared variable. | ||
| 14224 | |||
| 14225 | * calc/calc-rewr.el (math-regs, math-num-regs, math-prog-last) | ||
| 14226 | (math-bound-vars, math-conds, math-copy-neg, math-rhs) | ||
| 14227 | (math-pattern, math-remembering, math-aliased-vars, math-mt-many) | ||
| 14228 | (math-import-list, math-rewrite-phase): Declare them. | ||
| 14229 | (math-rewrite): Use let* to declare variables. | ||
| 14230 | (calc-rewrite-selection): Make rules a local variable. | ||
| 14231 | (calc-rewr-sel): New variable. | ||
| 14232 | (calc-rewrite-selection, calc-locate-selection-marker) | ||
| 14233 | (calc-rewrite): Use the declared variable calc-rewr-sel instead | ||
| 14234 | of sel. | ||
| 14235 | (math-rewrite-whole-expr): New variable. | ||
| 14236 | (math-rewrite, math-rewrite-phase): Replace variable expr by | ||
| 14237 | declared variable. | ||
| 14238 | (math-rewrite-heads-heads, math-rewrite-heads-skips) | ||
| 14239 | (math-rewrite-heads-blanks ): New variables. | ||
| 14240 | (math-rewrite-heads, math-rewrite-heads-rec): Replace variables | ||
| 14241 | heads, skips and blanks by declared variables. | ||
| 14242 | (math-rwcomp-subst-old, math-rwcomp-subst-new) | ||
| 14243 | (math-rwcomp-subst-old-func, math-rwcomp-subst-new-func): | ||
| 14244 | New variables. | ||
| 14245 | (math-rwcomp-substitute, math-rwcomp-subst-rec): Replace variables | ||
| 14246 | old, new, old-func and new-func by declared variables. | ||
| 14247 | (math-rwcomp-assoc-args, math-rwcomp-addsub-args): | ||
| 14248 | Remove unnecessary variable. | ||
| 14249 | (math-apply-rw-regs): New variable. | ||
| 14250 | (math-apply-rewrites, math-rwapply-replace-regs) | ||
| 14251 | (math-rwapply-reg-looks-negp): Replace variable regs by declared var. | ||
| 14252 | (math-apply-rw-ruleset): New variable. | ||
| 14253 | (math-apply-rewrites, math-rwapply-remember): Replace variable | ||
| 14254 | ruleset by declared variable. | ||
| 14255 | |||
| 14256 | 2004-11-19 Richard M. Stallman <rms@gnu.org> | ||
| 14257 | |||
| 14258 | * info.el (Info-search): Use search-whitespace-regexp. | ||
| 14259 | |||
| 14260 | 2004-11-19 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 14261 | |||
| 14262 | * vc-rcs.el (vc-rcs-parse): New function. | ||
| 14263 | (vc-rcs-annotate-command): Likewise. | ||
| 14264 | (vc-rcs-annotate-current-time): Likewise. | ||
| 14265 | (vc-rcs-annotate-time): Likewise. | ||
| 14266 | (vc-rcs-annotate-extract-revision-at-line): Likewise. | ||
| 14267 | |||
| 14268 | 2004-11-19 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 14269 | |||
| 14270 | * Makefile.in (recompile): Set `max-specpdl-size' before compiling. | ||
| 14271 | |||
| 14272 | 2004-11-18 Jay Belanger <belanger@truman.edu> | ||
| 14273 | |||
| 14274 | * calc/calc-alg.el (math-simplify-divisor): Remove unnecessary vars. | ||
| 14275 | |||
| 14276 | 2004-11-17 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 14277 | |||
| 14278 | * printing.el: Eliminate use of interactive-p and eval-and-compile. | ||
| 14279 | Use of (featurep 'xemacs) instead of (eq ps-print-emacs-type 'xemacs). | ||
| 14280 | Use make-temp-file to generate PostScript files in any situation. | ||
| 14281 | (pr-ps-temp-file): Now specify a prefix to generate temporary files. | ||
| 14282 | (pr-interactive-p): Eliminate var. | ||
| 14283 | (pr-save-interactive): Eliminate macro. | ||
| 14284 | (pr-interface, pr-ps-directory-preview) | ||
| 14285 | (pr-ps-directory-using-ghostscript, pr-ps-directory-print) | ||
| 14286 | (pr-ps-directory-ps-print, pr-ps-buffer-preview) | ||
| 14287 | (pr-ps-buffer-using-ghostscript, pr-ps-buffer-print) | ||
| 14288 | (pr-ps-buffer-ps-print, pr-ps-region-preview) | ||
| 14289 | (pr-ps-region-using-ghostscript, pr-ps-region-print) | ||
| 14290 | (pr-ps-region-ps-print, pr-ps-mode-preview) | ||
| 14291 | (pr-ps-mode-using-ghostscript, pr-ps-mode-print, pr-ps-mode-ps-print) | ||
| 14292 | (pr-printify-directory, pr-txt-directory, pr-despool-preview) | ||
| 14293 | (pr-despool-using-ghostscript, pr-despool-print, pr-despool-ps-print) | ||
| 14294 | (pr-ps-file-up-preview, pr-ps-file-using-ghostscript) | ||
| 14295 | (pr-ps-file-up-ps-print, pr-toggle-file-duplex, pr-toggle-file-tumble) | ||
| 14296 | (pr-toggle-file-landscape, pr-toggle-ghostscript, pr-toggle-faces) | ||
| 14297 | (pr-toggle-spool, pr-toggle-duplex, pr-toggle-tumble) | ||
| 14298 | (pr-toggle-landscape, pr-toggle-upside-down, pr-toggle-line) | ||
| 14299 | (pr-toggle-zebra, pr-toggle-header, pr-toggle-header-frame) | ||
| 14300 | (pr-toggle-lock, pr-toggle-region, pr-toggle-mode, pr-ps-name) | ||
| 14301 | (pr-txt-name, pr-ps-utility, pr-ps-fast-fire, pr-txt-fast-fire) | ||
| 14302 | (pr-update-menus, pr-interface-ps-prin, pr-interface-preview): | ||
| 14303 | Eliminate pr-save-interactive usage. | ||
| 14304 | (pr-menu-lock, pr-ps-utility-args, pr-set-outfilename): | ||
| 14305 | Eliminate pr-interactive-p usage. | ||
| 14306 | (pr-toggle-file-duplex-menu, pr-toggle-file-tumble-menu) | ||
| 14307 | (pr-toggle-file-landscape-menu, pr-toggle-ghostscript-menu) | ||
| 14308 | (pr-toggle-faces-menu, pr-toggle-spool-menu, pr-toggle-duplex-menu) | ||
| 14309 | (pr-toggle-tumble-menu, pr-toggle-landscape-menu) | ||
| 14310 | (pr-toggle-upside-down-menu, pr-toggle-line-menu, pr-toggle-zebra-menu) | ||
| 14311 | (pr-toggle-header-menu, pr-toggle-header-frame-menu) | ||
| 14312 | (pr-toggle-lock-menu, pr-toggle-region-menu, pr-toggle-mode-menu): | ||
| 14313 | New funs. | ||
| 14314 | (pr-ps-file): Use make-temp-file to generate a temporary file. | ||
| 14315 | |||
| 14316 | 2004-11-17 Jay Belanger <belanger@truman.edu> | ||
| 14317 | |||
| 14318 | * calc/calc-alg.el (calc-poly-div): Make calc-poly-div-remainder | ||
| 14319 | a local variable. | ||
| 14320 | (math-eval-rules-cache, math-eval-rules-cache-other): Declare them. | ||
| 14321 | (math-top-only): New variable. | ||
| 14322 | (math-simplify, math-simplify-step): Replace variable top-only by | ||
| 14323 | declared variable math-top-only. | ||
| 14324 | (math-simplify-expr): Declare it. | ||
| 14325 | Replace argument expr in all calls of math-defsimplify by | ||
| 14326 | math-simplify-expr. | ||
| 14327 | (math-simplify-plus, math-simplify-times, math-simplify-divide) | ||
| 14328 | (math-simplify-divisor, math-simplify-one-divisor) | ||
| 14329 | (math-simplify-mod, math-simplify-ineq, math-simplify-sqrt) | ||
| 14330 | (math-simplify-pow): Replace variable expr by declared variable | ||
| 14331 | math-simplify-expr. | ||
| 14332 | (math-simplify-divisor): Remove local variables temp and op. | ||
| 14333 | (math-simplify-one-divisor): Make temp and op local variables. | ||
| 14334 | (math-simplify-divisor-nover, math-simplify-divisor-dover): | ||
| 14335 | New variables. | ||
| 14336 | (math-simplify-divisor, math-simplify-one-divisor): | ||
| 14337 | Replace variables nover and dover by declared variables. | ||
| 14338 | (math-expr-subst-new, math-expr-subst-old): New variables. | ||
| 14339 | (math-expr-subst, math-expr-subst-rec): Replace variables new | ||
| 14340 | and old by declared variables. | ||
| 14341 | (math-is-poly-degree, math-is-poly-loose): New variables. | ||
| 14342 | (math-is-polynomial, math-is-poly-rec): Replace variables degree | ||
| 14343 | and loose by declared variables. | ||
| 14344 | (math-poly-base-const-ok, math-poly-base-pred): New variables. | ||
| 14345 | (math-polynomial-base, math-polynomial-base-rec): | ||
| 14346 | Replace variables const-ok and mpb-pred by declared variables. | ||
| 14347 | |||
| 14348 | * calc/calc-poly.el (calc-poly-div-remainder): Declare it. | ||
| 14349 | |||
| 14350 | * calc/calc-ext.el (math-defsimplify): Change the argument in | ||
| 14351 | the created function to math-simplify-expr. | ||
| 14352 | |||
| 14353 | * calc/calc-units.el (math-simplify-expr): Declare it. | ||
| 14354 | Replace argument expr in all calls of math-defsimplify by | ||
| 14355 | math-simplify-expr. | ||
| 14356 | (math-simplify-units-prod): Replace variable expr by declared | ||
| 14357 | variable math-simplify-expr. | ||
| 14358 | |||
| 14359 | 2004-11-17 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 14360 | |||
| 14361 | * buff-menu.el (list-buffers-noselect): Massage to fit in 80 columns. | ||
| 14362 | Replace mapcar->dolist, format->string. | ||
| 14363 | |||
| 14364 | 2004-11-17 Miles Bader <miles@gnu.org> | ||
| 14365 | |||
| 14366 | * progmodes/idlw-shell.el, progmodes/idlw-toolbar.el | ||
| 14367 | * progmodes/idlwave.el: Remove RCS keywords. | ||
| 14368 | |||
| 14369 | 2004-11-17 J.D. Smith <jdsmith@as.arizona.edu> | ||
| 14370 | |||
| 14371 | * progmodes/idlwave.el, progmodes/idlw-toolbar.el | ||
| 14372 | * progmodes/idlw-shell.el, progmodes/idlw-rinfo.el: | ||
| 14373 | Update to IDLWAVE version 5.5. Too many changes to list them here. | ||
| 14374 | * progmodes/idlw-help.el: New file. | ||
| 14375 | |||
| 14376 | 2004-11-16 Richard M. Stallman <rms@gnu.org> | ||
| 14377 | |||
| 14378 | * international/iso-cvt.el (iso-tex2iso-trans-tab): | ||
| 14379 | Discard spaces after \i according to TeX rules. | ||
| 14380 | |||
| 14381 | * international/mule.el (set-buffer-file-coding-system): | ||
| 14382 | New arg NOMODIFY. | ||
| 14383 | (after-insert-file-set-coding): Pass that new arg. | ||
| 14384 | Prevent set-buffer-multibyte from trying to lock the file. | ||
| 14385 | |||
| 14386 | * buff-menu.el (list-buffers-noselect): New arg BUFFER-LIST. | ||
| 14387 | |||
| 14388 | * saveplace.el (save-place): Doc fix. | ||
| 14389 | |||
| 14390 | * dabbrev.el (dabbrev-expand): When handling SPC M-/, | ||
| 14391 | temporarily widen before finding the following word to copy. | ||
| 14392 | |||
| 14393 | * emacs-lisp/lucid.el (map-keymap): Definition deleted. | ||
| 14394 | (cl-map-keymap): Definition deleted. | ||
| 14395 | |||
| 14396 | * subr.el (map-keymap-internal): New function. | ||
| 14397 | |||
| 14398 | 2004-11-16 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 14399 | |||
| 14400 | * textmodes/flyspell.el (flyspell-mouse-map): Pop the menu | ||
| 14401 | when pressing rather than when releasing mouse-2. Simplify. | ||
| 14402 | |||
| 14403 | 2004-11-15 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 14404 | |||
| 14405 | * progmodes/compile.el (compilation-setup): Don't set buffer-read-only. | ||
| 14406 | (compilation-mode): Set it here instead. | ||
| 14407 | |||
| 14408 | * emacs-lisp/cl-compat.el (pair-with-newsyms): Use make-symbol. | ||
| 14409 | |||
| 14410 | * emacs-lisp/cl-macs.el: Use make-symbol rather than gensym. | ||
| 14411 | (loop, cl-parse-loop-clause, defsetf): Use backquote. | ||
| 14412 | |||
| 14413 | 2004-11-14 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 14414 | |||
| 14415 | * progmodes/compile.el (compilation-internal-error-properties): | ||
| 14416 | Fix up a transposition-typo. Check end-col before using it. | ||
| 14417 | |||
| 14418 | 2004-11-14 Frederic Han <han@math.jussieu.fr> (tiny change) | ||
| 14419 | |||
| 14420 | * international/iso-cvt.el (iso-tex2iso-trans-tab): | ||
| 14421 | Discard whitespace after macro \i when converting it. | ||
| 14422 | |||
| 14423 | 2004-11-16 Juri Linkov <juri@jurta.org> | ||
| 14424 | |||
| 14425 | * emacs-lisp/find-func.el (find-function-regexp): | ||
| 14426 | Optimize `define-minor-mode'. Add `defun-cvs-mode'. | ||
| 14427 | Add `deffoo'. Add `f' to [^cgv] to exclude `defface'. | ||
| 14428 | Remove invalid `\W' from [^cgv\W]. Doc fix. | ||
| 14429 | (find-function-search-for-symbol): Replace "\\>" with "\\_>". | ||
| 14430 | |||
| 14431 | 2004-11-15 Luc Teirlinck <teirllm@auburn.edu> | ||
| 14432 | |||
| 14433 | * play/life.el: Maintainer is now FSF. | ||
| 14434 | (life-patterns, life-neighbor-deltas, life-window-start) | ||
| 14435 | (life-current-generation, life-generation-string): Use defvar | ||
| 14436 | instead of defconst. | ||
| 14437 | |||
| 14438 | 2004-11-15 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 14439 | |||
| 14440 | * progmodes/compile.el (compilation-move-to-column): New fun. | ||
| 14441 | (compilation-internal-error-properties) | ||
| 14442 | (compilation-next-error-function): Use it to make sure we don't go past | ||
| 14443 | the end of line. | ||
| 14444 | |||
| 14445 | 2004-11-15 John Paul Wallington <jpw@gnu.org> | ||
| 14446 | |||
| 14447 | * autoinsert.el (auto-insert-alist): Insert the user's name in | ||
| 14448 | copyright notice, rather than Free Software Foundation, for the | ||
| 14449 | Emacs Lisp header case too. | ||
| 14450 | |||
| 14451 | 2004-11-15 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 14452 | |||
| 14453 | * printing.el (pr-ps-file-print, pr-toggle-duplex): Fix typos. | ||
| 14454 | Reported by Glenn Morris <gmorris+emacs@ast.cam.ac.uk>. | ||
| 14455 | (pr-switches-string): If SWITCHES is nil, return nil. Otherwise, | ||
| 14456 | return the list of string in a string. | ||
| 14457 | (pr-call-process): Message if calling process returns an error, that | ||
| 14458 | is, the exit status is different of zero. | ||
| 14459 | |||
| 14460 | 2004-11-15 Jay Belanger <belanger@truman.edu> | ||
| 14461 | |||
| 14462 | * calc/calcalg2.el (math-integrate-by-parts): Remove unused | ||
| 14463 | variable var-thing. | ||
| 14464 | (math-integ-depth, math-integ-level, math-integral-limit) | ||
| 14465 | (math-enable-subst, math-any-substs, math-integ-msg) | ||
| 14466 | (math-prev-parts-v, math-good-parts, math-max-integral-limit) | ||
| 14467 | (math-int-threshold, math-int-factors, math-double-roots) | ||
| 14468 | (math-solve-simplifying, var-IntegLimit, math-solve-sign) | ||
| 14469 | (var-GenCount): Declare these variables. | ||
| 14470 | (calcFunc-integ): Don't check if var-IntegLimit is bound. | ||
| 14471 | (math-integral-cache, math-integral-cache-state): | ||
| 14472 | Move declarations to earlier in the file. | ||
| 14473 | (math-deriv-var, math-deriv-total, math-deriv-symb) | ||
| 14474 | (math-cur-record, math-has-rules, math-t1, math-t2, math-t3) | ||
| 14475 | (math-so-far, math-integ-expr, math-expr-parts, calc-low) | ||
| 14476 | (calc-high, math-solve-var, math-solve-full, math-solve-vars) | ||
| 14477 | (math-try-solve-sign, math-solve-b, math-solve-system-vv) | ||
| 14478 | (math-solve-res): New variables | ||
| 14479 | (math-derivative, calcFunc-deriv, calcFunc-tderiv) | ||
| 14480 | (math-integral, math-replace-integral-parts) | ||
| 14481 | (math-integrate-by-parts, calc-dump-integral-cache) | ||
| 14482 | (math-try-integral, math-do-integral, math-do-integral) | ||
| 14483 | (math-do-integral-methods, math-try-solve-for) | ||
| 14484 | (math-try-solve-prod, math-solve-poly-funny-powers) | ||
| 14485 | (math-solve-crunch-poly, math-decompose-poly) | ||
| 14486 | (math-solve-find-root-term, math-find-root-in-prod) | ||
| 14487 | (math-integ-try-linear-substitutions) | ||
| 14488 | (math-integ-try-substitutions, math-expr-rational-in) | ||
| 14489 | (math-expr-rational-in-rec, calcFunc-table, math-scan-for-limits) | ||
| 14490 | (math-solve-prod, math-solve-quartic, math-poly-all-roots) | ||
| 14491 | (math-solve-for, math-solve-system, math-solve-system-rec) | ||
| 14492 | (math-solve-get-sign, math-solve-get-int) | ||
| 14493 | (math-solve-system-subst): Replace undeclared variables with newly | ||
| 14494 | declared variables. | ||
| 14495 | |||
| 14496 | 2004-11-14 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 14497 | |||
| 14498 | * winner.el (winner-active-region, winner-edges, winner-window-list): | ||
| 14499 | Define at toplevel. | ||
| 14500 | (winner-mode-map): Move init inside declaration. | ||
| 14501 | |||
| 14502 | 2004-11-14 Luc Teirlinck <teirllm@auburn.edu> | ||
| 14503 | |||
| 14504 | * files.el (convert-standard-filename): Doc fix. | ||
| 14505 | |||
| 14506 | 2004-11-14 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 14507 | |||
| 14508 | * files.el (auto-mode-alist): Handle .gtkrc, and under /etc | ||
| 14509 | passwd, group, shadow, default/* and pam.d/*. | ||
| 14510 | |||
| 14511 | 2004-11-14 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 14512 | |||
| 14513 | * printing.el (pr-menu-spec): Adjust menu specification. | ||
| 14514 | |||
| 14515 | 2004-11-13 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 14516 | |||
| 14517 | * printing.el: Doc fix. Insert :version tag into all defcustom. | ||
| 14518 | Handle interactive-p as is recommended in Emacs Lisp Reference. | ||
| 14519 | Set the file permission bits for newly created files. | ||
| 14520 | Reported by Glenn Morris <gmorris+emacs@ast.cam.ac.uk>. | ||
| 14521 | The printing menu specification (in `pr-menu-spec') was merged. | ||
| 14522 | Suggested by Stefan Monnier <monnier@iro.umontreal.ca>. | ||
| 14523 | (pr-version): New version number (6.8.3). | ||
| 14524 | (pr-file-modes): New option. | ||
| 14525 | (pr-interactive-p): New var. | ||
| 14526 | (pr-save-interactive, pr-save-file-modes): New macros. | ||
| 14527 | (pr-setup): Code fix. | ||
| 14528 | (pr-menu-spec): Menu specification merged. | ||
| 14529 | (pr-call-process, pr-text2ps): Set file permission bits. | ||
| 14530 | (pr-despool-print): Set file permission bits. Handle interactive-p as | ||
| 14531 | is recommended. | ||
| 14532 | (pr-interface, pr-ps-directory-preview) | ||
| 14533 | (pr-ps-directory-using-ghostscript, pr-ps-directory-print) | ||
| 14534 | (pr-ps-directory-ps-print, pr-ps-buffer-preview) | ||
| 14535 | (pr-ps-buffer-using-ghostscript, pr-ps-buffer-print) | ||
| 14536 | (pr-ps-buffer-ps-print, pr-ps-region-preview) | ||
| 14537 | (pr-ps-region-using-ghostscript, pr-ps-region-print) | ||
| 14538 | (pr-ps-region-ps-print, pr-ps-mode-preview) | ||
| 14539 | (pr-ps-mode-using-ghostscript, pr-ps-mode-print, pr-ps-mode-ps-print) | ||
| 14540 | (pr-printify-directory, pr-txt-directory, pr-despool-preview) | ||
| 14541 | (pr-despool-using-ghostscript, pr-despool-ps-print) | ||
| 14542 | (pr-ps-file-up-preview, pr-ps-file-using-ghostscript) | ||
| 14543 | (pr-ps-file-up-ps-print, pr-toggle-file-duplex, pr-toggle-file-tumble) | ||
| 14544 | (pr-toggle-file-landscape, pr-toggle-ghostscript, pr-toggle-faces) | ||
| 14545 | (pr-toggle-spool, pr-toggle-duplex, pr-toggle-tumble) | ||
| 14546 | (pr-toggle-landscape, pr-toggle-upside-down, pr-toggle-line) | ||
| 14547 | (pr-toggle-zebra, pr-toggle-header, pr-toggle-header-frame) | ||
| 14548 | (pr-toggle-lock, pr-toggle-region, pr-toggle-mode, pr-ps-name) | ||
| 14549 | (pr-txt-name, pr-ps-utility, pr-ps-fast-fire, pr-txt-fast-fire) | ||
| 14550 | (pr-menu-lock, pr-update-menus, pr-ps-utility-args) | ||
| 14551 | (pr-set-outfilename, pr-interface-ps-print, pr-interface-preview): | ||
| 14552 | Handle interactive-p as is recommended. | ||
| 14553 | |||
| 14554 | 2004-11-13 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 14555 | |||
| 14556 | * emacs-lisp/byte-opt.el (byte-optimize-inline-handler): Simplify. | ||
| 14557 | (byte-decompile-bytecode-1): Remove unused vars `tag' and `retcount'. | ||
| 14558 | |||
| 14559 | * font-lock.el (font-lock-fontify-syntactically-region): Fix last fix | ||
| 14560 | so it doesn't forget to highlight the beginning of the region either. | ||
| 14561 | |||
| 14562 | 2004-11-13 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 14563 | |||
| 14564 | * progmodes/cc-mode.el (c-basic-common-initc-font-lock-init) | ||
| 14565 | (c-font-lock-init): Eliminate obsolete make-local-hook. | ||
| 14566 | (c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode) | ||
| 14567 | (awk-mode): Use run-mode-hooks. | ||
| 14568 | |||
| 14569 | * progmodes/cperl-mode.el (cperl-mode): Use run-mode-hooks. | ||
| 14570 | |||
| 14571 | 2004-11-13 Kim F. Storm <storm@cua.dk> | ||
| 14572 | |||
| 14573 | * mouse.el (mouse-drag-copy-region): Add :version. | ||
| 14574 | (mouse-drag-mode-line-1): Let bind mouse-autoselect-window to nil | ||
| 14575 | while dragging mode line, so mode line can be dragged downwards. | ||
| 14576 | (mouse-drag-region-1): Let bind make-cursor-line-fully-visible | ||
| 14577 | while pressing mouse button so window doesn't scroll until we | ||
| 14578 | release the mouse if clicking on partially visible line. | ||
| 14579 | |||
| 14580 | 2004-11-12 Jay Belanger <belanger@truman.edu> | ||
| 14581 | |||
| 14582 | * calc/calc-graph.el (calc-dumb-map): Declare it. | ||
| 14583 | (calc-graph-show-dumb): Check if calc-dumb-map is non-nil rather | ||
| 14584 | than unbound. | ||
| 14585 | (calc-graph-name): Made `end' a local variable. | ||
| 14586 | (calc-graph-lookup): Made `varname' a local variable. | ||
| 14587 | (var-DUMMY, var-DUMMY2, var-PlotRejects, calc-gnuplot-trail-mark): | ||
| 14588 | Declare them. | ||
| 14589 | (calc-graph-format-data): Don't check if var-PlotRejects is bound. | ||
| 14590 | (calc-graph-plot, calc-graph-compute-3d): Remove references to | ||
| 14591 | the unused variable y3vec. | ||
| 14592 | (calc-graph-show-dumb): Remove reference to unused variable found-pt. | ||
| 14593 | (calc-graph-kill-hook, calc-graph-plot): Remove reference to | ||
| 14594 | calc-graph-prev-kill-hook. | ||
| 14595 | (calc-graph-yvalue, calc-graph-yvec, calc-graph-numsteps) | ||
| 14596 | (calc-graph-numsteps3, calc-graph-xvalue, calc-graph-xvec) | ||
| 14597 | (calc-graph-xname, calc-graph-yname, calc-graph-xstep) | ||
| 14598 | (calc-graph-ycache, calc-graph-ycacheptr, calc-graph-refine) | ||
| 14599 | (calc-graph-keep-file, calc-graph-xval, calc-graph-xlow) | ||
| 14600 | (calc-graph-xhigh, calc-graph-yval, calc-graph-yp, calc-graph-xp) | ||
| 14601 | (calc-graph-zp, calc-graph-yvector, calc-graph-resolution) | ||
| 14602 | (calc-graph-y3value, calc-graph-y3name) | ||
| 14603 | (calc-graph-y3step, calc-graph-y3step, calc-graph-zval) | ||
| 14604 | (calc-graph-stepcount, calc-graph-is-splot) | ||
| 14605 | (calc-graph-surprise-splot, calc-graph-blank) | ||
| 14606 | (calc-graph-non-blank, calc-graph-curve-num): New variables. | ||
| 14607 | (calc-graph-plot, calc-graph-compute-2d, calc-graph-refine-2d) | ||
| 14608 | (calc-graph-recompute-2d, calc-graph-compute-3d) | ||
| 14609 | (calc-graph-format-data): Replace undeclared variables with the | ||
| 14610 | above newly declared variables. | ||
| 14611 | |||
| 14612 | 2004-11-12 Diane Murray <dsm@muenster.de> (tiny change) | ||
| 14613 | |||
| 14614 | * mail/rmail.el (rmail-get-new-mail): Use the renamed variables | ||
| 14615 | `rsf-beep' and `rsf-sleep-after-message'. | ||
| 14616 | |||
| 14617 | * mail/rmail-spam-filter.el (rmail-spam-filter): Only check white | ||
| 14618 | list if `message-sender' is non-nil. | ||
| 14619 | |||
| 14620 | 2004-11-12 Kevin Rodgers <ihs_4664@yahoo.com> (tiny change) | ||
| 14621 | |||
| 14622 | * desktop.el (desktop-create-buffer, desktop-save): Avoid some | ||
| 14623 | consing by using mapc instead of mapcar. | ||
| 14624 | |||
| 14625 | 2004-11-12 Nick Roberts <nickrob@snap.net.nz> | ||
| 14626 | |||
| 14627 | * tooltip.el (require): Explain why CL is needed. | ||
| 14628 | |||
| 14629 | 2004-11-11 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 14630 | |||
| 14631 | * printing.el: Insert :version into defgroup (printing). All reference | ||
| 14632 | to Files option in menubar were changed to File. | ||
| 14633 | (pr-version): New version number (6.8.2). | ||
| 14634 | (pr-get-symbol): Call easy-menu-intern. | ||
| 14635 | (pr-region-active-p): Now is a fun (it was defsubst). To avoid | ||
| 14636 | compilation gripes. | ||
| 14637 | |||
| 14638 | 2004-11-11 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 14639 | |||
| 14640 | * emacs-lisp/byte-opt.el (byte-compile-inline-expand): Understand the | ||
| 14641 | new byte-compile-function-environment binding to t. | ||
| 14642 | |||
| 14643 | * font-lock.el (font-lock-fontify-syntactically-region): | ||
| 14644 | Don't forget to highlight the last char when we hit `end'. | ||
| 14645 | |||
| 14646 | * mwheel.el (mouse-wheel-progressive-speed): Fix typo in name. | ||
| 14647 | (mwheel-scroll): Adjust accordingly. | ||
| 14648 | |||
| 14649 | * cvs-status.el: Reduce spurious warnings. | ||
| 14650 | (cvs-status-checkout): Remove. | ||
| 14651 | (cvs-status-mode-map): Use cvs-mode-checkout instead. | ||
| 14652 | |||
| 14653 | * pcvs.el (cvs-mode-checkout): New command. | ||
| 14654 | |||
| 14655 | * international/iso-cvt.el (iso-cvt-define-menu): Fix typo. | ||
| 14656 | |||
| 14657 | * tooltip.el: Require CL. | ||
| 14658 | |||
| 14659 | * emacs-lisp/bytecomp.el: Use push. | ||
| 14660 | (byte-compile-file-form-defalias): Rename from byte-compile-defalias. | ||
| 14661 | (defalias): Remove the `byte-compile' property and add | ||
| 14662 | a `byte-hunk-handler'. | ||
| 14663 | |||
| 14664 | 2004-11-11 Juri Linkov <juri@jurta.org> | ||
| 14665 | |||
| 14666 | * info.el (Info-search): Save match data for isearch. | ||
| 14667 | Skip Tag Table node. | ||
| 14668 | |||
| 14669 | * descr-text.el (describe-char): Replace syntax-after with code | ||
| 14670 | from its previous version. | ||
| 14671 | |||
| 14672 | * files.el (magic-mode-alist): Use optimization for SGML mode too. | ||
| 14673 | (set-auto-mode): Doc fix. Remove unused variable `xml'. | ||
| 14674 | |||
| 14675 | * international/mule.el (sgml-html-meta-auto-coding-function): | ||
| 14676 | Remove > after <html to allow HTML attributes. | ||
| 14677 | |||
| 14678 | 2004-11-11 Jay Belanger <belanger@truman.edu> | ||
| 14679 | |||
| 14680 | * calc/calc-comb.el (math-prime-factors-finished): Declare it as | ||
| 14681 | a variable. | ||
| 14682 | (calcFunc-dfac): Replace unbound max by n. | ||
| 14683 | (math-stirling-local-cache): New variable. | ||
| 14684 | (math-stirling-number, math-stirling-1, math-stirling-2): | ||
| 14685 | Replace the variable `cache' by the declared variable | ||
| 14686 | math-stirling-local-cache. | ||
| 14687 | (var-RandSeed): Declare it as a variable. | ||
| 14688 | (math-init-random-base, math-random-digit): Don't check to see if | ||
| 14689 | var-RandSeed is bound. | ||
| 14690 | (math-random-cache, math-gaussian-cache, calc-verbose-nextprime): | ||
| 14691 | Declare them instead of just setting them. | ||
| 14692 | (math-init-random-base): Made i a local variable. | ||
| 14693 | (math-random-digit): Made math-random-last a local variable. | ||
| 14694 | (math-prime-test-cache): Move declaration to before it is used. | ||
| 14695 | (math-prime-test-cache-k, math-prime-test-cache-q) | ||
| 14696 | (math-prime-test-cache-nm1, math-prime-factors-finished): | ||
| 14697 | Declare them as variables. | ||
| 14698 | |||
| 14699 | 2004-11-11 Jay Belanger <belanger@truman.edu> | ||
| 14700 | |||
| 14701 | * calc/calc-ext.el (math-defcache): Use defvar for the new | ||
| 14702 | variables it creates. | ||
| 14703 | |||
| 14704 | 2004-11-11 Lars Hansen <larsh@math.ku.dk> | ||
| 14705 | |||
| 14706 | * desktop.el (desktop-buffer-mode-handlers, desktop-after-read-hook) | ||
| 14707 | (desktop-clear-preserve-buffers-regexp, desktop-file-name-format) | ||
| 14708 | (desktop-globals-to-clear, desktop-no-desktop-file-hook, desktop-path) | ||
| 14709 | (desktop-save): Add :version. | ||
| 14710 | |||
| 14711 | 2004-11-11 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 14712 | |||
| 14713 | * printing.el (pr-get-symbol): Don't downcase. | ||
| 14714 | |||
| 14715 | 2004-11-10 Jay Belanger <belanger@truman.edu> | ||
| 14716 | |||
| 14717 | * calc/calc-aent.el (calc-do-quick-calc): Use kill-new to append | ||
| 14718 | string to kill-ring. | ||
| 14719 | |||
| 14720 | * calc/calc-aent.el (calc-alg-exp, math-toks) | ||
| 14721 | (math-exp-pos,math-exp-old-pos, math-exp-token) | ||
| 14722 | (math-exp-keep-spaces, math-exp-str): New variables. | ||
| 14723 | (calc-do-alg-entry, calcAlg-equals, calcAlg-edit) | ||
| 14724 | (calcAlg-enter): Use declared variable calc-alg-exp. | ||
| 14725 | (math-build-parse-table, math-find-user-token): Use declared | ||
| 14726 | variable math-toks. | ||
| 14727 | (math-read-exprs, math-read-token, calc-check-user-syntax) | ||
| 14728 | (calc-match-user-syntax, match-factor-after, math-read-factor): | ||
| 14729 | Use declared variables math-exp-pos math-exp-old-pos. | ||
| 14730 | (math-read-exprs, math-read-token, math-read-expr-level) | ||
| 14731 | (calc-check-user-syntax, calc-match-user-syntax) | ||
| 14732 | (match-factor-after, math-read-factor): Use declared variable | ||
| 14733 | math-exp-token. | ||
| 14734 | (math-read-exprs, math-read-expr-list, math-read-token) | ||
| 14735 | (math-read-factor): Use declared variable math-exp-keep-spaces. | ||
| 14736 | (math-read-exprs, math-read-token): Use declared variable | ||
| 14737 | math-exp-str. | ||
| 14738 | (calc-match-user-syntax): Make m a local variable. | ||
| 14739 | |||
| 14740 | * calc/calc-ext.el (math-read-expr): Use declared variables | ||
| 14741 | math-exp-pos, math-exp-old-pos, math-exp-str, math-exp-token, | ||
| 14742 | math-exp-keep-spaces. | ||
| 14743 | |||
| 14744 | * calc/calc-forms.el (math-read-angle-bracket): Use declared | ||
| 14745 | variables math-exp-pos, math-exp-str. | ||
| 14746 | |||
| 14747 | * calc/calc-lang.el (math-parse-tex-sum): Use declared variable | ||
| 14748 | math-exp-old-pos. | ||
| 14749 | (math-parse-fortran-vector, math-parse-fortran-vector-end) | ||
| 14750 | (math-parse-eqn-prime): Use declared variable math-exp-token. | ||
| 14751 | |||
| 14752 | * calc/calc-vec.el (math-read-brackets, math-check-for-commas): | ||
| 14753 | Use declared variable math-exp-pos. | ||
| 14754 | (math-check-for-commas): Use declared variable math-exp-str. | ||
| 14755 | (math-read-brackets): Use declared variables math-exp-old-pos, | ||
| 14756 | math-exp-keep-spaces. | ||
| 14757 | (math-read-brackets, math-read-vector, math-read-matrix): | ||
| 14758 | Use declared variable math-exp-token. | ||
| 14759 | |||
| 14760 | 2004-11-10 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 14761 | |||
| 14762 | * emacs-lisp/easymenu.el (easy-menu-define-key): Understand the case | ||
| 14763 | where the keymap is a symbol. | ||
| 14764 | (easy-menu-add-item): Use keymap-prompt. Simplify. | ||
| 14765 | |||
| 14766 | * files.el (magic-mode-alist): Reduce backtracking in the HTML regexp. | ||
| 14767 | |||
| 14768 | * textmodes/sgml-mode.el (sgml-tag-text-p): New fun. | ||
| 14769 | (sgml-parse-tag-backward): Use it to skip spurious < or >. | ||
| 14770 | |||
| 14771 | 2004-11-10 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 14772 | |||
| 14773 | * ebuff-menu.el: Doc fixes throughout. | ||
| 14774 | (electric-buffer-menu-mode-hook): New defvar. | ||
| 14775 | |||
| 14776 | 2004-11-10 Nick Roberts <nickrob@snap.net.nz> | ||
| 14777 | |||
| 14778 | * tooltip.el: Don't require cl, comint, gud, gdb-ui for compilation. | ||
| 14779 | The resulting compiler warnings appear to be harmless. | ||
| 14780 | |||
| 14781 | 2004-11-10 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 14782 | |||
| 14783 | * textmodes/conf-mode.el: New file. | ||
| 14784 | |||
| 14785 | * files.el (auto-mode-alist, magic-mode-alist): Use it. | ||
| 14786 | |||
| 14787 | 2004-11-09 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 14788 | |||
| 14789 | * international/iso-cvt.el (iso-cvt-define-menu): Clean up namespace. | ||
| 14790 | |||
| 14791 | 2004-11-09 Jay Belanger <belanger@truman.edu> | ||
| 14792 | |||
| 14793 | * calc/calc-ext.el (calc-init-extensions): Remove old code. | ||
| 14794 | |||
| 14795 | * calc/calc-ext.el (math-expr-data, math-mt-many, math-mt-func) | ||
| 14796 | (calc-z-prefix-buf, calc-z-prefix-msgs): New variables. | ||
| 14797 | (calc-z-prefix-help, calc-user-function-list): Use declared | ||
| 14798 | variables calc-z-prefix-buf, calc-z-prefix-msgs. | ||
| 14799 | (math-map-tree, math-map-tree-rec): Use declared variables | ||
| 14800 | math-mt-many, math-mt-func. | ||
| 14801 | (math-read-expression, math-read-string): Use declared variable | ||
| 14802 | math-expr-data. | ||
| 14803 | |||
| 14804 | * calc/calc-ext.el (math-normalize-nonstandard): Use declared | ||
| 14805 | variable math-normalize-a. | ||
| 14806 | |||
| 14807 | * calc/calc.el (math-normalize-a): New variable. | ||
| 14808 | (math-normalize): Use declared variable math-normalize-a. | ||
| 14809 | |||
| 14810 | * calc/calc-poly.el (math-expand-form): Use declared variable | ||
| 14811 | math-mt-many. | ||
| 14812 | |||
| 14813 | * calc/calc-rewr.el (math-rewrite, math-rewrite-phase): | ||
| 14814 | Use declared variable math-mt-many. | ||
| 14815 | (math-rewrite): Use declared variable math-mt-func. | ||
| 14816 | |||
| 14817 | * calc/calc-vec.el (math-read-brackets, math-read-vector) | ||
| 14818 | (math-read-matrix): Use declared variable math-expr-data. | ||
| 14819 | |||
| 14820 | * calc/calc-lang.el (math-parse-fortran-vector) | ||
| 14821 | (math-parse-fortran-vector-end, math-parse-tex-sum) | ||
| 14822 | (math-parse-eqn-matrix, math-parse-eqn-prime) | ||
| 14823 | (math-read-math-subscr): Use declared variable math-expr-data. | ||
| 14824 | |||
| 14825 | * calc/calc-aent.el (math-read-exprs, math-read-expr-list) | ||
| 14826 | (math-read-expr-level, math-read-token, calc-check-user-syntax) | ||
| 14827 | (calc-match-user-syntax, math-read-if, math-factor-after) | ||
| 14828 | (math-read-factor): Use declared variable math-expr-data. | ||
| 14829 | |||
| 14830 | 2004-11-09 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 14831 | |||
| 14832 | * calendar/diary-lib.el (diary-from-outlook) | ||
| 14833 | (diary-from-outlook-gnus, diary-from-outlook-rmail): Do not use | ||
| 14834 | interactive-p; but rather new optional argument NOCONFIRM. | ||
| 14835 | |||
| 14836 | 2004-11-09 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 14837 | |||
| 14838 | * emacs-lisp/easymenu.el (easy-menu-intern): Revert to no-downcasing. | ||
| 14839 | (easy-menu-name-match): Revert correspondingly. | ||
| 14840 | |||
| 14841 | 2004-11-09 Richard M. Stallman <rms@gnu.org> | ||
| 14842 | |||
| 14843 | * emacs-lisp/bytecomp.el (byte-compile-defalias): | ||
| 14844 | Turn off warnings for the new function even if definition not constant. | ||
| 14845 | If the definition isn't a quoted symbol, record (FUNCTION . t). | ||
| 14846 | (byte-compile-function-environment): Now allow (FUNCTION . t) as elt. | ||
| 14847 | (byte-compile-callargs-warn): Handle (FUNCTION . t). | ||
| 14848 | (display-call-tree, byte-compile-arglist-warn): | ||
| 14849 | Handle t returned by byte-compile-fdefinition. | ||
| 14850 | |||
| 14851 | 2004-11-09 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 14852 | |||
| 14853 | * Makefile.in (maintainer-clean): Depend on distclean. | ||
| 14854 | |||
| 14855 | * help-fns.el (help-C-file-name): File name must be in build-files | ||
| 14856 | to be returned. | ||
| 14857 | |||
| 14858 | 2004-11-09 Jay Belanger <belanger@truman.edu> | ||
| 14859 | |||
| 14860 | * calc/calc.el (calc-mode-hook, calc-trail-mode-hook) | ||
| 14861 | (calc-start-hook, calc-end-hook, calc-load-hook): New variables. | ||
| 14862 | |||
| 14863 | * calc/calc.el (calc, calc-trail-display, calc-mode): | ||
| 14864 | Remove obsolete sections. | ||
| 14865 | |||
| 14866 | * calc/calc.el (calc-x-paste-text): Remove. | ||
| 14867 | |||
| 14868 | * calc/calc-ext.el (calc-init-extensions): Bind calc-yank to | ||
| 14869 | mouse-2. | ||
| 14870 | |||
| 14871 | 2004-11-09 Nick Roberts <nickrob@snap.net.nz> | ||
| 14872 | |||
| 14873 | * progmodes/gdb-ui.el (gdb-current-stack-level): New variable. | ||
| 14874 | (gdb-info-frames-custom, gdb-frame-handler): Use it to find | ||
| 14875 | current frame (in case of recursive calls). | ||
| 14876 | (gdb-show-changed-values): Add :version keyword. | ||
| 14877 | |||
| 14878 | 2004-11-09 Kenichi Handa <handa@m17n.org> | ||
| 14879 | |||
| 14880 | * international/mule-cmds.el: Change coding: tag back to | ||
| 14881 | iso-2022-7bit. | ||
| 14882 | |||
| 14883 | 2004-11-08 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 14884 | |||
| 14885 | * international/mule-cmds.el: Change coding-system to utf-8. | ||
| 14886 | (select-safe-coding-system-interactively): | ||
| 14887 | New function extracted from select-safe-coding-system. | ||
| 14888 | (select-safe-coding-system): Use it. | ||
| 14889 | |||
| 14890 | 2004-11-08 Richard M. Stallman <rms@gnu.org> | ||
| 14891 | |||
| 14892 | * subr.el (syntax-after): Doc fix. | ||
| 14893 | |||
| 14894 | * paren.el (show-paren-function): Change calls to syntax-after | ||
| 14895 | for new way of returning the value. | ||
| 14896 | |||
| 14897 | * menu-bar.el (menu-bar-file-menu): Make this the real name | ||
| 14898 | and menu-bar-files-menu the alias. Use the former. | ||
| 14899 | (global-map): Use `file', not `files', as the symbol. | ||
| 14900 | |||
| 14901 | * info.el (Info-revert-find-node): Don't use beginning-of-buffer. | ||
| 14902 | |||
| 14903 | * filesets.el (filesets-spawn-external-viewer, filesets-run-cmd): | ||
| 14904 | Don't use beginning-of-buffer. | ||
| 14905 | (filesets-cmd-show-result): Use with-no-warnings. | ||
| 14906 | |||
| 14907 | 2004-11-08 Juri Linkov <juri@jurta.org> | ||
| 14908 | |||
| 14909 | * progmodes/compile.el (compile): Don't overwrite last command in | ||
| 14910 | minibuffer history with default command if they are not equal. | ||
| 14911 | |||
| 14912 | 2004-11-08 Jay Belanger <belanger@truman.edu> | ||
| 14913 | |||
| 14914 | * calc/calcalg2.el (math-do-integral-methods): Try linear then | ||
| 14915 | non-linear substitutions. | ||
| 14916 | |||
| 14917 | 2004-11-08 Jay Belanger <belanger@truman.edu> | ||
| 14918 | |||
| 14919 | * calc/calcalg2.el (math-linear-subst-tried): New variable. | ||
| 14920 | (math-do-integral): Set `math-linear-subst-tried' to nil. | ||
| 14921 | (math-do-integral-methods): Use `math-linear-subst-tried' to | ||
| 14922 | determine what type of substitution to try. | ||
| 14923 | (math-integ-try-linear-substituion): | ||
| 14924 | Set `math-linear-subst-tried' to t. | ||
| 14925 | |||
| 14926 | 2004-11-08 Kim F. Storm <storm@cua.dk> | ||
| 14927 | |||
| 14928 | * Makefile.in (bootstrap-clean): New target for 'make bootstrap'. | ||
| 14929 | |||
| 14930 | 2004-11-07 Juri Linkov <juri@jurta.org> | ||
| 14931 | |||
| 14932 | * info-look.el (info-lookup): Allow reusing in the current buffer | ||
| 14933 | not only *info* buffer, but all (even renamed) Info buffers | ||
| 14934 | by checking for major-mode instead of *info* buffer name. | ||
| 14935 | (c-mode, autoconf-mode, emacs-lisp-mode, scheme-mode) | ||
| 14936 | (octave-mode, maxima-mode) <doc-spec>: | ||
| 14937 | Allow long dashes generated by Texinfo 4.7 before definitions. | ||
| 14938 | (texinfo-mode) <doc-spec>: Add space to suffix to find command | ||
| 14939 | definitions with argument separated by space. | ||
| 14940 | |||
| 14941 | 2004-11-06 Richard M. Stallman <rms@gnu.org> | ||
| 14942 | |||
| 14943 | * simple.el (next-error group, face): Move before first use. | ||
| 14944 | (next-error-highlight, next-error-highlight-no-select): Likewise. | ||
| 14945 | |||
| 14946 | * simple.el (line-move-invisible-p): Rename from line-move-invisible. | ||
| 14947 | (line-move): New args NOERROR and TO-END. | ||
| 14948 | Return t if succeed in moving specified number of lines. | ||
| 14949 | (move-end-of-line): New function. | ||
| 14950 | |||
| 14951 | * simple.el (beginning-of-buffer-other-window): Use with-no-warnings. | ||
| 14952 | (end-of-buffer-other-window): Likewise. | ||
| 14953 | |||
| 14954 | * simple.el (line-move-ignore-invisible): Default to t. | ||
| 14955 | |||
| 14956 | * subr.el (syntax-after): Return the syntax letter, not the raw code. | ||
| 14957 | |||
| 14958 | * emacs-lisp/elp.el (elp-results): Delete wasteful beginning-of-buffer. | ||
| 14959 | |||
| 14960 | * international/iso-cvt.el (iso-cvt-define-menu): | ||
| 14961 | Rename menu-bar-files-menu to menu-bar-file-menu. | ||
| 14962 | |||
| 14963 | * net/browse-url.el (browse-url-gnome-moz-program) | ||
| 14964 | (browse-url-gnome-moz-arguments): Move up before first use. | ||
| 14965 | |||
| 14966 | * net/tramp.el (tramp group): Add :version. | ||
| 14967 | |||
| 14968 | * progmodes/ada-xref.el (ada-gdb-application): | ||
| 14969 | Use goto-char instead of beginning-of-buffer. | ||
| 14970 | |||
| 14971 | * progmodes/cperl-mode.el (cperl-info-on-command): | ||
| 14972 | Use goto-char instead of beginning-of-buffer. | ||
| 14973 | |||
| 14974 | * progmodes/idlw-shell.el (idlwave-shell-examine-map): | ||
| 14975 | Move up before first use. | ||
| 14976 | (idlwave-shell-temp-pro-file): Likewise. | ||
| 14977 | (idlwave-shell-temp-rinfo-save-file): Likewise. | ||
| 14978 | (idlwave-shell-temp-file): Minor doc fix. | ||
| 14979 | |||
| 14980 | * textmodes/flyspell.el (flyspell-external-point-words): | ||
| 14981 | Use goto-char instead of beginning-of-buffer. | ||
| 14982 | |||
| 14983 | 2004-11-06 Kai Grossjohann <kai.grossjohann@gmx.net> | ||
| 14984 | |||
| 14985 | * net/tramp.el (tramp-coding-commands): Additionally try "uudecode -o | ||
| 14986 | /dev/stdout" before trying "uudecode -o -". Suggested by Han Boetes. | ||
| 14987 | (tramp-uudecode): Mention `uudecode -o /dev/stdout'. | ||
| 14988 | |||
| 14989 | 2004-11-06 David Ponce <david@dponce.com> | ||
| 14990 | |||
| 14991 | * recentf.el (recentf-menu-path): Use menu item name. | ||
| 14992 | |||
| 14993 | 2004-11-06 Eli Zaretskii <eliz@gnu.org> | ||
| 14994 | |||
| 14995 | * progmodes/gdb-ui.el: Don't call define-fringe-bitmap if the | ||
| 14996 | display doesn't support images. | ||
| 14997 | |||
| 14998 | 2004-11-06 Andreas Schwab <schwab@suse.de> | ||
| 14999 | |||
| 15000 | * tempo.el (tempo-match-finder): Doc fix. | ||
| 15001 | |||
| 15002 | * emacs-lisp/easymenu.el (easy-menu-get-map): Fix last change. | ||
| 15003 | |||
| 15004 | 2004-11-06 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 15005 | |||
| 15006 | * emacs-lisp/easymenu.el (easy-menu-get-map-look-for-name): Remove. | ||
| 15007 | (easy-menu-lookup-name): New fun to replace it. | ||
| 15008 | (easy-menu-get-map): Use it to obey menu item names (rather than just | ||
| 15009 | keys) when looking up `path'. | ||
| 15010 | (easy-menu-always-true-p): Rename from easy-menu-always-true. | ||
| 15011 | (easy-menu-convert-item-1): Adjust to new name. | ||
| 15012 | |||
| 15013 | 2004-11-06 Peter Heslin <pj@heslin.eclipse.co.uk> (tiny change) | ||
| 15014 | |||
| 15015 | * outline.el (hide-body): Don't hide lines at the top of the file | ||
| 15016 | that precede the first header line. | ||
| 15017 | |||
| 15018 | 2004-11-06 Paul Pogonyshev <pogonyshev@gmx.net> | ||
| 15019 | |||
| 15020 | * align.el (align-areas): Delete whitespace before reindenting, so | ||
| 15021 | that tabs are never placed after spaces. | ||
| 15022 | |||
| 15023 | 2004-11-06 Alan Shutko <ats@acm.org> | ||
| 15024 | |||
| 15025 | * macros.el (insert-kbd-macro): Do completions based on macros, | ||
| 15026 | rather than all commands. | ||
| 15027 | |||
| 15028 | 2004-11-06 David Hansen <david.hansen@gmx.net> (tiny change) | ||
| 15029 | |||
| 15030 | * tempo.el (tempo-match-finder): Use [:word:] instead of "^\\b", | ||
| 15031 | to solve a bug whereby tags with 'b' don't match. | ||
| 15032 | |||
| 15033 | 2004-11-05 Juri Linkov <juri@jurta.org> | ||
| 15034 | |||
| 15035 | * info.el (Info-search): Don't search in node header lines | ||
| 15036 | and file headers. | ||
| 15037 | |||
| 15038 | * emacs-lisp/edebug.el (edebug-next-token-class): Allow all | ||
| 15039 | symbol-constituent characters after dot, not only digits. | ||
| 15040 | |||
| 15041 | 2004-11-04 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 15042 | |||
| 15043 | * files.el (set-auto-mode): Don't get error after setting -*-mode-*-. | ||
| 15044 | |||
| 15045 | 2004-11-04 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 15046 | |||
| 15047 | * dired.el (dired-read-dir-and-switches): Call read-directory-name | ||
| 15048 | if a dialog will be used, read-file-name otherwise. | ||
| 15049 | |||
| 15050 | 2004-11-04 Richard M. Stallman <rms@gnu.org> | ||
| 15051 | |||
| 15052 | * textmodes/table.el (table group): Add :version. | ||
| 15053 | |||
| 15054 | * textmodes/ispell.el (ispell-word): | ||
| 15055 | Don't alter args; set them only thru `interactive' spec. | ||
| 15056 | |||
| 15057 | * textmodes/flyspell.el (flyspell-word): | ||
| 15058 | Don't alter FOLLOWING; set it only thru `interactive' spec. | ||
| 15059 | |||
| 15060 | * progmodes/f90.el (f90-end-of-block): Don't use interactive-p. | ||
| 15061 | |||
| 15062 | * net/browse-url.el (browse-url-maybe-new-window): | ||
| 15063 | Use called-interactively-p. | ||
| 15064 | |||
| 15065 | * mail/supercite.el (sc-cite-region): | ||
| 15066 | Don't use interactive-p. Add arg INTERACTIVE. | ||
| 15067 | (sc-version): Don't use interactive-p. Rename arg to MESSAGE. | ||
| 15068 | |||
| 15069 | * international/mule-cmds.el (set-input-method, toggle-input-method): | ||
| 15070 | Don't use interactive-p. Add arg INTERACTIVE. | ||
| 15071 | |||
| 15072 | * eshell/esh-mode.el (eshell-show-maximum-output): | ||
| 15073 | Don't use interactive-p. | ||
| 15074 | (eshell-truncate-buffer): Just message, no error, if buffer is short. | ||
| 15075 | |||
| 15076 | * mouse.el (mouse-show-mark): Get positions to delete from mark | ||
| 15077 | and point, not from mouse-drag-overlay. | ||
| 15078 | |||
| 15079 | * imenu.el (imenu-eager-completion-buffer): Add :version. | ||
| 15080 | |||
| 15081 | * filesets.el (filesets group): Add :version. | ||
| 15082 | |||
| 15083 | 2004-11-03 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 15084 | |||
| 15085 | * files.el (xml-based-modes): Delete var. | ||
| 15086 | (magic-mode-alist): New more general var. | ||
| 15087 | (set-auto-mode): Use it. | ||
| 15088 | |||
| 15089 | * buff-menu.el (Buffer-menu-make-sort-button): Preserve point even | ||
| 15090 | when clicking from another window. | ||
| 15091 | |||
| 15092 | 2004-11-03 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 15093 | |||
| 15094 | * vc-cvs.el (vc-cvs-local-month-numbers): Delete var. | ||
| 15095 | (vc-cvs-annotate-time): Incorporate value of deleted var. | ||
| 15096 | Remove special-case handling of beginning-of-buffer cruft. | ||
| 15097 | Cache ending position (point) and return value in text property | ||
| 15098 | `vc-cvs-annotate-time', and consult it on subsequent invocations. | ||
| 15099 | |||
| 15100 | * vc-cvs.el (vc-cvs-annotate-command): | ||
| 15101 | Delete extraneous lines from beginning of buffer. | ||
| 15102 | * vc-mcvs.el (vc-mcvs-annotate-command): Likewise. | ||
| 15103 | |||
| 15104 | * progmodes/grep.el (grep-default-command): Take empty string | ||
| 15105 | for tag if all other methods yield nil. Shell-quote the tag. | ||
| 15106 | |||
| 15107 | * vc.el (vc-annotate-display-autoscale): Add prefix-arg | ||
| 15108 | spec in `interactive' form, and mention it in the docstring. | ||
| 15109 | Also, make sure point is at bol after calling `annotate-time'. | ||
| 15110 | |||
| 15111 | 2004-11-02 Richard M. Stallman <rms@gnu.org> | ||
| 15112 | |||
| 15113 | * cus-edit.el (customize-group-other-window): | ||
| 15114 | Select the window that displays the custom buffer. | ||
| 15115 | (custom-buffer-create-other-window): Likewise. | ||
| 15116 | |||
| 15117 | * comint.el (comint-insert-input): Fix previous change. | ||
| 15118 | |||
| 15119 | * emacs-lisp/elp.el (elp-instrument-function): | ||
| 15120 | Use called-interactively-p. | ||
| 15121 | |||
| 15122 | * emacs-lisp/easymenu.el (easy-menu-intern): | ||
| 15123 | Don't downcase; rather, case-flip the first letter of each word. | ||
| 15124 | |||
| 15125 | * emacs-lisp/easy-mmode.el (define-minor-mode): | ||
| 15126 | Use called-interactively-p. | ||
| 15127 | |||
| 15128 | * emacs-lisp/bytecomp.el (byte-compile-warning-types): | ||
| 15129 | Add interactive-only. | ||
| 15130 | (byte-compile-warnings): Add interactive-only as option. | ||
| 15131 | (byte-compile-interactive-only-functions): New variable. | ||
| 15132 | (byte-compile-form): Warn about calls to functions | ||
| 15133 | in byte-compile-interactive-only-functions. | ||
| 15134 | |||
| 15135 | * emacs-lisp/autoload.el (update-file-autoloads): | ||
| 15136 | Don't use interactive-p; take new arg SAVE-AFTER. | ||
| 15137 | |||
| 15138 | * emacs-lisp/advice.el (ad-make-advised-definition): | ||
| 15139 | Use called-interactively-p. | ||
| 15140 | |||
| 15141 | 2004-11-02 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 15142 | |||
| 15143 | * files.el (find-file-existing): New function. | ||
| 15144 | |||
| 15145 | * menu-bar.el (menu-bar-files-menu): Make "Open File..." call | ||
| 15146 | find-file-existing. Add "New File..." that calls find-file. | ||
| 15147 | |||
| 15148 | * diropen.pbm, diropen.xpm: New files. | ||
| 15149 | |||
| 15150 | * toolbar/tool-bar.el (tool-bar-setup): Tool bar item dired uses | ||
| 15151 | icon diropen. New tool bar item find-file-existing uses icon open. | ||
| 15152 | |||
| 15153 | * dired.el (dired-read-dir-and-switches): Call read-directory-name | ||
| 15154 | instead of read-file-name. | ||
| 15155 | |||
| 15156 | 2004-11-02 Ulf Jasper <ulf.jasper@web.de> | ||
| 15157 | |||
| 15158 | * calendar/icalendar.el (icalendar-version): Increase to 0.08. | ||
| 15159 | (icalendar--split-value): Change name of work buffer. | ||
| 15160 | (icalendar--get-weekday-abbrev): Return nil on error. | ||
| 15161 | (icalendar--date-to-isodate): New function. | ||
| 15162 | (icalendar-convert-diary-to-ical) | ||
| 15163 | (icalendar-extract-ical-from-buffer): Use only two args for | ||
| 15164 | make-obsolete (XEmacs compatibility). | ||
| 15165 | (icalendar-export-file, icalendar-import-file): Blank at end of prompt. | ||
| 15166 | (icalendar-export-region): Doc fix. | ||
| 15167 | If error, return non-nil and write errors to a buffer. | ||
| 15168 | Use correct weekday for weekly recurring events. | ||
| 15169 | Check whether date has been parsed for ordinary events. | ||
| 15170 | Make weekly events start in the year 2000. | ||
| 15171 | DTEND is non-inclusive, shift end date by one day if | ||
| 15172 | necessary (not for entries that have date and time). | ||
| 15173 | Rename local let variables: oops -> found-error, datestring -> | ||
| 15174 | startdatestring. | ||
| 15175 | |||
| 15176 | 2004-11-02 Kim F. Storm <storm@cua.dk> | ||
| 15177 | |||
| 15178 | * files.el (set-auto-mode-0): Don't rely on dynamic binding of | ||
| 15179 | keep-mode-if-same variable. Add it as optional arg instead. | ||
| 15180 | (set-auto-mode): Call set-auto-mode-0 with keep-mode-if-same. | ||
| 15181 | |||
| 15182 | * ehelp.el (electric-help-map): Reorder Q/q and R/r entries so | ||
| 15183 | substitute-command-keys will select lower-case bindings like those | ||
| 15184 | used in the static help texts. | ||
| 15185 | |||
| 15186 | * descr-text.el (describe-text-properties): Don't err if called in | ||
| 15187 | the *Help* buffer; output to *Help-2* buffer instead. | ||
| 15188 | |||
| 15189 | * kmacro.el (group kmacro): Add :version. | ||
| 15190 | (kmacro-keyboard-quit): New function to cleanup on C-g. | ||
| 15191 | (kmacro-start-macro): Set defining-kbd-macro to append when | ||
| 15192 | appending to last macro. | ||
| 15193 | |||
| 15194 | * simple.el (keyboard-quit): Call kmacro-keyboard-quit. | ||
| 15195 | |||
| 15196 | 2004-11-02 Nick Roberts <nickrob@snap.net.nz> | ||
| 15197 | |||
| 15198 | * progmodes/gdb-ui.el (gdb-enable-debug-log) | ||
| 15199 | (gdb-use-inferior-io-buffer, gdb-use-colon-colon-notation) | ||
| 15200 | (gud-gdba-command-name, gdb-show-main, gdb-many-windows): | ||
| 15201 | Add :version keyword. | ||
| 15202 | |||
| 15203 | 2004-11-02 Pavel Kobiakov <pk_at_work@yahoo.com> | ||
| 15204 | |||
| 15205 | * progmodes/flymake.el (flymake-err-line-patterns): | ||
| 15206 | Use `flymake-reformat-err-line-patterns-from-compile-el' to convert | ||
| 15207 | `compilation-error-regexp-alist-alist' to internal Flymake format. | ||
| 15208 | |||
| 15209 | * progmodes/flymake.el: Eliminate byte-compiler warnings. | ||
| 15210 | |||
| 15211 | 2004-11-01 Jay Belanger <belanger@truman.edu> | ||
| 15212 | |||
| 15213 | * calc/calc-frac.el (calc-over-notation): Replace `completing-read' | ||
| 15214 | with `interactive "s"'. | ||
| 15215 | |||
| 15216 | 2004-11-01 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 15217 | |||
| 15218 | * mouse.el (mouse-yank-at-click, mouse-yank-secondary): | ||
| 15219 | Revert change from 2004-10-16. '*' checks the current buffer, but the | ||
| 15220 | mouse click may be in another buffer. | ||
| 15221 | |||
| 15222 | 2004-11-01 John Paul Wallington <jpw@gnu.org> | ||
| 15223 | |||
| 15224 | * files.el (large-file-warning-threshold): Add :version keyword. | ||
| 15225 | (kill-some-buffers): Doc fix. | ||
| 15226 | |||
| 15227 | * thumbs.el (group thumbs): Add :version keyword. | ||
| 15228 | |||
| 15229 | * textmodes/bibtex.el (bibtex-make-field): Fix typo. | ||
| 15230 | |||
| 15231 | 2004-11-01 Richard M. Stallman <rms@gnu.org> | ||
| 15232 | |||
| 15233 | * textmodes/ispell.el (ispell-word): Don't use interactive-p. | ||
| 15234 | |||
| 15235 | * textmodes/flyspell.el (flyspell-word): Don't use interactive-p. | ||
| 15236 | |||
| 15237 | * allout.el (allout group): Add :version. | ||
| 15238 | (allout-init): Don't use interactive-p. | ||
| 15239 | (allout-ascend-to-depth, allout-ascend, allout-end-of-level) | ||
| 15240 | (allout-forward-current-level, allout-backward-current-level): | ||
| 15241 | Don't use interactive-p. | ||
| 15242 | |||
| 15243 | * textmodes/bibtex.el (bibtex-make-field): Don't use interactive-p. | ||
| 15244 | (bibtex-find-text): Likewise. | ||
| 15245 | |||
| 15246 | * progmodes/vhdl-mode.el (vhdl-fill-region) | ||
| 15247 | (vhdl-beginning-of-statement): Don't use interactive-p. | ||
| 15248 | |||
| 15249 | * progmodes/idlwave.el (idlwave-update-routine-info): | ||
| 15250 | Don't use interactive-p. | ||
| 15251 | |||
| 15252 | * progmodes/idlw-shell.el (idlwave-shell-send-char): | ||
| 15253 | Don't use interactive-p. | ||
| 15254 | |||
| 15255 | * progmodes/cperl-mode.el (cperl-switch-to-doc-buffer): | ||
| 15256 | Don't use interactive-p. | ||
| 15257 | |||
| 15258 | * progmodes/ada-xref.el (ada-make-body-gnatstub): | ||
| 15259 | Don't use interactive-p. | ||
| 15260 | |||
| 15261 | * play/fortune.el (fortune-to-signature): Don't use interactive-p. | ||
| 15262 | (fortune-in-buffer): Doc fix. | ||
| 15263 | |||
| 15264 | * play/5x5.el (5x5-new-game): Set up the buffer even if not | ||
| 15265 | interactive. | ||
| 15266 | |||
| 15267 | * net/eudc.el (eudc-display-records): Use with-output-to-temp-buffer; | ||
| 15268 | don't select the temporary buffer. | ||
| 15269 | (eudc-get-email): New optional arg ERROR; don't use interactive-p. | ||
| 15270 | (eudc-get-phone): Likewise. | ||
| 15271 | |||
| 15272 | 2004-11-01 Kim F. Storm <storm@cua.dk> | ||
| 15273 | |||
| 15274 | * man.el (Man-xref-normal-file): Fix help-echo. | ||
| 15275 | |||
| 15276 | 2004-10-31 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 15277 | |||
| 15278 | * reveal.el (reveal-last-tick): New var. | ||
| 15279 | (reveal-post-command): Use it to avoid closing overlays when we're | ||
| 15280 | appending text to them. | ||
| 15281 | |||
| 15282 | 2004-10-31 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de> | ||
| 15283 | |||
| 15284 | * textmodes/bibtex.el: Require button. | ||
| 15285 | (bibtex-autokey-transcriptions): Translate TeX `\ ' to space. | ||
| 15286 | (bibtex-reference-keys): Distinguish between header keys and | ||
| 15287 | crossref keys. | ||
| 15288 | (bibtex-beginning-of-field): New function. | ||
| 15289 | (bibtex-url-map): Remove. | ||
| 15290 | (bibtex-font-lock-keywords): Use bibtex-font-lock-crossref. | ||
| 15291 | (bibtex-font-lock-url-regexp): Assume that field names begin at | ||
| 15292 | the beginning of a line. | ||
| 15293 | (bibtex-font-lock-url): Simplify. Do not use bibtex-enclosing-field. | ||
| 15294 | Remove field delimiters. Use bibtex-beginning-of-field. | ||
| 15295 | Bugfix, point can be inside a field with a url. | ||
| 15296 | (bibtex-font-lock-crossref, bibtex-button-action, bibtex-button): | ||
| 15297 | New functions. | ||
| 15298 | (bibtex-mark-active, bibtex-run-with-idle-timer): Remove. | ||
| 15299 | (bibtex-key-in-head): Simplify. | ||
| 15300 | (bibtex-current-line): Use bolp. | ||
| 15301 | (bibtex-parse-keys): Remove unused arg `add'. | ||
| 15302 | Use bibtex-type-in-head and bibtex-key-in-head. | ||
| 15303 | (bibtex-parse-entry, bibtex-autofill-entry): | ||
| 15304 | Use bibtex-type-in-head and bibtex-key-in-head. | ||
| 15305 | (bibtex-autokey-get-field): Do not alter case of replacement text. | ||
| 15306 | (bibtex-autokey-get-names): Do all processing of name list. | ||
| 15307 | (bibtex-autokey-get-year): New function. | ||
| 15308 | (bibtex-autokey-get-title): Do all processing of title words. | ||
| 15309 | (bibtex-generate-autokey): Simplify. | ||
| 15310 | (bibtex-string-files-init): Use default-directory. | ||
| 15311 | Allow for absolute file names in bibtex-string-files. | ||
| 15312 | (bibtex-files, bibtex-file-path): New variables. | ||
| 15313 | (bibtex-files-expand): New function. | ||
| 15314 | (bibtex-find-entry-globally): New command. | ||
| 15315 | (bibtex-summary-function): New variable. | ||
| 15316 | (bibtex-summary): Default value of bibtex-summary-function. | ||
| 15317 | (bibtex-find-crossref): New optional args pnt and split. | ||
| 15318 | (bibtex-complete-key-cleanup): Call bibtex-summary-function. | ||
| 15319 | (bibtex-copy-summary-as-kill): New command bound to C-cC-t. | ||
| 15320 | (bibtex-validate): Fix docstring. Check only abbreviated month fields. | ||
| 15321 | Fix handling of required and alternative fields. | ||
| 15322 | Identify duplicate keys even if bibtex-maintain-sorted-entries is nil. | ||
| 15323 | Use cons and display-buffer. | ||
| 15324 | (bibtex-validate-globally): New command. | ||
| 15325 | (bibtex-clean-entry): Use bibtex-files-expand. Do not call | ||
| 15326 | bibtex-parse-keys and bibtex-parse-strings for updating | ||
| 15327 | bibtex-reference-keys and bibtex-strings. | ||
| 15328 | (bibtex-realign): Remove blank lines past the last entry. | ||
| 15329 | (bibtex-reformat): Use bibtex-entry-format as default. | ||
| 15330 | (bibtex-choose-completion-string): Remove. | ||
| 15331 | (bibtex-complete): Do not use bibtex-choose-completion-string. | ||
| 15332 | (bibtex-url): Simplify. | ||
| 15333 | |||
| 15334 | 2004-10-31 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 15335 | |||
| 15336 | * x-dnd.el (x-dnd-test-function, x-dnd-protocol-alist) | ||
| 15337 | (x-dnd-types-alist, x-dnd-open-file-other-window) | ||
| 15338 | (x-dnd-known-types): Add :version. | ||
| 15339 | |||
| 15340 | 2004-10-31 John Paul Wallington <jpw@gnu.org> | ||
| 15341 | |||
| 15342 | * ibuffer.el (group ibuffer): Add :version keyword. | ||
| 15343 | |||
| 15344 | 2004-10-31 Kim F. Storm <storm@cua.dk> | ||
| 15345 | |||
| 15346 | * ido.el (group ido): Add :version keyword. | ||
| 15347 | (ido-mode): Remove :version keyword. | ||
| 15348 | |||
| 15349 | * emulation/cua-base.el (group cua): Add :version keyword. | ||
| 15350 | (cua-mode): Remove :version keyword. | ||
| 15351 | |||
| 15352 | 2004-10-30 Luc Teirlinck <teirllm@auburn.edu> | ||
| 15353 | |||
| 15354 | * autorevert.el (auto-revert-tail-mode-text): Add :version keyword. | ||
| 15355 | |||
| 15356 | * help-at-pt.el (help-at-pt-timer): Move defvar up to avoid | ||
| 15357 | compiler warning. | ||
| 15358 | (help-at-pt-timer-delay): Add :initialize keyword. Simplify :set | ||
| 15359 | function. | ||
| 15360 | (help-at-pt-display-when-idle): Remove autoload. | ||
| 15361 | |||
| 15362 | 2004-10-30 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 15363 | |||
| 15364 | * makefile.w32-in (custom-deps, autoloads): Fix *-hooks -> *-hook. | ||
| 15365 | |||
| 15366 | 2004-10-30 Juri Linkov <juri@jurta.org> | ||
| 15367 | |||
| 15368 | * help.el (function-called-at-point): | ||
| 15369 | * help-fns.el (variable-at-point): Read -> intern. | ||
| 15370 | |||
| 15371 | 2004-10-30 Simon Josefsson <jas@extundo.com> | ||
| 15372 | |||
| 15373 | * progmodes/autoconf.el (autoconf-font-lock-keywords): | ||
| 15374 | Recognize AS_* too. | ||
| 15375 | |||
| 15376 | 2004-10-29 Simon Josefsson <jas@extundo.com> | ||
| 15377 | |||
| 15378 | * subr.el (read-passwd): Move back from password.el. | ||
| 15379 | |||
| 15380 | * password.el: Remove, not ready yet. | ||
| 15381 | |||
| 15382 | 2004-10-29 Andreas Schwab <schwab@suse.de> | ||
| 15383 | |||
| 15384 | * speedbar.el (speedbar-frame-parameters): Improve customize type. | ||
| 15385 | |||
| 15386 | 2004-10-29 Sam Steingold <sds@gnu.org> | ||
| 15387 | |||
| 15388 | * mouse.el (mouse-show-mark): Replace the last occurrence of | ||
| 15389 | x-lost-selection-hooks with x-lost-selection-functions. | ||
| 15390 | |||
| 15391 | 2004-10-28 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 15392 | |||
| 15393 | * mouse.el (mouse-show-mark): Adjust to new name and don't assume | ||
| 15394 | x-lost-selection-functions is bound. | ||
| 15395 | |||
| 15396 | * mouse-sel.el (mouse-sel-mode): | ||
| 15397 | * emacs-lisp/lselect.el: Adjust to new names for | ||
| 15398 | x-(lost|sent)-selection-functions. | ||
| 15399 | |||
| 15400 | * subr.el (x-lost-selection-hooks, x-sent-selection-hooks): | ||
| 15401 | New obsolete aliases of x-lost-selection-functions and | ||
| 15402 | x-sent-selection-functions. | ||
| 15403 | |||
| 15404 | 2004-10-28 Kim F. Storm <storm@cua.dk> | ||
| 15405 | |||
| 15406 | * imenu.el (imenu-scanning-message): Remove. | ||
| 15407 | (imenu-progress-message): Make it a no-op. | ||
| 15408 | |||
| 15409 | 2004-10-28 John Paul Wallington <jpw@gnu.org> | ||
| 15410 | |||
| 15411 | * files.el (set-auto-mode): Call `throw' correctly. | ||
| 15412 | |||
| 15413 | 2004-10-28 Juri Linkov <juri@jurta.org> | ||
| 15414 | |||
| 15415 | * info.el (Info-file-list-for-emacs): Add ("Info" . "info") | ||
| 15416 | to search `Info-...' commands in `info' manual. | ||
| 15417 | (Info-goto-emacs-command-node, Info-goto-emacs-key-command-node): | ||
| 15418 | Add 'info-file "emacs" property. | ||
| 15419 | (Info-find-emacs-command-nodes): Fix index line number regexp. | ||
| 15420 | Set real line number (instead of fake 0) in first element of the | ||
| 15421 | returned list. | ||
| 15422 | (Info-goto-emacs-command-node): Use line number of first element | ||
| 15423 | to set point in the first found Info node. | ||
| 15424 | |||
| 15425 | * progmodes/grep.el (grep-regexp-alist): Move match highlighting | ||
| 15426 | code to `grep-mode-font-lock-keywords'. | ||
| 15427 | (grep-mode-font-lock-keywords): Delete grep markers instead | ||
| 15428 | of making them invisible. | ||
| 15429 | |||
| 15430 | 2004-10-28 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 15431 | |||
| 15432 | * mail/emacsbug.el (report-emacs-bug): Insert x-server-vendor | ||
| 15433 | and x-server-version in bug report. | ||
| 15434 | |||
| 15435 | 2004-10-28 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 15436 | |||
| 15437 | * files.el (set-auto-mode-0): New function. | ||
| 15438 | (set-auto-mode): Use it to handle aliased modes and to | ||
| 15439 | be consistent between C-x C-f and C-x C-w. | ||
| 15440 | |||
| 15441 | 2004-10-28 Kenichi Handa <handa@m17n.org> | ||
| 15442 | |||
| 15443 | * international/utf-8.el (utf-translate-cjk-charsets): | ||
| 15444 | Add katakana-jisx0201. | ||
| 15445 | |||
| 15446 | * international/subst-jis.el: Add data for JISX0201. | ||
| 15447 | |||
| 15448 | 2004-10-27 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 15449 | |||
| 15450 | * obsolete/hilit19.el (hilit-mode): New function. | ||
| 15451 | Move all the toplevel side-effecting stuff into it, so that loading | ||
| 15452 | hilit19 doesn't mess everything up any more. | ||
| 15453 | |||
| 15454 | 2004-10-27 Richard M. Stallman <rms@gnu.org> | ||
| 15455 | |||
| 15456 | * add-log.el (add-change-log-entry): Set up mailing address | ||
| 15457 | and full name later, and don't alter add-log-mailing-address | ||
| 15458 | or add-log-full-name. | ||
| 15459 | |||
| 15460 | * elide-head.el (elide-head): Change error to message. | ||
| 15461 | (elide-head-show): Likewise. | ||
| 15462 | |||
| 15463 | * apropos.el (apropos-macrop): Doc fix. | ||
| 15464 | |||
| 15465 | * mouse.el (mouse-show-mark): Do most processing the same | ||
| 15466 | regardless of transient-mark-mode. | ||
| 15467 | |||
| 15468 | * shadowfile.el (shadow-copy-files): Use interactive-p | ||
| 15469 | only to control whether to print a message. | ||
| 15470 | |||
| 15471 | * tar-mode.el (tar-mode): Use write-contents-functions, | ||
| 15472 | not write-contents-hooks. | ||
| 15473 | |||
| 15474 | * eshell/em-unix.el (eshell-du-sum-directory): Don't use | ||
| 15475 | directory-sep-char. | ||
| 15476 | |||
| 15477 | 2004-10-27 Richard M. Stallman <rms@gnu.org> | ||
| 15478 | |||
| 15479 | * strokes.el (strokes-unload-hook): Fix previous change. | ||
| 15480 | |||
| 15481 | * type-break.el (type-break-run-at-time): Always use run-at-time; | ||
| 15482 | forget the alternatives. | ||
| 15483 | (type-break-cancel-function-timers): Always use cancel-function-timers; | ||
| 15484 | forget the alternatives. | ||
| 15485 | |||
| 15486 | * pcomplete.el (pcomplete-entries): Don't use directory-sep-char. | ||
| 15487 | |||
| 15488 | 2004-10-27 Kenichi Handa <handa@m17n.org> | ||
| 15489 | |||
| 15490 | * international/subst-jis.el: Use utf-translate-cjk-substitutable-p. | ||
| 15491 | |||
| 15492 | * international/subst-gb2312.el: Likewise. | ||
| 15493 | |||
| 15494 | * international/subst-big5.el: Likewise. | ||
| 15495 | |||
| 15496 | * international/subst-ksc.el: Likewise. | ||
| 15497 | |||
| 15498 | * international/utf-8.el (utf-translate-cjk-unicode-range-string): | ||
| 15499 | New variable. | ||
| 15500 | (utf-translate-cjk-set-unicode-range): New function. | ||
| 15501 | (utf-translate-cjk-unicode-range): Make it customizable. | ||
| 15502 | (utf-8-post-read-conversion): | ||
| 15503 | Use utf-translate-cjk-unicode-range-string. | ||
| 15504 | (ccl-decode-mule-utf-8): Check utf-subst-table-for-decode for more | ||
| 15505 | Unicode ranges. | ||
| 15506 | |||
| 15507 | 2004-10-26 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 15508 | |||
| 15509 | * files.el (auto-mode-alist): Add pod, js, xbm and xpm and group | ||
| 15510 | trivial variants to shorten the list. | ||
| 15511 | (xml-based-modes): New var. | ||
| 15512 | (set-auto-mode): Give interpreter-mode-alist or <?xml or <!DOCTYPE | ||
| 15513 | declaration higher priority than auto-mode-alist. | ||
| 15514 | |||
| 15515 | * find-file.el (cc-other-file-alist): Bring it in line with | ||
| 15516 | cc-mode's auto-mode-alist entries and use \' instead of $. | ||
| 15517 | |||
| 15518 | * textmodes/sgml-mode.el (sgml-mode): Fix imenu-generic-expression | ||
| 15519 | and add "Id" and "Name" submenus to it. | ||
| 15520 | |||
| 15521 | * imenu.el (imenu--generic-function): Skip matches in comments. | ||
| 15522 | |||
| 15523 | 2004-10-26 Jay Belanger <belanger@truman.edu> | ||
| 15524 | |||
| 15525 | * calc/calc.el (calc,full-calc, calc-quit, calc-keypad) | ||
| 15526 | (full-calc-keypad, calc-trail-display): Use an extra argument | ||
| 15527 | instead of `interactive-p'. | ||
| 15528 | |||
| 15529 | * calc/calc-misc.el (calc-other-window): Use an extra argument | ||
| 15530 | instead of `interactive-p'. | ||
| 15531 | |||
| 15532 | * calc/calc-rewr.el (calc-match): Use an extra argument instead of | ||
| 15533 | `interactive-p'. | ||
| 15534 | |||
| 15535 | 2004-10-26 Kim F. Storm <storm@cua.dk> | ||
| 15536 | |||
| 15537 | * help.el (describe-key): Describe both down-event and up-event | ||
| 15538 | for a mouse click. | ||
| 15539 | |||
| 15540 | 2004-10-26 Richard M. Stallman <rms@gnu.org> | ||
| 15541 | |||
| 15542 | * woman.el (woman): Don't call interactive-p. | ||
| 15543 | |||
| 15544 | * pcomplete.el (pcomplete): Instead of interactive-p, | ||
| 15545 | use an arg set non-nil by the interactive spec. | ||
| 15546 | |||
| 15547 | * menu-bar.el (menu-bar-make-toggle): Instead of interactive-p, | ||
| 15548 | use an arg set non-nil by the interactive spec. | ||
| 15549 | |||
| 15550 | * man.el (Man-cleanup-manpage): Instead of interactive-p, | ||
| 15551 | use an arg set non-nil by the interactive spec. | ||
| 15552 | |||
| 15553 | 2004-10-26 Pavel Kobiakov <pk_at_work@yahoo.com> | ||
| 15554 | |||
| 15555 | * progmodes/flymake.el (flymake-split-string): | ||
| 15556 | Use `flymake-split-string-remove-empty-edges' in any case. | ||
| 15557 | |||
| 15558 | 2004-10-26 Masatake YAMATO <jet@gyve.org> | ||
| 15559 | |||
| 15560 | * progmodes/flymake.el (flymake-err-line-patterns): | ||
| 15561 | Use `compilation-error-regexp-alist-alist' instead of | ||
| 15562 | `compilation-error-regexp-alist'. | ||
| 15563 | |||
| 15564 | 2004-10-25 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 15565 | |||
| 15566 | * textmodes/tex-mode.el (tex-font-lock-keywords-1): Fix up the spurious | ||
| 15567 | verbatim face on the \ of \end{verbatim}. | ||
| 15568 | |||
| 15569 | 2004-10-25 Jay Belanger <belanger@truman.edu> | ||
| 15570 | |||
| 15571 | * calc/calc-incom.el (calc-digit-dots): Inhibit read-only before | ||
| 15572 | erasing minibuffer. | ||
| 15573 | |||
| 15574 | 2004-10-25 Simon Josefsson <jas@extundo.com> | ||
| 15575 | |||
| 15576 | * subr.el (read-passwd): Move to net/password.el. | ||
| 15577 | |||
| 15578 | * net/password.el (read-passwd): Add. Autoload it. | ||
| 15579 | |||
| 15580 | 2004-10-25 Kai Grossjohann <kai.grossjohann@gmx.net> | ||
| 15581 | |||
| 15582 | * mouse-sel.el (mouse-sel-mode): Specify custom group. | ||
| 15583 | |||
| 15584 | * simple.el (process-file): Fix logic. | ||
| 15585 | |||
| 15586 | 2004-10-24 Luc Teirlinck <teirllm@auburn.edu> | ||
| 15587 | |||
| 15588 | * indent.el (set-left-margin, set-right-margin): Delete redundant code. | ||
| 15589 | (increase-right-margin): Remove erroneous call to `interactive-p'. | ||
| 15590 | |||
| 15591 | 2004-10-24 Kim F. Storm <storm@cua.dk> | ||
| 15592 | |||
| 15593 | * help.el (describe-mode): Fix 2004-10-13 change. | ||
| 15594 | Copy pure "Auto Fill" string so it can be propertized later | ||
| 15595 | without causing a read-only error. | ||
| 15596 | |||
| 15597 | 2004-10-24 Luc Teirlinck <teirllm@auburn.edu> | ||
| 15598 | |||
| 15599 | * info.el (Info-find-emacs-command-nodes): Adapt to Texinfo-4.7 | ||
| 15600 | style indexes. | ||
| 15601 | |||
| 15602 | 2004-10-24 Kai Grossjohann <kai.grossjohann@gmx.net> | ||
| 15603 | |||
| 15604 | * simple.el (process-file): Accept nil for INFILE. Reported by | ||
| 15605 | Luc Teirlinck. | ||
| 15606 | |||
| 15607 | 2004-10-24 Masatake YAMATO <jet@gyve.org> | ||
| 15608 | |||
| 15609 | * progmodes/gdb-ui.el (gdb-assembler-font-lock-keywords): | ||
| 15610 | Handle periods and underscores in a function name. | ||
| 15611 | Remove the address fontification. | ||
| 15612 | |||
| 15613 | 2004-10-24 Masatake YAMATO <jet@gyve.org> | ||
| 15614 | |||
| 15615 | * progmodes/asm-mode.el (asm-font-lock-keywords): | ||
| 15616 | Use font-lock-variable-name-face for registers. | ||
| 15617 | |||
| 15618 | 2004-10-24 Nick Roberts <nickrob@snap.net.nz> | ||
| 15619 | |||
| 15620 | * progmodes/gdb-ui.el (gdb-get-create-buffer): Allow modes to run | ||
| 15621 | kill-all-local-variables. | ||
| 15622 | (gdb-breakpoints-mode, gdb-frames-mode, gdb-threads-mode) | ||
| 15623 | (gdb-registers-mode, gdb-locals-mode, gdb-assembler-mode): | ||
| 15624 | Use kill-all-local-variables and provide mode-hooks. | ||
| 15625 | (gdb-assembler-font-lock-keywords): New font lock keywords definition. | ||
| 15626 | (gdb-assembler-mode): Use 'gdb-assembler-font-lock-keywords'. | ||
| 15627 | Suggested by Masatake YAMATO <jet@gyve.org>. | ||
| 15628 | |||
| 15629 | 2004-10-23 Kai Grossjohann <kai.grossjohann@gmx.net> | ||
| 15630 | |||
| 15631 | * simple.el (process-file): New function, similar to call-process | ||
| 15632 | but supports file handlers. | ||
| 15633 | * vc.el (vc-do-command): Use it, instead of call-process. | ||
| 15634 | * net/tramp-vc.el (vc-do-command): Do not advise it if | ||
| 15635 | process-file is fboundp. | ||
| 15636 | * net/tramp.el (tramp-file-name-handler-alist): Add entry for | ||
| 15637 | process-file. | ||
| 15638 | (tramp-handle-process-file): New function. | ||
| 15639 | (tramp-file-name-for-operation): Support process-file. | ||
| 15640 | |||
| 15641 | 2004-10-23 Ulf Jasper <ulf.jasper@web.de> | ||
| 15642 | |||
| 15643 | * calendar/icalendar.el (icalendar--weekday-array): New constant. | ||
| 15644 | (icalendar-weekdayabbrev-table) | ||
| 15645 | (icalendar-monthnumber-table): Delete. | ||
| 15646 | (icalendar--get-month-number): Use calendar-month-name-array. | ||
| 15647 | (icalendar--get-weekday-number): New function. | ||
| 15648 | (icalendar--get-weekday-abbrev) Use calendar-day-name-array. | ||
| 15649 | (icalendar-export-region): Handle multi-line entries. | ||
| 15650 | (icalendar--convert-ical-to-diary): Use calendar-day-name-array. | ||
| 15651 | |||
| 15652 | 2004-10-23 John Paul Wallington <jpw@gnu.org> | ||
| 15653 | |||
| 15654 | * ibuffer.el (ibuffer-find-file): Remove `interactive-p' call; | ||
| 15655 | `wildcards' set to t in interactive spec. | ||
| 15656 | |||
| 15657 | * ibuf-ext.el (ibuffer-jump-to-buffer): Read buffer name in | ||
| 15658 | interactive spec rather than use `interactive-p'. | ||
| 15659 | (ibuffer-kill-line): Set arg `interactive-p' in interactive spec | ||
| 15660 | rather than use function `interactive-p'. | ||
| 15661 | |||
| 15662 | 2004-10-21 Jay Belanger <belanger@truman.edu> | ||
| 15663 | |||
| 15664 | * calc/calc-aent.el (calc-alg-ent-map, calc-alg-ent-esc-map): | ||
| 15665 | Declare these variables with defvar. | ||
| 15666 | |||
| 15667 | * calc/calc-aent.el (calc-do-alg-entry): Since `calc-alg-ent-map' | ||
| 15668 | is bound, only check to see if it is bound. | ||
| 15669 | |||
| 15670 | 2004-10-21 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 15671 | |||
| 15672 | * textmodes/tex-mode.el (tex-compilation-parse-errors): | ||
| 15673 | Don't output messages. | ||
| 15674 | |||
| 15675 | * calc/calc-help.el (calc-describe-bindings): Fix last change. | ||
| 15676 | |||
| 15677 | 2004-10-21 John Paul Wallington <jpw@gnu.org> | ||
| 15678 | |||
| 15679 | * calc/calc-graph.el (calc-graph-init): | ||
| 15680 | Use `set-process-query-on-exit-flag'. | ||
| 15681 | |||
| 15682 | 2004-10-21 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 15683 | |||
| 15684 | * progmodes/compile.el (compilation-start): Rely on `cd' to get | ||
| 15685 | dir right and also allow argumentless cd. | ||
| 15686 | |||
| 15687 | 2004-10-19 Richard M. Stallman <rms@gnu.org> | ||
| 15688 | |||
| 15689 | * textmodes/flyspell.el (flyspell-mode): Doc fix. | ||
| 15690 | |||
| 15691 | * eshell/em-unix.el (eshell-grep): | ||
| 15692 | Don't bind compilation-process-setup-function. | ||
| 15693 | |||
| 15694 | * comint.el (comint-insert-input): Use @ in `interactive'. | ||
| 15695 | (comint-input-filter-functions): Doc fix. | ||
| 15696 | (comint-kill-whole-line, comint-get-source): Doc fix. | ||
| 15697 | |||
| 15698 | * progmodes/compile.el (compilation-setup): | ||
| 15699 | Don't set buffer-read-only if MINOR is non-nil. | ||
| 15700 | |||
| 15701 | 2004-10-19 Jay Belanger <belanger@truman.edu> | ||
| 15702 | |||
| 15703 | * calc/calc.el (calc-emacs-type-19, calc-emacs-type-epoch) | ||
| 15704 | (calc-emacs-type-gnu19): Remove. | ||
| 15705 | (calc-digit-map, calc-read-key-sequence, calc-read-key): | ||
| 15706 | Remove check for old emacs versions. | ||
| 15707 | |||
| 15708 | * calc/calc-ext.el (calc-fancy-prefix): Remove emacs version check. | ||
| 15709 | (calc-init-extensions): Define `calc-alg-map' and `calc-alg-esc-map' | ||
| 15710 | for current Emacs. | ||
| 15711 | |||
| 15712 | * calc/calc-aent.el (calcAlg-previous): Check to see if looking at | ||
| 15713 | the end of the minibuffer. | ||
| 15714 | (calc-do-alg-entry): Remove Emacs version check. Use `copy-keymap' to | ||
| 15715 | copy `esc-map'. | ||
| 15716 | |||
| 15717 | * calc/calc-graph.el (calc-graph-plot): Remove emacs version check. | ||
| 15718 | |||
| 15719 | * calc/calc-mode.el (calc-total-algebraic-mode): Remove error | ||
| 15720 | call that would be given when the current emacs was used. | ||
| 15721 | |||
| 15722 | 2004-10-19 Ulf Jasper <ulf.jasper@web.de> | ||
| 15723 | |||
| 15724 | * calendar/icalendar.el: Set coding to utf-8. | ||
| 15725 | (icalendar-version): Increase to 0.07. | ||
| 15726 | (icalendar-monthnumber-table): Change March pattern. | ||
| 15727 | (icalendar-get-all-event-properties) | ||
| 15728 | (icalendar-set-event-property): Delete. | ||
| 15729 | (icalendar-all-events): No longer interactive. | ||
| 15730 | (icalendar-convert-diary-to-ical) | ||
| 15731 | (icalendar-extract-ical-from-buffer): Make obsolete, and alias to | ||
| 15732 | their replacements. | ||
| 15733 | (icalendar-export-file, icalendar-export-region): New functions; | ||
| 15734 | essentially old `icalendar-convert-diary-to-ical' but appending to | ||
| 15735 | target rather than overwriting. | ||
| 15736 | (icalendar-import-file): Append to target file rather than | ||
| 15737 | overwriting. Fourth arg deleted. | ||
| 15738 | (icalendar-import-buffer): New name for old | ||
| 15739 | `icalendar-extract-ical-from-buffer'. | ||
| 15740 | (icalendar--convert-string-for-import): New name for | ||
| 15741 | old `icalendar-convert-for-import'. | ||
| 15742 | (include-icalendar-files): Delete. | ||
| 15743 | Prefix for all internal functions changed from `icalendar-' | ||
| 15744 | to `icalendar--'. | ||
| 15745 | |||
| 15746 | 2004-10-19 Richard M. Stallman <rms@gnu.org> | ||
| 15747 | |||
| 15748 | * paths.el (news-path): Fix previous change. | ||
| 15749 | |||
| 15750 | 2004-10-18 Jay Belanger <belanger@truman.edu> | ||
| 15751 | |||
| 15752 | * calc/calc-help.el (calc-describe-bindings): | ||
| 15753 | Set `buffer-read-only' to nil while working in the keybindings buffer; | ||
| 15754 | remove some extra information from the keybindings buffer. | ||
| 15755 | |||
| 15756 | 2004-10-18 David Ponce <david@dponce.com> | ||
| 15757 | |||
| 15758 | * mouse.el (mouse-drag-move-window-top): New function. | ||
| 15759 | (mouse-drag-mode-line-1): Use it. | ||
| 15760 | |||
| 15761 | 2004-10-18 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 15762 | |||
| 15763 | * info.el (Info-fontify-node): For multiline refs, | ||
| 15764 | arrange to unfontify newline and surrounding whitespace. | ||
| 15765 | |||
| 15766 | 2004-10-17 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 15767 | |||
| 15768 | * vc-arch.el (vc-arch-workfile-version): Don't burp if the patch-log | ||
| 15769 | directory is missing. | ||
| 15770 | |||
| 15771 | 2004-10-17 John Paul Wallington <jpw@gnu.org> | ||
| 15772 | |||
| 15773 | * ibuffer.el (ibuffer-default-display-maybe-show-predicates): | ||
| 15774 | New customizable variable; whether to display buffers that match | ||
| 15775 | `ibuffer-maybe-show-predicates' by default. | ||
| 15776 | (ibuffer-maybe-show-predicates): Mention it in docstring. | ||
| 15777 | (ibuffer-display-maybe-show-predicates): New variable. | ||
| 15778 | (ibuffer-update): Prefix arg now toggles whether buffers that | ||
| 15779 | match `ibuffer-maybe-show-predicates' should be displayed. | ||
| 15780 | (ibuffer-mode): Set `ibuffer-display-maybe-show-predicates' | ||
| 15781 | locally to heed `ibuffer-default-display-maybe-show-predicates'. | ||
| 15782 | (ibuffer-redisplay-engine): Rename optional second arg to `ignore'. | ||
| 15783 | |||
| 15784 | 2004-10-17 Michael Albinus <michael.albinus@gmx.de> | ||
| 15785 | |||
| 15786 | * net/tramp.el: Redo sync with Tramp 2.0.45. Last commit did not | ||
| 15787 | work correctly. | ||
| 15788 | |||
| 15789 | 2004-10-17 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 15790 | |||
| 15791 | * buff-menu.el (Buffer-menu-revert-function): Emulate save-excursion. | ||
| 15792 | (Buffer-menu-beginning): New helper function. | ||
| 15793 | (Buffer-menu-execute): Use it. | ||
| 15794 | (Buffer-menu-select): Use it. | ||
| 15795 | (Buffer-menu-sort): Use it and also keep markers. | ||
| 15796 | |||
| 15797 | 2004-10-17 Richard M. Stallman <rms@gnu.org> | ||
| 15798 | |||
| 15799 | * paths.el (news-directory): Rename from news-path. Old name alias. | ||
| 15800 | (rmail-spool-directory): Use defvar. | ||
| 15801 | (sendmail-program): Use defcustom. | ||
| 15802 | (remote-shell-program): Use defcustom. | ||
| 15803 | (term-file-prefix): Use defvar. | ||
| 15804 | (abbrev-file-name): Use defvar. | ||
| 15805 | |||
| 15806 | * term.el: Add maintainer. | ||
| 15807 | |||
| 15808 | * subr.el (with-local-quit): Return nil if there's a quit. | ||
| 15809 | (read-passwd): Use with-local-quit. Doc fix. | ||
| 15810 | |||
| 15811 | * strokes.el (strokes-list-strokes): Don't try to delete char at eob. | ||
| 15812 | (strokes-unload-hook): Set as a variable with add-hook. | ||
| 15813 | |||
| 15814 | * startup.el (fancy-splash-tail, normal-splash-screen): | ||
| 15815 | Update copyright year. | ||
| 15816 | |||
| 15817 | * shadowfile.el (shadowfile-unload-hook): Set as variable w/ add-hook. | ||
| 15818 | |||
| 15819 | * server.el (server-unload-hook): Set as a variable with add-hook. | ||
| 15820 | |||
| 15821 | * help-at-pt.el (help-at-pt-unload-hook): Use add-hook; no defvar. | ||
| 15822 | |||
| 15823 | * frame.el (special-display-popup-frame): | ||
| 15824 | Make the buffer current as its frame is created. | ||
| 15825 | |||
| 15826 | * delsel.el (delsel-unload-hook): Set as a variable. | ||
| 15827 | |||
| 15828 | * comint.el (comint-output-filter-functions): | ||
| 15829 | Add comint-watch-for-password-prompt. | ||
| 15830 | (comint-read-noecho): Function deleted. | ||
| 15831 | (send-invisible): Use read-passwd. | ||
| 15832 | |||
| 15833 | * fringe.el (fringe-mode-initialize): New function. | ||
| 15834 | (fringe-mode): Use fringe-mode-initialize as :initialize. | ||
| 15835 | |||
| 15836 | 2004-10-17 Kim F. Storm <storm@cua.dk> | ||
| 15837 | |||
| 15838 | * language/indian.el (indian-script-language-alist): Swap value | ||
| 15839 | and doc. | ||
| 15840 | (indian-font-char-index-table): Doc fix. | ||
| 15841 | |||
| 15842 | 2004-10-16 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 15843 | |||
| 15844 | * vc-hooks.el (vc-find-file-hook): Call vc-backend with absolute name. | ||
| 15845 | |||
| 15846 | 2004-10-16 Juri Linkov <juri@jurta.org> | ||
| 15847 | |||
| 15848 | * progmodes/compile.el (compilation-start): Move let-binding of | ||
| 15849 | `process-environment' into `with-current-buffer' body. | ||
| 15850 | Reported by Matt Hodges <MPHodges@member.fsf.org>. | ||
| 15851 | |||
| 15852 | 2004-10-16 Richard M. Stallman <rms@gnu.org> | ||
| 15853 | |||
| 15854 | * pcvs-util.el (cvs-bury-buffer): | ||
| 15855 | Don't call get-buffer-window for effect. | ||
| 15856 | |||
| 15857 | * outline.el (hide-other): Call outline-up-heading with INVISIBLE-OK=t. | ||
| 15858 | |||
| 15859 | * newcomment.el (comment-auto-fill-only-comments): Add autoload. | ||
| 15860 | |||
| 15861 | * msb.el (msb-unload-hook): Set the variable. | ||
| 15862 | |||
| 15863 | * mouse.el (mouse-yank-at-click, mouse-yank-secondary): | ||
| 15864 | Use * to err if buffer is readonly. | ||
| 15865 | |||
| 15866 | * subr.el (looking-back): Return only t or nil. | ||
| 15867 | |||
| 15868 | * whitespace.el (whitespace-unload-hook): Set the variable. | ||
| 15869 | |||
| 15870 | * view.el (view-mode-enable): Set view-page-size and | ||
| 15871 | view-half-page-size to nil. | ||
| 15872 | (view-set-half-page-size-default): view-half-page-size = nil | ||
| 15873 | means the default. | ||
| 15874 | (View-scroll-page-forward): Use view-page-size-default. | ||
| 15875 | (View-scroll-page-backward): Likewise. | ||
| 15876 | (view-page-size, view-half-page-size): Doc fixes. | ||
| 15877 | |||
| 15878 | * emacs-lisp/elp.el (elp-unload-hook): Set the variable. | ||
| 15879 | |||
| 15880 | * emacs-lisp/cl.el (cl-unload-hook): Don't defvar it, just set it. | ||
| 15881 | |||
| 15882 | * emacs-lisp/bytecomp.el (byte-compile-eval): Don't process | ||
| 15883 | "cl" like other files. Instead, call byte-compile-find-cl-functions. | ||
| 15884 | (byte-compile-log-1): Bind inhibit-read-only. | ||
| 15885 | (byte-compile-warning-prefix, byte-compile-log-file): Likewise. | ||
| 15886 | (byte-compile-log-warning): Likewise. | ||
| 15887 | (byte-compile-file-form-require): Detect "cl" from the arg value. | ||
| 15888 | |||
| 15889 | * progmodes/compile.el (compilation-start): Assume compilation-mode | ||
| 15890 | will make the buffer read-only. | ||
| 15891 | (compilation-mode): Take arg name-of-mode. | ||
| 15892 | (compilation-setup): Make buffer read-only. | ||
| 15893 | (compilation-handle-exit): Bind inhibit-read-only. | ||
| 15894 | |||
| 15895 | * textmodes/ispell.el (ispell-command-loop): Use with-no-warnings. | ||
| 15896 | (ispell-message): Likewise. | ||
| 15897 | (ispell-show-choices): Don't call get-buffer-window uselessly. | ||
| 15898 | (ispell-init-process): Use set-process-query-on-exit-flag. | ||
| 15899 | |||
| 15900 | 2004-10-16 Kim F. Storm <storm@cua.dk> | ||
| 15901 | |||
| 15902 | * fringe.el (fringe-bitmaps): Only initialize when defined. | ||
| 15903 | |||
| 15904 | * pcvs.el (cvs-mode-view-file, cvs-mode-view-file-other-window): Add. | ||
| 15905 | (cvs-mode-find-file): Add optional `view' arg to enter view mode. | ||
| 15906 | |||
| 15907 | * pcvs-defs.el (cvs-mode-map): Bind v to cvs-mode-view-file. | ||
| 15908 | |||
| 15909 | 2004-10-15 Simon Josefsson <jas@extundo.com> | ||
| 15910 | |||
| 15911 | * net/password.el: Add. | ||
| 15912 | |||
| 15913 | 2004-10-14 Masatake YAMATO <jet@gyve.org> | ||
| 15914 | |||
| 15915 | * progmodes/gud.el (gdb-script-beginning-of-defun): New function. | ||
| 15916 | (gdb-script-end-of-defun): New function. | ||
| 15917 | (gdb-script-mode): Use `gdb-script-beginning-of-defun' and | ||
| 15918 | `gdb-script-end-of-defun' as *-of-defun-function. | ||
| 15919 | |||
| 15920 | 2004-10-13 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 15921 | |||
| 15922 | * button.el (button-activate): Allow a marker to display as an action. | ||
| 15923 | |||
| 15924 | * help-fns.el (describe-variable): Use it to make "below" a hyperlink. | ||
| 15925 | |||
| 15926 | * help.el (describe-mode): Use it to make minor mode list into | ||
| 15927 | hyperlinks. | ||
| 15928 | |||
| 15929 | 2004-10-13 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 15930 | |||
| 15931 | * vc.el (vc-annotate-display-select): Fix typo. | ||
| 15932 | |||
| 15933 | * subr.el (substitute-key-definition-key): New function. | ||
| 15934 | (substitute-key-definition): Use it with map-keymap. | ||
| 15935 | (event-modifiers): Use push. | ||
| 15936 | (mouse-movement-p, with-temp-buffer): Simplify. | ||
| 15937 | |||
| 15938 | 2004-10-12 Jay Belanger <belanger@truman.edu> | ||
| 15939 | |||
| 15940 | * calc/calc-help.el (calc-help-function-list, calc-help-variable-list): | ||
| 15941 | New variables. | ||
| 15942 | (calc-help-index-entries): New function. | ||
| 15943 | (calc-describe-function): Use `calc-help-function-list' instead of | ||
| 15944 | obarray for completion. | ||
| 15945 | (calc-describe-variable): Use `calc-help-variable-list' instead | ||
| 15946 | of obarray for completion. | ||
| 15947 | |||
| 15948 | 2004-10-12 Richard M. Stallman <rms@gnu.org> | ||
| 15949 | |||
| 15950 | * info-look.el (info-lookup-file): Add info-file property. | ||
| 15951 | (info-lookup-symbol): Likewise. | ||
| 15952 | |||
| 15953 | * info.el (info-xref): Add underlining. | ||
| 15954 | (info): Add info-file property. | ||
| 15955 | (Info-find-emacs-command-nodes): Specify case-sensitive search. | ||
| 15956 | |||
| 15957 | 2004-10-12 Michael Albinus <michael.albinus@gmx.de> | ||
| 15958 | |||
| 15959 | Sync with Tramp 2.0.45. | ||
| 15960 | |||
| 15961 | * net/tramp.el (top): Apply `def-edebug-spec' only if function is | ||
| 15962 | defined. This is not the case for XEmacs without package "edebug". | ||
| 15963 | (tramp-set-auto-save-file-modes): Set permissions of autosaved | ||
| 15964 | remote files to the permissions of the original file. This is not | ||
| 15965 | the case for Emacs < 21.3.50 and XEmacs < 21.5. Add function to | ||
| 15966 | `auto-save-hook'. Reported by Thomas Prokosch <thomas@nadev.net>. | ||
| 15967 | (tramp-perl-decode): Fix an error in Perl implementation. | ||
| 15968 | $pending must be cleared every loop. Reported by Benjamin Place | ||
| 15969 | <benjaminplace@sprintmail.com> | ||
| 15970 | |||
| 15971 | * net/tramp-smb.el (tramp-smb-advice-PC-do-completion): | ||
| 15972 | Don't activate advice during definition. This is done later on, | ||
| 15973 | depending on test result of `substitute-in-file-name'. | ||
| 15974 | Suggested by Stefan Monnier <monnier@iro.umontreal.ca>. | ||
| 15975 | |||
| 15976 | 2004-10-12 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 15977 | |||
| 15978 | * pcvs-parse.el (cvs-parse-commit): Fix parsing for new commit message. | ||
| 15979 | |||
| 15980 | * emacs-lisp/lisp.el (mark-sexp): Preserve direction when repeating. | ||
| 15981 | |||
| 15982 | 2004-10-12 David Ponce <david@dponce.com> | ||
| 15983 | |||
| 15984 | * recentf.el (recentf-edit-list): Update the menu when the recentf | ||
| 15985 | list has been modified. | ||
| 15986 | |||
| 15987 | 2004-10-12 Simon Josefsson <jas@extundo.com> | ||
| 15988 | |||
| 15989 | * net/tls.el (tls-certtool-program): New variable. | ||
| 15990 | (tls-certificate-information): New function, based on | ||
| 15991 | ssl-certificate-information. | ||
| 15992 | |||
| 15993 | 2004-10-12 Kenichi Handa <handa@m17n.org> | ||
| 15994 | |||
| 15995 | * international/mule.el (coding-system-equal): Move from mule-util.el. | ||
| 15996 | |||
| 15997 | * international/mule-util.el (coding-system-equal): Move to mule.el. | ||
| 15998 | |||
| 15999 | 2004-10-12 Kim F. Storm <storm@cua.dk> | ||
| 16000 | |||
| 16001 | * kmacro.el (kmacro-insert-counter, kmacro-add-counter): Use and | ||
| 16002 | reset kmacro-initial-counter-value if set. | ||
| 16003 | (kmacro-set-counter): Only set kmacro-counter if defining or executing | ||
| 16004 | macro. Set kmacro-initial-counter-value otherwise. Never set both. | ||
| 16005 | (kmacro-display): Show macro counter if non-zero. | ||
| 16006 | |||
| 16007 | * subr.el (substitute-key-definition): Mention command remapping | ||
| 16008 | in doc string. | ||
| 16009 | |||
| 16010 | 2004-10-11 Jay Belanger <belanger@truman.edu> | ||
| 16011 | |||
| 16012 | * calc/calc-misc.el (calc-info-goto-node): New function. | ||
| 16013 | (calc-tutorial, calc-info-summary): Go to appropriate Calc info | ||
| 16014 | node in one step. | ||
| 16015 | (calc-describe-copying, calc-describe-distribution) | ||
| 16016 | (calc-describe-thing, calc-describe-no-warranty, calc-describe-key): | ||
| 16017 | Go to appropriate info node in one step. | ||
| 16018 | |||
| 16019 | 2004-10-11 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 16020 | |||
| 16021 | * pcvs-defs.el (pcl-cvs-load-hook): Remove unused var. | ||
| 16022 | |||
| 16023 | * font-lock.el (font-lock-apply-highlight): Fix last change. | ||
| 16024 | |||
| 16025 | 2004-10-11 Simon Josefsson <jas@extundo.com> | ||
| 16026 | |||
| 16027 | * mail/smtpmail.el (smtpmail-open-stream): Look for | ||
| 16028 | starttls-gnutls-program instead of starttls-program iff | ||
| 16029 | starttls-use-gnutls is non-nil. | ||
| 16030 | (smtpmail-open-stream): Don't overwrite user settings of | ||
| 16031 | starttls-extra-arguments and starttls-extra-args. | ||
| 16032 | |||
| 16033 | 2004-10-10 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 16034 | |||
| 16035 | * comint.el (comint-mouse-insert-input): Remove. | ||
| 16036 | (comint-insert-input): Make it work for mouse bindings. | ||
| 16037 | (comint-mode-map): Move defs into the declaration. | ||
| 16038 | (comint-output-filter): Typo. | ||
| 16039 | |||
| 16040 | * diff-mode.el (diff-current-defun): Fix 2004-06-13's change. | ||
| 16041 | |||
| 16042 | 2004-10-10 Kai Grossjohann <kai.grossjohann@gmx.net> | ||
| 16043 | |||
| 16044 | * net/ange-ftp.el (ange-ftp-remote-shell): Remove variable. | ||
| 16045 | (ange-ftp-call-chmod): Reference remote-shell-program instead of | ||
| 16046 | ange-ftp-remote-shell. | ||
| 16047 | |||
| 16048 | 2004-10-10 Andreas Schwab <schwab@suse.de> | ||
| 16049 | |||
| 16050 | * emacs-lisp/byte-opt.el (byte-optimize-backward-word): Optimize | ||
| 16051 | `(backward-word)' to `(forward-word -1)', not `(forward-char -1)'. | ||
| 16052 | Reported by <sri@asu.edu>. | ||
| 16053 | |||
| 16054 | 2004-10-10 Benjamin Rutt <brutt@bloomington.in.us> | ||
| 16055 | |||
| 16056 | * vc.el (vc-annotate-mode): Remove variable. | ||
| 16057 | (vc-annotate-display-select): Only call vc-annotate-mode | ||
| 16058 | if we're not in that mode already. | ||
| 16059 | |||
| 16060 | 2004-10-09 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 16061 | |||
| 16062 | * imenu.el (imenu--completion-buffer): Don't return t for rescan. | ||
| 16063 | (imenu-choose-buffer-index): Check here for rescan instead. | ||
| 16064 | |||
| 16065 | * font-lock.el (font-lock-apply-highlight): Explicitly check the case | ||
| 16066 | where the face expression evals to nil. | ||
| 16067 | |||
| 16068 | * textmodes/tex-mode.el (tex-font-lock-append-prop): New fun. | ||
| 16069 | (tex-font-lock-keywords-2): Use it. | ||
| 16070 | (tex-font-lock-syntactic-keywords): Fix the `verbatim' treatment. | ||
| 16071 | |||
| 16072 | * emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Fix backslashes. | ||
| 16073 | |||
| 16074 | 2004-10-09 Kim F. Storm <storm@cua.dk> | ||
| 16075 | |||
| 16076 | * subr.el (progress-reporter-update): Define before first usage. | ||
| 16077 | (make-progress-reporter): Doc fix. | ||
| 16078 | |||
| 16079 | 2004-10-09 Luc Teirlinck <teirllm@auburn.edu> | ||
| 16080 | |||
| 16081 | * textmodes/paragraphs.el (sentence-end-double-space) | ||
| 16082 | (sentence-end-without-period, sentence-end-without-space) | ||
| 16083 | (sentence-end): Doc fixes. | ||
| 16084 | |||
| 16085 | 2004-10-08 Peter Seibel <peter@javamonkey.com> (tiny change) | ||
| 16086 | |||
| 16087 | * emacs-lisp/lisp-mode.el (lisp-fill-paragraph): | ||
| 16088 | Change paragraph-start regexp so we don't fill code starting with #'(. | ||
| 16089 | |||
| 16090 | 2004-10-08 Sebastien Kirche <seki@seki.fr> (tiny change) | ||
| 16091 | |||
| 16092 | * mail/mail-extr.el (mail-extr-ignore-realname-equals-mailbox-name): | ||
| 16093 | New defcustom. | ||
| 16094 | (extract-address-components): Use it. | ||
| 16095 | |||
| 16096 | 2004-10-08 Paul Pogonyshev <pogonyshev@gmx.net> | ||
| 16097 | |||
| 16098 | * subr.el (make-progress-reporter, progress-reporter-update) | ||
| 16099 | (progress-reporter-force-update, progress-reporter-do-update) | ||
| 16100 | (progress-reporter-done): New functions. | ||
| 16101 | |||
| 16102 | * tar-mode.el (tar-summarize-buffer): Use progress reporter. | ||
| 16103 | |||
| 16104 | * progmodes/etags.el (etags-tags-completion-table): Use progress | ||
| 16105 | reporter. | ||
| 16106 | (etags-tags-apropos): Likewise. | ||
| 16107 | |||
| 16108 | 2004-10-08 Alan Mackenzie <acm@muc.de> | ||
| 16109 | |||
| 16110 | * isearch.el (isearch-yank-line): C-y yanks to next EOL, not end | ||
| 16111 | of current line. | ||
| 16112 | |||
| 16113 | 2004-10-08 Masatake YAMATO <jet@gyve.org> | ||
| 16114 | |||
| 16115 | * server.el (server-process-filter): Wrap `process-send-region' | ||
| 16116 | by `condition-case' to guard the case when the pipe to PROC is closed. | ||
| 16117 | |||
| 16118 | 2004-10-07 Mark A. Hershberger <mah@everybody.org> | ||
| 16119 | |||
| 16120 | * xml.el (xml-substitute-special): Limit handling of external entities. | ||
| 16121 | |||
| 16122 | 2004-10-06 Nick Roberts <nickrob@snap.net.nz> | ||
| 16123 | |||
| 16124 | * progmodes/gdb-ui.el (gdb-ann3): (Re-)initialize gdb-input-queue. | ||
| 16125 | |||
| 16126 | 2004-10-06 John Paul Wallington <jpw@gnu.org> | ||
| 16127 | |||
| 16128 | * xml.el (xml-parse-dtd): Fix `error' call. | ||
| 16129 | |||
| 16130 | 2004-10-05 Mark A. Hershberger <mah@everybody.org> | ||
| 16131 | |||
| 16132 | * xml.el (xml-substitute-special): Return a single string instead | ||
| 16133 | of a list of strings if an entity substitution is made. | ||
| 16134 | |||
| 16135 | 2004-10-05 Ulf Jasper <ulf.jasper@web.de> | ||
| 16136 | |||
| 16137 | * calendar/icalendar.el: New file. | ||
| 16138 | |||
| 16139 | 2004-10-05 Juri Linkov <juri@jurta.org> | ||
| 16140 | |||
| 16141 | * isearch.el (isearch-done): Set mark after running hook. | ||
| 16142 | Reported by Drew Adams <drew.adams@oracle.com>. | ||
| 16143 | |||
| 16144 | * info.el (Info-history, Info-toc): Fix Info headers. | ||
| 16145 | (Info-toc): Narrow buffer before Info-fontify-node. | ||
| 16146 | (Info-build-toc): Don't check for special Info file names. | ||
| 16147 | Set main-file to nil if Info-find-file returns a symbol. | ||
| 16148 | |||
| 16149 | 2004-10-05 Emilio C. Lopes <eclig@gmx.net> | ||
| 16150 | |||
| 16151 | * calendar/calendar.el (calendar-goto-iso-week): Add autoload. | ||
| 16152 | (calendar-mode-map): Add binding for `calendar-goto-iso-week'. | ||
| 16153 | * calendar/cal-menu.el (calendar-mode-map): Ditto. | ||
| 16154 | |||
| 16155 | 2004-10-05 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 16156 | |||
| 16157 | * calendar/cal-iso.el (calendar-iso-read-args): New function, | ||
| 16158 | for old interactive spec from calendar-goto-iso-date. | ||
| 16159 | (calendar-goto-iso-date): Use it. | ||
| 16160 | (calendar-goto-iso-week): New function. Suggested by Emilio | ||
| 16161 | C. Lopes <eclig@gmx.net>. | ||
| 16162 | |||
| 16163 | 2004-10-04 Luc Teirlinck <teirllm@auburn.edu> | ||
| 16164 | |||
| 16165 | * textmodes/enriched.el (enriched-mode-map): Give `set-left-margin' and | ||
| 16166 | `set-right-margin' bindings that follow the minor mode conventions. | ||
| 16167 | |||
| 16168 | 2004-10-03 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 16169 | |||
| 16170 | * textmodes/tex-mode.el (tex-dvi-view-command): Use `yap' on w32. | ||
| 16171 | (tex-font-lock-keywords-1): Add url and nolinkurl for args with `_'. | ||
| 16172 | (latex-block-args-alist): Add minipage and picture. | ||
| 16173 | (latex-block-body-alist): Use reftex-label if enabled. | ||
| 16174 | (latex-insert-block): Don't insert a \n if not necessary. | ||
| 16175 | (tex-compile-commands): Make sure dvips doesn't send to printer. | ||
| 16176 | (tex-compile-default): Handle the case where no executable is found. | ||
| 16177 | (latex-noindent-environments): New var. | ||
| 16178 | (latex-find-indent): Use it. Take an empty line as an arg-breaker. | ||
| 16179 | If tex-indent-allhanging is non-nil, make sure we only align for macros | ||
| 16180 | at beginning of line. | ||
| 16181 | |||
| 16182 | 2004-10-03 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 16183 | |||
| 16184 | * newcomment.el (comment-beginning): Doc fix and don't choke on | ||
| 16185 | unset `comment-end-skip' when at beginning of comment. | ||
| 16186 | |||
| 16187 | 2004-10-02 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 16188 | |||
| 16189 | * term.el (term-adjust-current-row-cache): Don't allow the current | ||
| 16190 | row to become negative. | ||
| 16191 | (term-emulate-terminal): Fix insert mode. Handle tab insertion at | ||
| 16192 | the end of the line. Fix scroll down. Add comments. | ||
| 16193 | (term-handle-ansi-escape): Don't exceed terminal width when moving | ||
| 16194 | right. | ||
| 16195 | (term-scroll-region): Move the cursor after setting the scroll region. | ||
| 16196 | |||
| 16197 | 2004-10-01 Luc Teirlinck <teirllm@auburn.edu> | ||
| 16198 | |||
| 16199 | * indent.el (set-left-margin, set-right-margin): Rename `lm' arg | ||
| 16200 | to `width' for consistency with docstring. Doc fix. | ||
| 16201 | |||
| 16202 | 2004-10-01 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 16203 | |||
| 16204 | * progmodes/cc-langs.el: Load cl here since cc-defs doesn't do it. | ||
| 16205 | This is necessary for derived modes. | ||
| 16206 | |||
| 16207 | 2004-09-30 Kim F. Storm <storm@cua.dk> | ||
| 16208 | |||
| 16209 | * kmacro.el (kmacro-lambda-form, kmacro-extract-lambda): Add. | ||
| 16210 | (kmacro-bind-to-key, kmacro-name-last-macro): Use kmacro-lambda-form. | ||
| 16211 | |||
| 16212 | * edmacro.el: Require kmacro to use the new kmacro-lambda-form and | ||
| 16213 | kmacro-extract-lambda functions. | ||
| 16214 | (edit-kbd-macro): Handle kmacro lambda forms. | ||
| 16215 | Include counter and counter format in edit buffer. | ||
| 16216 | (edmacro-finish-edit): Get counter and format from edit buffer and | ||
| 16217 | update kmacro bindings when found. | ||
| 16218 | |||
| 16219 | 2004-09-29 Luc Teirlinck <teirllm@auburn.edu> | ||
| 16220 | |||
| 16221 | * textmodes/paragraphs.el (forward-paragraph): | ||
| 16222 | Avoid args-out-of-range error when point winds up at the beginning of | ||
| 16223 | the buffer and hard newlines are enabled. | ||
| 16224 | |||
| 16225 | * newcomment.el (comment-multi-line): Doc fix. | ||
| 16226 | |||
| 16227 | 2004-09-29 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 16228 | |||
| 16229 | * diff-mode.el (diff-file-header-re): Tighten up regexp a tiny bit. | ||
| 16230 | (diff-fixup-modifs): Catch unified-diff file-headers. | ||
| 16231 | |||
| 16232 | 2004-09-29 Kim F. Storm <storm@cua.dk> | ||
| 16233 | |||
| 16234 | * progmodes/gdb-ui.el (breakpoint): Define as fringe bitmap. | ||
| 16235 | (gdb-mouse-toggle-breakpoint): Fix fringe-bitmaps-at-pos usage. | ||
| 16236 | (gdb-put-breakpoint-icon): Use breakpoint bitmap. | ||
| 16237 | |||
| 16238 | * fringe.el (fringe-bitmap-p): New macro. | ||
| 16239 | (fringe-bitmaps): Add standard fringe bitmaps on load. | ||
| 16240 | |||
| 16241 | 2004-09-28 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 16242 | |||
| 16243 | * dired.el (dired-view-command-alist): Use more efficient regexps. | ||
| 16244 | Remove dubious arguments. | ||
| 16245 | (dired-align-file): New function. | ||
| 16246 | (dired-insert-directory): Use it. | ||
| 16247 | (dired-move-to-end-of-filename): Make the " -> " search more specific. | ||
| 16248 | (dired-buffers-for-dir): Remove unused var `pattern'. | ||
| 16249 | |||
| 16250 | 2004-09-28 Matthew Mundell <matt@mundell.ukfsn.org> | ||
| 16251 | |||
| 16252 | * calendar/diary-lib.el (list-diary-entries): Save diary buffer | ||
| 16253 | from diary display excursion. Store diary buffer's point for | ||
| 16254 | `simple-diary-display'. | ||
| 16255 | (simple-diary-display): Set window point and start when | ||
| 16256 | displaying buffer, to preserve point. | ||
| 16257 | |||
| 16258 | 2004-09-27 Luc Teirlinck <teirllm@auburn.edu> | ||
| 16259 | |||
| 16260 | * textmodes/enriched.el (enriched-translations): Replace defconst | ||
| 16261 | with defvar. | ||
| 16262 | |||
| 16263 | 2004-09-26 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 16264 | |||
| 16265 | * printing.el: Doc fix. | ||
| 16266 | (pr-version): New version number (6.8.1). | ||
| 16267 | (pr-ps-file-using-ghostscript): Use make-temp-file instead of | ||
| 16268 | make-temp-name. | ||
| 16269 | (pr-delete-file): Check if file exists before deleting it. | ||
| 16270 | Reported by Lennart Borgman <lennart.borgman.073@student.lu.se>. | ||
| 16271 | |||
| 16272 | 2004-09-26 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 16273 | |||
| 16274 | * term.el (term-display-table): New variable. | ||
| 16275 | (term-mode): Use it. | ||
| 16276 | (term-exec-1): Set the coding system to binary. | ||
| 16277 | (term-emulate-terminal): Decode the string before inserting it. | ||
| 16278 | |||
| 16279 | 2004-09-26 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 16280 | |||
| 16281 | * term.el (term-ansi-at-eval-string, term-ansi-default-fg) | ||
| 16282 | (term-ansi-default-bg, term-ansi-current-temp): Delete unused vars. | ||
| 16283 | (map): Bind S-prior, S-next and S-insert. | ||
| 16284 | (term-mode): Set `indent-tabs-mode' to nil. | ||
| 16285 | (term-paste): New function to be bound to S-insert. | ||
| 16286 | (term-send-del, term-send-backspace): Change the strings sent. | ||
| 16287 | (term-termcap-format): Synchronize with etc/e/eterm.ti. | ||
| 16288 | (term-handle-colors-array): Fix handling of underline and reverse. | ||
| 16289 | (term-handle-ansi-escape): Do not handle smcup/rmcup. Add comments. | ||
| 16290 | (term-erase-in-line): Fix comparison. | ||
| 16291 | (term-emulate-terminal): Fix line wrap handling. | ||
| 16292 | (term-start-output-log): Rename from `term-set-output-log'. | ||
| 16293 | (term-stop-output-log): Rename from `term-stop-photo'. | ||
| 16294 | (term-switch-to-alternate-sub-buffer): Comment out, unused. | ||
| 16295 | |||
| 16296 | 2004-09-25 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 16297 | |||
| 16298 | * dired.el (dired-move-to-filename): Don't output a message if | ||
| 16299 | raise-error is non-nil. Fix return position and value. | ||
| 16300 | |||
| 16301 | * files.el (insert-directory): Obey --dired even with symlinks. | ||
| 16302 | |||
| 16303 | 2004-09-25 Lars Hansen <larsh@math.ku.dk> | ||
| 16304 | |||
| 16305 | * ls-lisp.el (ls-lisp-format): Mark file names with property | ||
| 16306 | dired-filename. | ||
| 16307 | |||
| 16308 | 2004-09-25 Kim F. Storm <storm@cua.dk> | ||
| 16309 | |||
| 16310 | * ido.el (ido-max-directory-size): New defcustom. | ||
| 16311 | (ido-decorations): Add "too big" element. | ||
| 16312 | (ido-directory-too-big): New dynamic var. | ||
| 16313 | (ido-may-cache-directory): Don't cache big directories. | ||
| 16314 | (ido-directory-too-big-p): New defun. | ||
| 16315 | (ido-set-current-directory): Update ido-directory-too-big. | ||
| 16316 | (ido-read-internal): Make empty ido-cur-item if too-big. | ||
| 16317 | (ido-buffer-internal): Use ido-read-internal directly instead of | ||
| 16318 | ido-read-buffer. | ||
| 16319 | (ido-file-internal): Init ido-directory-too-big. | ||
| 16320 | (ido-complete): <TAB> If ido-directory-too-big is set, clear it, | ||
| 16321 | and redo completion with full list. | ||
| 16322 | (ido-toggle-ignore): <C-a> If ido-directory-too-big is set, clear | ||
| 16323 | it, and show completions. | ||
| 16324 | (ido-all-completions): Let bind ido-directory-too-big to nil. | ||
| 16325 | (ido-exhibit): Handle ido-directory-too-big. | ||
| 16326 | (ido-read-buffer): Handle fallback to read-buffer. | ||
| 16327 | Init ido-directory-too-big. | ||
| 16328 | (ido-read-file-name, ido-read-directory-name, ido-completing-read): | ||
| 16329 | Init ido-directory-too-big. | ||
| 16330 | |||
| 16331 | 2004-09-24 Luc Teirlinck <teirllm@auburn.edu> | ||
| 16332 | |||
| 16333 | * subr.el (delay-mode-hooks): Doc fix. | ||
| 16334 | |||
| 16335 | 2004-09-23 Luc Teirlinck <teirllm@auburn.edu> | ||
| 16336 | |||
| 16337 | * textmodes/enriched.el | ||
| 16338 | (enriched-default-text-properties-local-flag): New variable. | ||
| 16339 | (enriched-mode): Make sure that enabling and disabling the mode is | ||
| 16340 | a no-op. Doc fix. | ||
| 16341 | |||
| 16342 | 2004-09-23 H,Ae(Bkon Malmedal <hmalmedal@yahoo.no> (tiny change) | ||
| 16343 | |||
| 16344 | * calendar/holidays.el (holiday-advent): Report on a specified day | ||
| 16345 | offset from advent, not just advent. | ||
| 16346 | (holiday-easter-etc): Report on one specified day offset from | ||
| 16347 | easter, not all easter holidays. Various Easter holidays moved to | ||
| 16348 | `christian-holidays' variable in calendar.el. | ||
| 16349 | * calendar/calendar.el (christian-holidays): Adapt for new | ||
| 16350 | behavior of `holiday-advent' and `holiday-easter-etc' functions. | ||
| 16351 | |||
| 16352 | 2004-09-23 Kim F. Storm <storm@cua.dk> | ||
| 16353 | |||
| 16354 | * image.el (insert-sliced-image): Add doc string. | ||
| 16355 | |||
| 16356 | * ido.el (ido-choice-list): New dynamic var for `list' context. | ||
| 16357 | (ido-context-switch-command): New dynamic var. | ||
| 16358 | (ido-define-mode-map): Generalize switch between file/buffer contexts. | ||
| 16359 | (ido-read-internal): Handle new `list' context. | ||
| 16360 | Handle insert-buffer and insert-file ido-exit values. | ||
| 16361 | (ido-buffer-internal): New arg switch-cmd. Use it to setup | ||
| 16362 | ido-context-switch-command. Handle insert-file ido-exit value. | ||
| 16363 | (ido-read-buffer): Set ido-context-switch-command to 'ignore | ||
| 16364 | unless it is already bound by caller. | ||
| 16365 | (ido-file-internal): New arg switch-cmd. Use it to setup | ||
| 16366 | ido-context-switch-command. Handle insert-buffer ido-exit value. | ||
| 16367 | (ido-enter-insert-buffer, ido-enter-insert-file): New commands | ||
| 16368 | used for context switching. | ||
| 16369 | (ido-all-completions): Handle new `list' context. | ||
| 16370 | (ido-make-choice-list): Return choices for `list' context. | ||
| 16371 | (ido-find-file-in-dir, ido-display-file, ido-write-file) | ||
| 16372 | (ido-display-buffer, ido-kill-buffer): Disable context switching. | ||
| 16373 | (ido-insert-buffer, ido-insert-file): Setup context switching. | ||
| 16374 | (ido-exhibit): Handle `list' context. | ||
| 16375 | (ido-read-file-name): Disable context switching. Handle fallback. | ||
| 16376 | (ido-read-directory-name): Disable context switching. | ||
| 16377 | (ido-completing-read): New defun like completing-read. Setup and | ||
| 16378 | use new `list' context. | ||
| 16379 | |||
| 16380 | 2004-09-20 Jesper Harder <harder@ifa.au.dk> | ||
| 16381 | |||
| 16382 | * progmodes/tcl.el (inferior-tcl): Use pop-to-buffer. | ||
| 16383 | |||
| 16384 | 2004-09-21 Jay Belanger <belanger@truman.edu> | ||
| 16385 | |||
| 16386 | * calc/calc-graph.el (calc-graph-add-curve): Move the call to | ||
| 16387 | `calc-graph-set-styles' so the gnuplot buffer will appear in a | ||
| 16388 | separate window. | ||
| 16389 | |||
| 16390 | 2004-09-21 Luc Teirlinck <teirllm@auburn.edu> | ||
| 16391 | |||
| 16392 | * subr.el (after-change-major-mode-hook): Doc fix. | ||
| 16393 | |||
| 16394 | 2004-09-21 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 16395 | |||
| 16396 | * printing.el: Doc fix. Add a new tip about the use of gsprint instead | ||
| 16397 | of ghostscript for monochrome PostScript file in Windows. | ||
| 16398 | |||
| 16399 | 2004-09-21 Kenichi Handa <handa@m17n.org> | ||
| 16400 | |||
| 16401 | * descr-text.el (describe-char): Checking of quail activation fixed. | ||
| 16402 | |||
| 16403 | 2004-09-21 Jay Belanger <belanger@truman.edu> | ||
| 16404 | |||
| 16405 | * calc/calc.el (calc-mode-var-list): Remove unnecessary quotes. | ||
| 16406 | |||
| 16407 | 2004-09-20 Luc Teirlinck <teirllm@auburn.edu> | ||
| 16408 | |||
| 16409 | * subr.el (run-mode-hooks): Run `after-change-major-mode-hook' | ||
| 16410 | after the mode hooks instead of before. Doc fix. | ||
| 16411 | |||
| 16412 | 2004-09-20 Jason Rumney <jasonr@gnu.org> | ||
| 16413 | |||
| 16414 | * startup.el (command-line) [windows-nt]: Try .emacs first, then | ||
| 16415 | _emacs, but revert to .emacs if neither exists in home directory. | ||
| 16416 | |||
| 16417 | 2004-09-20 John Paul Wallington <jpw@gnu.org> | ||
| 16418 | |||
| 16419 | * bindings.el (completion-ignored-extensions): Add .dfsl. | ||
| 16420 | |||
| 16421 | 2004-09-20 Richard M. Stallman <rms@gnu.org> | ||
| 16422 | |||
| 16423 | * bindings.el (scroll-left): Make it disabled. | ||
| 16424 | |||
| 16425 | * files.el (enable-local-eval): Doc fix. | ||
| 16426 | |||
| 16427 | * indent.el (move-to-left-margin): Special case for minibuffer. | ||
| 16428 | |||
| 16429 | * term.el (term-emulate-terminal): Turn off undo for output. | ||
| 16430 | Use with-current-buffer and save-selected-window. | ||
| 16431 | |||
| 16432 | * eshell/esh-ext.el (eshell-explicit-command-char): Doc fix. | ||
| 16433 | |||
| 16434 | * progmodes/make-mode.el (makefile-fill-paragraph): | ||
| 16435 | Don't insist on spaces when looking for comments. # is enough. | ||
| 16436 | |||
| 16437 | * files.el (hack-local-variables): Copy the variables list | ||
| 16438 | to another buffer, strip prefixes and suffixes there, then read. | ||
| 16439 | (enable-local-eval): Doc fix. | ||
| 16440 | (ignored-local-variables): Initialize to nil. | ||
| 16441 | (risky-local-variable-p): Don't check ignored-local-variables here. | ||
| 16442 | (hack-one-local-variable): Ignore var if in ignored-local-variables. | ||
| 16443 | |||
| 16444 | 2004-09-20 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 16445 | |||
| 16446 | * progmodes/sh-script.el (sh-mode-default-syntax-table): Set syntax | ||
| 16447 | of = to "." (punctuation). | ||
| 16448 | |||
| 16449 | 2004-09-19 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 16450 | |||
| 16451 | * subr.el (event-basic-type): Fix mask (extend to 22bits). | ||
| 16452 | |||
| 16453 | 2004-09-18 Luc Teirlinck <teirllm@auburn.edu> | ||
| 16454 | |||
| 16455 | * textmodes/enriched.el (enriched-rerun-flag): New variable. | ||
| 16456 | (enriched-before-change-major-mode): New function. | ||
| 16457 | Add it to `change-major-mode-hook'. | ||
| 16458 | (enriched-after-change-major-mode): New function. | ||
| 16459 | Add it to `after-change-major-mode-hook'. | ||
| 16460 | (enriched-mode): Make it work correctly if called from | ||
| 16461 | `after-change-major-mode-hook'. | ||
| 16462 | No longer set `indent-line-function'. | ||
| 16463 | |||
| 16464 | * simple.el (fundamental-mode): Run `after-change-major-mode-hook'. | ||
| 16465 | |||
| 16466 | * subr.el (after-change-major-mode-hook): New variable. | ||
| 16467 | (run-mode-hooks): Implement it. | ||
| 16468 | |||
| 16469 | 2004-09-18 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 16470 | |||
| 16471 | * battery.el (battery-linux-proc-apm): Use string-to-number. | ||
| 16472 | (battery-linux-proc-acpi): Ignore all hidden files in the battery dir. | ||
| 16473 | Use dolist (and less indentation). Use erase-buffer. | ||
| 16474 | Pre-initialize `design-capacity', `warn', and `low'. | ||
| 16475 | (battery-format): Use replace-regexp-in-string. | ||
| 16476 | |||
| 16477 | 2004-09-18 Ralph Schleicher <rs@nunatak.allgaeu.org> | ||
| 16478 | |||
| 16479 | * battery.el: Delete superfluous empty lines. | ||
| 16480 | (battery-linux-proc-acpi): Attempt to gather information from all | ||
| 16481 | battery subdirectories regardless of their file name. | ||
| 16482 | (battery-linux-proc-apm): Replace all occurrences of | ||
| 16483 | battery-hex-to-int-2 with string-to-int (base 16). | ||
| 16484 | (battery-hex-to-int-2, battery-hex-to-int): Delete functions. | ||
| 16485 | (battery-hex-map): Delete variable. | ||
| 16486 | |||
| 16487 | 2004-09-18 John Paul Wallington <jpw@gnu.org> | ||
| 16488 | |||
| 16489 | * calc/calc-units.el (calc-quick-units): Fix overzealous | ||
| 16490 | s/or/unless/. | ||
| 16491 | |||
| 16492 | 2004-09-17 Jay Belanger <belanger@truman.edu> | ||
| 16493 | |||
| 16494 | * calc/calc.el (calc-mode-var-list): Fix the value of | ||
| 16495 | `calc-matrix-brackets'. | ||
| 16496 | |||
| 16497 | 2004-09-17 Romain Francoise <romain@orebokech.com> | ||
| 16498 | |||
| 16499 | * ibuf-ext.el (define-ibuffer-filter filename): | ||
| 16500 | Expand dired-directory since buffer-file-name is absolute. | ||
| 16501 | |||
| 16502 | 2004-09-17 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 16503 | |||
| 16504 | * ediff-init.el (ediff-current-diff-face-A) | ||
| 16505 | (ediff-current-diff-face-B, ediff-current-diff-face-C) | ||
| 16506 | (ediff-current-diff-face-Ancestor) | ||
| 16507 | (ediff-fine-diff-face-A, ediff-fine-diff-face-B) | ||
| 16508 | (ediff-fine-diff-face-C, ediff-fine-diff-face-Ancestor) | ||
| 16509 | (ediff-even-diff-face-A, ediff-even-diff-face-B) | ||
| 16510 | (ediff-even-diff-face-C, ediff-even-diff-face-Ancestor) | ||
| 16511 | (ediff-odd-diff-face-A, ediff-odd-diff-face-B) | ||
| 16512 | (ediff-odd-diff-face-C, ediff-odd-diff-face-Ancestor): | ||
| 16513 | Use min-colors. | ||
| 16514 | |||
| 16515 | * term.el (term-down): Perform vertical motion if DOWN is negative. | ||
| 16516 | (term-exec-1): Set both TERMCAP and TERMINFO unconditionally. | ||
| 16517 | (term-termcap-format): Synchronize with the eterm terminfo entry | ||
| 16518 | in etc/e/eterm.ti. | ||
| 16519 | (term-handle-colors-array): If the current foreground or | ||
| 16520 | background are zero (i.e. unspecified), use the foreground and | ||
| 16521 | background of the default face for reverse video. | ||
| 16522 | (term-ansi-at-eval-string, term-ansi-default-fg) | ||
| 16523 | (term-ansi-default-bg, term-ansi-current-temp): Delete unused variable. | ||
| 16524 | (term-mem): Delete unused function. | ||
| 16525 | (term-protocol-version): Increment. | ||
| 16526 | (term-current-face): Set to default. | ||
| 16527 | |||
| 16528 | 2004-09-15 Jay Belanger <belanger@truman.edu> | ||
| 16529 | |||
| 16530 | * calc/calc.el (calc-mode-var-list): Define this variable. | ||
| 16531 | (calc-always-load-extensions, calc-line-numbering) | ||
| 16532 | (calc-line-breaking, calc-display-just, calc-display-origin) | ||
| 16533 | (calc-number-radix, calc-leading-zeros, calc-group-digits) | ||
| 16534 | (calc-group-char, calc-point-char, calc-frac-format) | ||
| 16535 | (calc-prefer-frac, calc-hms-format, calc-date-format) | ||
| 16536 | (calc-float-format, calc-full-float-format, calc-complex-format) | ||
| 16537 | (calc-complex-mode, calc-infinite-mode, calc-display-strings) | ||
| 16538 | (calc-matrix-just, calc-break-vectors, calc-full-vectors) | ||
| 16539 | (calc-full-trail-vectors, calc-vector-commas, calc-vector-brackets) | ||
| 16540 | (calc-matrix-brackets, calc-language, calc-language-option) | ||
| 16541 | (calc-left-label, calc-right-label, calc-word-size) | ||
| 16542 | (calc-previous-modulo, calc-simplify-mode, calc-auto-recompute) | ||
| 16543 | (calc-display-raw, calc-internal-prec, calc-angle-mode) | ||
| 16544 | (calc-algebraic-mode, calc-incomplete-algebraic-mode) | ||
| 16545 | (calc-symbolic-mode, calc-matrix-mode, calc-shift-prefix) | ||
| 16546 | (calc-window-height, calc-display-trail, calc-show-selections) | ||
| 16547 | (calc-use-selections, calc-assoc-selections) | ||
| 16548 | (calc-display-working-message, calc-auto-why, calc-timing) | ||
| 16549 | (calc-mode-save-mode, calc-standard-date-formats) | ||
| 16550 | (calc-autorange-units, calc-was-keypad-mode, calc-full-mode) | ||
| 16551 | (calc-user-parse-tables, calc-gnuplot-default-device) | ||
| 16552 | (calc-gnuplot-default-output, calc-gnuplot-print-device) | ||
| 16553 | (calc-gnuplot-print-output, calc-gnuplot-geometry) | ||
| 16554 | (calc-graph-default-resolution, calc-graph-default-resolution-3d) | ||
| 16555 | (calc-invocation-macro, calc-show-banner): Give these values as | ||
| 16556 | part of `calc-mode-var-list's initialization after the variables | ||
| 16557 | are declared with defvar. | ||
| 16558 | (calc-bug-address): Change email address to send bug reports to. | ||
| 16559 | Change the maintainer address at the top. | ||
| 16560 | (calc-mode): Compare `calc-settings-file' to `user-init-file' rather | ||
| 16561 | than "\\.emacs" to determine if it is the user-init-file. | ||
| 16562 | |||
| 16563 | * calc/calc-embed.el (calc-embedded-set-modes): Use | ||
| 16564 | `calc-mode-var-list' correctly. | ||
| 16565 | |||
| 16566 | 2004-09-15 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 16567 | |||
| 16568 | * vc.el (annotate-time): Document point handling. | ||
| 16569 | (vc-annotate-display-autoscale): Doc fix. | ||
| 16570 | |||
| 16571 | 2004-09-15 Miles Bader <miles@gnu.org> | ||
| 16572 | |||
| 16573 | * generic.el (generic-make-keywords-list): Use symbol rather than | ||
| 16574 | word anchors in regexp. | ||
| 16575 | |||
| 16576 | 2004-09-14 Sean O'Rourke <sorourke@cs.ucsd.edu> | ||
| 16577 | |||
| 16578 | * ibuf-ext.el (define-ibuffer-filter filename): If buffer has | ||
| 16579 | no file name consider `dired-directory'. | ||
| 16580 | |||
| 16581 | 2004-09-14 Kim F. Storm <storm@cua.dk> | ||
| 16582 | |||
| 16583 | * faces.el (cursor): Add face-no-inherit property. Doc fix. | ||
| 16584 | |||
| 16585 | 2004-09-14 Simon Josefsson <jas@extundo.com> | ||
| 16586 | |||
| 16587 | * files.el (auto-mode-alist): Map .soa and .zone to dns-mode. | ||
| 16588 | |||
| 16589 | * textmodes/dns-mode.el: Add. | ||
| 16590 | |||
| 16591 | 2004-09-13 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 16592 | |||
| 16593 | * novice.el (disabled-command-hook): Use shorthand for obsolescence. | ||
| 16594 | (disabled-command-function): Make the ?\ char more obvious. | ||
| 16595 | |||
| 16596 | * vc-arch.el (vc-arch-root, vc-arch-registered): | ||
| 16597 | * vc-mcvs.el (vc-mcvs-root, vc-mcvs-registered): Use vc-find-root. | ||
| 16598 | |||
| 16599 | 2004-09-13 Hovav Shacham <hovav@sha1.stanford.edu> | ||
| 16600 | |||
| 16601 | * windmove.el (windmove-frame-edges): Report coordinates of | ||
| 16602 | outside edges of frame, not inside edges. | ||
| 16603 | (windmove-coordinates-of-position): Convert into wrapper to new | ||
| 16604 | function `windmove-coordinates-of-window-position'; | ||
| 16605 | `compute-motion' always applies to selected window. | ||
| 16606 | (windmove-coordinates-of-position): Update documentation to refer | ||
| 16607 | to Emacs 21 Lisp Reference Manual. | ||
| 16608 | (windmove-find-other-window): Fix off-by-one errors for max x,y. | ||
| 16609 | |||
| 16610 | 2004-09-13 Kim F. Storm <storm@cua.dk> | ||
| 16611 | |||
| 16612 | * isearch.el (isearch-resume-in-command-history): Rename from | ||
| 16613 | isearch-resume-enabled and change default to nil. | ||
| 16614 | |||
| 16615 | 2004-09-12 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 16616 | |||
| 16617 | * vc-hooks.el (vc-ignore-dir-regexp): New var. | ||
| 16618 | (vc-registered): Use it. | ||
| 16619 | (vc-find-root): New fun. | ||
| 16620 | |||
| 16621 | * emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): | ||
| 16622 | Don't tell to use \\{...} when it's already done. | ||
| 16623 | |||
| 16624 | * textmodes/bibtex.el (bibtex-generate-url-list): Change format. | ||
| 16625 | Provide a sample complex default. | ||
| 16626 | (bibtex-url, bibtex-font-lock-url): Adapt to new format. | ||
| 16627 | (bibtex-entry): Use mapc. | ||
| 16628 | |||
| 16629 | 2004-09-12 Kim F. Storm <storm@cua.dk> | ||
| 16630 | |||
| 16631 | * kmacro.el (kmacro-step-edit-prompt): Add "%s" format to message. | ||
| 16632 | |||
| 16633 | * emulation/cua-rect.el (cua--rectangle-operation): Let bind | ||
| 16634 | inhibit-field-text-motion to t so rectangles work in comint buffers. | ||
| 16635 | |||
| 16636 | * simple.el (choose-completion-string): Set buffer before running | ||
| 16637 | choose-completion-string-functions hook so it can be buffer-local. | ||
| 16638 | |||
| 16639 | 2004-09-12 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 16640 | |||
| 16641 | * progmodes/compile.el (compilation-start): Parse command to see | ||
| 16642 | if it starts with a cd, and if so perform it for the *compilation* | ||
| 16643 | buffer. Change the header to reflect this. | ||
| 16644 | |||
| 16645 | 2004-09-11 Kim F. Storm <storm@cua.dk> | ||
| 16646 | |||
| 16647 | * ido.el (ido-enable-dot-prefix): Doc fix. | ||
| 16648 | (ido-enable-dot-prefix): New defcustom. | ||
| 16649 | (ido-set-matches1): Use it. | ||
| 16650 | |||
| 16651 | 2004-09-10 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 16652 | |||
| 16653 | * textmodes/bibtex.el (bibtex-mark-active) | ||
| 16654 | (bibtex-run-with-idle-timer): Move the `if' inside the defun. | ||
| 16655 | |||
| 16656 | 2004-09-10 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de> | ||
| 16657 | |||
| 16658 | * textmodes/bibtex.el (bibtex-autokey-titleword-ignore): Regexp is | ||
| 16659 | used in a case insensitive environment. | ||
| 16660 | (bibtex-mode-map): Rearrange order of menus. | ||
| 16661 | (bibtex-quoted-string-re): Obsolete. | ||
| 16662 | (bibtex-complete-key-cleanup): Variable replaced by new function. | ||
| 16663 | (bibtex-font-lock-keywords): Use backquotes. | ||
| 16664 | (bibtex-font-lock-url-regexp): New internal variable. | ||
| 16665 | (bibtex-name-in-field): New optional arg remove-opt-alt to remove | ||
| 16666 | "OPT" and "ALT". | ||
| 16667 | (bibtex-insert-current-kill, bibtex-make-field) | ||
| 16668 | (bibtex-prepare-new-entry, bibtex-yank-pop, bibtex-String): Use unless. | ||
| 16669 | (bibtex-parse-field-text): Simplify. | ||
| 16670 | (bibtex-string=): New helper function. | ||
| 16671 | (bibtex-member-of-regexp): Merge with bibtex-autokey-get-title. | ||
| 16672 | (bibtex-map-entries): Use bibtex-string=. | ||
| 16673 | (bibtex-search-entry): Use not. | ||
| 16674 | (bibtex-enclosing-field): Fix docstring. | ||
| 16675 | (bibtex-assoc-regexp): Obsolete. | ||
| 16676 | (bibtex-format-entry): Use assoc-string and bibtex-string=. | ||
| 16677 | (bibtex-autokey-get-names): Handle empty name field. | ||
| 16678 | (bibtex-parse-strings): Use assoc-string and unless. | ||
| 16679 | (bibtex-complete-string-cleanup): Expansion list is passed as an arg. | ||
| 16680 | Use assoc-string. | ||
| 16681 | (bibtex-pop): Simplify. | ||
| 16682 | (bibtex-mode): Set font-lock-extra-managed-props. | ||
| 16683 | (bibtex-entry-update): Use assoc-string. | ||
| 16684 | (bibtex-parse-entry): Remove "OPT" and "ALT" from FIELD. | ||
| 16685 | (bibtex-autofill-entry): Use bibtex-string=. | ||
| 16686 | (bibtex-print-help-message): Simplify. | ||
| 16687 | (bibtex-find-entry): New optional arg START. | ||
| 16688 | (bibtex-validate): Use bibtex-string= and assoc-string. | ||
| 16689 | Do not call obsolete function compilation-parse-errors. | ||
| 16690 | (bibtex-remove-delimiters): Only remove delimiters if present. | ||
| 16691 | (bibtex-copy-entry-as-kill): Add docstring. | ||
| 16692 | (bibtex-clean-entry): Use bibtex-string=. Handle empty keys. | ||
| 16693 | Detect duplicate keys if bibtex-maintain-sorted-entries is nil. | ||
| 16694 | (bibtex-complete): Use bibtex-predefined-month-strings, | ||
| 16695 | bibtex-string=, and new function bibtex-complete-key-cleanup. | ||
| 16696 | (bibtex-generate-url-list): New variable. | ||
| 16697 | (bibtex-url): New command bound to C-c C-l and mouse-2. | ||
| 16698 | (bibtex-url-map): New local keymap for bibtex-url-mouse. | ||
| 16699 | (bibtex-font-lock-url): New function. | ||
| 16700 | |||
| 16701 | 2004-09-09 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 16702 | |||
| 16703 | * progmodes/grep.el (grep-mode): Remove unnecessary autoload. | ||
| 16704 | |||
| 16705 | 2004-09-09 Kim F. Storm <storm@cua.dk> | ||
| 16706 | |||
| 16707 | * kmacro.el (kmacro-bind-to-key): Associate dedicated macro | ||
| 16708 | counter and format with binding. | ||
| 16709 | (kmacro-name-last-macro): New defun. Like name-last-kbd-macro, but | ||
| 16710 | the declared macro uses own macro counter and format. Give symbol | ||
| 16711 | kmacro property. | ||
| 16712 | (kmacro-keymap): Bind kmacro-name-last-macro to n. | ||
| 16713 | (kmacro-start-macro, kmacro-end-macro, kmacro-call-macro) | ||
| 16714 | (kmacro-end-and-call-macro): Doc fix. | ||
| 16715 | |||
| 16716 | 2004-09-09 Lars Hansen <larsh@math.ku.dk> | ||
| 16717 | |||
| 16718 | * desktop.el (desktop-clear-preserve-buffers): | ||
| 16719 | Remove make-obsolete-variable. | ||
| 16720 | |||
| 16721 | 2004-09-08 Richard M. Stallman <rms@gnu.org> | ||
| 16722 | |||
| 16723 | * buff-menu.el (list-buffers-noselect): Call format-mode-line | ||
| 16724 | with the buffer as argument. | ||
| 16725 | |||
| 16726 | 2004-09-08 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 16727 | |||
| 16728 | * vc-arch.el (vc-arch-state): Fix parsing for `names' method. | ||
| 16729 | |||
| 16730 | 2004-09-08 Juri Linkov <juri@jurta.org> | ||
| 16731 | |||
| 16732 | * replace.el (perform-replace): Use `query-replace-descr'. | ||
| 16733 | |||
| 16734 | * cus-start.el (history-delete-duplicates): Specify customization. | ||
| 16735 | |||
| 16736 | * diff-mode.el (diff-mode-map): | ||
| 16737 | * progmodes/compile.el (compilation-mode-map): | ||
| 16738 | * progmodes/grep.el (grep-mode-map): | ||
| 16739 | * replace.el (occur-mode-map): Rename `next-error-follow-mode' | ||
| 16740 | to `next-error-follow-minor-mode'. | ||
| 16741 | |||
| 16742 | 2004-09-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 16743 | |||
| 16744 | * isearch.el (isearch-lazy-highlight-update): Take into account | ||
| 16745 | the case of zero-length match at the search bound. | ||
| 16746 | |||
| 16747 | 2004-09-08 Kim F. Storm <storm@cua.dk> | ||
| 16748 | |||
| 16749 | * emulation/cua-rect.el (cua--highlight-rectangle): Fix last | ||
| 16750 | change. Use zero width overlays when necessary. | ||
| 16751 | |||
| 16752 | 2004-09-08 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 16753 | |||
| 16754 | * subr.el (split-string): Docfix. | ||
| 16755 | |||
| 16756 | 2004-09-08 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 16757 | |||
| 16758 | * emacs-lisp/bytecomp.el (byte-compile-generate-call-tree): Doc fix. | ||
| 16759 | (display-call-tree): Ensure newline after caller/calls blocks. | ||
| 16760 | |||
| 16761 | 2004-09-08 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 16762 | |||
| 16763 | * startup.el (command-line-1): Make option | ||
| 16764 | --directory/-L modify `load-path' straight away. | ||
| 16765 | |||
| 16766 | 2004-09-08 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 16767 | |||
| 16768 | * progmodes/grep.el (grep-mode): Use normal autoload cookie. | ||
| 16769 | |||
| 16770 | 2004-09-08 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 16771 | |||
| 16772 | * emacs-lisp/autoload.el (make-autoload): | ||
| 16773 | Handle `define-compilation-mode'. | ||
| 16774 | |||
| 16775 | * emacs-lisp/lisp-mode.el (define-compilation-mode): | ||
| 16776 | Specify `doc-string-elt' property. | ||
| 16777 | |||
| 16778 | 2004-09-08 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 16779 | |||
| 16780 | * bs.el (bs-mode): Doc fix. | ||
| 16781 | |||
| 16782 | 2004-09-08 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 16783 | |||
| 16784 | * info.el (Info-insert-dir): Fix temp buffer leak bug. | ||
| 16785 | |||
| 16786 | 2004-09-08 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 16787 | |||
| 16788 | * play/blackbox.el (bb-trace-ray): Avoid double tracing. | ||
| 16789 | |||
| 16790 | 2004-09-08 Kenichi Handa <handa@m17n.org> | ||
| 16791 | |||
| 16792 | * ps-mule.el: Fix old function calls (ps-mule-chars-in-string -> | ||
| 16793 | length, ps-mule-string-char -> aref, ps-mule-next-index -> 1+, | ||
| 16794 | ps-mule-next-point -> 1+). | ||
| 16795 | |||
| 16796 | * composite.el (encode-composition-rule): Add autoload cookie. | ||
| 16797 | |||
| 16798 | 2004-09-07 Luc Teirlinck <teirllm@auburn.edu> | ||
| 16799 | |||
| 16800 | * format.el (buffer-auto-save-file-format): Make it permanent local. | ||
| 16801 | |||
| 16802 | 2004-09-07 Kim F. Storm <storm@cua.dk> | ||
| 16803 | |||
| 16804 | * emacs-lisp/authors.el (authors-aliases): Add more aliases. | ||
| 16805 | (authors-fixed-entries): Fix typo. | ||
| 16806 | (authors-canonical-author-name): Compact multiple spaces. | ||
| 16807 | Ignore trivial names (e.g. only first name). | ||
| 16808 | |||
| 16809 | * term.el (term-window-width): Only use full window width on | ||
| 16810 | window system if overflow-newline-into-fringe is enabled. | ||
| 16811 | (term-mode): Don't disable overflow-newline-into-fringe. | ||
| 16812 | |||
| 16813 | 2004-09-07 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 16814 | |||
| 16815 | * term/xterm.el (function-key-map): Add bindings for C- and S- cursor | ||
| 16816 | motion as seen on my Mac OS X xterms. | ||
| 16817 | |||
| 16818 | * newcomment.el (uncomment-region-default, comment-region-default): | ||
| 16819 | New functions extracted from uncomment-region and comment-region. | ||
| 16820 | (comment-region, comment-region-function, uncomment-region) | ||
| 16821 | (uncomment-region-function): Use them. | ||
| 16822 | |||
| 16823 | * pcvs-util.el (cvs-string-prefix-p): Use compare-strings. | ||
| 16824 | |||
| 16825 | * pcvs-info.el (cvs-states): Allow `ignore' on NEED-UPDATE. | ||
| 16826 | It's not crucial but can make sense at times. | ||
| 16827 | |||
| 16828 | * vc-arch.el (vc-arch-workfile-version): Handle the special case before | ||
| 16829 | the first commit. | ||
| 16830 | |||
| 16831 | * vc.el (vc-buffer-context, vc-restore-buffer-context): | ||
| 16832 | Disable obsolete code. | ||
| 16833 | |||
| 16834 | 2004-09-07 Juri Linkov <juri@jurta.org> | ||
| 16835 | |||
| 16836 | * progmodes/grep.el (grep-highlight-matches): Change default from | ||
| 16837 | `t' to `auto-detect', and type from `boolean' to `choice'. Doc fix. | ||
| 16838 | (grep-compute-defaults): Set `grep-highlight-matches' to `t' | ||
| 16839 | if grep option `--color' is available, or to `nil' otherwise. | ||
| 16840 | (grep-process-setup): Call `grep-compute-defaults' if | ||
| 16841 | `grep-highlight-matches' is not computed. Set env-vars only | ||
| 16842 | if `grep-highlight-matches' is `t'. | ||
| 16843 | (grep-use-null-device): Remove redundant type `boolean' (`choice' | ||
| 16844 | is already defined). | ||
| 16845 | |||
| 16846 | * progmodes/compile.el (compilation-start): Use copy of | ||
| 16847 | `process-environment' created by `copy-sequence' to not | ||
| 16848 | modify env-vars in the global `process-environment'. | ||
| 16849 | |||
| 16850 | 2004-09-06 Eli Zaretskii <eliz@gnu.org> | ||
| 16851 | |||
| 16852 | * simple.el (next-error-follow-minor-mode): Fix last change. | ||
| 16853 | |||
| 16854 | 2004-09-05 Luc Teirlinck <teirllm@auburn.edu> | ||
| 16855 | |||
| 16856 | * textmodes/paragraphs.el (use-hard-newlines): Make it into a | ||
| 16857 | permanent local. | ||
| 16858 | |||
| 16859 | 2004-09-04 Richard M. Stallman <rms@gnu.org> | ||
| 16860 | |||
| 16861 | * isearch.el (isearch-lazy-highlight-new-loop): Don't invoke | ||
| 16862 | highlighting if the search string is empty. | ||
| 16863 | |||
| 16864 | 2004-09-04 Luc Teirlinck <teirllm@auburn.edu> | ||
| 16865 | |||
| 16866 | * facemenu.el (facemenu-active-faces): Change condition of inner | ||
| 16867 | `while' loop to also check the first two elements of `face-atts' | ||
| 16868 | and `mask-atts'. | ||
| 16869 | |||
| 16870 | 2004-09-04 John Paul Wallington <jpw@gnu.org> | ||
| 16871 | |||
| 16872 | * thumbs.el (thumbs-view-image-mode-map): Fix command name typo. | ||
| 16873 | (thumbs-view-image-mode): Make buffer read-only. | ||
| 16874 | |||
| 16875 | 2004-09-04 Christopher J. Madsen <cjm@pobox.com> | ||
| 16876 | |||
| 16877 | * textmodes/ispell.el (ispell-really-aspell): New defvar. | ||
| 16878 | (ispell-check-version): Set it. | ||
| 16879 | (ispell-send-replacement): New function. | ||
| 16880 | (ispell-process-line): Call ispell-send-replacement. | ||
| 16881 | |||
| 16882 | 2004-09-04 Matt Hodges <matt@stchem.bham.ac.uk> (tiny change) | ||
| 16883 | |||
| 16884 | * eshell/em-pred.el (eshell-predicate-help-string): Doc fix. | ||
| 16885 | Support choosing seconds with "s". | ||
| 16886 | |||
| 16887 | 2004-09-04 Jari Aalto <jari.aalto@poboxes.com> | ||
| 16888 | |||
| 16889 | * terminal.el (te-escape): Show `?' in prompt for help key. | ||
| 16890 | |||
| 16891 | 2004-09-04 Emilio C. Lopes <eclig@gmx.net> | ||
| 16892 | |||
| 16893 | * emacs-lisp/lisp.el (kill-backward-up-list): New function. | ||
| 16894 | |||
| 16895 | 2004-09-04 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 16896 | |||
| 16897 | * simple.el (next-error-follow-minor-mode) | ||
| 16898 | (next-error-follow-mode-post-command-hook): New functions. | ||
| 16899 | (next-error-follow-last-line): New defvar. | ||
| 16900 | |||
| 16901 | * diff-mode.el (diff-mode-map): Bind next-error-follow-mode. | ||
| 16902 | * progmodes/compile.el (compilation-mode-map): Likewise. | ||
| 16903 | * progmodes/grep.el (grep-mode-map): Likewise. | ||
| 16904 | * replace.el (occur-mode-map): Likewise. | ||
| 16905 | |||
| 16906 | * newcomment.el (uncomment-region): Bind comment-use-global-state | ||
| 16907 | to nil. | ||
| 16908 | |||
| 16909 | 2004-09-03 Luc Teirlinck <teirllm@auburn.edu> | ||
| 16910 | |||
| 16911 | * autorevert.el (auto-revert-handler): Bind `buffer-read-only' | ||
| 16912 | locally around the call to `revert-buffer'. | ||
| 16913 | |||
| 16914 | 2004-09-03 Juri Linkov <juri@jurta.org> | ||
| 16915 | |||
| 16916 | * isearch.el (isearch-toggle-regexp): Set `isearch-success' and | ||
| 16917 | `isearch-adjusted' to `t'. | ||
| 16918 | (isearch-toggle-case-fold): Set `isearch-success' to `t'. | ||
| 16919 | (isearch-message-prefix): Add "pending" for isearch-adjusted. | ||
| 16920 | (isearch-other-meta-char): Restore isearch-point unconditionally. | ||
| 16921 | (isearch-query-replace): Add new arg `regexp-flag' and use it. | ||
| 16922 | Set point to start of match if region is not active in transient | ||
| 16923 | mark mode (to include the current match to region boundaries). | ||
| 16924 | Push the search string to `query-replace-from-history-variable'. | ||
| 16925 | Add prompt "Query replace regexp" for isearch-regexp. | ||
| 16926 | Add region beginning/end as last arguments of `perform-replace.' | ||
| 16927 | (isearch-query-replace-regexp): Replace code by the call to | ||
| 16928 | `isearch-query-replace' with arg `t'. | ||
| 16929 | |||
| 16930 | 2004-09-03 Richard M. Stallman <rms@gnu.org> | ||
| 16931 | |||
| 16932 | * startup.el (normal-top-level): Undo previous TERM change. | ||
| 16933 | |||
| 16934 | 2004-09-03 Kim F. Storm <storm@cua.dk> | ||
| 16935 | |||
| 16936 | * emulation/cua-rect.el (cua--overlay-keymap): New keymap for | ||
| 16937 | highlight overlays; allow using RET when cursor is over a button. | ||
| 16938 | (cua--highlight-rectangle): Use it. | ||
| 16939 | (cua--rectangle-set-corners): Don't move backwards at eol. | ||
| 16940 | (cua--forward-line): Don't move into void after eob. | ||
| 16941 | |||
| 16942 | * emulation/cua-rect.el (cua--rectangle-set-corners): Ensure that | ||
| 16943 | point is set (and displayed) inside rectangle. | ||
| 16944 | (cua--rectangle-operation): Fix for highlight of empty lines. | ||
| 16945 | (cua--highlight-rectangle): Fix highlight for tabs. | ||
| 16946 | Position cursor at left/right edge of rectangle using new `cursor' | ||
| 16947 | property on overlay strings. | ||
| 16948 | (cua--indent-rectangle): Don't tabify. | ||
| 16949 | (cua-rotate-rectangle): Ignore that point has moved. | ||
| 16950 | |||
| 16951 | 2004-09-02 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 16952 | |||
| 16953 | * term/mac-win.el: Add ASCII equivalents for some function keys. | ||
| 16954 | (mode-line-frame-identification): Sync with x-win.el. | ||
| 16955 | |||
| 16956 | 2004-09-02 Juri Linkov <juri@jurta.org> | ||
| 16957 | |||
| 16958 | * progmodes/compile.el (compilation-buffer-name): Compare major | ||
| 16959 | mode with second element of compilation-arguments instead of third | ||
| 16960 | to reflect latest changes in compilation-arguments structure. | ||
| 16961 | (recompile): Use global variable `compilation-directory' to get | ||
| 16962 | recent compilation directory only when `recompile' is invoked NOT | ||
| 16963 | in the compilation buffer. Otherwise, use `default-directory' of | ||
| 16964 | the compilation buffer. | ||
| 16965 | (compilation-error-properties): Allow to funcall col and end-col. | ||
| 16966 | (compilation-mode-font-lock-keywords): Check col and end-col by | ||
| 16967 | `integerp'. | ||
| 16968 | (compilation-goto-locus): If end-mk is non-nil in transient mark | ||
| 16969 | mode don't activate the mark (and don't display message in | ||
| 16970 | push-mark), but highlight overlay between mk and end-mk. | ||
| 16971 | |||
| 16972 | * progmodes/grep.el (grep-highlight-matches): New defcustom. | ||
| 16973 | (grep-regexp-alist): Add rule to highlight grep matches. | ||
| 16974 | (grep-process-setup): Set env-vars GREP_OPTIONS and GREP_COLOR. | ||
| 16975 | |||
| 16976 | * info.el (Info-fontify-node): Don't compute other-tag | ||
| 16977 | if Info-hide-note-references=hide. | ||
| 16978 | |||
| 16979 | * help.el (function-called-at-point): | ||
| 16980 | * help-fns.el (variable-at-point): | ||
| 16981 | Try `find-tag-default' when other methods failed. | ||
| 16982 | |||
| 16983 | * emacs-lisp/lisp.el (beginning-of-defun, end-of-defun): | ||
| 16984 | Do not push mark if inhibit-mark-movement is non-nil. | ||
| 16985 | |||
| 16986 | * textmodes/ispell.el (ispell-html-skip-alists): | ||
| 16987 | Fix backslashes in docstring. | ||
| 16988 | |||
| 16989 | 2004-09-01 Juri Linkov <juri@jurta.org> | ||
| 16990 | |||
| 16991 | * isearch.el (isearch-wrap-function) | ||
| 16992 | (isearch-push-state-function): New defvars. | ||
| 16993 | (isearch-pop-fun-state): New defsubst. | ||
| 16994 | (isearch-top-state): Call function saved in `isearch-pop-fun-state'. | ||
| 16995 | (isearch-push-state): Set the result of calling | ||
| 16996 | `isearch-push-state-function' to the `isearch-pop-fun-state' field. | ||
| 16997 | (isearch-cancel): Call function saved in `isearch-pop-fun-state' to | ||
| 16998 | restore the mode-specific starting point of terminated search. | ||
| 16999 | (isearch-abort): Call `isearch-cancel' instead of its duplicated code. | ||
| 17000 | (isearch-repeat): Call `isearch-wrap-function' if defined. | ||
| 17001 | (isearch-message-prefix): Don't add prefix "over" to the message | ||
| 17002 | for wrapped search if `isearch-wrap-function' is defined. | ||
| 17003 | (isearch-search): Call function saved in `isearch-pop-fun-state' to | ||
| 17004 | restore the mode-specific starting point of failed search. | ||
| 17005 | |||
| 17006 | * info.el (Info-search-whitespace-regexp): Fix backslashes. | ||
| 17007 | (Info-search): Add new optional arguments for the sake of isearch. | ||
| 17008 | Replace whitespace in Info-search-whitespace-regexp literally. | ||
| 17009 | Add backward search. Don't call `Info-select-node' if regexp is | ||
| 17010 | found in the same Info node. Don't add node to Info-history for | ||
| 17011 | wrapped isearch. | ||
| 17012 | (Info-search-backward, Info-isearch-search, Info-isearch-wrap) | ||
| 17013 | (Info-isearch-push-state, Info-isearch-pop-state): New funs. | ||
| 17014 | (Info-mode): Set local variables `isearch-search-fun-function', | ||
| 17015 | `isearch-wrap-function', `isearch-push-state-function', | ||
| 17016 | `search-whitespace-regexp'. | ||
| 17017 | |||
| 17018 | * isearch.el: Remove ancient Change Log section. | ||
| 17019 | (isearch-string, isearch-message-string, isearch-point) | ||
| 17020 | (isearch-success, isearch-forward-flag, isearch-other-end) | ||
| 17021 | (isearch-word, isearch-invalid-regexp, isearch-wrapped) | ||
| 17022 | (isearch-barrier, isearch-within-brackets) | ||
| 17023 | (isearch-case-fold-search): Add suffix `-state' to state-related | ||
| 17024 | defsubsts to avoid name clashes with other function names. | ||
| 17025 | |||
| 17026 | * simple.el (next-error): New defgroup and defface. | ||
| 17027 | (next-error-highlight, next-error-highlight-no-select): | ||
| 17028 | New defcustoms. | ||
| 17029 | (next-error-no-select): Let-bind next-error-highlight to the value | ||
| 17030 | of next-error-highlight-no-select before calling `next-error'. | ||
| 17031 | |||
| 17032 | * progmodes/compile.el (compilation-goto-locus): | ||
| 17033 | Use `next-error' face instead of `region'. Set 4-th argument of | ||
| 17034 | `move-overlay' to `current-buffer' to move overlay to different | ||
| 17035 | source buffers. Use new variable `next-error-highlight'. | ||
| 17036 | |||
| 17037 | * simple.el (next-error-find-buffer): Move the rule | ||
| 17038 | "if current buffer is a next-error capable buffer" after the | ||
| 17039 | rule "if next-error-last-buffer is set to a live buffer". | ||
| 17040 | Simplify to test all rules in one `or'. | ||
| 17041 | (next-error): Doc fix. | ||
| 17042 | (next-error, previous-error, first-error) | ||
| 17043 | (next-error-no-select, previous-error-no-select): | ||
| 17044 | Make arguments optional. | ||
| 17045 | |||
| 17046 | 2004-08-31 Luc Teirlinck <teirllm@auburn.edu> | ||
| 17047 | |||
| 17048 | * macros.el (apply-macro-to-region-lines): Make it operate on all | ||
| 17049 | lines that begin in the region, rather than on all complete lines | ||
| 17050 | in the region. | ||
| 17051 | |||
| 17052 | 2004-08-31 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 17053 | |||
| 17054 | * x-dnd.el (x-dnd-protocol-alist): Document update. | ||
| 17055 | (x-dnd-known-types): Defcustom it. | ||
| 17056 | (x-dnd-handle-motif): Print message-atom in error message. | ||
| 17057 | |||
| 17058 | 2004-08-30 John Paul Wallington <jpw@gnu.org> | ||
| 17059 | |||
| 17060 | * textmodes/tex-mode.el (tex-validate-buffer): Use distinct | ||
| 17061 | strings rather than programatically constructing message. | ||
| 17062 | |||
| 17063 | 2004-08-30 Richard M. Stallman <rms@gnu.org> | ||
| 17064 | |||
| 17065 | * emacs-lisp/lisp-mode.el (prin1-char): Don't turn S-a into A. | ||
| 17066 | Don't return a string that would read as the wrong character code. | ||
| 17067 | |||
| 17068 | 2004-08-29 Kim F. Storm <storm@cua.dk> | ||
| 17069 | |||
| 17070 | * emulation/cua-base.el (cua-auto-expand-rectangles): | ||
| 17071 | Remove automatic rectangle padding feature; replace by non-destructive | ||
| 17072 | virtual rectangle edges feature. | ||
| 17073 | (cua-virtual-rectangle-edges): New defcustom. | ||
| 17074 | (cua-auto-tabify-rectangles): New defcustom. | ||
| 17075 | (cua-paste): If paste into a marked rectangle, insert rectangle at | ||
| 17076 | current column, even if virtual; also paste exactly as many lines | ||
| 17077 | as has been marked (ignore additional lines or add empty lines), | ||
| 17078 | but paste whole source if only one line is marked. | ||
| 17079 | (cua--update-indications): No longer use overwrite-cursor to | ||
| 17080 | indicate rectangle padding | ||
| 17081 | |||
| 17082 | * emulation/cua-rect.el (cua--rectangle-padding): Remove. | ||
| 17083 | (cua--rectangle-virtual-edges): New defun. | ||
| 17084 | (cua--rectangle-get-corners): Remove optional PAD arg. | ||
| 17085 | (cua--rectangle-set-corners): Never do padding. | ||
| 17086 | (cua--forward-line): Remove optional PAD arg. Simplify. | ||
| 17087 | (cua-resize-rectangle-right, cua-resize-rectangle-left) | ||
| 17088 | (cua-resize-rectangle-down, cua-resize-rectangle-up): | ||
| 17089 | (cua-resize-rectangle-bot, cua-resize-rectangle-top) | ||
| 17090 | (cua-resize-rectangle-page-up, cua-resize-rectangle-page-down) | ||
| 17091 | (cua--rectangle-move): Never do padding. Simplify. | ||
| 17092 | (cua--tabify-start): New defun. | ||
| 17093 | (cua--rectangle-operation): Add tabify arg. All callers changed. | ||
| 17094 | (cua--pad-rectangle): Remove. | ||
| 17095 | (cua--delete-rectangle): Handle delete with virtual edges. | ||
| 17096 | (cua--extract-rectangle): Add spaces if rectangle has virtual edges. | ||
| 17097 | (cua--insert-rectangle): Handle insert at virtual column. | ||
| 17098 | Perform auto-tabify if necessary. | ||
| 17099 | (cua--activate-rectangle): Remove optional FORCE arg. | ||
| 17100 | Never do padding. Simplify. | ||
| 17101 | (cua--highlight-rectangle): Enhance for virtual edges. | ||
| 17102 | (cua-toggle-rectangle-padding): Remove command. | ||
| 17103 | (cua-toggle-rectangle-virtual-edges): New command. | ||
| 17104 | (cua-sequence-rectangle): Add optional TABIFY arg. Callers changed. | ||
| 17105 | (cua--rectangle-post-command): Don't force rectangle padding. | ||
| 17106 | (cua--init-rectangles): Bind M-p to cua-toggle-rectangle-virtual-edges. | ||
| 17107 | |||
| 17108 | 2004-08-28 Luc Teirlinck <teirllm@auburn.edu> | ||
| 17109 | |||
| 17110 | * indent.el (edit-tab-stops-buffer): Doc fix. | ||
| 17111 | |||
| 17112 | 2004-08-28 Richard M. Stallman <rms@gnu.org> | ||
| 17113 | |||
| 17114 | * progmodes/grep.el (grep-default-command): Use find-tag-default. | ||
| 17115 | (grep-tag-default): Function deleted. | ||
| 17116 | |||
| 17117 | * subr.el (find-tag-default): Move from etags.el. | ||
| 17118 | |||
| 17119 | * progmodes/etags.el (find-tag-default): Move to subr.el. | ||
| 17120 | |||
| 17121 | * emacs-lisp/lisp-mode.el (prin1-char): Put `shift' modifier | ||
| 17122 | into the basic character if it has an uppercase form. | ||
| 17123 | |||
| 17124 | 2004-08-27 Kenichi Handa <handa@m17n.org> | ||
| 17125 | |||
| 17126 | * international/utf-8.el (utf-8-post-read-conversion): If the | ||
| 17127 | buffer is unibyte, temporarily make it multibyte. | ||
| 17128 | |||
| 17129 | 2004-08-27 Masatake YAMATO <jet@gyve.org> | ||
| 17130 | |||
| 17131 | * calendar/time-date.el (time-to-seconds): Add autoload cookies. | ||
| 17132 | |||
| 17133 | 2004-08-25 John Paul Wallington <jpw@gnu.org> | ||
| 17134 | |||
| 17135 | * textmodes/tex-mode.el (tex-validate-buffer): Distinguish between | ||
| 17136 | 0, 1, and many mismatches in message. | ||
| 17137 | (tex-start-shell): Use `set-process-query-on-exit-flag'. | ||
| 17138 | |||
| 17139 | * ielm.el (ielm-tab, ielm-complete-symbol): Doc fix. | ||
| 17140 | (inferior-emacs-lisp-mode): Use `set-process-query-on-exit-flag'. | ||
| 17141 | |||
| 17142 | 2004-08-23 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 17143 | |||
| 17144 | * vc-svn.el (vc-svn-diff): Treat options from vc-svn-diff-switches and | ||
| 17145 | vc-diff-switches differently. | ||
| 17146 | |||
| 17147 | 2004-08-22 Luc Teirlinck <teirllm@auburn.edu> | ||
| 17148 | |||
| 17149 | * speedbar.el (speedbar-file-regexp): Give it a phony defvar | ||
| 17150 | before and a real defvar after | ||
| 17151 | `speedbar-supported-extension-expressions'. This is to silence | ||
| 17152 | the compiler without breaking bootstrapping. | ||
| 17153 | |||
| 17154 | 2004-08-22 Richard M. Stallman <rms@gnu.org> | ||
| 17155 | |||
| 17156 | * textmodes/flyspell.el (flyspell-word): | ||
| 17157 | Use set-process-query-on-exit-flag. | ||
| 17158 | (flyspell-highlight-duplicate-region): Take POSS as arg. | ||
| 17159 | (flyspell-word): Pass POSS as arg. | ||
| 17160 | |||
| 17161 | * progmodes/ada-xref.el: Many doc and style fixes. | ||
| 17162 | (ada-find-any-references): Use compilation-start. | ||
| 17163 | (ada-get-ali-file-name): Improve error msg. | ||
| 17164 | (ada-get-ada-file-name): Likewise. | ||
| 17165 | |||
| 17166 | * net/ange-ftp.el (ange-ftp-gwp-start, ange-ftp-nslookup-host) | ||
| 17167 | (ange-ftp-start-process): Use set-process-query-on-exit-flag. | ||
| 17168 | |||
| 17169 | * mail/mail-extr.el (mail-extr-all-top-level-domains): | ||
| 17170 | Add forward defvar. | ||
| 17171 | |||
| 17172 | * whitespace.el (global-whitespace-mode): New alias | ||
| 17173 | for whitespace-global-mode. | ||
| 17174 | |||
| 17175 | * speedbar.el (speedbar-file-regexp): Move definition up. | ||
| 17176 | (speedbar-mode, speedbar-set-mode-line-format): | ||
| 17177 | Use with-no-warnings. | ||
| 17178 | (speedbar-emacs-popup-kludge): Delete Emacs 19 alternative. | ||
| 17179 | |||
| 17180 | * simple.el (shell-command-on-region): New arg DISPLAY-ERROR-BUFFER | ||
| 17181 | controls whether to display the error buffer. | ||
| 17182 | |||
| 17183 | * ps-mule.el: Delete compatibility code for old Emacsen. | ||
| 17184 | (ps-mule-find-wrappoint): Don't use chars-in-region. | ||
| 17185 | |||
| 17186 | * frame.el (display-mouse-p, display-selections-p): | ||
| 17187 | Use with-no-warnings. | ||
| 17188 | |||
| 17189 | * font-lock.el (font-lock-set-defaults): Use with-no-warnings. | ||
| 17190 | |||
| 17191 | 2004-08-22 David Kastrup <dak@gnu.org> | ||
| 17192 | |||
| 17193 | * textmodes/reftex-auc.el, progmodes/meta-mode.el: Update AUCTeX | ||
| 17194 | information. | ||
| 17195 | |||
| 17196 | * speedbar.el, iswitchb.el, ido.el: Update AUCTeX information. | ||
| 17197 | |||
| 17198 | 2004-08-22 Andreas Schwab <schwab@suse.de> | ||
| 17199 | |||
| 17200 | * cvs-status.el: Require pcvs during byte-compiling for defun-cvs-mode. | ||
| 17201 | |||
| 17202 | 2004-08-22 Masatake YAMATO <jet@gyve.org> | ||
| 17203 | |||
| 17204 | * cvs-status.el (cvs-status-checkout): New function. | ||
| 17205 | (cvs-status-mode-map): Add a key definition for `cvs-status-checkout'. | ||
| 17206 | |||
| 17207 | 2004-08-21 David Kastrup <dak@gnu.org> | ||
| 17208 | |||
| 17209 | * net/ange-ftp.el (ange-ftp-hash-entry-exists-p) | ||
| 17210 | (ange-ftp-file-entry-p, ange-ftp-file-symlink-p): Since the code | ||
| 17211 | has been converted to use hashtables, the relation `nil=none' is | ||
| 17212 | no longer valid, as `nil' is not a hashtable. This patch tries to | ||
| 17213 | reduce the number of resulting errors. | ||
| 17214 | |||
| 17215 | 2004-08-21 John Paul Wallington <jpw@gnu.org> | ||
| 17216 | |||
| 17217 | * subr.el (process-kill-without-query): Made obsolete in | ||
| 17218 | version 21.4, not 21.5. | ||
| 17219 | |||
| 17220 | * log-edit.el (vc-comment-ring, vc-comment-ring-index) | ||
| 17221 | (vc-previous-comment, vc-next-comment) | ||
| 17222 | (vc-comment-search-reverse, vc-comment-search-forward) | ||
| 17223 | (vc-comment-to-change-log): Likewise. | ||
| 17224 | |||
| 17225 | * international/latin1-disp.el (latin1-char-displayable-p): Likewise. | ||
| 17226 | |||
| 17227 | 2004-08-21 Peter Seibel <peter@javamonkey.com> (tiny patch) | ||
| 17228 | |||
| 17229 | * emacs-lisp/cl-indent.el (lisp-indent-defmethod): | ||
| 17230 | Correct indentation of DEFMETHODS with non-standard method | ||
| 17231 | combinations (e.g., PROGN, MIN, MAX). | ||
| 17232 | |||
| 17233 | 2004-08-20 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 17234 | |||
| 17235 | * startup.el (normal-top-level-add-subdirs-to-load-path): | ||
| 17236 | Avoid unnecessarily checking system-type. | ||
| 17237 | (normal-top-level): Set TERM to "dumb". Simplify. | ||
| 17238 | |||
| 17239 | * avoid.el (mouse-avoidance-ignore-p): New fun. | ||
| 17240 | Also ignore switch-frame, select-window, double, and triple clicks. | ||
| 17241 | (mouse-avoidance-banish-hook, mouse-avoidance-exile-hook) | ||
| 17242 | (mouse-avoidance-fancy-hook): Use it. | ||
| 17243 | |||
| 17244 | 2004-08-20 Zoran Milojevic <zoran@sipquest.com> (tiny change) | ||
| 17245 | |||
| 17246 | * avoid.el (mouse-avoidance-nudge-mouse) | ||
| 17247 | (mouse-avoidance-banish-destination): Stay within the current window | ||
| 17248 | to avoid problems with mouse-autoselect-window. | ||
| 17249 | |||
| 17250 | 2004-08-19 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 17251 | |||
| 17252 | * pcvs-parse.el (cvs-parse-table, cvs-parse-commit): Try to adapt to | ||
| 17253 | the newer format of some messages in cvs-1.12.1. | ||
| 17254 | |||
| 17255 | 2004-08-19 Masatake YAMATO <jet@gyve.org> | ||
| 17256 | |||
| 17257 | * emacs-lisp/elp.el (elp-results-symname-map): New keymap. | ||
| 17258 | (elp-results-jump-to-definition-by-mouse) | ||
| 17259 | (elp-results-jump-to-definition, elp-output-insert-symname): New funs. | ||
| 17260 | (elp-output-result): Use elp-output-insert-symname. | ||
| 17261 | |||
| 17262 | 2004-08-18 Kenichi Handa <handa@m17n.org> | ||
| 17263 | |||
| 17264 | * language/cyrillic.el: Register koi8-r in | ||
| 17265 | ctext-non-standard-encodings-alist. | ||
| 17266 | ("Cyrillic-KOI8"): Add ctext-non-standard-encoding. | ||
| 17267 | |||
| 17268 | 2004-08-17 Luc Teirlinck <teirllm@auburn.edu> | ||
| 17269 | |||
| 17270 | * emacs-lisp/copyright.el (copyright-update-year): Delete code | ||
| 17271 | that replaces 20xy with xy. | ||
| 17272 | |||
| 17273 | 2004-08-17 John Paul Wallington <jpw@gnu.org> | ||
| 17274 | |||
| 17275 | * emacs-lisp/re-builder.el (reb-mode-map): Define within defvar. | ||
| 17276 | (reb-force-update): Doc fix. | ||
| 17277 | |||
| 17278 | 2004-08-16 Richard M. Stallman <rms@gnu.org> | ||
| 17279 | |||
| 17280 | * progmodes/which-func.el (which-func-update-1): Doc fix. | ||
| 17281 | |||
| 17282 | * progmodes/sh-script.el (sh-set-shell): Use sh-mode-abbrev-table. | ||
| 17283 | (sh-mode-abbrev-table): New variable. | ||
| 17284 | |||
| 17285 | * progmodes/compile.el (compilation-mode): Doc fix. | ||
| 17286 | |||
| 17287 | * emacs-lisp/lisp-mode.el (eval-last-sexp): | ||
| 17288 | Don't cons a new symbol each time. | ||
| 17289 | (eval-last-sexp-fake-value): New variable. | ||
| 17290 | |||
| 17291 | * emacs-lisp/copyright.el (copyright-years-regexp): New variable. | ||
| 17292 | (copyright-update-year): Detect continuation of list of years. | ||
| 17293 | |||
| 17294 | * term.el (term-default-fg-color, term-default-bg-color) | ||
| 17295 | (ansi-term-color-vector): Use `unspecified', not nil, as default. | ||
| 17296 | |||
| 17297 | * imenu.el: Several doc fixes: don't say variables are buffer-local. | ||
| 17298 | |||
| 17299 | 2004-08-16 Davis Herring <herring@lanl.gov> | ||
| 17300 | |||
| 17301 | * isearch.el (isearch-string, isearch-message-string, isearch-point) | ||
| 17302 | (isearch-success, isearch-forward-flag, isearch-other-end) | ||
| 17303 | (isearch-word, isearch-invalid-regexp, isearch-wrapped) | ||
| 17304 | (isearch-barrier, isearch-within-brackets) | ||
| 17305 | (isearch-case-fold-search): Fix broken `nth'-like calls to `aref'. | ||
| 17306 | |||
| 17307 | 2004-08-16 Kenichi Handa <handa@m17n.org> | ||
| 17308 | |||
| 17309 | * ps-mule.el (ps-mule-font-info-database): Fix docstring. | ||
| 17310 | |||
| 17311 | 2004-08-15 Kenichi Handa <handa@m17n.org> | ||
| 17312 | |||
| 17313 | * term/x-win.el (x-selection-value): If utf8 was successful but | ||
| 17314 | ctext was not, use utf8 string. | ||
| 17315 | |||
| 17316 | 2004-08-14 Davis Herring <herring@lanl.gov> | ||
| 17317 | |||
| 17318 | * isearch.el: Remove accidental changes of March 4. Fix backing | ||
| 17319 | up when a regexp isearch is made more general. Use symbolic | ||
| 17320 | accessor functions for isearch stack frames to make usage clearer. | ||
| 17321 | (search-whitespace-regexp): Made groups in documentation shy (as | ||
| 17322 | is the group in the default value). | ||
| 17323 | (isearch-fallback): New function, addresses problems with regexps | ||
| 17324 | liberalized by `\|', adds support for liberalization by `\}' (the | ||
| 17325 | general repetition construct), and incorporates behavior for | ||
| 17326 | `*'/`?'. | ||
| 17327 | (isearch-}-char): New command, calls `isearch-fallback' with | ||
| 17328 | arguments appropriate to a typed `}'. | ||
| 17329 | (isearch-*-char, isearch-|-char): Now just call `isearch-fallback' | ||
| 17330 | appropriately. | ||
| 17331 | (isearch-mode-map): Bind `}' to `isearch-}-char'. | ||
| 17332 | (isearch-string, isearch-message,string, isearch-point) | ||
| 17333 | (isearch-success, isearch-forward-flag, isearch-other-end) | ||
| 17334 | (isearch-word, isearch-invalid-regexp, isearch-wrapped) | ||
| 17335 | (isearch-barrier, isearch-within-brackets, isearch-case-fold-search): | ||
| 17336 | New inline functions to read fields of a stack frame. | ||
| 17337 | |||
| 17338 | 2004-08-14 Kurt Hornik <Kurt.Hornik@wu-wien.ac.at> (tiny change) | ||
| 17339 | |||
| 17340 | * battery.el (battery-linux-proc-acpi): Look into battery | ||
| 17341 | directories matching the literal string "CMB", too (required for | ||
| 17342 | Linux kernel version 2.6.7). | ||
| 17343 | |||
| 17344 | 2004-08-14 John Paul Wallington <jpw@gnu.org> | ||
| 17345 | |||
| 17346 | * cus-start.el (read-file-name-completion-ignore-case): Add. | ||
| 17347 | (blink-cursor-alist): Change version to "21.4". | ||
| 17348 | |||
| 17349 | * emacs-lisp/bytecomp.el (forward-word): Allow 0 args. | ||
| 17350 | |||
| 17351 | 2004-08-11 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 17352 | |||
| 17353 | * speedbar.el (speedbar-scan-subdirs): New option. | ||
| 17354 | (speedbar-file-lists): Don't ignore file-name case on Unix and use | ||
| 17355 | dolist. | ||
| 17356 | (speedbar-insert-files-at-point): Take an extra argument and use | ||
| 17357 | it to optionally find out if a subdir is empty. Also unreadable | ||
| 17358 | files don't get expand buttons. | ||
| 17359 | (speedbar-directory): New image (unused pixmap already existed). | ||
| 17360 | (speedbar-expand-image-button-alist): Use it. | ||
| 17361 | |||
| 17362 | 2004-08-11 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 17363 | |||
| 17364 | CC Mode update to 5.30.9: | ||
| 17365 | |||
| 17366 | * progmodes/cc-defs.el, progmodes/cc-vars.el (c-emacs-features): | ||
| 17367 | Move from cc-vars to cc-defs for dependency reasons. Fix the | ||
| 17368 | POSIX char class test to check that it works in | ||
| 17369 | `skip-chars-(forward|backward)' too. | ||
| 17370 | |||
| 17371 | * progmodes/cc-align.el (c-lineup-arglist): Fix bug when the | ||
| 17372 | first argument starts with a special brace list. | ||
| 17373 | |||
| 17374 | * progmodes/cc-engine.el (c-forward-type): Fix promotion bug | ||
| 17375 | when `c-opt-type-concat-key' is used (i.e. in Pike). | ||
| 17376 | |||
| 17377 | * progmodes/cc-engine.el (c-looking-at-special-brace-list): | ||
| 17378 | Fix bug when the inner char pair doesn't have paren syntax, | ||
| 17379 | i.e. "(<>)". | ||
| 17380 | |||
| 17381 | * progmodes/cc-align.el (c-lineup-multi-inher): Made it syntactic | ||
| 17382 | whitespace safe. | ||
| 17383 | |||
| 17384 | * progmodes/cc-engine.el (c-guess-basic-syntax): Fix anchor | ||
| 17385 | position for `arglist-intro', `arglist-cont-nonempty' and | ||
| 17386 | `arglist-close' when there are two arglist open parens on the same | ||
| 17387 | line and there's nothing in front of the first. | ||
| 17388 | |||
| 17389 | * progmodes/cc-fonts.el (c-basic-matchers-before): Fix font | ||
| 17390 | locking of qualified names in Java, which previously could fontify | ||
| 17391 | common indexing expressions in many cases. The standard Java | ||
| 17392 | naming conventions are used to tell them apart. | ||
| 17393 | |||
| 17394 | * progmodes/cc-align.el (c-lineup-whitesmith-in-block): | ||
| 17395 | Fix inconsistency wrt opening parens on the first line inside a paren | ||
| 17396 | block. | ||
| 17397 | |||
| 17398 | * progmodes/cc-defs.el (c-langs-are-parametric): Must be known at | ||
| 17399 | compile time for the sake of `c-major-mode-is'. | ||
| 17400 | |||
| 17401 | (c-mode-is-new-awk-p): Made it a macro to delay expansion of | ||
| 17402 | `c-major-mode-is' in the event that this is used inside a | ||
| 17403 | `c-lang-defconst'. | ||
| 17404 | |||
| 17405 | * progmodes/cc-defs.el (c-major-mode-is): Fix expansion inside | ||
| 17406 | `c-lang-defconst' so that it works better with fallback languages. | ||
| 17407 | |||
| 17408 | * progmodes/cc-defs.el (c-add-language): Fix a typo that caused | ||
| 17409 | it to fail to record the base mode. | ||
| 17410 | |||
| 17411 | * progmodes/cc-engine.el (c-syntactic-re-search-forward): | ||
| 17412 | Fix bug so that it doesn't go past the closing paren when PAREN-LEVEL | ||
| 17413 | is used. Reorder the syntax checks to get more efficient | ||
| 17414 | skipping in some situations. | ||
| 17415 | |||
| 17416 | * progmodes/cc-cmds.el (c-electric-brace): Don't trip up on a line | ||
| 17417 | continuation which might precede the newly inserted '{'. | ||
| 17418 | |||
| 17419 | * progmodes/cc-engine.el (c-syntactic-re-search-forward): | ||
| 17420 | Fix cases where it could loop indefinitely. | ||
| 17421 | |||
| 17422 | * progmodes/cc-fonts.el (c-font-lock-declarators): Handle array | ||
| 17423 | size specs correctly. Only fontify identifiers in front of '(' | ||
| 17424 | with as functions - don't accept any paren char. Tighten up | ||
| 17425 | initializer skipping to stop before function and class blocks. | ||
| 17426 | |||
| 17427 | * progmodes/cc-engine.el (c-beginning-of-decl-1): Fix bug where | ||
| 17428 | the point could be left directly after an open paren when finding | ||
| 17429 | the beginning of the first decl in the block. | ||
| 17430 | |||
| 17431 | * progmodes/cc-engine.el (c-parse-state): Don't use the syntax | ||
| 17432 | table when filtering out legitimate open parens to be recorded. | ||
| 17433 | This could cause cache inconsistencies when e.g. | ||
| 17434 | `c++-template-syntax-table' was temporarily in use. | ||
| 17435 | |||
| 17436 | * progmodes/cc-engine.el (c-on-identifier) | ||
| 17437 | (c-simple-skip-symbol-backward): Small fix for handling "-" | ||
| 17438 | correctly in `skip-chars-backward'. Affected the operator lfun | ||
| 17439 | syntax in Pike. | ||
| 17440 | |||
| 17441 | * progmodes/cc-engine.el (c-invalidate-sws-region-after): | ||
| 17442 | Fix bug that could cause an error from `after-change-functions' when | ||
| 17443 | the changed region is at bob. | ||
| 17444 | |||
| 17445 | 2004-08-11 Alan Mackenzie <bug-cc-mode@gnu.org> | ||
| 17446 | |||
| 17447 | CC Mode update to 5.30.9: | ||
| 17448 | |||
| 17449 | * progmodes/cc-cmds.el, progmodes/cc-vars.el: Amend doc(-strings) | ||
| 17450 | to say that <TAB> doesn't insert WS into a CPP line. | ||
| 17451 | (c-indent-command, c-tab-always-indent): Amend doc strings. | ||
| 17452 | |||
| 17453 | * progmodes/cc-styles.el, progmodes/cc-engine.el: Add in two | ||
| 17454 | checks for user errors, thus eliminating cryptic and unhelpful | ||
| 17455 | Emacs error messages. (1) Check the arg to `c-set-style' is a | ||
| 17456 | string. (2) Check that settings to `c-offsets-alist' are not | ||
| 17457 | spuriously quoted. | ||
| 17458 | |||
| 17459 | * progmodes/cc-cmds.el (c-electric-brace): Don't delete a comment | ||
| 17460 | which precedes the newly inserted `{'. | ||
| 17461 | |||
| 17462 | 2004-08-10 Michael Albinus <michael.albinus@gmx.de> | ||
| 17463 | |||
| 17464 | Sync with Tramp 2.0.44. | ||
| 17465 | |||
| 17466 | * net/tramp.el (tramp-post-connection): Quote $1 and $2 of shell | ||
| 17467 | function "tramp_file_attributes". Otherwise, file names | ||
| 17468 | containing spaces are misinterpreted. Reported by Magnus Henoch | ||
| 17469 | <mange@freemail.hu>. | ||
| 17470 | (tramp-handle-file-truename): FILENAME must be expanded first. | ||
| 17471 | Otherwise, parameters like "/ssh:deego@gnufans.net:~" will return | ||
| 17472 | obscure results. Reported by D. Goel <deego@gnufans.org>. | ||
| 17473 | (tramp-handle-verify-visited-file-modtime): If file does not | ||
| 17474 | exist, say it is not modified if and only if that agrees with the | ||
| 17475 | buffer's record. Check whether a file is visiting the buffer, or | ||
| 17476 | the buffer has no recorded last modification time. Return t in | ||
| 17477 | case the visiting file doesn't exist. Suggested by Luc Teirlinck | ||
| 17478 | <teirllm@auburn.edu>. | ||
| 17479 | (tramp-handle-write-region): Pass modtime explicitly to | ||
| 17480 | `set-visited-file-modtime', because filename can be different | ||
| 17481 | from (buffer-file-name) if `file-precious-flag' is set. | ||
| 17482 | `set-visited-file-modtime' must be called always when `visit' is t | ||
| 17483 | or a string. Suggested by Luc Teirlinck <teirllm@auburn.edu>. | ||
| 17484 | (tramp-handle-set-visited-file-modtime): If `time-list' is not | ||
| 17485 | nil, don't apply the whole body. If the file doesn't exists, set | ||
| 17486 | modtime to '(-1 65535). Suggested by Luc Teirlinck | ||
| 17487 | <teirllm@auburn.edu>. | ||
| 17488 | |||
| 17489 | 2004-08-09 Luc Teirlinck <teirllm@auburn.edu> | ||
| 17490 | |||
| 17491 | * help.el (describe-bindings): Doc fix. | ||
| 17492 | |||
| 17493 | * subr.el (kbd): Doc fix. | ||
| 17494 | |||
| 17495 | 2004-08-08 John Paul Wallington <jpw@gnu.org> | ||
| 17496 | |||
| 17497 | * ibuffer.el (define-ibuffer-column size): Use `string-to-number' | ||
| 17498 | instead of `string-to-int'. | ||
| 17499 | (define-ibuffer-column mode): Fix indentation. | ||
| 17500 | |||
| 17501 | 2004-08-08 Lars Hansen <larsh@math.ku.dk> | ||
| 17502 | |||
| 17503 | * wid-edit.el (widget-sexp-validate): Allow whitespace after | ||
| 17504 | expression. | ||
| 17505 | |||
| 17506 | 2004-08-08 Luc Teirlinck <teirllm@auburn.edu> | ||
| 17507 | |||
| 17508 | * subr.el (global-unset-key, local-unset-key): Doc fixes. | ||
| 17509 | |||
| 17510 | * novice.el (disabled-command-function): New variable renamed from | ||
| 17511 | `disabled-command-hook'. | ||
| 17512 | (disabled-command-hook): Keep the _variable_ as alias for | ||
| 17513 | `disabled-command-function' and make obsolete. | ||
| 17514 | (disabled-command-function): Function renamed from | ||
| 17515 | `disabled-command-hook'. Adapt code to name change of the variable. | ||
| 17516 | |||
| 17517 | 2004-08-07 Satyaki Das <satyaki@theforce.stanford.edu> (tiny change) | ||
| 17518 | |||
| 17519 | * simple.el (completion-root-regexp): New defvar. | ||
| 17520 | (completion-setup-function): Use it instead of a literal string. | ||
| 17521 | |||
| 17522 | 2004-08-07 John Paul Wallington <jpw@gnu.org> | ||
| 17523 | |||
| 17524 | * emacs-lisp/re-builder.el (reb-re-syntax): Add `rx' syntax. | ||
| 17525 | (reb-lisp-mode): Require `rx' feature when `re-reb-syntax' is `rx'. | ||
| 17526 | (reb-lisp-syntax-p, reb-change-syntax): `rx' is a Lisp syntax. | ||
| 17527 | (reb-cook-regexp): Call `rx-to-string' when `re-reb-syntax' is `rx'. | ||
| 17528 | |||
| 17529 | 2004-08-05 Katsumi Yamaoka <yamaoka@jpl.org> (tiny change) | ||
| 17530 | |||
| 17531 | * mail/mail-extr.el (mail-extr-disable-voodoo): New variable. | ||
| 17532 | (mail-extr-voodoo): Check mail-extr-disable-voodoo. | ||
| 17533 | |||
| 17534 | 2004-08-04 Kenichi Handa <handa@m17n.org> | ||
| 17535 | |||
| 17536 | * international/encoded-kb.el (encoded-kbd-setup-keymap): | ||
| 17537 | Fix previous change. | ||
| 17538 | |||
| 17539 | 2004-08-03 Kenichi Handa <handa@m17n.org> | ||
| 17540 | |||
| 17541 | * international/encoded-kb.el: The following changes are to | ||
| 17542 | utilize key-translation-map instead of minor mode map. | ||
| 17543 | (encoded-kbd-iso2022-non-ascii-map): Delete it. | ||
| 17544 | (encoded-kbd-coding, encoded-kbd-handle-8bit): Delete them. | ||
| 17545 | (encoded-kbd-last-key): New function. | ||
| 17546 | (encoded-kbd-iso2022-single-shift): New function. | ||
| 17547 | (encoded-kbd-iso2022-designation) | ||
| 17548 | (encoded-kbd-self-insert-iso2022-7bit) | ||
| 17549 | (encoded-kbd-self-insert-iso2022-8bit) | ||
| 17550 | (encoded-kbd-self-insert-sjis, encoded-kbd-self-insert-big5) | ||
| 17551 | (encoded-kbd-self-insert-ccl): Make them suitable for bindings in | ||
| 17552 | key-translation-map. | ||
| 17553 | (encoded-kbd-setup-keymap): Setup key-translation-map. | ||
| 17554 | (saved-key-translation-map): New variable. | ||
| 17555 | (encoded-kbd-mode): Save/restore key-translation-map. | ||
| 17556 | Adjust for the change of encoded-kbd-setup-keymap. | ||
| 17557 | |||
| 17558 | 2004-08-02 Kim F. Storm <storm@cua.dk> | ||
| 17559 | |||
| 17560 | * avoid.el (mouse-avoidance-point-position): Use window-inside-edges | ||
| 17561 | and call compute-motion with nil for topos and width to get proper | ||
| 17562 | usable width and height for both window and non-window systems. | ||
| 17563 | |||
| 17564 | * windmove.el (windmove-coordinates-of-position): Let compute-motion | ||
| 17565 | calculate usable window width and height. | ||
| 17566 | |||
| 17567 | * window.el (window-buffer-height): Call compute-motion with nil width. | ||
| 17568 | |||
| 17569 | 2004-08-01 David Kastrup <dak@gnu.org> | ||
| 17570 | |||
| 17571 | * replace.el (query-replace-read-from): | ||
| 17572 | Use `query-replace-compile-replacement'. | ||
| 17573 | (query-replace-compile-replacement): New function. | ||
| 17574 | (query-replace-read-to): Use `query-replace-compile-replacement' | ||
| 17575 | for repeating the last command. | ||
| 17576 | |||
| 17577 | 2004-08-01 John Paul Wallington <jpw@gnu.org> | ||
| 17578 | |||
| 17579 | * printing.el (toplevel, pr-ps-fast-fire, pr-ps-set-utility) | ||
| 17580 | (pr-ps-set-printer, pr-txt-set-printer, pr-eval-setting-alist) | ||
| 17581 | (pr-switches): Remove period from end of error messages. | ||
| 17582 | |||
| 17583 | * help-mode.el (help-go-back): Likewise. | ||
| 17584 | |||
| 17585 | * abbrev.el (only-global-abbrevs): Doc fix. | ||
| 17586 | (edit-abbrevs-map): Define within defvar. | ||
| 17587 | (quietly-read-abbrev-file): Doc fix. | ||
| 17588 | |||
| 17589 | 2004-07-31 Luc Teirlinck <teirllm@auburn.edu> | ||
| 17590 | |||
| 17591 | * novice.el (enable-command, disable-command): Doc fixes. | ||
| 17592 | |||
| 17593 | * subr.el (event-modifiers, event-basic-type): Doc fixes. | ||
| 17594 | |||
| 17595 | 2004-07-30 Richard M. Stallman <rms@gnu.org> | ||
| 17596 | |||
| 17597 | * subr.el (with-local-quit): Doc fix. | ||
| 17598 | |||
| 17599 | 2004-07-30 Luc Teirlinck <teirllm@auburn.edu> | ||
| 17600 | |||
| 17601 | * international/utf-8.el (utf-translate-cjk-mode): Doc fix. | ||
| 17602 | |||
| 17603 | 2004-07-28 Luc Teirlinck <teirllm@auburn.edu> | ||
| 17604 | |||
| 17605 | * custom.el (defcustom): Doc fix. | ||
| 17606 | |||
| 17607 | 2004-07-28 Masatake YAMATO <jet@gyve.org> | ||
| 17608 | |||
| 17609 | * progmodes/etags.el (etags-tags-apropos): Show building progress. | ||
| 17610 | |||
| 17611 | 2004-07-26 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 17612 | |||
| 17613 | * imenu.el (imenu-prev-index-position-function) | ||
| 17614 | (imenu-extract-index-name-function, imenu-name-lookup-function) | ||
| 17615 | (imenu--index-alist): Docstring redundancy fix. | ||
| 17616 | |||
| 17617 | 2004-07-25 Lars Hansen <larsh@math.ku.dk> | ||
| 17618 | |||
| 17619 | * wdired.el (wdired-finish-edit): Require dired-aux before locally | ||
| 17620 | binding dired-backup-overwrite. | ||
| 17621 | |||
| 17622 | 2004-07-25 John Paul Wallington <jpw@gnu.org> | ||
| 17623 | |||
| 17624 | * subr.el (butlast, event-modifiers, event-basic-type): Doc fixes. | ||
| 17625 | |||
| 17626 | 2004-07-24 Luc Teirlinck <teirllm@auburn.edu> | ||
| 17627 | |||
| 17628 | * term/tty-colors.el (tty-color-approximate): Doc fix. | ||
| 17629 | |||
| 17630 | * select.el (x-get-selection, x-set-selection): Doc fixes. | ||
| 17631 | |||
| 17632 | * frame.el (make-frame): Doc fix. | ||
| 17633 | |||
| 17634 | 2004-07-24 Richard M. Stallman <rms@gnu.org> | ||
| 17635 | |||
| 17636 | * mail/rmail.el (rmail-mime-charset-pattern): | ||
| 17637 | Don't include semicolon in the charset value. | ||
| 17638 | |||
| 17639 | * replace.el (occur-next-error): Call set-window-point. | ||
| 17640 | (occur-engine): Handle negative NLINES. | ||
| 17641 | |||
| 17642 | 2004-07-23 Luc Teirlinck <teirllm@auburn.edu> | ||
| 17643 | |||
| 17644 | * frame.el (modify-all-frames-parameters): Minor doc fix. | ||
| 17645 | (set-frame-configuration): Doc fix. | ||
| 17646 | |||
| 17647 | 2004-07-23 Matt Hodges <matt@stchem.bham.ac.uk> (tiny change) | ||
| 17648 | |||
| 17649 | * simple.el (completion-setup-function): Compute the common parts | ||
| 17650 | and the first difference place correctly when | ||
| 17651 | partial-completion-mode is on. | ||
| 17652 | |||
| 17653 | 2004-07-22 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 17654 | |||
| 17655 | * ps-print.el: Doc fix. | ||
| 17656 | (ps-print-version): New version 6.6.5. | ||
| 17657 | (ps-printing-region): Doc fix. | ||
| 17658 | (ps-generate-string-list): Comment fix. | ||
| 17659 | (ps-message-log-max): Code fix. | ||
| 17660 | |||
| 17661 | 2004-07-22 Michael Piotrowski <mxp@dynalabs.de> (tiny change) | ||
| 17662 | |||
| 17663 | * ps-print.el (ps-begin-file): Improve the DSC compliance of the | ||
| 17664 | generated PostScript. | ||
| 17665 | |||
| 17666 | 2004-08-17 Reiner Steib <Reiner.Steib@gmx.de> | ||
| 17667 | |||
| 17668 | * net/tls.el (tls-process-connection-type): Fix docstring. (Sync | ||
| 17669 | with Gnus v5_10 branch.) | ||
| 17670 | |||
| 17671 | 2004-08-16 Reiner Steib <Reiner.Steib@gmx.de> | ||
| 17672 | |||
| 17673 | * calendar/time-date.el (time-to-number-of-days): New function. | ||
| 17674 | Imported from Gnus. | ||
| 17675 | |||
| 17676 | 2004-07-22 Kim F. Storm <storm@cua.dk> | ||
| 17677 | |||
| 17678 | * progmodes/make-mode.el: Fix comments. | ||
| 17679 | |||
| 17680 | 2004-07-21 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 17681 | |||
| 17682 | * printing.el: Doc fix. | ||
| 17683 | |||
| 17684 | 2004-07-20 Luc Teirlinck <teirllm@auburn.edu> | ||
| 17685 | |||
| 17686 | * frame.el (modify-all-frames-parameters): Minor doc fix. | ||
| 17687 | |||
| 17688 | 2004-07-20 Richard M. Stallman <rms@gnu.org> | ||
| 17689 | |||
| 17690 | * textmodes/fill.el (fill-nobreak-p): If this break point is | ||
| 17691 | at the end of the line, don't consider the newline which follows | ||
| 17692 | as a reason to return t. | ||
| 17693 | |||
| 17694 | 2004-07-19 John Paul Wallington <jpw@gnu.org> | ||
| 17695 | |||
| 17696 | * dired-aux.el (dired-file-set-difference): Don't use `caddr'. | ||
| 17697 | |||
| 17698 | 2004-07-18 Luc Teirlinck <teirllm@auburn.edu> | ||
| 17699 | |||
| 17700 | * dired-aux.el (dired-do-kill-lines): Expand docstring. | ||
| 17701 | Delete irrelevant code. | ||
| 17702 | |||
| 17703 | 2004-07-17 Kai Grossjohann <kai.grossjohann@gmx.net> | ||
| 17704 | |||
| 17705 | * net/tramp.el (tramp-handle-verify-visited-file-modtime): | ||
| 17706 | New docstring. From Luc Teirlinck. | ||
| 17707 | |||
| 17708 | 2004-07-17 Luc Teirlinck <teirllm@auburn.edu> | ||
| 17709 | |||
| 17710 | * autorevert.el: Describe `Auto Revert Tail Mode' in `Commentary' | ||
| 17711 | section. | ||
| 17712 | (auto-revert-handler): Do not check `auto-revert-tail-mode' for | ||
| 17713 | non-file buffers. We know it is nil. | ||
| 17714 | |||
| 17715 | 2004-07-17 Kai Grossjohann <kai.grossjohann@gmx.net> | ||
| 17716 | |||
| 17717 | Sync with Tramp 2.0.43. | ||
| 17718 | |||
| 17719 | * net/tramp.el (tramp-handle-verify-visited-file-modtime): | ||
| 17720 | Remove outdated comment. | ||
| 17721 | (tramp-locked, tramp-locker): New variables for implementing a | ||
| 17722 | global lock. | ||
| 17723 | (tramp-sh-file-name-handler): Use them to implement the global lock. | ||
| 17724 | |||
| 17725 | 2004-07-13 Michael Albinus <michael.albinus@gmx.de> | ||
| 17726 | |||
| 17727 | * net/tramp.el (all): Code cleanup. Change all `tramp-handle-xxx' | ||
| 17728 | calls to respective `xxx` calls. | ||
| 17729 | (tramp-process-alive-regexp): Precise doc string. | ||
| 17730 | (tramp-multi-action-process-alive): New defun. | ||
| 17731 | (tramp-multi-actions): Use it. | ||
| 17732 | (tramp-handle-find-backup-file-name): `copy-tree' is available | ||
| 17733 | since Emacs 22.1 only (XEmacs has it). Implementation rewritten | ||
| 17734 | in order to avoid this function. | ||
| 17735 | (tramp-handle-write-region): Set current buffer. If connection | ||
| 17736 | wasn't open, `file-modes' has changed it accidentally. Reported by | ||
| 17737 | David Kastrup <dak@gnu.org>. | ||
| 17738 | (tramp-enter-password, tramp-read-passwd): New arguments USER and | ||
| 17739 | HOST. | ||
| 17740 | (tramp-action-password, tramp-multi-action-password): Apply it. | ||
| 17741 | (tramp-open-connection-rsh): If a port is given, the Tramp buffer | ||
| 17742 | name must still contain the port number. Otherwise, we have two | ||
| 17743 | Tramp buffers, with all the confusion. Reported by Myron Selby | ||
| 17744 | <myron@xytech.com> and Rolf Dubitzky | ||
| 17745 | <Dubitzky@physi.uni-heidelberg.de>. | ||
| 17746 | |||
| 17747 | * net/tramp-smb.el (tramp-smb-open-connection): Apply USER and | ||
| 17748 | HOST to `tramp-enter-passwd'. | ||
| 17749 | |||
| 17750 | * net/tramp-vc.el (all): Code cleanup. Change all | ||
| 17751 | `tramp-handle-xxx' calls to respective `xxx` calls. | ||
| 17752 | |||
| 17753 | 2004-07-17 Jonathan Yavner <jyavner@member.fsf.org> | ||
| 17754 | |||
| 17755 | * emacs-lisp/testcover.el: New category "potentially-1valued" for | ||
| 17756 | functions that are not erroneous if either 1-valued or | ||
| 17757 | multi-valued. Detect functions in this class. | ||
| 17758 | (testcover-1value-functions, testcover-compose-functions) | ||
| 17759 | (testcover-progn-functions) Add some additional functions to lists. | ||
| 17760 | (testcover-mark): Bugfix when marking up the definition for an | ||
| 17761 | empty function. | ||
| 17762 | |||
| 17763 | 2004-07-17 Richard M. Stallman <rms@gnu.org> | ||
| 17764 | |||
| 17765 | * replace.el (occur-read-primary-args): Pass default to | ||
| 17766 | read-from-minibuffer. | ||
| 17767 | |||
| 17768 | * mail/footnote.el (footnote-section-tag): Use defcustom. | ||
| 17769 | |||
| 17770 | * font-lock.el (font-lock-add-keywords, font-lock-remove-keywords): | ||
| 17771 | Compile font-lock-keywords, not KEYWORDS. | ||
| 17772 | (lisp-font-lock-keywords-2): Add multiple-value-prog1, go. | ||
| 17773 | Add warn, check-type. Handle cerror like error. | ||
| 17774 | |||
| 17775 | 2004-07-14 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 17776 | |||
| 17777 | * progmodes/which-func.el (which-func-keymap): New var. | ||
| 17778 | (which-func-face): New face. | ||
| 17779 | (which-func-format): Use them. | ||
| 17780 | |||
| 17781 | 2004-07-16 Stephan Stahl <stahl@eos.franken.de> (tiny change) | ||
| 17782 | |||
| 17783 | * buff-menu.el (list-buffers-noselect): Append the buffer's | ||
| 17784 | process status to its mode name. | ||
| 17785 | |||
| 17786 | 2004-07-16 Kim F. Storm <storm@cua.dk> | ||
| 17787 | |||
| 17788 | * simple.el (inhibit-mark-movement): New defvar. | ||
| 17789 | (beginning-of-buffer, end-of-buffer): Do not push mark if | ||
| 17790 | inhibit-mark-movement is non-nil or C-u prefix is given. | ||
| 17791 | |||
| 17792 | * emulation/cua-base.el (cua--preserve-mark-commands): New defvar. | ||
| 17793 | Init to beginning-of-buffer and end-of-buffer. | ||
| 17794 | (cua--undo-push-mark): New defvar. | ||
| 17795 | (cua--pre-command-handler): Set inhibit-mark-movement if mark is | ||
| 17796 | already active and command is in cua--preserve-mark-commands. | ||
| 17797 | Also fix check for shift modifier on non-window systems. | ||
| 17798 | (cua--post-command-handler): Clear inhibit-mark-movement if set. | ||
| 17799 | |||
| 17800 | 2004-07-14 Luc Teirlinck <teirllm@auburn.edu> | ||
| 17801 | |||
| 17802 | * calendar/cal-dst.el (calendar-time-from-absolute): Return a list | ||
| 17803 | of two integers, instead of a cons. | ||
| 17804 | |||
| 17805 | * net/tramp.el (tramp-handle-verify-visited-file-modtime): | ||
| 17806 | `visited-file-modtime' now returns a list of two integers, instead | ||
| 17807 | of a cons. | ||
| 17808 | |||
| 17809 | * dired.el (dired-directory-changed-p): Ditto. | ||
| 17810 | |||
| 17811 | * progmodes/grep.el (grep): Doc fix. | ||
| 17812 | |||
| 17813 | 2004-07-14 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 17814 | |||
| 17815 | * autorevert.el (auto-revert-tail-mode) | ||
| 17816 | (auto-revert-tail-mode-text, auto-revert-tail-pos): New vars. | ||
| 17817 | (auto-revert-mode): Turn off auto-revert-tail-mode, so we're not | ||
| 17818 | in both at the same time. | ||
| 17819 | (auto-revert-tail-mode): New command. | ||
| 17820 | (turn-on-auto-revert-tail-mode, auto-revert-tail-handler): New funs. | ||
| 17821 | (auto-revert-handler): Revert only either tail or whole file. | ||
| 17822 | |||
| 17823 | * bindings.el (mode-line-mode-menu): Fix alphabetical ordering and | ||
| 17824 | add auto-revert-tail-mode. | ||
| 17825 | |||
| 17826 | 2004-07-12 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 17827 | |||
| 17828 | * printing.el: Doc fix. Change name of some funs. | ||
| 17829 | (pr-dosify-file-name): New fun. Replace ps-dosify-path. | ||
| 17830 | (pr-unixify-file-name): New fun. Replace ps-unixify-path. | ||
| 17831 | (pr-standard-file-name): New fun. Replace pr-standard-path. | ||
| 17832 | (pr-call-process): Code fix. | ||
| 17833 | |||
| 17834 | 2004-07-12 Luc Teirlinck <teirllm@auburn.edu> | ||
| 17835 | |||
| 17836 | * subr.el (with-selected-window): Doc fix. | ||
| 17837 | |||
| 17838 | 2004-07-11 Luc Teirlinck <teirllm@auburn.edu> | ||
| 17839 | |||
| 17840 | * subr.el (get-buffer-window-list): Doc fix. | ||
| 17841 | |||
| 17842 | 2004-07-10 Luc Teirlinck <teirllm@auburn.edu> | ||
| 17843 | |||
| 17844 | * files.el (switch-to-buffer-other-window): Doc fix. | ||
| 17845 | |||
| 17846 | * window.el (save-selected-window, one-window-p) | ||
| 17847 | (split-window-keep-point, split-window-vertically) | ||
| 17848 | (split-window-horizontally): Doc fixes. | ||
| 17849 | |||
| 17850 | 2004-07-10 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 17851 | |||
| 17852 | * printing.el: Doc fix. Now it uses call-process instead of | ||
| 17853 | shell-command for low command execution. | ||
| 17854 | (pr-version): New version number (6.8). | ||
| 17855 | (pr-shell-file-name): Option removed. | ||
| 17856 | (pr-shell-command): Fun removed. | ||
| 17857 | (pr-call-process): New fun. Replace pr-shell-command. | ||
| 17858 | (pr-standard-path, pr-remove-nil-from-list): New funs. | ||
| 17859 | (zmacs-region-stays, current-mouse-event, current-menubar): New var. | ||
| 17860 | (pr-ps-file-preview, pr-ps-file-using-ghostscript, pr-ps-file-print) | ||
| 17861 | (pr-setup, pr-ps-set-printer, pr-txt-set-printer) | ||
| 17862 | (pr-ps-utility-process, pr-txt-print): Code fix. | ||
| 17863 | |||
| 17864 | 2004-07-10 Stephan Stahl <stahl@eos.franken.de> (tiny change) | ||
| 17865 | |||
| 17866 | * ediff-mult.el (ediff-meta-truncate-filenames): Change type to | ||
| 17867 | boolean. | ||
| 17868 | |||
| 17869 | 2004-07-09 Lars Hansen <larsh@math.ku.dk> | ||
| 17870 | |||
| 17871 | * wid-edit.el (widget-field-buffer): Doc fix. | ||
| 17872 | |||
| 17873 | 2004-07-09 John Paul Wallington <jpw@gnu.org> | ||
| 17874 | |||
| 17875 | * emacs-lisp/re-builder.el (reb-update-overlays): | ||
| 17876 | Distinguish between one and several matches in message. | ||
| 17877 | |||
| 17878 | 2004-07-09 Richard M. Stallman <rms@gnu.org> | ||
| 17879 | |||
| 17880 | * mouse.el (mouse-set-region-1): If transient-mark-mode | ||
| 17881 | is `identity', change it to `only'. | ||
| 17882 | |||
| 17883 | * simple.el (current-word): Doc fix. | ||
| 17884 | |||
| 17885 | 2004-07-09 Mark A. Hershberger <mah@everybody.org> | ||
| 17886 | |||
| 17887 | * progmodes/cperl-mode.el (cperl-mode): Adapt defun-prompt-regexp | ||
| 17888 | so that it is more understanding of whitespace. | ||
| 17889 | |||
| 17890 | * xml.el (xml-maybe-do-ns, xml-parse-tag): Produce elements in the form | ||
| 17891 | (("ns" . "element") (attr-list) children) instead of | ||
| 17892 | ((:ns . "element") (attr-list) children) in order to reduce the | ||
| 17893 | number of symbols used. | ||
| 17894 | (xml-skip-dtd): Change to use xml-parse-dtd but set | ||
| 17895 | xml-validating-parsing to nil. | ||
| 17896 | (xml-parse-dtd): Parse entity declarations in DOCTYPEs. | ||
| 17897 | (xml-substitute-entity): Remove in favor of new entity substitution. | ||
| 17898 | (xml-substitute-special): Rewrite in to substitute complex | ||
| 17899 | entities from DOCTYPE declarations. | ||
| 17900 | (xml-parse-fragment): Parse fragments from entity declarations. | ||
| 17901 | (xml-parse-region, xml-parse-tag, xml-parse-attlist) | ||
| 17902 | (xml-parse-dtd, xml-substitute-special): Make validity checks | ||
| 17903 | conditioned on xml-validating-parser. Add "Not Well Formed" to | ||
| 17904 | error messages about well-formedness. | ||
| 17905 | |||
| 17906 | 2004-07-08 Steven Tamm <steventamm@mac.com> | ||
| 17907 | |||
| 17908 | * term/mac-win.el (mac-scroll-ignore-events, mac-scroll-down) | ||
| 17909 | (mac-scroll-down-line, mac-scroll-up, mac-scroll-up-line): | ||
| 17910 | Do not treat double clicks and triple clicks specially in the | ||
| 17911 | scroll bar (preventing strange repositioning problems) | ||
| 17912 | |||
| 17913 | 2004-07-06 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 17914 | |||
| 17915 | * replace.el (query-replace-regexp-eval): Fix last change. | ||
| 17916 | |||
| 17917 | 2004-07-05 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 17918 | |||
| 17919 | * replace.el (query-replace-descr): New fun. | ||
| 17920 | (query-replace-read-from, query-replace-read-args): Default to the | ||
| 17921 | previous from&to. | ||
| 17922 | (query-replace-read-to): Quote the `from' string when displaying it. | ||
| 17923 | (query-replace-regexp-eval): Immediately check read-only status. | ||
| 17924 | Use query-replace-read-from to get the \n checking. | ||
| 17925 | Quote the `from' string when displaying it. | ||
| 17926 | (map-query-replace-regexp, occur-read-primary-args): | ||
| 17927 | Quote the `from' string when displaying it. | ||
| 17928 | |||
| 17929 | * isearch.el (isearch-query-replace): Pass the regexp-ness and | ||
| 17930 | delimited-ness of the search to query-replace. | ||
| 17931 | |||
| 17932 | * replace.el (query-replace-read-from, query-replace-read-to): | ||
| 17933 | New funs extracted from query-replace-read-args. | ||
| 17934 | (query-replace-read-args): Use them. | ||
| 17935 | |||
| 17936 | * replace.el (query-replace-interactive, query-replace-read-args): | ||
| 17937 | Remove the `initial' special value. | ||
| 17938 | (query-replace-regexp-eval, map-query-replace-regexp): Simplify. | ||
| 17939 | (occur-engine): Remove unused var `matchend'. | ||
| 17940 | |||
| 17941 | * isearch.el (isearch-query-replace, isearch-query-replace-regexp): | ||
| 17942 | Use the search string without prompting. | ||
| 17943 | |||
| 17944 | 2004-07-05 Kenichi Handa <handa@m17n.org> | ||
| 17945 | |||
| 17946 | * international/mule.el (decode-coding-inserted-region): | ||
| 17947 | Set last-coding-system-used only when coding is nil. | ||
| 17948 | |||
| 17949 | 2004-07-03 Eli Zaretskii <eliz@gnu.org> | ||
| 17950 | |||
| 17951 | * progmodes/grep.el (grep-compute-defaults, grep-command) | ||
| 17952 | (grep-program, find-program, grep-find-use-xargs, grep-history) | ||
| 17953 | (grep-find-history, grep-tag-default, grep-find-command) | ||
| 17954 | (grep-regexp-alist, grep-process-setup, grep-compute-defaults): | ||
| 17955 | Add autoload cookies, for unbundled packages that load `compile' | ||
| 17956 | and expect all grep-related symbols to become defined. | ||
| 17957 | |||
| 17958 | 2004-07-03 KOSEKI Yoshinori <kose@meadowy.org> | ||
| 17959 | |||
| 17960 | * iimage.el (turn-on-iimage-mode, iimage-mode): Add autoload cookies. | ||
| 17961 | (iimage-mode-image-search-path): New user option to search the | ||
| 17962 | image file. | ||
| 17963 | (iimage-locate-file): New function. Emacs21.3 or earlier does not | ||
| 17964 | have locate-file. | ||
| 17965 | (iimage-mode-buffer): Use it. | ||
| 17966 | |||
| 17967 | 2004-07-03 Nick Roberts <nickrob@gnu.org> | ||
| 17968 | |||
| 17969 | * progmodes/gdb-ui.el (gdb-goto-breakpoint): String match more | ||
| 17970 | carefully. | ||
| 17971 | (gdb-delete-breakpoint, gdb-toggle-breakpoint): Handle gdbmi. | ||
| 17972 | |||
| 17973 | 2004-07-03 Juri Linkov <juri@jurta.org> | ||
| 17974 | |||
| 17975 | * replace.el (query-replace-read-args): Swallow space after 'foo, | ||
| 17976 | not after (quote foo). Match space only immediately after symbol, | ||
| 17977 | not anywhere in the whole string. | ||
| 17978 | |||
| 17979 | 2004-07-02 Richard M. Stallman <rms@gnu.org> | ||
| 17980 | |||
| 17981 | * replace.el (query-replace-read-args): Swallow space after | ||
| 17982 | symbols, not after closeparens. But avoid error if string ends there. | ||
| 17983 | |||
| 17984 | * progmodes/python.el (python-beginning-of-statement): | ||
| 17985 | Exit the loop if backward-up-list gets error. | ||
| 17986 | |||
| 17987 | * textmodes/enriched.el (enriched-encode): Bind inhibit-read-only. | ||
| 17988 | |||
| 17989 | 2004-07-02 Andre Spiegel <spiegel@gnu.org> | ||
| 17990 | |||
| 17991 | * vc-rcs.el (vc-rcs-checkout-model): Look at the version headers | ||
| 17992 | only if vc-consult-headers is non-nil. | ||
| 17993 | |||
| 17994 | 2004-07-02 Juri Linkov <juri@jurta.org> | ||
| 17995 | |||
| 17996 | * pcvs.el (cvs-mode-diff-repository): New command. | ||
| 17997 | |||
| 17998 | * pcvs-defs.el (cvs-mode-diff-map): Bind r to cvs-mode-diff-repository. | ||
| 17999 | |||
| 18000 | 2004-07-01 Juri Linkov <juri@jurta.org> | ||
| 18001 | |||
| 18002 | * isearch.el (isearch-mode-map): Bind C-M-w to isearch-del-char, | ||
| 18003 | C-M-y to isearch-yank-char. Bind M-% to isearch-query-replace, | ||
| 18004 | C-M-% to isearch-query-replace-regexp. | ||
| 18005 | (minibuffer-local-isearch-map): Add arrow key bindings. | ||
| 18006 | Bind C-f to isearch-yank-char-in-minibuffer. | ||
| 18007 | (isearch-forward): Doc fix. | ||
| 18008 | (isearch-edit-string): Doc fix. | ||
| 18009 | (isearch-query-replace, isearch-query-replace-regexp): New funs. | ||
| 18010 | (isearch-del-char): Add optional arg. Set isearch-yank-flag to t. | ||
| 18011 | (isearch-yank-char): Add optional arg. | ||
| 18012 | (isearch-yank-char-in-minibuffer): New fun. | ||
| 18013 | |||
| 18014 | * replace.el (query-replace-interactive): Change type from boolean | ||
| 18015 | to choice. Add value `initial'. | ||
| 18016 | (query-replace-read-args): Handle value `initial' of | ||
| 18017 | query-replace-interactive. | ||
| 18018 | |||
| 18019 | 2004-06-29 Kim F. Storm <storm@cua.dk> | ||
| 18020 | |||
| 18021 | * progmodes/gdb-ui.el (breakpoint-enabled-bitmap-face) | ||
| 18022 | (breakpoint-disabled-bitmap-face): Add :group 'gud. | ||
| 18023 | |||
| 18024 | * progmodes/ada-xref.el (ada-tight-gvd-integration): | ||
| 18025 | Add :group 'ada. | ||
| 18026 | |||
| 18027 | * vc-arch.el (vc-arch-mode-line-rewrite): Add :group 'vc. | ||
| 18028 | |||
| 18029 | 2004-06-29 Juri Linkov <juri@jurta.org> | ||
| 18030 | |||
| 18031 | * replace.el (query-replace-read-args): Swallow a space after | ||
| 18032 | everything except )]" which in most cases means after a symbol. | ||
| 18033 | |||
| 18034 | * emacs-lisp/pp.el (pp-buffer): Add autoload. | ||
| 18035 | |||
| 18036 | 2004-06-28 Richard M. Stallman <rms@gnu.org> | ||
| 18037 | |||
| 18038 | * font-lock.el (font-lock-fontify-syntactic-keywords-region): | ||
| 18039 | More changes to go with previous change in font-lock.el. | ||
| 18040 | |||
| 18041 | 2004-06-26 David Kastrup <dak@gnu.org> | ||
| 18042 | |||
| 18043 | * replace.el (perform-replace): Highlight the match even in | ||
| 18044 | non-query mode if there is potential replace string editing. | ||
| 18045 | |||
| 18046 | 2004-06-26 Kai Grossjohann <kai.grossjohann@gmx.net> | ||
| 18047 | |||
| 18048 | * net/tramp.el (tramp-handle-file-remote-p): New implementation to | ||
| 18049 | agree with new return value of `file-remote-p'. | ||
| 18050 | This syncs with Tramp 2.0.42. | ||
| 18051 | |||
| 18052 | * net/ange-ftp.el (ange-ftp-file-remote-p): New return value, | ||
| 18053 | according to new documentation of `file-remote-p'. | ||
| 18054 | |||
| 18055 | * files.el (file-remote-p): Fix doc to say that return value is | ||
| 18056 | identification of remote system, if not nil. | ||
| 18057 | (file-relative-name): Use new return value of `file-remote-p'. | ||
| 18058 | |||
| 18059 | 2004-06-26 Nick Roberts <nickrob@gnu.org> | ||
| 18060 | |||
| 18061 | * progmodes/gdb-ui.el (gdb-toggle-breakpoint) | ||
| 18062 | (gdb-goto-breakpoint): Fix breakage. | ||
| 18063 | |||
| 18064 | 2004-06-26 Eli Zaretskii <eliz@gnu.org> | ||
| 18065 | |||
| 18066 | * man.el (Man-getpage-in-background): Add windows-nt to the list | ||
| 18067 | of systems where shell-file-name should be used instead of | ||
| 18068 | literal "sh". | ||
| 18069 | |||
| 18070 | 2004-06-25 Sam Steingold <sds@gnu.org> | ||
| 18071 | |||
| 18072 | * add-log.el (change-log-font-lock-keywords): Support Common Lisp | ||
| 18073 | function names `(setf symbol)'. | ||
| 18074 | |||
| 18075 | 2004-06-24 Richard M. Stallman <rms@gnu.org> | ||
| 18076 | |||
| 18077 | * replace.el (query-replace-read-args): Swallow space after \,SYMBOL. | ||
| 18078 | |||
| 18079 | * font-lock.el (font-lock-keywords): Change format of compiled values. | ||
| 18080 | Document it. | ||
| 18081 | (font-lock-add-keywords): If font-lock-keywords is compiled, | ||
| 18082 | extract the uncompiled version, modify, then recompile. | ||
| 18083 | (font-lock-remove-keywords): Likewise. | ||
| 18084 | (font-lock-fontify-keywords-region): Handle changed format. | ||
| 18085 | (font-lock-compile-keywords): Handle changed format. | ||
| 18086 | (font-lock-set-defaults): Compile the keywords explicitly here. | ||
| 18087 | |||
| 18088 | 2004-06-24 David Kastrup <dak@gnu.org> | ||
| 18089 | |||
| 18090 | * replace.el (query-replace-read-args): Implement `\,' and `\#' | ||
| 18091 | replacements here. | ||
| 18092 | (query-replace-regexp): Doc string explaining this and the new | ||
| 18093 | `\?' replacement. Remove `\,' and `\#' implementation here, as it | ||
| 18094 | is better placed in `query-replace-read-args'. | ||
| 18095 | (replace-regexp): Explain `\,', `\#' and `\?'. | ||
| 18096 | (replace-match-data): New function for thorough reuse/destruction | ||
| 18097 | of old match-data. | ||
| 18098 | (replace-match-maybe-edit): Function for implementing `\?' editing. | ||
| 18099 | (perform-replace): Fix maintaining of the match stack including | ||
| 18100 | already matched regions, implement `\?', fix various problems | ||
| 18101 | with regions while editing and other stuff. | ||
| 18102 | (replace-highlight): Simplify. | ||
| 18103 | |||
| 18104 | 2004-06-24 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 18105 | |||
| 18106 | * progmodes/grep.el (grep-error-screen-columns): New variable. | ||
| 18107 | (grep-regexp-alist): Give it the full functionality of gnu style | ||
| 18108 | compilation messages with line and column ranges. Ask me for the | ||
| 18109 | perl script I'm working on, that uses these. | ||
| 18110 | |||
| 18111 | 2004-06-23 Nick Roberts <nickrob@gnu.org> | ||
| 18112 | |||
| 18113 | * comint.el (comint-insert-clicked-input, comint-copy-old-input): | ||
| 18114 | Remove. | ||
| 18115 | (comint-insert-input, comint-mouse-insert-input): New functions | ||
| 18116 | based on comint-insert-clicked-input for two bindings but just | ||
| 18117 | one functionality. | ||
| 18118 | |||
| 18119 | 2004-06-23 Luc Teirlinck <teirllm@auburn.edu> | ||
| 18120 | |||
| 18121 | * net/goto-addr.el (goto-address-fontify): Fix help-echo text. | ||
| 18122 | |||
| 18123 | 2004-06-23 Lars Hansen <larsh@math.ku.dk> | ||
| 18124 | |||
| 18125 | * files.el (write-contents-functions): Doc fix. | ||
| 18126 | |||
| 18127 | 2004-06-21 Juanma Barranquero <lektu@terra.es> | ||
| 18128 | |||
| 18129 | * image.el (image-library-alist): Rewrite docstring in active voice. | ||
| 18130 | |||
| 18131 | 2004-06-20 Richard M. Stallman <rms@gnu.org> | ||
| 18132 | |||
| 18133 | * mouse.el (mouse-set-region-1): Set transient-mark-mode to `only'. | ||
| 18134 | |||
| 18135 | * isearch.el (isearch-repeat): Avoid testing old match data. | ||
| 18136 | (isearch-message): Display trailing space in special font | ||
| 18137 | when search is failing. | ||
| 18138 | (isearch-search-fun-function): Doc fix. | ||
| 18139 | |||
| 18140 | * autorevert.el (global-auto-revert-non-file-buffers): Doc fix. | ||
| 18141 | |||
| 18142 | 2004-06-19 Luc Teirlinck <teirllm@auburn.edu> | ||
| 18143 | |||
| 18144 | * frame.el (show-trailing-whitespace): Doc fix. | ||
| 18145 | |||
| 18146 | * cus-edit.el (custom-variable-documentation): New function. | ||
| 18147 | (custom-variable): Use it. | ||
| 18148 | |||
| 18149 | 2004-06-19 Nick Roberts <nickrob@gnu.org> | ||
| 18150 | |||
| 18151 | * man.el (Man-getpage-in-background): Revert previous change but | ||
| 18152 | make cygwin a special case. | ||
| 18153 | |||
| 18154 | 2004-06-18 Luc Teirlinck <teirllm@auburn.edu> | ||
| 18155 | |||
| 18156 | * autorevert.el (global-auto-revert-non-file-buffers): | ||
| 18157 | Update docstring. | ||
| 18158 | |||
| 18159 | 2004-06-19 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 18160 | |||
| 18161 | * progmodes/compile.el (compilation-error-properties): Store one | ||
| 18162 | more than end-col, if present, so that transient-mark-mode will | ||
| 18163 | highlight last char too. | ||
| 18164 | * progmodes/grep.el (grep-regexp-alist): Match columns and column | ||
| 18165 | ranges, if present. | ||
| 18166 | |||
| 18167 | 2004-06-18 Jason Rumney <jasonr@gnu.org> | ||
| 18168 | |||
| 18169 | * makefile.w32-in: Double percent signs in for loops. | ||
| 18170 | |||
| 18171 | 2004-06-17 David Kastrup <dak@gnu.org> | ||
| 18172 | |||
| 18173 | * replace.el (query-replace-read-args): Only warn about use of \n | ||
| 18174 | and \t when we are doing a regexp replacement and the actual | ||
| 18175 | escaped character is n or t. | ||
| 18176 | (query-replace-regexp): Add \, and \# interpretation to | ||
| 18177 | interactive call and document it. | ||
| 18178 | (query-replace-regexp-eval, replace-match-string-symbols): Add \# | ||
| 18179 | as shortkey for replace-count. | ||
| 18180 | (replace-quote): New function for doubling backslashes. | ||
| 18181 | |||
| 18182 | 2004-06-17 Juanma Barranquero <lektu@terra.es> | ||
| 18183 | |||
| 18184 | * files.el (parse-colon-path, cd): Mention in docstring that the | ||
| 18185 | path separator is colon in GNU-like systems. | ||
| 18186 | |||
| 18187 | * newcomment.el (comment-region-internal): Fix docstring. | ||
| 18188 | |||
| 18189 | * emacs-lisp/ewoc.el (ewoc-create, ewoc-map, ewoc-locate) | ||
| 18190 | (ewoc-invalidate, ewoc-collect): Doc fixes. | ||
| 18191 | (ewoc--create-node, ewoc--delete-node-internal): | ||
| 18192 | Fix typos in docstring. | ||
| 18193 | |||
| 18194 | 2004-06-15 Luc Teirlinck <teirllm@auburn.edu> | ||
| 18195 | |||
| 18196 | * files.el (buffer-stale-function): Add hyperlink to emacs-xtra | ||
| 18197 | manual to docstring. | ||
| 18198 | |||
| 18199 | 2004-06-15 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 18200 | |||
| 18201 | * ps-print.el (ps-time-stamp-iso8601): Comment doc string of defalias. | ||
| 18202 | |||
| 18203 | 2004-06-15 Luc Teirlinck <teirllm@auburn.edu> | ||
| 18204 | |||
| 18205 | * dired-aux.el (dired-do-redisplay, dired-maybe-insert-subdir): | ||
| 18206 | Add hyperlink to emacs-xtra manual to docstring. | ||
| 18207 | |||
| 18208 | * autorevert.el (global-auto-revert-non-file-buffers): | ||
| 18209 | Add hyperlink to emacs-xtra manual to docstring, as well as an | ||
| 18210 | info-link. | ||
| 18211 | |||
| 18212 | 2004-06-14 Juanma Barranquero <lektu@terra.es> | ||
| 18213 | |||
| 18214 | * image.el (image-library-alist): New variable to map image types | ||
| 18215 | to external libraries. Initialized to nil, unless system-specific | ||
| 18216 | configs change it. | ||
| 18217 | (image-type-available-p): Determine whether an image type is | ||
| 18218 | available by calling `init-image-library'. | ||
| 18219 | |||
| 18220 | * term/w32-win.el (image-library-alist): Initialize to a known set | ||
| 18221 | of probable library names. | ||
| 18222 | |||
| 18223 | 2004-06-14 Kenichi Handa <handa@m17n.org> | ||
| 18224 | |||
| 18225 | * international/code-pages.el (windows-1256, cp1125): Fix tables | ||
| 18226 | for several characters. | ||
| 18227 | |||
| 18228 | * international/utf-8.el (ccl-encode-mule-utf-8): Fix previous change. | ||
| 18229 | |||
| 18230 | 2004-06-13 Richard M. Stallman <rms@gnu.org> | ||
| 18231 | |||
| 18232 | * textmodes/paragraphs.el (sentence-end): Add 0x5397d as close brace. | ||
| 18233 | |||
| 18234 | * emulation/pc-select.el: Doc fixes: say "PC Selection mode", | ||
| 18235 | not "`pc-selection-mode'". | ||
| 18236 | |||
| 18237 | * emacs-lisp/bytecomp.el: Put `...' around symbols in warning messages. | ||
| 18238 | |||
| 18239 | * simple.el (previous-matching-history-element): Specify a default. | ||
| 18240 | |||
| 18241 | * hexl.el (hexl-mode): Catch errors in hexl-goto-address. | ||
| 18242 | |||
| 18243 | * cus-face.el (custom-declare-face): Simplify code. | ||
| 18244 | |||
| 18245 | * abbrev.el (abbrev-mode, edit-abbrevs-map): Doc fixes. | ||
| 18246 | |||
| 18247 | 2004-06-13 Luc Teirlinck <teirllm@auburn.edu> | ||
| 18248 | |||
| 18249 | * files.el (before-save-hook): Add `time-stamp' to the options. | ||
| 18250 | |||
| 18251 | * time-stamp.el (time-stamp): Recommend adding it to | ||
| 18252 | `before-save-hook', rather than `write-file-functions'. | ||
| 18253 | Make a similar change in `Commentary' section. | ||
| 18254 | |||
| 18255 | 2004-06-13 Kai Grossjohann <kai.grossjohann@gmx.net> | ||
| 18256 | |||
| 18257 | * diff-mode.el (diff-current-defun): If at start of hunk, use | ||
| 18258 | position of first change. | ||
| 18259 | |||
| 18260 | 2004-06-13 Lars Hansen <larsh@math.ku.dk> | ||
| 18261 | |||
| 18262 | * dired-x.el (dired-mark-omitted): Bind to "*O". | ||
| 18263 | |||
| 18264 | 2004-06-12 Karl Fogel <kfogel@red-bean.com> | ||
| 18265 | |||
| 18266 | * bookmark.el (bookmark-bmenu-relocate): New function, as | ||
| 18267 | suggested by David J. Biesack <David.Biesack@sas.com>. | ||
| 18268 | (bookmark-bmenu-mode-map): Bind `bookmark-bmenu-relocate' to "R". | ||
| 18269 | (bookmark-bmenu-mode): Describe binding in doc string. | ||
| 18270 | (bookmark-set-filename): Save the bookmark list if it's time. | ||
| 18271 | |||
| 18272 | 2004-06-13 Kenichi Handa <handa@m17n.org> | ||
| 18273 | |||
| 18274 | * international/utf-8.el (ccl-decode-mule-utf-8): Fix previous change. | ||
| 18275 | (ccl-untranslated-to-ucs): Fix typo. | ||
| 18276 | |||
| 18277 | 2004-06-12 Karl Chen <quarl@hkn.eecs.berkeley.edu> (tiny change) | ||
| 18278 | |||
| 18279 | * progmodes/python.el (python-open-block-statement-p): | ||
| 18280 | Fix indentation after a block opening that contains a comment. | ||
| 18281 | |||
| 18282 | 2004-06-12 J,Ai(Br,At(Bme Marant <jerome@marant.org> (tiny change) | ||
| 18283 | |||
| 18284 | * bindings.el (completion-ignored-extensions): Add file extensions | ||
| 18285 | of Python byte-compiled files. | ||
| 18286 | |||
| 18287 | 2004-06-12 Juri Linkov <juri@jurta.org> | ||
| 18288 | |||
| 18289 | * info.el (Info-goto-node): Add autoload. | ||
| 18290 | (Info-toc): Add substring-no-properties on Info file name. | ||
| 18291 | (Info-mode, info, Info-toc, Info-mode-menu): Doc fix. | ||
| 18292 | (Info-mode-map): Bind L to Info-history, T to Info-toc. | ||
| 18293 | |||
| 18294 | 2004-06-12 Kenichi Handa <handa@m17n.org> | ||
| 18295 | |||
| 18296 | * international/mule-cmds.el (set-language-environment): | ||
| 18297 | Load subst tables if necessary. | ||
| 18298 | |||
| 18299 | * international/mule.el (decode-char): Load subst tables if necessary. | ||
| 18300 | (encode-char): Likewise. | ||
| 18301 | |||
| 18302 | * international/utf-16.el (utf-16-decode-ucs): Handle a surrogate | ||
| 18303 | pair correctly. Call ccl-mule-utf-untrans for untranslable chars. | ||
| 18304 | (utf-16le-decode-loop): Set r5 to -1 before loop. | ||
| 18305 | (utf-16be-decode-loop): Likewise. | ||
| 18306 | (ccl-decode-mule-utf-16le): Add EOF processing block. | ||
| 18307 | (ccl-decode-mule-utf-16be): Likewise. | ||
| 18308 | (ccl-decode-mule-utf-16le-with-signature): Likewise. | ||
| 18309 | (ccl-decode-mule-utf-16be-with-signature): Likewise. | ||
| 18310 | (ccl-decode-mule-utf-16): Likewise. Set r5 to -1 initially. | ||
| 18311 | (ccl-mule-utf-16-encode-untrans): New CCL. | ||
| 18312 | (utf-16-decode-to-ucs): Handle pre-read character. | ||
| 18313 | (utf-16le-encode-loop): Handle surrogate pair. | ||
| 18314 | (utf-16be-encode-loop): Likewise. | ||
| 18315 | (ccl-encode-mule-utf-16le-with-signature): Adjust for the change | ||
| 18316 | of utf-16le-encode-loop. | ||
| 18317 | (ccl-encode-mule-utf-16be-with-signature): Adjust for the change | ||
| 18318 | of utf-16be-encode-loop. | ||
| 18319 | (mule-utf-16-post-read-conversion): | ||
| 18320 | Call utf-8-post-read-conversion at first. | ||
| 18321 | (mule-utf-16[{le|be}], mule-utf-16{le|be}-with-signature): | ||
| 18322 | Include CJK charsets in safe-charsets if utf-translate-cjk-mode is on. | ||
| 18323 | Add post-read-conversion and pre-write-conversion. | ||
| 18324 | |||
| 18325 | * international/utf-8.el (utf-translate-cjk-charsets): New variable. | ||
| 18326 | (utf-translate-cjk-unicode-range): New variable. | ||
| 18327 | (utf-translate-cjk-load-tables): New function. | ||
| 18328 | (utf-lookup-subst-table-for-decode): New function. | ||
| 18329 | (utf-lookup-subst-table-for-encode): New function. | ||
| 18330 | (utf-translate-cjk-mode): Init-value changed to t. Don't load | ||
| 18331 | tables here. Update safe-charsets of utf-* coding systems. | ||
| 18332 | (ccl-mule-utf-untrans): New CCL. | ||
| 18333 | (ccl-decode-mule-utf-8): Call ccl-mule-utf-untrans. Use `repeat' | ||
| 18334 | at end of each branch. | ||
| 18335 | (ccl-mule-utf-8-encode-untrans): New CCL. | ||
| 18336 | (ccl-encode-mule-utf-8): Call ccl-mule-utf-8-encode-untrans. | ||
| 18337 | (ccl-untranslated-to-ucs): Handle 2-byte encoding. Set r1 to the | ||
| 18338 | length of encoding. Don't return r0. | ||
| 18339 | (utf-8-compose): New arg hash-table. Handle 2-byte encoding. | ||
| 18340 | (utf-8-post-read-conversion): Narrow to region properly. | ||
| 18341 | If utf-translate-cjk-mode is on, load tables if necessary. | ||
| 18342 | Call utf-8-compose with hash-table arg if necessary. | ||
| 18343 | Call XXX-compose-region instead of XXX-post-read-conversion. | ||
| 18344 | (utf-8-pre-write-conversion): New function. | ||
| 18345 | (mule-utf-8): Include CJK charsets in safe-charsets if | ||
| 18346 | utf-translate-cjk-mode is on. Add pre-write-conversion. | ||
| 18347 | |||
| 18348 | * international/characters.el: Temporarily set | ||
| 18349 | utf-translate-cjk-mode to nil. | ||
| 18350 | |||
| 18351 | * language/devan-util.el (devanagari-compose-region): | ||
| 18352 | Add autoload cookie. | ||
| 18353 | |||
| 18354 | * international/ccl.el (ccl-dump-call): Fix printing the | ||
| 18355 | subroutine name. | ||
| 18356 | |||
| 18357 | 2004-06-11 Luc Teirlinck <teirllm@auburn.edu> | ||
| 18358 | |||
| 18359 | * dired.el (dired-revert): If buffer is marked unmodified before | ||
| 18360 | reverting, keep it marked unmodified. Adapt to new conventions | ||
| 18361 | for commenting out code. | ||
| 18362 | (dired-make-relative): Adapt to new conventions for commenting out | ||
| 18363 | code. | ||
| 18364 | |||
| 18365 | 2004-06-10 Miles Bader <miles@gnu.ai.mit.edu> | ||
| 18366 | |||
| 18367 | * eshell/esh-module.el (eshell-load-defgroups): | ||
| 18368 | Bind `vc-handled-backends' to nil when opening files. | ||
| 18369 | |||
| 18370 | 2004-06-11 Juanma Barranquero <lektu@terra.es> | ||
| 18371 | |||
| 18372 | * files.el (parse-colon-path, cd): Doc fixes (refer to | ||
| 18373 | `path-separator', not colon). | ||
| 18374 | |||
| 18375 | 2004-06-10 Juanma Barranquero <lektu@terra.es> | ||
| 18376 | |||
| 18377 | * newcomment.el (comment-search-forward) | ||
| 18378 | (comment-search-backward): Fix typos in docstring. | ||
| 18379 | (comment-region): Doc fix. | ||
| 18380 | |||
| 18381 | 2004-06-10 Luc Teirlinck <teirllm@auburn.edu> | ||
| 18382 | |||
| 18383 | * dired.el (dired-insert-old-subdirs): Adapt to fact that the R | ||
| 18384 | switch is no longer stored in `dired-switches-alist'. | ||
| 18385 | |||
| 18386 | * dired-aux.el (dired-insert-subdir): Do not store R switch in | ||
| 18387 | `dired-switches-alist'. | ||
| 18388 | |||
| 18389 | 2004-06-10 Kim F. Storm <storm@cua.dk> | ||
| 18390 | |||
| 18391 | * pcvs.el (cvs-mode-diff-yesterday): New command. | ||
| 18392 | |||
| 18393 | * pcvs-defs.el (cvs-mode-diff-map): Bind y to cvs-mode-diff-yesterday. | ||
| 18394 | |||
| 18395 | 2004-06-10 Juri Linkov <juri@jurta.org> | ||
| 18396 | |||
| 18397 | * emacs-lisp/edebug.el (edebug-eval-defun): | ||
| 18398 | * emacs-lisp/lisp-mode.el (eval-defun-1): Add `defface'. | ||
| 18399 | Fix docstring. | ||
| 18400 | |||
| 18401 | * simple.el (eval-expression-print-format): Don't print additional | ||
| 18402 | information on the first call to `eval-print-last-sexp'. | ||
| 18403 | (next-error-find-buffer): Fix punctuation. | ||
| 18404 | (killing) <defgroup>: Fix punctuation. | ||
| 18405 | (yank-excluded-properties): Change group from editing to killing. | ||
| 18406 | |||
| 18407 | * replace.el (perform-replace): Use `limit' to terminate the | ||
| 18408 | while-loop explicitly. | ||
| 18409 | |||
| 18410 | 2004-06-09 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 18411 | |||
| 18412 | * toolbar/tool-bar.el (tool-bar-add-item, tool-bar-local-item): | ||
| 18413 | Use lc-*.xpm as prefix instead of *-locol.xpm. | ||
| 18414 | |||
| 18415 | * toolbar/lc-copy.xpm, toolbar/lc-cut.xpm | ||
| 18416 | * toolbar/lc-help.xpm, toolbar/lc-home.xpm | ||
| 18417 | * toolbar/lc-index.xpm, toolbar/lc-jump_to.xpm | ||
| 18418 | * toolbar/lc-left_arrow.xpm, toolbar/lc-new.xpm | ||
| 18419 | * toolbar/lc-open.xpm, toolbar/lc-paste.xpm | ||
| 18420 | * toolbar/lc-preferences.xpm, toolbar/lc-print.xpm | ||
| 18421 | * toolbar/lc-right_arrow.xpm, toolbar/lc-save.xpm | ||
| 18422 | * toolbar/lc-saveas.xpm, toolbar/lc-search.xpm | ||
| 18423 | * toolbar/lc-spell.xpm, toolbar/lc-undo.xpm | ||
| 18424 | * toolbar/lc-up_arrow.xpm: | ||
| 18425 | Rename from *-locol.xpm. | ||
| 18426 | |||
| 18427 | 2004-06-09 Rajesh Vaidheeswarran <rv@gnu.org> | ||
| 18428 | |||
| 18429 | * ffap.el (ffap-string-at-point-mode-alist): Fix the url mode to | ||
| 18430 | include forms like &<str>; as valid url patterns. | ||
| 18431 | |||
| 18432 | 2004-06-08 Luc Teirlinck <teirllm@auburn.edu> | ||
| 18433 | |||
| 18434 | * dired.el (dired-diff, dired-backup-diff) | ||
| 18435 | (dired-clean-directory, dired-do-chmod, dired-do-chgrp) | ||
| 18436 | (dired-do-chown, dired-do-touch, dired-do-print) | ||
| 18437 | (dired-do-shell-command, dired-do-kill-lines, dired-do-compress) | ||
| 18438 | (dired-do-byte-compile, dired-do-load, dired-do-redisplay) | ||
| 18439 | (dired-create-directory, dired-do-copy, dired-do-symlink) | ||
| 18440 | (dired-do-hardlink, dired-do-rename, dired-do-rename-regexp) | ||
| 18441 | (dired-do-copy-regexp, dired-do-hardlink-regexp) | ||
| 18442 | (dired-do-symlink-regexp, dired-upcase, dired-downcase) | ||
| 18443 | (dired-maybe-insert-subdir, dired-next-subdir) | ||
| 18444 | (dired-prev-subdir, dired-goto-subdir, dired-mark-subdir-files) | ||
| 18445 | (dired-kill-subdir, dired-tree-up, dired-tree-down) | ||
| 18446 | (dired-hide-subdir, dired-hide-all, dired-show-file-type) | ||
| 18447 | (dired-run-shell-command, dired-query): Remove redundant, | ||
| 18448 | or incorrect, autoloads. | ||
| 18449 | |||
| 18450 | * dired-aux.el (dired-kill-tree): Do not kill DIRNAME, even if it | ||
| 18451 | does not end in a slash. Add optional argument KILL-ROOT. | ||
| 18452 | Update docstring. | ||
| 18453 | (dired-do-touch, dired-clean-directory, dired-run-shell-command) | ||
| 18454 | (dired-query): Add autoloads. | ||
| 18455 | |||
| 18456 | 2004-06-08 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 18457 | |||
| 18458 | * progmodes/compile.el (compilation-set-window-height): Rearrange | ||
| 18459 | the save-* functions because a buffer can have several current | ||
| 18460 | point in different windows. | ||
| 18461 | (compilation-error-regexp-alist-alist): Recognize {standard input} | ||
| 18462 | GNU messages (for gcc --pipe) and more kinds of Oracle messages. | ||
| 18463 | |||
| 18464 | 2004-06-08 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 18465 | |||
| 18466 | * toolbar/copy-locol.xpm, toolbar/cut-locol.xpm | ||
| 18467 | * toolbar/help-locol.xpm, toolbar/home-locol.xpm | ||
| 18468 | * toolbar/index-locol.xpm, toolbar/jump_to-locol.xpm | ||
| 18469 | * toolbar/left_arrow-locol.xpm, toolbar/new-locol.xpm | ||
| 18470 | * toolbar/open-locol.xpm, toolbar/paste-locol.xpm | ||
| 18471 | * toolbar/preferences-locol.xpm, toolbar/print-locol.xpm | ||
| 18472 | * toolbar/right_arrow-locol.xpm, toolbar/save-locol.xpm | ||
| 18473 | * toolbar/saveas-locol.xpm, toolbar/search-locol.xpm | ||
| 18474 | * toolbar/spell-locol.xpm, toolbar/undo-locol.xpm | ||
| 18475 | * toolbar/up_arrow-locol.xpm: | ||
| 18476 | New versions of icons that uses fewer colors. | ||
| 18477 | |||
| 18478 | * toolbar/tool-bar.el (tool-bar-local-item) | ||
| 18479 | (tool-bar-local-item-from-menu): Try to use icons with fewer colors | ||
| 18480 | if display-color-cells is 256 or less. | ||
| 18481 | |||
| 18482 | 2004-06-08 Kim F. Storm <storm@cua.dk> | ||
| 18483 | |||
| 18484 | * wid-edit.el (widget-specify-button): Use hand pointer rather | ||
| 18485 | than mouse-face as visible mouse-over effect. | ||
| 18486 | |||
| 18487 | 2004-06-07 Karl Fogel <kfogel@red-bean.com> | ||
| 18488 | |||
| 18489 | * saveplace.el (save-place-alist-to-file): Bind `print-length' | ||
| 18490 | and `print-level' to nil when writing out `save-place-alist'. | ||
| 18491 | Thanks to Kai Grossjohann <kai@emptydomain.de> for enlightenment. | ||
| 18492 | |||
| 18493 | 2004-06-07 Juanma Barranquero <lektu@terra.es> | ||
| 18494 | |||
| 18495 | * completion.el (completion-kill-region): Doc fix. | ||
| 18496 | |||
| 18497 | * format.el (format-insert-annotations) | ||
| 18498 | (format-annotate-location): Doc fixes. | ||
| 18499 | (format-subtract-regions): Make arguments match their use in docstring. | ||
| 18500 | |||
| 18501 | * simple.el (kill-region): Doc fix. | ||
| 18502 | |||
| 18503 | * subr.el (insert-buffer-substring-no-properties) | ||
| 18504 | (insert-buffer-substring-as-yank): Doc fixes. | ||
| 18505 | |||
| 18506 | 2004-06-07 Luc Teirlinck <teirllm@auburn.edu> | ||
| 18507 | |||
| 18508 | * dired-aux.el (dired-do-redisplay, dired-maybe-insert-subdir): | ||
| 18509 | Update docstring. | ||
| 18510 | (dired-reset-subdir-switches): New function. | ||
| 18511 | |||
| 18512 | * dired.el (dired-undo): Call `dired-build-subdir-alist'. | ||
| 18513 | Limit scope of `buffer-read-only' binding. | ||
| 18514 | |||
| 18515 | 2004-06-06 Emilio C. Lopes <eclig@gmx.net> | ||
| 18516 | |||
| 18517 | * eshell/esh-cmd.el (eshell/which): Respect commands quoted with | ||
| 18518 | eshell-explicit-command-char. | ||
| 18519 | |||
| 18520 | 2004-06-06 Juanma Barranquero <lektu@terra.es> | ||
| 18521 | |||
| 18522 | * help-fns.el (help-argument-name): Inherit from italic face only | ||
| 18523 | if the frame supports it. | ||
| 18524 | |||
| 18525 | 2004-06-06 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 18526 | |||
| 18527 | * toolbar/alias.pbm, toolbar/close.pbm, toolbar/copy.pbm | ||
| 18528 | * toolbar/cut.pbm, toolbar/help.pbm, toolbar/home.pbm | ||
| 18529 | * toolbar/index.pbm, toolbar/jump_to.pbm, toolbar/left_arrow.pbm | ||
| 18530 | * toolbar/new.pbm, toolbar/open.pbm, toolbar/paste.pbm | ||
| 18531 | * toolbar/preferences.pbm, toolbar/print.pbm, toolbar/right_arrow.pbm | ||
| 18532 | * toolbar/save.pbm, toolbar/saveas.pbm, toolbar/search.pbm | ||
| 18533 | * toolbar/spell.pbm, toolbar/undo.pbm, toolbar/up_arrow.pbm: | ||
| 18534 | New conversions from xpm files. | ||
| 18535 | |||
| 18536 | * toolbar/README: New file. | ||
| 18537 | |||
| 18538 | 2004-06-06 Richard M. Stallman <rms@gnu.org> | ||
| 18539 | |||
| 18540 | * isearch.el (isearch-mode-map): Undo previous change. | ||
| 18541 | |||
| 18542 | 2004-06-05 Juri Linkov <juri@jurta.org> | ||
| 18543 | |||
| 18544 | * bindings.el (debug-ignored-errors): Add regexps for history | ||
| 18545 | related messages. Remove $ from "No further undo information". | ||
| 18546 | Move Ediff's messages to ediff.el. | ||
| 18547 | |||
| 18548 | * ediff.el: Move Ediff's debug-ignored-errors from bindings.el. | ||
| 18549 | |||
| 18550 | * cus-edit.el (custom-display): Add `min-colors'. | ||
| 18551 | |||
| 18552 | * custom.el (defface): Add `supports' to docstring. | ||
| 18553 | |||
| 18554 | * help-fns.el (help-argument-name): Add :group 'help. | ||
| 18555 | |||
| 18556 | 2004-06-05 Luc Teirlinck <teirllm@auburn.edu> | ||
| 18557 | |||
| 18558 | * find-dired.el (find-ls-subdir-switches): New user option. | ||
| 18559 | (find-dired): No longer call `abbreviate-file-name' on DIR. | ||
| 18560 | Set `dired-subdir-switches' buffer-locally. | ||
| 18561 | |||
| 18562 | * locate.el: Merge the two `Commentary' sections. | ||
| 18563 | (locate-ls-subdir-switches): New user option. | ||
| 18564 | (locate): Update for other changes. | ||
| 18565 | (locate-mode-map): Restore Dired binding for mouse-2. | ||
| 18566 | Bind `locate-mouse-view-file' to M-mouse-2. | ||
| 18567 | Bind `l' to `locate-do-redisplay'. | ||
| 18568 | (locate-main-listing-line-p, locate-do-redisplay): New functions. | ||
| 18569 | (locate-mouse-view-file, locate-tags, locate-find-directory): | ||
| 18570 | Print message if used outside main listing. | ||
| 18571 | (locate-mode): Update docstring. Make `*Locate*' buffer read-only. | ||
| 18572 | Various changes to support inserted subdirectories. | ||
| 18573 | (locate-insert-header): Change header of *Locate* buffer. | ||
| 18574 | |||
| 18575 | * dired-aux.el (dired-do-redisplay, dired-maybe-insert-subdir): | ||
| 18576 | Change interactive default switches. | ||
| 18577 | (dired-rename-subdir-2): Update `dired-switches-alist'. | ||
| 18578 | (dired-insert-subdir, dired-kill-subdir): | ||
| 18579 | Handle `dired-switches-alist'. Do not mark buffer modified. | ||
| 18580 | (dired-insert-subdir-validate): Handle `dired-subdir-switches'. | ||
| 18581 | (dired-insert-subdir-doinsert): Omit messages. | ||
| 18582 | Handle `dired-subdir-switches'. | ||
| 18583 | (dired-hide-subdir, dired-hide-all): Do not mark buffer modified. | ||
| 18584 | |||
| 18585 | * dired.el (dired-subdir-switches, dired-switches-alist): New vars. | ||
| 18586 | (dired-insert-old-subdirs): Do not repeatedly delete and reinsert | ||
| 18587 | subdirs if -R switch is used for a subdir. | ||
| 18588 | (dired-mode): Set `dired-switches-alist'. | ||
| 18589 | (dired-build-subdir-alist): Only print number of directories in | ||
| 18590 | echo area when invoked interactively. | ||
| 18591 | |||
| 18592 | 2004-06-05 Lars Hansen <larsh@math.ku.dk> | ||
| 18593 | |||
| 18594 | * dired-x.el (dired-omit-mode): Rename from | ||
| 18595 | dired-omit-files-p. Use define-minor-mode to define it. | ||
| 18596 | (dired-omit-files-p): Add as alias for dired-omit-mode. | ||
| 18597 | (dired-omit-toggle): Delete. Replaced by dired-omit-mode and | ||
| 18598 | dired-mark-omitted. | ||
| 18599 | (dired-mark-omitted): Add. Bind to M-O. | ||
| 18600 | |||
| 18601 | 2004-06-05 Kenichi Handa <handa@m17n.org> | ||
| 18602 | |||
| 18603 | * ps-print.el: Fix typos (kein'ichi -> ken'ichi) | ||
| 18604 | |||
| 18605 | 2004-06-05 Juanma Barranquero <lektu@terra.es> | ||
| 18606 | |||
| 18607 | * help-fns.el (help-argument-name): Reintroduce face. | ||
| 18608 | (help-default-arg-highlight): Use it, now that | ||
| 18609 | `face-differs-from-default-p' can be trusted. | ||
| 18610 | |||
| 18611 | 2004-06-05 Matt Hodges <matt@stchem.bham.ac.uk> (tiny change) | ||
| 18612 | |||
| 18613 | * textmodes/table.el: Sentence commands added to Point Motion | ||
| 18614 | group; kill and backward-kill commands added to Extraction group. | ||
| 18615 | |||
| 18616 | 2004-06-04 Mario Lang <mlang@delysid.org> | ||
| 18617 | |||
| 18618 | * battery.el (battery-linux-proc-acpi): `mA' was hardcoded, but some | ||
| 18619 | systems appear to use mW, make the code handle this. Fix a | ||
| 18620 | division-by-zero bug while at it, and handle kernels with | ||
| 18621 | a slightly different layout in /proc/acpi. | ||
| 18622 | |||
| 18623 | 2004-06-04 Karl Fogel <kfogel@red-bean.com> | ||
| 18624 | |||
| 18625 | * vc-svn.el (vc-svn-checkin): Use `nconc' instead of `list*', | ||
| 18626 | because the latter is a CL-ism. This fixes the bug reported by | ||
| 18627 | Shawn Boyette <mdxi@collapsar.net> in | ||
| 18628 | http://lists.gnu.org/archive/html/emacs-devel/2004-05/msg00442.html. | ||
| 18629 | |||
| 18630 | 2004-06-04 Miles Bader <miles@gnu.org> | ||
| 18631 | |||
| 18632 | * faces.el (display-supports-face-attributes-p): Function moved to | ||
| 18633 | C code. Previously only the tty-related portion of this function | ||
| 18634 | was done in C; however the previous attempt to do a halfway-proper | ||
| 18635 | job for non-tty displays in lisp didn't work properly because of | ||
| 18636 | funny conditions during Emacs startup. | ||
| 18637 | (face-differs-from-default-p): Simplify, now that | ||
| 18638 | display-supports-face-attributes-p works properly on all display | ||
| 18639 | types. Remove :stipple from comparison; it doesn't really work | ||
| 18640 | in emacs anyway. | ||
| 18641 | |||
| 18642 | 2004-06-04 Miles Bader <miles@gnu.org> | ||
| 18643 | |||
| 18644 | * faces.el (face-differs-from-default-p): Use a different | ||
| 18645 | implementation, so we can really check whether FACE displays | ||
| 18646 | differently or not. | ||
| 18647 | |||
| 18648 | 2004-06-04 Miles Bader <miles@gnu.org> | ||
| 18649 | |||
| 18650 | * faces.el (display-supports-face-attributes-p): Implement a | ||
| 18651 | `different from default' check for non-tty displays. | ||
| 18652 | |||
| 18653 | 2004-06-03 David Kastrup <dak@gnu.org> | ||
| 18654 | |||
| 18655 | * woman.el (woman-mapcan): More concise code. | ||
| 18656 | (woman-topic-all-completions, woman-topic-all-completions-1) | ||
| 18657 | (woman-topic-all-completions-merge): Replace by a simpler and | ||
| 18658 | much faster implementation based on O(n log n) sort/merge instead | ||
| 18659 | of the old O(n^2) behavior. | ||
| 18660 | |||
| 18661 | 2004-06-03 Miles Bader <miles@gnu.org> | ||
| 18662 | |||
| 18663 | * subr.el (read-number): Use canonical format for default in prompt. | ||
| 18664 | |||
| 18665 | * minibuf-eldef.el (minibuffer-default-in-prompt-regexps): | ||
| 18666 | Add regexp for " [...]" style defaults. | ||
| 18667 | |||
| 18668 | 2004-06-02 Romain Francoise <romain@orebokech.com> | ||
| 18669 | |||
| 18670 | * ibuf-ext.el (ibuffer-jump-to-buffer): Add support for filter | ||
| 18671 | groups: if the user asks for a hidden buffer, open the | ||
| 18672 | corresponding filter group to expose it. | ||
| 18673 | |||
| 18674 | * ibuffer.el (ibuffer-mode-map): Add key binding `M-g' to | ||
| 18675 | `ibuffer-jump-to-buffer'. | ||
| 18676 | (ibuffer-jump-offer-only-visible-buffers): New user option. | ||
| 18677 | |||
| 18678 | 2004-06-02 Juanma Barranquero <lektu@terra.es> | ||
| 18679 | |||
| 18680 | * faces.el (frame-update-faces): Add empty docstring so the one | ||
| 18681 | for `ignore' doesn't show through. | ||
| 18682 | |||
| 18683 | * subr.el (process-kill-without-query): Remove spurious "\n" on | ||
| 18684 | obsolescence string. | ||
| 18685 | (focus-frame, unfocus-frame): Add obsolescence declaration and | ||
| 18686 | empty docstring. | ||
| 18687 | |||
| 18688 | * international/mule.el (register-char-codings): Make alias for | ||
| 18689 | `ignore'. Move docstring to obsolescence info and remove redundancy. | ||
| 18690 | |||
| 18691 | 2004-06-02 Kim F. Storm <storm@cua.dk> | ||
| 18692 | |||
| 18693 | * frame.el (blink-cursor-start): Turn cursor off initially so blink | ||
| 18694 | starts after blink-cursor-delay rather than 2*blink-cursor-delay. | ||
| 18695 | |||
| 18696 | 2004-06-01 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 18697 | |||
| 18698 | * comint.el (comint-replace-by-expanded-history-before-point): | ||
| 18699 | Obey `start' as the docstring says. | ||
| 18700 | (comint-send-input, comint-snapshot-last-prompt, comint-output-filter) | ||
| 18701 | (comint-update-fence): Prevent font-lock from running unnecessarily. | ||
| 18702 | (comint-dynamic-list-completions): Use with-current-buffer. | ||
| 18703 | |||
| 18704 | 2004-06-01 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de> | ||
| 18705 | |||
| 18706 | * textmodes/bibtex.el (bibtex-format-entry): Fix regexps. | ||
| 18707 | (bibtex-parse-strings): Bugfix, use assoc instead of assoc-string. | ||
| 18708 | (bibtex-entry-update): Handle alternatives and optional fields. | ||
| 18709 | (bibtex-parse-entry): Bugfix, handle empty key. | ||
| 18710 | |||
| 18711 | 2004-05-31 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 18712 | |||
| 18713 | * vc-arch.el (vc-arch-state): Don't assume the file exists. | ||
| 18714 | |||
| 18715 | 2004-05-31 Lars Hansen <larsh@math.ku.dk> | ||
| 18716 | |||
| 18717 | * desktop.el (desktop-save): Don't save minor modes without a | ||
| 18718 | known mode initialization function. | ||
| 18719 | |||
| 18720 | 2004-05-30 Luc Teirlinck <teirllm@auburn.edu> | ||
| 18721 | |||
| 18722 | * replace.el (query-replace-interactive): Convert defvar -> defcustom. | ||
| 18723 | |||
| 18724 | * autorevert.el: Update `Commentary' section. | ||
| 18725 | |||
| 18726 | 2004-05-30 Juanma Barranquero <lektu@terra.es> | ||
| 18727 | |||
| 18728 | * dos-fns.el (convert-standard-filename): | ||
| 18729 | * files.el (convert-standard-filename): | ||
| 18730 | * w32-fns.el (convert-standard-filename): | ||
| 18731 | Rework docstring (wording by Eli Zaretskii and Kai Grossjohann). | ||
| 18732 | |||
| 18733 | 2004-05-30 Kai Grossjohann <kai.grossjohann@gmx.net> | ||
| 18734 | |||
| 18735 | Sync with Tramp. | ||
| 18736 | |||
| 18737 | * net/tramp.el (tramp-let-maybe): Reverse args of `get'. | ||
| 18738 | (tramp-let-maybe): Move to an earlier spot in the file. | ||
| 18739 | Patch by Andreas Schwab. | ||
| 18740 | |||
| 18741 | 2004-05-30 Andreas Schwab <schwab@suse.de> | ||
| 18742 | |||
| 18743 | * dired.el (dired-get-filename): Don't use dired-re-dot. | ||
| 18744 | |||
| 18745 | 2004-05-30 Richard M. Stallman <rms@gnu.org> | ||
| 18746 | |||
| 18747 | * files.el (find-file): Doc fix. | ||
| 18748 | |||
| 18749 | * font-lock.el (lisp-font-lock-keywords-2): Add multiple-value-bind. | ||
| 18750 | |||
| 18751 | 2004-05-30 Nick Roberts <nickrob@gnu.org> | ||
| 18752 | |||
| 18753 | * progmodes/gdb-ui.el (gdb-current-frame, gud-watch) | ||
| 18754 | (gdb-locals-mode, gdb-frame-handler): Display current frame in the | ||
| 18755 | modeline of the locals buffer. | ||
| 18756 | (gdb-goto-breakpoint): Handle gdbmi. | ||
| 18757 | (gdb-get-frame-number): Change for gdbmi. | ||
| 18758 | |||
| 18759 | 2004-05-30 Michael Albinus <michael.albinus@gmx.de> | ||
| 18760 | |||
| 18761 | * files.el (file-remote-p): Apply file name handler for operation | ||
| 18762 | `file-remote-p'. It isn't a property any longer. | ||
| 18763 | (file-relative-name): `fh' and `fd' get the required value via | ||
| 18764 | `find-file-name-handler' already. | ||
| 18765 | |||
| 18766 | * ange-ftp.el (ange-ftp-file-remote-p): New defun. | ||
| 18767 | (top): Remove setting of `file-remote-p' property for | ||
| 18768 | `ange-ftp-hook-function'. Add `ange-ftp' property to `file-remote-p'. | ||
| 18769 | |||
| 18770 | 2004-05-29 Michael Albinus <michael.albinus@gmx.de> | ||
| 18771 | |||
| 18772 | Version 2.0.41 of Tramp released. | ||
| 18773 | |||
| 18774 | * tramp.el (tramp-wait-for-regexp, tramp-wait-for-output): | ||
| 18775 | Throw away if process has died. | ||
| 18776 | Reported by Luc Teirlinck <teirllm@dms.auburn.edu>. | ||
| 18777 | (tramp-out-of-band-prompt-regexp): Rename to | ||
| 18778 | `tramp-process-alive-regexp', because its usage is widen. | ||
| 18779 | (tramp-actions-copy-out-of-band): Apply it. | ||
| 18780 | (tramp-actions-before-shell, tramp-multi-actions): | ||
| 18781 | Add `tramp-action-process-alive' action. | ||
| 18782 | (tramp-action-process-alive): New defun. | ||
| 18783 | (tramp-file-name-handler-alist, tramp-file-name-for-operation): | ||
| 18784 | Add entry for `file-remote-p'. | ||
| 18785 | (tramp-handle-file-remote-p): New defun. | ||
| 18786 | (top): Remove setting of `file-remote-p'. Don't set | ||
| 18787 | `inhibit-file-name-handlers' and `inhibit-file-name-operation'. | ||
| 18788 | |||
| 18789 | * tramp-smb.el (tramp-smb-file-name-handler-alist): Add entry for | ||
| 18790 | `file-remote-p'. | ||
| 18791 | |||
| 18792 | * tramp-uu.el (tramp-uuencode-region): Padding characters aren't | ||
| 18793 | counted for (last) line. [They should or they shouldn't? --Stef] | ||
| 18794 | Reported by Aaron Ucko <ucko@ncbi.nlm.nih.gov>. | ||
| 18795 | |||
| 18796 | 2004-05-29 Kai Grossjohann <kai.grossjohann@gmx.net> | ||
| 18797 | |||
| 18798 | * tramp.el (tramp-initial-commands): Add "unset HISTFILE"; this is | ||
| 18799 | not really necessary but seems to keep the shell history smaller | ||
| 18800 | in some cases. It is no substitute for setting HISTFILE and | ||
| 18801 | HISTSIZE from tramp-open-connection-setup-interactive-shell, | ||
| 18802 | though. Suggested by Luc Teirlinck. | ||
| 18803 | (tramp-open-connection-setup-interactive-shell): Export variables | ||
| 18804 | HISTFILE and HISTSIZE, do not just set them. From Luc Teirlinck. | ||
| 18805 | (tramp-set-process-query-on-exit-flag): New compat function. | ||
| 18806 | (tramp-open-connection-multi, tramp-open-connection-su) | ||
| 18807 | (tramp-open-connection-rsh, tramp-open-connection-telnet) | ||
| 18808 | (tramp-do-copy-or-rename-file-out-of-band): Use it. | ||
| 18809 | (tramp-let-maybe): New macro, let-binds a variable only if it | ||
| 18810 | isn't obsolete. | ||
| 18811 | (tramp-check-ls-commands, tramp-handle-expand-file-name) | ||
| 18812 | (tramp-handle-file-truename): Use it. | ||
| 18813 | (tramp-completion-file-name-regexp-unified): Avoid matching | ||
| 18814 | filenames starting with "/:" -- those are reserved for | ||
| 18815 | file-name-non-special. | ||
| 18816 | |||
| 18817 | * tramp-smb.el (tramp-smb-open-connection): | ||
| 18818 | Use tramp-set-process-query-on-exit-flag compat function. | ||
| 18819 | |||
| 18820 | 2004-05-29 Richard M. Stallman <rms@gnu.org> | ||
| 18821 | |||
| 18822 | * net/browse-url.el (browse-url-interactive-arg): Doc fix. | ||
| 18823 | |||
| 18824 | * emacs-lisp/lisp-mode.el (prin1-char): Catch errors from `string'. | ||
| 18825 | (eval-last-sexp-print-value): Print char equivalent regardless | ||
| 18826 | of standard-output value. | ||
| 18827 | |||
| 18828 | * thumbs.el (thumbs-subst-char-in-string): Delete. | ||
| 18829 | (thumbs-thumbname): Use subst-char-in-string. | ||
| 18830 | (thumbs-resize-image): Use condition-case, not ignore-errors. | ||
| 18831 | (thumbs-kill-buffer): Likewise. | ||
| 18832 | |||
| 18833 | * thumbs.el: Don't include cl. Don't bother with old Emacs versions. | ||
| 18834 | (thumbs-mode): Make buffer read-only. | ||
| 18835 | (thumbs-make-thumb): Unconditionally accept an existing file. | ||
| 18836 | (thumbs-insert-thumb): Add thumb-image-file property to the image. | ||
| 18837 | (thumbs-do-thumbs-insertion): Be smarter about where to put newlines. | ||
| 18838 | (thumbs-show-thumbs-list): Error if images not supported. | ||
| 18839 | (thumbs-save-current-image): Improve prompt string. | ||
| 18840 | (thumbs-mode-map): Define u, R, x. | ||
| 18841 | (thumbs-unmark): New command. | ||
| 18842 | (thumbs-emboss-image): Minor cleanup. | ||
| 18843 | (thumbs-forward-char, thumbs-backward-char): Skip chars with no image. | ||
| 18844 | (thumbs-rename-images): New command. | ||
| 18845 | (thumbs-show-image-num): Rewrite. Don't rename the buffer. | ||
| 18846 | |||
| 18847 | * thumbs.el (thumbs-current-image): New function. | ||
| 18848 | (thumbs-file-list, thumbs-file-alist): New functions. | ||
| 18849 | (thumbs-find-image): Delete arg L. | ||
| 18850 | Don't set up thumbs-fileL as buffer-local global var. | ||
| 18851 | (thumbs-find-image-at-point): Use thumbs-current-image. | ||
| 18852 | (thumbs-set-image-at-point-to-root-window): Likewise. | ||
| 18853 | (thumbs-delete-images): Use thumbs-current-image, thumbs-file-alist. | ||
| 18854 | Record and warn about errors. Update thumbs-markedL for deletions. | ||
| 18855 | (thumbs-next-image, thumbs-previous-image): Use thumbs-file-alist. | ||
| 18856 | (thumbs-redraw-buffer): Use thumbs-file-list. | ||
| 18857 | (thumbs-mark): Use thumbs-current-image. | ||
| 18858 | (thumbs-show-name): Use thumbs-current-image. | ||
| 18859 | |||
| 18860 | * imenu.el (imenu--menubar-select): Set imenu-menubar-modified-tick | ||
| 18861 | and imenu--last-menubar-index-alist. | ||
| 18862 | |||
| 18863 | * subr.el (with-selected-window): Undo previous change. | ||
| 18864 | |||
| 18865 | 2004-05-29 John Paul Wallington <jpw@gnu.org> | ||
| 18866 | |||
| 18867 | * thumbs.el (thumbs-show-name): Do nothing if no image at point. | ||
| 18868 | (thumbs-mouse-find-image): New command. | ||
| 18869 | (thumbs-mode-map): Bind it to mouse-2. | ||
| 18870 | (thumbs-mode): Make mode-class special. | ||
| 18871 | (thumbs-view-image-mode): Likewise. | ||
| 18872 | |||
| 18873 | 2004-05-29 Pavel Kobiakov <pk_at_work@yahoo.com> | ||
| 18874 | |||
| 18875 | * flymake.el: New file. | ||
| 18876 | |||
| 18877 | 2004-05-28 Luc Teirlinck <teirllm@auburn.edu> | ||
| 18878 | |||
| 18879 | * files.el (find-file-noselect-1): Do not bind | ||
| 18880 | `inhibit-read-only' to t during execution of | ||
| 18881 | `find-file-not-found-functions'. | ||
| 18882 | |||
| 18883 | 2004-05-28 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 18884 | |||
| 18885 | * vc-mcvs.el (vc-mcvs-print-log, vc-mcvs-diff): | ||
| 18886 | * vc-arch.el (vc-arch-diff): Add optional `buffer' arg. | ||
| 18887 | |||
| 18888 | 2004-05-28 Juri Linkov <juri@jurta.org> | ||
| 18889 | |||
| 18890 | * simple.el (eval-expression-print-format): New fun. | ||
| 18891 | |||
| 18892 | * simple.el (eval-expression): | ||
| 18893 | * emacs-lisp/lisp-mode.el (eval-last-sexp-print-value): | ||
| 18894 | * emacs-lisp/edebug.el (edebug-compute-previous-result) | ||
| 18895 | (edebug-eval-expression): Print additionally the value returned by | ||
| 18896 | `eval-expression-print-format'. | ||
| 18897 | |||
| 18898 | * emacs-lisp/lisp.el (insert-pair-alist): New var. | ||
| 18899 | (insert-pair): Make arguments optional. Find character pair | ||
| 18900 | from `insert-pair-alist' according to the last input event. | ||
| 18901 | (insert-parentheses): Make arguments optional. | ||
| 18902 | (raise-sexp, delete-pair): New funs. | ||
| 18903 | |||
| 18904 | * emacs-lisp/lisp-mode.el (indent-pp-sexp): New fun. | ||
| 18905 | (emacs-lisp-mode-map, lisp-interaction-mode-map): | ||
| 18906 | Bind C-M-q to `indent-pp-sexp'. | ||
| 18907 | |||
| 18908 | * emacs-lisp/pp.el (pp-buffer): New fun created from the code in | ||
| 18909 | `pp-to-string' modified to be able to format text with newlines. | ||
| 18910 | (pp-to-string): Move the buffer-formatting part of the code to | ||
| 18911 | `pp-buffer'. Call `pp-buffer'. | ||
| 18912 | |||
| 18913 | * info.el (Info-desktop-buffer-misc-data): Don't save information | ||
| 18914 | about virtual files. | ||
| 18915 | (Info-restore-desktop-buffer): Restore Info buffers in prepared | ||
| 18916 | buffers with names obtained from the desktop file instead of the | ||
| 18917 | default *info* buffer. | ||
| 18918 | |||
| 18919 | 2004-05-28 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 18920 | |||
| 18921 | * subr.el (with-selected-window): Only save/restore the selected | ||
| 18922 | window. | ||
| 18923 | |||
| 18924 | * progmodes/compile.el (compilation-error-regexp-alist): | ||
| 18925 | Use expand-file-name and data-directory. | ||
| 18926 | |||
| 18927 | * progmodes/grep.el (grep-tree): Rework previous fix. | ||
| 18928 | |||
| 18929 | * mouse.el (mouse-set-region-1): Use temporary transient-mark-mode | ||
| 18930 | after the user marked text with the mouse. | ||
| 18931 | |||
| 18932 | * startup.el (command-line): Keep the first regexp of | ||
| 18933 | auto-save-file-name-transforms intact. | ||
| 18934 | |||
| 18935 | 2004-05-28 Juanma Barranquero <lektu@terra.es> | ||
| 18936 | |||
| 18937 | * cus-edit.el (customize-face, customize-face-other-window) | ||
| 18938 | (custom-face-edit-delete): Make arguments match their use in | ||
| 18939 | docstring. | ||
| 18940 | (custom-unloaded-symbol-p, custom-unloaded-widget-p): Fix typo in | ||
| 18941 | docstring. | ||
| 18942 | |||
| 18943 | * cvs-status.el (cvs-tree-merge, cvs-tags->tree): Use `butlast', | ||
| 18944 | not `cvs-butlast'. | ||
| 18945 | |||
| 18946 | * pcvs-util.el (cvs-butlast, cvs-nbutlast): Remove (`butlast' and | ||
| 18947 | `nbutlast' are in subr.el). | ||
| 18948 | |||
| 18949 | * w32-fns.el (w32-using-nt, w32-shell-dos-semantics) | ||
| 18950 | (set-w32-system-coding-system): Doc fixes. | ||
| 18951 | |||
| 18952 | * textmodes/artist.el (artist-last, artist-remove-nulls): Simplify. | ||
| 18953 | (artist-draw-ellipse-general, artist-draw-ellipse-with-0-height): | ||
| 18954 | Make arguments match their use in docstring. | ||
| 18955 | (artist-draw-region-trim-line-endings) | ||
| 18956 | (artist-mouse-choose-operation): Fix typo in docstring. | ||
| 18957 | (artist-key-set-point-common): Doc fix. | ||
| 18958 | |||
| 18959 | 2004-05-28 Simon Josefsson <jas@extundo.com> | ||
| 18960 | |||
| 18961 | * mail/smtpmail.el (smtpmail-open-stream): | ||
| 18962 | Bind starttls-extra-arguments too, if starttls.el uses GNUTLS. | ||
| 18963 | |||
| 18964 | 2004-05-26 Simon Josefsson <jas@extundo.com> | ||
| 18965 | |||
| 18966 | * starttls.el: Merge with my GNUTLS based starttls.el. | ||
| 18967 | (starttls-gnutls-program, starttls-use-gnutls) | ||
| 18968 | (starttls-extra-arguments, starttls-process-connection-type) | ||
| 18969 | (starttls-connect, starttls-failure, starttls-success): New variables. | ||
| 18970 | (starttls-program, starttls-extra-args): Doc fix. | ||
| 18971 | (starttls-negotiate-gnutls, starttls-open-stream-gnutls): New funs. | ||
| 18972 | (starttls-negotiate, starttls-open-stream): Check `starttls-use-gnutls' | ||
| 18973 | and pass on to corresponding *-gnutls function if it is set. | ||
| 18974 | |||
| 18975 | 2004-05-27 Luc Teirlinck <teirllm@auburn.edu> | ||
| 18976 | |||
| 18977 | * autorevert.el (auto-revert-handler): Disable auto-reverting of | ||
| 18978 | remote files. | ||
| 18979 | |||
| 18980 | 2004-05-27 Michael Albinus <michael.albinus@gmx.de> | ||
| 18981 | |||
| 18982 | * files.el (file-name-non-special): There are more operations | ||
| 18983 | which need handling: `find-backup-file-name', | ||
| 18984 | `insert-file-contents', `verify-visited-file-modtime', | ||
| 18985 | `write-region'. Rename t value of method to `add'. Add new | ||
| 18986 | methods `quote' and `unquote-then-quote' to file-arg-indices. | ||
| 18987 | |||
| 18988 | 2004-05-25 Juri Linkov <juri@jurta.org> | ||
| 18989 | |||
| 18990 | * info.el (Info-toc): Call Info-mode on intermediate buffer. | ||
| 18991 | (Info-index-nodes): Enclose code in condition-case to catch errors. | ||
| 18992 | (Info-index-node): Don't search all index nodes if request is only | ||
| 18993 | for the current node and file is not in the cache of index nodes. | ||
| 18994 | (Info-mode-map): Bind Info-copy-current-node-name to `w' | ||
| 18995 | for consistency with dired-copy-filename-as-kill. | ||
| 18996 | Bind `S' to Info-search-case-sensitively. | ||
| 18997 | (Info-copy-current-node-name): New arg. With zero prefix arg put | ||
| 18998 | the name inside a function call to `info'. Display copied text in | ||
| 18999 | the echo area. | ||
| 19000 | |||
| 19001 | 2004-05-25 Sam Steingold <sds@gnu.org> | ||
| 19002 | |||
| 19003 | * emacs-lisp/lisp-mode.el (lisp-find-tag-default): New function: | ||
| 19004 | strip the package prefix from the symbol name, if any. | ||
| 19005 | Make it the `find-tag-default-function' for `lisp-mode'. | ||
| 19006 | |||
| 19007 | 2004-05-25 John Paul Wallington <jpw@gnu.org> | ||
| 19008 | |||
| 19009 | * gs.el (gs-load-image): Use `set-process-query-on-exit-flag' | ||
| 19010 | instead of obsolete `process-kill-without-query'. | ||
| 19011 | |||
| 19012 | * textmodes/texinfmt.el (texinfo-indexvar-alist): | ||
| 19013 | Declare as variable, not constant. | ||
| 19014 | |||
| 19015 | 2004-05-25 Luc Teirlinck <teirllm@auburn.edu> | ||
| 19016 | |||
| 19017 | * files.el (find-file-noselect-1): Fix bug introduced by | ||
| 19018 | Revision 1.694. As a side effect, `inhibit-read-only' | ||
| 19019 | is again, by default, t during execution of | ||
| 19020 | `find-file-not-found-functions'. | ||
| 19021 | (insert-directory): Check that lines were really inserted by | ||
| 19022 | the --dired switch, before erasing them. | ||
| 19023 | |||
| 19024 | 2004-05-24 Nick Roberts <nickrob@gnu.org> | ||
| 19025 | |||
| 19026 | * progmodes/gdb-ui.el (gdb-breakpoints-mode, gdb-frames-mode) | ||
| 19027 | (gdb-locals-mode): Check gud-minor-mode in gud-comint-buffer. | ||
| 19028 | (gdb-var-update, gdb-var-update-handler, gdb-var-delete) | ||
| 19029 | (gdb-edit-value, gdb-speedbar-expand-node): Handle new value for | ||
| 19030 | gud-minor-mode (gdbmi). | ||
| 19031 | |||
| 19032 | 2004-05-24 Yoichi NAKAYAMA <yoichi@geiin.org> (tiny change) | ||
| 19033 | |||
| 19034 | * net/browse-url.el (browse-url-interactive-arg): Enable user to | ||
| 19035 | explicitly select the text to be taken as URL. | ||
| 19036 | |||
| 19037 | 2004-05-23 Juri Linkov <juri@jurta.org> | ||
| 19038 | |||
| 19039 | * info.el (Info-index-nodes): New var and fun. | ||
| 19040 | (Info-goto-index, Info-index, info-apropos) | ||
| 19041 | (Info-find-emacs-command-nodes): Rewrite to use Info-index-nodes. | ||
| 19042 | (Info-index): Fix docstring. Store and restore Info-history-list. | ||
| 19043 | (Info-complete-nodes): New var. | ||
| 19044 | (Info-complete-menu-item): Use it. | ||
| 19045 | (Info-index-node): New fun. | ||
| 19046 | (Info-final-node, Info-forward-node, Info-backward-node) | ||
| 19047 | (Info-build-toc, Info-try-follow-nearest-node, Info-fontify-node): | ||
| 19048 | Use Info-index-node. | ||
| 19049 | (Info-extract-menu-item, Info-extract-menu-counting): Set second | ||
| 19050 | arg of `Info-extract-menu-node-name' to non-nil for index nodes. | ||
| 19051 | (Info-find-node-2): If a node with period in its name not found, | ||
| 19052 | try to find a node without the name part after period. | ||
| 19053 | (Info-select-node): Call Info-fontify-node only if | ||
| 19054 | Info-fontify-maximum-menu-size is not nil. | ||
| 19055 | (info-apropos): Set Info-fontify-maximum-menu-size to nil. | ||
| 19056 | (Info-find-emacs-command-nodes, Info-goto-emacs-command-node): | ||
| 19057 | Preserve Info-history-list. | ||
| 19058 | (Info-toc): Set Info-current-file. | ||
| 19059 | (Info-build-toc): Move point to the beginning of the buffer. | ||
| 19060 | Add main-file variable. | ||
| 19061 | (Info-dir-remove-duplicates, Info-history, Info-toc, info-apropos): | ||
| 19062 | Use backslashed representation of the control character ^_. | ||
| 19063 | |||
| 19064 | * textmodes/texinfmt.el (texinfo-print-index): Print index line | ||
| 19065 | numbers in the new Texinfo 4.7 format. | ||
| 19066 | |||
| 19067 | * add-log.el (change-log-font-lock-keywords): Remove `:' from | ||
| 19068 | regexps for function and variable names. | ||
| 19069 | |||
| 19070 | * descr-text.el (describe-property-list): Add [show] button for | ||
| 19071 | `syntax-table' property with action to pp to a separate buffer. | ||
| 19072 | (describe-char): Replace search-forward by re-search-forward with | ||
| 19073 | whitespace regexp after "character:" to not fail in too narrow windows. | ||
| 19074 | |||
| 19075 | * simple.el (next-error-find-buffer): Add a rule to return | ||
| 19076 | next-error capable buffer if one window on the selected frame | ||
| 19077 | displays such buffer. | ||
| 19078 | |||
| 19079 | 2004-05-23 Nick Roberts <nickrob@gnu.org> | ||
| 19080 | |||
| 19081 | * progmodes/gdb-ui.el (gdb-server-prefix): New variable. | ||
| 19082 | (gud-watch, gdb-send-item, gdb-breakpoints-mode, gdb-frames-mode) | ||
| 19083 | (gdb-locals-mode, gdb-send-item, gdb-toggle-breakpoint) | ||
| 19084 | (gdb-delete-breakpoint, gdb-frames-select, gdb-threads-buffer) | ||
| 19085 | (gdb-registers-buffer, gdb-reset, gdb-assembler-buffer): | ||
| 19086 | Handle new value for gud-minor-mode (gdbmi). | ||
| 19087 | (gdb-buffer-type, gdb-input-queue, gdb-prompting) | ||
| 19088 | (gdb-output-sink, gdb-current-item, gdb-pending-triggers): | ||
| 19089 | Change from local to global gdb variable set. | ||
| 19090 | (gdb-ann3): Initialize above gdb variable set. | ||
| 19091 | (gdb-var-update, gdb-var-update-handler, gdb-enqueue-input) | ||
| 19092 | (gdb-dequeue-input, gdb-source, gdb-pre-prompt, gdb-prompt) | ||
| 19093 | (gdb-subprompt, gdb-starting, gdb-stopping, gdb-frame-begin) | ||
| 19094 | (gdb-stopped, gdb-post-prompt, gdb-concat-output) | ||
| 19095 | (def-gdb-auto-update-trigger, def-gdb-auto-update-handler) | ||
| 19096 | (gdb-info-locals-handler, gdb-invalidate-assembler) | ||
| 19097 | (gdb-get-current-frame, gdb-frame-handler): Handle gdb variable | ||
| 19098 | set as global variables. | ||
| 19099 | (gdb-get-create-buffer): Don't make gud-comint buffer-local. | ||
| 19100 | Handle gdbmi. | ||
| 19101 | (gdb-info-breakpoints-custom): Fix regexp. | ||
| 19102 | (def-gdb-var): Delete. | ||
| 19103 | |||
| 19104 | * progmodes/gud.el (gud-menu-map, gud-speedbar-menu-items) | ||
| 19105 | (gud-speedbar-buttons, gud-sentinel, gud-display-line) | ||
| 19106 | (gud-basic-call): Handle new value for gud-minor-mode (gdbmi) for | ||
| 19107 | a new mode. The file (gdb-mi.el) for this mode will be included | ||
| 19108 | with the GDB distribution (6.2 onwards) and will use GDB/MI as its | ||
| 19109 | primary interface. | ||
| 19110 | |||
| 19111 | 2004-05-23 Jesper Harder <harder@ifa.au.dk> | ||
| 19112 | |||
| 19113 | * progmodes/grep.el (grep-tree): Ensure that DIR argument is | ||
| 19114 | interpreted as a directory. | ||
| 19115 | |||
| 19116 | 2004-05-22 Richard M. Stallman <rms@gnu.org> | ||
| 19117 | |||
| 19118 | * textmodes/paragraphs.el (sentence-end): Match unicode curly quotes | ||
| 19119 | as a close quote. | ||
| 19120 | |||
| 19121 | * textmodes/bibtex.el: Use assoc-string, not assoc-ignore-case. | ||
| 19122 | |||
| 19123 | * progmodes/idlw-shell.el (idlwave-shell-get-object-class): | ||
| 19124 | Use assoc-string, not assoc-ignore-case. | ||
| 19125 | |||
| 19126 | * progmodes/ada-mode.el: Use assoc-string, not assoc-ignore-case. | ||
| 19127 | |||
| 19128 | * emacs-lisp/lisp.el (mark-defun, narrow-to-defun): | ||
| 19129 | If moving back then fwd gets a defun that ends before point, | ||
| 19130 | try again moving fwd then back. | ||
| 19131 | |||
| 19132 | * files.el (file-name-non-special): Allow t in file-arg-indices | ||
| 19133 | to mean requote the return value. Use `identity' as an element | ||
| 19134 | rather than as the whole value. | ||
| 19135 | |||
| 19136 | * gs.el (gs-options): Add -dSAFER. Mark it risky. | ||
| 19137 | |||
| 19138 | 2004-05-22 Juanma Barranquero <lektu@terra.es> | ||
| 19139 | |||
| 19140 | * help-fns.el (help-add-fundoc-usage): Use %S only for output of | ||
| 19141 | `help-make-usage'. | ||
| 19142 | (help-highlight-arguments): Skip function name before searching | ||
| 19143 | for arguments. | ||
| 19144 | |||
| 19145 | 2004-05-21 Juanma Barranquero <lektu@terra.es> | ||
| 19146 | |||
| 19147 | * allout.el (allout-chart-subtree, allout-rebullet-topic-grunt): | ||
| 19148 | Don't mention in the docstring these arguments meant for | ||
| 19149 | internal (recursive) use only. | ||
| 19150 | (allout-char-spec): Comment out (it's not implemented). | ||
| 19151 | (allout-old-expose-topic, allout-exposure): Fix docstring and add | ||
| 19152 | obsolescence declaration. | ||
| 19153 | (allout-flatten-exposed-to-buffer) | ||
| 19154 | (allout-indented-exposed-to-buffer): Fix typos in docstring. | ||
| 19155 | (my-mark-marker): Doc fix. | ||
| 19156 | (produce-allout-mode-map, allout-sibling-index) | ||
| 19157 | (allout-isearch-expose, allout-distinctive-bullet) | ||
| 19158 | (allout-open-topic, allout-reindent-body) | ||
| 19159 | (allout-rebullet-heading, allout-process-exposed) | ||
| 19160 | (allout-insert-listified, allout-latex-verb-quote) | ||
| 19161 | (allout-insert-latex-header, allout-insert-latex-trailer): | ||
| 19162 | Make arguments match their use in docstring. | ||
| 19163 | (allout-primary-bullet, allout-old-style-prefixes) | ||
| 19164 | (allout-inhibit-protection, allout-init, allout-mode) | ||
| 19165 | (allout-before-change-protect, allout-flag-region): | ||
| 19166 | Use "Emacs" instead of "emacs" in docstrings. | ||
| 19167 | |||
| 19168 | 2004-05-21 Masayuki Ataka <ataka@milk.freemail.ne.jp> (tiny change) | ||
| 19169 | |||
| 19170 | * international/characters.el: Modify syntax of more characters. | ||
| 19171 | |||
| 19172 | 2004-05-21 Masatake YAMATO <jet@gyve.org> | ||
| 19173 | |||
| 19174 | * progmodes/etags.el (tags-apropos, list-tags): Require apropos. | ||
| 19175 | (etags-tags-completion-table): Show parsing progress. | ||
| 19176 | |||
| 19177 | 2004-05-20 Luc Teirlinck <teirllm@auburn.edu> | ||
| 19178 | |||
| 19179 | * locate.el (locate-prompt-for-command): Shorten first line of | ||
| 19180 | docstring. | ||
| 19181 | (locate-mode): Expand docstring and include keymap summary. | ||
| 19182 | |||
| 19183 | * files.el (find-file-noselect-1): Limit the scope of the | ||
| 19184 | `inhibit-read-only' binding. Make sure that `inhibit-read-only' | ||
| 19185 | is, by default, nil during the execution of | ||
| 19186 | `find-file-not-found-functions' and `find-file-hook'. | ||
| 19187 | |||
| 19188 | 2004-05-20 Michael Mauger <mmaug@yahoo.com> | ||
| 19189 | |||
| 19190 | * facemenu.el (facemenu-color-name-equal): New function. | ||
| 19191 | (list-colors-display): Use it to compare colors instead of | ||
| 19192 | facemenu-color-equal. | ||
| 19193 | |||
| 19194 | 2004-05-20 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 19195 | |||
| 19196 | * compare-w.el (compare-windows-face): Use min-colors instead of | ||
| 19197 | checking for tty or pc types. | ||
| 19198 | |||
| 19199 | 2004-05-19 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 19200 | |||
| 19201 | * simple.el (do-auto-fill): Remove unused vars `bol' and `opoint'. | ||
| 19202 | (completion-setup-function): Use with-current-buffer. | ||
| 19203 | Properly save excursion. Simplify. | ||
| 19204 | Don't assume there is necessarily a `mouse-face' property somewhere. | ||
| 19205 | |||
| 19206 | * progmodes/gud.el (gud-reset): Use unless & with-current-buffer. | ||
| 19207 | |||
| 19208 | * progmodes/gdb-ui.el (gdb-reset): Use unless. Fix regexp. | ||
| 19209 | |||
| 19210 | * emacs-lisp/bytecomp.el (byte-compile-log): Use backquotes. | ||
| 19211 | (byte-compile-log-1): Don't call (byte-goto-log-buffer). | ||
| 19212 | Use with-current-buffer. | ||
| 19213 | (byte-goto-log-buffer): Delete. | ||
| 19214 | (byte-compile-log-file): Call compilation-forget-errors. | ||
| 19215 | |||
| 19216 | 2004-05-19 Takaaki Ota <Takaaki.Ota@am.sony.com> (tiny change) | ||
| 19217 | |||
| 19218 | * net/ldap.el (ldap-search-internal): Avoid mixing standard error | ||
| 19219 | output messages into the search result. | ||
| 19220 | |||
| 19221 | 2004-05-19 Masatake YAMATO <jet@gyve.org> | ||
| 19222 | |||
| 19223 | * wid-edit.el (widget-radio-button-notify): Revert my last | ||
| 19224 | change. Reported by Katsumi Yamaoka <yamaoka@jpl.org>. | ||
| 19225 | |||
| 19226 | 2004-05-19 Kenichi Handa <handa@m17n.org> | ||
| 19227 | |||
| 19228 | * international/characters.el: Fix syntax (open/close) of CJK chars. | ||
| 19229 | |||
| 19230 | 2004-05-18 Karl Chen <quarl@hkn.eecs.berkeley.edu> (tiny change) | ||
| 19231 | |||
| 19232 | * help-mode.el (help-go-back): Don't depend on position of back button. | ||
| 19233 | |||
| 19234 | 2004-05-18 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 19235 | |||
| 19236 | * files.el (auto-save-file-name-transforms): Make sure ange-ftp temp | ||
| 19237 | files don't contain an accidental additional /. | ||
| 19238 | |||
| 19239 | * textmodes/tex-mode.el (tex-compilation-parse-errors): Save excursion | ||
| 19240 | in source buffer. | ||
| 19241 | |||
| 19242 | 2004-05-18 Masatake YAMATO <jet@gyve.org> | ||
| 19243 | |||
| 19244 | * wid-edit.el (widget-radio-button-notify): Don't pass `widget' | ||
| 19245 | to widget-apply. :action method assumes 2 arguments, not 3. | ||
| 19246 | |||
| 19247 | 2004-05-17 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 19248 | |||
| 19249 | * progmodes/f90.el (f90-end-block-re, f90-start-block-re): | ||
| 19250 | New constants. | ||
| 19251 | (hs-special-modes-alist): Add an f90-mode entry. | ||
| 19252 | |||
| 19253 | 2004-05-17 Sam Steingold <sds@gnu.org> | ||
| 19254 | |||
| 19255 | * emacs-lisp/cl-indent.el (common-lisp-indent-function-1): | ||
| 19256 | Indent "without-" forms just like "with-" and "do-". Use regexp-opt. | ||
| 19257 | |||
| 19258 | 2004-05-16 Kim F. Storm <storm@cua.dk> | ||
| 19259 | |||
| 19260 | * emacs-lisp/timer.el (timer-event-handler): Fix last change. | ||
| 19261 | |||
| 19262 | 2004-05-15 John Wiegley <johnw@newartisans.com> | ||
| 19263 | |||
| 19264 | * eshell/esh-io.el (eshell-get-target): Whitespace changes. | ||
| 19265 | (eshell-output-object-to-target): Improve output speed 20% by not | ||
| 19266 | calling `eshell-stringify' if something is already known to be a | ||
| 19267 | string. | ||
| 19268 | |||
| 19269 | 2004-05-15 Alex Ott <ott@jet.msk.su> | ||
| 19270 | |||
| 19271 | * textmodes/ispell.el (ispell-local-dictionary-alist): | ||
| 19272 | Add windows-1251 to the choice of coding systems. | ||
| 19273 | (ispell-dictionary-alist-6): Add support for "russianw.aff", | ||
| 19274 | encoded in cp1251. | ||
| 19275 | |||
| 19276 | 2004-05-15 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 19277 | |||
| 19278 | * progmodes/compile.el (compilation-warning-face) | ||
| 19279 | (compilation-info-face): Use min-colors. | ||
| 19280 | |||
| 19281 | 2004-05-15 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 19282 | |||
| 19283 | * toolbar/close.pbm, toolbar/close.xpm, toolbar/copy.pbm | ||
| 19284 | * toolbar/copy.xpm, toolbar/cut.pbm, toolbar/cut.xpm | ||
| 19285 | * toolbar/help.pbm, toolbar/help.xpm, toolbar/home.pbm | ||
| 19286 | * toolbar/home.xpm, toolbar/index.pbm, toolbar/index.xpm | ||
| 19287 | * toolbar/jump_to.pbm, toolbar/jump_to.xpm, toolbar/left_arrow.pbm | ||
| 19288 | * toolbar/left_arrow.xpm, toolbar/new.pbm, toolbar/new.xpm | ||
| 19289 | * toolbar/open.pbm, toolbar/open.xpm, toolbar/paste.pbm | ||
| 19290 | * toolbar/paste.xpm, toolbar/preferences.pbm, toolbar/preferences.xpm | ||
| 19291 | * toolbar/print.pbm, toolbar/print.xpm, toolbar/right_arrow.pbm | ||
| 19292 | * toolbar/right_arrow.xpm, toolbar/save.pbm, toolbar/save.xpm | ||
| 19293 | * toolbar/saveas.pbm, toolbar/saveas.xpm, toolbar/search.pbm | ||
| 19294 | * toolbar/search.xpm, toolbar/spell.pbm, toolbar/spell.xpm | ||
| 19295 | * toolbar/undo.pbm, toolbar/undo.xpm, toolbar/up_arrow.pbm | ||
| 19296 | * toolbar/up_arrow.xpm: New icons from GTK+ version 2. | ||
| 19297 | |||
| 19298 | 2004-05-15 Kim F. Storm <storm@cua.dk> | ||
| 19299 | |||
| 19300 | * emacs-lisp/timer.el (timer-activate): Add optional arg triggered-p. | ||
| 19301 | Use it to set triggered-p element of timer. | ||
| 19302 | (timer-event-handler): Set triggered-p element non-nil while running | ||
| 19303 | the timer function. | ||
| 19304 | |||
| 19305 | 2004-05-14 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 19306 | |||
| 19307 | * descr-text.el (describe-char-unicode-data) | ||
| 19308 | (describe-char-unicodedata-file): Re-enable the unicode code now that | ||
| 19309 | the licensing issues have been cleared in the unicode-4 license. | ||
| 19310 | (describe-text-properties-1): Remove unused `overlay' var. | ||
| 19311 | (describe-char): Remove unused var `buffer'. | ||
| 19312 | |||
| 19313 | 2004-05-14 David Ponce <david@dponce.com> | ||
| 19314 | |||
| 19315 | * tree-widget.el: New file. | ||
| 19316 | |||
| 19317 | 2004-05-13 Marcelo Toledo <marcelo@gnu.org> | ||
| 19318 | |||
| 19319 | * language/european.el ("Brazilian Portuguese"): Add support for | ||
| 19320 | Brazilian Portuguese. | ||
| 19321 | |||
| 19322 | 2004-05-13 John Wiegley <johnw@newartisans.com> | ||
| 19323 | |||
| 19324 | * iswitchb.el (iswitchb-use-virtual-buffers): Only turn on | ||
| 19325 | `recentf-mode' if this variable has been customized to t. | ||
| 19326 | |||
| 19327 | * eshell/esh-test.el (eshell-test): Call the function | ||
| 19328 | `emacs-version' rather than trying to build a custom version string. | ||
| 19329 | |||
| 19330 | 2004-05-13 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 19331 | |||
| 19332 | * net/telnet.el (telnet-mode): Use define-derived-mode. | ||
| 19333 | Don't modify the global value of comint-prompt-regexp. | ||
| 19334 | |||
| 19335 | 2004-05-13 John Paul Wallington <jpw@gnu.org> | ||
| 19336 | |||
| 19337 | * version.el (emacs-version): Check for `gtk' feature before | ||
| 19338 | `x-toolkit' feature. | ||
| 19339 | |||
| 19340 | 2004-05-13 Juanma Barranquero <lektu@terra.es> | ||
| 19341 | |||
| 19342 | * files.el (file-truename): Don't mention COUNTER and PREV-DIRS | ||
| 19343 | arguments in the docstring, they're used only in recursive calls. | ||
| 19344 | |||
| 19345 | * help-fns.el (help-arg-highlighting-function) | ||
| 19346 | (help-argument-name): Delete. | ||
| 19347 | (help-default-arg-highlight): New function. | ||
| 19348 | (help-do-arg-highlighting): Use it. | ||
| 19349 | |||
| 19350 | 2004-05-13 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 19351 | |||
| 19352 | * calendar/appt.el (appt-disp-window): | ||
| 19353 | Use `calendar-set-mode-line' for a centered mode-line. | ||
| 19354 | |||
| 19355 | 2004-05-13 Takaaki Ota <Takaaki.Ota@am.sony.com> (tiny change) | ||
| 19356 | |||
| 19357 | * calendar/appt.el (appt-disp-window): Do not split window | ||
| 19358 | excessively when `split-height-threshold' is low. | ||
| 19359 | |||
| 19360 | 2004-05-12 Nick Roberts <nickrob@gnu.org> | ||
| 19361 | |||
| 19362 | * progmodes/gud.el (gud-mode): Add gud-kill-buffer-hook to | ||
| 19363 | kill-buffer-hook here and make it local. | ||
| 19364 | (gud-kill-buffer-hook): Use kill-process for a sure kill. | ||
| 19365 | |||
| 19366 | 2004-05-12 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 19367 | |||
| 19368 | * progmodes/compile.el (compilation-set-window-height): | ||
| 19369 | Use save-excursion to protect against misplaced marker. | ||
| 19370 | |||
| 19371 | 2004-05-12 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 19372 | |||
| 19373 | * custom.el (defface): Document that type can have value gtk. | ||
| 19374 | |||
| 19375 | * faces.el (face-spec-set-match-display): Handle type gtk in display. | ||
| 19376 | |||
| 19377 | 2004-05-12 Kenichi Handa <handa@m17n.org> | ||
| 19378 | |||
| 19379 | * descr-text.el: Require quail at compile time. | ||
| 19380 | (describe-char): If an input method is on and it supports the | ||
| 19381 | character, show how to input it. | ||
| 19382 | |||
| 19383 | * international/quail.el (quail-install-decode-map): Accept a | ||
| 19384 | char-table whose subtype is `quail-decode-map'. | ||
| 19385 | (quail-store-decode-map-key, quail-gen-decode-map1) | ||
| 19386 | (quail-gen-decode-map, quail-find-key1, quail-find-key) | ||
| 19387 | (quail-show-key): New functions. | ||
| 19388 | |||
| 19389 | 2004-05-12 Juanma Barranquero <lektu@terra.es> | ||
| 19390 | |||
| 19391 | * generic.el (define-generic-mode): Remove redundant arglist info. | ||
| 19392 | |||
| 19393 | * help-fns.el (help-split-fundoc, help-add-fundoc-usage): | ||
| 19394 | Make arguments match their use in docstring. | ||
| 19395 | (help-arg-highlighting-function): New variable. | ||
| 19396 | (help-argument-name): Mention it in the docstring. | ||
| 19397 | (help-do-arg-highlight): Use it. Expand regexp to accept also | ||
| 19398 | ARG-xxx and xxx-ARG references. | ||
| 19399 | |||
| 19400 | 2004-05-11 Yoichi NAKAYAMA <yoichi@geiin.org> (tiny change) | ||
| 19401 | |||
| 19402 | * mail/rfc2368.el (rfc2368-parse-mailto-url): Make the results of | ||
| 19403 | parsing "mailto:addr1%2C%20addr2", "mailto:?to=addr1%2C%20addr2", | ||
| 19404 | and "mailto:addr1?to=addr2" equal. | ||
| 19405 | |||
| 19406 | 2004-05-11 Alexander Pohoyda <alexander.pohoyda@gmx.net> (tiny change) | ||
| 19407 | |||
| 19408 | * man.el (Man-getpage-in-background): Use shell-file-name | ||
| 19409 | and shell-command-switch variables instead of hard-coded values. | ||
| 19410 | |||
| 19411 | 2004-05-11 Eli Zaretskii <eliz@gnu.org> | ||
| 19412 | |||
| 19413 | * iimage.el: New file. | ||
| 19414 | |||
| 19415 | 2004-05-11 Juanma Barranquero <lektu@terra.es> | ||
| 19416 | |||
| 19417 | * custom.el (custom-initialize-default, defcustom): | ||
| 19418 | Fix typo in docstring. | ||
| 19419 | |||
| 19420 | * files.el (set-visited-file-name, file-expand-wildcards): | ||
| 19421 | Fix docstring. | ||
| 19422 | |||
| 19423 | 2004-05-10 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 19424 | |||
| 19425 | * emacs-lisp/lisp-mode.el (prin1-char): Use eventp. | ||
| 19426 | |||
| 19427 | * subr.el (eventp): Be more discriminating with integers. | ||
| 19428 | |||
| 19429 | 2004-05-10 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 19430 | |||
| 19431 | * progmodes/compile.el (compile): Add universal prefix arg. | ||
| 19432 | (compilation-error-regexp-alist-alist): Add edg patterns. | ||
| 19433 | |||
| 19434 | 2004-05-10 Sam Steingold <sds@gnu.org> | ||
| 19435 | |||
| 19436 | * textmodes/ispell.el (ispell-message): | ||
| 19437 | Use `message-cite-prefix-regexp' instead of `message-yank-prefix'. | ||
| 19438 | |||
| 19439 | 2004-05-10 Dave Love <fx@gnu.org> | ||
| 19440 | |||
| 19441 | * progmodes/python.el (help-buffer): Autoload when compiling. | ||
| 19442 | (python-after-info-look): Don't assume Info-goto-node returns non-nil. | ||
| 19443 | (run-python): Prepend to any existing PYTHONPATH. | ||
| 19444 | |||
| 19445 | 2004-05-10 Nick Roberts <nick@nick.uklinux.net> | ||
| 19446 | |||
| 19447 | * progmodes/gdb-ui.el (gdb-annotation-rules): Add nquery annotation | ||
| 19448 | for pending breakpoints. | ||
| 19449 | |||
| 19450 | 2004-05-10 Richard M. Stallman <rms@gnu.org> | ||
| 19451 | |||
| 19452 | * mail/unrmail.el (unrmail): Mostly rewritten. Parses the file | ||
| 19453 | directly without calling any functions in Rmail. | ||
| 19454 | (unrmail-unprune): Function deleted. | ||
| 19455 | |||
| 19456 | 2004-05-10 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 19457 | |||
| 19458 | * progmodes/python.el (inferior-python-mode-map): Remove erroneous | ||
| 19459 | C-c C-z binding. | ||
| 19460 | |||
| 19461 | 2004-05-10 Kenichi Handa <handa@m17n.org> | ||
| 19462 | |||
| 19463 | * descr-text.el (describe-char): Fix previous change. Don't make | ||
| 19464 | a unibyte character to multibyte in the *Help* buffer. | ||
| 19465 | |||
| 19466 | 2004-05-10 Miles Bader <miles@gnu.org> | ||
| 19467 | |||
| 19468 | * lisp/progmodes/gud.el (gud-common-init): Only consider an existing | ||
| 19469 | buffer an error if the debugger process is actually running. | ||
| 19470 | |||
| 19471 | 2004-05-10 Juanma Barranquero <lektu@terra.es> | ||
| 19472 | |||
| 19473 | * help-fns.el (help-argument-name): Default to italic. | ||
| 19474 | (help-highlight-arguments): Return always (usage . doc), even when | ||
| 19475 | usage is nil. | ||
| 19476 | |||
| 19477 | * ibuf-macs.el (define-ibuffer-column, define-ibuffer-sorter) | ||
| 19478 | (define-ibuffer-filter): Add usage info. | ||
| 19479 | (define-ibuffer-op): Add usage info (but CL-style defaults for | ||
| 19480 | keyword args are not shown). | ||
| 19481 | |||
| 19482 | * subr.el (remove-overlays, read-passwd): Fix docstring. | ||
| 19483 | (start-process-shell-command): Fix docstring. Put usage info in a | ||
| 19484 | format usable by `describe-function'. | ||
| 19485 | (open-network-stream, open-network-stream-nowait) | ||
| 19486 | (open-network-stream-server): Fix docstring. | ||
| 19487 | |||
| 19488 | 2004-05-09 Jason Rumney <jasonr@gnu.org> | ||
| 19489 | |||
| 19490 | * international/code-pages.el (cp932, cp936, cp949, c950): Remove. | ||
| 19491 | Only define cp125* if windows-125* is already defined. | ||
| 19492 | |||
| 19493 | * language/korean.el (cp949): Add alias. | ||
| 19494 | |||
| 19495 | * language/chinese.el (cp936, cp950): Add aliases. | ||
| 19496 | |||
| 19497 | * language/japanese.el (cp932): Add alias. | ||
| 19498 | |||
| 19499 | * term/w32-win.el: Require code-pages. | ||
| 19500 | |||
| 19501 | * international/mule-cmds.el (set-locale-environment): | ||
| 19502 | On MS-Windows use ansi code-page for default coding-systems. | ||
| 19503 | Set up paper sizes for Windows 3 letter languages. | ||
| 19504 | |||
| 19505 | * international/code-pages.el (cp932, cp936, cp949, cp950): | ||
| 19506 | Add aliases. Also add cp125* if not already defined. | ||
| 19507 | |||
| 19508 | 2004-05-09 Juanma Barranquero <lektu@terra.es> | ||
| 19509 | |||
| 19510 | * help-fns.el (help-highlight-arguments): Don't try to highlight | ||
| 19511 | missing or autoloaded arglists. Accept structured arguments, like | ||
| 19512 | the first ones of `do' and `flet'. | ||
| 19513 | |||
| 19514 | * pcvs.el (cvs-mode-run, cvs-is-within-p): Fix typo in docstring. | ||
| 19515 | (cvs-get-marked): Remove redundant arglist info. | ||
| 19516 | |||
| 19517 | * net/quickurl.el (quickurl, quickurl-browse-url, quickurl-read): | ||
| 19518 | Don't use CL-style default args. | ||
| 19519 | |||
| 19520 | 2004-05-08 Andreas Schwab <schwab@suse.de> | ||
| 19521 | |||
| 19522 | * emacs-lisp/checkdoc.el (checkdoc-minor-mode): Doc fix. | ||
| 19523 | |||
| 19524 | * international/subst-ksc.el: Fix references to utf-translate-cjk | ||
| 19525 | into utf-translate-cjk-mode. | ||
| 19526 | * international/subst-big5.el: Likewise. | ||
| 19527 | * international/subst-gb2312.el: Likewise. | ||
| 19528 | * international/subst-jis.el: Likewise. | ||
| 19529 | * international/utf-16.el: Likewise. | ||
| 19530 | * international/utf-8.el: Likewise. | ||
| 19531 | |||
| 19532 | 2004-05-08 John Wiegley <johnw@newartisans.com> | ||
| 19533 | |||
| 19534 | * iswitchb.el (iswitchb-use-virtual-buffers): Add support for | ||
| 19535 | "virtual buffers" (off by default), which makes it possible to | ||
| 19536 | switch to the "virtual" buffers of recently visited files. When a | ||
| 19537 | buffer name search fails, and this option is on, iswitchb will | ||
| 19538 | look at the list of recently visited files, and permit matching | ||
| 19539 | against those names. When the user hits RET on a match, it will | ||
| 19540 | revisit that file. | ||
| 19541 | (iswitchb-read-buffer): Add two optional arguments, which makes | ||
| 19542 | isearchb.el possible. | ||
| 19543 | (iswitchb-completions, iswitchb-set-matches, iswitchb-prev-match) | ||
| 19544 | (iswitchb-next-match): Add support for virtual buffers. | ||
| 19545 | |||
| 19546 | * isearchb.el: This module extends iswitchb to provide "as you | ||
| 19547 | type" buffer selection. | ||
| 19548 | |||
| 19549 | * textmodes/flyspell.el (flyspell-highlight-incorrect-region): | ||
| 19550 | Ignore the read-only property when flyspell highlighting is on. | ||
| 19551 | Not ignoring it leads to a series of confusing errors. | ||
| 19552 | (flyspell-highlight-duplicate-region): Ignore read-only, as above, | ||
| 19553 | but also make sure to call flyspell-incorrect-hook. | ||
| 19554 | (flyspell-maybe-correct-transposition): Perform transposition test | ||
| 19555 | by bit twiddling a string, rather than using a temp buffer. | ||
| 19556 | (flyspell-maybe-correct-doubling): Use a string rather than a temp | ||
| 19557 | buffer. This is also the original version of the code, which | ||
| 19558 | could not be checked in before due to a previous lack of | ||
| 19559 | assignment papers. This version has seen heavy usage on my system | ||
| 19560 | for several years now. | ||
| 19561 | |||
| 19562 | * calendar/cal-bahai.el: New file, which adds support for the | ||
| 19563 | Baha'i calendar to Emacs. This calendar is based on a solar year | ||
| 19564 | of 19 months of 19 days, with 4 intercalary days. Each year | ||
| 19565 | begins on March 21, with the calendar starting in 1844. | ||
| 19566 | |||
| 19567 | * calendar/cal-menu.el, calendar/calendar.el | ||
| 19568 | * calendar/diary-lib.el, calendar/holidays.el: | ||
| 19569 | Added support for using cal-bahai.el. | ||
| 19570 | |||
| 19571 | * eshell/em-glob.el (eshell-glob-initialize): Move initialization | ||
| 19572 | of `eshell-glob-chars-regexp' into `eshell-glob-regexp', so that | ||
| 19573 | function can be used outside of eshell buffers. | ||
| 19574 | (eshell-glob-regexp): Initialize `eshell-glob-chars-regexp' here. | ||
| 19575 | |||
| 19576 | 2004-05-08 Juanma Barranquero <lektu@terra.es> | ||
| 19577 | |||
| 19578 | * help-fns.el (help-do-arg-highlight): Temporarily set ?\- to be a | ||
| 19579 | word constituent so FOO-ARG is not recognized as an arg. | ||
| 19580 | (help-highlight-arguments): Don't skip lists in mandatory arguments. | ||
| 19581 | |||
| 19582 | * simple.el (next-error): Fix typo in docstring. | ||
| 19583 | (open-line): Make argument names match their use in docstring. | ||
| 19584 | (split-line): Fix docstring. | ||
| 19585 | |||
| 19586 | * emacs-lisp/cl-macs.el (do, do*): Put usage info in a format | ||
| 19587 | usable by `describe-function'. | ||
| 19588 | (gensym, gentemp, typep, ignore-errors): Make argument names match | ||
| 19589 | their use in docstring. | ||
| 19590 | |||
| 19591 | * progmodes/python.el (python-describe-symbol): Pass INTERACTIVE-P | ||
| 19592 | argument to `help-setup-xref'. | ||
| 19593 | |||
| 19594 | 2004-05-07 Kai Grossjohann <kai@emptydomain.de> | ||
| 19595 | |||
| 19596 | Version 2.0.40 of Tramp released. | ||
| 19597 | |||
| 19598 | * net/tramp.el (tramp-completion-mode, tramp-md5-function): | ||
| 19599 | Use symbol-function to invoke functions only known on some Emacs | ||
| 19600 | flavors. This avoids byte-compiler warnings. Reported by Kevin | ||
| 19601 | Scaldeferri <kevin@scaldeferri.com>. | ||
| 19602 | (tramp-do-copy-or-rename-file-via-buffer): Rename from | ||
| 19603 | tramp-do-copy-or-rename-via-buffer (without `file'), to make it | ||
| 19604 | consistent with the other tramp-do-* functions. | ||
| 19605 | (tramp-do-copy-or-rename-file): Calls adjusted. | ||
| 19606 | (tramp-process-initial-commands): Avoid liveness check on shell -- | ||
| 19607 | we know that it must be alive since we're opening a connection at | ||
| 19608 | this moment. | ||
| 19609 | (tramp-last-cmd): New internal variable. | ||
| 19610 | (tramp-process-echoes): New tunable. | ||
| 19611 | (tramp-send-command): Set tramp-last-cmd. | ||
| 19612 | (tramp-wait-for-output): Delete echo, if applicable. | ||
| 19613 | (tramp-read-passwd): Construct the key for the password cache in a | ||
| 19614 | way that works for multi methods, too. | ||
| 19615 | (tramp-bug): Add backup-directory-alist and | ||
| 19616 | bkup-backup-directory-info to bug reports, with Tramp counterparts. | ||
| 19617 | |||
| 19618 | 2004-05-07 Michael Albinus <michael.albinus@gmx.de> | ||
| 19619 | |||
| 19620 | * net/tramp*.el: Suppress byte-compiler warnings where possible. | ||
| 19621 | |||
| 19622 | * net/tramp.el (tramp-out-of-band-prompt-regexp) | ||
| 19623 | (tramp-actions-copy-out-of-band): New defcustoms. | ||
| 19624 | (tramp-do-copy-or-rename-file-out-of-band): Asynchronous process | ||
| 19625 | used instead of a synchronous one. Allows password entering. | ||
| 19626 | (tramp-action-out-of-band): New defun. | ||
| 19627 | (tramp-open-connection-rsh, tramp-method-out-of-band-p): | ||
| 19628 | Remove restriction with password from doc string. | ||
| 19629 | (tramp-bug): Add variables `tramp-terminal-prompt-regexp', | ||
| 19630 | `tramp-out-of-band-prompt-regexp', | ||
| 19631 | `tramp-actions-copy-out-of-band', `password-cache' and | ||
| 19632 | `password-cache-expiry'. | ||
| 19633 | (toplevel): Remove todo item wrt ssh-agent. Obsolete due to | ||
| 19634 | password caching. | ||
| 19635 | (tramp-touch): FILE can be a local file, too. | ||
| 19636 | (TODO): Remove items done. | ||
| 19637 | (tramp-handle-insert-directory): Properly quote file name also if | ||
| 19638 | not full-directory-p. Handle wildcard case. Reported by Andreas | ||
| 19639 | Schwab <schwab@suse.de>. | ||
| 19640 | (tramp-do-copy-or-rename-file-via-buffer): Set permissions of the | ||
| 19641 | new file. | ||
| 19642 | (tramp-handle-file-local-copy, tramp-handle-write-region): | ||
| 19643 | The permissions of the temporary file are set if filename exists. | ||
| 19644 | Reported by Ted Stern <stern@cray.com>. | ||
| 19645 | (tramp-backup-directory-alist) | ||
| 19646 | (tramp-bkup-backup-directory-info): New defcustoms. | ||
| 19647 | (tramp-file-name-handler-alist): Add entry for `find-backup-file-name'. | ||
| 19648 | (tramp-handle-find-backup-file-name): New function. | ||
| 19649 | Implements Tramp's find-backup-file-name. | ||
| 19650 | |||
| 19651 | * net/tramp-smb.el (tramp-smb-file-name-handler-alist): Add entry | ||
| 19652 | for `find-backup-file-name'. | ||
| 19653 | |||
| 19654 | * net/tramp-vc.el (tramp-vc-workfile-unchanged-p): Correct typo | ||
| 19655 | ("file" -> "filename"). Reported by Kim F. Storm <storm@cua.dk>. | ||
| 19656 | |||
| 19657 | 2004-05-07 Lars Hansen <larsh@math.ku.dk> | ||
| 19658 | |||
| 19659 | * desktop.el (desktop-buffer-mode-handlers): Fix docstring. | ||
| 19660 | |||
| 19661 | 2004-05-07 Juanma Barranquero <lektu@terra.es> | ||
| 19662 | |||
| 19663 | * subr.el (lambda): Add arglist description to docstring. | ||
| 19664 | (declare): Fix typo in docstring. | ||
| 19665 | (open-network-stream): Fix docstring. | ||
| 19666 | (process-kill-without-query): Fix docstring and add obsolescence info. | ||
| 19667 | (last, butlast, nbutlast): Make arguments match their use in docstring. | ||
| 19668 | (insert-buffer-substring-no-properties): Likewise. | ||
| 19669 | (insert-buffer-substring-as-yank): Likewise. | ||
| 19670 | (split-string): Fix docstring. | ||
| 19671 | |||
| 19672 | * emacs-lisp/byte-run.el (make-obsolete, make-obsolete-variable): | ||
| 19673 | Make argument names match their use in docstring. | ||
| 19674 | |||
| 19675 | * emacs-lisp/re-builder.el (reb-auto-update): Fix typo in docstring. | ||
| 19676 | |||
| 19677 | 2004-05-06 Nick Roberts <nickrob@gnu.org> | ||
| 19678 | |||
| 19679 | * progmodes/gdb-ui.el: Improve/extend documentation strings. | ||
| 19680 | Fit first sentence on one line for apropos-command. | ||
| 19681 | |||
| 19682 | 2004-05-06 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 19683 | |||
| 19684 | Changes largely merged in from Dave Love's code. | ||
| 19685 | * progmodes/python.el: Doc fixes. | ||
| 19686 | (python-mode-map): Add python-complete-symbol. | ||
| 19687 | (python-comment-line-p, python-beginning-of-string): Use syntax-ppss. | ||
| 19688 | (python-comment-indent, python-complete-symbol) | ||
| 19689 | (python-symbol-completions, python-partial-symbol) | ||
| 19690 | (python-try-complete): New. | ||
| 19691 | (python-indent-line): Remove optional arg. Use python-block-end-p. | ||
| 19692 | (python-check): Bind compilation-error-regexp-alist. | ||
| 19693 | (inferior-python-mode): Use rx. Move keybindings to top level. | ||
| 19694 | Set comint-input-filter. | ||
| 19695 | (python-preoutput-filter): Use rx. | ||
| 19696 | (python-input-filter): Re-introduce. | ||
| 19697 | (python-proc): Start new process if necessary. | ||
| 19698 | Check python-buffer non-nil. | ||
| 19699 | (view-return-to-alist): Defvar. | ||
| 19700 | (python-send-receive): New. | ||
| 19701 | (python-eldoc-function): Use it. | ||
| 19702 | (python-mode-running): Don't defvar. | ||
| 19703 | (python-mode): Set comment-indent-function. | ||
| 19704 | Maybe update hippie-expand-try-functions-list. | ||
| 19705 | (python-indentation-levels): Initialize differently. | ||
| 19706 | (python-block-end-p): New. | ||
| 19707 | (python-indent-line): Use it. | ||
| 19708 | (python-compilation-regexp-alist): Augment. | ||
| 19709 | (run-python): Import `emacs' module to Python rather than loading | ||
| 19710 | code directly. Set python-buffer differently. | ||
| 19711 | (python-send-region): Use emacs.eexecfile. Fix orig-start calculation. | ||
| 19712 | Use python-proc. | ||
| 19713 | (python-send-command): Go to end of comint buffer. | ||
| 19714 | (python-load-file): Use python-proc, emacs.eimport. | ||
| 19715 | (python-describe-symbol): Simplify interactive form. | ||
| 19716 | Use emacs.help. Do use temp-buffer-show-hook. | ||
| 19717 | Call print-help-return-message. | ||
| 19718 | (hippie-exp): Require when compiling. | ||
| 19719 | (python-preoutput-continuation): Use rx. | ||
| 19720 | |||
| 19721 | * diff-mode.el (diff-make-unified): Fix regexp. | ||
| 19722 | |||
| 19723 | 2004-05-06 Romain Francoise <romain@orebokech.com> (tiny change) | ||
| 19724 | |||
| 19725 | * ibuffer.el (ibuffer-redisplay-engine): Do not remove folded | ||
| 19726 | filter groups from the buffer when rebuilding the Ibuffer buffer | ||
| 19727 | and `ibuffer-show-empty-filter-groups' is nil. | ||
| 19728 | |||
| 19729 | 2004-05-06 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 19730 | |||
| 19731 | * ps-print.el (ps-print-quote): Call ps-value-string. | ||
| 19732 | (ps-setup): Call ps-comment-string. | ||
| 19733 | (ps-value-string, ps-comment-string): New funs. | ||
| 19734 | |||
| 19735 | 2004-05-06 Juanma Barranquero <lektu@terra.es> | ||
| 19736 | |||
| 19737 | * ehelp.el (electric-help-command-loop): Check whether the last | ||
| 19738 | character is visible, not (point-max). | ||
| 19739 | |||
| 19740 | * help-fns.el (help-argument-name): Default to bold; don't inherit | ||
| 19741 | from font-lock-variable-name-face. | ||
| 19742 | (help-do-arg-highlight): Grok also ARGth occurrences in the docstring. | ||
| 19743 | |||
| 19744 | 2004-05-05 Kenichi Handa <handa@m17n.org> | ||
| 19745 | |||
| 19746 | * descr-text.el (describe-char): Copy the character with text | ||
| 19747 | properties and overlays into the first line, and call | ||
| 19748 | describe-text-properties on it. | ||
| 19749 | |||
| 19750 | 2004-05-05 Stephen Eglen <stephen@anc.ed.ac.uk> | ||
| 19751 | |||
| 19752 | * iswitchb.el (iswitchb-global-map): Fix typo. | ||
| 19753 | Remove unwanted ###autoloads from source file. | ||
| 19754 | |||
| 19755 | 2004-05-05 Lars Hansen <larsh@math.ku.dk> | ||
| 19756 | |||
| 19757 | * wdired.el (wdired-change-to-wdired-mode): Quote wdired-mode-hook | ||
| 19758 | in run-hooks. Use substitute-command-keys in message. | ||
| 19759 | (wdired-abort-changes): Add message. | ||
| 19760 | |||
| 19761 | 2004-05-03 Michael Mauger <mmaug@yahoo.com> | ||
| 19762 | |||
| 19763 | * emacs/lisp/progmodes/sql.el (sql-xemacs-p, sql-emacs19-p) | ||
| 19764 | (sql-emacs20-p): Remove. | ||
| 19765 | (sql-mode-syntax-table): Use shared GNU Emacs/XEmacs syntax. | ||
| 19766 | (sql-builtin-face, sql-doc-face): Remove. | ||
| 19767 | (sql-mode-ansi-font-lock-keywords) | ||
| 19768 | (sql-mode-oracle-font-lock-keywords) | ||
| 19769 | (sql-mode-postgres-font-lock-keywords) | ||
| 19770 | (sql-mode-linter-font-lock-keywords) | ||
| 19771 | (sql-mode-ms-font-lock-keywords) | ||
| 19772 | (sql-mode-mysql-font-lock-keywords): Use standard fonts. | ||
| 19773 | (sql-product-font-lock): Fix font-lock reset when font rules change. | ||
| 19774 | (sql-highlight-product): Remove incorrect font-lock reset logic. | ||
| 19775 | |||
| 19776 | 2004-05-04 Jonathan Yavner <jyavner@member.fsf.org> | ||
| 19777 | |||
| 19778 | * ses.el (ses-set-parameter): Fix typo. | ||
| 19779 | |||
| 19780 | 2004-05-04 Kim F. Storm <storm@cua.dk> | ||
| 19781 | |||
| 19782 | * ido.el (ido-read-internal): Fix call to read-file-name for edit. | ||
| 19783 | Must expand directory for completion to work; and don't mess with | ||
| 19784 | process-environment. | ||
| 19785 | (ido-read-file-name): If command has ido property, don't use ido | ||
| 19786 | if value is ignore, or read as directory if value is dir. | ||
| 19787 | Set ido ignore property for dired-do-rename command. | ||
| 19788 | |||
| 19789 | 2004-05-04 Juanma Barranquero <lektu@terra.es> | ||
| 19790 | |||
| 19791 | * ehelp.el (electric-help-command-loop, electric-help-undefined) | ||
| 19792 | (electric-help-help): Check against unmapped commands. | ||
| 19793 | |||
| 19794 | * help-fns.el (help-argument-name): New face, inheriting from | ||
| 19795 | font-lock-variable-name-face, to highlight function arguments in | ||
| 19796 | `describe-function' and `describe-key'. | ||
| 19797 | (help-do-arg-highlight): Auxiliary function to highlight a given | ||
| 19798 | list of arguments in a string. | ||
| 19799 | (help-highlight-arguments): Highlight the function arguments and | ||
| 19800 | all uses of them in the docstring. | ||
| 19801 | (describe-function-1): Use it. Do docstring output via `insert', | ||
| 19802 | not 'princ', so text attributes are preserved. | ||
| 19803 | |||
| 19804 | * winner.el (winner-mode-map): Move `winner-undo' and | ||
| 19805 | `winner-redo' to C-c <left> and C-c <right>, respectively (the | ||
| 19806 | previous bindings conflict with `prev-buffer', `next-buffer'). | ||
| 19807 | |||
| 19808 | 2004-05-03 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de> | ||
| 19809 | |||
| 19810 | * textmodes/bibtex.el (bibtex-progress-message): Fix docstring. | ||
| 19811 | (bibtex-entry-update): New command bound to C-c C-u. | ||
| 19812 | (bibtex-text-in-string): Fix regexp. | ||
| 19813 | (bibtex-assoc-of-regexp): Remove. | ||
| 19814 | (bibtex-progress-message): Fix docstring. | ||
| 19815 | (bibtex-inside-field): Use if. | ||
| 19816 | (bibtex-assoc-regexp): New function. | ||
| 19817 | (bibtex-format-entry): Make code more robust so that it formats | ||
| 19818 | also old entries. | ||
| 19819 | (bibtex-autokey-demangle-title): Merge with obsolete function | ||
| 19820 | bibtex-assoc-of-regexp. | ||
| 19821 | (bibtex-field-list): New function. | ||
| 19822 | (bibtex-entry): Use bibtex-field-list. | ||
| 19823 | (bibtex-parse-entry): Fix docstring. | ||
| 19824 | (bibtex-print-help-message): Use bibtex-field-list. | ||
| 19825 | (bibtex-make-field): Use bibtex-field-list. | ||
| 19826 | (bibtex-entry-index): Bugfix. Return crossref key if required. | ||
| 19827 | (bibtex-lessp): Fix docstring. | ||
| 19828 | |||
| 19829 | 2004-05-03 Luc Teirlinck <teirllm@auburn.edu> | ||
| 19830 | |||
| 19831 | * select.el (xselect-convert-to-string): Move comment to intended line. | ||
| 19832 | |||
| 19833 | 2004-05-03 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 19834 | |||
| 19835 | * toolbar/tool-bar.el (tool-bar-setup): Use lookup-key for | ||
| 19836 | cut/copy/paste in case menu-bar-enable-clipboard is in effect. | ||
| 19837 | |||
| 19838 | 2004-05-03 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 19839 | |||
| 19840 | * term/x-win.el (x-clipboard-yank): Don't exit on error from | ||
| 19841 | x-get-selection. | ||
| 19842 | |||
| 19843 | 2004-05-03 Jason Rumney <jasonr@gnu.org> | ||
| 19844 | |||
| 19845 | * makefile.nt: Remove. | ||
| 19846 | |||
| 19847 | 2004-05-03 Kim F. Storm <storm@cua.dk> | ||
| 19848 | |||
| 19849 | * emulation/cua-base.el (cua--update-indications): Fix last change. | ||
| 19850 | (cua-mode): Deactivate mark when cua-mode is enabled. | ||
| 19851 | |||
| 19852 | 2004-05-02 Luc Teirlinck <teirllm@auburn.edu> | ||
| 19853 | |||
| 19854 | * select.el (xselect-convert-to-string): Bind `inhibit-read-only' to t. | ||
| 19855 | |||
| 19856 | 2004-05-03 Nick Roberts <nickrob@gnu.org> | ||
| 19857 | |||
| 19858 | * progmodes/gdb-ui.el (gud-watch, gdb-display-buffer) | ||
| 19859 | (gdb-display-source-buffer, gdb-put-breakpoint-icon) | ||
| 19860 | (gdb-remove-breakpoint-icons, gdb-assembler-custom): Look for | ||
| 19861 | window over visible frames. | ||
| 19862 | (gdb-goto-breakpoint): Make buffer display file at breakpoint. | ||
| 19863 | |||
| 19864 | 2004-05-02 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 19865 | |||
| 19866 | * progmodes/compile.el (compilation-gcpro): New var. | ||
| 19867 | (compilation-fake-loc): Use it. | ||
| 19868 | (compilation-forget-errors): Reset it. | ||
| 19869 | |||
| 19870 | 2004-05-02 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 19871 | |||
| 19872 | * diff-mode.el (diff-header-face, diff-file-header-face): | ||
| 19873 | Use min-colors. | ||
| 19874 | |||
| 19875 | 2004-05-02 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de> | ||
| 19876 | |||
| 19877 | * textmodes/bibtex.el (bibtex-sort-buffer): Remove error message. | ||
| 19878 | (bibtex-clean-entry): Disentangle code. | ||
| 19879 | (bibtex-realign): New function. | ||
| 19880 | (bibtex-reformat): Use mapcar and bibtex-realign. Do not use | ||
| 19881 | bibtex-beginning-of-first-entry and bibtex-skip-to-valid-entry. | ||
| 19882 | Remove undocumented optional arg called-by-convert-alien. | ||
| 19883 | (bibtex-convert-alien): Use bibtex-realign. Use bibtex-reformat | ||
| 19884 | for sorting instead of bibtex-sort-buffer. | ||
| 19885 | |||
| 19886 | 2004-05-02 Eli Zaretskii <eliz@gnu.org> | ||
| 19887 | |||
| 19888 | * progmodes/compile.el (compilation-start): In the | ||
| 19889 | no-async-subprocesses branch, call sit-for to give redisplay a | ||
| 19890 | chance to show the updated process status in the mode line, and | ||
| 19891 | fontify the buffer explicitly after the process exits. | ||
| 19892 | |||
| 19893 | 2004-05-01 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 19894 | |||
| 19895 | * progmodes/python.el (python-compilation-line-number): Remove. | ||
| 19896 | (python-compilation-regexp-alist): Don't use it any more. | ||
| 19897 | (python-orig-start, python-input-filter): Remove. | ||
| 19898 | (inferior-python-mode): Don't set up comint-input-filter-functions. | ||
| 19899 | (python-send-region): Use compilation-fake-loc. | ||
| 19900 | |||
| 19901 | * progmodes/compile.el (compilation-messages-start): New var. | ||
| 19902 | (compilation-mode): Don't setup next-error-function here. | ||
| 19903 | (compilation-setup): Set it up here instead (for minor modes as well). | ||
| 19904 | Make compilation-messages-start buffer local. | ||
| 19905 | (compilation-next-error-function): Use it. | ||
| 19906 | (compilation-forget-errors): Set compilation-messages-start. | ||
| 19907 | |||
| 19908 | 2004-05-01 Luc Teirlinck <teirllm@auburn.edu> | ||
| 19909 | |||
| 19910 | * ielm.el (ielm-prompt-read-only): Update docstring. | ||
| 19911 | |||
| 19912 | * comint.el (comint-prompt-read-only): Update docstring. | ||
| 19913 | (comint-update-fence, comint-kill-whole-line) | ||
| 19914 | (comint-kill-region): New functions. | ||
| 19915 | |||
| 19916 | * simple.el (kill-whole-line): Use "p" instead of "P" in | ||
| 19917 | interactive form. | ||
| 19918 | |||
| 19919 | 2004-05-01 Juanma Barranquero <lektu@terra.es> | ||
| 19920 | |||
| 19921 | * help-fns.el (help-add-fundoc-usage): Use %S instead of %s to | ||
| 19922 | format arglist so default values in CL-style argument lists are | ||
| 19923 | correctly shown. | ||
| 19924 | |||
| 19925 | 2004-05-01 Jason Rumney <jasonr@gnu.org> | ||
| 19926 | |||
| 19927 | * term/w32-win.el (w32-drag-n-drop): Use x-dnd.el functions. | ||
| 19928 | |||
| 19929 | 2004-05-01 Kenichi Handa <handa@m17n.org> | ||
| 19930 | |||
| 19931 | * international/titdic-cnv.el (miscdic-convert): Don't generate a | ||
| 19932 | quail file if it is up to date. | ||
| 19933 | |||
| 19934 | 2004-04-30 Juri Linkov <juri@jurta.org> | ||
| 19935 | |||
| 19936 | * cus-edit.el (custom-mode-map): | ||
| 19937 | Add key binding `C-x C-s' to `Custom-save'. | ||
| 19938 | |||
| 19939 | * outline.el (outline-blank-line): New var. | ||
| 19940 | (outline-next-preface, outline-show-heading) | ||
| 19941 | (outline-end-of-subtree): Use it. | ||
| 19942 | |||
| 19943 | * dired-aux.el (dired-touch-initial): New fun. | ||
| 19944 | (dired-do-chxxx): Call it for op-symbol `touch'. | ||
| 19945 | (dired-diff): Use `dired-dwim-target-directory' | ||
| 19946 | if current dired buffer has no buffer mark. | ||
| 19947 | |||
| 19948 | * bindings.el (propertized-buffer-identification): | ||
| 19949 | Replace `(:weight bold)' by `Buffer-menu-buffer-face'. | ||
| 19950 | Add C-M-arrow keys for consistency. | ||
| 19951 | |||
| 19952 | * files.el (confirm-kill-emacs): | ||
| 19953 | Change group from top-level `emacs' to `convenience'. | ||
| 19954 | |||
| 19955 | * emacs-lisp/lisp.el (beginning-of-defun, end-of-defun): | ||
| 19956 | Push mark on the first call of successive command calls. | ||
| 19957 | (insert-pair): New fun created from `insert-parentheses' with | ||
| 19958 | `open' and `close' arguments added. Enclose active regions | ||
| 19959 | in paired characters. Compare adjacent characters syntax with | ||
| 19960 | inserted characters syntax before inserting a space. | ||
| 19961 | (insert-parentheses): Call `insert-pair' with ?\( ?\). | ||
| 19962 | |||
| 19963 | * delsel.el: Don't put `delete-selection' property | ||
| 19964 | on `insert-parentheses' symbol to take advantage of | ||
| 19965 | region handling in `insert-pair' function. | ||
| 19966 | Suggested by Stephan Stahl <stahl@eos.franken.de>. | ||
| 19967 | |||
| 19968 | 2004-04-30 Kim F. Storm <storm@cua.dk> | ||
| 19969 | |||
| 19970 | * emulation/cua-base.el: Add support for changing cursor types; | ||
| 19971 | based on patch from Michael Mauger. | ||
| 19972 | (cua-normal-cursor-color, cua-read-only-cursor-color) | ||
| 19973 | (cua-overwrite-cursor-color, cua-global-mark-cursor-color): | ||
| 19974 | Customization cursor type and/or cursor color. | ||
| 19975 | (cua--update-indications): Handle cursor type changes. | ||
| 19976 | (cua-mode): Update cursor indications if enabled. | ||
| 19977 | |||
| 19978 | * menu-bar.el (menu-bar-options-menu): Change menu text for CUA. | ||
| 19979 | |||
| 19980 | * mouse.el (mouse-drag-copy-region): New defcustom. | ||
| 19981 | (mouse-set-region, mouse-drag-region-1): Use it. | ||
| 19982 | |||
| 19983 | * simple.el (kill-ring-save): If region face background color is | ||
| 19984 | unspecified (if no highlighting), show extent of fully visible | ||
| 19985 | region even if transient-mark-mode is enabled. | ||
| 19986 | |||
| 19987 | * emulation/cua-base.el (cua--standard-movement-commands): | ||
| 19988 | Add cua-scroll-up and cua-scroll-down. | ||
| 19989 | (cua-scroll-up, cua-scroll-down): New commands. | ||
| 19990 | (cua--init-keymaps): Remap scroll-up and scroll-down. | ||
| 19991 | |||
| 19992 | * emulation/cua-rect.el (cua--convert-rectangle-as): | ||
| 19993 | New defmacro. | ||
| 19994 | (cua-upcase-rectangle, cua-downcase-rectangle): Use it. | ||
| 19995 | (cua-upcase-initials-rectangle, cua-capitalize-rectangle): | ||
| 19996 | New commands (suggested by Jordan Breeding). | ||
| 19997 | |||
| 19998 | 2004-04-30 Juanma Barranquero <lektu@terra.es> | ||
| 19999 | |||
| 20000 | * smerge-mode.el (smerge-diff-switches): Fix typo in docstring. | ||
| 20001 | |||
| 20002 | 2004-04-30 Mario Lang <mlang@delysid.org> | ||
| 20003 | |||
| 20004 | * diff.el (diff-switches): Fix typo in docstring. | ||
| 20005 | |||
| 20006 | 2004-04-30 Alex Schroeder <alex@gnu.org> | ||
| 20007 | |||
| 20008 | * xml.el (xml-debug-print-internal): Don't add newline and | ||
| 20009 | indentation to text nodes and write empty elements as empty tags | ||
| 20010 | instead of opening and closing tags. | ||
| 20011 | (xml-debug-print): Take optional indent-string argument. | ||
| 20012 | (xml-print): Alias for xml-debug-print. | ||
| 20013 | |||
| 20014 | 2004-04-30 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 20015 | |||
| 20016 | * progmodes/fortran.el (fortran-fill): Use local var `bol' rather | ||
| 20017 | than duplicate call to `line-beginning-position'. | ||
| 20018 | |||
| 20019 | * progmodes/f90.el (f90-get-present-comment-type): | ||
| 20020 | Return whitespace, as well as comment chars, for consistent filling | ||
| 20021 | of comment blocks. Use `match-string-no-properties'. | ||
| 20022 | (f90-break-line): Trim trailing whitespace when filling comments. | ||
| 20023 | |||
| 20024 | 2004-04-30 Dave Love <fx@gnu.org> | ||
| 20025 | |||
| 20026 | * calendar/diary-lib.el (diary-outlook-formats): New variable. | ||
| 20027 | (diary-from-outlook-internal, diary-from-outlook) | ||
| 20028 | (diary-from-outlook-gnus, diary-from-outlook-rmail): | ||
| 20029 | New functions to import diary entries from Outlook-format | ||
| 20030 | appointments in mail messages. | ||
| 20031 | |||
| 20032 | 2004-04-29 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 20033 | |||
| 20034 | * progmodes/python.el (python-send-command): New fun. | ||
| 20035 | (python-send-region, python-load-file): Use it. | ||
| 20036 | |||
| 20037 | * progmodes/compile.el (compilation-last-buffer): Add var alias. | ||
| 20038 | |||
| 20039 | * help-fns.el (help-C-file-name): Use new subr-name. | ||
| 20040 | Prepend `src/' to the file name. | ||
| 20041 | (help-C-source-directory, help-subr-name, help-find-C-source): Remove. | ||
| 20042 | (describe-function-1, describe-variable): Only find a C source file | ||
| 20043 | name if DOC is already loaded. | ||
| 20044 | |||
| 20045 | * help-mode.el (help-function-def, help-variable-def): | ||
| 20046 | Use the new find-function-search-for-symbol functionality. | ||
| 20047 | Allow FILE to be `C-source'. | ||
| 20048 | |||
| 20049 | * emacs-lisp/find-func.el (find-function-C-source-directory): New var. | ||
| 20050 | (find-function-C-source): New fun. | ||
| 20051 | (find-function-search-for-symbol): Use it. | ||
| 20052 | |||
| 20053 | 2004-03-29 Michael Mauger <mmaug@yahoo.com> | ||
| 20054 | |||
| 20055 | * progmodes/sql.el (sql-product-alist): Rename variable | ||
| 20056 | `sql-product-support'. Add Postgres login parameters. | ||
| 20057 | (sql-set-product, sql-product-feature): Update with renamed variable. | ||
| 20058 | (sql-connect-postgres): Add username prompt. | ||
| 20059 | (sql-imenu-generic-expression, sql-mode-font-lock-object-name): | ||
| 20060 | Make patterns less product specific. | ||
| 20061 | (sql-xemacs-p, sql-emacs19-p): Add flags for Emacs variants. | ||
| 20062 | (sql-mode-abbrev-table): Modify initialization. | ||
| 20063 | (sql-builtin-face): Add variable. | ||
| 20064 | (sql-keywords-re): Add macro. | ||
| 20065 | (sql-mode-ansi-font-lock-keywords): Update for ANSI-92. | ||
| 20066 | (sql-mode-oracle-font-lock-keywords): Update for Oracle 9i. | ||
| 20067 | (sql-mode-postgres-font-lock-keywords): Update for Postgres 7.3. | ||
| 20068 | (sql-mode-mysql-font-lock-keywords): Update for MySql 4.0. | ||
| 20069 | (sql-mode-linter-font-lock-keywords) | ||
| 20070 | (sql-mode-ms-font-lock-keywords): Use `sql-keywords-re' macro. | ||
| 20071 | (sql-mode-sybase-font-lock-keywords) | ||
| 20072 | (sql-mode-informix-font-lock-keywords) | ||
| 20073 | (sql-mode-interbase-font-lock-keywords) | ||
| 20074 | (sql-mode-ingres-font-lock-keywords) | ||
| 20075 | (sql-mode-solid-font-lock-keywords) | ||
| 20076 | (sql-mode-sqlite-font-lock-keywords) | ||
| 20077 | (sql-mode-db2-font-lock-keywords): Default to nil. | ||
| 20078 | (sql-product-font-lock): Always highlight ANSI keywords. | ||
| 20079 | (sql-add-product-keywords): Made similar to `font-lock-add-keywords'. | ||
| 20080 | (sql-send-string): Add function. | ||
| 20081 | |||
| 20082 | 2004-04-29 Dave Love <fx@gnu.org> | ||
| 20083 | |||
| 20084 | * progmodes/cfengine.el (cfengine-beginning-of-defun) | ||
| 20085 | (cfengine-end-of-defun): Ensure progress through buffer. | ||
| 20086 | |||
| 20087 | * info-look.el (cfengine-mode): Accept a terminal (). | ||
| 20088 | |||
| 20089 | 2004-04-29 Juri Linkov <juri@jurta.org> | ||
| 20090 | |||
| 20091 | * isearch.el (isearch-mode-map): Bind \C-w to isearch-yank-word | ||
| 20092 | instead of isearch-yank-word-or-char. Add new key bindings for | ||
| 20093 | isearch-yank-char to \C-f, and isearch-del-char to \C-b. | ||
| 20094 | (isearch-del-char): New fun. | ||
| 20095 | (isearch-forward, isearch-edit-string): Update docstring. | ||
| 20096 | (isearch-yank-char): Doc fix. | ||
| 20097 | (isearch-other-meta-char): Restore point after scrolling. | ||
| 20098 | |||
| 20099 | * progmodes/compile.el (compilation-context-lines): Add nil option | ||
| 20100 | to disable compilation output window scrolling. | ||
| 20101 | (compilation-set-window): Use it. | ||
| 20102 | |||
| 20103 | * outline.el (outline-next-preface, outline-show-heading): | ||
| 20104 | Don't leave unhidden blank line before heading. | ||
| 20105 | (outline-end-of-subtree): Include last newline into subtree. | ||
| 20106 | (hide-entry): Leave point at beginning of heading instead of end. | ||
| 20107 | (outline-up-heading): Push mark for the first call of successive | ||
| 20108 | command calls. | ||
| 20109 | |||
| 20110 | 2004-04-28 Luc Teirlinck <teirllm@auburn.edu> | ||
| 20111 | |||
| 20112 | * comint.el (comint-prompt-read-only): New variable. | ||
| 20113 | (comint-output-filter): Implement it. | ||
| 20114 | |||
| 20115 | * ielm.el (ielm-prompt-read-only, ielm-prompt): Update docstring. | ||
| 20116 | (ielm-prompt-internal): New variable. | ||
| 20117 | (ielm-font-lock-keywords): Remove irrelevant ielm-prompt keyword. | ||
| 20118 | (ielm-send-input): Delete unused variable `buf'. | ||
| 20119 | (ielm-eval-input): Use `ielm-prompt-internal'. | ||
| 20120 | (inferior-emacs-lisp-mode): Use new variables | ||
| 20121 | `comint-prompt-read-only' and `ielm-prompt-internal'. | ||
| 20122 | Get rid of obsolete variable `directory-sep-char'. | ||
| 20123 | (ielm): Use `zerop'. | ||
| 20124 | |||
| 20125 | 2004-04-29 John Paul Wallington <jpw@gnu.org> | ||
| 20126 | |||
| 20127 | * thumbs.el (toplevel): Require cl at compile time. | ||
| 20128 | Remove conditional definitions of `ignore-errors' and `caddar' | ||
| 20129 | because they occur at run time. | ||
| 20130 | |||
| 20131 | 2004-04-28 Nick Roberts <nickrob@gnu.org> | ||
| 20132 | |||
| 20133 | * progmodes/gdb-ui.el (gdb-frame-breakpoints-buffer) | ||
| 20134 | (gdb-frame-assembler-buffer, gdb-frame-threads-buffer) | ||
| 20135 | (gdb-frame-registers-buffer, gdb-frame-locals-buffer) | ||
| 20136 | (gdb-frame-gdb-buffer, gdb-frame-stack-buffer): Use selected-window. | ||
| 20137 | |||
| 20138 | * progmodes/gud.el (gud-common-init): Throw an error if program is | ||
| 20139 | already running under gdb. | ||
| 20140 | |||
| 20141 | 2004-04-28 John Paul Wallington <jpw@gnu.org> | ||
| 20142 | |||
| 20143 | * thumbs.el (thumbs-delete-images): Fix formatting of prompt. | ||
| 20144 | (thumbs-show-image-num): Move assignment of | ||
| 20145 | `thumbs-current-image-filename' within scope of `i'. | ||
| 20146 | (thumbs-emboss-image): Don't use `evenp'. | ||
| 20147 | |||
| 20148 | 2004-04-28 Richard M. Stallman <rms@gnu.org> | ||
| 20149 | |||
| 20150 | * progmodes/compile.el (compilation-context-lines): Default now 0. | ||
| 20151 | |||
| 20152 | 2004-04-28 Juanma Barranquero <lektu@terra.es> | ||
| 20153 | |||
| 20154 | Use `time-less-p' from calendar/time-date.el instead of defining | ||
| 20155 | custom versions of it. | ||
| 20156 | |||
| 20157 | * pcomplete.el (pcomplete-time-less-p): Remove. | ||
| 20158 | |||
| 20159 | * thumbs.el (time-less-p): Remove. | ||
| 20160 | |||
| 20161 | * calendar/timeclock.el (timeclock-time-less-p): Remove. | ||
| 20162 | (timeclock-generate-report): Use `time-less-p'. | ||
| 20163 | |||
| 20164 | * emacs-lisp/autoload.el (autoload-before-p): Remove. | ||
| 20165 | (update-file-autoloads, update-directory-autoloads): Use `time-less-p'. | ||
| 20166 | |||
| 20167 | 2004-04-28 Masatake YAMATO <jet@gyve.org> | ||
| 20168 | |||
| 20169 | * subr.el (remove-overlays): Make arguments optional. | ||
| 20170 | |||
| 20171 | * wid-edit.el (widget-specify-button): Put evaporate to the | ||
| 20172 | overlay for sample. | ||
| 20173 | (widget-specify-sample): Put evaporate to the overlay for sample. | ||
| 20174 | (widget-specify-doc): Put evaporate to the overlay for documentation. | ||
| 20175 | |||
| 20176 | 2004-04-27 Jesper Harder <harder@ifa.au.dk> | ||
| 20177 | |||
| 20178 | * info.el (info-apropos): Make it an index node. Align node names | ||
| 20179 | like makeinfo. | ||
| 20180 | |||
| 20181 | 2004-04-27 Eli Zaretskii <eliz@gnu.org> | ||
| 20182 | |||
| 20183 | * net/browse-url.el (browse-url-netscape-sentinel) | ||
| 20184 | (browse-url-mozilla-sentinel, browse-url-galeon-sentinel) | ||
| 20185 | (browse-url-epiphany-sentinel, browse-url-mosaic): | ||
| 20186 | Use browse-url-*-program instead of a literal program name. | ||
| 20187 | |||
| 20188 | 2004-04-27 Kevin Ryde <user42@zip.com.au> | ||
| 20189 | |||
| 20190 | * eshell/em-alias.el: | ||
| 20191 | * eshell/em-dirs.el: | ||
| 20192 | * eshell/em-hist.el: | ||
| 20193 | * eshell/em-unix.el: Add "(require 'eshell)", to get necessary | ||
| 20194 | features when M-x customize-group loads modules before the main | ||
| 20195 | eshell.el. | ||
| 20196 | |||
| 20197 | 2004-04-27 Matthew Mundell <matt@mundell.ukfsn.org> | ||
| 20198 | |||
| 20199 | * subr.el (momentary-string-display): Support EXIT-CHAR that is | ||
| 20200 | either a character representation of an event or an event | ||
| 20201 | description list. | ||
| 20202 | |||
| 20203 | * type-break.el: Capitalize Emacs and Lisp. | ||
| 20204 | (type-break-good-break-interval, type-break-demo-boring-stats) | ||
| 20205 | (type-break-terse-messages, type-break-file-name): New defcustoms. | ||
| 20206 | (type-break-post-command-hook) | ||
| 20207 | (type-break-warning-countdown-string): Quote variable names in doc. | ||
| 20208 | (type-break-interval-start, type-break-auto-save-file-name): New vars. | ||
| 20209 | (type-break-mode): Document type-break-good-break-interval and the | ||
| 20210 | "session" file. Schedule break according to the session file. | ||
| 20211 | Kill session file buffer on exit. Organize for save-some-buffers | ||
| 20212 | to always save the session file. | ||
| 20213 | (type-break-mode-line-message-mode, type-break-query-mode): | ||
| 20214 | Uppercase arguments. | ||
| 20215 | (type-break-file-time, type-break-file-keystroke-count, timep) | ||
| 20216 | (type-break-choose-file, type-break-get-previous-time) | ||
| 20217 | (type-break-get-previous-count): New defuns. | ||
| 20218 | (type-break): Avoid break querying after a completed break in the | ||
| 20219 | case where the query was initiated during user invocation of the | ||
| 20220 | break. Optional terse messages. | ||
| 20221 | Use type-break-good-break-interval if type-break-good-rest-interval is | ||
| 20222 | nil. File the break time. | ||
| 20223 | (type-break-schedule): New optional args for overriding the use of | ||
| 20224 | the current time. | ||
| 20225 | (type-break-cancel-time-warning-schedule): Avoid leftover warnings | ||
| 20226 | after a break. | ||
| 20227 | (type-break-check): File the keystroke count. | ||
| 20228 | (type-break-do-query): Prevent a second query when the break is | ||
| 20229 | interrupted. Optional terse message. | ||
| 20230 | (type-break-keystroke-reset): Record the start of a typing interval. | ||
| 20231 | (type-break-demo-boring): Optional terse messages. Display word | ||
| 20232 | per minute and keystroke counts according to | ||
| 20233 | type-break-demo-boring-stats. | ||
| 20234 | |||
| 20235 | 2004-04-27 Daniel M Coffman <coffmand@us.ibm.com> (tiny change) | ||
| 20236 | |||
| 20237 | * arc-mode.el (archive-maybe-copy): If ARCHIVE includes leading | ||
| 20238 | directories, make sure they exist under archive-tmpdir. | ||
| 20239 | |||
| 20240 | 2004-04-27 Juri Linkov <juri@jurta.org> | ||
| 20241 | |||
| 20242 | * help.el (view-emacs-news): With argument, display info for the | ||
| 20243 | selected version by finding it among different NEWS files, and | ||
| 20244 | narrowing the buffer to the selected version. | ||
| 20245 | |||
| 20246 | * info.el: Add *info*<[0-9]+> to same-window-regexps instead of | ||
| 20247 | same-window-buffer-names. | ||
| 20248 | (info): New arg `buffer'. Use it. Doc fix. Read file name for | ||
| 20249 | non-numeric prefix argument, append the number to the buffer name | ||
| 20250 | for numeric prefix argument. | ||
| 20251 | (info-other-window): Bind same-window-regexps to nil. | ||
| 20252 | (Info-reference-name): Rename to Info-point-loc. | ||
| 20253 | (Info-find-node-2): Call forward-line for numeric Info-point-loc, | ||
| 20254 | and Info-find-index-name for stringy Info-point-loc. | ||
| 20255 | (Info-extract-menu-node-name): New arg `index-node'. Use regexp | ||
| 20256 | without middle `.', but with final `.' and optional line number | ||
| 20257 | for it. Set Info-point-loc for index nodes. | ||
| 20258 | (Info-index): Remove middle `.' from index entry regexp. | ||
| 20259 | Modify line number regexp. | ||
| 20260 | (Info-index-next): Decrement line number. | ||
| 20261 | (info-apropos): Remove middle `.' from index entry regexp. | ||
| 20262 | Add optional line number regexp at the end. Add matched value | ||
| 20263 | for line number to the result list and insert it to the buffer. | ||
| 20264 | Replace match-string by match-string-no-properties. | ||
| 20265 | Reorder result list. | ||
| 20266 | (Info-fontify-node): Hide index line numbers. | ||
| 20267 | (Info-goto-node): Replace "\\s *\\'" by "\\s +\\'" to not trim | ||
| 20268 | empty matches. | ||
| 20269 | (Info-follow-reference): Use `str' instead of | ||
| 20270 | Info-following-node-name-re. | ||
| 20271 | (Info-toc): Use full file names. Set Info-current-node to "Top". | ||
| 20272 | (Info-fontify-node): Compare file names without directory name. | ||
| 20273 | (Info-try-follow-nearest-node): Don't set Info-reference-name. | ||
| 20274 | Set second arg of Info-extract-menu-node-name for index nodes. | ||
| 20275 | (info-xref-visited): Use magenta3 instead of magenta4. | ||
| 20276 | (Info-mode): Add info-apropos to docstring. | ||
| 20277 | |||
| 20278 | * log-view.el (log-view-diff): Replace interactive code "r" | ||
| 20279 | by a list to allow to call it even if region is not active. | ||
| 20280 | |||
| 20281 | * paren.el (show-paren-highlight-openparen): New var. | ||
| 20282 | (show-paren-function): Turn on openparen highlighting when | ||
| 20283 | matching forward if show-paren-highlight-openparen is non-nil. | ||
| 20284 | |||
| 20285 | * simple.el (kill-ring-save): Use blink-matching-delay instead of | ||
| 20286 | the constant value 1. | ||
| 20287 | (completions-common-part): Expand docstring. | ||
| 20288 | |||
| 20289 | * textmodes/picture.el (picture-mode-map): Add arrow keys. | ||
| 20290 | |||
| 20291 | 2004-04-27 Kim F. Storm <storm@cua.dk> | ||
| 20292 | |||
| 20293 | * image.el (insert-sliced-image): Use line-height instead of | ||
| 20294 | line-spacing property on newline. | ||
| 20295 | |||
| 20296 | 2004-04-26 Lars Hansen <larsh@math.ku.dk> | ||
| 20297 | |||
| 20298 | * desktop.el (desktop-buffer-misc-data-function): Rename to | ||
| 20299 | desktop-save-buffer and change docstring. | ||
| 20300 | (desktop-buffer-modes-to-save): Delete. | ||
| 20301 | (desktop-save-buffer-p): Use desktop-save-buffer instead of | ||
| 20302 | desktop-buffer-modes-to-save. | ||
| 20303 | (desktop-save): Rename desktop-buffer-misc-data-function to | ||
| 20304 | desktop-save-buffer and allow non-function value. | ||
| 20305 | (desktop-missing-file-warning): Correct docstring. | ||
| 20306 | |||
| 20307 | * dired.el (dired-mode): Rename desktop-buffer-misc-data-function | ||
| 20308 | to desktop-save-buffer. | ||
| 20309 | |||
| 20310 | * info.el (Info-mode): Rename desktop-buffer-misc-data-function to | ||
| 20311 | desktop-save-buffer. | ||
| 20312 | |||
| 20313 | * mail/rmail.el (rmail-variables): Bind desktop-save-buffer to t. | ||
| 20314 | |||
| 20315 | * mh-e/mh-e.el (mh-folder-mode): Bind desktop-save-buffer to t. | ||
| 20316 | |||
| 20317 | 2004-04-26 Eli Zaretskii <eliz@gnu.org> | ||
| 20318 | |||
| 20319 | * progmodes/gud.el (gud-pdb-command-name): Change default to "pydb". | ||
| 20320 | |||
| 20321 | 2004-04-25 Luc Teirlinck <teirllm@auburn.edu> | ||
| 20322 | |||
| 20323 | * ielm.el (ielm-prompt-read-only, ielm-prompt): Expand docstring. | ||
| 20324 | (ielm): Only go to the end of the buffer when starting a new process. | ||
| 20325 | |||
| 20326 | 2004-04-25 Juanma Barranquero <lektu@terra.es> | ||
| 20327 | |||
| 20328 | * ielm.el (inferior-emacs-lisp-mode): Display working buffer on the | ||
| 20329 | mode line. Bind `inhibit-read-only' to t before modifying | ||
| 20330 | properties of text in the buffer. | ||
| 20331 | (ielm): Force point to the end of buffer, even when running ielm | ||
| 20332 | from inside itself. | ||
| 20333 | |||
| 20334 | 2004-04-25 Jesper Harder <harder@ifa.au.dk> | ||
| 20335 | |||
| 20336 | * info.el (info-apropos): Reset Info-complete-cache. | ||
| 20337 | |||
| 20338 | 2004-04-25 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 20339 | |||
| 20340 | * progmodes/compile.el (compilation-error-regexp-alist-alist): | ||
| 20341 | Also recognize severe Irix et al. messages. | ||
| 20342 | (compilation-normalize-filename, compile-abbreviate-directory): | ||
| 20343 | Delete functions. | ||
| 20344 | (compilation-get-file-structure): New function inherits | ||
| 20345 | functionality of the two preceding ones. | ||
| 20346 | (compilation-internal-error-properties, compilation-fake-loc): | ||
| 20347 | Use it so that different paths to the same file share the same | ||
| 20348 | markers. Also optimize finding adjacent marker slightly. | ||
| 20349 | |||
| 20350 | 2004-04-25 Kim F. Storm <storm@cua.dk> | ||
| 20351 | |||
| 20352 | * image.el (insert-sliced-image): Add line-spacing t property | ||
| 20353 | to newlines separating image lines. | ||
| 20354 | |||
| 20355 | 2004-04-24 Luc Teirlinck <teirllm@auburn.edu> | ||
| 20356 | |||
| 20357 | * comint.el (comint-delete-output): Bind inhibit-read-only to t. | ||
| 20358 | |||
| 20359 | * ielm.el (ielm-prompt-read-only): New user option. | ||
| 20360 | (ielm-prompt): Expand docstring to describe new behavior. | ||
| 20361 | (inferior-emacs-lisp-mode): Implement ielm-prompt-read-only and | ||
| 20362 | mention it in the docstring. | ||
| 20363 | |||
| 20364 | 2004-04-24 Andreas Schwab <schwab@suse.de> | ||
| 20365 | |||
| 20366 | * progmodes/sh-script.el (sh-leading-keywords) <sh>: Add "!". | ||
| 20367 | |||
| 20368 | * diff.el (diff): Set default-directory in diff buffer. | ||
| 20369 | |||
| 20370 | 2004-04-24 Eli Zaretskii <eliz@gnu.org> | ||
| 20371 | |||
| 20372 | * mail/sendmail.el (mail-bury): Don't delete the frame where the | ||
| 20373 | mail was being composed if the terminal cannot display more than | ||
| 20374 | one frame; instead, switch to previous frame. | ||
| 20375 | |||
| 20376 | * mail/rmail.el (rmail-mail-new-frame): Doc fix. | ||
| 20377 | (rmail-start-mail): Support rmail-mail-new-frame even on | ||
| 20378 | terminals that can display only one frame at a time. | ||
| 20379 | |||
| 20380 | 2004-04-23 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 20381 | |||
| 20382 | * emacs-lisp/checkdoc.el (checkdoc-output-error-regex-alist): New var. | ||
| 20383 | (checkdoc-output-font-lock-keywords): Remove error regexp. | ||
| 20384 | (checkdoc-output-mode-map): Remove. | ||
| 20385 | (checkdoc-output-mode): Derive from compilation-mode. | ||
| 20386 | (checkdoc-find-error-mouse, checkdoc-find-error): Remove. | ||
| 20387 | |||
| 20388 | * dired.el (dired-mode-map): Add a menu entry for wdired. | ||
| 20389 | |||
| 20390 | * emacs-lisp/rx.el (rx-syntax): Move sregex style syntax to code. | ||
| 20391 | (rx-bracket, rx-check-any, rx-any): Clean up name space. | ||
| 20392 | |||
| 20393 | * wdired.el (wdired-mode-map): Move init into declaration. | ||
| 20394 | Fix `return' binding. | ||
| 20395 | (wdired-change-to-wdired-mode, wdired-change-to-dired-mode): | ||
| 20396 | Use force-mode-line-update. | ||
| 20397 | (wdired-get-filename): Use `unless'. | ||
| 20398 | (wdired-preprocess-files): Don't assume names have no \n and use / for | ||
| 20399 | dir separator. | ||
| 20400 | (wdired-normalize-filename): Use replace-regexp-in-string. | ||
| 20401 | (wdired-load-hooks): Remove. | ||
| 20402 | (wdired-mode-hooks): Rename to wdired-mode-hook. | ||
| 20403 | |||
| 20404 | * info-look.el: Add support for cfengine-mode. | ||
| 20405 | (info-lookup-setup-mode): Use dolist. | ||
| 20406 | |||
| 20407 | 2004-04-23 Juan Le,As(Bn Lahoz Garc,Am(Ba <juan-leon.lahoz@tecsidel.es> | ||
| 20408 | |||
| 20409 | * wdired.el: New file. | ||
| 20410 | |||
| 20411 | 2004-04-23 Juanma Barranquero <lektu@terra.es> | ||
| 20412 | |||
| 20413 | * ielm.el (inferior-emacs-lisp-mode): Fix docstring. | ||
| 20414 | |||
| 20415 | * pcomplete.el (pcomplete-opt, pcomplete-actual-arg) | ||
| 20416 | (pcomplete-match-string, pcomplete-comint-setup, pcomplete-here) | ||
| 20417 | (pcomplete--help, pcomplete--here): Doc fixes. | ||
| 20418 | |||
| 20419 | 2004-04-23 Andre Spiegel <spiegel@gnu.org> | ||
| 20420 | |||
| 20421 | * vc-hooks.el (vc-default-workfile-unchanged-p): Fix code that | ||
| 20422 | handles wrong-number-of-arguments in backend call. | ||
| 20423 | |||
| 20424 | * vc.el (vc-print-log): Likewise. | ||
| 20425 | |||
| 20426 | 2004-04-20 Dave Love <fx@gnu.org> | ||
| 20427 | |||
| 20428 | * emacs-lisp/rx.el: Doc fixes. | ||
| 20429 | (rx-constituents): Add/extend many forms. | ||
| 20430 | (rx-check): Check form is a list. | ||
| 20431 | (bracket): Defvar. | ||
| 20432 | (rx-check-any, rx-any, rx-check-not): Modify. | ||
| 20433 | (rx-not): Simplify. | ||
| 20434 | (rx-trans-forms, rx-=, rx->=, rx-**, rx-not-char, rx-not-syntax): New. | ||
| 20435 | (rx-kleene): Use rx-trans-forms. | ||
| 20436 | (rx-quote-for-set): Delete. | ||
| 20437 | (rx): Allow multiple args. | ||
| 20438 | |||
| 20439 | 2004-04-23 Kenichi Handa <handa@m17n.org> | ||
| 20440 | |||
| 20441 | * international/mule-util.el (char-displayable-p): Simplify by | ||
| 20442 | using internal-char-font. | ||
| 20443 | |||
| 20444 | 2004-04-23 Juanma Barranquero <lektu@terra.es> | ||
| 20445 | |||
| 20446 | * makefile.w32-in: Add "-*- makefile -*-" mode tag. | ||
| 20447 | |||
| 20448 | 2004-04-22 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 20449 | |||
| 20450 | * diff-mode.el (diff-next-error): New fun. | ||
| 20451 | (diff-mode): Use it. | ||
| 20452 | |||
| 20453 | * simple.el (next-error): Change arg name. | ||
| 20454 | Add support for the documented C-u C-x ` usage. | ||
| 20455 | |||
| 20456 | * frame.el (special-display-popup-frame, next-multiframe-window) | ||
| 20457 | (previous-multiframe-window): Only consider frames on same display. | ||
| 20458 | |||
| 20459 | 2004-04-22 Lars Hansen <larsh@math.ku.dk> | ||
| 20460 | |||
| 20461 | * info.el (Info-restore-desktop-buffer): Delete with-no-warnings. | ||
| 20462 | * mh-e/mh-e.el (mh-restore-desktop-buffer): Delete with-no-warnings. | ||
| 20463 | |||
| 20464 | 2004-04-22 Kim F. Storm <storm@cua.dk> | ||
| 20465 | |||
| 20466 | * net/telnet.el (telnet): Add optional port arg. | ||
| 20467 | |||
| 20468 | 2004-04-21 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 20469 | |||
| 20470 | * progmodes/compile.el (compilation-mode-font-lock-keywords): | ||
| 20471 | Minor sanity check on the `hyperlink' slot. | ||
| 20472 | |||
| 20473 | * Makefile.in (recompile): Compile new files. | ||
| 20474 | |||
| 20475 | * emacs-lisp/bytecomp.el (batch-byte-recompile-directory): | ||
| 20476 | Add byte-recompile-directory's optional `arg'. | ||
| 20477 | |||
| 20478 | * cvs-status.el (cvs-tree-use-charset): New var. | ||
| 20479 | (cvs-tree-char-space, cvs-tree-char-hbar, cvs-tree-char-vbar) | ||
| 20480 | (cvs-tree-char-branch, cvs-tree-char-eob, cvs-tree-char-bob) | ||
| 20481 | (cvs-status-cvstrees): Use it. | ||
| 20482 | |||
| 20483 | * emacs-lisp/checkdoc.el (checkdoc-output-mode): | ||
| 20484 | Make it a normal major mode. | ||
| 20485 | (checkdoc-buffer-label): Make sure the file name is meaningful. | ||
| 20486 | (checkdoc-output-to-error-buffer): Remove. | ||
| 20487 | (checkdoc-error, checkdoc-start-section): Rewrite. | ||
| 20488 | |||
| 20489 | * info.el (info-node, info-menu-5, info-xref, info-header-node) | ||
| 20490 | (Info-title-1-face, Info-title-2-face, Info-title-3-face) | ||
| 20491 | (Info-title-4-face): Use new syntax. | ||
| 20492 | (info-xref-visited): Inherit from info-xref. | ||
| 20493 | |||
| 20494 | * progmodes/python.el (python-maybe-jython): Don't assume point-min==1. | ||
| 20495 | |||
| 20496 | 2004-04-21 Teodor Zlatanov <tzz@lifelogs.com> | ||
| 20497 | |||
| 20498 | * simple.el (next-error-last-buffer, next-error-function): | ||
| 20499 | New variables for the next-error framework. | ||
| 20500 | (next-error-buffer-p): New function. | ||
| 20501 | (next-error-find-buffer): Generalize compilation-find-buffer. | ||
| 20502 | (next-error, previous-error, first-error, next-error-no-select) | ||
| 20503 | (previous-error-no-select): Move from compile.el. | ||
| 20504 | |||
| 20505 | * replace.el (occur-next-error, occur-1): Hook into the next-error | ||
| 20506 | framework. | ||
| 20507 | |||
| 20508 | * progmodes/compile.el (compilation-start): | ||
| 20509 | Set next-error-last-buffer so next-error knows where to jump. | ||
| 20510 | (compilation-setup): Set the buffer-local variable | ||
| 20511 | next-error-function to 'compilation-next-error-function. | ||
| 20512 | (compilation-buffer-p, compilation-buffer-internal-p): Use an | ||
| 20513 | alternate way to find if a buffer is a compilation buffer, for | ||
| 20514 | next-error convenience. | ||
| 20515 | (next-error-no-select, previous-error-no-select, next-error) | ||
| 20516 | (previous-error, first-error): Move to simple.el. | ||
| 20517 | (compilation-find-buffer): Move to next-error-find-buffer in simple.el. | ||
| 20518 | (compilation-last-buffer): Remove. | ||
| 20519 | (compilation-start, compilation-next-error, compilation-setup) | ||
| 20520 | (compilation-next-error-function, compilation-find-buffer): | ||
| 20521 | Remove compilation-last-buffer use. | ||
| 20522 | |||
| 20523 | 2004-04-21 Juanma Barranquero <lektu@terra.es> | ||
| 20524 | |||
| 20525 | * font-lock.el (font-lock-preprocessor-face): Remove spurious quote. | ||
| 20526 | (font-lock-warning-face): Fix spacing. | ||
| 20527 | |||
| 20528 | * makefile.w32-in (WINS): Add url/ directory. | ||
| 20529 | |||
| 20530 | 2004-04-21 Lars Hansen <larsh@math.ku.dk> | ||
| 20531 | |||
| 20532 | * desktop.el (desktop-buffer-mode-handlers): New variable. | ||
| 20533 | Alist of major mode specific functions to restore a desktop buffer. | ||
| 20534 | (desktop-buffer-handlers): Make variable obsolete. | ||
| 20535 | (desktop-create-buffer): Use desktop-buffer-mode-handlers. | ||
| 20536 | Catch errors signaled in handlers. Update buffer count. | ||
| 20537 | Evaluate desktop-buffer-point. | ||
| 20538 | (desktop-buffer-dired): Rename to dired-restore-desktop-buffer and | ||
| 20539 | move to dired.el. | ||
| 20540 | (desktop-buffer-info): Rename to Info-restore-desktop-buffer and | ||
| 20541 | move to info.el. | ||
| 20542 | (desktop-buffer-rmail): Rename to rmail-restore-desktop-buffer and | ||
| 20543 | move to mail/rmail.el. | ||
| 20544 | (desktop-buffer-mh): Rename to mh-restore-desktop-buffer and move | ||
| 20545 | to mh-e/mh-e.el. | ||
| 20546 | (desktop-buffer-file): Rename to desktop-restore-file-buffer. | ||
| 20547 | On fail, print message (to message buffer) even if | ||
| 20548 | desktop-missing-file-warning is nil. | ||
| 20549 | (desktop-buffer-misc-data-function): New buffer local variable. | ||
| 20550 | Function returning major mode specific data. | ||
| 20551 | (desktop-buffer-misc-functions): Make variable obsolete. | ||
| 20552 | (desktop-save): Use desktop-buffer-misc-data-function. | ||
| 20553 | (desktop-buffer-dired-misc-data): Rename to | ||
| 20554 | dired-desktop-buffer-misc-data and move to dired.el. | ||
| 20555 | (desktop-buffer-info-misc-data): Rename to | ||
| 20556 | Info-desktop-buffer-misc-data and move to info.el. | ||
| 20557 | (desktop-read): Add message about number of buffers restored/failed. | ||
| 20558 | |||
| 20559 | * dired.el (dired-restore-desktop-buffer) Move from desktop.el. | ||
| 20560 | Add parameters. Pause to display error only when | ||
| 20561 | desktop-missing-file-warning is non-nil. | ||
| 20562 | (dired-desktop-buffer-misc-data): Move from desktop.el. Add parameter. | ||
| 20563 | (dired-mode): Bind desktop-buffer-misc-data-function. | ||
| 20564 | |||
| 20565 | * info.el (Info-restore-desktop-buffer): Move from desktop.el. | ||
| 20566 | Add Parameters. | ||
| 20567 | (Info-desktop-buffer-misc-data): Move from desktop.el. Add parameter. | ||
| 20568 | (Info-mode): Bind desktop-buffer-misc-data-function. | ||
| 20569 | |||
| 20570 | * mail/rmail.el (rmail-restore-desktop-buffer): Move from desktop.el. | ||
| 20571 | Add Parameters. | ||
| 20572 | |||
| 20573 | * mh-e/mh-e.el (mh-restore-desktop-buffer): Move from desktop.el. | ||
| 20574 | Add Parameters. | ||
| 20575 | |||
| 20576 | 2003-04-21 Paul Pogonyshev <pogonyshev@gmx.net> | ||
| 20577 | |||
| 20578 | * dabbrev.el (dabbrev--substitute-expansion): Don't lose | ||
| 20579 | the case of letters in case-insensitive expansions when the | ||
| 20580 | abbrev is preceded by characters with letter syntax. | ||
| 20581 | |||
| 20582 | 2004-04-21 Richard M. Stallman <rms@gnu.org> | ||
| 20583 | |||
| 20584 | * progmodes/cperl-mode.el (cperl-putback-char): | ||
| 20585 | Delete Emacs 18 definition. | ||
| 20586 | |||
| 20587 | * international/mule.el (ctext-post-read-conversion): | ||
| 20588 | Use assoc-string, not assoc-ignore-case. | ||
| 20589 | |||
| 20590 | * international/mule-cmds.el: Use assoc-string, not assoc-ignore-case. | ||
| 20591 | |||
| 20592 | * emacs-lisp/easymenu.el (easy-menu-add): | ||
| 20593 | Do call x-popup-menu, but only if it's defined. | ||
| 20594 | |||
| 20595 | * emacs-lisp/disass.el (disassemble): Handle lambda-exp as arg. | ||
| 20596 | |||
| 20597 | * emacs-lisp/bytecomp.el (byte-compile-no-warnings): | ||
| 20598 | Handle multiple args: compile like progn. | ||
| 20599 | |||
| 20600 | * emacs-lisp/byte-run.el (with-no-warnings): Simplify: | ||
| 20601 | take all args as &rest arg. | ||
| 20602 | |||
| 20603 | * autoinsert.el (auto-insert-alist): Insert the user's name in | ||
| 20604 | copyright notice, rather than Free Software Foundation. | ||
| 20605 | |||
| 20606 | 2004-04-21 Kenichi Handa <handa@m17n.org> | ||
| 20607 | |||
| 20608 | * descr-text.el (describe-char): Make it work on *Help* buffer. | ||
| 20609 | |||
| 20610 | 2004-04-21 Kim F. Storm <storm@cua.dk> | ||
| 20611 | |||
| 20612 | * image.el (insert-image): Add optional SLICE arg. | ||
| 20613 | (insert-sliced-image): New defun. | ||
| 20614 | |||
| 20615 | 2004-04-20 Lawrence Mitchell <wence@gmx.li> (tiny change) | ||
| 20616 | |||
| 20617 | * subr.el (read-number): Check whether `default' is nil. | ||
| 20618 | |||
| 20619 | 2004-04-20 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 20620 | |||
| 20621 | * progmodes/compile.el (compilation-error-properties): Split into | ||
| 20622 | two. | ||
| 20623 | (compilation-internal-error-properties): New one. | ||
| 20624 | (compilation-compat-error-properties): Use it. Fix the non-marker | ||
| 20625 | case. | ||
| 20626 | |||
| 20627 | 2004-04-20 Richard M. Stallman <rms@gnu.org> | ||
| 20628 | |||
| 20629 | * window.el (split-window-save-restore-data): | ||
| 20630 | Don't update the data if OLD-INFO is nil. | ||
| 20631 | |||
| 20632 | * view.el (view-return-to-alist): Mark it permanent local. | ||
| 20633 | |||
| 20634 | * subr.el (event-modifiers): Fix the criterion for ASCII control chars. | ||
| 20635 | |||
| 20636 | * recentf.el (recentf-save-list): Catch and warn about errors. | ||
| 20637 | |||
| 20638 | * menu-bar.el (menu-bar-update-buffers): Call copy-sequence | ||
| 20639 | so "Buffers" won't be pure. | ||
| 20640 | |||
| 20641 | * help-mode.el (help-mode-finish): Set help-return-alist first | ||
| 20642 | thing, setting only the entry for the selected window. | ||
| 20643 | |||
| 20644 | * help-fns.el (describe-function-1): If many non-control non-meta | ||
| 20645 | keys run the command, don't list all of them. | ||
| 20646 | |||
| 20647 | 2004-04-20 Juanma Barranquero <lektu@terra.es> | ||
| 20648 | |||
| 20649 | * vc-svn.el (vc-svn-print-log, vc-svn-diff): Add optional BUFFER | ||
| 20650 | arg. Copied from Andre Spiegel's patch of 2004-03-21. | ||
| 20651 | |||
| 20652 | * calendar/time-date.el (time-to-day-in-year): Fix docstring. | ||
| 20653 | |||
| 20654 | 2004-04-20 Kenichi Handa <handa@m17n.org> | ||
| 20655 | |||
| 20656 | * international/quail.el (quail-lookup-key): New optional arg | ||
| 20657 | NOT-RESET-INDICES. | ||
| 20658 | (quail-get-translations): Call quail-lookup-key with | ||
| 20659 | NOT-RESET-INDICES t. | ||
| 20660 | (quail-completion): Likewise. | ||
| 20661 | (quail-lookup-map-and-concat): Likewise. | ||
| 20662 | |||
| 20663 | 2004-04-20 Kenichi Handa <handa@m17n.org> | ||
| 20664 | |||
| 20665 | * international/quail.el (quail-update-translation): Don't insert | ||
| 20666 | such an unsupported multibyte char in a unibyte buffer. | ||
| 20667 | |||
| 20668 | 2004-04-20 Nick Roberts <nick@nick.uklinux.net> | ||
| 20669 | |||
| 20670 | * progmodes/gdb-ui.el (gdb-frame-parameters): New constant. | ||
| 20671 | (gdb-frame-breakpoints-buffer, gdb-frame-stack-buffer) | ||
| 20672 | (gdb-frame-threads-buffer, gdb-frame-registers-buffer) | ||
| 20673 | (gdb-frame-locals-buffer, gdb-frame-gdb-buffer) | ||
| 20674 | (gdb-frame-assembler-buffer): Improve behavior with | ||
| 20675 | multiple frames. | ||
| 20676 | (gdb-display-buffer): Extend search to all visible frames. | ||
| 20677 | |||
| 20678 | 2004-04-19 Eli Zaretskii <eliz@gnu.org> | ||
| 20679 | |||
| 20680 | * mail/rmail.el (rmail-convert-to-babyl-format): Don't remove ^M | ||
| 20681 | characters left after base64 decoding. | ||
| 20682 | (rmail-decode-region): Use -dos variety of `coding', to remove any | ||
| 20683 | ^M characters left after qp or base64 decoding. | ||
| 20684 | |||
| 20685 | 2004-04-19 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 20686 | |||
| 20687 | * x-dnd.el (x-dnd-open-local-file, x-dnd-open-file): Improve error | ||
| 20688 | messages. | ||
| 20689 | |||
| 20690 | 2004-04-19 Stephen Eglen <stephen@gnu.org> | ||
| 20691 | |||
| 20692 | * add-log.el (add-change-log-entry): Update doc string to mention | ||
| 20693 | add-log-full-name and add-log-mailing-address. | ||
| 20694 | |||
| 20695 | 2004-04-18 Juri Linkov <juri@jurta.org> | ||
| 20696 | |||
| 20697 | * info.el (Info-find-file, Info-find-node-2): Add history and toc. | ||
| 20698 | (Info-find-node-2): Simplify error message. | ||
| 20699 | (Info-insert-dir): Use Info-following-node-name. | ||
| 20700 | (Info-goto-node): Remove *info-history* and *info-toc*. | ||
| 20701 | (Info-history): Create a node of the virtual history file. | ||
| 20702 | (Info-toc): Create a node of the virtual toc file. | ||
| 20703 | (Info-insert-toc): New arg `curr-file' for reference file names. | ||
| 20704 | (info-apropos): Remove redundant var binding for temp-file. | ||
| 20705 | (Info-index, Info-index-next, Info-mode): Doc fix. | ||
| 20706 | (Info-goto-emacs-command-node): Don't jump to *info* from | ||
| 20707 | non-*info* Info buffers. | ||
| 20708 | (Info-fontify-node): Don't show the file name of external | ||
| 20709 | references if `Info-hide-note-references' is `hide'. Don't hide | ||
| 20710 | newlines at the end of paragraphs. | ||
| 20711 | |||
| 20712 | * international/mule-diag.el (list-input-methods): | ||
| 20713 | Fix args to help-xref-button. | ||
| 20714 | |||
| 20715 | * help-fns.el (help-with-tutorial): Call `hack-local-variables' | ||
| 20716 | to put into effect local variables from TUTORIAL files. | ||
| 20717 | |||
| 20718 | * textmodes/paragraphs.el (sentence-end) <function>: New fun | ||
| 20719 | with default value taken from the variable `sentence-end'. | ||
| 20720 | (sentence-end) <defcustom>: Set default to nil. Doc fix. | ||
| 20721 | Add nil const to :type. | ||
| 20722 | (sentence-end-without-period, sentence-end-double-space) | ||
| 20723 | (sentence-end-without-space): Doc fix. | ||
| 20724 | |||
| 20725 | * textmodes/paragraphs.el (forward-sentence): | ||
| 20726 | * textmodes/fill.el (canonically-space-region, fill-nobreak-p) | ||
| 20727 | (fill-delete-newlines): | ||
| 20728 | * progmodes/cc-cmds.el (c-beginning-of-statement): | ||
| 20729 | Use function `sentence-end' instead of variable `sentence-end'. | ||
| 20730 | |||
| 20731 | 2004-04-18 Andreas Schwab <schwab@suse.de> | ||
| 20732 | |||
| 20733 | * progmodes/compile.el (compilation-start): Set window start to | ||
| 20734 | point-min if compilation-scroll-output is nil. | ||
| 20735 | |||
| 20736 | 2004-04-18 John Wiegley <johnw@newartisans.com> | ||
| 20737 | |||
| 20738 | * iswitchb.el (iswitchb-completions): Remove dependency on cl. | ||
| 20739 | |||
| 20740 | 2004-04-18 Nick Roberts <nick@nick.uklinux.net> | ||
| 20741 | |||
| 20742 | * progmodes/gdb-ui.el (gdb-goto-info): Require 'info. | ||
| 20743 | (gdb-info-breakpoints-custom): Revert previous change. | ||
| 20744 | (gdb-view-assembler): Update assembler if necessary. | ||
| 20745 | (gdb-frame-handler): Parse correctly for gdb-current-frame. | ||
| 20746 | (gdb-display-source-buffer): Update properly when both source and | ||
| 20747 | assembler are visible. | ||
| 20748 | |||
| 20749 | 2004-04-17 John Wiegley <johnw@newartisans.com> | ||
| 20750 | |||
| 20751 | * iswitchb.el (iswitchb-max-to-show): Add a new config variable | ||
| 20752 | which limits the number of names shown in the minibuffer. Off by | ||
| 20753 | default. | ||
| 20754 | (iswitchb-completions): Use `iswitchb-max-to-show'. This speeds | ||
| 20755 | up iswitchb for users with a multitude of open buffers by showing | ||
| 20756 | only the first and last N/2 buffers in the completion list (which | ||
| 20757 | is enough to aid C-s/C-r, and to know that more characters are | ||
| 20758 | needed to refine the completion list). | ||
| 20759 | |||
| 20760 | 2004-04-17 Richard M. Stallman <rms@gnu.org> | ||
| 20761 | |||
| 20762 | * files.el (locate-file-completion): Handle nil in path-and-suffixes. | ||
| 20763 | (file-truename): Expand all ~ constructs directly. | ||
| 20764 | (insert-directory): Delete any error msg output by the | ||
| 20765 | `insert-directory-program'. | ||
| 20766 | |||
| 20767 | * allout.el (allout-mode-exposure-menu, allout-mode-editing-menu): | ||
| 20768 | (allout-mode-navigation-menu, allout-mode-misc-menu): New defvars. | ||
| 20769 | (allout-prior-bindings, allout-added-bindings): Defvars deleted. | ||
| 20770 | (allout-init): Use find-file-hook, not find-file-hooks. | ||
| 20771 | (allout-mode): Eliminate Emacs 18 support. | ||
| 20772 | Use write-contents-functions, not local-write-file-hooks. | ||
| 20773 | |||
| 20774 | 2004-04-17 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 20775 | |||
| 20776 | * progmodes/compile.el (compilation-error-properties): Fix for | ||
| 20777 | adding messages when there are already markers for their file. | ||
| 20778 | (compilation-fake-loc): New function. | ||
| 20779 | |||
| 20780 | 2004-04-16 Dave Love <fx@gnu.org> | ||
| 20781 | |||
| 20782 | * progmodes/python.el (python-compilation-line-number): Fix | ||
| 20783 | braindamage. | ||
| 20784 | (python-load-file): Fix python-orig-start setting. | ||
| 20785 | |||
| 20786 | * progmodes/compile.el: Doc fixes. | ||
| 20787 | (compilation-error-regexp-alist-alist) | ||
| 20788 | (compilation-mode-font-lock-keywords): Allow non-ASCII where possible. | ||
| 20789 | (compilation-assq): Wrap in eval-when-compile. | ||
| 20790 | (compilation-mode-font-lock-keywords): Don't use list*. | ||
| 20791 | (compilation-start): Avoid warning. | ||
| 20792 | (compilation-compat-error-properties) | ||
| 20793 | (compilation-directory-properties): Add keymap property. | ||
| 20794 | (compilation-parsing-end): Make it a marker for better compatibility. | ||
| 20795 | |||
| 20796 | * progmodes/python.el (python-after-info-look): Use with-no-warnings. | ||
| 20797 | |||
| 20798 | 2004-04-16 Mark A. Hershberger <mah@everybody.org> | ||
| 20799 | |||
| 20800 | * xml.el: Doc fixes. | ||
| 20801 | (xml-get-children): Only looks at sub-tags and ignore strings. | ||
| 20802 | |||
| 20803 | * xml.el (xml-parse-tag): Avoid overwriting node-name. | ||
| 20804 | |||
| 20805 | 2004-04-16 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 20806 | |||
| 20807 | * diff-mode.el (diff-end-of-hunk): Be more careful with unified hunks. | ||
| 20808 | |||
| 20809 | 2004-04-16 Andre Spiegel <spiegel@gnu.org> | ||
| 20810 | |||
| 20811 | * vc-hooks.el (vc-default-workfile-unchanged-p): Quote signal. | ||
| 20812 | |||
| 20813 | * vc.el (vc-print-log): Likewise. | ||
| 20814 | |||
| 20815 | 2004-04-16 Masatake YAMATO <jet@gyve.org> | ||
| 20816 | |||
| 20817 | * simple.el (completion-setup-function): Set an initial value to | ||
| 20818 | `element-common-end' before entering loop. Set a value to | ||
| 20819 | `element-common-end' at the end of loop. The bug is reported by | ||
| 20820 | Juri Linkov <juri@jurta.org> in emacs-devel list. | ||
| 20821 | (completions-common-part): Rename from completion-de-emphasis. | ||
| 20822 | (completions-first-difference): Rename from completion-emphasis. | ||
| 20823 | Suggested by RMS. | ||
| 20824 | |||
| 20825 | 2004-04-16 Juanma Barranquero <lektu@terra.es> | ||
| 20826 | |||
| 20827 | * bookmark.el (bookmark-send-edited-annotation): Fix docstring. | ||
| 20828 | (bookmark-edit-annotation-mode): Add mode name. | ||
| 20829 | |||
| 20830 | 2004-04-15 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 20831 | |||
| 20832 | * smerge-mode.el (smerge-match-conflict): Try to do something sensible | ||
| 20833 | for nested conflict markers. | ||
| 20834 | (smerge-find-conflict): Better handle errors in smerge-match-conflict. | ||
| 20835 | |||
| 20836 | 2004-04-15 Nick Roberts <nick@nick.uklinux.net> | ||
| 20837 | |||
| 20838 | * progmodes/gdb-ui.el (gdb-goto-info): New function. | ||
| 20839 | |||
| 20840 | * progmodes/gud.el (gud-menu-map, gud-tool-bar-map): Add help button. | ||
| 20841 | |||
| 20842 | 2004-04-14 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 20843 | |||
| 20844 | * emacs-lisp/bytecomp.el (batch-byte-compile-file): | ||
| 20845 | Give a backtrace if requested. | ||
| 20846 | |||
| 20847 | * progmodes/ada-mode.el (ada-create-menu): Remove redundant call. | ||
| 20848 | |||
| 20849 | * progmodes/python.el (python-mouse-2-command, python-RET-command): | ||
| 20850 | Remove unused functions. | ||
| 20851 | (python-orig-start-line, python-orig-file): Remove. | ||
| 20852 | (python-orig-start): New var. | ||
| 20853 | (python-input-filter, python-compilation-line-number) | ||
| 20854 | (python-send-region, python-load-file): Use it. | ||
| 20855 | |||
| 20856 | * info.el (info): Always jump to *info*. | ||
| 20857 | |||
| 20858 | * subr.el (posn-set-point): New function. | ||
| 20859 | |||
| 20860 | * mouse.el (mouse-set-point): Use it. | ||
| 20861 | |||
| 20862 | * progmodes/compile.el (compile-goto-error): Use it. | ||
| 20863 | (compilation-button-map): New keymap. | ||
| 20864 | (compilation-error-properties): Use it. | ||
| 20865 | (compilation-shell-minor-mode-map): Don't bind mouse-2. | ||
| 20866 | |||
| 20867 | * smerge-mode.el (smerge-popup-context-menu): Use it. | ||
| 20868 | |||
| 20869 | * emacs-lisp/checkdoc.el (checkdoc-output-mode-map) | ||
| 20870 | (checkdoc-find-error-mouse, checkdoc-find-error): Use it to merge the | ||
| 20871 | mouse and non-mouse case. | ||
| 20872 | |||
| 20873 | * diff-mode.el (diff-goto-source): Make it work for mouse bindings. | ||
| 20874 | (diff-mouse-goto-source): Make it an alias of diff-goto-source. | ||
| 20875 | |||
| 20876 | * pcvs.el (cvs-mode-toggle-mark): Rename from cvs-mouse-toggle-mark. | ||
| 20877 | Make it work for non-mouse events. | ||
| 20878 | |||
| 20879 | * pcvs-info.el (cvs-status-map): Update binding name. | ||
| 20880 | |||
| 20881 | 2004-04-14 Mark A. Hershberger <mah@everybody.org> | ||
| 20882 | |||
| 20883 | * xml.el (xml-maybe-do-ns): New function to handle namespace | ||
| 20884 | parsing of both attribute and element names. | ||
| 20885 | (xml-ns-parse-ns-attrs, xml-ns-expand-el, xml-ns-expand-attr) | ||
| 20886 | (xml-intern-attrlist): Remove in favor of xml-maybe-do-ns. | ||
| 20887 | (xml-parse-tag): Update assumed namespaces. Clean up namespace | ||
| 20888 | parsing. | ||
| 20889 | (xml-parse-attlist): Make it do its own namespace parsing. | ||
| 20890 | |||
| 20891 | 2004-04-14 Dave Love <fx@gnu.org> | ||
| 20892 | |||
| 20893 | * progmodes/python.el (run-python): Fix use of \n. | ||
| 20894 | (python-load-file): Remove `try' from Python fragment. | ||
| 20895 | (python-describe-symbol): Fix message. | ||
| 20896 | |||
| 20897 | * comint.el: Doc fixes. | ||
| 20898 | (comint-last-input-start, comint-last-input-end) | ||
| 20899 | (comint-last-output-start): Give them values. | ||
| 20900 | (comint-arguments): Avoid warning. | ||
| 20901 | (comint-skip-prompt): Use line-end-position. | ||
| 20902 | (comint-backward-matching-input): Rename arg to agree with doc. | ||
| 20903 | (comint-extract-string): Use syntax-ppss. | ||
| 20904 | (comint-dynamic-simple-complete): Delete useless list construction. | ||
| 20905 | (comint-redirect-subvert-readonly): New. | ||
| 20906 | (comint-redirect-preoutput-filter): Use it. | ||
| 20907 | |||
| 20908 | * emacs-lisp/lisp.el (beginning-of-defun-raw, end-of-defun): | ||
| 20909 | Correctly handle negative arguments when calling hook functions. | ||
| 20910 | |||
| 20911 | 2004-04-14 Jesper Harder <harder@ifa.au.dk> | ||
| 20912 | |||
| 20913 | * info.el (info-apropos): Don't clobber Info-history-list. | ||
| 20914 | |||
| 20915 | 2004-04-14 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 20916 | |||
| 20917 | * progmodes/compile.el (compilation-setup): | ||
| 20918 | Localize overlay-arrow-position. | ||
| 20919 | (compilation-sentinel): Restructure code equivalently. | ||
| 20920 | (compilation-next-error): Find message on same line after point if | ||
| 20921 | not found before point. | ||
| 20922 | (compile-mouse-goto-error): Restore function so that compilation | ||
| 20923 | buffer need not be current and use compile-goto-error. | ||
| 20924 | (compile-goto-error): Restore function. | ||
| 20925 | (next-error): Set overlay-arrow-position. | ||
| 20926 | (compilation-forget-errors): Don't localize already local | ||
| 20927 | compilation-locs and remove FIXME about refontifying. | ||
| 20928 | |||
| 20929 | 2004-04-14 Kim F. Storm <storm@cua.dk> | ||
| 20930 | |||
| 20931 | * startup.el (emacs-quick-startup): New defvar (set by -Q). | ||
| 20932 | (command-line): New option -Q. Like -q --no-site-file, but in | ||
| 20933 | addition it also disables menu-bar, tool-bar, scroll-bars, | ||
| 20934 | tool-tips, and the blinking cursor. | ||
| 20935 | (command-line-1): Skip startup screen if -Q. | ||
| 20936 | (fancy-splash-head): Use ":align-to center" prop to center splash | ||
| 20937 | image. | ||
| 20938 | |||
| 20939 | * emulation/cua-base.el (cua-read-only-cursor-color) | ||
| 20940 | (cua-overwrite-cursor-color, cua-global-mark-cursor-color): Doc fix. | ||
| 20941 | |||
| 20942 | 2004-04-13 Dave Love <fx@gnu.org> | ||
| 20943 | |||
| 20944 | * progmodes/python.el: Doc fixes. Changes for compiler warnings. | ||
| 20945 | (syntax): Don't require. | ||
| 20946 | (python) <defgroup>: Add :version. | ||
| 20947 | (python-quote-syntax): Re-written. | ||
| 20948 | (inferior-python-mode): Move stuff here from run-python and add | ||
| 20949 | some more. | ||
| 20950 | (python-preoutput-continuation, python-preoutput-result) | ||
| 20951 | (python-dotty-syntax-table): New. | ||
| 20952 | (python-describe-symbol): Use them. | ||
| 20953 | (run-python): Move stuff to inferior-python-mode. Modify code | ||
| 20954 | loaded into Python. | ||
| 20955 | (python-send-region): Use python-proc, python-send-string. | ||
| 20956 | (python-send-string): Send newlines too. Callers changed. | ||
| 20957 | (python-load-file): Re-written. | ||
| 20958 | (python-eldoc-function): New. | ||
| 20959 | (info-look): Don't require. | ||
| 20960 | (python-after-info-look): New. A modified version of former | ||
| 20961 | top-level code for use with eval-after-load. | ||
| 20962 | (python-maybe-jython, python-guess-indent): Use widened buffer. | ||
| 20963 | (python-fill-paragraph): Re-written. | ||
| 20964 | (python-mode): Fix outline-regexp. Set outline-heading-end-regexp, | ||
| 20965 | eldoc-print-current-symbol-info-function. Add to eldoc-mode-hook. | ||
| 20966 | |||
| 20967 | 2004-04-13 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 20968 | |||
| 20969 | * progmodes/python.el (run-python): Use compilation-shell-minor-mode. | ||
| 20970 | Set compilation-error-regexp-alist earlier. | ||
| 20971 | |||
| 20972 | * progmodes/compile.el (compilation-minor-mode-map) | ||
| 20973 | (compilation-shell-minor-mode-map, compile-mouse-goto-error) | ||
| 20974 | (compile-goto-error): Re-merge the mouse and non-mouse commands. | ||
| 20975 | |||
| 20976 | 2004-04-12 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 20977 | |||
| 20978 | * progmodes/compile.el (compile-goto-error): Select the buffer/window | ||
| 20979 | corresponding to the event. | ||
| 20980 | |||
| 20981 | 2004-04-12 Joe Buehler <jbuehler@hekiman.com> | ||
| 20982 | |||
| 20983 | * loadup.el: Add cygwin to system-type list, for unexec() support. | ||
| 20984 | |||
| 20985 | 2004-04-12 John Paul Wallington <jpw@gnu.org> | ||
| 20986 | |||
| 20987 | * ibuffer.el (ibuffer-delete-window-on-quit): Remove. | ||
| 20988 | (ibuffer-restore-window-config-on-quit): New variable to replace | ||
| 20989 | `ibuffer-delete-window-on-quit'. Update all references. | ||
| 20990 | (ibuffer-prev-window-config): New variable. | ||
| 20991 | (ibuffer-quit): Restore previous window configuration instead of | ||
| 20992 | deleting window. | ||
| 20993 | (ibuffer): Save window configuration before showing Ibuffer buffer. | ||
| 20994 | |||
| 20995 | * help.el (describe-mode): Doc fix. | ||
| 20996 | |||
| 20997 | 2004-04-12 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 20998 | |||
| 20999 | * progmodes/compile.el (compilation-mode-font-lock-keywords): Fix test | ||
| 21000 | not to treat nil as a function. | ||
| 21001 | |||
| 21002 | * vc-arch.el (vc-arch-root): Be a bit more careful. | ||
| 21003 | (vc-arch-register): Save the buffer if we modified it. | ||
| 21004 | (vc-arch-delete-rej-if-obsolete): Save excursion. | ||
| 21005 | (vc-arch-find-file-hook): Use the simpler after-save-hook. | ||
| 21006 | (vc-arch-responsible-p, vc-arch-init-version): New functions. | ||
| 21007 | |||
| 21008 | * net/ldap.el (ldap-search): Use list*. | ||
| 21009 | |||
| 21010 | 2004-04-12 Juri Linkov <juri@jurta.org> | ||
| 21011 | |||
| 21012 | * info.el (Info-follow-reference): Allow multiline reference name. | ||
| 21013 | |||
| 21014 | 2004-04-11 Dave Love <fx@gnu.org> | ||
| 21015 | |||
| 21016 | * emacs-lisp/bytecomp.el (byte-compile-cond): Fix last change. | ||
| 21017 | |||
| 21018 | * progmodes/python.el: New file. | ||
| 21019 | |||
| 21020 | 2004-04-11 Andre Spiegel <spiegel@gnu.org> | ||
| 21021 | |||
| 21022 | * vc-hooks.el (vc-arg-list): Function removed. | ||
| 21023 | (vc-default-workfile-unchanged-p): Use condition-case to check for | ||
| 21024 | backward compatibility. | ||
| 21025 | |||
| 21026 | * vc.el (vc-print-log): Use condition-case to check for backward | ||
| 21027 | compatibility. | ||
| 21028 | |||
| 21029 | 2004-04-11 Juri Linkov <juri@jurta.org> | ||
| 21030 | |||
| 21031 | * dired.el (dired-faces): New defgroup. | ||
| 21032 | (dired-header, dired-mark, dired-marked, dired-flagged) | ||
| 21033 | (dired-warning, dired-directory, dired-symlink, dired-ignored): | ||
| 21034 | New faces. | ||
| 21035 | (dired-header-face, dired-mark-face, dired-marked-face) | ||
| 21036 | (dired-flagged-face, dired-warning-face, dired-directory-face) | ||
| 21037 | (dired-symlink-face, dired-ignored-face): New face variables. | ||
| 21038 | (dired-font-lock-keywords): Use them instead of font-lock faces. | ||
| 21039 | Split the rule for dired marks into 3 separate rules: for marks, | ||
| 21040 | marked file names and flagged file names. | ||
| 21041 | |||
| 21042 | * help-mode.el (help-make-xrefs): Add a final newline to the | ||
| 21043 | *Help* buffer. | ||
| 21044 | |||
| 21045 | 2004-04-11 John Paul Wallington <jpw@gnu.org> | ||
| 21046 | |||
| 21047 | * replace.el (occur-engine): Distinguish between one and several | ||
| 21048 | matches in the matches per buffer heading. | ||
| 21049 | |||
| 21050 | 2004-04-11 Kim F. Storm <storm@cua.dk> | ||
| 21051 | |||
| 21052 | * ido.el (ido-confirm-unique-completion): New defcustom. | ||
| 21053 | (ido-complete): Use it. | ||
| 21054 | (ido-write-file): Set it to t unconditionally. | ||
| 21055 | |||
| 21056 | 2004-04-10 Miles Bader <miles@gnu.org> | ||
| 21057 | |||
| 21058 | RCS keyword removal (only non-comment changes are enumerated here): | ||
| 21059 | |||
| 21060 | * emacs-lisp/bytecomp.el (byte-compile-version): Variable removed. | ||
| 21061 | (byte-compile-insert-header): Don't use `byte-compile-version'. | ||
| 21062 | * forms.el (forms-version): Variable removed. | ||
| 21063 | (forms-mode): Don't use `forms-version'. | ||
| 21064 | * recentf.el (recentf-version): Variable removed. | ||
| 21065 | * progmodes/delphi.el (delphi-version): Variable removed. | ||
| 21066 | * progmodes/ada-mode.el (ada-mode): RCS keyword removed from docstring. | ||
| 21067 | |||
| 21068 | 2004-04-09 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 21069 | |||
| 21070 | * emacs-lisp/easymenu.el (easy-menu-add): Make it work in non-X Emacs. | ||
| 21071 | |||
| 21072 | 2004-04-09 Jesper Harder <harder@ifa.au.dk> | ||
| 21073 | |||
| 21074 | * info.el (info-apropos): Improve menu item regexp. | ||
| 21075 | |||
| 21076 | 2004-04-09 Simon Josefsson <jas@extundo.com> | ||
| 21077 | |||
| 21078 | * mail/smtpmail.el: Add comment, based on report by | ||
| 21079 | kdc@rcn.com (Kevin D. Clark). | ||
| 21080 | |||
| 21081 | 2004-04-08 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 21082 | |||
| 21083 | * progmodes/compile.el (compilation-mode-font-lock-keywords): | ||
| 21084 | Redo one more thing that I didn't notice Daniel had undone. | ||
| 21085 | |||
| 21086 | 2004-04-08 Nick Roberts <nick@nick.uklinux.net> | ||
| 21087 | |||
| 21088 | * progmodes/gdb-ui.el (gdb-source-window): Remove variable. | ||
| 21089 | (gdb-goto-breakpoint, gdb-display-buffer) | ||
| 21090 | (gdb-display-source-buffer, gdb-view-source-function) | ||
| 21091 | (gdb-view-assembler, gdb-setup-windows, gdb-restore-windows) | ||
| 21092 | (gdb-source-info, gdb-frame-handler): Don't specify a window | ||
| 21093 | for display. | ||
| 21094 | (gdb-info-breakpoints-custom): Remove superfluous update of | ||
| 21095 | assembler buffer. | ||
| 21096 | (gdb-many-windows): Make settable outside gdb. | ||
| 21097 | |||
| 21098 | 2004-04-08 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 21099 | |||
| 21100 | * calendar/diary-lib.el (diary-mode, fancy-diary-display-mode): | ||
| 21101 | Derive from fundamental-mode rather than text-mode. | ||
| 21102 | |||
| 21103 | 2004-04-08 Juri Linkov <juri@jurta.org> | ||
| 21104 | |||
| 21105 | * info.el (Info-history): Doc fix. | ||
| 21106 | (Info-history-list): New var. | ||
| 21107 | (info-xref): Change magenta4 to blue, remove bold for dark and | ||
| 21108 | light backgrounds, change bold to underline for non-color classes. | ||
| 21109 | (info-xref-visited): New face. | ||
| 21110 | (Info-fontify-visited-nodes): New custom. | ||
| 21111 | (Info-hide-note-references): Add new value `hide'. Doc fix. | ||
| 21112 | (Info-reference-name): New var. | ||
| 21113 | (Info-selection-hook): New custom. | ||
| 21114 | (Info-edit-mode-hook): New var. | ||
| 21115 | (Info-find-file): New fun. | ||
| 21116 | (Info-find-node): Move part of code to Info-find-file. | ||
| 21117 | (Info-find-node-2): Add anchors to Info-history-list. Move point | ||
| 21118 | to the place with the reference name if name is defined. | ||
| 21119 | (Info-select-node): Add current node to Info-history-list. | ||
| 21120 | (Info-goto-node): Switch to *info* from *info-history* *info-toc*. | ||
| 21121 | (Info-search-whitespace-regexp): New custom. | ||
| 21122 | (Info-search-case-fold): New var. | ||
| 21123 | (Info-search): Add "case-sensitively" to the prompt. | ||
| 21124 | Use Info-search-whitespace-regexp. Set Info-search-case-fold. | ||
| 21125 | (Info-search-case-sensitively, Info-search-next): New fun. | ||
| 21126 | (Info-up): Move point to the menu item of the current node. | ||
| 21127 | (Info-history): New fun. Add *info-history* to | ||
| 21128 | same-window-buffer-names. | ||
| 21129 | (Info-toc): New fun. Add *info-toc* to same-window-buffer-names. | ||
| 21130 | (Info-insert-toc): New fun. | ||
| 21131 | (Info-build-toc): New fun. | ||
| 21132 | (Info-follow-reference): Add new arg `fork'. Doc fix. | ||
| 21133 | Replace [ \n\t]* by [ \n\t]+ in the *Note regexp. For references | ||
| 21134 | with the same name prefer the reference closest to point. | ||
| 21135 | (Info-next-reference): Replace * by + in the *Note regexp. | ||
| 21136 | Add regexp for http:// and ftp://. Skip the *Note prefix. | ||
| 21137 | (Info-prev-reference): Replace * by + in the *Note regexp. | ||
| 21138 | Add regexp for http:// and ftp://. Skip the *Note prefix. | ||
| 21139 | (Info-follow-nearest-node): Add new arg `fork'. | ||
| 21140 | (Info-try-follow-nearest-node): Add new arg `fork'. | ||
| 21141 | Call browse-url for http:// and ftp:// references. | ||
| 21142 | Set Info-reference-name for index entries. | ||
| 21143 | (Info-mode-menu): Add menu items for Info-search-case-sensitively, | ||
| 21144 | Info-search-next, Info-history, Info-toc, clone-buffer. | ||
| 21145 | (Info-menu-update): Replace * by + in the *Note regexp. | ||
| 21146 | (Info-mode): Add documentation for Info-history, Info-toc, | ||
| 21147 | Info-search-case-sensitively, Info-search-next, clone-buffer. | ||
| 21148 | (Info-fontify-menu-headers): Remove fun. Move code to | ||
| 21149 | Info-fontify-node. | ||
| 21150 | (Info-fontify-node): Add docstring. Add local vars | ||
| 21151 | fontify-visited-p and not-fontified-p. If not-fontified-p is t | ||
| 21152 | then fontify header line, titles, menu headers, http and ftp | ||
| 21153 | references, refill paragraphs. If not-fontified-p is t or | ||
| 21154 | fontify-visited-p is t then fontify cross references, menu items. | ||
| 21155 | Fontify menu headers. Fontify http and ftp references. | ||
| 21156 | Change regexp for cross references to require whitespace after *Note, | ||
| 21157 | add matching groups for file and node names. Remove hack for quote. | ||
| 21158 | Use display property for Info-hide-note-references=t. Use fifth | ||
| 21159 | or fourth match for help-echo. Display visited nodes in a | ||
| 21160 | different face. Unhide file names of external references. | ||
| 21161 | Unhide newlines. Display visited menu items in a different face. | ||
| 21162 | |||
| 21163 | 2004-04-07 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 21164 | |||
| 21165 | * progmodes/compile.el: Require CL. | ||
| 21166 | (compilation-mode-font-lock-keywords): Re-install the "line as | ||
| 21167 | function" patch. | ||
| 21168 | |||
| 21169 | * help-fns.el (help-C-source-directory): New var. | ||
| 21170 | (help-subr-name, help-C-file-name, help-find-C-source): New funs. | ||
| 21171 | (describe-function-1, describe-variable): Use them. | ||
| 21172 | |||
| 21173 | * help-mode.el (help-function-def, help-variable-def): Handle hyperrefs | ||
| 21174 | to C source files specially. | ||
| 21175 | |||
| 21176 | 2004-04-07 Jan Nieuwenhuizen <janneke@gnu.org> | ||
| 21177 | |||
| 21178 | * info.el (Info-hide-cookies-node): New function. | ||
| 21179 | (Info-select-node): Use it. | ||
| 21180 | (Info-display-images-node): Remove message with image file name. | ||
| 21181 | |||
| 21182 | 2004-04-07 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 21183 | |||
| 21184 | * progmodes/compile.el (compilation-warning-face) | ||
| 21185 | (compilation-info-face, compilation-skip-threshold) | ||
| 21186 | (compilation-skip-visited, compilation-context-lines): | ||
| 21187 | Declare :version when added to Emacs. | ||
| 21188 | (compilation-error-regexp-alist-alist): Extend caml and irix. | ||
| 21189 | (compilation-setup): Fix if font-locked w/o font-lock-defaults. | ||
| 21190 | (compilation-mode-font-lock-keywords): Temporarily undo line as | ||
| 21191 | function patch, which wasn't ready. | ||
| 21192 | |||
| 21193 | 2004-04-07 Kenichi Handa <handa@m17n.org> | ||
| 21194 | |||
| 21195 | * international/latin1-disp.el (latin1-display-setup): Check each | ||
| 21196 | character is displayable or not instead of calling | ||
| 21197 | latin1-display-check-font. | ||
| 21198 | |||
| 21199 | 2004-04-06 Kenichi Handa <handa@m17n.org> | ||
| 21200 | |||
| 21201 | * language/ethio-util.el (ethio-sera-being-called-by-w3): | ||
| 21202 | New variable. | ||
| 21203 | (ethio-sera-to-fidel-ethio): Check ethio-sera-being-called-by-w3 | ||
| 21204 | instead of sera-being-called-by-w3. | ||
| 21205 | (ethio-fidel-to-sera-buffer): Likewise. | ||
| 21206 | (ethio-find-file): Bind ethio-sera-being-called-by-w3 to t | ||
| 21207 | instead of sera-being-called-by-w3. | ||
| 21208 | (ethio-write-file): Likewise. | ||
| 21209 | |||
| 21210 | 2004-04-05 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 21211 | |||
| 21212 | * printing.el: Doc fix. | ||
| 21213 | |||
| 21214 | 2004-04-05 Nick Roberts <nick@nick.uklinux.net> | ||
| 21215 | |||
| 21216 | * progmodes/gdb-ui.el (gdb-use-inferior-io-buffer): New option. | ||
| 21217 | (gdb-ann3, gdb-send, gdb-starting, gdb-stopping) | ||
| 21218 | (gdb-setup-windows): Only use separate IO buffer if required. | ||
| 21219 | |||
| 21220 | 2004-04-06 Kim F. Storm <storm@cua.dk> | ||
| 21221 | |||
| 21222 | * term.el (term-is-xemacs): Remove. | ||
| 21223 | (term-if-xemacs, term-ifnot-xemacs): Test (featurep 'xemacs). | ||
| 21224 | (term-window-width): New function. | ||
| 21225 | (term-mode, term-check-size): Use it. | ||
| 21226 | (term-mode): Disable overflow-newline-into-fringe in term buffer. | ||
| 21227 | |||
| 21228 | 2004-04-05 Per Abrahamsen <abraham@dina.kvl.dk> | ||
| 21229 | |||
| 21230 | * cus-edit.el (custom-add-parent-links): Change unbound variable | ||
| 21231 | `symbol' to `name'. | ||
| 21232 | |||
| 21233 | 2004-04-05 Jesper Harder <harder@ifa.au.dk> | ||
| 21234 | * info.el (info-apropos): New function. | ||
| 21235 | (Info-mode-menu): Add it. | ||
| 21236 | (Info-find-node, Info-find-node-2): Grok apropos virtual file. | ||
| 21237 | |||
| 21238 | * help-mode.el (help-make-xrefs): Recognize aliased variable with | ||
| 21239 | inherited docstring. | ||
| 21240 | |||
| 21241 | * play/gamegrid.el (gamegrid-add-score-insecure): Use sort-fields. | ||
| 21242 | |||
| 21243 | 2004-04-04 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 21244 | |||
| 21245 | * textmodes/fill.el (fill-comment-paragraph): Obey indent-tabs-mode. | ||
| 21246 | |||
| 21247 | * progmodes/compile.el (font-lock): Don't require any more. | ||
| 21248 | (compilation-error-properties, compilation-start, compilation-sentinel) | ||
| 21249 | (compilation-filter, next-error): Use with-current-buffer. | ||
| 21250 | (compilation-skip-to-next-location, compilation-skip-threshold) | ||
| 21251 | (compilation-skip-visited): Move to silence the byte-compiler. | ||
| 21252 | (compilation-setup): Simplify. | ||
| 21253 | (compilation-next-error): Use line-(beginning|end)-position. | ||
| 21254 | Make sure `pt' is non-nil before using compilation-loop. | ||
| 21255 | (compile-goto-error): Add optional event arg. Use it. | ||
| 21256 | (compile-mouse-goto-error): Make it an alias of compile-goto-error. | ||
| 21257 | (compilation-minor-mode-map, compilation-shell-minor-mode-map): | ||
| 21258 | Update the binding for mouse-2. | ||
| 21259 | (first-error): Set compilation-current-error to nil rather than bob. | ||
| 21260 | (compilation-parsing-end, compilation-parse-errors-function) | ||
| 21261 | (compilation-error-list, compilation-old-error-list): | ||
| 21262 | "New" compatibility variables. | ||
| 21263 | (compile-buffer-substring, compilation-compat-error-properties) | ||
| 21264 | (compilation-compat-parse-errors, compilation-forget-errors): | ||
| 21265 | New compatibility functions. | ||
| 21266 | (compilation-mode-font-lock-keywords): Use them. | ||
| 21267 | |||
| 21268 | 2004-04-04 Luc Teirlinck <teirllm@auburn.edu> | ||
| 21269 | |||
| 21270 | * autorevert.el (auto-revert-handler): If point (or a window | ||
| 21271 | point) is at the end of the buffer, keep it there after | ||
| 21272 | reverting. This allows to tail a file. | ||
| 21273 | Mention this in the `Commentary'. | ||
| 21274 | |||
| 21275 | * format.el (format-write-file): Add optional argument CONFIRM | ||
| 21276 | and make it behave like the analogous argument to `write-file'. | ||
| 21277 | |||
| 21278 | 2004-04-04 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 21279 | |||
| 21280 | * progmodes/ebnf2ps.el: Doc fix. | ||
| 21281 | (ebnf-version): New version number (4.2). | ||
| 21282 | (ebnf-syntax): Customization and docstring fix. | ||
| 21283 | (ebnf-eliminate-empty-rules, ebnf-optimize, ebnf-otz-initialize): | ||
| 21284 | Put autoloaded funs before first use. | ||
| 21285 | (ebnf-style-database): Add dtd entry. | ||
| 21286 | (ebnf-syntax-alist): Add dtd initialization. | ||
| 21287 | (ebnf-token-sequence): New fun. | ||
| 21288 | (ebnf-comment-table): Add new comment action character. | ||
| 21289 | (ebnf-dtd-parser, ebnf-dtd-initialize): Autoload funs from ebnf-dtd. | ||
| 21290 | |||
| 21291 | * progmodes/ebnf-dtd.el: New file, implement a parser for DTD (Data | ||
| 21292 | Type Definition for XML). | ||
| 21293 | |||
| 21294 | * progmodes/ebnf-abn.el (ebnf-abn-concatenation): | ||
| 21295 | * progmodes/ebnf-bnf.el (ebnf-sequence): | ||
| 21296 | * progmodes/ebnf-ebx.el (ebnf-ebx-concatenation): | ||
| 21297 | * progmodes/ebnf-iso.el (ebnf-iso-single-definition): | ||
| 21298 | * progmodes/ebnf-yac.el (ebnf-yac-sequence): | ||
| 21299 | Code simplification: call ebnf-token-sequence. | ||
| 21300 | |||
| 21301 | 2004-04-04 Eli Zaretskii <eliz@gnu.org> | ||
| 21302 | |||
| 21303 | * calendar/timeclock.el (timeclock-relative) | ||
| 21304 | (timeclock-get-project-function, timeclock-get-workday-function) | ||
| 21305 | (timeclock-query-out, timeclock-when-to-leave) | ||
| 21306 | (timeclock-when-to-leave-string, timeclock-log-data) | ||
| 21307 | (timeclock-generate-report, timeclock-in): Doc fixes. | ||
| 21308 | |||
| 21309 | 2004-04-03 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 21310 | |||
| 21311 | * url/: New dir. Import the URL package from its repository. | ||
| 21312 | |||
| 21313 | 2004-04-03 Andreas Schwab <schwab@suse.de> | ||
| 21314 | |||
| 21315 | * diff-mode.el (diff-mode): Fix missing quote. | ||
| 21316 | |||
| 21317 | 2004-04-03 Juri Linkov <juri@jurta.org> | ||
| 21318 | |||
| 21319 | * descr-text.el (describe-property-list): Add `font-lock-face'. | ||
| 21320 | |||
| 21321 | * dired.el (dired-font-lock-keywords): Fix permission regexps. | ||
| 21322 | |||
| 21323 | 2004-04-02 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 21324 | |||
| 21325 | * x-dnd.el (x-dnd-handle-moz-url, x-dnd-insert-utf16-text): | ||
| 21326 | Use utf-16le on little endian machines and utf-16be otherwise. | ||
| 21327 | |||
| 21328 | 2004-04-02 David Kastrup <dak@gnu.org> | ||
| 21329 | |||
| 21330 | * net/browse-url.el (browse-url-generic): Use call-process | ||
| 21331 | instead of start-process to allow browsers that fork and detach. | ||
| 21332 | |||
| 21333 | 2004-04-01 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 21334 | |||
| 21335 | * compile.el (compilation-current-error): New var. | ||
| 21336 | (compilation-setup, compile-mouse-goto-error) | ||
| 21337 | (compile-goto-error, next-error): Use it. | ||
| 21338 | (compilation-skip-to-next-location): Default to t, which gives | ||
| 21339 | contiguous skipping like old compile (where this was redundant). | ||
| 21340 | (compilation-next-error): Prevent previous-* commands from moving | ||
| 21341 | back to message at or just before point. | ||
| 21342 | |||
| 21343 | 2004-04-01 Nick Roberts <nick@nick.uklinux.net> | ||
| 21344 | |||
| 21345 | * progmodes/gdb-ui.el (gdb-view-source-function, gdb-view-assembler) | ||
| 21346 | (gdb-source-info): Don't display source at startup, if required. | ||
| 21347 | (gdb-show-main): New option. | ||
| 21348 | (gdba): Update documentation. | ||
| 21349 | (gdb-source): Cover case of auto-display output. | ||
| 21350 | |||
| 21351 | 2004-03-31 Luc Teirlinck <teirllm@auburn.edu> | ||
| 21352 | |||
| 21353 | * autorevert.el: Delete obsolete autoloads and defvars. | ||
| 21354 | (auto-revert-check-vc-info): New user option. | ||
| 21355 | (auto-revert-vc-cvs-file-version, auto-revert-vc-buffer-p) | ||
| 21356 | (auto-revert-handler-vc): Delete. | ||
| 21357 | (auto-revert-handler): Treat return value `fast' of | ||
| 21358 | buffer-stale-function specially. Check `auto-revert-check-vc-info'. | ||
| 21359 | |||
| 21360 | * buff-menu.el (Buffer-menu-mode): Make the buffer-stale-function | ||
| 21361 | return `fast'. | ||
| 21362 | |||
| 21363 | * files.el (buffer-stale-function): Doc change. | ||
| 21364 | |||
| 21365 | 2004-03-31 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 21366 | |||
| 21367 | * printing.el: New tip on Tips section. | ||
| 21368 | (pr-version): New version number (6.7.4). | ||
| 21369 | (pr-shell-file-name): Initialization fix. | ||
| 21370 | |||
| 21371 | 2004-03-31 Juri Linkov <juri@jurta.org> | ||
| 21372 | |||
| 21373 | * dired.el: Add autoload for `dired-do-touch'. | ||
| 21374 | (dired-touch-program): New var. | ||
| 21375 | (dired-mode-map): Bind `dired-do-touch' to T and add menu-item. | ||
| 21376 | (dired-no-confirm): Add `touch' to docstring. | ||
| 21377 | |||
| 21378 | * dired-aux.el (dired-do-touch): New fun. | ||
| 21379 | (dired-do-chxxx): Add argument -t for touch operation. | ||
| 21380 | |||
| 21381 | * dired-x.el (dired-mark-sexp): Replace hard-coded month names by | ||
| 21382 | `dired-move-to-filename-regexp'. | ||
| 21383 | |||
| 21384 | 2004-03-31 H,Ae(Bkan Granath <hakan.granath@kau.se> (tiny change) | ||
| 21385 | |||
| 21386 | * dired.el (dired-move-to-filename-regexp): Add `.' to HH:MM. | ||
| 21387 | |||
| 21388 | 2004-03-30 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 21389 | |||
| 21390 | * progmodes/ebnf2ps.el (ebnf-eps-finish-and-write): Write a buffer if | ||
| 21391 | and only if the buffer was modified. | ||
| 21392 | |||
| 21393 | 2004-03-30 Kenichi Handa <handa@m17n.org> | ||
| 21394 | |||
| 21395 | * international/characters.el: Delete pairs for U+2308..U+230B. | ||
| 21396 | |||
| 21397 | 2004-03-29 Nick Roberts <nick@nick.uklinux.net> | ||
| 21398 | |||
| 21399 | * progmodes/gud.el (gud-gdb-marker-filter): Include "\n" in regexp | ||
| 21400 | to detect the beginning of a level 2 or 3 annotation. | ||
| 21401 | |||
| 21402 | 2004-03-29 Kenichi Handa <handa@m17n.org> | ||
| 21403 | |||
| 21404 | * international/ucs-tables.el (ucs-insert): Fix the error message. | ||
| 21405 | |||
| 21406 | 2004-03-29 Kenichi Handa <handa@m17n.org> | ||
| 21407 | |||
| 21408 | * international/mule-util.el (char-displayable-p): Fix generation | ||
| 21409 | of XLFD file name. | ||
| 21410 | |||
| 21411 | * Makefile.in (setwins, setwins_almost): Change directory to $wd | ||
| 21412 | before finding directories by `find'. | ||
| 21413 | |||
| 21414 | 2004-03-28 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 21415 | |||
| 21416 | * subr.el (interactive-form): Delete. Now implemented in C. | ||
| 21417 | |||
| 21418 | * pcvs.el (cvs-parse-process): Workaround for Darwin. | ||
| 21419 | |||
| 21420 | * vc.el (vc-version-diff, vc-default-diff-tree): Change `rel' -> `rev'. | ||
| 21421 | (vc-diff-label): New fun. | ||
| 21422 | (vc-diff-internal): Use it. | ||
| 21423 | |||
| 21424 | * progmodes/gdb-ui.el (gdb-post-prompt): Fix test. | ||
| 21425 | |||
| 21426 | 2004-03-28 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 21427 | |||
| 21428 | * progmodes/ebnf-abn.el (ebnf-abn-parser): Handle initial comments. | ||
| 21429 | |||
| 21430 | * progmodes/ebnf-ebx.el: New file, implement a parser for EBNF used to | ||
| 21431 | specify XML (EBNFX). | ||
| 21432 | |||
| 21433 | * progmodes/ebnf2ps.el: Doc fix. | ||
| 21434 | (ebnf-version): New version number (4.1). | ||
| 21435 | (ebnf-syntax): Adjust customization. | ||
| 21436 | (ebnf-style-database): Add ebnfx entry. | ||
| 21437 | (ebnf-syntax-alist): Add ebnfx initialization. | ||
| 21438 | (ebnf-ebx-parser, ebnf-ebx-initialize): Autoload funs from ebnf-ebx. | ||
| 21439 | |||
| 21440 | * printing.el: Doc fix. | ||
| 21441 | (pr-version): New version number (6.7.3). | ||
| 21442 | (pr-menu-position): Adjust X and Y positions when mouse-pixel-position | ||
| 21443 | returns nil for mouse position. Reported by Drew Adams | ||
| 21444 | <drew.adams@oracle.com>. | ||
| 21445 | (pr-update-menus): Modify interactive declaration. Reported by Drew | ||
| 21446 | Adams <drew.adams@oracle.com>. | ||
| 21447 | |||
| 21448 | 2004-03-28 Nick Roberts <nick@nick.uklinux.net> | ||
| 21449 | |||
| 21450 | * progmodes/gdb-ui.el (gdb-ann3, gdb-send-item) | ||
| 21451 | (gud-gdba-marker-filter): Log the process input and output, if | ||
| 21452 | required. From Stefan Monnier. | ||
| 21453 | (gdb-debug-log, gdb-enable-debug-log): New variables. | ||
| 21454 | (gdb-post-prompt): Don't do gdb-var-update on Mac OS X. | ||
| 21455 | |||
| 21456 | 2004-03-28 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 21457 | |||
| 21458 | * vc-hooks.el (vc-file-not-found-hook): Fix typo. | ||
| 21459 | From lorentey@elte.hu (L$,1 q(Brentey K,Aa(Broly). | ||
| 21460 | |||
| 21461 | 2004-03-27 Luc Teirlinck <teirllm@auburn.edu> | ||
| 21462 | |||
| 21463 | * autorevert.el (auto-revert-handler): Handle auto-revert-mode. | ||
| 21464 | Call vc-find-file-hook here instead of in auto-revert-buffers. | ||
| 21465 | (auto-revert-buffers): Delete call to vc-find-file-hook. | ||
| 21466 | (auto-revert-verbose, global-auto-revert-non-file-buffers) | ||
| 21467 | (global-auto-revert-mode, auto-revert-set-timer) | ||
| 21468 | (auto-revert-handler, auto-revert-buffers): Doc fixes. | ||
| 21469 | |||
| 21470 | 2004-03-27 Francis J. Wright <F.J.Wright@qmul.ac.uk> | ||
| 21471 | |||
| 21472 | * woman.el (woman-change-fonts): Rename local variable | ||
| 21473 | woman-font-alist to font-alist to avoid a compiler warning. | ||
| 21474 | |||
| 21475 | 2004-03-27 Dave Love <fx@gnu.org> | ||
| 21476 | |||
| 21477 | * emacs-lisp/rx.el (rx): Doc fix. | ||
| 21478 | Fix copyright years. | ||
| 21479 | |||
| 21480 | * strokes.el (strokes-global-set-stroke-string): New function. | ||
| 21481 | (strokes-list-strokes): Cope with strings, not just commands. | ||
| 21482 | Set foreground color of image. | ||
| 21483 | (strokes-global-set-stroke): Doc fix. | ||
| 21484 | |||
| 21485 | 2004-03-26 Luc Teirlinck <teirllm@auburn.edu> | ||
| 21486 | |||
| 21487 | * buff-menu.el (Buffer-menu-revert-function): Make it suitable for | ||
| 21488 | Auto Revert mode. | ||
| 21489 | (Buffer-menu-files-only): New variable. | ||
| 21490 | (Buffer-menu-toggle-files-only): New function. | ||
| 21491 | (Buffer-menu-mode-map): Bind it to `T'. | ||
| 21492 | (Buffer-menu-mode): Mention `T' in docstring. | ||
| 21493 | Set buffer-stale-function. | ||
| 21494 | (list-buffers-noselect): Mark buffer non-modified and set | ||
| 21495 | Buffer-menu-files-only. | ||
| 21496 | |||
| 21497 | * dired.el (buffer-stale-function): Remove no longer needed defvar. | ||
| 21498 | |||
| 21499 | * autorevert.el (auto-revert-handler): Print revert message | ||
| 21500 | before, rather than after, reverting. | ||
| 21501 | (buffer-stale-function): Move to files.el. | ||
| 21502 | |||
| 21503 | * files.el (buffer-stale-function): Move here from autorevert.el. | ||
| 21504 | |||
| 21505 | 2004-03-26 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 21506 | |||
| 21507 | * vc.el (vc-maybe-resolve-conflicts): Don't prompt the user. | ||
| 21508 | |||
| 21509 | * calc/calc.el (calc-mode-map): Use mapc. | ||
| 21510 | |||
| 21511 | * apropos.el (apropos-mode): Don't autoload. | ||
| 21512 | (apropos-symbols-internal): New fun. Extracted from `apropos'. | ||
| 21513 | (apropos): Use it. | ||
| 21514 | (apropos-print): Add optional `text' argument. | ||
| 21515 | (apropos-describe-plist): Use help-buffer and hexlp-setup-xref. | ||
| 21516 | Don't assume point-min == 1. | ||
| 21517 | |||
| 21518 | * bs.el (bs-buffer-list): Use buffer-local-value. | ||
| 21519 | (bs--set-toggle-to-show): Use with-current-buffer. | ||
| 21520 | |||
| 21521 | * buff-menu.el (Buffer-menu-sort, Buffer-menu-make-sort-button): | ||
| 21522 | New funs. | ||
| 21523 | (list-buffers-noselect): Use them. Adjust :align-to to new style. | ||
| 21524 | |||
| 21525 | * cvs-status.el (cvs-tree-use-jisx0208): Use char-displayable-p. | ||
| 21526 | |||
| 21527 | * dabbrev.el (dabbrev-expand): Fix regexp construction. | ||
| 21528 | (dabbrev--find-expansion): Use pop. | ||
| 21529 | (dabbrev--search): Use match-string-no-properties. | ||
| 21530 | |||
| 21531 | * dired.el (dired-mode): Use run-mode-hooks. | ||
| 21532 | (dired-move-to-end-of-filename): Use match-string. | ||
| 21533 | |||
| 21534 | * ediff-init.el (ediff-hide-face): Check that facemenu-unlisted-faces | ||
| 21535 | is bound before using it. | ||
| 21536 | (ediff-verbose-p): Make it into a var since it's not constant. | ||
| 21537 | |||
| 21538 | * electric.el (Electric-pop-up-window): Avoid popping up a new frame. | ||
| 21539 | |||
| 21540 | * faces.el (read-face-font): Don't cons up unnecessarily. | ||
| 21541 | (header-line, tool-bar): Share common parts. | ||
| 21542 | |||
| 21543 | * files.el (file-relative-name): Use compare-strings. | ||
| 21544 | |||
| 21545 | * finder.el (finder-mode): Follow coding convention. | ||
| 21546 | |||
| 21547 | * subr.el (read-number): New function. | ||
| 21548 | |||
| 21549 | * ses.el (ses-read-number): Move to subr.el. | ||
| 21550 | (ses-set-header-row): Use read-number. | ||
| 21551 | |||
| 21552 | 2004-03-26 Andre Spiegel <spiegel@gnu.org> | ||
| 21553 | |||
| 21554 | * vc-hooks.el (vc-arg-list): New function, which handles both | ||
| 21555 | compiled and uncompiled code. | ||
| 21556 | (vc-default-workfile-unchanged-p): Use it. | ||
| 21557 | |||
| 21558 | * vc.el (vc-print-log): Undo prev change, use new function | ||
| 21559 | vc-arg-list from vc-hooks.el. | ||
| 21560 | |||
| 21561 | 2004-03-26 Masatake YAMATO <jet@gyve.org> | ||
| 21562 | |||
| 21563 | * simple.el (completion-setup-function): Emphasize the | ||
| 21564 | first uncommon characters in the completions; and de-emphasize | ||
| 21565 | the common prefix substrings. | ||
| 21566 | (completion-emphasis): New face. | ||
| 21567 | (completion-de-emphasis): New face. | ||
| 21568 | |||
| 21569 | 2004-03-25 Juanma Barranquero <lektu@terra.es> | ||
| 21570 | |||
| 21571 | * progmodes/cperl-mode.el (cperl-indent-alist, cperl-where-am-i): | ||
| 21572 | Comment out (it's unused and unfinished code). | ||
| 21573 | |||
| 21574 | 2004-03-25 Sam Steingold <sds@gnu.org> | ||
| 21575 | |||
| 21576 | * vc.el (vc-print-log): Fix a bug in the last patch: | ||
| 21577 | backend-function may be a byte-compiled object, not a lambda. | ||
| 21578 | |||
| 21579 | 2004-03-25 Juri Linkov <juri@jurta.org> | ||
| 21580 | |||
| 21581 | * descr-text.el (describe-property-list): Add a button | ||
| 21582 | for `face' property that calls `describe-face'. | ||
| 21583 | Suggested by Luis Fernandes <elf@ee.ryerson.ca> | ||
| 21584 | |||
| 21585 | * international/mule.el (keyboard-coding-system): | ||
| 21586 | * kmacro.el (kmacro-call-macro): Fix docstring. | ||
| 21587 | |||
| 21588 | * dired.el: Fix comments. | ||
| 21589 | |||
| 21590 | * textmodes/fill.el (fill): Fix Info link. | ||
| 21591 | |||
| 21592 | * font-lock.el (fast-lock, lazy-lock): | ||
| 21593 | * jit-lock.el (jit-lock): Remove links to removed Support Modes | ||
| 21594 | Info node. | ||
| 21595 | |||
| 21596 | * eshell/eshell.el (eshell): Fix broken info-link. | ||
| 21597 | |||
| 21598 | * eshell/em-alias.el (eshell-alias, eshell-bad-command-tolerance): | ||
| 21599 | * eshell/em-banner.el (eshell-banner): | ||
| 21600 | * eshell/em-smart.el (eshell-smart): | ||
| 21601 | * eshell/esh-cmd.el (eshell-cmd): | ||
| 21602 | Comment out broken info-links to incomplete Info manual. | ||
| 21603 | |||
| 21604 | * info-xref.el: Fix commentary. | ||
| 21605 | |||
| 21606 | 2004-03-25 Kevin Ryde <user42@zip.com.au> | ||
| 21607 | |||
| 21608 | * info-xref.el (info-xref-check-buffer): Report empty filename parts. | ||
| 21609 | Remove spurious node duplicate suppression, doesn't work, not wanted. | ||
| 21610 | (info-xref-output): Take format style args, add "sit-for 0" to let | ||
| 21611 | user see the results as they progress. | ||
| 21612 | (info-xref-check-all-custom): New function. | ||
| 21613 | |||
| 21614 | 2004-03-25 Nick Roberts <nick@nick.uklinux.net> | ||
| 21615 | |||
| 21616 | * gdb-ui.el: Moved to progmodes. | ||
| 21617 | |||
| 21618 | 2004-03-24 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 21619 | |||
| 21620 | * diff-mode.el (diff-font-lock-keywords): Disable yank-handler. | ||
| 21621 | |||
| 21622 | 2004-03-24 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 21623 | |||
| 21624 | * calendar/appt.el (appt-check): Remove superfluous progn. | ||
| 21625 | When finished with diary buffer: if it was not being displayed | ||
| 21626 | before, kill it; otherwise restore its original state. | ||
| 21627 | Suggested by Matthew Mundell <matt@mundell.ukfsn.org>. | ||
| 21628 | |||
| 21629 | * calendar/calendar.el (calendar-set-mode-line): Use total | ||
| 21630 | available mode-line width, rather than frame-width. | ||
| 21631 | |||
| 21632 | * calendar/diary-lib.el (fancy-diary-display): Set mode-line | ||
| 21633 | after mode change so effect not lost. | ||
| 21634 | |||
| 21635 | 2004-03-23 Dave Love <fx@gnu.org> | ||
| 21636 | |||
| 21637 | * dired.el (dired) <defgroup>: Add link to manual. | ||
| 21638 | (dired-font-lock-keywords): Add highlighting on unusual permissions. | ||
| 21639 | (dired-revert): Use dolist. | ||
| 21640 | (dired-mode-map): Add U binding. | ||
| 21641 | (dired-mode): Add font-lock-beginning-of-syntax-function. | ||
| 21642 | (dired-garbage-files-regexp): Make it a defcustom. | ||
| 21643 | |||
| 21644 | 2004-03-23 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 21645 | |||
| 21646 | * vc-arch.el (vc-arch-diff): Handle the special case where `newvers' | ||
| 21647 | is equivalent to nil. | ||
| 21648 | (vc-arch-diff3-rej-p): Be a bit more flexible in what we accept. | ||
| 21649 | (vc-arch-mode-line-string): Accept `added' state. | ||
| 21650 | (vc-arch-state): Use inode-sigs if available. | ||
| 21651 | (vc-arch-add-tagline): Rename from vc-arch-add-tag. | ||
| 21652 | Copy&delete existing id file if any. Fallback if uuidgen is absent. | ||
| 21653 | (vc-arch-tagline-re): New var. | ||
| 21654 | (vc-arch-file-source-p, vc-arch-file-id, vc-arch-tagging-method): | ||
| 21655 | New functions. | ||
| 21656 | (vc-arch-find-file-not-found-hook, vc-arch-register): New backend ops. | ||
| 21657 | (vc-arch-registered): Try our best guess using vc-arch-file-source-p. | ||
| 21658 | |||
| 21659 | * vc-hooks.el (vc-default-find-file-not-found-hook): New fun. | ||
| 21660 | (vc-file-not-found-hook): Use it. | ||
| 21661 | |||
| 21662 | * diff-mode.el (diff-default-read-only): Change default. | ||
| 21663 | (diff-mode-hook): Make it a defcustom. Add some options. | ||
| 21664 | (diff-mode-map): Bind diff-refine-hook. | ||
| 21665 | (diff-yank-handler): New var. | ||
| 21666 | (diff-yank-function): New fun. | ||
| 21667 | (diff-font-lock-keywords): Use them. | ||
| 21668 | (diff-end-of-file): Handle case where file-header looks like diff text. | ||
| 21669 | (diff-hunk-kill): Adjust to "new" hunk-next behavior. | ||
| 21670 | (diff-file-kill): Delete a subsequent empty line, if applicable. | ||
| 21671 | (diff-hunk-file-names): New fun, extracted from diff-tell-file-name. | ||
| 21672 | (diff-find-file-name): Use it. | ||
| 21673 | (diff-tell-file-name): New command. | ||
| 21674 | (diff-mode): Be careful with view-mode. | ||
| 21675 | (diff-delete-if-empty, diff-delete-empty-files, diff-make-unified): | ||
| 21676 | New functions, for use in diff-mode-hook. | ||
| 21677 | (diff-find-source-location): Catch "regex too large" errors. | ||
| 21678 | (diff-apply-hunk, diff-test-hunk): Go to old or new file. | ||
| 21679 | (diff-refine-hunk): New command. | ||
| 21680 | |||
| 21681 | * smerge-mode.el (smerge-mode-menu): Fix activate pred for resolve. | ||
| 21682 | (smerge-context-menu-map): Remove unused var. | ||
| 21683 | (smerge-keep-all): Preserve markers. | ||
| 21684 | (smerge-keep-n): New fun. | ||
| 21685 | (smerge-keep-base, smerge-keep-other, smerge-keep-mine) | ||
| 21686 | (smerge-keep-current, smerge-ediff): Use it. | ||
| 21687 | (smerge-kill-current): Use it. Make it work on some 3-part conflicts. | ||
| 21688 | (smerge-popup-context-menu): Also use context-menu on 3-part conflicts. | ||
| 21689 | (smerge-resolve): Resolve trivial 3-part conflicts. | ||
| 21690 | |||
| 21691 | 2004-03-23 Juri Linkov <juri@jurta.org> | ||
| 21692 | |||
| 21693 | * man.el (Man-width): New var. | ||
| 21694 | (Man-getpage-in-background): Use it. | ||
| 21695 | (Man-support-local-filenames): New var and fun. | ||
| 21696 | (Man-build-man-command): Don't add a second %s. | ||
| 21697 | (Man-fontify-manpage): Clean up message. | ||
| 21698 | (Man-mode): Set outline-regexp, outline-level, | ||
| 21699 | imenu-generic-expression. | ||
| 21700 | |||
| 21701 | * woman.el (woman-fill-frame): Doc fix. | ||
| 21702 | (woman-decode-region): Use window-width instead of frame-width. | ||
| 21703 | |||
| 21704 | * abbrevlist.el (list-one-abbrev-table): | ||
| 21705 | * descr-text.el (describe-char): | ||
| 21706 | * international/mule-diag.el (describe-current-coding-system): | ||
| 21707 | * international/quail.el (quail-insert-decode-map): | ||
| 21708 | Use window-width instead of frame-width. | ||
| 21709 | |||
| 21710 | * jka-compr.el (jka-compr-compression-info-list): Add tbz and dz. | ||
| 21711 | (jka-compr-mode-alist-additions): Add tbz. | ||
| 21712 | (jka-compr-write-region, jka-compr-insert-file-contents): | ||
| 21713 | Add message for undefined compress-program. | ||
| 21714 | (jka-compr-write-region): Remove redundant var bindings. | ||
| 21715 | |||
| 21716 | * dired-x.el (dired-guess-shell-alist-default): Add choices for | ||
| 21717 | extracting files into subdirectory. Add tbz and dz. Fix regexps. | ||
| 21718 | Add extensions .[0-9] for man and nroff, and .pod for perldoc. | ||
| 21719 | (dired-man): Use dired-guess-shell-command. | ||
| 21720 | (dired-guess-shell-case-fold-search): Change defvar to defcustom. | ||
| 21721 | Change default nil to t. | ||
| 21722 | |||
| 21723 | * dired-aux.el (dired-compress-file-suffixes): Add dz and tbz. | ||
| 21724 | (dired-compare-directories): Add default value for empty input. | ||
| 21725 | |||
| 21726 | * help-at-pt.el: Move suggestions for key bindings to Commentary. | ||
| 21727 | |||
| 21728 | * time.el (display-time-string-forms): Fix help-echo date format. | ||
| 21729 | |||
| 21730 | 2004-03-22 Luc Teirlinck <teirllm@auburn.edu> | ||
| 21731 | |||
| 21732 | * autorevert.el (global-auto-revert-non-file-buffers): Expand | ||
| 21733 | docstring. | ||
| 21734 | (buffer-stale-function): New variable. | ||
| 21735 | (auto-revert-list-diff, auto-revert-dired-file-list) | ||
| 21736 | (auto-revert-dired-changed-p, auto-revert-buffer-p): Delete. | ||
| 21737 | (auto-revert-handler): Take over some functionality of deleted | ||
| 21738 | functions. | ||
| 21739 | (auto-revert-buffers): Delete call to auto-revert-buffer-p. | ||
| 21740 | |||
| 21741 | * dired.el (dired-directory-changed-p): New fun, extracted from | ||
| 21742 | dired-internal-noselect. | ||
| 21743 | (dired-buffer-stale-p): New fun. | ||
| 21744 | (dired-internal-noselect): Use dired-directory-changed-p. | ||
| 21745 | Eliminate revert messages. | ||
| 21746 | (dired-mode): Set buffer-stale-function to dired-buffer-stale-p. | ||
| 21747 | |||
| 21748 | 2004-03-23 Kenichi Handa <handa@m17n.org> | ||
| 21749 | |||
| 21750 | * international/characters.el: Setup syntaxes for more parentheses | ||
| 21751 | Unicode characters. | ||
| 21752 | |||
| 21753 | * international/mule-cmds.el (select-safe-coding-system): | ||
| 21754 | Merge coding-system and auto-cs before comparing them. | ||
| 21755 | |||
| 21756 | 2004-03-22 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 21757 | |||
| 21758 | * emacs-lisp/pp.el (pp-eval-expression): Simplify. | ||
| 21759 | |||
| 21760 | * emacs-lisp/lisp-mode.el (lisp-mode-variables): Don't set | ||
| 21761 | normal-auto-fill-function and comment-indent-function. | ||
| 21762 | The default values now work just as well. | ||
| 21763 | Don't set font-lock-beginning-of-syntax-function since we already set | ||
| 21764 | syntax-begin-function. | ||
| 21765 | (lisp-outline-level): Put ;;;###autoload at same level as (. | ||
| 21766 | (prin1-char): Quote special chars. | ||
| 21767 | |||
| 21768 | * emacs-lisp/lisp-mnt.el (lm-keywords-finder-p): Use defvar rather | ||
| 21769 | than with-no-warnings. | ||
| 21770 | |||
| 21771 | * emacs-lisp/edebug.el (edebug-display): Bring up a debug trace | ||
| 21772 | if the source location can't be found. | ||
| 21773 | (edebug-compute-previous-result): Use prin1-char. | ||
| 21774 | |||
| 21775 | * emacs-lisp/checkdoc.el (checkdoc-error): Don't assume point-min == 1. | ||
| 21776 | (debug-ignored-errors): Add an entry. | ||
| 21777 | |||
| 21778 | * emacs-lisp/bytecomp.el (byte-recompile-directory): Ignore hidden dir. | ||
| 21779 | (byte-compile-file): Output warning when deleting a file. | ||
| 21780 | |||
| 21781 | * emacs-lisp/byte-run.el (defsubst): Add edebug spec and use backquote. | ||
| 21782 | (dont-compile, eval-when-compile, eval-and-compile): Add edebug spec. | ||
| 21783 | |||
| 21784 | * emacs-lisp/byte-opt.el (byte-compile-log-lap) | ||
| 21785 | (byte-compile-inline-expand): Use backquote. | ||
| 21786 | (byte-optimize-pure-func): Rename from byte-optimize-concat. | ||
| 21787 | (symbol-name, regexp-opt, regexp-quote): Mark as pure. | ||
| 21788 | |||
| 21789 | * emacs-lisp/backquote.el (backquote-list*-macro): Use nreverse. | ||
| 21790 | |||
| 21791 | * emacs-lisp/advice.el (ad-subr-arglist): Simplify. | ||
| 21792 | |||
| 21793 | 2004-03-22 Juri Linkov <juri@jurta.org> | ||
| 21794 | |||
| 21795 | * finder.el (finder-known-keywords): Fix data, tex, unix. | ||
| 21796 | |||
| 21797 | * play/landmark.el: Fix keywords. | ||
| 21798 | |||
| 21799 | * language/ethio-util.el (ethio-find-file): Doc fix. | ||
| 21800 | |||
| 21801 | * emacs-lisp/warnings.el: Doc fix. | ||
| 21802 | |||
| 21803 | * textmodes/ispell.el (ispell-help): Doc fix. | ||
| 21804 | |||
| 21805 | 2004-03-21 Luc Teirlinck <teirllm@auburn.edu> | ||
| 21806 | |||
| 21807 | * format.el (format-insert-file): Always return a list of two | ||
| 21808 | elements, like insert-file-contents does. | ||
| 21809 | |||
| 21810 | 2004-03-21 Andre Spiegel <spiegel@gnu.org> | ||
| 21811 | |||
| 21812 | * vc.el: Add new optional BUFFER argument to vc-BACKEND-print-log | ||
| 21813 | and vc-BACKEND-diff. | ||
| 21814 | (vc-print-log): If the print-log implementation supports it, use | ||
| 21815 | the new BUFFER argument to direct output to *vc-change-log*, not *vc*. | ||
| 21816 | (vc-version-diff, vc-diff-internal): Doc fixes. | ||
| 21817 | |||
| 21818 | * vc-hooks.el (vc-default-workfile-unchanged-p): If the | ||
| 21819 | implementation supports it, let diff output go to *vc*, | ||
| 21820 | not *vc-diff*, since this is an internal call. | ||
| 21821 | |||
| 21822 | * vc-cvs.el (vc-cvs-print-log, vc-cvs-diff): Add optional BUFFER arg. | ||
| 21823 | |||
| 21824 | * vc-rcs.el (vc-rcs-print-log, vc-rcs-diff): Likewise. | ||
| 21825 | |||
| 21826 | * vc-sccs.el (vc-sccs-print-log, vc-sccs-diff): Likewise. | ||
| 21827 | |||
| 21828 | 2004-03-21 Dave Love <fx@gnu.org> | ||
| 21829 | |||
| 21830 | * progmodes/cfengine.el (cfengine-mode): | ||
| 21831 | Set parse-sexp-ignore-comments. | ||
| 21832 | |||
| 21833 | * emacs-lisp/rx.el (rx): Work at compile time, not run time. | ||
| 21834 | |||
| 21835 | 2004-03-21 Juanma Barranquero <lektu@terra.es> | ||
| 21836 | |||
| 21837 | * allout.el (allout-mode): Fix docstring. | ||
| 21838 | |||
| 21839 | 2004-03-20 Luc Teirlinck <teirllm@auburn.edu> | ||
| 21840 | |||
| 21841 | * files.el (insert-directory): Fix bug if SWITCHES is a list. | ||
| 21842 | |||
| 21843 | * autorevert.el (auto-revert-interval): Make new value take | ||
| 21844 | effect immediately when set through Custom. | ||
| 21845 | (auto-revert-set-timer): Add interactive declaration. | ||
| 21846 | |||
| 21847 | 2004-03-19 David Ponce <david@dponce.com> | ||
| 21848 | |||
| 21849 | * ruler-mode.el (ruler-mode-header-line-format-old): | ||
| 21850 | Don't `make-variable-buffer-local'. | ||
| 21851 | (ruler-mode-ruler-function): Default to `ruler-mode-ruler'. | ||
| 21852 | (ruler-mode-header-line-format): Simply funcall the above. | ||
| 21853 | (ruler-mode): Use `make-local-variable' and `kill-local-variable' | ||
| 21854 | to save/restore a previous header line format. | ||
| 21855 | (ruler-mode-space): Don't depend on a numeric WIDTH value. | ||
| 21856 | (ruler-mode-ruler): Use symbolic display elements for scrollbar, | ||
| 21857 | fringes and margins width. | ||
| 21858 | (ruler-mode-ruler-function): Default to ruler-mode-ruler. | ||
| 21859 | |||
| 21860 | 2004-03-18 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 21861 | |||
| 21862 | * log-edit.el (log-edit-font-lock-keywords): Typo. | ||
| 21863 | |||
| 21864 | * textmodes/tex-mode.el (tex-shell): Set error parsing function here. | ||
| 21865 | (tex-send-tex-command): Rather than here. | ||
| 21866 | (tex-compilation-parse-errors): Simplify. | ||
| 21867 | |||
| 21868 | * info.el (Info-default-dirs): Don't ignore last part of I-d-d-l. | ||
| 21869 | |||
| 21870 | * time.el (display-time-string-forms): Add help-echo with date on time. | ||
| 21871 | |||
| 21872 | * composite.el (compose-region): Use restore-buffer-modified-p. | ||
| 21873 | |||
| 21874 | * disp-table.el (standard-display-8bit): Simplify. | ||
| 21875 | |||
| 21876 | * server.el (server-process-filter): Delete temp frame. | ||
| 21877 | |||
| 21878 | * add-log.el (add-change-log-entry): Simplify. | ||
| 21879 | |||
| 21880 | 2004-03-19 Kim F. Storm <storm@cua.dk> | ||
| 21881 | |||
| 21882 | * hexl.el (hexl-mode-ruler): Adapt to new :align-to semantics. | ||
| 21883 | (hexl-follow-line): Don't require 'fringe. | ||
| 21884 | |||
| 21885 | * progmodes/compile.el (compilation-start): Always set | ||
| 21886 | compilation-last-buffer and return it. | ||
| 21887 | |||
| 21888 | 2004-03-17 Luc Teirlinck <teirllm@auburn.edu> | ||
| 21889 | |||
| 21890 | * simple.el (clone-buffer): Doc fix. | ||
| 21891 | |||
| 21892 | 2004-03-18 Juanma Barranquero <lektu@terra.es> | ||
| 21893 | |||
| 21894 | * emacs-lisp/byte-run.el (make-obsolete-variable): Fix docstring. | ||
| 21895 | |||
| 21896 | 2004-03-17 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 21897 | |||
| 21898 | * log-edit.el (log-edit-font-lock-keywords): New var. | ||
| 21899 | (log-edit-mode): Use it. | ||
| 21900 | |||
| 21901 | 2004-03-17 Nick Roberts <nick@nick.uklinux.net> | ||
| 21902 | |||
| 21903 | * gdb-ui.el (gdb-var-list-children-handler): Handle C++ classes | ||
| 21904 | properly for watching in speedbar. | ||
| 21905 | |||
| 21906 | 2004-03-17 Masatake YAMATO <jet@gyve.org> | ||
| 21907 | |||
| 21908 | * smerge-mode.el (smerge-popup-context-menu): | ||
| 21909 | Put `unwind-protect' around `overlay-put' and `popup-menu'. | ||
| 21910 | |||
| 21911 | 2004-03-16 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 21912 | |||
| 21913 | * vc-arch.el (vc-arch-workfile-unchanged-p): Define to avoid dup-diff. | ||
| 21914 | (vc-arch-workfile-version, vc-arch-mode-line-rewrite): | ||
| 21915 | Take sealed revisions into account. | ||
| 21916 | (vc-arch-checkin): Extract a summary line from the message. | ||
| 21917 | |||
| 21918 | 2004-03-16 Masatake YAMATO <jet@gyve.org> | ||
| 21919 | |||
| 21920 | * register.el (register): Provide `register' feature. | ||
| 21921 | |||
| 21922 | 2004-03-15 Masatake YAMATO <jet@gyve.org> | ||
| 21923 | |||
| 21924 | Added context menu support in smerge mode. | ||
| 21925 | Most of the part is written by Stefan Monnier. | ||
| 21926 | |||
| 21927 | * smerge-mode.el (smerge-context-menu-map, smerge-context-menu): | ||
| 21928 | New keymap and menu. | ||
| 21929 | (smerge-text-properties): New function. | ||
| 21930 | (smerge-remove-props): New function. | ||
| 21931 | (smerge-popup-context-menu): New function. | ||
| 21932 | (smerge-resolve): Call `smerge-remove-props'. | ||
| 21933 | (smerge-keep-base, smerge-keep-other, smerge-keep-mine): Ditto. | ||
| 21934 | (smerge-keep-current): Ditto. | ||
| 21935 | (smerge-kill-current): New function. | ||
| 21936 | (smerge-match-conflict): Put text properties. | ||
| 21937 | Detect the file as `same-diff conflict' if the filename is "ANCESTOR". | ||
| 21938 | |||
| 21939 | 2004-03-15 David Ponce <david@dponce.com> | ||
| 21940 | |||
| 21941 | * ruler-mode.el (ruler-mode-left-fringe-cols) | ||
| 21942 | (ruler-mode-right-fringe-cols, ruler-mode-left-scroll-bar-cols) | ||
| 21943 | (ruler-mode-right-scroll-bar-cols): Remove. | ||
| 21944 | (ruler-mode-window-col, ruler-mode-mouse-set-left-margin) | ||
| 21945 | (ruler-mode-mouse-set-right-margin, ruler-mode-ruler): | ||
| 21946 | Use fringe-columns and scroll-bar-columns. | ||
| 21947 | |||
| 21948 | 2004-03-15 Masatake YAMATO <jet@gyve.org> | ||
| 21949 | |||
| 21950 | * hl-line.el (hl-line-range-function): New variable. | ||
| 21951 | (hl-line-move): New function. | ||
| 21952 | (global-hl-line-highlight): Use `hl-line-move'. | ||
| 21953 | (hl-line-highlight): Ditto. | ||
| 21954 | |||
| 21955 | * scroll-bar.el (scroll-bar-columns): | ||
| 21956 | * fringe.el (fringe-columns): New function derived from ruler-mode.el. | ||
| 21957 | |||
| 21958 | * ruler-mode.el (top-level): Require scroll-bar and fringe. | ||
| 21959 | (ruler-mode-left-fringe-cols) | ||
| 21960 | (ruler-mode-right-fringe-cols): Use `fringe-columns'. | ||
| 21961 | (ruler-mode-right-scroll-bar-cols) | ||
| 21962 | (ruler-mode-left-scroll-bar-cols): Use `scroll-bar-columns'. | ||
| 21963 | (ruler-mode-ruler-function): New variable. | ||
| 21964 | (ruler-mode-header-line-format): Call `ruler-mode-ruler-function' | ||
| 21965 | if the value for `ruler-mode-ruler-function' is given. | ||
| 21966 | |||
| 21967 | * hexl.el (hexl-mode-hook): Make the hook customizable. | ||
| 21968 | (hexl-address-area, hexl-ascii-area): New customize variables. | ||
| 21969 | (hexlify-buffer): Put font-lock-faces on the address area and | ||
| 21970 | the ascii area. | ||
| 21971 | (hexl-activate-ruler): New function. | ||
| 21972 | (hexl-follow-line): New function. | ||
| 21973 | (hexl-highlight-line-range): New function. | ||
| 21974 | (hexl-mode-ruler): New function. | ||
| 21975 | |||
| 21976 | 2004-03-14 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 21977 | |||
| 21978 | * vc-hooks.el (vc-handled-backends): Add Arch. Move MCVS down. | ||
| 21979 | (vc-default-find-file-hook): New fun. | ||
| 21980 | (vc-find-file-hook): Call new find-file-hook operation. | ||
| 21981 | |||
| 21982 | * vc-arch.el: New file. | ||
| 21983 | |||
| 21984 | 2004-03-12 Jesper Harder <harder@ifa.au.dk> | ||
| 21985 | |||
| 21986 | * info-look.el (info-lookup): Reuse an existing Info window. | ||
| 21987 | |||
| 21988 | 2004-03-12 Francis J. Wright <F.J.Wright@qmul.ac.uk> | ||
| 21989 | |||
| 21990 | * woman.el (woman-preserve-ascii): Default value changed to t and | ||
| 21991 | doc string revised. | ||
| 21992 | |||
| 21993 | 2004-03-12 Richard M. Stallman <rms@gnu.org> | ||
| 21994 | |||
| 21995 | * pcvs.el (cvs-mode-add-change-log-entry-other-window): | ||
| 21996 | Fix minor bug. | ||
| 21997 | |||
| 21998 | * replace.el (occur-engine): Change message for count of matches. | ||
| 21999 | |||
| 22000 | * emacs-lisp/bytecomp.el (byte-compile-get-constant): | ||
| 22001 | For strings, do compare text properties. | ||
| 22002 | |||
| 22003 | 2004-03-11 Daniel Pfeiffer <occitan@esperanto.org> | ||
| 22004 | |||
| 22005 | * progmodes/compile.el (compile-auto-highlight) | ||
| 22006 | (compilation-error-list, compilation-old-error-list) | ||
| 22007 | (compilation-parse-errors-function, compilation-parsing-end) | ||
| 22008 | (compilation-error-message, compilation-directory-stack) | ||
| 22009 | (compilation-enter-directory-regexp-alist) | ||
| 22010 | (compilation-leave-directory-regexp-alist) | ||
| 22011 | (compilation-file-regexp-alist, compilation-nomessage-regexp-alist) | ||
| 22012 | (compilation-current-file, compilation-regexps): Remove vars. | ||
| 22013 | |||
| 22014 | (compile-error-at-point, compilation-error-filedata) | ||
| 22015 | (compilation-error-filedata-file-name, compile-reinitialize-errors) | ||
| 22016 | (compilation-next-error-locus, compilation-forget-errors) | ||
| 22017 | (count-regexp-groupings, compilation-parse-errors) | ||
| 22018 | (compile-collect-regexps, compile-buffer-substring): Remove funs. | ||
| 22019 | |||
| 22020 | (compile-internal): Make obsolete. | ||
| 22021 | |||
| 22022 | (compilation-first-column, compilation-error) | ||
| 22023 | (compilation-directory-matcher, compilation-page-delimiter) | ||
| 22024 | (compilation-mode-font-lock-keywords, compilation-debug) | ||
| 22025 | (compilation-error-face, compilation-warning-face) | ||
| 22026 | (compilation-info-face, compilation-line-face) | ||
| 22027 | (compilation-column-face, compilation-enter-directory-face) | ||
| 22028 | (compilation-leave-directory-face, compilation-skip-threshold) | ||
| 22029 | (compilation-skip-visited, compilation-context-lines): New vars. | ||
| 22030 | |||
| 22031 | (compilation-warning-face, compilation-info-face) | ||
| 22032 | (compilation-message-face): New faces. | ||
| 22033 | |||
| 22034 | (compilation-error-regexp-alist-alist): New constant. | ||
| 22035 | |||
| 22036 | (compilation-face, compilation-directory-properties) | ||
| 22037 | (compilation-assq, compilation-error-properties, compilation-start) | ||
| 22038 | (define-compilation-mode, compilation-loop) | ||
| 22039 | (compilation-set-window): New functions. | ||
| 22040 | |||
| 22041 | (compile): Additional argument for interactive compiles like TeX. | ||
| 22042 | |||
| 22043 | * progmodes/grep.el (kill-grep): Move here from compile.el | ||
| 22044 | (grep-error, grep-hit-face, grep-error-face) | ||
| 22045 | (grep-mode-font-lock-keywords): New variables. | ||
| 22046 | (grep-regexp-alist): Simplify regexp and add `binary' case. | ||
| 22047 | (grep-mode): New mode. | ||
| 22048 | (grep-process-setup): Simplify. | ||
| 22049 | |||
| 22050 | 2004-03-11 Jason Rumney <jasonr@gnu.org> | ||
| 22051 | |||
| 22052 | * net/ldap.el (ldap-search-internal): Handle file URLs with drive | ||
| 22053 | letters on DOS/Windows. | ||
| 22054 | |||
| 22055 | 2004-03-11 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 22056 | |||
| 22057 | * server.el (server-name): New var. | ||
| 22058 | (server-socket-dir): New var to replace server-socket-name. | ||
| 22059 | (server-start): Use them. | ||
| 22060 | |||
| 22061 | 2004-03-11 Simon Josefsson <jas@extundo.com> | ||
| 22062 | |||
| 22063 | * mail/smtpmail.el (smtpmail-read-response): Abort if process has | ||
| 22064 | died to avoid infloop. Reported by Jonathan Glauner | ||
| 22065 | <jglauner@sbum.org>. | ||
| 22066 | |||
| 22067 | 2004-03-10 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 22068 | |||
| 22069 | * smerge-mode.el (smerge-check-cache, smerge-check): New var and fun. | ||
| 22070 | (smerge-mode-menu): Use it to deactivate menu entries. | ||
| 22071 | (smerge-keep-current): New fun. | ||
| 22072 | (smerge-keep-current): Use it. | ||
| 22073 | |||
| 22074 | 2004-03-10 John Paul Wallington <jpw@gnu.org> | ||
| 22075 | |||
| 22076 | * foldout.el (foldout-fold-list, foldout-modeline-string): | ||
| 22077 | Declare them as variables, not constants. | ||
| 22078 | |||
| 22079 | 2004-03-10 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 22080 | |||
| 22081 | * ps-print.el: Modification to print *Messages* buffer. | ||
| 22082 | (ps-print-version): New version 6.6.4. | ||
| 22083 | (ps-message-log-max): New fun. | ||
| 22084 | (ps-spool-without-faces, ps-spool-with-faces) | ||
| 22085 | (ps-count-lines-preprint): Code fix. | ||
| 22086 | |||
| 22087 | * printing.el: New tips in Tips section. | ||
| 22088 | |||
| 22089 | 2004-03-09 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 22090 | |||
| 22091 | * delim-col.el: Doc fix. | ||
| 22092 | |||
| 22093 | * printing.el: Doc fix. New doc section (Tips). | ||
| 22094 | |||
| 22095 | 2004-03-09 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 22096 | |||
| 22097 | * type-break.el (type-break-emacs-variant): Remove. | ||
| 22098 | (type-break-run-at-time, type-break-cancel-function-timers): | ||
| 22099 | Use fboundp rather than version name and number. | ||
| 22100 | |||
| 22101 | 2004-03-09 Masatake YAMATO <jet@gyve.org> | ||
| 22102 | |||
| 22103 | * hexl.el (hexl-mode): Use `make-local-variable' instead of | ||
| 22104 | `make-variable-buffer-local'. | ||
| 22105 | |||
| 22106 | 2004-03-08 Michael Albinus <Michael.Albinus@alcatel.de> | ||
| 22107 | |||
| 22108 | * find-dired.el (find-dired): Call `shell-command' instead of | ||
| 22109 | `start-process-shell-command'. By this, Tramp takes over | ||
| 22110 | handling of remote directories. | ||
| 22111 | |||
| 22112 | 2004-03-07 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 22113 | |||
| 22114 | * newcomment.el (comment-use-global-state): New var. | ||
| 22115 | (comment-search-forward): Use it. | ||
| 22116 | |||
| 22117 | * emacs-lisp/lisp-mode.el (lisp-mode-variables): Set it. | ||
| 22118 | |||
| 22119 | * cus-edit.el (fill) <defgroup>: Move to fill.el. | ||
| 22120 | |||
| 22121 | * textmodes/fill.el (fill) <defgroup>: Move from cus-edit.el. | ||
| 22122 | (enable-kinsoku): Make it a defcustom. | ||
| 22123 | (fill-comment-paragraph): Don't rely on fill-prefix to bound the | ||
| 22124 | paragraph to same-comment-start-marker. | ||
| 22125 | |||
| 22126 | 2004-03-07 Dave Love <fx@gnu.org> | ||
| 22127 | |||
| 22128 | * net/browse-url.el (rfc2368-parse-mailto-url): Autoload. | ||
| 22129 | (browse-url-mail): Use it. | ||
| 22130 | |||
| 22131 | * mail/rfc2368.el (rfc2368-unhexify-char): Delete. | ||
| 22132 | (rfc2368-unhexify-string): Use replace-regexp-in-string. | ||
| 22133 | |||
| 22134 | 2004-03-07 Francis J. Wright <F.J.Wright@qmul.ac.uk> | ||
| 22135 | |||
| 22136 | * woman.el (woman-man.conf-path): Doc fix. | ||
| 22137 | (woman-parse-man.conf): Also parse OPTIONAL_MANPATH. | ||
| 22138 | |||
| 22139 | 2004-03-07 Eli Zaretskii <eliz@gnu.org> | ||
| 22140 | |||
| 22141 | * sort.el (sort-columns): Remove ms-dos from the list of systems | ||
| 22142 | where the external `sort' command is not used. | ||
| 22143 | |||
| 22144 | 2004-03-07 Kim F. Storm <storm@cua.dk> | ||
| 22145 | |||
| 22146 | * gdb-ui.el (gdb-overlay-arrow-position): Add defvar. | ||
| 22147 | (gdb-reset): Reset gdb-overlay-arrow-position marker and remove it | ||
| 22148 | from overlay-arrow-variable-list. | ||
| 22149 | (gdb-assembler-mode): Use add-to-list for gdb-overlay-arrow-position. | ||
| 22150 | |||
| 22151 | 2004-03-06 Nick Roberts <nick@nick.uklinux.net> | ||
| 22152 | |||
| 22153 | * gdb-ui.el (gdb-assembler-mode, gdb-assembler-custom): Set up | ||
| 22154 | overlay arrow string properly for the assembler buffer. | ||
| 22155 | |||
| 22156 | 2004-03-05 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 22157 | |||
| 22158 | * mail/sendmail.el (mail-mode): Fix last change. | ||
| 22159 | |||
| 22160 | 2004-03-05 Nick Roberts <nick@nick.uklinux.net> | ||
| 22161 | |||
| 22162 | * gdb-ui.el (gdb-assembler-mode): Create a second overlay arrow | ||
| 22163 | for the assembler buffer. | ||
| 22164 | (gdb-assembler-custom): Position the overlay arrow. | ||
| 22165 | (gdb-put-arrow, gdb-remove-arrow): Delete functions. | ||
| 22166 | |||
| 22167 | 2004-03-04 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 22168 | |||
| 22169 | * progmodes/sh-script.el (sh-font-lock-paren): Add @ in case patterns. | ||
| 22170 | |||
| 22171 | * pcvs-info.el (cvs-fileinfo->backup-file): Use a more constraining | ||
| 22172 | regexp to distinguish .#ChangeLog.9.1.400 and .#ChangeLog.1.400. | ||
| 22173 | |||
| 22174 | * mail/sendmail.el (mail-mode): Set comment-start-skip. | ||
| 22175 | |||
| 22176 | * newcomment.el (uncomment-region): Allow non-terminated comment. | ||
| 22177 | (comment-normalize-vars): Check the user-specified comstart marker. | ||
| 22178 | |||
| 22179 | 2004-03-04 Jesper Harder <harder@ifa.au.dk> | ||
| 22180 | |||
| 22181 | * sort.el (sort-columns): Don't use external 'sort' on ms-windows. | ||
| 22182 | Otherwise, do use it if the region only contains font-lock text | ||
| 22183 | properties. | ||
| 22184 | |||
| 22185 | 2004-03-04 Masatake YAMATO <jet@gyve.org> | ||
| 22186 | |||
| 22187 | * hexl.el (hexl-mode): Set `hexl-print-current-point-info' | ||
| 22188 | as the callback function for eldoc. | ||
| 22189 | (hexl-print-current-point-info): New function. | ||
| 22190 | (hexl-current-address): Print the address in both decimal | ||
| 22191 | and hexadecimal format. | ||
| 22192 | |||
| 22193 | 2004-03-04 Richard M. Stallman <rms@gnu.org> | ||
| 22194 | |||
| 22195 | * mail/rmail.el (rmail-convert-to-babyl-format): | ||
| 22196 | Specify t for UNIBYTE when calling mail-unquote-printable-region. | ||
| 22197 | |||
| 22198 | * mail/mail-utils.el (mail-unquote-printable-region): | ||
| 22199 | New arg UNIBYTE. | ||
| 22200 | |||
| 22201 | * startup.el (command-switch-alist): Doc fix. | ||
| 22202 | |||
| 22203 | * simple.el (undo): Temporarily set this-command to `undo-start', | ||
| 22204 | then set it to `undo' once undo-start returns without error. | ||
| 22205 | |||
| 22206 | * simple.el (minibuffer-history-sexp-flag): Doc fix. | ||
| 22207 | |||
| 22208 | * simple.el (kill-line): Don't disregard trailing whitespace | ||
| 22209 | in eol condition, if show-trailing-whitespace is set. | ||
| 22210 | |||
| 22211 | * mouse-sel.el (mouse-sel-has-been-enabled): New var. | ||
| 22212 | (mouse-sel-mode): When enabling, set mouse-sel-has-been-enabled. | ||
| 22213 | When disabling, restore old values only if mouse-sel-has-been-enabled. | ||
| 22214 | |||
| 22215 | * isearch.el (isearch-*-char): New arg WANT-BACKSLASH. | ||
| 22216 | (isearch-{-char): New function. | ||
| 22217 | (isearch-mode-map): Bind { to isearch-{-char. | ||
| 22218 | |||
| 22219 | * font-lock.el (lisp-font-lock-keywords-2): | ||
| 22220 | Turn off the CL with-... and do-... general patterns. | ||
| 22221 | Instead, recognize several specific with... and do... constructs. | ||
| 22222 | |||
| 22223 | * files.el (switch-to-buffer-other-window): | ||
| 22224 | Bind same-window-buffer-names and same-window-regexps to nil. | ||
| 22225 | (switch-to-buffer-other-frame): Likewise. | ||
| 22226 | |||
| 22227 | 2004-03-03 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 22228 | |||
| 22229 | * textmodes/fill.el (fill-comment-paragraph): Be more careful when | ||
| 22230 | recognizing leading comment on code line. | ||
| 22231 | |||
| 22232 | 2004-03-02 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 22233 | |||
| 22234 | * Makefile.in (setwins, setwins_almost): Skip .arch-ids and other | ||
| 22235 | hidden files/directories. | ||
| 22236 | |||
| 22237 | 2004-03-02 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 22238 | |||
| 22239 | * textmodes/fill.el (fill-paragraph): Don't check comment-start-skip, | ||
| 22240 | only comment-start (in case the mode hasn't set it). | ||
| 22241 | |||
| 22242 | * Makefile.in (AUTOGENEL): New var. | ||
| 22243 | (bootstrap-prepare): Rename from bootstrap-clean. | ||
| 22244 | Don't remove elc files. | ||
| 22245 | (maintainer-clean): New target. | ||
| 22246 | |||
| 22247 | * xml.el (xml-get-attribute-or-nil): Simplify. | ||
| 22248 | |||
| 22249 | 2004-03-02 Juri Linkov <juri@jurta.org> | ||
| 22250 | |||
| 22251 | * net/browse-url.el (browse-url-netscape, browse-url-mozilla) | ||
| 22252 | (browse-url-galeon, browse-url-epiphany): Encode dollar signs in | ||
| 22253 | URL to prevent their substitution with the environment variable | ||
| 22254 | values by browsers. | ||
| 22255 | |||
| 22256 | 2004-03-03 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 22257 | |||
| 22258 | * ps-print.el: Doc fix. | ||
| 22259 | (ps-print-version): New version number (6.6.3). | ||
| 22260 | (ps-right-header, ps-right-footer, ps-left-header, ps-left-footer): | ||
| 22261 | Docstring fix. | ||
| 22262 | (ps-kill-emacs-check): Check if ps-print temporary buffer is killed | ||
| 22263 | before printing. | ||
| 22264 | (ps-time-stamp-yyyy-mm-dd): New fun. | ||
| 22265 | (ps-time-stamp-iso8601): Alias for ps-time-stamp-yyyy-mm-dd. | ||
| 22266 | |||
| 22267 | 2004-03-02 Kim F. Storm <storm@cua.dk> | ||
| 22268 | |||
| 22269 | * gdb-ui.el (gdb-mouse-toggle-breakpoint): Remove debug message. | ||
| 22270 | |||
| 22271 | 2004-03-01 Juanma Barranquero <lektu@terra.es> | ||
| 22272 | |||
| 22273 | * allout.el (allout-rebullet-heading): Fix typo in docstring. | ||
| 22274 | |||
| 22275 | * desktop.el (desktop-file-version) | ||
| 22276 | (desktop-after-read-hook): Fix typos. | ||
| 22277 | (desktop-clear-preserve-buffers): Remove redundant info in | ||
| 22278 | docstring already shown by the obsolescence message. | ||
| 22279 | (desktop-truncate, desktop-internal-v2s) | ||
| 22280 | (desktop-value-to-string): Change argument name to match docstring. | ||
| 22281 | |||
| 22282 | * emulation/tpu-edt.el (tpu-set-mark): Fix typo in docstring. | ||
| 22283 | |||
| 22284 | * eshell/em-smart.el (eshell-smart-maybe-jump-to-end): Fix typo in | ||
| 22285 | docstring. | ||
| 22286 | |||
| 22287 | 2004-02-29 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 22288 | |||
| 22289 | * printing.el: Replace "As Is..." in PostScript file print/preview by | ||
| 22290 | "No Preprocessing...". Suggested by Colin Marquardt | ||
| 22291 | <_marquardt_@zmd.de>. | ||
| 22292 | (pr-insert-section-4): Adjust buffer interface. | ||
| 22293 | |||
| 22294 | 2004-02-29 Kai Grossjohann <kai.grossjohann@gmx.net> | ||
| 22295 | |||
| 22296 | Version 2.0.39 of Tramp released. | ||
| 22297 | |||
| 22298 | * net/tramp.el (tramp-handle-file-local-copy) | ||
| 22299 | (tramp-handle-write-region, tramp-open-connection-rsh): | ||
| 22300 | Variable name typo. Small change. From Patrick Tullmann | ||
| 22301 | <tullmann@flux.utah.edu>. | ||
| 22302 | (tramp-process-connection-type): New variable. | ||
| 22303 | (tramp-maybe-open-connection): Use it. | ||
| 22304 | (tramp-do-copy-or-rename-via-buffer): Handle KEEP-DATE arg if possible. | ||
| 22305 | (tramp-touch): Set last-modified time of a remote file. | ||
| 22306 | (tramp-handle-write-region): Say which function is used when encoding. | ||
| 22307 | |||
| 22308 | 2004-02-29 Michael Albinus <Michael.Albinus@alcatel.de> | ||
| 22309 | |||
| 22310 | * net/tramp-smb.el (tramp-smb-handle-file-writable-p): Handle the | ||
| 22311 | case of non-existing filename, too. Reported by Christoph Bauer | ||
| 22312 | <c_bauer@informatik.uni-kl.de>. | ||
| 22313 | (tramp-smb-get-file-entries): The directory in question should | ||
| 22314 | have permissions "drwxrwxrwx". Just virtual, because we don't | ||
| 22315 | know the real permissions. Don't we know? | ||
| 22316 | (tramp-smb-prompt): Add virtual prompt from listing shares, too. | ||
| 22317 | (tramp-smb-errors): Add "NT_STATUS_ACCOUNT_LOCKED_OUT". | ||
| 22318 | (tramp-smb-wait-for-output): Optimize algorithm getting pending | ||
| 22319 | output. If it was received chunkwise, there have been problems. | ||
| 22320 | Remove the "prompt not found" error message; it is obvious. | ||
| 22321 | Simplify algorithm. | ||
| 22322 | (tramp-smb-process-running): Remove. Since we acknowledge the | ||
| 22323 | virtual prompt for shares, there's no need for distinction of | ||
| 22324 | reading shares (process ends afterwards) and interactive mode of | ||
| 22325 | smblient. | ||
| 22326 | (tramp-smb-open-connection): Setting process sentinel removed. | ||
| 22327 | (tramp-smb-errors): Add "NT_STATUS_WRONG_PASSWORD" and | ||
| 22328 | "NT_STATUS_NETWORK_ACCESS_DENIED". | ||
| 22329 | (tramp-smb-maybe-open-connection): Set `process-connection-type' | ||
| 22330 | to 'pty. Suggested by Piet van Oostrum <piet@cs.uu.nl>. | ||
| 22331 | (top-level): Setting default value in `tramp-default-method-alist' | ||
| 22332 | corrected. Order of USER and HOST have been wrong. | ||
| 22333 | Nobody complained for months ... | ||
| 22334 | (tramp-smb-maybe-open-connection): Use `tramp-process-connection-type'. | ||
| 22335 | (tramp-smb-open-connection): Clear password cache if login has failed. | ||
| 22336 | |||
| 22337 | * net/tramp.el (tramp-completion-mode) Don't check for 'xemacs' but | ||
| 22338 | `tramp-unified-filenames'. | ||
| 22339 | (tramp-completion-mode): Make test for XEmacs explicitly. | ||
| 22340 | `event-to-character' can exists in Emacs packages too. | ||
| 22341 | Reported by Matt Swift <swift@alum.mit.edu>. | ||
| 22342 | (tramp-buffer-name): Buffer name must contain the user if exists. | ||
| 22343 | Reported by Adrian Phillips <a.phillips@met.no>. | ||
| 22344 | (tramp-do-copy-or-rename-file): Handle out-of-band methods. | ||
| 22345 | Call `tramp-do-copy-or-rename-file-out-of-band' this case. | ||
| 22346 | (tramp-do-copy-or-rename-file-out-of-band): Rename from | ||
| 22347 | `tramp-do-copy-or-rename-file-one-local', because it handles also | ||
| 22348 | the case both files use the same out-of-band method. | ||
| 22349 | Implementation added. | ||
| 22350 | (tramp-handle-file-local-copy, tramp-handle-write-region): | ||
| 22351 | Out-of-band handling removed. `copy-file' called instead, which | ||
| 22352 | calls `tramp-do-copy-or-rename-file-out-of-band'. | ||
| 22353 | (tramp-action-password): Check for out-of-band method removed. | ||
| 22354 | This function is used for 'login-program. | ||
| 22355 | (tramp-post-connection): Use `tramp-method-out-of-band-p' when | ||
| 22356 | appropriate. | ||
| 22357 | (tramp-completion-function-alist-ssh): Add `tramp-parse-shostkeys' | ||
| 22358 | and `tramp-parse-sknownhosts'. | ||
| 22359 | (tramp-completion-function-alist): It's a defvar now, because we | ||
| 22360 | want to apply the optimized `tramp-set-completion-function' | ||
| 22361 | instead of a static list. | ||
| 22362 | (tramp-set-completion-function): Implementation tuned. | ||
| 22363 | Avoid double entries, and entries where the function or the | ||
| 22364 | file/directory doesn't exist. | ||
| 22365 | (tramp-parse-shostkeys, tramp-parse-sknownhosts): New functions | ||
| 22366 | for SSH2. | ||
| 22367 | (tramp-file-name-handler-alist): Add `dired-compress-file' entry. | ||
| 22368 | (tramp-handle-dired-compress-file): New function. | ||
| 22369 | (tramp-async-proc): New variable. | ||
| 22370 | (tramp-handle-shell-command): Adding asynchronous processes. | ||
| 22371 | They are far from being perfect, but it works at least for | ||
| 22372 | `find-grep-dired' and `find-name-dired' in Emacs 22.1. | ||
| 22373 | (top-level): Require password.el if visible. Should be mandatory | ||
| 22374 | once No Gnus has found its way into (X)Emacs. | ||
| 22375 | (tramp-read-passwd): Invoke `password-read' if available, | ||
| 22376 | `read-passwd' otherwise. `ange-ftp-read-passwd' isn't used as | ||
| 22377 | fallback any longer. | ||
| 22378 | (tramp-clear-passwd): New function. | ||
| 22379 | (tramp-process-actions, tramp-process-multi-actions): | ||
| 22380 | Clear password cache if login has failed. | ||
| 22381 | |||
| 22382 | * net/tramp-ftp.el (Commentary): Remove pointer to EFS. It has | ||
| 22383 | its own module. | ||
| 22384 | (tramp-ftp-file-name-handler): Unset `ange-ftp-ftp-name-arg' and | ||
| 22385 | `ange-ftp-ftp-name-res'. There could be incorrect values from | ||
| 22386 | previous calls in case the "ftp" method is used in the Tramp file | ||
| 22387 | name. Reported by Katsumi Yamaoka <yamaoka@jpl.org>. | ||
| 22388 | |||
| 22389 | 2004-02-28 Richard M. Stallman <rms@gnu.org> | ||
| 22390 | |||
| 22391 | * term.el (term-mouse-paste): Call mouse-set-point. | ||
| 22392 | |||
| 22393 | * thumbs.el: New file. | ||
| 22394 | |||
| 22395 | 2004-02-28 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 22396 | |||
| 22397 | * progmodes/ebnf-abn.el: Doc fix. | ||
| 22398 | |||
| 22399 | * progmodes/ebnf-bnf.el: Doc fix. | ||
| 22400 | (ebnf-repeat): Code fix. | ||
| 22401 | |||
| 22402 | * progmodes/ebnf2ps.el: Doc fix. | ||
| 22403 | (ebnf-syntax-directory, ebnf-syntax-file): New funs. | ||
| 22404 | |||
| 22405 | 2004-02-28 Juri Linkov <juri@jurta.org> | ||
| 22406 | |||
| 22407 | * ffap.el (dired-at-point): Additional writability test for | ||
| 22408 | relative directory names. | ||
| 22409 | (dired-at-point-prompter): Treat directories as a directory, get | ||
| 22410 | the directory component from files. | ||
| 22411 | (ffap-string-at-point): Return string from region if region is active. | ||
| 22412 | (ffap-file-at-point): Remove redundant code. | ||
| 22413 | |||
| 22414 | 2004-02-28 Kim F. Storm <storm@cua.dk> | ||
| 22415 | |||
| 22416 | * gdb-ui.el (breakpoint-enabled-icon, breakpoint-disabled-icon): | ||
| 22417 | Initialize margin area images to nil. | ||
| 22418 | (breakpoint-bitmap): New defvar for breakpoint fringe bitmaps. | ||
| 22419 | (breakpoint-enabled-bitmap-face) | ||
| 22420 | (breakpoint-disabled-bitmap-face): New faces for bpt in fringe. | ||
| 22421 | (gdb-info-breakpoints-custom): Use gdb-remove-breakpoint-icons. | ||
| 22422 | (gdb-info-breakpoints-custom): Use gdb-put-breakpoint-icon. | ||
| 22423 | (gdb-mouse-toggle-breakpoint): Handle bpt in fringe. | ||
| 22424 | (gdb-reset): Use gdb-remove-breakpoint-icons. | ||
| 22425 | (gdb-put-string): Add dprop arg to specify alternative display | ||
| 22426 | property (for setting fringe bitmap). | ||
| 22427 | (gdb-remove-strings): Doc fix. | ||
| 22428 | (gdb-put-breakpoint-icon): New defun which displays a breakpoint | ||
| 22429 | icon in fringe (if available), or else as icon or text in display | ||
| 22430 | margin. Creates necessary icons in breakpoint-bitmap, | ||
| 22431 | breakpoint-enabled-icon, and/or breakpoint-disabled-icon. | ||
| 22432 | Also make left window margin if required. | ||
| 22433 | (gdb-remove-breakpoint-icons): New defun to remove breakpoint | ||
| 22434 | icons inserted by gdb-put-breakpoint-icon. Remove left margin if | ||
| 22435 | no longer needed. | ||
| 22436 | (gdb-assembler-custom): Use gdb-remove-breakpoint-icons and | ||
| 22437 | gdb-put-breakpoint-icon. | ||
| 22438 | (gdb-assembler-mode): Don't set left-margin-width here. | ||
| 22439 | |||
| 22440 | 2004-02-27 Kevin Ryde <user42@zip.com.au> | ||
| 22441 | |||
| 22442 | * info-look.el: In scheme-mode symbol regexp, disallow backquote and | ||
| 22443 | comma, so that it DTRT in macros. | ||
| 22444 | |||
| 22445 | 2004-02-27 Markus Rost <rost@mathematik.uni-bielefeld.de> | ||
| 22446 | |||
| 22447 | * progmodes/sh-script.el (sh-shell-arg) | ||
| 22448 | (sh-require-final-newline, sh-assignment-regexp, sh-builtins) | ||
| 22449 | (sh-leading-keywords, sh-other-keywords): Fix custom type. | ||
| 22450 | |||
| 22451 | 2004-02-27 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 22452 | |||
| 22453 | * faces.el (face-spec-set-match-display): Add a new attribute, | ||
| 22454 | `min-colors'. | ||
| 22455 | (region, highlight, secondary-selection): Use `min-colors'. | ||
| 22456 | |||
| 22457 | * custom.el (defface): Add documentation for `min-colors'. | ||
| 22458 | |||
| 22459 | * font-lock.el (font-lock-comment-face, font-lock-string-face) | ||
| 22460 | (font-lock-keyword-face, font-lock-function-name-face) | ||
| 22461 | (font-lock-variable-name-face, font-lock-constant-face): | ||
| 22462 | Use `min-colors'. | ||
| 22463 | |||
| 22464 | * isearch.el (isearch, isearch-lazy-highlight-face): Use `min-colors'. | ||
| 22465 | |||
| 22466 | 2004-02-25 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 22467 | |||
| 22468 | * progmodes/ebnf2ps.el: Doc fix. For compatibility with Emacs 20, | ||
| 22469 | define assq-delete-all if it's not defined. | ||
| 22470 | (ebnf-generate-region): Code fix. | ||
| 22471 | |||
| 22472 | * printing.el: Doc fix. | ||
| 22473 | (pr-version): New version number (6.7.2). | ||
| 22474 | (pr-command): Return empty string if command is an empty string. | ||
| 22475 | |||
| 22476 | 2004-02-24 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 22477 | |||
| 22478 | * progmodes/ebnf-abn.el: New file, implements an ABNF parser. | ||
| 22479 | |||
| 22480 | * progmodes/ebnf2ps.el: Doc fix. Accept ABNF (Augmented BNF). New | ||
| 22481 | arrow shapes: semi-up-hollow, semi-up-full, semi-down-hollow and | ||
| 22482 | semi-down-full. Fix a bug on productions like test = {"test"}* | ( | ||
| 22483 | "tt" ["test"] ). Reported by Markus Dreyer | ||
| 22484 | <mdreyer@ix.urz.uni-heidelberg.de>. | ||
| 22485 | (ebnf-version): New version number (4.0). | ||
| 22486 | (ebnf-print-directory, ebnf-print-file, ebnf-spool-directory) | ||
| 22487 | (ebnf-spool-file, ebnf-eps-directory, ebnf-eps-file) | ||
| 22488 | (ebnf-delete-style): New commands. | ||
| 22489 | (ebnf-directory, ebnf-file): New funs. | ||
| 22490 | (ebnf-special-show-delimiter, ebnf-file-suffix-regexp) | ||
| 22491 | (ebnf-production-name-p, ebnf-stop-on-error): New options. | ||
| 22492 | (ebnf-syntax-alist): New var. | ||
| 22493 | (ebnf-element-width): New fun replacing ebnf-list-width. | ||
| 22494 | (ebnf-arrow-shape, ebnf-syntax): Custom fix. | ||
| 22495 | (ebnf-style-custom-list, ebnf-style-database, ebnf-arrow-shape-alist) | ||
| 22496 | (ebnf-prologue): Adjust vars. | ||
| 22497 | (ebnf-setup, ebnf-insert-style, ebnf-merge-style, ebnf-apply-style) | ||
| 22498 | (ebnf-reset-style, ebnf-push-style, ebnf-pop-style) | ||
| 22499 | (ebnf-check-style-values, ebnf-generate-production) | ||
| 22500 | (ebnf-generate-region, ebnf-production-dimension, ebnf-justify-list) | ||
| 22501 | (ebnf-make-terminal1, ebnf-make-or-more1, ebnf-make-repeat) | ||
| 22502 | (ebnf-token-repeat): Code fix. | ||
| 22503 | |||
| 22504 | * progmodes/ebnf-yac.el: Doc fix. Handle Bison pragmas %nonassoc, | ||
| 22505 | %right, %left and %prec. Suggested by Matthew K. Junker | ||
| 22506 | <junker@alum.mit.edu>. | ||
| 22507 | (ebnf-yac-definitions, ebnf-yac-lex): Code fix. | ||
| 22508 | |||
| 22509 | * progmodes/ebnf-iso.el: Doc fix. | ||
| 22510 | (ebnf-iso-token-table, ebnf-iso-non-terminal-chars): Adjust vars. | ||
| 22511 | (ebnf-iso-lex): Code fix. | ||
| 22512 | |||
| 22513 | * progmodes/ebnf-bnf.el: Doc fix. | ||
| 22514 | (ebnf-bnf-lex): Code fix. | ||
| 22515 | |||
| 22516 | * progmodes/ebnf-otz.el: Doc fix. | ||
| 22517 | |||
| 22518 | 2004-02-23 Luc Teirlinck <teirllm@auburn.edu> | ||
| 22519 | |||
| 22520 | * abbrev.el (write-abbrev-file): Make argument optional. Doc fix. | ||
| 22521 | (abbrev-prefix-mark): Doc fix. | ||
| 22522 | |||
| 22523 | 2004-02-23 Nick Roberts <nick@nick.uklinux.net> | ||
| 22524 | |||
| 22525 | * gdb-ui.el (gud-watch): Load tooltip, if necessary. | ||
| 22526 | (gdb-var-create-handler): Force speedbar-update-flag to be non-nil. | ||
| 22527 | (gdb-var-delete): Make interactive (really). | ||
| 22528 | (gdb-edit-value): Make non-interactive. | ||
| 22529 | |||
| 22530 | * progmodes/gud.el (gud-speedbar-menu-items): | ||
| 22531 | Add gdb-var-delete and, indirectly, gdb-edit-value. | ||
| 22532 | (gud-install-speedbar-variables): Bind gdb-var-delete to "D". | ||
| 22533 | (gud-speedbar-buttons): Remove gdb-var-delete from tag-line. | ||
| 22534 | (gud-gdb-marker-filter): Add comment for annotations. | ||
| 22535 | |||
| 22536 | 2004-02-23 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 22537 | |||
| 22538 | * calendar/calendar.el (generate-calendar) | ||
| 22539 | (calendar-read-date): Prevent display of BC calendars once more - | ||
| 22540 | reverts 2003-10-01 change. | ||
| 22541 | (generate-calendar-month): Doc fix. | ||
| 22542 | |||
| 22543 | 2004-02-03 Matthew Mundell <matt@mundell.ukfsn.org> (tiny change) | ||
| 22544 | |||
| 22545 | * calendar/diary-lib.el (fancy-diary-display): Don't rely on | ||
| 22546 | return value of increment-calendar-month. | ||
| 22547 | |||
| 22548 | 2004-02-21 Stephen Compall <s11@member.fsf.org> | ||
| 22549 | |||
| 22550 | * saveplace.el (save-place-forget-unreadable-files) | ||
| 22551 | (save-place-save-skipped, save-place-skip-check-regexp): New vars. | ||
| 22552 | (save-place-forget-unreadable-files): New function. | ||
| 22553 | (save-place-alist-to-file): Use it to filter out files that are | ||
| 22554 | no longer readable. | ||
| 22555 | |||
| 22556 | * textmodes/texinfo.el (texinfo-insert-@item): Look for the | ||
| 22557 | current Texinfo environment, using the same method as in | ||
| 22558 | `texinfo-insert-@end', and insert a space rather than a newline if | ||
| 22559 | point in a @table environment. | ||
| 22560 | |||
| 22561 | 2004-02-21 Juri Linkov <juri@jurta.org> | ||
| 22562 | |||
| 22563 | * ffap.el (ffap-file-at-point): Try parent directories. | ||
| 22564 | |||
| 22565 | 2004-02-21 Klaus Zeitler <kzeitler@lucent.com> | ||
| 22566 | |||
| 22567 | * vcursor.el (vcursor-modifiers): New defcustom. | ||
| 22568 | (vcursor-cs-binding): Use vcursor-modifiers instead of a | ||
| 22569 | hard-coded list. | ||
| 22570 | |||
| 22571 | 2004-02-21 Masatake YAMATO <jet@gyve.org> | ||
| 22572 | |||
| 22573 | * play/animate.el (animate-birthday-present): Accept names other | ||
| 22574 | than `Sarah', too. | ||
| 22575 | |||
| 22576 | 2004-02-21 Juri Linkov <juri@jurta.org> | ||
| 22577 | |||
| 22578 | * startup.el: Remove table of command line arguments from the | ||
| 22579 | Commentary section. | ||
| 22580 | |||
| 22581 | 2004-02-20 John Wiegley <johnw@newartisans.com> | ||
| 22582 | |||
| 22583 | * eshell/em-pred.el (eshell-modifier-alist): Change the "eval | ||
| 22584 | again" modifier from 'e' to 'E', since 'e' is also used by the | ||
| 22585 | "file extension" modifier. | ||
| 22586 | |||
| 22587 | 2004-02-19 Luc Teirlinck <teirllm@auburn.edu> | ||
| 22588 | |||
| 22589 | * help-fns.el (describe-categories): Doc fix. | ||
| 22590 | |||
| 22591 | 2003-02-19 Michael Kifer <kifer@cs.stonybrook.edu> | ||
| 22592 | |||
| 22593 | * ediff-util.el (ediff-compute-custom-diffs-maybe): Avoid creating | ||
| 22594 | temporary file for buffer already visiting one. This change makes | ||
| 22595 | output likely to be directly usable by patch program. | ||
| 22596 | Suggested by Adrian Aichner <adrian@xemacs.org> | ||
| 22597 | |||
| 22598 | 2004-02-20 Nick Roberts <nick@nick.uklinux.net> | ||
| 22599 | |||
| 22600 | * gdb-ui.el (gdb-use-colon-colon-notation): Set default to nil for | ||
| 22601 | case of variables defined in compound statements. | ||
| 22602 | (gdb-setup-windows, gdb-source-info, gdb-source-info): | ||
| 22603 | Simplify constructions using switch-to-buffer. | ||
| 22604 | |||
| 22605 | 2004-02-19 Simon Josefsson <jas@extundo.com> | ||
| 22606 | |||
| 22607 | * play/morse.el: Fix typo. | ||
| 22608 | (morse-code): Add @. | ||
| 22609 | |||
| 22610 | 2004-02-19 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 22611 | |||
| 22612 | * calendar/appt.el (appt-display-format): Change default to | ||
| 22613 | 'ignore, for backwards compatibility. | ||
| 22614 | (appt-display-message): If appt-display-format is 'ignore, | ||
| 22615 | respect old vars appt-msg-window and appt-visible. | ||
| 22616 | (appt-activate): Don't depend on return value of cancel-timer. | ||
| 22617 | |||
| 22618 | * calendar/calendar.el (calendar-holidays): Doc fix. | ||
| 22619 | |||
| 22620 | * calendar/cal-coptic.el (coptic-prompt-for-date): | ||
| 22621 | Use assoc-string instead of assoc-ignore-case. | ||
| 22622 | * calendar/cal-french.el (calendar-goto-french-date): Ditto. | ||
| 22623 | * calendar/cal-hebrew.el (calendar-goto-hebrew-date) | ||
| 22624 | (mark-hebrew-diary-entries, list-yahrzeit-dates): Ditto. | ||
| 22625 | * calendar/cal-islam.el (calendar-goto-islamic-date) | ||
| 22626 | (mark-islamic-diary-entries): Ditto. | ||
| 22627 | * calendar/cal-julian.el (calendar-goto-julian-date): Ditto. | ||
| 22628 | * calendar/cal-mayan.el (calendar-read-mayan-haab-date) | ||
| 22629 | (calendar-read-mayan-tzolkin-date): Ditto. | ||
| 22630 | * calendar/calendar.el (calendar-read-date): Ditto. | ||
| 22631 | * calendar/diary-lib.el (mark-diary-entries): Ditto. | ||
| 22632 | |||
| 22633 | 2004-02-18 Markus Rost <rost@mathematik.uni-bielefeld.de> | ||
| 22634 | |||
| 22635 | * progmodes/executable.el (executable-command-find-posix-p): | ||
| 22636 | Fix choice of the directory. | ||
| 22637 | |||
| 22638 | 2004-02-17 Luc Teirlinck <teirllm@auburn.edu> | ||
| 22639 | |||
| 22640 | * simple.el (interprogram-cut-function) | ||
| 22641 | (interprogram-paste-function, kill-new, kill-append): | ||
| 22642 | Doc fixes. | ||
| 22643 | (kill-region): Make it return nil. Doc fix. | ||
| 22644 | (yank-pop): Make its argument optional. | ||
| 22645 | (yank): Make ARG `-' equivalent to `-1'. | ||
| 22646 | |||
| 22647 | 2004-02-17 Eli Zaretskii <eliz@gnu.org> | ||
| 22648 | |||
| 22649 | * mail/rmail.el (rmail-get-new-mail): Don't reference | ||
| 22650 | rmail-use-spam-filter if rmail-spam-filter is not loaded. | ||
| 22651 | |||
| 22652 | 2004-02-16 Luc Teirlinck <teirllm@auburn.edu> | ||
| 22653 | |||
| 22654 | * autorevert.el (auto-revert-buffer-p): Only revert dired buffers | ||
| 22655 | if one of global-auto-revert-non-file-buffers or autorevert-mode | ||
| 22656 | is non-nil. | ||
| 22657 | |||
| 22658 | 2004-02-16 Eli Zaretskii <eliz@gnu.org> | ||
| 22659 | |||
| 22660 | * subr.el (delete-dups): A better implementation from Karl Heuer | ||
| 22661 | <kwzh@gnu.org>. | ||
| 22662 | |||
| 22663 | 2004-02-16 Matt Hodges <matt@stchem.bham.ac.uk> (tiny change) | ||
| 22664 | |||
| 22665 | * net/telnet.el (telnet-interrupt-subjob): Move doc string to the | ||
| 22666 | correct place. | ||
| 22667 | * progmodes/icon.el (icon-indent-command): Ditto. | ||
| 22668 | * textmodes/paragraphs.el (repunctuate-sentences): Ditto. | ||
| 22669 | |||
| 22670 | 2004-02-16 Eli Zaretskii <eliz@gnu.org> | ||
| 22671 | |||
| 22672 | * progmodes/grep.el (grep-compute-defaults): Undo change from | ||
| 22673 | 2004-01-29: don't use executable-command-find-posix-p. | ||
| 22674 | |||
| 22675 | 2004-02-16 Richard Sharman <rsharman@pobox.com> | ||
| 22676 | |||
| 22677 | * hilit-chg.el: Use require instead of eval-and-compile. | ||
| 22678 | (highlight-compare-buffers): New function. | ||
| 22679 | |||
| 22680 | 2004-02-16 John Basrai <jbasrai@comcast.net> (tiny change) | ||
| 22681 | |||
| 22682 | * man.el (Man-fontify-manpage): Render section headings in | ||
| 22683 | `Man-overstrike-face' even when overstrike was not used by man | ||
| 22684 | formatter for section headings. | ||
| 22685 | |||
| 22686 | 2004-02-16 Eli Tziperman <eli@deas.harvard.edu> | ||
| 22687 | |||
| 22688 | * rmail-spam-filter.el (vm-use-spam-filter) | ||
| 22689 | (rsf-min-region-length-added-to-spam-list): New variables. | ||
| 22690 | (rsf-bbdb-auto-delete-spam-bbdb-entries): Rename from | ||
| 22691 | rmail-bbdb-auto-delete-spam-entries. Add cc: to recipients for | ||
| 22692 | spam testing. Don't delete spam message if automatic deletion | ||
| 22693 | after output via variable rmail-delete-after-output is turned on. | ||
| 22694 | (rsf-bbdb-dont-create-entries-for-deleted-messages): Rename from | ||
| 22695 | rsf-bbdb-dont-create-entries-for-spam. | ||
| 22696 | (check-field): New function, extracted from code in | ||
| 22697 | rmail-spam-filter to ease addition of header fields like content-type. | ||
| 22698 | (message-content-type): New variable to check the content-type: | ||
| 22699 | field added, also in defcustom of rsf-definitions-alist. | ||
| 22700 | (rmail-spam-filter): Replace repeated test code for header fields | ||
| 22701 | by calls to check-field; change the call to | ||
| 22702 | rmail-output-to-rmail-file such that rmail-current-message stays | ||
| 22703 | the same to avoid wrong deletion of unseen flags. | ||
| 22704 | (rsf-add-contents-type): New function to convert old format | ||
| 22705 | of rmail-spam-definitions-alist into new one. | ||
| 22706 | Change prefixes of all variables and functions from | ||
| 22707 | rmail-spam-filter- or spam-filter- or rmail-spam- to rsf-. | ||
| 22708 | |||
| 22709 | 2004-02-16 Eli Zaretskii <eliz@gnu.org> | ||
| 22710 | |||
| 22711 | * loadhist.el (unload-hook-features-list): New defvar. | ||
| 22712 | |||
| 22713 | 2004-02-16 Dave Love <fx@gnu.org> | ||
| 22714 | |||
| 22715 | * loadhist.el (unload-feature): Doc fix. Rename flist to | ||
| 22716 | unload-hook-features-list. | ||
| 22717 | |||
| 22718 | 2004-02-16 Jay Belanger <belanger@truman.edu> (tiny change) | ||
| 22719 | |||
| 22720 | * calc/calc-embed.el (calc-do-embedded-activate): Add autoload | ||
| 22721 | cookie. Don't check if we are looking-at open-formula. | ||
| 22722 | |||
| 22723 | 2004-02-16 Jesper Harder <harder@ifa.au.dk> (tiny change) | ||
| 22724 | |||
| 22725 | * subr.el (match-string-no-properties): Use substring-no-properties. | ||
| 22726 | |||
| 22727 | 2004-02-16 Eli Zaretskii <eliz@gnu.org> | ||
| 22728 | |||
| 22729 | * emacs-lisp/rx.el (rx-check, rx-check-any, rx-check-not) | ||
| 22730 | (rx-repeat, rx-check-backref, rx-syntax, rx-to-string): | ||
| 22731 | Use lower-case "rx" in all error message. | ||
| 22732 | |||
| 22733 | 2004-02-16 Dave Love <fx@gnu.org> | ||
| 22734 | |||
| 22735 | * emacs-lisp/rx.el (rx-or): Put group around result. | ||
| 22736 | (rx-constituents): Add backref. | ||
| 22737 | (rx-syntax): Add string-delimiter, comment-delimiter. | ||
| 22738 | (rx-categories): Add combining-diacritic. | ||
| 22739 | (rx-check-not, rx-greedy, rx): Doc fix. | ||
| 22740 | (rx-backref, rx-check-backref): New. | ||
| 22741 | |||
| 22742 | 2004-02-16 Jesper Harder <harder@ifa.au.dk> | ||
| 22743 | |||
| 22744 | * newcomment.el (uncomment-region): Allow eob as comment end. | ||
| 22745 | |||
| 22746 | 2004-02-16 Jari Aalto <jari.aalto@poboxes.com> | ||
| 22747 | |||
| 22748 | * filecache.el: All message and error commands now use prefix | ||
| 22749 | "Filecache:" to make it easy to read *Messages* buffer. | ||
| 22750 | |||
| 22751 | 2004-02-16 Jari Aalto <jari.aalto@poboxes.com> | ||
| 22752 | |||
| 22753 | * autorevert.el: Add support to detect changed dired and VC buffers. | ||
| 22754 | (auto-revert-active-p, auto-revert-list-diff) | ||
| 22755 | (auto-revert-dired-file-list, auto-revert-dired-changed-p) | ||
| 22756 | (auto-revert-handler, auto-revert-active-p): New functions. | ||
| 22757 | (auto-revert-buffers): Move revert logic to `auto-revert-handler' | ||
| 22758 | and `auto-revert-active-p'. | ||
| 22759 | (eval-when-compile): Defvar dired-directory and vc-mode. | ||
| 22760 | (auto-revert-vc-cvs-file-version, auto-revert-vc-buffer-p) | ||
| 22761 | (auto-revert-handler-vc): New functions. | ||
| 22762 | |||
| 22763 | 2004-02-16 Alfred M. Szmidt <ams@kemisten.nu> (tiny change) | ||
| 22764 | |||
| 22765 | * progmodes/compile.el (compilation-directory): New defvar. | ||
| 22766 | (compile): Save current directory in compilation-directory. | ||
| 22767 | (recompile): Bind default-directory to compilation-directory if | ||
| 22768 | that is non-nil. | ||
| 22769 | |||
| 22770 | 2004-02-16 Dave Love <fx@gnu.org> | ||
| 22771 | |||
| 22772 | * newcomment.el (comment-insert-comment-function) | ||
| 22773 | (comment-region-function, uncomment-region-function): New. | ||
| 22774 | (comment-indent): Use comment-insert-comment-function. | ||
| 22775 | (uncomment-region): Use uncomment-region-function. | ||
| 22776 | (comment-region): Use comment-region-function. | ||
| 22777 | |||
| 22778 | * emacs-lisp/rx.el (rx-not): Bind case-fold-search to nil. | ||
| 22779 | |||
| 22780 | 2004-02-16 Richard Stallman <rms@gnu.org> | ||
| 22781 | |||
| 22782 | * Makefile.in (TAGS, TAGS-LISP): Filter out of `els' only | ||
| 22783 | loaddefs* and ldefs-boot*. | ||
| 22784 | |||
| 22785 | 2004-02-16 Eli Zaretskii <eliz@gnu.org> | ||
| 22786 | |||
| 22787 | * mail/mail-utils.el (rmail-dont-reply-to): Anchor user login name | ||
| 22788 | and email address at the beginning and end of the address. | ||
| 22789 | |||
| 22790 | * mail/rmail.el (rmail-default-dont-reply-to-names): Make "info-" | ||
| 22791 | anchored at the beginning of the email address. | ||
| 22792 | |||
| 22793 | 2004-02-16 TAKAI Kousuke <tak@kmc.gr.jp> (tiny change) | ||
| 22794 | |||
| 22795 | * international/ccl.el (ccl-compile-write): Pass `left' to | ||
| 22796 | ccl-embed-code to generate correct code of write-expr-register. | ||
| 22797 | |||
| 22798 | 2004-02-15 Dan Nicolaescu <dann@ics.uci.edu> (tiny change) | ||
| 22799 | |||
| 22800 | * progmodes/grep.el (grep-compute-defaults): Fix typos. | ||
| 22801 | |||
| 22802 | 2004-02-15 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 22803 | |||
| 22804 | * x-dnd.el: Mention support for Motif in commentary. | ||
| 22805 | (x-dnd-handle-drag-n-drop-event): Ditto. | ||
| 22806 | |||
| 22807 | 2004-02-14 Jonathan Yavner <jyavner@member.fsf.org> | ||
| 22808 | |||
| 22809 | * ses.el: Use "ses--" prefixes for buffer-local variables. | ||
| 22810 | Use (point-min) instead of 1, even when we know the buffer | ||
| 22811 | is unnarrowed. | ||
| 22812 | (ses-build-load-map): Delete. Distribute its content to defconsts for | ||
| 22813 | the three maps. | ||
| 22814 | (ses-menu, ses-header-line-menu): New menus. | ||
| 22815 | (ses-mode-map): Use them. | ||
| 22816 | (ses-read-number) New fun. Duplicates code from interactive "N" spec. | ||
| 22817 | |||
| 22818 | 2004-02-14 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 22819 | |||
| 22820 | * Makefile.in: Fix the CC Mode recompile kludge so it works | ||
| 22821 | when building in a different directory. | ||
| 22822 | |||
| 22823 | 2004-02-13 Luc Teirlinck <teirllm@auburn.edu> | ||
| 22824 | |||
| 22825 | * simple.el (kill-new): Put yank-handler property on the entire string. | ||
| 22826 | |||
| 22827 | 2004-02-11 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 22828 | |||
| 22829 | * diff.el: Don't use compile any more, use diff-mode instead. | ||
| 22830 | (diff-regexp-alist, diff-old-file, diff-new-file) | ||
| 22831 | (diff-parse-differences, diff-process-setup): Remove. | ||
| 22832 | (diff-sentinel): New fun. | ||
| 22833 | (diff): Use it. Run the process ourselves. | ||
| 22834 | Use diff-mode for the rest of the processing. | ||
| 22835 | |||
| 22836 | * diff.el (diff): Simplify code handling `switch'. | ||
| 22837 | |||
| 22838 | 2004-02-11 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 22839 | |||
| 22840 | * pcvs-defs.el (cvs-menu): Add `tag'. | ||
| 22841 | |||
| 22842 | 2004-02-11 Luc Teirlinck <teirllm@auburn.edu> | ||
| 22843 | |||
| 22844 | * simple.el (kill-append): Doc fix. | ||
| 22845 | |||
| 22846 | * emacs-lisp/lisp-mode.el (lisp-mode-variables): | ||
| 22847 | Adapt outline-regexp to the new conventions for commenting out code. | ||
| 22848 | |||
| 22849 | 2004-02-11 John Paul Wallington <jpw@gnu.org> | ||
| 22850 | |||
| 22851 | * mail/smtpmail.el (smtpmail-try-auth-methods): Fix typo. | ||
| 22852 | |||
| 22853 | 2004-02-10 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 22854 | |||
| 22855 | * diff.el (diff-switches): New fun. | ||
| 22856 | (diff, diff-backup): Use it. | ||
| 22857 | (diff): Clean up the args construction. Use backquote. | ||
| 22858 | Use listp instead of consp to avoid putting a nil arg. | ||
| 22859 | (diff): Add a revert-buffer function. | ||
| 22860 | |||
| 22861 | 2004-02-10 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 22862 | |||
| 22863 | * x-dnd.el (x-dnd-types-alist): Add COMPOUND_TEXT, FILE_NAME | ||
| 22864 | handled by x-dnd-handle-file-name. | ||
| 22865 | (x-dnd-known-types): Add COMPOUND_TEXT. | ||
| 22866 | (x-dnd-init-frame): Call x-dnd-init-motif-for-frame. | ||
| 22867 | (x-dnd-get-state-cons-for-frame): Must do copy-sequence on | ||
| 22868 | x-dnd-empty-state. | ||
| 22869 | (x-dnd-forget-drop): Ditto. | ||
| 22870 | (x-dnd-save-state): Add optional parameter extra-data (for Motif). | ||
| 22871 | (x-dnd-handle-one-url): Return private when inserting text. | ||
| 22872 | (x-dnd-insert-ctext): New function. | ||
| 22873 | (x-dnd-handle-file-name): New function for FILE_NAME. | ||
| 22874 | (x-dnd-handle-drag-n-drop-event): Add Motif, remove call to error. | ||
| 22875 | (x-dnd-init-motif-for-frame, x-dnd-get-motif-value) | ||
| 22876 | (x-dnd-motif-value-to-list, x-dnd-handle-motif): New functions. | ||
| 22877 | |||
| 22878 | 2004-02-10 Kenichi Handa <handa@m17n.org> | ||
| 22879 | |||
| 22880 | * term/x-win.el (x-select-utf8-or-ctext): Use compare-strings | ||
| 22881 | instead of while loop. | ||
| 22882 | |||
| 22883 | 2004-02-10 Miles Bader <miles@gnu.org> | ||
| 22884 | |||
| 22885 | * emacs-lisp/macroexp.el: New file, implements `macroexpand-all'. | ||
| 22886 | |||
| 22887 | 2004-02-09 Kenichi Handa <handa@m17n.org> | ||
| 22888 | |||
| 22889 | * tar-mode.el (tar-extract): Fix for the case that a file doesn't | ||
| 22890 | have end-of-line. | ||
| 22891 | |||
| 22892 | 2004-02-09 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 22893 | |||
| 22894 | * Makefile.in: Added extra dependencies in the recompile target | ||
| 22895 | needed to cope with the compile time macro expansions in CC Mode. | ||
| 22896 | |||
| 22897 | 2004-02-09 Kim F. Storm <storm@cua.dk> | ||
| 22898 | |||
| 22899 | * fringe.el (no-fringe-bitmap, undef-fringe-bitmap) | ||
| 22900 | (left-truncation-fringe-bitmap, right-truncation-fringe-bitmap) | ||
| 22901 | (up-arrow-fringe-bitmap, down-arrow-fringe-bitmap) | ||
| 22902 | (continued-line-fringe-bitmap, continuation-line-fringe-bitmap) | ||
| 22903 | (overlay-arrow-fringe-bitmap, top-left-angle-fringe-bitmap) | ||
| 22904 | (top-right-angle-fringe-bitmap, bottom-left-angle-fringe-bitmap) | ||
| 22905 | (bottom-right-angle-fringe-bitmap, left-bracket-fringe-bitmap) | ||
| 22906 | (right-bracket-fringe-bitmap, filled-box-cursor-fringe-bitmap) | ||
| 22907 | (hollow-box-cursor-fringe-bitmap, hollow-square-fringe-bitmap) | ||
| 22908 | (bar-cursor-fringe-bitmap, hbar-cursor-fringe-bitmap) | ||
| 22909 | (empty-line-fringe-bitmap): Define standard fringe bitmaps id's. | ||
| 22910 | |||
| 22911 | 2004-02-08 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 22912 | |||
| 22913 | * window.el (window-safely-shrinkable-p): Don't change the buffer-list. | ||
| 22914 | Don't allow shrink if there's a window on our right. | ||
| 22915 | |||
| 22916 | * progmodes/prolog.el (prolog-program-name): Use gprolog if available. | ||
| 22917 | (prolog-mode-syntax-table, prolog-mode-abbrev-table, prolog-mode-map): | ||
| 22918 | Bring together declaration and initialization. | ||
| 22919 | (prolog-mode-variables): Don't set the syntax table. | ||
| 22920 | Don't set paragraph-start and comment-indent-function. | ||
| 22921 | Add /*..*/ to the comment regexps. | ||
| 22922 | (prolog-mode-commands): Remove. Do it during init of prolog-mode-map. | ||
| 22923 | (prolog-mode-map): Don't bind TAB. | ||
| 22924 | (prolog-mode): Set the syntax table. | ||
| 22925 | (prolog-comment-indent): Remove. | ||
| 22926 | (inferior-prolog-mode-map): Initialize in the declaration. | ||
| 22927 | (inferior-prolog-mode-syntax-table) | ||
| 22928 | (inferior-prolog-mode-abbrev-table): New vars. | ||
| 22929 | (inferior-prolog-mode): Derive from comint-mode. | ||
| 22930 | (run-prolog): Avoid switch-to-buffer which can fail in dedicated and | ||
| 22931 | minibuffer windows. | ||
| 22932 | |||
| 22933 | * progmodes/grep.el (grep-regexp-alist): Allow :, \t and ( | ||
| 22934 | in file names, as long as it is unambiguous. | ||
| 22935 | |||
| 22936 | 2004-02-08 Andreas Schwab <schwab@suse.de> | ||
| 22937 | |||
| 22938 | * textmodes/reftex-toc.el | ||
| 22939 | (reftex-toc-load-all-files-for-promotion): Remove useless use of | ||
| 22940 | format. Doc fix. | ||
| 22941 | |||
| 22942 | * textmodes/refer.el (refer-find-entry-internal): Remove extra | ||
| 22943 | format string arguments. | ||
| 22944 | |||
| 22945 | * tar-mode.el (tar-parse-octal-integer-safe): Add missing format | ||
| 22946 | string argument. | ||
| 22947 | |||
| 22948 | * progmodes/xscheme.el (verify-xscheme-buffer): Fix format strings. | ||
| 22949 | |||
| 22950 | * play/zone.el (zone-call): Fix format string. | ||
| 22951 | |||
| 22952 | * net/webjump.el (webjump-builtin): Add missing format string argument. | ||
| 22953 | |||
| 22954 | * midnight.el (midnight-delay-set): Remove extra format string | ||
| 22955 | argument. | ||
| 22956 | |||
| 22957 | * mail/rmail.el (rmail-get-new-mail): Remove useless use of format. | ||
| 22958 | |||
| 22959 | * hexl.el (hexl-insert-char): Add missing format string argument. | ||
| 22960 | |||
| 22961 | * format.el (format-decode): Fix format string. | ||
| 22962 | |||
| 22963 | * emulation/vi.el (vi-mode): Remove extra format string argument. | ||
| 22964 | (vi-repeat-last-search): Likewise. | ||
| 22965 | (vi-reverse-last-search): Likewise. | ||
| 22966 | (vi-goto-mark): Likewise. | ||
| 22967 | (vi-reverse-last-find-char): Likewise. | ||
| 22968 | (vi-repeat-last-find-char): Likewise. | ||
| 22969 | (vi-locate-def): Likewise. | ||
| 22970 | |||
| 22971 | * emacs-lisp/lisp-mnt.el (lm-verify): Remove useless use of format. | ||
| 22972 | |||
| 22973 | * ediff-util.el (ediff-toggle-read-only): Remove extra format | ||
| 22974 | string argument. | ||
| 22975 | (ediff-toggle-regexp-match): Likewise. | ||
| 22976 | |||
| 22977 | * dired-aux.el (dired-do-query-replace-regexp): Add missing | ||
| 22978 | format string argument. | ||
| 22979 | |||
| 22980 | * calc/calc-map.el (calc-get-operator): Remove extra format | ||
| 22981 | string argument. | ||
| 22982 | |||
| 22983 | * calc/calc-forms.el (calc-convert-time-zones): Fix format string. | ||
| 22984 | |||
| 22985 | * calc/calc-ext.el (calc-do-prefix-help): Remove extra format | ||
| 22986 | string argument. | ||
| 22987 | |||
| 22988 | * eshell/esh-mode.el (eshell-send-invisible): Fix format string. | ||
| 22989 | |||
| 22990 | * eshell/em-hist.el (eshell-hist-word-reference): Fix format string. | ||
| 22991 | |||
| 22992 | * emulation/viper-ex.el (ex-mark): Remove extra format string argument. | ||
| 22993 | |||
| 22994 | * emacs-lisp/cl-macs.el (defstruct): Remove extra format string arg. | ||
| 22995 | (cl-struct-setf-expander): Likewise. | ||
| 22996 | |||
| 22997 | * vc.el (with-vc-file): Fix unsafe uses of error. | ||
| 22998 | (vc-cancel-version): Likewise. | ||
| 22999 | |||
| 23000 | 2004-02-08 Jan Nieuwenhuizen <jan.nieuwenhuizen@aspiratie.nl> (tiny change) | ||
| 23001 | |||
| 23002 | * progmodes/gud.el (gud-jdb-marker-filter): Add period as optional | ||
| 23003 | thousands separator; fixes <class>:<line-number> regexp for | ||
| 23004 | non-english locales. | ||
| 23005 | |||
| 23006 | 2004-02-08 Andreas Schwab <schwab@suse.de> | ||
| 23007 | |||
| 23008 | * view.el (view-mode-enable): Revert previous change. | ||
| 23009 | |||
| 23010 | 2004-02-07 Kim F. Storm <storm@cua.dk> | ||
| 23011 | |||
| 23012 | * simple.el (line-number-at-pos): Rename from line-at-pos. | ||
| 23013 | Uses changed (what-line and vc-annotate-warp-version). | ||
| 23014 | |||
| 23015 | 2004-02-06 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 23016 | |||
| 23017 | * diff-mode.el (diff-file-regexp-alist, diff-error-regexp-alist) | ||
| 23018 | (diff-mode): Remove aborted attempt at support for compile.el. | ||
| 23019 | (diff-mode, diff-minor-mode): Avoid obsolete write-contents-hooks. | ||
| 23020 | |||
| 23021 | 2004-02-06 Andreas Schwab <schwab@suse.de> | ||
| 23022 | |||
| 23023 | * view.el (view-mode-enable): Add view-mode-map to | ||
| 23024 | minor-mode-overriding-map-alist. | ||
| 23025 | |||
| 23026 | 2004-02-05 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 23027 | |||
| 23028 | * x-dnd.el (x-dnd-get-local-file-name): Fix byte compiler warning | ||
| 23029 | |||
| 23030 | 2004-02-04 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 23031 | |||
| 23032 | * progmodes/cperl-mode.el (cperl-fill-paragraph): Call fill-paragraph | ||
| 23033 | with point inside rather than after the paragraph. | ||
| 23034 | |||
| 23035 | 2004-02-04 Sam Steingold <sds@gnu.org> | ||
| 23036 | |||
| 23037 | * mail/smtpmail.el (smtpmail-try-auth-methods): | ||
| 23038 | Do not try authentication when no mechanism is available. | ||
| 23039 | Pass port-name as defaultport to `netrc-machine'. | ||
| 23040 | |||
| 23041 | 2004-02-04 Stephen Eglen <stephen@gnu.org> | ||
| 23042 | |||
| 23043 | * iswitchb.el (iswitchb-minibuffer-setup-hook): Update doc string | ||
| 23044 | to show how minibuffer height can be constrained. | ||
| 23045 | |||
| 23046 | 2004-02-04 John Paul Wallington <jpw@gnu.org> | ||
| 23047 | |||
| 23048 | * files.el (auto-mode-alist): Fix .scm, .stk, .ss, .sch entry. | ||
| 23049 | |||
| 23050 | 2004-02-03 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 23051 | |||
| 23052 | * x-dnd.el: New file for drag and drop. | ||
| 23053 | |||
| 23054 | * term/x-win.el: require x-dnd, set after-make-frame-functions | ||
| 23055 | to x-dnd-init-frame, let x-dnd-handle-drag-n-drop-event handle | ||
| 23056 | drag-n-drop event. | ||
| 23057 | |||
| 23058 | * dired.el (dired-dnd-test-function, dired-dnd-popup-notice) | ||
| 23059 | (dired-dnd-do-ask-action, dired-dnd-handle-local-file) | ||
| 23060 | (dired-dnd-handle-file): New functions for drag and drop support. | ||
| 23061 | (dired-mode): Initialize drag and drop if x-dnd present. | ||
| 23062 | |||
| 23063 | 2004-02-02 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 23064 | |||
| 23065 | * progmodes/cperl-mode.el (cperl-mode-map, cperl-do-auto-fill) | ||
| 23066 | (cperl-menu): Use fill-paragraph, not cperl-fill-paragraph. | ||
| 23067 | (cperl-mode): Set fill-paragraph-function. | ||
| 23068 | (cperl-fill-paragraph): Make it non-interactive. | ||
| 23069 | |||
| 23070 | 2004-02-02 Benjamin Rutt <brutt@bloomington.in.us> | ||
| 23071 | |||
| 23072 | * diff-mode.el (diff-mode-shared-map): Bind q to `quit-window'. | ||
| 23073 | |||
| 23074 | 2004-02-02 David Kastrup <dak@gnu.org> | ||
| 23075 | |||
| 23076 | * replace.el (perform-replace): Allow 'literal argument in | ||
| 23077 | regexp-flag to indicate literal replacement. | ||
| 23078 | (query-replace-regexp-eval): Use it. | ||
| 23079 | |||
| 23080 | 2004-02-01 Andreas Schwab <schwab@suse.de> | ||
| 23081 | |||
| 23082 | * progmodes/executable.el (executable-command-find-posix-p): Doc fix. | ||
| 23083 | |||
| 23084 | 2004-02-01 Stephen Eglen <stephen@gnu.org> | ||
| 23085 | |||
| 23086 | * info-look.el: Add support for maxima-mode. Update commentary | ||
| 23087 | because info-lookup-symbol is now bound to C-h S. | ||
| 23088 | |||
| 23089 | 2004-01-31 Luc Teirlinck <teirllm@auburn.edu> | ||
| 23090 | |||
| 23091 | * simple.el (edit-and-eval-command): Bind print-level and | ||
| 23092 | minibuffer-history-sexp-flag around call to read-from-minibuffer. | ||
| 23093 | Correct initial position in command-history. | ||
| 23094 | |||
| 23095 | 2004-01-30 Luc Teirlinck <teirllm@auburn.edu> | ||
| 23096 | |||
| 23097 | * files.el (read-directory-name): Adapt the docstring to recent | ||
| 23098 | change in Fread_file_name. | ||
| 23099 | |||
| 23100 | 2004-01-30 Jonathan Yavner <jyavner@member.fsf.org> | ||
| 23101 | |||
| 23102 | * ses.el (ses-print-cell): If print format too wide for column | ||
| 23103 | width, truncate decimal places if that helps to avoid "#####" fill. | ||
| 23104 | * ses.el (ses-initial-column-width): Revert previous change. | ||
| 23105 | |||
| 23106 | 2004-01-29 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 23107 | |||
| 23108 | * jit-lock.el (jit-lock-context-time, jit-lock-context-timer): New var. | ||
| 23109 | (with-buffer-unmodified, with-buffer-prepared-for-jit-lock): | ||
| 23110 | Add edebug info. | ||
| 23111 | (jit-lock-mode): Setup/cancel the new timer. | ||
| 23112 | (jit-lock-context-fontify): New fun. Extracted from | ||
| 23113 | context fontification code of jit-lock-stealth-fontify. | ||
| 23114 | (jit-lock-stealth-fontify): Don't do context fontification any more. | ||
| 23115 | |||
| 23116 | * jit-lock.el (jit-lock-stealth-fontify): Allow quit. | ||
| 23117 | (jit-lock-fontify-now): Handle the `quit' case. | ||
| 23118 | (jit-lock-contextually): Rename from jit-lock-defer-contextually. | ||
| 23119 | |||
| 23120 | 2004-01-29 Jari Aalto <jari.aalto@poboxes.com> | ||
| 23121 | |||
| 23122 | * progmodes/executable.el (executable-command-find-posix-p): | ||
| 23123 | New. Check if find handles arguments Posix-style. | ||
| 23124 | |||
| 23125 | * progmodes/grep.el (grep-compute-defaults): | ||
| 23126 | Use executable-command-find-posix-p. | ||
| 23127 | (grep-find): Check `grep-find-command'. | ||
| 23128 | |||
| 23129 | * filecache.el (file-cache-find-posix-p): Delete. | ||
| 23130 | (file-cache-add-directory-using-find): | ||
| 23131 | Use `executable-command-find-posix-p'. | ||
| 23132 | |||
| 23133 | 2004-01-29 Dave Love <fx@gnu.org> | ||
| 23134 | |||
| 23135 | * emacs-lisp/lisp.el (beginning-of-defun-raw, end-of-defun): | ||
| 23136 | Iterate the hook function if arg is given. | ||
| 23137 | (mark-defun, narrow-to-defun): Change order of finding the limits. | ||
| 23138 | |||
| 23139 | * emacs-lisp/bytecomp.el (byte-compile-compatibility): Doc fix. | ||
| 23140 | (byte-compile-format-warn): New. | ||
| 23141 | (byte-compile-callargs-warn): Use it. | ||
| 23142 | (Format, message, error): Add byte-compile-format-like property. | ||
| 23143 | (byte-compile-maybe-guarded): New. | ||
| 23144 | (byte-compile-if, byte-compile-cond): Use it. | ||
| 23145 | (byte-compile-lambda): Compile interactive forms, | ||
| 23146 | just to make warnings about them. | ||
| 23147 | |||
| 23148 | 2004-01-29 Jonathan Yavner <jyavner@member.fsf.org> | ||
| 23149 | |||
| 23150 | * ses.el (ses-initial-column-width): Increase to 14, so it will | ||
| 23151 | work well with the default printer of "%.7g" for extreme values | ||
| 23152 | like "-1.234567e+07". | ||
| 23153 | |||
| 23154 | 2004-01-29 Kenichi Handa <handa@m17n.org> | ||
| 23155 | |||
| 23156 | * term/x-win.el (x-selection-value): Optimize for ASCII only case. | ||
| 23157 | |||
| 23158 | 2004-01-28 Peter 'Luna' Runestig <peter@runestig.com> | ||
| 23159 | |||
| 23160 | * dos-w32.el: Added support for the `default-printer-name' function. | ||
| 23161 | |||
| 23162 | 2004-01-27 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 23163 | |||
| 23164 | * server.el (server-socket-name): Don't use the hostname in the | ||
| 23165 | socket name since /tmp is local to the host anyway. | ||
| 23166 | |||
| 23167 | * emacs-lisp/easy-mmode.el (easy-mmode-define-navigation): Use a more | ||
| 23168 | robust check of widening and fix var-naming. | ||
| 23169 | |||
| 23170 | 2004-01-27 Eli Tziperman <eli@deas.harvard.edu> | ||
| 23171 | |||
| 23172 | * rmail-spam-filter.el: Change rmail-spam-filter- or spam-filter- | ||
| 23173 | or rmail-spam- to rsf- in all function and variable names. | ||
| 23174 | (rsf-min-region-to-spam-list): New variable. | ||
| 23175 | (rsf-bbdb-auto-delete-spam-entries): Rename from | ||
| 23176 | rmail-bbdb-auto-delete-spam-bbdb-entries. The cc: field is | ||
| 23177 | scanned together with the recipients field for spam testing; Don't | ||
| 23178 | delete spam message if rmail-delete-after-output is non-nil; | ||
| 23179 | (rsf-check-field): New function, extracted from code in | ||
| 23180 | rmail-spam-filter to ease addition of header fields like | ||
| 23181 | content-type:; | ||
| 23182 | (message-content-type): New variable. The content-type: field was | ||
| 23183 | added also in defcustom of rsf-definitions-alist; | ||
| 23184 | (rmail-spam-filter): Replace repeated test code for header fields | ||
| 23185 | by calls to check-field; change the call to | ||
| 23186 | rmail-output-to-rmail-file such that rmail-current-message stays | ||
| 23187 | the same to avoid wrong deletion of unseen flags. | ||
| 23188 | (rmail-use-spam-filter): Add autoload cookie. | ||
| 23189 | |||
| 23190 | 2004-01-27 Jari Aalto <jari.aalto@poboxes.com> | ||
| 23191 | |||
| 23192 | * filecache.el (file-cache-find-posix-p): New function. Detect Cygwin. | ||
| 23193 | (file-cache-add-directory-using-find): Add Cygwin support. | ||
| 23194 | (file-cache-find-command-posix-flag): New user variable. | ||
| 23195 | |||
| 23196 | * filecache.el (file-cache-add-directory): Check for | ||
| 23197 | directories an remove them from dir-files. | ||
| 23198 | |||
| 23199 | 2004-01-27 Richard M. Stallman <rms@gnu.org> | ||
| 23200 | |||
| 23201 | * man.el (Man-fontify-manpage): Clean up message. | ||
| 23202 | |||
| 23203 | 2004-01-27 Kenichi Handa <handa@m17n.org> | ||
| 23204 | |||
| 23205 | * textmodes/paragraphs.el (sentence-end-without-space): New variable. | ||
| 23206 | (sentence-end): Define using sentence-end-without-space. | ||
| 23207 | |||
| 23208 | * textmodes/fill.el (fill-delete-newlines): Don't add a space if | ||
| 23209 | a sentence ends with one of a character in sentence-end-without-space. | ||
| 23210 | |||
| 23211 | 2004-01-26 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 23212 | |||
| 23213 | * font-lock.el (font-lock): Add jit-lock as explicit group member. | ||
| 23214 | (jit-lock): Group declaration moved to jit-lock.el. | ||
| 23215 | (toplevel): Don't explicitly require jit-lock, since it's autoloaded | ||
| 23216 | when necessary. | ||
| 23217 | |||
| 23218 | * jit-lock.el (jit-lock): Move group declaration from font-lock.el. | ||
| 23219 | (jit-lock-context-unfontify-pos): Rename from | ||
| 23220 | jit-lock-first-unfontify-pos. | ||
| 23221 | (jit-lock-defer-buffers): Rename from jit-lock-buffers. | ||
| 23222 | |||
| 23223 | 2004-01-25 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 23224 | |||
| 23225 | * progmodes/fortran.el (fortran-break-before-delimiters): Doc fix. | ||
| 23226 | (fortran-break-delimiters-re, fortran-no-break-re): New consts. | ||
| 23227 | (fortran-fill): When filling a string, adjust re-search-backward | ||
| 23228 | argument for special case of string just on fill-column. | ||
| 23229 | When filling non-string, allow one extra char if | ||
| 23230 | fortran-break-before-delimiters is non-nil. | ||
| 23231 | Suggested by Michael Hagemann <michael.hagemann@unibas.ch>. | ||
| 23232 | Use fortran-break-delimiters-re and fortran-no-break-re to | ||
| 23233 | correctly handle cases such as "**". | ||
| 23234 | |||
| 23235 | * progmodes/f90.el (f90-break-delimiters): Doc fix. | ||
| 23236 | (f90-no-break-re): Add some extra tokens. Doc fix. | ||
| 23237 | |||
| 23238 | 2004-01-24 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 23239 | |||
| 23240 | * mail/rmail-spam-filter.el: | ||
| 23241 | Use two semicolons as Commentary line prefix. | ||
| 23242 | Add ";;; Code:" stylized comment. | ||
| 23243 | Delete end-of-line whitespace. | ||
| 23244 | Wrap (require 'cl) with `eval-when-compile'. | ||
| 23245 | |||
| 23246 | 2004-01-23 Benjamin Rutt <brutt@bloomington.in.us> | ||
| 23247 | |||
| 23248 | * vc.el (vc-annotate): Fix improper use of `make-local-variable' | ||
| 23249 | at the top level of vc.el. | ||
| 23250 | |||
| 23251 | 2004-01-23 Andre Spiegel <spiegel@gnu.org> | ||
| 23252 | |||
| 23253 | * vc.el (vc-current-line): Function removed. This is now done by | ||
| 23254 | the new function line-at-pos in simple.el. | ||
| 23255 | (vc-annotate-warp-version): Use line-at-pos instead of | ||
| 23256 | vc-current-line. | ||
| 23257 | |||
| 23258 | 2004-01-22 Kim F. Storm <storm@cua.dk> | ||
| 23259 | |||
| 23260 | * simple.el (line-at-pos): New defun. | ||
| 23261 | (what-line): Use it. Optimize by only counting lines in narrowed | ||
| 23262 | region once. | ||
| 23263 | |||
| 23264 | 2004-01-22 Kenichi Handa <handa@m17n.org> | ||
| 23265 | |||
| 23266 | * language/cyrillic.el (ccl-encode-windows-1251-font): Rearrange code | ||
| 23267 | point (register r1) only for charset mule-unicode-0100-24ff. | ||
| 23268 | |||
| 23269 | 2004-01-21 Markus Rost <rost@mathematik.uni-bielefeld.de> | ||
| 23270 | |||
| 23271 | * mail/rmail.el (rmail-convert-to-babyl-format): Avoid deleting | ||
| 23272 | trailing white space and ensure a final newline. | ||
| 23273 | |||
| 23274 | * mail/rmail-spam-filter.el (rmail-use-spam-filter): | ||
| 23275 | Add autoload cookie. | ||
| 23276 | |||
| 23277 | 2004-01-21 Benjamin Rutt <brutt@bloomington.in.us> | ||
| 23278 | |||
| 23279 | * vc.el (vc-annotate-mode): Inherit from fundamental-mode and | ||
| 23280 | activate view-mode explicitly. | ||
| 23281 | |||
| 23282 | 2004-01-21 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 23283 | |||
| 23284 | * term/x-win.el (x-clipboard-yank, menu-bar-edit-menu): Call | ||
| 23285 | menu-bar-enable-clipboard and make Paste use clipboard first. | ||
| 23286 | |||
| 23287 | 2004-01-20 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 23288 | |||
| 23289 | * vc-mcvs.el (vc-mcvs-mode-line-string): Remove. Does not work. | ||
| 23290 | (vc-mcvs-workfile-version): Manually macro expand vc-mcvs-cvs. | ||
| 23291 | (vc-mcvs-cvs): Remove. | ||
| 23292 | (vc-mcvs-command): Remove use of assert. | ||
| 23293 | |||
| 23294 | * outline.el (outline-insert-heading): Tighten up match. | ||
| 23295 | (outline-demote, outline-move-subtree-down): Don't assume anything | ||
| 23296 | about outline-regexp. | ||
| 23297 | |||
| 23298 | * textmodes/texinfo.el (texinfo-mode): Remove ^ from outline-regexp. | ||
| 23299 | (texinfo-show-structure): Explicitly add ^, and simplify. | ||
| 23300 | |||
| 23301 | 2004-01-20 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 23302 | |||
| 23303 | * calendar/appt.el (appt-check): Restore usage of | ||
| 23304 | appt-issue-message deleted in previous change. | ||
| 23305 | (top-level): Activate package when loaded (needed for backwards | ||
| 23306 | compatibility). | ||
| 23307 | |||
| 23308 | 2004-01-20 Jesper Harder <harder@ifa.au.dk> | ||
| 23309 | |||
| 23310 | * mail/smtpmail.el (smtpmail-via-smtp): No need to add two bytes | ||
| 23311 | following previous change to smtpmail-send-data. | ||
| 23312 | |||
| 23313 | 2004-01-20 Benjamin Rutt <brutt@bloomington.in.us> | ||
| 23314 | |||
| 23315 | * vc.el (vc-default-previous-version): Doc enhancement. | ||
| 23316 | (vc-default-next-version): New function. | ||
| 23317 | (vc-print-log): New arg FOCUS-REV. | ||
| 23318 | (vc-annotate-mode): Derive from view-mode. | ||
| 23319 | (vc-annotate): New args REVISION, DISPLAY-MODE. | ||
| 23320 | (vc-annotate-workfile-version, vc-annotate-extract-revision-at-line) | ||
| 23321 | (vc-annotate-revision-at-line, vc-annotate-revision-previous-to-line) | ||
| 23322 | (vc-annotate-show-log-revision-at-line, vc-annotate-warp-version) | ||
| 23323 | (vc-annotate-show-diff-revision-at-line, vc-current-line) | ||
| 23324 | (vc-annotate-prev-version, vc-annotate-next-version): New functions. | ||
| 23325 | |||
| 23326 | * vc-cvs.el (vc-cvs-annotate-extract-revision-at-line): New function. | ||
| 23327 | |||
| 23328 | 2004-01-19 Karl Berry <karl@gnu.org> | ||
| 23329 | |||
| 23330 | * textmodes/texinfo.el: Use "Texinfo" consistently, no "TeXinfo" | ||
| 23331 | or "TexInfo". | ||
| 23332 | |||
| 23333 | 2004-01-19 Luc Teirlinck <teirllm@auburn.edu> | ||
| 23334 | |||
| 23335 | * subr.el (delete-dups): New function. | ||
| 23336 | |||
| 23337 | 2004-01-19 Karl Berry <karl@gnu.org> | ||
| 23338 | |||
| 23339 | * textmodes/texinfo.el (texinfo-mode): Define outline-regexp to start | ||
| 23340 | with ^, since that's what texinfo-show-structure | ||
| 23341 | documentation says (plus it works much better in texinfo.txi). | ||
| 23342 | |||
| 23343 | 2004-01-18 Jesper Harder <harder@ifa.au.dk> | ||
| 23344 | |||
| 23345 | * mail/smtpmail.el (smtpmail-send-data): Don't append spurious newline. | ||
| 23346 | |||
| 23347 | 2004-01-18 David Ponce <david@dponce.com> (tiny change) | ||
| 23348 | |||
| 23349 | * progmodes/which-func.el (which-function-mode): Don't cancel | ||
| 23350 | which-func-update-timer if not set. | ||
| 23351 | |||
| 23352 | 2004-01-17 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 23353 | |||
| 23354 | * calendar/diary-lib.el (diary-entry-time): Fix typo/bug: | ||
| 23355 | Remove spurious left square bracket in XX:XXam regexp. | ||
| 23356 | |||
| 23357 | 2004-01-16 Luc Teirlinck <teirllm@auburn.edu> | ||
| 23358 | |||
| 23359 | * progmodes/cc-defs.el: Do not require cl at run time. | ||
| 23360 | |||
| 23361 | 2004-01-16 Richard M. Stallman <rms@gnu.org> | ||
| 23362 | |||
| 23363 | * emacs-lisp/cl.el (cl-cannot-unload): New function. | ||
| 23364 | (cl-unload-hook): Defvar this to run cl-cannot-unload. | ||
| 23365 | |||
| 23366 | * mail/rmail.el (rmail-get-new-mail): New local rsf-number-of-spam. | ||
| 23367 | Call rmail-spam-filter. Delete and expunge spam. | ||
| 23368 | Print number of spam messages deleted. | ||
| 23369 | Save and restore the deletion status of old messages when reading | ||
| 23370 | new mail with spam filter, so that expunging spam does not expunge | ||
| 23371 | msgs deleted by the user. | ||
| 23372 | (rmail-only-expunge): Add an optional argument dont-show to | ||
| 23373 | prevent showing message after expunge. | ||
| 23374 | |||
| 23375 | 2004-01-15 Luc Teirlinck <teirllm@auburn.edu> | ||
| 23376 | |||
| 23377 | * emacs-lisp/cl.el (declare): Add `fmakunbound' for `declare'. | ||
| 23378 | * subr.el (declare): New macro. | ||
| 23379 | |||
| 23380 | 2004-01-15 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 23381 | |||
| 23382 | * progmodes/scheme.el (scheme-font-lock-keywords-2): Add "force". | ||
| 23383 | |||
| 23384 | 2004-01-14 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 23385 | |||
| 23386 | * mwheel.el (mouse-wheel-down-event, mouse-wheel-up-event): | ||
| 23387 | Test window-system rather than system-type (for X11/Mac). | ||
| 23388 | |||
| 23389 | 2004-01-12 Luc Teirlinck <teirllm@auburn.edu> | ||
| 23390 | |||
| 23391 | * emacs-lisp/bytecomp.el (compile-defun): Doc fix. | ||
| 23392 | |||
| 23393 | 2004-01-12 Richard M. Stallman <rms@gnu.org> | ||
| 23394 | |||
| 23395 | * mail/rmail.el (rmail-convert-to-babyl-format): | ||
| 23396 | Use mail-unquote-printable-region. | ||
| 23397 | (rmail-hex-string-to-integer, rmail-decode-quoted-printable): | ||
| 23398 | (rmail-hex-char-to-integer): Functions deleted. | ||
| 23399 | |||
| 23400 | * mail/mail-utils.el (mail-unquote-printable-hexdigit): Upcase CHAR. | ||
| 23401 | (mail-unquote-printable-region): New arg NOERROR. | ||
| 23402 | For invalid encoding, either signal an error to just return nil. | ||
| 23403 | |||
| 23404 | 2004-01-11 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 23405 | |||
| 23406 | * calendar/appt.el: Update copyright and commentary. | ||
| 23407 | (appt-issue-message): Make obsolete. | ||
| 23408 | (appt-visible, appt-msg-window): Make obsolete, in favor of | ||
| 23409 | appt-display-format. | ||
| 23410 | (appt-display-mode-line, appt-display-duration) | ||
| 23411 | (appt-display-diary, appt-time-msg-list, appt-mode-string) | ||
| 23412 | (appt-prev-comp-time, appt-display-count, appt-timer) | ||
| 23413 | (appt-convert-time): Doc change. | ||
| 23414 | (appt-disp-window-function, appt-delete-window-function): | ||
| 23415 | Use defcustom rather than defvar. | ||
| 23416 | (appt-display-format): New variable. | ||
| 23417 | (appt-display-message): New function with display code from appt-check. | ||
| 23418 | (appt-check): Add optional FORCE argument. Doc change. | ||
| 23419 | Add appt-make-list to diary-hook if displaying diary. | ||
| 23420 | Remove checking of view-diary-entries-initially. | ||
| 23421 | Message display section removed to new function appt-display-message. | ||
| 23422 | (appt-display-window): Doc change. Remove unused internal var | ||
| 23423 | this-buffer. Do not beep, since appt-display-message does that. | ||
| 23424 | (appt-make-list): Doc change. Use caar. | ||
| 23425 | (appt-sort-list): Simplify by using builtin sort function. | ||
| 23426 | (appt-update-list): New function for updating appts when diary is | ||
| 23427 | saved. | ||
| 23428 | (appt-activate): New autoloaded function to toggle package | ||
| 23429 | functionality. | ||
| 23430 | |||
| 23431 | * calendar/cal-x.el: (calendar-one-frame-setup) | ||
| 23432 | (calendar-only-one-frame-setup, calendar-two-frame-setup): Doc change. | ||
| 23433 | |||
| 23434 | * calendar/calendar.el: Update copyright. | ||
| 23435 | (view-diary-entries-initially, european-calendar-style): Doc change. | ||
| 23436 | (calendar-setup): Make defcustom rather than defvar. | ||
| 23437 | (mark-visible-calendar-date): Initialize temp-face and faceinfo | ||
| 23438 | in let binding so local to function. | ||
| 23439 | |||
| 23440 | * calendar/diary-lib.el: Update copyright. | ||
| 23441 | (diary, diary-entry-time): Doc change. | ||
| 23442 | (list-diary-entries): Doc change. Trivial logic change. | ||
| 23443 | (fancy-diary-display): Restore make-face command mistakenly | ||
| 23444 | deleted 2003-05-08. | ||
| 23445 | (show-all-diary-entries): Allow to pop-up frame if needed. | ||
| 23446 | |||
| 23447 | 2004-01-09 John Paul Wallington <jpw@gnu.org> | ||
| 23448 | |||
| 23449 | * bindings.el (mode-line-change-eol): Add EVENT parameter. | ||
| 23450 | Temporarily select EVENT's window for changing eol type. | ||
| 23451 | |||
| 23452 | 2004-01-09 Deepak Goel <deego@gnufans.org> | ||
| 23453 | |||
| 23454 | * calendar/diary-lib.el (diary-entry-time): | ||
| 23455 | Also accept time in the form XX[.XX][am/pm/AM/PM]. | ||
| 23456 | (fancy-diary-font-lock-keywords): Likewise. | ||
| 23457 | (diary-font-lock-keywords): Likewise. | ||
| 23458 | * calendar/appt.el (appt-add): Likewise. | ||
| 23459 | (appt-make-list): Likewise. | ||
| 23460 | (appt-convert-time): Likewise. | ||
| 23461 | |||
| 23462 | 2004-01-08 Nick Roberts <nick@nick.uklinux.net> | ||
| 23463 | |||
| 23464 | * gdb-ui.el (gdb-ann3): Revert previous change. | ||
| 23465 | (gdb-source-info): Allow for case of where compilation directory | ||
| 23466 | is not recorded. | ||
| 23467 | |||
| 23468 | 2004-01-08 John Paul Wallington <jpw@gnu.org> | ||
| 23469 | |||
| 23470 | * emerge.el (emerge-restore-buffer-characteristics): Doc fix. | ||
| 23471 | |||
| 23472 | 2004-01-07 Nick Roberts <nick@nick.uklinux.net> | ||
| 23473 | |||
| 23474 | * progmodes/gud.el (gdb-first-prompt): Rename from gdb-first-pre-prompt | ||
| 23475 | |||
| 23476 | * gdb-ui.el (gdba): Avoid duplication, use gdb-ann3. | ||
| 23477 | (gdb-ann3): Use GDB command "set width 0" to prevent word wrapping | ||
| 23478 | problems. | ||
| 23479 | (gdb-prompt): Set (renamed) gdb-first-prompt to nil in gdb-ann3. | ||
| 23480 | |||
| 23481 | 2004-01-07 Luc Teirlinck <teirllm@auburn.edu> | ||
| 23482 | |||
| 23483 | * files.el (write-file-functions, write-contents-functions): | ||
| 23484 | Clarify docstrings. | ||
| 23485 | |||
| 23486 | 2004-01-07 Kenichi Handa <handa@m17n.org> | ||
| 23487 | |||
| 23488 | * international/mule.el (set-auto-coding): Fix for the case that | ||
| 23489 | end-of-line is only CR. | ||
| 23490 | |||
| 23491 | 2004-01-07 Kim F. Storm <storm@cua.dk> | ||
| 23492 | |||
| 23493 | * subr.el (event-start, event-end): Doc fix. | ||
| 23494 | (posn-string, posn-image): New defuns. | ||
| 23495 | (posn-object): Return either image or string object. | ||
| 23496 | (posn-object-x-y): Return 8th element of position. | ||
| 23497 | (posn-object-width-height): New defun. | ||
| 23498 | |||
| 23499 | 2004-01-06 Andreas Schwab <schwab@suse.de> | ||
| 23500 | |||
| 23501 | * gdb-ui.el (gdb-frame-handler): Handle word wrapping anywhere in | ||
| 23502 | output. | ||
| 23503 | |||
| 23504 | 2004-01-05 Karl Berry <karl@gnu.org> | ||
| 23505 | |||
| 23506 | * emacs-lisp/copyright.el (copyright-regexp): Might as well allow | ||
| 23507 | / and *, too. | ||
| 23508 | |||
| 23509 | 2003-12-31 Simon Josefsson <jas@extundo.com> | ||
| 23510 | |||
| 23511 | * files.el (before-save-hook): Add. | ||
| 23512 | (basic-save-buffer): Use before-save-hook. | ||
| 23513 | |||
| 23514 | * emacs-lisp/copyright.el: Fix comment to recommend | ||
| 23515 | before-save-hook instead of write-file-functions. | ||
| 23516 | |||
| 23517 | 2004-01-05 Richard M. Stallman <rms@gnu.org> | ||
| 23518 | |||
| 23519 | * finder.el (finder-commentary): Call delete-other-windows. | ||
| 23520 | |||
| 23521 | * net/ange-ftp.el (ange-ftp-file-attributes): | ||
| 23522 | Pass 2 args to ange-ftp-real-file-attributes only if ID-FORMAT non-nil. | ||
| 23523 | |||
| 23524 | 2004-01-04 Karl Berry <karl@gnu.org> | ||
| 23525 | |||
| 23526 | * emacs-lisp/copyright.el (copyright-regexp): Allow the common | ||
| 23527 | comment characters % and # in the copyright year notice, | ||
| 23528 | as well as ;. | ||
| 23529 | |||
| 23530 | 2004-01-04 Per Abrahamsen <abraham@dina.kvl.dk> | ||
| 23531 | |||
| 23532 | * wid-edit.el (default): Define dummy :value-delete. | ||
| 23533 | Reported by Jesper Harder <harder@ifa.au.dk>. | ||
| 23534 | |||
| 23535 | 2004-01-03 Richard M. Stallman <rms@gnu.org> | ||
| 23536 | |||
| 23537 | * progmodes/compile.el (compile-internal): Use point, not point-min, | ||
| 23538 | for set-window-point. | ||
| 23539 | |||
| 23540 | * textmodes/tex-mode.el (latex-find-indent): Avoid error at end of buf. | ||
| 23541 | |||
| 23542 | * emacs-lisp/lisp-mnt.el (lm-section-end): Require outline. | ||
| 23543 | |||
| 23544 | * progmodes/grep.el (grep-mode-map): | ||
| 23545 | Don't remap next-line, previous-line. | ||
| 23546 | |||
| 23547 | 2004-01-03 Eric M. Ludlam <eric@siege-engine.com> | ||
| 23548 | |||
| 23549 | * speedbar.el (speedbar-edit-line): Change regexp to position | ||
| 23550 | the cursor on the first character of this line's button. | ||
| 23551 | |||
| 23552 | 2004-01-03 Luc Teirlinck <teirllm@auburn.edu> | ||
| 23553 | |||
| 23554 | * subr.el (functionp): Doc fix. | ||
| 23555 | |||
| 23556 | 2004-01-03 Jesper Harder <harder@ifa.au.dk> (tiny change) | ||
| 23557 | |||
| 23558 | * progmodes/idlwave.el (idlwave-make-tags): | ||
| 23559 | * textmodes/flyspell.el (flyspell-large-region):. | ||
| 23560 | * progmodes/make-mode.el (makefile-query-by-make-minus-q): | ||
| 23561 | * emulation/viper-util.el (viper-glob-unix-files): | ||
| 23562 | * emacs-lisp/shadow.el (shadow-same-file-or-nonexistent): | ||
| 23563 | * man.el (Man-init-defvars): | ||
| 23564 | * jka-compr.el (jka-compr-call-process): | ||
| 23565 | * files.el (get-free-disk-space,insert-directory): | ||
| 23566 | * ediff-ptch.el (ediff-test-patch-utility): | ||
| 23567 | * ediff-diff.el (ediff-test-utility): | ||
| 23568 | * dired-aux.el (dired-check-process): | ||
| 23569 | * mail/sendmail.el (sendmail-send-it): Don't use = or zerop to | ||
| 23570 | test the return value of call-process, because it can be a string. | ||
| 23571 | |||
| 23572 | 2003-12-31 John Paul Wallington <jpw@gnu.org> | ||
| 23573 | |||
| 23574 | * bindings.el (completion-ignored-extensions): Add .pfsl. | ||
| 23575 | |||
| 23576 | 2003-12-31 Kim F. Storm <storm@cua.dk> | ||
| 23577 | |||
| 23578 | * ido.el (ido-nonreadable-directory-p): New defun to check for | ||
| 23579 | nonreadable directory without activating tramp (to avoid problems | ||
| 23580 | with checking incomplete tramp paths). | ||
| 23581 | (ido-set-current-directory, ido-file-internal) | ||
| 23582 | (ido-file-name-all-completions1): Use it. | ||
| 23583 | |||
| 23584 | 2003-12-30 Luc Teirlinck <teirllm@auburn.edu> | ||
| 23585 | |||
| 23586 | * help-mode.el (help-xref-info-regexp): Make hyperlinks to Info | ||
| 23587 | documentation if the anchor (or node) name is preceded by `info | ||
| 23588 | anchor' or `Info anchor' in addition to earlier `info node' and | ||
| 23589 | `Info node'. | ||
| 23590 | (help-make-xrefs): Adapt to new value of `help-xref-info-regexp'. | ||
| 23591 | |||
| 23592 | 2003-12-30 Eli Zaretskii <eliz@gnu.org> | ||
| 23593 | |||
| 23594 | * mail/rmail.el (rmail-convert-to-babyl-format): Fix off-by-one | ||
| 23595 | error in arguments to base64-decode-region. Remove ^M characters | ||
| 23596 | after decoding base64. | ||
| 23597 | |||
| 23598 | 2003-12-30 Simon Josefsson <jas@extundo.com> | ||
| 23599 | |||
| 23600 | * textmodes/texinfo.el: Change maintainer to FSF. Suggested by | ||
| 23601 | karl@freefriends.org (Karl Berry), since the Texinfo Elisp files | ||
| 23602 | have only been distributed with Emacs for some years. | ||
| 23603 | (texinfo-mode-hook): Customize. | ||
| 23604 | |||
| 23605 | 2003-12-30 Eli Zaretskii <eliz@gnu.org> | ||
| 23606 | |||
| 23607 | * mail/rmail.el (rmail-convert-to-babyl-format): Make the code | ||
| 23608 | cleaner (suggested by Richard Stallman). | ||
| 23609 | |||
| 23610 | * progmodes/gud.el (gud-tool-bar-map): Modify names of icon files | ||
| 23611 | for gud-next, gud-nexti, gud-step and gud-stepi to prevent | ||
| 23612 | file-name clashes on 8+3 DOS filesystems. | ||
| 23613 | |||
| 23614 | * toolbar/gud-next.pbm, toolbar/gud-next.xpm | ||
| 23615 | * toolbar/gud-nexti.pbm, toolbar/gud-nexti.xpm | ||
| 23616 | * toolbar/gud-step.pbm, toolbar/gud-step.xpm | ||
| 23617 | * toolbar/gud-stepi.pbm, toolbar/gud-stepi.xpm: Renamed to | ||
| 23618 | gud-n.*, gud-ni.*, gud-s.*, and gud-si.*, respectively, to avoid | ||
| 23619 | file-name clashes on 8+3 filesystems. | ||
| 23620 | |||
| 23621 | * emacs-lisp/tcover-unsafep.el, emacs-lisp/tcover-ses.el: | ||
| 23622 | Renamed from testcover-unsafep.el and testcover-ses.el to avoid | ||
| 23623 | file-name clashes on 8+3 DOS filesystems. | ||
| 23624 | |||
| 23625 | 2003-12-29 Richard M. Stallman <rms@gnu.org> | ||
| 23626 | |||
| 23627 | * mail/mail-utils.el (mail-unquote-printable-hexdigit): | ||
| 23628 | Upcase the character. | ||
| 23629 | |||
| 23630 | * textmodes/flyspell.el (mail-mode-flyspell-verify): | ||
| 23631 | Search for header separator alone on a line, literally, | ||
| 23632 | and search for it backward, not forward. | ||
| 23633 | (flyspell-abbrev-table): Always use global-abbrev-table | ||
| 23634 | if there is no local one. | ||
| 23635 | |||
| 23636 | * progmodes/sh-script.el (sh-get-indent-info): | ||
| 23637 | Don't move point back if at bob. | ||
| 23638 | |||
| 23639 | * progmodes/antlr-mode.el (save-buffer-state-x): Use with-no-warnings. | ||
| 23640 | |||
| 23641 | * play/handwrite.el (handwrite): Make the handwrite credit message | ||
| 23642 | a comment rather than an output command. | ||
| 23643 | |||
| 23644 | * obsolete/sc.el: Display message that this file is obsolete. | ||
| 23645 | |||
| 23646 | * net/ange-ftp.el (ange-ftp-start-process): Copy the environment. | ||
| 23647 | |||
| 23648 | * mail/rfc822.el (rfc822-address-start): Declare variable. | ||
| 23649 | Renamed from address-start. All uses changed. | ||
| 23650 | |||
| 23651 | * term.el (term-exec): Set up sentinel. | ||
| 23652 | (term-sentinel): New function. | ||
| 23653 | (term-handle-exit): New function. | ||
| 23654 | |||
| 23655 | * subr.el (assoc-ignore-case, assoc-ignore-representation): | ||
| 23656 | Use assoc-string, and mark them obsolete. | ||
| 23657 | (delay-mode-hooks): Mark as permanent local. | ||
| 23658 | |||
| 23659 | * simple.el (sendmail-user-agent-compose): Use assoc-string. | ||
| 23660 | |||
| 23661 | * register.el (copy-rectangle-to-register): Doc fix. | ||
| 23662 | |||
| 23663 | * info.el (Info-insert-dir): Use assoc-string. | ||
| 23664 | |||
| 23665 | * info-look.el (info-lookup): Use assoc-string. | ||
| 23666 | |||
| 23667 | * frame.el (pop-up-frame-function): Use quote, not `function'. | ||
| 23668 | (frame-notice-user-settings): Calculate ADJUSTED-TOP | ||
| 23669 | copying with lists as coordinate values. | ||
| 23670 | |||
| 23671 | * font-lock.el (font-lock-after-change-function): Bind inhibit-quit. | ||
| 23672 | |||
| 23673 | * find-dired.el (kill-find): New command. | ||
| 23674 | (find-dired): Make buffer read-only. | ||
| 23675 | Set up a keymap with C-c C-k running kill-find. | ||
| 23676 | (find-dired-filter, find-dired-sentinel): Bind inhibit-read-only. | ||
| 23677 | |||
| 23678 | * files.el (backup-buffer-copy): If MODES is nil, don't set modes. | ||
| 23679 | |||
| 23680 | * filecache.el (file-cache-ignore-case): New variable. | ||
| 23681 | (file-cache-assoc-function): Var deleted. Use assoc-string instead. | ||
| 23682 | |||
| 23683 | * comint.el (comint-arguments): Set COUNT after ARGS is complete. | ||
| 23684 | (comint-dynamic-complete-as-filename): Rename local vars. | ||
| 23685 | (comint-dynamic-list-filename-completions): Likewise. | ||
| 23686 | |||
| 23687 | * comint.el (comint-dynamic-list-completions-config): New var. | ||
| 23688 | (comint-dynamic-list-completions): Handle both SPC and TAB right. | ||
| 23689 | |||
| 23690 | * comint.el (comint-file-name-chars): Add []. | ||
| 23691 | (comint-word): Use skip-chars-backward, not search. | ||
| 23692 | |||
| 23693 | * shell.el (shell-file-name-chars): Add []. | ||
| 23694 | |||
| 23695 | * shell.el (shell-dynamic-complete-as-command): Rename local vars. | ||
| 23696 | |||
| 23697 | * bookmark.el (bookmark-get-bookmark): Use assoc-string. | ||
| 23698 | |||
| 23699 | * generic.el (define-generic-mode): Doc fix. | ||
| 23700 | |||
| 23701 | 2003-12-29 Eli Zaretskii <eliz@gnu.org> | ||
| 23702 | |||
| 23703 | * files.el (kill-some-buffers): Doc fix. | ||
| 23704 | |||
| 23705 | 2003-12-29 David Herring <sdh6@ra.msstate.edu> (tiny change) | ||
| 23706 | |||
| 23707 | * comint.el (comint-watch-for-password-prompt): Pass `string' as | ||
| 23708 | arg to send-invisible | ||
| 23709 | (send-invisible): Doc fix. The argument is now a prompt, not the | ||
| 23710 | string to send. | ||
| 23711 | (comint-read-noecho): Doc fix. | ||
| 23712 | |||
| 23713 | 2003-12-29 Michael R. Wolf <MichaelRWolf@att.net> (tiny change) | ||
| 23714 | |||
| 23715 | * net/ange-ftp.el (ange-ftp-name-format): Allow USER to contain | ||
| 23716 | "@", as required by some ISP hosting service. Fix defcustom | ||
| 23717 | argument syntax errors that prevented use of customization. | ||
| 23718 | |||
| 23719 | 2003-12-29 Eli Zaretskii <eliz@gnu.org> | ||
| 23720 | |||
| 23721 | * xml.el (xml-get-attribute-or-nil): Doc fix. | ||
| 23722 | |||
| 23723 | 2003-12-29 Peter 'Luna' Runestig <peter@runestig.com> | ||
| 23724 | |||
| 23725 | * net/zone-mode.el (zone-mode): Use write-file-functions, not | ||
| 23726 | write-file-hooks. | ||
| 23727 | |||
| 23728 | 2003-12-29 Eric Hanchrow <offby1@blarg.net> (tiny change) | ||
| 23729 | |||
| 23730 | * autorevert.el (auto-revert-interval): Doc fix. | ||
| 23731 | |||
| 23732 | 2003-12-29 Mark A. Hershberger <mah@everybody.org> | ||
| 23733 | |||
| 23734 | * xml.el (xml-get-attribute-or-nil): New function, like | ||
| 23735 | xml-get-attribute, but returns nil if the attribute was not found. | ||
| 23736 | (xml-get-attribute): Convert to defsubst, uses | ||
| 23737 | xml-get-attribute-or-nil. | ||
| 23738 | |||
| 23739 | 2003-12-29 Eli Zaretskii <eliz@gnu.org> | ||
| 23740 | |||
| 23741 | * emacs-lisp/easymenu.el (easy-menu-define): Doc fix. | ||
| 23742 | |||
| 23743 | 2003-12-29 Alex Schroeder <alex@emacswiki.org> (tiny change) | ||
| 23744 | |||
| 23745 | * custom.el (custom-declare-theme): Use `value' when putting | ||
| 23746 | properties on `theme'. | ||
| 23747 | |||
| 23748 | 2003-12-29 Takaaki Ota <Takaaki.Ota@am.sony.com> | ||
| 23749 | |||
| 23750 | * subr.el (insert-for-yank): Call insert-for-yank-1 repetitively | ||
| 23751 | for each yank-handler segment. | ||
| 23752 | (insert-for-yank-1): New function, with the body of the previous | ||
| 23753 | insert-for-yank. | ||
| 23754 | |||
| 23755 | * textmodes/table.el (table-yank-handler): New defcustom. | ||
| 23756 | (table--put-cell-indicator-property): Put yank-handler property | ||
| 23757 | that indicates the yank handler for the table cell. | ||
| 23758 | |||
| 23759 | 2003-12-29 Jesper Harder <harder@ifa.au.dk> (tiny change) | ||
| 23760 | |||
| 23761 | * generic-x.el (etc-modules-conf-generic-mode): A more complete | ||
| 23762 | set of keywords. | ||
| 23763 | |||
| 23764 | 2003-12-29 Eli Zaretskii <eliz@gnu.org> | ||
| 23765 | |||
| 23766 | * international/mule-cmds.el (reset-language-environment) | ||
| 23767 | (set-language-environment): Don't invoke fontset-related functions | ||
| 23768 | if fontset-list is not fboundp. | ||
| 23769 | |||
| 23770 | 2003-12-29 Kenichi Handa <handa@m17n.org> | ||
| 23771 | |||
| 23772 | * international/mule-cmds.el (reset-language-environment): | ||
| 23773 | Call set-overriding-fontspec-internal with nil. | ||
| 23774 | (set-language-environment): Call set-overriding-fontspec-internal | ||
| 23775 | if the language environment specify `overriding-fontspec'. | ||
| 23776 | (language-info-alist): Doc added. | ||
| 23777 | |||
| 23778 | * language/cyrillic.el (ccl-encode-koi8-font): Make it work for | ||
| 23779 | characters of mule-unicode-0100-24ff. | ||
| 23780 | (ccl-encode-windows-1251-font): New CCL program. | ||
| 23781 | ("Bulgarian"): Specify overriding-fontspec. | ||
| 23782 | ("Belarusian"): Likewise. | ||
| 23783 | |||
| 23784 | 2003-12-28 Sam Steingold <sds@gnu.org> | ||
| 23785 | |||
| 23786 | * net/ange-ftp.el (ange-ftp-file-attributes): Add new optional | ||
| 23787 | parameter ID-FORMAT to conform with the 2003-11-30 patch. | ||
| 23788 | |||
| 23789 | 2003-12-28 Nick Roberts <nick@nick.uklinux.net> | ||
| 23790 | |||
| 23791 | * progmodes/gud.el (gud-gdb-command-name): Set default to | ||
| 23792 | "gdb --annotate=3". | ||
| 23793 | (gud-gdb-marker-filter): Look out for annotations. | ||
| 23794 | (gdb-first-pre-prompt): New variable. | ||
| 23795 | Remove trailing white space. | ||
| 23796 | |||
| 23797 | * gdb-ui.el (gdb-prompt): Change filter for level 3 annotations, | ||
| 23798 | if necessary. | ||
| 23799 | (gdb-ann3): New function. Initialize M-x gdb as for M-x gdba if | ||
| 23800 | annotations are detected. | ||
| 23801 | (gud-gdba-marker-filter): Use global variable gud-marker-acc | ||
| 23802 | instead of a local one to allow transition from | ||
| 23803 | gud-gdb-marker-filter. | ||
| 23804 | Remove trailing white space. | ||
| 23805 | |||
| 23806 | 2003-12-27 Kim F. Storm <storm@cua.dk> | ||
| 23807 | |||
| 23808 | * ido.el: Handle non-readable directories. | ||
| 23809 | (ido-decorations): Add 9th element for non-readable directory. | ||
| 23810 | (ido-directory-nonreadable): New dynamic var. | ||
| 23811 | (ido-set-current-directory): Set it. | ||
| 23812 | (ido-read-buffer, ido-file-internal): | ||
| 23813 | (ido-read-file-name, ido-read-directory-name): Let-bind it. | ||
| 23814 | (ido-file-name-all-completions1): Return empty list for | ||
| 23815 | non-readable directory. | ||
| 23816 | (ido-exhibit): Print [Not readable] if directory is not readable. | ||
| 23817 | (ido-expand-directory): New defun (based on tiny fix from Karl Chen). | ||
| 23818 | (ido-read-file-name, ido-file-internal, ido-read-directory-name): | ||
| 23819 | Use it. | ||
| 23820 | |||
| 23821 | 2003-12-27 Lars Hansen <larsh@math.ku.dk> | ||
| 23822 | |||
| 23823 | * ls-lisp.el (ls-lisp-insert-directory): Add parameter 'string in | ||
| 23824 | calls to directory-files-and-attributes and file-attributes. | ||
| 23825 | (ls-lisp-format): Remove system dependent handling of user and | ||
| 23826 | group id's. | ||
| 23827 | |||
| 23828 | 2003-12-25 Luc Teirlinck <teirllm@auburn.edu> | ||
| 23829 | |||
| 23830 | * ffap.el (ffap-read-file-or-url): Revert previous change. | ||
| 23831 | |||
| 23832 | 2003-12-25 Robert J. Chassell <bob@rattlesnake.com> | ||
| 23833 | |||
| 23834 | * textmodes/texnfo-upd.el (texinfo-multi-file-update): Create a | ||
| 23835 | new list of included files called `files-with-node-lines', that | ||
| 23836 | only have node lines. This way @include commands can include any | ||
| 23837 | file, such as version and update files without node lines, not | ||
| 23838 | just files that are chapters. | ||
| 23839 | |||
| 23840 | 2003-12-25 Andreas Schwab <schwab@suse.de> | ||
| 23841 | |||
| 23842 | * jka-compr.el (jka-compr-insert-file-contents): Avoid error when | ||
| 23843 | file not found. | ||
| 23844 | |||
| 23845 | 2003-12-08 Miles Bader <miles@gnu.org> | ||
| 23846 | |||
| 23847 | * dired.el (dired-between-files): Always use dired-move-to-filename, | ||
| 23848 | which is more robust in non-english locales. | ||
| 23849 | |||
| 23850 | 2003-12-25 Markus Rost <rost@mathematik.uni-bielefeld.de> | ||
| 23851 | |||
| 23852 | * vc.el (vc-dired-purge): Avoid error from `kill-line'. | ||
| 23853 | |||
| 23854 | 2003-12-24 Andreas Schwab <schwab@suse.de> | ||
| 23855 | |||
| 23856 | * shell.el (shell-file-name-quote-list): Add backslash. | ||
| 23857 | |||
| 23858 | * comint.el (comint-quote-filename): Correctly handle backslash | ||
| 23859 | in comint-file-name-quote-list. | ||
| 23860 | |||
| 23861 | 2003-12-24 Kenichi Handa <handa@m17n.org> | ||
| 23862 | |||
| 23863 | * international/mule-cmds.el (set-default-coding-systems): | ||
| 23864 | Call ucs-set-table-for-input for all buffers that don't have local | ||
| 23865 | value of buffer-file-coding-system. | ||
| 23866 | |||
| 23867 | * international/ucs-tables.el (ucs-set-table-for-input): | ||
| 23868 | If translation-table-for-encode is a symbol, get its | ||
| 23869 | translation-table property. | ||
| 23870 | |||
| 23871 | 2003-12-23 Luc Teirlinck <teirllm@auburn.edu> | ||
| 23872 | |||
| 23873 | * ffap.el (ffap-read-file-or-url): Eliminate reliance of the call | ||
| 23874 | to `completing-read' on a recently fixed bug. | ||
| 23875 | |||
| 23876 | * fringe.el (fringe-query-style): Suggest `?' in minibuffer prompt, | ||
| 23877 | instead of SPACE, to get the list of possible fringe modes. | ||
| 23878 | SPACE only works if both `partial-completion-mode' and | ||
| 23879 | `completion-auto-help' are nil. | ||
| 23880 | |||
| 23881 | * complete.el (PC-is-complete-p): Delete. | ||
| 23882 | (PC-do-completion): Replace all calls to `PC-is-complete-p' with | ||
| 23883 | calls to `test-completion'. | ||
| 23884 | |||
| 23885 | 2003-12-23 Nick Roberts <nick@nick.uklinux.net> | ||
| 23886 | |||
| 23887 | * progmodes/gud.el (gud-speedbar-buttons): Use speed-bar-edit-line | ||
| 23888 | to edit values when there are no children. | ||
| 23889 | |||
| 23890 | * gdb-ui.el (gdba, gdb-assembler-mode): Call the mode "Machine" as | ||
| 23891 | a mode called "Assembler" already exists. | ||
| 23892 | (gdb-use-colon-colon-notation, gdb-show-changed-values): New options. | ||
| 23893 | (gud-watch): Use format option. Remove font properties from string. | ||
| 23894 | (gdb-var-create-handler, gdb-var-list-children-handler): | ||
| 23895 | Don't bother about properties as there are none. | ||
| 23896 | (gdb-var-create-handler, gdb-var-list-children-handler) | ||
| 23897 | (gdb-var-update-handler): Call gdb-var-evaluate-expression-handler | ||
| 23898 | with two arguments. | ||
| 23899 | (gdb-var-evaluate-expression-handler, gdb-post-prompt): | ||
| 23900 | Let speedbar show value changes with a different font. | ||
| 23901 | (gdb-edit-value): New defun. | ||
| 23902 | (gdb-clear-partial-output, gdb-clear-inferior-io) | ||
| 23903 | (def-gdb-auto-update-handler): Use erase-buffer. | ||
| 23904 | (gdb-frame-handler): Display watch expressions in | ||
| 23905 | FUNCTION::VARIABLE format if required. | ||
| 23906 | |||
| 23907 | 2003-12-23 John Paul Wallington <jpw@gnu.org> | ||
| 23908 | |||
| 23909 | * info.el (Info-unescape-quotes, Info-split-parameter-string) | ||
| 23910 | (Info-goto-emacs-command-node): Doc fixes. | ||
| 23911 | |||
| 23912 | 2003-12-12 Jesper Harder <harder@ifa.au.dk> | ||
| 23913 | |||
| 23914 | * cus-edit.el (custom-add-parent-links): Define "many". | ||
| 23915 | |||
| 23916 | 2003-12-08 Per Abrahamsen <abraham@dina.kvl.dk> | ||
| 23917 | |||
| 23918 | * wid-edit.el (widget-child-value-get, widget-child-value-inline) | ||
| 23919 | (widget-child-validate, widget-type-value-create) | ||
| 23920 | (widget-type-default-get, widget-type-match): New functions. | ||
| 23921 | (lazy): New widget. | ||
| 23922 | (menu-choice, checklist, radio-button-choice, editable-list) | ||
| 23923 | (group, documentation-string): Remove redundant (per 2003-10-25 | ||
| 23924 | change) calls to `widget-children-value-delete'. | ||
| 23925 | (widget-choice-value-get, widget-choice-value-inline): Remove. | ||
| 23926 | (menu-choice): Update widget. | ||
| 23927 | |||
| 23928 | 2003-12-03 Kenichi Handa <handa@m17n.org> | ||
| 23929 | |||
| 23930 | * language/cyrillic.el: Register "microsoft-cp1251" in | ||
| 23931 | ctext-non-standard-encodings-alist. | ||
| 23932 | ("Bulgarian"): Add ctext-non-standard-encodings. | ||
| 23933 | ("Belarusian"): Likewise. | ||
| 23934 | |||
| 23935 | * international/mule-conf.el (compound-text-with-extensions): | ||
| 23936 | Change the type to 2 (iso-2022 base). | ||
| 23937 | |||
| 23938 | * international/mule.el (ctext-non-standard-encodings-alist): | ||
| 23939 | Change the format. | ||
| 23940 | (ctext-non-standard-encodings): New variable. | ||
| 23941 | (ctext-post-read-conversion): Fully re-written. | ||
| 23942 | (ctext-non-standard-designations-alist): Delete it. | ||
| 23943 | (ctext-non-standard-encodings-table): New function. | ||
| 23944 | (ctext-pre-write-conversion): Fully re-written. | ||
| 23945 | |||
| 23946 | 2003-11-30 Per Abrahamsen <abraham@dina.kvl.dk> | ||
| 23947 | |||
| 23948 | * cus-edit.el (custom-add-parent-links): Add documentation links | ||
| 23949 | for parent, if the item has none of its own. | ||
| 23950 | |||
| 23951 | 2003-11-30 Richard M. Stallman <rms@gnu.org> | ||
| 23952 | |||
| 23953 | * dired-aux.el (dired-do-query-replace-regexp): | ||
| 23954 | Report files visited read-only. | ||
| 23955 | |||
| 23956 | 2003-11-30 Juri Linkov <juri@jurta.org> | ||
| 23957 | |||
| 23958 | * dired-aux.el (dired-compare-directories): New command. | ||
| 23959 | (dired-file-set-difference, dired-files-attributes): New functions. | ||
| 23960 | |||
| 23961 | 2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net> | ||
| 23962 | Version 2.0.38 of Tramp released. | ||
| 23963 | |||
| 23964 | * net/tramp.el (tramp-chunksize): Extend docstring. Suggested by | ||
| 23965 | Charles Curley <charlescurley@charlescurley.com>. | ||
| 23966 | (tramp-multi-connection-function-alist): Add ssht entry which adds | ||
| 23967 | "-e none -t -t" to the list of ssh args. Suggested by Adrian | ||
| 23968 | Aichner. | ||
| 23969 | (tramp-get-method-parameter): New function to retrieve a method | ||
| 23970 | parameter. This allows for omission of method parameters. | ||
| 23971 | Callers adjusted. | ||
| 23972 | |||
| 23973 | 2003-11-30 Michael Albinus <Michael.Albinus@alcatel.de> | ||
| 23974 | |||
| 23975 | * net/tramp.el: Add new optional parameter ID-FORMAT to | ||
| 23976 | `file-attributes'. Calls of `file-attributes' won't use this | ||
| 23977 | parameter for backward compatibility reasons. | ||
| 23978 | (tramp-perl-file-attributes): Add a new parameter to Perl script | ||
| 23979 | in order to handle uid/gid as strings, if desired. | ||
| 23980 | (tramp-handle-file-truename, tramp-handle-file-symlink-p): | ||
| 23981 | Apply `file-attributes' instead of `tramp-handle-file-attributes' in | ||
| 23982 | order to make the function more general. | ||
| 23983 | (tramp-handle-file-attributes): Replace proprietary optional | ||
| 23984 | parameter NONNUMERIC by the recently (Emacs 22.1) introduced ID-FORMAT. | ||
| 23985 | (tramp-handle-file-attributes-with-perl): Handle parameter | ||
| 23986 | NONNUMERIC if set. This wasn't done in the past. | ||
| 23987 | (tramp-post-connection): Apply second parameter "$2" if | ||
| 23988 | `tramp-remote-perl' is called. | ||
| 23989 | |||
| 23990 | * net/tramp-smb.el (tramp-smb-handle-delete-file): | ||
| 23991 | Correct cut'n'waste error (`filename' instead of `directory'). | ||
| 23992 | (tramp-smb-handle-directory-files-and-attributes) | ||
| 23993 | (tramp-smb-handle-file-attributes): Add recently (Emacs 22.1) | ||
| 23994 | introduced parameter ID-FORMAT. | ||
| 23995 | (tramp-smb-handle-make-directory-internal): Correct cut'n'waste | ||
| 23996 | error (`directory' instead of `ldir'). | ||
| 23997 | |||
| 23998 | * net/tramp-vc.el (tramp-handle-vc-user-login-name): Check if | ||
| 23999 | `file-attributes' has a second parameter. If yes, apply it with | ||
| 24000 | value "'integer". Otherwise, don't use that parameter (default is | ||
| 24001 | integer format). | ||
| 24002 | |||
| 24003 | 2003-11-30 Luc Teirlinck <teirllm@auburn.edu> | ||
| 24004 | |||
| 24005 | * help.el (help-map): Bind `display-local-help' to `C-h .'. | ||
| 24006 | (help-for-help): Add `C-h .' to the listed Help options. | ||
| 24007 | Remove trailing whitespace. | ||
| 24008 | |||
| 24009 | * help-at-pt.el: New file. | ||
| 24010 | |||
| 24011 | 2003-11-30 Jonathan Yavner <jyavner@member.fsf.org> | ||
| 24012 | |||
| 24013 | * subr.el (noreturn, 1value): New macros for test coverage. | ||
| 24014 | See `testcover.el'. | ||
| 24015 | |||
| 24016 | * emacs-lisp/edebug.el: Add def-edebug-spec for `noreturn' and | ||
| 24017 | `1value'. | ||
| 24018 | |||
| 24019 | * emacs-lisp/testcover.el (testcover-reinstrument): Special case | ||
| 24020 | for macro `1value'. | ||
| 24021 | (testcover-1value): New function. Checks that a 1value form | ||
| 24022 | actually returns only one value. Requested by RMS. | ||
| 24023 | |||
| 24024 | 2003-11-29 Nick Roberts <nick@nick.uklinux.net> | ||
| 24025 | |||
| 24026 | * gdb-ui.el (gud-watch, gdb-var-create-handler) | ||
| 24027 | (gdb-var-list-children, gdb-var-list-children-handler) | ||
| 24028 | (gdb-var-update-handler, gdb-var-delete): Add server prefix to the | ||
| 24029 | gdb commands that use mi to keep them out of the command history. | ||
| 24030 | |||
| 24031 | 2003-11-29 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 24032 | |||
| 24033 | * cus-start.el (all): Add use-file-dialog. | ||
| 24034 | |||
| 24035 | 2003-11-27 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 24036 | |||
| 24037 | * textmodes/tex-mode.el (latex-mode): `tex-trailer' is not a regexp. | ||
| 24038 | |||
| 24039 | 2003-11-27 Kim F. Storm <storm@cua.dk> | ||
| 24040 | |||
| 24041 | * subr.el (posn-object-x-y): New defun. | ||
| 24042 | |||
| 24043 | 2003-11-26 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 24044 | |||
| 24045 | * progmodes/make-mode.el (makefile-font-lock-syntactic-keywords): | ||
| 24046 | Don't use `space' for \\\n. | ||
| 24047 | Be more selective as to which # are comment-starters. | ||
| 24048 | |||
| 24049 | 2003-11-26 Luc Teirlinck <teirllm@auburn.edu> | ||
| 24050 | |||
| 24051 | * subr.el (number-sequence): Improve handling of floating point | ||
| 24052 | arguments (suggested by Kim Storm). Allow negative arguments. | ||
| 24053 | |||
| 24054 | 2003-11-26 Kenichi Handa <handa@m17n.org> | ||
| 24055 | |||
| 24056 | * international/mule-cmds.el (standard-display-european-internal): | ||
| 24057 | Cancel the standard-display-table setting for ` and '. | ||
| 24058 | |||
| 24059 | 2003-11-26 Kim F. Storm <storm@cua.dk> | ||
| 24060 | |||
| 24061 | * ido.el (ido-use-filename-at-point, ido-use-url-at-point): | ||
| 24062 | New defcustoms to add ffap-like functionality to ido. | ||
| 24063 | (ido-saved-vc-hb): Rename from ido-saved-vc-mt. Uses changed. | ||
| 24064 | (ido-no-final-slash): New defun. | ||
| 24065 | (ido-make-prompt, ido-file-internal, ido-toggle-vc) | ||
| 24066 | (ido-read-file-name): ): Toggle VC checking via | ||
| 24067 | vc-handled-backends instead of vc-master-templates. | ||
| 24068 | (ido-file-internal): Handle ido-use-url-at-point and | ||
| 24069 | ido-use-filename-at-point via code borrowed from ffap-guesser. | ||
| 24070 | Handle new ido-exit code ffap. | ||
| 24071 | (ido-sort-list): Ignore final slash when sorting file names. | ||
| 24072 | |||
| 24073 | 2003-11-25 Kim F. Storm <storm@cua.dk> | ||
| 24074 | |||
| 24075 | * emulation/cua-base.el (cua--standard-movement-commands): | ||
| 24076 | Add forward-sentence and backward-sentence. | ||
| 24077 | |||
| 24078 | 2003-11-25 Stephen Eglen <stephen@gnu.org> | ||
| 24079 | |||
| 24080 | * iswitchb.el (iswitchb-read-buffer,iswitchb-exit-minibuffer): | ||
| 24081 | iswitchb-exit is set to 'usefirst when user selects buffer at head | ||
| 24082 | of list using RET. (Selecting buffers at the head of the list was | ||
| 24083 | broken if the substring was also a complete buffername.) | ||
| 24084 | |||
| 24085 | 2003-11-23 Kim F. Storm <storm@cua.dk> | ||
| 24086 | |||
| 24087 | * progmodes/compile.el (grep-command, grep-use-null-device) | ||
| 24088 | (grep-find-command, grep-tree-command, grep-tree-files-aliases) | ||
| 24089 | (grep-tree-ignore-case, grep-tree-ignore-CVS-directories) | ||
| 24090 | (grep-regexp-alist, grep-program, find-program) | ||
| 24091 | (grep-find-use-xargs, grep-history, grep-find-history) | ||
| 24092 | (grep-process-setup, grep-compute-defaults) | ||
| 24093 | (grep-default-command, grep, grep-tag-default, grep-find) | ||
| 24094 | (grep-expand-command-macros, grep-tree-last-regexp) | ||
| 24095 | (grep-tree-last-files, grep-tree): Move grep variables, functions | ||
| 24096 | and commands to new file grep.el. | ||
| 24097 | (compilation-mode-map): Remove grep commands from Compile sub-menu. | ||
| 24098 | (compilation-process-setup-function): Doc fix. | ||
| 24099 | (compilation-highlight-regexp, compilation-highlight-overlay): New | ||
| 24100 | defvars used for highlighting current compile error in source buffer. | ||
| 24101 | (compile-internal): New optional args HIGHLIGHT-REGEXP and | ||
| 24102 | LOCAL-MAP which overrides compilation-highlight-regexp and | ||
| 24103 | compilation-mode-map for this compilation. | ||
| 24104 | Delay calling compilation-set-window-height until after running | ||
| 24105 | compilation-process-setup-function so it can buffer-local override | ||
| 24106 | compilation-window-height. | ||
| 24107 | Check buffer-local value of compilation-scroll-output. | ||
| 24108 | (compilation-set-window-height): Use buffer-local value of | ||
| 24109 | compilation-window-height. | ||
| 24110 | (compilation-revert-buffer): Don't pass (undefined) | ||
| 24111 | preserve-modes arg to revert-buffer. | ||
| 24112 | (next-error-no-select, previous-error-no-select): New commands. | ||
| 24113 | (compilation-goto-locus): Temporarily highlight current match in | ||
| 24114 | source buffer using compilation-highlight-regexp. | ||
| 24115 | |||
| 24116 | * progmodes/grep.el: New file with grep code from compile.el. | ||
| 24117 | (grep): New defcustom group. | ||
| 24118 | (grep-window-height): New defcustom, like compilation-window-height. | ||
| 24119 | (grep-auto-highlight): New defcustom, like compile-auto-highlight. | ||
| 24120 | (grep-scroll-output): New defcustom, like compilation-scroll-output. | ||
| 24121 | (grep-command, grep-use-null-device, grep-find-command) | ||
| 24122 | (grep-tree-files-aliases, grep-tree-ignore-case) | ||
| 24123 | (grep-tree-ignore-CVS-directories): Move to grep custom group. | ||
| 24124 | (grep-setup-hook): New hook variable. | ||
| 24125 | (grep-mode-map): New keymap for grep commands. Add Grep menu. | ||
| 24126 | (grep-last-buffer): New defvar, override compilation-last-buffer. | ||
| 24127 | (grep): Add optional arg HIGHLIGHT-REGEXP. Doc fix. | ||
| 24128 | Call compile-internal with args highlight-regexp and grep-mode-map. | ||
| 24129 | |||
| 24130 | 2003-11-23 Kim F. Storm <storm@cua.dk> | ||
| 24131 | |||
| 24132 | * subr.el (event-start, event-end): Doc fix. | ||
| 24133 | (posn-window, posn-x-y, posn-timestamp): Simplify doc. | ||
| 24134 | (posn-area, posn-actual-col-row, posn-object): New defuns. | ||
| 24135 | (posn-col-row): Simplify doc. Rewrite to use cond. | ||
| 24136 | (posn-point): Also return buffer position for events outside text | ||
| 24137 | area (that info is now present in the event position). | ||
| 24138 | |||
| 24139 | * mouse.el: Bind mouse-1 on left-fringe and right-fringe to | ||
| 24140 | mouse-set-point so that hscroll still works now that clicks on | ||
| 24141 | fringes generate specific mouse events. | ||
| 24142 | (mouse-set-point): Note that it now works in fringes and margins | ||
| 24143 | too due to new semantics of posn-point in fringes and margins. | ||
| 24144 | |||
| 24145 | * gdb-ui.el (gdb-mouse-toggle-breakpoint): New defun. | ||
| 24146 | (gdba): Bind it to [left-margin mouse-1] and [left-fringe mouse-1]. | ||
| 24147 | |||
| 24148 | 2003-11-20 Kim F. Storm <storm@cua.dk> | ||
| 24149 | |||
| 24150 | * gdb-ui.el (gud-gdba-command-name): Find gdb command via PATH. | ||
| 24151 | (breakpoint-xpm-data, breakpoint-enabled-pbm-data): Make smoother. | ||
| 24152 | (breakpoint-enabled-icon, breakpoint-disabled-icon): Set :ascent | ||
| 24153 | to 100 for icons to avoid increasing line height when shown. | ||
| 24154 | |||
| 24155 | 2003-11-17 Jesper Harder <harder@ifa.au.dk> (tiny change) | ||
| 24156 | |||
| 24157 | * newcomment.el (comment-normalize-vars): Initialize properly if | ||
| 24158 | comment-start was nil. | ||
| 24159 | |||
| 24160 | 2003-11-19 Andreas Schwab <schwab@suse.de> | ||
| 24161 | |||
| 24162 | * simple.el (set-variable): Fix indentation. | ||
| 24163 | |||
| 24164 | 2003-11-17 Kenichi Handa <handa@m17n.org> | ||
| 24165 | |||
| 24166 | * international/latin1-disp.el (latin1-display-ucs-per-lynx): | ||
| 24167 | Fix docstring. | ||
| 24168 | |||
| 24169 | 2003-11-17 Jesper Harder <harder@ifa.au.dk> (tiny change) | ||
| 24170 | |||
| 24171 | * international/latin1-disp.el (latin1-display): Fix docstring. | ||
| 24172 | |||
| 24173 | 2003-11-16 John Wiegley <johnw@newartisans.com> | ||
| 24174 | |||
| 24175 | * eshell/em-ls.el (eshell-ls-file): There are times with | ||
| 24176 | size-width is nil and uncomputed (when directories are created in | ||
| 24177 | dired, for example); in this case, 4 is reasonable default value, | ||
| 24178 | although it may caused skewed new entries (which could be avoided | ||
| 24179 | by returning the original value of 8 in all cases, but 99% of the | ||
| 24180 | time this is a waste of whitespace). | ||
| 24181 | |||
| 24182 | 2003-11-16 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 24183 | |||
| 24184 | * cc-engine.el (c-guess-continued-construct) | ||
| 24185 | (c-guess-basic-syntax): Check a little more carefully if it's a | ||
| 24186 | function declaration when an unknown construct followed by a block | ||
| 24187 | is found inside a statement context. This avoids macros followed | ||
| 24188 | by blocks to be taken as function declarations. | ||
| 24189 | |||
| 24190 | (c-guess-continued-construct): Change the analysis of a statement | ||
| 24191 | continuation with a brace open to `substatement-block', for | ||
| 24192 | consistency with recognized statements. | ||
| 24193 | |||
| 24194 | (c-add-stmt-syntax): Don't continue to the surrounding sexp if the | ||
| 24195 | start is in a position so that `c-beginning-of-statement-1' jumped | ||
| 24196 | to the beginning of the same statement. | ||
| 24197 | |||
| 24198 | * cc-fonts.el, cc-engine.el (c-forward-<>-arglist-recur): | ||
| 24199 | Don't accept binary operators in the arglist if we're in a function | ||
| 24200 | call context, i.e. if `c-restricted-<>-arglists' is set. That avoids | ||
| 24201 | template recognition in cases like "if (a < b || c > d)". | ||
| 24202 | |||
| 24203 | (c-restricted-<>-arglists): New more appropriate name for | ||
| 24204 | `c-disallow-comma-in-<>-arglists'. | ||
| 24205 | |||
| 24206 | Accessing functions updated for the variable name change. | ||
| 24207 | |||
| 24208 | * cc-engine.el (c-syntactic-re-search-forward): Fix bug where the | ||
| 24209 | match data could get clobbered if NOT-INSIDE-TOKEN is used. | ||
| 24210 | |||
| 24211 | * cc-engine.el (c-beginning-of-statement-1): Don't allow parens in | ||
| 24212 | labels. | ||
| 24213 | |||
| 24214 | (c-backward-to-decl-anchor): Use `c-beginning-of-statement-1' | ||
| 24215 | instead of duplicating parts of it. This fixes bogus label | ||
| 24216 | recognition. | ||
| 24217 | |||
| 24218 | * cc-align.el (c-gnu-impose-minimum): Revert to the old method | ||
| 24219 | of checking the context in which to apply the minimum indentation, | ||
| 24220 | so that it isn't enforced in e.g. namespace blocks. | ||
| 24221 | |||
| 24222 | * cc-vars.el (c-inside-block-syms): New constant used by | ||
| 24223 | `c-gnu-impose-minimum'. It's defined close to `c-offsets-alist' | ||
| 24224 | to somewhat reduce the risk of becoming stale. | ||
| 24225 | |||
| 24226 | * cc-cmds.el, cc-engine.el (c-shift-line-indentation): Move from | ||
| 24227 | cc-cmds to cc-engine to allow use from cc-align. | ||
| 24228 | |||
| 24229 | * cc-engine.el (c-beginning-of-inheritance-list): Cope with fully | ||
| 24230 | qualified identifiers containing "::". | ||
| 24231 | |||
| 24232 | * cc-defs.el (c-make-keywords-re): Add kludge for bug in | ||
| 24233 | `regexp-opt' in Emacs 20 and XEmacs when strings contain newlines. | ||
| 24234 | |||
| 24235 | * cc-vars.el (c-emacs-features): Use a space in front of the name | ||
| 24236 | of the temporary buffer. That also avoids dumping problems in | ||
| 24237 | XEmacs due to undo info being left around after the buffer is killed. | ||
| 24238 | |||
| 24239 | * cc-engine.el (c-in-knr-argdecl): Look closer at the function | ||
| 24240 | arglist to see if it's a K&R style declaration. | ||
| 24241 | |||
| 24242 | (c-guess-basic-syntax): CASE 5B.2: Check with `c-in-knr-argdecl' | ||
| 24243 | before returning `knr-argdecl-intro'. | ||
| 24244 | |||
| 24245 | 2003-11-16 John Wiegley <johnw@newartisans.com> | ||
| 24246 | |||
| 24247 | * eshell/em-ls.el (eshell-ls-file): Instead of making the size | ||
| 24248 | field in a long-listing always 8 characters, use `size-width', | ||
| 24249 | which has already been computed. | ||
| 24250 | |||
| 24251 | 2003-11-15 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 24252 | |||
| 24253 | * subr.el (minor-mode-list): Add `hs-minor-mode'. | ||
| 24254 | |||
| 24255 | 2003-11-14 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 24256 | |||
| 24257 | * diff-mode.el (diff-hunk-prev, diff-hunk-next): | ||
| 24258 | Support operation while narrowed, with `diff-restrict-view'. | ||
| 24259 | |||
| 24260 | 2003-11-14 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 24261 | |||
| 24262 | * emacs-lisp/easy-mmode.el (easy-mmode-define-navigation): | ||
| 24263 | Take additional optional arg NARROWFUN. For the generated functions: | ||
| 24264 | Add local var `was-narrowed-p'. Also, if NARROWFUN is specified, | ||
| 24265 | include frags that arrange to check for and save narrowing state before | ||
| 24266 | the move and then conditionally call NARROWFUN after the move. | ||
| 24267 | |||
| 24268 | 2003-11-14 John Wiegley <johnw@newartisans.com> | ||
| 24269 | |||
| 24270 | * eshell/esh-var.el (eshell-parse-variable-ref): Add a backslash | ||
| 24271 | that was optional, but obviously missing based on surrounding code. | ||
| 24272 | |||
| 24273 | * eshell/esh-cmd.el (eshell-lisp-command): Do not late-convert | ||
| 24274 | string arguments to numbers unless the whole argument was seen as | ||
| 24275 | a number. | ||
| 24276 | |||
| 24277 | 2003-11-14 Kenichi Handa <handa@m17n.org> | ||
| 24278 | |||
| 24279 | * international/mule.el (ctext-non-standard-encodings-alist): | ||
| 24280 | Fix coding systems. | ||
| 24281 | |||
| 24282 | 2003-11-10 Kenichi Handa <handa@m17n.org> | ||
| 24283 | |||
| 24284 | * language/kannada.el ("Kannada"): Add sample-text. | ||
| 24285 | |||
| 24286 | * language/knd-util.el (kannada-compose-region) | ||
| 24287 | (kannada-compose-string, kannada-post-read-conversion): | ||
| 24288 | Add autoload cookie. | ||
| 24289 | |||
| 24290 | * international/quail.el (quail-completion): Change the message | ||
| 24291 | "corresponding translations" to "corresponding characters". | ||
| 24292 | |||
| 24293 | 2003-11-09 Markus Rost <rost@mathematik.uni-bielefeld.de> | ||
| 24294 | |||
| 24295 | * descr-text.el (describe-char): Fix typo. | ||
| 24296 | |||
| 24297 | 2003-11-08 Kailash C. Chowksey <klchxbec@m-net.arbornet.org> | ||
| 24298 | |||
| 24299 | These changes are to support Kannada language/script. | ||
| 24300 | |||
| 24301 | * Makefile.in (DONTCOMPILE): Add kannada.el. | ||
| 24302 | |||
| 24303 | * makefile.w32-in (DONTCOMPILE): Add kannada.el. | ||
| 24304 | |||
| 24305 | * loadup.el: Preload kannada.el. | ||
| 24306 | |||
| 24307 | * language/ind-util.el (ucs-kannada-to-is13194-alist) | ||
| 24308 | (is13194-to-ucs-kannada-hashtbl, is13194-to-ucs-kannada-regexp): | ||
| 24309 | New variables. | ||
| 24310 | |||
| 24311 | * language/kannada.el: New file. | ||
| 24312 | |||
| 24313 | * language/knd-util.el: New file. | ||
| 24314 | |||
| 24315 | 2003-11-07 Andreas Schwab <schwab@suse.de> | ||
| 24316 | |||
| 24317 | * progmodes/autoconf.el (autoconf-font-lock-keywords): | ||
| 24318 | Also highlight AH_*. | ||
| 24319 | |||
| 24320 | * xml.el (xml-parse-dtd): Fix misplaced paren. | ||
| 24321 | |||
| 24322 | 2003-11-07 Kenichi Handa <handa@m17n.org> | ||
| 24323 | |||
| 24324 | * language/european.el (windows-1252): Fix table (0x8F and 0x9E). | ||
| 24325 | |||
| 24326 | 2003-11-05 Juri Linkov <juri@jurta.org> | ||
| 24327 | |||
| 24328 | * desktop.el (desktop-locals-to-save): Add buffer-file-coding-system. | ||
| 24329 | (desktop-buffer-file): Use saved buffer-file-coding-system | ||
| 24330 | for file reading. Set auto-insert to nil to prevent automatic | ||
| 24331 | insertion into restored empty files. | ||
| 24332 | |||
| 24333 | 2003-11-04 Luc Teirlinck <teirllm@auburn.edu> | ||
| 24334 | |||
| 24335 | * files.el (risky-local-variable-p): Make second argument optional. | ||
| 24336 | |||
| 24337 | 2003-11-03 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 24338 | |||
| 24339 | * subr.el (add-hook): Fix last change. | ||
| 24340 | |||
| 24341 | 2003-11-03 Eli Zaretskii <eliz@gnu.org> | ||
| 24342 | |||
| 24343 | * mail/rmail.el (rmail-convert-to-babyl-format): | ||
| 24344 | If base64-decode-region signals an error, catch it and silently | ||
| 24345 | ignore it. | ||
| 24346 | |||
| 24347 | 2003-11-01 Mark A. Hershberger <mah@everybody.org> | ||
| 24348 | |||
| 24349 | * xml.el (xml-parse-region): Allow comments to appear after the | ||
| 24350 | topmost element has closed. | ||
| 24351 | (xml-ns-parse-ns-attrs, xml-ns-expand-el) | ||
| 24352 | (xml-ns-expand-attr): New functions to do namespace handling. | ||
| 24353 | (xml-intern-attrlist): Back-compatible handling of attribute names. | ||
| 24354 | (xml-parse-tag): Move namespace handling to separate functions. | ||
| 24355 | Now produces elements in the form ((:ns . "element") (attr-list) | ||
| 24356 | children) instead of ('ns:element (attr-list) children). | ||
| 24357 | (xml-parse-attlist): Fix attribute parsing. | ||
| 24358 | (xml-parse-dtd): Change parsing so that it produces strings | ||
| 24359 | instead of interned symbols. | ||
| 24360 | |||
| 24361 | 2003-11-01 era@iki.fi <era@iki.fi> (tiny change) | ||
| 24362 | |||
| 24363 | * dired.el (dired-ls-sorting-switches): Doc fix. | ||
| 24364 | |||
| 24365 | 2003-11-01 Oliver Scholz <epameinondas@gmx.de> | ||
| 24366 | |||
| 24367 | * emacs-lisp/rx.el (rx-or): Fix the case of | ||
| 24368 | "(rx (and ?a (or ?b ?c) ?d))". | ||
| 24369 | |||
| 24370 | 2003-11-01 Christoph Wedler <wedler@users.sourceforge.net> (tiny change) | ||
| 24371 | |||
| 24372 | * textmodes/texinfmt.el (texinfo-pre-format-hook): New variable. | ||
| 24373 | (texinfo-format-region): Use it. | ||
| 24374 | (texinfo-format-buffer-1): Ditto. | ||
| 24375 | |||
| 24376 | 2003-11-01 Alan Mackenzie <acm@muc.de> | ||
| 24377 | |||
| 24378 | Changes to allow scrolling whilst in isearch mode: | ||
| 24379 | * isearch.el (isearch-unread-key-sequence): New function, | ||
| 24380 | extracted from isearch-other-meta-char. | ||
| 24381 | (top level): (put 'foo 'isearch-scroll) on all Emacs's | ||
| 24382 | "scrollable" standard functions. | ||
| 24383 | (isearch-allow-scroll): New customizable variable. | ||
| 24384 | (isearch-string-out-of-window, isearch-back-into-window) | ||
| 24385 | (isearch-reread-key-sequence-naturally) | ||
| 24386 | (isearch-lookup-scroll-key): New functions. | ||
| 24387 | (isearch-other-meta-char): Doc string and functionality enhanced. | ||
| 24388 | Now accepts a prefix argument. | ||
| 24389 | (isearch-lazy-highlight-window-end): New variable. | ||
| 24390 | (isearch-lazy-highlight-new-loop): Pay attention to the window's | ||
| 24391 | end (thru isearch-lazy-highlight-window-end), not only its start. | ||
| 24392 | |||
| 24393 | * simple.el (overriding-map-is-bound, saved-overriding-map): New vars. | ||
| 24394 | (ensure-overriding-map-is-bound, restore-overriding-map): New funs. | ||
| 24395 | (universal-argument, universal-argument-more, negative-argument) | ||
| 24396 | (digit-argument, universal-argument-other-key): Minor changes. | ||
| 24397 | |||
| 24398 | 2003-11-01 Alexander Pohoyda <alexander.pohoyda@gmx.net> (tiny change) | ||
| 24399 | |||
| 24400 | * mail/rmailsum.el (rmail-summary-goto-msg): Don't call itself | ||
| 24401 | recursively if the last message is deleted, thus avoiding an | ||
| 24402 | infinite loop. | ||
| 24403 | |||
| 24404 | 2003-10-30 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 24405 | |||
| 24406 | * textmodes/tex-mode.el (tex-compile-commands): Add `yap' and `ps2pdf'. | ||
| 24407 | (tex-main-file): Don't add .tex if the extension is already present. | ||
| 24408 | (tex-uptodate-p): Don't recurse indefinitely with symlinks. | ||
| 24409 | |||
| 24410 | 2003-10-29 Lute Kamstra <lute@gnu.org> | ||
| 24411 | |||
| 24412 | * progmodes/octave-inf.el (inferior-octave-prompt): | ||
| 24413 | Recognize version number in prompt. | ||
| 24414 | |||
| 24415 | 2003-10-28 Dave Love <fx@gnu.org> | ||
| 24416 | |||
| 24417 | * international/characters.el: Fix some Unicode ranges. | ||
| 24418 | |||
| 24419 | 2003-10-28 Kenichi Handa <handa@m17n.org> | ||
| 24420 | |||
| 24421 | * disp-table.el (standard-display-8bit) | ||
| 24422 | (standard-display-default, standard-display-ascii) | ||
| 24423 | (standard-display-g1, standard-display-graphic) | ||
| 24424 | (standard-display-underline): Assure that standard-display-table | ||
| 24425 | is a display table. | ||
| 24426 | |||
| 24427 | 2003-10-27 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 24428 | |||
| 24429 | * simple.el (reindent-then-newline-and-indent): Delete space *after* | ||
| 24430 | reindenting the first line. | ||
| 24431 | |||
| 24432 | 2003-10-25 Per Abrahamsen <abraham@dina.kvl.dk> | ||
| 24433 | |||
| 24434 | * wid-edit.el (widget-default-delete): Always delete child widgets. | ||
| 24435 | |||
| 24436 | 2003-10-24 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 24437 | |||
| 24438 | * newcomment.el (comment-indent): Don't call indent-according-to-mode | ||
| 24439 | if the line has code. | ||
| 24440 | Don't try to line up with something that's too far left. | ||
| 24441 | |||
| 24442 | * progmodes/octave-mod.el (octave-comment-start): Simplify. | ||
| 24443 | (octave-mode-syntax-table): Add % as a comment starter. | ||
| 24444 | (octave-point): Remove. | ||
| 24445 | (octave-in-comment-p, octave-in-string-p) | ||
| 24446 | (octave-not-in-string-or-comment-p, calculate-octave-indent) | ||
| 24447 | (octave-blink-matching-block-open, octave-auto-fill): | ||
| 24448 | Use line-(beginning|end)-position instead. | ||
| 24449 | |||
| 24450 | 2003-10-23 Francesco Potort,Al(B <pot@gnu.org> | ||
| 24451 | |||
| 24452 | * emacs-lisp/authors.el (authors-aliases): Add correct realname | ||
| 24453 | for Francesco Potort,Al(B. | ||
| 24454 | |||
| 24455 | 2003-10-23 Dave Love <fx@gnu.org> | ||
| 24456 | |||
| 24457 | * international/mule-cmds.el (locale-charset-to-coding-system): | ||
| 24458 | Don't rely on nil being a coding system. | ||
| 24459 | |||
| 24460 | * mail/mail-extr.el (mail-extr-ignore-single-names): Add :version. | ||
| 24461 | (mail-extr-address-syntax-table): Remove non-ASCII unibyte chars. | ||
| 24462 | (mail-extr-voodoo): Use char classes in regexps (for non-ASCII). | ||
| 24463 | |||
| 24464 | 2003-10-21 Nick Roberts <nick@nick.uklinux.net> | ||
| 24465 | |||
| 24466 | * gdb-ui.el (gdb-current-language): New variable. | ||
| 24467 | (gdb-update-flag): Remove variable. | ||
| 24468 | (gud-watch, gdb-frame-handler): Adapt for other languages (Fortran). | ||
| 24469 | (gdb-take-last-elt): Remove function. | ||
| 24470 | (gdb-dequeue-input): Avoid recursion by not using gdb-take-last-elt. | ||
| 24471 | (gdb-post-prompt): Check for variable object changes here. | ||
| 24472 | |||
| 24473 | * progmodes/gud.el (gud-speedbar-buttons): Check for variable | ||
| 24474 | object changes in gdb-ui.el. | ||
| 24475 | |||
| 24476 | 2003-10-21 Richard M. Stallman <rms@gnu.org> | ||
| 24477 | |||
| 24478 | * emacs-lisp/edebug.el (edebug-display-freq-count): Doc fix. | ||
| 24479 | |||
| 24480 | * ls-lisp.el (ls-lisp-insert-directory): Arg is now wildcard-regexp. | ||
| 24481 | Don't check for foo*/ wildcard form here. | ||
| 24482 | (insert-directory): Recognize foo*/ as a wildcard. | ||
| 24483 | Separate wildcard-regexp variable from the arg, wildcard. | ||
| 24484 | |||
| 24485 | * subr.el (add-hook): Correctly detect when make-local-hook was used. | ||
| 24486 | (remove-hook): Correctly handle strange cases about local hooks. | ||
| 24487 | |||
| 24488 | 2003-10-21 David Ponce <david@dponce.com> | ||
| 24489 | |||
| 24490 | * ruler-mode.el (ruler-mode-left-fringe-cols): Add new optional | ||
| 24491 | argument REAL, to return a real number instead of a rounded | ||
| 24492 | integer value. Define as inline function. | ||
| 24493 | (ruler-mode-right-fringe-cols): Likewise. | ||
| 24494 | (ruler-mode-scroll-bar-cols): New function. | ||
| 24495 | (ruler-mode-left-scroll-bar-cols): Use it. Define as macro. | ||
| 24496 | (ruler-mode-right-scroll-bar-cols): Likewise. | ||
| 24497 | (ruler-mode-space): New function. | ||
| 24498 | (ruler-mode-ruler): Use it. Handle variations of fringe style, | ||
| 24499 | scroll bar mode and margins in a more robust way. | ||
| 24500 | |||
| 24501 | 2003-10-21 Christoph Wedler <Christoph.Wedler@sap.com> | ||
| 24502 | |||
| 24503 | * progmodes/antlr-mode.el: Make major mode work with cc-mode-5.30+. | ||
| 24504 | (antlr-c-init-language-vars): New function. | ||
| 24505 | (antlr-mode): Use it with cc-mode before v5.29. | ||
| 24506 | (antlr-c-common-init): Don't set some local vars here. | ||
| 24507 | (antlr-mode): Set them here. | ||
| 24508 | (antlr-c-forward-sws): New function alias. | ||
| 24509 | (antlr-mode): Redefine with cc-mode before v5.30. | ||
| 24510 | (antlr-skip-sexps): Use it. | ||
| 24511 | (antlr-skip-exception-part): Ditto. | ||
| 24512 | (antlr-skip-file-prelude): Ditto. | ||
| 24513 | (antlr-outside-rule-p): Ditto. | ||
| 24514 | (antlr-end-of-body): Ditto. | ||
| 24515 | (antlr-option-kind): Ditto. | ||
| 24516 | (antlr-insert-option-area): Ditto. | ||
| 24517 | (antlr-file-dependencies): Ditto. | ||
| 24518 | |||
| 24519 | 2003-10-21 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de> | ||
| 24520 | |||
| 24521 | * textmodes/bibtex.el (bibtex-move-outside-of-entry): | ||
| 24522 | Move backward only if point was not inside an entry. | ||
| 24523 | |||
| 24524 | 2003-10-21 Richard M. Stallman <rms@gnu.org> | ||
| 24525 | |||
| 24526 | * progmodes/compile.el (compile-auto-highlight): Undo July 7 change. | ||
| 24527 | |||
| 24528 | 2003-10-21 Juri Linkov <juri@jurta.org> | ||
| 24529 | |||
| 24530 | * compare-w.el: Automatically skip non-matching text to resync. | ||
| 24531 | (compare-windows-whitespace): Doc fix. | ||
| 24532 | (compare-windows-sync, compare-windows-sync-string-size) | ||
| 24533 | (compare-windows-recenter, compare-ignore-whitespace) | ||
| 24534 | (compare-windows-highlight, compare-windows-face): New variables. | ||
| 24535 | (compare-windows): Use compare-windows-sync. | ||
| 24536 | (compare-windows-highlight, compare-windows-dehighlight) | ||
| 24537 | (compare-windows-sync-regexp) | ||
| 24538 | (compare-windows-sync-default-function): New functions. | ||
| 24539 | |||
| 24540 | 2003-10-21 Juri Linkov <juri@jurta.org> | ||
| 24541 | |||
| 24542 | * diff.el (diff-parse-differences): Don't visit the files now; | ||
| 24543 | instead, just record the error locus. | ||
| 24544 | |||
| 24545 | 2003-10-21 Dave Love <fx@gnu.org> | ||
| 24546 | |||
| 24547 | * progmodes/cfengine.el: New file. | ||
| 24548 | |||
| 24549 | 2003-10-20 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 24550 | |||
| 24551 | * complete.el (PC-do-completion): Do not forget to use `pred' as the | ||
| 24552 | default-directory when completing file names. | ||
| 24553 | |||
| 24554 | 2003-10-20 Luc Teirlinck <teirllm@auburn.edu> | ||
| 24555 | |||
| 24556 | * help-mode.el (help-make-xrefs): Make sure that if a symbol is | ||
| 24557 | followed by the word `face', it gets treated as a face, even if | ||
| 24558 | it is also defined as a variable or a function. | ||
| 24559 | |||
| 24560 | 2003-10-20 Dave Love <fx@gnu.org> | ||
| 24561 | |||
| 24562 | * emacs-lisp/easy-mmode.el (easy-mmode-define-navigation): | ||
| 24563 | Avoid incf in macro expansion. | ||
| 24564 | |||
| 24565 | 2003-10-20 John Paul Wallington <jpw@gnu.org> | ||
| 24566 | |||
| 24567 | * emacs-lisp/elint.el (elint-check-defcustom-form): Don't use | ||
| 24568 | `evenp' so we don't implicitly require cl library at runtime. | ||
| 24569 | |||
| 24570 | 2003-10-18 Luc Teirlinck <teirllm@auburn.edu> | ||
| 24571 | |||
| 24572 | * help-mode.el (help-xref-symbol-regexp): Treat newlines as whitespace. | ||
| 24573 | (help-make-xrefs): Only make cross-references for faces if | ||
| 24574 | preceded or followed by the word `face'. Do not make a | ||
| 24575 | cross-reference for variables without variable documentation, | ||
| 24576 | unless preceded by the word `variable' or `option'. Update doc | ||
| 24577 | string accordingly. | ||
| 24578 | |||
| 24579 | 2003-10-18 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 24580 | |||
| 24581 | * progmodes/hideshow.el: Rewrite one-armed `if' | ||
| 24582 | constructs using either `when' or `unless'. | ||
| 24583 | (hs-grok-mode-type): Elide superfluous `progn'; nfc. | ||
| 24584 | |||
| 24585 | 2003-10-16 Nick Roberts <nick@nick.uklinux.net> | ||
| 24586 | |||
| 24587 | * gdb-ui.el (breakpoint-xpm-data, breakpoint-enabled-pbm-data) | ||
| 24588 | (breakpoint-disabled-pbm-data): Make breakpoint icons 10x10 | ||
| 24589 | instead of 12x12. | ||
| 24590 | |||
| 24591 | 2003-10-16 Eli Zaretskii <eliz@gnu.org> | ||
| 24592 | |||
| 24593 | * mail/rmail.el (rmail-convert-to-babyl-format): Display a | ||
| 24594 | message while converting to Babyl. | ||
| 24595 | |||
| 24596 | 2003-10-16 Vadim Nasardinov <vadimn@redhat.com> (tiny change) | ||
| 24597 | |||
| 24598 | * allout.el (allout-mode): Doc fix. | ||
| 24599 | |||
| 24600 | 2003-10-16 Lute Kamstra <lute@gnu.org> | ||
| 24601 | |||
| 24602 | * subr.el (force-mode-line-update): Fix docstring. | ||
| 24603 | |||
| 24604 | 2003-10-14 Dave Love <fx@gnu.org> | ||
| 24605 | |||
| 24606 | * international/mule-cmds.el (find-multibyte-characters): Doc fix. | ||
| 24607 | (default-input-method): Add :link, improve :type. | ||
| 24608 | (locale-charset-language-names): Fix utf-8 pattern. | ||
| 24609 | (locale-charset-match-p, locale-charset-alist) | ||
| 24610 | (locale-charset-to-coding-system): New. | ||
| 24611 | (set-locale-environment): Deal with codeset part of locale specs. | ||
| 24612 | |||
| 24613 | 2003-10-14 Lute Kamstra <lute@gnu.org> | ||
| 24614 | |||
| 24615 | * fringe.el (fringe-mode): Use active voice in docstring. | ||
| 24616 | (set-fringe-style): Ditto. | ||
| 24617 | |||
| 24618 | 2003-10-13 Lute Kamstra <lute@gnu.org> | ||
| 24619 | |||
| 24620 | * fringe.el (fringe-mode): Fix docstring. | ||
| 24621 | (set-fringe-style): Ditto. | ||
| 24622 | |||
| 24623 | 2003-10-12 Michael Kifer <kifer@cs.stonybrook.edu> | ||
| 24624 | |||
| 24625 | * ediff-mult.el (ediff-filegroup-action): | ||
| 24626 | Use ediff-default-filtering-regexp. | ||
| 24627 | |||
| 24628 | * ediff-util.el (ediff-recenter): Don't call | ||
| 24629 | ediff-restore-highlighting twice. | ||
| 24630 | (ediff-select-difference): Set current difference. | ||
| 24631 | (ediff-unselect-and-select-difference): Add comment. | ||
| 24632 | |||
| 24633 | * ediff.el (ediff-directories,ediff-directory-revisions) | ||
| 24634 | (ediff-directories3,ediff-merge-directories) | ||
| 24635 | (ediff-merge-directories-with-ancestor) | ||
| 24636 | (ediff-merge-directory-revisions) | ||
| 24637 | (ediff-merge-directory-revisions-with-ancestor): | ||
| 24638 | Use ediff-default-filtering-regexp. | ||
| 24639 | |||
| 24640 | 2003-10-12 Andreas Schwab <schwab@suse.de> | ||
| 24641 | |||
| 24642 | * international/mule-cmds.el (locale-charset-language-names): | ||
| 24643 | Simplify regex by removing unused grouping. | ||
| 24644 | |||
| 24645 | 2003-10-10 Dave Love <fx@gnu.org> | ||
| 24646 | |||
| 24647 | * bindings.el: Don't bind stop. | ||
| 24648 | |||
| 24649 | 2003-10-08 Miles Bader <miles@gnu.org> | ||
| 24650 | |||
| 24651 | * gdb-ui.el (gdb-info-frames-custom): Use proper :inverse-video | ||
| 24652 | face instead of attempting to emulate it. | ||
| 24653 | |||
| 24654 | 2003-10-07 Kenichi Handa <handa@m17n.org> | ||
| 24655 | |||
| 24656 | * international/mule-diag.el (list-coding-systems-1): List coding | ||
| 24657 | systems that are loaded automatically. | ||
| 24658 | |||
| 24659 | * international/code-pages.el (iso-8859-11): Add autoload cookie. | ||
| 24660 | |||
| 24661 | * international/mule.el (autoload-coding-system): New function. | ||
| 24662 | |||
| 24663 | 2003-10-07 Andreas Schwab <schwab@suse.de> | ||
| 24664 | |||
| 24665 | * log-edit.el (log-edit-changelog-entries): Prefer local value of | ||
| 24666 | change-log-default-name in the buffer visiting the file. | ||
| 24667 | |||
| 24668 | 2003-10-06 Dave Love <fx@gnu.org> | ||
| 24669 | |||
| 24670 | * files.el (find-file-hook): Customize. | ||
| 24671 | (auto-mode-alist): Add .stk, .ss, .sch, .orig. | ||
| 24672 | |||
| 24673 | * bindings.el (completion-ignored-extensions): Remove .log. | ||
| 24674 | (global-map): Add again, open, stop keys. | ||
| 24675 | |||
| 24676 | 2003-10-05 Richard M. Stallman <rms@gnu.org> | ||
| 24677 | |||
| 24678 | * progmodes/sh-script.el (sh-feature): Handle sh-modify like sh-append. | ||
| 24679 | (sh-for, sh-indexed-loop, sh-function, sh-while, sh-while-getopts): | ||
| 24680 | Use sh-modify directly. | ||
| 24681 | (sh-select): Use sh-append, not eval. | ||
| 24682 | |||
| 24683 | * mail/emacsbug.el (report-emacs-bug): Fix previous change. | ||
| 24684 | |||
| 24685 | * info.el (Info-following-node-name): New function. | ||
| 24686 | |||
| 24687 | * loadhist.el (unload-feature-special-hooks): | ||
| 24688 | Rename from loadhist-hook-functions. | ||
| 24689 | (loadhist-hook-functions): Now an alias. | ||
| 24690 | |||
| 24691 | 2003-10-04 Eli Zaretskii <eliz@gnu.org> | ||
| 24692 | |||
| 24693 | * ldefs-boot.el: Renamed from loaddefs-boot.el, to prevent | ||
| 24694 | file-name clashes on 8+3 filesystems. | ||
| 24695 | |||
| 24696 | * Makefile.in (DONTCOMPILE, bootstrap-clean): | ||
| 24697 | Rename loaddefs-boot.el to ldefs-boot.el | ||
| 24698 | |||
| 24699 | * makefile.w32-in (DONTCOMPILE, bootstrap-clean-CMD) | ||
| 24700 | (bootstrap-clean-SH): Rename loaddefs-boot.el to ldefs-boot.el | ||
| 24701 | |||
| 24702 | 2003-10-03 Lute Kamstra <lute@gnu.org> | ||
| 24703 | |||
| 24704 | * info.el (Info-mode): Revert previous change. | ||
| 24705 | (Info-escape-percent): New function. | ||
| 24706 | (Info-fontify-node): Use it. | ||
| 24707 | |||
| 24708 | 2003-10-02 Andreas Schwab <schwab@suse.de> | ||
| 24709 | |||
| 24710 | * loaddefs-boot.el: Regenerated. | ||
| 24711 | |||
| 24712 | 2003-10-01 Rajesh Vaidheeswarran <rv@gnu.org> | ||
| 24713 | |||
| 24714 | * ffap.el: Remove defadvice related code from CVS since `complete' | ||
| 24715 | provides a `PC-completion-as-file-name-predicate' variable that | ||
| 24716 | ffap can override. | ||
| 24717 | |||
| 24718 | 2003-10-02 Kenichi Handa <handa@m17n.org> | ||
| 24719 | |||
| 24720 | * international/utf-8.el (ccl-decode-mule-utf-8): | ||
| 24721 | Lookup utf-subst-table-for-decode even for U+E000..U+FFFF. | ||
| 24722 | |||
| 24723 | * international/subst-jis.el: Include U+FF00..U+FFEF in decode table. | ||
| 24724 | * international/subst-big5.el: Likewise. | ||
| 24725 | * international/subst-gb2312.el: Likewise. | ||
| 24726 | * international/subst-ksc.el: Likewise. | ||
| 24727 | |||
| 24728 | 2003-10-01 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 24729 | |||
| 24730 | * calendar/calendar.el (increment-calendar-month) | ||
| 24731 | (calendar-leap-year-p, calendar-absolute-from-gregorian) | ||
| 24732 | (generate-calendar, calendar-read-date, calendar-interval) | ||
| 24733 | (calendar-day-of-week): Handle years BC. | ||
| 24734 | (generate-calendar-month, calendar-gregorian-from-absolute): Doc fix. | ||
| 24735 | |||
| 24736 | 2003-10-01 Dave Love <fx@gnu.org> | ||
| 24737 | |||
| 24738 | * language/cyrillic.el (cp1251): Alias for windows-1251. | ||
| 24739 | |||
| 24740 | * vc-cvs.el (vc-cvs-parse-entry): Revert last change to allow | ||
| 24741 | bootstrap. | ||
| 24742 | |||
| 24743 | 2003-10-01 Lute Kamstra <lute@gnu.org> | ||
| 24744 | |||
| 24745 | * files.el: Fix typo. | ||
| 24746 | * imenu.el (imenu--generic-function): Docstring fix. | ||
| 24747 | |||
| 24748 | 2003-09-30 Richard M. Stallman <rms@gnu.org> | ||
| 24749 | |||
| 24750 | * dired.el (dired-mode): Handle dired-directory as a list. | ||
| 24751 | |||
| 24752 | 2003-09-30 Nick Roberts <nick@nick.uklinux.net> | ||
| 24753 | |||
| 24754 | * toolbar/gud-watch.xpm, toolbar/gud-watch.pbm: Add. | ||
| 24755 | |||
| 24756 | * toolbar/gud-display.xpm, toolbar/gud-display.pbm: Remove. | ||
| 24757 | |||
| 24758 | * progmodes/gud.el (gud-menu-map, gud-tool-bar-map): | ||
| 24759 | Replace gud-display with gud-watch. | ||
| 24760 | (gud-speedbar-buttons): Add stuff for watching expressions | ||
| 24761 | in the speedbar when using M-x gdba. Use dolist on old part | ||
| 24762 | of this function. | ||
| 24763 | |||
| 24764 | * gdb-ui.el (gdb-var-list, gdb-var-changed, gdb-update-flag) | ||
| 24765 | (gdb-update-flag): New variables. | ||
| 24766 | (gdb-var-update, gdb-var-update-handler,gdb-var-delete) | ||
| 24767 | (gdb-speedbar-expand-node, gdb-var-evaluate-expression-handler) | ||
| 24768 | (gud-watch, gdb-var-create-handler) : New functions. | ||
| 24769 | (gdb-var-list-children, gdb-var-list-children-handler) | ||
| 24770 | (gdb-var-create-regexp, gdb-var-update-regexp) | ||
| 24771 | (gdb-var-list-children-regexp): New constants. | ||
| 24772 | (gud-gdba-command-name): Don't specify -noasync so that GDB/MI works. | ||
| 24773 | (gdb-annotation-rules): Reduce annotation set (level 3). | ||
| 24774 | (gdb-pre-prompt, gdb-prompt): Call handler in gdb-prompt. | ||
| 24775 | (gdb-post-prompt): Don't update GDB buffers every time speedbar | ||
| 24776 | updates. | ||
| 24777 | (gdb-window-height, gdb-window-width, gdb-display-in-progress) | ||
| 24778 | (gdb-expression-buffer-name, gdb-display-number, gdb-point) | ||
| 24779 | (gdb-dive-display-number, gdb-nesting-level, gdb-expression) | ||
| 24780 | (gdb-annotation-arg, gdb-dive-map, gdb-values, gdb-array-start) | ||
| 24781 | (gdb-array-stop, gdb-array-slice-map, gdb-display-string) | ||
| 24782 | (gdb-array-size, gdb-display-mode-map, gdb-expressions-mode-map): | ||
| 24783 | (gdb-expressions-mode-menu, gdb-dive): Remove variables. | ||
| 24784 | (gud-display, gud-display1) | ||
| 24785 | (gdb-display-begin,gdb-display-number-end, gdb-delete-line) | ||
| 24786 | (gdb-display-end, gdb-display-go-back, gdb-array-section-end) | ||
| 24787 | (gdb-field-begin, gdb-field-end, gdb-elt,gdb-field-format-begin) | ||
| 24788 | (gdb-field-format-end, gdb-dive, gdb-dive-new-frame) | ||
| 24789 | (gdb-insert-field, gdb-array-format, gdb-mouse-array-slice) | ||
| 24790 | (gdb-array-slice, gdb-array-format1, gdb-info-display-custom) | ||
| 24791 | (gdb-delete-frames, gdb-display-mode, gdb-display-buffer-name) | ||
| 24792 | (gdb-display-display-buffer, gdb-toggle-display) | ||
| 24793 | (gdb-delete-display, gdb-expressions-popup-menu) | ||
| 24794 | (gdb-expressions-mode, gdb-array-visualise): Remove functions. | ||
| 24795 | (gdb-setup-windows, gdb-reset, gdb-source-info): Remove references | ||
| 24796 | to display buffer. | ||
| 24797 | |||
| 24798 | 2003-09-30 Richard M. Stallman <rms@gnu.org> | ||
| 24799 | |||
| 24800 | * progmodes/ada-mode.el (ada-mode): Don't use advice. | ||
| 24801 | Instead, set which-func-functions. | ||
| 24802 | |||
| 24803 | * progmodes/which-func.el (which-func-modes): Add ada-mode. | ||
| 24804 | (which-func-functions): New variable. | ||
| 24805 | (which-function): Use that. | ||
| 24806 | |||
| 24807 | * info.el (Info-mode): Double each `%' in header line. | ||
| 24808 | |||
| 24809 | * emacs-lisp/lisp-mnt.el (lm-with-file): | ||
| 24810 | When FILE is nil, run BODY in current buffer. | ||
| 24811 | |||
| 24812 | * mail/emacsbug.el (report-emacs-bug): Mention major and minor modes. | ||
| 24813 | |||
| 24814 | * help.el (describe-mode): Start with a brief list of minor modes. | ||
| 24815 | Find them thru minor-mode-list so as to find them all. | ||
| 24816 | Show them in alphabetical order. | ||
| 24817 | |||
| 24818 | * mail/sendmail.el (mail-aliases): Doc fix. | ||
| 24819 | |||
| 24820 | * progmodes/sh-script.el (sh-mode-syntax-table): Add defvar. | ||
| 24821 | |||
| 24822 | 2003-09-30 Alexander Pohoyda <alexander.pohoyda@gmx.net> (tiny change) | ||
| 24823 | |||
| 24824 | * mail/rmailsum.el (rmail-make-summary-line-1): | ||
| 24825 | Change comma after last label to a space. | ||
| 24826 | (rmail-summary-font-lock-keywords): Adapt to that change. | ||
| 24827 | |||
| 24828 | 2003-09-30 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 24829 | |||
| 24830 | * progmodes/scheme.el (scheme-mode-variables): When setting | ||
| 24831 | `font-lock-defaults', also specify that "#" should | ||
| 24832 | be interpreted with `word' syntax. | ||
| 24833 | (scheme-font-lock-keywords-2): Also interpret "#:foo" as keyword. | ||
| 24834 | |||
| 24835 | 2003-09-30 Lars Hansen <larsh@math.ku.dk> | ||
| 24836 | |||
| 24837 | * desktop.el: A lot of comments updated. | ||
| 24838 | (desktop-save-mode): Minor mode introduced. | ||
| 24839 | (desktop-enable, desktop-clear-preserve-buffers): Make vars obsolete. | ||
| 24840 | (desktop-load-default): Function made obsolete. | ||
| 24841 | (desktop-locals-to-save): Variable made customizable. | ||
| 24842 | (desktop-read): Optional parameter `dirname' added. | ||
| 24843 | (desktop-change-dir, desktop-revert): Parameter `dirname' in | ||
| 24844 | `desktop-read' used. | ||
| 24845 | (desktop-save-in-load-dir): Rename to `desktop-save-in-desktop-dir'. | ||
| 24846 | |||
| 24847 | 2003-09-29 Rajesh Vaidheeswarran <rv@gnu.org> | ||
| 24848 | |||
| 24849 | * whitespace.el (whitespace-clean-msg): Add user customizable message | ||
| 24850 | for displaying ``clean'' output. | ||
| 24851 | (whitespace-buffer): Use `whitespace-clean-msg'. | ||
| 24852 | (whitespace-global-mode): Fix typo. | ||
| 24853 | |||
| 24854 | 2003-09-29 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 24855 | |||
| 24856 | * pcvs.el (cvs-mode-unmark-up): Move to goal column when done. | ||
| 24857 | |||
| 24858 | 2003-09-29 Lute Kamstra <lute@gnu.org> | ||
| 24859 | |||
| 24860 | * bindings.el (mode-line-modes): Remove superfluous :propertize | ||
| 24861 | construct in initialization. | ||
| 24862 | (mode-line-position): Change cons cell into proper list in | ||
| 24863 | initialization. | ||
| 24864 | |||
| 24865 | 2003-09-29 SAITO Takuya <tabmore@rivo.mediatti.net> (tiny change) | ||
| 24866 | |||
| 24867 | * international/mule.el (decode-coding-inserted-region): Use car | ||
| 24868 | of the return value of find-operation-coding-system. | ||
| 24869 | |||
| 24870 | 2003-09-29 Kenichi Handa <handa@m17n.org> | ||
| 24871 | |||
| 24872 | * descr-text.el (describe-char): Fix previous change. | ||
| 24873 | |||
| 24874 | 2003-09-28 Kenichi Handa <handa@m17n.org> | ||
| 24875 | |||
| 24876 | * descr-text.el (describe-char-display): New function. | ||
| 24877 | (describe-char): Pay attention to display table on describing how | ||
| 24878 | a character is displayed. | ||
| 24879 | |||
| 24880 | * international/mule-cmds.el (encoded-string-description): | ||
| 24881 | Prepend "0x" to each encoded byte. | ||
| 24882 | |||
| 24883 | 2003-09-28 Andreas Schwab <schwab@suse.de> | ||
| 24884 | |||
| 24885 | * find-file.el (ff-special-constructs): Add autoload cookie. | ||
| 24886 | |||
| 24887 | 2003-09-28 Kevin Ryde <user42@zip.com.au> | ||
| 24888 | |||
| 24889 | * info.el (Info-find-index-name): Remove any "<n>" suffixes which | ||
| 24890 | makeinfo appends to duplicate index entries. | ||
| 24891 | |||
| 24892 | 2003-09-28 Eli Zaretskii <eliz@gnu.org> | ||
| 24893 | |||
| 24894 | * dired-x.el (dired-clean-tex): Doc fix. | ||
| 24895 | |||
| 24896 | * language/chinese.el ("Chinese-GB", "Chinese-BIG5"): Set up for | ||
| 24897 | using a Chinese tutorial. | ||
| 24898 | |||
| 24899 | 2003-09-28 Jesper Harder <harder@ifa.au.dk> (tiny change) | ||
| 24900 | |||
| 24901 | * mail/smtpmail.el (smtpmail-via-smtp): Don't insert a space | ||
| 24902 | between "MAIL FROM:" and "RCPT TO:" and the following address. | ||
| 24903 | |||
| 24904 | 2003-09-28 Jesper Harder <harder@ifa.au.dk> (tiny change) | ||
| 24905 | |||
| 24906 | * textmodes/text-mode.el (paragraph-indent-minor-mode): Doc fix. | ||
| 24907 | |||
| 24908 | 2003-09-28 David Ponce <david@dponce.com> | ||
| 24909 | |||
| 24910 | * recentf.el (recentf-initialize-file-name-history): New defcustom. | ||
| 24911 | (recentf-load-list): When `recentf-initialize-file-name-history' | ||
| 24912 | is non-nil, initialize an empty `file-name-history' with the | ||
| 24913 | recent list. | ||
| 24914 | |||
| 24915 | 2003-09-28 Evgeni Dobrev <evgeni_dobrev@developer.bg> (tiny change) | ||
| 24916 | |||
| 24917 | * man.el (Man-default-man-entry): Remove the leading `*' from the | ||
| 24918 | word at point. | ||
| 24919 | |||
| 24920 | 2003-09-26 Lute Kamstra <lute@gnu.org> | ||
| 24921 | |||
| 24922 | * bindings.el (mode-line-position): Mention size indication in | ||
| 24923 | docstring. | ||
| 24924 | |||
| 24925 | 2003-09-26 Andre Spiegel <spiegel@gnu.org> | ||
| 24926 | |||
| 24927 | * calendar/parse-time.el (parse-time-string): Add autoload cookie. | ||
| 24928 | |||
| 24929 | * vc-cvs.el (vc-cvs-parse-entry): Don't require parse-time, | ||
| 24930 | because it's autoloaded now. | ||
| 24931 | |||
| 24932 | 2003-09-25 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 24933 | |||
| 24934 | * progmodes/sh-script.el (sh-builtins): Add bash `shopt' builtin. | ||
| 24935 | (sh-font-lock-keywords, sh-feature): Fix previous change of | ||
| 24936 | sh-feature to avoid infloop with sh-font-lock-keywords. | ||
| 24937 | |||
| 24938 | 2003-09-25 Kim F. Storm <storm@cua.dk> | ||
| 24939 | |||
| 24940 | * frame.el (frame-current-scroll-bars): New defun. | ||
| 24941 | |||
| 24942 | * window.el (window-current-scroll-bars): New defun. | ||
| 24943 | |||
| 24944 | 2003-09-24 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 24945 | |||
| 24946 | * progmodes/cc-engine.el (c-parse-state): Fix bug that could | ||
| 24947 | cause errors when the state cache contains info on parts that have | ||
| 24948 | been narrowed out. | ||
| 24949 | |||
| 24950 | 2003-09-24 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 24951 | |||
| 24952 | * progmodes/cc-vars.el (c-comment-prefix-regexp): Document that | ||
| 24953 | `c-setup-paragraph-variables' has to be used when this variable is | ||
| 24954 | changed; it doesn't work to reinitialize the mode since that | ||
| 24955 | typically clobbers the variable. | ||
| 24956 | |||
| 24957 | * progmodes/cc-styles.el (c-setup-paragraph-variables): | ||
| 24958 | Make it interactive. | ||
| 24959 | |||
| 24960 | 2003-09-24 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 24961 | |||
| 24962 | * progmodes/cc-fonts.el (c-font-lock-declarations): | ||
| 24963 | Fix recognition of constructors and destructors for classes whose | ||
| 24964 | names are matched by `*-font-lock-extra-types'. | ||
| 24965 | |||
| 24966 | * progmodes/cc-langs.el (c-type-list-kwds): If "operator" is | ||
| 24967 | followed by an identifier in C++ then it's a type. | ||
| 24968 | |||
| 24969 | 2003-09-24 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 24970 | |||
| 24971 | * progmodes/cc-fonts.el (c-font-lock-invalid-string): Fix eob | ||
| 24972 | problem that primarily affected XEmacs. Don't use faces to find | ||
| 24973 | unterminated strings since Emacs and XEmacs fontify strings | ||
| 24974 | differently - this function should now work better in XEmacs. | ||
| 24975 | |||
| 24976 | 2003-09-24 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 24977 | |||
| 24978 | * progmodes/cc-cmds.el (c-electric-brace): Fix a bug in the | ||
| 24979 | `expand-abbrev' workaround which caused braces to misbehave inside | ||
| 24980 | macros. | ||
| 24981 | |||
| 24982 | * progmodes/cc-engine.el (c-forward-keyword-clause): Fix error | ||
| 24983 | handling. This bug could cause interactive font locking to bail out. | ||
| 24984 | |||
| 24985 | 2003-09-24 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 24986 | |||
| 24987 | * progmodes/cc-engine.el (c-just-after-func-arglist-p): | ||
| 24988 | Handle paren-style types in Pike. Also fixed some cases of | ||
| 24989 | insufficient handling of unbalanced parens. | ||
| 24990 | |||
| 24991 | 2003-09-24 Rajesh Vaidheeswarran <rv@gnu.org> | ||
| 24992 | |||
| 24993 | * ffap.el (ffap-shell-prompt-regexp): Add regexp to identify | ||
| 24994 | common shell prompts that are not common filename or URL characters. | ||
| 24995 | (ffap-file-at-point): Use the new regexp to strip the prompts from | ||
| 24996 | the file names. This is an issue mostly for user prompts that | ||
| 24997 | don't have a trailing space and find-file-at-point is invoked from | ||
| 24998 | within a shell inside Emacs. | ||
| 24999 | |||
| 25000 | 2003-09-24 Andre Spiegel <spiegel@gnu.org> | ||
| 25001 | |||
| 25002 | * vc-cvs.el (vc-cvs-parse-entry): Restore the code to compare time | ||
| 25003 | stamps numerically, rather than textually. | ||
| 25004 | |||
| 25005 | 2003-09-24 Kenichi Handa <handa@m17n.org> | ||
| 25006 | |||
| 25007 | * language/devan-util.el (devanagari-post-read-conversion): | ||
| 25008 | * language/mlm-util.el (malayalam-post-read-conversion): | ||
| 25009 | * language/tml-util.el (tamil-post-read-conversion): | ||
| 25010 | Add autoload cookie. | ||
| 25011 | |||
| 25012 | * international/utf-8.el (utf-8-post-read-conversion): | ||
| 25013 | Call post-read-conversion functions for Devanagari, Malayalam, | ||
| 25014 | and Tamil. | ||
| 25015 | |||
| 25016 | 2003-09-23 Dave Love <fx@gnu.org> | ||
| 25017 | |||
| 25018 | * Makefile.in (bootstrap-clean): Fix misplaced `!'. | ||
| 25019 | |||
| 25020 | 2003-09-22 Nick Roberts <nick@nick.uklinux.net> | ||
| 25021 | |||
| 25022 | * progmodes/gud.el (perldb): Add gud-until to list of commands. | ||
| 25023 | Update gud-remove. | ||
| 25024 | |||
| 25025 | 2003-09-22 Richard M. Stallman <rms@gnu.org> | ||
| 25026 | |||
| 25027 | * progmodes/sh-script.el (sh-mode-default-syntax-table): | ||
| 25028 | Rename from sh-mode-syntax-table. Call sh-mode-syntax-table directly. | ||
| 25029 | (sh-mode-syntax-table-input): New variable. | ||
| 25030 | (sh-require-final-newline): Don't use eval. | ||
| 25031 | (sh-builtins, sh-leading-keywords, sh-other-keywords) | ||
| 25032 | (sh-variables, sh-font-lock-keywords): Don't use eval. | ||
| 25033 | (sh-set-shell): When setting require-final-newline, | ||
| 25034 | treat value = `require-final-newline' as don't change it. | ||
| 25035 | Set sh-mode-syntax-table locally based on | ||
| 25036 | sh-mode-syntax-table-input and sh-mode-default-syntax-table. | ||
| 25037 | |||
| 25038 | * progmodes/compile.el (compile-internal): | ||
| 25039 | Call compilation-set-window-height before setting window start. | ||
| 25040 | |||
| 25041 | 2003-09-22 Greg Hill <ghill@synergymicro.com> (tiny change) | ||
| 25042 | |||
| 25043 | * emacs-lisp/bytecomp.el (byte-compile-log-file): | ||
| 25044 | Clear out byte-compile-last-warned-form. | ||
| 25045 | |||
| 25046 | 2003-09-22 Richard M. Stallman <rms@gnu.org> | ||
| 25047 | |||
| 25048 | * woman.el (woman-file-name, woman-follow-word): | ||
| 25049 | If current-word returns nil, use "". | ||
| 25050 | |||
| 25051 | * simple.el (eval-expression): Bind standard-output in to-buffer case. | ||
| 25052 | |||
| 25053 | 2003-09-22 Richard M. Stallman <rms@gnu.org> | ||
| 25054 | |||
| 25055 | * emacs-lisp/lisp-mnt.el (lm-with-file): | ||
| 25056 | Don't visit the file, just use insert-file-contents in temp buffer. | ||
| 25057 | |||
| 25058 | 2003-09-22 Jari Aalto <jari.aalto@poboxes.com> | ||
| 25059 | |||
| 25060 | * emacs-lisp/lisp-mnt.el (lm-get-header-re): | ||
| 25061 | Add surrounding \\( and \\) around the header, as in | ||
| 25062 | for lm-history-header 'Change Log\\|History'. | ||
| 25063 | |||
| 25064 | 2003-09-22 John Paul Wallington <jpw@gnu.org> | ||
| 25065 | |||
| 25066 | * progmodes/ld-script.el: Add Commentary section, | ||
| 25067 | minor cleanup of file header. | ||
| 25068 | (ld-script-font-lock-keywords): Doc fix. | ||
| 25069 | (toplevel): Provide `ld-script' feature. | ||
| 25070 | |||
| 25071 | 2003-09-21 Kim F. Storm <storm@cua.dk> | ||
| 25072 | |||
| 25073 | * scroll-bar.el (set-scroll-bar-mode): Initialize to | ||
| 25074 | new built-in variable default-frame-scroll-bars. | ||
| 25075 | (scroll-bar-mode): Use default-frame-scroll-bars when enabling | ||
| 25076 | scroll-bar-mode; notably, use it instead of t when we toggle | ||
| 25077 | scroll-bars on. | ||
| 25078 | (toggle-scroll-bar): Use default-frame-scroll-bars. | ||
| 25079 | |||
| 25080 | 2003-09-19 Masatake YAMATO <jet@gyve.org> | ||
| 25081 | |||
| 25082 | * pcvs.el (cvs-do-removal): Change the prompt depending on | ||
| 25083 | `filter' value. | ||
| 25084 | |||
| 25085 | 2003-09-19 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 25086 | |||
| 25087 | * startup.el (command-line-1): Stop startup-echo-area-message | ||
| 25088 | being hidden by "Loading image..." message. | ||
| 25089 | (use-fancy-splash-screens-p, display-splash-screen): | ||
| 25090 | Move display-graphic-p test from latter to former. | ||
| 25091 | |||
| 25092 | * progmodes/sh-script.el (sh-font-lock-keywords): | ||
| 25093 | Highlight escaped EOLs differently from other backslash constructs. | ||
| 25094 | |||
| 25095 | 2003-09-19 Richard M. Stallman <rms@gnu.org> | ||
| 25096 | |||
| 25097 | * emacs-lisp/edebug.el (edebug-var-status, edebug-restore-status): | ||
| 25098 | New functions. | ||
| 25099 | (edebug-enter, edebug-outside-excursion): Use them. | ||
| 25100 | |||
| 25101 | * emacs-lisp/bytecomp.el (byte-compile-warning-prefix): | ||
| 25102 | Fix the condition for whether to print "In WHERE". | ||
| 25103 | |||
| 25104 | 2003-09-19 Jari Aalto <jari.aalto@poboxes.com> | ||
| 25105 | |||
| 25106 | * finder.el (finder-mode-hook): New variable. | ||
| 25107 | (finder-mode): Run hook finder-mode-hook | ||
| 25108 | |||
| 25109 | 2003-09-18 Masatake YAMATO <jet@gyve.org> | ||
| 25110 | |||
| 25111 | * progmodes/ebrowse.el: Fix broken magic autoload comments. | ||
| 25112 | |||
| 25113 | 2003-09-17 Mario Lang <mlang@delysid.org> | ||
| 25114 | |||
| 25115 | * progmodes/gud.el (perldb): Change gud-print from just "%e" to | ||
| 25116 | "p %e" to actually print the value in the GUD buffer. | ||
| 25117 | |||
| 25118 | 2003-09-16 Miles Bader <miles@gnu.ai.mit.edu> | ||
| 25119 | |||
| 25120 | From David Ponce <david.ponce@wanadoo.fr>: | ||
| 25121 | * makefile.w32-in (DONTCOMPILE): Add loaddefs-boot.el. | ||
| 25122 | (bootstrap-clean-CMD, bootstrap-clean-SH): Recreate loaddefs.el | ||
| 25123 | from loaddefs-boot.el if necessary. | ||
| 25124 | |||
| 25125 | 2003-09-15 Zoltan Kemenczy <kemenczy@rogers.com> | ||
| 25126 | |||
| 25127 | * progmodes/gud.el (gud-find-class): Make jdb work again since | ||
| 25128 | cc-mode changed the syntactic information. | ||
| 25129 | |||
| 25130 | 2003-09-15 David Ponce <david@dponce.com> | ||
| 25131 | |||
| 25132 | * recentf.el: (recentf-exclude): Accept predicates too. | ||
| 25133 | (recentf-file-readable-p): New function. | ||
| 25134 | (recentf-include-p): Handle predicates in recentf-exclude. | ||
| 25135 | (recentf-add-file): Doc fix. Use recentf-file-readable-p. | ||
| 25136 | (recentf-cleanup): Likewise. | ||
| 25137 | (recentf-save-list): Use write-file to handle backup of | ||
| 25138 | recentf-save-file. | ||
| 25139 | |||
| 25140 | 2003-09-15 Miles Bader <miles@gnu.ai.mit.edu> | ||
| 25141 | |||
| 25142 | * loaddefs-boot.el: Renamed from `loaddefs.el' | ||
| 25143 | * Makefile.in (DONTCOMPILE): Add loaddefs-boot.el. | ||
| 25144 | (bootstrap-clean): Recreate loaddefs.el from loaddefs-boot.el if | ||
| 25145 | necessary. | ||
| 25146 | |||
| 25147 | 2003-09-13 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 25148 | |||
| 25149 | * electric.el (Electric-pop-up-window): For the `one-window' case, | ||
| 25150 | no longer disconcertingly move point in the original buffer. | ||
| 25151 | |||
| 25152 | 2003-09-12 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 25153 | |||
| 25154 | * emacs-lisp/tq.el (tq-create): Fix mixed up unquote style. | ||
| 25155 | |||
| 25156 | 2003-09-12 Eric Hanchrow <offby1@blarg.net> (tiny change) | ||
| 25157 | |||
| 25158 | * dired.el (dired-mode-map): Fix typo. | ||
| 25159 | |||
| 25160 | 2003-09-11 Richard M. Stallman <rms@gnu.org> | ||
| 25161 | |||
| 25162 | * dired.el (dired-mode-map): Bind M-g to dired-goto-file. | ||
| 25163 | |||
| 25164 | 2003-09-11 Paul Pogonyshev <pogonyshev@gmx.net> (tiny change) | ||
| 25165 | |||
| 25166 | * window.el (kill-buffer-and-window): Remove `yes-or-no-p' so that | ||
| 25167 | the function is less noisy. Now only `kill-buffer' can ask questions. | ||
| 25168 | |||
| 25169 | 2003-09-10 Mario Lang <mlang@delysid.org> | ||
| 25170 | |||
| 25171 | * battery.el: Update Commentary and Copyright. | ||
| 25172 | (battery-linux-proc-acpi): Fix a bug in %b which made "!" never | ||
| 25173 | appear due to wrong ordering of the expressions in `or'. | ||
| 25174 | |||
| 25175 | 2003-09-09 Lute Kamstra <lute@gnu.org> | ||
| 25176 | |||
| 25177 | * misc.el (upcase-char): Fix docstring. | ||
| 25178 | (zap-up-to-char): New command. | ||
| 25179 | |||
| 25180 | 2003-09-08 David Ponce <david@dponce.com> | ||
| 25181 | |||
| 25182 | Ensure that recentf correctly updates the menu bar. | ||
| 25183 | * recentf.el (recentf-menu-path,recentf-menu-before): Doc fix. | ||
| 25184 | (recentf-menu-bar): New function. | ||
| 25185 | (recentf-clear-data): Use it | ||
| 25186 | (recentf-update-menu): Likewise. Use easy-menu-add-item instead | ||
| 25187 | of easy-menu-change. | ||
| 25188 | |||
| 25189 | 2003-09-08 Lute Kamstra <lute@gnu.org> | ||
| 25190 | |||
| 25191 | * simple.el (size-indication-mode): New. | ||
| 25192 | * bindings.el (mode-line-position): Add buffer size indicator. | ||
| 25193 | |||
| 25194 | 2003-09-04 Mario Lang <mlang@delysid.org> | ||
| 25195 | |||
| 25196 | * battery.el (battery-linux-proc-acpi): New function. | ||
| 25197 | (battery-status-function): Modify default value calculation to also | ||
| 25198 | check for availability of ACPI. | ||
| 25199 | (battery-echo-area-format): Ditto. | ||
| 25200 | (battery-mode-line-format): Ditto. | ||
| 25201 | |||
| 25202 | 2003-09-06 Dave Love <fx@gnu.org> | ||
| 25203 | |||
| 25204 | * ielm.el (ielm-mode-hook): Add :options. | ||
| 25205 | |||
| 25206 | * emacs-lisp/eldoc.el (eldoc-print-current-symbol-info-function): New. | ||
| 25207 | (eldoc-print-current-symbol-info): Use it. | ||
| 25208 | |||
| 25209 | 2003-09-04 Nick Roberts <nick@nick.uklinux.net> | ||
| 25210 | |||
| 25211 | * gdb-ui.el (gud-display1): Use gud-call to prevent extra prompt | ||
| 25212 | being displayed in GUD buffer. | ||
| 25213 | (gdb-idle-input-queue): Remove var. Use just one queue. | ||
| 25214 | (gdb-enqueue-idle-input,gdb-dequeue-idle-input): | ||
| 25215 | Remove functions. Use just one queue. | ||
| 25216 | (gdb-prompt, gdb-subprompt, def-gdb-auto-update-trigger) | ||
| 25217 | (gdb-invalidate-assembler, gdb-get-current-frame): | ||
| 25218 | Modify functions. Use just one queue. | ||
| 25219 | |||
| 25220 | 2003-09-04 Dave Love <fx@gnu.org> | ||
| 25221 | |||
| 25222 | * cus-start.el: Add blink-cursor-alist. | ||
| 25223 | |||
| 25224 | * ruler-mode.el (ruler-mode-fill-column-char) | ||
| 25225 | (ruler-mode-current-column-char): Use char-displayable-p, | ||
| 25226 | not window-system. | ||
| 25227 | |||
| 25228 | * international/codepage.el ("mule-diag"): Add eval-after-load clause. | ||
| 25229 | |||
| 25230 | * language/european.el (windows-1252): Move from code-pages. | ||
| 25231 | |||
| 25232 | * language/cyrillic.el ("Windows-1251"): Delete. | ||
| 25233 | ("Bulgarian", "Belarusian"): Remove `features'. | ||
| 25234 | (windows-1251): Move from code-pages. | ||
| 25235 | |||
| 25236 | * international/mule-diag.el (non-iso-charset-alist): | ||
| 25237 | Remove `codepage' stuff. | ||
| 25238 | (print-designation, list-coding-systems-1): Output fixes. | ||
| 25239 | |||
| 25240 | * international/code-pages.el (cp-make-translation-table) | ||
| 25241 | (cp-valid-codes): Made defsubsts. | ||
| 25242 | (cp-fix-safe-chars): Delete. | ||
| 25243 | (mule-diag): Don't require. | ||
| 25244 | (windows-1251, windows-1252): Remove to cyrillic.el/european.el. | ||
| 25245 | (top-level): Check for defined coding system when defining | ||
| 25246 | cp... aliases. Change w32-add-charset-info test to avoid warning. | ||
| 25247 | (non-iso-charset-alist): Defvar when compiling. | ||
| 25248 | (cp-make-coding-system): Doc fix. | ||
| 25249 | |||
| 25250 | 2003-09-02 Jason Rumney <jasonr@gnu.org> | ||
| 25251 | |||
| 25252 | * international/titdic-cnv.el (tsang-quick-converter): Fix broken | ||
| 25253 | line-ends from CVS before doing conversion. | ||
| 25254 | |||
| 25255 | 2003-09-02 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 25256 | |||
| 25257 | * calendar/diary-lib.el (diary-header-line-flag) | ||
| 25258 | (diary-header-line-format): New variables. | ||
| 25259 | (list-diary-entries): Use them to set header line in simple diary. | ||
| 25260 | |||
| 25261 | * progmodes/sh-script.el (sh-font-lock-keywords): Use something | ||
| 25262 | other than font-lock-string-face to highlight backslashes. | ||
| 25263 | |||
| 25264 | 2003-09-01 Jason Rumney <jasonr@gnu.org> | ||
| 25265 | |||
| 25266 | * international/titdic-cnv.el (tit-read-key-value): Include \r in | ||
| 25267 | regexp. | ||
| 25268 | |||
| 25269 | 2003-09-01 Dave Love <fx@gnu.org> | ||
| 25270 | |||
| 25271 | * mouse.el (mouse-popup-menubar, mouse-skip-word): Doc fix. | ||
| 25272 | |||
| 25273 | * menu-bar.el (menu-bar-showhide-menu): Amend date and time label | ||
| 25274 | and :help; also line and column numbers labels. | ||
| 25275 | |||
| 25276 | * international/mule-util.el (char-displayable-p): Move from | ||
| 25277 | latin1-disp, rename and autoload. | ||
| 25278 | |||
| 25279 | * international/latin1-disp.el (latin1-char-displayable-p): | ||
| 25280 | Now obsolete alias. Replace uses with char-displayable-p. | ||
| 25281 | (latin1-display-ucs-per-lynx): Fix last change. | ||
| 25282 | |||
| 25283 | * international/mule-cmds.el (standard-display-european-internal): | ||
| 25284 | Don't use char code for Latin-1 NBSP. | ||
| 25285 | <XFree86 4>: Unfrob NBSP display table. Set display table to use | ||
| 25286 | U+2018, U+2019 for `'. | ||
| 25287 | (select-safe-coding-system): Message fix. | ||
| 25288 | |||
| 25289 | 2003-09-01 Kenichi Handa <handa@m17n.org> | ||
| 25290 | |||
| 25291 | * international/fontset.el (setup-default-fontset): For Thai | ||
| 25292 | font, specify "*" family. | ||
| 25293 | |||
| 25294 | 2003-09-01 Kevin Rodgers <ihs_4664@yahoo.com> (tiny change) | ||
| 25295 | |||
| 25296 | * progmodes/compile.el (previous-error): Accept a prefix | ||
| 25297 | argument, similarly to next-error. | ||
| 25298 | |||
| 25299 | 2003-08-31 Masatake YAMATO <jet@gyve.org> | ||
| 25300 | |||
| 25301 | * pcvs.el (cvs-do-removal): Use = instead of eq to check | ||
| 25302 | the number of files. Bind the number of files to a local | ||
| 25303 | variable. Suggested by Kevin Rodgers <ihs_4664@yahoo.com>. | ||
| 25304 | |||
| 25305 | 2003-08-30 Eli Zaretskii <eliz@gnu.org> | ||
| 25306 | |||
| 25307 | * vc-hooks.el (vc-make-version-backup): Fix the change made on | ||
| 25308 | 2003-07-26: msdos-long-file-names is a function, not a variable. | ||
| 25309 | |||
| 25310 | 2003-08-29 Richard M. Stallman <rms@gnu.org> | ||
| 25311 | |||
| 25312 | * mail/sendmail.el (sendmail-sync-aliases, mail-setup): | ||
| 25313 | Do nothing with mail-personal-alias-file if it is nil. | ||
| 25314 | |||
| 25315 | * mail/mailabbrev.el (mail-abbrevs-sync-aliases): | ||
| 25316 | Do nothing if mail-personal-alias-file is nil. | ||
| 25317 | |||
| 25318 | * term.el (term-exec-1): Bind coding-system-for-read. | ||
| 25319 | |||
| 25320 | * dired.el (dired-mouse-find-file-other-window): | ||
| 25321 | Use dired-view-command-alist here, as in dired-view-file. | ||
| 25322 | (dired-view-command-alist): Use %s to substitute file name. | ||
| 25323 | Handle .ps_pages, .eps, .jpg, .gif, .png. | ||
| 25324 | |||
| 25325 | 2003-08-29 Paul Pogonyshev <pogonyshev@gmx.net> (tiny change) | ||
| 25326 | |||
| 25327 | * info.el (Info-mode-map): Bind S-tab and <backtab> to | ||
| 25328 | `Info-prev-reference', instead of M-tab. | ||
| 25329 | |||
| 25330 | 2003-08-29 Martin Stjernholm <mast@lysator.liu.se> | ||
| 25331 | |||
| 25332 | * simple.el (blink-matching-open): Work correctly on chars that | ||
| 25333 | are designated as parens through the syntax-table text property. | ||
| 25334 | |||
| 25335 | 2003-08-29 Thierry Emery <thierry.emery@club-internet.fr> (tiny change) | ||
| 25336 | |||
| 25337 | * kinsoku.el (kinsoku-longer, kinsoku-shorter): Do not choose a | ||
| 25338 | line break position in the middle of a non-kinsoku (e.g. latin) | ||
| 25339 | word, making it skip until either a space or a character with | ||
| 25340 | category "|". | ||
| 25341 | (kinsoku-longer): Test for end of buffer. | ||
| 25342 | |||
| 25343 | 2003-08-28 Eli Zaretskii <eliz@gnu.org> | ||
| 25344 | |||
| 25345 | * mail/rmail.el (rmail-convert-to-babyl-format): | ||
| 25346 | Detect quoted-printable- and base64-encoded messages and decode them | ||
| 25347 | automatically. Set the message's encoding from the charset= | ||
| 25348 | header, if any. Decode base64-encoded messages in Mail format as well. | ||
| 25349 | |||
| 25350 | 2003-08-26 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 25351 | |||
| 25352 | * mail/smtpmail.el: Fix previous change. | ||
| 25353 | (smtpmail-send-queued-mail): Set smtpmail-mail-address before | ||
| 25354 | calling smtpmail-via-smtp. | ||
| 25355 | (smtpmail-via-smtp): Add fall-back values for envelope-from. | ||
| 25356 | |||
| 25357 | 2003-08-26 John Paul Wallington <jpw@gnu.org> | ||
| 25358 | |||
| 25359 | * image.el (image-jpeg-p): Don't search beyond length of data. | ||
| 25360 | |||
| 25361 | 2003-08-26 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 25362 | |||
| 25363 | * progmodes/cc-cmds.el (c-electric-brace): Work around for a | ||
| 25364 | misfeature in `expand-abbrev' which caused electric keywords like | ||
| 25365 | "else" to disappear if an open brace was typed directly afterwards. | ||
| 25366 | |||
| 25367 | 2003-08-26 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 25368 | |||
| 25369 | * progmodes/cc-vars.el (c-extra-types-widget): The doc string is | ||
| 25370 | mandatory in `define-widget'. | ||
| 25371 | |||
| 25372 | * progmodes/cc-align.el, progmodes/cc-langs.el (c-lineup-math): | ||
| 25373 | Don't align the operators "!=", "<=" and ">=" as assignment operators. | ||
| 25374 | |||
| 25375 | (c-assignment-operators): New language constant that only contains | ||
| 25376 | the assignment operators. | ||
| 25377 | |||
| 25378 | (c-assignment-op-regexp): New language var used by `c-lineup-math'. | ||
| 25379 | |||
| 25380 | 2003-08-26 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 25381 | |||
| 25382 | * progmodes/cc-engine.el (c-just-after-func-arglist-p): | ||
| 25383 | Safeguard against unbalanced sexps. | ||
| 25384 | |||
| 25385 | 2003-08-26 Terje Rosten <terjeros@phys.ntnu.no> | ||
| 25386 | |||
| 25387 | * version.el (emacs-version): Check for gtk. Include gtk version info. | ||
| 25388 | |||
| 25389 | 2003-08-25 John Paul Wallington <jpw@gnu.org> | ||
| 25390 | |||
| 25391 | * man.el (Man-default-man-entry): Don't whizz past the section | ||
| 25392 | number before looking for it. | ||
| 25393 | |||
| 25394 | 2003-08-24 Nick Roberts <nick@nick.uklinux.net> | ||
| 25395 | |||
| 25396 | * progmodes/gud.el (gud-display-line): Don't set window-point if | ||
| 25397 | source buffer is not visible. (Only happens with M-x gdba.) | ||
| 25398 | |||
| 25399 | * gdb-ui.el (gdba): Remove gdb-quit (previously removed) from | ||
| 25400 | documentation. | ||
| 25401 | (gdb-source, gdb-source-info): Update to assembler unnecessary | ||
| 25402 | as its done after each GDB command anyway. | ||
| 25403 | (gdb-pre-prompt): Use with-current-buffer. | ||
| 25404 | (gdb-insert-field): Add help-echo text. | ||
| 25405 | (gdb-invalidate-assembler): Re-display of assembler now done in | ||
| 25406 | gdb-info-breakpoints-custom. | ||
| 25407 | (gdb-info-breakpoints-custom): Force re-display of assembler to | ||
| 25408 | happen *after* update of breakpoints buffer. | ||
| 25409 | (gdb-display-source-buffer): Don't choke if gdb-source-window | ||
| 25410 | isn't visible. | ||
| 25411 | (gdb-put-string, gdb-put-arrow): Remove free variables. | ||
| 25412 | |||
| 25413 | 2003-08-24 John Paul Wallington <jpw@gnu.org> | ||
| 25414 | |||
| 25415 | * ibuffer.el (ibuffer-formats): Make name and size columns wider. | ||
| 25416 | |||
| 25417 | * man.el (Man-default-man-entry): Strip text properties when | ||
| 25418 | snarfing parts of entry because `format' preserves properties. | ||
| 25419 | |||
| 25420 | 2003-08-24 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 25421 | |||
| 25422 | * files.el (file-newest-backup): Use `expand-file-name'. | ||
| 25423 | |||
| 25424 | * calendar/diary-lib.el (simple-diary-display, make-diary-entry): | ||
| 25425 | Allow the diary to pop up a new frame, if needed. | ||
| 25426 | |||
| 25427 | * mail/sendmail.el (mail-specify-envelope-from): Doc change. | ||
| 25428 | * mail/smtpmail.el (smtpmail-mail-address): Doc change. | ||
| 25429 | (smtpmail-send-it): Make treatment of envelope-from consistent with | ||
| 25430 | sendmail.el. | ||
| 25431 | |||
| 25432 | * progmodes/sh-script.el (sh-builtins): Add some bash builtins. | ||
| 25433 | (sh-leading-keywords): Add the bash `time' reserved word. | ||
| 25434 | (sh-variables): Add some bash variables. | ||
| 25435 | (sh-add-completer): Fix nil branch of case statement. | ||
| 25436 | |||
| 25437 | 2003-08-24 Masatake YAMATO <jet@gyve.org> | ||
| 25438 | |||
| 25439 | * progmodes/ld-script.el: New file. | ||
| 25440 | |||
| 25441 | 2003-08-23 Markus Rost <rost@math.ohio-state.edu> | ||
| 25442 | |||
| 25443 | * vc-hooks.el (vc-ignore-vc-files, vc-master-templates): Doc fix. | ||
| 25444 | |||
| 25445 | 2003-08-23 Andre Spiegel <spiegel@gnu.org> | ||
| 25446 | |||
| 25447 | * vc-hooks.el (vc-ignore-vc-files, vc-master-templates): | ||
| 25448 | Better explain obsolescence, and what to use instead. | ||
| 25449 | |||
| 25450 | 2003-08-23 Masatake YAMATO <jet@gyve.org> | ||
| 25451 | |||
| 25452 | * pcvs.el (cvs-do-removal): Show the deleted file name | ||
| 25453 | on the prompt. | ||
| 25454 | |||
| 25455 | 2003-08-20 Dave Love <fx@gnu.org> | ||
| 25456 | |||
| 25457 | * international/mule.el (make-coding-system) | ||
| 25458 | (set-buffer-file-coding-system): Doc fix. | ||
| 25459 | |||
| 25460 | * emacs-lisp/lisp-mode.el (common-lisp-mode): New. | ||
| 25461 | |||
| 25462 | * emacs-lisp/lisp.el (beginning-of-defun-function): Doc fix. | ||
| 25463 | |||
| 25464 | * international/utf-8.el (ucs-unicode-to-mule-cjk): Use smaller :size. | ||
| 25465 | |||
| 25466 | * international/utf-16.el: Add mime-text-unsuitable coding system | ||
| 25467 | properties. | ||
| 25468 | |||
| 25469 | * international/latin1-disp.el (latin1-display): Add ?$,1s"(B. | ||
| 25470 | |||
| 25471 | * cus-edit.el: Add some :links. | ||
| 25472 | (bib): Remove. | ||
| 25473 | |||
| 25474 | * textmodes/bib-mode.el (bib): Add :group external. | ||
| 25475 | |||
| 25476 | 2003-08-18 Luc Teirlinck <teirllm@mail.auburn.edu> | ||
| 25477 | |||
| 25478 | * wid-edit.el (widget-echo-help): Make it handle expressions that | ||
| 25479 | evaluate to strings. | ||
| 25480 | |||
| 25481 | 2003-08-18 Michael Mauger <mmaug@yahoo.com> | ||
| 25482 | |||
| 25483 | Version 1.8.0 of sql-mode. (Patch submitted 2003-06-21) | ||
| 25484 | |||
| 25485 | Simplify selection of SQL products to define highlighting and | ||
| 25486 | interactive mode. Includes detailed instructions on adding | ||
| 25487 | support for new products. | ||
| 25488 | |||
| 25489 | * progmodes/sql.el (sql-product): New variable. Identifies SQL | ||
| 25490 | product for use in highlighting and interactive mode. | ||
| 25491 | (sql-interactive-product): New variable. SQL product for | ||
| 25492 | sql-interactive-mode. | ||
| 25493 | (sql-product-support): New variable. Specifies product-specific | ||
| 25494 | parameters to drive highlighting and interactive mode. | ||
| 25495 | (sql-imenu-generic-expression): Add more object types. | ||
| 25496 | (sql-sqlite-options): Correct comment. | ||
| 25497 | (sql-ms-program): Use "osql" rather than "isql". | ||
| 25498 | (sql-prompt-regexp, sql-prompt-length): Update comment. | ||
| 25499 | (sql-mode-menu): Add "Start SQLi session" entry. | ||
| 25500 | Replace Highlighting submenu with Product menu. Fix Send Region entry. | ||
| 25501 | (sql-mode-abbrev-table): Add abbreviations. Support of | ||
| 25502 | SYSTEM-FLAG on define-abbrev. Support was removed with last | ||
| 25503 | check-in; it now handles older Emacsen without the SYSTEM-FLAG. | ||
| 25504 | (sql-mode-font-lock-object-name): Add font-lock pattern for object | ||
| 25505 | names. | ||
| 25506 | (sql-mode-ansi-font-lock-keywords): Set as default value. | ||
| 25507 | (sql-mode-oracle-font-lock-keywords): Set as default value. | ||
| 25508 | Support Oracle 9i keywords. | ||
| 25509 | (sql-mode-postgres-font-lock-keywords): Set as default value. | ||
| 25510 | (sql-mode-linter-font-lock-keywords): Set as default value. | ||
| 25511 | (sql-mode-ms-font-lock-keywords): New variable. Support Microsoft | ||
| 25512 | SQLServer 2000. | ||
| 25513 | (sql-mode-sybase-font-lock-keywords) | ||
| 25514 | (sql-mode-interbase-font-lock-keywords) | ||
| 25515 | (sql-mode-sqlite-font-lock-keywords) | ||
| 25516 | (sql-mode-strong-font-lock-keywords) | ||
| 25517 | (sql-mode-mysql-font-lock-keywords) | ||
| 25518 | (sql-mode-db2-font-lock-keywords): New variables. Default to ANSI | ||
| 25519 | keywords. | ||
| 25520 | (sql-mode-font-lock-defaults): Update comment. | ||
| 25521 | (sql-product-feature): New function. Returns feature associated | ||
| 25522 | with a product from `sql-product-support' alist. | ||
| 25523 | (sql-product-font-lock): New function. Set font-lock support | ||
| 25524 | based on `sql-product'. | ||
| 25525 | (sql-add-product-keywords): New function. Add font-lock rules to | ||
| 25526 | product-specific keyword variables. | ||
| 25527 | (sql-set-product): New function. Set `sql-product' and apply | ||
| 25528 | appropriate font-lock highlighting. | ||
| 25529 | (sql-highlight-product): New function. Set font-lock support | ||
| 25530 | based on a product. Also set mode name to include product name. | ||
| 25531 | (sql-highlight-ansi-keywords, sql-highlight-oracle-keywords) | ||
| 25532 | (sql-highlight-postgres-keywords, sql-highlight-linter-keywords): | ||
| 25533 | Use `sql-set-product'. | ||
| 25534 | (sql-highlight-ms-keywords) | ||
| 25535 | (sql-highlight-sybase-keywords) | ||
| 25536 | (sql-highlight-interbase-keywords) | ||
| 25537 | (sql-highlight-strong-keywords) | ||
| 25538 | (sql-highlight-mysql-keywords) | ||
| 25539 | (sql-highlight-sqlite-keywords) | ||
| 25540 | (sql-highlight-db2-keywords): New functions. Use `sql-set-product'. | ||
| 25541 | (sql-get-login): Prompt in the same order as the tokens. | ||
| 25542 | (sql-mode): Uses `sql-product-highlight' and `sql-product-font-lock'. | ||
| 25543 | (sql-product-interactive): New function. Common portions of | ||
| 25544 | product-specific interactive mode wrappers. | ||
| 25545 | (sql-interactive-mode): Rewritten to use product features. | ||
| 25546 | (sql-oracle, sql-sybase, sql-informix, sql-sqlite, sql-mysql) | ||
| 25547 | (sql-solid, sql-ingres, sql-ms, sql-postgres, sql-interbase) | ||
| 25548 | (sql-db2, sql-linter): Use `sql-product-interactive'. | ||
| 25549 | (sql-connect-oracle, sql-connect-sybase, sql-connect-informix) | ||
| 25550 | (sql-connect-sqlite, sql-connect-mysql, sql-connect-solid) | ||
| 25551 | (sql-connect-ingres, sql-connect-postgres) | ||
| 25552 | (sql-connect-interbase, sql-connect-db2, sql-connect-linter): | ||
| 25553 | New functions. Format command line parameters and invoke comint on | ||
| 25554 | the appropriate interpreter. Code was in the corresponding | ||
| 25555 | `sql-xyz' function before. | ||
| 25556 | (sql-connect-ms): New function. Support -E argument to use | ||
| 25557 | operating system credentials for authentication. | ||
| 25558 | |||
| 25559 | 2003-08-18 Kenichi Handa <handa@m17n.org> | ||
| 25560 | |||
| 25561 | * international/mule.el (encode-char): Fix for the ASCII case. | ||
| 25562 | |||
| 25563 | 2003-08-15 Kenichi Handa <handa@m17n.org> | ||
| 25564 | |||
| 25565 | * international/fontset.el (setup-default-fontset): Change "*" to | ||
| 25566 | nil in the specifications of font family. | ||
| 25567 | |||
| 25568 | 2003-08-18 Kim F. Storm <storm@cua.dk> | ||
| 25569 | |||
| 25570 | * kmacro.el (kmacro-keymap): Group related bindings in | ||
| 25571 | initialization for clarity. Bind C-s to start macro. | ||
| 25572 | Remove C-r binding. | ||
| 25573 | (kmacro-initial-counter-value): New defvar to hold initial counter | ||
| 25574 | value in case we set the value before defining a macro. | ||
| 25575 | (kmacro-insert-counter): Clear kmacro-initial-counter-value.. | ||
| 25576 | (kmacro-set-counter): Set kmacro-initial-counter-value if we are | ||
| 25577 | not defining or executing macro. Doc fix. | ||
| 25578 | (kmacro-add-counter): Clear kmacro-initial-counter-value. | ||
| 25579 | (kmacro-view-last-item, kmacro-view-item-no): New defvars used to | ||
| 25580 | temporarily view older elements on the macro ring without cycling | ||
| 25581 | the ring. | ||
| 25582 | (kmacro-display): Doc fix. | ||
| 25583 | (kmacro-exec-ring-item): New helper function. | ||
| 25584 | (kmacro-call-ring-2nd): Use it. | ||
| 25585 | (kmacro-call-ring-2nd-repeat): Doc fix. | ||
| 25586 | (kmacro-start-macro): Use (and clear) kmacro-initial-counter-value. | ||
| 25587 | (kmacro-end-or-call-macro): Execute last viewed macro (using | ||
| 25588 | kmacro-exec-ring-item) from ring if this follows | ||
| 25589 | kmacro-view-macro. This allows us to find a macro on the ring | ||
| 25590 | with C-x C-k C-v C-v ... and execute it (with C-k) without cycling | ||
| 25591 | the ring to bring it to the head of the ring. | ||
| 25592 | (kmacro-bind-to-key): Doc fix (describe reserved bindings). | ||
| 25593 | Allow binding to reserved keys without specifying C-x C-k prefix. | ||
| 25594 | Ask for confirmation if entered key sequence is already bound to | ||
| 25595 | a non-macro command. | ||
| 25596 | (kmacro-view-macro): Repeating command will show older elements | ||
| 25597 | on the macro ring; C-k will execute the last viewed macro. | ||
| 25598 | (kmacro-view-macro-repeat): Doc fix. Change its kmacro-repeat | ||
| 25599 | property from 'ring to 'head. | ||
| 25600 | |||
| 25601 | 2003-08-17 Alan Shutko <ats@acm.org> | ||
| 25602 | |||
| 25603 | * calendar/calendar.el (calendar-make-alist): Correct off-by-one | ||
| 25604 | keeping December out of the alist. | ||
| 25605 | |||
| 25606 | 2003-08-17 Edward M. Reingold <reingold@emr.cs.iit.edu> | ||
| 25607 | |||
| 25608 | * calendar/cal-move.el (calendar-goto-day-of-year): New function. | ||
| 25609 | * calendar/calendar.el (calendar-mode-map): Bind it to key. | ||
| 25610 | * calendar/cal-menu.el (calendar-mode-map): Add it to menu. | ||
| 25611 | (calendar-flatten): New function. | ||
| 25612 | (calendar-mouse-view-other-diary-entries) | ||
| 25613 | (calendar-mouse-view-diary-entries): Rewritten to put any holidays | ||
| 25614 | in the menu title and to show multi-line diary entries correctly | ||
| 25615 | in the menu. | ||
| 25616 | |||
| 25617 | 2003-08-17 Luc Teirlinck <teirllm@mail.auburn.edu> | ||
| 25618 | |||
| 25619 | * info.el (Info-scroll-prefer-subnodes): Add :version keyword to | ||
| 25620 | defcustom, because the default was recently changed. | ||
| 25621 | |||
| 25622 | 2003-08-16 Richard M. Stallman <rms@gnu.org> | ||
| 25623 | |||
| 25624 | * net/ange-ftp.el (ange-ftp-error): Add save-excursion. | ||
| 25625 | |||
| 25626 | * emacs-lisp/lisp-mode.el (eval-last-sexp-print-value): | ||
| 25627 | New subroutine, broken out of eval-last-sexp-1. | ||
| 25628 | (eval-last-sexp-1): Use eval-last-sexp-print-value. | ||
| 25629 | |||
| 25630 | * custom.el (custom-load-symbol): Load cus-load and cus-start first. | ||
| 25631 | |||
| 25632 | * dabbrev.el (dabbrev--safe-replace-match): Use with-no-warnings. | ||
| 25633 | |||
| 25634 | * simple.el (eval-expression): Use eval-last-sexp-print-value. | ||
| 25635 | |||
| 25636 | 2003-08-14 Jari Aalto <jari.aalto@poboxes.com> | ||
| 25637 | |||
| 25638 | * progmodes/compile.el (compilation-error-regexp-alist): | ||
| 25639 | Add Java ANt error detection as described in document | ||
| 25640 | http://ant.apache.org/faq.html | ||
| 25641 | |||
| 25642 | 2003-08-12 Juri Linkov <juri@jurta.org> (tiny change) | ||
| 25643 | |||
| 25644 | * simple.el (backward-word, forward-to-indentation) | ||
| 25645 | (backward-to-indentation): Argument changed to optional. | ||
| 25646 | (next-line, previous-line): Use `or' instead of `unless'. | ||
| 25647 | |||
| 25648 | 2003-08-12 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 25649 | |||
| 25650 | * progmodes/ebnf-iso.el (ebnf-no-meta-identifier): Becomes a var | ||
| 25651 | instead of a constant. | ||
| 25652 | |||
| 25653 | 2003-08-12 Markus Rost <rost@math.ohio-state.edu> | ||
| 25654 | |||
| 25655 | * shell.el (shell): With prefix-arg, suggest a new buffer name. | ||
| 25656 | |||
| 25657 | 2003-08-12 Andre Spiegel <spiegel@gnu.org> | ||
| 25658 | |||
| 25659 | * vc-sccs.el (vc-sccs-state-heuristic): Fix parentheses. | ||
| 25660 | (vc-sccs-workfile-version): Search the entire delta table, rather | ||
| 25661 | than just the first entry, because that might be a deleted version. | ||
| 25662 | |||
| 25663 | 2003-08-11 Karl Fogel <kfogel@red-bean.com> | ||
| 25664 | |||
| 25665 | * menu-bar.el (menu-bar-options-menu): Supply a body for the | ||
| 25666 | [save-place] binding in the Options menu. Have it require | ||
| 25667 | 'saveplace' and then toggle the variable manually, to avoid an | ||
| 25668 | unbound variable error. Thanks to <Sebastien.Kirche@sage.com> | ||
| 25669 | for the bug report. | ||
| 25670 | |||
| 25671 | 2003-08-11 Nick Roberts <nick@nick.uklinux.net> | ||
| 25672 | |||
| 25673 | * gdb-ui.el (gdb-insert-field, gdb-array-format1) | ||
| 25674 | (gdb-info-breakpoints-custom, gdb-info-frames-custom) | ||
| 25675 | (gdb-info-threads-custom): Add help-echo text. | ||
| 25676 | (gdb-display-back): Don't use purecopy. | ||
| 25677 | (gdb-info-breakpoints-custom, gdb-reset) | ||
| 25678 | (gdb-assembler-custom): Use display-images-p to test if breakpoint | ||
| 25679 | icons can be displayed. | ||
| 25680 | |||
| 25681 | 2003-08-11 Markus Rost <rost@math.ohio-state.edu> | ||
| 25682 | |||
| 25683 | * textmodes/reftex-vars.el (reftex-auto-recenter-toc): Fix typo. | ||
| 25684 | |||
| 25685 | 2003-08-11 Stefan Monnier <monnier@cs.yale.edu> | ||
| 25686 | |||
| 25687 | * bookmark.el (bookmark-completing-read): | ||
| 25688 | Return a string, instead of a list of one string. | ||
| 25689 | Use a popup menu if activated from the mouse. | ||
| 25690 | (bookmark-edit-annotation): Remove unused vars. | ||
| 25691 | (bookmark-jump, bookmark-relocate, bookmark-insert-location) | ||
| 25692 | (bookmark-rename, bookmark-insert, bookmark-delete): Adjust calls | ||
| 25693 | to bookmark-completing-read. | ||
| 25694 | (bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames) | ||
| 25695 | (bookmark-bmenu-mark, bookmark-bmenu-select, bookmark-bmenu-unmark) | ||
| 25696 | (bookmark-bmenu-delete, bookmark-bmenu-list): Use inhibit-read-only | ||
| 25697 | and erase-buffer. | ||
| 25698 | (bookmark-menu-delete, bookmark-menu-rename, bookmark-menu-locate) | ||
| 25699 | (bookmark-menu-jump, bookmark-menu-insert) | ||
| 25700 | (bookmark-popup-menu-and-apply-function) | ||
| 25701 | (bookmark-menu-popup-paned-bookmark-menu): Remove. | ||
| 25702 | (bookmark-menu-build-paned-menu): Remove by folding it into | ||
| 25703 | bookmark-menu-popup-paned-menu. | ||
| 25704 | (menu-bar-bookmark-map): Move the define-key statements here. | ||
| 25705 | Use the "non-menu" commands since they now pop up a menu if needed. | ||
| 25706 | (bookmark-exit-hook-internal): Simplify. | ||
| 25707 | |||
| 25708 | 2003-08-11 Carsten Dominik <dominik@sand.science.uva.nl> | ||
| 25709 | |||
| 25710 | * reftex-toc.el (reftex-toc-rename-label): New function. | ||
| 25711 | (reftex-toc-check-docstruct): New function. | ||
| 25712 | |||
| 25713 | * reftex.el (reftex-region-active-p): New function. | ||
| 25714 | |||
| 25715 | * reftex-parse.el (reftex-locate-bibliography-files): Improved the | ||
| 25716 | regexp to find the \bibliography macro. | ||
| 25717 | |||
| 25718 | * reftex-vars.el (reftex-section-levels): Removed subsubparagraph, | ||
| 25719 | which does not exist in LaTeX. | ||
| 25720 | (reftex-cite-format-builtin): Added amsrefs support. | ||
| 25721 | (reftex-toc-confirm-promotion): New option | ||
| 25722 | |||
| 25723 | * reftex-toc.el | ||
| 25724 | (reftex-toc): Use `reftex-toc-split-windows-fraction'. | ||
| 25725 | (reftex-toc-demote, reftex-toc-promote) | ||
| 25726 | (reftex-toc-do-promote, reftex-toc-promote-prepare) | ||
| 25727 | (reftex-toc-promote-action, reftex-toc-extract-section-number) | ||
| 25728 | (reftex-toc-newhead-from-alist) | ||
| 25729 | (reftex-toc-load-all-files-for-promotion): New functions. | ||
| 25730 | (reftex-toc-help): Added description of new keys. | ||
| 25731 | (reftex-toc-split-windows-fraction): New option. | ||
| 25732 | (reftex-recenter-toc-when-idle): Search *toc* window on all | ||
| 25733 | visible frames. | ||
| 25734 | (reftex-toc): Additional parameter REUSE | ||
| 25735 | (reftex-toc-recenter): Remember current frame. Call `reftex-toc' | ||
| 25736 | with REUSE argument. | ||
| 25737 | (reftex-recenter-toc-when-idle): Reset `current-prefix-arg' for | ||
| 25738 | the call of `reftex-toc'. | ||
| 25739 | (reftex-make-separate-toc-frame): New function . | ||
| 25740 | (reftex-toc-recenter): When called with triple prefix arg, call | ||
| 25741 | `reftex-make-separate-toc-frame' first. | ||
| 25742 | (reftex-toc-toggle-dedicated-frame): New command. | ||
| 25743 | (reftex-toc-quit): Adapted to delete frame when called in | ||
| 25744 | dedicated frame. | ||
| 25745 | |||
| 25746 | * reftex-index.el (reftex-index-phrase-match-is-indexed): Check | ||
| 25747 | all enclosing macros. | ||
| 25748 | |||
| 25749 | |||
| 25750 | 2003-08-08 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 25751 | |||
| 25752 | * progmodes/ebnf2ps.el (ebnf-total, ebnf-nprod): Move defvar before | ||
| 25753 | first use. | ||
| 25754 | |||
| 25755 | 2003-08-07 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 25756 | |||
| 25757 | * progmodes/ebnf2ps.el (ebnf-begin-job): Code fix. | ||
| 25758 | |||
| 25759 | 2003-08-06 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 25760 | |||
| 25761 | * calendar/calendar.el (list-diary-entries-hook) | ||
| 25762 | (diary-display-hook, nongregorian-diary-listing-hook) | ||
| 25763 | (mark-diary-entries-hook, nongregorian-diary-marking-hook): | ||
| 25764 | Add some customize options for these hooks. | ||
| 25765 | (calendar-abbrev-construct): Don't try to take a substring longer | ||
| 25766 | than the original string. | ||
| 25767 | |||
| 25768 | 2003-08-05 Richard M. Stallman <rms@gnu.org> | ||
| 25769 | |||
| 25770 | * emacs-lisp/testcover.el (noreturn): Report error if does return. | ||
| 25771 | (testcover-reinstrument-clauses): Doc fix. | ||
| 25772 | |||
| 25773 | * emacs-lisp/warnings.el: Doc fixes, args renamed. | ||
| 25774 | (warning-type-format): Rename from warning-group-format. | ||
| 25775 | |||
| 25776 | * emacs-lisp/bytecomp.el (byte-compile-not-obsolete-var): New var. | ||
| 25777 | (byte-compile-variable-ref): Handle byte-compile-not-obsolete-var. | ||
| 25778 | (byte-compile-defvar): Bind byte-compile-not-obsolete-var | ||
| 25779 | to prevent warnings about defvar for an obsolete variable. | ||
| 25780 | |||
| 25781 | * emacs-lisp/bytecomp.el (byte-compile-log-warning): | ||
| 25782 | warning-group-format renamed to warning-type-format. | ||
| 25783 | |||
| 25784 | * subr.el (read-passwd): Use clear-string instead of fillarray. | ||
| 25785 | |||
| 25786 | * edmacro.el (edmacro-format-keys): Use edmacro-sanitize-for-string. | ||
| 25787 | Use vconcat instead of concat. | ||
| 25788 | (edmacro-sanitize-for-string): New function. | ||
| 25789 | |||
| 25790 | 2003-08-05 Dave Love <fx@gnu.org> | ||
| 25791 | |||
| 25792 | * cus-start.el: Add open-paren-in-column-0-is-defun-start, | ||
| 25793 | line-number-display-limit-width. | ||
| 25794 | |||
| 25795 | * textmodes/tex-mode.el (tex-dvi-view-command): Fix quoted quotes. | ||
| 25796 | |||
| 25797 | 2003-08-05 Kenichi Handa <handa@m17n.org> | ||
| 25798 | |||
| 25799 | * international/code-pages.el: Don't require mule-diag. | ||
| 25800 | |||
| 25801 | * international/mule-diag.el (non-iso-charset-alist): | ||
| 25802 | Add autoload cookie. | ||
| 25803 | |||
| 25804 | * language/devan-util.el (dev-glyph-order): Add an entry for the | ||
| 25805 | glyph code #xC4. | ||
| 25806 | |||
| 25807 | 2003-08-03 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 25808 | |||
| 25809 | * calendar/calendar.el (diary-file, diary-file-name-prefix) | ||
| 25810 | (european-calendar-style, diary-date-forms) | ||
| 25811 | (calendar-day-name-array, calendar-month-name-array): Doc change. | ||
| 25812 | (generate-calendar-month): Adapt for new behavior of | ||
| 25813 | `calendar-day-name' function. | ||
| 25814 | (calendar-abbrev-length, calendar-day-abbrev-array) | ||
| 25815 | (calendar-month-abbrev-array): New variables. | ||
| 25816 | (calendar-abbrev-construct): New function. | ||
| 25817 | (calendar-day-name, calendar-month-name): Use new abbrev arrays, | ||
| 25818 | rather than fixing abbrevs at some width. Calling syntax change. | ||
| 25819 | (calendar-make-alist): Use abbrev arrays. Calling syntax change. | ||
| 25820 | (calendar-date-string): Adapt for new behaviors of | ||
| 25821 | `calendar-day-name' and `calendar-month-name' functions. | ||
| 25822 | |||
| 25823 | * calendar/diary-lib.el (list-diary-entries): Adapt for new | ||
| 25824 | behavior of `calendar-day-name' and `calendar-month-name' functions. | ||
| 25825 | (diary-name-pattern): Use abbrev arrays, rather than fixing | ||
| 25826 | abbrevs at three chars. Calling syntax change. | ||
| 25827 | (mark-diary-entries): Adapt for new behaviors of | ||
| 25828 | `diary-name-pattern' and `calendar-make-alist' functions. | ||
| 25829 | (fancy-diary-font-lock-keywords): Adapt for new behavior of | ||
| 25830 | `diary-name-pattern' function. | ||
| 25831 | (font-lock-diary-date-forms): Use abbrev arrays, rather than | ||
| 25832 | fixing abbrevs at three chars. Calling syntax change. | ||
| 25833 | (cal-hebrew, cal-islam): Require when compiling. | ||
| 25834 | (diary-font-lock-keywords): Adapt for new behavior of | ||
| 25835 | `font-lock-diary-date-forms' function. | ||
| 25836 | |||
| 25837 | * calendar/cal-hebrew.el: Reposition some code so defined before used. | ||
| 25838 | (calendar-hebrew-month-name-array-common-year) | ||
| 25839 | (calendar-hebrew-month-name-array-leap-year): Add doc strings. | ||
| 25840 | (list-hebrew-diary-entries): Adapt for new behaviors of | ||
| 25841 | `calendar-day-name' and `add-to-diary-list' functions. | ||
| 25842 | (mark-hebrew-diary-entries): Adapt for new behaviors of | ||
| 25843 | `diary-name-pattern' and `calendar-make-alist' functions. | ||
| 25844 | |||
| 25845 | * calendar/cal-islam.el (calendar-islamic-month-name-array): | ||
| 25846 | Add doc string. | ||
| 25847 | (list-islamic-diary-entries): Adapt for new behaviors of | ||
| 25848 | `calendar-day-name' and `add-to-diary-list' functions. | ||
| 25849 | (mark-islamic-diary-entries): Adapt for new behaviors of | ||
| 25850 | `diary-name-pattern' and `calendar-make-alist' functions. | ||
| 25851 | |||
| 25852 | * calendar/cal-menu.el (cal-menu-update): Adapt for new behavior of | ||
| 25853 | `calendar-month-name' function. | ||
| 25854 | |||
| 25855 | * calendar/cal-coptic.el (coptic-name): defvar rather than defconst. | ||
| 25856 | |||
| 25857 | * calendar/solar.el (solar-seasons-data): Move definition before use. | ||
| 25858 | |||
| 25859 | * calendar/cal-tex.el (cal-tex-day-name-format): Doc fix. | ||
| 25860 | (cal-tex-LaTeX-hourbox): Move definition before use. | ||
| 25861 | |||
| 25862 | * calendar/cal-china.el, cal-hebrew.el, cal-islam.el | ||
| 25863 | * cal-julian.el, cal-menu.el, cal-move.el, holidays.el | ||
| 25864 | * lunar.el, solar.el (displayed-month, displayed-year): | ||
| 25865 | Define for compiler. | ||
| 25866 | |||
| 25867 | 2003-08-03 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 25868 | |||
| 25869 | * progmodes/cc-mode.el (c-init-language-vars-for): Add argument | ||
| 25870 | MODE. Renamed from c-init-c-language-vars'. | ||
| 25871 | (c-initialize-cc-mode): Change accordingly. | ||
| 25872 | (c-common-init): Ditto. | ||
| 25873 | (c-mode): Ditto. | ||
| 25874 | (c++-mode): Use `c-init-language-vars-for'. | ||
| 25875 | (objc-mode): Ditto. | ||
| 25876 | (java-mode): Ditto. | ||
| 25877 | (idl-mode): Ditto. | ||
| 25878 | (pike-mode): Ditto. | ||
| 25879 | (awk-mode): Ditto. | ||
| 25880 | |||
| 25881 | 2003-08-03 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 25882 | |||
| 25883 | * progmodes/cc-engine.el (c-end-of-current-token): Return whether | ||
| 25884 | or not the point moved. | ||
| 25885 | |||
| 25886 | (c-search-decl-header-end): Don't trip up on operator identifiers | ||
| 25887 | in C++ and operators like == in all languages. | ||
| 25888 | |||
| 25889 | * progmodes/cc-engine.el (c-backward-to-decl-anchor): | ||
| 25890 | Detect leading labels correctly. | ||
| 25891 | |||
| 25892 | 2003-08-02 Andreas Schwab <schwab@suse.de> | ||
| 25893 | |||
| 25894 | * textmodes/ispell.el: Don't redo key bindings on loading, put | ||
| 25895 | them only in loaddefs.el. | ||
| 25896 | * bookmark.el: Likewise. | ||
| 25897 | * dabbrev.el: Likewise. | ||
| 25898 | * emerge.el: Likewise. | ||
| 25899 | |||
| 25900 | * apropos.el (apropos-words-to-regexp): Only add `wild' if `words' | ||
| 25901 | has more than one member. | ||
| 25902 | |||
| 25903 | * progmodes/sh-script.el (sh-mode): Don't set mode-class property. | ||
| 25904 | |||
| 25905 | 2003-08-01 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 25906 | |||
| 25907 | * lpr.el (printify-region): It was ending conversion before the | ||
| 25908 | expected position. Reported by Keiichi Suzuki <keiichi@nanap.org>. | ||
| 25909 | |||
| 25910 | 2003-07-31 John Paul Wallington <jpw@gnu.org> | ||
| 25911 | |||
| 25912 | * net/browse-url.el (browse-url-epiphany): Doc fix. | ||
| 25913 | |||
| 25914 | 2003-07-30 Kenichi Handa <handa@m17n.org> | ||
| 25915 | |||
| 25916 | * international/fontset.el (setup-default-fontset): | ||
| 25917 | Change registry names of Akurti fonts. | ||
| 25918 | |||
| 25919 | 2003-07-29 Jesper Harder <harder@ifa.au.dk> (tiny change) | ||
| 25920 | |||
| 25921 | * comint.el (comint-read-noecho): Use `clear-string' instead of | ||
| 25922 | `fillarray'. | ||
| 25923 | |||
| 25924 | 2003-07-29 Thomas W Murphy <twm@andrew.cmu.edu> (tiny change) | ||
| 25925 | |||
| 25926 | * outline.el (outline-mode-hook): Add defvar. | ||
| 25927 | |||
| 25928 | 2003-07-28 Nick Roberts <nick@nick.uklinux.net> | ||
| 25929 | |||
| 25930 | * gdb-ui.el (gdb-setup-windows, gdb-restore-windows): | ||
| 25931 | Restore assembler in source window if that is what has been selected. | ||
| 25932 | (menu): Add gdb-restore-windows to menu. Make gdba | ||
| 25933 | specific menus only visible from gdba. | ||
| 25934 | |||
| 25935 | 2003-07-28 Tak Ota <Takaaki.Ota@am.sony.com> (tiny change) | ||
| 25936 | |||
| 25937 | * progmodes/compile.el (compilation-environment): New user variable. | ||
| 25938 | (compile-internal): Respect it. | ||
| 25939 | |||
| 25940 | 2003-07-23 Masatake YAMATO <jet@gyve.org> | ||
| 25941 | |||
| 25942 | * progmodes/gud.el (gdb-script-font-lock-keywords): | ||
| 25943 | Put `font-lock-function-name-face' on a symbol which includes | ||
| 25944 | `-' like `hook-run'. Put font-lock-variable-name-face | ||
| 25945 | on a symbol starting with $. | ||
| 25946 | |||
| 25947 | 2003-07-27 Markus Rost <rost@math.ohio-state.edu> | ||
| 25948 | |||
| 25949 | * files.el (set-visited-file-name): Use truename for buffer-file-name. | ||
| 25950 | |||
| 25951 | 2003-07-26 Markus Rost <rost@math.ohio-state.edu> | ||
| 25952 | |||
| 25953 | * vc-hooks.el (vc-file-not-found-hook): Doc fix. | ||
| 25954 | |||
| 25955 | 2003-07-26 Andre Spiegel <spiegel@gnu.org> | ||
| 25956 | |||
| 25957 | * vc-hooks.el (vc-default-registered, vc-make-version-backup): | ||
| 25958 | Use with-no-warnings. | ||
| 25959 | (vc-file-not-found-hook): Add this to find-file-not-found-functions, | ||
| 25960 | rather than to find-file-not-found-hook, which doesn't exist. | ||
| 25961 | |||
| 25962 | 2003-07-26 Markus Rost <rost@math.ohio-state.edu> | ||
| 25963 | |||
| 25964 | * international/quail.el (quail-translate-key): Fix previous change. | ||
| 25965 | |||
| 25966 | 2003-07-25 John Paul Wallington <jpw@gnu.org> | ||
| 25967 | |||
| 25968 | * server.el (server-start): Check `server-process' is non-nil | ||
| 25969 | before killing it to avoid killing current buffer's process. | ||
| 25970 | |||
| 25971 | * simple.el (choose-completion-string): Use `minibufferp'; | ||
| 25972 | test `completion-reference-buffer' if `buffer' arg is nil. | ||
| 25973 | (push-mark): Use `when' and `unless'. | ||
| 25974 | (pop-mark): Use `when'. | ||
| 25975 | |||
| 25976 | * mouse-sel.el (mouse-sel-get-selection-function): | ||
| 25977 | Check `x-last-selected-text-primary'. Don't barf if it or | ||
| 25978 | `x-last-selected-text' aren't bound. | ||
| 25979 | |||
| 25980 | 2003-07-25 Kevin Rodgers <ihs_4664@yahoo.com> (tiny change) | ||
| 25981 | |||
| 25982 | * menu-bar.el (menu-bar-tools-menu): Minor change in strings. | ||
| 25983 | |||
| 25984 | 2003-07-23 Stefan Monnier <monnier@cs.yale.edu> | ||
| 25985 | |||
| 25986 | * vc-svn.el (vc-svn-diff-switches): Don't default to vc-diff-switches. | ||
| 25987 | |||
| 25988 | 2003-07-23 John Paul Wallington <jpw@gnu.org> | ||
| 25989 | |||
| 25990 | * tooltip.el (defface tooltip): Inherit from variable-pitch. | ||
| 25991 | |||
| 25992 | 2003-07-23 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 25993 | |||
| 25994 | * emacs-lisp/derived.el (define-derived-mode): Mention hook in doc | ||
| 25995 | string. Defvar the derived hook. | ||
| 25996 | |||
| 25997 | * macros.el (insert-kbd-macro): Escape double quote character. | ||
| 25998 | From Thomas W Murphy <twm@andrew.cmu.edu>. | ||
| 25999 | |||
| 26000 | 2003-07-22 Stefan Monnier <monnier@cs.yale.edu> | ||
| 26001 | |||
| 26002 | * textmodes/fill.el (fill-comment-paragraph): Construct a regexp | ||
| 26003 | to match the specific mark rather than reusing comment-start-skip. | ||
| 26004 | |||
| 26005 | 2003-07-22 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 26006 | |||
| 26007 | * progmodes/hideshow.el (hs-special-modes-alist): | ||
| 26008 | Clarify MDATA-SELECTOR doc; nfc. Thanks to Michael Ernst. | ||
| 26009 | |||
| 26010 | 2003-07-21 Markus Rost <rost@math.ohio-state.edu> | ||
| 26011 | |||
| 26012 | * progmodes/idlwave.el (idlwave-comment-indent-char): Fix default | ||
| 26013 | value using ?\s. | ||
| 26014 | |||
| 26015 | 2003-07-21 John Paul Wallington <jpw@gnu.org> | ||
| 26016 | |||
| 26017 | * subr.el (with-selected-window): Add closing paren. | ||
| 26018 | |||
| 26019 | 2003-07-21 Richard M. Stallman <rms@gnu.org> | ||
| 26020 | |||
| 26021 | * emacs-lisp/lisp-mode.el (emacs-lisp-mode): Use run-mode-hooks. | ||
| 26022 | (lisp-mode): Likewise. | ||
| 26023 | |||
| 26024 | * subr.el (with-selected-window): Copy code form save-selected-window | ||
| 26025 | so as to call select-window with norecord arg. | ||
| 26026 | (dynamic-completion-table): Doc fix. | ||
| 26027 | (lazy-completion-table): Doc fix. | ||
| 26028 | |||
| 26029 | * international/mule-cmds.el (set-locale-environment): | ||
| 26030 | langinfo renamed to locale-info. | ||
| 26031 | |||
| 26032 | * international/mule.el (auto-coding-functions): Doc fix. | ||
| 26033 | |||
| 26034 | 2003-07-21 Kenichi Handa <handa@m17n.org> | ||
| 26035 | |||
| 26036 | * international/quail.el (quail-translate-key): | ||
| 26037 | Update quail-current-str correctly. | ||
| 26038 | |||
| 26039 | 2003-07-21 Andreas Schwab <schwab@suse.de> | ||
| 26040 | |||
| 26041 | * progmodes/sh-script.el (sh-mode-syntax-table): Change syntax of | ||
| 26042 | ?, to "_". | ||
| 26043 | |||
| 26044 | 2003-07-20 Kai Gro,A_(Bjohann <kai.grossjohann@gmx.net> | ||
| 26045 | Version 2.0.36 of Tramp released. | ||
| 26046 | |||
| 26047 | * net/tramp.el (tramp-default-password-end-of-line): Rename from | ||
| 26048 | tramp-password-end-of-line. | ||
| 26049 | (tramp-password-end-of-line): New method parameter. | ||
| 26050 | (tramp-get-password-end-of-line): Function to access method | ||
| 26051 | parameter `tramp-password-end-of-line', or variable | ||
| 26052 | `tramp-default-password-end-of-line' (default value). | ||
| 26053 | (tramp-methods): Add entries for new parameter | ||
| 26054 | tramp-password-end-of-line. | ||
| 26055 | (tramp-enter-password): Use new function | ||
| 26056 | `tramp-get-password-end-of-line'. | ||
| 26057 | (tramp-handle-insert-file-contents): Do not | ||
| 26058 | unconditionally inhibit the file operation file-local-copy, only | ||
| 26059 | do that when the inhibit-file-name-operation is currently | ||
| 26060 | insert-file-contents. This fixes finding remote CVS-controlled | ||
| 26061 | files. (It would barf on inserting the CVS/Entries file | ||
| 26062 | literally, because the file-local-copy handler wasn't called.) | ||
| 26063 | (tramp-handle-shell-command): Support optional third arg ERROR-BUFFER. | ||
| 26064 | (tramp-sh-extra-args): Adapt defcustom type to XEmacs. | ||
| 26065 | (tramp-initial-commands): New variable. | ||
| 26066 | (tramp-process-initial-commands): New function, using the variable. | ||
| 26067 | (tramp-open-connection-setup-interactive-shell): Call the new function. | ||
| 26068 | (tramp-buffer-name, tramp-debug-buffer-name): Always put the | ||
| 26069 | method into the buffer name, never use nil. Reported by Hanak | ||
| 26070 | David <dhanak@inf.bme.hu>. | ||
| 26071 | (tramp-open-connection-setup-interactive-shell): Erase buffer | ||
| 26072 | before sending "stty -onlcr". | ||
| 26073 | |||
| 26074 | * net/tramp-vc.el (vc-workfile-unchanged-p): Add comment. | ||
| 26075 | |||
| 26076 | 2003-07-19 Markus Rost <rost@math.ohio-state.edu> | ||
| 26077 | |||
| 26078 | * textmodes/artist.el (artist-erase-char): Fix default value using ?\s. | ||
| 26079 | |||
| 26080 | 2003-07-19 John Paul Wallington <jpw@gnu.org> | ||
| 26081 | |||
| 26082 | * textmodes/artist.el (artist-butlast-fn, artist-draw-sline) | ||
| 26083 | (artist-draw-rect, artist-draw-square): Doc fixes. | ||
| 26084 | |||
| 26085 | * textmodes/enriched.el (enriched-decode-display-prop): Doc fix. | ||
| 26086 | |||
| 26087 | * textmodes/two-column.el (2C-mode-line-format): Doc fix. | ||
| 26088 | |||
| 26089 | 2003-07-19 Kenichi Handa <handa@m17n.org> | ||
| 26090 | |||
| 26091 | * international/kkc.el (kkc-show-conversion-list-update): | ||
| 26092 | Highlight the correct candidate in the message. | ||
| 26093 | |||
| 26094 | 2003-07-18 John Paul Wallington <jpw@gnu.org> | ||
| 26095 | |||
| 26096 | * simple.el (current-word): Don't include punctuation char when | ||
| 26097 | `really-word' arg is non-nil. | ||
| 26098 | |||
| 26099 | 2003-07-17 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 26100 | |||
| 26101 | * progmodes/awk-mode.el: Obsoleted by the AWK support in CC Mode - | ||
| 26102 | moved to the directory obsolete. | ||
| 26103 | |||
| 26104 | 2003-07-16 Stefan Monnier <monnier@cs.yale.edu> | ||
| 26105 | |||
| 26106 | * info.el (Info-menu-entry-name-re): Allow newlines in | ||
| 26107 | menu entry names. | ||
| 26108 | |||
| 26109 | * emacs-lisp/syntax.el (syntax-ppss-flush-cache): Rename from | ||
| 26110 | syntax-ppss-after-change-function. | ||
| 26111 | (syntax-ppss-after-change-function): New alias. Update uses. | ||
| 26112 | (syntax-ppss): Catch the case where the buffer is narrowed. | ||
| 26113 | |||
| 26114 | 2003-07-16 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 26115 | |||
| 26116 | * progmodes/cc-defs.el (c-langelem-sym, c-langelem-pos) | ||
| 26117 | (c-langelem-2nd-pos): Add accessor functions for syntactic elements. | ||
| 26118 | |||
| 26119 | 2003-07-16 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 26120 | |||
| 26121 | * progmodes/cc-engine.el (c-literal-faces): Declare as a variable | ||
| 26122 | since it might be modified. | ||
| 26123 | |||
| 26124 | * progmodes/cc-langs.el (c++-make-template-syntax-table) | ||
| 26125 | (c-syntactic-ws-start, c-syntactic-ws-end): Give more consistent | ||
| 26126 | names to these language constants. | ||
| 26127 | |||
| 26128 | 2003-07-15 Kim F. Storm <storm@cua.dk> | ||
| 26129 | |||
| 26130 | * apropos.el (apropos-sort-by-scores): Rename from apropos-show-scores. | ||
| 26131 | All uses changed. | ||
| 26132 | |||
| 26133 | 2003-07-14 Mark A. Hershberger <mah@everybody.org> | ||
| 26134 | |||
| 26135 | * xml.el (xml-parse-tag, xml-parse-file, xml-parse-region): | ||
| 26136 | Namespace support. | ||
| 26137 | |||
| 26138 | 2003-07-13 Juanma Barranquero <lektu@terra.es> | ||
| 26139 | |||
| 26140 | * frame.el (modify-all-frames-parameters): Reinstall (copyright | ||
| 26141 | papers received). | ||
| 26142 | |||
| 26143 | 2003-07-13 Karl Eichwalder <ke@suse.de> | ||
| 26144 | |||
| 26145 | * textmodes/po.el (po-find-charset): White space at the start of the | ||
| 26146 | Content-Type field body is non-mandatory. | ||
| 26147 | |||
| 26148 | 2003-07-13 Masayuki Ataka <ataka@milk.freemail.ne.jp> (tiny change) | ||
| 26149 | |||
| 26150 | * textmodes/texinfo.el (texinfo-section-list): | ||
| 26151 | Append appendixsection; a synonym for appendixsec. | ||
| 26152 | |||
| 26153 | 2003-07-13 Jari Aalto <jari.aalto@poboxes.com> | ||
| 26154 | |||
| 26155 | * man.el (Man-translate-cleanup): New. | ||
| 26156 | (Man-translate-references): Call `Man-translate-cleanup' to clean | ||
| 26157 | leading, trailing and middle spaces. | ||
| 26158 | |||
| 26159 | 2003-07-13 Lars Hansen <larsh@math.ku.dk> | ||
| 26160 | |||
| 26161 | * desktop.el (desktop-buffer-dired-misc-data, desktop-buffer-dired): | ||
| 26162 | Handle `dired-directory' being a list. | ||
| 26163 | |||
| 26164 | 2003-07-13 Jesper Harder <harder@ifa.au.dk> (tiny change) | ||
| 26165 | |||
| 26166 | * mail/smtpmail.el (smtpmail-send-it): Create smtpmail-queue-dir if | ||
| 26167 | it doesn't exist. | ||
| 26168 | |||
| 26169 | 2003-07-12 Richard M. Stallman <rms@gnu.org> | ||
| 26170 | |||
| 26171 | * progmodes/cc-engine.el (c-declare-lang-variables): Don't use mapcan. | ||
| 26172 | |||
| 26173 | * progmodes/cc-defs.el (c-make-keywords-re): | ||
| 26174 | Don't use delete-duplicates. | ||
| 26175 | (c-lang-const): Don't use mapcan. | ||
| 26176 | |||
| 26177 | * apropos.el (apropos-show-scores): Make it customizable. | ||
| 26178 | Document new meaning. | ||
| 26179 | (apropos): Compute scores from symbols. | ||
| 26180 | (apropos-print): Don't sort by scores if apropos-show-scores is nil. | ||
| 26181 | |||
| 26182 | 2003-07-11 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 26183 | |||
| 26184 | * ps-bdf.el: Fix copyright line. | ||
| 26185 | (bdf-directory-list): Fix initialization code. | ||
| 26186 | |||
| 26187 | 2003-07-11 John Paul Wallington <jpw@gnu.org> | ||
| 26188 | |||
| 26189 | * emacs-lisp/ring.el (ring-empty-p): Use `zerop'. | ||
| 26190 | (ring-p, ring-plus1, ring-minus1, ring-length, ring-index) | ||
| 26191 | (ring-empty-p, ring-size, ring-copy, ring-ref): Doc fixes. | ||
| 26192 | |||
| 26193 | 2003-07-11 NAKAJIMA Mikio <minakaji@namazu.org> (tiny change) | ||
| 26194 | |||
| 26195 | * emacs-lisp/ring.el (ring-elements): Doc fix. | ||
| 26196 | |||
| 26197 | 2003-07-11 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 26198 | |||
| 26199 | * calendar/timeclock.el (timeclock-relative) | ||
| 26200 | (timeclock-ask-before-exiting, timeclock-use-display-time): | ||
| 26201 | Doc changes. | ||
| 26202 | (timeclock-modeline-display): Give a message if | ||
| 26203 | `timeclock-use-display-time' is non-nil but `display-time-mode' | ||
| 26204 | is not active. | ||
| 26205 | |||
| 26206 | 2003-07-11 Kenichi Handa <handa@m17n.org> | ||
| 26207 | |||
| 26208 | * international/mule-cmds.el (set-language-environment): | ||
| 26209 | Set current-language-environment to the correct string. | ||
| 26210 | |||
| 26211 | 2003-07-10 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 26212 | |||
| 26213 | * ps-print.el: Print line number correctly in a region. Reported by | ||
| 26214 | Tim Allen <timallen@ls83.fsnet.co.uk>. | ||
| 26215 | (ps-print-version): New version number (6.6.2). | ||
| 26216 | (ps-printing-region): Code fix. | ||
| 26217 | |||
| 26218 | 2003-07-10 John Paul Wallington <jpw@gnu.org> | ||
| 26219 | |||
| 26220 | * progmodes/etags.el (visit-tags-table-buffer): Add autoload cookie; | ||
| 26221 | this function can be called from `add-completions-from-tags-table'. | ||
| 26222 | |||
| 26223 | 2003-07-10 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 26224 | |||
| 26225 | * calendar/timeclock.el (timeclock-use-display-time) | ||
| 26226 | (timeclock-day-over-hook, timeclock-workday-remaining) | ||
| 26227 | (timeclock-status-string, timeclock-when-to-leave) | ||
| 26228 | (timeclock-when-to-leave-string, timeclock-log-data) | ||
| 26229 | (timeclock-find-discrep, timeclock-day-base) | ||
| 26230 | (timeclock-generate-report, timeclock-visit-timelog): Doc fix. | ||
| 26231 | (timeclock-modeline-display): Set the variable | ||
| 26232 | `timeclock-modeline-display'. | ||
| 26233 | (timeclock-update-modeline): Doc fix. Respect value of | ||
| 26234 | `timeclock-relative'. | ||
| 26235 | |||
| 26236 | 2003-07-09 Richard M. Stallman <rms@gnu.org> | ||
| 26237 | |||
| 26238 | * textmodes/reftex-parse.el (reftex-all-document-files): | ||
| 26239 | Add autoload cookie. | ||
| 26240 | |||
| 26241 | * textmodes/reftex.el (reftex-all-document-files): Delete autoload. | ||
| 26242 | (reftex-scanning-info-available-p): Add autoload cookie. | ||
| 26243 | |||
| 26244 | * international/mule-cmds.el | ||
| 26245 | (set-display-table-and-terminal-coding-system): Delete duplicate | ||
| 26246 | aset on standard-display-table. | ||
| 26247 | |||
| 26248 | * view.el (view-file): If existing buffer's major mode is special, | ||
| 26249 | don't go into view mode. | ||
| 26250 | |||
| 26251 | * dired.el (dired-move-to-filename-regexp): Allow quote in months. | ||
| 26252 | |||
| 26253 | 2003-07-08 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 26254 | |||
| 26255 | * progmodes/cc-engine.el (c-guess-basic-syntax): Do not do hidden | ||
| 26256 | buffer changes; there's third party code that calls this function | ||
| 26257 | directly. | ||
| 26258 | |||
| 26259 | 2003-07-08 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 26260 | |||
| 26261 | * progmodes/cc-fonts.el (javadoc-font-lock-keywords) | ||
| 26262 | (autodoc-font-lock-keywords): Don't byte compile on font lock | ||
| 26263 | initialization when running from byte compiled files. | ||
| 26264 | |||
| 26265 | 2003-07-08 Alan Mackenzie <bug-cc-mode@gnu.org> | ||
| 26266 | |||
| 26267 | * progmodes/cc-engine.el: Fix AWK mode indentation when previous | ||
| 26268 | statement ends with auto-increment "++". | ||
| 26269 | |||
| 26270 | 2003-07-08 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 26271 | |||
| 26272 | * progmodes/cc-langs.el, progmodes/cc-styles.el (c-style-alist) | ||
| 26273 | (c-lang-variable-inits, c-lang-variable-inits-tail): The values of | ||
| 26274 | these are changed, so declare them as variables and not constants. | ||
| 26275 | |||
| 26276 | 2003-07-08 Markus Rost <rost@math.ohio-state.edu> | ||
| 26277 | |||
| 26278 | * subr.el (dolist, dotimes): Doc fix. | ||
| 26279 | |||
| 26280 | 2003-07-08 Kim F. Storm <storm@cua.dk> | ||
| 26281 | |||
| 26282 | * international/mule-cmds.el | ||
| 26283 | (set-display-table-and-terminal-coding-system): Don't break | ||
| 26284 | bootstrap if standard-display-table isn't setup yet. | ||
| 26285 | |||
| 26286 | 2003-07-07 Richard M. Stallman <rms@gnu.org> | ||
| 26287 | |||
| 26288 | * ehelp.el (ehelp-command): Use defalias to define ehelp-command. | ||
| 26289 | Give it a doc string, and autoload it. | ||
| 26290 | |||
| 26291 | * desktop.el (desktop-buffer-info, desktop-buffer-mh): | ||
| 26292 | Use with-no-warnings. | ||
| 26293 | |||
| 26294 | * info.el (Info-search): If find invisible text, search again. | ||
| 26295 | |||
| 26296 | * isearch.el (search-whitespace-regexp): Add a shy group around it. | ||
| 26297 | |||
| 26298 | * man.el (Man-name-regexp): Match + as part of name. | ||
| 26299 | |||
| 26300 | * simple.el (visible-mode): Rename from vis-mode. | ||
| 26301 | (vis-mode-saved-buffer-invisibility-spec): Doc fix. | ||
| 26302 | |||
| 26303 | * simple.el (current-word): New arg REALLY-WORD specifies | ||
| 26304 | don't include punctuation chars. | ||
| 26305 | |||
| 26306 | * emacs-lisp/debug.el (debug, debugger-env-macro): | ||
| 26307 | Use with-no-warnings while accessing and binding unread-command-char. | ||
| 26308 | |||
| 26309 | * international/mule-cmds.el | ||
| 26310 | (set-display-table-and-terminal-coding-system): Use explicit loop | ||
| 26311 | instead of calling standard-display-default. | ||
| 26312 | |||
| 26313 | * net/ange-ftp.el (ange-ftp-file-symlink-p): | ||
| 26314 | Use condition-case to catch error in ange-ftp-get-files. | ||
| 26315 | |||
| 26316 | * net/browse-url.el (browse-url-browser-function): | ||
| 26317 | Add alternative for Epiphany. | ||
| 26318 | (browse-url-epiphany-program, browse-url-epiphany-arguments) | ||
| 26319 | (browse-url-epiphany-startup-arguments) | ||
| 26320 | (browse-url-epiphany-new-window-is-tab): New variables. | ||
| 26321 | (browse-url-epiphany, browse-url-epiphany-sentinel): New functions. | ||
| 26322 | |||
| 26323 | * progmodes/compile.el (compile-auto-highlight): Default now t. | ||
| 26324 | (compile): Doc fix. | ||
| 26325 | (compilation-next-error): Fix previous change. | ||
| 26326 | |||
| 26327 | * textmodes/tex-mode.el (tex-main-file): Use with-no-warnings. | ||
| 26328 | |||
| 26329 | * textmodes/sgml-mode.el (xml-mode): Add autoload cookie. | ||
| 26330 | |||
| 26331 | 2003-07-07 Nick Roberts <nick@nick.uklinux.net> | ||
| 26332 | |||
| 26333 | * gdb-ui.el (gdb-source-info): Display current frame when | ||
| 26334 | attaching to an existing process. | ||
| 26335 | (gdb-setup-windows, gdb-source-info): Start with gud-comint-buffer | ||
| 26336 | while laying out windows when attaching to an existing process. | ||
| 26337 | |||
| 26338 | 2003-07-07 Stefan Monnier <monnier@cs.yale.edu> | ||
| 26339 | |||
| 26340 | * info.el (Info-menu): Use Info-menu-entry-name-re. | ||
| 26341 | |||
| 26342 | 2003-07-06 Stefan Monnier <monnier@cs.yale.edu> | ||
| 26343 | |||
| 26344 | * vc-hooks.el (vc-stay-local, vc-stay-local-p): Move from vc.el. | ||
| 26345 | * vc.el (vc-stay-local, vc-stay-local-p): Move to vc-hooks.el. | ||
| 26346 | |||
| 26347 | * info.el (Info-menu-entry-name-re): Be careful to avoid multiple ways | ||
| 26348 | to match the same text. | ||
| 26349 | |||
| 26350 | 2003-07-06 John Paul Wallington <jpw@gnu.org> | ||
| 26351 | |||
| 26352 | * vc.el (vc-annotate-offset): Move defvar up. | ||
| 26353 | |||
| 26354 | 2003-07-06 Kim F. Storm <storm@cua.dk> | ||
| 26355 | |||
| 26356 | * info.el (Info-menu-entry-name-re): Add `:' to second [] part. | ||
| 26357 | This should fix the infinite loop when extracting menu names. | ||
| 26358 | |||
| 26359 | 2003-07-05 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 26360 | |||
| 26361 | * files.el (auto-mode-alist, interpreter-mode-alist): | ||
| 26362 | Remove entries to CC Mode modes to avoid duplicates; they are now added | ||
| 26363 | with autoload directives in cc-mode.el. | ||
| 26364 | |||
| 26365 | 2003-07-05 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 26366 | |||
| 26367 | * progmodes/cc-langs.el, progmodes/cc-styles.el (c-style-alist) | ||
| 26368 | (c-lang-variable-inits, c-lang-variable-inits-tail): The values of | ||
| 26369 | these are changed, so declare them as variables and not constants. | ||
| 26370 | |||
| 26371 | * progmodes/cc-mode.el: Fix some autoload problems: Try to | ||
| 26372 | ensure that the entry for ".c" extension comes before the one for | ||
| 26373 | ".C" on `auto-mode-alist', to behave better on case insensitive OS:es. | ||
| 26374 | Fix incorrect entries that were added to `interpreter-mode-alist'. | ||
| 26375 | Move the autoload directives for AWK to the top level since they | ||
| 26376 | aren't recognized anywhere else. Do not use the new AWK mode doc | ||
| 26377 | in the autoload form for the old AWK mode. | ||
| 26378 | |||
| 26379 | 2003-06-30 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de> | ||
| 26380 | |||
| 26381 | * textmodes/bibtex.el (bibtex-sort-entry-class): New entry catch-all. | ||
| 26382 | (bibtex-sort-ignore-string-entries): Default value t. | ||
| 26383 | (bibtex-entry-kill-ring-max): Reintroduce as it was removed | ||
| 26384 | erroneously in previous version. | ||
| 26385 | (bibtex-string-files): Docstring reflects new parsing scheme. | ||
| 26386 | (bibtex-autokey-transcriptions): Merge some rewrite entries, fix | ||
| 26387 | docstring, add # as one of the chars to crush | ||
| 26388 | (bibtex-autokey-prefix-string, bibtex-autokey-names) | ||
| 26389 | (bibtex-autokey-names-stretch, bibtex-autokey-additional-names) | ||
| 26390 | (bibtex-autokey-name-change-strings) | ||
| 26391 | (bibtex-autokey-name-case-convert, bibtex-autokey-name-length) | ||
| 26392 | (bibtex-autokey-name-separator, bibtex-autokey-year-length) | ||
| 26393 | (bibtex-autokey-use-crossref, bibtex-autokey-titlewords) | ||
| 26394 | (bibtex-autokey-title-terminators) | ||
| 26395 | (bibtex-autokey-titlewords-stretch) | ||
| 26396 | (bibtex-autokey-titleword-ignore) | ||
| 26397 | (bibtex-autokey-titleword-case-convert) | ||
| 26398 | (bibtex-autokey-titleword-abbrevs) | ||
| 26399 | (bibtex-autokey-titleword-abbrevs) | ||
| 26400 | (bibtex-autokey-titleword-change-strings) | ||
| 26401 | (bibtex-autokey-titleword-length) | ||
| 26402 | (bibtex-autokey-titleword-separator) | ||
| 26403 | (bibtex-autokey-name-year-separator) | ||
| 26404 | (bibtex-autokey-year-title-separator) | ||
| 26405 | (bibtex-autokey-before-presentation-function) | ||
| 26406 | (bibtex-entry-type-history, bibtex-entry-maybe-empty-head): | ||
| 26407 | Fix docstring. | ||
| 26408 | (bibtex-strings, bibtex-reference-keys): | ||
| 26409 | Use lazy-completion-table and make-variable-buffer-local. | ||
| 26410 | (bibtex-sort-entry-class-alist): Use downcase, account for catch-all. | ||
| 26411 | (bibtex-braced-string-syntax-table) | ||
| 26412 | (bibtex-quoted-string-syntax-table): New variables. | ||
| 26413 | (bibtex-parse-nested-braces): Remove. | ||
| 26414 | (bibtex-parse-field-string): Use syntax table and forward-sexp. | ||
| 26415 | (bibtex-parse-association): Simplify. | ||
| 26416 | (bibtex-parse-field-name): Obey bibtex-autoadd-commas. | ||
| 26417 | (bibtex-parse-field-text): Simplify. | ||
| 26418 | (bibtex-search-forward-field, bibtex-search-backward-field): | ||
| 26419 | argument BOUND can take value t. | ||
| 26420 | (bibtex-start-of-field, bibtex-start-of-name-in-field) | ||
| 26421 | (bibtex-end-of-name-in-field, bibtex-end-of-field) | ||
| 26422 | (bibtex-start-of-text-in-field, bibtex-end-of-text-in-field) | ||
| 26423 | (bibtex-start-of-text-in-string, bibtex-end-of-text-in-string) | ||
| 26424 | (bibtex-end-of-string, bibtex-type-in-head): Use defsubst. | ||
| 26425 | (bibtex-skip-to-valid-entry): Return buffer position of beginning | ||
| 26426 | and ending of entry. Update for changes of bibtex-search-entry. | ||
| 26427 | Simplify. | ||
| 26428 | (bibtex-map-entries): FUN is called with three arguments. | ||
| 26429 | (bibtex-search-entry): Return a cons pair with buffer positions of | ||
| 26430 | beginning and end of entry. | ||
| 26431 | (bibtex-enclosing-field): Simplify. | ||
| 26432 | (bibtex-format-entry): Use booktitle to set a missing title. | ||
| 26433 | (bibtex-autokey-get-names): Fiddle with regexps. | ||
| 26434 | (bibtex-generate-autokey): Use identity. | ||
| 26435 | (bibtex-parse-keys): Use simplified parsing algorithm if | ||
| 26436 | bibtex-parse-keys-fast is non-nil. Simplify. Change order of | ||
| 26437 | arguments. Return alist of keys. | ||
| 26438 | (bibtex-parse-strings): Simplify. Return alist of strings. | ||
| 26439 | (bibtex-complete-string-cleanup): Fix docstring. | ||
| 26440 | (bibtex-read-key): New function. | ||
| 26441 | (bibtex-mode): Fix docstring. Do not parse for keys and | ||
| 26442 | strings when the mode is entered. Set fill-paragraph-function to | ||
| 26443 | bibtex-fill-field. Setup font-lock-mark-block-function the way | ||
| 26444 | font-lock intended. | ||
| 26445 | (bibtex-entry): Use bibtex-read-key. Obey bibtex-autofill-types. | ||
| 26446 | (bibtex-parse-entry, bibtex-autofill-entry): New functions. | ||
| 26447 | (bibtex-print-help-message, bibtex-remove-OPT-or-ALT) | ||
| 26448 | (bibtex-Preamble): Avoid hard coded constants. | ||
| 26449 | (bibtex-make-field): Fix docstring. Simplify. | ||
| 26450 | (bibtex-beginning-of-entry): Always return new position of point. | ||
| 26451 | (bibtex-end-of-entry): Rearrange cond clauses. | ||
| 26452 | (bibtex-count-entries, bibtex-validate, bibtex-reformat): | ||
| 26453 | Update for changes of bibtex-map-entries. | ||
| 26454 | (bibtex-ispell-abstract): Do not move point. | ||
| 26455 | (bibtex-entry-index): Use downcase. Simplify. | ||
| 26456 | (bibtex-lessp): Handle catch-all. | ||
| 26457 | (bibtex-find-crossref): Turn into a command. | ||
| 26458 | (bibtex-find-entry): Simplify. Use bibtex-read-key. Fix regexp. | ||
| 26459 | (bibtex-clean-entry): Use bibtex-read-key. Handle string and | ||
| 26460 | preamble entries. | ||
| 26461 | (bibtex-fill-field-bounds): New function. | ||
| 26462 | (bibtex-fill-field): New command. Bound to fill-paragraph-function. | ||
| 26463 | (bibtex-fill-entry): Use bibtex-fill-field-bounds | ||
| 26464 | (bibtex-String): Use bibtex-strings. Always obey | ||
| 26465 | bibtex-sort-ignore-string-entries. | ||
| 26466 | |||
| 26467 | 2003-07-05 John Paul Wallington <jpw@gnu.org> | ||
| 26468 | |||
| 26469 | * cus-theme.el (customize-create-theme): | ||
| 26470 | Call `customize-create-theme' in Reset widget's notify function. | ||
| 26471 | |||
| 26472 | * ibuffer.el (ibuffer-backward-line, ibuffer-forward-line) | ||
| 26473 | (ibuffer-mark-interactive): Use `or' instead of `unless'. | ||
| 26474 | (define-ibuffer-column name): Add summarizer. | ||
| 26475 | (define-ibuffer-column size): Likewise. | ||
| 26476 | (define-ibuffer-column filename): Likewise. | ||
| 26477 | (define-ibuffer-column process): Likewise. Change BODY's output too. | ||
| 26478 | (define-ibuffer-column filename-and-process): Likewise, likewise. | ||
| 26479 | (ibuffer): Remove local vars `already-in' and `need-update'. | ||
| 26480 | |||
| 26481 | * ibuf-ext.el: Don't require `derived' at compile-time. | ||
| 26482 | |||
| 26483 | 2003-07-05 Kim F. Storm <storm@cua.dk> | ||
| 26484 | |||
| 26485 | * info.el: Disable paragraph refilling. | ||
| 26486 | (Info-refill-paragraphs): New defcustom. | ||
| 26487 | (Info-fontify-node): Use it. | ||
| 26488 | |||
| 26489 | 2003-07-04 Stefan Monnier <monnier@cs.yale.edu> | ||
| 26490 | |||
| 26491 | * emacs-lisp/cl-macs.el (cl-transform-lambda): Strip &cl-defs | ||
| 26492 | thingies from constructors created by defstruct. | ||
| 26493 | |||
| 26494 | * emacs-lisp/bytecomp.el (byte-compile-defvar): Check and set | ||
| 26495 | the default value of the variable. | ||
| 26496 | (byte-code-meter): Move declaration to top level. | ||
| 26497 | |||
| 26498 | * pcvs-parse.el (cvs-parse-status): Ignore extra fields from CVSNT. | ||
| 26499 | |||
| 26500 | * info.el (Info-following-node-name-re): New fun. | ||
| 26501 | (Info-following-node-name): Remove. | ||
| 26502 | (Info-insert-dir): Use the new fun. | ||
| 26503 | (Info-extract-pointer): Don't save restriction; use new fun. | ||
| 26504 | (Info-menu-entry-name-re): New const. | ||
| 26505 | (Info-menu-entry-name-re): Use it along with new fun. | ||
| 26506 | (Info-node-spec-re): Use new fun. | ||
| 26507 | (Info-complete-menu-item, Info-fontify-node): Use new const. | ||
| 26508 | (Info-goto-node, Info-follow-reference, Info-menu-update): | ||
| 26509 | Use match-string. | ||
| 26510 | (Info-follow-reference): Use assoc-string. | ||
| 26511 | Use a list of strings for the completion table. | ||
| 26512 | (Info-fontify-node): Use match-string, line-end-position. | ||
| 26513 | Limit the search for `node:' to the first line. | ||
| 26514 | |||
| 26515 | * newcomment.el (uncomment-region): Remove padding coming from | ||
| 26516 | comment-start rather than just from comment-padding. | ||
| 26517 | |||
| 26518 | * vc-cvs.el (vc-cvs-repository-hostname): New operation. | ||
| 26519 | (vc-cvs-stay-local-p): Use vc-stay-local-p. | ||
| 26520 | (vc-cvs-rename-file): Remove (use the default). | ||
| 26521 | (vc-cvs-register): Register parent dir if needed. | ||
| 26522 | (vc-cvs-could-register): Return non-nil if parent can be registered. | ||
| 26523 | (vc-cvs-state, vc-cvs-dir-state, vc-cvs-print-log, vc-cvs-diff) | ||
| 26524 | (vc-cvs-diff-tree, vc-cvs-make-version-backups-p): Use vc-stay-local-p. | ||
| 26525 | |||
| 26526 | * vc-svn.el (vc-svn-use-edit): Make it into a const. | ||
| 26527 | (vc-svn-update): Fix the arguments to `svn'. | ||
| 26528 | (vc-svn-diff-tree): Just use `vc-svn-diff'. | ||
| 26529 | (vc-svn-create-snapshot, vc-svn-retrieve-snapshot): | ||
| 26530 | Simple implementations, assuming `name' is a URL. | ||
| 26531 | |||
| 26532 | * progmodes/sh-script.el (sh-font-lock-paren): Add [ and ] to the | ||
| 26533 | set of chars allowed unquoted in a case pattern. | ||
| 26534 | |||
| 26535 | * font-core.el (font-lock-defaults-alist): Remove obsolete entries. | ||
| 26536 | |||
| 26537 | * font-lock.el (font-lock-extra-types-widget) | ||
| 26538 | (c-font-lock-extra-types, c++-font-lock-extra-types) | ||
| 26539 | (objc-font-lock-extra-types, java-font-lock-extra-types) | ||
| 26540 | (c-font-lock-keywords-1, c-font-lock-keywords-2, c-font-lock-keywords) | ||
| 26541 | (c-font-lock-keywords-3, c-font-lock-syntactic-face-function) | ||
| 26542 | (font-lock-match-c++-style-declaration-item-and-skip-to-next) | ||
| 26543 | (font-lock-match-c++-structor-declaration) | ||
| 26544 | (c++-font-lock-keywords-1, c++-font-lock-keywords-2) | ||
| 26545 | (c++-font-lock-keywords-3, c++-font-lock-keywords) | ||
| 26546 | (objc-font-lock-keywords-1, objc-font-lock-keywords-2) | ||
| 26547 | (objc-font-lock-keywords-3, objc-font-lock-keywords) | ||
| 26548 | (java-font-lock-keywords-1, java-font-lock-keywords-2) | ||
| 26549 | (java-font-lock-keywords-3, java-font-lock-keywords) | ||
| 26550 | (java-font-lock-syntactic-face-function): Remove obsolete code | ||
| 26551 | and constants. It's all in cc-fonts.el now. | ||
| 26552 | |||
| 26553 | 2003-07-04 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 26554 | |||
| 26555 | * mail/sendmail.el (mail-specify-envelope-from) | ||
| 26556 | (mail-envelope-from): Doc fix. | ||
| 26557 | |||
| 26558 | 2003-07-04 Martin Stjernholm <mast@lysator.liu.se> | ||
| 26559 | |||
| 26560 | * generic-x.el: Do away with the dependency on `c-emacs-features' | ||
| 26561 | when populating `rul-generic-mode-syntax-table'; we already know | ||
| 26562 | this isn't XEmacs. | ||
| 26563 | |||
| 26564 | See ChangeLog.10 for earlier changes. | ||
| 26565 | 12656 | ||
| 26566 | ;; Local Variables: | 12657 | ;; Local Variables: |
| 26567 | ;; coding: iso-2022-7bit | 12658 | ;; coding: iso-2022-7bit |
| 26568 | ;; End: | 12659 | ;; End: |
| 26569 | 12660 | ||
| 26570 | Copyright (C) 2001, 02, 04 Free Software Foundation, Inc. | 12661 | Copyright (C) 2005 Free Software Foundation, Inc. |
| 26571 | Copying and distribution of this file, with or without modification, | 12662 | Copying and distribution of this file, with or without modification, |
| 26572 | are permitted provided the copyright notice and this notice are preserved. | 12663 | are permitted provided the copyright notice and this notice are preserved. |
| 26573 | 12664 | ||
diff --git a/lisp/bindings.el b/lisp/bindings.el index 4a6b352a154..fcad72a88e4 100644 --- a/lisp/bindings.el +++ b/lisp/bindings.el | |||
| @@ -742,7 +742,7 @@ language you are using." | |||
| 742 | 742 | ||
| 743 | ;; natural bindings for terminal keycaps --- defined in X keysym order | 743 | ;; natural bindings for terminal keycaps --- defined in X keysym order |
| 744 | (define-key global-map [C-S-backspace] 'kill-whole-line) | 744 | (define-key global-map [C-S-backspace] 'kill-whole-line) |
| 745 | (define-key global-map [home] 'beginning-of-line) | 745 | (define-key global-map [home] 'move-beginning-of-line) |
| 746 | (define-key global-map [C-home] 'beginning-of-buffer) | 746 | (define-key global-map [C-home] 'beginning-of-buffer) |
| 747 | (define-key global-map [M-home] 'beginning-of-buffer-other-window) | 747 | (define-key global-map [M-home] 'beginning-of-buffer-other-window) |
| 748 | (define-key esc-map [home] 'beginning-of-buffer-other-window) | 748 | (define-key esc-map [home] 'beginning-of-buffer-other-window) |
| @@ -762,7 +762,7 @@ language you are using." | |||
| 762 | (define-key global-map [M-prior] 'scroll-other-window-down) | 762 | (define-key global-map [M-prior] 'scroll-other-window-down) |
| 763 | (define-key esc-map [prior] 'scroll-other-window-down) | 763 | (define-key esc-map [prior] 'scroll-other-window-down) |
| 764 | (define-key esc-map [?\C-\S-v] 'scroll-other-window-down) | 764 | (define-key esc-map [?\C-\S-v] 'scroll-other-window-down) |
| 765 | (define-key global-map [end] 'end-of-line) | 765 | (define-key global-map [end] 'move-end-of-line) |
| 766 | (define-key global-map [C-end] 'end-of-buffer) | 766 | (define-key global-map [C-end] 'end-of-buffer) |
| 767 | (define-key global-map [M-end] 'end-of-buffer-other-window) | 767 | (define-key global-map [M-end] 'end-of-buffer-other-window) |
| 768 | (define-key esc-map [end] 'end-of-buffer-other-window) | 768 | (define-key esc-map [end] 'end-of-buffer-other-window) |
diff --git a/lisp/calendar/appt.el b/lisp/calendar/appt.el index 06b83872449..ccced635976 100644 --- a/lisp/calendar/appt.el +++ b/lisp/calendar/appt.el | |||
| @@ -195,7 +195,7 @@ STRING is the description of the appointment. | |||
| 195 | FLAG, if non-nil, says that the element was made with `appt-add' | 195 | FLAG, if non-nil, says that the element was made with `appt-add' |
| 196 | so calling `appt-make-list' again should preserve it.") | 196 | so calling `appt-make-list' again should preserve it.") |
| 197 | 197 | ||
| 198 | (defconst appt-max-time 1439 | 198 | (defconst appt-max-time (1- (* 24 60)) |
| 199 | "11:59pm in minutes - number of minutes in a day minus 1.") | 199 | "11:59pm in minutes - number of minutes in a day minus 1.") |
| 200 | 200 | ||
| 201 | (defvar appt-mode-string nil | 201 | (defvar appt-mode-string nil |
| @@ -484,13 +484,15 @@ Usually just deletes the appointment buffer." | |||
| 484 | lowest-window w))))) | 484 | lowest-window w))))) |
| 485 | (select-window lowest-window))) | 485 | (select-window lowest-window))) |
| 486 | 486 | ||
| 487 | (defconst appt-time-regexp | ||
| 488 | "[0-9]?[0-9]\\(h\\([0-9][0-9]\\)?\\|[:.][0-9][0-9]\\)\\(am\\|pm\\)?") | ||
| 489 | |||
| 487 | ;;;###autoload | 490 | ;;;###autoload |
| 488 | (defun appt-add (new-appt-time new-appt-msg) | 491 | (defun appt-add (new-appt-time new-appt-msg) |
| 489 | "Add an appointment for today at NEW-APPT-TIME with message NEW-APPT-MSG. | 492 | "Add an appointment for today at NEW-APPT-TIME with message NEW-APPT-MSG. |
| 490 | The time should be in either 24 hour format or am/pm format." | 493 | The time should be in either 24 hour format or am/pm format." |
| 491 | (interactive "sTime (hh:mm[am/pm]): \nsMessage: ") | 494 | (interactive "sTime (hh:mm[am/pm]): \nsMessage: ") |
| 492 | (unless (string-match "[0-9]?[0-9][:.][0-9][0-9]\\(am\\|pm\\)?" | 495 | (unless (string-match appt-time-regexp new-appt-time) |
| 493 | new-appt-time) | ||
| 494 | (error "Unacceptable time-string")) | 496 | (error "Unacceptable time-string")) |
| 495 | (let* ((appt-time-string (concat new-appt-time " " new-appt-msg)) | 497 | (let* ((appt-time-string (concat new-appt-time " " new-appt-msg)) |
| 496 | (appt-time (list (appt-convert-time new-appt-time))) | 498 | (appt-time (list (appt-convert-time new-appt-time))) |
| @@ -577,16 +579,14 @@ appointment package (if it is not already active)." | |||
| 577 | (calendar-date-equal | 579 | (calendar-date-equal |
| 578 | (calendar-current-date) (car (car entry-list)))) | 580 | (calendar-current-date) (car (car entry-list)))) |
| 579 | (let ((time-string (cadr (car entry-list)))) | 581 | (let ((time-string (cadr (car entry-list)))) |
| 580 | (while (string-match | 582 | (while (string-match appt-time-regexp time-string) |
| 581 | "\\([0-9]?[0-9][:.][0-9][0-9]\\(am\\|pm\\)?\\).*" | ||
| 582 | time-string) | ||
| 583 | (let* ((beg (match-beginning 0)) | 583 | (let* ((beg (match-beginning 0)) |
| 584 | ;; Get just the time for this appointment. | 584 | ;; Get just the time for this appointment. |
| 585 | (only-time (match-string 1 time-string)) | 585 | (only-time (match-string 0 time-string)) |
| 586 | ;; Find the end of this appointment | 586 | ;; Find the end of this appointment |
| 587 | ;; (the start of the next). | 587 | ;; (the start of the next). |
| 588 | (end (string-match | 588 | (end (string-match |
| 589 | "^[ \t]*[0-9]?[0-9][:.][0-9][0-9]\\(am\\|pm\\)?" | 589 | (concat "\n[ \t]*" appt-time-regexp) |
| 590 | time-string | 590 | time-string |
| 591 | (match-end 0))) | 591 | (match-end 0))) |
| 592 | ;; Get the whole string for this appointment. | 592 | ;; Get the whole string for this appointment. |
| @@ -633,31 +633,23 @@ APPT-LIST is a list of the same format as `appt-time-msg-list'." | |||
| 633 | "Convert hour:min[am/pm] format to minutes from midnight. | 633 | "Convert hour:min[am/pm] format to minutes from midnight. |
| 634 | A period (.) can be used instead of a colon (:) to separate the | 634 | A period (.) can be used instead of a colon (:) to separate the |
| 635 | hour and minute parts." | 635 | hour and minute parts." |
| 636 | (let ((conv-time 0) | 636 | ;; Formats that should be accepted: |
| 637 | (hr 0) | 637 | ;; 10:00 10.00 10h00 10h 10am 10:00am 10.00am |
| 638 | (min 0)) | 638 | (let ((min (if (string-match "[h:.]\\([0-9][0-9]\\)" time2conv) |
| 639 | 639 | (string-to-number (match-string 1 time2conv)) | |
| 640 | (string-match "[:.]\\([0-9][0-9]\\)" time2conv) | 640 | 0)) |
| 641 | (setq min (string-to-number | 641 | (hr (if (string-match "[0-9]*[0-9]" time2conv) |
| 642 | (match-string 1 time2conv))) | 642 | (string-to-number (match-string 0 time2conv)) |
| 643 | 643 | 0))) | |
| 644 | (string-match "[0-9]?[0-9][:.]" time2conv) | ||
| 645 | (setq hr (string-to-number | ||
| 646 | (match-string 0 time2conv))) | ||
| 647 | 644 | ||
| 648 | ;; convert the time appointment time into 24 hour time | 645 | ;; convert the time appointment time into 24 hour time |
| 649 | |||
| 650 | (cond ((and (string-match "pm" time2conv) (< hr 12)) | 646 | (cond ((and (string-match "pm" time2conv) (< hr 12)) |
| 651 | (setq hr (+ 12 hr))) | 647 | (setq hr (+ 12 hr))) |
| 652 | ((and (string-match "am" time2conv) (= hr 12)) | 648 | ((and (string-match "am" time2conv) (= hr 12)) |
| 653 | (setq hr 0))) | 649 | (setq hr 0))) |
| 654 | 650 | ||
| 655 | ;; convert the actual time | 651 | ;; convert the actual time into minutes. |
| 656 | ;; into minutes for comparison | 652 | (+ (* hr 60) min))) |
| 657 | ;; against the actual time. | ||
| 658 | |||
| 659 | (setq conv-time (+ (* hr 60) min)) | ||
| 660 | conv-time)) | ||
| 661 | 653 | ||
| 662 | 654 | ||
| 663 | (defun appt-update-list () | 655 | (defun appt-update-list () |
| @@ -719,5 +711,5 @@ ARG is positive, otherwise off." | |||
| 719 | 711 | ||
| 720 | (provide 'appt) | 712 | (provide 'appt) |
| 721 | 713 | ||
| 722 | ;;; arch-tag: bf5791c4-8921-499e-a26f-772b1788d347 | 714 | ;; arch-tag: bf5791c4-8921-499e-a26f-772b1788d347 |
| 723 | ;;; appt.el ends here | 715 | ;;; appt.el ends here |
diff --git a/lisp/calendar/cal-menu.el b/lisp/calendar/cal-menu.el index 870e0fb2f7f..d706dfd6ea3 100644 --- a/lisp/calendar/cal-menu.el +++ b/lisp/calendar/cal-menu.el | |||
| @@ -352,7 +352,7 @@ Any holidays are shown if `holidays-in-diary-buffer' is t." | |||
| 352 | (diary-display-hook 'ignore) | 352 | (diary-display-hook 'ignore) |
| 353 | (diary-entries | 353 | (diary-entries |
| 354 | (mapcar (lambda (x) (split-string (car (cdr x)) "\^M\\|\n")) | 354 | (mapcar (lambda (x) (split-string (car (cdr x)) "\^M\\|\n")) |
| 355 | (diary-list-entries date 1))) | 355 | (diary-list-entries date 1 'list-only))) |
| 356 | (holidays (if holidays-in-diary-buffer | 356 | (holidays (if holidays-in-diary-buffer |
| 357 | (check-calendar-holidays date))) | 357 | (check-calendar-holidays date))) |
| 358 | (title (concat "Diary entries " | 358 | (title (concat "Diary entries " |
diff --git a/lisp/calendar/diary-lib.el b/lisp/calendar/diary-lib.el index 3b634caaa9c..b997b5b5f61 100644 --- a/lisp/calendar/diary-lib.el +++ b/lisp/calendar/diary-lib.el | |||
| @@ -271,20 +271,22 @@ search." | |||
| 271 | ;; This can be removed once the kill/yank treatment of invisible text | 271 | ;; This can be removed once the kill/yank treatment of invisible text |
| 272 | ;; (see etc/TODO) is fixed. -- gm | 272 | ;; (see etc/TODO) is fixed. -- gm |
| 273 | (defcustom diary-header-line-flag t | 273 | (defcustom diary-header-line-flag t |
| 274 | "*If non-nil, `simple-diary-display' will show a header line. | 274 | "If non-nil, `diary-simple-display' will show a header line. |
| 275 | The format of the header is specified by `diary-header-line-format'." | 275 | The format of the header is specified by `diary-header-line-format'." |
| 276 | :group 'diary | 276 | :group 'diary |
| 277 | :type 'boolean | 277 | :type 'boolean |
| 278 | :version "22.1") | 278 | :version "22.1") |
| 279 | 279 | ||
| 280 | (defvar diary-selective-display nil) | ||
| 281 | |||
| 280 | (defcustom diary-header-line-format | 282 | (defcustom diary-header-line-format |
| 281 | '(:eval (calendar-string-spread | 283 | '(:eval (calendar-string-spread |
| 282 | (list (if selective-display | 284 | (list (if diary-selective-display |
| 283 | "Selective display active - press \"s\" in calendar \ | 285 | "Selective display active - press \"s\" in calendar \ |
| 284 | before edit/copy" | 286 | before edit/copy" |
| 285 | "Diary")) | 287 | "Diary")) |
| 286 | ?\s (frame-width))) | 288 | ?\s (frame-width))) |
| 287 | "*Format of the header line displayed by `simple-diary-display'. | 289 | "Format of the header line displayed by `diary-simple-display'. |
| 288 | Only used if `diary-header-line-flag' is non-nil." | 290 | Only used if `diary-header-line-flag' is non-nil." |
| 289 | :group 'diary | 291 | :group 'diary |
| 290 | :type 'sexp | 292 | :type 'sexp |
| @@ -322,17 +324,17 @@ number of days of diary entries displayed." | |||
| 322 | :group 'diary) | 324 | :group 'diary) |
| 323 | 325 | ||
| 324 | (define-obsolete-function-alias 'list-diary-entries 'diary-list-entries) | 326 | (define-obsolete-function-alias 'list-diary-entries 'diary-list-entries) |
| 325 | (defun diary-list-entries (date number) | 327 | (defun diary-list-entries (date number &optional list-only) |
| 326 | "Create and display a buffer containing the relevant lines in `diary-file'. | 328 | "Create and display a buffer containing the relevant lines in `diary-file'. |
| 327 | The arguments are DATE and NUMBER; the entries selected are those | 329 | The arguments are DATE and NUMBER; the entries selected are those |
| 328 | for NUMBER days starting with date DATE. The other entries are hidden | 330 | for NUMBER days starting with date DATE. The other entries are hidden |
| 329 | using selective display. If NUMBER is less than 1, this function does nothing. | 331 | using selective display. If NUMBER is less than 1, this function does nothing. |
| 330 | 332 | ||
| 331 | Returns a list of all relevant diary entries found, if any, in order by date. | 333 | Returns a list of all relevant diary entries found, if any, in order by date. |
| 332 | The list entries have the form ((month day year) string specifier) where | 334 | The list entries have the form ((MONTH DAY YEAR) STRING SPECIFIER) where |
| 333 | \(month day year) is the date of the entry, string is the entry text, and | 335 | \(MONTH DAY YEAR) is the date of the entry, STRING is the entry text, and |
| 334 | specifier is the applicability. If the variable `diary-list-include-blanks' | 336 | SPECIFIER is the applicability. If the variable `diary-list-include-blanks' |
| 335 | is t, this list includes a dummy diary entry consisting of the empty string) | 337 | is t, this list includes a dummy diary entry consisting of the empty string |
| 336 | for a date with no diary entries. | 338 | for a date with no diary entries. |
| 337 | 339 | ||
| 338 | After the list is prepared, the hooks `nongregorian-diary-listing-hook', | 340 | After the list is prepared, the hooks `nongregorian-diary-listing-hook', |
| @@ -354,7 +356,9 @@ These hooks have the following distinct roles: | |||
| 354 | add-hook to set this to ignore. | 356 | add-hook to set this to ignore. |
| 355 | 357 | ||
| 356 | `diary-hook' is run last. This can be used for an appointment | 358 | `diary-hook' is run last. This can be used for an appointment |
| 357 | notification function." | 359 | notification function. |
| 360 | |||
| 361 | If LIST-ONLY is non-nil don't modify or display the buffer, only return a list." | ||
| 358 | (unless number | 362 | (unless number |
| 359 | (setq number (if (vectorp number-of-diary-entries) | 363 | (setq number (if (vectorp number-of-diary-entries) |
| 360 | (aref number-of-diary-entries (calendar-day-of-week date)) | 364 | (aref number-of-diary-entries (calendar-day-of-week date)) |
| @@ -373,29 +377,20 @@ These hooks have the following distinct roles: | |||
| 373 | (set-buffer diary-buffer) | 377 | (set-buffer diary-buffer) |
| 374 | (or (verify-visited-file-modtime diary-buffer) | 378 | (or (verify-visited-file-modtime diary-buffer) |
| 375 | (revert-buffer t t)))) | 379 | (revert-buffer t t)))) |
| 380 | ;; Setup things like the header-line-format and invisibility-spec. | ||
| 381 | (when (eq major-mode 'fundamental-mode) (diary-mode)) | ||
| 376 | ;; d-s-p is passed to the diary display function. | 382 | ;; d-s-p is passed to the diary display function. |
| 377 | (let ((diary-saved-point (point))) | 383 | (let ((diary-saved-point (point))) |
| 378 | (save-excursion | 384 | (save-excursion |
| 379 | (setq file-glob-attrs (nth 1 (diary-pull-attrs nil ""))) | 385 | (setq file-glob-attrs (nth 1 (diary-pull-attrs nil ""))) |
| 380 | (setq selective-display t) | ||
| 381 | (setq selective-display-ellipses nil) | ||
| 382 | (if diary-header-line-flag | ||
| 383 | (setq header-line-format diary-header-line-format)) | ||
| 384 | (with-syntax-table diary-syntax-table | 386 | (with-syntax-table diary-syntax-table |
| 385 | (let ((buffer-read-only nil) | 387 | (let ((mark (regexp-quote diary-nonmarking-symbol))) |
| 386 | (diary-modified (buffer-modified-p)) | ||
| 387 | (mark (regexp-quote diary-nonmarking-symbol))) | ||
| 388 | ;; First and last characters must be ^M or \n for | ||
| 389 | ;; selective display to work properly | ||
| 390 | (goto-char (1- (point-max))) | ||
| 391 | (if (not (looking-at "\^M\\|\n")) | ||
| 392 | (progn | ||
| 393 | (goto-char (point-max)) | ||
| 394 | (insert "\^M"))) | ||
| 395 | (goto-char (point-min)) | 388 | (goto-char (point-min)) |
| 396 | (if (not (looking-at "\^M\\|\n")) | 389 | (unless list-only |
| 397 | (insert "\^M")) | 390 | (let ((ol (make-overlay (point-min) (point-max) nil t nil))) |
| 398 | (subst-char-in-region (point-min) (point-max) ?\n ?\^M t) | 391 | (set (make-local-variable 'diary-selective-display) t) |
| 392 | (overlay-put ol 'invisible 'diary) | ||
| 393 | (overlay-put ol 'evaporate t))) | ||
| 399 | (calendar-for-loop | 394 | (calendar-for-loop |
| 400 | i from 1 to number do | 395 | i from 1 to number do |
| 401 | (let ((month (extract-calendar-month date)) | 396 | (let ((month (extract-calendar-month date)) |
| @@ -426,7 +421,7 @@ These hooks have the following distinct roles: | |||
| 426 | (regexp | 421 | (regexp |
| 427 | (concat | 422 | (concat |
| 428 | "\\(\\`\\|\^M\\|\n\\)" mark "?\\(" | 423 | "\\(\\`\\|\^M\\|\n\\)" mark "?\\(" |
| 429 | (mapconcat 'eval date-form "\\)\\(") | 424 | (mapconcat 'eval date-form "\\)\\(?:") |
| 430 | "\\)")) | 425 | "\\)")) |
| 431 | (case-fold-search t)) | 426 | (case-fold-search t)) |
| 432 | (goto-char (point-min)) | 427 | (goto-char (point-min)) |
| @@ -448,8 +443,9 @@ These hooks have the following distinct roles: | |||
| 448 | (while (looking-at " \\|\^I") | 443 | (while (looking-at " \\|\^I") |
| 449 | (re-search-forward "\^M\\|\n" nil t)) | 444 | (re-search-forward "\^M\\|\n" nil t)) |
| 450 | (backward-char 1) | 445 | (backward-char 1) |
| 451 | (subst-char-in-region date-start | 446 | (unless list-only |
| 452 | (point) ?\^M ?\n t) | 447 | (remove-overlays date-start (point) |
| 448 | 'invisible 'diary)) | ||
| 453 | (setq entry (buffer-substring entry-start (point)) | 449 | (setq entry (buffer-substring entry-start (point)) |
| 454 | temp (diary-pull-attrs entry file-glob-attrs) | 450 | temp (diary-pull-attrs entry file-glob-attrs) |
| 455 | entry (nth 0 temp)) | 451 | entry (nth 0 temp)) |
| @@ -467,23 +463,20 @@ These hooks have the following distinct roles: | |||
| 467 | (setq date | 463 | (setq date |
| 468 | (calendar-gregorian-from-absolute | 464 | (calendar-gregorian-from-absolute |
| 469 | (1+ (calendar-absolute-from-gregorian date)))) | 465 | (1+ (calendar-absolute-from-gregorian date)))) |
| 470 | (setq entry-found nil))) | 466 | (setq entry-found nil))))) |
| 471 | (set-buffer-modified-p diary-modified))) | ||
| 472 | (goto-char (point-min)) | 467 | (goto-char (point-min)) |
| 473 | (run-hooks 'nongregorian-diary-listing-hook | 468 | (run-hooks 'nongregorian-diary-listing-hook |
| 474 | 'list-diary-entries-hook) | 469 | 'list-diary-entries-hook) |
| 475 | (if diary-display-hook | 470 | (unless list-only |
| 476 | (run-hooks 'diary-display-hook) | 471 | (if diary-display-hook |
| 477 | (simple-diary-display)) | 472 | (run-hooks 'diary-display-hook) |
| 473 | (simple-diary-display))) | ||
| 478 | (run-hooks 'diary-hook) | 474 | (run-hooks 'diary-hook) |
| 479 | diary-entries-list)))))) | 475 | diary-entries-list)))))) |
| 480 | 476 | ||
| 481 | (defun diary-unhide-everything () | 477 | (defun diary-unhide-everything () |
| 482 | (setq selective-display nil) | 478 | (kill-local-variable 'diary-selective-display) |
| 483 | (let ((inhibit-read-only t) | 479 | (remove-overlays (point-min) (point-max) 'invisible 'diary) |
| 484 | (modified (buffer-modified-p))) | ||
| 485 | (subst-char-in-region (point-min) (point-max) ?\^M ?\n t) | ||
| 486 | (set-buffer-modified-p modified)) | ||
| 487 | (kill-local-variable 'mode-line-format)) | 480 | (kill-local-variable 'mode-line-format)) |
| 488 | 481 | ||
| 489 | (defun include-other-diary-files () | 482 | (defun include-other-diary-files () |
| @@ -603,8 +596,8 @@ This function is provided for optional use as the `diary-display-hook'." | |||
| 603 | (setq buffer-read-only t) | 596 | (setq buffer-read-only t) |
| 604 | (display-buffer holiday-buffer) | 597 | (display-buffer holiday-buffer) |
| 605 | (message "No diary entries for %s" date-string))) | 598 | (message "No diary entries for %s" date-string))) |
| 606 | (save-excursion;; Prepare the fancy diary buffer. | 599 | (with-current-buffer;; Prepare the fancy diary buffer. |
| 607 | (set-buffer (make-fancy-diary-buffer)) | 600 | (make-fancy-diary-buffer) |
| 608 | (setq buffer-read-only nil) | 601 | (setq buffer-read-only nil) |
| 609 | (let ((entry-list diary-entries-list) | 602 | (let ((entry-list diary-entries-list) |
| 610 | (holiday-list) | 603 | (holiday-list) |
| @@ -673,10 +666,10 @@ This function is provided for optional use as the `diary-display-hook'." | |||
| 673 | (temp-face (make-symbol | 666 | (temp-face (make-symbol |
| 674 | (apply | 667 | (apply |
| 675 | 'concat "temp-face-" | 668 | 'concat "temp-face-" |
| 676 | (mapcar '(lambda (sym) | 669 | (mapcar (lambda (sym) |
| 677 | (if (stringp sym) | 670 | (if (stringp sym) |
| 678 | sym | 671 | sym |
| 679 | (symbol-name sym))) | 672 | (symbol-name sym))) |
| 680 | marks)))) | 673 | marks)))) |
| 681 | (faceinfo marks)) | 674 | (faceinfo marks)) |
| 682 | (make-face temp-face) | 675 | (make-face temp-face) |
| @@ -687,7 +680,7 @@ This function is provided for optional use as the `diary-display-hook'." | |||
| 687 | (setcar faceinfo nil) | 680 | (setcar faceinfo nil) |
| 688 | (setcar (cdr faceinfo) nil)) | 681 | (setcar (cdr faceinfo) nil)) |
| 689 | (setq marks (delq nil marks)) | 682 | (setq marks (delq nil marks)) |
| 690 | ;; Apply the font aspects | 683 | ;; Apply the font aspects. |
| 691 | (apply 'set-face-attribute temp-face nil marks) | 684 | (apply 'set-face-attribute temp-face nil marks) |
| 692 | (search-backward entry) | 685 | (search-backward entry) |
| 693 | (overlay-put | 686 | (overlay-put |
| @@ -704,8 +697,7 @@ This function is provided for optional use as the `diary-display-hook'." | |||
| 704 | 697 | ||
| 705 | (defun make-fancy-diary-buffer () | 698 | (defun make-fancy-diary-buffer () |
| 706 | "Create and return the initial fancy diary buffer." | 699 | "Create and return the initial fancy diary buffer." |
| 707 | (save-excursion | 700 | (with-current-buffer (get-buffer-create fancy-diary-buffer) |
| 708 | (set-buffer (get-buffer-create fancy-diary-buffer)) | ||
| 709 | (setq buffer-read-only nil) | 701 | (setq buffer-read-only nil) |
| 710 | (calendar-set-mode-line "Diary Entries") | 702 | (calendar-set-mode-line "Diary Entries") |
| 711 | (erase-buffer) | 703 | (erase-buffer) |
| @@ -726,26 +718,33 @@ The hooks given by the variable `print-diary-entries-hook' are called to do | |||
| 726 | the actual printing." | 718 | the actual printing." |
| 727 | (interactive) | 719 | (interactive) |
| 728 | (if (bufferp (get-buffer fancy-diary-buffer)) | 720 | (if (bufferp (get-buffer fancy-diary-buffer)) |
| 729 | (save-excursion | 721 | (with-current-buffer (get-buffer fancy-diary-buffer) |
| 730 | (set-buffer (get-buffer fancy-diary-buffer)) | ||
| 731 | (run-hooks 'print-diary-entries-hook)) | 722 | (run-hooks 'print-diary-entries-hook)) |
| 732 | (let ((diary-buffer | 723 | (let ((diary-buffer |
| 733 | (find-buffer-visiting (substitute-in-file-name diary-file)))) | 724 | (find-buffer-visiting (substitute-in-file-name diary-file)))) |
| 734 | (if diary-buffer | 725 | (if diary-buffer |
| 735 | (let ((temp-buffer (get-buffer-create "*Printable Diary Entries*")) | 726 | (let ((temp-buffer (get-buffer-create " *Printable Diary Entries*")) |
| 736 | (heading)) | 727 | (heading)) |
| 737 | (save-excursion | 728 | (with-current-buffer diary-buffer |
| 738 | (set-buffer diary-buffer) | ||
| 739 | (setq heading | 729 | (setq heading |
| 740 | (if (not (stringp mode-line-format)) | 730 | (if (not (stringp mode-line-format)) |
| 741 | "All Diary Entries" | 731 | "All Diary Entries" |
| 742 | (string-match "^-*\\([^-].*[^-]\\)-*$" mode-line-format) | 732 | (string-match "^-*\\([^-].*[^-]\\)-*$" mode-line-format) |
| 743 | (substring mode-line-format | 733 | (match-string 1 mode-line-format))) |
| 744 | (match-beginning 1) (match-end 1)))) | 734 | (let ((start (point-min)) |
| 745 | (copy-to-buffer temp-buffer (point-min) (point-max)) | 735 | end) |
| 736 | (while | ||
| 737 | (progn | ||
| 738 | (setq end (next-single-char-property-change | ||
| 739 | start 'invisible)) | ||
| 740 | (if (get-char-property start 'invisible) | ||
| 741 | nil | ||
| 742 | (with-current-buffer temp-buffer | ||
| 743 | (insert-buffer-substring diary-buffer | ||
| 744 | start (or end (point-max))))) | ||
| 745 | (setq start end) | ||
| 746 | (and end (< end (point-max)))))) | ||
| 746 | (set-buffer temp-buffer) | 747 | (set-buffer temp-buffer) |
| 747 | (while (re-search-forward "\^M.*$" nil t) | ||
| 748 | (replace-match "")) | ||
| 749 | (goto-char (point-min)) | 748 | (goto-char (point-min)) |
| 750 | (insert heading "\n" | 749 | (insert heading "\n" |
| 751 | (make-string (length heading) ?=) "\n") | 750 | (make-string (length heading) ?=) "\n") |
| @@ -764,18 +763,19 @@ is created." | |||
| 764 | (pop-up-frames (window-dedicated-p (selected-window)))) | 763 | (pop-up-frames (window-dedicated-p (selected-window)))) |
| 765 | (with-current-buffer (or (find-buffer-visiting d-file) | 764 | (with-current-buffer (or (find-buffer-visiting d-file) |
| 766 | (find-file-noselect d-file t)) | 765 | (find-file-noselect d-file t)) |
| 766 | (when (eq major-mode 'fundamental-mode) (diary-mode)) | ||
| 767 | (diary-unhide-everything) | 767 | (diary-unhide-everything) |
| 768 | (display-buffer (current-buffer))))) | 768 | (display-buffer (current-buffer))))) |
| 769 | 769 | ||
| 770 | (defcustom diary-mail-addr | 770 | (defcustom diary-mail-addr |
| 771 | (if (boundp 'user-mail-address) user-mail-address "") | 771 | (if (boundp 'user-mail-address) user-mail-address "") |
| 772 | "*Email address that `diary-mail-entries' will send email to." | 772 | "Email address that `diary-mail-entries' will send email to." |
| 773 | :group 'diary | 773 | :group 'diary |
| 774 | :type 'string | 774 | :type 'string |
| 775 | :version "20.3") | 775 | :version "20.3") |
| 776 | 776 | ||
| 777 | (defcustom diary-mail-days 7 | 777 | (defcustom diary-mail-days 7 |
| 778 | "*Default number of days for `diary-mail-entries' to check." | 778 | "Default number of days for `diary-mail-entries' to check." |
| 779 | :group 'diary | 779 | :group 'diary |
| 780 | :type 'integer | 780 | :type 'integer |
| 781 | :version "20.3") | 781 | :version "20.3") |
| @@ -866,6 +866,7 @@ diary entries." | |||
| 866 | file-glob-attrs marks) | 866 | file-glob-attrs marks) |
| 867 | (with-current-buffer (find-file-noselect (diary-check-diary-file) t) | 867 | (with-current-buffer (find-file-noselect (diary-check-diary-file) t) |
| 868 | (save-excursion | 868 | (save-excursion |
| 869 | (when (eq major-mode 'fundamental-mode) (diary-mode)) | ||
| 869 | (setq mark-diary-entries-in-calendar t) | 870 | (setq mark-diary-entries-in-calendar t) |
| 870 | (message "Marking diary entries...") | 871 | (message "Marking diary entries...") |
| 871 | (setq file-glob-attrs (nth 1 (diary-pull-attrs nil '()))) | 872 | (setq file-glob-attrs (nth 1 (diary-pull-attrs nil '()))) |
| @@ -1118,7 +1119,7 @@ A value of 0 in any position of the pattern is a wildcard." | |||
| 1118 | 1119 | ||
| 1119 | (defcustom diary-unknown-time | 1120 | (defcustom diary-unknown-time |
| 1120 | -9999 | 1121 | -9999 |
| 1121 | "*Value returned by diary-entry-time when no time is found. | 1122 | "Value returned by diary-entry-time when no time is found. |
| 1122 | The default value -9999 causes entries with no recognizable time to be placed | 1123 | The default value -9999 causes entries with no recognizable time to be placed |
| 1123 | before those with times; 9999 would place entries with no recognizable time | 1124 | before those with times; 9999 would place entries with no recognizable time |
| 1124 | after those with times." | 1125 | after those with times." |
| @@ -1361,7 +1362,7 @@ best if they are nonmarking." | |||
| 1361 | diary-entry)) | 1362 | diary-entry)) |
| 1362 | (if diary-entry | 1363 | (if diary-entry |
| 1363 | (progn | 1364 | (progn |
| 1364 | (subst-char-in-region line-start (point) ?\^M ?\n t) | 1365 | (remove-overlays line-start (point) 'invisible 'diary) |
| 1365 | (if (< 0 (length entry)) | 1366 | (if (< 0 (length entry)) |
| 1366 | (setq temp (diary-pull-attrs entry file-glob-attrs) | 1367 | (setq temp (diary-pull-attrs entry file-glob-attrs) |
| 1367 | entry (nth 0 temp) | 1368 | entry (nth 0 temp) |
| @@ -1511,7 +1512,7 @@ highlighting the day in the calendar." | |||
| 1511 | (cons mark entry))))) | 1512 | (cons mark entry))))) |
| 1512 | 1513 | ||
| 1513 | 1514 | ||
| 1514 | (defun diary-anniversary (month day year &optional mark) | 1515 | (defun diary-anniversary (month day &optional year mark) |
| 1515 | "Anniversary diary entry. | 1516 | "Anniversary diary entry. |
| 1516 | Entry applies if date is the anniversary of MONTH, DAY, YEAR if | 1517 | Entry applies if date is the anniversary of MONTH, DAY, YEAR if |
| 1517 | `european-calendar-style' is nil, and DAY, MONTH, YEAR if | 1518 | `european-calendar-style' is nil, and DAY, MONTH, YEAR if |
| @@ -1530,7 +1531,7 @@ use when highlighting the day in the calendar." | |||
| 1530 | day | 1531 | day |
| 1531 | month)) | 1532 | month)) |
| 1532 | (y (extract-calendar-year date)) | 1533 | (y (extract-calendar-year date)) |
| 1533 | (diff (- y year))) | 1534 | (diff (if year (- y year) 100))) |
| 1534 | (if (and (= m 2) (= d 29) (not (calendar-leap-year-p y))) | 1535 | (if (and (= m 2) (= d 29) (not (calendar-leap-year-p y))) |
| 1535 | (setq m 3 | 1536 | (setq m 3 |
| 1536 | d 1)) | 1537 | d 1)) |
| @@ -1578,7 +1579,7 @@ use when highlighting the day in the calendar." | |||
| 1578 | (concat (int-to-string days) (if (= 1 days) " day" " days"))) | 1579 | (concat (int-to-string days) (if (= 1 days) " day" " days"))) |
| 1579 | " until " | 1580 | " until " |
| 1580 | diary-entry) | 1581 | diary-entry) |
| 1581 | "*Pseudo-pattern giving form of reminder messages in the fancy diary | 1582 | "Pseudo-pattern giving form of reminder messages in the fancy diary |
| 1582 | display. | 1583 | display. |
| 1583 | 1584 | ||
| 1584 | Used by the function `diary-remind', a pseudo-pattern is a list of | 1585 | Used by the function `diary-remind', a pseudo-pattern is a list of |
| @@ -1657,12 +1658,10 @@ Do nothing if DATE or STRING is nil." | |||
| 1657 | (defun make-diary-entry (string &optional nonmarking file) | 1658 | (defun make-diary-entry (string &optional nonmarking file) |
| 1658 | "Insert a diary entry STRING which may be NONMARKING in FILE. | 1659 | "Insert a diary entry STRING which may be NONMARKING in FILE. |
| 1659 | If omitted, NONMARKING defaults to nil and FILE defaults to | 1660 | If omitted, NONMARKING defaults to nil and FILE defaults to |
| 1660 | `diary-file'. Adds `diary-redraw-calendar' to | 1661 | `diary-file'." |
| 1661 | `write-contents-functions' for FILE, so that the calendar will be | ||
| 1662 | redrawn with the new entry marked, if necessary." | ||
| 1663 | (let ((pop-up-frames (window-dedicated-p (selected-window)))) | 1662 | (let ((pop-up-frames (window-dedicated-p (selected-window)))) |
| 1664 | (find-file-other-window (substitute-in-file-name (or file diary-file)))) | 1663 | (find-file-other-window (substitute-in-file-name (or file diary-file)))) |
| 1665 | (add-hook 'after-save-hook 'diary-redraw-calendar nil t) | 1664 | (when (eq major-mode 'fundamental-mode) (diary-mode)) |
| 1666 | (widen) | 1665 | (widen) |
| 1667 | (diary-unhide-everything) | 1666 | (diary-unhide-everything) |
| 1668 | (goto-char (point-max)) | 1667 | (goto-char (point-max)) |
| @@ -1867,6 +1866,13 @@ names." | |||
| 1867 | (eval-when-compile (require 'cal-hebrew) | 1866 | (eval-when-compile (require 'cal-hebrew) |
| 1868 | (require 'cal-islam)) | 1867 | (require 'cal-islam)) |
| 1869 | 1868 | ||
| 1869 | (defconst diary-time-regexp | ||
| 1870 | ;; Formats that should be accepted: | ||
| 1871 | ;; 10:00 10.00 10h00 10h 10am 10:00am 10.00am | ||
| 1872 | (concat "[0-9]?[0-9]\\([AaPp][mM]\\|\\(" | ||
| 1873 | "[Hh]\\([0-9][0-9]\\)?\\|[:.][0-9][0-9]" | ||
| 1874 | "\\)\\([AaPp][Mm]\\)?\\)")) | ||
| 1875 | |||
| 1870 | (defvar diary-font-lock-keywords | 1876 | (defvar diary-font-lock-keywords |
| 1871 | (append | 1877 | (append |
| 1872 | (diary-font-lock-date-forms calendar-month-name-array | 1878 | (diary-font-lock-date-forms calendar-month-name-array |
| @@ -1907,8 +1913,10 @@ names." | |||
| 1907 | "?\\(" (regexp-quote islamic-diary-entry-symbol) "\\)") | 1913 | "?\\(" (regexp-quote islamic-diary-entry-symbol) "\\)") |
| 1908 | '(1 font-lock-reference-face)) | 1914 | '(1 font-lock-reference-face)) |
| 1909 | '(diary-font-lock-sexps . font-lock-keyword-face) | 1915 | '(diary-font-lock-sexps . font-lock-keyword-face) |
| 1910 | '("[0-9]?[0-9]\\([:.]?[0-9][0-9]\\)?\\(am\\|pm\\|AM\\|PM\\)\\(-[0-9]?[0-9]\\([:.]?[0-9][0-9]\\)?\\(am\\|pm\\|AM\\|PM\\)\\)?" | 1916 | (cons |
| 1911 | . font-lock-function-name-face))) | 1917 | (concat ;; "^[ \t]+" |
| 1918 | diary-time-regexp "\\(-" diary-time-regexp "\\)?") | ||
| 1919 | 'font-lock-function-name-face))) | ||
| 1912 | "Forms to highlight in `diary-mode'.") | 1920 | "Forms to highlight in `diary-mode'.") |
| 1913 | 1921 | ||
| 1914 | 1922 | ||
diff --git a/lisp/calendar/time-date.el b/lisp/calendar/time-date.el index be3490dfaff..b1646a5665c 100644 --- a/lisp/calendar/time-date.el +++ b/lisp/calendar/time-date.el | |||
| @@ -91,6 +91,7 @@ and type 3 is the list (HIGH LOW MICRO)." | |||
| 91 | ((eq type 1) (list high low)) | 91 | ((eq type 1) (list high low)) |
| 92 | ((eq type 2) (list high low micro)))) | 92 | ((eq type 2) (list high low micro)))) |
| 93 | 93 | ||
| 94 | (autoload 'parse-time-string "parse-time") | ||
| 94 | (autoload 'timezone-make-date-arpa-standard "timezone") | 95 | (autoload 'timezone-make-date-arpa-standard "timezone") |
| 95 | 96 | ||
| 96 | ;;;###autoload | 97 | ;;;###autoload |
diff --git a/lisp/comint.el b/lisp/comint.el index c92d0a10ad3..2ae5e049023 100644 --- a/lisp/comint.el +++ b/lisp/comint.el | |||
| @@ -3109,8 +3109,8 @@ When redirection is completed, the process filter is restored to | |||
| 3109 | this value.") | 3109 | this value.") |
| 3110 | 3110 | ||
| 3111 | (defvar comint-redirect-subvert-readonly nil | 3111 | (defvar comint-redirect-subvert-readonly nil |
| 3112 | "Non-nil means comint-redirect can insert into otherwise-readonly buffers. | 3112 | "Non-nil means `comint-redirect' can insert into read-only buffers. |
| 3113 | The readonly status is toggled around insertion. | 3113 | This works by binding `inhibit-read-only' around the insertion. |
| 3114 | This is useful, for instance, for insertion into Help mode buffers. | 3114 | This is useful, for instance, for insertion into Help mode buffers. |
| 3115 | You probably want to set it locally to the output buffer.") | 3115 | You probably want to set it locally to the output buffer.") |
| 3116 | 3116 | ||
diff --git a/lisp/dframe.el b/lisp/dframe.el new file mode 100644 index 00000000000..4be0ee8f097 --- /dev/null +++ b/lisp/dframe.el | |||
| @@ -0,0 +1,1073 @@ | |||
| 1 | ;;; dframe --- dedicate frame support modes | ||
| 2 | |||
| 3 | ;;; Copyright (C) 1996, 97, 98, 99, 2000, 01, 02, 03, 04 Free Software Foundation | ||
| 4 | |||
| 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> | ||
| 6 | ;; Keywords: file, tags, tools | ||
| 7 | |||
| 8 | (defvar dframe-version "1.3" | ||
| 9 | "The current version of the dedicated frame library.") | ||
| 10 | |||
| 11 | ;; This file is part of GNU Emacs. | ||
| 12 | |||
| 13 | ;; GNU Emacs is free software; you can redistribute it and/or modify | ||
| 14 | ;; it under the terms of the GNU General Public License as published by | ||
| 15 | ;; the Free Software Foundation; either version 2, or (at your option) | ||
| 16 | ;; any later version. | ||
| 17 | |||
| 18 | ;; GNU Emacs is distributed in the hope that it will be useful, | ||
| 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 21 | ;; GNU General Public License for more details. | ||
| 22 | |||
| 23 | ;; You should have received a copy of the GNU General Public License | ||
| 24 | ;; along with GNU Emacs; see the file COPYING. If not, write to the | ||
| 25 | ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 26 | ;; Boston, MA 02110-1301, USA. | ||
| 27 | |||
| 28 | ;;; Commentary: | ||
| 29 | ;; | ||
| 30 | ;; This code was developed and maintained as a part of speedbar since 1996. | ||
| 31 | ;; It became its own support utility in Aug 2000. | ||
| 32 | ;; | ||
| 33 | ;; Dedicated frame mode is an Emacs independent library for supporting | ||
| 34 | ;; a program/buffer combination that resides in a dedicated frame. | ||
| 35 | ;; Support of this nature requires several complex interactions with the | ||
| 36 | ;; user which this library will provide, including: | ||
| 37 | ;; | ||
| 38 | ;; * Creation of a frame. Positioned relatively. | ||
| 39 | ;; Includes a frame cache for User position caching. | ||
| 40 | ;; * Switching between frames. | ||
| 41 | ;; * Timed activities using idle-timers | ||
| 42 | ;; * Frame/buffer killing hooks | ||
| 43 | ;; * Mouse-3 position relative menu | ||
| 44 | ;; * Mouse motion, help-echo hacks | ||
| 45 | ;; * Mouse clicking, double clicking, & Xemacs image clicking hack | ||
| 46 | ;; * Mode line hacking | ||
| 47 | ;; * Utilities for use in a program covering: | ||
| 48 | ;; o keymap massage for some actions | ||
| 49 | ;; o working with an associated buffer | ||
| 50 | ;; o shift-click | ||
| 51 | ;; o detaching a frame | ||
| 52 | ;; o focus-shifting & optional frame jumping | ||
| 53 | ;; o currently active frame. | ||
| 54 | ;; o message/y-or-n-p | ||
| 55 | ;; o mouse set point | ||
| 56 | ;; | ||
| 57 | ;; To Use: | ||
| 58 | ;; 1) (require 'dframe) | ||
| 59 | ;; 2) Variable Setup: | ||
| 60 | ;; -frame-parameters -- Frame parameters for Emacs. | ||
| 61 | ;; -frame-plist -- Frame parameters for XEmacs. | ||
| 62 | ;; -- Not on parameter lists: They can optionally include width | ||
| 63 | ;; and height. If width or height is not included, then it will | ||
| 64 | ;; be provided to match the originating frame. In general, | ||
| 65 | ;; turning off the menu bar, mode line, and minibuffer can | ||
| 66 | ;; provide a smaller window, or more display area. | ||
| 67 | ;; -track-mouse-flag -- mouse tracking on/off specific to your tool. | ||
| 68 | ;; -update-flag -- app toggle for timer use. Init from | ||
| 69 | ;; `dframe-have-timer-flag'. This is nil for terminals, since | ||
| 70 | ;; updating a frame in a terminal is not useful to the user. | ||
| 71 | ;; -key-map -- Your keymap. Call `dframe-update-keymap' on it. | ||
| 72 | ;; -buffer, -frame, -cached-frame -- Variables used to track your | ||
| 73 | ;; applications buffer, frame, or frame cache (when hidden). See | ||
| 74 | ;; `dframe-frame-mode' for details. | ||
| 75 | ;; -before-delete-hook, -before-popup-hook, -after-create-hook -- | ||
| 76 | ;; Hooks to have called. The `-after-create-hook' probably wants | ||
| 77 | ;; to call a function which calls `dframe-reposition-frame' in an | ||
| 78 | ;; appropriate manner. | ||
| 79 | ;; 3) Function Setup: | ||
| 80 | ;; your-frame-mode -- function to toggle your app frame on and off. | ||
| 81 | ;; its tasks are: | ||
| 82 | ;; a) create a buffer | ||
| 83 | ;; b) Call `dframe-frame-mode'. (See its doc) | ||
| 84 | ;; c) If successful (your -frame variable has a value), call | ||
| 85 | ;; timer setup if applicable. | ||
| 86 | ;; your-frame-reposition- -- Function to call from after-create-hook to | ||
| 87 | ;; reposition your frame with `dframe-repsoition-frame'. | ||
| 88 | ;; your-mode -- Set up the major mode of the buffer for your app. | ||
| 89 | ;; Set these variables: dframe-track-mouse-function, | ||
| 90 | ;; dframe-help-echo-function, | ||
| 91 | ;; dframe-mouse-click-function, | ||
| 92 | ;; dframe-mouse-position-function. | ||
| 93 | ;; See speedbar's implementation of these functions. | ||
| 94 | ;; `speedbar-current-frame', `speedbar-get-focus', `speedbar-message', | ||
| 95 | ;; `speedbar-y-or-n-p', `speedbar-set-timer', `speedbar-click', | ||
| 96 | ;; `speedbar-position-cursor-on-line' | ||
| 97 | ;; 4) Handling mouse clicks, and help text: | ||
| 98 | ;; dframe-track-mouse, dframe-help-echo-function -- | ||
| 99 | ;; These variables need to be set to functions that display info | ||
| 100 | ;; based on the mouse's position. | ||
| 101 | ;; Text propert 'help-echo, set to `dframe-help-echo', which will | ||
| 102 | ;; call `dframe-help-echo-function'. | ||
| 103 | ;; Have a `-click' function, it can call `dframe-quick-mouse' for | ||
| 104 | ;; positioning. If the variable `dframe-power-click' is non-nil, | ||
| 105 | ;; then `shift' was held down during the click. | ||
| 106 | |||
| 107 | ;;; Bugs | ||
| 108 | ;; | ||
| 109 | ;; * The timer managers doesn't handle multiple different timeouts. | ||
| 110 | ;; * You can't specify continuous timouts (as opposed to just lidle timers.) | ||
| 111 | |||
| 112 | (defvar x-pointer-hand2) | ||
| 113 | (defvar x-pointer-top-left-arrow) | ||
| 114 | |||
| 115 | ;;; Code: | ||
| 116 | (defvar dframe-xemacsp (string-match "XEmacs" emacs-version) | ||
| 117 | "Non-nil if we are running in the XEmacs environment.") | ||
| 118 | (defvar dframe-xemacs20p (and dframe-xemacsp | ||
| 119 | (>= emacs-major-version 20))) | ||
| 120 | |||
| 121 | ;; From custom web page for compatibility between versions of custom | ||
| 122 | ;; with help from ptype@dera.gov.uk (Proto Type) | ||
| 123 | (eval-and-compile | ||
| 124 | (condition-case () | ||
| 125 | (require 'custom) | ||
| 126 | (error nil)) | ||
| 127 | (if (and (featurep 'custom) (fboundp 'custom-declare-variable) | ||
| 128 | ;; Some XEmacsen w/ custom don't have :set keyword. | ||
| 129 | ;; This protects them against custom. | ||
| 130 | (fboundp 'custom-initialize-set)) | ||
| 131 | nil ;; We've got what we needed | ||
| 132 | ;; We have the old custom-library, hack around it! | ||
| 133 | (if (boundp 'defgroup) | ||
| 134 | nil | ||
| 135 | (defmacro defgroup (&rest args) | ||
| 136 | nil)) | ||
| 137 | (if (boundp 'defface) | ||
| 138 | nil | ||
| 139 | (defmacro defface (var values doc &rest args) | ||
| 140 | (` (progn | ||
| 141 | (defvar (, var) (quote (, var))) | ||
| 142 | ;; To make colors for your faces you need to set your .Xdefaults | ||
| 143 | ;; or set them up ahead of time in your .emacs file. | ||
| 144 | (make-face (, var)) | ||
| 145 | )))) | ||
| 146 | (if (boundp 'defcustom) | ||
| 147 | nil | ||
| 148 | (defmacro defcustom (var value doc &rest args) | ||
| 149 | (` (defvar (, var) (, value) (, doc))))))) | ||
| 150 | |||
| 151 | |||
| 152 | ;;; Compatibility functions | ||
| 153 | ;; | ||
| 154 | (if (fboundp 'frame-parameter) | ||
| 155 | |||
| 156 | (defalias 'dframe-frame-parameter 'frame-parameter) | ||
| 157 | |||
| 158 | (defun dframe-frame-parameter (frame parameter) | ||
| 159 | "Return FRAME's PARAMETER value." | ||
| 160 | (cdr (assoc parameter (frame-parameters frame))))) | ||
| 161 | |||
| 162 | |||
| 163 | ;;; Variables | ||
| 164 | ;; | ||
| 165 | (defgroup dframe nil | ||
| 166 | "Faces used in dframe." | ||
| 167 | :prefix "dframe-" | ||
| 168 | :group 'dframe) | ||
| 169 | |||
| 170 | (defvar dframe-have-timer-flag | ||
| 171 | (and (or (fboundp 'run-with-idle-timer) | ||
| 172 | (fboundp 'start-itimer) | ||
| 173 | (boundp 'post-command-idle-hook)) | ||
| 174 | (if (fboundp 'display-graphic-p) | ||
| 175 | (display-graphic-p) | ||
| 176 | window-system)) | ||
| 177 | "Non-nil means that timers are available for this Emacs.") | ||
| 178 | |||
| 179 | (defcustom dframe-update-speed | ||
| 180 | (if dframe-xemacsp | ||
| 181 | (if dframe-xemacs20p | ||
| 182 | 2 ; 1 is too obrusive in XEmacs | ||
| 183 | 5) ; when no idleness, need long delay | ||
| 184 | 1) | ||
| 185 | "*Idle time in seconds needed before dframe will update itself. | ||
| 186 | Updates occur to allow dframe to display directory information | ||
| 187 | relevant to the buffer you are currently editing." | ||
| 188 | :group 'dframe | ||
| 189 | :type 'integer) | ||
| 190 | |||
| 191 | (defcustom dframe-activity-change-focus-flag nil | ||
| 192 | "*Non-nil means the selected frame will change based on activity. | ||
| 193 | Thus, if a file is selected for edit, the buffer will appear in the | ||
| 194 | selected frame and the focus will change to that frame." | ||
| 195 | :group 'dframe | ||
| 196 | :type 'boolean) | ||
| 197 | |||
| 198 | (defcustom dframe-after-select-attached-frame-hook nil | ||
| 199 | "*Hook run after dframe has selected the attached frame." | ||
| 200 | :group 'dframe | ||
| 201 | :type 'hook) | ||
| 202 | |||
| 203 | (defvar dframe-track-mouse-function nil | ||
| 204 | "*A function to call when the mouse is moved in the given frame. | ||
| 205 | Typically used to display info about the line under the mouse.") | ||
| 206 | (make-variable-buffer-local 'dframe-track-mouse-function) | ||
| 207 | |||
| 208 | (defvar dframe-help-echo-function nil | ||
| 209 | "*A function to call when help-echo is used in newer versions of Emacs. | ||
| 210 | Typically used to display info about the line under the mouse.") | ||
| 211 | (make-variable-buffer-local 'dframe-help-echo-function) | ||
| 212 | |||
| 213 | (defvar dframe-mouse-click-function nil | ||
| 214 | "*A function to call when the mouse is clicked. | ||
| 215 | Valid clicks are mouse 2, our double mouse 1.") | ||
| 216 | (make-variable-buffer-local 'dframe-mouse-click-function) | ||
| 217 | |||
| 218 | (defvar dframe-mouse-position-function nil | ||
| 219 | "*A function to called to position the cursor for a mouse click.") | ||
| 220 | (make-variable-buffer-local 'dframe-mouse-position-function) | ||
| 221 | |||
| 222 | (defvar dframe-power-click nil | ||
| 223 | "Never set this by hand. Value is t when S-mouse activity occurs.") | ||
| 224 | |||
| 225 | (defvar dframe-timer nil | ||
| 226 | "The dframe timer used for updating the buffer.") | ||
| 227 | (make-variable-buffer-local 'dframe-timer) | ||
| 228 | |||
| 229 | (defvar dframe-attached-frame nil | ||
| 230 | "The frame which started a frame mode. | ||
| 231 | This is the frame from which all interesting activities will go | ||
| 232 | for the mode using dframe.") | ||
| 233 | (make-variable-buffer-local 'dframe-attached-frame) | ||
| 234 | |||
| 235 | (defvar dframe-controlled nil | ||
| 236 | "Is this buffer controlled by a dedicated frame. | ||
| 237 | Local to those buffers, as a function called that created it.") | ||
| 238 | (make-variable-buffer-local 'dframe-controlled) | ||
| 239 | |||
| 240 | (defun dframe-update-keymap (map) | ||
| 241 | "Update the keymap MAP for dframe default bindings." | ||
| 242 | ;; Frame control | ||
| 243 | (define-key map "q" 'dframe-close-frame) | ||
| 244 | (define-key map "Q" 'delete-frame) | ||
| 245 | |||
| 246 | ;; Override switch to buffer to never hack our frame. | ||
| 247 | (substitute-key-definition 'switch-to-buffer | ||
| 248 | 'dframe-switch-buffer-attached-frame | ||
| 249 | map global-map) | ||
| 250 | |||
| 251 | (if dframe-xemacsp | ||
| 252 | (progn | ||
| 253 | ;; mouse bindings so we can manipulate the items on each line | ||
| 254 | (define-key map 'button2 'dframe-click) | ||
| 255 | (define-key map '(shift button2) 'dframe-power-click) | ||
| 256 | ;; Info doc fix from Bob Weiner | ||
| 257 | (if (featurep 'infodoc) | ||
| 258 | nil | ||
| 259 | (define-key map 'button3 'dframe-xemacs-popup-kludge)) | ||
| 260 | ) | ||
| 261 | |||
| 262 | ;; mouse bindings so we can manipulate the items on each line | ||
| 263 | ;; (define-key map [down-mouse-1] 'dframe-double-click) | ||
| 264 | (define-key map [follow-link] 'mouse-face) | ||
| 265 | (define-key map [mouse-2] 'dframe-click) | ||
| 266 | ;; This is the power click for new frames, or refreshing a cache | ||
| 267 | (define-key map [S-mouse-2] 'dframe-power-click) | ||
| 268 | ;; This adds a small unecessary visual effect | ||
| 269 | ;;(define-key map [down-mouse-2] 'dframe-quick-mouse) | ||
| 270 | |||
| 271 | (define-key map [down-mouse-3] 'dframe-emacs-popup-kludge) | ||
| 272 | |||
| 273 | ;; This lets the user scroll as if we had a scrollbar... well maybe not | ||
| 274 | (define-key map [mode-line mouse-2] 'dframe-mouse-hscroll) | ||
| 275 | ;; another handy place users might click to get our menu. | ||
| 276 | (define-key map [mode-line down-mouse-1] | ||
| 277 | 'dframe-emacs-popup-kludge) | ||
| 278 | |||
| 279 | ;; We can't switch buffers with the buffer mouse menu. Lets hack it. | ||
| 280 | (define-key map [C-down-mouse-1] 'dframe-hack-buffer-menu) | ||
| 281 | |||
| 282 | ;; Lastly, we want to track the mouse. Play here | ||
| 283 | (define-key map [mouse-movement] 'dframe-track-mouse) | ||
| 284 | )) | ||
| 285 | |||
| 286 | (defun dframe-live-p (frame) | ||
| 287 | "Return non-nil if FRAME is currently available." | ||
| 288 | (and frame (frame-live-p frame) (frame-visible-p frame))) | ||
| 289 | |||
| 290 | (defun dframe-frame-mode (arg frame-var cache-var buffer-var frame-name | ||
| 291 | local-mode-fn | ||
| 292 | &optional | ||
| 293 | parameters | ||
| 294 | delete-hook popup-hook create-hook | ||
| 295 | ) | ||
| 296 | "Manage a frame for an application, enabling it when ARG is positive. | ||
| 297 | FRAME-VAR is a variable used to cache the frame being used. | ||
| 298 | This frame is either resurrected, hidden, killed, etc based on | ||
| 299 | the value. | ||
| 300 | CACHE-VAR is a variable used to cache a cached frame. | ||
| 301 | BUFFER-VAR is a variable used to cache the buffer being used in dframe. | ||
| 302 | This buffer will have `dframe-mode' run on it. | ||
| 303 | FRAME-NAME is the name of the frame to create. | ||
| 304 | LOCAL-MODE-FN is the function used to call this one. | ||
| 305 | PARAMETERS are frame parameters to apply to this dframe. | ||
| 306 | DELETE-HOOK are hooks to run when deleting a frame. | ||
| 307 | POPUP-HOOK are hooks to run before showing a frame. | ||
| 308 | CREATE-HOOK are hooks to run after creating a frame." | ||
| 309 | ;; toggle frame on and off. | ||
| 310 | (if (not arg) (if (dframe-live-p (symbol-value frame-var)) | ||
| 311 | (setq arg -1) (setq arg 1))) | ||
| 312 | ;; Make sure the current buffer is set. | ||
| 313 | (set-buffer (symbol-value buffer-var)) | ||
| 314 | ;; turn the frame off on neg number | ||
| 315 | (if (and (numberp arg) (< arg 0)) | ||
| 316 | (progn | ||
| 317 | (run-hooks 'delete-hook) | ||
| 318 | (if (and (symbol-value frame-var) | ||
| 319 | (frame-live-p (symbol-value frame-var))) | ||
| 320 | (progn | ||
| 321 | (set cache-var (symbol-value frame-var)) | ||
| 322 | (make-frame-invisible (symbol-value frame-var)))) | ||
| 323 | (set frame-var nil)) | ||
| 324 | ;; Set this as our currently attached frame | ||
| 325 | (setq dframe-attached-frame (selected-frame)) | ||
| 326 | (run-hooks 'popup-hook) | ||
| 327 | ;; Updated the buffer passed in to contain all the hacks needed | ||
| 328 | ;; to make it work well in a dedicated window. | ||
| 329 | (save-excursion | ||
| 330 | (set-buffer (symbol-value buffer-var)) | ||
| 331 | ;; Declare this buffer a dedicated frame | ||
| 332 | (setq dframe-controlled local-mode-fn) | ||
| 333 | |||
| 334 | (if dframe-xemacsp | ||
| 335 | ;; Hack the XEmacs mouse-motion handler | ||
| 336 | (with-no-warnings | ||
| 337 | ;; Hack the XEmacs mouse-motion handler | ||
| 338 | (set (make-local-variable 'mouse-motion-handler) | ||
| 339 | 'dframe-track-mouse-xemacs) | ||
| 340 | ;; Hack the double click handler | ||
| 341 | (make-local-variable 'mouse-track-click-hook) | ||
| 342 | (add-hook 'mouse-track-click-hook | ||
| 343 | (lambda (event count) | ||
| 344 | (if (/= (event-button event) 1) | ||
| 345 | nil ; Do normal operations. | ||
| 346 | (cond ((eq count 1) | ||
| 347 | (dframe-quick-mouse event)) | ||
| 348 | ((or (eq count 2) | ||
| 349 | (eq count 3)) | ||
| 350 | (dframe-click event) | ||
| 351 | (dframe-quick-mouse event))) | ||
| 352 | ;; Don't do normal operations. | ||
| 353 | t)))) | ||
| 354 | ;; Enable mouse tracking in emacs | ||
| 355 | (if dframe-track-mouse-function | ||
| 356 | (set (make-local-variable 'track-mouse) t)) ;this could be messy. | ||
| 357 | ;; disable auto-show-mode for Emacs | ||
| 358 | (setq auto-show-mode nil)) | ||
| 359 | ;;;; DISABLED: This causes problems for users with multiple frames. | ||
| 360 | ;;;; ;; Set this up special just for the passed in buffer | ||
| 361 | ;;;; ;; Terminal minibuffer stuff does not require this. | ||
| 362 | ;;;; (if (and (or (assoc 'minibuffer parameters) | ||
| 363 | ;;;; ;; XEmacs plist is not an association list | ||
| 364 | ;;;; (member 'minibuffer parameters)) | ||
| 365 | ;;;; window-system (not (eq window-system 'pc)) | ||
| 366 | ;;;; (null default-minibuffer-frame)) | ||
| 367 | ;;;; (progn | ||
| 368 | ;;;; (make-local-variable 'default-minibuffer-frame) | ||
| 369 | ;;;; (setq default-minibuffer-frame dframe-attached-frame)) | ||
| 370 | ;;;; ) | ||
| 371 | ;; Override `temp-buffer-show-hook' so that help and such | ||
| 372 | ;; put their stuff into a frame other than our own. | ||
| 373 | ;; Correct use of `temp-buffer-show-function': Bob Weiner | ||
| 374 | (if (and (boundp 'temp-buffer-show-hook) | ||
| 375 | (boundp 'temp-buffer-show-function)) | ||
| 376 | (progn (make-local-variable 'temp-buffer-show-hook) | ||
| 377 | (setq temp-buffer-show-hook temp-buffer-show-function))) | ||
| 378 | (make-local-variable 'temp-buffer-show-function) | ||
| 379 | (setq temp-buffer-show-function 'dframe-temp-buffer-show-function) | ||
| 380 | ;; If this buffer is killed, we must make sure that we destroy | ||
| 381 | ;; the frame the dedicated window is in. | ||
| 382 | (add-hook 'kill-buffer-hook `(lambda () | ||
| 383 | (let ((skilling (boundp 'skilling))) | ||
| 384 | (if skilling | ||
| 385 | nil | ||
| 386 | (if dframe-controlled | ||
| 387 | (progn | ||
| 388 | (funcall dframe-controlled -1) | ||
| 389 | (setq ,buffer-var nil) | ||
| 390 | ))))) | ||
| 391 | t t) | ||
| 392 | ) | ||
| 393 | ;; Get the frame to work in | ||
| 394 | (if (frame-live-p (symbol-value cache-var)) | ||
| 395 | (progn | ||
| 396 | (set frame-var (symbol-value cache-var)) | ||
| 397 | (make-frame-visible (symbol-value frame-var)) | ||
| 398 | (select-frame (symbol-value frame-var)) | ||
| 399 | (set-window-dedicated-p (selected-window) nil) | ||
| 400 | (if (not (eq (current-buffer) (symbol-value buffer-var))) | ||
| 401 | (switch-to-buffer (symbol-value buffer-var))) | ||
| 402 | (set-window-dedicated-p (selected-window) t) | ||
| 403 | (raise-frame (symbol-value frame-var)) | ||
| 404 | ) | ||
| 405 | (if (frame-live-p (symbol-value frame-var)) | ||
| 406 | (raise-frame (symbol-value frame-var)) | ||
| 407 | (set frame-var | ||
| 408 | (if dframe-xemacsp | ||
| 409 | ;; Only guess height if it is not specified. | ||
| 410 | (if (member 'height parameters) | ||
| 411 | (make-frame parameters) | ||
| 412 | (make-frame (nconc (list 'height | ||
| 413 | (dframe-needed-height)) | ||
| 414 | parameters))) | ||
| 415 | (let* ((mh (dframe-frame-parameter dframe-attached-frame | ||
| 416 | 'menu-bar-lines)) | ||
| 417 | (paramsa | ||
| 418 | ;; Only add a guessed height if one is not specified | ||
| 419 | ;; in the input parameters. | ||
| 420 | (if (assoc 'height parameters) | ||
| 421 | parameters | ||
| 422 | (append | ||
| 423 | parameters | ||
| 424 | (list (cons 'height (+ mh (frame-height))))))) | ||
| 425 | (params | ||
| 426 | ;; Only add a guessed width if one is not specified | ||
| 427 | ;; in the input parameters. | ||
| 428 | (if (assoc 'width parameters) | ||
| 429 | paramsa | ||
| 430 | (append | ||
| 431 | paramsa | ||
| 432 | (list (cons 'width (frame-width)))))) | ||
| 433 | (frame | ||
| 434 | (if (or (< emacs-major-version 20) | ||
| 435 | (not (eq window-system 'x))) | ||
| 436 | (make-frame params) | ||
| 437 | (let ((x-pointer-shape x-pointer-top-left-arrow) | ||
| 438 | (x-sensitive-text-pointer-shape | ||
| 439 | x-pointer-hand2)) | ||
| 440 | (make-frame params))))) | ||
| 441 | frame))) | ||
| 442 | ;; Put the buffer into the frame | ||
| 443 | (save-excursion | ||
| 444 | (select-frame (symbol-value frame-var)) | ||
| 445 | (switch-to-buffer (symbol-value buffer-var)) | ||
| 446 | (set-window-dedicated-p (selected-window) t)) | ||
| 447 | ;; Run hooks (like reposition) | ||
| 448 | (run-hooks 'create-hook) | ||
| 449 | ;; Frame name | ||
| 450 | (if (and (or (null window-system) (eq window-system 'pc)) | ||
| 451 | (fboundp 'set-frame-name)) | ||
| 452 | (save-window-excursion | ||
| 453 | (select-frame (symbol-value frame-var)) | ||
| 454 | (set-frame-name frame-name))) | ||
| 455 | ;; On a terminal, raise the frame or the user will | ||
| 456 | ;; be confused. | ||
| 457 | (if (not window-system) | ||
| 458 | (select-frame (symbol-value frame-var))) | ||
| 459 | ))) ) | ||
| 460 | |||
| 461 | (defun dframe-reposition-frame (new-frame parent-frame location) | ||
| 462 | "Move NEW-FRAME to be relative to PARENT-FRAME. | ||
| 463 | LOCATION can be one of 'random, 'left, 'right, 'left-right, or 'top-bottom." | ||
| 464 | (if dframe-xemacsp | ||
| 465 | (dframe-reposition-frame-xemacs new-frame parent-frame location) | ||
| 466 | (dframe-reposition-frame-emacs new-frame parent-frame location))) | ||
| 467 | |||
| 468 | (defun dframe-reposition-frame-emacs (new-frame parent-frame location) | ||
| 469 | "Move NEW-FRAME to be relative to PARENT-FRAME. | ||
| 470 | LOCATION can be one of 'random, 'left-right, 'top-bottom, or | ||
| 471 | a cons cell indicationg a position of the form (LEFT . TOP)." | ||
| 472 | (let* ((pfx (dframe-frame-parameter parent-frame 'left)) | ||
| 473 | (pfy (dframe-frame-parameter parent-frame 'top)) | ||
| 474 | (pfw (frame-pixel-width parent-frame)) | ||
| 475 | (pfh (frame-pixel-height parent-frame)) | ||
| 476 | (nfw (frame-pixel-width new-frame)) | ||
| 477 | (nfh (frame-pixel-height new-frame)) | ||
| 478 | newleft newtop | ||
| 479 | ) | ||
| 480 | ;; Position dframe. | ||
| 481 | (if (or (not window-system) (eq window-system 'pc)) | ||
| 482 | ;; Do no positioning if not on a windowing system, | ||
| 483 | nil | ||
| 484 | ;; Rebuild pfx,pfy to be absolute positions. | ||
| 485 | (setq pfx (if (not (consp pfx)) | ||
| 486 | pfx | ||
| 487 | ;; If pfx is a list, that means we grow | ||
| 488 | ;; from a specific edge of the display. | ||
| 489 | ;; Convert that to the distance from the | ||
| 490 | ;; left side of the display. | ||
| 491 | (if (eq (car pfx) '-) | ||
| 492 | ;; A - means distance from the right edge | ||
| 493 | ;; of the display, or DW - pfx - framewidth | ||
| 494 | (- (x-display-pixel-width) (car (cdr pfx)) pfw) | ||
| 495 | (car (cdr pfx)))) | ||
| 496 | pfy (if (not (consp pfy)) | ||
| 497 | pfy | ||
| 498 | ;; If pfy is a list, that means we grow | ||
| 499 | ;; from a specific edge of the display. | ||
| 500 | ;; Convert that to the distance from the | ||
| 501 | ;; left side of the display. | ||
| 502 | (if (eq (car pfy) '-) | ||
| 503 | ;; A - means distance from the right edge | ||
| 504 | ;; of the display, or DW - pfx - framewidth | ||
| 505 | (- (x-display-pixel-height) (car (cdr pfy)) pfh) | ||
| 506 | (car (cdr pfy)))) | ||
| 507 | ) | ||
| 508 | (cond ((eq location 'right) | ||
| 509 | (setq newleft (+ pfx pfw 5) | ||
| 510 | newtop pfy)) | ||
| 511 | ((eq location 'left) | ||
| 512 | (setq newleft (+ pfx 10 nfw) | ||
| 513 | newtop pfy)) | ||
| 514 | ((eq location 'left-right) | ||
| 515 | (setq newleft | ||
| 516 | ;; Decide which side to put it on. 200 is just a | ||
| 517 | ;; buffer for the left edge of the screen. The | ||
| 518 | ;; extra 10 is just dressings for window | ||
| 519 | ;; decorations. | ||
| 520 | (let* ((left-guess (- pfx 10 nfw)) | ||
| 521 | (right-guess (+ pfx pfw 5)) | ||
| 522 | (left-margin left-guess) | ||
| 523 | (right-margin (- (x-display-pixel-width) | ||
| 524 | right-guess 5 nfw))) | ||
| 525 | (cond ((>= left-margin 0) left-guess) | ||
| 526 | ((>= right-margin 0) right-guess) | ||
| 527 | ;; otherwise choose side we overlap less | ||
| 528 | ((> left-margin right-margin) 0) | ||
| 529 | (t (- (x-display-pixel-width) nfw 5)))) | ||
| 530 | newtop pfy | ||
| 531 | )) | ||
| 532 | ((eq location 'top-bottom) | ||
| 533 | (setq newleft pfx | ||
| 534 | newtop | ||
| 535 | ;; Try and guess if we should be on the top or bottom. | ||
| 536 | (let* ((top-guess (- pfy 15 nfh)) | ||
| 537 | (bottom-guess (+ pfy 5 pfh)) | ||
| 538 | (top-margin top-guess) | ||
| 539 | (bottom-margin (- (x-display-pixel-height) | ||
| 540 | bottom-guess 5 nfh))) | ||
| 541 | (cond ((>= top-margin 0) top-guess) | ||
| 542 | ((>= bottom-margin 0) bottom-guess) | ||
| 543 | ;; Choose a side to overlap the least. | ||
| 544 | ((> top-margin bottom-margin) 0) | ||
| 545 | (t (- (x-display-pixel-height) nfh 5))))) | ||
| 546 | ) | ||
| 547 | ((consp location) | ||
| 548 | (setq newleft (or (car location) 0) | ||
| 549 | newtop (or (cdr location) 0))) | ||
| 550 | (t nil)) | ||
| 551 | (modify-frame-parameters new-frame | ||
| 552 | (list (cons 'left newleft) | ||
| 553 | (cons 'top newtop)))))) | ||
| 554 | |||
| 555 | (defun dframe-reposition-frame-xemacs (new-frame parent-frame location) | ||
| 556 | "Move NEW-FRAME to be relative to PARENT-FRAME. | ||
| 557 | LOCATION can be one of 'random, 'left-right, or 'top-bottom." | ||
| 558 | ;; Not yet implemented | ||
| 559 | ) | ||
| 560 | |||
| 561 | ;; XEmacs function only. | ||
| 562 | (defun dframe-needed-height (&optional frame) | ||
| 563 | "The needed height for the tool bar FRAME (in characters)." | ||
| 564 | (or frame (setq frame (selected-frame))) | ||
| 565 | ;; The 1 is the missing modeline/minibuffer | ||
| 566 | (+ 1 (/ (frame-pixel-height frame) | ||
| 567 | ;; This obscure code avoids a byte compiler warning in Emacs. | ||
| 568 | (let ((f 'face-height)) | ||
| 569 | (funcall f 'default frame))))) | ||
| 570 | |||
| 571 | (defun dframe-detach (frame-var cache-var buffer-var) | ||
| 572 | "Detatch the frame in symbol FRAME-VAR. | ||
| 573 | CACHE-VAR and BUFFER-VAR are symbols as in `dframe-frame-mode'" | ||
| 574 | (save-excursion | ||
| 575 | (set-buffer (symbol-value buffer-var)) | ||
| 576 | (rename-buffer (buffer-name) t) | ||
| 577 | (let ((oldframe (symbol-value frame-var))) | ||
| 578 | (set buffer-var nil) | ||
| 579 | (set frame-var nil) | ||
| 580 | (set cache-var nil) | ||
| 581 | (make-variable-buffer-local frame-var) | ||
| 582 | (set frame-var oldframe) | ||
| 583 | ))) | ||
| 584 | |||
| 585 | ;;; Special frame event proxies | ||
| 586 | ;; | ||
| 587 | (if (boundp 'special-event-map) | ||
| 588 | (progn | ||
| 589 | (define-key special-event-map [make-frame-visible] | ||
| 590 | 'dframe-handle-make-frame-visible) | ||
| 591 | (define-key special-event-map [iconify-frame] | ||
| 592 | 'dframe-handle-iconify-frame) | ||
| 593 | (define-key special-event-map [delete-frame] | ||
| 594 | 'dframe-handle-delete-frame)) | ||
| 595 | ) | ||
| 596 | |||
| 597 | (defvar dframe-make-frame-visible-function nil | ||
| 598 | "Function used when a dframe controlled frame is de-iconified. | ||
| 599 | The function must take an EVENT.") | ||
| 600 | (defvar dframe-iconify-frame-function nil | ||
| 601 | "Function used when a dframe controlled frame is iconified. | ||
| 602 | The function must take an EVENT.") | ||
| 603 | (defvar dframe-delete-frame-function nil | ||
| 604 | "Function used when a frame attached to a dframe frame is deleted. | ||
| 605 | The function must take an EVENT.") | ||
| 606 | |||
| 607 | (defun dframe-handle-make-frame-visible (e) | ||
| 608 | "Handle a `make-frame-visible' event. | ||
| 609 | Should enables auto-updating if the last state was also enabled. | ||
| 610 | Argument E is the event making the frame visible." | ||
| 611 | (interactive "e") | ||
| 612 | (let ((f last-event-frame)) | ||
| 613 | (if (and (dframe-attached-frame f) | ||
| 614 | dframe-make-frame-visible-function) | ||
| 615 | (funcall dframe-make-frame-visible-function e) | ||
| 616 | ))) | ||
| 617 | |||
| 618 | (defun dframe-handle-iconify-frame (e) | ||
| 619 | "Handle a `iconify-frame' event. | ||
| 620 | Should disables auto-updating if the last state was also enabled. | ||
| 621 | Argument E is the event iconifying the frame." | ||
| 622 | (interactive "e") | ||
| 623 | (let ((f last-event-frame)) | ||
| 624 | (if (and (dframe-attached-frame f) | ||
| 625 | dframe-iconify-frame-function e) | ||
| 626 | (funcall dframe-iconify-frame-function) | ||
| 627 | ))) | ||
| 628 | |||
| 629 | (defun dframe-handle-delete-frame (e) | ||
| 630 | "Handle `delete-frame' event. | ||
| 631 | Argument E is the event deleting the frame." | ||
| 632 | (interactive "e") | ||
| 633 | (let ((fl (frame-list)) | ||
| 634 | (sf (selected-frame))) | ||
| 635 | ;; Loop over all frames. If dframe-delete-frame-function is | ||
| 636 | ;; non-nil, call it. | ||
| 637 | (while fl | ||
| 638 | (select-frame (car fl)) | ||
| 639 | (if dframe-delete-frame-function | ||
| 640 | (funcall dframe-delete-frame-function e)) | ||
| 641 | (setq fl (cdr fl))) | ||
| 642 | (if (frame-live-p sf) | ||
| 643 | (select-frame sf)) | ||
| 644 | (handle-delete-frame e))) | ||
| 645 | |||
| 646 | |||
| 647 | ;;; Utilities | ||
| 648 | ;; | ||
| 649 | (defun dframe-get-focus (frame-var activator &optional hook) | ||
| 650 | "Change frame focus to or from a dedicated frame. | ||
| 651 | If the selected frame is not in the symbol FRAME-VAR, then FRAME-VAR | ||
| 652 | frame is selected. If the FRAME-VAR is active, then select the | ||
| 653 | attached frame. If FRAME-VAR is nil, ACTIVATOR is called to | ||
| 654 | created it. HOOK is an optional argument of hooks to run when | ||
| 655 | selecting FRAME." | ||
| 656 | (interactive) | ||
| 657 | (if (eq (selected-frame) (symbol-value frame-var)) | ||
| 658 | (if (frame-live-p dframe-attached-frame) | ||
| 659 | (dframe-select-attached-frame)) | ||
| 660 | ;; make sure we have a frame | ||
| 661 | (if (not (frame-live-p (symbol-value frame-var))) | ||
| 662 | (funcall activator 1)) | ||
| 663 | ;; go there | ||
| 664 | (select-frame (symbol-value frame-var)) | ||
| 665 | ) | ||
| 666 | (other-frame 0) | ||
| 667 | ;; If updates are off, then refresh the frame (they want it now...) | ||
| 668 | (run-hooks 'hook)) | ||
| 669 | |||
| 670 | |||
| 671 | (defun dframe-close-frame () | ||
| 672 | "Close the current frame if it is dedicated." | ||
| 673 | (interactive) | ||
| 674 | (if dframe-controlled | ||
| 675 | (let ((b (current-buffer))) | ||
| 676 | (funcall dframe-controlled -1) | ||
| 677 | (kill-buffer b)))) | ||
| 678 | |||
| 679 | (defun dframe-current-frame (frame-var desired-major-mode) | ||
| 680 | "Return the existing dedicated frame to use. | ||
| 681 | FRAME-VAR is the variable storing the currently active dedicated frame. | ||
| 682 | If the current frame's buffer uses DESIRED-MAJOR-MODE, then use that frame." | ||
| 683 | (if (not (eq (selected-frame) (symbol-value frame-var))) | ||
| 684 | (if (and (eq major-mode 'desired-major-mode) | ||
| 685 | (get-buffer-window (current-buffer)) | ||
| 686 | (window-frame (get-buffer-window (current-buffer)))) | ||
| 687 | (window-frame (get-buffer-window (current-buffer))) | ||
| 688 | (symbol-value frame-var)) | ||
| 689 | (symbol-value frame-var))) | ||
| 690 | |||
| 691 | (defun dframe-attached-frame (&optional frame) | ||
| 692 | "Return the attached frame belonging to the dframe controlled frame FRAME. | ||
| 693 | If optional arg FRAME is nil just return `dframe-attached-frame'." | ||
| 694 | (save-excursion | ||
| 695 | (if frame (select-frame frame)) | ||
| 696 | dframe-attached-frame)) | ||
| 697 | |||
| 698 | (defun dframe-select-attached-frame (&optional frame) | ||
| 699 | "Switch to the frame the dframe controlled frame FRAME was started from. If | ||
| 700 | optional arg FRAME is nil assume the attached frame is already selected and | ||
| 701 | just run the hooks `dframe-after-select-attached-frame-hook'. Return the | ||
| 702 | attached frame." | ||
| 703 | (let ((frame (dframe-attached-frame frame))) | ||
| 704 | (if frame (select-frame frame)) | ||
| 705 | (prog1 frame | ||
| 706 | (run-hooks 'dframe-after-select-attached-frame-hook)))) | ||
| 707 | |||
| 708 | (defmacro dframe-with-attached-buffer (&rest forms) | ||
| 709 | "Execute FORMS in the attached frame's special buffer. | ||
| 710 | Optionally select that frame if necessary." | ||
| 711 | `(save-selected-window | ||
| 712 | ;;(speedbar-set-timer speedbar-update-speed) | ||
| 713 | (dframe-select-attached-frame) | ||
| 714 | ,@forms | ||
| 715 | (dframe-maybee-jump-to-attached-frame))) | ||
| 716 | |||
| 717 | (defun dframe-maybee-jump-to-attached-frame () | ||
| 718 | "Jump to the attached frame ONLY if this was not a mouse event." | ||
| 719 | (when (or (not (dframe-mouse-event-p last-input-event)) | ||
| 720 | dframe-activity-change-focus-flag) | ||
| 721 | (dframe-select-attached-frame) | ||
| 722 | ;; KB: For what is this - raising the frame?? | ||
| 723 | (other-frame 0))) | ||
| 724 | |||
| 725 | |||
| 726 | (defvar dframe-suppress-message-flag nil | ||
| 727 | "Non-nil means that `dframe-message' should just return a string.") | ||
| 728 | |||
| 729 | (defun dframe-message (fmt &rest args) | ||
| 730 | "Like message, but for use in a dedicated frame. | ||
| 731 | Argument FMT is the format string, and ARGS are the arguments for message." | ||
| 732 | (save-selected-window | ||
| 733 | (if dframe-suppress-message-flag | ||
| 734 | (apply 'format fmt args) | ||
| 735 | (if dframe-attached-frame | ||
| 736 | ;; KB: Here we do not need calling `dframe-select-attached-frame' | ||
| 737 | (select-frame dframe-attached-frame)) | ||
| 738 | (apply 'message fmt args)))) | ||
| 739 | |||
| 740 | (defun dframe-y-or-n-p (prompt) | ||
| 741 | "Like `y-or-n-p', but for use in a dedicated frame. | ||
| 742 | Argument PROMPT is the prompt to use." | ||
| 743 | (save-selected-window | ||
| 744 | (if (and ;;default-minibuffer-frame | ||
| 745 | dframe-attached-frame | ||
| 746 | ;;(not (eq default-minibuffer-frame dframe-attached-frame)) | ||
| 747 | ) | ||
| 748 | ;; KB: Here we do not need calling `dframe-select-attached-frame' | ||
| 749 | (select-frame dframe-attached-frame)) | ||
| 750 | (y-or-n-p prompt))) | ||
| 751 | |||
| 752 | ;;; timer management | ||
| 753 | ;; | ||
| 754 | ;; Unlike speedbar with a dedicated set of routines, dframe has one master | ||
| 755 | ;; timer, and all dframe users will use it. At least until I figure out a way | ||
| 756 | ;; around that problem. | ||
| 757 | ;; | ||
| 758 | ;; Advantage 1: Two apps with timer/frames can munge the master list | ||
| 759 | ;; to make sure they occur in order. | ||
| 760 | ;; Advantage 2: If a user hits a key between timer functions, we can | ||
| 761 | ;; interrupt them safely. | ||
| 762 | (defvar dframe-client-functions nil | ||
| 763 | "List of client functions using the dframe timer.") | ||
| 764 | |||
| 765 | (defun dframe-set-timer (timeout fn &optional null-on-error) | ||
| 766 | "Apply a timer with TIMEOUT, to call FN, or remove a timer if TIMEOUT is nil. | ||
| 767 | TIMEOUT is the number of seconds until the dframe controled program | ||
| 768 | timer is called again. When TIMEOUT is nil, turn off all timeouts. | ||
| 769 | This function must be called from the buffer belonging to the program | ||
| 770 | who requested the timer. | ||
| 771 | If NULL-ON-ERROR is a symbol, set it to nil if we cannot create a timer." | ||
| 772 | ;; First, fix up our list of client functions | ||
| 773 | (if timeout | ||
| 774 | (add-to-list 'dframe-client-functions fn) | ||
| 775 | (setq dframe-client-functions (delete fn dframe-client-functions))) | ||
| 776 | ;; Now decided what to do about the timout. | ||
| 777 | (if (or | ||
| 778 | ;; We have a timer, restart the timer with the new time. | ||
| 779 | timeout | ||
| 780 | ;; We have a timer, an off is requested, and no client | ||
| 781 | ;; functions are left, shut er down. | ||
| 782 | (and dframe-timer (not timeout) dframe-client-functions)) | ||
| 783 | ;; Only call the low level function if we are changing the state. | ||
| 784 | (dframe-set-timer-internal timeout null-on-error))) | ||
| 785 | |||
| 786 | (defun dframe-set-timer-internal (timeout &optional null-on-error) | ||
| 787 | "Apply a timer with TIMEOUT to call the dframe timer manager. | ||
| 788 | If NULL-ON-ERROR is a symbol, set it to nil if we cannot create a timer." | ||
| 789 | (cond | ||
| 790 | ;; XEmacs | ||
| 791 | (dframe-xemacsp | ||
| 792 | (with-no-warnings | ||
| 793 | (if dframe-timer | ||
| 794 | (progn (delete-itimer dframe-timer) | ||
| 795 | (setq dframe-timer nil))) | ||
| 796 | (if timeout | ||
| 797 | (if (and dframe-xemacsp | ||
| 798 | (or (>= emacs-major-version 21) | ||
| 799 | (and (= emacs-major-version 20) | ||
| 800 | (> emacs-minor-version 0)) | ||
| 801 | (and (= emacs-major-version 19) | ||
| 802 | (>= emacs-minor-version 15)))) | ||
| 803 | (setq dframe-timer (start-itimer "dframe" | ||
| 804 | 'dframe-timer-fn | ||
| 805 | timeout | ||
| 806 | timeout | ||
| 807 | t)) | ||
| 808 | (setq dframe-timer (start-itimer "dframe" | ||
| 809 | 'dframe-timer-fn | ||
| 810 | timeout | ||
| 811 | nil)))))) | ||
| 812 | ;; Post 19.31 Emacs | ||
| 813 | ((fboundp 'run-with-idle-timer) | ||
| 814 | (if dframe-timer | ||
| 815 | (progn (cancel-timer dframe-timer) | ||
| 816 | (setq dframe-timer nil))) | ||
| 817 | (if timeout | ||
| 818 | (setq dframe-timer | ||
| 819 | (run-with-idle-timer timeout t 'dframe-timer-fn)))) | ||
| 820 | ;; Emacs 19.30 (Thanks twice: ptype@dra.hmg.gb) | ||
| 821 | ((fboundp 'post-command-idle-hook) | ||
| 822 | (if timeout | ||
| 823 | (add-hook 'post-command-idle-hook 'dframe-timer-fn) | ||
| 824 | (remove-hook 'post-command-idle-hook 'dframe-timer-fn))) | ||
| 825 | ;; Older or other Emacsen with no timers. Set up so that its | ||
| 826 | ;; obvious this emacs can't handle the updates | ||
| 827 | ((symbolp null-on-error) | ||
| 828 | (set null-on-error nil))) | ||
| 829 | ) | ||
| 830 | |||
| 831 | (defun dframe-timer-fn () | ||
| 832 | "Called due to the dframe timer. | ||
| 833 | Evaluates all cached timer functions in sequence." | ||
| 834 | (let ((l dframe-client-functions)) | ||
| 835 | (while (and l (sit-for 0)) | ||
| 836 | (condition-case er | ||
| 837 | (funcall (car l)) | ||
| 838 | (error (message "DFRAME TIMER ERROR: %S" er))) | ||
| 839 | (setq l (cdr l))))) | ||
| 840 | |||
| 841 | ;;; Menu hacking for mouse-3 | ||
| 842 | ;; | ||
| 843 | (defconst dframe-pass-event-to-popup-mode-menu | ||
| 844 | (let (max-args) | ||
| 845 | (and (fboundp 'popup-mode-menu) | ||
| 846 | (fboundp 'function-max-args) | ||
| 847 | (setq max-args (function-max-args 'popup-mode-menu)) | ||
| 848 | (not (zerop max-args)))) | ||
| 849 | "The EVENT arg to 'popup-mode-menu' was introduced in XEmacs 21.4.0.") | ||
| 850 | |||
| 851 | ;; In XEmacs, we make popup menus work on the item over mouse (as | ||
| 852 | ;; opposed to where the point happens to be.) We attain this by | ||
| 853 | ;; temporarily moving the point to that place. | ||
| 854 | ;; Hrvoje Niksic <hniksic@srce.hr> | ||
| 855 | (with-no-warnings | ||
| 856 | (defun dframe-xemacs-popup-kludge (event) | ||
| 857 | "Pop up a menu related to the clicked on item. | ||
| 858 | Must be bound to EVENT." | ||
| 859 | (interactive "e") | ||
| 860 | (save-excursion | ||
| 861 | (if dframe-pass-event-to-popup-mode-menu | ||
| 862 | (popup-mode-menu event) | ||
| 863 | (goto-char (event-closest-point event)) | ||
| 864 | (beginning-of-line) | ||
| 865 | (forward-char (min 5 (- (save-excursion (end-of-line) (point)) | ||
| 866 | (save-excursion (beginning-of-line) (point))))) | ||
| 867 | (popup-mode-menu)) | ||
| 868 | ;; Wait for menu to bail out. `popup-mode-menu' (and other popup | ||
| 869 | ;; menu functions) return immediately. | ||
| 870 | (let (new) | ||
| 871 | (while (not (misc-user-event-p (setq new (next-event)))) | ||
| 872 | (dispatch-event new)) | ||
| 873 | (dispatch-event new)))) | ||
| 874 | );with-no-warnings | ||
| 875 | |||
| 876 | (defun dframe-emacs-popup-kludge (e) | ||
| 877 | "Pop up a menu related to the clicked on item. | ||
| 878 | Must be bound to event E." | ||
| 879 | (interactive "e") | ||
| 880 | (save-excursion | ||
| 881 | (mouse-set-point e) | ||
| 882 | ;; This gets the cursor where the user can see it. | ||
| 883 | (if (not (bolp)) (forward-char -1)) | ||
| 884 | (sit-for 0) | ||
| 885 | (if (< emacs-major-version 20) | ||
| 886 | (mouse-major-mode-menu e) | ||
| 887 | (mouse-major-mode-menu e nil)))) | ||
| 888 | |||
| 889 | ;;; Interactive user functions for the mouse | ||
| 890 | ;; | ||
| 891 | (if dframe-xemacsp | ||
| 892 | (defalias 'dframe-mouse-event-p 'button-press-event-p) | ||
| 893 | (defun dframe-mouse-event-p (event) | ||
| 894 | "Return t if the event is a mouse related event." | ||
| 895 | (if (and (listp event) | ||
| 896 | (member (event-basic-type event) | ||
| 897 | '(mouse-1 mouse-2 mouse-3))) | ||
| 898 | t | ||
| 899 | nil))) | ||
| 900 | |||
| 901 | (defun dframe-track-mouse (event) | ||
| 902 | "For motion EVENT, display info about the current line." | ||
| 903 | (interactive "e") | ||
| 904 | (when (and dframe-track-mouse-function | ||
| 905 | (or dframe-xemacsp ;; XEmacs always safe? | ||
| 906 | (windowp (posn-window (event-end event))) ; Sometimes | ||
| 907 | ; there is no window to jump into. | ||
| 908 | )) | ||
| 909 | |||
| 910 | (funcall dframe-track-mouse-function event))) | ||
| 911 | |||
| 912 | (defun dframe-track-mouse-xemacs (event) | ||
| 913 | "For motion EVENT, display info about the current line." | ||
| 914 | (if (functionp (default-value 'mouse-motion-handler)) | ||
| 915 | (funcall (default-value 'mouse-motion-handler) event)) | ||
| 916 | (if dframe-track-mouse-function | ||
| 917 | (funcall dframe-track-mouse-function event))) | ||
| 918 | |||
| 919 | (defun dframe-help-echo (window &optional buffer position) | ||
| 920 | "Display help based context. | ||
| 921 | The context is in WINDOW, viewing BUFFER, at POSITION. | ||
| 922 | BUFFER and POSITION are optional because XEmacs doesn't use them." | ||
| 923 | (when (and (not dframe-track-mouse-function) | ||
| 924 | (bufferp buffer) | ||
| 925 | dframe-help-echo-function) | ||
| 926 | (let ((dframe-suppress-message-flag t)) | ||
| 927 | (with-current-buffer buffer | ||
| 928 | (save-excursion | ||
| 929 | (if position (goto-char position)) | ||
| 930 | (funcall dframe-help-echo-function)))))) | ||
| 931 | |||
| 932 | (defun dframe-mouse-set-point (e) | ||
| 933 | "Set POINT based on event E. | ||
| 934 | Handles clicking on images in XEmacs." | ||
| 935 | (if (save-excursion | ||
| 936 | (save-window-excursion | ||
| 937 | (mouse-set-point e) | ||
| 938 | (and (fboundp 'event-over-glyph-p) (event-over-glyph-p e)))) | ||
| 939 | ;; We are in XEmacs, and clicked on a picture | ||
| 940 | (with-no-warnings | ||
| 941 | (let ((ext (event-glyph-extent e))) | ||
| 942 | ;; This position is back inside the extent where the | ||
| 943 | ;; junk we pushed into the property list lives. | ||
| 944 | (if (extent-end-position ext) | ||
| 945 | (goto-char (1- (extent-end-position ext))) | ||
| 946 | (mouse-set-point e))) | ||
| 947 | );with-no-warnings | ||
| 948 | ;; We are not in XEmacs, OR we didn't click on a picture. | ||
| 949 | (mouse-set-point e))) | ||
| 950 | |||
| 951 | (defun dframe-quick-mouse (e) | ||
| 952 | "Since mouse events are strange, this will keep the mouse nicely positioned. | ||
| 953 | This should be bound to mouse event E." | ||
| 954 | (interactive "e") | ||
| 955 | (dframe-mouse-set-point e) | ||
| 956 | (if dframe-mouse-position-function | ||
| 957 | (funcall dframe-mouse-position-function))) | ||
| 958 | |||
| 959 | (defun dframe-power-click (e) | ||
| 960 | "Activate any `dframe' mouse click as a power click. | ||
| 961 | A power click will dispose of cached data (if available) or bring a buffer | ||
| 962 | up into a different window. | ||
| 963 | This should be bound to mouse event E." | ||
| 964 | (interactive "e") | ||
| 965 | (let ((dframe-power-click t)) | ||
| 966 | (select-frame last-event-frame) | ||
| 967 | (dframe-click e))) | ||
| 968 | |||
| 969 | (defun dframe-click (e) | ||
| 970 | "Call our clients click function on a user click. | ||
| 971 | E is the event causing the click." | ||
| 972 | (interactive "e") | ||
| 973 | (dframe-mouse-set-point e) | ||
| 974 | (when dframe-mouse-click-function | ||
| 975 | ;; On the off chance of buffer switch, or something incorrectly | ||
| 976 | ;; configured. | ||
| 977 | (funcall dframe-mouse-click-function e))) | ||
| 978 | |||
| 979 | (defun dframe-double-click (e) | ||
| 980 | "Activate the registered click function on a double click. | ||
| 981 | This must be bound to a mouse event. | ||
| 982 | This should be bound to mouse event E." | ||
| 983 | (interactive "e") | ||
| 984 | ;; Emacs only. XEmacs handles this via `mouse-track-click-hook'. | ||
| 985 | (cond ((eq (car e) 'down-mouse-1) | ||
| 986 | (dframe-mouse-set-point e)) | ||
| 987 | ((eq (car e) 'mouse-1) | ||
| 988 | (dframe-quick-mouse e)) | ||
| 989 | ((or (eq (car e) 'double-down-mouse-1) | ||
| 990 | (eq (car e) 'triple-down-mouse-1)) | ||
| 991 | (dframe-click e)))) | ||
| 992 | |||
| 993 | ;;; Hacks of normal things. | ||
| 994 | ;; | ||
| 995 | ;; Some normal things that happen in one of these dedicated frames | ||
| 996 | ;; must be handled specially, so that our dedicated frame isn't | ||
| 997 | ;; messed up. | ||
| 998 | (defun dframe-temp-buffer-show-function (buffer) | ||
| 999 | "Placed in the variable `temp-buffer-show-function' in dedicated frames. | ||
| 1000 | If a user requests help using \\[help-command] <Key> the temp BUFFER will be | ||
| 1001 | redirected into a window on the attached frame." | ||
| 1002 | (if dframe-attached-frame (dframe-select-attached-frame)) | ||
| 1003 | (pop-to-buffer buffer nil) | ||
| 1004 | (other-window -1) | ||
| 1005 | ;; Fix for using this hook on some platforms: Bob Weiner | ||
| 1006 | (cond ((not dframe-xemacsp) | ||
| 1007 | (run-hooks 'temp-buffer-show-hook)) | ||
| 1008 | ((fboundp 'run-hook-with-args) | ||
| 1009 | (run-hook-with-args 'temp-buffer-show-hook buffer)) | ||
| 1010 | ((and (boundp 'temp-buffer-show-hook) | ||
| 1011 | (listp temp-buffer-show-hook)) | ||
| 1012 | (mapcar (function (lambda (hook) (funcall hook buffer))) | ||
| 1013 | temp-buffer-show-hook)))) | ||
| 1014 | |||
| 1015 | (defun dframe-hack-buffer-menu (e) | ||
| 1016 | "Control mouse 1 is buffer menu. | ||
| 1017 | This hack overrides it so that the right thing happens in the main | ||
| 1018 | Emacs frame, not in the dedicated frame. | ||
| 1019 | Argument E is the event causing this activity." | ||
| 1020 | (interactive "e") | ||
| 1021 | (let ((fn (lookup-key global-map (if dframe-xemacsp | ||
| 1022 | '(control button1) | ||
| 1023 | [C-down-mouse-1]))) | ||
| 1024 | (oldbuff (current-buffer)) | ||
| 1025 | (newbuff nil)) | ||
| 1026 | (unwind-protect | ||
| 1027 | (save-excursion | ||
| 1028 | (set-window-dedicated-p (selected-window) nil) | ||
| 1029 | (call-interactively fn) | ||
| 1030 | (setq newbuff (current-buffer))) | ||
| 1031 | (switch-to-buffer oldbuff) | ||
| 1032 | (set-window-dedicated-p (selected-window) t)) | ||
| 1033 | (if (not (eq newbuff oldbuff)) | ||
| 1034 | (dframe-with-attached-buffer | ||
| 1035 | (switch-to-buffer newbuff))))) | ||
| 1036 | |||
| 1037 | (defun dframe-switch-buffer-attached-frame (&optional buffer) | ||
| 1038 | "Switch to BUFFER in the attached frame, and raise that frame. | ||
| 1039 | This overrides the default behavior of `switch-to-buffer' which is | ||
| 1040 | broken because of the dedicated frame." | ||
| 1041 | (interactive) | ||
| 1042 | ;; Assume we are in the dedicated frame. | ||
| 1043 | (other-frame 1) | ||
| 1044 | ;; Now switch buffers | ||
| 1045 | (if buffer | ||
| 1046 | (switch-to-buffer buffer) | ||
| 1047 | (call-interactively 'switch-to-buffer nil nil))) | ||
| 1048 | |||
| 1049 | ;; XEmacs: this can be implemented using modeline keymaps, but there | ||
| 1050 | ;; is no use, as we have horizontal scrollbar (as the docstring | ||
| 1051 | ;; hints.) | ||
| 1052 | (defun dframe-mouse-hscroll (e) | ||
| 1053 | "Read a mouse event E from the mode line, and horizontally scroll. | ||
| 1054 | If the mouse is being clicked on the far left, or far right of the | ||
| 1055 | mode-line. This is only useful for non-XEmacs." | ||
| 1056 | (interactive "e") | ||
| 1057 | (let* ((x-point (car (nth 2 (car (cdr e))))) | ||
| 1058 | (pixels-per-10-col (/ (* 10 (frame-pixel-width)) | ||
| 1059 | (frame-width))) | ||
| 1060 | (click-col (1+ (/ (* 10 x-point) pixels-per-10-col))) | ||
| 1061 | ) | ||
| 1062 | (cond ((< click-col 3) | ||
| 1063 | (scroll-left 2)) | ||
| 1064 | ((> click-col (- (window-width) 5)) | ||
| 1065 | (scroll-right 2)) | ||
| 1066 | (t (dframe-message | ||
| 1067 | "Click on the edge of the modeline to scroll left/right"))) | ||
| 1068 | )) | ||
| 1069 | |||
| 1070 | (provide 'dframe) | ||
| 1071 | |||
| 1072 | ;; arch-tag: df9b91b6-e85e-4a76-a02e-b3cb5b686bd4 | ||
| 1073 | ;;; dframe.el ends here | ||
diff --git a/lisp/ediff-merg.el b/lisp/ediff-merg.el index cb93dea3831..b08238467df 100644 --- a/lisp/ediff-merg.el +++ b/lisp/ediff-merg.el | |||
| @@ -103,11 +103,15 @@ Buffer B." | |||
| 103 | ) | 103 | ) |
| 104 | (make-variable-buffer-local 'ediff-skip-merge-regions-that-differ-from-default) | 104 | (make-variable-buffer-local 'ediff-skip-merge-regions-that-differ-from-default) |
| 105 | 105 | ||
| 106 | ;; check if there is no clash between the ancestor and one of the variants. | ||
| 107 | (defsubst ediff-merge-region-is-non-clash (n) | ||
| 108 | (string-match "prefer" (or (ediff-get-state-of-merge n) ""))) | ||
| 109 | |||
| 106 | ;; If ediff-show-clashes-only, check if there is no clash between the ancestor | 110 | ;; If ediff-show-clashes-only, check if there is no clash between the ancestor |
| 107 | ;; and one of the variants. | 111 | ;; and one of the variants. |
| 108 | (defsubst ediff-merge-region-is-non-clash (n) | 112 | (defsubst ediff-merge-region-is-non-clash-to-skip (n) |
| 109 | (and ediff-show-clashes-only | 113 | (and ediff-show-clashes-only |
| 110 | (string-match "prefer" (or (ediff-get-state-of-merge n) "")))) | 114 | (ediff-merge-region-is-non-clash n))) |
| 111 | 115 | ||
| 112 | ;; If ediff-skip-changed-regions, check if the merge region differs from | 116 | ;; If ediff-skip-changed-regions, check if the merge region differs from |
| 113 | ;; the current default. If a region is different from the default, it means | 117 | ;; the current default. If a region is different from the default, it means |
diff --git a/lisp/ediff-mult.el b/lisp/ediff-mult.el index 436c1817edf..532b491adfa 100644 --- a/lisp/ediff-mult.el +++ b/lisp/ediff-mult.el | |||
| @@ -1624,7 +1624,7 @@ Useful commands: | |||
| 1624 | (save-excursion | 1624 | (save-excursion |
| 1625 | (set-buffer meta-diff-buff) | 1625 | (set-buffer meta-diff-buff) |
| 1626 | (goto-char (point-max)) | 1626 | (goto-char (point-max)) |
| 1627 | (insert-buffer custom-diff-buf) | 1627 | (insert-buffer-substring custom-diff-buf) |
| 1628 | (insert "\n"))) | 1628 | (insert "\n"))) |
| 1629 | ;; if ediff session is not live, run diff directly on the files | 1629 | ;; if ediff session is not live, run diff directly on the files |
| 1630 | ((memq metajob '(ediff-directories | 1630 | ((memq metajob '(ediff-directories |
| @@ -1643,7 +1643,7 @@ Useful commands: | |||
| 1643 | (save-excursion | 1643 | (save-excursion |
| 1644 | (set-buffer meta-diff-buff) | 1644 | (set-buffer meta-diff-buff) |
| 1645 | (goto-char (point-max)) | 1645 | (goto-char (point-max)) |
| 1646 | (insert-buffer tmp-buf) | 1646 | (insert-buffer-substring tmp-buf) |
| 1647 | (insert "\n"))) | 1647 | (insert "\n"))) |
| 1648 | (t | 1648 | (t |
| 1649 | (ediff-kill-buffer-carefully meta-diff-buff) | 1649 | (ediff-kill-buffer-carefully meta-diff-buff) |
| @@ -1691,7 +1691,8 @@ all marked sessions must be active." | |||
| 1691 | (ediff-get-session-objC-name info))) | 1691 | (ediff-get-session-objC-name info))) |
| 1692 | (set-buffer (get-buffer-create ediff-tmp-buffer)) | 1692 | (set-buffer (get-buffer-create ediff-tmp-buffer)) |
| 1693 | (erase-buffer) | 1693 | (erase-buffer) |
| 1694 | (insert-buffer patchbuffer) | 1694 | (insert-buffer-substring patchbuffer) |
| 1695 | (goto-char (point-min)) | ||
| 1695 | (display-buffer ediff-tmp-buffer 'not-this-window) | 1696 | (display-buffer ediff-tmp-buffer 'not-this-window) |
| 1696 | )) | 1697 | )) |
| 1697 | (error "The patch buffer wasn't found")))) | 1698 | (error "The patch buffer wasn't found")))) |
diff --git a/lisp/ediff-ptch.el b/lisp/ediff-ptch.el index ec0e26e7d5c..9379b6127a9 100644 --- a/lisp/ediff-ptch.el +++ b/lisp/ediff-ptch.el | |||
| @@ -297,16 +297,23 @@ program." | |||
| 297 | ;; (file1 . file2). Get it using ediff-get-session-objA. | 297 | ;; (file1 . file2). Get it using ediff-get-session-objA. |
| 298 | (ediff-get-session-objA-name session-info)) | 298 | (ediff-get-session-objA-name session-info)) |
| 299 | ;; base-dir1 is the dir part of the 1st file in the patch | 299 | ;; base-dir1 is the dir part of the 1st file in the patch |
| 300 | (base-dir1 (file-name-directory (car proposed-file-names))) | 300 | (base-dir1 |
| 301 | (or (file-name-directory (car proposed-file-names)) | ||
| 302 | "")) | ||
| 301 | ;; directory part of the 2nd file in the patch | 303 | ;; directory part of the 2nd file in the patch |
| 302 | (base-dir2 (file-name-directory (cdr proposed-file-names))) | 304 | (base-dir2 |
| 305 | (or (file-name-directory (cdr proposed-file-names)) | ||
| 306 | "")) | ||
| 303 | ) | 307 | ) |
| 304 | ;; If both base-dir1 and base-dir2 are relative, assume that | 308 | ;; If both base-dir1 and base-dir2 are relative and exist, |
| 309 | ;; assume that | ||
| 305 | ;; these dirs lead to the actual files starting at the present | 310 | ;; these dirs lead to the actual files starting at the present |
| 306 | ;; directory. So, we don't strip these relative dirs from the | 311 | ;; directory. So, we don't strip these relative dirs from the |
| 307 | ;; file names. This is a heuristic intended to improve guessing | 312 | ;; file names. This is a heuristic intended to improve guessing |
| 308 | (unless (or (file-name-absolute-p base-dir1) | 313 | (unless (or (file-name-absolute-p base-dir1) |
| 309 | (file-name-absolute-p base-dir2)) | 314 | (file-name-absolute-p base-dir2) |
| 315 | (not (file-exists-p base-dir1)) | ||
| 316 | (not (file-exists-p base-dir2))) | ||
| 310 | (setq base-dir1 "" | 317 | (setq base-dir1 "" |
| 311 | base-dir2 "")) | 318 | base-dir2 "")) |
| 312 | (or (string= (car proposed-file-names) "/dev/null") | 319 | (or (string= (car proposed-file-names) "/dev/null") |
| @@ -377,8 +384,8 @@ other files, enter /dev/null | |||
| 377 | (concat actual-dir (cdr proposed-file-names))))) | 384 | (concat actual-dir (cdr proposed-file-names))))) |
| 378 | )) | 385 | )) |
| 379 | ediff-patch-map) | 386 | ediff-patch-map) |
| 380 | ;; check for the shorter existing file in each pair and discard the other | 387 | ;; Check for the existing files in each pair and discard the nonexisting |
| 381 | ;; one | 388 | ;; ones. If both exist, ask the user. |
| 382 | (mapcar (lambda (session-info) | 389 | (mapcar (lambda (session-info) |
| 383 | (let* ((file1 (car (ediff-get-session-objA-name session-info))) | 390 | (let* ((file1 (car (ediff-get-session-objA-name session-info))) |
| 384 | (file2 (cdr (ediff-get-session-objA-name session-info))) | 391 | (file2 (cdr (ediff-get-session-objA-name session-info))) |
diff --git a/lisp/ediff-util.el b/lisp/ediff-util.el index 9ab24ce5f64..41f294c1b13 100644 --- a/lisp/ediff-util.el +++ b/lisp/ediff-util.el | |||
| @@ -329,7 +329,7 @@ to invocation.") | |||
| 329 | ediff-word-mode-job (ediff-word-mode-job)) | 329 | ediff-word-mode-job (ediff-word-mode-job)) |
| 330 | 330 | ||
| 331 | ;; Don't delete variants in case of ediff-buffer-* jobs without asking. | 331 | ;; Don't delete variants in case of ediff-buffer-* jobs without asking. |
| 332 | ;; This is because u may loose work---dangerous. | 332 | ;; This is because one may loose work---dangerous. |
| 333 | (if (string-match "buffer" (symbol-name ediff-job-name)) | 333 | (if (string-match "buffer" (symbol-name ediff-job-name)) |
| 334 | (setq ediff-keep-variants t)) | 334 | (setq ediff-keep-variants t)) |
| 335 | 335 | ||
| @@ -368,6 +368,7 @@ to invocation.") | |||
| 368 | (save-excursion | 368 | (save-excursion |
| 369 | (set-buffer buffer-C) | 369 | (set-buffer buffer-C) |
| 370 | (insert-buffer-substring buf) | 370 | (insert-buffer-substring buf) |
| 371 | (goto-char (point-min)) | ||
| 371 | (funcall (ediff-with-current-buffer buf major-mode)) | 372 | (funcall (ediff-with-current-buffer buf major-mode)) |
| 372 | (widen) ; merge buffer is always widened | 373 | (widen) ; merge buffer is always widened |
| 373 | (add-hook 'local-write-file-hooks 'ediff-set-merge-mode nil t) | 374 | (add-hook 'local-write-file-hooks 'ediff-set-merge-mode nil t) |
| @@ -1729,7 +1730,7 @@ With a prefix argument, go forward that many differences." | |||
| 1729 | (or (>= n ediff-number-of-differences) | 1730 | (or (>= n ediff-number-of-differences) |
| 1730 | (setq regexp-skip (funcall ediff-skip-diff-region-function n)) | 1731 | (setq regexp-skip (funcall ediff-skip-diff-region-function n)) |
| 1731 | ;; this won't exec if regexp-skip is t | 1732 | ;; this won't exec if regexp-skip is t |
| 1732 | (setq non-clash-skip (ediff-merge-region-is-non-clash n) | 1733 | (setq non-clash-skip (ediff-merge-region-is-non-clash-to-skip n) |
| 1733 | skip-changed | 1734 | skip-changed |
| 1734 | (ediff-skip-merge-region-if-changed-from-default-p n)) | 1735 | (ediff-skip-merge-region-if-changed-from-default-p n)) |
| 1735 | (ediff-install-fine-diff-if-necessary n)) | 1736 | (ediff-install-fine-diff-if-necessary n)) |
| @@ -1744,6 +1745,7 @@ With a prefix argument, go forward that many differences." | |||
| 1744 | skip-changed | 1745 | skip-changed |
| 1745 | ;; skip difference regions that differ in white space | 1746 | ;; skip difference regions that differ in white space |
| 1746 | (and ediff-ignore-similar-regions | 1747 | (and ediff-ignore-similar-regions |
| 1748 | (ediff-merge-region-is-non-clash n) | ||
| 1747 | (or (eq (ediff-no-fine-diffs-p n) t) | 1749 | (or (eq (ediff-no-fine-diffs-p n) t) |
| 1748 | (and (ediff-merge-job) | 1750 | (and (ediff-merge-job) |
| 1749 | (eq (ediff-no-fine-diffs-p n) 'C))) | 1751 | (eq (ediff-no-fine-diffs-p n) 'C))) |
| @@ -1754,7 +1756,7 @@ With a prefix argument, go forward that many differences." | |||
| 1754 | (or (>= n ediff-number-of-differences) | 1756 | (or (>= n ediff-number-of-differences) |
| 1755 | (setq regexp-skip (funcall ediff-skip-diff-region-function n)) | 1757 | (setq regexp-skip (funcall ediff-skip-diff-region-function n)) |
| 1756 | ;; this won't exec if regexp-skip is t | 1758 | ;; this won't exec if regexp-skip is t |
| 1757 | (setq non-clash-skip (ediff-merge-region-is-non-clash n) | 1759 | (setq non-clash-skip (ediff-merge-region-is-non-clash-to-skip n) |
| 1758 | skip-changed | 1760 | skip-changed |
| 1759 | (ediff-skip-merge-region-if-changed-from-default-p n)) | 1761 | (ediff-skip-merge-region-if-changed-from-default-p n)) |
| 1760 | (ediff-install-fine-diff-if-necessary n)) | 1762 | (ediff-install-fine-diff-if-necessary n)) |
| @@ -1778,7 +1780,7 @@ With a prefix argument, go back that many differences." | |||
| 1778 | (or (< n 0) | 1780 | (or (< n 0) |
| 1779 | (setq regexp-skip (funcall ediff-skip-diff-region-function n)) | 1781 | (setq regexp-skip (funcall ediff-skip-diff-region-function n)) |
| 1780 | ;; this won't exec if regexp-skip is t | 1782 | ;; this won't exec if regexp-skip is t |
| 1781 | (setq non-clash-skip (ediff-merge-region-is-non-clash n) | 1783 | (setq non-clash-skip (ediff-merge-region-is-non-clash-to-skip n) |
| 1782 | skip-changed | 1784 | skip-changed |
| 1783 | (ediff-skip-merge-region-if-changed-from-default-p n)) | 1785 | (ediff-skip-merge-region-if-changed-from-default-p n)) |
| 1784 | (ediff-install-fine-diff-if-necessary n)) | 1786 | (ediff-install-fine-diff-if-necessary n)) |
| @@ -1802,7 +1804,7 @@ With a prefix argument, go back that many differences." | |||
| 1802 | (or (< n 0) | 1804 | (or (< n 0) |
| 1803 | (setq regexp-skip (funcall ediff-skip-diff-region-function n)) | 1805 | (setq regexp-skip (funcall ediff-skip-diff-region-function n)) |
| 1804 | ;; this won't exec if regexp-skip is t | 1806 | ;; this won't exec if regexp-skip is t |
| 1805 | (setq non-clash-skip (ediff-merge-region-is-non-clash n) | 1807 | (setq non-clash-skip (ediff-merge-region-is-non-clash-to-skip n) |
| 1806 | skip-changed | 1808 | skip-changed |
| 1807 | (ediff-skip-merge-region-if-changed-from-default-p n)) | 1809 | (ediff-skip-merge-region-if-changed-from-default-p n)) |
| 1808 | (ediff-install-fine-diff-if-necessary n)) | 1810 | (ediff-install-fine-diff-if-necessary n)) |
diff --git a/lisp/ediff-wind.el b/lisp/ediff-wind.el index 26ff106088f..e15c92d4bc9 100644 --- a/lisp/ediff-wind.el +++ b/lisp/ediff-wind.el | |||
| @@ -900,7 +900,7 @@ into icons, regardless of the window manager." | |||
| 900 | 900 | ||
| 901 | (ediff-with-current-buffer ctl-buffer | 901 | (ediff-with-current-buffer ctl-buffer |
| 902 | (ediff-cond-compile-for-xemacs-or-emacs | 902 | (ediff-cond-compile-for-xemacs-or-emacs |
| 903 | (set-buffer-menubar nil) ; xemacs | 903 | (when (featurep 'menubar) (set-buffer-menubar nil)) ; xemacs |
| 904 | nil ; emacs | 904 | nil ; emacs |
| 905 | ) | 905 | ) |
| 906 | ;;(setq user-grabbed-mouse (ediff-user-grabbed-mouse)) | 906 | ;;(setq user-grabbed-mouse (ediff-user-grabbed-mouse)) |
| @@ -1054,7 +1054,8 @@ into icons, regardless of the window manager." | |||
| 1054 | (if (and (ediff-window-display-p) (frame-live-p ediff-control-frame)) | 1054 | (if (and (ediff-window-display-p) (frame-live-p ediff-control-frame)) |
| 1055 | (let ((ctl-frame ediff-control-frame)) | 1055 | (let ((ctl-frame ediff-control-frame)) |
| 1056 | (ediff-cond-compile-for-xemacs-or-emacs | 1056 | (ediff-cond-compile-for-xemacs-or-emacs |
| 1057 | (set-buffer-menubar default-menubar) ; xemacs | 1057 | (when (featurep 'menubar) |
| 1058 | (set-buffer-menubar default-menubar)) ; xemacs | ||
| 1058 | nil ; emacs | 1059 | nil ; emacs |
| 1059 | ) | 1060 | ) |
| 1060 | (setq ediff-control-frame nil) | 1061 | (setq ediff-control-frame nil) |
diff --git a/lisp/ediff.el b/lisp/ediff.el index 8d4bb4d86fe..696fc9668e6 100644 --- a/lisp/ediff.el +++ b/lisp/ediff.el | |||
| @@ -8,7 +8,7 @@ | |||
| 8 | ;; Keywords: comparing, merging, patching, tools, unix | 8 | ;; Keywords: comparing, merging, patching, tools, unix |
| 9 | 9 | ||
| 10 | (defconst ediff-version "2.80.1" "The current version of Ediff") | 10 | (defconst ediff-version "2.80.1" "The current version of Ediff") |
| 11 | (defconst ediff-date "September 19, 2005" "Date of last update") | 11 | (defconst ediff-date "October 5, 2005" "Date of last update") |
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | ;; This file is part of GNU Emacs. | 14 | ;; This file is part of GNU Emacs. |
diff --git a/lisp/emacs-lisp/eldoc.el b/lisp/emacs-lisp/eldoc.el index 4ae8f53a981..7712ab5af1c 100644 --- a/lisp/emacs-lisp/eldoc.el +++ b/lisp/emacs-lisp/eldoc.el | |||
| @@ -103,37 +103,37 @@ truncated to make more of the arglist or documentation string visible." | |||
| 103 | 103 | ||
| 104 | ;;; No user options below here. | 104 | ;;; No user options below here. |
| 105 | 105 | ||
| 106 | ;; Commands after which it is appropriate to print in the echo area. | 106 | (defvar eldoc-message-commands-table-size 31 |
| 107 | ;; Eldoc does not try to print function arglists, etc. after just any command, | 107 | "This is used by eldoc-add-command to initialize eldoc-message-commands |
| 108 | ;; because some commands print their own messages in the echo area and these | 108 | as an obarray. |
| 109 | ;; functions would instantly overwrite them. But self-insert-command as well | 109 | It should probably never be necessary to do so, but if you |
| 110 | ;; as most motion commands are good candidates. | 110 | choose to increase the number of buckets, you must do so before loading |
| 111 | ;; This variable contains an obarray of symbols; do not manipulate it | 111 | this file since the obarray is initialized at load time. |
| 112 | ;; directly. Instead, use `eldoc-add-command' and `eldoc-remove-command'. | 112 | Remember to keep it a prime number to improve hash performance.") |
| 113 | (defvar eldoc-message-commands nil) | 113 | |
| 114 | 114 | (defconst eldoc-message-commands | |
| 115 | ;; This is used by eldoc-add-command to initialize eldoc-message-commands | 115 | (make-vector eldoc-message-commands-table-size 0) |
| 116 | ;; as an obarray. | 116 | "Commands after which it is appropriate to print in the echo area. |
| 117 | ;; It should probably never be necessary to do so, but if you | 117 | Eldoc does not try to print function arglists, etc. after just any command, |
| 118 | ;; choose to increase the number of buckets, you must do so before loading | 118 | because some commands print their own messages in the echo area and these |
| 119 | ;; this file since the obarray is initialized at load time. | 119 | functions would instantly overwrite them. But self-insert-command as well |
| 120 | ;; Remember to keep it a prime number to improve hash performance. | 120 | as most motion commands are good candidates. |
| 121 | (defvar eldoc-message-commands-table-size 31) | 121 | This variable contains an obarray of symbols; do not manipulate it |
| 122 | 122 | directly. Instead, use `eldoc-add-command' and `eldoc-remove-command'.") | |
| 123 | ;; Bookkeeping; elements are as follows: | 123 | |
| 124 | ;; 0 - contains the last symbol read from the buffer. | 124 | (defconst eldoc-last-data (make-vector 3 nil) |
| 125 | ;; 1 - contains the string last displayed in the echo area for that | 125 | "Bookkeeping; elements are as follows: |
| 126 | ;; symbol, so it can be printed again if necessary without reconsing. | 126 | 0 - contains the last symbol read from the buffer. |
| 127 | ;; 2 - 'function if function args, 'variable if variable documentation. | 127 | 1 - contains the string last displayed in the echo area for that |
| 128 | (defvar eldoc-last-data (make-vector 3 nil)) | 128 | symbol, so it can be printed again if necessary without reconsing. |
| 129 | 2 - 'function if function args, 'variable if variable documentation.") | ||
| 129 | (defvar eldoc-last-message nil) | 130 | (defvar eldoc-last-message nil) |
| 130 | 131 | ||
| 131 | ;; eldoc's timer object. | 132 | (defvar eldoc-timer nil "eldoc's timer object.") |
| 132 | (defvar eldoc-timer nil) | ||
| 133 | 133 | ||
| 134 | ;; idle time delay currently in use by timer. | 134 | (defvar eldoc-current-idle-delay eldoc-idle-delay |
| 135 | ;; This is used to determine if eldoc-idle-delay is changed by the user. | 135 | "idle time delay currently in use by timer. |
| 136 | (defvar eldoc-current-idle-delay eldoc-idle-delay) | 136 | This is used to determine if `eldoc-idle-delay' is changed by the user.") |
| 137 | 137 | ||
| 138 | 138 | ||
| 139 | ;;;###autoload | 139 | ;;;###autoload |
| @@ -408,53 +408,32 @@ Emacs Lisp mode) that support Eldoc.") | |||
| 408 | ;; These functions do display-command table management. | 408 | ;; These functions do display-command table management. |
| 409 | 409 | ||
| 410 | (defun eldoc-add-command (&rest cmds) | 410 | (defun eldoc-add-command (&rest cmds) |
| 411 | (or eldoc-message-commands | 411 | (dolist (name cmds) |
| 412 | (setq eldoc-message-commands | 412 | (and (symbolp name) |
| 413 | (make-vector eldoc-message-commands-table-size 0))) | 413 | (setq name (symbol-name name))) |
| 414 | 414 | (set (intern name eldoc-message-commands) t))) | |
| 415 | (let (name sym) | ||
| 416 | (while cmds | ||
| 417 | (setq name (car cmds)) | ||
| 418 | (setq cmds (cdr cmds)) | ||
| 419 | |||
| 420 | (cond ((symbolp name) | ||
| 421 | (setq sym name) | ||
| 422 | (setq name (symbol-name sym))) | ||
| 423 | ((stringp name) | ||
| 424 | (setq sym (intern-soft name)))) | ||
| 425 | |||
| 426 | (and (symbolp sym) | ||
| 427 | (fboundp sym) | ||
| 428 | (set (intern name eldoc-message-commands) t))))) | ||
| 429 | 415 | ||
| 430 | (defun eldoc-add-command-completions (&rest names) | 416 | (defun eldoc-add-command-completions (&rest names) |
| 431 | (while names | 417 | (dolist (name names) |
| 432 | (apply 'eldoc-add-command | 418 | (apply 'eldoc-add-command (all-completions name obarray 'commandp)))) |
| 433 | (all-completions (car names) obarray 'fboundp)) | ||
| 434 | (setq names (cdr names)))) | ||
| 435 | 419 | ||
| 436 | (defun eldoc-remove-command (&rest cmds) | 420 | (defun eldoc-remove-command (&rest cmds) |
| 437 | (let (name) | 421 | (dolist (name cmds) |
| 438 | (while cmds | 422 | (and (symbolp name) |
| 439 | (setq name (car cmds)) | 423 | (setq name (symbol-name name))) |
| 440 | (setq cmds (cdr cmds)) | 424 | (unintern name eldoc-message-commands))) |
| 441 | |||
| 442 | (and (symbolp name) | ||
| 443 | (setq name (symbol-name name))) | ||
| 444 | |||
| 445 | (unintern name eldoc-message-commands)))) | ||
| 446 | 425 | ||
| 447 | (defun eldoc-remove-command-completions (&rest names) | 426 | (defun eldoc-remove-command-completions (&rest names) |
| 448 | (while names | 427 | (dolist (name names) |
| 449 | (apply 'eldoc-remove-command | 428 | (apply 'eldoc-remove-command |
| 450 | (all-completions (car names) eldoc-message-commands)) | 429 | (all-completions name eldoc-message-commands)))) |
| 451 | (setq names (cdr names)))) | ||
| 452 | 430 | ||
| 453 | 431 | ||
| 454 | ;; Prime the command list. | 432 | ;; Prime the command list. |
| 455 | (eldoc-add-command-completions | 433 | (eldoc-add-command-completions |
| 456 | "backward-" "beginning-of-" "delete-other-windows" "delete-window" | 434 | "backward-" "beginning-of-" "move-beginning-of-" "delete-other-windows" |
| 457 | "end-of-" "exchange-point-and-mark" "forward-" | 435 | "delete-window" |
| 436 | "end-of-" "move-end-of-" "exchange-point-and-mark" "forward-" | ||
| 458 | "indent-for-tab-command" "goto-" "mark-page" "mark-paragraph" | 437 | "indent-for-tab-command" "goto-" "mark-page" "mark-paragraph" |
| 459 | "mouse-set-point" "move-" "pop-global-mark" "next-" "other-window" | 438 | "mouse-set-point" "move-" "pop-global-mark" "next-" "other-window" |
| 460 | "previous-" "recenter" "scroll-" "self-insert-command" | 439 | "previous-" "recenter" "scroll-" "self-insert-command" |
| @@ -462,5 +441,5 @@ Emacs Lisp mode) that support Eldoc.") | |||
| 462 | 441 | ||
| 463 | (provide 'eldoc) | 442 | (provide 'eldoc) |
| 464 | 443 | ||
| 465 | ;;; arch-tag: c9a58f9d-2055-46c1-9b82-7248b71a8375 | 444 | ;; arch-tag: c9a58f9d-2055-46c1-9b82-7248b71a8375 |
| 466 | ;;; eldoc.el ends here | 445 | ;;; eldoc.el ends here |
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index e50d5bd125c..c93eb0e62c4 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el | |||
| @@ -59,9 +59,9 @@ | |||
| 59 | (modify-syntax-entry ?\t " " table) | 59 | (modify-syntax-entry ?\t " " table) |
| 60 | (modify-syntax-entry ?\f " " table) | 60 | (modify-syntax-entry ?\f " " table) |
| 61 | (modify-syntax-entry ?\n "> " table) | 61 | (modify-syntax-entry ?\n "> " table) |
| 62 | ;;; This is probably obsolete since nowadays such features use overlays. | 62 | ;; This is probably obsolete since nowadays such features use overlays. |
| 63 | ;;; ;; Give CR the same syntax as newline, for selective-display. | 63 | ;; ;; Give CR the same syntax as newline, for selective-display. |
| 64 | ;;; (modify-syntax-entry ?\^m "> " table) | 64 | ;; (modify-syntax-entry ?\^m "> " table) |
| 65 | (modify-syntax-entry ?\; "< " table) | 65 | (modify-syntax-entry ?\; "< " table) |
| 66 | (modify-syntax-entry ?` "' " table) | 66 | (modify-syntax-entry ?` "' " table) |
| 67 | (modify-syntax-entry ?' "' " table) | 67 | (modify-syntax-entry ?' "' " table) |
| @@ -82,8 +82,8 @@ | |||
| 82 | (let ((table (copy-syntax-table emacs-lisp-mode-syntax-table))) | 82 | (let ((table (copy-syntax-table emacs-lisp-mode-syntax-table))) |
| 83 | (modify-syntax-entry ?\[ "_ " table) | 83 | (modify-syntax-entry ?\[ "_ " table) |
| 84 | (modify-syntax-entry ?\] "_ " table) | 84 | (modify-syntax-entry ?\] "_ " table) |
| 85 | (modify-syntax-entry ?# "' 14bn" table) | 85 | (modify-syntax-entry ?# "' 14b" table) |
| 86 | (modify-syntax-entry ?| "\" 23b" table) | 86 | (modify-syntax-entry ?| "\" 23bn" table) |
| 87 | table)) | 87 | table)) |
| 88 | 88 | ||
| 89 | (define-abbrev-table 'lisp-mode-abbrev-table ()) | 89 | (define-abbrev-table 'lisp-mode-abbrev-table ()) |
| @@ -147,25 +147,45 @@ | |||
| 147 | (put 'define-ibuffer-filter 'doc-string-elt 2) | 147 | (put 'define-ibuffer-filter 'doc-string-elt 2) |
| 148 | (put 'define-ibuffer-op 'doc-string-elt 3) | 148 | (put 'define-ibuffer-op 'doc-string-elt 3) |
| 149 | (put 'define-ibuffer-sorter 'doc-string-elt 2) | 149 | (put 'define-ibuffer-sorter 'doc-string-elt 2) |
| 150 | (put 'lambda 'doc-string-elt 2) | ||
| 151 | |||
| 152 | (defvar lisp-doc-string-elt-property 'doc-string-elt | ||
| 153 | "The symbol property that holds the docstring position info.") | ||
| 150 | 154 | ||
| 151 | (defun lisp-font-lock-syntactic-face-function (state) | 155 | (defun lisp-font-lock-syntactic-face-function (state) |
| 152 | (if (nth 3 state) | 156 | (if (nth 3 state) |
| 153 | (if (and (eq (nth 0 state) 1) | 157 | ;; This might be a (doc)string or a |...| symbol. |
| 154 | ;; This might be a docstring. | 158 | (let ((startpos (nth 8 state))) |
| 155 | (save-excursion | 159 | (if (eq (char-after startpos) ?|) |
| 156 | (let ((n 0)) | 160 | ;; This is not a string, but a |...| symbol. |
| 157 | (goto-char (nth 8 state)) | 161 | nil |
| 158 | (condition-case nil | 162 | (let* ((listbeg (nth 1 state)) |
| 159 | (while (and (not (bobp)) | 163 | (firstsym (and listbeg |
| 160 | (progn (backward-sexp 1) (setq n (1+ n))))) | 164 | (save-excursion |
| 161 | (scan-error nil)) | 165 | (goto-char listbeg) |
| 162 | (when (> n 0) | 166 | (and (looking-at "([ \t\n]*\\(\\(\\sw\\|\\s_\\)+\\)") |
| 163 | (let ((sym (intern-soft | 167 | (match-string 1))))) |
| 164 | (buffer-substring | 168 | (docelt (and firstsym (get (intern-soft firstsym) |
| 165 | (point) (progn (forward-sexp 1) (point)))))) | 169 | lisp-doc-string-elt-property)))) |
| 166 | (eq n (or (get sym 'doc-string-elt) 3))))))) | 170 | (if (and docelt |
| 167 | font-lock-doc-face | 171 | ;; It's a string in a form that can have a docstring. |
| 168 | font-lock-string-face) | 172 | ;; Check whether it's in docstring position. |
| 173 | (save-excursion | ||
| 174 | (when (functionp docelt) | ||
| 175 | (goto-char (match-end 1)) | ||
| 176 | (setq docelt (funcall docelt))) | ||
| 177 | (goto-char listbeg) | ||
| 178 | (forward-char 1) | ||
| 179 | (condition-case nil | ||
| 180 | (while (and (> docelt 0) (< (point) startpos) | ||
| 181 | (progn (forward-sexp 1) t)) | ||
| 182 | (setq docelt (1- docelt))) | ||
| 183 | (error nil)) | ||
| 184 | (and (zerop docelt) (<= (point) startpos) | ||
| 185 | (progn (forward-comment (point-max)) t) | ||
| 186 | (= (point) (nth 8 state))))) | ||
| 187 | font-lock-doc-face | ||
| 188 | font-lock-string-face)))) | ||
| 169 | font-lock-comment-face)) | 189 | font-lock-comment-face)) |
| 170 | 190 | ||
| 171 | ;; The LISP-SYNTAX argument is used by code in inf-lisp.el and is | 191 | ;; The LISP-SYNTAX argument is used by code in inf-lisp.el and is |
diff --git a/lisp/emulation/viper-cmd.el b/lisp/emulation/viper-cmd.el index 398c47d4784..08ebbbcc9d0 100644 --- a/lisp/emulation/viper-cmd.el +++ b/lisp/emulation/viper-cmd.el | |||
| @@ -494,13 +494,20 @@ | |||
| 494 | viper-empty-keymap)) | 494 | viper-empty-keymap)) |
| 495 | )) | 495 | )) |
| 496 | 496 | ||
| 497 | ;; in emacs with emulation-mode-map-alists, nothing needs to be done | 497 | ;; This var is not local in Emacs, so we make it local. It must be local |
| 498 | ;; because although the stack of minor modes can be the same for all buffers, | ||
| 499 | ;; the associated *keymaps* can be different. In Viper, | ||
| 500 | ;; viper-vi-local-user-map, viper-insert-local-user-map, and others can have | ||
| 501 | ;; different keymaps for different buffers. Also, the keymaps associated | ||
| 502 | ;; with viper-vi/insert-state-modifier-minor-mode can be different. | ||
| 503 | ;; ***This is needed only in case emulation-mode-map-alists is not defined. | ||
| 504 | ;; In emacs with emulation-mode-map-alists, nothing needs to be done | ||
| 498 | (unless | 505 | (unless |
| 499 | (and (fboundp 'add-to-ordered-list) (boundp 'emulation-mode-map-alists)) | 506 | (and (fboundp 'add-to-ordered-list) (boundp 'emulation-mode-map-alists)) |
| 500 | (setq minor-mode-map-alist | 507 | (set (make-local-variable 'minor-mode-map-alist) |
| 501 | (viper-append-filter-alist | 508 | (viper-append-filter-alist |
| 502 | (append viper--intercept-key-maps viper--key-maps) | 509 | (append viper--intercept-key-maps viper--key-maps) |
| 503 | minor-mode-map-alist))) | 510 | minor-mode-map-alist))) |
| 504 | ) | 511 | ) |
| 505 | 512 | ||
| 506 | 513 | ||
| @@ -509,7 +516,7 @@ | |||
| 509 | 516 | ||
| 510 | ;; Modifies mode-line-buffer-identification. | 517 | ;; Modifies mode-line-buffer-identification. |
| 511 | (defun viper-refresh-mode-line () | 518 | (defun viper-refresh-mode-line () |
| 512 | (setq viper-mode-string | 519 | (set (make-local-variable 'viper-mode-string) |
| 513 | (cond ((eq viper-current-state 'emacs-state) viper-emacs-state-id) | 520 | (cond ((eq viper-current-state 'emacs-state) viper-emacs-state-id) |
| 514 | ((eq viper-current-state 'vi-state) viper-vi-state-id) | 521 | ((eq viper-current-state 'vi-state) viper-vi-state-id) |
| 515 | ((eq viper-current-state 'replace-state) viper-replace-state-id) | 522 | ((eq viper-current-state 'replace-state) viper-replace-state-id) |
| @@ -4781,7 +4788,7 @@ sensitive for VI-style look-and-feel." | |||
| 4781 | level-changed t) | 4788 | level-changed t) |
| 4782 | (insert " | 4789 | (insert " |
| 4783 | Please specify your level of familiarity with the venomous VI PERil | 4790 | Please specify your level of familiarity with the venomous VI PERil |
| 4784 | (and the VI Plan for Emacs Rescue). | 4791 | \(and the VI Plan for Emacs Rescue). |
| 4785 | You can change it at any time by typing `M-x viper-set-expert-level RET' | 4792 | You can change it at any time by typing `M-x viper-set-expert-level RET' |
| 4786 | 4793 | ||
| 4787 | 1 -- BEGINNER: Almost all Emacs features are suppressed. | 4794 | 1 -- BEGINNER: Almost all Emacs features are suppressed. |
| @@ -5000,5 +5007,5 @@ Mail anyway (y or n)? ") | |||
| 5000 | 5007 | ||
| 5001 | 5008 | ||
| 5002 | 5009 | ||
| 5003 | ;;; arch-tag: 739a6450-5fda-44d0-88b0-325053d888c2 | 5010 | ;; arch-tag: 739a6450-5fda-44d0-88b0-325053d888c2 |
| 5004 | ;;; viper-cmd.el ends here | 5011 | ;;; viper-cmd.el ends here |
diff --git a/lisp/emulation/viper-init.el b/lisp/emulation/viper-init.el index 8aa7e4649d4..33713e8a869 100644 --- a/lisp/emulation/viper-init.el +++ b/lisp/emulation/viper-init.el | |||
| @@ -115,11 +115,6 @@ In all likelihood, you don't need to bother with this setting." | |||
| 115 | 115 | ||
| 116 | ;;; Macros | 116 | ;;; Macros |
| 117 | 117 | ||
| 118 | ;; Fool the compiler to avoid warnings. | ||
| 119 | ;; Viper calls make-variable-buffer-local from within other functions, which | ||
| 120 | ;; triggers compiler warnings. | ||
| 121 | (defalias 'viper-make-variable-buffer-local 'make-variable-buffer-local) | ||
| 122 | |||
| 123 | (defmacro viper-deflocalvar (var default-value &optional documentation) | 118 | (defmacro viper-deflocalvar (var default-value &optional documentation) |
| 124 | `(progn | 119 | `(progn |
| 125 | (defvar ,var ,default-value | 120 | (defvar ,var ,default-value |
| @@ -1019,19 +1014,19 @@ Should be set in `~/.viper' file." | |||
| 1019 | (defun viper-restore-cursor-type () | 1014 | (defun viper-restore-cursor-type () |
| 1020 | (condition-case nil | 1015 | (condition-case nil |
| 1021 | (if viper-xemacs-p | 1016 | (if viper-xemacs-p |
| 1022 | (setq bar-cursor nil) | 1017 | (set (make-local-variable 'bar-cursor) nil) |
| 1023 | (setq cursor-type default-cursor-type)) | 1018 | (setq cursor-type default-cursor-type)) |
| 1024 | (error nil))) | 1019 | (error nil))) |
| 1025 | 1020 | ||
| 1026 | (defun viper-set-insert-cursor-type () | 1021 | (defun viper-set-insert-cursor-type () |
| 1027 | (if viper-xemacs-p | 1022 | (if viper-xemacs-p |
| 1028 | (setq bar-cursor 2) | 1023 | (set (make-local-variable 'bar-cursor) 2) |
| 1029 | (setq cursor-type '(bar . 2)))) | 1024 | (setq cursor-type '(bar . 2)))) |
| 1030 | 1025 | ||
| 1031 | 1026 | ||
| 1032 | ;;; Local Variables: | 1027 | ;; Local Variables: |
| 1033 | ;;; eval: (put 'viper-deflocalvar 'lisp-indent-hook 'defun) | 1028 | ;; eval: (put 'viper-deflocalvar 'lisp-indent-hook 'defun) |
| 1034 | ;;; End: | 1029 | ;; End: |
| 1035 | 1030 | ||
| 1036 | ;;; arch-tag: 4efa2416-1fcb-4690-be10-1a2a0248d250 | 1031 | ;; arch-tag: 4efa2416-1fcb-4690-be10-1a2a0248d250 |
| 1037 | ;;; viper-init.el ends here | 1032 | ;;; viper-init.el ends here |
diff --git a/lisp/emulation/viper.el b/lisp/emulation/viper.el index b3fd6d139c0..a361469382e 100644 --- a/lisp/emulation/viper.el +++ b/lisp/emulation/viper.el | |||
| @@ -9,7 +9,7 @@ | |||
| 9 | ;; Author: Michael Kifer <kifer@cs.stonybrook.edu> | 9 | ;; Author: Michael Kifer <kifer@cs.stonybrook.edu> |
| 10 | ;; Keywords: emulations | 10 | ;; Keywords: emulations |
| 11 | 11 | ||
| 12 | (defconst viper-version "3.11.5 of September 19, 2005" | 12 | (defconst viper-version "3.11.5 of October 5, 2005" |
| 13 | "The current version of Viper") | 13 | "The current version of Viper") |
| 14 | 14 | ||
| 15 | ;; This file is part of GNU Emacs. | 15 | ;; This file is part of GNU Emacs. |
| @@ -605,8 +605,6 @@ This startup message appears whenever you load Viper, unless you type `y' now." | |||
| 605 | )) | 605 | )) |
| 606 | (viper-set-expert-level 'dont-change-unless))) | 606 | (viper-set-expert-level 'dont-change-unless))) |
| 607 | 607 | ||
| 608 | (if viper-xemacs-p | ||
| 609 | (viper-make-variable-buffer-local 'bar-cursor)) | ||
| 610 | (if (eq major-mode 'viper-mode) | 608 | (if (eq major-mode 'viper-mode) |
| 611 | (setq major-mode 'fundamental-mode)) | 609 | (setq major-mode 'fundamental-mode)) |
| 612 | 610 | ||
| @@ -627,8 +625,8 @@ This startup message appears whenever you load Viper, unless you type `y' now." | |||
| 627 | 625 | ||
| 628 | ;; This hook designed to enable Vi-style editing in comint-based modes." | 626 | ;; This hook designed to enable Vi-style editing in comint-based modes." |
| 629 | (defun viper-comint-mode-hook () | 627 | (defun viper-comint-mode-hook () |
| 630 | (setq require-final-newline nil | 628 | (set (make-local-variable 'require-final-newline) nil) |
| 631 | viper-ex-style-editing nil | 629 | (setq viper-ex-style-editing nil |
| 632 | viper-ex-style-motion nil) | 630 | viper-ex-style-motion nil) |
| 633 | (viper-change-state-to-insert)) | 631 | (viper-change-state-to-insert)) |
| 634 | 632 | ||
| @@ -1000,17 +998,6 @@ It also can't undo some Viper settings." | |||
| 1000 | ;; these are primarily advices and Vi-ish variable settings | 998 | ;; these are primarily advices and Vi-ish variable settings |
| 1001 | (defun viper-non-hook-settings () | 999 | (defun viper-non-hook-settings () |
| 1002 | 1000 | ||
| 1003 | ;; This var is not local in Emacs, so we make it local. It must be local | ||
| 1004 | ;; because although the stack of minor modes can be the same for all buffers, | ||
| 1005 | ;; the associated *keymaps* can be different. In Viper, | ||
| 1006 | ;; viper-vi-local-user-map, viper-insert-local-user-map, and others can have | ||
| 1007 | ;; different keymaps for different buffers. Also, the keymaps associated | ||
| 1008 | ;; with viper-vi/insert-state-modifier-minor-mode can be different. | ||
| 1009 | ;; ***This is needed only in case emulation-mode-map-alists is not defined | ||
| 1010 | (unless | ||
| 1011 | (and (fboundp 'add-to-ordered-list) (boundp 'emulation-mode-map-alists)) | ||
| 1012 | (viper-make-variable-buffer-local 'minor-mode-map-alist)) | ||
| 1013 | |||
| 1014 | ;; Viper changes the default mode-line-buffer-identification | 1001 | ;; Viper changes the default mode-line-buffer-identification |
| 1015 | (setq-default mode-line-buffer-identification '(" %b")) | 1002 | (setq-default mode-line-buffer-identification '(" %b")) |
| 1016 | 1003 | ||
| @@ -1018,8 +1005,6 @@ It also can't undo some Viper settings." | |||
| 1018 | (setq next-line-add-newlines nil | 1005 | (setq next-line-add-newlines nil |
| 1019 | require-final-newline t) | 1006 | require-final-newline t) |
| 1020 | 1007 | ||
| 1021 | (viper-make-variable-buffer-local 'require-final-newline) | ||
| 1022 | |||
| 1023 | ;; don't bark when mark is inactive | 1008 | ;; don't bark when mark is inactive |
| 1024 | (if viper-emacs-p | 1009 | (if viper-emacs-p |
| 1025 | (setq mark-even-if-inactive t)) | 1010 | (setq mark-even-if-inactive t)) |
| @@ -1027,7 +1012,6 @@ It also can't undo some Viper settings." | |||
| 1027 | (setq scroll-step 1) | 1012 | (setq scroll-step 1) |
| 1028 | 1013 | ||
| 1029 | ;; Variable displaying the current Viper state in the mode line. | 1014 | ;; Variable displaying the current Viper state in the mode line. |
| 1030 | (viper-deflocalvar viper-mode-string viper-emacs-state-id) | ||
| 1031 | (or (memq 'viper-mode-string global-mode-string) | 1015 | (or (memq 'viper-mode-string global-mode-string) |
| 1032 | (setq global-mode-string | 1016 | (setq global-mode-string |
| 1033 | (append '("" viper-mode-string) (cdr global-mode-string)))) | 1017 | (append '("" viper-mode-string) (cdr global-mode-string)))) |
| @@ -1336,9 +1320,9 @@ These two lines must come in the order given. | |||
| 1336 | (provide 'viper) | 1320 | (provide 'viper) |
| 1337 | 1321 | ||
| 1338 | 1322 | ||
| 1339 | ;;; Local Variables: | 1323 | ;; Local Variables: |
| 1340 | ;;; eval: (put 'viper-deflocalvar 'lisp-indent-hook 'defun) | 1324 | ;; eval: (put 'viper-deflocalvar 'lisp-indent-hook 'defun) |
| 1341 | ;;; End: | 1325 | ;; End: |
| 1342 | 1326 | ||
| 1343 | ;;; arch-tag: 5f3e844c-c4e6-4bbd-9b73-63bdc14e7d79 | 1327 | ;; arch-tag: 5f3e844c-c4e6-4bbd-9b73-63bdc14e7d79 |
| 1344 | ;;; viper.el ends here | 1328 | ;;; viper.el ends here |
diff --git a/lisp/ezimage.el b/lisp/ezimage.el new file mode 100644 index 00000000000..dd3a1944306 --- /dev/null +++ b/lisp/ezimage.el | |||
| @@ -0,0 +1,371 @@ | |||
| 1 | ;;; ezimage --- Generalized Image management | ||
| 2 | |||
| 3 | ;;; Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation | ||
| 4 | |||
| 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> | ||
| 6 | ;; Keywords: file, tags, tools | ||
| 7 | |||
| 8 | ;; This file is part of GNU Emacs. | ||
| 9 | |||
| 10 | ;; GNU Emacs is free software; you can redistribute it and/or modify | ||
| 11 | ;; it under the terms of the GNU General Public License as published by | ||
| 12 | ;; the Free Software Foundation; either version 2, or (at your option) | ||
| 13 | ;; any later version. | ||
| 14 | |||
| 15 | ;; GNU Emacs is distributed in the hope that it will be useful, | ||
| 16 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 17 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 18 | ;; GNU General Public License for more details. | ||
| 19 | |||
| 20 | ;; You should have received a copy of the GNU General Public License | ||
| 21 | ;; along with GNU Emacs; see the file COPYING. If not, write to the | ||
| 22 | ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 23 | ;; Boston, MA 02110-1301, USA. | ||
| 24 | |||
| 25 | ;;; Commentary: | ||
| 26 | ;; | ||
| 27 | ;; A few routines for placing an image over text that will work for any | ||
| 28 | ;; Emacs implementation without error. When images are not supported, then | ||
| 29 | ;; they are justnot displayed. | ||
| 30 | ;; | ||
| 31 | ;; The idea is that gui buffers (trees, buttons, etc) will have text | ||
| 32 | ;; representations of the GUI elements. These routines will replace the text | ||
| 33 | ;; with an image when images are available. | ||
| 34 | ;; | ||
| 35 | ;; This file requires the `image' package if it is available. | ||
| 36 | |||
| 37 | (condition-case nil | ||
| 38 | (require 'image) | ||
| 39 | (error nil)) | ||
| 40 | |||
| 41 | ;;; Code: | ||
| 42 | (defcustom ezimage-use-images | ||
| 43 | (and (or (fboundp 'defimage) ; emacs 21 | ||
| 44 | (fboundp 'make-image-specifier)) ; xemacs | ||
| 45 | (if (fboundp 'display-graphic-p) ; emacs 21 | ||
| 46 | (display-graphic-p) | ||
| 47 | window-system) ; old emacs & xemacs | ||
| 48 | (or (not (fboundp 'image-type-available-p)) ; xemacs? | ||
| 49 | (image-type-available-p 'xpm))) ; emacs 21 | ||
| 50 | "*Non-nil if ezimage should display icons." | ||
| 51 | :group 'ezimage | ||
| 52 | :version "21.1" | ||
| 53 | :type 'boolean) | ||
| 54 | |||
| 55 | ;;; Create our own version of defimage | ||
| 56 | (eval-and-compile | ||
| 57 | |||
| 58 | (if (fboundp 'defimage) | ||
| 59 | |||
| 60 | (progn | ||
| 61 | |||
| 62 | (defmacro defezimage (variable imagespec docstring) | ||
| 63 | "Define VARIABLE as an image if `defimage' is not available. | ||
| 64 | IMAGESPEC is the image data, and DOCSTRING is documentation for the image." | ||
| 65 | `(progn | ||
| 66 | (defimage ,variable ,imagespec ,docstring) | ||
| 67 | (put (quote ,variable) 'ezimage t))) | ||
| 68 | |||
| 69 | ; (defalias 'defezimage 'defimage) | ||
| 70 | |||
| 71 | ;; This hack is for the ezimage install which has an icons direcory for | ||
| 72 | ;; the default icons to be used. | ||
| 73 | ;; (add-to-list 'load-path | ||
| 74 | ;; (concat (file-name-directory | ||
| 75 | ;; (locate-library "ezimage.el")) | ||
| 76 | ;; "icons")) | ||
| 77 | |||
| 78 | ) | ||
| 79 | (if (not (fboundp 'make-glyph)) | ||
| 80 | |||
| 81 | (defmacro defezimage (variable imagespec docstring) | ||
| 82 | "Don't bother loading up an image... | ||
| 83 | Argument VARIABLE is the variable to define. | ||
| 84 | Argument IMAGESPEC is the list defining the image to create. | ||
| 85 | Argument DOCSTRING is the documentation for VARIABLE." | ||
| 86 | `(defvar ,variable nil ,docstring)) | ||
| 87 | |||
| 88 | ;; ELSE | ||
| 89 | (with-no-warnings | ||
| 90 | (defun ezimage-find-image-on-load-path (image) | ||
| 91 | "Find the image file IMAGE on the load path." | ||
| 92 | (let ((l (cons | ||
| 93 | ;; In XEmacs, try the data directory first (for an | ||
| 94 | ;; install in XEmacs proper.) Search the load | ||
| 95 | ;; path next (for user installs) | ||
| 96 | (locate-data-directory "ezimage") | ||
| 97 | load-path)) | ||
| 98 | (r nil)) | ||
| 99 | (while (and l (not r)) | ||
| 100 | (if (file-exists-p (concat (car l) "/" image)) | ||
| 101 | (setq r (concat (car l) "/" image)) | ||
| 102 | (if (file-exists-p (concat (car l) "/icons/" image)) | ||
| 103 | (setq r (concat (car l) "/icons/" image)) | ||
| 104 | )) | ||
| 105 | (setq l (cdr l))) | ||
| 106 | r)) | ||
| 107 | );with-no-warnings | ||
| 108 | |||
| 109 | (with-no-warnings | ||
| 110 | (defun ezimage-convert-emacs21-imagespec-to-xemacs (spec) | ||
| 111 | "Convert the Emacs21 image SPEC into an XEmacs image spec. | ||
| 112 | The Emacs 21 spec is what I first learned, and is easy to convert." | ||
| 113 | (let* ((sl (car spec)) | ||
| 114 | (itype (nth 1 sl)) | ||
| 115 | (ifile (nth 3 sl))) | ||
| 116 | (vector itype ':file (ezimage-find-image-on-load-path ifile)))) | ||
| 117 | );with-no-warnings | ||
| 118 | |||
| 119 | (defmacro defezimage (variable imagespec docstring) | ||
| 120 | "Define VARIABLE as an image if `defimage' is not available. | ||
| 121 | IMAGESPEC is the image data, and DOCSTRING is documentation for the image." | ||
| 122 | `(progn | ||
| 123 | (defvar ,variable | ||
| 124 | ;; The Emacs21 version of defimage looks just like the XEmacs image | ||
| 125 | ;; specifier, except that it needs a :type keyword. If we line | ||
| 126 | ;; stuff up right, we can use this cheat to support XEmacs specifiers. | ||
| 127 | (condition-case nil | ||
| 128 | (make-glyph | ||
| 129 | (make-image-specifier | ||
| 130 | (ezimage-convert-emacs21-imagespec-to-xemacs (quote ,imagespec))) | ||
| 131 | 'buffer) | ||
| 132 | (error nil)) | ||
| 133 | ,docstring) | ||
| 134 | (put ',variable 'ezimage t))) | ||
| 135 | |||
| 136 | ))) | ||
| 137 | |||
| 138 | (defezimage ezimage-directory | ||
| 139 | ((:type xpm :file "ezimage/dir.xpm" :ascent center)) | ||
| 140 | "Image used for empty directories.") | ||
| 141 | |||
| 142 | (defezimage ezimage-directory-plus | ||
| 143 | ((:type xpm :file "ezimage/dir-plus.xpm" :ascent center)) | ||
| 144 | "Image used for closed directories with stuff in them.") | ||
| 145 | |||
| 146 | (defezimage ezimage-directory-minus | ||
| 147 | ((:type xpm :file "ezimage/dir-minus.xpm" :ascent center)) | ||
| 148 | "Image used for open directories with stuff in them.") | ||
| 149 | |||
| 150 | (defezimage ezimage-page-plus | ||
| 151 | ((:type xpm :file "ezimage/page-plus.xpm" :ascent center)) | ||
| 152 | "Image used for closed files with stuff in them.") | ||
| 153 | |||
| 154 | (defezimage ezimage-page-minus | ||
| 155 | ((:type xpm :file "ezimage/page-minus.xpm" :ascent center)) | ||
| 156 | "Image used for open files with stuff in them.") | ||
| 157 | |||
| 158 | (defezimage ezimage-page | ||
| 159 | ((:type xpm :file "ezimage/page.xpm" :ascent center)) | ||
| 160 | "Image used for files with nothing interesting in it.") | ||
| 161 | |||
| 162 | (defezimage ezimage-tag | ||
| 163 | ((:type xpm :file "ezimage/tag.xpm" :ascent center)) | ||
| 164 | "Image used for tags.") | ||
| 165 | |||
| 166 | (defezimage ezimage-tag-plus | ||
| 167 | ((:type xpm :file "ezimage/tag-plus.xpm" :ascent center)) | ||
| 168 | "Image used for closed tag groups.") | ||
| 169 | |||
| 170 | (defezimage ezimage-tag-minus | ||
| 171 | ((:type xpm :file "ezimage/tag-minus.xpm" :ascent center)) | ||
| 172 | "Image used for open tags.") | ||
| 173 | |||
| 174 | (defezimage ezimage-tag-gt | ||
| 175 | ((:type xpm :file "ezimage/tag-gt.xpm" :ascent center)) | ||
| 176 | "Image used for closed tags (with twist arrow).") | ||
| 177 | |||
| 178 | (defezimage ezimage-tag-v | ||
| 179 | ((:type xpm :file "ezimage/tag-v.xpm" :ascent center)) | ||
| 180 | "Image used for open tags (with twist arrow).") | ||
| 181 | |||
| 182 | (defezimage ezimage-tag-type | ||
| 183 | ((:type xpm :file "ezimage/tag-type.xpm" :ascent center)) | ||
| 184 | "Image used for tags that represent a data type.") | ||
| 185 | |||
| 186 | (defezimage ezimage-box-plus | ||
| 187 | ((:type xpm :file "ezimage/box-plus.xpm" :ascent center)) | ||
| 188 | "Image of a closed box.") | ||
| 189 | |||
| 190 | (defezimage ezimage-box-minus | ||
| 191 | ((:type xpm :file "ezimage/box-minus.xpm" :ascent center)) | ||
| 192 | "Image of an open box.") | ||
| 193 | |||
| 194 | (defezimage ezimage-mail | ||
| 195 | ((:type xpm :file "ezimage/mail.xpm" :ascent center)) | ||
| 196 | "Image if an envelope.") | ||
| 197 | |||
| 198 | (defezimage ezimage-checkout | ||
| 199 | ((:type xpm :file "ezimage/checkmark.xpm" :ascent center)) | ||
| 200 | "Image representing a checkmark. For files checked out of a VC.") | ||
| 201 | |||
| 202 | (defezimage ezimage-object | ||
| 203 | ((:type xpm :file "ezimage/bits.xpm" :ascent center)) | ||
| 204 | "Image representing bits (an object file.)") | ||
| 205 | |||
| 206 | (defezimage ezimage-object-out-of-date | ||
| 207 | ((:type xpm :file "ezimage/bitsbang.xpm" :ascent center)) | ||
| 208 | "Image representing bits with a ! in it. (an out of data object file.)") | ||
| 209 | |||
| 210 | (defezimage ezimage-label | ||
| 211 | ((:type xpm :file "ezimage/label.xpm" :ascent center)) | ||
| 212 | "Image used for label prefix.") | ||
| 213 | |||
| 214 | (defezimage ezimage-lock | ||
| 215 | ((:type xpm :file "ezimage/lock.xpm" :ascent center)) | ||
| 216 | "Image of a lock. Used for Read Only, or private.") | ||
| 217 | |||
| 218 | (defezimage ezimage-unlock | ||
| 219 | ((:type xpm :file "ezimage/unlock.xpm" :ascent center)) | ||
| 220 | "Image of an unlocked lock.") | ||
| 221 | |||
| 222 | (defezimage ezimage-key | ||
| 223 | ((:type xpm :file "ezimage/key.xpm" :ascent center)) | ||
| 224 | "Image of a key.") | ||
| 225 | |||
| 226 | (defezimage ezimage-document-tag | ||
| 227 | ((:type xpm :file "ezimage/doc.xpm" :ascent center)) | ||
| 228 | "Image used to indicate documentation available.") | ||
| 229 | |||
| 230 | (defezimage ezimage-document-plus | ||
| 231 | ((:type xpm :file "ezimage/doc-plus.xpm" :ascent center)) | ||
| 232 | "Image used to indicate closed documentation.") | ||
| 233 | |||
| 234 | (defezimage ezimage-document-minus | ||
| 235 | ((:type xpm :file "ezimage/doc-minus.xpm" :ascent center)) | ||
| 236 | "Image used to indicate open documentation.") | ||
| 237 | |||
| 238 | (defezimage ezimage-info-tag | ||
| 239 | ((:type xpm :file "ezimage/info.xpm" :ascent center)) | ||
| 240 | "Image used to indicate more information available.") | ||
| 241 | |||
| 242 | (defvar ezimage-expand-image-button-alist | ||
| 243 | '( | ||
| 244 | ;; here are some standard representations | ||
| 245 | ("<+>" . ezimage-directory-plus) | ||
| 246 | ("<->" . ezimage-directory-minus) | ||
| 247 | ("< >" . ezimage-directory) | ||
| 248 | ("[+]" . ezimage-page-plus) | ||
| 249 | ("[-]" . ezimage-page-minus) | ||
| 250 | ("[?]" . ezimage-page) | ||
| 251 | ("[ ]" . ezimage-page) | ||
| 252 | ("{+}" . ezimage-box-plus) | ||
| 253 | ("{-}" . ezimage-box-minus) | ||
| 254 | ;; Some vaguely representitive entries | ||
| 255 | ("*" . ezimage-checkout) | ||
| 256 | ("#" . ezimage-object) | ||
| 257 | ("!" . ezimage-object-out-of-date) | ||
| 258 | ("%" . ezimage-lock) | ||
| 259 | ) | ||
| 260 | "List of text and image associations.") | ||
| 261 | |||
| 262 | (defun ezimage-insert-image-button-maybe (start length &optional string) | ||
| 263 | "Insert an image button based on text starting at START for LENGTH chars. | ||
| 264 | If buttontext is unknown, just insert that text. | ||
| 265 | If we have an image associated with it, use that image. | ||
| 266 | Optional argument STRING is a st ring upon which to add text properties." | ||
| 267 | (when ezimage-use-images | ||
| 268 | (let* ((bt (buffer-substring start (+ length start))) | ||
| 269 | (a (assoc bt ezimage-expand-image-button-alist))) | ||
| 270 | ;; Regular images (created with `insert-image' are intangible | ||
| 271 | ;; which (I suppose) make them more compatible with XEmacs 21. | ||
| 272 | ;; Unfortunatly, there is a giant pile o code dependent on the | ||
| 273 | ;; underlying text. This means if we leave it tangible, then I | ||
| 274 | ;; don't have to change said giant piles o code. | ||
| 275 | (if (and a (symbol-value (cdr a))) | ||
| 276 | (ezimage-insert-over-text (symbol-value (cdr a)) | ||
| 277 | start | ||
| 278 | (+ start (length bt)))))) | ||
| 279 | string) | ||
| 280 | |||
| 281 | (defun ezimage-image-over-string (string &optional alist) | ||
| 282 | "Insert over the text in STRING an image found in ALIST. | ||
| 283 | Return STRING with properties applied." | ||
| 284 | (if ezimage-use-images | ||
| 285 | (let ((a (assoc string alist))) | ||
| 286 | (if (and a (symbol-value (cdr a))) | ||
| 287 | (ezimage-insert-over-text (symbol-value (cdr a)) | ||
| 288 | 0 (length string) | ||
| 289 | string) | ||
| 290 | string)) | ||
| 291 | string)) | ||
| 292 | |||
| 293 | (defun ezimage-insert-over-text (image start end &optional string) | ||
| 294 | "Place IMAGE over the text between START and END. | ||
| 295 | Assumes the image is part of a gui and can be clicked on. | ||
| 296 | Optional argument STRING is a string upon which to add text properties." | ||
| 297 | (when ezimage-use-images | ||
| 298 | (if (featurep 'xemacs) | ||
| 299 | (add-text-properties start end | ||
| 300 | (list 'end-glyph image | ||
| 301 | 'rear-nonsticky (list 'display) | ||
| 302 | 'invisible t | ||
| 303 | 'detachable t) | ||
| 304 | string) | ||
| 305 | (add-text-properties start end | ||
| 306 | (list 'display image | ||
| 307 | 'rear-nonsticky (list 'display)) | ||
| 308 | string))) | ||
| 309 | string) | ||
| 310 | |||
| 311 | (defun ezimage-image-association-dump () | ||
| 312 | "Dump out the current state of the Ezimage image alist. | ||
| 313 | See `ezimage-expand-image-button-alist' for details." | ||
| 314 | (interactive) | ||
| 315 | (with-output-to-temp-buffer "*Ezimage Images*" | ||
| 316 | (save-excursion | ||
| 317 | (set-buffer "*Ezimage Images*") | ||
| 318 | (goto-char (point-max)) | ||
| 319 | (insert "Ezimage image cache.\n\n") | ||
| 320 | (let ((start (point)) (end nil)) | ||
| 321 | (insert "Image\tText\tImage Name") | ||
| 322 | (setq end (point)) | ||
| 323 | (insert "\n") | ||
| 324 | (put-text-property start end 'face 'underline)) | ||
| 325 | (let ((ia ezimage-expand-image-button-alist)) | ||
| 326 | (while ia | ||
| 327 | (let ((start (point))) | ||
| 328 | (insert (car (car ia))) | ||
| 329 | (insert "\t") | ||
| 330 | (ezimage-insert-image-button-maybe start | ||
| 331 | (length (car (car ia)))) | ||
| 332 | (insert (car (car ia)) "\t" (format "%s" (cdr (car ia))) "\n")) | ||
| 333 | (setq ia (cdr ia))))))) | ||
| 334 | |||
| 335 | (defun ezimage-image-dump () | ||
| 336 | "Dump out the current state of the Ezimage image alist. | ||
| 337 | See `ezimage-expand-image-button-alist' for details." | ||
| 338 | (interactive) | ||
| 339 | (with-output-to-temp-buffer "*Ezimage Images*" | ||
| 340 | (save-excursion | ||
| 341 | (set-buffer "*Ezimage Images*") | ||
| 342 | (goto-char (point-max)) | ||
| 343 | (insert "Ezimage image cache.\n\n") | ||
| 344 | (let ((start (point)) (end nil)) | ||
| 345 | (insert "Image\tImage Name") | ||
| 346 | (setq end (point)) | ||
| 347 | (insert "\n") | ||
| 348 | (put-text-property start end 'face 'underline)) | ||
| 349 | (let ((ia (ezimage-all-images))) | ||
| 350 | (while ia | ||
| 351 | (let ((start (point))) | ||
| 352 | (insert "cm") | ||
| 353 | (ezimage-insert-over-text (symbol-value (car ia)) start (point)) | ||
| 354 | (insert "\t" (format "%s" (car ia)) "\n")) | ||
| 355 | (setq ia (cdr ia))))))) | ||
| 356 | |||
| 357 | (defun ezimage-all-images () | ||
| 358 | "Return a list of all variables containing ez images." | ||
| 359 | (let ((ans nil)) | ||
| 360 | (mapatoms (lambda (sym) | ||
| 361 | (if (get sym 'ezimage) (setq ans (cons sym ans)))) | ||
| 362 | ) | ||
| 363 | (setq ans (sort ans (lambda (a b) | ||
| 364 | (string< (symbol-name a) (symbol-name b))))) | ||
| 365 | ans) | ||
| 366 | ) | ||
| 367 | |||
| 368 | (provide 'ezimage) | ||
| 369 | |||
| 370 | ;; arch-tag: d4ea2d93-3c7a-4cb3-b5a6-c1b9178183aa | ||
| 371 | ;;; sb-image.el ends here | ||
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 36963b5ce24..d013524a1c8 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,31 @@ | |||
| 1 | 2005-10-04 Reiner Steib <Reiner.Steib@gmx.de> | ||
| 2 | |||
| 3 | * mm-url.el (mm-url-predefined-programs): Add switches for curl. | ||
| 4 | |||
| 5 | * gnus-util.el (gnus-remove-duplicates): Remove. | ||
| 6 | |||
| 7 | * nnmail.el (nnmail-article-group): Use mm-delete-duplicates | ||
| 8 | instead of gnus-remove-duplicates. | ||
| 9 | |||
| 10 | * message.el (message-remove-duplicates): Remove. | ||
| 11 | (message-idna-to-ascii-rhs-1): Use mm-delete-duplicates instead of | ||
| 12 | message-remove-duplicates. | ||
| 13 | |||
| 14 | * mm-util.el (mm-delete-duplicates): Use `delete-dups' if | ||
| 15 | available, else use implementation from `delete-dups'. | ||
| 16 | |||
| 17 | 2005-10-02 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 18 | |||
| 19 | * time-date.el: Autoload parse-time-string, XEmacs needs it. | ||
| 20 | |||
| 21 | 2005-09-30 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 22 | |||
| 23 | * mm-decode.el (mm-inline-media-tests): Check presence of the diff-mode | ||
| 24 | function rather than the diff-mode.el package. | ||
| 25 | (mm-display-external): Use with-current-buffer. | ||
| 26 | (mm-viewer-completion-map, mm-viewer-completion-map): | ||
| 27 | Move initialization inside declaration. | ||
| 28 | |||
| 1 | 2005-09-28 Reiner Steib <Reiner.Steib@gmx.de> | 29 | 2005-09-28 Reiner Steib <Reiner.Steib@gmx.de> |
| 2 | 30 | ||
| 3 | * message.el: Remove useless autoloads. | 31 | * message.el: Remove useless autoloads. |
| @@ -16,10 +44,9 @@ | |||
| 16 | * mm-uu.el (mm-uu-emacs-sources-regexp): Make variable | 44 | * mm-uu.el (mm-uu-emacs-sources-regexp): Make variable |
| 17 | customizable. Change default value. | 45 | customizable. Change default value. |
| 18 | (mm-uu-diff-groups-regexp): Change default value. | 46 | (mm-uu-diff-groups-regexp): Change default value. |
| 19 | (mm-uu-type-alist): Added doc string. | 47 | (mm-uu-type-alist): Add doc string. |
| 20 | (mm-uu-configure): Added doc string. Make it interactive. | 48 | (mm-uu-configure): Add doc string. Make it interactive. |
| 21 | (mm-uu-diff-groups-regexp): Fix missing quotes from previous | 49 | (mm-uu-diff-groups-regexp): Fix missing quotes from previous commit. |
| 22 | commit. | ||
| 23 | 50 | ||
| 24 | 2005-09-27 Simon Josefsson <jas@extundo.com> | 51 | 2005-09-27 Simon Josefsson <jas@extundo.com> |
| 25 | 52 | ||
| @@ -75,8 +102,8 @@ | |||
| 75 | 102 | ||
| 76 | 2005-09-22 Reiner Steib <Reiner.Steib@gmx.de> | 103 | 2005-09-22 Reiner Steib <Reiner.Steib@gmx.de> |
| 77 | 104 | ||
| 78 | * spam-report.el (spam-report-url-ping-plain): Use | 105 | * spam-report.el (spam-report-url-ping-plain): |
| 79 | gnus-extended-version as User-Agent. | 106 | Use gnus-extended-version as User-Agent. |
| 80 | 107 | ||
| 81 | * gnus-agent.el (gnus-agent-synchronize-flags): Explain why the | 108 | * gnus-agent.el (gnus-agent-synchronize-flags): Explain why the |
| 82 | default value is nil. | 109 | default value is nil. |
| @@ -92,7 +119,7 @@ | |||
| 92 | 119 | ||
| 93 | * mm-url.el (mm-url-decode-entities): Fix regexp. | 120 | * mm-url.el (mm-url-decode-entities): Fix regexp. |
| 94 | 121 | ||
| 95 | 2005-09-18 D Goel <deego@gnufans.org> | 122 | 2005-09-18 Deepak Goel <deego@gnufans.org> |
| 96 | 123 | ||
| 97 | * sieve.el (sieve-help): Fix `message' call: first arg should be a | 124 | * sieve.el (sieve-help): Fix `message' call: first arg should be a |
| 98 | format spec. | 125 | format spec. |
| @@ -125,9 +152,9 @@ | |||
| 125 | 2005-09-07 Reiner Steib <Reiner.Steib@gmx.de> | 152 | 2005-09-07 Reiner Steib <Reiner.Steib@gmx.de> |
| 126 | 153 | ||
| 127 | * spam-report.el (spam-report-gmane): Make it work without | 154 | * spam-report.el (spam-report-gmane): Make it work without |
| 128 | X-Report-Spam header. Gmane now only provides Archived-At. This | 155 | X-Report-Spam header. Gmane now only provides Archived-At. |
| 129 | is only used if `spam-report-gmane-use-article-number' is nil. | 156 | This is only used if `spam-report-gmane-use-article-number' is nil. |
| 130 | (spam-report-gmane-spam-header): Removed. Not used anymore. | 157 | (spam-report-gmane-spam-header): Remove. Not used anymore. |
| 131 | 158 | ||
| 132 | * nnweb.el (nnweb-google-wash-article): Print a message if article | 159 | * nnweb.el (nnweb-google-wash-article): Print a message if article |
| 133 | is not available. | 160 | is not available. |
diff --git a/lisp/gnus/ChangeLog.2 b/lisp/gnus/ChangeLog.2 index f39bf525db8..50b978e7e75 100644 --- a/lisp/gnus/ChangeLog.2 +++ b/lisp/gnus/ChangeLog.2 | |||
| @@ -7390,7 +7390,7 @@ | |||
| 7390 | instead of mm-auto-save-coding-system for the draft or delayed | 7390 | instead of mm-auto-save-coding-system for the draft or delayed |
| 7391 | group. | 7391 | group. |
| 7392 | 7392 | ||
| 7393 | 2002-10-28 Josh <huber@alum.wpi.edu> | 7393 | 2002-10-28 Josh Huber <huber@alum.wpi.edu> |
| 7394 | 7394 | ||
| 7395 | * mml.el (mml-mode-map): Fixed keybindings for mml-secure-* | 7395 | * mml.el (mml-mode-map): Fixed keybindings for mml-secure-* |
| 7396 | functions. | 7396 | functions. |
diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el index 5556a815d2a..f7fb279f20f 100644 --- a/lisp/gnus/gnus-util.el +++ b/lisp/gnus/gnus-util.el | |||
| @@ -1037,14 +1037,6 @@ This function saves the current buffer." | |||
| 1037 | (set-buffer gnus-group-buffer) | 1037 | (set-buffer gnus-group-buffer) |
| 1038 | (eq major-mode 'gnus-group-mode)))) | 1038 | (eq major-mode 'gnus-group-mode)))) |
| 1039 | 1039 | ||
| 1040 | (defun gnus-remove-duplicates (list) | ||
| 1041 | (let (new) | ||
| 1042 | (while list | ||
| 1043 | (or (member (car list) new) | ||
| 1044 | (setq new (cons (car list) new))) | ||
| 1045 | (setq list (cdr list))) | ||
| 1046 | (nreverse new))) | ||
| 1047 | |||
| 1048 | (defun gnus-remove-if (predicate list) | 1040 | (defun gnus-remove-if (predicate list) |
| 1049 | "Return a copy of LIST with all items satisfying PREDICATE removed." | 1041 | "Return a copy of LIST with all items satisfying PREDICATE removed." |
| 1050 | (let (out) | 1042 | (let (out) |
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index 721988045cf..5ed670aced8 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el | |||
| @@ -2027,14 +2027,6 @@ With prefix-argument just set Follow-Up, don't cross-post." | |||
| 2027 | 2027 | ||
| 2028 | ;;; End of functions adopted from `message-utils.el'. | 2028 | ;;; End of functions adopted from `message-utils.el'. |
| 2029 | 2029 | ||
| 2030 | (defun message-remove-duplicates (list) | ||
| 2031 | (let (new) | ||
| 2032 | (while list | ||
| 2033 | (or (member (car list) new) | ||
| 2034 | (setq new (cons (car list) new))) | ||
| 2035 | (setq list (cdr list))) | ||
| 2036 | (nreverse new))) | ||
| 2037 | |||
| 2038 | (defun message-remove-header (header &optional is-regexp first reverse) | 2030 | (defun message-remove-header (header &optional is-regexp first reverse) |
| 2039 | "Remove HEADER in the narrowed buffer. | 2031 | "Remove HEADER in the narrowed buffer. |
| 2040 | If IS-REGEXP, HEADER is a regular expression. | 2032 | If IS-REGEXP, HEADER is a regular expression. |
| @@ -4963,7 +4955,7 @@ subscribed address (and not the additional To and Cc header contents)." | |||
| 4963 | rhs ace address) | 4955 | rhs ace address) |
| 4964 | (when field | 4956 | (when field |
| 4965 | (dolist (rhs | 4957 | (dolist (rhs |
| 4966 | (message-remove-duplicates | 4958 | (mm-delete-duplicates |
| 4967 | (mapcar (lambda (rhs) (or (cadr (split-string rhs "@")) "")) | 4959 | (mapcar (lambda (rhs) (or (cadr (split-string rhs "@")) "")) |
| 4968 | (mapcar 'downcase | 4960 | (mapcar 'downcase |
| 4969 | (mapcar | 4961 | (mapcar |
diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el index 76a66268586..9d0bbdfeb63 100644 --- a/lisp/gnus/mm-decode.el +++ b/lisp/gnus/mm-decode.el | |||
| @@ -222,7 +222,12 @@ before the external MIME handler is invoked." | |||
| 222 | ("text/richtext" mm-inline-text identity) | 222 | ("text/richtext" mm-inline-text identity) |
| 223 | ("text/x-patch" mm-display-patch-inline | 223 | ("text/x-patch" mm-display-patch-inline |
| 224 | (lambda (handle) | 224 | (lambda (handle) |
| 225 | (locate-library "diff-mode"))) | 225 | ;; If the diff-mode.el package is installed, the function is |
| 226 | ;; autoloaded. Checking (locate-library "diff-mode") would be trying | ||
| 227 | ;; to cater to broken installations. OTOH checking the function | ||
| 228 | ;; makes it possible to install another package which provides an | ||
| 229 | ;; alternative implementation of diff-mode. --Stef | ||
| 230 | (fboundp 'diff-mode))) | ||
| 226 | ("application/emacs-lisp" mm-display-elisp-inline identity) | 231 | ("application/emacs-lisp" mm-display-elisp-inline identity) |
| 227 | ("application/x-emacs-lisp" mm-display-elisp-inline identity) | 232 | ("application/x-emacs-lisp" mm-display-elisp-inline identity) |
| 228 | ("text/html" | 233 | ("text/html" |
| @@ -451,21 +456,19 @@ If not set, `default-directory' will be used." | |||
| 451 | (defvar mm-viewer-completion-map | 456 | (defvar mm-viewer-completion-map |
| 452 | (let ((map (make-sparse-keymap 'mm-viewer-completion-map))) | 457 | (let ((map (make-sparse-keymap 'mm-viewer-completion-map))) |
| 453 | (set-keymap-parent map minibuffer-local-completion-map) | 458 | (set-keymap-parent map minibuffer-local-completion-map) |
| 459 | ;; Should we bind other key to minibuffer-complete-word? | ||
| 460 | (define-key map " " 'self-insert-command) | ||
| 454 | map) | 461 | map) |
| 455 | "Keymap for input viewer with completion.") | 462 | "Keymap for input viewer with completion.") |
| 456 | 463 | ||
| 457 | ;; Should we bind other key to minibuffer-complete-word? | ||
| 458 | (define-key mm-viewer-completion-map " " 'self-insert-command) | ||
| 459 | |||
| 460 | (defvar mm-viewer-completion-map | 464 | (defvar mm-viewer-completion-map |
| 461 | (let ((map (make-sparse-keymap 'mm-viewer-completion-map))) | 465 | (let ((map (make-sparse-keymap 'mm-viewer-completion-map))) |
| 462 | (set-keymap-parent map minibuffer-local-completion-map) | 466 | (set-keymap-parent map minibuffer-local-completion-map) |
| 467 | ;; Should we bind other key to minibuffer-complete-word? | ||
| 468 | (define-key map " " 'self-insert-command) | ||
| 463 | map) | 469 | map) |
| 464 | "Keymap for input viewer with completion.") | 470 | "Keymap for input viewer with completion.") |
| 465 | 471 | ||
| 466 | ;; Should we bind other key to minibuffer-complete-word? | ||
| 467 | (define-key mm-viewer-completion-map " " 'self-insert-command) | ||
| 468 | |||
| 469 | ;;; The functions. | 472 | ;;; The functions. |
| 470 | 473 | ||
| 471 | (defun mm-alist-to-plist (alist) | 474 | (defun mm-alist-to-plist (alist) |
| @@ -564,7 +567,7 @@ Postpone undisplaying of viewers for types in | |||
| 564 | ;; what really needs to be done here is a way to link a | 567 | ;; what really needs to be done here is a way to link a |
| 565 | ;; MIME handle back to it's parent MIME handle (in a multilevel | 568 | ;; MIME handle back to it's parent MIME handle (in a multilevel |
| 566 | ;; MIME article). That would probably require changing | 569 | ;; MIME article). That would probably require changing |
| 567 | ;; the mm-handle API so we simply store the multipart buffert | 570 | ;; the mm-handle API so we simply store the multipart buffer |
| 568 | ;; name as a text property of the "multipart/whatever" string. | 571 | ;; name as a text property of the "multipart/whatever" string. |
| 569 | (add-text-properties 0 (length (car ctl)) | 572 | (add-text-properties 0 (length (car ctl)) |
| 570 | (list 'buffer (mm-copy-to-buffer) | 573 | (list 'buffer (mm-copy-to-buffer) |
| @@ -807,8 +810,7 @@ external if displayed external." | |||
| 807 | (mm-mailcap-command | 810 | (mm-mailcap-command |
| 808 | method file (mm-handle-type handle))) | 811 | method file (mm-handle-type handle))) |
| 809 | (if (buffer-live-p buffer) | 812 | (if (buffer-live-p buffer) |
| 810 | (save-excursion | 813 | (with-current-buffer buffer |
| 811 | (set-buffer buffer) | ||
| 812 | (buffer-string)))) | 814 | (buffer-string)))) |
| 813 | (progn | 815 | (progn |
| 814 | (ignore-errors (delete-file file)) | 816 | (ignore-errors (delete-file file)) |
diff --git a/lisp/gnus/mm-url.el b/lisp/gnus/mm-url.el index 4fd39e477f6..b24f9d4132a 100644 --- a/lisp/gnus/mm-url.el +++ b/lisp/gnus/mm-url.el | |||
| @@ -64,7 +64,7 @@ | |||
| 64 | '((wget "wget" "--user-agent=mm-url" "-q" "-O" "-") | 64 | '((wget "wget" "--user-agent=mm-url" "-q" "-O" "-") |
| 65 | (w3m "w3m" "-dump_source") | 65 | (w3m "w3m" "-dump_source") |
| 66 | (lynx "lynx" "-source") | 66 | (lynx "lynx" "-source") |
| 67 | (curl "curl" "--silent"))) | 67 | (curl "curl" "--silent" "--user-agent mm-url" "--location"))) |
| 68 | 68 | ||
| 69 | (defcustom mm-url-program | 69 | (defcustom mm-url-program |
| 70 | (cond | 70 | (cond |
diff --git a/lisp/gnus/mm-util.el b/lisp/gnus/mm-util.el index a40e147c026..ef050f3d621 100644 --- a/lisp/gnus/mm-util.el +++ b/lisp/gnus/mm-util.el | |||
| @@ -538,14 +538,21 @@ If the charset is `composition', return the actual one." | |||
| 538 | ;; This is for XEmacs. | 538 | ;; This is for XEmacs. |
| 539 | (mm-mule-charset-to-mime-charset charset))) | 539 | (mm-mule-charset-to-mime-charset charset))) |
| 540 | 540 | ||
| 541 | (defun mm-delete-duplicates (list) | 541 | (if (fboundp 'delete-dups) |
| 542 | "Simple substitute for CL `delete-duplicates', testing with `equal'." | 542 | (defalias 'mm-delete-duplicates 'delete-dups) |
| 543 | (let (result head) | 543 | (defun mm-delete-duplicates (list) |
| 544 | (while list | 544 | "Destructively remove `equal' duplicates from LIST. |
| 545 | (setq head (car list)) | 545 | Store the result in LIST and return it. LIST must be a proper list. |
| 546 | (setq list (delete head list)) | 546 | Of several `equal' occurrences of an element in LIST, the first |
| 547 | (setq result (cons head result))) | 547 | one is kept. |
| 548 | (nreverse result))) | 548 | |
| 549 | This is a compatibility function for Emacsen without `delete-dups'." | ||
| 550 | ;; Code from `subr.el' in Emacs 22: | ||
| 551 | (let ((tail list)) | ||
| 552 | (while tail | ||
| 553 | (setcdr tail (delete (car tail) (cdr tail))) | ||
| 554 | (setq tail (cdr tail)))) | ||
| 555 | list)) | ||
| 549 | 556 | ||
| 550 | ;; Fixme: This is used in places when it should be testing the | 557 | ;; Fixme: This is used in places when it should be testing the |
| 551 | ;; default multibyteness. See mm-default-multibyte-p. | 558 | ;; default multibyteness. See mm-default-multibyte-p. |
diff --git a/lisp/gnus/nnmail.el b/lisp/gnus/nnmail.el index 98563143243..ad913d441b7 100644 --- a/lisp/gnus/nnmail.el +++ b/lisp/gnus/nnmail.el | |||
| @@ -1142,7 +1142,7 @@ FUNC will be called with the group name to determine the article number." | |||
| 1142 | 5 "Error in `nnmail-split-methods'; using `bogus' mail group") | 1142 | 5 "Error in `nnmail-split-methods'; using `bogus' mail group") |
| 1143 | (sit-for 1) | 1143 | (sit-for 1) |
| 1144 | '("bogus"))))) | 1144 | '("bogus"))))) |
| 1145 | (setq split (gnus-remove-duplicates split)) | 1145 | (setq split (mm-delete-duplicates split)) |
| 1146 | ;; The article may be "cross-posted" to `junk'. What | 1146 | ;; The article may be "cross-posted" to `junk'. What |
| 1147 | ;; to do? Just remove the `junk' spec. Don't really | 1147 | ;; to do? Just remove the `junk' spec. Don't really |
| 1148 | ;; see anything else to do... | 1148 | ;; see anything else to do... |
diff --git a/lisp/ido.el b/lisp/ido.el index 2d62f6c74ef..b234795d3be 100644 --- a/lisp/ido.el +++ b/lisp/ido.el | |||
| @@ -354,7 +354,7 @@ Setting this variable directly does not take effect; | |||
| 354 | use either \\[customize] or the function `ido-mode'." | 354 | use either \\[customize] or the function `ido-mode'." |
| 355 | :set #'(lambda (symbol value) | 355 | :set #'(lambda (symbol value) |
| 356 | (ido-mode value)) | 356 | (ido-mode value)) |
| 357 | :initialize 'custom-initialize-default | 357 | :initialize 'custom-initialize-set |
| 358 | :require 'ido | 358 | :require 'ido |
| 359 | :link '(emacs-commentary-link "ido.el") | 359 | :link '(emacs-commentary-link "ido.el") |
| 360 | :set-after '(ido-save-directory-list-file) | 360 | :set-after '(ido-save-directory-list-file) |
diff --git a/lisp/info.el b/lisp/info.el index 7868125b9b0..5a0c0b510c1 100644 --- a/lisp/info.el +++ b/lisp/info.el | |||
| @@ -1845,36 +1845,45 @@ End of submatch 0, 1, and 3 are the same, so you can safely concat." | |||
| 1845 | (defun Info-next () | 1845 | (defun Info-next () |
| 1846 | "Go to the next node of this node." | 1846 | "Go to the next node of this node." |
| 1847 | (interactive) | 1847 | (interactive) |
| 1848 | (Info-goto-node (Info-extract-pointer "next"))) | 1848 | ;; In case another window is currently selected |
| 1849 | (save-window-excursion | ||
| 1850 | (or (eq major-mode 'Info-mode) (pop-to-buffer "*info*")) | ||
| 1851 | (Info-goto-node (Info-extract-pointer "next")))) | ||
| 1849 | 1852 | ||
| 1850 | (defun Info-prev () | 1853 | (defun Info-prev () |
| 1851 | "Go to the previous node of this node." | 1854 | "Go to the previous node of this node." |
| 1852 | (interactive) | 1855 | (interactive) |
| 1853 | (Info-goto-node (Info-extract-pointer "prev[ious]*" "previous"))) | 1856 | ;; In case another window is currently selected |
| 1857 | (save-window-excursion | ||
| 1858 | (or (eq major-mode 'Info-mode) (pop-to-buffer "*info*")) | ||
| 1859 | (Info-goto-node (Info-extract-pointer "prev[ious]*" "previous")))) | ||
| 1854 | 1860 | ||
| 1855 | (defun Info-up (&optional same-file) | 1861 | (defun Info-up (&optional same-file) |
| 1856 | "Go to the superior node of this node. | 1862 | "Go to the superior node of this node. |
| 1857 | If SAME-FILE is non-nil, do not move to a different Info file." | 1863 | If SAME-FILE is non-nil, do not move to a different Info file." |
| 1858 | (interactive) | 1864 | (interactive) |
| 1859 | (let ((old-node Info-current-node) | 1865 | ;; In case another window is currently selected |
| 1860 | (old-file Info-current-file) | 1866 | (save-window-excursion |
| 1861 | (node (Info-extract-pointer "up")) p) | 1867 | (or (eq major-mode 'Info-mode) (pop-to-buffer "*info*")) |
| 1862 | (and (or same-file (not (stringp Info-current-file))) | 1868 | (let ((old-node Info-current-node) |
| 1863 | (string-match "^(" node) | 1869 | (old-file Info-current-file) |
| 1864 | (error "Up node is in another Info file")) | 1870 | (node (Info-extract-pointer "up")) p) |
| 1865 | (Info-goto-node node) | 1871 | (and (or same-file (not (stringp Info-current-file))) |
| 1866 | (setq p (point)) | 1872 | (string-match "^(" node) |
| 1867 | (goto-char (point-min)) | 1873 | (error "Up node is in another Info file")) |
| 1868 | (if (and (search-forward "\n* Menu:" nil t) | 1874 | (Info-goto-node node) |
| 1869 | (re-search-forward | 1875 | (setq p (point)) |
| 1870 | (if (string-equal old-node "Top") | 1876 | (goto-char (point-min)) |
| 1871 | (concat "\n\\*[^:]+: +(" (file-name-nondirectory old-file) ")") | 1877 | (if (and (search-forward "\n* Menu:" nil t) |
| 1872 | (concat "\n\\* +\\(" (regexp-quote old-node) | 1878 | (re-search-forward |
| 1873 | ":\\|[^:]+: +" (regexp-quote old-node) "\\)")) | 1879 | (if (string-equal old-node "Top") |
| 1874 | nil t)) | 1880 | (concat "\n\\*[^:]+: +(" (file-name-nondirectory old-file) ")") |
| 1875 | (progn (beginning-of-line) (if (looking-at "^\\* ") (forward-char 2))) | 1881 | (concat "\n\\* +\\(" (regexp-quote old-node) |
| 1876 | (goto-char p) | 1882 | ":\\|[^:]+: +" (regexp-quote old-node) "\\)")) |
| 1877 | (Info-restore-point Info-history)))) | 1883 | nil t)) |
| 1884 | (progn (beginning-of-line) (if (looking-at "^\\* ") (forward-char 2))) | ||
| 1885 | (goto-char p) | ||
| 1886 | (Info-restore-point Info-history))))) | ||
| 1878 | 1887 | ||
| 1879 | (defun Info-history-back () | 1888 | (defun Info-history-back () |
| 1880 | "Go back in the history to the last node visited." | 1889 | "Go back in the history to the last node visited." |
| @@ -4012,8 +4021,6 @@ This will add a speedbar major display mode." | |||
| 4012 | (speedbar-change-initial-expansion-list "Info") | 4021 | (speedbar-change-initial-expansion-list "Info") |
| 4013 | ) | 4022 | ) |
| 4014 | 4023 | ||
| 4015 | (eval-when-compile (defvar speedbar-attached-frame)) | ||
| 4016 | |||
| 4017 | (defun Info-speedbar-hierarchy-buttons (directory depth &optional node) | 4024 | (defun Info-speedbar-hierarchy-buttons (directory depth &optional node) |
| 4018 | "Display an Info directory hierarchy in speedbar. | 4025 | "Display an Info directory hierarchy in speedbar. |
| 4019 | DIRECTORY is the current directory in the attached frame. | 4026 | DIRECTORY is the current directory in the attached frame. |
| @@ -4030,13 +4037,12 @@ specific node to expand." | |||
| 4030 | ;; being known at creation time. | 4037 | ;; being known at creation time. |
| 4031 | (if (not node) | 4038 | (if (not node) |
| 4032 | (speedbar-with-writable (insert "Info Nodes:\n"))) | 4039 | (speedbar-with-writable (insert "Info Nodes:\n"))) |
| 4033 | (let ((completions nil) | 4040 | (let ((completions nil)) |
| 4034 | (cf (selected-frame))) | 4041 | (speedbar-select-attached-frame) |
| 4035 | (select-frame speedbar-attached-frame) | ||
| 4036 | (save-window-excursion | 4042 | (save-window-excursion |
| 4037 | (setq completions | 4043 | (setq completions |
| 4038 | (Info-speedbar-fetch-file-nodes (or node '"(dir)top")))) | 4044 | (Info-speedbar-fetch-file-nodes (or node '"(dir)top")))) |
| 4039 | (select-frame cf) | 4045 | (select-frame (speedbar-current-frame)) |
| 4040 | (if completions | 4046 | (if completions |
| 4041 | (speedbar-with-writable | 4047 | (speedbar-with-writable |
| 4042 | (dolist (completion completions) | 4048 | (dolist (completion completions) |
| @@ -4052,7 +4058,7 @@ specific node to expand." | |||
| 4052 | (defun Info-speedbar-goto-node (text node indent) | 4058 | (defun Info-speedbar-goto-node (text node indent) |
| 4053 | "When user clicks on TEXT, go to an info NODE. | 4059 | "When user clicks on TEXT, go to an info NODE. |
| 4054 | The INDENT level is ignored." | 4060 | The INDENT level is ignored." |
| 4055 | (select-frame speedbar-attached-frame) | 4061 | (speedbar-select-attached-frame) |
| 4056 | (let* ((buff (or (get-buffer "*info*") | 4062 | (let* ((buff (or (get-buffer "*info*") |
| 4057 | (progn (info) (get-buffer "*info*")))) | 4063 | (progn (info) (get-buffer "*info*")))) |
| 4058 | (bwin (get-buffer-window buff 0))) | 4064 | (bwin (get-buffer-window buff 0))) |
| @@ -4062,7 +4068,7 @@ The INDENT level is ignored." | |||
| 4062 | (raise-frame (window-frame bwin))) | 4068 | (raise-frame (window-frame bwin))) |
| 4063 | (if speedbar-power-click | 4069 | (if speedbar-power-click |
| 4064 | (let ((pop-up-frames t)) (select-window (display-buffer buff))) | 4070 | (let ((pop-up-frames t)) (select-window (display-buffer buff))) |
| 4065 | (select-frame speedbar-attached-frame) | 4071 | (speedbar-select-attached-frame) |
| 4066 | (switch-to-buffer buff))) | 4072 | (switch-to-buffer buff))) |
| 4067 | (if (not (string-match "^(\\([^)]+\\))\\([^.]+\\)$" node)) | 4073 | (if (not (string-match "^(\\([^)]+\\))\\([^.]+\\)$" node)) |
| 4068 | (error "Invalid node %s" node) | 4074 | (error "Invalid node %s" node) |
| @@ -4128,7 +4134,7 @@ NODESPEC is a string of the form: (file)node." | |||
| 4128 | (nreverse completions)))) | 4134 | (nreverse completions)))) |
| 4129 | 4135 | ||
| 4130 | ;;; Info mode node listing | 4136 | ;;; Info mode node listing |
| 4131 | ;; FIXME: Seems not to be used. -stef | 4137 | ;; This is called by `speedbar-add-localized-speedbar-support' |
| 4132 | (defun Info-speedbar-buttons (buffer) | 4138 | (defun Info-speedbar-buttons (buffer) |
| 4133 | "Create a speedbar display to help navigation in an Info file. | 4139 | "Create a speedbar display to help navigation in an Info file. |
| 4134 | BUFFER is the buffer speedbar is requesting buttons for." | 4140 | BUFFER is the buffer speedbar is requesting buttons for." |
| @@ -4136,8 +4142,7 @@ BUFFER is the buffer speedbar is requesting buttons for." | |||
| 4136 | (let ((case-fold-search t)) | 4142 | (let ((case-fold-search t)) |
| 4137 | (not (looking-at "Info Nodes:")))) | 4143 | (not (looking-at "Info Nodes:")))) |
| 4138 | (erase-buffer)) | 4144 | (erase-buffer)) |
| 4139 | (Info-speedbar-hierarchy-buttons nil 0) | 4145 | (Info-speedbar-hierarchy-buttons nil 0)) |
| 4140 | ) | ||
| 4141 | 4146 | ||
| 4142 | (dolist (mess '("^First node in file$" | 4147 | (dolist (mess '("^First node in file$" |
| 4143 | "^No `.*' in index$" | 4148 | "^No `.*' in index$" |
diff --git a/lisp/iswitchb.el b/lisp/iswitchb.el index b13f2d0bb5a..80f7dbcb199 100644 --- a/lisp/iswitchb.el +++ b/lisp/iswitchb.el | |||
| @@ -293,6 +293,7 @@ with a space, for which the regexp is `^ '. See the source file for | |||
| 293 | example functions that filter buffernames." | 293 | example functions that filter buffernames." |
| 294 | :type '(repeat (choice regexp function)) | 294 | :type '(repeat (choice regexp function)) |
| 295 | :group 'iswitchb) | 295 | :group 'iswitchb) |
| 296 | (put 'iswitchb-buffer-ignore 'risky-local-variable t) | ||
| 296 | 297 | ||
| 297 | (defcustom iswitchb-max-to-show nil | 298 | (defcustom iswitchb-max-to-show nil |
| 298 | "*If non-nil, limit the number of names shown in the minibuffer. | 299 | "*If non-nil, limit the number of names shown in the minibuffer. |
| @@ -942,7 +943,7 @@ BUFFER-LIST can be list of buffers or list of strings." | |||
| 942 | (progn | 943 | (progn |
| 943 | (setq ignorep t) | 944 | (setq ignorep t) |
| 944 | (setq re-list nil)))) | 945 | (setq re-list nil)))) |
| 945 | ((fboundp nextstr) | 946 | ((functionp nextstr) |
| 946 | (if (funcall nextstr bufname) | 947 | (if (funcall nextstr bufname) |
| 947 | (progn | 948 | (progn |
| 948 | (setq ignorep t) | 949 | (setq ignorep t) |
diff --git a/lisp/mail/feedmail.el b/lisp/mail/feedmail.el index d8740c036f2..101e96c8554 100644 --- a/lisp/mail/feedmail.el +++ b/lisp/mail/feedmail.el | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | 3 | ||
| 4 | ;; This file is part of GNU Emacs. | 4 | ;; This file is part of GNU Emacs. |
| 5 | 5 | ||
| 6 | ;; Author: Bill Carpenter <bill@bubblegum.net>, <bill@carpenter.ORG> | 6 | ;; Author: Bill Carpenter <bill@carpenter.ORG> |
| 7 | ;; Version: 8 | 7 | ;; Version: 8 |
| 8 | ;; Keywords: email, queue, mail, sendmail, message, spray, smtp, draft | 8 | ;; Keywords: email, queue, mail, sendmail, message, spray, smtp, draft |
| 9 | ;; X-URL: <URL:http://www.carpenter.org/feedmail/feedmail.html> | 9 | ;; X-URL: <URL:http://www.carpenter.org/feedmail/feedmail.html> |
diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog index e851b399ce0..6836b3947cb 100644 --- a/lisp/mh-e/ChangeLog +++ b/lisp/mh-e/ChangeLog | |||
| @@ -1,3 +1,14 @@ | |||
| 1 | 2005-09-30 Bill Wohler <wohler@newt.com> | ||
| 2 | |||
| 3 | * mh-customize.el (mh-refile-msg, mh-tool-bar-reply-from) | ||
| 4 | (mh-tool-bar-reply-to, mh-tool-bar-reply-all) | ||
| 5 | (mh-alias-grab-from-field, mh-pack-folder): Image files moved to | ||
| 6 | etc/images/mail so added "mail/" prefix. | ||
| 7 | (mh-reply): Ditto. Also renamed reply2.* to reply.*. | ||
| 8 | (mh-rescan-folder): Ditto. Renamed image file to refresh.* since | ||
| 9 | it can be used in the general sense. Does not have "mail/" | ||
| 10 | prefix. | ||
| 11 | |||
| 1 | 2005-09-24 Emilio C. Lopes <eclig@gmx.net> | 12 | 2005-09-24 Emilio C. Lopes <eclig@gmx.net> |
| 2 | 13 | ||
| 3 | * mh-mime.el (mh-compose-forward, mh-mhn-compose-forw): | 14 | * mh-mime.el (mh-compose-forward, mh-mhn-compose-forw): |
diff --git a/lisp/mh-e/mh-customize.el b/lisp/mh-e/mh-customize.el index 4a9882b566c..7fbb1c247b4 100644 --- a/lisp/mh-e/mh-customize.el +++ b/lisp/mh-e/mh-customize.el | |||
| @@ -1922,7 +1922,7 @@ This button runs `mh-previous-undeleted-msg'") | |||
| 1922 | "Go to the next undeleted message\nThe button runs `mh-next-undeleted-msg'") | 1922 | "Go to the next undeleted message\nThe button runs `mh-next-undeleted-msg'") |
| 1923 | (mh-delete-msg (folder) "close" | 1923 | (mh-delete-msg (folder) "close" |
| 1924 | "Mark this message for deletion\nThis button runs `mh-delete-msg'") | 1924 | "Mark this message for deletion\nThis button runs `mh-delete-msg'") |
| 1925 | (mh-refile-msg (folder) "refile" | 1925 | (mh-refile-msg (folder) "mail/refile" |
| 1926 | "Refile this message\nThis button runs `mh-refile-msg'") | 1926 | "Refile this message\nThis button runs `mh-refile-msg'") |
| 1927 | (mh-undo (folder) "undo" "Undo last operation\nThis button runs `undo'" | 1927 | (mh-undo (folder) "undo" "Undo last operation\nThis button runs `undo'" |
| 1928 | (mh-outstanding-commands-p)) | 1928 | (mh-outstanding-commands-p)) |
| @@ -1933,19 +1933,19 @@ This button runs `mh-previous-undeleted-msg'") | |||
| 1933 | "Toggle tick mark\nThis button runs `mh-toggle-tick'") | 1933 | "Toggle tick mark\nThis button runs `mh-toggle-tick'") |
| 1934 | (mh-toggle-showing (folder) "show" | 1934 | (mh-toggle-showing (folder) "show" |
| 1935 | "Toggle showing message\nThis button runs `mh-toggle-showing'") | 1935 | "Toggle showing message\nThis button runs `mh-toggle-showing'") |
| 1936 | (mh-tool-bar-reply-from (folder) "reply-from" "Reply to \"from\"") | 1936 | (mh-tool-bar-reply-from (folder) "mail/reply-from" "Reply to \"from\"") |
| 1937 | (mh-tool-bar-reply-to (folder) "reply-to" "Reply to \"to\"") | 1937 | (mh-tool-bar-reply-to (folder) "mail/reply-to" "Reply to \"to\"") |
| 1938 | (mh-tool-bar-reply-all (folder) "reply-all" "Reply to \"all\"") | 1938 | (mh-tool-bar-reply-all (folder) "mail/reply-all" "Reply to \"all\"") |
| 1939 | (mh-reply (folder) "mail/reply2" | 1939 | (mh-reply (folder) "mail/reply" |
| 1940 | "Reply to this message\nThis button runs `mh-reply'") | 1940 | "Reply to this message\nThis button runs `mh-reply'") |
| 1941 | (mh-alias-grab-from-field (folder) "alias" | 1941 | (mh-alias-grab-from-field (folder) "mail/alias" |
| 1942 | "Grab From alias\nThis button runs `mh-alias-grab-from-field'" | 1942 | "Grab From alias\nThis button runs `mh-alias-grab-from-field'" |
| 1943 | (and (mh-extract-from-header-value) (not (mh-alias-for-from-p)))) | 1943 | (and (mh-extract-from-header-value) (not (mh-alias-for-from-p)))) |
| 1944 | (mh-send (folder) "mail_compose" | 1944 | (mh-send (folder) "mail_compose" |
| 1945 | "Compose new message\nThis button runs `mh-send'") | 1945 | "Compose new message\nThis button runs `mh-send'") |
| 1946 | (mh-rescan-folder (folder) "rescan" | 1946 | (mh-rescan-folder (folder) "refresh" |
| 1947 | "Rescan this folder\nThis button runs `mh-rescan-folder'") | 1947 | "Rescan this folder\nThis button runs `mh-rescan-folder'") |
| 1948 | (mh-pack-folder (folder) "repack" | 1948 | (mh-pack-folder (folder) "mail/repack" |
| 1949 | "Repack this folder\nThis button runs `mh-pack-folder'") | 1949 | "Repack this folder\nThis button runs `mh-pack-folder'") |
| 1950 | (mh-tool-bar-search (folder) "search" | 1950 | (mh-tool-bar-search (folder) "search" |
| 1951 | "Search\nThis button runs `mh-tool-bar-search-function'") | 1951 | "Search\nThis button runs `mh-tool-bar-search-function'") |
diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el index 152e71e64cb..bf3b1427ac2 100644 --- a/lisp/net/ange-ftp.el +++ b/lisp/net/ange-ftp.el | |||
| @@ -1298,6 +1298,8 @@ only return the directory part of FILE." | |||
| 1298 | (setq file | 1298 | (setq file |
| 1299 | (if (file-name-absolute-p temp) | 1299 | (if (file-name-absolute-p temp) |
| 1300 | temp | 1300 | temp |
| 1301 | ;; Wouldn't `expand-file-name' be better than `concat' ? | ||
| 1302 | ;; It would fail when `a/b/..' != `a', tho. --Stef | ||
| 1301 | (concat (file-name-directory file) temp))))) | 1303 | (concat (file-name-directory file) temp))))) |
| 1302 | file) | 1304 | file) |
| 1303 | 1305 | ||
| @@ -1385,12 +1387,12 @@ only return the directory part of FILE." | |||
| 1385 | (if (or ange-ftp-disable-netrc-security-check | 1387 | (if (or ange-ftp-disable-netrc-security-check |
| 1386 | (and (eq (nth 2 attr) (user-uid)) ; Same uids. | 1388 | (and (eq (nth 2 attr) (user-uid)) ; Same uids. |
| 1387 | (string-match ".r..------" (nth 8 attr)))) | 1389 | (string-match ".r..------" (nth 8 attr)))) |
| 1388 | (save-excursion | 1390 | (with-current-buffer |
| 1389 | ;; we are cheating a bit here. I'm trying to do the equivalent | 1391 | ;; we are cheating a bit here. I'm trying to do the equivalent |
| 1390 | ;; of find-file on the .netrc file, but then nuke it afterwards. | 1392 | ;; of find-file on the .netrc file, but then nuke it afterwards. |
| 1391 | ;; with the bit of logic below we should be able to have | 1393 | ;; with the bit of logic below we should be able to have |
| 1392 | ;; encrypted .netrc files. | 1394 | ;; encrypted .netrc files. |
| 1393 | (set-buffer (generate-new-buffer "*ftp-.netrc*")) | 1395 | (generate-new-buffer "*ftp-.netrc*") |
| 1394 | (ange-ftp-real-insert-file-contents file) | 1396 | (ange-ftp-real-insert-file-contents file) |
| 1395 | (setq buffer-file-name file) | 1397 | (setq buffer-file-name file) |
| 1396 | (setq default-directory (file-name-directory file)) | 1398 | (setq default-directory (file-name-directory file)) |
| @@ -1511,7 +1513,7 @@ then kill the related ftp process." | |||
| 1511 | (setq buffer (current-buffer)) | 1513 | (setq buffer (current-buffer)) |
| 1512 | (setq buffer (get-buffer buffer))) | 1514 | (setq buffer (get-buffer buffer))) |
| 1513 | (let ((file (or (buffer-file-name buffer) | 1515 | (let ((file (or (buffer-file-name buffer) |
| 1514 | (save-excursion (set-buffer buffer) default-directory)))) | 1516 | (with-current-buffer buffer default-directory)))) |
| 1515 | (if file | 1517 | (if file |
| 1516 | (let ((parsed (ange-ftp-ftp-name (expand-file-name file)))) | 1518 | (let ((parsed (ange-ftp-ftp-name (expand-file-name file)))) |
| 1517 | (if parsed | 1519 | (if parsed |
| @@ -1592,8 +1594,7 @@ good, skip, fatal, or unknown." | |||
| 1592 | (if proc | 1594 | (if proc |
| 1593 | (let ((buf (process-buffer proc))) | 1595 | (let ((buf (process-buffer proc))) |
| 1594 | (if buf | 1596 | (if buf |
| 1595 | (save-excursion | 1597 | (with-current-buffer buf |
| 1596 | (set-buffer buf) | ||
| 1597 | (setq ange-ftp-xfer-size | 1598 | (setq ange-ftp-xfer-size |
| 1598 | ;; For very large files, BYTES can be a float. | 1599 | ;; For very large files, BYTES can be a float. |
| 1599 | (if (integerp bytes) | 1600 | (if (integerp bytes) |
| @@ -1763,8 +1764,7 @@ good, skip, fatal, or unknown." | |||
| 1763 | 1764 | ||
| 1764 | (defun ange-ftp-gwp-filter (proc str) | 1765 | (defun ange-ftp-gwp-filter (proc str) |
| 1765 | (comint-output-filter proc str) | 1766 | (comint-output-filter proc str) |
| 1766 | (save-excursion | 1767 | (with-current-buffer (process-buffer proc) |
| 1767 | (set-buffer (process-buffer proc)) | ||
| 1768 | ;; Replace STR by the result of the comint processing. | 1768 | ;; Replace STR by the result of the comint processing. |
| 1769 | (setq str (buffer-substring comint-last-output-start (process-mark proc)))) | 1769 | (setq str (buffer-substring comint-last-output-start (process-mark proc)))) |
| 1770 | (cond ((string-match "login: *$" str) | 1770 | (cond ((string-match "login: *$" str) |
| @@ -1800,8 +1800,7 @@ good, skip, fatal, or unknown." | |||
| 1800 | (set-process-query-on-exit-flag proc nil) | 1800 | (set-process-query-on-exit-flag proc nil) |
| 1801 | (set-process-sentinel proc 'ange-ftp-gwp-sentinel) | 1801 | (set-process-sentinel proc 'ange-ftp-gwp-sentinel) |
| 1802 | (set-process-filter proc 'ange-ftp-gwp-filter) | 1802 | (set-process-filter proc 'ange-ftp-gwp-filter) |
| 1803 | (save-excursion | 1803 | (with-current-buffer (process-buffer proc) |
| 1804 | (set-buffer (process-buffer proc)) | ||
| 1805 | (goto-char (point-max)) | 1804 | (goto-char (point-max)) |
| 1806 | (set-marker (process-mark proc) (point))) | 1805 | (set-marker (process-mark proc) (point))) |
| 1807 | (setq ange-ftp-gwp-running t | 1806 | (setq ange-ftp-gwp-running t |
| @@ -1907,8 +1906,7 @@ been queued with no result. CONT will still be called, however." | |||
| 1907 | ange-ftp-nslookup-program host))) | 1906 | ange-ftp-nslookup-program host))) |
| 1908 | (res host)) | 1907 | (res host)) |
| 1909 | (set-process-query-on-exit-flag proc nil) | 1908 | (set-process-query-on-exit-flag proc nil) |
| 1910 | (save-excursion | 1909 | (with-current-buffer (process-buffer proc) |
| 1911 | (set-buffer (process-buffer proc)) | ||
| 1912 | (while (memq (process-status proc) '(run open)) | 1910 | (while (memq (process-status proc) '(run open)) |
| 1913 | (accept-process-output proc)) | 1911 | (accept-process-output proc)) |
| 1914 | (goto-char (point-min)) | 1912 | (goto-char (point-min)) |
| @@ -1947,8 +1945,7 @@ on the gateway machine to do the ftp instead." | |||
| 1947 | ;; Copy this so we don't alter it permanently. | 1945 | ;; Copy this so we don't alter it permanently. |
| 1948 | (process-environment (copy-tree process-environment)) | 1946 | (process-environment (copy-tree process-environment)) |
| 1949 | (buffer (get-buffer-create name))) | 1947 | (buffer (get-buffer-create name))) |
| 1950 | (save-excursion | 1948 | (with-current-buffer buffer |
| 1951 | (set-buffer buffer) | ||
| 1952 | (internal-ange-ftp-mode)) | 1949 | (internal-ange-ftp-mode)) |
| 1953 | ;; This tells GNU ftp not to output any fancy escape sequences. | 1950 | ;; This tells GNU ftp not to output any fancy escape sequences. |
| 1954 | (setenv "TERM" "dumb") | 1951 | (setenv "TERM" "dumb") |
| @@ -1960,8 +1957,7 @@ on the gateway machine to do the ftp instead." | |||
| 1960 | ange-ftp-gateway-host) | 1957 | ange-ftp-gateway-host) |
| 1961 | args)))) | 1958 | args)))) |
| 1962 | (setq proc (apply 'start-process name name args)))) | 1959 | (setq proc (apply 'start-process name name args)))) |
| 1963 | (save-excursion | 1960 | (with-current-buffer (process-buffer proc) |
| 1964 | (set-buffer (process-buffer proc)) | ||
| 1965 | (goto-char (point-max)) | 1961 | (goto-char (point-max)) |
| 1966 | (set-marker (process-mark proc) (point))) | 1962 | (set-marker (process-mark proc) (point))) |
| 1967 | (set-process-query-on-exit-flag proc nil) | 1963 | (set-process-query-on-exit-flag proc nil) |
| @@ -2127,8 +2123,7 @@ suffix of the form #PORT to specify a non-default port" | |||
| 2127 | 2123 | ||
| 2128 | (defun ange-ftp-guess-hash-mark-size (proc) | 2124 | (defun ange-ftp-guess-hash-mark-size (proc) |
| 2129 | (if ange-ftp-send-hash | 2125 | (if ange-ftp-send-hash |
| 2130 | (save-excursion | 2126 | (with-current-buffer (process-buffer proc) |
| 2131 | (set-buffer (process-buffer proc)) | ||
| 2132 | (let* ((status (ange-ftp-raw-send-cmd proc "hash")) | 2127 | (let* ((status (ange-ftp-raw-send-cmd proc "hash")) |
| 2133 | (line (cdr status))) | 2128 | (line (cdr status))) |
| 2134 | (save-match-data | 2129 | (save-match-data |
| @@ -2308,6 +2303,14 @@ and NOWAIT." | |||
| 2308 | (not (string-match "R" cmd3)) | 2303 | (not (string-match "R" cmd3)) |
| 2309 | (setq cmd1 (concat cmd1 "."))) | 2304 | (setq cmd1 (concat cmd1 "."))) |
| 2310 | 2305 | ||
| 2306 | ;; Using "ls -flags foo" has several problems: | ||
| 2307 | ;; - if foo is a symlink, we may get a single line showing the symlink | ||
| 2308 | ;; rather than the listing of the directory it points to. | ||
| 2309 | ;; - if "foo" has spaces, the parsing of the command may be done wrong. | ||
| 2310 | ;; - some version of netbsd's ftpd only accept a single argument after | ||
| 2311 | ;; `ls', which can either be the directory or the flags. | ||
| 2312 | ;; So to work around those problems, we use "cd foo; ls -flags". | ||
| 2313 | |||
| 2311 | ;; If the dir name contains a space, some ftp servers will | 2314 | ;; If the dir name contains a space, some ftp servers will |
| 2312 | ;; refuse to list it. We instead change directory to the | 2315 | ;; refuse to list it. We instead change directory to the |
| 2313 | ;; directory in question and ls ".". | 2316 | ;; directory in question and ls ".". |
| @@ -2324,14 +2327,14 @@ and NOWAIT." | |||
| 2324 | ;; This works around a misfeature of some versions of netbsd ftpd | 2327 | ;; This works around a misfeature of some versions of netbsd ftpd |
| 2325 | ;; where `ls' can only take one argument: either one set of flags | 2328 | ;; where `ls' can only take one argument: either one set of flags |
| 2326 | ;; or a file/directory name. | 2329 | ;; or a file/directory name. |
| 2327 | ;; FIXME: if we're trying to `ls' a single file, this fails since we | 2330 | ;; If we're trying to `ls' a single file, this fails since we |
| 2328 | ;; can't cd to a file. We can't fix this problem here, tho, because | 2331 | ;; can't cd to a file. We can't fix this problem here, tho, because |
| 2329 | ;; at this point we don't know whether the argument is a file or | 2332 | ;; at this point we don't know whether the argument is a file or |
| 2330 | ;; a directory. Such an `ls' is only every used (apparently) from | 2333 | ;; a directory. Such an `ls' is only ever used (apparently) from |
| 2331 | ;; `insert-directory' when the `full-directory-p' argument is nil | 2334 | ;; `insert-directory' when the `full-directory-p' argument is nil |
| 2332 | ;; (which seems to only be used by dired when updating its display | 2335 | ;; (which seems to only be used by dired when updating its display |
| 2333 | ;; after operating on a set of files). We should change | 2336 | ;; after operating on a set of files). So we've changed |
| 2334 | ;; ange-ftp-insert-directory so that this case is handled by getting | 2337 | ;; `ange-ftp-insert-directory' such that in this case it gets |
| 2335 | ;; a full listing of the directory and extracting the line | 2338 | ;; a full listing of the directory and extracting the line |
| 2336 | ;; corresponding to the requested file. | 2339 | ;; corresponding to the requested file. |
| 2337 | (unless (equal cmd1 ".") | 2340 | (unless (equal cmd1 ".") |
| @@ -2606,9 +2609,8 @@ away in the internal cache." | |||
| 2606 | (format "Listing %s" | 2609 | (format "Listing %s" |
| 2607 | (ange-ftp-abbreviate-filename | 2610 | (ange-ftp-abbreviate-filename |
| 2608 | ange-ftp-this-file))))) | 2611 | ange-ftp-this-file))))) |
| 2609 | (save-excursion | 2612 | (with-current-buffer (get-buffer-create |
| 2610 | (set-buffer (get-buffer-create | 2613 | ange-ftp-data-buffer-name) |
| 2611 | ange-ftp-data-buffer-name)) | ||
| 2612 | (erase-buffer) | 2614 | (erase-buffer) |
| 2613 | (if (ange-ftp-real-file-readable-p temp) | 2615 | (if (ange-ftp-real-file-readable-p temp) |
| 2614 | (ange-ftp-real-insert-file-contents temp) | 2616 | (ange-ftp-real-insert-file-contents temp) |
| @@ -3022,8 +3024,7 @@ this also returns nil." | |||
| 3022 | (let ((result (ange-ftp-send-cmd host user '(type "binary")))) | 3024 | (let ((result (ange-ftp-send-cmd host user '(type "binary")))) |
| 3023 | (if (not (car result)) | 3025 | (if (not (car result)) |
| 3024 | (ange-ftp-error host user (concat "BINARY failed: " (cdr result))) | 3026 | (ange-ftp-error host user (concat "BINARY failed: " (cdr result))) |
| 3025 | (save-excursion | 3027 | (with-current-buffer (process-buffer (ange-ftp-get-process host user)) |
| 3026 | (set-buffer (process-buffer (ange-ftp-get-process host user))) | ||
| 3027 | (and ange-ftp-binary-hash-mark-size | 3028 | (and ange-ftp-binary-hash-mark-size |
| 3028 | (setq ange-ftp-hash-mark-unit | 3029 | (setq ange-ftp-hash-mark-unit |
| 3029 | (ash ange-ftp-binary-hash-mark-size -4))))))) | 3030 | (ash ange-ftp-binary-hash-mark-size -4))))))) |
| @@ -3033,8 +3034,7 @@ this also returns nil." | |||
| 3033 | (let ((result (ange-ftp-send-cmd host user '(type "ascii")))) | 3034 | (let ((result (ange-ftp-send-cmd host user '(type "ascii")))) |
| 3034 | (if (not (car result)) | 3035 | (if (not (car result)) |
| 3035 | (ange-ftp-error host user (concat "ASCII failed: " (cdr result))) | 3036 | (ange-ftp-error host user (concat "ASCII failed: " (cdr result))) |
| 3036 | (save-excursion | 3037 | (with-current-buffer (process-buffer (ange-ftp-get-process host user)) |
| 3037 | (set-buffer (process-buffer (ange-ftp-get-process host user))) | ||
| 3038 | (and ange-ftp-ascii-hash-mark-size | 3038 | (and ange-ftp-ascii-hash-mark-size |
| 3039 | (setq ange-ftp-hash-mark-unit | 3039 | (setq ange-ftp-hash-mark-unit |
| 3040 | (ash ange-ftp-ascii-hash-mark-size -4))))))) | 3040 | (ash ange-ftp-ascii-hash-mark-size -4))))))) |
| @@ -3174,7 +3174,7 @@ logged in as user USER and cd'd to directory DIR." | |||
| 3174 | (ange-ftp-real-file-name-directory n)))))) | 3174 | (ange-ftp-real-file-name-directory n)))))) |
| 3175 | 3175 | ||
| 3176 | (defun ange-ftp-expand-file-name (name &optional default) | 3176 | (defun ange-ftp-expand-file-name (name &optional default) |
| 3177 | "Documented as original." | 3177 | "Documented as `expand-file-name'." |
| 3178 | (save-match-data | 3178 | (save-match-data |
| 3179 | (setq default (or default default-directory)) | 3179 | (setq default (or default default-directory)) |
| 3180 | (cond ((eq (string-to-char name) ?~) | 3180 | (cond ((eq (string-to-char name) ?~) |
| @@ -3289,7 +3289,7 @@ system TYPE.") | |||
| 3289 | ;; cleanup forms | 3289 | ;; cleanup forms |
| 3290 | (setq coding-system-used last-coding-system-used) | 3290 | (setq coding-system-used last-coding-system-used) |
| 3291 | (setq buffer-file-name filename) | 3291 | (setq buffer-file-name filename) |
| 3292 | (set-buffer-modified-p mod-p))) | 3292 | (restore-buffer-modified-p mod-p))) |
| 3293 | (if binary | 3293 | (if binary |
| 3294 | (ange-ftp-set-binary-mode host user)) | 3294 | (ange-ftp-set-binary-mode host user)) |
| 3295 | 3295 | ||
| @@ -3448,7 +3448,9 @@ system TYPE.") | |||
| 3448 | (let ((file-ent (ange-ftp-get-file-entry | 3448 | (let ((file-ent (ange-ftp-get-file-entry |
| 3449 | (ange-ftp-file-name-as-directory name)))) | 3449 | (ange-ftp-file-name-as-directory name)))) |
| 3450 | (if (stringp file-ent) | 3450 | (if (stringp file-ent) |
| 3451 | (file-directory-p | 3451 | ;; Calling file-directory-p doesn't work because ange-ftp |
| 3452 | ;; is temporarily disabled for this operation. | ||
| 3453 | (ange-ftp-file-directory-p | ||
| 3452 | (ange-ftp-expand-symlink file-ent | 3454 | (ange-ftp-expand-symlink file-ent |
| 3453 | (file-name-directory | 3455 | (file-name-directory |
| 3454 | (directory-file-name name)))) | 3456 | (directory-file-name name)))) |
| @@ -3640,8 +3642,7 @@ Value is (0 0) if the modification time cannot be determined." | |||
| 3640 | ;; (set (make-local-variable 'copy-cont) cont)))) | 3642 | ;; (set (make-local-variable 'copy-cont) cont)))) |
| 3641 | ;; | 3643 | ;; |
| 3642 | ;; (defun ange-ftp-copy-file-locally-sentinel (proc status) | 3644 | ;; (defun ange-ftp-copy-file-locally-sentinel (proc status) |
| 3643 | ;; (save-excursion | 3645 | ;; (with-current-buffer (process-buffer proc) |
| 3644 | ;; (set-buffer (process-buffer proc)) | ||
| 3645 | ;; (let ((cont copy-cont) | 3646 | ;; (let ((cont copy-cont) |
| 3646 | ;; (result (buffer-string))) | 3647 | ;; (result (buffer-string))) |
| 3647 | ;; (unwind-protect | 3648 | ;; (unwind-protect |
| @@ -4476,21 +4477,38 @@ NEWNAME should be the name to give the new compressed or uncompressed file.") | |||
| 4476 | ;; `ange-ftp-ls' handles this. | 4477 | ;; `ange-ftp-ls' handles this. |
| 4477 | 4478 | ||
| 4478 | (defun ange-ftp-insert-directory (file switches &optional wildcard full) | 4479 | (defun ange-ftp-insert-directory (file switches &optional wildcard full) |
| 4479 | (let ((parsed (ange-ftp-ftp-name (expand-file-name file))) | 4480 | (if (not (ange-ftp-ftp-name (expand-file-name file))) |
| 4480 | tem) | 4481 | (ange-ftp-real-insert-directory file switches wildcard full) |
| 4481 | (if parsed | 4482 | ;; We used to follow symlinks on `file' here. Apparently it was done |
| 4482 | (if (and (not wildcard) | 4483 | ;; because some FTP servers react to "ls foo" by listing the symlink foo |
| 4483 | (setq tem (file-symlink-p (directory-file-name file)))) | 4484 | ;; rather than the directory it points to. Now that ange-ftp-ls uses |
| 4484 | (ange-ftp-insert-directory | 4485 | ;; "cd foo; ls" instead, this is not necesssary any more. |
| 4485 | (ange-ftp-expand-symlink | 4486 | (insert |
| 4486 | tem (file-name-directory (directory-file-name file))) | 4487 | (cond |
| 4487 | switches wildcard full) | 4488 | (wildcard |
| 4488 | (insert | 4489 | (let ((default-directory (file-name-directory file))) |
| 4489 | (if wildcard | 4490 | (ange-ftp-ls (file-name-nondirectory file) switches nil nil t))) |
| 4490 | (let ((default-directory (file-name-directory file))) | 4491 | (full |
| 4491 | (ange-ftp-ls (file-name-nondirectory file) switches nil nil t)) | 4492 | (ange-ftp-ls file switches 'parse)) |
| 4492 | (ange-ftp-ls file switches full)))) | 4493 | (t |
| 4493 | (ange-ftp-real-insert-directory file switches wildcard full)))) | 4494 | ;; If `full' is nil we're going to do `ls' for a single file. |
| 4495 | ;; Problem is that for various reasons, ange-ftp-ls needs to cd and | ||
| 4496 | ;; then do an ls of current dir, which obviously won't work if we | ||
| 4497 | ;; want to ls a file. So instead, we get a full listing of the | ||
| 4498 | ;; parent directory and extract the line corresponding to `file'. | ||
| 4499 | (when (string-match "d\\'" switches) | ||
| 4500 | ;; Remove "d" which dired added to `switches'. | ||
| 4501 | (setq switches (substring switches 0 (match-beginning 0)))) | ||
| 4502 | (let* ((dirlist (ange-ftp-ls (or (file-name-directory file) ".") | ||
| 4503 | switches nil)) | ||
| 4504 | (filename (file-name-nondirectory (directory-file-name file))) | ||
| 4505 | (case-fold-search nil)) | ||
| 4506 | ;; FIXME: This presumes a particular output format, which is | ||
| 4507 | ;; basically Unix. | ||
| 4508 | (if (string-match (concat "^.+[^ ] " (regexp-quote filename) | ||
| 4509 | "\\( -> .*\\)?[@/*=]?\n") dirlist) | ||
| 4510 | (match-string 0 dirlist) | ||
| 4511 | ""))))))) | ||
| 4494 | 4512 | ||
| 4495 | (defun ange-ftp-dired-uncache (dir) | 4513 | (defun ange-ftp-dired-uncache (dir) |
| 4496 | (if (ange-ftp-ftp-name (expand-file-name dir)) | 4514 | (if (ange-ftp-ftp-name (expand-file-name dir)) |
| @@ -4502,10 +4520,8 @@ NEWNAME should be the name to give the new compressed or uncompressed file.") | |||
| 4502 | (defun ange-ftp-file-name-sans-versions (file keep-backup-version) | 4520 | (defun ange-ftp-file-name-sans-versions (file keep-backup-version) |
| 4503 | (let* ((short (ange-ftp-abbreviate-filename file)) | 4521 | (let* ((short (ange-ftp-abbreviate-filename file)) |
| 4504 | (parsed (ange-ftp-ftp-name short)) | 4522 | (parsed (ange-ftp-ftp-name short)) |
| 4505 | func) | 4523 | (func (if parsed (cdr (assq (ange-ftp-host-type (car parsed)) |
| 4506 | (if parsed | 4524 | ange-ftp-sans-version-alist))))) |
| 4507 | (setq func (cdr (assq (ange-ftp-host-type (car parsed)) | ||
| 4508 | ange-ftp-sans-version-alist)))) | ||
| 4509 | (if func (funcall func file keep-backup-version) | 4525 | (if func (funcall func file keep-backup-version) |
| 4510 | (ange-ftp-real-file-name-sans-versions file keep-backup-version)))) | 4526 | (ange-ftp-real-file-name-sans-versions file keep-backup-version)))) |
| 4511 | 4527 | ||
| @@ -4649,10 +4665,7 @@ NEWNAME should be the name to give the new compressed or uncompressed file.") | |||
| 4649 | ;; target marker-char buffer overwrite-query | 4665 | ;; target marker-char buffer overwrite-query |
| 4650 | ;; overwrite-backup-query failures skipped | 4666 | ;; overwrite-backup-query failures skipped |
| 4651 | ;; success-count total) | 4667 | ;; success-count total) |
| 4652 | ;; (let ((old-buf (current-buffer))) | 4668 | ;; (with-current-buffer buffer |
| 4653 | ;; (unwind-protect | ||
| 4654 | ;; (progn | ||
| 4655 | ;; (set-buffer buffer) | ||
| 4656 | ;; (if (null fn-list) | 4669 | ;; (if (null fn-list) |
| 4657 | ;; (ange-ftp-dcf-3 failures operation total skipped | 4670 | ;; (ange-ftp-dcf-3 failures operation total skipped |
| 4658 | ;; success-count buffer) | 4671 | ;; success-count buffer) |
| @@ -4724,8 +4737,7 @@ NEWNAME should be the name to give the new compressed or uncompressed file.") | |||
| 4724 | ;; overwrite-query | 4737 | ;; overwrite-query |
| 4725 | ;; overwrite-backup-query | 4738 | ;; overwrite-backup-query |
| 4726 | ;; failures skipped success-count | 4739 | ;; failures skipped success-count |
| 4727 | ;; total)))))))) | 4740 | ;; total))))))))) |
| 4728 | ;; (set-buffer old-buf)))) | ||
| 4729 | 4741 | ||
| 4730 | ;;(defun ange-ftp-dcf-2 (result line err | 4742 | ;;(defun ange-ftp-dcf-2 (result line err |
| 4731 | ;; file-creator operation fn-list | 4743 | ;; file-creator operation fn-list |
| @@ -4739,10 +4751,7 @@ NEWNAME should be the name to give the new compressed or uncompressed file.") | |||
| 4739 | ;; overwrite-backup-query | 4751 | ;; overwrite-backup-query |
| 4740 | ;; failures skipped success-count | 4752 | ;; failures skipped success-count |
| 4741 | ;; total) | 4753 | ;; total) |
| 4742 | ;; (let ((old-buf (current-buffer))) | 4754 | ;; (with-current-buffer buffer |
| 4743 | ;; (unwind-protect | ||
| 4744 | ;; (progn | ||
| 4745 | ;; (set-buffer buffer) | ||
| 4746 | ;; (if (or err (not result)) | 4755 | ;; (if (or err (not result)) |
| 4747 | ;; (progn | 4756 | ;; (progn |
| 4748 | ;; (setq failures (cons (dired-make-relative from) failures)) | 4757 | ;; (setq failures (cons (dired-make-relative from) failures)) |
| @@ -4765,15 +4774,11 @@ NEWNAME should be the name to give the new compressed or uncompressed file.") | |||
| 4765 | ;; overwrite-query | 4774 | ;; overwrite-query |
| 4766 | ;; overwrite-backup-query | 4775 | ;; overwrite-backup-query |
| 4767 | ;; failures skipped success-count | 4776 | ;; failures skipped success-count |
| 4768 | ;; total)) | 4777 | ;; total))) |
| 4769 | ;; (set-buffer old-buf)))) | ||
| 4770 | 4778 | ||
| 4771 | ;;(defun ange-ftp-dcf-3 (failures operation total skipped success-count | 4779 | ;;(defun ange-ftp-dcf-3 (failures operation total skipped success-count |
| 4772 | ;; buffer) | 4780 | ;; buffer) |
| 4773 | ;; (let ((old-buf (current-buffer))) | 4781 | ;; (with-current-buffer buffer |
| 4774 | ;; (unwind-protect | ||
| 4775 | ;; (progn | ||
| 4776 | ;; (set-buffer buffer) | ||
| 4777 | ;; (cond | 4782 | ;; (cond |
| 4778 | ;; (failures | 4783 | ;; (failures |
| 4779 | ;; (dired-log-summary | 4784 | ;; (dired-log-summary |
| @@ -4788,8 +4793,7 @@ NEWNAME should be the name to give the new compressed or uncompressed file.") | |||
| 4788 | ;; (t | 4793 | ;; (t |
| 4789 | ;; (message "%s: %s file%s." | 4794 | ;; (message "%s: %s file%s." |
| 4790 | ;; operation success-count (dired-plural-s success-count)))) | 4795 | ;; operation success-count (dired-plural-s success-count)))) |
| 4791 | ;; (dired-move-to-filename)) | 4796 | ;; (dired-move-to-filename))) |
| 4792 | ;; (set-buffer old-buf)))) | ||
| 4793 | 4797 | ||
| 4794 | ;;;; ----------------------------------------------- | 4798 | ;;;; ----------------------------------------------- |
| 4795 | ;;;; Unix Descriptive Listing (dl) Support | 4799 | ;;;; Unix Descriptive Listing (dl) Support |
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 9c832dd14f9..17b91d92818 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el | |||
| @@ -136,7 +136,7 @@ Nil means to use a separate filename syntax for Tramp.") | |||
| 136 | ;; Avoid byte-compiler warnings if the byte-compiler supports this. | 136 | ;; Avoid byte-compiler warnings if the byte-compiler supports this. |
| 137 | ;; Currently, XEmacs supports this. | 137 | ;; Currently, XEmacs supports this. |
| 138 | (eval-when-compile | 138 | (eval-when-compile |
| 139 | (when (fboundp 'byte-compiler-options) | 139 | (when (featurep 'xemacs) |
| 140 | (let (unused-vars) ; Pacify Emacs byte-compiler | 140 | (let (unused-vars) ; Pacify Emacs byte-compiler |
| 141 | (defalias 'warnings 'identity) ; Pacify Emacs byte-compiler | 141 | (defalias 'warnings 'identity) ; Pacify Emacs byte-compiler |
| 142 | (byte-compiler-options (warnings (- unused-vars)))))) | 142 | (byte-compiler-options (warnings (- unused-vars)))))) |
| @@ -3681,7 +3681,7 @@ This will break if COMMAND prints a newline, followed by the value of | |||
| 3681 | (let ((tmpbuf (get-buffer-create " *tramp tmp*"))) | 3681 | (let ((tmpbuf (get-buffer-create " *tramp tmp*"))) |
| 3682 | (set-buffer tmpbuf) | 3682 | (set-buffer tmpbuf) |
| 3683 | (erase-buffer) | 3683 | (erase-buffer) |
| 3684 | (insert-buffer tramp-buf) | 3684 | (insert-buffer-substring tramp-buf) |
| 3685 | (tramp-message-for-buffer | 3685 | (tramp-message-for-buffer |
| 3686 | multi-method method user host | 3686 | multi-method method user host |
| 3687 | 6 "Decoding remote file %s with function %s..." | 3687 | 6 "Decoding remote file %s with function %s..." |
diff --git a/lisp/outline.el b/lisp/outline.el index 012396c2eb0..8a05aaf0cd9 100644 --- a/lisp/outline.el +++ b/lisp/outline.el | |||
| @@ -685,7 +685,7 @@ This puts point at the start of the current subtree, and mark at the end." | |||
| 685 | (outline-previous-visible-heading 1)) | 685 | (outline-previous-visible-heading 1)) |
| 686 | (setq beg (point)) | 686 | (setq beg (point)) |
| 687 | (outline-end-of-subtree) | 687 | (outline-end-of-subtree) |
| 688 | (push-mark (point)) | 688 | (push-mark (point) nil t) |
| 689 | (goto-char beg))) | 689 | (goto-char beg))) |
| 690 | 690 | ||
| 691 | 691 | ||
diff --git a/lisp/pcvs.el b/lisp/pcvs.el index c402192c05a..f86e4c95625 100644 --- a/lisp/pcvs.el +++ b/lisp/pcvs.el | |||
| @@ -647,34 +647,38 @@ This is responsible for parsing the output from the cvs update when | |||
| 647 | it is finished." | 647 | it is finished." |
| 648 | (when (memq (process-status proc) '(signal exit)) | 648 | (when (memq (process-status proc) '(signal exit)) |
| 649 | (let ((cvs-postproc (process-get proc 'cvs-postprocess)) | 649 | (let ((cvs-postproc (process-get proc 'cvs-postprocess)) |
| 650 | (cvs-buf (process-get proc 'cvs-buffer))) | 650 | (cvs-buf (process-get proc 'cvs-buffer)) |
| 651 | (procbuf (process-buffer proc))) | ||
| 652 | (unless (buffer-live-p cvs-buf) (setq cvs-buf nil)) | ||
| 653 | (unless (buffer-live-p procbuf) (setq procbuf nil)) | ||
| 651 | ;; Since the buffer and mode line will show that the | 654 | ;; Since the buffer and mode line will show that the |
| 652 | ;; process is dead, we can delete it now. Otherwise it | 655 | ;; process is dead, we can delete it now. Otherwise it |
| 653 | ;; will stay around until M-x list-processes. | 656 | ;; will stay around until M-x list-processes. |
| 654 | (process-put proc 'postprocess nil) | 657 | (process-put proc 'postprocess nil) |
| 655 | (delete-process proc) | 658 | (delete-process proc) |
| 656 | ;; Don't do anything if the main buffer doesn't exist any more. | 659 | ;; Don't do anything if the main buffer doesn't exist any more. |
| 657 | (when (buffer-live-p cvs-buf) | 660 | (when cvs-buf |
| 658 | (with-current-buffer cvs-buf | 661 | (with-current-buffer cvs-buf |
| 659 | (cvs-update-header (process-get proc 'cvs-header) nil) | 662 | (cvs-update-header (process-get proc 'cvs-header) nil) |
| 660 | (setq cvs-mode-line-process (symbol-name (process-status proc))) | 663 | (setq cvs-mode-line-process (symbol-name (process-status proc))) |
| 661 | (force-mode-line-update) | 664 | (force-mode-line-update) |
| 662 | (when cvs-postproc | 665 | (when cvs-postproc |
| 663 | (if (null (buffer-live-p (process-buffer proc))) | 666 | (if (null procbuf) |
| 664 | ;;(set-process-buffer proc nil) | 667 | ;;(set-process-buffer proc nil) |
| 665 | (error "cvs' process buffer was killed") | 668 | (error "cvs' process buffer was killed") |
| 666 | (with-current-buffer (process-buffer proc) | 669 | (with-current-buffer procbuf |
| 667 | ;; do the postprocessing like parsing and such | 670 | ;; Do the postprocessing like parsing and such. |
| 668 | (save-excursion (eval cvs-postproc)) | 671 | (save-excursion (eval cvs-postproc))))))) |
| 669 | ;; check whether something is left | 672 | ;; Check whether something is left. |
| 670 | (unless (get-buffer-process (current-buffer)) | 673 | (when (and procbuf (not (get-buffer-process procbuf))) |
| 671 | ;; IIRC, we enable undo again once the process is finished | 674 | (with-current-buffer procbuf |
| 672 | ;; for cases where the output was inserted in *vc-diff* or | 675 | ;; IIRC, we enable undo again once the process is finished |
| 673 | ;; in a file-like buffer. --Stef | 676 | ;; for cases where the output was inserted in *vc-diff* or |
| 674 | (buffer-enable-undo) | 677 | ;; in a file-like buffer. --Stef |
| 675 | (with-current-buffer cvs-buffer | 678 | (buffer-enable-undo) |
| 676 | (message "CVS process has completed in %s" | 679 | (with-current-buffer (or cvs-buf (current-buffer)) |
| 677 | (buffer-name)))))))))))) | 680 | (message "CVS process has completed in %s" |
| 681 | (buffer-name)))))))) | ||
| 678 | 682 | ||
| 679 | (defun cvs-parse-process (dcd &optional subdir old-fis) | 683 | (defun cvs-parse-process (dcd &optional subdir old-fis) |
| 680 | "Parse the output of a cvs process. | 684 | "Parse the output of a cvs process. |
diff --git a/lisp/play/zone.el b/lisp/play/zone.el index 7441c2b9aa8..b914d1ba887 100644 --- a/lisp/play/zone.el +++ b/lisp/play/zone.el | |||
| @@ -135,59 +135,60 @@ If the element is a function or a list of a function and a number, | |||
| 135 | (defun zone () | 135 | (defun zone () |
| 136 | "Zone out, completely." | 136 | "Zone out, completely." |
| 137 | (interactive) | 137 | (interactive) |
| 138 | (let ((f (selected-frame)) | 138 | (save-window-excursion |
| 139 | (outbuf (get-buffer-create "*zone*")) | 139 | (let ((f (selected-frame)) |
| 140 | (text (buffer-substring (window-start) (window-end))) | 140 | (outbuf (get-buffer-create "*zone*")) |
| 141 | (wp (1+ (- (window-point (selected-window)) | 141 | (text (buffer-substring (window-start) (window-end))) |
| 142 | (window-start))))) | 142 | (wp (1+ (- (window-point (selected-window)) |
| 143 | (put 'zone 'orig-buffer (current-buffer)) | 143 | (window-start))))) |
| 144 | (put 'zone 'modeline-hidden-level 0) | 144 | (put 'zone 'orig-buffer (current-buffer)) |
| 145 | (switch-to-buffer outbuf) | 145 | (put 'zone 'modeline-hidden-level 0) |
| 146 | (setq mode-name "Zone") | 146 | (switch-to-buffer outbuf) |
| 147 | (erase-buffer) | 147 | (setq mode-name "Zone") |
| 148 | (setq buffer-undo-list t | 148 | (erase-buffer) |
| 149 | truncate-lines t | 149 | (setq buffer-undo-list t |
| 150 | tab-width (zone-orig tab-width) | 150 | truncate-lines t |
| 151 | line-spacing (zone-orig line-spacing)) | 151 | tab-width (zone-orig tab-width) |
| 152 | (insert text) | 152 | line-spacing (zone-orig line-spacing)) |
| 153 | (untabify (point-min) (point-max)) | 153 | (insert text) |
| 154 | (set-window-start (selected-window) (point-min)) | 154 | (untabify (point-min) (point-max)) |
| 155 | (set-window-point (selected-window) wp) | 155 | (set-window-start (selected-window) (point-min)) |
| 156 | (sit-for 0 500) | 156 | (set-window-point (selected-window) wp) |
| 157 | (let ((pgm (elt zone-programs (random (length zone-programs)))) | 157 | (sit-for 0 500) |
| 158 | (ct (and f (frame-parameter f 'cursor-type))) | 158 | (let ((pgm (elt zone-programs (random (length zone-programs)))) |
| 159 | (restore (list '(kill-buffer outbuf)))) | 159 | (ct (and f (frame-parameter f 'cursor-type))) |
| 160 | (when ct | 160 | (restore (list '(kill-buffer outbuf)))) |
| 161 | (modify-frame-parameters f '((cursor-type . (bar . 0)))) | 161 | (when ct |
| 162 | (setq restore (cons '(modify-frame-parameters | 162 | (modify-frame-parameters f '((cursor-type . (bar . 0)))) |
| 163 | f (list (cons 'cursor-type ct))) | 163 | (setq restore (cons '(modify-frame-parameters |
| 164 | restore))) | 164 | f (list (cons 'cursor-type ct))) |
| 165 | ;; Make `restore' a self-disabling one-shot thunk. | 165 | restore))) |
| 166 | (setq restore `(lambda () ,@restore (setq restore nil))) | 166 | ;; Make `restore' a self-disabling one-shot thunk. |
| 167 | (condition-case nil | 167 | (setq restore `(lambda () ,@restore (setq restore nil))) |
| 168 | (progn | 168 | (condition-case nil |
| 169 | (message "Zoning... (%s)" pgm) | 169 | (progn |
| 170 | (garbage-collect) | 170 | (message "Zoning... (%s)" pgm) |
| 171 | ;; If some input is pending, zone says "sorry", which | 171 | (garbage-collect) |
| 172 | ;; isn't nice; this might happen e.g. when they invoke the | 172 | ;; If some input is pending, zone says "sorry", which |
| 173 | ;; game by clicking the menu bar. So discard any pending | 173 | ;; isn't nice; this might happen e.g. when they invoke the |
| 174 | ;; input before zoning out. | 174 | ;; game by clicking the menu bar. So discard any pending |
| 175 | (if (input-pending-p) | 175 | ;; input before zoning out. |
| 176 | (discard-input)) | 176 | (if (input-pending-p) |
| 177 | (zone-call pgm) | 177 | (discard-input)) |
| 178 | (message "Zoning...sorry")) | 178 | (zone-call pgm) |
| 179 | (error | 179 | (message "Zoning...sorry")) |
| 180 | (funcall restore) | 180 | (error |
| 181 | (while (not (input-pending-p)) | 181 | (funcall restore) |
| 182 | (message "We were zoning when we wrote %s..." pgm) | 182 | (while (not (input-pending-p)) |
| 183 | (sit-for 3) | 183 | (message "We were zoning when we wrote %s..." pgm) |
| 184 | (message "...here's hoping we didn't hose your buffer!") | 184 | (sit-for 3) |
| 185 | (sit-for 3))) | 185 | (message "...here's hoping we didn't hose your buffer!") |
| 186 | (quit | 186 | (sit-for 3))) |
| 187 | (funcall restore) | 187 | (quit |
| 188 | (ding) | 188 | (funcall restore) |
| 189 | (message "Zoning...sorry"))) | 189 | (ding) |
| 190 | (when restore (funcall restore))))) | 190 | (message "Zoning...sorry"))) |
| 191 | (when restore (funcall restore)))))) | ||
| 191 | 192 | ||
| 192 | ;;;; Zone when idle, or not. | 193 | ;;;; Zone when idle, or not. |
| 193 | 194 | ||
diff --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el index 92c402dbad4..63c6aad3aa1 100644 --- a/lisp/progmodes/cc-mode.el +++ b/lisp/progmodes/cc-mode.el | |||
| @@ -395,11 +395,6 @@ that requires a literal mode spec at compile time." | |||
| 395 | (make-local-variable 'comment-end) | 395 | (make-local-variable 'comment-end) |
| 396 | (make-local-variable 'comment-start-skip) | 396 | (make-local-variable 'comment-start-skip) |
| 397 | (make-local-variable 'comment-multi-line) | 397 | (make-local-variable 'comment-multi-line) |
| 398 | (make-local-variable 'paragraph-start) | ||
| 399 | (make-local-variable 'paragraph-separate) | ||
| 400 | (make-local-variable 'paragraph-ignore-fill-prefix) | ||
| 401 | (make-local-variable 'adaptive-fill-mode) | ||
| 402 | (make-local-variable 'adaptive-fill-regexp) | ||
| 403 | 398 | ||
| 404 | ;; now set their values | 399 | ;; now set their values |
| 405 | (setq parse-sexp-ignore-comments t | 400 | (setq parse-sexp-ignore-comments t |
| @@ -1180,5 +1175,5 @@ Key bindings: | |||
| 1180 | 1175 | ||
| 1181 | (cc-provide 'cc-mode) | 1176 | (cc-provide 'cc-mode) |
| 1182 | 1177 | ||
| 1183 | ;;; arch-tag: 7825e5c4-fd09-439f-a04d-4c13208ba3d7 | 1178 | ;; arch-tag: 7825e5c4-fd09-439f-a04d-4c13208ba3d7 |
| 1184 | ;;; cc-mode.el ends here | 1179 | ;;; cc-mode.el ends here |
diff --git a/lisp/progmodes/cc-styles.el b/lisp/progmodes/cc-styles.el index f0a7a2c4b7c..f20eb8e57de 100644 --- a/lisp/progmodes/cc-styles.el +++ b/lisp/progmodes/cc-styles.el | |||
| @@ -498,33 +498,34 @@ variables." | |||
| 498 | (let ((comment-line-prefix | 498 | (let ((comment-line-prefix |
| 499 | (concat "[ \t]*\\(" c-current-comment-prefix "\\)[ \t]*"))) | 499 | (concat "[ \t]*\\(" c-current-comment-prefix "\\)[ \t]*"))) |
| 500 | 500 | ||
| 501 | (setq paragraph-start (concat comment-line-prefix | 501 | (set (make-local-variable 'paragraph-start) |
| 502 | c-paragraph-start | 502 | (concat comment-line-prefix |
| 503 | "\\|" | 503 | c-paragraph-start |
| 504 | page-delimiter) | 504 | "\\|" |
| 505 | paragraph-separate (concat comment-line-prefix | 505 | page-delimiter)) |
| 506 | c-paragraph-separate | 506 | (set (make-local-variable 'paragraph-separate) |
| 507 | "\\|" | 507 | (concat comment-line-prefix |
| 508 | page-delimiter) | 508 | c-paragraph-separate |
| 509 | paragraph-ignore-fill-prefix t | 509 | "\\|" |
| 510 | adaptive-fill-mode t | 510 | page-delimiter)) |
| 511 | adaptive-fill-regexp | 511 | (set (make-local-variable 'paragraph-ignore-fill-prefix) t) |
| 512 | (concat comment-line-prefix | 512 | (set (make-local-variable 'adaptive-fill-mode) t) |
| 513 | (if (default-value 'adaptive-fill-regexp) | 513 | (set (make-local-variable 'adaptive-fill-regexp) |
| 514 | (concat "\\(" | 514 | (concat comment-line-prefix |
| 515 | (default-value 'adaptive-fill-regexp) | 515 | (if (default-value 'adaptive-fill-regexp) |
| 516 | "\\)") | 516 | (concat "\\(" |
| 517 | ""))) | 517 | (default-value 'adaptive-fill-regexp) |
| 518 | "\\)") | ||
| 519 | ""))) | ||
| 518 | 520 | ||
| 519 | (when (boundp 'adaptive-fill-first-line-regexp) | 521 | (when (boundp 'adaptive-fill-first-line-regexp) |
| 520 | ;; XEmacs (20.x) adaptive fill mode doesn't have this. | 522 | ;; XEmacs (20.x) adaptive fill mode doesn't have this. |
| 521 | (make-local-variable 'adaptive-fill-first-line-regexp) | 523 | (set (make-local-variable 'adaptive-fill-first-line-regexp) |
| 522 | (setq adaptive-fill-first-line-regexp | 524 | (concat "\\`" comment-line-prefix |
| 523 | (concat "\\`" comment-line-prefix | 525 | ;; Maybe we should incorporate the old value here, |
| 524 | ;; Maybe we should incorporate the old value here, | 526 | ;; but then we have to do all sorts of kludges to |
| 525 | ;; but then we have to do all sorts of kludges to | 527 | ;; deal with the \` and \' it probably contains. |
| 526 | ;; deal with the \` and \' it probably contains. | 528 | "\\'"))))) |
| 527 | "\\'"))))) | ||
| 528 | 529 | ||
| 529 | 530 | ||
| 530 | ;; Helper for setting up Filladapt mode. It's not used by CC Mode itself. | 531 | ;; Helper for setting up Filladapt mode. It's not used by CC Mode itself. |
| @@ -626,5 +627,5 @@ any reason to call this function directly." | |||
| 626 | 627 | ||
| 627 | (cc-provide 'cc-styles) | 628 | (cc-provide 'cc-styles) |
| 628 | 629 | ||
| 629 | ;;; arch-tag: c764f61a-96ba-484a-a68f-101c0e9d5d2c | 630 | ;; arch-tag: c764f61a-96ba-484a-a68f-101c0e9d5d2c |
| 630 | ;;; cc-styles.el ends here | 631 | ;;; cc-styles.el ends here |
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 1655aa33dcb..269fbeaf137 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el | |||
| @@ -899,19 +899,20 @@ visible rather than the beginning." | |||
| 899 | :group 'compilation) | 899 | :group 'compilation) |
| 900 | 900 | ||
| 901 | 901 | ||
| 902 | (defun compilation-buffer-name (mode-name name-function) | 902 | (defun compilation-buffer-name (mode-name mode-command name-function) |
| 903 | "Return the name of a compilation buffer to use. | 903 | "Return the name of a compilation buffer to use. |
| 904 | If NAME-FUNCTION is non-nil, call it with one argument MODE-NAME | 904 | If NAME-FUNCTION is non-nil, call it with one argument MODE-NAME |
| 905 | to determine the buffer name. | 905 | to determine the buffer name. |
| 906 | Likewise if `compilation-buffer-name-function' is non-nil. | 906 | Likewise if `compilation-buffer-name-function' is non-nil. |
| 907 | If current buffer is in Compilation mode for the same mode name | 907 | If current buffer is the mode MODE-COMMAND, |
| 908 | return the name of the current buffer, so that it gets reused. | 908 | return the name of the current buffer, so that it gets reused. |
| 909 | Otherwise, construct a buffer name from MODE-NAME." | 909 | Otherwise, construct a buffer name from MODE-NAME." |
| 910 | (cond (name-function | 910 | (cond (name-function |
| 911 | (funcall name-function mode-name)) | 911 | (funcall name-function mode-name)) |
| 912 | (compilation-buffer-name-function | 912 | (compilation-buffer-name-function |
| 913 | (funcall compilation-buffer-name-function mode-name)) | 913 | (funcall compilation-buffer-name-function mode-name)) |
| 914 | ((eq major-mode (nth 1 compilation-arguments)) | 914 | ((and (eq mode-command major-mode) |
| 915 | (eq major-mode (nth 1 compilation-arguments))) | ||
| 915 | (buffer-name)) | 916 | (buffer-name)) |
| 916 | (t | 917 | (t |
| 917 | (concat "*" (downcase mode-name) "*")))) | 918 | (concat "*" (downcase mode-name) "*")))) |
| @@ -960,7 +961,7 @@ Returns the compilation buffer created." | |||
| 960 | (with-current-buffer | 961 | (with-current-buffer |
| 961 | (setq outbuf | 962 | (setq outbuf |
| 962 | (get-buffer-create | 963 | (get-buffer-create |
| 963 | (compilation-buffer-name name-of-mode name-function))) | 964 | (compilation-buffer-name name-of-mode mode name-function))) |
| 964 | (let ((comp-proc (get-buffer-process (current-buffer)))) | 965 | (let ((comp-proc (get-buffer-process (current-buffer)))) |
| 965 | (if comp-proc | 966 | (if comp-proc |
| 966 | (if (or (not (eq (process-status comp-proc) 'run)) | 967 | (if (or (not (eq (process-status comp-proc) 'run)) |
| @@ -1552,7 +1553,7 @@ Use this command in a compilation log buffer. Sets the mark at point there." | |||
| 1552 | (dired-other-window (car (get-text-property (point) 'directory))) | 1553 | (dired-other-window (car (get-text-property (point) 'directory))) |
| 1553 | (push-mark) | 1554 | (push-mark) |
| 1554 | (setq compilation-current-error (point)) | 1555 | (setq compilation-current-error (point)) |
| 1555 | (next-error 0))) | 1556 | (next-error-internal))) |
| 1556 | 1557 | ||
| 1557 | ;; Return a compilation buffer. | 1558 | ;; Return a compilation buffer. |
| 1558 | ;; If the current buffer is a compilation buffer, return it. | 1559 | ;; If the current buffer is a compilation buffer, return it. |
diff --git a/lisp/progmodes/ebnf2ps.el b/lisp/progmodes/ebnf2ps.el index 887e856ba1f..18d88c92699 100644 --- a/lisp/progmodes/ebnf2ps.el +++ b/lisp/progmodes/ebnf2ps.el | |||
| @@ -4261,7 +4261,7 @@ end | |||
| 4261 | ebnf-eps-max-height prod-height)) | 4261 | ebnf-eps-max-height prod-height)) |
| 4262 | ) | 4262 | ) |
| 4263 | (setq ebnf-eps-prod-width prod-width) | 4263 | (setq ebnf-eps-prod-width prod-width) |
| 4264 | (insert-buffer eps-buffer)) | 4264 | (insert-buffer-substring eps-buffer)) |
| 4265 | (setq prod-list (cdr prod-list)))) | 4265 | (setq prod-list (cdr prod-list)))) |
| 4266 | 4266 | ||
| 4267 | 4267 | ||
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el index 6c960c4c5d5..fe05119d2cd 100644 --- a/lisp/progmodes/gdb-ui.el +++ b/lisp/progmodes/gdb-ui.el | |||
| @@ -103,6 +103,7 @@ and #define directives otherwise.") | |||
| 103 | (defvar gdb-error "Non-nil when GDB is reporting an error.") | 103 | (defvar gdb-error "Non-nil when GDB is reporting an error.") |
| 104 | (defvar gdb-macro-info nil | 104 | (defvar gdb-macro-info nil |
| 105 | "Non-nil if GDB knows that the inferior includes preprocessor macro info.") | 105 | "Non-nil if GDB knows that the inferior includes preprocessor macro info.") |
| 106 | (defvar gdb-buffer-fringe-width nil) | ||
| 106 | 107 | ||
| 107 | (defvar gdb-buffer-type nil | 108 | (defvar gdb-buffer-type nil |
| 108 | "One of the symbols bound in `gdb-buffer-rules'.") | 109 | "One of the symbols bound in `gdb-buffer-rules'.") |
| @@ -377,7 +378,8 @@ Also display the main routine in the disassembly buffer if present." | |||
| 377 | gdb-location-alist nil | 378 | gdb-location-alist nil |
| 378 | gdb-find-file-unhook nil | 379 | gdb-find-file-unhook nil |
| 379 | gdb-error nil | 380 | gdb-error nil |
| 380 | gdb-macro-info nil) | 381 | gdb-macro-info nil |
| 382 | gdb-buffer-fringe-width (car (window-fringes))) | ||
| 381 | ;; | 383 | ;; |
| 382 | (setq gdb-buffer-type 'gdba) | 384 | (setq gdb-buffer-type 'gdba) |
| 383 | ;; | 385 | ;; |
| @@ -1337,8 +1339,11 @@ static char *magick[] = { | |||
| 1337 | (setq bptno (match-string 1)) | 1339 | (setq bptno (match-string 1)) |
| 1338 | (setq flag (char-after (match-beginning 2))) | 1340 | (setq flag (char-after (match-beginning 2))) |
| 1339 | (beginning-of-line) | 1341 | (beginning-of-line) |
| 1340 | (if (re-search-forward " in .* at\\s-+" nil t) | 1342 | (if (re-search-forward " in \\(.*\\) at\\s-+" nil t) |
| 1341 | (progn | 1343 | (progn |
| 1344 | (let ((buffer-read-only nil)) | ||
| 1345 | (add-text-properties (match-beginning 1) (match-end 1) | ||
| 1346 | '(face font-lock-function-name-face))) | ||
| 1342 | (looking-at "\\(\\S-+\\):\\([0-9]+\\)") | 1347 | (looking-at "\\(\\S-+\\):\\([0-9]+\\)") |
| 1343 | (let ((line (match-string 2)) (buffer-read-only nil) | 1348 | (let ((line (match-string 2)) (buffer-read-only nil) |
| 1344 | (file (match-string 1))) | 1349 | (file (match-string 1))) |
| @@ -1531,17 +1536,34 @@ static char *magick[] = { | |||
| 1531 | (defun gdb-info-frames-custom () | 1536 | (defun gdb-info-frames-custom () |
| 1532 | (with-current-buffer (gdb-get-buffer 'gdb-stack-buffer) | 1537 | (with-current-buffer (gdb-get-buffer 'gdb-stack-buffer) |
| 1533 | (save-excursion | 1538 | (save-excursion |
| 1534 | (let ((buffer-read-only nil)) | 1539 | (let ((buffer-read-only nil) |
| 1540 | bl el) | ||
| 1535 | (goto-char (point-min)) | 1541 | (goto-char (point-min)) |
| 1536 | (while (< (point) (point-max)) | 1542 | (while (< (point) (point-max)) |
| 1537 | (add-text-properties (line-beginning-position) (line-end-position) | 1543 | (setq bl (line-beginning-position) |
| 1544 | el (line-end-position)) | ||
| 1545 | (add-text-properties bl el | ||
| 1538 | '(mouse-face highlight | 1546 | '(mouse-face highlight |
| 1539 | help-echo "mouse-2, RET: Select frame")) | 1547 | help-echo "mouse-2, RET: Select frame")) |
| 1540 | (beginning-of-line) | 1548 | (goto-char bl) |
| 1541 | (when (and (looking-at "^#\\([0-9]+\\)") | 1549 | (when (looking-at "^#\\([0-9]+\\)") |
| 1542 | (equal (match-string 1) gdb-frame-number)) | 1550 | (when (string-equal (match-string 1) gdb-frame-number) |
| 1543 | (put-text-property (line-beginning-position) (line-end-position) | 1551 | (put-text-property bl (+ bl 4) |
| 1544 | 'face '(:inverse-video t))) | 1552 | 'face '(:inverse-video t))) |
| 1553 | (when (re-search-forward | ||
| 1554 | (concat | ||
| 1555 | (if (string-equal (match-string 1) "0") "" " in ") | ||
| 1556 | "\\([^ ]+\\) (") el t) | ||
| 1557 | (put-text-property (match-beginning 1) (match-end 1) | ||
| 1558 | 'face font-lock-function-name-face) | ||
| 1559 | (setq bl (match-end 0)) | ||
| 1560 | (while (re-search-forward "<\\([^>]+\\)>" el t) | ||
| 1561 | (put-text-property (match-beginning 1) (match-end 1) | ||
| 1562 | 'face font-lock-function-name-face)) | ||
| 1563 | (goto-char bl) | ||
| 1564 | (while (re-search-forward "\\(\\(\\sw\\|[_.]\\)+\\)=" el t) | ||
| 1565 | (put-text-property (match-beginning 1) (match-end 1) | ||
| 1566 | 'face font-lock-variable-name-face)))) | ||
| 1545 | (forward-line 1)))))) | 1567 | (forward-line 1)))))) |
| 1546 | 1568 | ||
| 1547 | (defun gdb-stack-buffer-name () | 1569 | (defun gdb-stack-buffer-name () |
| @@ -1587,6 +1609,7 @@ static char *magick[] = { | |||
| 1587 | 1609 | ||
| 1588 | (defun gdb-get-frame-number () | 1610 | (defun gdb-get-frame-number () |
| 1589 | (save-excursion | 1611 | (save-excursion |
| 1612 | (end-of-line) | ||
| 1590 | (let* ((pos (re-search-backward "^#*\\([0-9]*\\)" nil t)) | 1613 | (let* ((pos (re-search-backward "^#*\\([0-9]*\\)" nil t)) |
| 1591 | (n (or (and pos (match-string-no-properties 1)) "0"))) | 1614 | (n (or (and pos (match-string-no-properties 1)) "0"))) |
| 1592 | n))) | 1615 | n))) |
| @@ -1648,6 +1671,14 @@ static char *magick[] = { | |||
| 1648 | (define-key map [mouse-2] 'gdb-threads-select) | 1671 | (define-key map [mouse-2] 'gdb-threads-select) |
| 1649 | map)) | 1672 | map)) |
| 1650 | 1673 | ||
| 1674 | (defvar gdb-threads-font-lock-keywords | ||
| 1675 | '( | ||
| 1676 | (") +\\([^ ]+\\) (" (1 font-lock-function-name-face)) | ||
| 1677 | ("in \\([^ ]+\\) (" (1 font-lock-function-name-face)) | ||
| 1678 | ("\\(\\(\\sw\\|[_.]\\)+\\)=" (1 font-lock-variable-name-face)) | ||
| 1679 | ) | ||
| 1680 | "Font lock keywords used in `gdb-threads-mode'.") | ||
| 1681 | |||
| 1651 | (defun gdb-threads-mode () | 1682 | (defun gdb-threads-mode () |
| 1652 | "Major mode for gdb frames. | 1683 | "Major mode for gdb frames. |
| 1653 | 1684 | ||
| @@ -1657,6 +1688,8 @@ static char *magick[] = { | |||
| 1657 | (setq mode-name "Threads") | 1688 | (setq mode-name "Threads") |
| 1658 | (setq buffer-read-only t) | 1689 | (setq buffer-read-only t) |
| 1659 | (use-local-map gdb-threads-mode-map) | 1690 | (use-local-map gdb-threads-mode-map) |
| 1691 | (set (make-local-variable 'font-lock-defaults) | ||
| 1692 | '(gdb-threads-font-lock-keywords)) | ||
| 1660 | (run-mode-hooks 'gdb-threads-mode-hook) | 1693 | (run-mode-hooks 'gdb-threads-mode-hook) |
| 1661 | 'gdb-invalidate-threads) | 1694 | 'gdb-invalidate-threads) |
| 1662 | 1695 | ||
| @@ -1702,6 +1735,12 @@ static char *magick[] = { | |||
| 1702 | (define-key map "q" 'kill-this-buffer) | 1735 | (define-key map "q" 'kill-this-buffer) |
| 1703 | map)) | 1736 | map)) |
| 1704 | 1737 | ||
| 1738 | (defvar gdb-registers-font-lock-keywords | ||
| 1739 | '( | ||
| 1740 | ("^[^ ]+" . font-lock-variable-name-face) | ||
| 1741 | ) | ||
| 1742 | "Font lock keywords used in `gdb-registers-mode'.") | ||
| 1743 | |||
| 1705 | (defun gdb-registers-mode () | 1744 | (defun gdb-registers-mode () |
| 1706 | "Major mode for gdb registers. | 1745 | "Major mode for gdb registers. |
| 1707 | 1746 | ||
| @@ -1711,6 +1750,8 @@ static char *magick[] = { | |||
| 1711 | (setq mode-name "Registers:") | 1750 | (setq mode-name "Registers:") |
| 1712 | (setq buffer-read-only t) | 1751 | (setq buffer-read-only t) |
| 1713 | (use-local-map gdb-registers-mode-map) | 1752 | (use-local-map gdb-registers-mode-map) |
| 1753 | (set (make-local-variable 'font-lock-defaults) | ||
| 1754 | '(gdb-registers-font-lock-keywords)) | ||
| 1714 | (run-mode-hooks 'gdb-registers-mode-hook) | 1755 | (run-mode-hooks 'gdb-registers-mode-hook) |
| 1715 | (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) | 1756 | (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) |
| 1716 | 'gdb-invalidate-registers | 1757 | 'gdb-invalidate-registers |
| @@ -1955,6 +1996,12 @@ corresponding to the mode line clicked." | |||
| 1955 | (define-key map (vector 'header-line 'down-mouse-1) 'ignore) | 1996 | (define-key map (vector 'header-line 'down-mouse-1) 'ignore) |
| 1956 | map)) | 1997 | map)) |
| 1957 | 1998 | ||
| 1999 | (defvar gdb-memory-font-lock-keywords | ||
| 2000 | '(;; <__function.name+n> | ||
| 2001 | ("<\\(\\(\\sw\\|[_.]\\)+\\)\\(\\+[0-9]+\\)?>" (1 font-lock-function-name-face)) | ||
| 2002 | ) | ||
| 2003 | "Font lock keywords used in `gdb-memory-mode'.") | ||
| 2004 | |||
| 1958 | (defun gdb-memory-mode () | 2005 | (defun gdb-memory-mode () |
| 1959 | "Major mode for examining memory. | 2006 | "Major mode for examining memory. |
| 1960 | 2007 | ||
| @@ -2026,6 +2073,8 @@ corresponding to the mode line clicked." | |||
| 2026 | 'help-echo "mouse-3: Select unit size" | 2073 | 'help-echo "mouse-3: Select unit size" |
| 2027 | 'mouse-face 'mode-line-highlight | 2074 | 'mouse-face 'mode-line-highlight |
| 2028 | 'local-map gdb-memory-unit-keymap)))) | 2075 | 'local-map gdb-memory-unit-keymap)))) |
| 2076 | (set (make-local-variable 'font-lock-defaults) | ||
| 2077 | '(gdb-memory-font-lock-keywords)) | ||
| 2029 | (run-mode-hooks 'gdb-memory-mode-hook) | 2078 | (run-mode-hooks 'gdb-memory-mode-hook) |
| 2030 | 'gdb-invalidate-memory) | 2079 | 'gdb-invalidate-memory) |
| 2031 | 2080 | ||
| @@ -2094,6 +2143,23 @@ corresponding to the mode line clicked." | |||
| 2094 | (define-key map "q" 'kill-this-buffer) | 2143 | (define-key map "q" 'kill-this-buffer) |
| 2095 | map)) | 2144 | map)) |
| 2096 | 2145 | ||
| 2146 | (defvar gdb-local-font-lock-keywords | ||
| 2147 | '( | ||
| 2148 | ;; var = (struct struct_tag) value | ||
| 2149 | ( "\\(^\\(\\sw\\|[_.]\\)+\\) += +(\\(struct\\) \\(\\(\\sw\\|[_.]\\)+\\)" | ||
| 2150 | (1 font-lock-variable-name-face) | ||
| 2151 | (3 font-lock-keyword-face) | ||
| 2152 | (4 font-lock-type-face)) | ||
| 2153 | ;; var = (type) value | ||
| 2154 | ( "\\(^\\(\\sw\\|[_.]\\)+\\) += +(\\(\\(\\sw\\|[_.]\\)+\\)" | ||
| 2155 | (1 font-lock-variable-name-face) | ||
| 2156 | (3 font-lock-type-face)) | ||
| 2157 | ;; var = val | ||
| 2158 | ( "\\(^\\(\\sw\\|[_.]\\)+\\) += +[^(]" | ||
| 2159 | (1 font-lock-variable-name-face)) | ||
| 2160 | ) | ||
| 2161 | "Font lock keywords used in `gdb-local-mode'.") | ||
| 2162 | |||
| 2097 | (defun gdb-locals-mode () | 2163 | (defun gdb-locals-mode () |
| 2098 | "Major mode for gdb locals. | 2164 | "Major mode for gdb locals. |
| 2099 | 2165 | ||
| @@ -2103,6 +2169,8 @@ corresponding to the mode line clicked." | |||
| 2103 | (setq mode-name (concat "Locals:" gdb-selected-frame)) | 2169 | (setq mode-name (concat "Locals:" gdb-selected-frame)) |
| 2104 | (setq buffer-read-only t) | 2170 | (setq buffer-read-only t) |
| 2105 | (use-local-map gdb-locals-mode-map) | 2171 | (use-local-map gdb-locals-mode-map) |
| 2172 | (set (make-local-variable 'font-lock-defaults) | ||
| 2173 | '(gdb-local-font-lock-keywords)) | ||
| 2106 | (run-mode-hooks 'gdb-locals-mode-hook) | 2174 | (run-mode-hooks 'gdb-locals-mode-hook) |
| 2107 | (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) | 2175 | (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) |
| 2108 | 'gdb-invalidate-locals | 2176 | 'gdb-invalidate-locals |
| @@ -2408,7 +2476,8 @@ BUFFER nil or omitted means use the current buffer." | |||
| 2408 | (defun gdb-put-breakpoint-icon (enabled bptno) | 2476 | (defun gdb-put-breakpoint-icon (enabled bptno) |
| 2409 | (let ((start (- (line-beginning-position) 1)) | 2477 | (let ((start (- (line-beginning-position) 1)) |
| 2410 | (end (+ (line-end-position) 1)) | 2478 | (end (+ (line-end-position) 1)) |
| 2411 | (putstring (if enabled "B" "b"))) | 2479 | (putstring (if enabled "B" "b")) |
| 2480 | (source-window (get-buffer-window (current-buffer) 0))) | ||
| 2412 | (add-text-properties | 2481 | (add-text-properties |
| 2413 | 0 1 '(help-echo "mouse-1: set/clear bkpt, mouse-3: enable/disable bkpt") | 2482 | 0 1 '(help-echo "mouse-1: set/clear bkpt, mouse-3: enable/disable bkpt") |
| 2414 | putstring) | 2483 | putstring) |
| @@ -2418,7 +2487,9 @@ BUFFER nil or omitted means use the current buffer." | |||
| 2418 | 0 1 `(gdb-bptno ,bptno gdb-enabled nil) putstring)) | 2487 | 0 1 `(gdb-bptno ,bptno gdb-enabled nil) putstring)) |
| 2419 | (gdb-remove-breakpoint-icons start end) | 2488 | (gdb-remove-breakpoint-icons start end) |
| 2420 | (if (display-images-p) | 2489 | (if (display-images-p) |
| 2421 | (if (>= (car (window-fringes)) 8) | 2490 | (if (>= (or left-fringe-width |
| 2491 | (if source-window (car (window-fringes source-window))) | ||
| 2492 | gdb-buffer-fringe-width) 8) | ||
| 2422 | (gdb-put-string | 2493 | (gdb-put-string |
| 2423 | nil (1+ start) | 2494 | nil (1+ start) |
| 2424 | `(left-fringe breakpoint | 2495 | `(left-fringe breakpoint |
| @@ -2428,9 +2499,9 @@ BUFFER nil or omitted means use the current buffer." | |||
| 2428 | (when (< left-margin-width 2) | 2499 | (when (< left-margin-width 2) |
| 2429 | (save-current-buffer | 2500 | (save-current-buffer |
| 2430 | (setq left-margin-width 2) | 2501 | (setq left-margin-width 2) |
| 2431 | (if (get-buffer-window (current-buffer) 0) | 2502 | (if source-window |
| 2432 | (set-window-margins | 2503 | (set-window-margins |
| 2433 | (get-buffer-window (current-buffer) 0) | 2504 | source-window |
| 2434 | left-margin-width right-margin-width)))) | 2505 | left-margin-width right-margin-width)))) |
| 2435 | (put-image | 2506 | (put-image |
| 2436 | (if enabled | 2507 | (if enabled |
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el index 47d74f00aec..12c7e1c0ba0 100644 --- a/lisp/progmodes/gud.el +++ b/lisp/progmodes/gud.el | |||
| @@ -137,11 +137,15 @@ Used to grey out relevant togolbar icons.") | |||
| 137 | :enable (and (not gud-running) | 137 | :enable (and (not gud-running) |
| 138 | (memq gud-minor-mode '(gdbmi gdba gdb perldb)))) | 138 | (memq gud-minor-mode '(gdbmi gdba gdb perldb)))) |
| 139 | ([remove] menu-item "Remove Breakpoint" gud-remove | 139 | ([remove] menu-item "Remove Breakpoint" gud-remove |
| 140 | :enable (not gud-running)) | 140 | :enable (not gud-running) |
| 141 | :visible (not (and (memq gud-minor-mode '(gdbmi gdba)) | ||
| 142 | (window-fringes)))) | ||
| 141 | ([tbreak] menu-item "Temporary Breakpoint" gud-tbreak | 143 | ([tbreak] menu-item "Temporary Breakpoint" gud-tbreak |
| 142 | :enable (memq gud-minor-mode '(gdbmi gdba gdb sdb xdb bashdb))) | 144 | :enable (memq gud-minor-mode '(gdbmi gdba gdb sdb xdb bashdb))) |
| 143 | ([break] menu-item "Set Breakpoint" gud-break | 145 | ([break] menu-item "Set Breakpoint" gud-break |
| 144 | :enable (not gud-running)) | 146 | :enable (not gud-running) |
| 147 | :visible (not (and (memq gud-minor-mode '(gdbmi gdba)) | ||
| 148 | (window-fringes)))) | ||
| 145 | ([up] menu-item "Up Stack" gud-up | 149 | ([up] menu-item "Up Stack" gud-up |
| 146 | :enable (and (not gud-running) | 150 | :enable (and (not gud-running) |
| 147 | (memq gud-minor-mode | 151 | (memq gud-minor-mode |
diff --git a/lisp/progmodes/scheme.el b/lisp/progmodes/scheme.el index aa50a013585..15ab8edaadc 100644 --- a/lisp/progmodes/scheme.el +++ b/lisp/progmodes/scheme.el | |||
| @@ -90,20 +90,26 @@ | |||
| 90 | (modify-syntax-entry ?\] ")[ " st) | 90 | (modify-syntax-entry ?\] ")[ " st) |
| 91 | (modify-syntax-entry ?{ "(} " st) | 91 | (modify-syntax-entry ?{ "(} " st) |
| 92 | (modify-syntax-entry ?} "){ " st) | 92 | (modify-syntax-entry ?} "){ " st) |
| 93 | (modify-syntax-entry ?\| "\" 23b" st) | 93 | (modify-syntax-entry ?\| "\" 23bn" st) |
| 94 | ;; Guile allows #! ... !# comments. | ||
| 95 | ;; But SRFI-22 defines the comment as #!...\n instead. | ||
| 96 | ;; Also Guile says that the !# should be on a line of its own. | ||
| 97 | ;; It's too difficult to get it right, for too little benefit. | ||
| 98 | ;; (modify-syntax-entry ?! "_ 2" st) | ||
| 94 | 99 | ||
| 95 | ;; Other atom delimiters | 100 | ;; Other atom delimiters |
| 96 | (modify-syntax-entry ?\( "() " st) | 101 | (modify-syntax-entry ?\( "() " st) |
| 97 | (modify-syntax-entry ?\) ")( " st) | 102 | (modify-syntax-entry ?\) ")( " st) |
| 98 | (modify-syntax-entry ?\; "< " st) | 103 | ;; It's used for single-line comments as well as for #;(...) sexp-comments. |
| 99 | (modify-syntax-entry ?\" "\" " st) | 104 | (modify-syntax-entry ?\; "< 2 " st) |
| 105 | (modify-syntax-entry ?\" "\" " st) | ||
| 100 | (modify-syntax-entry ?' "' " st) | 106 | (modify-syntax-entry ?' "' " st) |
| 101 | (modify-syntax-entry ?` "' " st) | 107 | (modify-syntax-entry ?` "' " st) |
| 102 | 108 | ||
| 103 | ;; Special characters | 109 | ;; Special characters |
| 104 | (modify-syntax-entry ?, "' " st) | 110 | (modify-syntax-entry ?, "' " st) |
| 105 | (modify-syntax-entry ?@ "' " st) | 111 | (modify-syntax-entry ?@ "' " st) |
| 106 | (modify-syntax-entry ?# "' 14bn" st) | 112 | (modify-syntax-entry ?# "' 14b" st) |
| 107 | (modify-syntax-entry ?\\ "\\ " st) | 113 | (modify-syntax-entry ?\\ "\\ " st) |
| 108 | st)) | 114 | st)) |
| 109 | 115 | ||
| @@ -163,13 +169,18 @@ | |||
| 163 | (setq imenu-generic-expression scheme-imenu-generic-expression) | 169 | (setq imenu-generic-expression scheme-imenu-generic-expression) |
| 164 | (set (make-local-variable 'imenu-syntax-alist) | 170 | (set (make-local-variable 'imenu-syntax-alist) |
| 165 | '(("+-*/.<>=?!$%_&~^:" . "w"))) | 171 | '(("+-*/.<>=?!$%_&~^:" . "w"))) |
| 166 | (make-local-variable 'font-lock-defaults) | 172 | (set (make-local-variable 'font-lock-defaults) |
| 167 | (setq font-lock-defaults | 173 | '((scheme-font-lock-keywords |
| 168 | '((scheme-font-lock-keywords | 174 | scheme-font-lock-keywords-1 scheme-font-lock-keywords-2) |
| 169 | scheme-font-lock-keywords-1 scheme-font-lock-keywords-2) | 175 | nil t (("+-*/.<>=!?$%_&~^:" . "w") (?#. "w 14")) |
| 170 | nil t (("+-*/.<>=!?$%_&~^:#" . "w")) beginning-of-defun | 176 | beginning-of-defun |
| 171 | (font-lock-mark-block-function . mark-defun) | 177 | (font-lock-mark-block-function . mark-defun) |
| 172 | (font-lock-syntactic-face-function . lisp-font-lock-syntactic-face-function)))) | 178 | (font-lock-syntactic-face-function |
| 179 | . scheme-font-lock-syntactic-face-function) | ||
| 180 | (parse-sexp-lookup-properties . t) | ||
| 181 | (font-lock-extra-managed-props syntax-table))) | ||
| 182 | (set (make-local-variable 'lisp-doc-string-elt-property) | ||
| 183 | 'scheme-doc-string-elt)) | ||
| 173 | 184 | ||
| 174 | (defvar scheme-mode-line-process "") | 185 | (defvar scheme-mode-line-process "") |
| 175 | 186 | ||
| @@ -345,6 +356,44 @@ See `run-hooks'." | |||
| 345 | (defvar scheme-font-lock-keywords scheme-font-lock-keywords-1 | 356 | (defvar scheme-font-lock-keywords scheme-font-lock-keywords-1 |
| 346 | "Default expressions to highlight in Scheme modes.") | 357 | "Default expressions to highlight in Scheme modes.") |
| 347 | 358 | ||
| 359 | (defconst scheme-sexp-comment-syntax-table | ||
| 360 | (let ((st (make-syntax-table scheme-mode-syntax-table))) | ||
| 361 | (modify-syntax-entry ?\; "." st) | ||
| 362 | (modify-syntax-entry ?\n " " st) | ||
| 363 | (modify-syntax-entry ?# "'" st) | ||
| 364 | st)) | ||
| 365 | |||
| 366 | (put 'lambda 'scheme-doc-string-elt 2) | ||
| 367 | ;; Docstring's pos in a `define' depends on whether it's a var or fun def. | ||
| 368 | (put 'define 'scheme-doc-string-elt | ||
| 369 | (lambda () | ||
| 370 | ;; The function is called with point right after "define". | ||
| 371 | (forward-comment (point-max)) | ||
| 372 | (if (eq (char-after) ?\() 2 0))) | ||
| 373 | |||
| 374 | (defun scheme-font-lock-syntactic-face-function (state) | ||
| 375 | (when (and (null (nth 3 state)) | ||
| 376 | (eq (char-after (nth 8 state)) ?#) | ||
| 377 | (eq (char-after (1+ (nth 8 state))) ?\;)) | ||
| 378 | ;; It's a sexp-comment. Tell parse-partial-sexp where it ends. | ||
| 379 | (save-excursion | ||
| 380 | (let ((pos (point)) | ||
| 381 | (end | ||
| 382 | (condition-case err | ||
| 383 | (let ((parse-sexp-lookup-properties nil)) | ||
| 384 | (goto-char (+ 2 (nth 8 state))) | ||
| 385 | ;; FIXME: this doesn't handle the case where the sexp | ||
| 386 | ;; itself contains a #; comment. | ||
| 387 | (forward-sexp 1) | ||
| 388 | (point)) | ||
| 389 | (scan-error (nth 2 err))))) | ||
| 390 | (when (< pos (- end 2)) | ||
| 391 | (put-text-property pos (- end 2) | ||
| 392 | 'syntax-table scheme-sexp-comment-syntax-table)) | ||
| 393 | (put-text-property (- end 1) end 'syntax-table '(12))))) | ||
| 394 | ;; Choose the face to use. | ||
| 395 | (lisp-font-lock-syntactic-face-function state)) | ||
| 396 | |||
| 348 | ;;;###autoload | 397 | ;;;###autoload |
| 349 | (define-derived-mode dsssl-mode scheme-mode "DSSSL" | 398 | (define-derived-mode dsssl-mode scheme-mode "DSSSL" |
| 350 | "Major mode for editing DSSSL code. | 399 | "Major mode for editing DSSSL code. |
diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el index 1986148e8d5..ed64de4c89c 100644 --- a/lisp/progmodes/vhdl-mode.el +++ b/lisp/progmodes/vhdl-mode.el | |||
| @@ -142,6 +142,8 @@ | |||
| 142 | (defvar lazy-lock-defer-contextually) | 142 | (defvar lazy-lock-defer-contextually) |
| 143 | (defvar lazy-lock-defer-on-scrolling) | 143 | (defvar lazy-lock-defer-on-scrolling) |
| 144 | (defvar lazy-lock-defer-on-the-fly) | 144 | (defvar lazy-lock-defer-on-the-fly) |
| 145 | (defvar speedbar-attached-frame) | ||
| 146 | |||
| 145 | 147 | ||
| 146 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 148 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 147 | ;;; Variables | 149 | ;;; Variables |
| @@ -13988,11 +13990,11 @@ if required." | |||
| 13988 | (speedbar-add-mode-functions-list | 13990 | (speedbar-add-mode-functions-list |
| 13989 | '("vhdl directory" | 13991 | '("vhdl directory" |
| 13990 | (speedbar-item-info . vhdl-speedbar-item-info) | 13992 | (speedbar-item-info . vhdl-speedbar-item-info) |
| 13991 | (speedbar-line-path . speedbar-files-line-path))) | 13993 | (speedbar-line-directory . speedbar-files-line-path))) |
| 13992 | (speedbar-add-mode-functions-list | 13994 | (speedbar-add-mode-functions-list |
| 13993 | '("vhdl project" | 13995 | '("vhdl project" |
| 13994 | (speedbar-item-info . vhdl-speedbar-item-info) | 13996 | (speedbar-item-info . vhdl-speedbar-item-info) |
| 13995 | (speedbar-line-path . vhdl-speedbar-line-project))) | 13997 | (speedbar-line-directory . vhdl-speedbar-line-project))) |
| 13996 | ;; keymap | 13998 | ;; keymap |
| 13997 | (unless vhdl-speedbar-key-map | 13999 | (unless vhdl-speedbar-key-map |
| 13998 | (setq vhdl-speedbar-key-map (speedbar-make-specialized-keymap)) | 14000 | (setq vhdl-speedbar-key-map (speedbar-make-specialized-keymap)) |
| @@ -14257,9 +14259,9 @@ otherwise use cached data." | |||
| 14257 | ((save-excursion (beginning-of-line) (looking-at "[^0-9]")) | 14259 | ((save-excursion (beginning-of-line) (looking-at "[^0-9]")) |
| 14258 | (re-search-forward "[0-9]+:" nil t) | 14260 | (re-search-forward "[0-9]+:" nil t) |
| 14259 | (vhdl-scan-directory-contents | 14261 | (vhdl-scan-directory-contents |
| 14260 | (abbreviate-file-name (speedbar-line-path)))) | 14262 | (abbreviate-file-name (speedbar-line-directory)))) |
| 14261 | ;; current directory | 14263 | ;; current directory |
| 14262 | (t (setq path (speedbar-line-path)) | 14264 | (t (setq path (speedbar-line-directory)) |
| 14263 | (string-match "^\\(.+[/\\]\\)" path) | 14265 | (string-match "^\\(.+[/\\]\\)" path) |
| 14264 | (vhdl-scan-directory-contents | 14266 | (vhdl-scan-directory-contents |
| 14265 | (abbreviate-file-name (match-string 1 path))))) | 14267 | (abbreviate-file-name (match-string 1 path))))) |
| @@ -14977,7 +14979,7 @@ NO-POSITION non-nil means do not re-position cursor." | |||
| 14977 | (cond ((string-match "+" text) ; we have to expand this dir | 14979 | (cond ((string-match "+" text) ; we have to expand this dir |
| 14978 | (setq speedbar-shown-directories | 14980 | (setq speedbar-shown-directories |
| 14979 | (cons (expand-file-name | 14981 | (cons (expand-file-name |
| 14980 | (concat (speedbar-line-path indent) token "/")) | 14982 | (concat (speedbar-line-directory indent) token "/")) |
| 14981 | speedbar-shown-directories)) | 14983 | speedbar-shown-directories)) |
| 14982 | (speedbar-change-expand-button-char ?-) | 14984 | (speedbar-change-expand-button-char ?-) |
| 14983 | (speedbar-reset-scanners) | 14985 | (speedbar-reset-scanners) |
| @@ -14986,12 +14988,12 @@ NO-POSITION non-nil means do not re-position cursor." | |||
| 14986 | (end-of-line) (forward-char 1) | 14988 | (end-of-line) (forward-char 1) |
| 14987 | (vhdl-speedbar-insert-dirs | 14989 | (vhdl-speedbar-insert-dirs |
| 14988 | (speedbar-file-lists | 14990 | (speedbar-file-lists |
| 14989 | (concat (speedbar-line-path indent) token "/")) | 14991 | (concat (speedbar-line-directory indent) token "/")) |
| 14990 | (1+ indent)) | 14992 | (1+ indent)) |
| 14991 | (speedbar-reset-scanners) | 14993 | (speedbar-reset-scanners) |
| 14992 | (vhdl-speedbar-insert-dir-hierarchy | 14994 | (vhdl-speedbar-insert-dir-hierarchy |
| 14993 | (abbreviate-file-name | 14995 | (abbreviate-file-name |
| 14994 | (concat (speedbar-line-path indent) token "/")) | 14996 | (concat (speedbar-line-directory indent) token "/")) |
| 14995 | (1+ indent) speedbar-power-click))) | 14997 | (1+ indent) speedbar-power-click))) |
| 14996 | (vhdl-speedbar-update-current-unit t t)) | 14998 | (vhdl-speedbar-update-current-unit t t)) |
| 14997 | ((string-match "-" text) ; we have to contract this node | 14999 | ((string-match "-" text) ; we have to contract this node |
| @@ -14999,7 +15001,7 @@ NO-POSITION non-nil means do not re-position cursor." | |||
| 14999 | (let ((oldl speedbar-shown-directories) | 15001 | (let ((oldl speedbar-shown-directories) |
| 15000 | (newl nil) | 15002 | (newl nil) |
| 15001 | (td (expand-file-name | 15003 | (td (expand-file-name |
| 15002 | (concat (speedbar-line-path indent) token)))) | 15004 | (concat (speedbar-line-directory indent) token)))) |
| 15003 | (while oldl | 15005 | (while oldl |
| 15004 | (if (not (string-match (concat "^" (regexp-quote td)) (car oldl))) | 15006 | (if (not (string-match (concat "^" (regexp-quote td)) (car oldl))) |
| 15005 | (setq newl (cons (car oldl) newl))) | 15007 | (setq newl (cons (car oldl) newl))) |
| @@ -15085,7 +15087,7 @@ NO-POSITION non-nil means do not re-position cursor." | |||
| 15085 | (if vhdl-speedbar-show-projects | 15087 | (if vhdl-speedbar-show-projects |
| 15086 | (vhdl-speedbar-line-project) | 15088 | (vhdl-speedbar-line-project) |
| 15087 | (abbreviate-file-name | 15089 | (abbreviate-file-name |
| 15088 | (file-name-as-directory (speedbar-line-path indent))))) | 15090 | (file-name-as-directory (speedbar-line-directory indent))))) |
| 15089 | 15091 | ||
| 15090 | (defun vhdl-speedbar-line-project (&optional indent) | 15092 | (defun vhdl-speedbar-line-project (&optional indent) |
| 15091 | "Get currently displayed project name." | 15093 | "Get currently displayed project name." |
| @@ -15236,7 +15238,7 @@ is already shown in a buffer." | |||
| 15236 | (unit-name (vhdl-speedbar-line-text)) | 15238 | (unit-name (vhdl-speedbar-line-text)) |
| 15237 | (vhdl-project (vhdl-speedbar-line-project)) | 15239 | (vhdl-project (vhdl-speedbar-line-project)) |
| 15238 | (directory (file-name-as-directory | 15240 | (directory (file-name-as-directory |
| 15239 | (or (speedbar-line-file) (speedbar-line-path))))) | 15241 | (or (speedbar-line-file) (speedbar-line-directory))))) |
| 15240 | (if (fboundp 'speedbar-select-attached-frame) | 15242 | (if (fboundp 'speedbar-select-attached-frame) |
| 15241 | (speedbar-select-attached-frame) | 15243 | (speedbar-select-attached-frame) |
| 15242 | (select-frame speedbar-attached-frame)) | 15244 | (select-frame speedbar-attached-frame)) |
| @@ -15248,7 +15250,7 @@ is already shown in a buffer." | |||
| 15248 | (interactive) | 15250 | (interactive) |
| 15249 | (let ((vhdl-project (vhdl-speedbar-line-project)) | 15251 | (let ((vhdl-project (vhdl-speedbar-line-project)) |
| 15250 | (default-directory (file-name-as-directory | 15252 | (default-directory (file-name-as-directory |
| 15251 | (or (speedbar-line-file) (speedbar-line-path))))) | 15253 | (or (speedbar-line-file) (speedbar-line-directory))))) |
| 15252 | (vhdl-generate-makefile))) | 15254 | (vhdl-generate-makefile))) |
| 15253 | 15255 | ||
| 15254 | (defun vhdl-speedbar-check-unit (design-unit) | 15256 | (defun vhdl-speedbar-check-unit (design-unit) |
diff --git a/lisp/sb-dir-minus.xpm b/lisp/sb-dir-minus.xpm deleted file mode 100644 index 0bb8a9cd897..00000000000 --- a/lisp/sb-dir-minus.xpm +++ /dev/null | |||
| @@ -1,23 +0,0 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_dir_minus_xpm[] = { | ||
| 3 | "20 15 5 1", | ||
| 4 | " c None", | ||
| 5 | ". c #B8B8B8", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #FFF993", | ||
| 8 | "# c #828282", | ||
| 9 | " ...... ", | ||
| 10 | " .++++++. ", | ||
| 11 | ".+@@@@@@+......... ", | ||
| 12 | ".+@@@@@@@+++++++++. ", | ||
| 13 | ".+@@@@@@@@@@@@@@@@+#", | ||
| 14 | ".+@@@@@@@@@@@@@@@@+#", | ||
| 15 | ".+@@@@@@@@@@@@@@@@+#", | ||
| 16 | ".+@@@@@+++++@@@@@@+#", | ||
| 17 | ".+@@@@@@.....@@@@@+#", | ||
| 18 | ".+@@@@@@@@@@@@@@@@+#", | ||
| 19 | ".+@@@@@@@@@@@@@@@@+#", | ||
| 20 | ".+@@@@@@@@@@@@@@@@+#", | ||
| 21 | ".+@@@@@@@@@@@@@@@@+#", | ||
| 22 | " #++++++++++++++++# ", | ||
| 23 | " ################ "}; | ||
diff --git a/lisp/sb-dir-plus.xpm b/lisp/sb-dir-plus.xpm deleted file mode 100644 index 009719bce6d..00000000000 --- a/lisp/sb-dir-plus.xpm +++ /dev/null | |||
| @@ -1,23 +0,0 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_dir_plus_xpm[] = { | ||
| 3 | "20 15 5 1", | ||
| 4 | " c None", | ||
| 5 | ". c #B8B8B8", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #FFF993", | ||
| 8 | "# c #828282", | ||
| 9 | " ...... ", | ||
| 10 | " .++++++. ", | ||
| 11 | ".+@@@@@@+......... ", | ||
| 12 | ".+@@@@@@@+++++++++. ", | ||
| 13 | ".+@@@@@@@@@@@@@@@@+#", | ||
| 14 | ".+@@@@@@@+@@@@@@@@+#", | ||
| 15 | ".+@@@@@@@+.@@@@@@@+#", | ||
| 16 | ".+@@@@@+++++@@@@@@+#", | ||
| 17 | ".+@@@@@@.+...@@@@@+#", | ||
| 18 | ".+@@@@@@@+.@@@@@@@+#", | ||
| 19 | ".+@@@@@@@@.@@@@@@@+#", | ||
| 20 | ".+@@@@@@@@@@@@@@@@+#", | ||
| 21 | ".+@@@@@@@@@@@@@@@@+#", | ||
| 22 | " #++++++++++++++++# ", | ||
| 23 | " ################ "}; | ||
diff --git a/lisp/sb-dir.xpm b/lisp/sb-dir.xpm deleted file mode 100644 index 1c3d3d72b87..00000000000 --- a/lisp/sb-dir.xpm +++ /dev/null | |||
| @@ -1,23 +0,0 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_dir_xpm[] = { | ||
| 3 | "20 15 5 1", | ||
| 4 | " c None", | ||
| 5 | ". c #B8B8B8", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #FFF993", | ||
| 8 | "# c #828282", | ||
| 9 | " ...... ", | ||
| 10 | " .++++++. ", | ||
| 11 | ".+@@@@@@+......... ", | ||
| 12 | ".+@@@@@@@+++++++++. ", | ||
| 13 | ".+@@@@@@@@@@@@@@@@+#", | ||
| 14 | ".+@@@@@@@@@@@@@@@@+#", | ||
| 15 | ".+@@@@@@@@@@@@@@@@+#", | ||
| 16 | ".+@@@@@@@@@@@@@@@@+#", | ||
| 17 | ".+@@@@@@@@@@@@@@@@+#", | ||
| 18 | ".+@@@@@@@@@@@@@@@@+#", | ||
| 19 | ".+@@@@@@@@@@@@@@@@+#", | ||
| 20 | ".+@@@@@@@@@@@@@@@@+#", | ||
| 21 | ".+@@@@@@@@@@@@@@@@+#", | ||
| 22 | " #++++++++++++++++# ", | ||
| 23 | " ################ "}; | ||
diff --git a/lisp/sb-image.el b/lisp/sb-image.el new file mode 100644 index 00000000000..e1ed8d06a86 --- /dev/null +++ b/lisp/sb-image.el | |||
| @@ -0,0 +1,111 @@ | |||
| 1 | ;;; sb-image --- Image management for speedbar | ||
| 2 | |||
| 3 | ;;; Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation | ||
| 4 | |||
| 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> | ||
| 6 | ;; Keywords: file, tags, tools | ||
| 7 | |||
| 8 | ;; This file is part of GNU Emacs. | ||
| 9 | |||
| 10 | ;; GNU Emacs is free software; you can redistribute it and/or modify | ||
| 11 | ;; it under the terms of the GNU General Public License as published by | ||
| 12 | ;; the Free Software Foundation; either version 2, or (at your option) | ||
| 13 | ;; any later version. | ||
| 14 | |||
| 15 | ;; GNU Emacs is distributed in the hope that it will be useful, | ||
| 16 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 17 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 18 | ;; GNU General Public License for more details. | ||
| 19 | |||
| 20 | ;; You should have received a copy of the GNU General Public License | ||
| 21 | ;; along with GNU Emacs; see the file COPYING. If not, write to the | ||
| 22 | ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 23 | ;; Boston, MA 02110-1301, USA. | ||
| 24 | |||
| 25 | ;;; Commentary: | ||
| 26 | ;; | ||
| 27 | ;; Supporting Image display for Emacs 20 and less, Emacs 21, and XEmacs, | ||
| 28 | ;; is a challenging task, which doesn't take kindly to being byte compiled. | ||
| 29 | ;; When sharing speedbar.elc between these three applications, the Image | ||
| 30 | ;; support can get lost. | ||
| 31 | ;; | ||
| 32 | ;; By splitting out that hard part into this file, and avoiding byte | ||
| 33 | ;; compilation, one copy speedbar can support all these platforms together. | ||
| 34 | ;; | ||
| 35 | ;; This file requires the `image' package if it is available. | ||
| 36 | |||
| 37 | (require 'ezimage) | ||
| 38 | |||
| 39 | ;;; Code: | ||
| 40 | (defcustom speedbar-use-images ezimage-use-images | ||
| 41 | "*Non-nil if speedbar should display icons." | ||
| 42 | :group 'speedbar | ||
| 43 | :version "21.1" | ||
| 44 | :type 'boolean) | ||
| 45 | |||
| 46 | (defalias 'defimage-speedbar 'defezimage) | ||
| 47 | |||
| 48 | (defvar speedbar-expand-image-button-alist | ||
| 49 | '(("<+>" . ezimage-directory-plus) | ||
| 50 | ("<->" . ezimage-directory-minus) | ||
| 51 | ("< >" . ezimage-directory) | ||
| 52 | ("[+]" . ezimage-page-plus) | ||
| 53 | ("[-]" . ezimage-page-minus) | ||
| 54 | ("[?]" . ezimage-page) | ||
| 55 | ("[ ]" . ezimage-page) | ||
| 56 | ("{+}" . ezimage-box-plus) | ||
| 57 | ("{-}" . ezimage-box-minus) | ||
| 58 | ("<M>" . ezimage-mail) | ||
| 59 | ("<d>" . ezimage-document-tag) | ||
| 60 | ("<i>" . ezimage-info-tag) | ||
| 61 | (" =>" . ezimage-tag) | ||
| 62 | (" +>" . ezimage-tag-gt) | ||
| 63 | (" ->" . ezimage-tag-v) | ||
| 64 | (">" . ezimage-tag) | ||
| 65 | ("@" . ezimage-tag-type) | ||
| 66 | (" @" . ezimage-tag-type) | ||
| 67 | ("*" . ezimage-checkout) | ||
| 68 | ("#" . ezimage-object) | ||
| 69 | ("!" . ezimage-object-out-of-date) | ||
| 70 | ("//" . ezimage-label) | ||
| 71 | ("%" . ezimage-lock) | ||
| 72 | ) | ||
| 73 | "List of text and image associations.") | ||
| 74 | |||
| 75 | (defun speedbar-insert-image-button-maybe (start length) | ||
| 76 | "Insert an image button based on text starting at START for LENGTH chars. | ||
| 77 | If buttontext is unknown, just insert that text. | ||
| 78 | If we have an image associated with it, use that image." | ||
| 79 | (when speedbar-use-images | ||
| 80 | (let ((ezimage-expand-image-button-alist | ||
| 81 | speedbar-expand-image-button-alist)) | ||
| 82 | (ezimage-insert-image-button-maybe start length)))) | ||
| 83 | |||
| 84 | (defun speedbar-image-dump () | ||
| 85 | "Dump out the current state of the Speedbar image alist. | ||
| 86 | See `speedbar-expand-image-button-alist' for details." | ||
| 87 | (interactive) | ||
| 88 | (with-output-to-temp-buffer "*Speedbar Images*" | ||
| 89 | (save-excursion | ||
| 90 | (set-buffer "*Speedbar Images*") | ||
| 91 | (goto-char (point-max)) | ||
| 92 | (insert "Speedbar image cache.\n\n") | ||
| 93 | (let ((start (point)) (end nil)) | ||
| 94 | (insert "Image\tText\tImage Name") | ||
| 95 | (setq end (point)) | ||
| 96 | (insert "\n") | ||
| 97 | (put-text-property start end 'face 'underline)) | ||
| 98 | (let ((ia speedbar-expand-image-button-alist)) | ||
| 99 | (while ia | ||
| 100 | (let ((start (point))) | ||
| 101 | (insert (car (car ia))) | ||
| 102 | (insert "\t") | ||
| 103 | (speedbar-insert-image-button-maybe start | ||
| 104 | (length (car (car ia)))) | ||
| 105 | (insert (car (car ia)) "\t" (format "%s" (cdr (car ia))) "\n")) | ||
| 106 | (setq ia (cdr ia))))))) | ||
| 107 | |||
| 108 | (provide 'sb-image) | ||
| 109 | |||
| 110 | ;; arch-tag: 6b05accd-e8b8-4290-8379-f063f3dacabb | ||
| 111 | ;;; sb-image.el ends here | ||
diff --git a/lisp/sb-mail.xpm b/lisp/sb-mail.xpm deleted file mode 100644 index fecc0a1aa38..00000000000 --- a/lisp/sb-mail.xpm +++ /dev/null | |||
| @@ -1,23 +0,0 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_mail_xpm[] = { | ||
| 3 | "20 15 5 1", | ||
| 4 | " c None", | ||
| 5 | ". c #B8B8B8", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #828282", | ||
| 8 | "# c #FFFFFF", | ||
| 9 | " .................. ", | ||
| 10 | ".++++++++++++++++++@", | ||
| 11 | ".++##############++@", | ||
| 12 | ".+#++##########++#+@", | ||
| 13 | ".+###++######++###+@", | ||
| 14 | ".+#####++##++#####+@", | ||
| 15 | ".+#######++#######+@", | ||
| 16 | ".+################+@", | ||
| 17 | ".+####+######+####+@", | ||
| 18 | ".+################+@", | ||
| 19 | ".+##+##########+##+@", | ||
| 20 | ".+################+@", | ||
| 21 | ".++##############++@", | ||
| 22 | ".++++++++++++++++++@", | ||
| 23 | " @@@@@@@@@@@@@@@@@@ "}; | ||
diff --git a/lisp/sb-pg-minus.xpm b/lisp/sb-pg-minus.xpm deleted file mode 100644 index e512d25120a..00000000000 --- a/lisp/sb-pg-minus.xpm +++ /dev/null | |||
| @@ -1,23 +0,0 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_pg_minus_xpm[] = { | ||
| 3 | "20 15 5 1", | ||
| 4 | " c None", | ||
| 5 | ". c #B8B8B8", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #828282", | ||
| 8 | "# c #FFFFFF", | ||
| 9 | " ............ ", | ||
| 10 | " .++++++++++++@", | ||
| 11 | " .++##########+@", | ||
| 12 | " .+#+##########+@", | ||
| 13 | " .+##+##########+@", | ||
| 14 | " .+###+##########+@", | ||
| 15 | " .+####+##########+@", | ||
| 16 | ".+++++++#+++++####+@", | ||
| 17 | ".+########.....###+@", | ||
| 18 | ".+################+@", | ||
| 19 | ".+################+@", | ||
| 20 | ".+################+@", | ||
| 21 | ".+################+@", | ||
| 22 | ".++++++++++++++++++@", | ||
| 23 | " @@@@@@@@@@@@@@@@@@ "}; | ||
diff --git a/lisp/sb-pg-plus.xpm b/lisp/sb-pg-plus.xpm deleted file mode 100644 index f0e74678249..00000000000 --- a/lisp/sb-pg-plus.xpm +++ /dev/null | |||
| @@ -1,23 +0,0 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_pg_plus_xpm[] = { | ||
| 3 | "20 15 5 1", | ||
| 4 | " c None", | ||
| 5 | ". c #B8B8B8", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #828282", | ||
| 8 | "# c #FFFFFF", | ||
| 9 | " ............ ", | ||
| 10 | " .++++++++++++@", | ||
| 11 | " .++##########+@", | ||
| 12 | " .+#+##########+@", | ||
| 13 | " .+##+##########+@", | ||
| 14 | " .+###+###+######+@", | ||
| 15 | " .+####+###+.#####+@", | ||
| 16 | ".+++++++#+++++####+@", | ||
| 17 | ".+########.+...###+@", | ||
| 18 | ".+#########+.#####+@", | ||
| 19 | ".+##########.#####+@", | ||
| 20 | ".+################+@", | ||
| 21 | ".+################+@", | ||
| 22 | ".++++++++++++++++++@", | ||
| 23 | " @@@@@@@@@@@@@@@@@@ "}; | ||
diff --git a/lisp/sb-pg.xpm b/lisp/sb-pg.xpm deleted file mode 100644 index 3a210bfa897..00000000000 --- a/lisp/sb-pg.xpm +++ /dev/null | |||
| @@ -1,23 +0,0 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_pg_xpm[] = { | ||
| 3 | "20 15 5 1", | ||
| 4 | " c None", | ||
| 5 | ". c #B8B8B8", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #828282", | ||
| 8 | "# c #FFFFFF", | ||
| 9 | " ............ ", | ||
| 10 | " .++++++++++++@", | ||
| 11 | " .++##########+@", | ||
| 12 | " .+#+##########+@", | ||
| 13 | " .+##+##########+@", | ||
| 14 | " .+###+##########+@", | ||
| 15 | " .+####+##########+@", | ||
| 16 | ".+++++++##########+@", | ||
| 17 | ".+################+@", | ||
| 18 | ".+################+@", | ||
| 19 | ".+################+@", | ||
| 20 | ".+################+@", | ||
| 21 | ".+################+@", | ||
| 22 | ".++++++++++++++++++@", | ||
| 23 | " @@@@@@@@@@@@@@@@@@ "}; | ||
diff --git a/lisp/sb-tag-gt.xpm b/lisp/sb-tag-gt.xpm deleted file mode 100644 index 9db11a13e8f..00000000000 --- a/lisp/sb-tag-gt.xpm +++ /dev/null | |||
| @@ -1,23 +0,0 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_tag_gt_xpm[] = { | ||
| 3 | "20 15 5 1", | ||
| 4 | " c None", | ||
| 5 | ". c #B8B8B8", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #FFF993", | ||
| 8 | "# c #828282", | ||
| 9 | " ", | ||
| 10 | " ", | ||
| 11 | " .............. ", | ||
| 12 | " .++++++++++++++. ", | ||
| 13 | " .+@@@@@++@@@@@@@+#", | ||
| 14 | " .+@@@@@@+++@@@@@@+#", | ||
| 15 | ".+@@@@@@@++++@@@@@+#", | ||
| 16 | ".+@++@@@@+++++@@@@+#", | ||
| 17 | ".+@++@@@@+++++#@@@+#", | ||
| 18 | ".+@@@@@@@++++#@@@@+#", | ||
| 19 | " #+@@@@@@+++#@@@@@+#", | ||
| 20 | " #+@@@@@++#@@@@@@+#", | ||
| 21 | " #++++++#+++++++# ", | ||
| 22 | " ############## ", | ||
| 23 | " "}; | ||
diff --git a/lisp/sb-tag-minus.xpm b/lisp/sb-tag-minus.xpm deleted file mode 100644 index 560aaa3aa82..00000000000 --- a/lisp/sb-tag-minus.xpm +++ /dev/null | |||
| @@ -1,23 +0,0 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_tag_minus_xpm[] = { | ||
| 3 | "20 15 5 1", | ||
| 4 | " c None", | ||
| 5 | ". c #B8B8B8", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #FFF993", | ||
| 8 | "# c #828282", | ||
| 9 | " ", | ||
| 10 | " ", | ||
| 11 | " .............. ", | ||
| 12 | " .++++++++++++++. ", | ||
| 13 | " .+@@@@@@@@@@@@@@+#", | ||
| 14 | " .+@@@@@@@@@@@@@@@+#", | ||
| 15 | ".+@@@@@@@@@@@@@@@@+#", | ||
| 16 | ".+@++@@+++++@@@@@@+#", | ||
| 17 | ".+@++@@@.....@@@@@+#", | ||
| 18 | ".+@@@@@@@@@@@@@@@@+#", | ||
| 19 | " #+@@@@@@@@@@@@@@@+#", | ||
| 20 | " #+@@@@@@@@@@@@@@+#", | ||
| 21 | " #++++++++++++++# ", | ||
| 22 | " ############## ", | ||
| 23 | " "}; | ||
diff --git a/lisp/sb-tag-plus.xpm b/lisp/sb-tag-plus.xpm deleted file mode 100644 index 3dcf2f87c5d..00000000000 --- a/lisp/sb-tag-plus.xpm +++ /dev/null | |||
| @@ -1,23 +0,0 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_tag_plus_xpm[] = { | ||
| 3 | "20 15 5 1", | ||
| 4 | " c None", | ||
| 5 | ". c #B8B8B8", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #FFF993", | ||
| 8 | "# c #828282", | ||
| 9 | " ", | ||
| 10 | " ", | ||
| 11 | " .............. ", | ||
| 12 | " .++++++++++++++. ", | ||
| 13 | " .+@@@@@@@@@@@@@@+#", | ||
| 14 | " .+@@@@@@+@@@@@@@@+#", | ||
| 15 | ".+@@@@@@@+.@@@@@@@+#", | ||
| 16 | ".+@++@@+++++@@@@@@+#", | ||
| 17 | ".+@++@@@.+...@@@@@+#", | ||
| 18 | ".+@@@@@@@+.@@@@@@@+#", | ||
| 19 | " #+@@@@@@@.@@@@@@@+#", | ||
| 20 | " #+@@@@@@@@@@@@@@+#", | ||
| 21 | " #++++++++++++++# ", | ||
| 22 | " ############## ", | ||
| 23 | " "}; | ||
diff --git a/lisp/sb-tag-type.xpm b/lisp/sb-tag-type.xpm deleted file mode 100644 index 3abe408a66b..00000000000 --- a/lisp/sb-tag-type.xpm +++ /dev/null | |||
| @@ -1,23 +0,0 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_tag_type_xpm[] = { | ||
| 3 | "20 15 5 1", | ||
| 4 | " c None", | ||
| 5 | ". c #B8B8B8", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #FFF993", | ||
| 8 | "# c #828282", | ||
| 9 | " ", | ||
| 10 | " ", | ||
| 11 | " .............. ", | ||
| 12 | " .++++++++++++++. ", | ||
| 13 | " .+@@@@@@@@@@@@@@+#", | ||
| 14 | " .+@@@@@@++++++@@@+#", | ||
| 15 | ".+@@@@@@@++++++@@@+#", | ||
| 16 | ".+@++@@@@@@++@@@@@+#", | ||
| 17 | ".+@++@@@@@@++@@@@@+#", | ||
| 18 | ".+@@@@@@@@@++@@@@@+#", | ||
| 19 | " #+@@@@@@@@++@@@@@+#", | ||
| 20 | " #+@@@@@@@@@@@@@@+#", | ||
| 21 | " #++++++++++++++# ", | ||
| 22 | " ############## ", | ||
| 23 | " "}; | ||
diff --git a/lisp/sb-tag-v.xpm b/lisp/sb-tag-v.xpm deleted file mode 100644 index ae447adc8e4..00000000000 --- a/lisp/sb-tag-v.xpm +++ /dev/null | |||
| @@ -1,23 +0,0 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_tag_v_xpm[] = { | ||
| 3 | "20 15 5 1", | ||
| 4 | " c None", | ||
| 5 | ". c #B8B8B8", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #FFF993", | ||
| 8 | "# c #828282", | ||
| 9 | " ", | ||
| 10 | " ", | ||
| 11 | " .............. ", | ||
| 12 | " .++++++++++++++. ", | ||
| 13 | " .+@@@@@@@@@@@@@@+#", | ||
| 14 | " .+@@@++++++++++#@+#", | ||
| 15 | ".+@@@@@++++++++#@@+#", | ||
| 16 | ".+@++@@@++++++#@@@+#", | ||
| 17 | ".+@++@@@@++++#@@@@+#", | ||
| 18 | ".+@@@@@@@@++#@@@@@+#", | ||
| 19 | " #+@@@@@@@@#@@@@@@+#", | ||
| 20 | " #+@@@@@@@@@@@@@@+#", | ||
| 21 | " #++++++++++++++# ", | ||
| 22 | " ############## ", | ||
| 23 | " "}; | ||
diff --git a/lisp/sb-tag.xpm b/lisp/sb-tag.xpm deleted file mode 100644 index 900bfd34b26..00000000000 --- a/lisp/sb-tag.xpm +++ /dev/null | |||
| @@ -1,23 +0,0 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * sb_tag_xpm[] = { | ||
| 3 | "20 15 5 1", | ||
| 4 | " c None", | ||
| 5 | ". c #B8B8B8", | ||
| 6 | "+ c #000000", | ||
| 7 | "@ c #FFF993", | ||
| 8 | "# c #828282", | ||
| 9 | " ", | ||
| 10 | " ", | ||
| 11 | " .............. ", | ||
| 12 | " .++++++++++++++. ", | ||
| 13 | " .+@@@@@@@@@@@@@@+#", | ||
| 14 | " .+@@@@@@@@@@@@@@@+#", | ||
| 15 | ".+@@@@@@@@@@@@@@@@+#", | ||
| 16 | ".+@++@@@@@@@@@@@@@+#", | ||
| 17 | ".+@++@@@@@@@@@@@@@+#", | ||
| 18 | ".+@@@@@@@@@@@@@@@@+#", | ||
| 19 | " #+@@@@@@@@@@@@@@@+#", | ||
| 20 | " #+@@@@@@@@@@@@@@+#", | ||
| 21 | " #++++++++++++++# ", | ||
| 22 | " ############## ", | ||
| 23 | " "}; | ||
diff --git a/lisp/simple.el b/lisp/simple.el index d0b9ef5ab80..0faa4d7e566 100644 --- a/lisp/simple.el +++ b/lisp/simple.el | |||
| @@ -261,6 +261,14 @@ See variables `compilation-parse-errors-function' and | |||
| 261 | (funcall next-error-function (prefix-numeric-value arg) reset) | 261 | (funcall next-error-function (prefix-numeric-value arg) reset) |
| 262 | (run-hooks 'next-error-hook)))) | 262 | (run-hooks 'next-error-hook)))) |
| 263 | 263 | ||
| 264 | (defun next-error-internal () | ||
| 265 | "Visit the source code corresponding to the `next-error' message at point." | ||
| 266 | (setq next-error-last-buffer (current-buffer)) | ||
| 267 | ;; we know here that next-error-function is a valid symbol we can funcall | ||
| 268 | (with-current-buffer next-error-last-buffer | ||
| 269 | (funcall next-error-function 0 nil) | ||
| 270 | (run-hooks 'next-error-hook))) | ||
| 271 | |||
| 264 | (defalias 'goto-next-locus 'next-error) | 272 | (defalias 'goto-next-locus 'next-error) |
| 265 | (defalias 'next-match 'next-error) | 273 | (defalias 'next-match 'next-error) |
| 266 | 274 | ||
| @@ -888,22 +896,42 @@ in *Help* buffer. See also the command `describe-char'." | |||
| 888 | (message "point=%d of %d (%d%%) column %d %s" | 896 | (message "point=%d of %d (%d%%) column %d %s" |
| 889 | pos total percent col hscroll)) | 897 | pos total percent col hscroll)) |
| 890 | (let ((coding buffer-file-coding-system) | 898 | (let ((coding buffer-file-coding-system) |
| 891 | encoded encoding-msg) | 899 | encoded encoding-msg display-prop under-display) |
| 892 | (if (or (not coding) | 900 | (if (or (not coding) |
| 893 | (eq (coding-system-type coding) t)) | 901 | (eq (coding-system-type coding) t)) |
| 894 | (setq coding default-buffer-file-coding-system)) | 902 | (setq coding default-buffer-file-coding-system)) |
| 895 | (if (eq (char-charset char) 'eight-bit) | 903 | (if (eq (char-charset char) 'eight-bit) |
| 896 | (setq encoding-msg | 904 | (setq encoding-msg |
| 897 | (format "(0%o, %d, 0x%x, raw-byte)" char char char)) | 905 | (format "(0%o, %d, 0x%x, raw-byte)" char char char)) |
| 898 | (setq encoded (and (>= char 128) (encode-coding-char char coding))) | 906 | ;; Check if the character is displayed with some `display' |
| 907 | ;; text property. In that case, set under-display to the | ||
| 908 | ;; buffer substring covered by that property. | ||
| 909 | (setq display-prop (get-text-property pos 'display)) | ||
| 910 | (if display-prop | ||
| 911 | (let ((to (or (next-single-property-change pos 'display) | ||
| 912 | (point-max)))) | ||
| 913 | (if (< to (+ pos 4)) | ||
| 914 | (setq under-display "") | ||
| 915 | (setq under-display "..." | ||
| 916 | to (+ pos 4))) | ||
| 917 | (setq under-display | ||
| 918 | (concat (buffer-substring-no-properties pos to) | ||
| 919 | under-display))) | ||
| 920 | (setq encoded (and (>= char 128) (encode-coding-char char coding)))) | ||
| 899 | (setq encoding-msg | 921 | (setq encoding-msg |
| 900 | (if encoded | 922 | (if display-prop |
| 901 | (format "(0%o, %d, 0x%x, file %s)" | 923 | (if (not (stringp display-prop)) |
| 902 | char char char | 924 | (format "(0%o, %d, 0x%x, part of display \"%s\")" |
| 903 | (if (> (length encoded) 1) | 925 | char char char under-display) |
| 904 | "..." | 926 | (format "(0%o, %d, 0x%x, part of display \"%s\"->\"%s\")" |
| 905 | (encoded-string-description encoded coding))) | 927 | char char char under-display display-prop)) |
| 906 | (format "(0%o, %d, 0x%x)" char char char)))) | 928 | (if encoded |
| 929 | (format "(0%o, %d, 0x%x, file %s)" | ||
| 930 | char char char | ||
| 931 | (if (> (length encoded) 1) | ||
| 932 | "..." | ||
| 933 | (encoded-string-description encoded coding))) | ||
| 934 | (format "(0%o, %d, 0x%x)" char char char))))) | ||
| 907 | (if detail | 935 | (if detail |
| 908 | ;; We show the detailed information about CHAR. | 936 | ;; We show the detailed information about CHAR. |
| 909 | (describe-char (point))) | 937 | (describe-char (point))) |
| @@ -914,9 +942,11 @@ in *Help* buffer. See also the command `describe-char'." | |||
| 914 | (buffer-substring-no-properties (point) (1+ (point)))) | 942 | (buffer-substring-no-properties (point) (1+ (point)))) |
| 915 | encoding-msg pos total percent beg end col hscroll) | 943 | encoding-msg pos total percent beg end col hscroll) |
| 916 | (message "Char: %s %s point=%d of %d (%d%%) column %d %s" | 944 | (message "Char: %s %s point=%d of %d (%d%%) column %d %s" |
| 917 | (if (< char 256) | 945 | (if enable-multibyte-characters |
| 918 | (single-key-description char) | 946 | (if (< char 128) |
| 919 | (buffer-substring-no-properties (point) (1+ (point)))) | 947 | (single-key-description char) |
| 948 | (buffer-substring-no-properties (point) (1+ (point)))) | ||
| 949 | (single-key-description char)) | ||
| 920 | encoding-msg pos total percent col hscroll)))))) | 950 | encoding-msg pos total percent col hscroll)))))) |
| 921 | 951 | ||
| 922 | (defvar read-expression-map | 952 | (defvar read-expression-map |
diff --git a/lisp/speedbar.el b/lisp/speedbar.el index 434025ec07c..cdb592a3944 100644 --- a/lisp/speedbar.el +++ b/lisp/speedbar.el | |||
| @@ -1,12 +1,17 @@ | |||
| 1 | ;;; speedbar.el --- quick access to files and tags in a frame | 1 | ;;; speedbar --- quick access to files and tags in a frame |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, | 3 | ;;; Copyright (C) 1996, 97, 98, 99, 00, 01, 02, 03, 04, 05 Free Software Foundation |
| 4 | ;; 2004, 2005 Free Software Foundation, Inc. | ||
| 5 | 4 | ||
| 6 | ;; Author: Eric M. Ludlam <zappo@gnu.org> | 5 | ;; Author: Eric M. Ludlam <zappo@gnu.org> |
| 7 | ;; Version: 0.11a | ||
| 8 | ;; Keywords: file, tags, tools | 6 | ;; Keywords: file, tags, tools |
| 9 | 7 | ||
| 8 | (defvar speedbar-version "1.0" | ||
| 9 | "The current version of speedbar.") | ||
| 10 | (defvar speedbar-incompatible-version "0.14beta4" | ||
| 11 | "This version of speedbar is incompatible with this version. | ||
| 12 | Due to massive API changes (removing the use of the word PATH) | ||
| 13 | this version is not backward compatible to 0.14 or earlier.") | ||
| 14 | |||
| 10 | ;; This file is part of GNU Emacs. | 15 | ;; This file is part of GNU Emacs. |
| 11 | 16 | ||
| 12 | ;; GNU Emacs is free software; you can redistribute it and/or modify | 17 | ;; GNU Emacs is free software; you can redistribute it and/or modify |
| @@ -27,169 +32,38 @@ | |||
| 27 | ;;; Commentary: | 32 | ;;; Commentary: |
| 28 | ;; | 33 | ;; |
| 29 | ;; The speedbar provides a frame in which files, and locations in | 34 | ;; The speedbar provides a frame in which files, and locations in |
| 30 | ;; files are displayed. These items can be clicked on with mouse-2 | 35 | ;; files are displayed. These items can be clicked on with mouse-2 in |
| 31 | ;; in order to make the last active frame display that file location. | 36 | ;; to display that file location. |
| 32 | ;; | ||
| 33 | ;; Starting Speedbar: | ||
| 34 | ;; | ||
| 35 | ;; Simply type `M-x speedbar', and it will be autoloaded for you. | ||
| 36 | |||
| 37 | ;; If you want to choose it from a menu, such as "Tools", you can do this: | ||
| 38 | ;; | ||
| 39 | ;; (define-key-after (lookup-key global-map [menu-bar tools]) | ||
| 40 | ;; [speedbar] '("Speedbar" . speedbar-frame-mode) [calendar]) | ||
| 41 | ;; | ||
| 42 | ;; If you want to access speedbar using only the keyboard, do this: | ||
| 43 | ;; | ||
| 44 | ;; (global-set-key [f4] 'speedbar-get-focus) | ||
| 45 | ;; | ||
| 46 | ;; This will let you hit f4 (or whatever key you choose) to jump | ||
| 47 | ;; focus to the speedbar frame. Pressing it again will bring you back | ||
| 48 | ;; to the attached frame. Pressing RET or e to jump to a file | ||
| 49 | ;; or tag will move you back to the attached frame. The command | ||
| 50 | ;; `speedbar-get-focus' will also create a speedbar frame if it does | ||
| 51 | ;; not exist. | ||
| 52 | ;; | ||
| 53 | ;; Customizing Speedbar: | ||
| 54 | ;; | ||
| 55 | ;; Once a speedbar frame is active, it takes advantage of idle time | ||
| 56 | ;; to keep its contents updated. The contents is usually a list of | ||
| 57 | ;; files in the directory of the currently active buffer. When | ||
| 58 | ;; applicable, tags in the active file can be expanded. | ||
| 59 | ;; | ||
| 60 | ;; To add new supported files types into speedbar, use the function | ||
| 61 | ;; `speedbar-add-supported-extension'. If speedbar complains that the | ||
| 62 | ;; file type is not supported, that means there is no built in | ||
| 63 | ;; support from imenu, and the etags part wasn't set up correctly. You | ||
| 64 | ;; may add elements to `speedbar-supported-extension-expressions' as long | ||
| 65 | ;; as it is done before speedbar is loaded. | ||
| 66 | ;; | 37 | ;; |
| 67 | ;; To prevent speedbar from following you into certain directories | 38 | ;;; Customizing and Developing for speedbar |
| 68 | ;; use the function `speedbar-add-ignored-path-regexp' to add a new | ||
| 69 | ;; regular expression matching a type of path. You may add list | ||
| 70 | ;; elements to `speedbar-ignored-path-expressions' as long as it is | ||
| 71 | ;; done before speedbar is loaded. | ||
| 72 | ;; | 39 | ;; |
| 73 | ;; To add new file types to imenu, see the documentation in the | 40 | ;; Please see the speedbar manual for informaion. |
| 74 | ;; file imenu.el that comes with Emacs. To add new file types which | ||
| 75 | ;; etags supports, you need to modify the variable | ||
| 76 | ;; `speedbar-fetch-etags-parse-list'. | ||
| 77 | ;; | 41 | ;; |
| 78 | ;; If the updates are going too slow for you, modify the variable | 42 | ;;; Notes: |
| 79 | ;; `speedbar-update-speed' to a longer idle time before updates. | ||
| 80 | ;; | 43 | ;; |
| 81 | ;; If you navigate directories, you will probably notice that you | 44 | ;; Users of really old emacsen without the need timer functions |
| 82 | ;; will navigate to a directory which is eventually replaced after | 45 | ;; will not have speedbar updating automatically. Use "g" to refresh |
| 83 | ;; you go back to editing a file (unless you pull up a new file.) | 46 | ;; the display after changing directories. Remember, do not interrupt |
| 84 | ;; The delay time before this happens is in | 47 | ;; the stealthy updates or your display may not be completely |
| 85 | ;; `speedbar-navigating-speed', and defaults to 10 seconds. | 48 | ;; refreshed. |
| 86 | ;; | 49 | ;; |
| 87 | ;; To enable mouse tracking with information in the minibuffer of | 50 | ;; AUC-TEX users: The imenu tags for AUC-TEX mode don't work very |
| 88 | ;; the attached frame, use the variable `speedbar-track-mouse-flag'. | ||
| 89 | ;; | ||
| 90 | ;; Tag layout can be modified through `speedbar-tag-hierarchy-method', | ||
| 91 | ;; which controls how tags are layed out. It is actually a list of | ||
| 92 | ;; functions that filter the data. The default groups large tag lists | ||
| 93 | ;; into sub-lists. A long flat list can be used instead if needed. | ||
| 94 | ;; Other filters can be easily added. | ||
| 95 | ;; | ||
| 96 | ;; AUCTEX users: The imenu tags for AUCTEX mode doesn't work very | ||
| 97 | ;; well. Use the imenu keywords from tex-mode.el for better results. | 51 | ;; well. Use the imenu keywords from tex-mode.el for better results. |
| 98 | ;; | 52 | ;; |
| 99 | ;; This file requires the library package assoc (association lists) | 53 | ;; This file requires the library package assoc (association lists) |
| 54 | ;; assoc should be available in all modern versions of Emacs. | ||
| 55 | ;; The custom package is optional (for easy configuration of speedbar) | ||
| 56 | ;; http://www.dina.kvl.dk/~abraham/custom/ | ||
| 57 | ;; custom is available in all versions of Emacs version 20 or better. | ||
| 100 | ;; | 58 | ;; |
| 101 | ;;; Developing for speedbar | ||
| 102 | ;; | ||
| 103 | ;; Adding a speedbar specialized display mode: | ||
| 104 | ;; | ||
| 105 | ;; Speedbar can be configured to create a special display for certain | ||
| 106 | ;; modes that do not display traditional file/tag data. Rmail, Info, | ||
| 107 | ;; and the debugger are examples. These modes can, however, benefit | ||
| 108 | ;; from a speedbar style display in their own way. | ||
| 109 | ;; | ||
| 110 | ;; If your `major-mode' is `foo-mode', the only requirement is to | ||
| 111 | ;; create a function called `foo-speedbar-buttons' which takes one | ||
| 112 | ;; argument, BUFFER. BUFFER will be the buffer speedbar wants filled. | ||
| 113 | ;; In `foo-speedbar-buttons' there are several functions that make | ||
| 114 | ;; building a speedbar display easy. See the documentation for | ||
| 115 | ;; `speedbar-with-writable' (needed because the buffer is usually | ||
| 116 | ;; read-only) `speedbar-make-tag-line', `speedbar-insert-button', and | ||
| 117 | ;; `speedbar-insert-generic-list'. If you use | ||
| 118 | ;; `speedbar-insert-generic-list', also read the doc for | ||
| 119 | ;; `speedbar-tag-hierarchy-method' in case you wish to override it. | ||
| 120 | ;; The macro `speedbar-with-attached-buffer' brings you back to the | ||
| 121 | ;; buffer speedbar is displaying for. | ||
| 122 | ;; | ||
| 123 | ;; For those functions that make buttons, the "function" should be a | ||
| 124 | ;; symbol that is the function to call when clicked on. The "token" | ||
| 125 | ;; is extra data you can pass along. The "function" must take three | ||
| 126 | ;; parameters. They are (TEXT TOKEN INDENT). TEXT is the text of the | ||
| 127 | ;; button clicked on. TOKEN is the data passed in when you create the | ||
| 128 | ;; button. INDENT is an indentation level, or 0. You can store | ||
| 129 | ;; indentation levels with `speedbar-make-tag-line' which creates a | ||
| 130 | ;; line with an expander (eg. [+]) and a text button. | ||
| 131 | ;; | ||
| 132 | ;; Some useful functions when writing expand functions, and click | ||
| 133 | ;; functions are `speedbar-change-expand-button-char', | ||
| 134 | ;; `speedbar-delete-subblock', and `speedbar-center-buffer-smartly'. | ||
| 135 | ;; The variable `speedbar-power-click' is set to t in your functions | ||
| 136 | ;; when the user shift-clicks. This is an indication of anything from | ||
| 137 | ;; refreshing cached data to making a buffer appear in a new frame. | ||
| 138 | ;; | ||
| 139 | ;; If you wish to add to the default speedbar menu for the case of | ||
| 140 | ;; `foo-mode', create a variable `foo-speedbar-menu-items'. This | ||
| 141 | ;; should be a list compatible with the `easymenu' package. It will | ||
| 142 | ;; be spliced into the main menu. (Available with click-mouse-3). If | ||
| 143 | ;; you wish to have extra key bindings in your special mode, create a | ||
| 144 | ;; variable `foo-speedbar-key-map'. Instead of using `make-keymap', | ||
| 145 | ;; or `make-sparse-keymap', use the function | ||
| 146 | ;; `speedbar-make-specialized-keymap'. This lets you inherit all of | ||
| 147 | ;; speedbar's default bindings with low overhead. | ||
| 148 | ;; | ||
| 149 | ;; Adding a speedbar top-level display mode: | ||
| 150 | ;; | ||
| 151 | ;; Unlike the specialized modes, there are no name requirements, | ||
| 152 | ;; however the methods for writing a button display, menu, and keymap | ||
| 153 | ;; are the same. Once you create these items, you can call the | ||
| 154 | ;; function `speedbar-add-expansion-list'. It takes one parameter | ||
| 155 | ;; which is a list element of the form (NAME MENU KEYMAP &rest | ||
| 156 | ;; BUTTON-FUNCTIONS). NAME is a string that will show up in the | ||
| 157 | ;; Displays menu item. MENU is a symbol containing the menu items to | ||
| 158 | ;; splice in. KEYMAP is a symbol holding the keymap to use, and | ||
| 159 | ;; BUTTON-FUNCTIONS are the function names to call, in order, to create | ||
| 160 | ;; the display. | ||
| 161 | ;; Another tweakable variable is `speedbar-stealthy-function-list' | ||
| 162 | ;; which is of the form (NAME &rest FUNCTION ...). NAME is the string | ||
| 163 | ;; name matching `speedbar-add-expansion-list'. (It does not need to | ||
| 164 | ;; exist.). This provides additional display info which might be | ||
| 165 | ;; time-consuming to calculate. | ||
| 166 | ;; Lastly, `speedbar-mode-functions-list' allows you to set special | ||
| 167 | ;; function overrides. At the moment very few functions may be | ||
| 168 | ;; overridden, but more will be added as the need is discovered. | ||
| 169 | 59 | ||
| 170 | ;;; TODO: | 60 | ;;; TODO: |
| 171 | ;; - More functions to create buttons and options | ||
| 172 | ;; - Timeout directories we haven't visited in a while. | 61 | ;; - Timeout directories we haven't visited in a while. |
| 173 | 62 | ||
| 174 | ;;; Code: | ||
| 175 | |||
| 176 | (require 'assoc) | 63 | (require 'assoc) |
| 177 | (require 'easymenu) | 64 | (require 'easymenu) |
| 178 | 65 | (require 'dframe) | |
| 179 | (condition-case nil | 66 | (require 'sb-image) |
| 180 | (require 'image) | ||
| 181 | (error nil)) | ||
| 182 | |||
| 183 | (defvar ange-ftp-path-format) | ||
| 184 | (defvar efs-path-regexp) | ||
| 185 | (defvar font-lock-keywords) | ||
| 186 | (defvar x-pointer-hand2) | ||
| 187 | (defvar x-pointer-top-left-arrow) | ||
| 188 | |||
| 189 | (defvar speedbar-xemacsp (string-match "XEmacs" emacs-version) | ||
| 190 | "Non-nil if we are running in the XEmacs environment.") | ||
| 191 | (defvar speedbar-xemacs20p (and speedbar-xemacsp | ||
| 192 | (>= emacs-major-version 20))) | ||
| 193 | 67 | ||
| 194 | ;; customization stuff | 68 | ;; customization stuff |
| 195 | (defgroup speedbar nil | 69 | (defgroup speedbar nil |
| @@ -197,7 +71,8 @@ | |||
| 197 | :group 'etags | 71 | :group 'etags |
| 198 | :group 'tools | 72 | :group 'tools |
| 199 | :group 'convenience | 73 | :group 'convenience |
| 200 | :version "20.3") | 74 | ; :version "20.3" |
| 75 | ) | ||
| 201 | 76 | ||
| 202 | (defgroup speedbar-faces nil | 77 | (defgroup speedbar-faces nil |
| 203 | "Faces used in speedbar." | 78 | "Faces used in speedbar." |
| @@ -210,6 +85,27 @@ | |||
| 210 | :prefix "speedbar-" | 85 | :prefix "speedbar-" |
| 211 | :group 'speedbar) | 86 | :group 'speedbar) |
| 212 | 87 | ||
| 88 | ;;; Code: | ||
| 89 | |||
| 90 | ;; Note: `inversion-test' requires parts of the CEDET package that are | ||
| 91 | ;; not included with Emacs. | ||
| 92 | ;; | ||
| 93 | ;; (defun speedbar-require-version (major minor &optional beta) | ||
| 94 | ;; "Non-nil if this version of SPEEDBAR does not satisfy a specific version. | ||
| 95 | ;; Arguments can be: | ||
| 96 | ;; | ||
| 97 | ;; (MAJOR MINOR &optional BETA) | ||
| 98 | ;; | ||
| 99 | ;; Values MAJOR and MINOR must be integers. BETA can be an integer, or | ||
| 100 | ;; excluded if a released version is required. | ||
| 101 | ;; | ||
| 102 | ;; It is assumed that if the current version is newer than that specified, | ||
| 103 | ;; everything passes. Exceptions occur when known incompatibilities are | ||
| 104 | ;; introduced." | ||
| 105 | ;; (inversion-test 'speedbar | ||
| 106 | ;; (concat major "." minor | ||
| 107 | ;; (when beta (concat "beta" beta))))) | ||
| 108 | |||
| 213 | (defvar speedbar-initial-expansion-mode-alist | 109 | (defvar speedbar-initial-expansion-mode-alist |
| 214 | '(("buffers" speedbar-buffer-easymenu-definition speedbar-buffers-key-map | 110 | '(("buffers" speedbar-buffer-easymenu-definition speedbar-buffers-key-map |
| 215 | speedbar-buffer-buttons) | 111 | speedbar-buffer-buttons) |
| @@ -244,7 +140,10 @@ the user is done with the current expansion list.") | |||
| 244 | 140 | ||
| 245 | (defvar speedbar-stealthy-function-list | 141 | (defvar speedbar-stealthy-function-list |
| 246 | '(("files" | 142 | '(("files" |
| 247 | speedbar-update-current-file speedbar-check-vc speedbar-check-objects) | 143 | speedbar-update-current-file |
| 144 | speedbar-check-read-only | ||
| 145 | speedbar-check-vc | ||
| 146 | speedbar-check-objects) | ||
| 248 | ) | 147 | ) |
| 249 | "List of functions to periodically call stealthily. | 148 | "List of functions to periodically call stealthily. |
| 250 | This list is of the form: | 149 | This list is of the form: |
| @@ -260,11 +159,11 @@ interruption. See `speedbar-check-vc' as a good example.") | |||
| 260 | 159 | ||
| 261 | (defvar speedbar-mode-functions-list | 160 | (defvar speedbar-mode-functions-list |
| 262 | '(("files" (speedbar-item-info . speedbar-files-item-info) | 161 | '(("files" (speedbar-item-info . speedbar-files-item-info) |
| 263 | (speedbar-line-path . speedbar-files-line-path)) | 162 | (speedbar-line-directory . speedbar-files-line-directory)) |
| 264 | ("buffers" (speedbar-item-info . speedbar-buffers-item-info) | 163 | ("buffers" (speedbar-item-info . speedbar-buffers-item-info) |
| 265 | (speedbar-line-path . speedbar-buffers-line-path)) | 164 | (speedbar-line-directory . speedbar-buffers-line-directory)) |
| 266 | ("quick buffers" (speedbar-item-info . speedbar-buffers-item-info) | 165 | ("quick buffers" (speedbar-item-info . speedbar-buffers-item-info) |
| 267 | (speedbar-line-path . speedbar-buffers-line-path)) | 166 | (speedbar-line-directory . speedbar-buffers-line-directory)) |
| 268 | ) | 167 | ) |
| 269 | "List of function tables to use for different major display modes. | 168 | "List of function tables to use for different major display modes. |
| 270 | It is not necessary to define any functions for a specialized mode. | 169 | It is not necessary to define any functions for a specialized mode. |
| @@ -285,6 +184,20 @@ frame." | |||
| 285 | :group 'speedbar | 184 | :group 'speedbar |
| 286 | :type 'boolean) | 185 | :type 'boolean) |
| 287 | 186 | ||
| 187 | (defcustom speedbar-query-confirmation-method 'all | ||
| 188 | "*Query control for file operations. | ||
| 189 | The 'always flag means to always query before file operations. | ||
| 190 | The 'none-but-delete flag means to not query before any file | ||
| 191 | operations, except before a file deletion." | ||
| 192 | :group 'speedbar | ||
| 193 | :type '(radio (const :tag "Always Query before some file operations." | ||
| 194 | all) | ||
| 195 | (const :tag "Never Query before file operations, except for deletions." | ||
| 196 | none-but-delete) | ||
| 197 | ;;;; (const :tag "Never Every Query." | ||
| 198 | ;;;; none) | ||
| 199 | )) | ||
| 200 | |||
| 288 | (defvar speedbar-special-mode-expansion-list nil | 201 | (defvar speedbar-special-mode-expansion-list nil |
| 289 | "Default function list for creating specialized button lists. | 202 | "Default function list for creating specialized button lists. |
| 290 | This list is set by modes that wish to have special speedbar displays. | 203 | This list is set by modes that wish to have special speedbar displays. |
| @@ -297,30 +210,40 @@ speedbar buffer.") | |||
| 297 | This keymap is local to each buffer that wants to define special keybindings | 210 | This keymap is local to each buffer that wants to define special keybindings |
| 298 | effective when its display is shown.") | 211 | effective when its display is shown.") |
| 299 | 212 | ||
| 213 | (defcustom speedbar-before-visiting-file-hook '(push-mark) | ||
| 214 | "*Hooks run before speedbar visits a file in the selected frame. | ||
| 215 | The default buffer is the buffer in the selected window in the attached frame." | ||
| 216 | :group 'speedbar | ||
| 217 | :type 'hook) | ||
| 218 | |||
| 300 | (defcustom speedbar-visiting-file-hook nil | 219 | (defcustom speedbar-visiting-file-hook nil |
| 301 | "Hooks run when speedbar visits a file in the selected frame." | 220 | "*Hooks run when speedbar visits a file in the selected frame." |
| 221 | :group 'speedbar | ||
| 222 | :type 'hook) | ||
| 223 | |||
| 224 | (defcustom speedbar-before-visiting-tag-hook '(push-mark) | ||
| 225 | "*Hooks run before speedbar visits a tag in the selected frame. | ||
| 226 | The default buffer is the buffer in the selected window in the attached frame." | ||
| 302 | :group 'speedbar | 227 | :group 'speedbar |
| 303 | :type 'hook) | 228 | :type 'hook) |
| 304 | 229 | ||
| 305 | (defcustom speedbar-visiting-tag-hook '(speedbar-highlight-one-tag-line) | 230 | (defcustom speedbar-visiting-tag-hook '(speedbar-highlight-one-tag-line) |
| 306 | "Hooks run when speedbar visits a tag in the selected frame." | 231 | "*Hooks run when speedbar visits a tag in the selected frame." |
| 307 | :group 'speedbar | 232 | :group 'speedbar |
| 308 | :type 'hook | 233 | :type 'hook |
| 309 | :version "21.1" | ||
| 310 | :options '(speedbar-highlight-one-tag-line | 234 | :options '(speedbar-highlight-one-tag-line |
| 311 | speedbar-recenter-to-top | 235 | speedbar-recenter-to-top |
| 312 | speedbar-recenter | 236 | speedbar-recenter |
| 313 | )) | 237 | )) |
| 314 | 238 | ||
| 315 | (defcustom speedbar-load-hook nil | 239 | (defcustom speedbar-load-hook nil |
| 316 | "Hooks run when speedbar is loaded." | 240 | "*Hooks run when speedbar is loaded." |
| 317 | :group 'speedbar | 241 | :group 'speedbar |
| 318 | :type 'hook) | 242 | :type 'hook) |
| 319 | 243 | ||
| 320 | (defcustom speedbar-reconfigure-keymaps-hook nil | 244 | (defcustom speedbar-reconfigure-keymaps-hook nil |
| 321 | "Hooks run when the keymaps are regenerated." | 245 | "*Hooks run when the keymaps are regenerated." |
| 322 | :group 'speedbar | 246 | :group 'speedbar |
| 323 | :version "21.1" | ||
| 324 | :type 'hook) | 247 | :type 'hook) |
| 325 | 248 | ||
| 326 | (defcustom speedbar-show-unknown-files nil | 249 | (defcustom speedbar-show-unknown-files nil |
| @@ -329,34 +252,26 @@ nil means don't show the file in the list." | |||
| 329 | :group 'speedbar | 252 | :group 'speedbar |
| 330 | :type 'boolean) | 253 | :type 'boolean) |
| 331 | 254 | ||
| 332 | (defcustom speedbar-update-speed | 255 | ;;; EVENTUALLY REMOVE THESE |
| 333 | (if speedbar-xemacsp | ||
| 334 | (if speedbar-xemacs20p | ||
| 335 | 2 ; 1 is too obrusive in XEmacs | ||
| 336 | 5) ; when no idleness, need long delay | ||
| 337 | 1) | ||
| 338 | "*Idle time in seconds needed before speedbar will update itself. | ||
| 339 | Updates occur to allow speedbar to display directory information | ||
| 340 | relevant to the buffer you are currently editing." | ||
| 341 | :group 'speedbar | ||
| 342 | :type 'integer) | ||
| 343 | 256 | ||
| 344 | ;; When I moved to a repeating timer, I had the horrible missfortune | 257 | ;; When I moved to a repeating timer, I had the horrible missfortune |
| 345 | ;; of loosing the ability for adaptive speed choice. This update | 258 | ;; of loosing the ability for adaptive speed choice. This update |
| 346 | ;; speed currently causes long delays when it should have been turned off. | 259 | ;; speed currently causes long delays when it should have been turned off. |
| 347 | (defcustom speedbar-navigating-speed speedbar-update-speed | 260 | (defvar speedbar-update-speed dframe-update-speed |
| 348 | "*Idle time to wait after navigation commands in speedbar are executed. | 261 | "*Obsoleted variable. Use `dframe-update-speed'.") |
| 349 | Navigation commands included expanding/contracting nodes, and moving | 262 | |
| 350 | between different directories." | 263 | (defvar speedbar-navigating-speed dframe-update-speed |
| 351 | :group 'speedbar | 264 | "*Obsoleted variable. Use `dframe-update-speed'.") |
| 352 | :type 'integer) | 265 | ;;; END REMOVE THESE |
| 353 | 266 | ||
| 354 | (defcustom speedbar-frame-parameters '((minibuffer . nil) | 267 | (defcustom speedbar-frame-parameters '((minibuffer . nil) |
| 355 | (width . 20) | 268 | (width . 20) |
| 356 | (border-width . 0) | 269 | (border-width . 0) |
| 357 | (menu-bar-lines . 0) | 270 | (menu-bar-lines . 0) |
| 358 | (tool-bar-lines . 0) | 271 | (tool-bar-lines . 0) |
| 359 | (unsplittable . t)) | 272 | (unsplittable . t) |
| 273 | (left-fringe . 0) | ||
| 274 | ) | ||
| 360 | "*Parameters to use when creating the speedbar frame in Emacs. | 275 | "*Parameters to use when creating the speedbar frame in Emacs. |
| 361 | Any parameter supported by a frame may be added. The parameter `height' | 276 | Any parameter supported by a frame may be added. The parameter `height' |
| 362 | will be initialized to the height of the frame speedbar is | 277 | will be initialized to the height of the frame speedbar is |
| @@ -371,7 +286,9 @@ attached to and added to this list before the new frame is initialized." | |||
| 371 | '(minibuffer nil width 20 border-width 0 | 286 | '(minibuffer nil width 20 border-width 0 |
| 372 | internal-border-width 0 unsplittable t | 287 | internal-border-width 0 unsplittable t |
| 373 | default-toolbar-visible-p nil has-modeline-p nil | 288 | default-toolbar-visible-p nil has-modeline-p nil |
| 374 | menubar-visible-p nil) | 289 | menubar-visible-p nil |
| 290 | default-gutter-visible-p nil | ||
| 291 | ) | ||
| 375 | "*Parameters to use when creating the speedbar frame in XEmacs. | 292 | "*Parameters to use when creating the speedbar frame in XEmacs. |
| 376 | Parameters not listed here which will be added automatically are | 293 | Parameters not listed here which will be added automatically are |
| 377 | `height' which will be initialized to the height of the frame speedbar | 294 | `height' which will be initialized to the height of the frame speedbar |
| @@ -401,13 +318,22 @@ error occurred, and the next fetch routine is tried. | |||
| 401 | INSERT is a function which takes an INDENTation level, and a LIST of | 318 | INSERT is a function which takes an INDENTation level, and a LIST of |
| 402 | tags to insert. It will then create the speedbar buttons.") | 319 | tags to insert. It will then create the speedbar buttons.") |
| 403 | 320 | ||
| 404 | (defcustom speedbar-track-mouse-flag t | 321 | (defcustom speedbar-use-tool-tips-flag (and (not (featurep 'xemacs)) |
| 322 | (>= emacs-major-version 21)) | ||
| 323 | "*Non-nil means to use tool tips if they are avaialble. | ||
| 324 | When tooltips are not available, mouse-tracking and minibuffer | ||
| 325 | display is used instead." | ||
| 326 | :group 'speedbar | ||
| 327 | :type 'boolean) | ||
| 328 | |||
| 329 | (defcustom speedbar-track-mouse-flag (not speedbar-use-tool-tips-flag) | ||
| 405 | "*Non-nil means to display info about the line under the mouse." | 330 | "*Non-nil means to display info about the line under the mouse." |
| 406 | :group 'speedbar | 331 | :group 'speedbar |
| 407 | :type 'boolean) | 332 | :type 'boolean) |
| 408 | 333 | ||
| 409 | (defcustom speedbar-sort-tags nil | 334 | (defcustom speedbar-sort-tags nil |
| 410 | "*If non-nil, sort tags in the speedbar display. *Obsolete*." | 335 | "*If non-nil, sort tags in the speedbar display. *Obsolete*. |
| 336 | Use `semantic-tag-hierarchy-method' instead." | ||
| 411 | :group 'speedbar | 337 | :group 'speedbar |
| 412 | :type 'boolean) | 338 | :type 'boolean) |
| 413 | 339 | ||
| @@ -427,10 +353,10 @@ or | |||
| 427 | (GROUP-NAME-STRING ELT1 ELT2... ELTn)" | 353 | (GROUP-NAME-STRING ELT1 ELT2... ELTn)" |
| 428 | :group 'speedbar | 354 | :group 'speedbar |
| 429 | :type 'hook | 355 | :type 'hook |
| 430 | :options '(speedbar-sort-tag-hierarchy | 356 | :options '(speedbar-prefix-group-tag-hierarchy |
| 431 | speedbar-trim-words-tag-hierarchy | 357 | speedbar-trim-words-tag-hierarchy |
| 432 | speedbar-prefix-group-tag-hierarchy | 358 | speedbar-simple-group-tag-hierarchy |
| 433 | speedbar-simple-group-tag-hierarchy) | 359 | speedbar-sort-tag-hierarchy) |
| 434 | ) | 360 | ) |
| 435 | 361 | ||
| 436 | (defcustom speedbar-tag-group-name-minimum-length 4 | 362 | (defcustom speedbar-tag-group-name-minimum-length 4 |
| @@ -460,13 +386,6 @@ items is reached." | |||
| 460 | :group 'speedbar | 386 | :group 'speedbar |
| 461 | :type 'integer) | 387 | :type 'integer) |
| 462 | 388 | ||
| 463 | (defcustom speedbar-activity-change-focus-flag nil | ||
| 464 | "*Non-nil means the selected frame will change based on activity. | ||
| 465 | Thus, if a file is selected for edit, the buffer will appear in the | ||
| 466 | selected frame and the focus will change to that frame." | ||
| 467 | :group 'speedbar | ||
| 468 | :type 'boolean) | ||
| 469 | |||
| 470 | (defcustom speedbar-directory-button-trim-method 'span | 389 | (defcustom speedbar-directory-button-trim-method 'span |
| 471 | "*Indicates how the directory button will be displayed. | 390 | "*Indicates how the directory button will be displayed. |
| 472 | Possible values are: | 391 | Possible values are: |
| @@ -493,26 +412,19 @@ hierarchy would be replaced with the new directory." | |||
| 493 | (defcustom speedbar-indentation-width 1 | 412 | (defcustom speedbar-indentation-width 1 |
| 494 | "*When sub-nodes are expanded, the number of spaces used for indentation." | 413 | "*When sub-nodes are expanded, the number of spaces used for indentation." |
| 495 | :group 'speedbar | 414 | :group 'speedbar |
| 496 | :version "21.1" | ||
| 497 | :type 'integer) | 415 | :type 'integer) |
| 498 | 416 | ||
| 499 | (defcustom speedbar-hide-button-brackets-flag nil | 417 | (defcustom speedbar-hide-button-brackets-flag nil |
| 500 | "*Non-nil means speedbar will hide the brackets around the + or -." | 418 | "*Non-nil means speedbar will hide the brackets around the + or -." |
| 501 | :group 'speedbar | 419 | :group 'speedbar |
| 502 | :version "21.1" | ||
| 503 | :type 'boolean) | 420 | :type 'boolean) |
| 504 | 421 | ||
| 505 | (defcustom speedbar-use-images (and (or (fboundp 'defimage) | 422 | (defcustom speedbar-before-popup-hook nil |
| 506 | (fboundp 'make-image-specifier)) | 423 | "*Hooks called before popping up the speedbar frame." |
| 507 | (if (fboundp 'display-graphic-p) | ||
| 508 | (display-graphic-p) | ||
| 509 | window-system)) | ||
| 510 | "*Non-nil if speedbar should display icons." | ||
| 511 | :group 'speedbar | 424 | :group 'speedbar |
| 512 | :version "21.1" | 425 | :type 'hook) |
| 513 | :type 'boolean) | ||
| 514 | 426 | ||
| 515 | (defcustom speedbar-before-popup-hook nil | 427 | (defcustom speedbar-after-create-hook '(speedbar-frame-reposition-smartly) |
| 516 | "*Hooks called before popping up the speedbar frame." | 428 | "*Hooks called before popping up the speedbar frame." |
| 517 | :group 'speedbar | 429 | :group 'speedbar |
| 518 | :type 'hook) | 430 | :type 'hook) |
| @@ -551,18 +463,18 @@ Any file checked out is marked with `speedbar-vc-indicator'." | |||
| 551 | (defvar speedbar-vc-indicator "*" | 463 | (defvar speedbar-vc-indicator "*" |
| 552 | "Text used to mark files which are currently checked out. | 464 | "Text used to mark files which are currently checked out. |
| 553 | Other version control systems can be added by examining the function | 465 | Other version control systems can be added by examining the function |
| 554 | `speedbar-vc-path-enable-hook' and `speedbar-vc-in-control-hook'.") | 466 | `speedbar-vc-directory-enable-hook' and `speedbar-vc-in-control-hook'.") |
| 555 | 467 | ||
| 556 | (defcustom speedbar-vc-path-enable-hook nil | 468 | (defcustom speedbar-vc-directory-enable-hook nil |
| 557 | "*Return non-nil if the current path should be checked for Version Control. | 469 | "*Return non-nil if the current directory should be checked for Version Control. |
| 558 | Functions in this hook must accept one parameter which is the path | 470 | Functions in this hook must accept one parameter which is the directory |
| 559 | being checked." | 471 | being checked." |
| 560 | :group 'speedbar-vc | 472 | :group 'speedbar-vc |
| 561 | :type 'hook) | 473 | :type 'hook) |
| 562 | 474 | ||
| 563 | (defcustom speedbar-vc-in-control-hook nil | 475 | (defcustom speedbar-vc-in-control-hook nil |
| 564 | "*Return non-nil if the specified file is under Version Control. | 476 | "*Return non-nil if the specified file is under Version Control. |
| 565 | Functions in this hook must accept two parameters. The PATH of the | 477 | Functions in this hook must accept two parameters. The DIRECTORY of the |
| 566 | current file, and the FILENAME of the file being checked." | 478 | current file, and the FILENAME of the file being checked." |
| 567 | :group 'speedbar-vc | 479 | :group 'speedbar-vc |
| 568 | :type 'hook) | 480 | :type 'hook) |
| @@ -573,7 +485,7 @@ current file, and the FILENAME of the file being checked." | |||
| 573 | (defcustom speedbar-obj-do-check t | 485 | (defcustom speedbar-obj-do-check t |
| 574 | "*Non-nil check all files in speedbar to see if they have an object file. | 486 | "*Non-nil check all files in speedbar to see if they have an object file. |
| 575 | Any file checked out is marked with `speedbar-obj-indicator', and the | 487 | Any file checked out is marked with `speedbar-obj-indicator', and the |
| 576 | marking is based on `speedbar-obj-alist'." | 488 | marking is based on `speedbar-obj-alist'" |
| 577 | :group 'speedbar-vc | 489 | :group 'speedbar-vc |
| 578 | :type 'boolean) | 490 | :type 'boolean) |
| 579 | 491 | ||
| @@ -586,7 +498,7 @@ The car is for an up-to-date object. The cdr is for an out of date object. | |||
| 586 | The expression `speedbar-obj-alist' defines who gets tagged.") | 498 | The expression `speedbar-obj-alist' defines who gets tagged.") |
| 587 | 499 | ||
| 588 | (defvar speedbar-obj-alist | 500 | (defvar speedbar-obj-alist |
| 589 | '(("\\.\\([cpC]\\|cpp\\|cc\\)$" . ".o") | 501 | '(("\\.\\([cpC]\\|cpp\\|cc\\|cxx\\)$" . ".o") |
| 590 | ("\\.el$" . ".elc") | 502 | ("\\.el$" . ".elc") |
| 591 | ("\\.java$" . ".class") | 503 | ("\\.java$" . ".class") |
| 592 | ("\\.f\\(or\\|90\\|77\\)?$" . ".o") | 504 | ("\\.f\\(or\\|90\\|77\\)?$" . ".o") |
| @@ -594,6 +506,14 @@ The expression `speedbar-obj-alist' defines who gets tagged.") | |||
| 594 | ("\\.texi$" . ".info")) | 506 | ("\\.texi$" . ".info")) |
| 595 | "Alist of file extensions, and their corresponding object file type.") | 507 | "Alist of file extensions, and their corresponding object file type.") |
| 596 | 508 | ||
| 509 | (defvar speedbar-ro-to-do-point nil | ||
| 510 | "Local variable maintaining the current read only check position.") | ||
| 511 | |||
| 512 | (defvar speedbar-object-read-only-indicator "%" | ||
| 513 | "Indicator to append onto a line if that item is Read Only.") | ||
| 514 | |||
| 515 | ;; Note: Look for addition place to add indicator lists that | ||
| 516 | ;; use skip-chars instead of a regular expression. | ||
| 597 | (defvar speedbar-indicator-regex | 517 | (defvar speedbar-indicator-regex |
| 598 | (concat (regexp-quote speedbar-indicator-separator) | 518 | (concat (regexp-quote speedbar-indicator-separator) |
| 599 | "\\(" | 519 | "\\(" |
| @@ -602,6 +522,8 @@ The expression `speedbar-obj-alist' defines who gets tagged.") | |||
| 602 | (regexp-quote (car speedbar-obj-indicator)) | 522 | (regexp-quote (car speedbar-obj-indicator)) |
| 603 | "\\|" | 523 | "\\|" |
| 604 | (regexp-quote (cdr speedbar-obj-indicator)) | 524 | (regexp-quote (cdr speedbar-obj-indicator)) |
| 525 | "\\|" | ||
| 526 | (regexp-quote speedbar-object-read-only-indicator) | ||
| 605 | "\\)*") | 527 | "\\)*") |
| 606 | "Regular expression used when identifying files. | 528 | "Regular expression used when identifying files. |
| 607 | Permits stripping of indicator characters from a line.") | 529 | Permits stripping of indicator characters from a line.") |
| @@ -613,7 +535,7 @@ state data." | |||
| 613 | :group 'speedbar | 535 | :group 'speedbar |
| 614 | :type 'hook) | 536 | :type 'hook) |
| 615 | 537 | ||
| 616 | (defvar speedbar-ignored-modes nil | 538 | (defvar speedbar-ignored-modes '(fundamental-mode) |
| 617 | "*List of major modes which speedbar will not switch directories for.") | 539 | "*List of major modes which speedbar will not switch directories for.") |
| 618 | 540 | ||
| 619 | (defun speedbar-extension-list-to-regex (extlist) | 541 | (defun speedbar-extension-list-to-regex (extlist) |
| @@ -635,29 +557,29 @@ with `.' followed by extensions, followed by full-filenames." | |||
| 635 | (if regex2 (concat "\\(" regex2 "\\)") "") | 557 | (if regex2 (concat "\\(" regex2 "\\)") "") |
| 636 | "\\)$"))) | 558 | "\\)$"))) |
| 637 | 559 | ||
| 638 | (defvar speedbar-ignored-path-regexp nil | 560 | (defvar speedbar-ignored-directory-regexp nil |
| 639 | "Regular expression matching paths speedbar will not switch to. | 561 | "Regular expression matching directorys speedbar will not switch to. |
| 640 | Created from `speedbar-ignored-path-expressions' with the function | 562 | Created from `speedbar-ignored-directory-expressions' with the function |
| 641 | `speedbar-extension-list-to-regex' (A misnamed function in this case.) | 563 | `speedbar-extension-list-to-regex' (A misnamed function in this case.) |
| 642 | Use the function `speedbar-add-ignored-path-regexp', or customize the | 564 | Use the function `speedbar-add-ignored-directory-regexp', or customize the |
| 643 | variable `speedbar-ignored-path-expressions' to modify this variable.") | 565 | variable `speedbar-ignored-directory-expressions' to modify this variable.") |
| 644 | 566 | ||
| 645 | (defcustom speedbar-ignored-path-expressions | 567 | (defcustom speedbar-ignored-directory-expressions |
| 646 | '("[/\\]logs?[/\\]\\'") | 568 | '("[/\\]logs?[/\\]\\'") |
| 647 | "*List of regular expressions matching directories speedbar will ignore. | 569 | "*List of regular expressions matching directories speedbar will ignore. |
| 648 | They should included paths to directories which are notoriously very | 570 | They should included directorys to directories which are notoriously very |
| 649 | large and take a long time to load in. Use the function | 571 | large and take a long time to load in. Use the function |
| 650 | `speedbar-add-ignored-path-regexp' to add new items to this list after | 572 | `speedbar-add-ignored-directory-regexp' to add new items to this list after |
| 651 | speedbar is loaded. You may place anything you like in this list | 573 | speedbar is loaded. You may place anything you like in this list |
| 652 | before speedbar has been loaded." | 574 | before speedbar has been loaded." |
| 653 | :group 'speedbar | 575 | :group 'speedbar |
| 654 | :type '(repeat (regexp :tag "Path Regexp")) | 576 | :type '(repeat (regexp :tag "Directory Regexp")) |
| 655 | :set (lambda (sym val) | 577 | :set (lambda (sym val) |
| 656 | (setq speedbar-ignored-path-expressions val | 578 | (setq speedbar-ignored-directory-expressions val |
| 657 | speedbar-ignored-path-regexp | 579 | speedbar-ignored-directory-regexp |
| 658 | (speedbar-extension-list-to-regex val)))) | 580 | (speedbar-extension-list-to-regex val)))) |
| 659 | 581 | ||
| 660 | (defcustom speedbar-directory-unshown-regexp "^\\(CVS\\|RCS\\|SCCS\\)\\'" | 582 | (defcustom speedbar-directory-unshown-regexp "^\\(CVS\\|RCS\\|SCCS\\|\\..*\\)\\'" |
| 661 | "*Regular expression matching directories not to show in speedbar. | 583 | "*Regular expression matching directories not to show in speedbar. |
| 662 | They should include commonly existing directories which are not | 584 | They should include commonly existing directories which are not |
| 663 | useful, such as version control." | 585 | useful, such as version control." |
| @@ -675,8 +597,10 @@ useful, such as version control." | |||
| 675 | "*Regexp matching files we don't want displayed in a speedbar buffer. | 597 | "*Regexp matching files we don't want displayed in a speedbar buffer. |
| 676 | It is generated from the variable `completion-ignored-extensions'") | 598 | It is generated from the variable `completion-ignored-extensions'") |
| 677 | 599 | ||
| 678 | ;; Compiler silencing trick. The real defvar comes later in this file. | 600 | (defvar speedbar-file-regexp nil |
| 679 | (defvar speedbar-file-regexp) | 601 | "Regular expression matching files we know how to expand. |
| 602 | Created from `speedbar-supported-extension-expressions' with the | ||
| 603 | function `speedbar-extension-list-to-regex'") | ||
| 680 | 604 | ||
| 681 | ;; this is dangerous to customize, because the defaults will probably | 605 | ;; this is dangerous to customize, because the defaults will probably |
| 682 | ;; change in the future. | 606 | ;; change in the future. |
| @@ -688,7 +612,7 @@ It is generated from the variable `completion-ignored-extensions'") | |||
| 688 | ;; html is not supported by default, but an imenu tags package | 612 | ;; html is not supported by default, but an imenu tags package |
| 689 | ;; is available. Also, html files are nice to be able to see. | 613 | ;; is available. Also, html files are nice to be able to see. |
| 690 | ".s?html" | 614 | ".s?html" |
| 691 | "[Mm]akefile\\(\\.in\\)?"))) | 615 | ".ma?k" "[Mm]akefile\\(\\.in\\)?"))) |
| 692 | "*List of regular expressions which will match files supported by tagging. | 616 | "*List of regular expressions which will match files supported by tagging. |
| 693 | Do not prefix the `.' char with a double \\ to quote it, as the period | 617 | Do not prefix the `.' char with a double \\ to quote it, as the period |
| 694 | will be stripped by a simplified optimizer when compiled into a | 618 | will be stripped by a simplified optimizer when compiled into a |
| @@ -696,28 +620,18 @@ singular expression. This variable will be turned into | |||
| 696 | `speedbar-file-regexp' for use with speedbar. You should use the | 620 | `speedbar-file-regexp' for use with speedbar. You should use the |
| 697 | function `speedbar-add-supported-extension' to add a new extension at | 621 | function `speedbar-add-supported-extension' to add a new extension at |
| 698 | runtime, or use the configuration dialog to set it in your .emacs | 622 | runtime, or use the configuration dialog to set it in your .emacs |
| 699 | file." | 623 | file. |
| 624 | If you add an extension to this list, and it does not appear, you may | ||
| 625 | need to also modify `completion-ignored-extension' which will also help | ||
| 626 | file completion." | ||
| 700 | :group 'speedbar | 627 | :group 'speedbar |
| 701 | :version "21.1" | ||
| 702 | :type '(repeat (regexp :tag "Extension Regexp")) | 628 | :type '(repeat (regexp :tag "Extension Regexp")) |
| 703 | :set (lambda (sym val) | 629 | :set (lambda (sym val) |
| 704 | (setq speedbar-supported-extension-expressions val | 630 | (set 'speedbar-supported-extension-expressions val) |
| 705 | speedbar-file-regexp (speedbar-extension-list-to-regex val)))) | 631 | (set 'speedbar-file-regexp (speedbar-extension-list-to-regex val)))) |
| 706 | 632 | ||
| 707 | (defvar speedbar-file-regexp | 633 | (setq speedbar-file-regexp |
| 708 | (speedbar-extension-list-to-regex speedbar-supported-extension-expressions) | 634 | (speedbar-extension-list-to-regex speedbar-supported-extension-expressions)) |
| 709 | "Regular expression matching files we know how to expand. | ||
| 710 | Created from `speedbar-supported-extension-expression' with the | ||
| 711 | function `speedbar-extension-list-to-regex'") | ||
| 712 | |||
| 713 | (defcustom speedbar-scan-subdirs nil | ||
| 714 | "*Non-nil means speedbar will check if subdirs are empty. | ||
| 715 | That way you don't have to click on them to find out. But this | ||
| 716 | incurs extra I/O, hence it slows down directory display | ||
| 717 | proportionally to the number of subdirs." | ||
| 718 | :group 'speedbar | ||
| 719 | :type 'boolean | ||
| 720 | :version 22.1) | ||
| 721 | 635 | ||
| 722 | (defun speedbar-add-supported-extension (extension) | 636 | (defun speedbar-add-supported-extension (extension) |
| 723 | "Add EXTENSION as a new supported extension for speedbar tagging. | 637 | "Add EXTENSION as a new supported extension for speedbar tagging. |
| @@ -736,42 +650,41 @@ list of strings." | |||
| 736 | (setq speedbar-file-regexp (speedbar-extension-list-to-regex | 650 | (setq speedbar-file-regexp (speedbar-extension-list-to-regex |
| 737 | speedbar-supported-extension-expressions))) | 651 | speedbar-supported-extension-expressions))) |
| 738 | 652 | ||
| 739 | (defun speedbar-add-ignored-path-regexp (path-expression) | 653 | (defun speedbar-add-ignored-directory-regexp (directory-expression) |
| 740 | "Add PATH-EXPRESSION as a new ignored path for speedbar tracking. | 654 | "Add DIRECTORY-EXPRESSION as a new ignored directory for speedbar tracking. |
| 741 | This function will modify `speedbar-ignored-path-regexp' and add | 655 | This function will modify `speedbar-ignored-directory-regexp' and add |
| 742 | PATH-EXPRESSION to `speedbar-ignored-path-expressions'." | 656 | DIRECTORY-EXPRESSION to `speedbar-ignored-directory-expressions'." |
| 743 | (interactive "sPath regex: ") | 657 | (interactive "sDirectory regex: ") |
| 744 | (if (not (listp path-expression)) | 658 | (if (not (listp directory-expression)) |
| 745 | (setq path-expression (list path-expression))) | 659 | (setq directory-expression (list directory-expression))) |
| 746 | (while path-expression | 660 | (while directory-expression |
| 747 | (if (member (car path-expression) speedbar-ignored-path-expressions) | 661 | (if (member (car directory-expression) speedbar-ignored-directory-expressions) |
| 748 | nil | 662 | nil |
| 749 | (setq speedbar-ignored-path-expressions | 663 | (setq speedbar-ignored-directory-expressions |
| 750 | (cons (car path-expression) speedbar-ignored-path-expressions))) | 664 | (cons (car directory-expression) speedbar-ignored-directory-expressions))) |
| 751 | (setq path-expression (cdr path-expression))) | 665 | (setq directory-expression (cdr directory-expression))) |
| 752 | (setq speedbar-ignored-path-regexp (speedbar-extension-list-to-regex | 666 | (setq speedbar-ignored-directory-regexp (speedbar-extension-list-to-regex |
| 753 | speedbar-ignored-path-expressions))) | 667 | speedbar-ignored-directory-expressions))) |
| 754 | 668 | ||
| 755 | ;; If we don't have custom, then we set it here by hand. | 669 | ;; If we don't have custom, then we set it here by hand. |
| 756 | (if (not (fboundp 'custom-declare-variable)) | 670 | (if (not (fboundp 'custom-declare-variable)) |
| 757 | (setq speedbar-file-regexp (speedbar-extension-list-to-regex | 671 | (setq speedbar-file-regexp (speedbar-extension-list-to-regex |
| 758 | speedbar-supported-extension-expressions) | 672 | speedbar-supported-extension-expressions) |
| 759 | speedbar-ignored-path-regexp (speedbar-extension-list-to-regex | 673 | speedbar-ignored-directory-regexp (speedbar-extension-list-to-regex |
| 760 | speedbar-ignored-path-expressions))) | 674 | speedbar-ignored-directory-expressions))) |
| 761 | 675 | ||
| 762 | (defvar speedbar-update-flag (and | 676 | (defvar speedbar-update-flag dframe-have-timer-flag |
| 763 | (or (fboundp 'run-with-idle-timer) | ||
| 764 | (fboundp 'start-itimer) | ||
| 765 | (boundp 'post-command-idle-hook)) | ||
| 766 | (if (fboundp 'display-graphic-p) | ||
| 767 | (display-graphic-p) | ||
| 768 | window-system)) | ||
| 769 | "*Non-nil means to automatically update the display. | 677 | "*Non-nil means to automatically update the display. |
| 770 | When this is nil then speedbar will not follow the attached | 678 | When this is nil then speedbar will not follow the attached frame's directory. |
| 771 | frame's path. Type \ | 679 | When speedbar is active, use: |
| 772 | \\<speedbar-key-map>\\[speedbar-toggle-updates] in the speedbar \ | 680 | |
| 681 | \\<speedbar-key-map> `\\[speedbar-toggle-updates]' | ||
| 682 | |||
| 773 | to toggle this value.") | 683 | to toggle this value.") |
| 774 | 684 | ||
| 685 | (defvar speedbar-update-flag-disable nil | ||
| 686 | "Permanently disable changing of the update flag.") | ||
| 687 | |||
| 775 | (defvar speedbar-syntax-table nil | 688 | (defvar speedbar-syntax-table nil |
| 776 | "Syntax-table used on the speedbar.") | 689 | "Syntax-table used on the speedbar.") |
| 777 | 690 | ||
| @@ -797,10 +710,8 @@ to toggle this value.") | |||
| 797 | (suppress-keymap speedbar-key-map t) | 710 | (suppress-keymap speedbar-key-map t) |
| 798 | 711 | ||
| 799 | ;; control | 712 | ;; control |
| 800 | (define-key speedbar-key-map "g" 'speedbar-refresh) | ||
| 801 | (define-key speedbar-key-map "t" 'speedbar-toggle-updates) | 713 | (define-key speedbar-key-map "t" 'speedbar-toggle-updates) |
| 802 | (define-key speedbar-key-map "q" 'speedbar-close-frame) | 714 | (define-key speedbar-key-map "g" 'speedbar-refresh) |
| 803 | (define-key speedbar-key-map "Q" 'delete-frame) | ||
| 804 | 715 | ||
| 805 | ;; navigation | 716 | ;; navigation |
| 806 | (define-key speedbar-key-map "n" 'speedbar-next) | 717 | (define-key speedbar-key-map "n" 'speedbar-next) |
| @@ -809,8 +720,9 @@ to toggle this value.") | |||
| 809 | (define-key speedbar-key-map "\M-p" 'speedbar-restricted-prev) | 720 | (define-key speedbar-key-map "\M-p" 'speedbar-restricted-prev) |
| 810 | (define-key speedbar-key-map "\C-\M-n" 'speedbar-forward-list) | 721 | (define-key speedbar-key-map "\C-\M-n" 'speedbar-forward-list) |
| 811 | (define-key speedbar-key-map "\C-\M-p" 'speedbar-backward-list) | 722 | (define-key speedbar-key-map "\C-\M-p" 'speedbar-backward-list) |
| 812 | (define-key speedbar-key-map " " 'speedbar-scroll-up) | 723 | ;; These commands never seemed useful. |
| 813 | (define-key speedbar-key-map [delete] 'speedbar-scroll-down) | 724 | ;; (define-key speedbar-key-map " " 'speedbar-scroll-up) |
| 725 | ;; (define-key speedbar-key-map [delete] 'speedbar-scroll-down) | ||
| 814 | 726 | ||
| 815 | ;; Short cuts I happen to find useful | 727 | ;; Short cuts I happen to find useful |
| 816 | (define-key speedbar-key-map "r" | 728 | (define-key speedbar-key-map "r" |
| @@ -824,46 +736,8 @@ to toggle this value.") | |||
| 824 | (lambda () (interactive) | 736 | (lambda () (interactive) |
| 825 | (speedbar-change-initial-expansion-list "files"))) | 737 | (speedbar-change-initial-expansion-list "files"))) |
| 826 | 738 | ||
| 827 | ;; Overrides | 739 | (dframe-update-keymap speedbar-key-map) |
| 828 | (substitute-key-definition 'switch-to-buffer | 740 | ) |
| 829 | 'speedbar-switch-buffer-attached-frame | ||
| 830 | speedbar-key-map global-map) | ||
| 831 | |||
| 832 | (if speedbar-xemacsp | ||
| 833 | (progn | ||
| 834 | ;; mouse bindings so we can manipulate the items on each line | ||
| 835 | (define-key speedbar-key-map 'button2 'speedbar-click) | ||
| 836 | (define-key speedbar-key-map '(shift button2) 'speedbar-power-click) | ||
| 837 | ;; Info doc fix from Bob Weiner | ||
| 838 | (if (featurep 'infodoc) | ||
| 839 | nil | ||
| 840 | (define-key speedbar-key-map 'button3 'speedbar-xemacs-popup-kludge)) | ||
| 841 | (define-key speedbar-key-map '(meta button3) 'speedbar-mouse-item-info) | ||
| 842 | ) | ||
| 843 | |||
| 844 | ;; mouse bindings so we can manipulate the items on each line | ||
| 845 | (define-key speedbar-key-map [down-mouse-1] 'speedbar-double-click) | ||
| 846 | (define-key speedbar-key-map [mouse-2] 'speedbar-click) | ||
| 847 | ;; This is the power click for new frames, or refreshing a cache | ||
| 848 | (define-key speedbar-key-map [S-mouse-2] 'speedbar-power-click) | ||
| 849 | ;; This adds a small unecessary visual effect | ||
| 850 | ;;(define-key speedbar-key-map [down-mouse-2] 'speedbar-quick-mouse) | ||
| 851 | (define-key speedbar-key-map [M-mouse-2] 'speedbar-mouse-item-info) | ||
| 852 | |||
| 853 | (define-key speedbar-key-map [down-mouse-3] 'speedbar-emacs-popup-kludge) | ||
| 854 | |||
| 855 | ;; This lets the user scroll as if we had a scrollbar... well maybe not | ||
| 856 | (define-key speedbar-key-map [mode-line mouse-2] 'speedbar-mouse-hscroll) | ||
| 857 | ;; another handy place users might click to get our menu. | ||
| 858 | (define-key speedbar-key-map [mode-line down-mouse-1] | ||
| 859 | 'speedbar-emacs-popup-kludge) | ||
| 860 | |||
| 861 | ;; We can't switch buffers with the buffer mouse menu. Lets hack it. | ||
| 862 | (define-key speedbar-key-map [C-down-mouse-1] 'speedbar-hack-buffer-menu) | ||
| 863 | |||
| 864 | ;; Lastly, we want to track the mouse. Play here | ||
| 865 | (define-key speedbar-key-map [mouse-movement] 'speedbar-track-mouse) | ||
| 866 | )) | ||
| 867 | 741 | ||
| 868 | (defun speedbar-make-specialized-keymap () | 742 | (defun speedbar-make-specialized-keymap () |
| 869 | "Create a keymap for use with a speedbar major or minor display mode. | 743 | "Create a keymap for use with a speedbar major or minor display mode. |
| @@ -887,6 +761,11 @@ This basically creates a sparse keymap, and makes it's parent be | |||
| 887 | (define-key speedbar-file-key-map "=" 'speedbar-expand-line) | 761 | (define-key speedbar-file-key-map "=" 'speedbar-expand-line) |
| 888 | (define-key speedbar-file-key-map "-" 'speedbar-contract-line) | 762 | (define-key speedbar-file-key-map "-" 'speedbar-contract-line) |
| 889 | 763 | ||
| 764 | (define-key speedbar-file-key-map "[" 'speedbar-expand-line-descendants) | ||
| 765 | (define-key speedbar-file-key-map "]" 'speedbar-close-line-descendants) | ||
| 766 | |||
| 767 | (define-key speedbar-file-key-map " " 'speedbar-toggle-line-expansion) | ||
| 768 | |||
| 890 | ;; file based commands | 769 | ;; file based commands |
| 891 | (define-key speedbar-file-key-map "U" 'speedbar-up-directory) | 770 | (define-key speedbar-file-key-map "U" 'speedbar-up-directory) |
| 892 | (define-key speedbar-file-key-map "I" 'speedbar-item-info) | 771 | (define-key speedbar-file-key-map "I" 'speedbar-item-info) |
| @@ -896,6 +775,7 @@ This basically creates a sparse keymap, and makes it's parent be | |||
| 896 | (define-key speedbar-file-key-map "D" 'speedbar-item-delete) | 775 | (define-key speedbar-file-key-map "D" 'speedbar-item-delete) |
| 897 | (define-key speedbar-file-key-map "O" 'speedbar-item-object-delete) | 776 | (define-key speedbar-file-key-map "O" 'speedbar-item-object-delete) |
| 898 | (define-key speedbar-file-key-map "R" 'speedbar-item-rename) | 777 | (define-key speedbar-file-key-map "R" 'speedbar-item-rename) |
| 778 | (define-key speedbar-file-key-map "M" 'speedbar-create-directory) | ||
| 899 | ) | 779 | ) |
| 900 | 780 | ||
| 901 | (defvar speedbar-easymenu-definition-base | 781 | (defvar speedbar-easymenu-definition-base |
| @@ -903,6 +783,7 @@ This basically creates a sparse keymap, and makes it's parent be | |||
| 903 | '("Speedbar" | 783 | '("Speedbar" |
| 904 | ["Update" speedbar-refresh t] | 784 | ["Update" speedbar-refresh t] |
| 905 | ["Auto Update" speedbar-toggle-updates | 785 | ["Auto Update" speedbar-toggle-updates |
| 786 | :active (not speedbar-update-flag-disable) | ||
| 906 | :style toggle :selected speedbar-update-flag]) | 787 | :style toggle :selected speedbar-update-flag]) |
| 907 | (if (and (or (fboundp 'defimage) | 788 | (if (and (or (fboundp 'defimage) |
| 908 | (fboundp 'make-image-specifier)) | 789 | (fboundp 'make-image-specifier)) |
| @@ -925,6 +806,9 @@ This basically creates a sparse keymap, and makes it's parent be | |||
| 925 | ["Flush Cache & Expand" speedbar-flush-expand-line | 806 | ["Flush Cache & Expand" speedbar-flush-expand-line |
| 926 | (save-excursion (beginning-of-line) | 807 | (save-excursion (beginning-of-line) |
| 927 | (looking-at "[0-9]+: *.\\+. "))] | 808 | (looking-at "[0-9]+: *.\\+. "))] |
| 809 | ["Expand All Descendants" speedbar-expand-line-descendants | ||
| 810 | (save-excursion (beginning-of-line) | ||
| 811 | (looking-at "[0-9]+: *.\\+. ")) ] | ||
| 928 | ["Contract File Tags" speedbar-contract-line | 812 | ["Contract File Tags" speedbar-contract-line |
| 929 | (save-excursion (beginning-of-line) | 813 | (save-excursion (beginning-of-line) |
| 930 | (looking-at "[0-9]+: *.-. "))] | 814 | (looking-at "[0-9]+: *.-. "))] |
| @@ -944,6 +828,8 @@ This basically creates a sparse keymap, and makes it's parent be | |||
| 944 | (save-excursion (beginning-of-line) (looking-at "[0-9]+: *\\["))] | 828 | (save-excursion (beginning-of-line) (looking-at "[0-9]+: *\\["))] |
| 945 | ["Rename File" speedbar-item-rename | 829 | ["Rename File" speedbar-item-rename |
| 946 | (save-excursion (beginning-of-line) (looking-at "[0-9]+: *[[<]"))] | 830 | (save-excursion (beginning-of-line) (looking-at "[0-9]+: *[[<]"))] |
| 831 | ["Create Directory" speedbar-create-directory | ||
| 832 | (save-excursion (beginning-of-line) (looking-at "[0-9]+: *[[<]"))] | ||
| 947 | ["Delete File" speedbar-item-delete | 833 | ["Delete File" speedbar-item-delete |
| 948 | (save-excursion (beginning-of-line) (looking-at "[0-9]+: *[[<]"))] | 834 | (save-excursion (beginning-of-line) (looking-at "[0-9]+: *[[<]"))] |
| 949 | ["Delete Object" speedbar-item-object-delete | 835 | ["Delete Object" speedbar-item-object-delete |
| @@ -951,13 +837,15 @@ This basically creates a sparse keymap, and makes it's parent be | |||
| 951 | (looking-at "[0-9]+: *\\[[+-]\\] [^ \n]+ \\*?[!#]$"))] | 837 | (looking-at "[0-9]+: *\\[[+-]\\] [^ \n]+ \\*?[!#]$"))] |
| 952 | ) | 838 | ) |
| 953 | "Additional menu items while in file-mode.") | 839 | "Additional menu items while in file-mode.") |
| 954 | 840 | ||
| 955 | (defvar speedbar-easymenu-definition-trailer | 841 | (defvar speedbar-easymenu-definition-trailer |
| 956 | (append | 842 | (append |
| 957 | (if (and (featurep 'custom) (fboundp 'custom-declare-variable)) | 843 | (if (and (featurep 'custom) (fboundp 'custom-declare-variable)) |
| 958 | (list ["Customize..." speedbar-customize t])) | 844 | (list ["Customize..." speedbar-customize t])) |
| 959 | (list | 845 | (list |
| 960 | ["Close" speedbar-close-frame t] | 846 | ["Detach" speedbar-detach (and speedbar-frame |
| 847 | (eq (selected-frame) speedbar-frame)) ] | ||
| 848 | ["Close" dframe-close-frame t] | ||
| 961 | ["Quit" delete-frame t] )) | 849 | ["Quit" delete-frame t] )) |
| 962 | "Menu items appearing at the end of the speedbar menu.") | 850 | "Menu items appearing at the end of the speedbar menu.") |
| 963 | 851 | ||
| @@ -972,12 +860,6 @@ In this case it is the originating buffer.") | |||
| 972 | "The frame that was last created, then removed from the display.") | 860 | "The frame that was last created, then removed from the display.") |
| 973 | (defvar speedbar-full-text-cache nil | 861 | (defvar speedbar-full-text-cache nil |
| 974 | "The last open directory is saved in its entirety for ultra-fast switching.") | 862 | "The last open directory is saved in its entirety for ultra-fast switching.") |
| 975 | (defvar speedbar-timer nil | ||
| 976 | "The speedbar timer used for updating the buffer.") | ||
| 977 | (defvar speedbar-attached-frame nil | ||
| 978 | "The frame which started speedbar mode. | ||
| 979 | This is the frame from which all data displayed in the speedbar is | ||
| 980 | gathered, and in which files and such are displayed.") | ||
| 981 | 863 | ||
| 982 | (defvar speedbar-last-selected-file nil | 864 | (defvar speedbar-last-selected-file nil |
| 983 | "The last file which was selected in speedbar buffer.") | 865 | "The last file which was selected in speedbar buffer.") |
| @@ -997,28 +879,17 @@ directories.") | |||
| 997 | 879 | ||
| 998 | ;;; Compatibility | 880 | ;;; Compatibility |
| 999 | ;; | 881 | ;; |
| 1000 | (if (fboundp 'frame-parameter) | 882 | (defalias 'speedbar-make-overlay |
| 1001 | 883 | (if (featurep 'xemacs) 'make-extent 'make-overlay)) | |
| 1002 | (defalias 'speedbar-frame-parameter 'frame-parameter) | 884 | |
| 1003 | 885 | (defalias 'speedbar-overlay-put | |
| 1004 | (defun speedbar-frame-parameter (frame parameter) | 886 | (if (featurep 'xemacs) 'set-extent-property 'overlay-put)) |
| 1005 | "Return FRAME's PARAMETER value." | 887 | |
| 1006 | (cdr (assoc parameter (frame-parameters frame))))) | 888 | (defalias 'speedbar-delete-overlay |
| 1007 | 889 | (if (featurep 'xemacs) 'delete-extent 'delete-overlay)) | |
| 1008 | (if (fboundp 'make-overlay) | 890 | |
| 1009 | (progn | 891 | (defalias 'speedbar-mode-line-update |
| 1010 | (defalias 'speedbar-make-overlay 'make-overlay) | 892 | (if (featurep 'xemacs) 'redraw-modeline 'force-mode-line-update)) |
| 1011 | (defalias 'speedbar-overlay-put 'overlay-put) | ||
| 1012 | (defalias 'speedbar-delete-overlay 'delete-overlay) | ||
| 1013 | (defalias 'speedbar-overlay-start 'overlay-start) | ||
| 1014 | (defalias 'speedbar-overlay-end 'overlay-end) | ||
| 1015 | (defalias 'speedbar-mode-line-update 'force-mode-line-update)) | ||
| 1016 | (defalias 'speedbar-make-overlay 'make-extent) | ||
| 1017 | (defalias 'speedbar-overlay-put 'set-extent-property) | ||
| 1018 | (defalias 'speedbar-delete-overlay 'delete-extent) | ||
| 1019 | (defalias 'speedbar-overlay-start 'extent-start) | ||
| 1020 | (defalias 'speedbar-overlay-end 'extent-end) | ||
| 1021 | (defalias 'speedbar-mode-line-update 'redraw-modeline)) | ||
| 1022 | 893 | ||
| 1023 | ;;; Mode definitions/ user commands | 894 | ;;; Mode definitions/ user commands |
| 1024 | ;; | 895 | ;; |
| @@ -1034,132 +905,97 @@ supported at a time. | |||
| 1034 | `speedbar-before-popup-hook' is called before popping up the speedbar frame. | 905 | `speedbar-before-popup-hook' is called before popping up the speedbar frame. |
| 1035 | `speedbar-before-delete-hook' is called before the frame is deleted." | 906 | `speedbar-before-delete-hook' is called before the frame is deleted." |
| 1036 | (interactive "P") | 907 | (interactive "P") |
| 1037 | ;; toggle frame on and off. | 908 | ;; Get the buffer to play with |
| 1038 | (if (not arg) (if (and (frame-live-p speedbar-frame) | 909 | (if (not (buffer-live-p speedbar-buffer)) |
| 1039 | (frame-visible-p speedbar-frame)) | 910 | (save-excursion |
| 1040 | (setq arg -1) (setq arg 1))) | 911 | (setq speedbar-buffer (get-buffer-create " SPEEDBAR")) |
| 1041 | ;; turn the frame off on neg number | 912 | (set-buffer speedbar-buffer) |
| 1042 | (if (and (numberp arg) (< arg 0)) | 913 | (speedbar-mode))) |
| 1043 | (progn | 914 | ;; Do the frame thing |
| 1044 | (run-hooks 'speedbar-before-delete-hook) | 915 | (dframe-frame-mode arg |
| 1045 | (if (and speedbar-frame (frame-live-p speedbar-frame)) | 916 | 'speedbar-frame |
| 1046 | (progn | 917 | 'speedbar-cached-frame |
| 1047 | (setq speedbar-cached-frame speedbar-frame) | 918 | 'speedbar-buffer |
| 1048 | (make-frame-invisible speedbar-frame))) | 919 | "Speedbar" |
| 1049 | (setq speedbar-frame nil) | 920 | #'speedbar-frame-mode |
| 1050 | (speedbar-set-timer nil) | 921 | (if dframe-xemacsp |
| 1051 | ;; Used to delete the buffer. This has the annoying affect of | 922 | (append speedbar-frame-plist |
| 1052 | ;; preventing whatever took its place from ever appearing | 923 | ;; This is a hack to get speedbar to iconfiy |
| 1053 | ;; as the default after a C-x b was typed | 924 | ;; with the selected frame. |
| 1054 | ;;(if (bufferp speedbar-buffer) | 925 | (list 'parent (selected-frame))) |
| 1055 | ;; (kill-buffer speedbar-buffer)) | 926 | speedbar-frame-parameters) |
| 1056 | ) | 927 | speedbar-before-delete-hook |
| 1057 | ;; Set this as our currently attached frame | 928 | speedbar-before-popup-hook |
| 1058 | (setq speedbar-attached-frame (selected-frame)) | 929 | speedbar-after-create-hook) |
| 1059 | (run-hooks 'speedbar-before-popup-hook) | 930 | ;; Start up the timer |
| 1060 | ;; Get the frame to work in | 931 | (if (not speedbar-frame) |
| 1061 | (if (frame-live-p speedbar-cached-frame) | 932 | (speedbar-set-timer nil) |
| 1062 | (progn | 933 | (speedbar-reconfigure-keymaps) |
| 1063 | (setq speedbar-frame speedbar-cached-frame) | 934 | (speedbar-update-contents) |
| 1064 | (make-frame-visible speedbar-frame) | 935 | (speedbar-set-timer dframe-update-speed) |
| 1065 | ;; Get the buffer to play with | 936 | ) |
| 1066 | (speedbar-mode) | 937 | ;; Frame modifications |
| 1067 | (select-frame speedbar-frame) | 938 | (set (make-local-variable 'dframe-delete-frame-function) |
| 1068 | (if (not (eq (current-buffer) speedbar-buffer)) | 939 | 'speedbar-handle-delete-frame) |
| 1069 | (switch-to-buffer speedbar-buffer)) | 940 | ;; hscroll |
| 1070 | (set-window-dedicated-p (selected-window) t) | 941 | (set (make-local-variable 'automatic-hscrolling) nil) ; Emacs 21 |
| 1071 | (raise-frame speedbar-frame) | 942 | ;; reset the selection variable |
| 1072 | (speedbar-set-timer speedbar-update-speed) | 943 | (setq speedbar-last-selected-file nil)) |
| 1073 | ) | 944 | |
| 1074 | (if (frame-live-p speedbar-frame) | 945 | (defun speedbar-frame-reposition-smartly () |
| 1075 | (raise-frame speedbar-frame) | 946 | "Reposition the speedbar frame to be next to the attached frame." |
| 1076 | (setq speedbar-frame | 947 | (cond ((and dframe-xemacsp |
| 1077 | (if speedbar-xemacsp | 948 | (or (member 'left speedbar-frame-plist) |
| 1078 | ;; Only guess height if it is not specified. | 949 | (member 'top speedbar-frame-plist))) |
| 1079 | (if (member 'height speedbar-frame-plist) | 950 | (dframe-reposition-frame |
| 1080 | (make-frame speedbar-frame-plist) | 951 | speedbar-frame |
| 1081 | (make-frame (nconc (list 'height | 952 | (dframe-attached-frame speedbar-frame) |
| 1082 | (speedbar-needed-height)) | 953 | (cons (car (cdr (member 'left speedbar-frame-plist))) |
| 1083 | speedbar-frame-plist))) | 954 | (car (cdr (member 'top speedbar-frame-plist))))) |
| 1084 | (let* ((mh (speedbar-frame-parameter nil 'menu-bar-lines)) | 955 | ) |
| 1085 | (cfx (speedbar-frame-parameter nil 'left)) | 956 | ((and (not dframe-xemacsp) |
| 1086 | (cfy (speedbar-frame-parameter nil 'top)) | 957 | (or (assoc 'left speedbar-frame-parameters) |
| 1087 | (cfw (frame-pixel-width)) | 958 | (assoc 'top speedbar-frame-parameters))) |
| 1088 | (params | 959 | ;; if left/top were specified in the parameters, pass them |
| 1089 | ;; Only add a guessed height if one is not specified | 960 | ;; down to the reposition function |
| 1090 | ;; in the input parameters. | 961 | (dframe-reposition-frame |
| 1091 | (if (assoc 'height speedbar-frame-parameters) | 962 | speedbar-frame |
| 1092 | speedbar-frame-parameters | 963 | (dframe-attached-frame speedbar-frame) |
| 1093 | (append | 964 | (cons (cdr (assoc 'left speedbar-frame-parameters)) |
| 1094 | speedbar-frame-parameters | 965 | (cdr (assoc 'top speedbar-frame-parameters)))) |
| 1095 | (list (cons 'height (+ mh (frame-height))))))) | 966 | ) |
| 1096 | (frame | 967 | (t |
| 1097 | (if (or (< emacs-major-version 20) | 968 | (dframe-reposition-frame speedbar-frame |
| 1098 | (not (eq window-system 'x))) | 969 | (dframe-attached-frame speedbar-frame) |
| 1099 | (make-frame params) | 970 | 'left-right)))) |
| 1100 | (let ((x-pointer-shape x-pointer-top-left-arrow) | 971 | |
| 1101 | (x-sensitive-text-pointer-shape | 972 | (defun speedbar-detach () |
| 1102 | x-pointer-hand2)) | 973 | "Detach the current Speedbar from auto-updating. |
| 1103 | (make-frame params))))) | 974 | Doing this allows the creation of a second speedbar." |
| 1104 | ;; Position speedbar frame. | 975 | (interactive) |
| 1105 | (if (or (not window-system) (eq window-system 'pc) | 976 | (let ((buffer speedbar-buffer)) |
| 1106 | (assoc 'left speedbar-frame-parameters) | 977 | (dframe-detach 'speedbar-frame 'speedbar-cached-frame 'speedbar-buffer) |
| 1107 | (assoc 'top speedbar-frame-parameters)) | 978 | (save-excursion |
| 1108 | ;; Do no positioning if not on a windowing system, | 979 | (set-buffer buffer) |
| 1109 | ;; or if left/top were specified in the parameters. | 980 | ;; Permanently disable auto-updating in this speedbar buffer. |
| 1110 | frame | 981 | (set (make-local-variable 'speedbar-update-flag) nil) |
| 1111 | (let ((cfx | 982 | (set (make-local-variable 'speedbar-update-flag-disable) t) |
| 1112 | (if (not (consp cfx)) | 983 | ;; Make local copies of all the different variables to prevent |
| 1113 | cfx | 984 | ;; funny stuff later... |
| 1114 | ;; If cfx is a list, that means we grow | 985 | ))) |
| 1115 | ;; from a specific edge of the display. | 986 | |
| 1116 | ;; Convert that to the distance from the | 987 | (defsubst speedbar-current-frame () |
| 1117 | ;; left side of the display. | 988 | "Return the frame to use for speedbar based on current context." |
| 1118 | (if (eq (car cfx) '-) | 989 | (dframe-current-frame 'speedbar-frame 'speedbar-mode)) |
| 1119 | ;; A - means distance from the right edge | 990 | |
| 1120 | ;; of the display, or DW - cfx - framewidth | 991 | (defun speedbar-handle-delete-frame (e) |
| 1121 | (- (x-display-pixel-width) (car (cdr cfx)) | 992 | "Handle a delete frame event E. |
| 1122 | (frame-pixel-width)) | 993 | If the deleted frame is the frame SPEEDBAR is attached to, |
| 1123 | (car (cdr cfx)))))) | 994 | we need to delete speedbar also." |
| 1124 | (modify-frame-parameters | 995 | (let ((frame-to-be-deleted (car (car (cdr e))))) |
| 1125 | frame | 996 | (if (eq frame-to-be-deleted dframe-attached-frame) |
| 1126 | (list | 997 | (delete-frame speedbar-frame))) |
| 1127 | (cons | 998 | ) |
| 1128 | 'left | ||
| 1129 | ;; Decide which side to put it | ||
| 1130 | ;; on. 200 is just a buffer | ||
| 1131 | ;; for the left edge of the | ||
| 1132 | ;; screen. The extra 10 is just | ||
| 1133 | ;; dressings for window decorations. | ||
| 1134 | (let ((sfw (frame-pixel-width frame))) | ||
| 1135 | (let ((left-guess (- cfx 10 sfw)) | ||
| 1136 | (right-guess (+ cfx cfw 5))) | ||
| 1137 | (let ((left-margin left-guess) | ||
| 1138 | (right-margin | ||
| 1139 | (- (x-display-pixel-width) | ||
| 1140 | right-guess 5 sfw))) | ||
| 1141 | (cond ((>= left-margin 0) left-guess) | ||
| 1142 | ((>= right-margin 0) right-guess) | ||
| 1143 | ;; otherwise choose side we overlap less | ||
| 1144 | ((> left-margin right-margin) 0) | ||
| 1145 | (t (- (x-display-pixel-width) sfw 5))))))) | ||
| 1146 | (cons 'top cfy))) | ||
| 1147 | frame))))) | ||
| 1148 | ;; reset the selection variable | ||
| 1149 | (setq speedbar-last-selected-file nil) | ||
| 1150 | ;; Put the buffer into the frame | ||
| 1151 | (save-window-excursion | ||
| 1152 | ;; Get the buffer to play with | ||
| 1153 | (speedbar-mode) | ||
| 1154 | (select-frame speedbar-frame) | ||
| 1155 | (switch-to-buffer speedbar-buffer) | ||
| 1156 | (set-window-dedicated-p (selected-window) t)) | ||
| 1157 | (if (and (or (null window-system) (eq window-system 'pc)) | ||
| 1158 | (fboundp 'set-frame-name)) | ||
| 1159 | (progn | ||
| 1160 | (select-frame speedbar-frame) | ||
| 1161 | (set-frame-name "Speedbar"))) | ||
| 1162 | (speedbar-set-timer speedbar-update-speed))))) | ||
| 1163 | 999 | ||
| 1164 | ;;;###autoload | 1000 | ;;;###autoload |
| 1165 | (defun speedbar-get-focus () | 1001 | (defun speedbar-get-focus () |
| @@ -1167,59 +1003,23 @@ supported at a time. | |||
| 1167 | If the selected frame is not speedbar, then speedbar frame is | 1003 | If the selected frame is not speedbar, then speedbar frame is |
| 1168 | selected. If the speedbar frame is active, then select the attached frame." | 1004 | selected. If the speedbar frame is active, then select the attached frame." |
| 1169 | (interactive) | 1005 | (interactive) |
| 1170 | (if (eq (selected-frame) speedbar-frame) | 1006 | (speedbar-reset-scanners) |
| 1171 | (if (frame-live-p speedbar-attached-frame) | 1007 | (dframe-get-focus 'speedbar-frame 'speedbar-frame-mode |
| 1172 | (select-frame speedbar-attached-frame)) | 1008 | (lambda () (let ((speedbar-update-flag t)) |
| 1173 | ;; If updates are off, then refresh the frame (they want it now...) | 1009 | (speedbar-timer-fn))))) |
| 1174 | (if (not speedbar-update-flag) | ||
| 1175 | (let ((speedbar-update-flag t)) | ||
| 1176 | (speedbar-timer-fn))) | ||
| 1177 | ;; make sure we have a frame | ||
| 1178 | (if (not (frame-live-p speedbar-frame)) (speedbar-frame-mode 1)) | ||
| 1179 | ;; go there | ||
| 1180 | (select-frame speedbar-frame) | ||
| 1181 | ) | ||
| 1182 | (other-frame 0)) | ||
| 1183 | |||
| 1184 | (defun speedbar-close-frame () | ||
| 1185 | "Turn off a currently active speedbar." | ||
| 1186 | (interactive) | ||
| 1187 | (speedbar-frame-mode -1) | ||
| 1188 | (select-frame speedbar-attached-frame) | ||
| 1189 | (other-frame 0)) | ||
| 1190 | |||
| 1191 | (defun speedbar-switch-buffer-attached-frame (&optional buffer) | ||
| 1192 | "Switch to BUFFER in speedbar's attached frame, and raise that frame. | ||
| 1193 | This overrides the default behavior of `switch-to-buffer' which is | ||
| 1194 | broken because of the dedicated speedbar frame." | ||
| 1195 | (interactive) | ||
| 1196 | ;; Assume we are in the speedbar frame. | ||
| 1197 | (speedbar-get-focus) | ||
| 1198 | ;; Now switch buffers | ||
| 1199 | (if buffer | ||
| 1200 | (switch-to-buffer buffer) | ||
| 1201 | (call-interactively 'switch-to-buffer nil nil))) | ||
| 1202 | 1010 | ||
| 1203 | (defmacro speedbar-frame-width () | 1011 | (defmacro speedbar-frame-width () |
| 1204 | "Return the width of the speedbar frame in characters. | 1012 | "Return the width of the speedbar frame in characters. |
| 1205 | nil if it doesn't exist." | 1013 | nil if it doesn't exist." |
| 1206 | '(frame-width speedbar-frame)) | 1014 | '(window-width (get-buffer-window speedbar-buffer))) |
| 1207 | |||
| 1208 | ;; XEmacs function only. | ||
| 1209 | (defun speedbar-needed-height (&optional frame) | ||
| 1210 | "The needed height for the tool bar FRAME (in characters)." | ||
| 1211 | (or frame (setq frame (selected-frame))) | ||
| 1212 | ;; The 1 is the missing modeline/minibuffer | ||
| 1213 | (+ 1 (/ (frame-pixel-height frame) | ||
| 1214 | (face-height 'default frame)))) | ||
| 1215 | 1015 | ||
| 1216 | (defun speedbar-mode () | 1016 | (defun speedbar-mode () |
| 1217 | "Major mode for managing a display of directories and tags. | 1017 | "Major mode for managing a display of directories and tags. |
| 1218 | \\<speedbar-key-map> | 1018 | \\<speedbar-key-map> |
| 1219 | The first line represents the default path of the speedbar frame. | 1019 | The first line represents the default directory of the speedbar frame. |
| 1220 | Each directory segment is a button which jumps speedbar's default | 1020 | Each directory segment is a button which jumps speedbar's default |
| 1221 | directory to that path. Buttons are activated by clicking `\\[speedbar-click]'. | 1021 | directory to that directory. Buttons are activated by clicking `\\[speedbar-click]'. |
| 1222 | In some situations using `\\[speedbar-power-click]' is a `power click' which will | 1022 | In some situations using `\\[dframe-power-click]' is a `power click' which will |
| 1223 | rescan cached items, or pop up new frames. | 1023 | rescan cached items, or pop up new frames. |
| 1224 | 1024 | ||
| 1225 | Each line starting with <+> represents a directory. Click on the <+> | 1025 | Each line starting with <+> represents a directory. Click on the <+> |
| @@ -1255,7 +1055,6 @@ in the selected file. | |||
| 1255 | \\{speedbar-key-map}" | 1055 | \\{speedbar-key-map}" |
| 1256 | ;; NOT interactive | 1056 | ;; NOT interactive |
| 1257 | (save-excursion | 1057 | (save-excursion |
| 1258 | (setq speedbar-buffer (set-buffer (get-buffer-create " SPEEDBAR"))) | ||
| 1259 | (kill-all-local-variables) | 1058 | (kill-all-local-variables) |
| 1260 | (setq major-mode 'speedbar-mode) | 1059 | (setq major-mode 'speedbar-mode) |
| 1261 | (setq mode-name "Speedbar") | 1060 | (setq mode-name "Speedbar") |
| @@ -1263,110 +1062,59 @@ in the selected file. | |||
| 1263 | (setq font-lock-keywords nil) ;; no font-locking please | 1062 | (setq font-lock-keywords nil) ;; no font-locking please |
| 1264 | (setq truncate-lines t) | 1063 | (setq truncate-lines t) |
| 1265 | (make-local-variable 'frame-title-format) | 1064 | (make-local-variable 'frame-title-format) |
| 1266 | (setq frame-title-format "Speedbar") | 1065 | (setq frame-title-format (concat "Speedbar " speedbar-version)) |
| 1267 | ;; Set this up special just for the speedbar buffer | 1066 | (setq case-fold-search nil) |
| 1268 | ;; Terminal minibuffer stuff does not require this. | ||
| 1269 | (if (and window-system (not (eq window-system 'pc)) | ||
| 1270 | (null default-minibuffer-frame)) | ||
| 1271 | (progn | ||
| 1272 | (make-local-variable 'default-minibuffer-frame) | ||
| 1273 | (setq default-minibuffer-frame speedbar-attached-frame))) | ||
| 1274 | ;; Correct use of `temp-buffer-show-function': Bob Weiner | ||
| 1275 | (if (and (boundp 'temp-buffer-show-hook) | ||
| 1276 | (boundp 'temp-buffer-show-function)) | ||
| 1277 | (progn (make-local-variable 'temp-buffer-show-hook) | ||
| 1278 | (setq temp-buffer-show-hook temp-buffer-show-function))) | ||
| 1279 | (make-local-variable 'temp-buffer-show-function) | ||
| 1280 | (setq temp-buffer-show-function 'speedbar-temp-buffer-show-function) | ||
| 1281 | (if speedbar-xemacsp | ||
| 1282 | (progn | ||
| 1283 | ;; Argh! mouse-track-click-hook doesn't understand the | ||
| 1284 | ;; make-local-hook conventions. | ||
| 1285 | (make-local-variable 'mouse-track-click-hook) | ||
| 1286 | (add-hook 'mouse-track-click-hook | ||
| 1287 | (lambda (event count) | ||
| 1288 | (if (/= (event-button event) 1) | ||
| 1289 | nil ; Do normal operations. | ||
| 1290 | (cond ((eq count 1) | ||
| 1291 | (speedbar-quick-mouse event)) | ||
| 1292 | ((or (eq count 2) | ||
| 1293 | (eq count 3)) | ||
| 1294 | (speedbar-mouse-set-point event) | ||
| 1295 | (speedbar-do-function-pointer) | ||
| 1296 | (speedbar-quick-mouse event))) | ||
| 1297 | ;; Don't do normal operations. | ||
| 1298 | t))))) | ||
| 1299 | (add-hook 'kill-buffer-hook (lambda () (let ((skilling (boundp 'skilling))) | ||
| 1300 | (if skilling | ||
| 1301 | nil | ||
| 1302 | (if (eq (current-buffer) | ||
| 1303 | speedbar-buffer) | ||
| 1304 | (speedbar-frame-mode -1))))) | ||
| 1305 | t t) | ||
| 1306 | (toggle-read-only 1) | 1067 | (toggle-read-only 1) |
| 1307 | (speedbar-set-mode-line-format) | 1068 | (speedbar-set-mode-line-format) |
| 1308 | (if speedbar-xemacsp | 1069 | ;; Add in our dframe hooks. |
| 1309 | (with-no-warnings | 1070 | (if speedbar-track-mouse-flag |
| 1310 | (set (make-local-variable 'mouse-motion-handler) | 1071 | (setq dframe-track-mouse-function #'speedbar-track-mouse)) |
| 1311 | 'speedbar-track-mouse-xemacs)) | 1072 | (setq dframe-help-echo-function #'speedbar-item-info |
| 1312 | (if speedbar-track-mouse-flag | 1073 | dframe-mouse-click-function #'speedbar-click |
| 1313 | (set (make-local-variable 'track-mouse) t)) ;this could be messy. | 1074 | dframe-mouse-position-function #'speedbar-position-cursor-on-line) |
| 1314 | (setq auto-show-mode nil)) ;no auto-show for Emacs | 1075 | (run-hooks 'speedbar-mode-hook)) |
| 1315 | (run-mode-hooks 'speedbar-mode-hook)) | ||
| 1316 | (speedbar-update-contents) | ||
| 1317 | speedbar-buffer) | 1076 | speedbar-buffer) |
| 1318 | 1077 | ||
| 1319 | (defmacro speedbar-with-attached-buffer (&rest forms) | 1078 | (defmacro speedbar-message (fmt &rest args) |
| 1320 | "Execute FORMS in the attached frame's special buffer. | ||
| 1321 | Optionally select that frame if necessary." | ||
| 1322 | `(save-selected-window | ||
| 1323 | (speedbar-set-timer speedbar-update-speed) | ||
| 1324 | (select-frame speedbar-attached-frame) | ||
| 1325 | ,@forms | ||
| 1326 | (speedbar-maybee-jump-to-attached-frame))) | ||
| 1327 | |||
| 1328 | (defun speedbar-message (fmt &rest args) | ||
| 1329 | "Like message, but for use in the speedbar frame. | 1079 | "Like message, but for use in the speedbar frame. |
| 1330 | Argument FMT is the format string, and ARGS are the arguments for message." | 1080 | Argument FMT is the format string, and ARGS are the arguments for message." |
| 1331 | (save-selected-window | 1081 | `(dframe-message ,fmt ,@args)) |
| 1332 | (select-frame speedbar-attached-frame) | ||
| 1333 | (apply 'message fmt args))) | ||
| 1334 | 1082 | ||
| 1335 | (defun speedbar-y-or-n-p (prompt) | 1083 | (defsubst speedbar-y-or-n-p (prompt &optional deleting) |
| 1336 | "Like `y-or-n-p', but for use in the speedbar frame. | 1084 | "Like `y-or-n-p', but for use in the speedbar frame. |
| 1337 | Argument PROMPT is the prompt to use." | 1085 | Argument PROMPT is the prompt to use. |
| 1338 | (save-selected-window | 1086 | Optional argument DELETING means this is a query that will delete something. |
| 1339 | (if (and default-minibuffer-frame (not (eq default-minibuffer-frame | 1087 | The variable `speedbar-query-confirmation-method' can cause this to |
| 1340 | speedbar-attached-frame))) | 1088 | return true without a query." |
| 1341 | (select-frame speedbar-attached-frame)) | 1089 | (or (and (not deleting) |
| 1342 | (y-or-n-p prompt))) | 1090 | (eq speedbar-query-confirmation-method 'none-but-delete)) |
| 1343 | 1091 | (dframe-y-or-n-p prompt))) | |
| 1344 | (defun speedbar-show-info-under-mouse (&optional event) | 1092 | |
| 1345 | "Call the info function for the line under the mouse. | 1093 | (defsubst speedbar-select-attached-frame () |
| 1346 | Optional EVENT is currently not used." | 1094 | "Select the frame attached to this speedbar." |
| 1347 | (let ((pos (mouse-position))) ; we ignore event until I use it later. | 1095 | (dframe-select-attached-frame (speedbar-current-frame))) |
| 1348 | (if (equal (car pos) speedbar-frame) | 1096 | |
| 1349 | (save-excursion | 1097 | ;; Backwards compatibility |
| 1350 | (save-window-excursion | 1098 | (defalias 'speedbar-with-attached-buffer 'dframe-with-attached-buffer) |
| 1351 | (apply 'set-mouse-position (list (car pos) (cadr pos) (cddr pos))) | 1099 | (defalias 'speedbar-maybee-jump-to-attached-frame 'dframe-maybee-jump-to-attached-frame) |
| 1352 | (speedbar-item-info)))))) | 1100 | |
| 1353 | |||
| 1354 | (defun speedbar-set-mode-line-format () | 1101 | (defun speedbar-set-mode-line-format () |
| 1355 | "Set the format of the mode line based on the current speedbar environment. | 1102 | "Set the format of the mode line based on the current speedbar environment. |
| 1356 | This gives visual indications of what is up. It EXPECTS the speedbar | 1103 | This gives visual indications of what is up. It EXPECTS the speedbar |
| 1357 | frame and window to be the currently active frame and window." | 1104 | frame and window to be the currently active frame and window." |
| 1358 | (if (and (frame-live-p speedbar-frame) | 1105 | (if (and (frame-live-p (speedbar-current-frame)) |
| 1359 | (or (not speedbar-xemacsp) | 1106 | (or (not dframe-xemacsp) |
| 1360 | (with-no-warnings | 1107 | (with-no-warnings |
| 1361 | (specifier-instance has-modeline-p)))) | 1108 | (specifier-instance has-modeline-p))) |
| 1362 | (save-excursion | 1109 | speedbar-buffer) (save-excursion |
| 1363 | (set-buffer speedbar-buffer) | 1110 | (set-buffer speedbar-buffer) |
| 1364 | (let* ((w (or (speedbar-frame-width) 20)) | 1111 | (let* ((w (or (speedbar-frame-width) 20)) |
| 1365 | (p1 "<<") | 1112 | (p1 "<<") |
| 1366 | (p5 ">>") | 1113 | (p5 ">>") |
| 1367 | (p3 (if speedbar-update-flag "SPEEDBAR" "SLOWBAR")) | 1114 | (p3 (if speedbar-update-flag "#" "!")) |
| 1368 | (blank (- w (length p1) (length p3) (length p5) | 1115 | (p35 (capitalize speedbar-initial-expansion-list-name)) |
| 1369 | (if line-number-mode 4 0))) | 1116 | (blank (- w (length p1) (length p3) (length p5) (length p35) |
| 1117 | (if line-number-mode 5 1))) | ||
| 1370 | (p2 (if (> blank 0) | 1118 | (p2 (if (> blank 0) |
| 1371 | (make-string (/ blank 2) ? ) | 1119 | (make-string (/ blank 2) ? ) |
| 1372 | "")) | 1120 | "")) |
| @@ -1375,7 +1123,7 @@ frame and window to be the currently active frame and window." | |||
| 1375 | "")) | 1123 | "")) |
| 1376 | (tf | 1124 | (tf |
| 1377 | (if line-number-mode | 1125 | (if line-number-mode |
| 1378 | (list (concat p1 p2 p3) '(line-number-mode " %3l") | 1126 | (list (concat p1 p2 p3 " " p35) '(line-number-mode " %3l") |
| 1379 | (concat p4 p5)) | 1127 | (concat p4 p5)) |
| 1380 | (list (concat p1 p2 p3 p4 p5))))) | 1128 | (list (concat p1 p2 p3 p4 p5))))) |
| 1381 | (if (not (equal mode-line-format tf)) | 1129 | (if (not (equal mode-line-format tf)) |
| @@ -1383,23 +1131,6 @@ frame and window to be the currently active frame and window." | |||
| 1383 | (setq mode-line-format tf) | 1131 | (setq mode-line-format tf) |
| 1384 | (speedbar-mode-line-update))))))) | 1132 | (speedbar-mode-line-update))))))) |
| 1385 | 1133 | ||
| 1386 | (defun speedbar-temp-buffer-show-function (buffer) | ||
| 1387 | "Placed in the variable `temp-buffer-show-function' in `speedbar-mode'. | ||
| 1388 | If a user requests help using \\[help-command] <Key> the temp BUFFER will be | ||
| 1389 | redirected into a window on the attached frame." | ||
| 1390 | (if speedbar-attached-frame (select-frame speedbar-attached-frame)) | ||
| 1391 | (pop-to-buffer buffer nil) | ||
| 1392 | (other-window -1) | ||
| 1393 | ;; Fix for using this hook on some platforms: Bob Weiner | ||
| 1394 | (cond ((not speedbar-xemacsp) | ||
| 1395 | (run-hooks 'temp-buffer-show-hook)) | ||
| 1396 | ((fboundp 'run-hook-with-args) | ||
| 1397 | (run-hook-with-args 'temp-buffer-show-hook buffer)) | ||
| 1398 | ((and (boundp 'temp-buffer-show-hook) | ||
| 1399 | (listp temp-buffer-show-hook)) | ||
| 1400 | (mapcar (function (lambda (hook) (funcall hook buffer))) | ||
| 1401 | temp-buffer-show-hook)))) | ||
| 1402 | |||
| 1403 | (defvar speedbar-previous-menu nil | 1134 | (defvar speedbar-previous-menu nil |
| 1404 | "The menu before the last `speedbar-reconfigure-keymaps' was called.") | 1135 | "The menu before the last `speedbar-reconfigure-keymaps' was called.") |
| 1405 | 1136 | ||
| @@ -1413,7 +1144,7 @@ and the existence of packages." | |||
| 1413 | ;; file display mode version | 1144 | ;; file display mode version |
| 1414 | (speedbar-initial-menu) | 1145 | (speedbar-initial-menu) |
| 1415 | (save-excursion | 1146 | (save-excursion |
| 1416 | (select-frame speedbar-attached-frame) | 1147 | (dframe-select-attached-frame speedbar-frame) |
| 1417 | (if (local-variable-p | 1148 | (if (local-variable-p |
| 1418 | 'speedbar-easymenu-definition-special | 1149 | 'speedbar-easymenu-definition-special |
| 1419 | (current-buffer)) | 1150 | (current-buffer)) |
| @@ -1432,7 +1163,11 @@ and the existence of packages." | |||
| 1432 | (list | 1163 | (list |
| 1433 | 'speedbar-change-initial-expansion-list | 1164 | 'speedbar-change-initial-expansion-list |
| 1434 | (car (car alist))) | 1165 | (car (car alist))) |
| 1435 | t) | 1166 | :style 'radio |
| 1167 | :selected | ||
| 1168 | `(string= ,(car (car alist)) | ||
| 1169 | speedbar-initial-expansion-list-name) | ||
| 1170 | ) | ||
| 1436 | displays)) | 1171 | displays)) |
| 1437 | (setq alist (cdr alist))) | 1172 | (setq alist (cdr alist))) |
| 1438 | displays))) | 1173 | displays))) |
| @@ -1441,7 +1176,7 @@ and the existence of packages." | |||
| 1441 | (localmap (save-excursion | 1176 | (localmap (save-excursion |
| 1442 | (let ((cf (selected-frame))) | 1177 | (let ((cf (selected-frame))) |
| 1443 | (prog2 | 1178 | (prog2 |
| 1444 | (select-frame speedbar-attached-frame) | 1179 | (dframe-select-attached-frame speedbar-frame) |
| 1445 | (if (local-variable-p | 1180 | (if (local-variable-p |
| 1446 | 'speedbar-special-mode-key-map | 1181 | 'speedbar-special-mode-key-map |
| 1447 | (current-buffer)) | 1182 | (current-buffer)) |
| @@ -1458,129 +1193,51 @@ and the existence of packages." | |||
| 1458 | (if speedbar-previous-menu (easy-menu-remove speedbar-previous-menu)) | 1193 | (if speedbar-previous-menu (easy-menu-remove speedbar-previous-menu)) |
| 1459 | (setq speedbar-previous-menu md) | 1194 | (setq speedbar-previous-menu md) |
| 1460 | ;; Now add the new menu | 1195 | ;; Now add the new menu |
| 1461 | (if (not speedbar-xemacsp) | 1196 | (if (not dframe-xemacsp) |
| 1462 | (easy-menu-define speedbar-menu-map (current-local-map) | 1197 | (easy-menu-define speedbar-menu-map (current-local-map) |
| 1463 | "Speedbar menu" md) | 1198 | "Speedbar menu" md) |
| 1464 | (easy-menu-add md (current-local-map)) | 1199 | (easy-menu-add md (current-local-map)) |
| 1465 | (set-buffer-menubar (list md)))) | 1200 | ;; XEmacs-specific: |
| 1201 | (if (fboundp 'set-buffer-menubar) | ||
| 1202 | (set-buffer-menubar (list md))))) | ||
| 1203 | |||
| 1466 | (run-hooks 'speedbar-reconfigure-keymaps-hook))) | 1204 | (run-hooks 'speedbar-reconfigure-keymaps-hook))) |
| 1467 | 1205 | ||
| 1468 | 1206 | ||
| 1469 | ;;; User Input stuff | 1207 | ;;; User Input stuff |
| 1470 | ;; | 1208 | ;; |
| 1471 | |||
| 1472 | ;; XEmacs: this can be implemented using modeline keymaps, but there | ||
| 1473 | ;; is no use, as we have horizontal scrollbar (as the docstring | ||
| 1474 | ;; hints.) | ||
| 1475 | (defun speedbar-mouse-hscroll (e) | ||
| 1476 | "Read a mouse event E from the mode line, and horizontally scroll. | ||
| 1477 | If the mouse is being clicked on the far left, or far right of the | ||
| 1478 | mode-line. This is only useful for non-XEmacs." | ||
| 1479 | (interactive "e") | ||
| 1480 | (let* ((xp (car (nth 2 (car (cdr e))))) | ||
| 1481 | (cpw (/ (frame-pixel-width) | ||
| 1482 | (frame-width))) | ||
| 1483 | (oc (1+ (/ xp cpw))) | ||
| 1484 | ) | ||
| 1485 | (cond ((< oc 3) | ||
| 1486 | (scroll-left 2)) | ||
| 1487 | ((> oc (- (window-width) 3)) | ||
| 1488 | (scroll-right 2)) | ||
| 1489 | (t (speedbar-message | ||
| 1490 | "Click on the edge of the modeline to scroll left/right"))) | ||
| 1491 | ;;(speedbar-message "X: Pixel %d Char Pixels %d On char %d" xp cpw oc) | ||
| 1492 | )) | ||
| 1493 | |||
| 1494 | (defun speedbar-customize () | 1209 | (defun speedbar-customize () |
| 1495 | "Customize speedbar using the Custom package." | 1210 | "Customize speedbar using the Custom package." |
| 1496 | (interactive) | 1211 | (interactive) |
| 1497 | (let ((sf (selected-frame))) | 1212 | (let ((sf (selected-frame))) |
| 1498 | (select-frame speedbar-attached-frame) | 1213 | (dframe-select-attached-frame speedbar-frame) |
| 1499 | (customize-group 'speedbar) | 1214 | (customize-group 'speedbar) |
| 1500 | (select-frame sf)) | 1215 | (select-frame sf)) |
| 1501 | (speedbar-maybee-jump-to-attached-frame)) | 1216 | (dframe-maybee-jump-to-attached-frame)) |
| 1502 | 1217 | ||
| 1503 | (defun speedbar-track-mouse (event) | 1218 | (defun speedbar-track-mouse (event) |
| 1504 | "For motion EVENT, display info about the current line." | 1219 | "For motion EVENT, display info about the current line." |
| 1505 | (interactive "e") | ||
| 1506 | (if (not speedbar-track-mouse-flag) | 1220 | (if (not speedbar-track-mouse-flag) |
| 1507 | nil | 1221 | nil |
| 1508 | (save-excursion | 1222 | (save-excursion |
| 1509 | (let ((char (nth 1 (car (cdr event))))) | 1223 | (save-window-excursion |
| 1510 | (if (not (numberp char)) | 1224 | (condition-case nil |
| 1511 | (speedbar-message nil) | 1225 | (progn |
| 1512 | (goto-char char) | 1226 | (mouse-set-point event) |
| 1513 | ;; (speedbar-message "%S" event) | 1227 | (if (eq major-mode 'speedbar-mode) |
| 1514 | (speedbar-item-info) | 1228 | ;; XEmacs may let us get in here in other mode buffers. |
| 1515 | ))))) | 1229 | (speedbar-item-info))) |
| 1516 | 1230 | (t (speedbar-message nil))))))) | |
| 1517 | (defun speedbar-track-mouse-xemacs (event) | 1231 | |
| 1518 | "For motion EVENT, display info about the current line." | 1232 | (defun speedbar-show-info-under-mouse () |
| 1519 | (if (functionp (default-value 'mouse-motion-handler)) | 1233 | "Call the info function for the line under the mouse. |
| 1520 | (funcall (default-value 'mouse-motion-handler) event)) | 1234 | Optional EVENT is currently not used." |
| 1521 | (if speedbar-track-mouse-flag | 1235 | (let ((pos (mouse-position))) ; we ignore event until I use it later. |
| 1522 | (save-excursion | 1236 | (if (equal (car pos) speedbar-frame) |
| 1523 | (save-window-excursion | ||
| 1524 | (condition-case () | ||
| 1525 | (progn (mouse-set-point event) | ||
| 1526 | ;; Prevent focus-related bugs. | ||
| 1527 | (if (eq major-mode 'speedbar-mode) | ||
| 1528 | (speedbar-item-info))) | ||
| 1529 | (error nil)))))) | ||
| 1530 | |||
| 1531 | ;; In XEmacs, we make popup menus work on the item over mouse (as | ||
| 1532 | ;; opposed to where the point happens to be.) We attain this by | ||
| 1533 | ;; temporarily moving the point to that place. | ||
| 1534 | ;; Hrvoje Niksic <hniksic@srce.hr> | ||
| 1535 | (defun speedbar-xemacs-popup-kludge (event) | ||
| 1536 | "Pop up a menu related to the clicked on item. | ||
| 1537 | Must be bound to EVENT." | ||
| 1538 | (interactive "e") | ||
| 1539 | (select-frame speedbar-frame) | ||
| 1540 | (save-excursion | ||
| 1541 | (goto-char (event-closest-point event)) | ||
| 1542 | (beginning-of-line) | ||
| 1543 | (forward-char (min 5 (- (save-excursion (end-of-line) (point)) | ||
| 1544 | (save-excursion (beginning-of-line) (point))))) | ||
| 1545 | (popup-mode-menu) | ||
| 1546 | ;; Wait for menu to bail out. `popup-mode-menu' (and other popup | ||
| 1547 | ;; menu functions) return immediately. | ||
| 1548 | (let (new) | ||
| 1549 | (while (not (misc-user-event-p (setq new (next-event)))) | ||
| 1550 | (dispatch-event new)) | ||
| 1551 | (dispatch-event new)))) | ||
| 1552 | |||
| 1553 | (defun speedbar-emacs-popup-kludge (e) | ||
| 1554 | "Pop up a menu related to the clicked on item. | ||
| 1555 | Must be bound to event E." | ||
| 1556 | (interactive "e") | ||
| 1557 | (save-excursion | ||
| 1558 | (mouse-set-point e) | ||
| 1559 | ;; This gets the cursor where the user can see it. | ||
| 1560 | (if (not (bolp)) (forward-char -1)) | ||
| 1561 | (sit-for 0) | ||
| 1562 | (mouse-major-mode-menu e nil))) | ||
| 1563 | |||
| 1564 | (defun speedbar-hack-buffer-menu (e) | ||
| 1565 | "Control mouse 1 is buffer menu. | ||
| 1566 | This hack overrides it so that the right thing happens in the main | ||
| 1567 | Emacs frame, not in the speedbar frame. | ||
| 1568 | Argument E is the event causing this activity." | ||
| 1569 | (interactive "e") | ||
| 1570 | (let ((fn (lookup-key global-map (if speedbar-xemacsp | ||
| 1571 | '(control button1) | ||
| 1572 | [C-down-mouse-1]))) | ||
| 1573 | (newbuff nil)) | ||
| 1574 | (unwind-protect | ||
| 1575 | (save-excursion | 1237 | (save-excursion |
| 1576 | (set-window-dedicated-p (selected-window) nil) | 1238 | (save-window-excursion |
| 1577 | (call-interactively fn) | 1239 | (apply 'set-mouse-position pos) |
| 1578 | (setq newbuff (current-buffer))) | 1240 | (speedbar-item-info)))))) |
| 1579 | (switch-to-buffer speedbar-buffer) | ||
| 1580 | (set-window-dedicated-p (selected-window) t)) | ||
| 1581 | (if (not (eq newbuff speedbar-buffer)) | ||
| 1582 | (speedbar-with-attached-buffer | ||
| 1583 | (switch-to-buffer newbuff))))) | ||
| 1584 | 1241 | ||
| 1585 | (defun speedbar-next (arg) | 1242 | (defun speedbar-next (arg) |
| 1586 | "Move to the next ARGth line in a speedbar buffer." | 1243 | "Move to the next ARGth line in a speedbar buffer." |
| @@ -1602,16 +1259,16 @@ of intermediate nodes are skipped." | |||
| 1602 | ;; First find the extent for which we are allowed to move. | 1259 | ;; First find the extent for which we are allowed to move. |
| 1603 | (let ((depth (save-excursion (beginning-of-line) | 1260 | (let ((depth (save-excursion (beginning-of-line) |
| 1604 | (if (looking-at "[0-9]+:") | 1261 | (if (looking-at "[0-9]+:") |
| 1605 | (string-to-int (match-string 0)) | 1262 | (string-to-number (match-string 0)) |
| 1606 | 0))) | 1263 | 0))) |
| 1607 | (crement (if (< arg 0) 1 -1)) ; decrement or increment | 1264 | (crement (if (< arg 0) 1 -1)) ; decrement or increment |
| 1608 | (lastmatch (point))) | 1265 | (lastmatch (point))) |
| 1609 | (while (/= arg 0) | 1266 | (while (/= arg 0) |
| 1610 | (forward-line (- crement)) | 1267 | (forward-line (- crement)) |
| 1611 | (let ((subdepth (save-excursion (beginning-of-line) | 1268 | (let ((subdepth (save-excursion (beginning-of-line) |
| 1612 | (if (looking-at "[0-9]+:") | 1269 | (if (looking-at "[0-9]+:") |
| 1613 | (string-to-int (match-string 0)) | 1270 | (string-to-number (match-string 0)) |
| 1614 | 0)))) | 1271 | 0)))) |
| 1615 | (cond ((or (< subdepth depth) | 1272 | (cond ((or (< subdepth depth) |
| 1616 | (progn (end-of-line) (eobp)) | 1273 | (progn (end-of-line) (eobp)) |
| 1617 | (progn (beginning-of-line) (bobp))) | 1274 | (progn (beginning-of-line) (bobp))) |
| @@ -1632,7 +1289,6 @@ of intermediate nodes are skipped." | |||
| 1632 | (speedbar-restricted-move (or arg 1)) | 1289 | (speedbar-restricted-move (or arg 1)) |
| 1633 | (speedbar-item-info)) | 1290 | (speedbar-item-info)) |
| 1634 | 1291 | ||
| 1635 | |||
| 1636 | (defun speedbar-restricted-prev (arg) | 1292 | (defun speedbar-restricted-prev (arg) |
| 1637 | "Move to the previous ARGth line in a speedbar buffer at the same depth. | 1293 | "Move to the previous ARGth line in a speedbar buffer at the same depth. |
| 1638 | This means that movement is restricted to a subnode, and that siblings | 1294 | This means that movement is restricted to a subnode, and that siblings |
| @@ -1691,11 +1347,14 @@ Assumes that the current buffer is the speedbar buffer." | |||
| 1691 | 1347 | ||
| 1692 | ;;; Speedbar file activity (aka creeping featurism) | 1348 | ;;; Speedbar file activity (aka creeping featurism) |
| 1693 | ;; | 1349 | ;; |
| 1694 | (defun speedbar-refresh () | 1350 | (defun speedbar-refresh (&optional arg) |
| 1695 | "Refresh the current speedbar display, disposing of any cached data." | 1351 | "Refresh the current speedbar display, disposing of any cached data. |
| 1696 | (interactive) | 1352 | Argument ARG represents to force a refresh past any caches that may exist." |
| 1353 | (interactive "P") | ||
| 1697 | (let ((dl speedbar-shown-directories) | 1354 | (let ((dl speedbar-shown-directories) |
| 1355 | (dframe-power-click arg) | ||
| 1698 | deactivate-mark) | 1356 | deactivate-mark) |
| 1357 | ;; We need to hack something so this works in detached frames. | ||
| 1699 | (while dl | 1358 | (while dl |
| 1700 | (adelete 'speedbar-directory-contents-alist (car dl)) | 1359 | (adelete 'speedbar-directory-contents-alist (car dl)) |
| 1701 | (setq dl (cdr dl))) | 1360 | (setq dl (cdr dl))) |
| @@ -1704,7 +1363,7 @@ Assumes that the current buffer is the speedbar buffer." | |||
| 1704 | (speedbar-update-contents) | 1363 | (speedbar-update-contents) |
| 1705 | (speedbar-stealthy-updates) | 1364 | (speedbar-stealthy-updates) |
| 1706 | ;; Reset the timer in case it got really hosed for some reason... | 1365 | ;; Reset the timer in case it got really hosed for some reason... |
| 1707 | (speedbar-set-timer speedbar-update-speed) | 1366 | (speedbar-set-timer dframe-update-speed) |
| 1708 | (if (<= 1 speedbar-verbosity-level) | 1367 | (if (<= 1 speedbar-verbosity-level) |
| 1709 | (speedbar-message "Refreshing speedbar...done")))) | 1368 | (speedbar-message "Refreshing speedbar...done")))) |
| 1710 | 1369 | ||
| @@ -1727,7 +1386,7 @@ Assumes that the current buffer is the speedbar buffer." | |||
| 1727 | (sf (selected-frame))) | 1386 | (sf (selected-frame))) |
| 1728 | (if (and (file-exists-p f) (string-match "\\.el\\'" f)) | 1387 | (if (and (file-exists-p f) (string-match "\\.el\\'" f)) |
| 1729 | (progn | 1388 | (progn |
| 1730 | (select-frame speedbar-attached-frame) | 1389 | (dframe-select-attached-frame speedbar-frame) |
| 1731 | (byte-compile-file f nil) | 1390 | (byte-compile-file f nil) |
| 1732 | (select-frame sf) | 1391 | (select-frame sf) |
| 1733 | (speedbar-reset-scanners))) | 1392 | (speedbar-reset-scanners))) |
| @@ -1779,13 +1438,22 @@ nil if not applicable." | |||
| 1779 | (beginning-of-line) | 1438 | (beginning-of-line) |
| 1780 | (if (re-search-forward " [-+=]?> \\([^\n]+\\)" | 1439 | (if (re-search-forward " [-+=]?> \\([^\n]+\\)" |
| 1781 | (save-excursion(end-of-line)(point)) t) | 1440 | (save-excursion(end-of-line)(point)) t) |
| 1782 | (let ((tag (match-string 1)) | 1441 | (let* ((tag (match-string 1)) |
| 1783 | (attr (speedbar-line-token)) | 1442 | (attr (speedbar-line-token)) |
| 1784 | (item nil)) | 1443 | (item nil) |
| 1785 | (if (and (featurep 'semantic) (semantic-token-p attr)) | 1444 | (semantic-tagged (if (fboundp 'semantic-tag-p) |
| 1786 | (speedbar-message (semantic-summerize-nonterminal attr)) | 1445 | (semantic-tag-p attr)))) |
| 1446 | (if semantic-tagged | ||
| 1447 | (with-no-warnings | ||
| 1448 | (save-excursion | ||
| 1449 | (when (and (semantic-tag-overlay attr) | ||
| 1450 | (semantic-tag-buffer attr)) | ||
| 1451 | (set-buffer (semantic-tag-buffer attr))) | ||
| 1452 | (speedbar-message | ||
| 1453 | (funcall semantic-sb-info-format-tag-function attr) | ||
| 1454 | ))) | ||
| 1787 | (looking-at "\\([0-9]+\\):") | 1455 | (looking-at "\\([0-9]+\\):") |
| 1788 | (setq item (file-name-nondirectory (speedbar-line-path))) | 1456 | (setq item (file-name-nondirectory (speedbar-line-directory))) |
| 1789 | (speedbar-message "Tag: %s in %s" tag item))) | 1457 | (speedbar-message "Tag: %s in %s" tag item))) |
| 1790 | (if (re-search-forward "{[+-]} \\([^\n]+\\)$" | 1458 | (if (re-search-forward "{[+-]} \\([^\n]+\\)$" |
| 1791 | (save-excursion(end-of-line)(point)) t) | 1459 | (save-excursion(end-of-line)(point)) t) |
| @@ -1793,27 +1461,32 @@ nil if not applicable." | |||
| 1793 | (if (re-search-forward " [+-]?[()|@] \\([^\n]+\\)$" nil t) | 1461 | (if (re-search-forward " [+-]?[()|@] \\([^\n]+\\)$" nil t) |
| 1794 | (let* ((detailtext (match-string 1)) | 1462 | (let* ((detailtext (match-string 1)) |
| 1795 | (detail (or (speedbar-line-token) detailtext)) | 1463 | (detail (or (speedbar-line-token) detailtext)) |
| 1796 | (parent (save-excursion | 1464 | (parent (save-excursion |
| 1797 | (beginning-of-line) | 1465 | (beginning-of-line) |
| 1798 | (let ((dep (if (looking-at "[0-9]+:") | 1466 | (let ((dep (if (looking-at "[0-9]+:") |
| 1799 | (1- (string-to-int (match-string 0))) | 1467 | (1- (string-to-number (match-string 0))) |
| 1800 | 0))) | 1468 | 0))) |
| 1801 | (re-search-backward (concat "^" | 1469 | (re-search-backward (concat "^" |
| 1802 | (int-to-string dep) | 1470 | (int-to-string dep) |
| 1803 | ":") | 1471 | ":") |
| 1804 | nil t)) | 1472 | nil t)) |
| 1805 | (if (looking-at "[0-9]+: +[-+=>]> \\([^\n]+\\)$") | 1473 | (if (looking-at "[0-9]+: +[-+=>]> \\([^\n]+\\)$") |
| 1806 | (speedbar-line-token) | 1474 | (speedbar-line-token) |
| 1807 | nil)))) | 1475 | nil)))) |
| 1808 | (if (and (featurep 'semantic) (semantic-token-p detail)) | 1476 | (if (featurep 'semantic) |
| 1809 | (speedbar-message | 1477 | (with-no-warnings |
| 1810 | (semantic-summerize-nonterminal detail parent)) | 1478 | (if (semantic-tag-p detail) |
| 1479 | (speedbar-message | ||
| 1480 | (funcall semantic-sb-info-format-tag-function detail parent)) | ||
| 1481 | (if parent | ||
| 1482 | (speedbar-message "Detail: %s of tag %s" detail | ||
| 1483 | (if (semantic-tag-p parent) | ||
| 1484 | (semantic-format-tag-name parent nil t) | ||
| 1485 | parent)) | ||
| 1486 | (speedbar-message "Detail: %s" detail)))) | ||
| 1487 | ;; Not using `semantic': | ||
| 1811 | (if parent | 1488 | (if parent |
| 1812 | (speedbar-message "Detail: %s of tag %s" detail | 1489 | (speedbar-message "Detail: %s of tag %s" detail parent) |
| 1813 | (if (and (featurep 'semantic) | ||
| 1814 | (semantic-token-p parent)) | ||
| 1815 | (semantic-token-name parent) | ||
| 1816 | parent)) | ||
| 1817 | (speedbar-message "Detail: %s" detail)))) | 1490 | (speedbar-message "Detail: %s" detail)))) |
| 1818 | nil))))) | 1491 | nil))))) |
| 1819 | 1492 | ||
| @@ -1845,7 +1518,8 @@ Files can be copied to new names or places." | |||
| 1845 | (if (string-match "[/\\]$" rt) "" "/") | 1518 | (if (string-match "[/\\]$" rt) "" "/") |
| 1846 | (file-name-nondirectory f)))) | 1519 | (file-name-nondirectory f)))) |
| 1847 | (if (or (not (file-exists-p rt)) | 1520 | (if (or (not (file-exists-p rt)) |
| 1848 | (speedbar-y-or-n-p (format "Overwrite %s with %s? " rt f))) | 1521 | (speedbar-y-or-n-p (format "Overwrite %s with %s? " rt f) |
| 1522 | t)) | ||
| 1849 | (progn | 1523 | (progn |
| 1850 | (copy-file f rt t t) | 1524 | (copy-file f rt t t) |
| 1851 | ;; refresh display if the new place is currently displayed. | 1525 | ;; refresh display if the new place is currently displayed. |
| @@ -1874,7 +1548,8 @@ Files can be renamed to new names or moved to new directories." | |||
| 1874 | (if (string-match "[/\\]\\'" rt) "" "/") | 1548 | (if (string-match "[/\\]\\'" rt) "" "/") |
| 1875 | (file-name-nondirectory f)))) | 1549 | (file-name-nondirectory f)))) |
| 1876 | (if (or (not (file-exists-p rt)) | 1550 | (if (or (not (file-exists-p rt)) |
| 1877 | (speedbar-y-or-n-p (format "Overwrite %s with %s? " rt f))) | 1551 | (speedbar-y-or-n-p (format "Overwrite %s with %s? " rt f) |
| 1552 | t)) | ||
| 1878 | (progn | 1553 | (progn |
| 1879 | (rename-file f rt t) | 1554 | (rename-file f rt t) |
| 1880 | ;; refresh display if the new place is currently displayed. | 1555 | ;; refresh display if the new place is currently displayed. |
| @@ -1885,12 +1560,27 @@ Files can be renamed to new names or moved to new directories." | |||
| 1885 | ))))) | 1560 | ))))) |
| 1886 | (error "Not a file")))) | 1561 | (error "Not a file")))) |
| 1887 | 1562 | ||
| 1563 | (defun speedbar-create-directory () | ||
| 1564 | "Create a directory in speedbar." | ||
| 1565 | (interactive) | ||
| 1566 | (let ((f (speedbar-line-file))) | ||
| 1567 | (if f | ||
| 1568 | (let* ((basedir (file-name-directory f)) | ||
| 1569 | (nd (read-file-name "Create directory: " | ||
| 1570 | basedir))) | ||
| 1571 | ;; Make the directory | ||
| 1572 | (make-directory nd t) | ||
| 1573 | (speedbar-refresh) | ||
| 1574 | (speedbar-goto-this-file nd) | ||
| 1575 | ) | ||
| 1576 | (error "Not a file")))) | ||
| 1577 | |||
| 1888 | (defun speedbar-item-delete () | 1578 | (defun speedbar-item-delete () |
| 1889 | "Delete the item under the cursor. Files are removed from disk." | 1579 | "Delete the item under the cursor. Files are removed from disk." |
| 1890 | (interactive) | 1580 | (interactive) |
| 1891 | (let ((f (speedbar-line-file))) | 1581 | (let ((f (speedbar-line-file))) |
| 1892 | (if (not f) (error "Not a file")) | 1582 | (if (not f) (error "Not a file")) |
| 1893 | (if (speedbar-y-or-n-p (format "Delete %s? " f)) | 1583 | (if (speedbar-y-or-n-p (format "Delete %s? " f) t) |
| 1894 | (progn | 1584 | (progn |
| 1895 | (if (file-directory-p f) | 1585 | (if (file-directory-p f) |
| 1896 | (delete-directory f) | 1586 | (delete-directory f) |
| @@ -1915,7 +1605,7 @@ variable `speedbar-obj-alist'." | |||
| 1915 | (setq oa (cdr oa))) | 1605 | (setq oa (cdr oa))) |
| 1916 | (setq obj (concat (file-name-sans-extension f) (cdr (car oa)))) | 1606 | (setq obj (concat (file-name-sans-extension f) (cdr (car oa)))) |
| 1917 | (if (and oa (file-exists-p obj) | 1607 | (if (and oa (file-exists-p obj) |
| 1918 | (speedbar-y-or-n-p (format "Delete %s? " obj))) | 1608 | (speedbar-y-or-n-p (format "Delete %s? " obj) t)) |
| 1919 | (progn | 1609 | (progn |
| 1920 | (delete-file obj) | 1610 | (delete-file obj) |
| 1921 | (speedbar-reset-scanners))))) | 1611 | (speedbar-reset-scanners))))) |
| @@ -1925,7 +1615,7 @@ variable `speedbar-obj-alist'." | |||
| 1925 | (interactive) | 1615 | (interactive) |
| 1926 | (setq speedbar-update-flag t) | 1616 | (setq speedbar-update-flag t) |
| 1927 | (speedbar-set-mode-line-format) | 1617 | (speedbar-set-mode-line-format) |
| 1928 | (speedbar-set-timer speedbar-update-speed)) | 1618 | (speedbar-set-timer dframe-update-speed)) |
| 1929 | 1619 | ||
| 1930 | (defun speedbar-disable-update () | 1620 | (defun speedbar-disable-update () |
| 1931 | "Disable automatic updating and stop consuming resources." | 1621 | "Disable automatic updating and stop consuming resources." |
| @@ -1942,13 +1632,14 @@ variable `speedbar-obj-alist'." | |||
| 1942 | (speedbar-enable-update))) | 1632 | (speedbar-enable-update))) |
| 1943 | 1633 | ||
| 1944 | (defun speedbar-toggle-images () | 1634 | (defun speedbar-toggle-images () |
| 1945 | "Toggle images for the speedbar frame." | 1635 | "Toggle use of images in the speedbar frame. |
| 1636 | Images are not available in Emacs 20 or earlier." | ||
| 1946 | (interactive) | 1637 | (interactive) |
| 1947 | (setq speedbar-use-images (not speedbar-use-images)) | 1638 | (setq speedbar-use-images (not speedbar-use-images)) |
| 1948 | (speedbar-refresh)) | 1639 | (speedbar-refresh)) |
| 1949 | 1640 | ||
| 1950 | (defun speedbar-toggle-sorting () | 1641 | (defun speedbar-toggle-sorting () |
| 1951 | "Toggle sorting for the speedbar frame." | 1642 | "Toggle tag sorting." |
| 1952 | (interactive) | 1643 | (interactive) |
| 1953 | (setq speedbar-sort-tags (not speedbar-sort-tags))) | 1644 | (setq speedbar-sort-tags (not speedbar-sort-tags))) |
| 1954 | 1645 | ||
| @@ -1957,61 +1648,6 @@ variable `speedbar-obj-alist'." | |||
| 1957 | (interactive) | 1648 | (interactive) |
| 1958 | (setq speedbar-show-unknown-files (not speedbar-show-unknown-files)) | 1649 | (setq speedbar-show-unknown-files (not speedbar-show-unknown-files)) |
| 1959 | (speedbar-refresh)) | 1650 | (speedbar-refresh)) |
| 1960 | |||
| 1961 | ;;; Utility functions | ||
| 1962 | ;; | ||
| 1963 | (defun speedbar-set-timer (timeout) | ||
| 1964 | "Apply a timer with TIMEOUT, or remove a timer if TIMEOUT is nil. | ||
| 1965 | TIMEOUT is the number of seconds until the speedbar timer is called | ||
| 1966 | again. When TIMEOUT is nil, turn off all timeouts. | ||
| 1967 | This function will also enable or disable the `vc-checkin-hook' used | ||
| 1968 | to track file check ins, and will change the mode line to match | ||
| 1969 | `speedbar-update-flag'." | ||
| 1970 | (cond | ||
| 1971 | ;; XEmacs | ||
| 1972 | (speedbar-xemacsp | ||
| 1973 | (if speedbar-timer | ||
| 1974 | (progn (delete-itimer speedbar-timer) | ||
| 1975 | (setq speedbar-timer nil))) | ||
| 1976 | (if timeout | ||
| 1977 | (if (and speedbar-xemacsp | ||
| 1978 | (or (>= emacs-major-version 20) | ||
| 1979 | (>= emacs-minor-version 15))) | ||
| 1980 | (setq speedbar-timer (start-itimer "speedbar" | ||
| 1981 | 'speedbar-timer-fn | ||
| 1982 | timeout | ||
| 1983 | timeout | ||
| 1984 | t)) | ||
| 1985 | (setq speedbar-timer (start-itimer "speedbar" | ||
| 1986 | 'speedbar-timer-fn | ||
| 1987 | timeout | ||
| 1988 | nil))))) | ||
| 1989 | ;; Post 19.31 Emacs | ||
| 1990 | ((fboundp 'run-with-idle-timer) | ||
| 1991 | (if speedbar-timer | ||
| 1992 | (progn (cancel-timer speedbar-timer) | ||
| 1993 | (setq speedbar-timer nil))) | ||
| 1994 | (if timeout | ||
| 1995 | (setq speedbar-timer | ||
| 1996 | (run-with-idle-timer timeout t 'speedbar-timer-fn)))) | ||
| 1997 | ;; Emacs 19.30 (Thanks twice: ptype@dra.hmg.gb) | ||
| 1998 | ((fboundp 'post-command-idle-hook) | ||
| 1999 | (if timeout | ||
| 2000 | (add-hook 'post-command-idle-hook 'speedbar-timer-fn) | ||
| 2001 | (remove-hook 'post-command-idle-hook 'speedbar-timer-fn))) | ||
| 2002 | ;; Older or other Emacsen with no timers. Set up so that its | ||
| 2003 | ;; obvious this emacs can't handle the updates | ||
| 2004 | (t | ||
| 2005 | (setq speedbar-update-flag nil))) | ||
| 2006 | ;; Apply a revert hook that will reset the scanners. We attach to revert | ||
| 2007 | ;; because most reverts occur during VC state change, and this lets our | ||
| 2008 | ;; VC scanner fix itself. | ||
| 2009 | (if timeout | ||
| 2010 | (add-hook 'after-revert-hook 'speedbar-reset-scanners) | ||
| 2011 | (remove-hook 'after-revert-hook 'speedbar-reset-scanners) | ||
| 2012 | ) | ||
| 2013 | ;; change this if it changed for some reason | ||
| 2014 | (speedbar-set-mode-line-format)) | ||
| 2015 | 1651 | ||
| 2016 | (defmacro speedbar-with-writable (&rest forms) | 1652 | (defmacro speedbar-with-writable (&rest forms) |
| 2017 | "Allow the buffer to be writable and evaluate FORMS." | 1653 | "Allow the buffer to be writable and evaluate FORMS." |
| @@ -2019,14 +1655,6 @@ to track file check ins, and will change the mode line to match | |||
| 2019 | (cons 'progn forms))) | 1655 | (cons 'progn forms))) |
| 2020 | (put 'speedbar-with-writable 'lisp-indent-function 0) | 1656 | (put 'speedbar-with-writable 'lisp-indent-function 0) |
| 2021 | 1657 | ||
| 2022 | (defun speedbar-select-window (buffer) | ||
| 2023 | "Select a window in which BUFFER is shown. | ||
| 2024 | If it is not shown, force it to appear in the default window." | ||
| 2025 | (let ((win (get-buffer-window buffer speedbar-attached-frame))) | ||
| 2026 | (if win | ||
| 2027 | (select-window win) | ||
| 2028 | (set-window-buffer (selected-window) buffer)))) | ||
| 2029 | |||
| 2030 | (defun speedbar-insert-button (text face mouse function | 1658 | (defun speedbar-insert-button (text face mouse function |
| 2031 | &optional token prevline) | 1659 | &optional token prevline) |
| 2032 | "Insert TEXT as the next logical speedbar button. | 1660 | "Insert TEXT as the next logical speedbar button. |
| @@ -2053,13 +1681,30 @@ specialized speedbar displays." | |||
| 2053 | (put-text-property start (point) 'invisible nil) | 1681 | (put-text-property start (point) 'invisible nil) |
| 2054 | (put-text-property start (point) 'mouse-face nil))) | 1682 | (put-text-property start (point) 'mouse-face nil))) |
| 2055 | 1683 | ||
| 1684 | (defun speedbar-insert-separator (text) | ||
| 1685 | "Insert a separation label of TEXT. | ||
| 1686 | Separators are not active, have no labels, depth, or actions." | ||
| 1687 | (if speedbar-use-images | ||
| 1688 | (let ((start (point))) | ||
| 1689 | (insert "//") | ||
| 1690 | (speedbar-insert-image-button-maybe start 2))) | ||
| 1691 | (let ((start (point))) | ||
| 1692 | (insert text "\n") | ||
| 1693 | (speedbar-make-button start (point) | ||
| 1694 | 'speedbar-separator-face | ||
| 1695 | nil nil nil))) | ||
| 1696 | |||
| 2056 | (defun speedbar-make-button (start end face mouse function &optional token) | 1697 | (defun speedbar-make-button (start end face mouse function &optional token) |
| 2057 | "Create a button from START to END, with FACE as the display face. | 1698 | "Create a button from START to END, with FACE as the display face. |
| 2058 | MOUSE is the mouse face. When this button is clicked on FUNCTION | 1699 | MOUSE is the mouse face. When this button is clicked on FUNCTION |
| 2059 | will be run with the TOKEN parameter (any Lisp object)." | 1700 | will be run with the TOKEN parameter (any Lisp object)" |
| 2060 | (put-text-property start end 'face face) | 1701 | (put-text-property start end 'face face) |
| 2061 | (put-text-property start end 'mouse-face mouse) | 1702 | (put-text-property start end 'mouse-face mouse) |
| 1703 | (if speedbar-use-tool-tips-flag | ||
| 1704 | (put-text-property start end 'help-echo #'dframe-help-echo)) | ||
| 2062 | (put-text-property start end 'invisible nil) | 1705 | (put-text-property start end 'invisible nil) |
| 1706 | (put-text-property start end 'speedbar-text | ||
| 1707 | (buffer-substring-no-properties start end)) | ||
| 2063 | (if function (put-text-property start end 'speedbar-function function)) | 1708 | (if function (put-text-property start end 'speedbar-function function)) |
| 2064 | (if token (put-text-property start end 'speedbar-token token)) | 1709 | (if token (put-text-property start end 'speedbar-token token)) |
| 2065 | ;; So far the only text we have is less that 3 chars. | 1710 | ;; So far the only text we have is less that 3 chars. |
| @@ -2116,8 +1761,10 @@ This is based on `speedbar-initial-expansion-list-name' referencing | |||
| 2116 | (setq speedbar-previously-used-expansion-list-name | 1761 | (setq speedbar-previously-used-expansion-list-name |
| 2117 | speedbar-initial-expansion-list-name | 1762 | speedbar-initial-expansion-list-name |
| 2118 | speedbar-initial-expansion-list-name new-default) | 1763 | speedbar-initial-expansion-list-name new-default) |
| 2119 | (speedbar-refresh) | 1764 | (if (and (speedbar-current-frame) (frame-live-p (speedbar-current-frame))) |
| 2120 | (speedbar-reconfigure-keymaps)) | 1765 | (progn |
| 1766 | (speedbar-refresh) | ||
| 1767 | (speedbar-reconfigure-keymaps)))) | ||
| 2121 | 1768 | ||
| 2122 | (defun speedbar-fetch-replacement-function (function) | 1769 | (defun speedbar-fetch-replacement-function (function) |
| 2123 | "Return a current mode specific replacement for function, or nil. | 1770 | "Return a current mode specific replacement for function, or nil. |
| @@ -2199,26 +1846,30 @@ the file-system." | |||
| 2199 | (setq directory (expand-file-name directory)) | 1846 | (setq directory (expand-file-name directory)) |
| 2200 | ;; If in powerclick mode, then the directory we are getting | 1847 | ;; If in powerclick mode, then the directory we are getting |
| 2201 | ;; should be rescanned. | 1848 | ;; should be rescanned. |
| 2202 | (if speedbar-power-click | 1849 | (if dframe-power-click |
| 2203 | (adelete 'speedbar-directory-contents-alist directory)) | 1850 | (adelete 'speedbar-directory-contents-alist directory)) |
| 2204 | ;; find the directory, either in the cache, or build it. | 1851 | ;; find the directory, either in the cache, or build it. |
| 2205 | (or (cdr-safe (assoc directory speedbar-directory-contents-alist)) | 1852 | (or (cdr-safe (assoc directory speedbar-directory-contents-alist)) |
| 2206 | (let ((default-directory directory) | 1853 | (let ((default-directory directory) |
| 2207 | (case-fold-search read-file-name-completion-ignore-case) | 1854 | (dir (directory-files directory nil)) |
| 2208 | dirs files) | 1855 | (dirs nil) |
| 2209 | (dolist (file (directory-files directory nil)) | 1856 | (files nil)) |
| 2210 | (or (string-match speedbar-file-unshown-regexp file) | 1857 | (while dir |
| 2211 | (string-match speedbar-directory-unshown-regexp file) | 1858 | (if (not |
| 2212 | (if (file-directory-p file) | 1859 | (or (string-match speedbar-file-unshown-regexp (car dir)) |
| 2213 | (setq dirs (cons file dirs)) | 1860 | (string-match speedbar-directory-unshown-regexp (car dir)))) |
| 2214 | (setq files (cons file files))))) | 1861 | (if (file-directory-p (car dir)) |
| 2215 | (let ((nl `(,(nreverse dirs) ,(nreverse files)))) | 1862 | (setq dirs (cons (car dir) dirs)) |
| 1863 | (setq files (cons (car dir) files)))) | ||
| 1864 | (setq dir (cdr dir))) | ||
| 1865 | (let ((nl (cons (nreverse dirs) (list (nreverse files))))) | ||
| 2216 | (aput 'speedbar-directory-contents-alist directory nl) | 1866 | (aput 'speedbar-directory-contents-alist directory nl) |
| 2217 | nl)))) | 1867 | nl)) |
| 1868 | )) | ||
| 2218 | 1869 | ||
| 2219 | (defun speedbar-directory-buttons (directory index) | 1870 | (defun speedbar-directory-buttons (directory index) |
| 2220 | "Insert a single button group at point for DIRECTORY. | 1871 | "Insert a single button group at point for DIRECTORY. |
| 2221 | Each directory path part is a different button. If part of the path | 1872 | Each directory directory part is a different button. If part of the directory |
| 2222 | matches the user directory ~, then it is replaced with a ~. | 1873 | matches the user directory ~, then it is replaced with a ~. |
| 2223 | INDEX is not used, but is required by the caller." | 1874 | INDEX is not used, but is required by the caller." |
| 2224 | (let* ((tilde (expand-file-name "~/")) | 1875 | (let* ((tilde (expand-file-name "~/")) |
| @@ -2294,8 +1945,9 @@ INDEX is not used, but is required by the caller." | |||
| 2294 | This is the button that expands or contracts a node (if applicable), | 1945 | This is the button that expands or contracts a node (if applicable), |
| 2295 | and EXP-BUTTON-CHAR the character in it (+, -, ?, etc). EXP-BUTTON-FUNCTION | 1946 | and EXP-BUTTON-CHAR the character in it (+, -, ?, etc). EXP-BUTTON-FUNCTION |
| 2296 | is the function to call if it's clicked on. Button types are | 1947 | is the function to call if it's clicked on. Button types are |
| 2297 | 'bracket, 'angle, 'curly, or nil. EXP-BUTTON-DATA is extra data | 1948 | 'bracket, 'angle, 'curly, 'expandtag, 'statictag, t, or nil. |
| 2298 | attached to the text forming the expansion button. | 1949 | EXP-BUTTON-DATA is extra data attached to the text forming the expansion |
| 1950 | button. | ||
| 2299 | 1951 | ||
| 2300 | Next, TAG-BUTTON is the text of the tag. TAG-BUTTON-FUNCTION is the | 1952 | Next, TAG-BUTTON is the text of the tag. TAG-BUTTON-FUNCTION is the |
| 2301 | function to call if clicked on, and TAG-BUTTON-DATA is the data to | 1953 | function to call if clicked on, and TAG-BUTTON-DATA is the data to |
| @@ -2317,11 +1969,14 @@ position to insert a new item, and that the new item will end with a CR." | |||
| 2317 | (let* ((exp-button (cond ((eq exp-button-type 'bracket) "[%c]") | 1969 | (let* ((exp-button (cond ((eq exp-button-type 'bracket) "[%c]") |
| 2318 | ((eq exp-button-type 'angle) "<%c>") | 1970 | ((eq exp-button-type 'angle) "<%c>") |
| 2319 | ((eq exp-button-type 'curly) "{%c}") | 1971 | ((eq exp-button-type 'curly) "{%c}") |
| 1972 | ((eq exp-button-type 'expandtag) " %c>") | ||
| 1973 | ((eq exp-button-type 'statictag) " =>") | ||
| 2320 | (t ">"))) | 1974 | (t ">"))) |
| 2321 | (buttxt (format exp-button exp-button-char)) | 1975 | (buttxt (format exp-button exp-button-char)) |
| 2322 | (start (point)) | 1976 | (start (point)) |
| 2323 | (end (progn (insert buttxt) (point))) | 1977 | (end (progn (insert buttxt) (point))) |
| 2324 | (bf (if exp-button-type 'speedbar-button-face nil)) | 1978 | (bf (if (and exp-button-type (not (eq exp-button-type 'statictag))) |
| 1979 | 'speedbar-button-face nil)) | ||
| 2325 | (mf (if exp-button-function 'speedbar-highlight-face nil)) | 1980 | (mf (if exp-button-function 'speedbar-highlight-face nil)) |
| 2326 | ) | 1981 | ) |
| 2327 | (speedbar-make-button start end bf mf exp-button-function exp-button-data) | 1982 | (speedbar-make-button start end bf mf exp-button-function exp-button-data) |
| @@ -2340,7 +1995,7 @@ position to insert a new item, and that the new item will end with a CR." | |||
| 2340 | (if tag-button-function 'speedbar-highlight-face nil) | 1995 | (if tag-button-function 'speedbar-highlight-face nil) |
| 2341 | tag-button-function tag-button-data)) | 1996 | tag-button-function tag-button-data)) |
| 2342 | )) | 1997 | )) |
| 2343 | 1998 | ||
| 2344 | (defun speedbar-change-expand-button-char (char) | 1999 | (defun speedbar-change-expand-button-char (char) |
| 2345 | "Change the expansion button character to CHAR for the current line." | 2000 | "Change the expansion button character to CHAR for the current line." |
| 2346 | (save-excursion | 2001 | (save-excursion |
| @@ -2348,50 +2003,45 @@ position to insert a new item, and that the new item will end with a CR." | |||
| 2348 | (if (re-search-forward ":\\s-*.\\([-+?]\\)" (save-excursion (end-of-line) | 2003 | (if (re-search-forward ":\\s-*.\\([-+?]\\)" (save-excursion (end-of-line) |
| 2349 | (point)) t) | 2004 | (point)) t) |
| 2350 | (speedbar-with-writable | 2005 | (speedbar-with-writable |
| 2351 | (goto-char (match-beginning 1)) | 2006 | (goto-char (match-end 1)) |
| 2352 | (delete-char 1) | ||
| 2353 | (insert-char char 1 t) | 2007 | (insert-char char 1 t) |
| 2354 | (put-text-property (point) (1- (point)) 'invisible nil) | 2008 | (forward-char -1) |
| 2009 | (delete-char -1) | ||
| 2010 | ;;(put-text-property (point) (1- (point)) 'invisible nil) | ||
| 2355 | ;; make sure we fix the image on the text here. | 2011 | ;; make sure we fix the image on the text here. |
| 2356 | (speedbar-insert-image-button-maybe (- (point) 2) 3))))) | 2012 | (speedbar-insert-image-button-maybe (- (point) 1) 3))))) |
| 2357 | 2013 | ||
| 2358 | 2014 | ||
| 2359 | ;;; Build button lists | 2015 | ;;; Build button lists |
| 2360 | ;; | 2016 | ;; |
| 2361 | (defun speedbar-insert-files-at-point (files level directory) | 2017 | (defun speedbar-insert-files-at-point (files level) |
| 2362 | "Insert list of FILES starting at point, and indenting all files to LEVEL. | 2018 | "Insert list of FILES starting at point, and indenting all files to LEVEL. |
| 2363 | Tag expandable items with a +, otherwise a ?. Don't highlight ? as we | 2019 | Tag expandable items with a +, otherwise a ?. Don't highlight ? as we |
| 2364 | don't know how to manage them. The input parameter FILES is a cons | 2020 | don't know how to manage them. The input parameter FILES is a cons |
| 2365 | cell of the form ( 'DIRLIST . 'FILELIST )." | 2021 | cell of the form ( 'DIRLIST . 'FILELIST )." |
| 2366 | ;; Start inserting all the directories | 2022 | ;; Start inserting all the directories |
| 2367 | (dolist (dir (car files)) | 2023 | (let ((dirs (car files))) |
| 2368 | (if (if speedbar-scan-subdirs | 2024 | (while dirs |
| 2369 | (condition-case nil | 2025 | (speedbar-make-tag-line 'angle ?+ 'speedbar-dired (car dirs) |
| 2370 | (let ((l (speedbar-file-lists (concat directory dir)))) | 2026 | (car dirs) 'speedbar-dir-follow nil |
| 2371 | (or (car l) (cadr l))) | 2027 | 'speedbar-directory-face level) |
| 2372 | (file-error)) | 2028 | (setq dirs (cdr dirs)))) |
| 2373 | (file-readable-p (concat directory dir))) | 2029 | (let ((lst (car (cdr files))) |
| 2374 | (speedbar-make-tag-line 'angle ?+ 'speedbar-dired dir | 2030 | (case-fold-search t)) |
| 2375 | dir 'speedbar-dir-follow nil | 2031 | (while lst |
| 2376 | 'speedbar-directory-face level) | 2032 | (let* ((known (string-match speedbar-file-regexp (car lst))) |
| 2377 | (speedbar-make-tag-line 'angle ? nil dir | ||
| 2378 | dir 'speedbar-dir-follow nil | ||
| 2379 | 'speedbar-directory-face level))) | ||
| 2380 | (let ((case-fold-search read-file-name-completion-ignore-case)) | ||
| 2381 | (dolist (file (cadr files)) | ||
| 2382 | (let* ((known (and (file-readable-p (concat directory file)) | ||
| 2383 | (string-match speedbar-file-regexp file))) | ||
| 2384 | (expchar (if known ?+ ??)) | 2033 | (expchar (if known ?+ ??)) |
| 2385 | (fn (if known 'speedbar-tag-file nil))) | 2034 | (fn (if known 'speedbar-tag-file nil))) |
| 2386 | (if (or speedbar-show-unknown-files (/= expchar ??)) | 2035 | (if (or speedbar-show-unknown-files (/= expchar ??)) |
| 2387 | (speedbar-make-tag-line 'bracket expchar fn file | 2036 | (speedbar-make-tag-line 'bracket expchar fn (car lst) |
| 2388 | file 'speedbar-find-file nil | 2037 | (car lst) 'speedbar-find-file nil |
| 2389 | 'speedbar-file-face level)))))) | 2038 | 'speedbar-file-face level))) |
| 2039 | (setq lst (cdr lst))))) | ||
| 2390 | 2040 | ||
| 2391 | (defun speedbar-default-directory-list (directory index) | 2041 | (defun speedbar-default-directory-list (directory index) |
| 2392 | "Insert files for DIRECTORY with level INDEX at point." | 2042 | "Insert files for DIRECTORY with level INDEX at point." |
| 2393 | (speedbar-insert-files-at-point | 2043 | (speedbar-insert-files-at-point |
| 2394 | (speedbar-file-lists directory) index directory) | 2044 | (speedbar-file-lists directory) index) |
| 2395 | (speedbar-reset-scanners) | 2045 | (speedbar-reset-scanners) |
| 2396 | (if (= index 0) | 2046 | (if (= index 0) |
| 2397 | ;; If the shown files variable has extra directories, then | 2047 | ;; If the shown files variable has extra directories, then |
| @@ -2412,12 +2062,63 @@ cell of the form ( 'DIRLIST . 'FILELIST )." | |||
| 2412 | (speedbar-do-function-pointer))))) | 2062 | (speedbar-do-function-pointer))))) |
| 2413 | (setq sf (cdr sf))) | 2063 | (setq sf (cdr sf))) |
| 2414 | ))) | 2064 | ))) |
| 2065 | ;;; Generic List support | ||
| 2066 | ;; | ||
| 2067 | ;; Generic lists are hierarchies of tags which we may need to permute | ||
| 2068 | ;; in order to make it look nice. | ||
| 2069 | ;; | ||
| 2070 | ;; A generic list is of the form: | ||
| 2071 | ;; ( ("name" . marker-or-number) <-- one tag at this level | ||
| 2072 | ;; ("name" ("name" . mon) ("name" . mon) ) <-- one group of tags | ||
| 2073 | ;; ("name" mon ("name" . mon) ) <-- group w/ a position and tags | ||
| 2074 | (defun speedbar-generic-list-group-p (sublst) | ||
| 2075 | "Non-nil if SUBLST is a group. | ||
| 2076 | Groups may optionally contain a position." | ||
| 2077 | (and (stringp (car-safe sublst)) | ||
| 2078 | (or (and (listp (cdr-safe sublst)) | ||
| 2079 | (or (speedbar-generic-list-tag-p (car-safe (cdr-safe sublst))) | ||
| 2080 | (speedbar-generic-list-group-p (car-safe (cdr-safe sublst)) | ||
| 2081 | ))) | ||
| 2082 | (and (number-or-marker-p (car-safe (cdr-safe sublst))) | ||
| 2083 | (listp (cdr-safe (cdr-safe sublst))) | ||
| 2084 | (speedbar-generic-list-tag-p | ||
| 2085 | (car-safe (cdr-safe (cdr-safe sublst))))) | ||
| 2086 | ))) | ||
| 2087 | |||
| 2088 | (defun speedbar-generic-list-positioned-group-p (sublst) | ||
| 2089 | "Non-nil of SUBLST is a group with a position." | ||
| 2090 | (and (stringp (car-safe sublst)) | ||
| 2091 | (number-or-marker-p (car-safe (cdr-safe sublst))) | ||
| 2092 | (listp (cdr-safe (cdr-safe sublst))) | ||
| 2093 | (let ((rest (car-safe (cdr-safe (cdr-safe sublst))))) | ||
| 2094 | (or (speedbar-generic-list-tag-p rest) | ||
| 2095 | (speedbar-generic-list-group-p rest) | ||
| 2096 | (speedbar-generic-list-positioned-group-p rest) | ||
| 2097 | )))) | ||
| 2098 | |||
| 2099 | (defun speedbar-generic-list-tag-p (sublst) | ||
| 2100 | "Non nil if SUBLST is a tag." | ||
| 2101 | (and (stringp (car-safe sublst)) | ||
| 2102 | (or (and (number-or-marker-p (cdr-safe sublst)) | ||
| 2103 | (not (cdr-safe (cdr-safe sublst)))) | ||
| 2104 | ;; For semantic/bovine items, this is needed | ||
| 2105 | (symbolp (car-safe (cdr-safe sublst)))) | ||
| 2106 | )) | ||
| 2415 | 2107 | ||
| 2416 | (defun speedbar-sort-tag-hierarchy (lst) | 2108 | (defun speedbar-sort-tag-hierarchy (lst) |
| 2417 | "Sort all elements of tag hierarchy LST." | 2109 | "Sort all elements of tag hierarchy LST." |
| 2418 | (sort (copy-alist lst) | 2110 | (sort (copy-alist lst) |
| 2419 | (lambda (a b) (string< (car a) (car b))))) | 2111 | (lambda (a b) (string< (car a) (car b))))) |
| 2420 | 2112 | ||
| 2113 | (defun speedbar-try-completion (string alist) | ||
| 2114 | "A wrapper for `try-completion'. | ||
| 2115 | Passes STRING and ALIST to `try-completion' if ALIST | ||
| 2116 | passes some tests." | ||
| 2117 | (if (and (listp alist) (not (null alist)) | ||
| 2118 | (listp (car alist)) (stringp (car (car alist)))) | ||
| 2119 | (try-completion string alist) | ||
| 2120 | nil)) | ||
| 2121 | |||
| 2421 | (defun speedbar-prefix-group-tag-hierarchy (lst) | 2122 | (defun speedbar-prefix-group-tag-hierarchy (lst) |
| 2422 | "Prefix group names for tag hierarchy LST." | 2123 | "Prefix group names for tag hierarchy LST." |
| 2423 | (let ((newlst nil) | 2124 | (let ((newlst nil) |
| @@ -2430,133 +2131,134 @@ cell of the form ( 'DIRLIST . 'FILELIST )." | |||
| 2430 | (num-shorts-grouped 0) | 2131 | (num-shorts-grouped 0) |
| 2431 | (bins (make-vector 256 nil)) | 2132 | (bins (make-vector 256 nil)) |
| 2432 | (diff-idx 0)) | 2133 | (diff-idx 0)) |
| 2433 | ;; Break out sub-lists | 2134 | (if (<= (length lst) speedbar-tag-regroup-maximum-length) |
| 2434 | (while lst | 2135 | ;; Do nothing. Too short to bother with. |
| 2435 | (if (and (listp (cdr-safe (car-safe lst))) | 2136 | lst |
| 2436 | ;; This one is for bovine tokens | 2137 | ;; Break out sub-lists |
| 2437 | (not (symbolp (car-safe (cdr-safe (car-safe lst)))))) | 2138 | (while lst |
| 2438 | (setq newlst (cons (car lst) newlst)) | 2139 | (if (speedbar-generic-list-group-p (car-safe lst)) |
| 2439 | (setq sublst (cons (car lst) sublst))) | 2140 | (setq newlst (cons (car lst) newlst)) |
| 2440 | (setq lst (cdr lst))) | 2141 | (setq sublst (cons (car lst) sublst))) |
| 2441 | ;; Reverse newlst because it was made backwards. | 2142 | (setq lst (cdr lst))) |
| 2442 | ;; Sublist doesn't need reversing because the act | 2143 | ;; Reverse newlst because it was made backwards. |
| 2443 | ;; of binning things will reverse it for us. | 2144 | ;; Sublist doesn't need reversing because the act |
| 2444 | (setq newlst (nreverse newlst)) | 2145 | ;; of binning things will reverse it for us. |
| 2445 | ;; Now, first find out how long our list is. Never let a | 2146 | (setq newlst (nreverse newlst) |
| 2446 | ;; list get-shorter than our minimum. | 2147 | sublst sublst) |
| 2447 | (if (<= (length sublst) speedbar-tag-split-minimum-length) | 2148 | ;; Now, first find out how long our list is. Never let a |
| 2448 | (setq work-list (nreverse sublst)) | 2149 | ;; list get-shorter than our minimum. |
| 2449 | (setq diff-idx (length (try-completion "" sublst))) | 2150 | (if (<= (length sublst) speedbar-tag-split-minimum-length) |
| 2450 | ;; Sort the whole list into bins. | 2151 | (setq work-list sublst) |
| 2451 | (while sublst | 2152 | (setq diff-idx (length (speedbar-try-completion "" sublst))) |
| 2452 | (let ((e (car sublst)) | 2153 | ;; Sort the whole list into bins. |
| 2453 | (s (car (car sublst)))) | 2154 | (while sublst |
| 2454 | (cond ((<= (length s) diff-idx) | 2155 | (let ((e (car sublst)) |
| 2455 | ;; 0 storage bin for shorty. | 2156 | (s (car (car sublst)))) |
| 2456 | (aset bins 0 (cons e (aref bins 0)))) | 2157 | (cond ((<= (length s) diff-idx) |
| 2457 | (t | 2158 | ;; 0 storage bin for shorty. |
| 2458 | ;; stuff into a bin based on ascii value at diff | 2159 | (aset bins 0 (cons e (aref bins 0)))) |
| 2459 | (aset bins (aref s diff-idx) | 2160 | (t |
| 2460 | (cons e (aref bins (aref s diff-idx))))))) | 2161 | ;; stuff into a bin based on ascii value at diff |
| 2461 | (setq sublst (cdr sublst))) | 2162 | (aset bins (aref s diff-idx) |
| 2462 | ;; Go through all our bins Stick singles into our | 2163 | (cons e (aref bins (aref s diff-idx))))))) |
| 2463 | ;; junk-list, everything else as sublsts in work-list. | 2164 | (setq sublst (cdr sublst))) |
| 2464 | ;; If two neighboring lists are both small, make a grouped | 2165 | ;; Go through all our bins Stick singles into our |
| 2465 | ;; group combinding those two sub-lists. | 2166 | ;; junk-list, everything else as sublsts in work-list. |
| 2466 | (setq diff-idx 0) | 2167 | ;; If two neighboring lists are both small, make a grouped |
| 2467 | (while (> 256 diff-idx) | 2168 | ;; group combinding those two sub-lists. |
| 2468 | (let ((l (nreverse;; Reverse the list since they are stuck in | 2169 | (setq diff-idx 0) |
| 2469 | ;; backwards. | 2170 | (while (> 256 diff-idx) |
| 2470 | (aref bins diff-idx)))) | 2171 | ;; The bins contents are currently in forward order. |
| 2471 | (if l | 2172 | (let ((l (aref bins diff-idx))) |
| 2472 | (let ((tmp (cons (try-completion "" l) l))) | 2173 | (if l |
| 2473 | (if (or (> (length l) speedbar-tag-regroup-maximum-length) | 2174 | (let ((tmp (cons (speedbar-try-completion "" l) l))) |
| 2474 | (> (+ (length l) (length short-group-list)) | 2175 | (if (or (> (length l) speedbar-tag-regroup-maximum-length) |
| 2475 | speedbar-tag-split-minimum-length)) | 2176 | (> (+ (length l) (length short-group-list)) |
| 2476 | (progn | 2177 | speedbar-tag-split-minimum-length)) |
| 2477 | ;; We have reached a longer list, so we | 2178 | (progn |
| 2478 | ;; must finish off a grouped group. | 2179 | ;; We have reached a longer list, so we |
| 2479 | (cond | 2180 | ;; must finish off a grouped group. |
| 2480 | ((and short-group-list | 2181 | (cond |
| 2481 | (= (length short-group-list) | 2182 | ((and short-group-list |
| 2482 | num-shorts-grouped)) | 2183 | (= (length short-group-list) |
| 2483 | ;; All singles? Junk list | 2184 | num-shorts-grouped)) |
| 2484 | (setq junk-list (append short-group-list | 2185 | ;; All singles? Junk list |
| 2485 | junk-list))) | 2186 | (setq junk-list (append (nreverse short-group-list) |
| 2486 | ((= num-shorts-grouped 1) | 2187 | junk-list))) |
| 2487 | ;; Only one short group? Just stick it in | 2188 | ((= num-shorts-grouped 1) |
| 2488 | ;; there by itself. Make a group, and find | 2189 | ;; Only one short group? Just stick it in |
| 2489 | ;; a subexpression | 2190 | ;; there by itself. Make a group, and find |
| 2490 | (let ((subexpression (try-completion | 2191 | ;; a subexpression |
| 2491 | "" short-group-list))) | 2192 | (let ((subexpression (speedbar-try-completion |
| 2492 | (if (< (length subexpression) | 2193 | "" short-group-list))) |
| 2493 | speedbar-tag-group-name-minimum-length) | 2194 | (if (< (length subexpression) |
| 2494 | (setq subexpression | 2195 | speedbar-tag-group-name-minimum-length) |
| 2495 | (concat short-start-name | 2196 | (setq subexpression |
| 2496 | " (" | 2197 | (concat short-start-name |
| 2497 | (substring | 2198 | " (" |
| 2498 | (car (car short-group-list)) | 2199 | (substring |
| 2499 | (length short-start-name)) | 2200 | (car (car short-group-list)) |
| 2500 | ")"))) | 2201 | (length short-start-name)) |
| 2202 | ")"))) | ||
| 2203 | (setq work-list | ||
| 2204 | (cons (cons subexpression | ||
| 2205 | short-group-list) | ||
| 2206 | work-list )))) | ||
| 2207 | (short-group-list | ||
| 2208 | ;; Multiple groups to be named in a special | ||
| 2209 | ;; way by displaying the range over which we | ||
| 2210 | ;; have grouped them. | ||
| 2501 | (setq work-list | 2211 | (setq work-list |
| 2502 | (cons (cons subexpression | 2212 | (cons (cons (concat short-start-name |
| 2213 | " to " | ||
| 2214 | short-end-name) | ||
| 2503 | short-group-list) | 2215 | short-group-list) |
| 2504 | work-list)))) | 2216 | work-list)))) |
| 2505 | (short-group-list | 2217 | ;; Reset short group list information every time. |
| 2506 | ;; Multiple groups to be named in a special | 2218 | (setq short-group-list nil |
| 2507 | ;; way by displaying the range over which we | 2219 | short-start-name nil |
| 2508 | ;; have grouped them. | 2220 | short-end-name nil |
| 2509 | (setq work-list | 2221 | num-shorts-grouped 0))) |
| 2510 | (cons (cons (concat short-start-name | 2222 | ;; Ok, now that we cleaned up the short-group-list, |
| 2511 | " to " | 2223 | ;; we can deal with this new list, to decide if it |
| 2512 | short-end-name) | 2224 | ;; should go on one of these sub-lists or not. |
| 2513 | (nreverse short-group-list)) | 2225 | (if (< (length l) speedbar-tag-regroup-maximum-length) |
| 2514 | work-list)))) | 2226 | (setq short-group-list (append l short-group-list) |
| 2515 | ;; Reset short group list information every time. | 2227 | num-shorts-grouped (1+ num-shorts-grouped) |
| 2516 | (setq short-group-list nil | 2228 | short-end-name (car tmp) |
| 2517 | short-start-name nil | 2229 | short-start-name (if short-start-name |
| 2518 | short-end-name nil | 2230 | short-start-name |
| 2519 | num-shorts-grouped 0))) | 2231 | (car tmp))) |
| 2520 | ;; Ok, now that we cleaned up the short-group-list, | 2232 | (setq work-list (cons tmp work-list)))))) |
| 2521 | ;; we can deal with this new list, to decide if it | 2233 | (setq diff-idx (1+ diff-idx)))) |
| 2522 | ;; should go on one of these sub-lists or not. | 2234 | ;; Did we run out of things? Drop our new list onto the end. |
| 2523 | (if (< (length l) speedbar-tag-regroup-maximum-length) | 2235 | (cond |
| 2524 | (setq short-group-list (append short-group-list l) | 2236 | ((and short-group-list (= (length short-group-list) num-shorts-grouped)) |
| 2525 | num-shorts-grouped (1+ num-shorts-grouped) | 2237 | ;; All singles? Junk list |
| 2526 | short-end-name (car tmp) | 2238 | (setq junk-list (append short-group-list junk-list))) |
| 2527 | short-start-name (if short-start-name | 2239 | ((= num-shorts-grouped 1) |
| 2528 | short-start-name | 2240 | ;; Only one short group? Just stick it in |
| 2529 | (car tmp))) | 2241 | ;; there by itself. |
| 2530 | (setq work-list (cons tmp work-list)))))) | 2242 | (setq work-list |
| 2531 | (setq diff-idx (1+ diff-idx)))) | 2243 | (cons (cons (speedbar-try-completion "" short-group-list) |
| 2532 | ;; Did we run out of things? Drop our new list onto the end. | 2244 | short-group-list) |
| 2533 | (cond | 2245 | work-list))) |
| 2534 | ((and short-group-list (= (length short-group-list) num-shorts-grouped)) | 2246 | (short-group-list |
| 2535 | ;; All singles? Junk list | 2247 | ;; Multiple groups to be named in a special |
| 2536 | (setq junk-list (append short-group-list junk-list))) | 2248 | ;; way by displaying the range over which we |
| 2537 | ((= num-shorts-grouped 1) | 2249 | ;; have grouped them. |
| 2538 | ;; Only one short group? Just stick it in | 2250 | (setq work-list |
| 2539 | ;; there by itself. | 2251 | (cons (cons (concat short-start-name " to " short-end-name) |
| 2540 | (setq work-list | 2252 | short-group-list) |
| 2541 | (cons (cons (try-completion "" short-group-list) | 2253 | work-list)))) |
| 2542 | short-group-list) | 2254 | ;; Reverse the work list nreversed when consing. |
| 2543 | work-list))) | 2255 | (setq work-list (nreverse work-list)) |
| 2544 | (short-group-list | 2256 | ;; Now, stick our new list onto the end of |
| 2545 | ;; Multiple groups to be named in a special | 2257 | (if work-list |
| 2546 | ;; way by displaying the range over which we | 2258 | (if junk-list |
| 2547 | ;; have grouped them. | 2259 | (append newlst work-list junk-list) |
| 2548 | (setq work-list | 2260 | (append newlst work-list)) |
| 2549 | (cons (cons (concat short-start-name " to " short-end-name) | 2261 | (append newlst junk-list))))) |
| 2550 | short-group-list) | ||
| 2551 | work-list)))) | ||
| 2552 | ;; Reverse the work list nreversed when consing. | ||
| 2553 | (setq work-list (nreverse work-list)) | ||
| 2554 | ;; Now, stick our new list onto the end of | ||
| 2555 | (if work-list | ||
| 2556 | (if junk-list | ||
| 2557 | (append newlst work-list junk-list) | ||
| 2558 | (append newlst work-list)) | ||
| 2559 | (append newlst junk-list)))) | ||
| 2560 | 2262 | ||
| 2561 | (defun speedbar-trim-words-tag-hierarchy (lst) | 2263 | (defun speedbar-trim-words-tag-hierarchy (lst) |
| 2562 | "Trim all words in a tag hierarchy. | 2264 | "Trim all words in a tag hierarchy. |
| @@ -2568,17 +2270,18 @@ Argument LST is the list of tags to trim." | |||
| 2568 | (trim-chars 0) | 2270 | (trim-chars 0) |
| 2569 | (trimlst nil)) | 2271 | (trimlst nil)) |
| 2570 | (while lst | 2272 | (while lst |
| 2571 | (if (listp (cdr-safe (car-safe lst))) | 2273 | (if (speedbar-generic-list-group-p (car-safe lst)) |
| 2572 | (setq newlst (cons (car lst) newlst)) | 2274 | (setq newlst (cons (car lst) newlst)) |
| 2573 | (setq sublst (cons (car lst) sublst))) | 2275 | (setq sublst (cons (car lst) sublst))) |
| 2574 | (setq lst (cdr lst))) | 2276 | (setq lst (cdr lst))) |
| 2575 | ;; Get the prefix to trim by. Make sure that we don't trim | 2277 | ;; Get the prefix to trim by. Make sure that we don't trim |
| 2576 | ;; off silly pieces, only complete understandable words. | 2278 | ;; off silly pieces, only complete understandable words. |
| 2577 | (setq trim-prefix (try-completion "" sublst)) | 2279 | (setq trim-prefix (speedbar-try-completion "" sublst) |
| 2280 | newlst (nreverse newlst)) | ||
| 2578 | (if (or (= (length sublst) 1) | 2281 | (if (or (= (length sublst) 1) |
| 2579 | (not trim-prefix) | 2282 | (not trim-prefix) |
| 2580 | (not (string-match "\\(\\w+\\W+\\)+" trim-prefix))) | 2283 | (not (string-match "\\(\\w+\\W+\\)+" trim-prefix))) |
| 2581 | (append (nreverse newlst) (nreverse sublst)) | 2284 | (append newlst (nreverse sublst)) |
| 2582 | (setq trim-prefix (substring trim-prefix (match-beginning 0) | 2285 | (setq trim-prefix (substring trim-prefix (match-beginning 0) |
| 2583 | (match-end 0))) | 2286 | (match-end 0))) |
| 2584 | (setq trim-chars (length trim-prefix)) | 2287 | (setq trim-chars (length trim-prefix)) |
| @@ -2589,7 +2292,7 @@ Argument LST is the list of tags to trim." | |||
| 2589 | trimlst) | 2292 | trimlst) |
| 2590 | sublst (cdr sublst))) | 2293 | sublst (cdr sublst))) |
| 2591 | ;; Put the lists together | 2294 | ;; Put the lists together |
| 2592 | (append (nreverse newlst) trimlst)))) | 2295 | (append newlst trimlst)))) |
| 2593 | 2296 | ||
| 2594 | (defun speedbar-simple-group-tag-hierarchy (lst) | 2297 | (defun speedbar-simple-group-tag-hierarchy (lst) |
| 2595 | "Create a simple 'Tags' group with orphaned tags. | 2298 | "Create a simple 'Tags' group with orphaned tags. |
| @@ -2597,7 +2300,7 @@ Argument LST is the list of tags to sort into groups." | |||
| 2597 | (let ((newlst nil) | 2300 | (let ((newlst nil) |
| 2598 | (sublst nil)) | 2301 | (sublst nil)) |
| 2599 | (while lst | 2302 | (while lst |
| 2600 | (if (listp (cdr-safe (car-safe lst))) | 2303 | (if (speedbar-generic-list-group-p (car-safe lst)) |
| 2601 | (setq newlst (cons (car lst) newlst)) | 2304 | (setq newlst (cons (car lst) newlst)) |
| 2602 | (setq sublst (cons (car lst) sublst))) | 2305 | (setq sublst (cons (car lst) sublst))) |
| 2603 | (setq lst (cdr lst))) | 2306 | (setq lst (cdr lst))) |
| @@ -2612,7 +2315,8 @@ This uses `speedbar-tag-hierarchy-method' to determine how to adjust | |||
| 2612 | the list." | 2315 | the list." |
| 2613 | (let* ((f (save-excursion | 2316 | (let* ((f (save-excursion |
| 2614 | (forward-line -1) | 2317 | (forward-line -1) |
| 2615 | (speedbar-line-path))) | 2318 | (or (speedbar-line-file) |
| 2319 | (speedbar-line-directory)))) | ||
| 2616 | (methods (if (get-file-buffer f) | 2320 | (methods (if (get-file-buffer f) |
| 2617 | (save-excursion (set-buffer (get-file-buffer f)) | 2321 | (save-excursion (set-buffer (get-file-buffer f)) |
| 2618 | speedbar-tag-hierarchy-method) | 2322 | speedbar-tag-hierarchy-method) |
| @@ -2625,6 +2329,16 @@ the list." | |||
| 2625 | methods (cdr methods))) | 2329 | methods (cdr methods))) |
| 2626 | lst)) | 2330 | lst)) |
| 2627 | 2331 | ||
| 2332 | (defvar speedbar-generic-list-group-expand-button-type 'curly | ||
| 2333 | "The type of button created for groups of tags. | ||
| 2334 | Good values for this are `curly' and `expandtag'. | ||
| 2335 | Make buffer local for your mode.") | ||
| 2336 | |||
| 2337 | (defvar speedbar-generic-list-tag-button-type nil | ||
| 2338 | "The type of button created for tags in generic lists. | ||
| 2339 | Good values for this are nil and `statictag'. | ||
| 2340 | Make buffer local for your mode.") | ||
| 2341 | |||
| 2628 | (defun speedbar-insert-generic-list (level lst expand-fun find-fun) | 2342 | (defun speedbar-insert-generic-list (level lst expand-fun find-fun) |
| 2629 | "At LEVEL, insert a generic multi-level alist LST. | 2343 | "At LEVEL, insert a generic multi-level alist LST. |
| 2630 | Associations with lists get {+} tags (to expand into more nodes) and | 2344 | Associations with lists get {+} tags (to expand into more nodes) and |
| @@ -2634,33 +2348,53 @@ name will have the function FIND-FUN and not token." | |||
| 2634 | ;; Remove imenu rescan button | 2348 | ;; Remove imenu rescan button |
| 2635 | (if (string= (car (car lst)) "*Rescan*") | 2349 | (if (string= (car (car lst)) "*Rescan*") |
| 2636 | (setq lst (cdr lst))) | 2350 | (setq lst (cdr lst))) |
| 2637 | ;; Adjust the list. | 2351 | ;; Get, and set up variables that define how we treat these tags. |
| 2638 | (setq lst (speedbar-create-tag-hierarchy lst)) | 2352 | (let ((f (save-excursion (forward-line -1) |
| 2639 | ;; insert the parts | 2353 | (or (speedbar-line-file) |
| 2640 | (while lst | 2354 | (speedbar-line-directory)))) |
| 2641 | (cond ((null (car-safe lst)) nil) ;this would be a separator | 2355 | expand-button tag-button) |
| 2642 | ((or (numberp (cdr-safe (car-safe lst))) | 2356 | (save-excursion |
| 2643 | (markerp (cdr-safe (car-safe lst)))) | 2357 | (if (get-file-buffer f) |
| 2644 | (speedbar-make-tag-line nil nil nil nil ;no expand button data | 2358 | (set-buffer (get-file-buffer f))) |
| 2645 | (car (car lst)) ;button name | 2359 | (setq expand-button speedbar-generic-list-group-expand-button-type |
| 2646 | find-fun ;function | 2360 | tag-button speedbar-generic-list-tag-button-type)) |
| 2647 | (cdr (car lst)) ;token is position | 2361 | ;; Adjust the list. |
| 2648 | 'speedbar-tag-face | 2362 | (setq lst (speedbar-create-tag-hierarchy lst)) |
| 2649 | (1+ level))) | 2363 | ;; insert the parts |
| 2650 | ((listp (cdr-safe (car-safe lst))) | 2364 | (while lst |
| 2651 | (speedbar-make-tag-line 'curly ?+ expand-fun (cdr (car lst)) | 2365 | (cond ((null (car-safe lst)) nil) ;this would be a separator |
| 2652 | (car (car lst)) ;button name | 2366 | ((speedbar-generic-list-tag-p (car lst)) |
| 2653 | nil nil 'speedbar-tag-face | 2367 | (speedbar-make-tag-line tag-button |
| 2654 | (1+ level))) | 2368 | nil nil nil ;no expand button data |
| 2655 | (t (speedbar-message "Ooops!"))) | 2369 | (car (car lst)) ;button name |
| 2656 | (setq lst (cdr lst)))) | 2370 | find-fun ;function |
| 2371 | (cdr (car lst)) ;token is position | ||
| 2372 | 'speedbar-tag-face | ||
| 2373 | (1+ level))) | ||
| 2374 | ((speedbar-generic-list-positioned-group-p (car lst)) | ||
| 2375 | (speedbar-make-tag-line expand-button | ||
| 2376 | ?+ expand-fun (cdr (cdr (car lst))) | ||
| 2377 | (car (car lst)) ;button name | ||
| 2378 | find-fun ;function | ||
| 2379 | (car (cdr (car lst))) ;token is posn | ||
| 2380 | 'speedbar-tag-face | ||
| 2381 | (1+ level))) | ||
| 2382 | ((speedbar-generic-list-group-p (car lst)) | ||
| 2383 | (speedbar-make-tag-line expand-button | ||
| 2384 | ?+ expand-fun (cdr (car lst)) | ||
| 2385 | (car (car lst)) ;button name | ||
| 2386 | nil nil 'speedbar-tag-face | ||
| 2387 | (1+ level))) | ||
| 2388 | (t (speedbar-message "speedbar-insert-generic-list: malformed list!") | ||
| 2389 | )) | ||
| 2390 | (setq lst (cdr lst))))) | ||
| 2657 | 2391 | ||
| 2658 | (defun speedbar-insert-imenu-list (indent lst) | 2392 | (defun speedbar-insert-imenu-list (indent lst) |
| 2659 | "At level INDENT, insert the imenu generated LST." | 2393 | "At level INDENT, insert the imenu generated LST." |
| 2660 | (speedbar-insert-generic-list indent lst | 2394 | (speedbar-insert-generic-list indent lst |
| 2661 | 'speedbar-tag-expand | 2395 | 'speedbar-tag-expand |
| 2662 | 'speedbar-tag-find)) | 2396 | 'speedbar-tag-find)) |
| 2663 | 2397 | ||
| 2664 | (defun speedbar-insert-etags-list (indent lst) | 2398 | (defun speedbar-insert-etags-list (indent lst) |
| 2665 | "At level INDENT, insert the etags generated LST." | 2399 | "At level INDENT, insert the etags generated LST." |
| 2666 | (speedbar-insert-generic-list indent lst | 2400 | (speedbar-insert-generic-list indent lst |
| @@ -2674,8 +2408,10 @@ name will have the function FIND-FUN and not token." | |||
| 2674 | (interactive) | 2408 | (interactive) |
| 2675 | ;; Set the current special buffer | 2409 | ;; Set the current special buffer |
| 2676 | (setq speedbar-desired-buffer nil) | 2410 | (setq speedbar-desired-buffer nil) |
| 2411 | |||
| 2677 | ;; Check for special modes | 2412 | ;; Check for special modes |
| 2678 | (speedbar-maybe-add-localized-support (current-buffer)) | 2413 | (speedbar-maybe-add-localized-support (current-buffer)) |
| 2414 | |||
| 2679 | ;; Choose the correct method of doodling. | 2415 | ;; Choose the correct method of doodling. |
| 2680 | (if (and speedbar-mode-specific-contents-flag | 2416 | (if (and speedbar-mode-specific-contents-flag |
| 2681 | (listp speedbar-special-mode-expansion-list) | 2417 | (listp speedbar-special-mode-expansion-list) |
| @@ -2687,19 +2423,61 @@ name will have the function FIND-FUN and not token." | |||
| 2687 | (speedbar-update-special-contents) | 2423 | (speedbar-update-special-contents) |
| 2688 | (speedbar-update-directory-contents))) | 2424 | (speedbar-update-directory-contents))) |
| 2689 | 2425 | ||
| 2426 | (defun speedbar-update-localized-contents () | ||
| 2427 | "Update the contents of the speedbar buffer for the current situation." | ||
| 2428 | ;; Due to the historical growth of speedbar, we need to do something | ||
| 2429 | ;; special for "files" mode. Too bad. | ||
| 2430 | (let ((name speedbar-initial-expansion-list-name) | ||
| 2431 | (funclst (speedbar-initial-expansion-list)) | ||
| 2432 | ) | ||
| 2433 | (if (string= name "files") | ||
| 2434 | ;; Do all the files type work. It still goes through the | ||
| 2435 | ;; expansion list stuff. :( | ||
| 2436 | (if (or (member (expand-file-name default-directory) | ||
| 2437 | speedbar-shown-directories) | ||
| 2438 | (and speedbar-ignored-directory-regexp | ||
| 2439 | (string-match | ||
| 2440 | speedbar-ignored-directory-regexp | ||
| 2441 | (expand-file-name default-directory)))) | ||
| 2442 | nil | ||
| 2443 | (if (<= 1 speedbar-verbosity-level) | ||
| 2444 | (speedbar-message "Updating speedbar to: %s..." | ||
| 2445 | default-directory)) | ||
| 2446 | (speedbar-update-directory-contents) | ||
| 2447 | (if (<= 1 speedbar-verbosity-level) | ||
| 2448 | (progn | ||
| 2449 | (speedbar-message "Updating speedbar to: %s...done" | ||
| 2450 | default-directory) | ||
| 2451 | (speedbar-message nil)))) | ||
| 2452 | ;; Else, we can do a short cut. No text cache. | ||
| 2453 | (let ((cbd (expand-file-name default-directory)) | ||
| 2454 | ) | ||
| 2455 | (set-buffer speedbar-buffer) | ||
| 2456 | (speedbar-with-writable | ||
| 2457 | (erase-buffer) | ||
| 2458 | (while funclst | ||
| 2459 | (setq default-directory cbd) | ||
| 2460 | (funcall (car funclst) cbd 0) | ||
| 2461 | (setq funclst (cdr funclst))) | ||
| 2462 | (speedbar-reconfigure-keymaps) | ||
| 2463 | (goto-char (point-min))) | ||
| 2464 | )))) | ||
| 2465 | |||
| 2690 | (defun speedbar-update-directory-contents () | 2466 | (defun speedbar-update-directory-contents () |
| 2691 | "Update the contents of the speedbar buffer based on the current directory." | 2467 | "Update the contents of the speedbar buffer based on the current directory." |
| 2692 | (let ((cbd (expand-file-name default-directory)) | 2468 | |
| 2693 | cbd-parent | 2469 | (save-excursion |
| 2694 | (funclst (speedbar-initial-expansion-list)) | 2470 | |
| 2695 | (cache speedbar-full-text-cache) | 2471 | (let ((cbd (expand-file-name default-directory)) |
| 2696 | ;; disable stealth during update | 2472 | cbd-parent |
| 2697 | (speedbar-stealthy-function-list nil) | 2473 | (funclst (speedbar-initial-expansion-list)) |
| 2698 | (use-cache nil) | 2474 | (cache speedbar-full-text-cache) |
| 2699 | (expand-local nil) | 2475 | ;; disable stealth during update |
| 2700 | ;; Because there is a bug I can't find just yet | 2476 | (speedbar-stealthy-function-list nil) |
| 2701 | (inhibit-quit nil)) | 2477 | (use-cache nil) |
| 2702 | (save-excursion | 2478 | (expand-local nil) |
| 2479 | ;; Because there is a bug I can't find just yet | ||
| 2480 | (inhibit-quit nil)) | ||
| 2703 | (set-buffer speedbar-buffer) | 2481 | (set-buffer speedbar-buffer) |
| 2704 | ;; If we are updating contents to where we are, then this is | 2482 | ;; If we are updating contents to where we are, then this is |
| 2705 | ;; really a request to update existing contents, so we must be | 2483 | ;; really a request to update existing contents, so we must be |
| @@ -2725,7 +2503,7 @@ name will have the function FIND-FUN and not token." | |||
| 2725 | (setq expand-local t) | 2503 | (setq expand-local t) |
| 2726 | 2504 | ||
| 2727 | ;; If this directory is NOT in the current list of available | 2505 | ;; If this directory is NOT in the current list of available |
| 2728 | ;; paths, then use the cache, and set the cache to our new | 2506 | ;; directorys, then use the cache, and set the cache to our new |
| 2729 | ;; value. Make sure to unhighlight the current file, or if we | 2507 | ;; value. Make sure to unhighlight the current file, or if we |
| 2730 | ;; come back to this directory, it might be a different file | 2508 | ;; come back to this directory, it might be a different file |
| 2731 | ;; and then we get a mess! | 2509 | ;; and then we get a mess! |
| @@ -2747,7 +2525,7 @@ name will have the function FIND-FUN and not token." | |||
| 2747 | (speedbar-with-writable | 2525 | (speedbar-with-writable |
| 2748 | (if (and expand-local | 2526 | (if (and expand-local |
| 2749 | ;; Find this directory as a speedbar node. | 2527 | ;; Find this directory as a speedbar node. |
| 2750 | (speedbar-path-line cbd)) | 2528 | (speedbar-directory-line cbd)) |
| 2751 | ;; Open it. | 2529 | ;; Open it. |
| 2752 | (speedbar-expand-line) | 2530 | (speedbar-expand-line) |
| 2753 | (erase-buffer) | 2531 | (erase-buffer) |
| @@ -2788,24 +2566,40 @@ This should only be used by modes classified as special." | |||
| 2788 | ;; decide NOT to update themselves. | 2566 | ;; decide NOT to update themselves. |
| 2789 | (funcall (car funclst) specialbuff) | 2567 | (funcall (car funclst) specialbuff) |
| 2790 | (setq funclst (cdr funclst)))) | 2568 | (setq funclst (cdr funclst)))) |
| 2569 | |||
| 2791 | (goto-char (point-min)))) | 2570 | (goto-char (point-min)))) |
| 2792 | (speedbar-reconfigure-keymaps)) | 2571 | (speedbar-reconfigure-keymaps)) |
| 2793 | 2572 | ||
| 2573 | (defun speedbar-set-timer (timeout) | ||
| 2574 | "Set up the speedbar timer with TIMEOUT. | ||
| 2575 | Uses `dframe-set-timer'. | ||
| 2576 | Also resets scanner functions." | ||
| 2577 | (dframe-set-timer timeout 'speedbar-timer-fn 'speedbar-update-flag) | ||
| 2578 | ;; Apply a revert hook that will reset the scanners. We attach to revert | ||
| 2579 | ;; because most reverts occur during VC state change, and this lets our | ||
| 2580 | ;; VC scanner fix itself. | ||
| 2581 | (if timeout | ||
| 2582 | (add-hook 'after-revert-hook 'speedbar-reset-scanners) | ||
| 2583 | (remove-hook 'after-revert-hook 'speedbar-reset-scanners)) | ||
| 2584 | ;; change this if it changed for some reason | ||
| 2585 | (speedbar-set-mode-line-format)) | ||
| 2586 | |||
| 2794 | (defun speedbar-timer-fn () | 2587 | (defun speedbar-timer-fn () |
| 2795 | "Run whenever Emacs is idle to update the speedbar item." | 2588 | "Run whenever Emacs is idle to update the speedbar item." |
| 2796 | (if (not (and (frame-live-p speedbar-frame) | 2589 | (if (or (not (speedbar-current-frame)) |
| 2797 | (frame-live-p speedbar-attached-frame))) | 2590 | (not (frame-live-p (speedbar-current-frame)))) |
| 2798 | (speedbar-set-timer nil) | 2591 | (speedbar-set-timer nil) |
| 2799 | ;; Save all the match data so that we don't mess up executing fns | 2592 | ;; Save all the match data so that we don't mess up executing fns |
| 2800 | (save-match-data | 2593 | (save-match-data |
| 2801 | ;; Only do stuff if the frame is visible, not an icon, and if | 2594 | ;; Only do stuff if the frame is visible, not an icon, and if |
| 2802 | ;; it is currently flagged to do something. | 2595 | ;; it is currently flagged to do something. |
| 2803 | (if (and speedbar-update-flag | 2596 | (if (and speedbar-update-flag |
| 2804 | (frame-visible-p speedbar-frame) | 2597 | (speedbar-current-frame) |
| 2805 | (not (eq (frame-visible-p speedbar-frame) 'icon))) | 2598 | (frame-visible-p (speedbar-current-frame)) |
| 2599 | (not (eq (frame-visible-p (speedbar-current-frame)) 'icon))) | ||
| 2806 | (let ((af (selected-frame))) | 2600 | (let ((af (selected-frame))) |
| 2807 | (save-window-excursion | 2601 | (save-window-excursion |
| 2808 | (select-frame speedbar-attached-frame) | 2602 | (dframe-select-attached-frame speedbar-frame) |
| 2809 | ;; make sure we at least choose a window to | 2603 | ;; make sure we at least choose a window to |
| 2810 | ;; get a good directory from | 2604 | ;; get a good directory from |
| 2811 | (if (window-minibuffer-p (selected-window)) | 2605 | (if (window-minibuffer-p (selected-window)) |
| @@ -2833,30 +2627,15 @@ This should only be used by modes classified as special." | |||
| 2833 | major-mode) | 2627 | major-mode) |
| 2834 | (speedbar-message nil)))) | 2628 | (speedbar-message nil)))) |
| 2835 | ;; Update all the contents if directories change! | 2629 | ;; Update all the contents if directories change! |
| 2836 | (if (or (member (expand-file-name default-directory) | 2630 | (if (or (member major-mode speedbar-ignored-modes) |
| 2837 | speedbar-shown-directories) | 2631 | (eq af (speedbar-current-frame)) |
| 2838 | (and speedbar-ignored-path-regexp | ||
| 2839 | (string-match | ||
| 2840 | speedbar-ignored-path-regexp | ||
| 2841 | (expand-file-name default-directory))) | ||
| 2842 | (member major-mode speedbar-ignored-modes) | ||
| 2843 | (eq af speedbar-frame) | ||
| 2844 | (not (buffer-file-name))) | 2632 | (not (buffer-file-name))) |
| 2845 | nil | 2633 | nil |
| 2846 | (if (<= 1 speedbar-verbosity-level) | 2634 | (speedbar-update-localized-contents) |
| 2847 | (speedbar-message "Updating speedbar to: %s..." | 2635 | )) |
| 2848 | default-directory)) | ||
| 2849 | (speedbar-update-directory-contents) | ||
| 2850 | (if (<= 1 speedbar-verbosity-level) | ||
| 2851 | (progn | ||
| 2852 | (speedbar-message "Updating speedbar to: %s...done" | ||
| 2853 | default-directory) | ||
| 2854 | (speedbar-message nil))))) | ||
| 2855 | (select-frame af))) | 2636 | (select-frame af))) |
| 2856 | ;; Now run stealthy updates of time-consuming items | 2637 | ;; Now run stealthy updates of time-consuming items |
| 2857 | (speedbar-stealthy-updates))) | 2638 | (speedbar-stealthy-updates))))) |
| 2858 | ;; Now run the mouse tracking system | ||
| 2859 | (speedbar-show-info-under-mouse))) | ||
| 2860 | (run-hooks 'speedbar-timer-hook)) | 2639 | (run-hooks 'speedbar-timer-hook)) |
| 2861 | 2640 | ||
| 2862 | 2641 | ||
| @@ -2884,12 +2663,16 @@ interrupted by the user." | |||
| 2884 | "Reset any variables used by functions in the stealthy list as state. | 2663 | "Reset any variables used by functions in the stealthy list as state. |
| 2885 | If new functions are added, their state needs to be updated here." | 2664 | If new functions are added, their state needs to be updated here." |
| 2886 | (setq speedbar-vc-to-do-point t | 2665 | (setq speedbar-vc-to-do-point t |
| 2887 | speedbar-obj-to-do-point t) | 2666 | speedbar-obj-to-do-point t |
| 2667 | speedbar-ro-to-do-point t) | ||
| 2888 | (run-hooks 'speedbar-scanner-reset-hook) | 2668 | (run-hooks 'speedbar-scanner-reset-hook) |
| 2889 | ) | 2669 | ) |
| 2890 | 2670 | ||
| 2891 | (defun speedbar-find-selected-file (file) | 2671 | (defun speedbar-find-selected-file (file) |
| 2892 | "Go to the line where FILE is." | 2672 | "Go to the line where FILE is." |
| 2673 | |||
| 2674 | (set-buffer speedbar-buffer) | ||
| 2675 | |||
| 2893 | (goto-char (point-min)) | 2676 | (goto-char (point-min)) |
| 2894 | (let ((m nil)) | 2677 | (let ((m nil)) |
| 2895 | (while (and (setq m (re-search-forward | 2678 | (while (and (setq m (re-search-forward |
| @@ -2898,7 +2681,7 @@ If new functions are added, their state needs to be updated here." | |||
| 2898 | nil t)) | 2681 | nil t)) |
| 2899 | (not (string= file | 2682 | (not (string= file |
| 2900 | (concat | 2683 | (concat |
| 2901 | (speedbar-line-path | 2684 | (speedbar-line-directory |
| 2902 | (save-excursion | 2685 | (save-excursion |
| 2903 | (goto-char (match-beginning 0)) | 2686 | (goto-char (match-beginning 0)) |
| 2904 | (beginning-of-line) | 2687 | (beginning-of-line) |
| @@ -2914,7 +2697,7 @@ If new functions are added, their state needs to be updated here." | |||
| 2914 | (defun speedbar-clear-current-file () | 2697 | (defun speedbar-clear-current-file () |
| 2915 | "Locate the file thought to be current, and remove its highlighting." | 2698 | "Locate the file thought to be current, and remove its highlighting." |
| 2916 | (save-excursion | 2699 | (save-excursion |
| 2917 | (set-buffer speedbar-buffer) | 2700 | ;;(set-buffer speedbar-buffer) |
| 2918 | (if speedbar-last-selected-file | 2701 | (if speedbar-last-selected-file |
| 2919 | (speedbar-with-writable | 2702 | (speedbar-with-writable |
| 2920 | (if (speedbar-find-selected-file speedbar-last-selected-file) | 2703 | (if (speedbar-find-selected-file speedbar-last-selected-file) |
| @@ -2930,7 +2713,7 @@ it should be in the list, then the directory cache needs to be | |||
| 2930 | updated." | 2713 | updated." |
| 2931 | (let* ((lastf (selected-frame)) | 2714 | (let* ((lastf (selected-frame)) |
| 2932 | (newcfd (save-excursion | 2715 | (newcfd (save-excursion |
| 2933 | (select-frame speedbar-attached-frame) | 2716 | (dframe-select-attached-frame speedbar-frame) |
| 2934 | (let ((rf (if (buffer-file-name) | 2717 | (let ((rf (if (buffer-file-name) |
| 2935 | (buffer-file-name) | 2718 | (buffer-file-name) |
| 2936 | nil))) | 2719 | nil))) |
| @@ -2939,7 +2722,7 @@ updated." | |||
| 2939 | (newcf (if newcfd newcfd)) | 2722 | (newcf (if newcfd newcfd)) |
| 2940 | (lastb (current-buffer)) | 2723 | (lastb (current-buffer)) |
| 2941 | (sucf-recursive (boundp 'sucf-recursive)) | 2724 | (sucf-recursive (boundp 'sucf-recursive)) |
| 2942 | (case-fold-search read-file-name-completion-ignore-case)) | 2725 | (case-fold-search t)) |
| 2943 | (if (and newcf | 2726 | (if (and newcf |
| 2944 | ;; check here, that way we won't refresh to newcf until | 2727 | ;; check here, that way we won't refresh to newcf until |
| 2945 | ;; its been written, thus saving ourselves some time | 2728 | ;; its been written, thus saving ourselves some time |
| @@ -2949,11 +2732,11 @@ updated." | |||
| 2949 | ;; It is important to select the frame, otherwise the window | 2732 | ;; It is important to select the frame, otherwise the window |
| 2950 | ;; we want the cursor to move in will not be updated by the | 2733 | ;; we want the cursor to move in will not be updated by the |
| 2951 | ;; search-forward command. | 2734 | ;; search-forward command. |
| 2952 | (select-frame speedbar-frame) | 2735 | (select-frame (speedbar-current-frame)) |
| 2953 | ;; Remove the old file... | 2736 | ;; Remove the old file... |
| 2954 | (speedbar-clear-current-file) | 2737 | (speedbar-clear-current-file) |
| 2955 | ;; now highlight the new one. | 2738 | ;; now highlight the new one. |
| 2956 | (set-buffer speedbar-buffer) | 2739 | ;; (set-buffer speedbar-buffer) |
| 2957 | (speedbar-with-writable | 2740 | (speedbar-with-writable |
| 2958 | (if (speedbar-find-selected-file newcf) | 2741 | (if (speedbar-find-selected-file newcf) |
| 2959 | ;; put the property on it | 2742 | ;; put the property on it |
| @@ -2979,7 +2762,13 @@ updated." | |||
| 2979 | (setq speedbar-last-selected-file newcf)) | 2762 | (setq speedbar-last-selected-file newcf)) |
| 2980 | (if (not sucf-recursive) | 2763 | (if (not sucf-recursive) |
| 2981 | (progn | 2764 | (progn |
| 2982 | (speedbar-center-buffer-smartly) | 2765 | |
| 2766 | ;;Sat Dec 15 2001 12:40 AM (burton@openprivacy.org): this | ||
| 2767 | ;;doesn't need to be in. We don't want to recenter when we are | ||
| 2768 | ;;updating files. | ||
| 2769 | |||
| 2770 | ;;(speedbar-center-buffer-smartly) | ||
| 2771 | |||
| 2983 | (speedbar-position-cursor-on-line) | 2772 | (speedbar-position-cursor-on-line) |
| 2984 | )) | 2773 | )) |
| 2985 | (set-buffer lastb) | 2774 | (set-buffer lastb) |
| @@ -2997,6 +2786,7 @@ indicator, then do not add a space." | |||
| 2997 | ;; The nature of the beast: Assume we are in "the right place" | 2786 | ;; The nature of the beast: Assume we are in "the right place" |
| 2998 | (end-of-line) | 2787 | (end-of-line) |
| 2999 | (skip-chars-backward (concat " " speedbar-vc-indicator | 2788 | (skip-chars-backward (concat " " speedbar-vc-indicator |
| 2789 | speedbar-object-read-only-indicator | ||
| 3000 | (car speedbar-obj-indicator) | 2790 | (car speedbar-obj-indicator) |
| 3001 | (cdr speedbar-obj-indicator))) | 2791 | (cdr speedbar-obj-indicator))) |
| 3002 | (if (and (not (looking-at speedbar-indicator-regex)) | 2792 | (if (and (not (looking-at speedbar-indicator-regex)) |
| @@ -3011,7 +2801,43 @@ indicator, then do not add a space." | |||
| 3011 | (delete-region (match-beginning 0) (match-end 0)))) | 2801 | (delete-region (match-beginning 0) (match-end 0)))) |
| 3012 | (end-of-line) | 2802 | (end-of-line) |
| 3013 | (if (not (string= " " indicator-string)) | 2803 | (if (not (string= " " indicator-string)) |
| 3014 | (insert indicator-string)))) | 2804 | (let ((start (point))) |
| 2805 | (insert indicator-string) | ||
| 2806 | (speedbar-insert-image-button-maybe start (length indicator-string)) | ||
| 2807 | )))) | ||
| 2808 | |||
| 2809 | (defun speedbar-check-read-only () | ||
| 2810 | "Scan all the files in a directory, and for each see if it is read only." | ||
| 2811 | ;; Check for to-do to be reset. If reset but no RCS is available | ||
| 2812 | ;; then set to nil (do nothing) otherwise, start at the beginning | ||
| 2813 | (save-excursion | ||
| 2814 | (if speedbar-buffer (set-buffer speedbar-buffer)) | ||
| 2815 | (if (eq speedbar-ro-to-do-point t) | ||
| 2816 | (setq speedbar-ro-to-do-point 0)) | ||
| 2817 | (if (numberp speedbar-ro-to-do-point) | ||
| 2818 | (progn | ||
| 2819 | (goto-char speedbar-ro-to-do-point) | ||
| 2820 | (while (and (not (input-pending-p)) | ||
| 2821 | (re-search-forward "^\\([0-9]+\\):\\s-*[[<][+-\?][]>] " | ||
| 2822 | nil t)) | ||
| 2823 | (setq speedbar-ro-to-do-point (point)) | ||
| 2824 | (let ((f (speedbar-line-file))) | ||
| 2825 | (if f | ||
| 2826 | (if (not (file-writable-p f)) | ||
| 2827 | (speedbar-add-indicator | ||
| 2828 | speedbar-object-read-only-indicator | ||
| 2829 | (regexp-quote speedbar-object-read-only-indicator)) | ||
| 2830 | (speedbar-add-indicator | ||
| 2831 | " " (regexp-quote | ||
| 2832 | speedbar-object-read-only-indicator)))))) | ||
| 2833 | (if (input-pending-p) | ||
| 2834 | ;; return that we are incomplete | ||
| 2835 | nil | ||
| 2836 | ;; we are done, set to-do to nil | ||
| 2837 | (setq speedbar-ro-to-do-point nil) | ||
| 2838 | ;; and return t | ||
| 2839 | t)) | ||
| 2840 | t))) | ||
| 3015 | 2841 | ||
| 3016 | ;; Load efs/ange-ftp only if compiling to remove byte-compiler warnings. | 2842 | ;; Load efs/ange-ftp only if compiling to remove byte-compiler warnings. |
| 3017 | ;; Steven L Baur <steve@xemacs.org> said this was important: | 2843 | ;; Steven L Baur <steve@xemacs.org> said this was important: |
| @@ -3026,26 +2852,30 @@ to add more types of version control systems." | |||
| 3026 | ;; Check for to-do to be reset. If reset but no RCS is available | 2852 | ;; Check for to-do to be reset. If reset but no RCS is available |
| 3027 | ;; then set to nil (do nothing) otherwise, start at the beginning | 2853 | ;; then set to nil (do nothing) otherwise, start at the beginning |
| 3028 | (save-excursion | 2854 | (save-excursion |
| 3029 | (set-buffer speedbar-buffer) | 2855 | (if speedbar-buffer (set-buffer speedbar-buffer)) |
| 3030 | (if (and speedbar-vc-do-check (eq speedbar-vc-to-do-point t) | 2856 | (if (and speedbar-vc-do-check (eq speedbar-vc-to-do-point t) |
| 3031 | (speedbar-vc-check-dir-p default-directory) | 2857 | (speedbar-vc-check-dir-p default-directory) |
| 3032 | (not (or (and (featurep 'ange-ftp) | 2858 | (not (or (and (featurep 'ange-ftp) |
| 3033 | (string-match | 2859 | (string-match |
| 3034 | (car (if speedbar-xemacsp | 2860 | (car (symbol-value |
| 3035 | ange-ftp-path-format | 2861 | (if dframe-xemacsp |
| 3036 | ange-ftp-name-format)) | 2862 | 'ange-ftp-directory-format |
| 2863 | 'ange-ftp-name-format))) | ||
| 3037 | (expand-file-name default-directory))) | 2864 | (expand-file-name default-directory))) |
| 3038 | ;; efs support: Bob Weiner | 2865 | ;; efs support: Bob Weiner |
| 3039 | (and (featurep 'efs) | 2866 | (and (featurep 'efs) |
| 3040 | (string-match | 2867 | (string-match |
| 3041 | (car efs-path-regexp) | 2868 | (let ((reg (symbol-value 'efs-directory-regexp))) |
| 2869 | (if (stringp reg) | ||
| 2870 | reg | ||
| 2871 | (car reg))) | ||
| 3042 | (expand-file-name default-directory)))))) | 2872 | (expand-file-name default-directory)))))) |
| 3043 | (setq speedbar-vc-to-do-point 0)) | 2873 | (setq speedbar-vc-to-do-point 0)) |
| 3044 | (if (numberp speedbar-vc-to-do-point) | 2874 | (if (numberp speedbar-vc-to-do-point) |
| 3045 | (progn | 2875 | (progn |
| 3046 | (goto-char speedbar-vc-to-do-point) | 2876 | (goto-char speedbar-vc-to-do-point) |
| 3047 | (while (and (not (input-pending-p)) | 2877 | (while (and (not (input-pending-p)) |
| 3048 | (re-search-forward "^\\([0-9]+\\):\\s-*\\[[+-]\\] " | 2878 | (re-search-forward "^\\([0-9]+\\):\\s-*\\[[+-?]\\] " |
| 3049 | nil t)) | 2879 | nil t)) |
| 3050 | (setq speedbar-vc-to-do-point (point)) | 2880 | (setq speedbar-vc-to-do-point (point)) |
| 3051 | (if (speedbar-check-vc-this-line (match-string 1)) | 2881 | (if (speedbar-check-vc-this-line (match-string 1)) |
| @@ -3066,8 +2896,8 @@ to add more types of version control systems." | |||
| 3066 | "Return t if the file on this line is check of of a version control system. | 2896 | "Return t if the file on this line is check of of a version control system. |
| 3067 | Parameter DEPTH is a string with the current depth of indentation of | 2897 | Parameter DEPTH is a string with the current depth of indentation of |
| 3068 | the file being checked." | 2898 | the file being checked." |
| 3069 | (let* ((d (string-to-int depth)) | 2899 | (let* ((d (string-to-number depth)) |
| 3070 | (f (speedbar-line-path d)) | 2900 | (f (speedbar-line-directory d)) |
| 3071 | (fn (buffer-substring-no-properties | 2901 | (fn (buffer-substring-no-properties |
| 3072 | ;; Skip-chars: thanks ptype@dra.hmg.gb | 2902 | ;; Skip-chars: thanks ptype@dra.hmg.gb |
| 3073 | (point) (progn | 2903 | (point) (progn |
| @@ -3081,41 +2911,54 @@ the file being checked." | |||
| 3081 | (and (file-writable-p fulln) | 2911 | (and (file-writable-p fulln) |
| 3082 | (speedbar-this-file-in-vc f fn)))) | 2912 | (speedbar-this-file-in-vc f fn)))) |
| 3083 | 2913 | ||
| 3084 | (defun speedbar-vc-check-dir-p (path) | 2914 | (defun speedbar-vc-check-dir-p (directory) |
| 3085 | "Return t if we should bother checking PATH for version control files. | 2915 | "Return t if we should bother checking DIRECTORY for version control files. |
| 3086 | This can be overloaded to add new types of version control systems." | 2916 | This can be overloaded to add new types of version control systems." |
| 3087 | (or | 2917 | (or |
| 2918 | ;; Local CVS available in Emacs 21 | ||
| 2919 | (and (fboundp 'vc-state) | ||
| 2920 | (file-exists-p (concat directory "CVS/"))) | ||
| 3088 | ;; Local RCS | 2921 | ;; Local RCS |
| 3089 | (file-exists-p (concat path "RCS/")) | 2922 | (file-exists-p (concat directory "RCS/")) |
| 3090 | ;; Local SCCS | 2923 | ;; Local SCCS |
| 3091 | (file-exists-p (concat path "SCCS/")) | 2924 | (file-exists-p (concat directory "SCCS/")) |
| 3092 | ;; Remote SCCS project | 2925 | ;; Remote SCCS project |
| 3093 | (let ((proj-dir (getenv "PROJECTDIR"))) | 2926 | (let ((proj-dir (getenv "PROJECTDIR"))) |
| 3094 | (if proj-dir | 2927 | (if proj-dir |
| 3095 | (file-exists-p (concat proj-dir "/SCCS")) | 2928 | (file-exists-p (concat proj-dir "/SCCS")) |
| 3096 | nil)) | 2929 | nil)) |
| 3097 | ;; User extension | 2930 | ;; User extension |
| 3098 | (run-hook-with-args 'speedbar-vc-path-enable-hook path) | 2931 | (run-hook-with-args-until-success 'speedbar-vc-directory-enable-hook |
| 2932 | directory) | ||
| 3099 | )) | 2933 | )) |
| 3100 | 2934 | ||
| 3101 | (defun speedbar-this-file-in-vc (path name) | 2935 | (defun speedbar-this-file-in-vc (directory name) |
| 3102 | "Check to see if the file in PATH with NAME is in a version control system. | 2936 | "Check to see if the file in DIRECTORY with NAME is in a version control system. |
| 3103 | You can add new VC systems by overriding this function. You can | 2937 | You can add new VC systems by overriding this function. You can |
| 3104 | optimize this function by overriding it and only doing those checks | 2938 | optimize this function by overriding it and only doing those checks |
| 3105 | that will occur on your system." | 2939 | that will occur on your system." |
| 3106 | (or | 2940 | (or |
| 3107 | ;; RCS file name | 2941 | (if (fboundp 'vc-state) |
| 3108 | (file-exists-p (concat path "RCS/" name ",v")) | 2942 | ;; Emacs 21 handles VC state in a nice way. |
| 3109 | (file-exists-p (concat path "RCS/" name)) | 2943 | (condition-case nil |
| 3110 | ;; Local SCCS file name | 2944 | (let ((state (vc-state (concat directory name)))) |
| 3111 | (file-exists-p (concat path "SCCS/s." name)) | 2945 | (not (or (eq 'up-to-date state) |
| 3112 | ;; Remote SCCS file name | 2946 | (null state)))) |
| 3113 | (let ((proj-dir (getenv "PROJECTDIR"))) | 2947 | ;; An error means not in a VC system |
| 3114 | (if proj-dir | 2948 | (error nil)) |
| 3115 | (file-exists-p (concat proj-dir "/SCCS/s." name)) | 2949 | (or |
| 3116 | nil)) | 2950 | ;; RCS file name |
| 2951 | (file-exists-p (concat directory "RCS/" name ",v")) | ||
| 2952 | (file-exists-p (concat directory "RCS/" name)) | ||
| 2953 | ;; Local SCCS file name | ||
| 2954 | (file-exists-p (concat directory "SCCS/s." name)) | ||
| 2955 | ;; Remote SCCS file name | ||
| 2956 | (let ((proj-dir (getenv "PROJECTDIR"))) | ||
| 2957 | (if proj-dir | ||
| 2958 | (file-exists-p (concat proj-dir "/SCCS/s." name)) | ||
| 2959 | nil)))) | ||
| 3117 | ;; User extension | 2960 | ;; User extension |
| 3118 | (run-hook-with-args 'speedbar-vc-in-control-hook path name) | 2961 | (run-hook-with-args 'speedbar-vc-in-control-hook directory name) |
| 3119 | )) | 2962 | )) |
| 3120 | 2963 | ||
| 3121 | ;; Objet File scanning | 2964 | ;; Objet File scanning |
| @@ -3126,7 +2969,7 @@ to add more object types." | |||
| 3126 | ;; Check for to-do to be reset. If reset but no RCS is available | 2969 | ;; Check for to-do to be reset. If reset but no RCS is available |
| 3127 | ;; then set to nil (do nothing) otherwise, start at the beginning | 2970 | ;; then set to nil (do nothing) otherwise, start at the beginning |
| 3128 | (save-excursion | 2971 | (save-excursion |
| 3129 | (set-buffer speedbar-buffer) | 2972 | (if speedbar-buffer (set-buffer speedbar-buffer)) |
| 3130 | (if (and speedbar-obj-do-check (eq speedbar-obj-to-do-point t)) | 2973 | (if (and speedbar-obj-do-check (eq speedbar-obj-to-do-point t)) |
| 3131 | (setq speedbar-obj-to-do-point 0)) | 2974 | (setq speedbar-obj-to-do-point 0)) |
| 3132 | (if (numberp speedbar-obj-to-do-point) | 2975 | (if (numberp speedbar-obj-to-do-point) |
| @@ -3155,8 +2998,8 @@ to add more object types." | |||
| 3155 | "Return t if the file on this line has an associated object. | 2998 | "Return t if the file on this line has an associated object. |
| 3156 | Parameter DEPTH is a string with the current depth of indentation of | 2999 | Parameter DEPTH is a string with the current depth of indentation of |
| 3157 | the file being checked." | 3000 | the file being checked." |
| 3158 | (let* ((d (string-to-int depth)) | 3001 | (let* ((d (string-to-number depth)) |
| 3159 | (f (speedbar-line-path d)) | 3002 | (f (speedbar-line-directory d)) |
| 3160 | (fn (buffer-substring-no-properties | 3003 | (fn (buffer-substring-no-properties |
| 3161 | ;; Skip-chars: thanks ptype@dra.hmg.gb | 3004 | ;; Skip-chars: thanks ptype@dra.hmg.gb |
| 3162 | (point) (progn | 3005 | (point) (progn |
| @@ -3186,28 +3029,6 @@ the file being checked." | |||
| 3186 | 3029 | ||
| 3187 | ;;; Clicking Activity | 3030 | ;;; Clicking Activity |
| 3188 | ;; | 3031 | ;; |
| 3189 | (defun speedbar-mouse-set-point (e) | ||
| 3190 | "Set POINT based on event E. | ||
| 3191 | Handle clicking on images in XEmacs." | ||
| 3192 | (if (and (fboundp 'event-over-glyph-p) (event-over-glyph-p e)) | ||
| 3193 | ;; We are in XEmacs, and clicked on a picture | ||
| 3194 | (let ((ext (event-glyph-extent e))) | ||
| 3195 | ;; This position is back inside the extent where the | ||
| 3196 | ;; junk we pushed into the property list lives. | ||
| 3197 | (if (extent-end-position ext) | ||
| 3198 | (goto-char (1- (extent-end-position ext))) | ||
| 3199 | (mouse-set-point e))) | ||
| 3200 | ;; We are not in XEmacs, OR we didn't click on a picture. | ||
| 3201 | (mouse-set-point e))) | ||
| 3202 | |||
| 3203 | (defun speedbar-quick-mouse (e) | ||
| 3204 | "Since mouse events are strange, this will keep the mouse nicely positioned. | ||
| 3205 | This should be bound to mouse event E." | ||
| 3206 | (interactive "e") | ||
| 3207 | (speedbar-mouse-set-point e) | ||
| 3208 | (speedbar-position-cursor-on-line) | ||
| 3209 | ) | ||
| 3210 | |||
| 3211 | (defun speedbar-position-cursor-on-line () | 3032 | (defun speedbar-position-cursor-on-line () |
| 3212 | "Position the cursor on a line." | 3033 | "Position the cursor on a line." |
| 3213 | (let ((oldpos (point))) | 3034 | (let ((oldpos (point))) |
| @@ -3216,47 +3037,22 @@ This should be bound to mouse event E." | |||
| 3216 | (goto-char (1- (match-end 0))) | 3037 | (goto-char (1- (match-end 0))) |
| 3217 | (goto-char oldpos)))) | 3038 | (goto-char oldpos)))) |
| 3218 | 3039 | ||
| 3219 | (defun speedbar-power-click (e) | ||
| 3220 | "Activate any speedbar button as a power click. | ||
| 3221 | A power click will dispose of cached data (if available) or bring a buffer | ||
| 3222 | up into a different window. | ||
| 3223 | This should be bound to mouse event E." | ||
| 3224 | (interactive "e") | ||
| 3225 | (let ((speedbar-power-click t)) | ||
| 3226 | (speedbar-click e))) | ||
| 3227 | |||
| 3228 | (defun speedbar-click (e) | 3040 | (defun speedbar-click (e) |
| 3229 | "Activate any speedbar buttons where the mouse is clicked. | 3041 | "Activate any speedbar buttons where the mouse is clicked. |
| 3230 | This must be bound to a mouse event. A button is any location of text | 3042 | This must be bound to a mouse event. A button is any location of text |
| 3231 | with a mouse face that has a text property called `speedbar-function'. | 3043 | with a mouse face that has a text property called `speedbar-function'. |
| 3232 | This should be bound to mouse event E." | 3044 | Argument E is the click event." |
| 3233 | (interactive "e") | 3045 | ;; Backward compatibility let statement. |
| 3234 | (speedbar-mouse-set-point e) | 3046 | (let ((speedbar-power-click dframe-power-click)) |
| 3235 | (speedbar-do-function-pointer) | 3047 | (speedbar-do-function-pointer)) |
| 3236 | (speedbar-quick-mouse e)) | 3048 | (dframe-quick-mouse e)) |
| 3237 | |||
| 3238 | (defun speedbar-double-click (e) | ||
| 3239 | "Activate any speedbar buttons where the mouse is clicked. | ||
| 3240 | This must be bound to a mouse event. A button is any location of text | ||
| 3241 | with a mouse face that has a text property called `speedbar-function'. | ||
| 3242 | This should be bound to mouse event E." | ||
| 3243 | (interactive "e") | ||
| 3244 | ;; Emacs only. XEmacs handles this via `mouse-track-click-hook'. | ||
| 3245 | (cond ((eq (car e) 'down-mouse-1) | ||
| 3246 | (speedbar-mouse-set-point e)) | ||
| 3247 | ((eq (car e) 'mouse-1) | ||
| 3248 | (speedbar-quick-mouse e)) | ||
| 3249 | ((or (eq (car e) 'double-down-mouse-1) | ||
| 3250 | (eq (car e) 'triple-down-mouse-1)) | ||
| 3251 | (speedbar-mouse-set-point e) | ||
| 3252 | (speedbar-do-function-pointer) | ||
| 3253 | (speedbar-quick-mouse e)))) | ||
| 3254 | 3049 | ||
| 3255 | (defun speedbar-do-function-pointer () | 3050 | (defun speedbar-do-function-pointer () |
| 3256 | "Look under the cursor and examine the text properties. | 3051 | "Look under the cursor and examine the text properties. |
| 3257 | From this extract the file/tag name, token, indentation level and call | 3052 | From this extract the file/tag name, token, indentation level and call |
| 3258 | a function if appropriate." | 3053 | a function if appropriate." |
| 3259 | (let* ((fn (get-text-property (point) 'speedbar-function)) | 3054 | (let* ((speedbar-frame (speedbar-current-frame)) |
| 3055 | (fn (get-text-property (point) 'speedbar-function)) | ||
| 3260 | (tok (get-text-property (point) 'speedbar-token)) | 3056 | (tok (get-text-property (point) 'speedbar-token)) |
| 3261 | ;; The 1-,+ is safe because scaning starts AFTER the point | 3057 | ;; The 1-,+ is safe because scaning starts AFTER the point |
| 3262 | ;; specified. This lets the search include the character the | 3058 | ;; specified. This lets the search include the character the |
| @@ -3286,9 +3082,8 @@ Optional argument P is where to start the search from." | |||
| 3286 | (if p (goto-char p)) | 3082 | (if p (goto-char p)) |
| 3287 | (beginning-of-line) | 3083 | (beginning-of-line) |
| 3288 | (if (looking-at (concat | 3084 | (if (looking-at (concat |
| 3289 | "\\([0-9]+\\): *[[<{][-+?][]>}] \\([^ \n]+\\)\\(" | 3085 | "\\([0-9]+\\): *[[<{]?[-+?= ][]>}@()|] \\([^ \n]+\\)")) |
| 3290 | speedbar-indicator-regex "\\)?")) | 3086 | (get-text-property (match-beginning 2) 'speedbar-text) |
| 3291 | (match-string 2) | ||
| 3292 | nil))) | 3087 | nil))) |
| 3293 | 3088 | ||
| 3294 | (defun speedbar-line-token (&optional p) | 3089 | (defun speedbar-line-token (&optional p) |
| @@ -3298,7 +3093,7 @@ Optional argument P is where to start the search from." | |||
| 3298 | (if p (goto-char p)) | 3093 | (if p (goto-char p)) |
| 3299 | (beginning-of-line) | 3094 | (beginning-of-line) |
| 3300 | (if (looking-at (concat | 3095 | (if (looking-at (concat |
| 3301 | "\\([0-9]+\\): *[[<{]?[-+?=][]>}@()|] \\([^ \n]+\\)\\(" | 3096 | "\\([0-9]+\\): *[[<{]?[-+?= ][]>}@()|] \\([^ \n]+\\)\\(" |
| 3302 | speedbar-indicator-regex "\\)?")) | 3097 | speedbar-indicator-regex "\\)?")) |
| 3303 | (progn | 3098 | (progn |
| 3304 | (goto-char (match-beginning 2)) | 3099 | (goto-char (match-beginning 2)) |
| @@ -3310,37 +3105,39 @@ Optional argument P is where to start the search from." | |||
| 3310 | The return value is a string representing the file. If it is a | 3105 | The return value is a string representing the file. If it is a |
| 3311 | directory, then it is the directory name." | 3106 | directory, then it is the directory name." |
| 3312 | (save-match-data | 3107 | (save-match-data |
| 3313 | (let ((f (speedbar-line-text p))) | 3108 | (save-restriction |
| 3314 | (if f | 3109 | (widen) |
| 3315 | (let* ((depth (string-to-int (match-string 1))) | 3110 | (let ((f (speedbar-line-text p))) |
| 3316 | (path (speedbar-line-path depth))) | 3111 | (if f |
| 3317 | (if (file-exists-p (concat path f)) | 3112 | (let* ((depth (string-to-number (match-string 1))) |
| 3318 | (concat path f) | 3113 | (directory (speedbar-line-directory depth))) |
| 3319 | nil)) | 3114 | (if (file-exists-p (concat directory f)) |
| 3320 | nil)))) | 3115 | (concat directory f) |
| 3116 | nil)) | ||
| 3117 | nil))))) | ||
| 3321 | 3118 | ||
| 3322 | (defun speedbar-goto-this-file (file) | 3119 | (defun speedbar-goto-this-file (file) |
| 3323 | "If FILE is displayed, go to this line and return t. | 3120 | "If FILE is displayed, go to this line and return t. |
| 3324 | Otherwise do not move and return nil." | 3121 | Otherwise do not move and return nil." |
| 3325 | (let ((path (substring (file-name-directory (expand-file-name file)) | 3122 | (let ((directory (substring (file-name-directory (expand-file-name file)) |
| 3326 | (length (expand-file-name default-directory)))) | 3123 | (length (expand-file-name default-directory)))) |
| 3327 | (dest (point))) | 3124 | (dest (point))) |
| 3328 | (save-match-data | 3125 | (save-match-data |
| 3329 | (goto-char (point-min)) | 3126 | (goto-char (point-min)) |
| 3330 | ;; scan all the directories | 3127 | ;; scan all the directories |
| 3331 | (while (and path (not (eq path t))) | 3128 | (while (and directory (not (eq directory t))) |
| 3332 | (if (string-match "^[/\\]?\\([^/\\]+\\)" path) | 3129 | (if (string-match "^[/\\]?\\([^/\\]+\\)" directory) |
| 3333 | (let ((pp (match-string 1 path))) | 3130 | (let ((pp (match-string 1 directory))) |
| 3334 | (if (save-match-data | 3131 | (if (save-match-data |
| 3335 | (re-search-forward (concat "> " (regexp-quote pp) "$") | 3132 | (re-search-forward (concat "> " (regexp-quote pp) "$") |
| 3336 | nil t)) | 3133 | nil t)) |
| 3337 | (setq path (substring path (match-end 1))) | 3134 | (setq directory (substring directory (match-end 1))) |
| 3338 | (setq path nil))) | 3135 | (setq directory nil))) |
| 3339 | (setq path t))) | 3136 | (setq directory t))) |
| 3340 | ;; find the file part | 3137 | ;; find the file part |
| 3341 | (if (or (not path) (string= (file-name-nondirectory file) "")) | 3138 | (if (or (not directory) (string= (file-name-nondirectory file) "")) |
| 3342 | ;; only had a dir part | 3139 | ;; only had a dir part |
| 3343 | (if path | 3140 | (if directory |
| 3344 | (progn | 3141 | (progn |
| 3345 | (speedbar-position-cursor-on-line) | 3142 | (speedbar-position-cursor-on-line) |
| 3346 | t) | 3143 | t) |
| @@ -3357,16 +3154,18 @@ Otherwise do not move and return nil." | |||
| 3357 | (goto-char dest) | 3154 | (goto-char dest) |
| 3358 | nil)))))) | 3155 | nil)))))) |
| 3359 | 3156 | ||
| 3360 | (defun speedbar-line-path (&optional depth) | 3157 | (defun speedbar-line-directory (&optional depth) |
| 3361 | "Retrieve the pathname associated with the current line. | 3158 | "Retrieve the directory name associated with the current line. |
| 3362 | This may require traversing backwards from DEPTH and combining the default | 3159 | This may require traversing backwards from DEPTH and combining the default |
| 3363 | directory with these items. This function is replaceable in | 3160 | directory with these items. This function is replaceable in |
| 3364 | `speedbar-mode-functions-list' as `speedbar-line-path'." | 3161 | `speedbar-mode-functions-list' as `speedbar-line-directory'." |
| 3365 | (let ((rf (speedbar-fetch-replacement-function 'speedbar-line-path))) | 3162 | (save-restriction |
| 3366 | (if rf (funcall rf depth) default-directory))) | 3163 | (widen) |
| 3367 | 3164 | (let ((rf (speedbar-fetch-replacement-function 'speedbar-line-directory))) | |
| 3368 | (defun speedbar-files-line-path (&optional depth) | 3165 | (if rf (funcall rf depth) default-directory)))) |
| 3369 | "Retrieve the pathname associated with the current line. | 3166 | |
| 3167 | (defun speedbar-files-line-directory (&optional depth) | ||
| 3168 | "Retrieve the directoryname associated with the current line. | ||
| 3370 | This may require traversing backwards from DEPTH and combining the default | 3169 | This may require traversing backwards from DEPTH and combining the default |
| 3371 | directory with these items." | 3170 | directory with these items." |
| 3372 | (save-excursion | 3171 | (save-excursion |
| @@ -3375,38 +3174,36 @@ directory with these items." | |||
| 3375 | (progn | 3174 | (progn |
| 3376 | (beginning-of-line) | 3175 | (beginning-of-line) |
| 3377 | (looking-at "^\\([0-9]+\\):") | 3176 | (looking-at "^\\([0-9]+\\):") |
| 3378 | (setq depth (string-to-int (match-string 1))))) | 3177 | (setq depth (string-to-number (match-string 1))))) |
| 3379 | (let ((path nil)) | 3178 | (let ((directory nil)) |
| 3380 | (setq depth (1- depth)) | 3179 | (setq depth (1- depth)) |
| 3381 | (while (/= depth -1) | 3180 | (while (/= depth -1) |
| 3382 | (if (not (re-search-backward (format "^%d:" depth) nil t)) | 3181 | (if (not (re-search-backward (format "^%d:" depth) nil t)) |
| 3383 | (error "Error building path of tag") | 3182 | (error "Error building filename of tag") |
| 3384 | (cond ((looking-at "[0-9]+:\\s-*<->\\s-+\\([^\n]+\\)$") | 3183 | (cond ((looking-at "[0-9]+:\\s-*<->\\s-+\\([^\n]+\\)") |
| 3385 | (setq path (concat (buffer-substring-no-properties | 3184 | (setq directory (concat (speedbar-line-text) |
| 3386 | (match-beginning 1) (match-end 1)) | ||
| 3387 | "/" | 3185 | "/" |
| 3388 | path))) | 3186 | directory))) |
| 3389 | ((looking-at "[0-9]+:\\s-*[-]\\s-+\\([^\n]+\\)$") | 3187 | ((looking-at "[0-9]+:\\s-*[-]\\s-+\\([^\n]+\\)") |
| 3390 | ;; This is the start of our path. | 3188 | ;; This is the start of our directory. |
| 3391 | (setq path (buffer-substring-no-properties | 3189 | (setq directory (speedbar-line-text))))) |
| 3392 | (match-beginning 1) (match-end 1)))))) | ||
| 3393 | (setq depth (1- depth))) | 3190 | (setq depth (1- depth))) |
| 3394 | (if (and path | 3191 | (if (and directory |
| 3395 | (string-match (concat speedbar-indicator-regex "$") | 3192 | (string-match (concat speedbar-indicator-regex "$") |
| 3396 | path)) | 3193 | directory)) |
| 3397 | (setq path (substring path 0 (match-beginning 0)))) | 3194 | (setq directory (substring directory 0 (match-beginning 0)))) |
| 3398 | (concat default-directory path))))) | 3195 | (concat default-directory directory))))) |
| 3399 | 3196 | ||
| 3400 | (defun speedbar-path-line (path) | 3197 | (defun speedbar-directory-line (directory) |
| 3401 | "Position the cursor on the line specified by PATH." | 3198 | "Position the cursor on the line specified by DIRECTORY." |
| 3402 | (save-match-data | 3199 | (save-match-data |
| 3403 | (if (string-match "[/\\]$" path) | 3200 | (if (string-match "[/\\]$" directory) |
| 3404 | (setq path (substring path 0 (match-beginning 0)))) | 3201 | (setq directory (substring directory 0 (match-beginning 0)))) |
| 3405 | (let ((nomatch t) (depth 0) | 3202 | (let ((nomatch t) (depth 0) |
| 3406 | (fname (file-name-nondirectory path)) | 3203 | (fname (file-name-nondirectory directory)) |
| 3407 | (pname (file-name-directory path))) | 3204 | (pname (file-name-directory directory))) |
| 3408 | (if (not (member pname speedbar-shown-directories)) | 3205 | (if (not (member pname speedbar-shown-directories)) |
| 3409 | (error "Internal Error: File %s not shown in speedbar" path)) | 3206 | (error "Internal Error: File %s not shown in speedbar" directory)) |
| 3410 | (goto-char (point-min)) | 3207 | (goto-char (point-min)) |
| 3411 | (while (and nomatch | 3208 | (while (and nomatch |
| 3412 | (re-search-forward | 3209 | (re-search-forward |
| @@ -3415,8 +3212,8 @@ directory with these items." | |||
| 3415 | nil t)) | 3212 | nil t)) |
| 3416 | (beginning-of-line) | 3213 | (beginning-of-line) |
| 3417 | (looking-at "\\([0-9]+\\):") | 3214 | (looking-at "\\([0-9]+\\):") |
| 3418 | (setq depth (string-to-int (match-string 0)) | 3215 | (setq depth (string-to-number (match-string 0)) |
| 3419 | nomatch (not (string= pname (speedbar-line-path depth)))) | 3216 | nomatch (not (string= pname (speedbar-line-directory depth)))) |
| 3420 | (end-of-line)) | 3217 | (end-of-line)) |
| 3421 | (beginning-of-line) | 3218 | (beginning-of-line) |
| 3422 | (not nomatch)))) | 3219 | (not nomatch)))) |
| @@ -3442,7 +3239,8 @@ directory with these items." | |||
| 3442 | With universal argument ARG, flush cached data." | 3239 | With universal argument ARG, flush cached data." |
| 3443 | (interactive "P") | 3240 | (interactive "P") |
| 3444 | (beginning-of-line) | 3241 | (beginning-of-line) |
| 3445 | (let ((speedbar-power-click arg)) | 3242 | (let* ((dframe-power-click arg) |
| 3243 | (speedbar-power-click arg)) | ||
| 3446 | (condition-case nil | 3244 | (condition-case nil |
| 3447 | (progn | 3245 | (progn |
| 3448 | (re-search-forward ":\\s-*.\\+. " | 3246 | (re-search-forward ":\\s-*.\\+. " |
| @@ -3450,12 +3248,12 @@ With universal argument ARG, flush cached data." | |||
| 3450 | (forward-char -2) | 3248 | (forward-char -2) |
| 3451 | (speedbar-do-function-pointer)) | 3249 | (speedbar-do-function-pointer)) |
| 3452 | (error (speedbar-position-cursor-on-line))))) | 3250 | (error (speedbar-position-cursor-on-line))))) |
| 3453 | 3251 | ||
| 3454 | (defun speedbar-flush-expand-line () | 3252 | (defun speedbar-flush-expand-line () |
| 3455 | "Expand the line under the cursor and flush any cached information." | 3253 | "Expand the line under the cursor and flush any cached information." |
| 3456 | (interactive) | 3254 | (interactive) |
| 3457 | (speedbar-expand-line 1)) | 3255 | (speedbar-expand-line 1)) |
| 3458 | 3256 | ||
| 3459 | (defun speedbar-contract-line () | 3257 | (defun speedbar-contract-line () |
| 3460 | "Contract the line under the cursor." | 3258 | "Contract the line under the cursor." |
| 3461 | (interactive) | 3259 | (interactive) |
| @@ -3468,39 +3266,63 @@ With universal argument ARG, flush cached data." | |||
| 3468 | (speedbar-do-function-pointer)) | 3266 | (speedbar-do-function-pointer)) |
| 3469 | (error (speedbar-position-cursor-on-line)))) | 3267 | (error (speedbar-position-cursor-on-line)))) |
| 3470 | 3268 | ||
| 3471 | (if speedbar-xemacsp | 3269 | (defun speedbar-toggle-line-expansion () |
| 3472 | (defalias 'speedbar-mouse-event-p 'button-press-event-p) | 3270 | "Contract or expand the line under the cursor." |
| 3473 | (defun speedbar-mouse-event-p (event) | 3271 | (interactive) |
| 3474 | "Return t if the event is a mouse related event." | 3272 | (beginning-of-line) |
| 3475 | ;; And Emacs does it this way | 3273 | (condition-case nil |
| 3476 | (if (and (listp event) | ||
| 3477 | (member (event-basic-type event) | ||
| 3478 | '(mouse-1 mouse-2 mouse-3))) | ||
| 3479 | t | ||
| 3480 | nil))) | ||
| 3481 | |||
| 3482 | (defun speedbar-maybee-jump-to-attached-frame () | ||
| 3483 | "Jump to the attached frame ONLY if this was not a mouse event." | ||
| 3484 | (if (or (not (speedbar-mouse-event-p last-input-event)) | ||
| 3485 | speedbar-activity-change-focus-flag) | ||
| 3486 | (progn | 3274 | (progn |
| 3487 | (select-frame speedbar-attached-frame) | 3275 | (re-search-forward ":\\s-*.[-+]. " |
| 3488 | (other-frame 0)))) | 3276 | (save-excursion (end-of-line) (point))) |
| 3277 | (forward-char -2) | ||
| 3278 | (speedbar-do-function-pointer)) | ||
| 3279 | (error (speedbar-position-cursor-on-line)))) | ||
| 3280 | |||
| 3281 | (defun speedbar-expand-line-descendants (&optional arg) | ||
| 3282 | "Expand the line under the cursor and all descendants. | ||
| 3283 | Optional argument ARG indicates that any cache should be flushed." | ||
| 3284 | (interactive "P") | ||
| 3285 | (speedbar-expand-line arg) | ||
| 3286 | ;; Now, inside the area expaded here, expand all subnodes of | ||
| 3287 | ;; the same descendant type. | ||
| 3288 | (save-excursion | ||
| 3289 | (speedbar-next 1) ;; Move into the list. | ||
| 3290 | (let ((err nil)) | ||
| 3291 | (while (not err) | ||
| 3292 | (condition-case nil | ||
| 3293 | (progn | ||
| 3294 | (speedbar-expand-line-descendants arg) | ||
| 3295 | (speedbar-restricted-next 1)) | ||
| 3296 | (error (setq err t)))))) | ||
| 3297 | ) | ||
| 3298 | |||
| 3299 | (defun speedbar-contract-line-descendants () | ||
| 3300 | "Expand the line under the cursor and all descendants." | ||
| 3301 | (interactive) | ||
| 3302 | (speedbar-contract-line) | ||
| 3303 | ;; Don't need to do anything else since all descendants are | ||
| 3304 | ;; hidden by default anyway. Yay! It's easy. | ||
| 3305 | ) | ||
| 3489 | 3306 | ||
| 3490 | (defun speedbar-find-file (text token indent) | 3307 | (defun speedbar-find-file (text token indent) |
| 3491 | "Speedbar click handler for filenames. | 3308 | "Speedbar click handler for filenames. |
| 3492 | TEXT, the file will be displayed in the attached frame. | 3309 | TEXT, the file will be displayed in the attached frame. |
| 3493 | TOKEN is unused, but required by the click handler. INDENT is the | 3310 | TOKEN is unused, but required by the click handler. INDENT is the |
| 3494 | current indentation level." | 3311 | current indentation level." |
| 3495 | (let ((cdd (speedbar-line-path indent))) | 3312 | (let ((cdd (speedbar-line-directory indent))) |
| 3313 | ;; Run before visiting file hook here. | ||
| 3314 | (let ((f (selected-frame))) | ||
| 3315 | (dframe-select-attached-frame speedbar-frame) | ||
| 3316 | (run-hooks 'speedbar-before-visiting-file-hook) | ||
| 3317 | (select-frame f)) | ||
| 3496 | (speedbar-find-file-in-frame (concat cdd text)) | 3318 | (speedbar-find-file-in-frame (concat cdd text)) |
| 3497 | (speedbar-stealthy-updates) | 3319 | (speedbar-stealthy-updates) |
| 3498 | (run-hooks 'speedbar-visiting-file-hook) | 3320 | (run-hooks 'speedbar-visiting-file-hook) |
| 3499 | ;; Reset the timer with a new timeout when cliking a file | 3321 | ;; Reset the timer with a new timeout when cliking a file |
| 3500 | ;; in case the user was navigating directories, we can cancel | 3322 | ;; in case the user was navigating directories, we can cancel |
| 3501 | ;; that other timer. | 3323 | ;; that other timer. |
| 3502 | (speedbar-set-timer speedbar-update-speed)) | 3324 | (speedbar-set-timer dframe-update-speed)) |
| 3503 | (speedbar-maybee-jump-to-attached-frame)) | 3325 | (dframe-maybee-jump-to-attached-frame)) |
| 3504 | 3326 | ||
| 3505 | (defun speedbar-dir-follow (text token indent) | 3327 | (defun speedbar-dir-follow (text token indent) |
| 3506 | "Speedbar click handler for directory names. | 3328 | "Speedbar click handler for directory names. |
| @@ -3508,7 +3330,7 @@ Clicking a directory will cause the speedbar to list files in | |||
| 3508 | the subdirectory TEXT. TOKEN is an unused requirement. The | 3330 | the subdirectory TEXT. TOKEN is an unused requirement. The |
| 3509 | subdirectory chosen will be at INDENT level." | 3331 | subdirectory chosen will be at INDENT level." |
| 3510 | (setq default-directory | 3332 | (setq default-directory |
| 3511 | (concat (expand-file-name (concat (speedbar-line-path indent) text)) | 3333 | (concat (expand-file-name (concat (speedbar-line-directory indent) text)) |
| 3512 | "/")) | 3334 | "/")) |
| 3513 | ;; Because we leave speedbar as the current buffer, | 3335 | ;; Because we leave speedbar as the current buffer, |
| 3514 | ;; update contents will change directory without | 3336 | ;; update contents will change directory without |
| @@ -3528,7 +3350,7 @@ Handles end-of-sublist smartly." | |||
| 3528 | (end-of-line) (forward-char 1) | 3350 | (end-of-line) (forward-char 1) |
| 3529 | (let ((start (point))) | 3351 | (let ((start (point))) |
| 3530 | (while (and (looking-at "^\\([0-9]+\\):") | 3352 | (while (and (looking-at "^\\([0-9]+\\):") |
| 3531 | (> (string-to-int (match-string 1)) indent) | 3353 | (> (string-to-number (match-string 1)) indent) |
| 3532 | (not (eobp))) | 3354 | (not (eobp))) |
| 3533 | (forward-line 1) | 3355 | (forward-line 1) |
| 3534 | (beginning-of-line)) | 3356 | (beginning-of-line)) |
| @@ -3542,7 +3364,7 @@ expanded. INDENT is the current indentation level." | |||
| 3542 | (cond ((string-match "+" text) ;we have to expand this dir | 3364 | (cond ((string-match "+" text) ;we have to expand this dir |
| 3543 | (setq speedbar-shown-directories | 3365 | (setq speedbar-shown-directories |
| 3544 | (cons (expand-file-name | 3366 | (cons (expand-file-name |
| 3545 | (concat (speedbar-line-path indent) token "/")) | 3367 | (concat (speedbar-line-directory indent) token "/")) |
| 3546 | speedbar-shown-directories)) | 3368 | speedbar-shown-directories)) |
| 3547 | (speedbar-change-expand-button-char ?-) | 3369 | (speedbar-change-expand-button-char ?-) |
| 3548 | (speedbar-reset-scanners) | 3370 | (speedbar-reset-scanners) |
| @@ -3550,14 +3372,14 @@ expanded. INDENT is the current indentation level." | |||
| 3550 | (end-of-line) (forward-char 1) | 3372 | (end-of-line) (forward-char 1) |
| 3551 | (speedbar-with-writable | 3373 | (speedbar-with-writable |
| 3552 | (speedbar-default-directory-list | 3374 | (speedbar-default-directory-list |
| 3553 | (concat (speedbar-line-path indent) token "/") | 3375 | (concat (speedbar-line-directory indent) token "/") |
| 3554 | (1+ indent))))) | 3376 | (1+ indent))))) |
| 3555 | ((string-match "-" text) ;we have to contract this node | 3377 | ((string-match "-" text) ;we have to contract this node |
| 3556 | (speedbar-reset-scanners) | 3378 | (speedbar-reset-scanners) |
| 3557 | (let ((oldl speedbar-shown-directories) | 3379 | (let ((oldl speedbar-shown-directories) |
| 3558 | (newl nil) | 3380 | (newl nil) |
| 3559 | (td (expand-file-name | 3381 | (td (expand-file-name |
| 3560 | (concat (speedbar-line-path indent) token)))) | 3382 | (concat (speedbar-line-directory indent) token)))) |
| 3561 | (while oldl | 3383 | (while oldl |
| 3562 | (if (not (string-match (concat "^" (regexp-quote td)) (car oldl))) | 3384 | (if (not (string-match (concat "^" (regexp-quote td)) (car oldl))) |
| 3563 | (setq newl (cons (car oldl) newl))) | 3385 | (setq newl (cons (car oldl) newl))) |
| @@ -3568,7 +3390,6 @@ expanded. INDENT is the current indentation level." | |||
| 3568 | ) | 3390 | ) |
| 3569 | (t (error "Ooops... not sure what to do"))) | 3391 | (t (error "Ooops... not sure what to do"))) |
| 3570 | (speedbar-center-buffer-smartly) | 3392 | (speedbar-center-buffer-smartly) |
| 3571 | (setq speedbar-last-selected-file nil) | ||
| 3572 | (save-excursion (speedbar-stealthy-updates))) | 3393 | (save-excursion (speedbar-stealthy-updates))) |
| 3573 | 3394 | ||
| 3574 | (defun speedbar-directory-buttons-follow (text token indent) | 3395 | (defun speedbar-directory-buttons-follow (text token indent) |
| @@ -3590,7 +3411,7 @@ The parameter TEXT and TOKEN are required, where TEXT is the button | |||
| 3590 | clicked, and TOKEN is the file to expand. INDENT is the current | 3411 | clicked, and TOKEN is the file to expand. INDENT is the current |
| 3591 | indentation level." | 3412 | indentation level." |
| 3592 | (cond ((string-match "+" text) ;we have to expand this file | 3413 | (cond ((string-match "+" text) ;we have to expand this file |
| 3593 | (let* ((fn (expand-file-name (concat (speedbar-line-path indent) | 3414 | (let* ((fn (expand-file-name (concat (speedbar-line-directory indent) |
| 3594 | token))) | 3415 | token))) |
| 3595 | (mode nil) | 3416 | (mode nil) |
| 3596 | (lst (speedbar-fetch-dynamic-tags fn))) | 3417 | (lst (speedbar-fetch-dynamic-tags fn))) |
| @@ -3611,17 +3432,20 @@ indentation level." | |||
| 3611 | (defun speedbar-tag-find (text token indent) | 3432 | (defun speedbar-tag-find (text token indent) |
| 3612 | "For the tag TEXT in a file TOKEN, go to that position. | 3433 | "For the tag TEXT in a file TOKEN, go to that position. |
| 3613 | INDENT is the current indentation level." | 3434 | INDENT is the current indentation level." |
| 3614 | (let ((file (speedbar-line-path indent))) | 3435 | (let ((file (speedbar-line-directory indent))) |
| 3436 | (let ((f (selected-frame))) | ||
| 3437 | (dframe-select-attached-frame speedbar-frame) | ||
| 3438 | (run-hooks 'speedbar-before-visiting-tag-hook) | ||
| 3439 | (select-frame f)) | ||
| 3615 | (speedbar-find-file-in-frame file) | 3440 | (speedbar-find-file-in-frame file) |
| 3616 | (save-excursion (speedbar-stealthy-updates)) | 3441 | (save-excursion (speedbar-stealthy-updates)) |
| 3617 | ;; Reset the timer with a new timeout when cliking a file | 3442 | ;; Reset the timer with a new timeout when cliking a file |
| 3618 | ;; in case the user was navigating directories, we can cancel | 3443 | ;; in case the user was navigating directories, we can cancel |
| 3619 | ;; that other timer. | 3444 | ;; that other timer. |
| 3620 | (speedbar-set-timer speedbar-update-speed) | 3445 | (speedbar-set-timer dframe-update-speed) |
| 3621 | (goto-char token) | 3446 | (goto-char token) |
| 3622 | (run-hooks 'speedbar-visiting-tag-hook) | 3447 | (run-hooks 'speedbar-visiting-tag-hook) |
| 3623 | ;;(recenter) | 3448 | (dframe-maybee-jump-to-attached-frame) |
| 3624 | (speedbar-maybee-jump-to-attached-frame) | ||
| 3625 | )) | 3449 | )) |
| 3626 | 3450 | ||
| 3627 | (defun speedbar-tag-expand (text token indent) | 3451 | (defun speedbar-tag-expand (text token indent) |
| @@ -3644,6 +3468,14 @@ level." | |||
| 3644 | 3468 | ||
| 3645 | ;;; Loading files into the attached frame. | 3469 | ;;; Loading files into the attached frame. |
| 3646 | ;; | 3470 | ;; |
| 3471 | (defcustom speedbar-select-frame-method 'attached | ||
| 3472 | "*Specify how to select a frame for displaying a file. | ||
| 3473 | A value of 'attached means to use the attached frame (the frame | ||
| 3474 | that speedbar was started from.) A number such as 1 or -1 means to | ||
| 3475 | pass that number to `other-frame' while selecting a frame from speedbar." | ||
| 3476 | :group 'speedbar | ||
| 3477 | :type 'sexp) | ||
| 3478 | |||
| 3647 | (defun speedbar-find-file-in-frame (file) | 3479 | (defun speedbar-find-file-in-frame (file) |
| 3648 | "This will load FILE into the speedbar attached frame. | 3480 | "This will load FILE into the speedbar attached frame. |
| 3649 | If the file is being displayed in a different frame already, then raise that | 3481 | If the file is being displayed in a different frame already, then raise that |
| @@ -3654,9 +3486,11 @@ frame instead." | |||
| 3654 | (progn | 3486 | (progn |
| 3655 | (select-window bwin) | 3487 | (select-window bwin) |
| 3656 | (raise-frame (window-frame bwin))) | 3488 | (raise-frame (window-frame bwin))) |
| 3657 | (if speedbar-power-click | 3489 | (if dframe-power-click |
| 3658 | (let ((pop-up-frames t)) (select-window (display-buffer buff))) | 3490 | (let ((pop-up-frames t)) (select-window (display-buffer buff))) |
| 3659 | (select-frame speedbar-attached-frame) | 3491 | (if (numberp speedbar-select-frame-method) |
| 3492 | (other-frame speedbar-select-frame-method) | ||
| 3493 | (dframe-select-attached-frame speedbar-frame)) | ||
| 3660 | (switch-to-buffer buff)))) | 3494 | (switch-to-buffer buff)))) |
| 3661 | ) | 3495 | ) |
| 3662 | 3496 | ||
| @@ -3666,61 +3500,69 @@ frame instead." | |||
| 3666 | "Recenter a speedbar buffer so the current indentation level is all visible. | 3500 | "Recenter a speedbar buffer so the current indentation level is all visible. |
| 3667 | This assumes that the cursor is on a file, or tag of a file which the user is | 3501 | This assumes that the cursor is on a file, or tag of a file which the user is |
| 3668 | interested in." | 3502 | interested in." |
| 3669 | (if (<= (count-lines (point-min) (point-max)) | ||
| 3670 | (1- (window-height (selected-window)))) | ||
| 3671 | ;; whole buffer fits | ||
| 3672 | (let ((cp (point))) | ||
| 3673 | (goto-char (point-min)) | ||
| 3674 | (recenter 0) | ||
| 3675 | (goto-char cp)) | ||
| 3676 | ;; too big | ||
| 3677 | (let (depth start end exp p) | ||
| 3678 | (save-excursion | ||
| 3679 | (beginning-of-line) | ||
| 3680 | (setq depth (if (looking-at "[0-9]+") | ||
| 3681 | (string-to-int (buffer-substring-no-properties | ||
| 3682 | (match-beginning 0) (match-end 0))) | ||
| 3683 | 0)) | ||
| 3684 | (setq exp (format "^%d:\\s-*[[{<]\\([?+-]\\)[]>}]" depth))) | ||
| 3685 | (save-excursion | ||
| 3686 | (end-of-line) | ||
| 3687 | (if (re-search-backward exp nil t) | ||
| 3688 | (setq start (point)) | ||
| 3689 | (setq start (point-min))) | ||
| 3690 | (save-excursion ;Not sure about this part. | ||
| 3691 | (end-of-line) | ||
| 3692 | (setq p (point)) | ||
| 3693 | (while (and (not (re-search-forward exp nil t)) | ||
| 3694 | (>= depth 0)) | ||
| 3695 | (setq depth (1- depth)) | ||
| 3696 | (setq exp (format "^%d:\\s-*[[{<]\\([?+-]\\)[]>}]" depth))) | ||
| 3697 | (if (/= (point) p) | ||
| 3698 | (setq end (point)) | ||
| 3699 | (setq end (point-max))))) | ||
| 3700 | ;; Now work out the details of centering | ||
| 3701 | (let ((nl (count-lines start end)) | ||
| 3702 | (cp (point))) | ||
| 3703 | (if (> nl (window-height (selected-window))) | ||
| 3704 | ;; We can't fit it all, so just center on cursor | ||
| 3705 | (progn (goto-char start) | ||
| 3706 | (recenter 1)) | ||
| 3707 | ;; we can fit everything on the screen, but... | ||
| 3708 | (if (and (pos-visible-in-window-p start (selected-window)) | ||
| 3709 | (pos-visible-in-window-p end (selected-window))) | ||
| 3710 | ;; we are all set! | ||
| 3711 | nil | ||
| 3712 | ;; we need to do something... | ||
| 3713 | (goto-char start) | ||
| 3714 | (let ((newcent (/ (- (window-height (selected-window)) nl) 2)) | ||
| 3715 | (lte (count-lines start (point-max)))) | ||
| 3716 | (if (and (< (+ newcent lte) (window-height (selected-window))) | ||
| 3717 | (> (- (window-height (selected-window)) lte 1) | ||
| 3718 | newcent)) | ||
| 3719 | (setq newcent (- (window-height (selected-window)) | ||
| 3720 | lte 1))) | ||
| 3721 | (recenter newcent)))) | ||
| 3722 | (goto-char cp))))) | ||
| 3723 | 3503 | ||
| 3504 | (save-selected-window | ||
| 3505 | |||
| 3506 | (select-window (get-buffer-window speedbar-buffer t)) | ||
| 3507 | |||
| 3508 | (set-buffer speedbar-buffer) | ||
| 3509 | |||
| 3510 | (if (<= (count-lines (point-min) (point-max)) | ||
| 3511 | (1- (window-height (selected-window)))) | ||
| 3512 | ;; whole buffer fits | ||
| 3513 | (let ((cp (point))) | ||
| 3514 | |||
| 3515 | (goto-char (point-min)) | ||
| 3516 | (recenter 0) | ||
| 3517 | (goto-char cp)) | ||
| 3518 | ;; too big | ||
| 3519 | (let (depth start end exp p) | ||
| 3520 | (save-excursion | ||
| 3521 | (beginning-of-line) | ||
| 3522 | (setq depth (if (looking-at "[0-9]+") | ||
| 3523 | (string-to-number (buffer-substring-no-properties | ||
| 3524 | (match-beginning 0) (match-end 0))) | ||
| 3525 | 0)) | ||
| 3526 | (setq exp (format "^%d:" depth))) | ||
| 3527 | (save-excursion | ||
| 3528 | (end-of-line) | ||
| 3529 | (if (re-search-backward exp nil t) | ||
| 3530 | (setq start (point)) | ||
| 3531 | (setq start (point-min))) | ||
| 3532 | (save-excursion ;Not sure about this part. | ||
| 3533 | (end-of-line) | ||
| 3534 | (setq p (point)) | ||
| 3535 | (while (and (not (re-search-forward exp nil t)) | ||
| 3536 | (>= depth 0)) | ||
| 3537 | (setq depth (1- depth)) | ||
| 3538 | (setq exp (format "^%d:" depth))) | ||
| 3539 | (if (/= (point) p) | ||
| 3540 | (setq end (point)) | ||
| 3541 | (setq end (point-max))))) | ||
| 3542 | ;; Now work out the details of centering | ||
| 3543 | (let ((nl (count-lines start end)) | ||
| 3544 | (wl (1- (window-height (selected-window)))) | ||
| 3545 | (cp (point))) | ||
| 3546 | (if (> nl wl) | ||
| 3547 | ;; We can't fit it all, so just center on cursor | ||
| 3548 | (progn (goto-char start) | ||
| 3549 | (recenter 1)) | ||
| 3550 | ;; we can fit everything on the screen, but... | ||
| 3551 | (if (and (pos-visible-in-window-p start (selected-window)) | ||
| 3552 | (pos-visible-in-window-p end (selected-window))) | ||
| 3553 | ;; we are all set! | ||
| 3554 | nil | ||
| 3555 | ;; we need to do something... | ||
| 3556 | (goto-char start) | ||
| 3557 | (let ((newcent (/ (- (window-height (selected-window)) nl) 2)) | ||
| 3558 | (lte (count-lines start (point-max)))) | ||
| 3559 | (if (and (< (+ newcent lte) (window-height (selected-window))) | ||
| 3560 | (> (- (window-height (selected-window)) lte 1) | ||
| 3561 | newcent)) | ||
| 3562 | (setq newcent (- (window-height (selected-window)) | ||
| 3563 | lte 1))) | ||
| 3564 | (recenter newcent)))) | ||
| 3565 | (goto-char cp)))))) | ||
| 3724 | 3566 | ||
| 3725 | ;;; Tag Management -- List of expanders: | 3567 | ;;; Tag Management -- List of expanders: |
| 3726 | ;; | 3568 | ;; |
| @@ -3730,7 +3572,12 @@ This uses the entries in `speedbar-dynamic-tags-function-list' | |||
| 3730 | to find the proper tags. It is up to each of those individual | 3572 | to find the proper tags. It is up to each of those individual |
| 3731 | functions to do caching and flushing if appropriate." | 3573 | functions to do caching and flushing if appropriate." |
| 3732 | (save-excursion | 3574 | (save-excursion |
| 3733 | (set-buffer (find-file-noselect file)) | 3575 | ;; If a file is in memory, switch to that buffer. This allows |
| 3576 | ;; us to use the local variable. If the file is on disk, we | ||
| 3577 | ;; can try a few of the defaults that can get tags without | ||
| 3578 | ;; opening the file. | ||
| 3579 | (if (get-file-buffer file) | ||
| 3580 | (set-buffer (get-file-buffer file))) | ||
| 3734 | ;; If there is a buffer-local value of | 3581 | ;; If there is a buffer-local value of |
| 3735 | ;; speedbar-dynamic-tags-function-list, it will now be available. | 3582 | ;; speedbar-dynamic-tags-function-list, it will now be available. |
| 3736 | (let ((dtf speedbar-dynamic-tags-function-list) | 3583 | (let ((dtf speedbar-dynamic-tags-function-list) |
| @@ -3738,7 +3585,7 @@ functions to do caching and flushing if appropriate." | |||
| 3738 | (while (and (eq ret t) dtf) | 3585 | (while (and (eq ret t) dtf) |
| 3739 | (setq ret | 3586 | (setq ret |
| 3740 | (if (fboundp (car (car dtf))) | 3587 | (if (fboundp (car (car dtf))) |
| 3741 | (funcall (car (car dtf)) (buffer-file-name)) | 3588 | (funcall (car (car dtf)) file) |
| 3742 | t)) | 3589 | t)) |
| 3743 | (if (eq ret t) | 3590 | (if (eq ret t) |
| 3744 | (setq dtf (cdr dtf)))) | 3591 | (setq dtf (cdr dtf)))) |
| @@ -3762,7 +3609,8 @@ functions to do caching and flushing if appropriate." | |||
| 3762 | Returns the tag list, or t for an error." | 3609 | Returns the tag list, or t for an error." |
| 3763 | ;; Load this AND compile it in | 3610 | ;; Load this AND compile it in |
| 3764 | (require 'imenu) | 3611 | (require 'imenu) |
| 3765 | (if speedbar-power-click (setq imenu--index-alist nil)) | 3612 | (set-buffer (find-file-noselect file)) |
| 3613 | (if dframe-power-click (setq imenu--index-alist nil)) | ||
| 3766 | (condition-case nil | 3614 | (condition-case nil |
| 3767 | (let ((index-alist (imenu--make-index-alist t))) | 3615 | (let ((index-alist (imenu--make-index-alist t))) |
| 3768 | (if speedbar-sort-tags | 3616 | (if speedbar-sort-tags |
| @@ -3776,7 +3624,7 @@ Returns the tag list, or t for an error." | |||
| 3776 | ;; | 3624 | ;; |
| 3777 | (defvar speedbar-fetch-etags-parse-list | 3625 | (defvar speedbar-fetch-etags-parse-list |
| 3778 | '(;; Note that java has the same parse-group as c | 3626 | '(;; Note that java has the same parse-group as c |
| 3779 | ("\\.\\([cChH]\\|c\\+\\+\\|cpp\\|cc\\|hh\\|java\\)\\'" . | 3627 | ("\\.\\([cChH]\\|c\\+\\+\\|cpp\\|cc\\|hh\\|java\\|cxx\\|hxx\\)\\'" . |
| 3780 | speedbar-parse-c-or-c++tag) | 3628 | speedbar-parse-c-or-c++tag) |
| 3781 | ("^\\.emacs$\\|.\\(el\\|l\\|lsp\\)\\'" . | 3629 | ("^\\.emacs$\\|.\\(el\\|l\\|lsp\\)\\'" . |
| 3782 | "def[^i]+\\s-+\\(\\(\\w\\|[-_]\\)+\\)\\s-*\C-?") | 3630 | "def[^i]+\\s-+\\(\\(\\w\\|[-_]\\)+\\)\\s-*\C-?") |
| @@ -3906,7 +3754,7 @@ regular expression EXPR." | |||
| 3906 | (point)) | 3754 | (point)) |
| 3907 | t))) | 3755 | t))) |
| 3908 | (if (and j sym) | 3756 | (if (and j sym) |
| 3909 | (1+ (string-to-int (buffer-substring-no-properties | 3757 | (1+ (string-to-number (buffer-substring-no-properties |
| 3910 | (match-beginning 2) | 3758 | (match-beginning 2) |
| 3911 | (match-end 2)))) | 3759 | (match-end 2)))) |
| 3912 | 0)))) | 3760 | 0)))) |
| @@ -3955,6 +3803,7 @@ regular expression EXPR." | |||
| 3955 | (define-key speedbar-buffers-key-map "+" 'speedbar-expand-line) | 3803 | (define-key speedbar-buffers-key-map "+" 'speedbar-expand-line) |
| 3956 | (define-key speedbar-buffers-key-map "=" 'speedbar-expand-line) | 3804 | (define-key speedbar-buffers-key-map "=" 'speedbar-expand-line) |
| 3957 | (define-key speedbar-buffers-key-map "-" 'speedbar-contract-line) | 3805 | (define-key speedbar-buffers-key-map "-" 'speedbar-contract-line) |
| 3806 | (define-key speedbar-buffers-key-map " " 'speedbar-toggle-line-expansion) | ||
| 3958 | 3807 | ||
| 3959 | ;; Buffer specific keybindings | 3808 | ;; Buffer specific keybindings |
| 3960 | (define-key speedbar-buffers-key-map "k" 'speedbar-buffer-kill-buffer) | 3809 | (define-key speedbar-buffers-key-map "k" 'speedbar-buffer-kill-buffer) |
| @@ -3975,28 +3824,29 @@ regular expression EXPR." | |||
| 3975 | (looking-at "[0-9]+: *.-. "))] | 3824 | (looking-at "[0-9]+: *.-. "))] |
| 3976 | ["Kill Buffer" speedbar-buffer-kill-buffer | 3825 | ["Kill Buffer" speedbar-buffer-kill-buffer |
| 3977 | (save-excursion (beginning-of-line) | 3826 | (save-excursion (beginning-of-line) |
| 3978 | (looking-at "[0-9]+: *.-. "))] | 3827 | (looking-at "[0-9]+: *.[-+?]. "))] |
| 3979 | ["Revert Buffer" speedbar-buffer-revert-buffer | 3828 | ["Revert Buffer" speedbar-buffer-revert-buffer |
| 3980 | (save-excursion (beginning-of-line) | 3829 | (save-excursion (beginning-of-line) |
| 3981 | (looking-at "[0-9]+: *.-. "))] | 3830 | (looking-at "[0-9]+: *.[-+?]. "))] |
| 3982 | ) | 3831 | ) |
| 3983 | "Menu item elements shown when displaying a buffer list.") | 3832 | "Menu item elements shown when displaying a buffer list.") |
| 3984 | 3833 | ||
| 3985 | (defun speedbar-buffer-buttons (directory zero) | 3834 | (defun speedbar-buffer-buttons (directory zero) |
| 3986 | "Create speedbar buttons based on the buffers currently loaded. | 3835 | "Create speedbar buttons based on the buffers currently loaded. |
| 3987 | DIRECTORY is the path to the currently active buffer, and ZERO is 0." | 3836 | DIRECTORY is the directory to the currently active buffer, and ZERO is 0." |
| 3988 | (speedbar-buffer-buttons-engine nil)) | 3837 | (speedbar-buffer-buttons-engine nil)) |
| 3989 | 3838 | ||
| 3990 | (defun speedbar-buffer-buttons-temp (directory zero) | 3839 | (defun speedbar-buffer-buttons-temp (directory zero) |
| 3991 | "Create speedbar buttons based on the buffers currently loaded. | 3840 | "Create speedbar buttons based on the buffers currently loaded. |
| 3992 | DIRECTORY is the path to the currently active buffer, and ZERO is 0." | 3841 | DIRECTORY is the directory to the currently active buffer, and ZERO is 0." |
| 3993 | (speedbar-buffer-buttons-engine t)) | 3842 | (speedbar-buffer-buttons-engine t)) |
| 3994 | 3843 | ||
| 3995 | (defun speedbar-buffer-buttons-engine (temp) | 3844 | (defun speedbar-buffer-buttons-engine (temp) |
| 3996 | "Create speedbar buffer buttons. | 3845 | "Create speedbar buffer buttons. |
| 3997 | If TEMP is non-nil, then clicking on a buffer restores the previous display." | 3846 | If TEMP is non-nil, then clicking on a buffer restores the previous display." |
| 3998 | (insert "Active Buffers:\n") | 3847 | (speedbar-insert-separator "Active Buffers:") |
| 3999 | (let ((bl (buffer-list))) | 3848 | (let ((bl (buffer-list)) |
| 3849 | (case-fold-search t)) | ||
| 4000 | (while bl | 3850 | (while bl |
| 4001 | (if (string-match "^[ *]" (buffer-name (car bl))) | 3851 | (if (string-match "^[ *]" (buffer-name (car bl))) |
| 4002 | nil | 3852 | nil |
| @@ -4010,10 +3860,11 @@ If TEMP is non-nil, then clicking on a buffer restores the previous display." | |||
| 4010 | (if fname (file-name-nondirectory fname)) | 3860 | (if fname (file-name-nondirectory fname)) |
| 4011 | (buffer-name (car bl)) | 3861 | (buffer-name (car bl)) |
| 4012 | 'speedbar-buffer-click temp | 3862 | 'speedbar-buffer-click temp |
| 4013 | 'speedbar-file-face 0))) | 3863 | 'speedbar-file-face 0) |
| 3864 | (speedbar-buffers-tail-notes (car bl)))) | ||
| 4014 | (setq bl (cdr bl))) | 3865 | (setq bl (cdr bl))) |
| 4015 | (setq bl (buffer-list)) | 3866 | (setq bl (buffer-list)) |
| 4016 | (insert "Scratch Buffers:\n") | 3867 | (speedbar-insert-separator "Scratch Buffers:") |
| 4017 | (while bl | 3868 | (while bl |
| 4018 | (if (not (string-match "^\\*" (buffer-name (car bl)))) | 3869 | (if (not (string-match "^\\*" (buffer-name (car bl)))) |
| 4019 | nil | 3870 | nil |
| @@ -4022,20 +3873,33 @@ If TEMP is non-nil, then clicking on a buffer restores the previous display." | |||
| 4022 | (speedbar-make-tag-line 'bracket ?? nil nil | 3873 | (speedbar-make-tag-line 'bracket ?? nil nil |
| 4023 | (buffer-name (car bl)) | 3874 | (buffer-name (car bl)) |
| 4024 | 'speedbar-buffer-click temp | 3875 | 'speedbar-buffer-click temp |
| 4025 | 'speedbar-file-face 0))) | 3876 | 'speedbar-file-face 0) |
| 3877 | (speedbar-buffers-tail-notes (car bl)))) | ||
| 4026 | (setq bl (cdr bl))) | 3878 | (setq bl (cdr bl))) |
| 4027 | (setq bl (buffer-list)) | 3879 | (setq bl (buffer-list)) |
| 4028 | (insert "Hidden Buffers:\n") | 3880 | ;;(speedbar-insert-separator "Hidden Buffers:") |
| 4029 | (while bl | 3881 | ;;(while bl |
| 4030 | (if (not (string-match "^ " (buffer-name (car bl)))) | 3882 | ;; (if (not (string-match "^ " (buffer-name (car bl)))) |
| 4031 | nil | 3883 | ;; nil |
| 4032 | (if (eq (car bl) speedbar-buffer) | 3884 | ;; (if (eq (car bl) speedbar-buffer) |
| 4033 | nil | 3885 | ;; nil |
| 4034 | (speedbar-make-tag-line 'bracket ?? nil nil | 3886 | ;; (speedbar-make-tag-line 'bracket ?? nil nil |
| 4035 | (buffer-name (car bl)) | 3887 | ;; (buffer-name (car bl)) |
| 4036 | 'speedbar-buffer-click temp | 3888 | ;; 'speedbar-buffer-click temp |
| 4037 | 'speedbar-file-face 0))) | 3889 | ;; 'speedbar-file-face 0) |
| 4038 | (setq bl (cdr bl))))) | 3890 | ;; (speedbar-buffers-tail-notes (car bl)))) |
| 3891 | ;; (setq bl (cdr bl))) | ||
| 3892 | )) | ||
| 3893 | |||
| 3894 | (defun speedbar-buffers-tail-notes (buffer) | ||
| 3895 | "Add a note to the end of the last tag line. | ||
| 3896 | Argument BUFFER is the buffer being tested." | ||
| 3897 | (let (mod ro) | ||
| 3898 | (save-excursion | ||
| 3899 | (set-buffer buffer) | ||
| 3900 | (setq mod (buffer-modified-p) | ||
| 3901 | ro buffer-read-only)) | ||
| 3902 | (if ro (speedbar-insert-button "%" nil nil nil nil t)))) | ||
| 4039 | 3903 | ||
| 4040 | (defun speedbar-buffers-item-info () | 3904 | (defun speedbar-buffers-item-info () |
| 4041 | "Display information about the current buffer on the current line." | 3905 | "Display information about the current buffer on the current line." |
| @@ -4051,8 +3915,8 @@ If TEMP is non-nil, then clicking on a buffer restores the previous display." | |||
| 4051 | (buffer-size)) | 3915 | (buffer-size)) |
| 4052 | (or (buffer-file-name buffer) "<No file>")))))) | 3916 | (or (buffer-file-name buffer) "<No file>")))))) |
| 4053 | 3917 | ||
| 4054 | (defun speedbar-buffers-line-path (&optional depth) | 3918 | (defun speedbar-buffers-line-directory (&optional depth) |
| 4055 | "Fetch the full path to the file (buffer) specified on the current line. | 3919 | "Fetch the full directory to the file (buffer) specified on the current line. |
| 4056 | Optional argument DEPTH specifies the current depth of the back search." | 3920 | Optional argument DEPTH specifies the current depth of the back search." |
| 4057 | (save-excursion | 3921 | (save-excursion |
| 4058 | (end-of-line) | 3922 | (end-of-line) |
| @@ -4066,15 +3930,17 @@ Optional argument DEPTH specifies the current depth of the back search." | |||
| 4066 | (if (save-excursion | 3930 | (if (save-excursion |
| 4067 | (end-of-line) | 3931 | (end-of-line) |
| 4068 | (eq start (point))) | 3932 | (eq start (point))) |
| 4069 | (file-name-directory (buffer-file-name buffer)) | 3933 | (or (save-excursion (set-buffer buffer) |
| 3934 | default-directory) | ||
| 3935 | "") | ||
| 4070 | (buffer-file-name buffer)))))))) | 3936 | (buffer-file-name buffer)))))))) |
| 4071 | 3937 | ||
| 4072 | (defun speedbar-buffer-click (text token indent) | 3938 | (defun speedbar-buffer-click (text token indent) |
| 4073 | "When the users clicks on a buffer-button in speedbar. | 3939 | "When the users clicks on a buffer-button in speedbar. |
| 4074 | TEXT is the buffer's name, TOKEN and INDENT are unused." | 3940 | TEXT is the buffer's name, TOKEN and INDENT are unused." |
| 4075 | (if speedbar-power-click | 3941 | (if dframe-power-click |
| 4076 | (let ((pop-up-frames t)) (select-window (display-buffer text))) | 3942 | (let ((pop-up-frames t)) (select-window (display-buffer text))) |
| 4077 | (select-frame speedbar-attached-frame) | 3943 | (dframe-select-attached-frame speedbar-frame) |
| 4078 | (switch-to-buffer text) | 3944 | (switch-to-buffer text) |
| 4079 | (if token (speedbar-change-initial-expansion-list | 3945 | (if token (speedbar-change-initial-expansion-list |
| 4080 | speedbar-previously-used-expansion-list-name)))) | 3946 | speedbar-previously-used-expansion-list-name)))) |
| @@ -4083,21 +3949,11 @@ TEXT is the buffer's name, TOKEN and INDENT are unused." | |||
| 4083 | "Kill the buffer the cursor is on in the speedbar buffer." | 3949 | "Kill the buffer the cursor is on in the speedbar buffer." |
| 4084 | (interactive) | 3950 | (interactive) |
| 4085 | (or (save-excursion | 3951 | (or (save-excursion |
| 4086 | (beginning-of-line) | 3952 | (let ((text (speedbar-line-text))) |
| 4087 | ;; If this fails, then it is a non-standard click, and as such, | 3953 | (if (and (get-buffer text) |
| 4088 | ;; perfectly allowed. | 3954 | (speedbar-y-or-n-p (format "Kill buffer %s? " text))) |
| 4089 | (if (re-search-forward "[]>?}] [^ ]" | 3955 | (kill-buffer text)) |
| 4090 | (save-excursion (end-of-line) (point)) | 3956 | (speedbar-refresh))))) |
| 4091 | t) | ||
| 4092 | (let ((text (progn | ||
| 4093 | (forward-char -1) | ||
| 4094 | (buffer-substring (point) (save-excursion | ||
| 4095 | (end-of-line) | ||
| 4096 | (point)))))) | ||
| 4097 | (if (and (get-buffer text) | ||
| 4098 | (speedbar-y-or-n-p (format "Kill buffer %s? " text))) | ||
| 4099 | (kill-buffer text)) | ||
| 4100 | (speedbar-refresh)))))) | ||
| 4101 | 3957 | ||
| 4102 | (defun speedbar-buffer-revert-buffer () | 3958 | (defun speedbar-buffer-revert-buffer () |
| 4103 | "Revert the buffer the cursor is on in the speedbar buffer." | 3959 | "Revert the buffer the cursor is on in the speedbar buffer." |
| @@ -4168,7 +4024,7 @@ TEXT is the buffer's name, TOKEN and INDENT are unused." | |||
| 4168 | (:foreground "cyan4")) | 4024 | (:foreground "cyan4")) |
| 4169 | (((class color) (background dark)) | 4025 | (((class color) (background dark)) |
| 4170 | (:foreground "cyan")) | 4026 | (:foreground "cyan")) |
| 4171 | (t (:weight bold))) | 4027 | (t (:bold t))) |
| 4172 | "Face used for file names." | 4028 | "Face used for file names." |
| 4173 | :group 'speedbar-faces) | 4029 | :group 'speedbar-faces) |
| 4174 | 4030 | ||
| @@ -4197,173 +4053,76 @@ TEXT is the buffer's name, TOKEN and INDENT are unused." | |||
| 4197 | (:background "green")) | 4053 | (:background "green")) |
| 4198 | (((class color) (background dark)) | 4054 | (((class color) (background dark)) |
| 4199 | (:background "sea green")) | 4055 | (:background "sea green")) |
| 4200 | (((class grayscale mono) | 4056 | (((class grayscale monochrome) |
| 4201 | (background light)) | 4057 | (background light)) |
| 4202 | (:background "black")) | 4058 | (:background "black")) |
| 4203 | (((class grayscale mono) | 4059 | (((class grayscale monochrome) |
| 4204 | (background dark)) | 4060 | (background dark)) |
| 4205 | (:background "white"))) | 4061 | (:background "white"))) |
| 4206 | "Face used for highlighting buttons with the mouse." | 4062 | "Face used for highlighting buttons with the mouse." |
| 4207 | :group 'speedbar-faces) | 4063 | :group 'speedbar-faces) |
| 4208 | 4064 | ||
| 4209 | 4065 | (defface speedbar-separator-face '((((class color) (background light)) | |
| 4210 | ;;; Image loading and inlining | 4066 | (:background "blue" |
| 4211 | ;; | 4067 | :foreground "white" |
| 4212 | 4068 | :overline "gray")) | |
| 4213 | ;;; Some images if defimage is available: | 4069 | (((class color) (background dark)) |
| 4214 | (eval-when-compile | 4070 | (:background "blue" |
| 4215 | 4071 | :foreground "white" | |
| 4216 | (if (fboundp 'defimage) | 4072 | :overline "gray")) |
| 4217 | (defalias 'defimage-speedbar 'defimage) | 4073 | (((class grayscale monochrome) |
| 4218 | 4074 | (background light)) | |
| 4219 | (if (not (fboundp 'make-glyph)) | 4075 | (:background "black" |
| 4220 | 4076 | :foreground "white" | |
| 4221 | (defmacro defimage-speedbar (variable imagespec docstring) | 4077 | :overline "white")) |
| 4222 | "Don't bother loading up an image... | 4078 | (((class grayscale monochrome) |
| 4223 | Argument VARIABLE is the variable to define. | 4079 | (background dark)) |
| 4224 | Argument IMAGESPEC is the list defining the image to create. | 4080 | (:background "white" |
| 4225 | Argument DOCSTRING is the documentation for VARIABLE." | 4081 | :foreground "black" |
| 4226 | `(defvar ,variable nil ,docstring)) | 4082 | :overline "black"))) |
| 4227 | 4083 | "Face used for separator labes in a display." | |
| 4228 | ;; ELSE | 4084 | :group 'speedbar-faces) |
| 4229 | (defun speedbar-find-image-on-load-path (image) | ||
| 4230 | "Find the image file IMAGE on the load path." | ||
| 4231 | (let ((l load-path) | ||
| 4232 | (r nil)) | ||
| 4233 | (while (and l (not r)) | ||
| 4234 | (if (file-exists-p (concat (car l) "/" image)) | ||
| 4235 | (setq r (concat (car l) "/" image))) | ||
| 4236 | (setq l (cdr l))) | ||
| 4237 | r)) | ||
| 4238 | |||
| 4239 | (defun speedbar-convert-emacs21-imagespec-to-xemacs (spec) | ||
| 4240 | "Convert the Emacs21 image SPEC into an XEmacs image spec." | ||
| 4241 | (let* ((sl (car spec)) | ||
| 4242 | (itype (nth 1 sl)) | ||
| 4243 | (ifile (nth 3 sl))) | ||
| 4244 | (vector itype ':file (speedbar-find-image-on-load-path ifile)))) | ||
| 4245 | |||
| 4246 | (defmacro defimage-speedbar (variable imagespec docstring) | ||
| 4247 | "Define VARIABLE as an image if `defimage' is not available. | ||
| 4248 | IMAGESPEC is the image data, and DOCSTRING is documentation for the image." | ||
| 4249 | `(defvar ,variable | ||
| 4250 | ;; The Emacs21 version of defimage looks just like the XEmacs image | ||
| 4251 | ;; specifier, except that it needs a :type keyword. If we line | ||
| 4252 | ;; stuff up right, we can use this cheat to support XEmacs specifiers. | ||
| 4253 | (condition-case nil | ||
| 4254 | (make-glyph | ||
| 4255 | (make-image-specifier | ||
| 4256 | (speedbar-convert-emacs21-imagespec-to-xemacs (quote ,imagespec))) | ||
| 4257 | 'buffer) | ||
| 4258 | (error nil)) | ||
| 4259 | ,docstring))))) | ||
| 4260 | |||
| 4261 | (defimage-speedbar speedbar-directory-plus | ||
| 4262 | ((:type xpm :file "sb-dir-plus.xpm" :ascent center)) | ||
| 4263 | "Image used for closed directories with stuff in them.") | ||
| 4264 | |||
| 4265 | (defimage-speedbar speedbar-directory-minus | ||
| 4266 | ((:type xpm :file "sb-dir-minus.xpm" :ascent center)) | ||
| 4267 | "Image used for open directories with stuff in them.") | ||
| 4268 | |||
| 4269 | (defimage-speedbar speedbar-directory | ||
| 4270 | ((:type xpm :file "sb-dir.xpm" :ascent center)) | ||
| 4271 | "Image used for empty or unreadable directories.") | ||
| 4272 | |||
| 4273 | (defimage-speedbar speedbar-page-plus | ||
| 4274 | ((:type xpm :file "sb-pg-plus.xpm" :ascent center)) | ||
| 4275 | "Image used for closed files with stuff in them.") | ||
| 4276 | |||
| 4277 | (defimage-speedbar speedbar-page-minus | ||
| 4278 | ((:type xpm :file "sb-pg-minus.xpm" :ascent center)) | ||
| 4279 | "Image used for open files with stuff in them.") | ||
| 4280 | |||
| 4281 | (defimage-speedbar speedbar-page | ||
| 4282 | ((:type xpm :file "sb-pg.xpm" :ascent center)) | ||
| 4283 | "Image used for files that can't be opened.") | ||
| 4284 | |||
| 4285 | (defimage-speedbar speedbar-tag | ||
| 4286 | ((:type xpm :file "sb-tag.xpm" :ascent center)) | ||
| 4287 | "Image used for tags.") | ||
| 4288 | |||
| 4289 | (defimage-speedbar speedbar-tag-plus | ||
| 4290 | ((:type xpm :file "sb-tag-plus.xpm" :ascent center)) | ||
| 4291 | "Image used for closed tag groups.") | ||
| 4292 | |||
| 4293 | (defimage-speedbar speedbar-tag-minus | ||
| 4294 | ((:type xpm :file "sb-tag-minus.xpm" :ascent center)) | ||
| 4295 | "Image used for open tag groups.") | ||
| 4296 | |||
| 4297 | (defimage-speedbar speedbar-tag-gt | ||
| 4298 | ((:type xpm :file "sb-tag-gt.xpm" :ascent center)) | ||
| 4299 | "Image used for open tag groups.") | ||
| 4300 | |||
| 4301 | (defimage-speedbar speedbar-tag-v | ||
| 4302 | ((:type xpm :file "sb-tag-v.xpm" :ascent center)) | ||
| 4303 | "Image used for open tag groups.") | ||
| 4304 | |||
| 4305 | (defimage-speedbar speedbar-tag-type | ||
| 4306 | ((:type xpm :file "sb-tag-type.xpm" :ascent center)) | ||
| 4307 | "Image used for open tag groups.") | ||
| 4308 | |||
| 4309 | (defimage-speedbar speedbar-mail | ||
| 4310 | ((:type xpm :file "sb-mail.xpm" :ascent center)) | ||
| 4311 | "Image used for open tag groups.") | ||
| 4312 | |||
| 4313 | (defvar speedbar-expand-image-button-alist | ||
| 4314 | '(("<+>" . speedbar-directory-plus) | ||
| 4315 | ("<->" . speedbar-directory-minus) | ||
| 4316 | ("< >" . speedbar-directory) | ||
| 4317 | ("[+]" . speedbar-page-plus) | ||
| 4318 | ("[-]" . speedbar-page-minus) | ||
| 4319 | ("[?]" . speedbar-page) | ||
| 4320 | ("{+}" . speedbar-tag-plus) | ||
| 4321 | ("{-}" . speedbar-tag-minus) | ||
| 4322 | ("<M>" . speedbar-mail) | ||
| 4323 | (" =>" . speedbar-tag) | ||
| 4324 | (" +>" . speedbar-tag-gt) | ||
| 4325 | (" ->" . speedbar-tag-v) | ||
| 4326 | (">" . speedbar-tag) | ||
| 4327 | ("@" . speedbar-tag-type) | ||
| 4328 | (" @" . speedbar-tag-type) | ||
| 4329 | ) | ||
| 4330 | "List of text and image associations.") | ||
| 4331 | |||
| 4332 | (defun speedbar-insert-image-button-maybe (start length) | ||
| 4333 | "Insert an image button based on text starting at START for LENGTH chars. | ||
| 4334 | If buttontext is unknown, just insert that text. | ||
| 4335 | If we have an image associated with it, use that image." | ||
| 4336 | (if speedbar-use-images | ||
| 4337 | (let* ((bt (buffer-substring start (+ length start))) | ||
| 4338 | (a (assoc bt speedbar-expand-image-button-alist))) | ||
| 4339 | ;; Regular images (created with `insert-image' are intangible | ||
| 4340 | ;; which (I suppose) make them more compatible with XEmacs 21. | ||
| 4341 | ;; Unfortunatly, there is a giant pile o code dependent on the | ||
| 4342 | ;; underlying text. This means if we leave it tangible, then I | ||
| 4343 | ;; don't have to change said giant piles o code. | ||
| 4344 | (if (and a (symbol-value (cdr a))) | ||
| 4345 | (if (featurep 'xemacs) | ||
| 4346 | (add-text-properties (+ start (length bt)) start | ||
| 4347 | (list 'end-glyph (symbol-value (cdr a)) | ||
| 4348 | 'rear-nonsticky (list 'display) | ||
| 4349 | 'invisible t | ||
| 4350 | 'detachable t)) | ||
| 4351 | (add-text-properties start (+ start (length bt)) | ||
| 4352 | (list 'display (symbol-value (cdr a)) | ||
| 4353 | 'rear-nonsticky (list 'display)))) | ||
| 4354 | ;(message "Bad text [%s]" (buffer-substring start (+ start length))) | ||
| 4355 | )))) | ||
| 4356 | |||
| 4357 | 4085 | ||
| 4358 | ;; some edebug hooks | 4086 | ;; some edebug hooks |
| 4359 | (add-hook 'edebug-setup-hook | 4087 | (add-hook 'edebug-setup-hook |
| 4360 | (lambda () | 4088 | (lambda () |
| 4361 | (def-edebug-spec speedbar-with-writable def-body))) | 4089 | (def-edebug-spec speedbar-with-writable def-body))) |
| 4362 | 4090 | ||
| 4091 | ;; Fix a font lock problem for some versions of Emacs | ||
| 4092 | (if (boundp 'font-lock-global-modes) | ||
| 4093 | (if (listp font-lock-global-modes) | ||
| 4094 | (add-to-list 'font-lock-global-modes '(not speedbar-mode)) | ||
| 4095 | ) | ||
| 4096 | ) | ||
| 4097 | |||
| 4098 | |||
| 4099 | ;;; Obsolete variables and functions | ||
| 4100 | |||
| 4101 | (define-obsolete-variable-alias | ||
| 4102 | 'speedbar-ignored-path-regexp 'speedbar-ignored-directory-regexp) | ||
| 4103 | |||
| 4104 | (define-obsolete-variable-alias 'speedbar-ignored-path-expressions | ||
| 4105 | 'speedbar-ignored-directory-expressions) | ||
| 4106 | |||
| 4107 | (define-obsolete-function-alias 'speedbar-add-ignored-path-regexp | ||
| 4108 | 'speedbar-add-ignored-directory-regexp) | ||
| 4109 | |||
| 4110 | (define-obsolete-function-alias 'speedbar-line-path | ||
| 4111 | 'speedbar-line-directory) | ||
| 4112 | |||
| 4113 | (define-obsolete-function-alias 'speedbar-buffers-line-path | ||
| 4114 | 'speedbar-buffers-line-directory) | ||
| 4115 | |||
| 4116 | (define-obsolete-function-alias 'speedbar-path-line | ||
| 4117 | 'speedbar-directory-line) | ||
| 4118 | |||
| 4119 | (define-obsolete-function-alias 'speedbar-buffers-line-path | ||
| 4120 | 'speedbar-buffers-line-directory) | ||
| 4121 | |||
| 4363 | (provide 'speedbar) | 4122 | (provide 'speedbar) |
| 4364 | 4123 | ||
| 4365 | ;; run load-time hooks | 4124 | ;; run load-time hooks |
| 4366 | (run-hooks 'speedbar-load-hook) | 4125 | (run-hooks 'speedbar-load-hook) |
| 4367 | 4126 | ||
| 4368 | ;; arch-tag: 4477e6d1-f78c-48b9-a503-387d3c9767d5 | 4127 | ;; arch-tag: 4477e6d1-f78c-48b9-a503-387d3c9767d5 |
| 4369 | ;;; speedbar.el ends here | 4128 | ;;; speedbar ends here |
diff --git a/lisp/term/mac-win.el b/lisp/term/mac-win.el index 6ac270fea33..6f87f098f0b 100644 --- a/lisp/term/mac-win.el +++ b/lisp/term/mac-win.el | |||
| @@ -1132,6 +1132,7 @@ correspoinding TextEncodingBase value." | |||
| 1132 | (mac-add-charset-info "mac-symbol" 33) | 1132 | (mac-add-charset-info "mac-symbol" 33) |
| 1133 | (mac-add-charset-info "adobe-fontspecific" 33) ; for X-Symbol | 1133 | (mac-add-charset-info "adobe-fontspecific" 33) ; for X-Symbol |
| 1134 | (mac-add-charset-info "mac-dingbats" 34) | 1134 | (mac-add-charset-info "mac-dingbats" 34) |
| 1135 | (mac-add-charset-info "iso10646-1" 126) ; for ATSUI | ||
| 1135 | 1136 | ||
| 1136 | 1137 | ||
| 1137 | ;;;; Keyboard layout/language change events | 1138 | ;;;; Keyboard layout/language change events |
diff --git a/lisp/textmodes/artist.el b/lisp/textmodes/artist.el index c9fcd01d018..b13b080cf79 100644 --- a/lisp/textmodes/artist.el +++ b/lisp/textmodes/artist.el | |||
| @@ -3379,7 +3379,7 @@ The POINT-LIST is expected to cover the first quadrant." | |||
| 3379 | ;; that look like: \ / instead we get: ( ) | 3379 | ;; that look like: \ / instead we get: ( ) |
| 3380 | ;; \ / \ / | 3380 | ;; \ / \ / |
| 3381 | ;; --------- --------- | 3381 | ;; --------- --------- |
| 3382 | (let ((last-coord (last point-list))) | 3382 | (let ((last-coord (car (last point-list)))) |
| 3383 | (if (= (artist-coord-get-new-char last-coord) ?/) | 3383 | (if (= (artist-coord-get-new-char last-coord) ?/) |
| 3384 | (artist-coord-set-new-char last-coord artist-ellipse-right-char))) | 3384 | (artist-coord-set-new-char last-coord artist-ellipse-right-char))) |
| 3385 | 3385 | ||
| @@ -3848,8 +3848,8 @@ Optional argument STATE can be used to set state (default is nil)." | |||
| 3848 | (x2 (artist-endpoint-get-x ep2)) | 3848 | (x2 (artist-endpoint-get-x ep2)) |
| 3849 | (y2 (artist-endpoint-get-y ep2)) | 3849 | (y2 (artist-endpoint-get-y ep2)) |
| 3850 | (dir1 (artist-find-direction x2 y2 x1 y1)) | 3850 | (dir1 (artist-find-direction x2 y2 x1 y1)) |
| 3851 | (epn (last point-list)) | 3851 | (epn (car (last point-list))) |
| 3852 | (epn-1 (last point-list 2)) | 3852 | (epn-1 (car (last point-list 2))) |
| 3853 | (xn (artist-endpoint-get-x epn)) | 3853 | (xn (artist-endpoint-get-x epn)) |
| 3854 | (yn (artist-endpoint-get-y epn)) | 3854 | (yn (artist-endpoint-get-y epn)) |
| 3855 | (xn-1 (artist-endpoint-get-x epn-1)) | 3855 | (xn-1 (artist-endpoint-get-x epn-1)) |
diff --git a/lisp/textmodes/bibtex.el b/lisp/textmodes/bibtex.el index b85299c27e5..2177f72fd0d 100644 --- a/lisp/textmodes/bibtex.el +++ b/lisp/textmodes/bibtex.el | |||
| @@ -1120,7 +1120,7 @@ The CDRs of the elements are t for header keys and nil for crossref keys.") | |||
| 1120 | "Regexp matching the name of a valid BibTeX entry.") | 1120 | "Regexp matching the name of a valid BibTeX entry.") |
| 1121 | 1121 | ||
| 1122 | (defvar bibtex-valid-entry-whitespace-re | 1122 | (defvar bibtex-valid-entry-whitespace-re |
| 1123 | (concat "[ \t\n]*\\(" bibtex-valid-entry-re "\\)") | 1123 | (concat "[ \t]*\\(" bibtex-valid-entry-re "\\)") |
| 1124 | "Regexp matching the name of a valid BibTeX entry preceded by whitespace.") | 1124 | "Regexp matching the name of a valid BibTeX entry preceded by whitespace.") |
| 1125 | 1125 | ||
| 1126 | (defvar bibtex-any-valid-entry-re | 1126 | (defvar bibtex-any-valid-entry-re |
| @@ -2566,34 +2566,33 @@ Use `bibtex-summary-function' to generate summary." | |||
| 2566 | "Return summary of current BibTeX entry. | 2566 | "Return summary of current BibTeX entry. |
| 2567 | Used as default value of `bibtex-summary-function'." | 2567 | Used as default value of `bibtex-summary-function'." |
| 2568 | ;; It would be neat to customize this function. How? | 2568 | ;; It would be neat to customize this function. How? |
| 2569 | (save-excursion | 2569 | (if (looking-at bibtex-entry-maybe-empty-head) |
| 2570 | (if (looking-at bibtex-entry-maybe-empty-head) | 2570 | (let* ((bibtex-autokey-name-case-convert 'identity) |
| 2571 | (let* ((bibtex-autokey-name-case-convert 'identity) | 2571 | (bibtex-autokey-name-length 'infty) |
| 2572 | (bibtex-autokey-name-length 'infty) | 2572 | (bibtex-autokey-names 1) |
| 2573 | (bibtex-autokey-names 1) | 2573 | (bibtex-autokey-names-stretch 0) |
| 2574 | (bibtex-autokey-names-stretch 0) | 2574 | (bibtex-autokey-name-separator " ") |
| 2575 | (bibtex-autokey-name-separator " ") | 2575 | (bibtex-autokey-additional-names " etal") |
| 2576 | (bibtex-autokey-additional-names " etal") | 2576 | (names (bibtex-autokey-get-names)) |
| 2577 | (names (bibtex-autokey-get-names)) | 2577 | (bibtex-autokey-year-length 4) |
| 2578 | (bibtex-autokey-year-length 4) | 2578 | (year (bibtex-autokey-get-year)) |
| 2579 | (year (bibtex-autokey-get-year)) | 2579 | (bibtex-autokey-titlewords 5) |
| 2580 | (bibtex-autokey-titlewords 5) | 2580 | (bibtex-autokey-titlewords-stretch 2) |
| 2581 | (bibtex-autokey-titlewords-stretch 2) | 2581 | (bibtex-autokey-titleword-case-convert 'identity) |
| 2582 | (bibtex-autokey-titleword-case-convert 'identity) | 2582 | (bibtex-autokey-titleword-length 5) |
| 2583 | (bibtex-autokey-titleword-length 5) | 2583 | (bibtex-autokey-titleword-separator " ") |
| 2584 | (bibtex-autokey-titleword-separator " ") | 2584 | (title (bibtex-autokey-get-title)) |
| 2585 | (title (bibtex-autokey-get-title)) | 2585 | (journal (bibtex-autokey-get-field |
| 2586 | (journal (bibtex-autokey-get-field | 2586 | "journal" bibtex-autokey-transcriptions)) |
| 2587 | "journal" bibtex-autokey-transcriptions)) | 2587 | (volume (bibtex-autokey-get-field "volume")) |
| 2588 | (volume (bibtex-autokey-get-field "volume")) | 2588 | (pages (bibtex-autokey-get-field "pages" '(("-.*\\'" . ""))))) |
| 2589 | (pages (bibtex-autokey-get-field "pages" '(("-.*\\'" . ""))))) | 2589 | (mapconcat (lambda (arg) |
| 2590 | (mapconcat (lambda (arg) | 2590 | (if (not (string= "" (cdr arg))) |
| 2591 | (if (not (string= "" (cdr arg))) | 2591 | (concat (car arg) (cdr arg)))) |
| 2592 | (concat (car arg) (cdr arg)))) | 2592 | `((" " . ,names) (" " . ,year) (": " . ,title) |
| 2593 | `((" " . ,names) (" " . ,year) (": " . ,title) | 2593 | (", " . ,journal) (" " . ,volume) (":" . ,pages)) |
| 2594 | (", " . ,journal) (" " . ,volume) (":" . ,pages)) | 2594 | "")) |
| 2595 | "")) | 2595 | (error "Entry not found"))) |
| 2596 | (error "Entry not found")))) | ||
| 2597 | 2596 | ||
| 2598 | (defun bibtex-pop (arg direction) | 2597 | (defun bibtex-pop (arg direction) |
| 2599 | "Fill current field from the ARGth same field's text in DIRECTION. | 2598 | "Fill current field from the ARGth same field's text in DIRECTION. |
| @@ -3950,9 +3949,9 @@ If optional arg MOVE is non-nil move point to end of field." | |||
| 3950 | (insert " ") | 3949 | (insert " ") |
| 3951 | (indent-to-column bibtex-text-indentation))) | 3950 | (indent-to-column bibtex-text-indentation))) |
| 3952 | (re-search-forward "[ \t\n]*=[ \t\n]*" end-field)) | 3951 | (re-search-forward "[ \t\n]*=[ \t\n]*" end-field)) |
| 3953 | (while (re-search-forward "[ \t\n]+" end-field 'move) | 3952 | ;; Paragraphs within fields are not preserved. Bother? |
| 3954 | (replace-match " ")) | 3953 | (fill-region-as-paragraph (line-beginning-position) end-field |
| 3955 | (do-auto-fill) | 3954 | default-justification nil (point)) |
| 3956 | (if move (goto-char end-field)))) | 3955 | (if move (goto-char end-field)))) |
| 3957 | 3956 | ||
| 3958 | (defun bibtex-fill-field (&optional justify) | 3957 | (defun bibtex-fill-field (&optional justify) |
| @@ -3992,13 +3991,14 @@ If `bibtex-align-at-equal-sign' is non-nil, align equal signs, too." | |||
| 3992 | (defun bibtex-realign () | 3991 | (defun bibtex-realign () |
| 3993 | "Realign BibTeX entries such that they are separated by one blank line." | 3992 | "Realign BibTeX entries such that they are separated by one blank line." |
| 3994 | (goto-char (point-min)) | 3993 | (goto-char (point-min)) |
| 3995 | (let ((case-fold-search t)) | 3994 | (let ((case-fold-search t) |
| 3995 | (valid-entry (concat "[ \t\n]*\\(" bibtex-valid-entry-re "\\)"))) | ||
| 3996 | ;; No blank lines prior to the first valid entry if there no | 3996 | ;; No blank lines prior to the first valid entry if there no |
| 3997 | ;; non-white characters in front of it. | 3997 | ;; non-white characters in front of it. |
| 3998 | (when (looking-at bibtex-valid-entry-whitespace-re) | 3998 | (when (looking-at valid-entry) |
| 3999 | (replace-match "\\1")) | 3999 | (replace-match "\\1")) |
| 4000 | ;; Valid entries are separated by one blank line. | 4000 | ;; Valid entries are separated by one blank line. |
| 4001 | (while (re-search-forward bibtex-valid-entry-whitespace-re nil t) | 4001 | (while (re-search-forward valid-entry nil t) |
| 4002 | (replace-match "\n\n\\1")) | 4002 | (replace-match "\n\n\\1")) |
| 4003 | ;; One blank line past the last valid entry if it is followed by | 4003 | ;; One blank line past the last valid entry if it is followed by |
| 4004 | ;; non-white characters, no blank line otherwise. | 4004 | ;; non-white characters, no blank line otherwise. |
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el index 151a32c60a9..bd91e2b9b3d 100644 --- a/lisp/textmodes/flyspell.el +++ b/lisp/textmodes/flyspell.el | |||
| @@ -536,6 +536,7 @@ in your .emacs file. | |||
| 536 | ;*---------------------------------------------------------------------*/ | 536 | ;*---------------------------------------------------------------------*/ |
| 537 | (defun flyspell-mode-on () | 537 | (defun flyspell-mode-on () |
| 538 | "Turn Flyspell mode on. Do not use this; use `flyspell-mode' instead." | 538 | "Turn Flyspell mode on. Do not use this; use `flyspell-mode' instead." |
| 539 | (ispell-maybe-find-aspell-dictionaries) | ||
| 539 | (setq ispell-highlight-face 'flyspell-incorrect) | 540 | (setq ispell-highlight-face 'flyspell-incorrect) |
| 540 | ;; local dictionaries setup | 541 | ;; local dictionaries setup |
| 541 | (or ispell-local-dictionary ispell-dictionary | 542 | (or ispell-local-dictionary ispell-dictionary |
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el index 8da812dd45a..aeb2e5f87da 100644 --- a/lisp/textmodes/ispell.el +++ b/lisp/textmodes/ispell.el | |||
| @@ -892,7 +892,6 @@ and added as a submenu of the \"Edit\" menu.") | |||
| 892 | 892 | ||
| 893 | (defun ispell-find-aspell-dictionaries () | 893 | (defun ispell-find-aspell-dictionaries () |
| 894 | "Find Aspell's dictionaries, and record in `ispell-dictionary-alist'." | 894 | "Find Aspell's dictionaries, and record in `ispell-dictionary-alist'." |
| 895 | (interactive) | ||
| 896 | (unless ispell-really-aspell | 895 | (unless ispell-really-aspell |
| 897 | (error "This function only works with aspell")) | 896 | (error "This function only works with aspell")) |
| 898 | (let ((dictionaries | 897 | (let ((dictionaries |
| @@ -1528,6 +1527,7 @@ quit spell session exited." | |||
| 1528 | (interactive (list ispell-following-word ispell-quietly current-prefix-arg)) | 1527 | (interactive (list ispell-following-word ispell-quietly current-prefix-arg)) |
| 1529 | (if continue | 1528 | (if continue |
| 1530 | (ispell-continue) | 1529 | (ispell-continue) |
| 1530 | (ispell-maybe-find-aspell-dictionaries) | ||
| 1531 | (ispell-accept-buffer-local-defs) ; use the correct dictionary | 1531 | (ispell-accept-buffer-local-defs) ; use the correct dictionary |
| 1532 | (let ((cursor-location (point)) ; retain cursor location | 1532 | (let ((cursor-location (point)) ; retain cursor location |
| 1533 | (word (ispell-get-word following)) | 1533 | (word (ispell-get-word following)) |
| @@ -2586,6 +2586,7 @@ a new one will be started when needed." | |||
| 2586 | Return nil if spell session is quit, | 2586 | Return nil if spell session is quit, |
| 2587 | otherwise returns shift offset amount for last line processed." | 2587 | otherwise returns shift offset amount for last line processed." |
| 2588 | (interactive "r") ; Don't flag errors on read-only bufs. | 2588 | (interactive "r") ; Don't flag errors on read-only bufs. |
| 2589 | (ispell-maybe-find-aspell-dictionaries) | ||
| 2589 | (if (not recheckp) | 2590 | (if (not recheckp) |
| 2590 | (ispell-accept-buffer-local-defs)) ; set up dictionary, local words, etc. | 2591 | (ispell-accept-buffer-local-defs)) ; set up dictionary, local words, etc. |
| 2591 | (let ((skip-region-start (make-marker)) | 2592 | (let ((skip-region-start (make-marker)) |
| @@ -3547,7 +3548,6 @@ You can bind this to the key C-c i in GNUS or mail by adding to | |||
| 3547 | 3548 | ||
| 3548 | (defun ispell-accept-buffer-local-defs () | 3549 | (defun ispell-accept-buffer-local-defs () |
| 3549 | "Load all buffer-local information, restarting Ispell when necessary." | 3550 | "Load all buffer-local information, restarting Ispell when necessary." |
| 3550 | (ispell-maybe-find-aspell-dictionaries) | ||
| 3551 | (ispell-buffer-local-dict) ; May kill ispell-process. | 3551 | (ispell-buffer-local-dict) ; May kill ispell-process. |
| 3552 | (ispell-buffer-local-words) ; Will initialize ispell-process. | 3552 | (ispell-buffer-local-words) ; Will initialize ispell-process. |
| 3553 | (ispell-buffer-local-parsing)) | 3553 | (ispell-buffer-local-parsing)) |
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el index 23885499828..24267b7b8f2 100644 --- a/lisp/textmodes/tex-mode.el +++ b/lisp/textmodes/tex-mode.el | |||
| @@ -631,7 +631,10 @@ An alternative value is \" . \", if you use a font with a narrow period." | |||
| 631 | (,(concat "^\\(\\\\\\)end *{" verbs "}\\(.?\\)") (1 "|") (3 "<")) | 631 | (,(concat "^\\(\\\\\\)end *{" verbs "}\\(.?\\)") (1 "|") (3 "<")) |
| 632 | ;; ("^\\(\\\\\\)begin *{comment}" 1 "< b") | 632 | ;; ("^\\(\\\\\\)begin *{comment}" 1 "< b") |
| 633 | ;; ("^\\\\end *{comment}.*\\(\n\\)" 1 "> b") | 633 | ;; ("^\\\\end *{comment}.*\\(\n\\)" 1 "> b") |
| 634 | ("\\\\verb\\**\\([^a-z@*]\\)" 1 "\"")))) | 634 | ("\\\\verb\\**\\([^a-z@*]\\)" |
| 635 | ;; Do it last, because it uses syntax-ppss which needs the | ||
| 636 | ;; syntax-table properties of previous entries. | ||
| 637 | 1 (tex-font-lock-verb (match-end 1)))))) | ||
| 635 | 638 | ||
| 636 | (defun tex-font-lock-unfontify-region (beg end) | 639 | (defun tex-font-lock-unfontify-region (beg end) |
| 637 | (font-lock-default-unfontify-region beg end) | 640 | (font-lock-default-unfontify-region beg end) |
| @@ -670,22 +673,38 @@ An alternative value is \" . \", if you use a font with a narrow period." | |||
| 670 | (put 'tex-verbatim-face 'face-alias 'tex-verbatim) | 673 | (put 'tex-verbatim-face 'face-alias 'tex-verbatim) |
| 671 | (defvar tex-verbatim-face 'tex-verbatim) | 674 | (defvar tex-verbatim-face 'tex-verbatim) |
| 672 | 675 | ||
| 676 | (defun tex-font-lock-verb (end) | ||
| 677 | "Place syntax-table properties on the \verb construct. | ||
| 678 | END is the position of the first delimiter after \verb." | ||
| 679 | (unless (nth 8 (syntax-ppss end)) | ||
| 680 | ;; Do nothing if the \verb construct is itself inside a comment or | ||
| 681 | ;; verbatim env. | ||
| 682 | (save-excursion | ||
| 683 | ;; Let's find the end and mark it. | ||
| 684 | ;; We used to do it inside tex-font-lock-syntactic-face-function, but | ||
| 685 | ;; this leads to funny effects when jumping to the end of the buffer, | ||
| 686 | ;; because font-lock applies font-lock-syntactic-keywords to the whole | ||
| 687 | ;; preceding text but font-lock-syntactic-face-function only to the | ||
| 688 | ;; actually displayed text. | ||
| 689 | (goto-char end) | ||
| 690 | (let ((char (char-before))) | ||
| 691 | (skip-chars-forward (string ?^ char)) ;; Use `end' ? | ||
| 692 | (when (eq (char-syntax (preceding-char)) ?/) | ||
| 693 | (put-text-property (1- (point)) (point) 'syntax-table '(1))) | ||
| 694 | (unless (eobp) | ||
| 695 | (put-text-property (point) (1+ (point)) 'syntax-table '(7)) | ||
| 696 | ;; Cause the rest of the buffer to be re-fontified. | ||
| 697 | ;; (remove-text-properties (1+ (point)) (point-max) '(fontified)) | ||
| 698 | ))) | ||
| 699 | "\"")) | ||
| 700 | |||
| 673 | ;; Use string syntax but math face for $...$. | 701 | ;; Use string syntax but math face for $...$. |
| 674 | (defun tex-font-lock-syntactic-face-function (state) | 702 | (defun tex-font-lock-syntactic-face-function (state) |
| 675 | (let ((char (nth 3 state))) | 703 | (let ((char (nth 3 state))) |
| 676 | (cond | 704 | (cond |
| 677 | ((not char) font-lock-comment-face) | 705 | ((not char) font-lock-comment-face) |
| 678 | ((eq char ?$) tex-math-face) | 706 | ((eq char ?$) tex-math-face) |
| 679 | (t | 707 | (t tex-verbatim-face)))) |
| 680 | (when (characterp char) | ||
| 681 | ;; This is a \verb?...? construct. Let's find the end and mark it. | ||
| 682 | (save-excursion | ||
| 683 | (skip-chars-forward (string ?^ char)) ;; Use `end' ? | ||
| 684 | (when (eq (char-syntax (preceding-char)) ?/) | ||
| 685 | (put-text-property (1- (point)) (point) 'syntax-table '(1))) | ||
| 686 | (unless (eobp) | ||
| 687 | (put-text-property (point) (1+ (point)) 'syntax-table '(7))))) | ||
| 688 | tex-verbatim-face)))) | ||
| 689 | 708 | ||
| 690 | 709 | ||
| 691 | (defun tex-define-common-keys (keymap) | 710 | (defun tex-define-common-keys (keymap) |
diff --git a/lisp/toolbar/rescan.pbm b/lisp/toolbar/rescan.pbm deleted file mode 100644 index a373ee8819c..00000000000 --- a/lisp/toolbar/rescan.pbm +++ /dev/null | |||
| Binary files differ | |||
diff --git a/lisp/toolbar/rescan.xpm b/lisp/toolbar/rescan.xpm deleted file mode 100644 index 922b8f4a713..00000000000 --- a/lisp/toolbar/rescan.xpm +++ /dev/null | |||
| @@ -1,35 +0,0 @@ | |||
| 1 | /* XPM */ | ||
| 2 | static char * mail_rescan_xpm[] = { | ||
| 3 | /* columns rows colors chars-per-pixel */ | ||
| 4 | "24 24 6 1", | ||
| 5 | " c None", | ||
| 6 | ". c black", | ||
| 7 | "X c #a5d8a5d89550", | ||
| 8 | "o c #d305d305bc3c", | ||
| 9 | "O c #ea03ea03d271", | ||
| 10 | "+ c #828282827474", | ||
| 11 | /* pixels */ | ||
| 12 | " ", | ||
| 13 | " ", | ||
| 14 | " .............. ", | ||
| 15 | " .XXXXXXXXXXXX.. ", | ||
| 16 | " .XXXXXXXXXXXX.X. ", | ||
| 17 | " .XXXXXXXXXXXX.oo. ", | ||
| 18 | " ..............ooo. ", | ||
| 19 | " .OOOOOOOOOOOO.ooo. ", | ||
| 20 | " .O++++++++++O.ooo. ", | ||
| 21 | " .O+XXXXXXXX+O.ooo. ", | ||
| 22 | " .O+XXXXXXXX+O.ooo. ", | ||
| 23 | " .O+XXXXXXXX+O.ooo. ", | ||
| 24 | " .O+XXXXXXXX+O.ooo. ", | ||
| 25 | " .O++++++++++O.ooo. ", | ||
| 26 | " .OOOOOOOOOOOO.ooo. ", | ||
| 27 | " .O++++++++++O.ooo. ", | ||
| 28 | " .O+XXXXXXXX+O.ooo. ", | ||
| 29 | " .O+XXXXXXXX+O.ooX. ", | ||
| 30 | " .O+XXXXXXXX+O.oo.. ", | ||
| 31 | " .O++++++++++O.o.. ", | ||
| 32 | " ..OOOOOOOOOOOO... ", | ||
| 33 | " ................ ", | ||
| 34 | " ", | ||
| 35 | " "}; | ||
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog index be772251fd5..3eb850f85f3 100644 --- a/lisp/url/ChangeLog +++ b/lisp/url/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2005-10-03 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * url-http.el (url-http-create-request): Avoid incorrect implicit | ||
| 4 | unibyte->multibyte conversion. | ||
| 5 | |||
| 1 | 2005-09-17 Richard M. Stallman <rms@gnu.org> | 6 | 2005-09-17 Richard M. Stallman <rms@gnu.org> |
| 2 | 7 | ||
| 3 | * url-vars.el (url-mail-command): Don't test fboundp of `compose-mail'. | 8 | * url-vars.el (url-mail-command): Don't test fboundp of `compose-mail'. |
diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el index 14f5eab1b16..89b7be42c47 100644 --- a/lisp/url/url-http.el +++ b/lisp/url/url-http.el | |||
| @@ -194,79 +194,92 @@ request. | |||
| 194 | (setq extra-headers (concat extra-headers "\r\n"))) | 194 | (setq extra-headers (concat extra-headers "\r\n"))) |
| 195 | 195 | ||
| 196 | ;; This was done with a call to `format'. Concatting parts has | 196 | ;; This was done with a call to `format'. Concatting parts has |
| 197 | ;; the advantage of keeping the parts of each header togther and | 197 | ;; the advantage of keeping the parts of each header together and |
| 198 | ;; allows us to elide null lines directly, at the cost of making | 198 | ;; allows us to elide null lines directly, at the cost of making |
| 199 | ;; the layout less clear. | 199 | ;; the layout less clear. |
| 200 | (setq request | 200 | (setq request |
| 201 | (concat | 201 | ;; We used to concat directly, but if one of the strings happens |
| 202 | ;; The request | 202 | ;; to being multibyte (even if it only contains pure ASCII) then |
| 203 | (or url-request-method "GET") " " | 203 | ;; every string gets converted with `string-MAKE-multibyte' which |
| 204 | (if proxy-obj (url-recreate-url proxy-obj) real-fname) | 204 | ;; turns the 127-255 codes into things like latin-1 accented chars |
| 205 | " HTTP/" url-http-version "\r\n" | 205 | ;; (it would work right if it used `string-TO-multibyte' instead). |
| 206 | ;; Version of MIME we speak | 206 | ;; So to avoid the problem we force every string to be unibyte. |
| 207 | "MIME-Version: 1.0\r\n" | 207 | (mapconcat |
| 208 | ;; (maybe) Try to keep the connection open | 208 | ;; FIXME: Instead of `string-AS-unibyte' we'd want |
| 209 | "Connection: " (if (or proxy-obj | 209 | ;; `string-to-unibyte', so as to properly signal an error if one |
| 210 | (not url-http-attempt-keepalives)) | 210 | ;; of the strings contains a multibyte char. |
| 211 | "close" "keep-alive") "\r\n" | 211 | 'string-as-unibyte |
| 212 | ;; HTTP extensions we support | 212 | (delq nil |
| 213 | (if url-extensions-header | 213 | (list |
| 214 | (format | 214 | ;; The request |
| 215 | "Extension: %s\r\n" url-extensions-header)) | 215 | (or url-request-method "GET") " " |
| 216 | ;; Who we want to talk to | 216 | (if proxy-obj (url-recreate-url proxy-obj) real-fname) |
| 217 | (if (/= (url-port (or proxy-obj url)) | 217 | " HTTP/" url-http-version "\r\n" |
| 218 | (url-scheme-get-property | 218 | ;; Version of MIME we speak |
| 219 | (url-type (or proxy-obj url)) 'default-port)) | 219 | "MIME-Version: 1.0\r\n" |
| 220 | (format | 220 | ;; (maybe) Try to keep the connection open |
| 221 | "Host: %s:%d\r\n" host (url-port (or proxy-obj url))) | 221 | "Connection: " (if (or proxy-obj |
| 222 | (format "Host: %s\r\n" host)) | 222 | (not url-http-attempt-keepalives)) |
| 223 | ;; Who its from | 223 | "close" "keep-alive") "\r\n" |
| 224 | (if url-personal-mail-address | 224 | ;; HTTP extensions we support |
| 225 | (concat | 225 | (if url-extensions-header |
| 226 | "From: " url-personal-mail-address "\r\n")) | 226 | (format |
| 227 | ;; Encodings we understand | 227 | "Extension: %s\r\n" url-extensions-header)) |
| 228 | (if url-mime-encoding-string | 228 | ;; Who we want to talk to |
| 229 | (concat | 229 | (if (/= (url-port (or proxy-obj url)) |
| 230 | "Accept-encoding: " url-mime-encoding-string "\r\n")) | 230 | (url-scheme-get-property |
| 231 | (if url-mime-charset-string | 231 | (url-type (or proxy-obj url)) 'default-port)) |
| 232 | (concat | 232 | (format |
| 233 | "Accept-charset: " url-mime-charset-string "\r\n")) | 233 | "Host: %s:%d\r\n" host (url-port (or proxy-obj url))) |
| 234 | ;; Languages we understand | 234 | (format "Host: %s\r\n" host)) |
| 235 | (if url-mime-language-string | 235 | ;; Who its from |
| 236 | (concat | 236 | (if url-personal-mail-address |
| 237 | "Accept-language: " url-mime-language-string "\r\n")) | 237 | (concat |
| 238 | ;; Types we understand | 238 | "From: " url-personal-mail-address "\r\n")) |
| 239 | "Accept: " (or url-mime-accept-string "*/*") "\r\n" | 239 | ;; Encodings we understand |
| 240 | ;; User agent | 240 | (if url-mime-encoding-string |
| 241 | (url-http-user-agent-string) | 241 | (concat |
| 242 | ;; Proxy Authorization | 242 | "Accept-encoding: " url-mime-encoding-string "\r\n")) |
| 243 | proxy-auth | 243 | (if url-mime-charset-string |
| 244 | ;; Authorization | 244 | (concat |
| 245 | auth | 245 | "Accept-charset: " url-mime-charset-string "\r\n")) |
| 246 | ;; Cookies | 246 | ;; Languages we understand |
| 247 | (url-cookie-generate-header-lines host real-fname | 247 | (if url-mime-language-string |
| 248 | (equal "https" (url-type url))) | 248 | (concat |
| 249 | ;; If-modified-since | 249 | "Accept-language: " url-mime-language-string "\r\n")) |
| 250 | (if (and (not no-cache) | 250 | ;; Types we understand |
| 251 | (member url-request-method '("GET" nil))) | 251 | "Accept: " (or url-mime-accept-string "*/*") "\r\n" |
| 252 | (let ((tm (url-is-cached (or proxy-obj url)))) | 252 | ;; User agent |
| 253 | (if tm | 253 | (url-http-user-agent-string) |
| 254 | (concat "If-modified-since: " | 254 | ;; Proxy Authorization |
| 255 | (url-get-normalized-date tm) "\r\n")))) | 255 | proxy-auth |
| 256 | ;; Whence we came | 256 | ;; Authorization |
| 257 | (if ref-url (concat | 257 | auth |
| 258 | "Referer: " ref-url "\r\n")) | 258 | ;; Cookies |
| 259 | extra-headers | 259 | (url-cookie-generate-header-lines host real-fname |
| 260 | ;; Length of data | 260 | (equal "https" (url-type url))) |
| 261 | (if url-request-data | 261 | ;; If-modified-since |
| 262 | (concat | 262 | (if (and (not no-cache) |
| 263 | "Content-length: " (number-to-string | 263 | (member url-request-method '("GET" nil))) |
| 264 | (length url-request-data)) | 264 | (let ((tm (url-is-cached (or proxy-obj url)))) |
| 265 | "\r\n")) | 265 | (if tm |
| 266 | ;; End request | 266 | (concat "If-modified-since: " |
| 267 | "\r\n" | 267 | (url-get-normalized-date tm) "\r\n")))) |
| 268 | ;; Any data | 268 | ;; Whence we came |
| 269 | url-request-data)) | 269 | (if ref-url (concat |
| 270 | "Referer: " ref-url "\r\n")) | ||
| 271 | extra-headers | ||
| 272 | ;; Length of data | ||
| 273 | (if url-request-data | ||
| 274 | (concat | ||
| 275 | "Content-length: " (number-to-string | ||
| 276 | (length url-request-data)) | ||
| 277 | "\r\n")) | ||
| 278 | ;; End request | ||
| 279 | "\r\n" | ||
| 280 | ;; Any data | ||
| 281 | url-request-data)) | ||
| 282 | "")) | ||
| 270 | (url-http-debug "Request is: \n%s" request) | 283 | (url-http-debug "Request is: \n%s" request) |
| 271 | request)) | 284 | request)) |
| 272 | 285 | ||
diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el index b6ce0aa0f67..c35a602e70c 100644 --- a/lisp/wid-edit.el +++ b/lisp/wid-edit.el | |||
| @@ -58,6 +58,8 @@ | |||
| 58 | 58 | ||
| 59 | ;;; Code: | 59 | ;;; Code: |
| 60 | 60 | ||
| 61 | (defvar widget) | ||
| 62 | |||
| 61 | ;;; Compatibility. | 63 | ;;; Compatibility. |
| 62 | 64 | ||
| 63 | (defun widget-event-point (event) | 65 | (defun widget-event-point (event) |
| @@ -3028,12 +3030,12 @@ It will read a file name from the minibuffer when invoked." | |||
| 3028 | "Perform completion on file name preceding point." | 3030 | "Perform completion on file name preceding point." |
| 3029 | (interactive) | 3031 | (interactive) |
| 3030 | (let* ((end (point)) | 3032 | (let* ((end (point)) |
| 3031 | (beg (save-excursion | 3033 | (beg (widget-field-start widget)) |
| 3032 | (skip-chars-backward "^ ") | ||
| 3033 | (point))) | ||
| 3034 | (pattern (buffer-substring beg end)) | 3034 | (pattern (buffer-substring beg end)) |
| 3035 | (name-part (file-name-nondirectory pattern)) | 3035 | (name-part (file-name-nondirectory pattern)) |
| 3036 | (directory (file-name-directory pattern)) | 3036 | ;; I think defaulting to root is right |
| 3037 | ;; because these really should be absolute file names. | ||
| 3038 | (directory (or (file-name-directory pattern) "/")) | ||
| 3037 | (completion (file-name-completion name-part directory))) | 3039 | (completion (file-name-completion name-part directory))) |
| 3038 | (cond ((eq completion t)) | 3040 | (cond ((eq completion t)) |
| 3039 | ((null completion) | 3041 | ((null completion) |
diff --git a/lisp/x-dnd.el b/lisp/x-dnd.el index 612e033c4cb..88a39ea679e 100644 --- a/lisp/x-dnd.el +++ b/lisp/x-dnd.el | |||
| @@ -307,13 +307,17 @@ nil if not." | |||
| 307 | (action (aref state 5)) | 307 | (action (aref state 5)) |
| 308 | (w (posn-window (event-start event)))) | 308 | (w (posn-window (event-start event)))) |
| 309 | (when handler | 309 | (when handler |
| 310 | (if (and (windowp w) (window-live-p w)) | 310 | (if (and (windowp w) (window-live-p w) |
| 311 | ;; If dropping in a window, open files in that window rather | 311 | (not (window-minibuffer-p w)) |
| 312 | ;; than in a new widow. | 312 | (not (window-dedicated-p w))) |
| 313 | (let ((dnd-open-file-other-window nil)) | 313 | ;; If dropping in an ordinary window which we could use, |
| 314 | ;; let dnd-open-file-other-window specify what to do. | ||
| 315 | (progn | ||
| 314 | (goto-char (posn-point (event-start event))) | 316 | (goto-char (posn-point (event-start event))) |
| 315 | (funcall handler window action data)) | 317 | (funcall handler window action data)) |
| 316 | (let ((dnd-open-file-other-window t)) ;; Dropping on non-window. | 318 | ;; If we can't display the file here, |
| 319 | ;; make a new window for it. | ||
| 320 | (let ((dnd-open-file-other-window t)) | ||
| 317 | (select-frame frame) | 321 | (select-frame frame) |
| 318 | (funcall handler window action data)))))) | 322 | (funcall handler window action data)))))) |
| 319 | 323 | ||
diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 6e8f20024d2..c07a955b1c9 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog | |||
| @@ -1,3 +1,18 @@ | |||
| 1 | 2005-10-04 Kim F. Storm <storm@cua.dk> | ||
| 2 | |||
| 3 | * windows.texi (Window Split Tree): New section describing | ||
| 4 | new function window-split-tree function. | ||
| 5 | |||
| 6 | 2005-10-03 Nick Roberts <nickrob@snap.net.nz> | ||
| 7 | |||
| 8 | * display.texi (Fringe Size/Pos): Simplify and add detail. | ||
| 9 | |||
| 10 | 2005-09-30 Romain Francoise <romain@orebokech.com> | ||
| 11 | |||
| 12 | * minibuf.texi (High-Level Completion): Explain that the prompt | ||
| 13 | given to `read-buffer' should end with a colon and a space. | ||
| 14 | Update usage examples. | ||
| 15 | |||
| 1 | 2005-09-29 Juri Linkov <juri@jurta.org> | 16 | 2005-09-29 Juri Linkov <juri@jurta.org> |
| 2 | 17 | ||
| 3 | * display.texi (Displaying Messages): Rename argument name | 18 | * display.texi (Displaying Messages): Rename argument name |
diff --git a/lispref/display.texi b/lispref/display.texi index ae346986fa3..93a14f1a139 100644 --- a/lispref/display.texi +++ b/lispref/display.texi | |||
| @@ -2730,23 +2730,25 @@ continuation, horizontal scrolling, and the overlay arrow. | |||
| 2730 | @node Fringe Size/Pos | 2730 | @node Fringe Size/Pos |
| 2731 | @subsection Fringe Size and Position | 2731 | @subsection Fringe Size and Position |
| 2732 | 2732 | ||
| 2733 | Here's how to control the position and width of the window fringes. | 2733 | The following buffer-local variables control the position and width |
| 2734 | of the window fringes. | ||
| 2734 | 2735 | ||
| 2735 | @defvar fringes-outside-margins | 2736 | @defvar fringes-outside-margins |
| 2736 | If the value is non-@code{nil}, the frames appear outside the display | 2737 | The fringes normally appear between the display margins and the window |
| 2737 | margins. The fringes normally appear between the display margins and | 2738 | text. If the value is non-@code{nil}, they appear outside the display |
| 2738 | the window text. It works to set @code{fringes-outside-margins} | 2739 | margins. @xref{Display Margins}. |
| 2739 | buffer-locally. @xref{Display Margins}. | ||
| 2740 | @end defvar | 2740 | @end defvar |
| 2741 | 2741 | ||
| 2742 | @defvar left-fringe-width | 2742 | @defvar left-fringe-width |
| 2743 | This variable, if non-@code{nil}, specifies the width of the left | 2743 | This variable, if non-@code{nil}, specifies the width of the left |
| 2744 | fringe in pixels. | 2744 | fringe in pixels. A value of @code{nil} means to use the left fringe |
| 2745 | width from the window's frame. | ||
| 2745 | @end defvar | 2746 | @end defvar |
| 2746 | 2747 | ||
| 2747 | @defvar right-fringe-width | 2748 | @defvar right-fringe-width |
| 2748 | This variable, if non-@code{nil}, specifies the width of the right | 2749 | This variable, if non-@code{nil}, specifies the width of the right |
| 2749 | fringe in pixels. | 2750 | fringe in pixels. A value of @code{nil} means to use the right fringe |
| 2751 | width from the window's frame. | ||
| 2750 | @end defvar | 2752 | @end defvar |
| 2751 | 2753 | ||
| 2752 | The values of these variables take effect when you display the | 2754 | The values of these variables take effect when you display the |
diff --git a/lispref/minibuf.texi b/lispref/minibuf.texi index 04443c493f3..bc2342fc18e 100644 --- a/lispref/minibuf.texi +++ b/lispref/minibuf.texi | |||
| @@ -1044,6 +1044,11 @@ return if the user exits with an empty minibuffer. If non-@code{nil}, | |||
| 1044 | it should be a string or a buffer. It is mentioned in the prompt, but | 1044 | it should be a string or a buffer. It is mentioned in the prompt, but |
| 1045 | is not inserted in the minibuffer as initial input. | 1045 | is not inserted in the minibuffer as initial input. |
| 1046 | 1046 | ||
| 1047 | The argument @var{prompt} should be a string ending with a colon and a | ||
| 1048 | space. If @var{default} is non-@code{nil}, the function inserts it in | ||
| 1049 | @var{prompt} before the colon to follow the convention for reading from | ||
| 1050 | the minibuffer with a default value (@pxref{Programming Tips}). | ||
| 1051 | |||
| 1047 | If @var{existing} is non-@code{nil}, then the name specified must be | 1052 | If @var{existing} is non-@code{nil}, then the name specified must be |
| 1048 | that of an existing buffer. The usual commands to exit the minibuffer | 1053 | that of an existing buffer. The usual commands to exit the minibuffer |
| 1049 | do not exit if the text is not valid, and @key{RET} does completion to | 1054 | do not exit if the text is not valid, and @key{RET} does completion to |
| @@ -1058,7 +1063,7 @@ only buffer name starting with the given input is | |||
| 1058 | @samp{minibuffer.texi}, so that name is the value. | 1063 | @samp{minibuffer.texi}, so that name is the value. |
| 1059 | 1064 | ||
| 1060 | @example | 1065 | @example |
| 1061 | (read-buffer "Buffer name? " "foo" t) | 1066 | (read-buffer "Buffer name: " "foo" t) |
| 1062 | @group | 1067 | @group |
| 1063 | ;; @r{After evaluation of the preceding expression,} | 1068 | ;; @r{After evaluation of the preceding expression,} |
| 1064 | ;; @r{the following prompt appears,} | 1069 | ;; @r{the following prompt appears,} |
| @@ -1067,7 +1072,7 @@ only buffer name starting with the given input is | |||
| 1067 | 1072 | ||
| 1068 | @group | 1073 | @group |
| 1069 | ---------- Buffer: Minibuffer ---------- | 1074 | ---------- Buffer: Minibuffer ---------- |
| 1070 | Buffer name? (default foo) @point{} | 1075 | Buffer name (default foo): @point{} |
| 1071 | ---------- Buffer: Minibuffer ---------- | 1076 | ---------- Buffer: Minibuffer ---------- |
| 1072 | @end group | 1077 | @end group |
| 1073 | 1078 | ||
diff --git a/lispref/windows.texi b/lispref/windows.texi index 01e33f1c0d4..c806577c4b8 100644 --- a/lispref/windows.texi +++ b/lispref/windows.texi | |||
| @@ -30,6 +30,7 @@ displayed in windows. | |||
| 30 | * Size of Window:: Accessing the size of a window. | 30 | * Size of Window:: Accessing the size of a window. |
| 31 | * Resizing Windows:: Changing the size of a window. | 31 | * Resizing Windows:: Changing the size of a window. |
| 32 | * Coordinates and Windows:: Converting coordinates to windows. | 32 | * Coordinates and Windows:: Converting coordinates to windows. |
| 33 | * Window Split Tree:: The layout and sizes of all windows in a frame. | ||
| 33 | * Window Configurations:: Saving and restoring the state of the screen. | 34 | * Window Configurations:: Saving and restoring the state of the screen. |
| 34 | * Window Hooks:: Hooks for scrolling, window size changes, | 35 | * Window Hooks:: Hooks for scrolling, window size changes, |
| 35 | redisplay going past a certain point, | 36 | redisplay going past a certain point, |
| @@ -2167,6 +2168,32 @@ The function @code{coordinates-in-window-p} does not require a frame as | |||
| 2167 | argument because it always uses the frame that @var{window} is on. | 2168 | argument because it always uses the frame that @var{window} is on. |
| 2168 | @end defun | 2169 | @end defun |
| 2169 | 2170 | ||
| 2171 | @node Window Split Tree | ||
| 2172 | @section The Window Split Tree | ||
| 2173 | @cindex window split tree | ||
| 2174 | |||
| 2175 | A @dfn{window split tree} specifies the layout, size, and relationship | ||
| 2176 | between all windows in one frame. | ||
| 2177 | |||
| 2178 | @defun split-window-tree &optional frame | ||
| 2179 | This function returns the window split tree for frame @var{frame}. | ||
| 2180 | If @var{frame} is omitted, the selected frame is used. | ||
| 2181 | |||
| 2182 | The return value is a list of the form @code{(@var{root} @var{mini})}, | ||
| 2183 | where @var{root} represents the window split tree of the frame's | ||
| 2184 | root window, and @var{mini} is the frame's minibuffer window. | ||
| 2185 | |||
| 2186 | If the root window is not split, @var{root} is the root window itself. | ||
| 2187 | Otherwise, @var{root} is a list @code{(@var{dir} @var{edges} @var{w1} | ||
| 2188 | @var{w2} ...)} where @var{dir} is @code{nil} for a horisontal split, | ||
| 2189 | and @code{t} for a vertical split, @var{edges} gives the combined size and | ||
| 2190 | position of the subwindows in the split, and the rest of the elements | ||
| 2191 | are the subwindows in the split. Each of the subwindows may again be | ||
| 2192 | a window or a list representing a window split, and so on. The | ||
| 2193 | @var{edges} element is a list @code{(@var{left}@var{ top}@var{ right}@var{ bottom})} | ||
| 2194 | similar to the value returned by @code{window-edges}. | ||
| 2195 | @end defun | ||
| 2196 | |||
| 2170 | @node Window Configurations | 2197 | @node Window Configurations |
| 2171 | @section Window Configurations | 2198 | @section Window Configurations |
| 2172 | @cindex window configurations | 2199 | @cindex window configurations |
diff --git a/man/ChangeLog b/man/ChangeLog index be1837d9cbf..c2dbbc22328 100644 --- a/man/ChangeLog +++ b/man/ChangeLog | |||
| @@ -1,3 +1,22 @@ | |||
| 1 | 2005-10-07 Nick Roberts <nickrob@snap.net.nz> | ||
| 2 | |||
| 3 | * building.texi (GDB Graphical Interface): Add variables and | ||
| 4 | functions to indices. Be more precise. | ||
| 5 | |||
| 6 | 2005-10-05 Nick Roberts <nickrob@snap.net.nz> | ||
| 7 | |||
| 8 | * speedbar.texi (GDB): Describe use of watch expressions. | ||
| 9 | |||
| 10 | 2005-10-03 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 11 | |||
| 12 | * frames.texi (Drag and Drop): Remove the x- from | ||
| 13 | x-dnd-open-file-other-window and xdnd-protocol-alist. | ||
| 14 | |||
| 15 | 2005-09-30 Romain Francoise <romain@orebokech.com> | ||
| 16 | |||
| 17 | * mini.texi (Minibuffer): The default value now appears before the | ||
| 18 | colon in minibuffer prompts. | ||
| 19 | |||
| 1 | 2005-09-28 Simon Josefsson <jas@extundo.com> | 20 | 2005-09-28 Simon Josefsson <jas@extundo.com> |
| 2 | 21 | ||
| 3 | * message.texi (IDNA): Fix. | 22 | * message.texi (IDNA): Fix. |
diff --git a/man/building.texi b/man/building.texi index 30daa8def26..a9a3cc049c7 100644 --- a/man/building.texi +++ b/man/building.texi | |||
| @@ -749,6 +749,8 @@ ignores any numeric argument. | |||
| 749 | @node GDB Graphical Interface | 749 | @node GDB Graphical Interface |
| 750 | @subsection GDB Graphical Interface | 750 | @subsection GDB Graphical Interface |
| 751 | 751 | ||
| 752 | @findex gdb-mouse-set-clear-breakpoint | ||
| 753 | @findex gdb-mouse-toggle-breakpoint | ||
| 752 | By default, the command @code{gdb} starts GDB using a graphical | 754 | By default, the command @code{gdb} starts GDB using a graphical |
| 753 | interface where you view and control the program's data using Emacs | 755 | interface where you view and control the program's data using Emacs |
| 754 | windows. You can still interact with GDB through the GUD buffer, but | 756 | windows. You can still interact with GDB through the GUD buffer, but |
| @@ -854,7 +856,7 @@ relevant line. This is red when the breakpoint is enabled and grey | |||
| 854 | when it is disabled. Text-only terminals correspondingly display | 856 | when it is disabled. Text-only terminals correspondingly display |
| 855 | a @samp{B} or @samp{b}. | 857 | a @samp{B} or @samp{b}. |
| 856 | 858 | ||
| 857 | @item @kbd{d} | 859 | @item d |
| 858 | @kindex d @r{(GDB breakpoints buffer)} | 860 | @kindex d @r{(GDB breakpoints buffer)} |
| 859 | @findex gdb-delete-breakpoint | 861 | @findex gdb-delete-breakpoint |
| 860 | Delete the breakpoint at the current line (@code{gdb-delete-breakpoint}). | 862 | Delete the breakpoint at the current line (@code{gdb-delete-breakpoint}). |
| @@ -874,17 +876,19 @@ The stack buffer displays a @dfn{call stack}, with one line for each | |||
| 874 | of the nested subroutine calls (@dfn{stack frames}) now active in the | 876 | of the nested subroutine calls (@dfn{stack frames}) now active in the |
| 875 | program. @xref{Backtrace,,info stack, gdb, The GNU debugger}. | 877 | program. @xref{Backtrace,,info stack, gdb, The GNU debugger}. |
| 876 | 878 | ||
| 877 | The selected frame is displayed in reverse contrast. Move point to | 879 | @findex gdb-frames-select |
| 878 | any frame in the stack and type @key{RET} to select it (@code{gdb-frames-select}) | 880 | The selected frame number is displayed in reverse contrast. Move |
| 879 | and display the associated source in the source buffer. Alternatively, | 881 | point to any frame in the stack and type @key{RET} to select it |
| 880 | click @kbd{Mouse-2} to make the selected frame become the current one. | 882 | (@code{gdb-frames-select}) and display the associated source in the |
| 881 | If the locals buffer is displayed then its contents update to display | 883 | source buffer. Alternatively, click @kbd{Mouse-2} on a frame to |
| 882 | the variables that are local to the new frame. | 884 | select it. If the locals buffer is displayed then its contents update |
| 885 | to display the variables that are local to the new frame. | ||
| 883 | 886 | ||
| 884 | @node Watch Expressions | 887 | @node Watch Expressions |
| 885 | @subsubsection Watch Expressions | 888 | @subsubsection Watch Expressions |
| 886 | @cindex Watching expressions in GDB | 889 | @cindex Watching expressions in GDB |
| 887 | 890 | ||
| 891 | @findex gud-watch | ||
| 888 | If you want to see how a variable changes each time your program stops | 892 | If you want to see how a variable changes each time your program stops |
| 889 | then place the cursor over the variable name and click on the watch | 893 | then place the cursor over the variable name and click on the watch |
| 890 | icon in the tool bar (@code{gud-watch}). | 894 | icon in the tool bar (@code{gud-watch}). |
| @@ -894,34 +898,37 @@ types, such as arrays, structures and unions are represented in a tree | |||
| 894 | format. To expand or contract a complex data type, click @kbd{Mouse-2} | 898 | format. To expand or contract a complex data type, click @kbd{Mouse-2} |
| 895 | on the tag to the left of the expression. | 899 | on the tag to the left of the expression. |
| 896 | 900 | ||
| 897 | @kindex RET @r{(GDB speedbar)} | ||
| 898 | @findex gdb-var-delete | 901 | @findex gdb-var-delete |
| 899 | With the cursor over the root expression of a complex data type, type | 902 | With the cursor over the root expression of a complex data type, type |
| 900 | @kbd{D} to delete it from the speedbar | 903 | @kbd{D} to delete it from the speedbar |
| 901 | (@code{gdb-var-delete}). | 904 | (@code{gdb-var-delete}). |
| 902 | 905 | ||
| 906 | @kindex RET @r{(GDB speedbar)} | ||
| 903 | @findex gdb-edit-value | 907 | @findex gdb-edit-value |
| 904 | With the cursor over a simple data type or an element of a complex | 908 | With the cursor over a simple data type or an element of a complex |
| 905 | data type which holds a value, type @key{RET} or click @kbd{Mouse-2} to edit | 909 | data type which holds a value, type @key{RET} or click @kbd{Mouse-2} to edit |
| 906 | its value. A prompt for a new value appears in the mini-buffer | 910 | its value. A prompt for a new value appears in the mini-buffer |
| 907 | (@code{gdb-edit-value}). | 911 | (@code{gdb-edit-value}). |
| 908 | 912 | ||
| 913 | @vindex gdb-show-changed-values | ||
| 909 | If you set the variable @code{gdb-show-changed-values} to | 914 | If you set the variable @code{gdb-show-changed-values} to |
| 910 | non-@code{nil} (the default value), then Emacs will use | 915 | non-@code{nil} (the default value), Emacs will use |
| 911 | font-lock-warning-face to display values that have recently changed in | 916 | font-lock-warning-face to display values that have recently changed in |
| 912 | the speedbar. | 917 | the speedbar. |
| 913 | 918 | ||
| 919 | @vindex gdb-use-colon-colon-notation | ||
| 914 | If you set the variable @code{gdb-use-colon-colon-notation} to a | 920 | If you set the variable @code{gdb-use-colon-colon-notation} to a |
| 915 | non-@code{nil} value, then, in C, Emacs will use the | 921 | non-@code{nil} value then, in C, Emacs will use the |
| 916 | FUNCTION::VARIABLE format to display variables in the speedbar. | 922 | @var{function}::@var{variable} format to display variables in the |
| 917 | Since this does not work for variables defined in compound statements, | 923 | speedbar. Since this does not work for variables defined in compound |
| 918 | the default value is @code{nil}. | 924 | statements, the default value is @code{nil}. |
| 919 | 925 | ||
| 920 | @node Other GDB User Interface Buffers | 926 | @node Other GDB User Interface Buffers |
| 921 | @subsubsection Other Buffers | 927 | @subsubsection Other Buffers |
| 922 | 928 | ||
| 923 | @table @asis | 929 | @table @asis |
| 924 | @item Input/Output Buffer | 930 | @item Input/Output Buffer |
| 931 | @vindex gdb-use-inferior-io-buffer | ||
| 925 | If the variable @code{gdb-use-inferior-io-buffer} is non-@code{nil}, | 932 | If the variable @code{gdb-use-inferior-io-buffer} is non-@code{nil}, |
| 926 | the executable program that is being debugged takes its input and | 933 | the executable program that is being debugged takes its input and |
| 927 | displays its output here. Some of the commands from shell mode are | 934 | displays its output here. Some of the commands from shell mode are |
| @@ -936,9 +943,11 @@ Arrays and structures display their type only. You must display them | |||
| 936 | separately to examine their values. @xref{Watch Expressions}. | 943 | separately to examine their values. @xref{Watch Expressions}. |
| 937 | 944 | ||
| 938 | @item Registers Buffer | 945 | @item Registers Buffer |
| 946 | @findex toggle-gdb-all-registers | ||
| 939 | The registers buffer displays the values held by the registers | 947 | The registers buffer displays the values held by the registers |
| 940 | (@pxref{Registers,,, gdb, The GNU debugger}). Press @key{SPC} to | 948 | (@pxref{Registers,,, gdb, The GNU debugger}). Press @key{SPC} to |
| 941 | toggle the display of floating point registers. | 949 | toggle the display of floating point registers |
| 950 | (@code{toggle-gdb-all-registers}). | ||
| 942 | 951 | ||
| 943 | @item Assembler Buffer | 952 | @item Assembler Buffer |
| 944 | The assembler buffer displays the current frame as machine code. An | 953 | The assembler buffer displays the current frame as machine code. An |
| @@ -947,16 +956,16 @@ remove breakpoints as with the source buffer. Breakpoint icons also | |||
| 947 | appear in the fringe or margin. | 956 | appear in the fringe or margin. |
| 948 | 957 | ||
| 949 | @item Threads Buffer | 958 | @item Threads Buffer |
| 950 | 959 | @findex gdb-threads-select | |
| 951 | The threads buffer displays a summary of all threads currently in your | 960 | The threads buffer displays a summary of all threads currently in your |
| 952 | program (@pxref{Threads,,, gdb, The GNU debugger}). Move point to | 961 | program (@pxref{Threads,,, gdb, The GNU debugger}). Move point to any |
| 953 | any thread in the list and press @key{RET} to make it become the | 962 | thread in the list and press @key{RET} to select it |
| 954 | current thread (@code{gdb-threads-select}) and display the associated | 963 | (@code{gdb-threads-select}) and display the associated source in the |
| 955 | source in the source buffer. Alternatively, click @kbd{Mouse-2} to | 964 | source buffer. Alternatively, click @kbd{Mouse-2} on a thread to |
| 956 | make the selected thread become the current one. | 965 | select it. If the locals buffer is displayed then its contents update |
| 966 | to display the variables that are local to the new thread. | ||
| 957 | 967 | ||
| 958 | @item Memory Buffer | 968 | @item Memory Buffer |
| 959 | |||
| 960 | The memory buffer allows the user to examine sections of program | 969 | The memory buffer allows the user to examine sections of program |
| 961 | memory (@pxref{Memory,,, gdb, The GNU debugger}). Click @kbd{Mouse-1} | 970 | memory (@pxref{Memory,,, gdb, The GNU debugger}). Click @kbd{Mouse-1} |
| 962 | on the appropriate part of the header line to change the starting | 971 | on the appropriate part of the header line to change the starting |
diff --git a/man/ediff.texi b/man/ediff.texi index a9a7e592af4..823219f4a63 100644 --- a/man/ediff.texi +++ b/man/ediff.texi | |||
| @@ -2416,6 +2416,7 @@ Aaron Gross (aaron@@bfr.co.il), | |||
| 2416 | Thorbjoern Hansen (thorbjoern.hansen@@mchp.siemens.de), | 2416 | Thorbjoern Hansen (thorbjoern.hansen@@mchp.siemens.de), |
| 2417 | Marcus Harnisch (marcus_harnisch@@mint-tech.com), | 2417 | Marcus Harnisch (marcus_harnisch@@mint-tech.com), |
| 2418 | Steven E. Harris (seh@@panix.com), | 2418 | Steven E. Harris (seh@@panix.com), |
| 2419 | Aaron S. Hawley (Aaron.Hawley@@uvm.edu), | ||
| 2419 | Xiaoli Huang (hxl@@epic.com), | 2420 | Xiaoli Huang (hxl@@epic.com), |
| 2420 | Andreas Jaeger (aj@@suse.de), | 2421 | Andreas Jaeger (aj@@suse.de), |
| 2421 | Lars Magne Ingebrigtsen (larsi@@ifi.uio.no), | 2422 | Lars Magne Ingebrigtsen (larsi@@ifi.uio.no), |
diff --git a/man/frames.texi b/man/frames.texi index 8e058867fcd..2928aa7a62a 100644 --- a/man/frames.texi +++ b/man/frames.texi | |||
| @@ -857,10 +857,10 @@ case, dropping the file on a Dired buffer moves or copies the file | |||
| 857 | (according to the conventions of the application it came from) into the | 857 | (according to the conventions of the application it came from) into the |
| 858 | directory displayed in that buffer. | 858 | directory displayed in that buffer. |
| 859 | 859 | ||
| 860 | @vindex x-dnd-open-file-other-window | 860 | @vindex dnd-open-file-other-window |
| 861 | Dropping a file normally visits it in the window you drop it on. If | 861 | Dropping a file normally visits it in the window you drop it on. If |
| 862 | you prefer to visit the file in a new window in such cases, customize | 862 | you prefer to visit the file in a new window in such cases, customize |
| 863 | the variable @code{x-dnd-open-file-other-window}. | 863 | the variable @code{dnd-open-file-other-window}. |
| 864 | 864 | ||
| 865 | @ignore | 865 | @ignore |
| 866 | @c ??? To Lisp manual | 866 | @c ??? To Lisp manual |
| @@ -881,10 +881,10 @@ or add a new type, customize @code{x-dnd-types-alist}. This requires | |||
| 881 | detailed knowledge of what types other applications use for drag and | 881 | detailed knowledge of what types other applications use for drag and |
| 882 | drop. | 882 | drop. |
| 883 | 883 | ||
| 884 | @vindex x-dnd-protocol-alist | 884 | @vindex dnd-protocol-alist |
| 885 | When an URL is dropped on Emacs it may be a file, but it may also be | 885 | When an URL is dropped on Emacs it may be a file, but it may also be |
| 886 | another URL type (ftp, http, etc.). Emacs first checks | 886 | another URL type (ftp, http, etc.). Emacs first checks |
| 887 | @code{x-dnd-protocol-alist} to determine what to do with the URL. If | 887 | @code{dnd-protocol-alist} to determine what to do with the URL. If |
| 888 | there is no match there and if @code{browse-url-browser-function} is | 888 | there is no match there and if @code{browse-url-browser-function} is |
| 889 | an alist, Emacs looks for a match there. If no match is found the | 889 | an alist, Emacs looks for a match there. If no match is found the |
| 890 | text for the URL is inserted. If you want to alter Emacs behavior, | 890 | text for the URL is inserted. If you want to alter Emacs behavior, |
diff --git a/man/mini.texi b/man/mini.texi index 3797260f9cc..a76be23ba7d 100644 --- a/man/mini.texi +++ b/man/mini.texi | |||
| @@ -22,7 +22,7 @@ derived from the name of the command that the argument is for. The | |||
| 22 | prompt normally ends with a colon. | 22 | prompt normally ends with a colon. |
| 23 | 23 | ||
| 24 | @cindex default argument | 24 | @cindex default argument |
| 25 | Sometimes a @dfn{default argument} appears in parentheses after the | 25 | Sometimes a @dfn{default argument} appears in parentheses before the |
| 26 | colon; it too is part of the prompt. The default will be used as the | 26 | colon; it too is part of the prompt. The default will be used as the |
| 27 | argument value if you enter an empty argument (that is, just type | 27 | argument value if you enter an empty argument (that is, just type |
| 28 | @key{RET}). For example, commands that read buffer names always show a | 28 | @key{RET}). For example, commands that read buffer names always show a |
diff --git a/man/speedbar.texi b/man/speedbar.texi index 55f33696401..469de905a24 100644 --- a/man/speedbar.texi +++ b/man/speedbar.texi | |||
| @@ -591,9 +591,10 @@ will follow the general rules of their major counterparts in terms of | |||
| 591 | key bindings and visuals, but will have specialized behaviors. | 591 | key bindings and visuals, but will have specialized behaviors. |
| 592 | 592 | ||
| 593 | @menu | 593 | @menu |
| 594 | * RMAIL:: Managing folders in speedbar | 594 | * RMAIL:: Managing folders. |
| 595 | * Info:: Browsing topics in speedbar | 595 | * Info:: Browsing topics. |
| 596 | * GDB:: Managing the current stack trace in speedbar | 596 | * GDB:: Watching expressions or managing the current |
| 597 | stack trace. | ||
| 597 | @end menu | 598 | @end menu |
| 598 | 599 | ||
| 599 | @node RMAIL, Info, Minor Modes, Minor Modes | 600 | @node RMAIL, Info, Minor Modes, Minor Modes |
| @@ -639,7 +640,15 @@ a @samp{[+]}, indicating that there are no sub-topics. | |||
| 639 | @cindex gdb | 640 | @cindex gdb |
| 640 | @cindex gud | 641 | @cindex gud |
| 641 | 642 | ||
| 642 | If you are debugging an application with GDB in Emacs, speedbar can show | 643 | You can debug an application with GDB in Emacs using graphical mode or |
| 644 | text command mode (@pxref{GDB Graphical Interface,,, emacs, The | ||
| 645 | extensible self-documenting text editor}). | ||
| 646 | |||
| 647 | If you are using graphical mode you can see how selected variables | ||
| 648 | change each time your program stops (@pxref{Watch Expressions,,, | ||
| 649 | emacs, The extensible self-documenting text editor}). | ||
| 650 | |||
| 651 | If you are using text command mode, speedbar can show | ||
| 643 | you the current stack when the current buffer is the @file{*gdb*} | 652 | you the current stack when the current buffer is the @file{*gdb*} |
| 644 | buffer. Usually, it will just report that there is no stack, but when | 653 | buffer. Usually, it will just report that there is no stack, but when |
| 645 | the application is stopped, the current stack will be shown. | 654 | the application is stopped, the current stack will be shown. |
diff --git a/src/ChangeLog b/src/ChangeLog index cd25ba97e90..172700a810b 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,107 @@ | |||
| 1 | 2005-10-04 Kim F. Storm <storm@cua.dk> | ||
| 2 | |||
| 3 | * window.c (window_split_tree): New function. | ||
| 4 | (Fwindow_split_tree): New defun. | ||
| 5 | (syms_of_window): Defsubr it. | ||
| 6 | |||
| 7 | 2005-10-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 8 | |||
| 9 | * macterm.c (mac_invert_rectangle): New function. | ||
| 10 | (XTflash): Use it. | ||
| 11 | |||
| 12 | 2005-10-04 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 13 | |||
| 14 | * regex.h (re_char): Don't expose it in the interface. | ||
| 15 | (re_set_whitespace_regexp): Adjust the arg's type to not use it. | ||
| 16 | |||
| 17 | * regex.c (re_char): Move it back here. | ||
| 18 | (re_set_whitespace_regexp): Change the arg's type to not use it. | ||
| 19 | |||
| 20 | * keyboard.c (make_lispy_event): If point has moved between down and up | ||
| 21 | event, make it a drag, not a click, to mirror what | ||
| 22 | mouse-drag-region expects. | ||
| 23 | |||
| 24 | 2005-10-02 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 25 | |||
| 26 | * lisp.h (fatal): Undo previous change. | ||
| 27 | * term.c (fatal): Undo previous change. | ||
| 28 | |||
| 29 | 2005-10-01 Richard M. Stallman <rms@gnu.org> | ||
| 30 | |||
| 31 | * xfaces.c (face_color_gray_p): Colors close to black count as gray. | ||
| 32 | |||
| 33 | 2005-10-01 Kim F. Storm <storm@cua.dk> | ||
| 34 | |||
| 35 | * xdisp.c (try_window): Skip scroll-margin check if ZV is visible. | ||
| 36 | |||
| 37 | 2005-10-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 38 | |||
| 39 | * keyboard.c (init_keyboard) [MAC_OSX]: Don't install SIGINT handler. | ||
| 40 | |||
| 41 | * macfns.c (start_hourglass): Apply 2005-05-07 change for xfns.c. | ||
| 42 | (x_create_tip_frame) [GLYPH_DEBUG]: Uncomment debug code. | ||
| 43 | (Fx_create_frame, x_create_tip_frame) [USE_ATSUI]: | ||
| 44 | Try ATSUI-compatible 12pt Monaco font first. | ||
| 45 | |||
| 46 | * macgui.h (struct _XCharStruct): New member valid_p. | ||
| 47 | (STORE_XCHARSTRUCT): Set valid_p. | ||
| 48 | (struct MacFontStruct) [USE_ATSUI]: New member mac_style. | ||
| 49 | |||
| 50 | * macterm.c (mac_draw_string_common, x_per_char_metric) | ||
| 51 | (mac_compute_glyph_string_overhangs, init_font_name_table) | ||
| 52 | (XLoadQueryFont, mac_unload_font) [USE_ATSUI]: Add ATSUI support. | ||
| 53 | (atsu_get_text_layout_with_text_ptr) [USE_ATSUI]: New function. | ||
| 54 | (x_draw_glyph_string_background) | ||
| 55 | (x_draw_glyph_string_foreground) [MAC_OS8 && USE_ATSUI]: Don't use | ||
| 56 | XDrawImageString. Always draw background and foreground separately. | ||
| 57 | (x_draw_glyph_string_foreground) [USE_ATSUI]: Don't use 8-bit | ||
| 58 | functions for one-byte chars when using ATSUI-compatible fonts. | ||
| 59 | (atsu_font_id_hash) [USE_ATSUI]: New variable. | ||
| 60 | (syms_of_macterm) [USE_ATSUI]: Initialize and staticpro it. | ||
| 61 | (XLoadQueryFont): Set min_byte1, max_byte1, min_char_or_byte2, and | ||
| 62 | max_char_or_byte2 more in detail. | ||
| 63 | (quit_char_comp, mac_check_for_quit_char) [MAC_OSX]: Remove functions. | ||
| 64 | |||
| 65 | 2005-09-30 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 66 | |||
| 67 | * image.c (slurp_file, xbm_read_bitmap_data): Cast to the correct type. | ||
| 68 | * xterm.c (handle_one_xevent, handle_one_xevent): Likewise. | ||
| 69 | |||
| 70 | * unexelf.c (fatal): Fix prototype. | ||
| 71 | |||
| 72 | * term.c (fatal): Implement using varargs. | ||
| 73 | |||
| 74 | * regex.c (re_char): Move typedef ... | ||
| 75 | * regex.h (re_char): ... here. | ||
| 76 | (re_iswctype, re_wctype, re_set_whitespace_regexp): New prototypes. | ||
| 77 | |||
| 78 | * emacs.c (malloc_set_state): Fix return type. | ||
| 79 | (endif): Fix type. | ||
| 80 | |||
| 81 | * lisp.h (fatal): Add argument types. | ||
| 82 | |||
| 83 | * dispextern.h (fatal): Delete prototype. | ||
| 84 | |||
| 85 | * systime.h: (make_time): Prototype moved from ... | ||
| 86 | * editfns.c (make_time): ... here. | ||
| 87 | |||
| 88 | * editfns.c: Move systime.h include after lisp.h. | ||
| 89 | * dired.c: | ||
| 90 | * xsmfns.c: | ||
| 91 | * process.c: Likewise. | ||
| 92 | |||
| 93 | * alloc.c (old_malloc_hook, old_realloc_hook, old_realloc_hook): | ||
| 94 | Add parameter types. | ||
| 95 | (__malloc_hook, __realloc_hook, __free_hook): Fix prototypes. | ||
| 96 | (emacs_blocked_free): Change definition to match __free_hook. | ||
| 97 | (emacs_blocked_malloc): Change definition to match __malloc_hook. | ||
| 98 | (emacs_blocked_realloc): Change definition to match __realloc_hook. | ||
| 99 | |||
| 100 | 2005-09-30 Romain Francoise <romain@orebokech.com> | ||
| 101 | |||
| 102 | * minibuf.c (Fread_buffer): Follow convention for reading from the | ||
| 103 | minibuffer with a default value. Doc fix. | ||
| 104 | |||
| 1 | 2005-09-29 Juri Linkov <juri@jurta.org> | 105 | 2005-09-29 Juri Linkov <juri@jurta.org> |
| 2 | 106 | ||
| 3 | * editfns.c (Fmessage, Fmessage_box, Fmessage_or_box): | 107 | * editfns.c (Fmessage, Fmessage_box, Fmessage_or_box): |
| @@ -48,8 +152,8 @@ | |||
| 48 | 152 | ||
| 49 | 2005-09-23 Dan Nicolaescu <dann@ics.uci.edu> | 153 | 2005-09-23 Dan Nicolaescu <dann@ics.uci.edu> |
| 50 | 154 | ||
| 51 | * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define | 155 | * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): |
| 52 | BROKEN_GET_CURRENT_DIR_NAME. | 156 | Define BROKEN_GET_CURRENT_DIR_NAME. |
| 53 | 157 | ||
| 54 | * sysdep.c (get_current_dir_name): Also define if | 158 | * sysdep.c (get_current_dir_name): Also define if |
| 55 | BROKEN_GET_CURRENT_DIR_NAME. | 159 | BROKEN_GET_CURRENT_DIR_NAME. |
diff --git a/src/alloc.c b/src/alloc.c index 35bdfc8a93a..5d8b1c1a359 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -547,6 +547,21 @@ DEFUN ("memory-full-p", Fmemory_full_p, Smemory_full_p, 0, 0, 0, | |||
| 547 | return (spare_memory ? Qnil : Qt); | 547 | return (spare_memory ? Qnil : Qt); |
| 548 | } | 548 | } |
| 549 | 549 | ||
| 550 | /* If we released our reserve (due to running out of memory), | ||
| 551 | and we have a fair amount free once again, | ||
| 552 | try to set aside another reserve in case we run out once more. | ||
| 553 | |||
| 554 | This is called when a relocatable block is freed in ralloc.c. */ | ||
| 555 | |||
| 556 | void | ||
| 557 | refill_memory_reserve () | ||
| 558 | { | ||
| 559 | #ifndef SYSTEM_MALLOC | ||
| 560 | if (spare_memory == 0) | ||
| 561 | spare_memory = (char *) malloc ((size_t) SPARE_MEMORY); | ||
| 562 | #endif | ||
| 563 | } | ||
| 564 | |||
| 550 | /* Called if we can't allocate relocatable space for a buffer. */ | 565 | /* Called if we can't allocate relocatable space for a buffer. */ |
| 551 | 566 | ||
| 552 | void | 567 | void |
| @@ -1134,20 +1149,6 @@ allocate_buffer () | |||
| 1134 | 1149 | ||
| 1135 | #ifndef SYSTEM_MALLOC | 1150 | #ifndef SYSTEM_MALLOC |
| 1136 | 1151 | ||
| 1137 | /* If we released our reserve (due to running out of memory), | ||
| 1138 | and we have a fair amount free once again, | ||
| 1139 | try to set aside another reserve in case we run out once more. | ||
| 1140 | |||
| 1141 | This is called when a relocatable block is freed in ralloc.c. */ | ||
| 1142 | |||
| 1143 | void | ||
| 1144 | refill_memory_reserve () | ||
| 1145 | { | ||
| 1146 | if (spare_memory == 0) | ||
| 1147 | spare_memory = (char *) malloc ((size_t) SPARE_MEMORY); | ||
| 1148 | } | ||
| 1149 | |||
| 1150 | |||
| 1151 | /* Arranging to disable input signals while we're in malloc. | 1152 | /* Arranging to disable input signals while we're in malloc. |
| 1152 | 1153 | ||
| 1153 | This only works with GNU malloc. To help out systems which can't | 1154 | This only works with GNU malloc. To help out systems which can't |
| @@ -1161,20 +1162,21 @@ refill_memory_reserve () | |||
| 1161 | #ifndef SYNC_INPUT | 1162 | #ifndef SYNC_INPUT |
| 1162 | 1163 | ||
| 1163 | #ifndef DOUG_LEA_MALLOC | 1164 | #ifndef DOUG_LEA_MALLOC |
| 1164 | extern void * (*__malloc_hook) P_ ((size_t)); | 1165 | extern void * (*__malloc_hook) P_ ((size_t, const void *)); |
| 1165 | extern void * (*__realloc_hook) P_ ((void *, size_t)); | 1166 | extern void * (*__realloc_hook) P_ ((void *, size_t, const void *)); |
| 1166 | extern void (*__free_hook) P_ ((void *)); | 1167 | extern void (*__free_hook) P_ ((void *, const void *)); |
| 1167 | /* Else declared in malloc.h, perhaps with an extra arg. */ | 1168 | /* Else declared in malloc.h, perhaps with an extra arg. */ |
| 1168 | #endif /* DOUG_LEA_MALLOC */ | 1169 | #endif /* DOUG_LEA_MALLOC */ |
| 1169 | static void * (*old_malloc_hook) (); | 1170 | static void * (*old_malloc_hook) P_ ((size_t, const void *)); |
| 1170 | static void * (*old_realloc_hook) (); | 1171 | static void * (*old_realloc_hook) P_ ((void *, size_t, const void*)); |
| 1171 | static void (*old_free_hook) (); | 1172 | static void (*old_free_hook) P_ ((void*, const void*)); |
| 1172 | 1173 | ||
| 1173 | /* This function is used as the hook for free to call. */ | 1174 | /* This function is used as the hook for free to call. */ |
| 1174 | 1175 | ||
| 1175 | static void | 1176 | static void |
| 1176 | emacs_blocked_free (ptr) | 1177 | emacs_blocked_free (ptr, ptr2) |
| 1177 | void *ptr; | 1178 | void *ptr; |
| 1179 | const void *ptr2; | ||
| 1178 | { | 1180 | { |
| 1179 | BLOCK_INPUT_ALLOC; | 1181 | BLOCK_INPUT_ALLOC; |
| 1180 | 1182 | ||
| @@ -1221,8 +1223,9 @@ emacs_blocked_free (ptr) | |||
| 1221 | /* This function is the malloc hook that Emacs uses. */ | 1223 | /* This function is the malloc hook that Emacs uses. */ |
| 1222 | 1224 | ||
| 1223 | static void * | 1225 | static void * |
| 1224 | emacs_blocked_malloc (size) | 1226 | emacs_blocked_malloc (size, ptr) |
| 1225 | size_t size; | 1227 | size_t size; |
| 1228 | const void *ptr; | ||
| 1226 | { | 1229 | { |
| 1227 | void *value; | 1230 | void *value; |
| 1228 | 1231 | ||
| @@ -1268,9 +1271,10 @@ emacs_blocked_malloc (size) | |||
| 1268 | /* This function is the realloc hook that Emacs uses. */ | 1271 | /* This function is the realloc hook that Emacs uses. */ |
| 1269 | 1272 | ||
| 1270 | static void * | 1273 | static void * |
| 1271 | emacs_blocked_realloc (ptr, size) | 1274 | emacs_blocked_realloc (ptr, size, ptr2) |
| 1272 | void *ptr; | 1275 | void *ptr; |
| 1273 | size_t size; | 1276 | size_t size; |
| 1277 | const void *ptr2; | ||
| 1274 | { | 1278 | { |
| 1275 | void *value; | 1279 | void *value; |
| 1276 | 1280 | ||
diff --git a/src/dired.c b/src/dired.c index 4725644ee33..eca05cde0db 100644 --- a/src/dired.c +++ b/src/dired.c | |||
| @@ -33,7 +33,6 @@ Boston, MA 02110-1301, USA. */ | |||
| 33 | #include <grp.h> | 33 | #include <grp.h> |
| 34 | #endif | 34 | #endif |
| 35 | 35 | ||
| 36 | #include "systime.h" | ||
| 37 | #include <errno.h> | 36 | #include <errno.h> |
| 38 | 37 | ||
| 39 | #ifdef VMS | 38 | #ifdef VMS |
| @@ -93,6 +92,7 @@ extern struct direct *readdir (); | |||
| 93 | #endif | 92 | #endif |
| 94 | 93 | ||
| 95 | #include "lisp.h" | 94 | #include "lisp.h" |
| 95 | #include "systime.h" | ||
| 96 | #include "buffer.h" | 96 | #include "buffer.h" |
| 97 | #include "commands.h" | 97 | #include "commands.h" |
| 98 | #include "character.h" | 98 | #include "character.h" |
diff --git a/src/dispextern.h b/src/dispextern.h index e6e61ac45fb..db9cd53d042 100644 --- a/src/dispextern.h +++ b/src/dispextern.h | |||
| @@ -2940,7 +2940,6 @@ extern void calculate_costs P_ ((struct frame *)); | |||
| 2940 | extern void set_tty_color_mode P_ ((struct frame *, Lisp_Object)); | 2940 | extern void set_tty_color_mode P_ ((struct frame *, Lisp_Object)); |
| 2941 | extern void tty_setup_colors P_ ((int)); | 2941 | extern void tty_setup_colors P_ ((int)); |
| 2942 | extern void term_init P_ ((char *)); | 2942 | extern void term_init P_ ((char *)); |
| 2943 | extern void fatal P_ ((/* char *, ... */)); | ||
| 2944 | void cursor_to P_ ((int, int)); | 2943 | void cursor_to P_ ((int, int)); |
| 2945 | extern int tty_capable_p P_ ((struct frame *, unsigned, unsigned long, unsigned long)); | 2944 | extern int tty_capable_p P_ ((struct frame *, unsigned, unsigned long, unsigned long)); |
| 2946 | 2945 | ||
diff --git a/src/editfns.c b/src/editfns.c index 2fa6ffcca5c..dad41b3d05d 100644 --- a/src/editfns.c +++ b/src/editfns.c | |||
| @@ -37,6 +37,8 @@ Boston, MA 02110-1301, USA. */ | |||
| 37 | #include <sys/utsname.h> | 37 | #include <sys/utsname.h> |
| 38 | #endif | 38 | #endif |
| 39 | 39 | ||
| 40 | #include "lisp.h" | ||
| 41 | |||
| 40 | /* systime.h includes <sys/time.h> which, on some systems, is required | 42 | /* systime.h includes <sys/time.h> which, on some systems, is required |
| 41 | for <sys/resource.h>; thus systime.h must be included before | 43 | for <sys/resource.h>; thus systime.h must be included before |
| 42 | <sys/resource.h> */ | 44 | <sys/resource.h> */ |
| @@ -48,7 +50,6 @@ Boston, MA 02110-1301, USA. */ | |||
| 48 | 50 | ||
| 49 | #include <ctype.h> | 51 | #include <ctype.h> |
| 50 | 52 | ||
| 51 | #include "lisp.h" | ||
| 52 | #include "intervals.h" | 53 | #include "intervals.h" |
| 53 | #include "buffer.h" | 54 | #include "buffer.h" |
| 54 | #include "character.h" | 55 | #include "character.h" |
| @@ -71,7 +72,6 @@ Boston, MA 02110-1301, USA. */ | |||
| 71 | extern char **environ; | 72 | extern char **environ; |
| 72 | #endif | 73 | #endif |
| 73 | 74 | ||
| 74 | extern Lisp_Object make_time P_ ((time_t)); | ||
| 75 | extern size_t emacs_strftimeu P_ ((char *, size_t, const char *, | 75 | extern size_t emacs_strftimeu P_ ((char *, size_t, const char *, |
| 76 | const struct tm *, int)); | 76 | const struct tm *, int)); |
| 77 | static int tm_diff P_ ((struct tm *, struct tm *)); | 77 | static int tm_diff P_ ((struct tm *, struct tm *)); |
diff --git a/src/emacs.c b/src/emacs.c index c74e729bf6a..a4416354c12 100644 --- a/src/emacs.c +++ b/src/emacs.c | |||
| @@ -148,7 +148,7 @@ void *malloc_state_ptr; | |||
| 148 | /* From glibc, a routine that returns a copy of the malloc internal state. */ | 148 | /* From glibc, a routine that returns a copy of the malloc internal state. */ |
| 149 | extern void *malloc_get_state (); | 149 | extern void *malloc_get_state (); |
| 150 | /* From glibc, a routine that overwrites the malloc internal state. */ | 150 | /* From glibc, a routine that overwrites the malloc internal state. */ |
| 151 | extern void malloc_set_state (); | 151 | extern int malloc_set_state (); |
| 152 | /* Non-zero if the MALLOC_CHECK_ enviroment variable was set while | 152 | /* Non-zero if the MALLOC_CHECK_ enviroment variable was set while |
| 153 | dumping. Used to work around a bug in glibc's malloc. */ | 153 | dumping. Used to work around a bug in glibc's malloc. */ |
| 154 | int malloc_using_checking; | 154 | int malloc_using_checking; |
| @@ -1001,7 +1001,7 @@ main (argc, argv | |||
| 1001 | && !getrlimit (RLIMIT_STACK, &rlim)) | 1001 | && !getrlimit (RLIMIT_STACK, &rlim)) |
| 1002 | { | 1002 | { |
| 1003 | long newlim; | 1003 | long newlim; |
| 1004 | extern int re_max_failures; | 1004 | extern size_t re_max_failures; |
| 1005 | /* Approximate the amount regex.c needs per unit of re_max_failures. */ | 1005 | /* Approximate the amount regex.c needs per unit of re_max_failures. */ |
| 1006 | int ratio = 20 * sizeof (char *); | 1006 | int ratio = 20 * sizeof (char *); |
| 1007 | /* Then add 33% to cover the size of the smaller stacks that regex.c | 1007 | /* Then add 33% to cover the size of the smaller stacks that regex.c |
diff --git a/src/image.c b/src/image.c index bdc78c2d718..3b6969b0c28 100644 --- a/src/image.c +++ b/src/image.c | |||
| @@ -2178,7 +2178,7 @@ slurp_file (file, size) | |||
| 2178 | 2178 | ||
| 2179 | if (stat (file, &st) == 0 | 2179 | if (stat (file, &st) == 0 |
| 2180 | && (fp = fopen (file, "rb")) != NULL | 2180 | && (fp = fopen (file, "rb")) != NULL |
| 2181 | && (buf = (char *) xmalloc (st.st_size), | 2181 | && (buf = (unsigned char *) xmalloc (st.st_size), |
| 2182 | fread (buf, 1, st.st_size, fp) == st.st_size)) | 2182 | fread (buf, 1, st.st_size, fp) == st.st_size)) |
| 2183 | { | 2183 | { |
| 2184 | *size = st.st_size; | 2184 | *size = st.st_size; |
| @@ -3029,7 +3029,7 @@ xbm_read_bitmap_data (contents, end, width, height, data) | |||
| 3029 | 3029 | ||
| 3030 | bytes_per_line = (*width + 7) / 8 + padding_p; | 3030 | bytes_per_line = (*width + 7) / 8 + padding_p; |
| 3031 | nbytes = bytes_per_line * *height; | 3031 | nbytes = bytes_per_line * *height; |
| 3032 | p = *data = (char *) xmalloc (nbytes); | 3032 | p = *data = (unsigned char *) xmalloc (nbytes); |
| 3033 | 3033 | ||
| 3034 | if (v10) | 3034 | if (v10) |
| 3035 | { | 3035 | { |
diff --git a/src/keyboard.c b/src/keyboard.c index 3eabf6a5a8a..97d4509eeb6 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -5506,13 +5506,23 @@ make_lispy_event (event) | |||
| 5506 | if (CONSP (down) | 5506 | if (CONSP (down) |
| 5507 | && INTEGERP (XCAR (down)) && INTEGERP (XCDR (down))) | 5507 | && INTEGERP (XCAR (down)) && INTEGERP (XCDR (down))) |
| 5508 | { | 5508 | { |
| 5509 | xdiff = XFASTINT (event->x) - XFASTINT (XCAR (down)); | 5509 | xdiff = XINT (event->x) - XINT (XCAR (down)); |
| 5510 | ydiff = XFASTINT (event->y) - XFASTINT (XCDR (down)); | 5510 | ydiff = XINT (event->y) - XINT (XCDR (down)); |
| 5511 | } | 5511 | } |
| 5512 | 5512 | ||
| 5513 | if (xdiff < double_click_fuzz && xdiff > - double_click_fuzz | 5513 | if (xdiff < double_click_fuzz && xdiff > - double_click_fuzz |
| 5514 | && ydiff < double_click_fuzz | 5514 | && ydiff < double_click_fuzz && ydiff > - double_click_fuzz |
| 5515 | && ydiff > - double_click_fuzz) | 5515 | /* Maybe the mouse has moved a lot, caused scrolling, and |
| 5516 | eventually ended up at the same screen position (but | ||
| 5517 | not buffer position) in which case it is a drag, not | ||
| 5518 | a click. */ | ||
| 5519 | /* FIXME: OTOH if the buffer position has changed | ||
| 5520 | because of a timer or process filter rather than | ||
| 5521 | because of mouse movement, it should be considered as | ||
| 5522 | a click. But mouse-drag-region completely ignores | ||
| 5523 | this case and it hasn't caused any real problem, so | ||
| 5524 | it's probably OK to ignore it as well. */ | ||
| 5525 | && EQ (Fcar (Fcdr (start_pos)), Fcar (Fcdr (position)))) | ||
| 5516 | /* Mouse hasn't moved (much). */ | 5526 | /* Mouse hasn't moved (much). */ |
| 5517 | event->modifiers |= click_modifier; | 5527 | event->modifiers |= click_modifier; |
| 5518 | else | 5528 | else |
| @@ -10741,11 +10751,6 @@ init_keyboard () | |||
| 10741 | poll_suppress_count = 1; | 10751 | poll_suppress_count = 1; |
| 10742 | start_polling (); | 10752 | start_polling (); |
| 10743 | #endif | 10753 | #endif |
| 10744 | |||
| 10745 | #ifdef MAC_OSX | ||
| 10746 | /* At least provide an escape route since C-g doesn't work. */ | ||
| 10747 | signal (SIGINT, interrupt_signal); | ||
| 10748 | #endif | ||
| 10749 | } | 10754 | } |
| 10750 | 10755 | ||
| 10751 | /* This type's only use is in syms_of_keyboard, to initialize the | 10756 | /* This type's only use is in syms_of_keyboard, to initialize the |
diff --git a/src/macfns.c b/src/macfns.c index 9d07dc49049..ecee09189f5 100644 --- a/src/macfns.c +++ b/src/macfns.c | |||
| @@ -2532,6 +2532,10 @@ This function is an internal primitive--use `make-frame' instead. */) | |||
| 2532 | } | 2532 | } |
| 2533 | 2533 | ||
| 2534 | /* Try out a font which we hope has bold and italic variations. */ | 2534 | /* Try out a font which we hope has bold and italic variations. */ |
| 2535 | #if USE_ATSUI | ||
| 2536 | if (! STRINGP (font)) | ||
| 2537 | font = x_new_font (f, "-*-monaco-medium-r-normal--12-*-*-*-*-*-iso10646-1"); | ||
| 2538 | #endif | ||
| 2535 | if (! STRINGP (font)) | 2539 | if (! STRINGP (font)) |
| 2536 | font = x_new_font (f, "-ETL-fixed-medium-r-*--*-160-*-*-*-*-iso8859-1"); | 2540 | font = x_new_font (f, "-ETL-fixed-medium-r-*--*-160-*-*-*-*-iso8859-1"); |
| 2537 | /* If those didn't work, look for something which will at least work. */ | 2541 | /* If those didn't work, look for something which will at least work. */ |
| @@ -3340,6 +3344,10 @@ start_hourglass () | |||
| 3340 | EMACS_TIME delay; | 3344 | EMACS_TIME delay; |
| 3341 | int secs, usecs = 0; | 3345 | int secs, usecs = 0; |
| 3342 | 3346 | ||
| 3347 | /* Don't bother for ttys. */ | ||
| 3348 | if (NILP (Vwindow_system)) | ||
| 3349 | return; | ||
| 3350 | |||
| 3343 | cancel_hourglass (); | 3351 | cancel_hourglass (); |
| 3344 | 3352 | ||
| 3345 | if (INTEGERP (Vhourglass_delay) | 3353 | if (INTEGERP (Vhourglass_delay) |
| @@ -3586,7 +3594,7 @@ x_create_tip_frame (dpyinfo, parms, text) | |||
| 3586 | FRAME_FONTSET (f) = -1; | 3594 | FRAME_FONTSET (f) = -1; |
| 3587 | f->icon_name = Qnil; | 3595 | f->icon_name = Qnil; |
| 3588 | 3596 | ||
| 3589 | #if 0 /* GLYPH_DEBUG TODO: image support. */ | 3597 | #if GLYPH_DEBUG |
| 3590 | image_cache_refcount = FRAME_X_IMAGE_CACHE (f)->refcount; | 3598 | image_cache_refcount = FRAME_X_IMAGE_CACHE (f)->refcount; |
| 3591 | dpyinfo_refcount = dpyinfo->reference_count; | 3599 | dpyinfo_refcount = dpyinfo->reference_count; |
| 3592 | #endif /* GLYPH_DEBUG */ | 3600 | #endif /* GLYPH_DEBUG */ |
| @@ -3630,6 +3638,10 @@ x_create_tip_frame (dpyinfo, parms, text) | |||
| 3630 | } | 3638 | } |
| 3631 | 3639 | ||
| 3632 | /* Try out a font which we hope has bold and italic variations. */ | 3640 | /* Try out a font which we hope has bold and italic variations. */ |
| 3641 | #if USE_ATSUI | ||
| 3642 | if (! STRINGP (font)) | ||
| 3643 | font = x_new_font (f, "-*-monaco-medium-r-normal--12-*-*-*-*-*-iso10646-1"); | ||
| 3644 | #endif | ||
| 3633 | if (! STRINGP (font)) | 3645 | if (! STRINGP (font)) |
| 3634 | font = x_new_font (f, "-ETL-fixed-medium-r-*--*-160-*-*-*-*-iso8859-1"); | 3646 | font = x_new_font (f, "-ETL-fixed-medium-r-*--*-160-*-*-*-*-iso8859-1"); |
| 3635 | /* If those didn't work, look for something which will at least work. */ | 3647 | /* If those didn't work, look for something which will at least work. */ |
diff --git a/src/macgui.h b/src/macgui.h index fc777de03ba..378dbcd9e5c 100644 --- a/src/macgui.h +++ b/src/macgui.h | |||
| @@ -103,6 +103,7 @@ typedef struct _XCharStruct | |||
| 103 | #if 0 | 103 | #if 0 |
| 104 | unsigned short attributes; /* per char flags (not predefined) */ | 104 | unsigned short attributes; /* per char flags (not predefined) */ |
| 105 | #endif | 105 | #endif |
| 106 | unsigned valid_p : 1; | ||
| 106 | } XCharStruct; | 107 | } XCharStruct; |
| 107 | 108 | ||
| 108 | #define STORE_XCHARSTRUCT(xcs, w, bds) \ | 109 | #define STORE_XCHARSTRUCT(xcs, w, bds) \ |
| @@ -110,7 +111,8 @@ typedef struct _XCharStruct | |||
| 110 | (xcs).lbearing = (bds).left, \ | 111 | (xcs).lbearing = (bds).left, \ |
| 111 | (xcs).rbearing = (bds).right, \ | 112 | (xcs).rbearing = (bds).right, \ |
| 112 | (xcs).ascent = -(bds).top, \ | 113 | (xcs).ascent = -(bds).top, \ |
| 113 | (xcs).descent = (bds).bottom) | 114 | (xcs).descent = (bds).bottom, \ |
| 115 | (xcs).valid_p = 1) | ||
| 114 | 116 | ||
| 115 | struct MacFontStruct { | 117 | struct MacFontStruct { |
| 116 | char *full_name; | 118 | char *full_name; |
| @@ -123,19 +125,9 @@ struct MacFontStruct { | |||
| 123 | #else | 125 | #else |
| 124 | short mac_scriptcode; /* Mac OS script code for font used */ | 126 | short mac_scriptcode; /* Mac OS script code for font used */ |
| 125 | #endif | 127 | #endif |
| 126 | 128 | #if USE_ATSUI | |
| 127 | #if 0 | 129 | ATSUStyle mac_style; /* NULL if QuickDraw Text is used */ |
| 128 | SInt16 mFontNum; /* font number of font used in this window */ | 130 | #endif |
| 129 | short mScriptCode; /* Mac OS script code for font used */ | ||
| 130 | int mFontSize; /* size of font */ | ||
| 131 | Style mFontFace; /* plain, bold, italics, etc. */ | ||
| 132 | int mHeight; /* height of one line of text in pixels */ | ||
| 133 | int mWidth; /* width of one character in pixels */ | ||
| 134 | int mAscent; | ||
| 135 | int mDescent; | ||
| 136 | int mLeading; | ||
| 137 | char mTwoByte; /* true for two-byte font */ | ||
| 138 | #endif /* 0 */ | ||
| 139 | 131 | ||
| 140 | /* from Xlib.h */ | 132 | /* from Xlib.h */ |
| 141 | #if 0 | 133 | #if 0 |
diff --git a/src/macterm.c b/src/macterm.c index 90d6a886db6..8001678ab92 100644 --- a/src/macterm.c +++ b/src/macterm.c | |||
| @@ -660,6 +660,79 @@ mac_draw_rectangle_to_pixmap (display, p, gc, x, y, width, height) | |||
| 660 | #endif | 660 | #endif |
| 661 | 661 | ||
| 662 | 662 | ||
| 663 | #if USE_ATSUI | ||
| 664 | static OSStatus | ||
| 665 | atsu_get_text_layout_with_text_ptr (text, text_length, style, text_layout) | ||
| 666 | ConstUniCharArrayPtr text; | ||
| 667 | UniCharCount text_length; | ||
| 668 | ATSUStyle style; | ||
| 669 | ATSUTextLayout *text_layout; | ||
| 670 | { | ||
| 671 | OSStatus err; | ||
| 672 | static ATSUTextLayout saved_text_layout = NULL; /* not reentrant */ | ||
| 673 | |||
| 674 | if (saved_text_layout == NULL) | ||
| 675 | { | ||
| 676 | UniCharCount lengths[] = {kATSUToTextEnd}; | ||
| 677 | ATSUAttributeTag tags[] = {kATSULineLayoutOptionsTag}; | ||
| 678 | ByteCount sizes[] = {sizeof (ATSLineLayoutOptions)}; | ||
| 679 | static ATSLineLayoutOptions line_layout = | ||
| 680 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 | ||
| 681 | kATSLineDisableAllLayoutOperations | kATSLineUseDeviceMetrics | ||
| 682 | #else | ||
| 683 | kATSLineIsDisplayOnly | ||
| 684 | #endif | ||
| 685 | ; | ||
| 686 | ATSUAttributeValuePtr values[] = {&line_layout}; | ||
| 687 | |||
| 688 | err = ATSUCreateTextLayoutWithTextPtr (text, | ||
| 689 | kATSUFromTextBeginning, | ||
| 690 | kATSUToTextEnd, | ||
| 691 | text_length, | ||
| 692 | 1, lengths, &style, | ||
| 693 | &saved_text_layout); | ||
| 694 | if (err == noErr) | ||
| 695 | err = ATSUSetLayoutControls (saved_text_layout, | ||
| 696 | sizeof (tags) / sizeof (tags[0]), | ||
| 697 | tags, sizes, values); | ||
| 698 | /* XXX: Should we do this? */ | ||
| 699 | if (err == noErr) | ||
| 700 | err = ATSUSetTransientFontMatching (saved_text_layout, true); | ||
| 701 | } | ||
| 702 | else | ||
| 703 | { | ||
| 704 | err = ATSUSetRunStyle (saved_text_layout, style, | ||
| 705 | kATSUFromTextBeginning, kATSUToTextEnd); | ||
| 706 | if (err == noErr) | ||
| 707 | err = ATSUSetTextPointerLocation (saved_text_layout, text, | ||
| 708 | kATSUFromTextBeginning, | ||
| 709 | kATSUToTextEnd, | ||
| 710 | text_length); | ||
| 711 | } | ||
| 712 | |||
| 713 | if (err == noErr) | ||
| 714 | *text_layout = saved_text_layout; | ||
| 715 | return err; | ||
| 716 | } | ||
| 717 | #endif | ||
| 718 | |||
| 719 | static void | ||
| 720 | mac_invert_rectangle (display, w, x, y, width, height) | ||
| 721 | Display *display; | ||
| 722 | WindowPtr w; | ||
| 723 | int x, y; | ||
| 724 | unsigned int width, height; | ||
| 725 | { | ||
| 726 | Rect r; | ||
| 727 | |||
| 728 | SetPortWindowPort (w); | ||
| 729 | |||
| 730 | SetRect (&r, x, y, x + width, y + height); | ||
| 731 | |||
| 732 | InvertRect (&r); | ||
| 733 | } | ||
| 734 | |||
| 735 | |||
| 663 | static void | 736 | static void |
| 664 | mac_draw_string_common (display, w, gc, x, y, buf, nchars, mode, | 737 | mac_draw_string_common (display, w, gc, x, y, buf, nchars, mode, |
| 665 | bytes_per_char) | 738 | bytes_per_char) |
| @@ -684,6 +757,89 @@ mac_draw_string_common (display, w, gc, x, y, buf, nchars, mode, | |||
| 684 | if (mode != srcOr) | 757 | if (mode != srcOr) |
| 685 | RGBBackColor (GC_BACK_COLOR (gc)); | 758 | RGBBackColor (GC_BACK_COLOR (gc)); |
| 686 | 759 | ||
| 760 | #if USE_ATSUI | ||
| 761 | if (GC_FONT (gc)->mac_style) | ||
| 762 | { | ||
| 763 | OSErr err; | ||
| 764 | ATSUTextLayout text_layout; | ||
| 765 | |||
| 766 | xassert (bytes_per_char == 2); | ||
| 767 | |||
| 768 | #ifndef WORDS_BIG_ENDIAN | ||
| 769 | { | ||
| 770 | int i; | ||
| 771 | Unichar *text = (Unichar *)buf; | ||
| 772 | |||
| 773 | for (i = 0; i < nchars; i++) | ||
| 774 | text[i] = buf[2*i] << 8 | buf[2*i+1]; | ||
| 775 | } | ||
| 776 | #endif | ||
| 777 | err = atsu_get_text_layout_with_text_ptr ((ConstUniCharArrayPtr)buf, | ||
| 778 | nchars, | ||
| 779 | GC_FONT (gc)->mac_style, | ||
| 780 | &text_layout); | ||
| 781 | if (err == noErr) | ||
| 782 | { | ||
| 783 | #ifdef MAC_OSX | ||
| 784 | if (NILP (Vmac_use_core_graphics)) | ||
| 785 | { | ||
| 786 | #endif | ||
| 787 | MoveTo (x, y); | ||
| 788 | ATSUDrawText (text_layout, | ||
| 789 | kATSUFromTextBeginning, kATSUToTextEnd, | ||
| 790 | kATSUUseGrafPortPenLoc, kATSUUseGrafPortPenLoc); | ||
| 791 | #ifdef MAC_OSX | ||
| 792 | } | ||
| 793 | else | ||
| 794 | { | ||
| 795 | CGrafPtr port; | ||
| 796 | CGContextRef context; | ||
| 797 | Rect rect; | ||
| 798 | RgnHandle region = NewRgn (); | ||
| 799 | float port_height; | ||
| 800 | ATSUAttributeTag tags[] = {kATSUCGContextTag}; | ||
| 801 | ByteCount sizes[] = {sizeof (CGContextRef)}; | ||
| 802 | ATSUAttributeValuePtr values[] = {&context}; | ||
| 803 | |||
| 804 | GetPort (&port); | ||
| 805 | QDBeginCGContext (port, &context); | ||
| 806 | GetPortBounds (port, &rect); | ||
| 807 | port_height = rect.bottom - rect.top; | ||
| 808 | GetClip (region); | ||
| 809 | GetRegionBounds (region, &rect); | ||
| 810 | /* XXX: This is not correct if the clip region is not a | ||
| 811 | simple rectangle. */ | ||
| 812 | CGContextClipToRect (context, | ||
| 813 | CGRectMake (rect.left, | ||
| 814 | port_height - rect.bottom, | ||
| 815 | rect.right - rect.left, | ||
| 816 | rect.bottom - rect.top)); | ||
| 817 | DisposeRgn (region); | ||
| 818 | CGContextSetRGBFillColor | ||
| 819 | (context, | ||
| 820 | RED_FROM_ULONG (gc->xgcv.foreground) / 255.0, | ||
| 821 | GREEN_FROM_ULONG (gc->xgcv.foreground) / 255.0, | ||
| 822 | BLUE_FROM_ULONG (gc->xgcv.foreground) / 255.0, | ||
| 823 | 1.0); | ||
| 824 | err = ATSUSetLayoutControls (text_layout, | ||
| 825 | sizeof (tags) / sizeof (tags[0]), | ||
| 826 | tags, sizes, values); | ||
| 827 | if (err == noErr) | ||
| 828 | ATSUDrawText (text_layout, | ||
| 829 | kATSUFromTextBeginning, kATSUToTextEnd, | ||
| 830 | Long2Fix (x), Long2Fix (port_height - y)); | ||
| 831 | ATSUClearLayoutControls (text_layout, | ||
| 832 | sizeof (tags) / sizeof (tags[0]), | ||
| 833 | tags); | ||
| 834 | CGContextSynchronize (context); | ||
| 835 | QDEndCGContext (port, &context); | ||
| 836 | } | ||
| 837 | #endif | ||
| 838 | } | ||
| 839 | } | ||
| 840 | else | ||
| 841 | { | ||
| 842 | #endif | ||
| 687 | TextFont (GC_FONT (gc)->mac_fontnum); | 843 | TextFont (GC_FONT (gc)->mac_fontnum); |
| 688 | TextSize (GC_FONT (gc)->mac_fontsize); | 844 | TextSize (GC_FONT (gc)->mac_fontsize); |
| 689 | TextFace (GC_FONT (gc)->mac_fontface); | 845 | TextFace (GC_FONT (gc)->mac_fontface); |
| @@ -691,6 +847,9 @@ mac_draw_string_common (display, w, gc, x, y, buf, nchars, mode, | |||
| 691 | 847 | ||
| 692 | MoveTo (x, y); | 848 | MoveTo (x, y); |
| 693 | DrawText (buf, 0, nchars * bytes_per_char); | 849 | DrawText (buf, 0, nchars * bytes_per_char); |
| 850 | #if USE_ATSUI | ||
| 851 | } | ||
| 852 | #endif | ||
| 694 | 853 | ||
| 695 | if (mode != srcOr) | 854 | if (mode != srcOr) |
| 696 | RGBBackColor (GC_BACK_COLOR (MAC_WINDOW_NORMAL_GC (w))); | 855 | RGBBackColor (GC_BACK_COLOR (MAC_WINDOW_NORMAL_GC (w))); |
| @@ -1552,6 +1711,61 @@ x_per_char_metric (font, char2b) | |||
| 1552 | 1711 | ||
| 1553 | xassert (font && char2b); | 1712 | xassert (font && char2b); |
| 1554 | 1713 | ||
| 1714 | #if USE_ATSUI | ||
| 1715 | if (font->mac_style) | ||
| 1716 | { | ||
| 1717 | if (char2b->byte1 >= font->min_byte1 | ||
| 1718 | && char2b->byte1 <= font->max_byte1 | ||
| 1719 | && char2b->byte2 >= font->min_char_or_byte2 | ||
| 1720 | && char2b->byte2 <= font->max_char_or_byte2) | ||
| 1721 | { | ||
| 1722 | pcm = (font->per_char | ||
| 1723 | + ((font->max_char_or_byte2 - font->min_char_or_byte2 + 1) | ||
| 1724 | * (char2b->byte1 - font->min_byte1)) | ||
| 1725 | + (char2b->byte2 - font->min_char_or_byte2)); | ||
| 1726 | } | ||
| 1727 | |||
| 1728 | if (pcm && !pcm->valid_p) | ||
| 1729 | { | ||
| 1730 | OSErr err; | ||
| 1731 | ATSUTextLayout text_layout; | ||
| 1732 | UniChar c; | ||
| 1733 | int char_width; | ||
| 1734 | ATSTrapezoid glyph_bounds; | ||
| 1735 | Rect char_bounds; | ||
| 1736 | |||
| 1737 | c = (char2b->byte1 << 8) + char2b->byte2; | ||
| 1738 | BLOCK_INPUT; | ||
| 1739 | err = atsu_get_text_layout_with_text_ptr (&c, 1, | ||
| 1740 | font->mac_style, | ||
| 1741 | &text_layout); | ||
| 1742 | if (err == noErr) | ||
| 1743 | err = ATSUMeasureTextImage (text_layout, | ||
| 1744 | kATSUFromTextBeginning, kATSUToTextEnd, | ||
| 1745 | 0, 0, &char_bounds); | ||
| 1746 | |||
| 1747 | if (err == noErr) | ||
| 1748 | err = ATSUGetGlyphBounds (text_layout, 0, 0, | ||
| 1749 | kATSUFromTextBeginning, kATSUToTextEnd, | ||
| 1750 | kATSUseFractionalOrigins, 1, | ||
| 1751 | &glyph_bounds, NULL); | ||
| 1752 | UNBLOCK_INPUT; | ||
| 1753 | if (err != noErr) | ||
| 1754 | pcm = NULL; | ||
| 1755 | else | ||
| 1756 | { | ||
| 1757 | xassert (glyph_bounds.lowerRight.x - glyph_bounds.lowerLeft.x | ||
| 1758 | == glyph_bounds.upperRight.x - glyph_bounds.upperLeft.x); | ||
| 1759 | |||
| 1760 | char_width = Fix2Long (glyph_bounds.upperRight.x | ||
| 1761 | - glyph_bounds.upperLeft.x); | ||
| 1762 | STORE_XCHARSTRUCT (*pcm, char_width, char_bounds); | ||
| 1763 | } | ||
| 1764 | } | ||
| 1765 | } | ||
| 1766 | else | ||
| 1767 | { | ||
| 1768 | #endif | ||
| 1555 | if (font->per_char != NULL) | 1769 | if (font->per_char != NULL) |
| 1556 | { | 1770 | { |
| 1557 | if (font->min_byte1 == 0 && font->max_byte1 == 0) | 1771 | if (font->min_byte1 == 0 && font->max_byte1 == 0) |
| @@ -1603,6 +1817,9 @@ x_per_char_metric (font, char2b) | |||
| 1603 | && char2b->byte2 <= font->max_char_or_byte2) | 1817 | && char2b->byte2 <= font->max_char_or_byte2) |
| 1604 | pcm = &font->max_bounds; | 1818 | pcm = &font->max_bounds; |
| 1605 | } | 1819 | } |
| 1820 | #if USE_ATSUI | ||
| 1821 | } | ||
| 1822 | #endif | ||
| 1606 | 1823 | ||
| 1607 | return ((pcm == NULL | 1824 | return ((pcm == NULL |
| 1608 | || (pcm->width == 0 && (pcm->rbearing - pcm->lbearing) == 0)) | 1825 | || (pcm->width == 0 && (pcm->rbearing - pcm->lbearing) == 0)) |
| @@ -1930,6 +2147,35 @@ mac_compute_glyph_string_overhangs (s) | |||
| 1930 | Rect r; | 2147 | Rect r; |
| 1931 | MacFontStruct *font = s->font; | 2148 | MacFontStruct *font = s->font; |
| 1932 | 2149 | ||
| 2150 | #if USE_ATSUI | ||
| 2151 | if (font->mac_style) | ||
| 2152 | { | ||
| 2153 | OSErr err; | ||
| 2154 | ATSUTextLayout text_layout; | ||
| 2155 | UniChar *buf; | ||
| 2156 | int i; | ||
| 2157 | |||
| 2158 | SetRect (&r, 0, 0, 0, 0); | ||
| 2159 | buf = xmalloc (sizeof (UniChar) * s->nchars); | ||
| 2160 | if (buf) | ||
| 2161 | { | ||
| 2162 | for (i = 0; i < s->nchars; i++) | ||
| 2163 | buf[i] = (s->char2b[i].byte1 << 8) + s->char2b[i].byte2; | ||
| 2164 | |||
| 2165 | err = atsu_get_text_layout_with_text_ptr (buf, s->nchars, | ||
| 2166 | font->mac_style, | ||
| 2167 | &text_layout); | ||
| 2168 | if (err == noErr) | ||
| 2169 | err = ATSUMeasureTextImage (text_layout, | ||
| 2170 | kATSUFromTextBeginning, | ||
| 2171 | kATSUToTextEnd, | ||
| 2172 | 0, 0, &r); | ||
| 2173 | xfree (buf); | ||
| 2174 | } | ||
| 2175 | } | ||
| 2176 | else | ||
| 2177 | { | ||
| 2178 | #endif | ||
| 1933 | TextFont (font->mac_fontnum); | 2179 | TextFont (font->mac_fontnum); |
| 1934 | TextSize (font->mac_fontsize); | 2180 | TextSize (font->mac_fontsize); |
| 1935 | TextFace (font->mac_fontface); | 2181 | TextFace (font->mac_fontface); |
| @@ -1951,6 +2197,9 @@ mac_compute_glyph_string_overhangs (s) | |||
| 1951 | xfree (buf); | 2197 | xfree (buf); |
| 1952 | } | 2198 | } |
| 1953 | } | 2199 | } |
| 2200 | #if USE_ATSUI | ||
| 2201 | } | ||
| 2202 | #endif | ||
| 1954 | 2203 | ||
| 1955 | s->right_overhang = r.right > s->width ? r.right - s->width : 0; | 2204 | s->right_overhang = r.right > s->width ? r.right - s->width : 0; |
| 1956 | s->left_overhang = r.left < 0 ? -r.left : 0; | 2205 | s->left_overhang = r.left < 0 ? -r.left : 0; |
| @@ -2008,7 +2257,7 @@ x_draw_glyph_string_background (s, force_p) | |||
| 2008 | } | 2257 | } |
| 2009 | else | 2258 | else |
| 2010 | #endif | 2259 | #endif |
| 2011 | #ifdef MAC_OS8 | 2260 | #if defined (MAC_OS8) && !USE_ATSUI |
| 2012 | if (FONT_HEIGHT (s->font) < s->height - 2 * box_line_width | 2261 | if (FONT_HEIGHT (s->font) < s->height - 2 * box_line_width |
| 2013 | || s->font_not_found_p | 2262 | || s->font_not_found_p |
| 2014 | || s->extends_to_end_of_line_p | 2263 | || s->extends_to_end_of_line_p |
| @@ -2062,11 +2311,15 @@ x_draw_glyph_string_foreground (s) | |||
| 2062 | boff = VCENTER_BASELINE_OFFSET (s->font, s->f) - boff; | 2311 | boff = VCENTER_BASELINE_OFFSET (s->font, s->f) - boff; |
| 2063 | 2312 | ||
| 2064 | /* If we can use 8-bit functions, condense S->char2b. */ | 2313 | /* If we can use 8-bit functions, condense S->char2b. */ |
| 2065 | if (!s->two_byte_p) | 2314 | if (!s->two_byte_p |
| 2315 | #if USE_ATSUI | ||
| 2316 | && GC_FONT (s->gc)->mac_style == NULL | ||
| 2317 | #endif | ||
| 2318 | ) | ||
| 2066 | for (i = 0; i < s->nchars; ++i) | 2319 | for (i = 0; i < s->nchars; ++i) |
| 2067 | char1b[i] = s->char2b[i].byte2; | 2320 | char1b[i] = s->char2b[i].byte2; |
| 2068 | 2321 | ||
| 2069 | #ifdef MAC_OS8 | 2322 | #if defined (MAC_OS8) && !USE_ATSUI |
| 2070 | /* Draw text with XDrawString if background has already been | 2323 | /* Draw text with XDrawString if background has already been |
| 2071 | filled. Otherwise, use XDrawImageString. (Note that | 2324 | filled. Otherwise, use XDrawImageString. (Note that |
| 2072 | XDrawImageString is usually faster than XDrawString.) Always | 2325 | XDrawImageString is usually faster than XDrawString.) Always |
| @@ -2077,14 +2330,18 @@ x_draw_glyph_string_foreground (s) | |||
| 2077 | #endif | 2330 | #endif |
| 2078 | { | 2331 | { |
| 2079 | /* Draw characters with 16-bit or 8-bit functions. */ | 2332 | /* Draw characters with 16-bit or 8-bit functions. */ |
| 2080 | if (s->two_byte_p) | 2333 | if (s->two_byte_p |
| 2334 | #if USE_ATSUI | ||
| 2335 | || GC_FONT (s->gc)->mac_style | ||
| 2336 | #endif | ||
| 2337 | ) | ||
| 2081 | XDrawString16 (s->display, s->window, s->gc, x, | 2338 | XDrawString16 (s->display, s->window, s->gc, x, |
| 2082 | s->ybase - boff, s->char2b, s->nchars); | 2339 | s->ybase - boff, s->char2b, s->nchars); |
| 2083 | else | 2340 | else |
| 2084 | XDrawString (s->display, s->window, s->gc, x, | 2341 | XDrawString (s->display, s->window, s->gc, x, |
| 2085 | s->ybase - boff, char1b, s->nchars); | 2342 | s->ybase - boff, char1b, s->nchars); |
| 2086 | } | 2343 | } |
| 2087 | #ifdef MAC_OS8 | 2344 | #if defined (MAC_OS8) && !USE_ATSUI |
| 2088 | else | 2345 | else |
| 2089 | { | 2346 | { |
| 2090 | if (s->two_byte_p) | 2347 | if (s->two_byte_p) |
| @@ -3251,9 +3508,57 @@ void | |||
| 3251 | XTflash (f) | 3508 | XTflash (f) |
| 3252 | struct frame *f; | 3509 | struct frame *f; |
| 3253 | { | 3510 | { |
| 3511 | /* Get the height not including a menu bar widget. */ | ||
| 3512 | int height = FRAME_TEXT_LINES_TO_PIXEL_HEIGHT (f, FRAME_LINES (f)); | ||
| 3513 | /* Height of each line to flash. */ | ||
| 3514 | int flash_height = FRAME_LINE_HEIGHT (f); | ||
| 3515 | /* These will be the left and right margins of the rectangles. */ | ||
| 3516 | int flash_left = FRAME_INTERNAL_BORDER_WIDTH (f); | ||
| 3517 | int flash_right = FRAME_PIXEL_WIDTH (f) - FRAME_INTERNAL_BORDER_WIDTH (f); | ||
| 3518 | |||
| 3519 | int width; | ||
| 3520 | |||
| 3521 | /* Don't flash the area between a scroll bar and the frame | ||
| 3522 | edge it is next to. */ | ||
| 3523 | switch (FRAME_VERTICAL_SCROLL_BAR_TYPE (f)) | ||
| 3524 | { | ||
| 3525 | case vertical_scroll_bar_left: | ||
| 3526 | flash_left += VERTICAL_SCROLL_BAR_WIDTH_TRIM; | ||
| 3527 | break; | ||
| 3528 | |||
| 3529 | case vertical_scroll_bar_right: | ||
| 3530 | flash_right -= VERTICAL_SCROLL_BAR_WIDTH_TRIM; | ||
| 3531 | break; | ||
| 3532 | |||
| 3533 | default: | ||
| 3534 | break; | ||
| 3535 | } | ||
| 3536 | |||
| 3537 | width = flash_right - flash_left; | ||
| 3538 | |||
| 3254 | BLOCK_INPUT; | 3539 | BLOCK_INPUT; |
| 3255 | 3540 | ||
| 3256 | FlashMenuBar (0); | 3541 | /* If window is tall, flash top and bottom line. */ |
| 3542 | if (height > 3 * FRAME_LINE_HEIGHT (f)) | ||
| 3543 | { | ||
| 3544 | mac_invert_rectangle (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f), | ||
| 3545 | flash_left, | ||
| 3546 | (FRAME_INTERNAL_BORDER_WIDTH (f) | ||
| 3547 | + FRAME_TOOL_BAR_LINES (f) * FRAME_LINE_HEIGHT (f)), | ||
| 3548 | width, flash_height); | ||
| 3549 | mac_invert_rectangle (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f), | ||
| 3550 | flash_left, | ||
| 3551 | (height - flash_height | ||
| 3552 | - FRAME_INTERNAL_BORDER_WIDTH (f)), | ||
| 3553 | width, flash_height); | ||
| 3554 | } | ||
| 3555 | else | ||
| 3556 | /* If it is short, flash it all. */ | ||
| 3557 | mac_invert_rectangle (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f), | ||
| 3558 | flash_left, FRAME_INTERNAL_BORDER_WIDTH (f), | ||
| 3559 | width, height - 2 * FRAME_INTERNAL_BORDER_WIDTH (f)); | ||
| 3560 | |||
| 3561 | x_flush (f); | ||
| 3257 | 3562 | ||
| 3258 | { | 3563 | { |
| 3259 | struct timeval wakeup; | 3564 | struct timeval wakeup; |
| @@ -3265,24 +3570,49 @@ XTflash (f) | |||
| 3265 | wakeup.tv_sec += (wakeup.tv_usec / 1000000); | 3570 | wakeup.tv_sec += (wakeup.tv_usec / 1000000); |
| 3266 | wakeup.tv_usec %= 1000000; | 3571 | wakeup.tv_usec %= 1000000; |
| 3267 | 3572 | ||
| 3268 | /* Keep waiting until past the time wakeup. */ | 3573 | /* Keep waiting until past the time wakeup or any input gets |
| 3269 | while (1) | 3574 | available. */ |
| 3575 | while (! detect_input_pending ()) | ||
| 3270 | { | 3576 | { |
| 3271 | struct timeval timeout; | 3577 | struct timeval current; |
| 3578 | struct timeval timeout; | ||
| 3272 | 3579 | ||
| 3273 | EMACS_GET_TIME (timeout); | 3580 | EMACS_GET_TIME (current); |
| 3274 | 3581 | ||
| 3275 | /* In effect, timeout = wakeup - timeout. | 3582 | /* Break if result would be negative. */ |
| 3276 | Break if result would be negative. */ | 3583 | if (timeval_subtract (¤t, wakeup, current)) |
| 3277 | if (timeval_subtract (&timeout, wakeup, timeout)) | 3584 | break; |
| 3278 | break; | ||
| 3279 | 3585 | ||
| 3280 | /* Try to wait that long--but we might wake up sooner. */ | 3586 | /* How long `select' should wait. */ |
| 3281 | select (0, NULL, NULL, NULL, &timeout); | 3587 | timeout.tv_sec = 0; |
| 3588 | timeout.tv_usec = 10000; | ||
| 3589 | |||
| 3590 | /* Try to wait that long--but we might wake up sooner. */ | ||
| 3591 | select (0, NULL, NULL, NULL, &timeout); | ||
| 3282 | } | 3592 | } |
| 3283 | } | 3593 | } |
| 3284 | 3594 | ||
| 3285 | FlashMenuBar (0); | 3595 | /* If window is tall, flash top and bottom line. */ |
| 3596 | if (height > 3 * FRAME_LINE_HEIGHT (f)) | ||
| 3597 | { | ||
| 3598 | mac_invert_rectangle (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f), | ||
| 3599 | flash_left, | ||
| 3600 | (FRAME_INTERNAL_BORDER_WIDTH (f) | ||
| 3601 | + FRAME_TOOL_BAR_LINES (f) * FRAME_LINE_HEIGHT (f)), | ||
| 3602 | width, flash_height); | ||
| 3603 | mac_invert_rectangle (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f), | ||
| 3604 | flash_left, | ||
| 3605 | (height - flash_height | ||
| 3606 | - FRAME_INTERNAL_BORDER_WIDTH (f)), | ||
| 3607 | width, flash_height); | ||
| 3608 | } | ||
| 3609 | else | ||
| 3610 | /* If it is short, flash it all. */ | ||
| 3611 | mac_invert_rectangle (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f), | ||
| 3612 | flash_left, FRAME_INTERNAL_BORDER_WIDTH (f), | ||
| 3613 | width, height - 2 * FRAME_INTERNAL_BORDER_WIDTH (f)); | ||
| 3614 | |||
| 3615 | x_flush (f); | ||
| 3286 | 3616 | ||
| 3287 | UNBLOCK_INPUT; | 3617 | UNBLOCK_INPUT; |
| 3288 | } | 3618 | } |
| @@ -6447,6 +6777,10 @@ static char **font_name_table = NULL; | |||
| 6447 | static int font_name_table_size = 0; | 6777 | static int font_name_table_size = 0; |
| 6448 | static int font_name_count = 0; | 6778 | static int font_name_count = 0; |
| 6449 | 6779 | ||
| 6780 | #if USE_ATSUI | ||
| 6781 | static Lisp_Object atsu_font_id_hash; | ||
| 6782 | #endif | ||
| 6783 | |||
| 6450 | /* Alist linking character set strings to Mac text encoding and Emacs | 6784 | /* Alist linking character set strings to Mac text encoding and Emacs |
| 6451 | coding system. */ | 6785 | coding system. */ |
| 6452 | static Lisp_Object Vmac_charset_info_alist; | 6786 | static Lisp_Object Vmac_charset_info_alist; |
| @@ -6653,6 +6987,74 @@ init_font_name_table () | |||
| 6653 | Lisp_Object text_encoding_info_alist; | 6987 | Lisp_Object text_encoding_info_alist; |
| 6654 | struct gcpro gcpro1; | 6988 | struct gcpro gcpro1; |
| 6655 | 6989 | ||
| 6990 | text_encoding_info_alist = create_text_encoding_info_alist (); | ||
| 6991 | |||
| 6992 | #if USE_ATSUI | ||
| 6993 | if (!NILP (assq_no_quit (make_number (kTextEncodingMacUnicode), | ||
| 6994 | text_encoding_info_alist))) | ||
| 6995 | { | ||
| 6996 | OSErr err; | ||
| 6997 | ItemCount nfonts, i; | ||
| 6998 | ATSUFontID *font_ids = NULL; | ||
| 6999 | Ptr name, prev_name = NULL; | ||
| 7000 | ByteCount name_len; | ||
| 7001 | |||
| 7002 | atsu_font_id_hash = | ||
| 7003 | make_hash_table (Qequal, make_number (DEFAULT_HASH_SIZE), | ||
| 7004 | make_float (DEFAULT_REHASH_SIZE), | ||
| 7005 | make_float (DEFAULT_REHASH_THRESHOLD), | ||
| 7006 | Qnil, Qnil, Qnil);; | ||
| 7007 | err = ATSUFontCount (&nfonts); | ||
| 7008 | if (err == noErr) | ||
| 7009 | font_ids = xmalloc (sizeof (ATSUFontID) * nfonts); | ||
| 7010 | if (font_ids) | ||
| 7011 | err = ATSUGetFontIDs (font_ids, nfonts, NULL); | ||
| 7012 | if (err == noErr) | ||
| 7013 | for (i = 0; i < nfonts; i++) | ||
| 7014 | { | ||
| 7015 | err = ATSUFindFontName (font_ids[i], kFontFamilyName, | ||
| 7016 | kFontMacintoshPlatform, kFontNoScript, | ||
| 7017 | kFontNoLanguage, 0, NULL, &name_len, NULL); | ||
| 7018 | if (err != noErr) | ||
| 7019 | continue; | ||
| 7020 | name = xmalloc (name_len + 1); | ||
| 7021 | if (name == NULL) | ||
| 7022 | continue; | ||
| 7023 | name[name_len] = '\0'; | ||
| 7024 | err = ATSUFindFontName (font_ids[i], kFontFamilyName, | ||
| 7025 | kFontMacintoshPlatform, kFontNoScript, | ||
| 7026 | kFontNoLanguage, name_len, name, | ||
| 7027 | NULL, NULL); | ||
| 7028 | if (err == noErr | ||
| 7029 | && *name != '.' | ||
| 7030 | && (prev_name == NULL | ||
| 7031 | || strcmp (name, prev_name) != 0)) | ||
| 7032 | { | ||
| 7033 | static char *cs = "iso10646-1"; | ||
| 7034 | |||
| 7035 | add_font_name_table_entry (mac_to_x_fontname (name, 0, | ||
| 7036 | normal, cs)); | ||
| 7037 | add_font_name_table_entry (mac_to_x_fontname (name, 0, | ||
| 7038 | italic, cs)); | ||
| 7039 | add_font_name_table_entry (mac_to_x_fontname (name, 0, | ||
| 7040 | bold, cs)); | ||
| 7041 | add_font_name_table_entry (mac_to_x_fontname (name, 0, | ||
| 7042 | italic | bold, cs)); | ||
| 7043 | Fputhash (Fdowncase (make_unibyte_string (name, name_len)), | ||
| 7044 | long_to_cons (font_ids[i]), atsu_font_id_hash); | ||
| 7045 | xfree (prev_name); | ||
| 7046 | prev_name = name; | ||
| 7047 | } | ||
| 7048 | else | ||
| 7049 | xfree (name); | ||
| 7050 | } | ||
| 7051 | if (prev_name) | ||
| 7052 | xfree (prev_name); | ||
| 7053 | if (font_ids) | ||
| 7054 | xfree (font_ids); | ||
| 7055 | } | ||
| 7056 | #endif | ||
| 7057 | |||
| 6656 | /* Create a dummy instance iterator here to avoid creating and | 7058 | /* Create a dummy instance iterator here to avoid creating and |
| 6657 | destroying it in the loop. */ | 7059 | destroying it in the loop. */ |
| 6658 | if (FMCreateFontFamilyInstanceIterator (0, &ffii) != noErr) | 7060 | if (FMCreateFontFamilyInstanceIterator (0, &ffii) != noErr) |
| @@ -6665,8 +7067,6 @@ init_font_name_table () | |||
| 6665 | return; | 7067 | return; |
| 6666 | } | 7068 | } |
| 6667 | 7069 | ||
| 6668 | text_encoding_info_alist = create_text_encoding_info_alist (); | ||
| 6669 | |||
| 6670 | GCPRO1 (text_encoding_info_alist); | 7070 | GCPRO1 (text_encoding_info_alist); |
| 6671 | 7071 | ||
| 6672 | while (FMGetNextFontFamily (&ffi, &ff) == noErr) | 7072 | while (FMGetNextFontFamily (&ffi, &ff) == noErr) |
| @@ -7163,6 +7563,9 @@ XLoadQueryFont (Display *dpy, char *fontname) | |||
| 7163 | Str255 mfontname, mfontname_decoded; | 7563 | Str255 mfontname, mfontname_decoded; |
| 7164 | Str31 charset; | 7564 | Str31 charset; |
| 7165 | SInt16 fontnum; | 7565 | SInt16 fontnum; |
| 7566 | #if USE_ATSUI | ||
| 7567 | ATSUStyle mac_style = NULL; | ||
| 7568 | #endif | ||
| 7166 | Style fontface; | 7569 | Style fontface; |
| 7167 | #if TARGET_API_MAC_CARBON | 7570 | #if TARGET_API_MAC_CARBON |
| 7168 | TextEncoding encoding; | 7571 | TextEncoding encoding; |
| @@ -7214,6 +7617,48 @@ XLoadQueryFont (Display *dpy, char *fontname) | |||
| 7214 | 7617 | ||
| 7215 | x_font_name_to_mac_font_name (name, mfontname, mfontname_decoded, | 7618 | x_font_name_to_mac_font_name (name, mfontname, mfontname_decoded, |
| 7216 | &fontface, charset); | 7619 | &fontface, charset); |
| 7620 | #if USE_ATSUI | ||
| 7621 | if (strcmp (charset, "iso10646-1") == 0) /* XXX */ | ||
| 7622 | { | ||
| 7623 | OSErr err; | ||
| 7624 | ATSUAttributeTag tags[] = {kATSUFontTag, kATSUSizeTag, | ||
| 7625 | kATSUQDBoldfaceTag, kATSUQDItalicTag}; | ||
| 7626 | ByteCount sizes[] = {sizeof (ATSUFontID), sizeof (Fixed), | ||
| 7627 | sizeof (Boolean), sizeof (Boolean)}; | ||
| 7628 | static ATSUFontID font_id; | ||
| 7629 | static Fixed size_fixed; | ||
| 7630 | static Boolean bold_p, italic_p; | ||
| 7631 | ATSUAttributeValuePtr values[] = {&font_id, &size_fixed, | ||
| 7632 | &bold_p, &italic_p}; | ||
| 7633 | ATSUFontFeatureType types[] = {kAllTypographicFeaturesType}; | ||
| 7634 | ATSUFontFeatureSelector selectors[] = {kAllTypeFeaturesOffSelector}; | ||
| 7635 | Lisp_Object font_id_cons; | ||
| 7636 | |||
| 7637 | font_id_cons = Fgethash (Fdowncase | ||
| 7638 | (make_unibyte_string (mfontname, | ||
| 7639 | strlen (mfontname))), | ||
| 7640 | atsu_font_id_hash, Qnil); | ||
| 7641 | if (NILP (font_id_cons)) | ||
| 7642 | return NULL; | ||
| 7643 | font_id = cons_to_long (font_id_cons); | ||
| 7644 | size_fixed = Long2Fix (size); | ||
| 7645 | bold_p = (fontface & bold) != 0; | ||
| 7646 | italic_p = (fontface & italic) != 0; | ||
| 7647 | err = ATSUCreateStyle (&mac_style); | ||
| 7648 | if (err != noErr) | ||
| 7649 | return NULL; | ||
| 7650 | err = ATSUSetFontFeatures (mac_style, sizeof (types) / sizeof (types[0]), | ||
| 7651 | types, selectors); | ||
| 7652 | if (err != noErr) | ||
| 7653 | return NULL; | ||
| 7654 | err = ATSUSetAttributes (mac_style, sizeof (tags) / sizeof (tags[0]), | ||
| 7655 | tags, sizes, values); | ||
| 7656 | fontnum = -1; | ||
| 7657 | scriptcode = kTextEncodingMacUnicode; | ||
| 7658 | } | ||
| 7659 | else | ||
| 7660 | { | ||
| 7661 | #endif | ||
| 7217 | c2pstr (mfontname); | 7662 | c2pstr (mfontname); |
| 7218 | #if TARGET_API_MAC_CARBON | 7663 | #if TARGET_API_MAC_CARBON |
| 7219 | fontnum = FMGetFontFamilyFromName (mfontname); | 7664 | fontnum = FMGetFontFamilyFromName (mfontname); |
| @@ -7227,6 +7672,9 @@ XLoadQueryFont (Display *dpy, char *fontname) | |||
| 7227 | return NULL; | 7672 | return NULL; |
| 7228 | scriptcode = FontToScript (fontnum); | 7673 | scriptcode = FontToScript (fontnum); |
| 7229 | #endif | 7674 | #endif |
| 7675 | #if USE_ATSUI | ||
| 7676 | } | ||
| 7677 | #endif | ||
| 7230 | 7678 | ||
| 7231 | font = (MacFontStruct *) xmalloc (sizeof (struct MacFontStruct)); | 7679 | font = (MacFontStruct *) xmalloc (sizeof (struct MacFontStruct)); |
| 7232 | 7680 | ||
| @@ -7234,6 +7682,9 @@ XLoadQueryFont (Display *dpy, char *fontname) | |||
| 7234 | font->mac_fontsize = size; | 7682 | font->mac_fontsize = size; |
| 7235 | font->mac_fontface = fontface; | 7683 | font->mac_fontface = fontface; |
| 7236 | font->mac_scriptcode = scriptcode; | 7684 | font->mac_scriptcode = scriptcode; |
| 7685 | #if USE_ATSUI | ||
| 7686 | font->mac_style = mac_style; | ||
| 7687 | #endif | ||
| 7237 | 7688 | ||
| 7238 | /* Apple Japanese (SJIS) font is listed as both | 7689 | /* Apple Japanese (SJIS) font is listed as both |
| 7239 | "*-jisx0208.1983-sjis" (Japanese script) and "*-jisx0201.1976-0" | 7690 | "*-jisx0208.1983-sjis" (Japanese script) and "*-jisx0201.1976-0" |
| @@ -7244,6 +7695,91 @@ XLoadQueryFont (Display *dpy, char *fontname) | |||
| 7244 | 7695 | ||
| 7245 | font->full_name = mac_to_x_fontname (mfontname_decoded, size, fontface, charset); | 7696 | font->full_name = mac_to_x_fontname (mfontname_decoded, size, fontface, charset); |
| 7246 | 7697 | ||
| 7698 | #if USE_ATSUI | ||
| 7699 | if (font->mac_style) | ||
| 7700 | { | ||
| 7701 | OSErr err; | ||
| 7702 | ATSUTextLayout text_layout; | ||
| 7703 | UniChar c = 0x20; | ||
| 7704 | Rect char_bounds, min_bounds, max_bounds; | ||
| 7705 | int min_width, max_width; | ||
| 7706 | ATSTrapezoid glyph_bounds; | ||
| 7707 | |||
| 7708 | font->per_char = xmalloc (sizeof (XCharStruct) * 0x10000); | ||
| 7709 | if (font->per_char == NULL) | ||
| 7710 | { | ||
| 7711 | mac_unload_font (&one_mac_display_info, font); | ||
| 7712 | return NULL; | ||
| 7713 | } | ||
| 7714 | bzero (font->per_char, sizeof (XCharStruct) * 0x10000); | ||
| 7715 | |||
| 7716 | err = atsu_get_text_layout_with_text_ptr (&c, 1, | ||
| 7717 | font->mac_style, | ||
| 7718 | &text_layout); | ||
| 7719 | if (err != noErr) | ||
| 7720 | { | ||
| 7721 | mac_unload_font (&one_mac_display_info, font); | ||
| 7722 | return NULL; | ||
| 7723 | } | ||
| 7724 | |||
| 7725 | for (c = 0x20; c <= 0x7e; c++) | ||
| 7726 | { | ||
| 7727 | err = ATSUClearLayoutCache (text_layout, kATSUFromTextBeginning); | ||
| 7728 | if (err == noErr) | ||
| 7729 | err = ATSUMeasureTextImage (text_layout, | ||
| 7730 | kATSUFromTextBeginning, kATSUToTextEnd, | ||
| 7731 | 0, 0, &char_bounds); | ||
| 7732 | if (err == noErr) | ||
| 7733 | err = ATSUGetGlyphBounds (text_layout, 0, 0, | ||
| 7734 | kATSUFromTextBeginning, kATSUToTextEnd, | ||
| 7735 | kATSUseFractionalOrigins, 1, | ||
| 7736 | &glyph_bounds, NULL); | ||
| 7737 | if (err == noErr) | ||
| 7738 | { | ||
| 7739 | xassert (glyph_bounds.lowerRight.x - glyph_bounds.lowerLeft.x | ||
| 7740 | == glyph_bounds.upperRight.x - glyph_bounds.upperLeft.x); | ||
| 7741 | |||
| 7742 | char_width = Fix2Long (glyph_bounds.upperRight.x | ||
| 7743 | - glyph_bounds.upperLeft.x); | ||
| 7744 | STORE_XCHARSTRUCT (font->per_char[c], | ||
| 7745 | char_width, char_bounds); | ||
| 7746 | if (c == 0x20) | ||
| 7747 | { | ||
| 7748 | min_width = max_width = char_width; | ||
| 7749 | min_bounds = max_bounds = char_bounds; | ||
| 7750 | font->ascent = -Fix2Long (glyph_bounds.upperLeft.y); | ||
| 7751 | font->descent = Fix2Long (glyph_bounds.lowerLeft.y); | ||
| 7752 | } | ||
| 7753 | else | ||
| 7754 | { | ||
| 7755 | if (char_width > 0) | ||
| 7756 | { | ||
| 7757 | min_width = min (min_width, char_width); | ||
| 7758 | max_width = max (max_width, char_width); | ||
| 7759 | } | ||
| 7760 | if (!EmptyRect (&char_bounds)) | ||
| 7761 | { | ||
| 7762 | SetRect (&min_bounds, | ||
| 7763 | max (min_bounds.left, char_bounds.left), | ||
| 7764 | max (min_bounds.top, char_bounds.top), | ||
| 7765 | min (min_bounds.right, char_bounds.right), | ||
| 7766 | min (min_bounds.bottom, char_bounds.bottom)); | ||
| 7767 | UnionRect (&max_bounds, &char_bounds, &max_bounds); | ||
| 7768 | } | ||
| 7769 | } | ||
| 7770 | } | ||
| 7771 | } | ||
| 7772 | STORE_XCHARSTRUCT (font->min_bounds, min_width, min_bounds); | ||
| 7773 | STORE_XCHARSTRUCT (font->max_bounds, max_width, max_bounds); | ||
| 7774 | |||
| 7775 | font->min_byte1 = 0; | ||
| 7776 | font->max_byte1 = 0xff; | ||
| 7777 | font->min_char_or_byte2 = 0; | ||
| 7778 | font->max_char_or_byte2 = 0xff; | ||
| 7779 | } | ||
| 7780 | else | ||
| 7781 | { | ||
| 7782 | #endif | ||
| 7247 | is_two_byte_font = font->mac_scriptcode == smJapanese || | 7783 | is_two_byte_font = font->mac_scriptcode == smJapanese || |
| 7248 | font->mac_scriptcode == smTradChinese || | 7784 | font->mac_scriptcode == smTradChinese || |
| 7249 | font->mac_scriptcode == smSimpChinese || | 7785 | font->mac_scriptcode == smSimpChinese || |
| @@ -7258,24 +7794,26 @@ XLoadQueryFont (Display *dpy, char *fontname) | |||
| 7258 | font->ascent = the_fontinfo.ascent; | 7794 | font->ascent = the_fontinfo.ascent; |
| 7259 | font->descent = the_fontinfo.descent; | 7795 | font->descent = the_fontinfo.descent; |
| 7260 | 7796 | ||
| 7261 | font->min_byte1 = 0; | ||
| 7262 | if (is_two_byte_font) | ||
| 7263 | font->max_byte1 = 1; | ||
| 7264 | else | ||
| 7265 | font->max_byte1 = 0; | ||
| 7266 | font->min_char_or_byte2 = 0x20; | ||
| 7267 | font->max_char_or_byte2 = 0xff; | ||
| 7268 | |||
| 7269 | if (is_two_byte_font) | 7797 | if (is_two_byte_font) |
| 7270 | { | 7798 | { |
| 7799 | font->min_byte1 = 0xa1; | ||
| 7800 | font->max_byte1 = 0xfe; | ||
| 7801 | font->min_char_or_byte2 = 0xa1; | ||
| 7802 | font->max_char_or_byte2 = 0xfe; | ||
| 7803 | |||
| 7271 | /* Use the width of an "ideographic space" of that font because | 7804 | /* Use the width of an "ideographic space" of that font because |
| 7272 | the_fontinfo.widMax returns the wrong width for some fonts. */ | 7805 | the_fontinfo.widMax returns the wrong width for some fonts. */ |
| 7273 | switch (font->mac_scriptcode) | 7806 | switch (font->mac_scriptcode) |
| 7274 | { | 7807 | { |
| 7275 | case smJapanese: | 7808 | case smJapanese: |
| 7809 | font->min_byte1 = 0x81; | ||
| 7810 | font->max_byte1 = 0xfc; | ||
| 7811 | font->min_char_or_byte2 = 0x40; | ||
| 7812 | font->max_char_or_byte2 = 0xfc; | ||
| 7276 | char_width = StringWidth("\p\x81\x40"); | 7813 | char_width = StringWidth("\p\x81\x40"); |
| 7277 | break; | 7814 | break; |
| 7278 | case smTradChinese: | 7815 | case smTradChinese: |
| 7816 | font->min_char_or_byte2 = 0x40; | ||
| 7279 | char_width = StringWidth("\p\xa1\x40"); | 7817 | char_width = StringWidth("\p\xa1\x40"); |
| 7280 | break; | 7818 | break; |
| 7281 | case smSimpChinese: | 7819 | case smSimpChinese: |
| @@ -7287,9 +7825,15 @@ XLoadQueryFont (Display *dpy, char *fontname) | |||
| 7287 | } | 7825 | } |
| 7288 | } | 7826 | } |
| 7289 | else | 7827 | else |
| 7290 | /* Do this instead of use the_fontinfo.widMax, which incorrectly | 7828 | { |
| 7291 | returns 15 for 12-point Monaco! */ | 7829 | font->min_byte1 = font->max_byte1 = 0; |
| 7292 | char_width = CharWidth ('m'); | 7830 | font->min_char_or_byte2 = 0x20; |
| 7831 | font->max_char_or_byte2 = 0xff; | ||
| 7832 | |||
| 7833 | /* Do this instead of use the_fontinfo.widMax, which incorrectly | ||
| 7834 | returns 15 for 12-point Monaco! */ | ||
| 7835 | char_width = CharWidth ('m'); | ||
| 7836 | } | ||
| 7293 | 7837 | ||
| 7294 | if (is_two_byte_font) | 7838 | if (is_two_byte_font) |
| 7295 | { | 7839 | { |
| @@ -7308,55 +7852,56 @@ XLoadQueryFont (Display *dpy, char *fontname) | |||
| 7308 | } | 7852 | } |
| 7309 | else | 7853 | else |
| 7310 | { | 7854 | { |
| 7311 | font->per_char = (XCharStruct *) | 7855 | int c, min_width, max_width; |
| 7312 | xmalloc (sizeof (XCharStruct) * (0xff - 0x20 + 1)); | 7856 | Rect char_bounds, min_bounds, max_bounds; |
| 7313 | { | 7857 | char ch; |
| 7314 | int c, min_width, max_width; | 7858 | |
| 7315 | Rect char_bounds, min_bounds, max_bounds; | 7859 | font->per_char = xmalloc (sizeof (XCharStruct) * (0xff - 0x20 + 1)); |
| 7316 | char ch; | 7860 | |
| 7317 | 7861 | min_width = max_width = char_width; | |
| 7318 | min_width = max_width = char_width; | 7862 | SetRect (&min_bounds, -32767, -32767, 32767, 32767); |
| 7319 | SetRect (&min_bounds, -32767, -32767, 32767, 32767); | 7863 | SetRect (&max_bounds, 0, 0, 0, 0); |
| 7320 | SetRect (&max_bounds, 0, 0, 0, 0); | 7864 | for (c = 0x20; c <= 0xff; c++) |
| 7321 | for (c = 0x20; c <= 0xff; c++) | 7865 | { |
| 7322 | { | 7866 | ch = c; |
| 7323 | ch = c; | 7867 | char_width = CharWidth (ch); |
| 7324 | char_width = CharWidth (ch); | 7868 | QDTextBounds (1, &ch, &char_bounds); |
| 7325 | QDTextBounds (1, &ch, &char_bounds); | 7869 | STORE_XCHARSTRUCT (font->per_char[c - 0x20], |
| 7326 | STORE_XCHARSTRUCT (font->per_char[c - 0x20], | 7870 | char_width, char_bounds); |
| 7327 | char_width, char_bounds); | 7871 | /* Some Japanese fonts (in SJIS encoding) return 0 as the |
| 7328 | /* Some Japanese fonts (in SJIS encoding) return 0 as the | 7872 | character width of 0x7f. */ |
| 7329 | character width of 0x7f. */ | 7873 | if (char_width > 0) |
| 7330 | if (char_width > 0) | 7874 | { |
| 7331 | { | 7875 | min_width = min (min_width, char_width); |
| 7332 | min_width = min (min_width, char_width); | 7876 | max_width = max (max_width, char_width); |
| 7333 | max_width = max (max_width, char_width); | 7877 | } |
| 7334 | } | 7878 | if (!EmptyRect (&char_bounds)) |
| 7335 | if (!EmptyRect (&char_bounds)) | 7879 | { |
| 7336 | { | 7880 | SetRect (&min_bounds, |
| 7337 | SetRect (&min_bounds, | 7881 | max (min_bounds.left, char_bounds.left), |
| 7338 | max (min_bounds.left, char_bounds.left), | 7882 | max (min_bounds.top, char_bounds.top), |
| 7339 | max (min_bounds.top, char_bounds.top), | 7883 | min (min_bounds.right, char_bounds.right), |
| 7340 | min (min_bounds.right, char_bounds.right), | 7884 | min (min_bounds.bottom, char_bounds.bottom)); |
| 7341 | min (min_bounds.bottom, char_bounds.bottom)); | 7885 | UnionRect (&max_bounds, &char_bounds, &max_bounds); |
| 7342 | UnionRect (&max_bounds, &char_bounds, &max_bounds); | 7886 | } |
| 7343 | } | 7887 | } |
| 7344 | } | 7888 | STORE_XCHARSTRUCT (font->min_bounds, min_width, min_bounds); |
| 7345 | STORE_XCHARSTRUCT (font->min_bounds, min_width, min_bounds); | 7889 | STORE_XCHARSTRUCT (font->max_bounds, max_width, max_bounds); |
| 7346 | STORE_XCHARSTRUCT (font->max_bounds, max_width, max_bounds); | 7890 | if (min_width == max_width |
| 7347 | if (min_width == max_width | 7891 | && max_bounds.left >= 0 && max_bounds.right <= max_width) |
| 7348 | && max_bounds.left >= 0 && max_bounds.right <= max_width) | 7892 | { |
| 7349 | { | 7893 | /* Fixed width and no overhangs. */ |
| 7350 | /* Fixed width and no overhangs. */ | 7894 | xfree (font->per_char); |
| 7351 | xfree (font->per_char); | 7895 | font->per_char = NULL; |
| 7352 | font->per_char = NULL; | 7896 | } |
| 7353 | } | ||
| 7354 | } | ||
| 7355 | } | 7897 | } |
| 7356 | 7898 | ||
| 7357 | TextFont (old_fontnum); /* restore previous font number, size and face */ | 7899 | TextFont (old_fontnum); /* restore previous font number, size and face */ |
| 7358 | TextSize (old_fontsize); | 7900 | TextSize (old_fontsize); |
| 7359 | TextFace (old_fontface); | 7901 | TextFace (old_fontface); |
| 7902 | #if USE_ATSUI | ||
| 7903 | } | ||
| 7904 | #endif | ||
| 7360 | 7905 | ||
| 7361 | return font; | 7906 | return font; |
| 7362 | } | 7907 | } |
| @@ -7370,6 +7915,10 @@ mac_unload_font (dpyinfo, font) | |||
| 7370 | xfree (font->full_name); | 7915 | xfree (font->full_name); |
| 7371 | if (font->per_char) | 7916 | if (font->per_char) |
| 7372 | xfree (font->per_char); | 7917 | xfree (font->per_char); |
| 7918 | #if USE_ATSUI | ||
| 7919 | if (font->mac_style) | ||
| 7920 | ATSUDisposeStyle (font->mac_style); | ||
| 7921 | #endif | ||
| 7373 | xfree (font); | 7922 | xfree (font); |
| 7374 | } | 7923 | } |
| 7375 | 7924 | ||
| @@ -10214,75 +10763,6 @@ init_quit_char_handler () | |||
| 10214 | 10763 | ||
| 10215 | mac_determine_quit_char_modifiers(); | 10764 | mac_determine_quit_char_modifiers(); |
| 10216 | } | 10765 | } |
| 10217 | |||
| 10218 | static Boolean | ||
| 10219 | quit_char_comp (EventRef inEvent, void *inCompData) | ||
| 10220 | { | ||
| 10221 | if (GetEventClass(inEvent) != kEventClassKeyboard) | ||
| 10222 | return false; | ||
| 10223 | if (GetEventKind(inEvent) != kEventRawKeyDown) | ||
| 10224 | return false; | ||
| 10225 | { | ||
| 10226 | UInt32 keyCode; | ||
| 10227 | UInt32 keyModifiers; | ||
| 10228 | GetEventParameter(inEvent, kEventParamKeyCode, | ||
| 10229 | typeUInt32, NULL, sizeof(UInt32), NULL, &keyCode); | ||
| 10230 | if (keyCode != mac_quit_char_keycode) | ||
| 10231 | return false; | ||
| 10232 | GetEventParameter(inEvent, kEventParamKeyModifiers, | ||
| 10233 | typeUInt32, NULL, sizeof(UInt32), NULL, &keyModifiers); | ||
| 10234 | if (keyModifiers != mac_quit_char_modifiers) | ||
| 10235 | return false; | ||
| 10236 | } | ||
| 10237 | return true; | ||
| 10238 | } | ||
| 10239 | |||
| 10240 | void | ||
| 10241 | mac_check_for_quit_char () | ||
| 10242 | { | ||
| 10243 | EventRef event; | ||
| 10244 | static EMACS_TIME last_check_time = { 0, 0 }; | ||
| 10245 | static EMACS_TIME one_second = { 1, 0 }; | ||
| 10246 | EMACS_TIME now, t; | ||
| 10247 | |||
| 10248 | /* If windows are not initialized, return immediately (keep it bouncin'). */ | ||
| 10249 | if (!mac_quit_char_modifiers) | ||
| 10250 | return; | ||
| 10251 | |||
| 10252 | /* Don't check if last check is less than a second ago. */ | ||
| 10253 | EMACS_GET_TIME (now); | ||
| 10254 | EMACS_SUB_TIME (t, now, last_check_time); | ||
| 10255 | if (EMACS_TIME_LT (t, one_second)) | ||
| 10256 | return; | ||
| 10257 | last_check_time = now; | ||
| 10258 | |||
| 10259 | /* Redetermine modifiers because they are based on lisp variables */ | ||
| 10260 | mac_determine_quit_char_modifiers (); | ||
| 10261 | |||
| 10262 | /* Fill the queue with events */ | ||
| 10263 | BLOCK_INPUT; | ||
| 10264 | ReceiveNextEvent (0, NULL, kEventDurationNoWait, false, &event); | ||
| 10265 | event = FindSpecificEventInQueue (GetMainEventQueue (), quit_char_comp, | ||
| 10266 | NULL); | ||
| 10267 | UNBLOCK_INPUT; | ||
| 10268 | if (event) | ||
| 10269 | { | ||
| 10270 | struct input_event e; | ||
| 10271 | |||
| 10272 | /* Use an input_event to emulate what the interrupt handler does. */ | ||
| 10273 | EVENT_INIT (e); | ||
| 10274 | e.kind = ASCII_KEYSTROKE_EVENT; | ||
| 10275 | e.code = quit_char; | ||
| 10276 | e.arg = Qnil; | ||
| 10277 | e.modifiers = NULL; | ||
| 10278 | e.timestamp = EventTimeToTicks (GetEventTime (event)) * (1000/60); | ||
| 10279 | XSETFRAME (e.frame_or_window, mac_focus_frame (&one_mac_display_info)); | ||
| 10280 | /* Remove event from queue to prevent looping. */ | ||
| 10281 | RemoveEventFromQueue (GetMainEventQueue (), event); | ||
| 10282 | ReleaseEvent (event); | ||
| 10283 | kbd_buffer_store_event (&e); | ||
| 10284 | } | ||
| 10285 | } | ||
| 10286 | #endif /* MAC_OSX */ | 10766 | #endif /* MAC_OSX */ |
| 10287 | 10767 | ||
| 10288 | static void | 10768 | static void |
| @@ -10460,6 +10940,11 @@ syms_of_macterm () | |||
| 10460 | Qmac_ready_for_drag_n_drop = intern ("mac-ready-for-drag-n-drop"); | 10940 | Qmac_ready_for_drag_n_drop = intern ("mac-ready-for-drag-n-drop"); |
| 10461 | staticpro (&Qmac_ready_for_drag_n_drop); | 10941 | staticpro (&Qmac_ready_for_drag_n_drop); |
| 10462 | 10942 | ||
| 10943 | #if USE_ATSUI | ||
| 10944 | staticpro (&atsu_font_id_hash); | ||
| 10945 | atsu_font_id_hash = Qnil; | ||
| 10946 | #endif | ||
| 10947 | |||
| 10463 | DEFVAR_LISP ("x-toolkit-scroll-bars", &Vx_toolkit_scroll_bars, | 10948 | DEFVAR_LISP ("x-toolkit-scroll-bars", &Vx_toolkit_scroll_bars, |
| 10464 | doc: /* If not nil, Emacs uses toolkit scroll bars. */); | 10949 | doc: /* If not nil, Emacs uses toolkit scroll bars. */); |
| 10465 | #ifdef USE_TOOLKIT_SCROLL_BARS | 10950 | #ifdef USE_TOOLKIT_SCROLL_BARS |
diff --git a/src/minibuf.c b/src/minibuf.c index c0624bd29b4..b7f9fd4838c 100644 --- a/src/minibuf.c +++ b/src/minibuf.c | |||
| @@ -1132,11 +1132,14 @@ DEFUN ("read-buffer", Fread_buffer, Sread_buffer, 1, 3, 0, | |||
| 1132 | Prompt with PROMPT. | 1132 | Prompt with PROMPT. |
| 1133 | Optional second arg DEF is value to return if user enters an empty line. | 1133 | Optional second arg DEF is value to return if user enters an empty line. |
| 1134 | If optional third arg REQUIRE-MATCH is non-nil, | 1134 | If optional third arg REQUIRE-MATCH is non-nil, |
| 1135 | only existing buffer names are allowed. */) | 1135 | only existing buffer names are allowed. |
| 1136 | The argument PROMPT should be a string ending with a colon and a space. */) | ||
| 1136 | (prompt, def, require_match) | 1137 | (prompt, def, require_match) |
| 1137 | Lisp_Object prompt, def, require_match; | 1138 | Lisp_Object prompt, def, require_match; |
| 1138 | { | 1139 | { |
| 1139 | Lisp_Object args[4]; | 1140 | Lisp_Object args[4]; |
| 1141 | unsigned char *s; | ||
| 1142 | int len; | ||
| 1140 | 1143 | ||
| 1141 | if (BUFFERP (def)) | 1144 | if (BUFFERP (def)) |
| 1142 | def = XBUFFER (def)->name; | 1145 | def = XBUFFER (def)->name; |
| @@ -1145,7 +1148,26 @@ If optional third arg REQUIRE-MATCH is non-nil, | |||
| 1145 | { | 1148 | { |
| 1146 | if (!NILP (def)) | 1149 | if (!NILP (def)) |
| 1147 | { | 1150 | { |
| 1148 | args[0] = build_string ("%s(default %s) "); | 1151 | /* A default value was provided: we must change PROMPT, |
| 1152 | editing the default value in before the colon. To achieve | ||
| 1153 | this, we replace PROMPT with a substring that doesn't | ||
| 1154 | contain the terminal space and colon (if present). They | ||
| 1155 | are then added back using Fformat. */ | ||
| 1156 | |||
| 1157 | if (STRINGP (prompt)) | ||
| 1158 | { | ||
| 1159 | s = SDATA (prompt); | ||
| 1160 | len = strlen (s); | ||
| 1161 | if (len >= 2 && s[len - 2] == ':' && s[len - 1] == ' ') | ||
| 1162 | len = len - 2; | ||
| 1163 | else if (len >= 1 && (s[len - 1] == ':' || s[len - 1] == ' ')) | ||
| 1164 | len--; | ||
| 1165 | |||
| 1166 | prompt = make_specified_string (s, -1, len, | ||
| 1167 | STRING_MULTIBYTE (prompt)); | ||
| 1168 | } | ||
| 1169 | |||
| 1170 | args[0] = build_string ("%s (default %s): "); | ||
| 1149 | args[1] = prompt; | 1171 | args[1] = prompt; |
| 1150 | args[2] = def; | 1172 | args[2] = def; |
| 1151 | prompt = Fformat (3, args); | 1173 | prompt = Fformat (3, args); |
diff --git a/src/process.c b/src/process.c index bebced812e8..b66c768c256 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -118,10 +118,10 @@ Boston, MA 02110-1301, USA. */ | |||
| 118 | #include <sys/wait.h> | 118 | #include <sys/wait.h> |
| 119 | #endif | 119 | #endif |
| 120 | 120 | ||
| 121 | #include "lisp.h" | ||
| 121 | #include "systime.h" | 122 | #include "systime.h" |
| 122 | #include "systty.h" | 123 | #include "systty.h" |
| 123 | 124 | ||
| 124 | #include "lisp.h" | ||
| 125 | #include "window.h" | 125 | #include "window.h" |
| 126 | #include "buffer.h" | 126 | #include "buffer.h" |
| 127 | #include "character.h" | 127 | #include "character.h" |
diff --git a/src/regex.c b/src/regex.c index bc1ade0bb6e..412fd1d524d 100644 --- a/src/regex.c +++ b/src/regex.c | |||
| @@ -1290,9 +1290,9 @@ static re_char *whitespace_regexp; | |||
| 1290 | 1290 | ||
| 1291 | void | 1291 | void |
| 1292 | re_set_whitespace_regexp (regexp) | 1292 | re_set_whitespace_regexp (regexp) |
| 1293 | re_char *regexp; | 1293 | const char *regexp; |
| 1294 | { | 1294 | { |
| 1295 | whitespace_regexp = regexp; | 1295 | whitespace_regexp = (re_char *) regexp; |
| 1296 | } | 1296 | } |
| 1297 | WEAK_ALIAS (__re_set_syntax, re_set_syntax) | 1297 | WEAK_ALIAS (__re_set_syntax, re_set_syntax) |
| 1298 | 1298 | ||
diff --git a/src/regex.h b/src/regex.h index 68db62d34e0..8a669541ff1 100644 --- a/src/regex.h +++ b/src/regex.h | |||
| @@ -609,8 +609,13 @@ typedef enum { RECC_ERROR = 0, | |||
| 609 | RECC_ASCII, RECC_UNIBYTE | 609 | RECC_ASCII, RECC_UNIBYTE |
| 610 | } re_wctype_t; | 610 | } re_wctype_t; |
| 611 | 611 | ||
| 612 | extern char re_iswctype (int ch, re_wctype_t cc); | ||
| 613 | extern re_wctype_t re_wctype (const unsigned char* str); | ||
| 614 | |||
| 612 | typedef int re_wchar_t; | 615 | typedef int re_wchar_t; |
| 613 | 616 | ||
| 617 | extern void re_set_whitespace_regexp (const char *regexp); | ||
| 618 | |||
| 614 | #endif /* not WIDE_CHAR_SUPPORT */ | 619 | #endif /* not WIDE_CHAR_SUPPORT */ |
| 615 | 620 | ||
| 616 | #endif /* regex.h */ | 621 | #endif /* regex.h */ |
diff --git a/src/systime.h b/src/systime.h index 1d0022e93d7..9851db4cf33 100644 --- a/src/systime.h +++ b/src/systime.h | |||
| @@ -157,6 +157,14 @@ extern int set_file_times __P ((const char *, EMACS_TIME, EMACS_TIME)); | |||
| 157 | /* defined in keyboard.c */ | 157 | /* defined in keyboard.c */ |
| 158 | extern void set_waiting_for_input __P ((EMACS_TIME *)); | 158 | extern void set_waiting_for_input __P ((EMACS_TIME *)); |
| 159 | 159 | ||
| 160 | /* When lisp.h is not included Lisp_Object is not defined (this can | ||
| 161 | happen when this files is used outside the src directory). | ||
| 162 | Use GCPRO1 to determine if lisp.h was included. */ | ||
| 163 | #ifdef GCPRO1 | ||
| 164 | /* defined in dired.c */ | ||
| 165 | extern Lisp_Object make_time __P ((time_t)); | ||
| 166 | #endif | ||
| 167 | |||
| 160 | /* Compare times T1 and T2. Value is 0 if T1 and T2 are the same. | 168 | /* Compare times T1 and T2. Value is 0 if T1 and T2 are the same. |
| 161 | Value is < 0 if T1 is less than T2. Value is > 0 otherwise. */ | 169 | Value is < 0 if T1 is less than T2. Value is > 0 otherwise. */ |
| 162 | 170 | ||
diff --git a/src/unexelf.c b/src/unexelf.c index ee563b36a97..e33a9a1aeb3 100644 --- a/src/unexelf.c +++ b/src/unexelf.c | |||
| @@ -412,7 +412,7 @@ temacs: | |||
| 412 | #include <string.h> | 412 | #include <string.h> |
| 413 | #else | 413 | #else |
| 414 | #include <config.h> | 414 | #include <config.h> |
| 415 | extern void fatal (char *, ...); | 415 | extern void fatal (const char *msgid, ...); |
| 416 | #endif | 416 | #endif |
| 417 | 417 | ||
| 418 | #include <sys/types.h> | 418 | #include <sys/types.h> |
diff --git a/src/window.c b/src/window.c index 198edd3d6d8..9a0d256cdce 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -6225,6 +6225,85 @@ usage: (save-window-excursion BODY ...) */) | |||
| 6225 | return unbind_to (count, val); | 6225 | return unbind_to (count, val); |
| 6226 | } | 6226 | } |
| 6227 | 6227 | ||
| 6228 | |||
| 6229 | |||
| 6230 | /*********************************************************************** | ||
| 6231 | Window Split Tree | ||
| 6232 | ***********************************************************************/ | ||
| 6233 | |||
| 6234 | static Lisp_Object | ||
| 6235 | window_split_tree (w) | ||
| 6236 | struct window *w; | ||
| 6237 | { | ||
| 6238 | Lisp_Object tail = Qnil; | ||
| 6239 | Lisp_Object result = Qnil; | ||
| 6240 | |||
| 6241 | while (w) | ||
| 6242 | { | ||
| 6243 | Lisp_Object wn; | ||
| 6244 | |||
| 6245 | XSETWINDOW (wn, w); | ||
| 6246 | if (!NILP (w->hchild)) | ||
| 6247 | wn = Fcons (Qnil, Fcons (Fwindow_edges (wn), | ||
| 6248 | window_split_tree (XWINDOW (w->hchild)))); | ||
| 6249 | else if (!NILP (w->vchild)) | ||
| 6250 | wn = Fcons (Qt, Fcons (Fwindow_edges (wn), | ||
| 6251 | window_split_tree (XWINDOW (w->vchild)))); | ||
| 6252 | |||
| 6253 | if (NILP (result)) | ||
| 6254 | { | ||
| 6255 | result = tail = Fcons (wn, Qnil); | ||
| 6256 | } | ||
| 6257 | else | ||
| 6258 | { | ||
| 6259 | XSETCDR (tail, Fcons (wn, Qnil)); | ||
| 6260 | tail = XCDR (tail); | ||
| 6261 | } | ||
| 6262 | |||
| 6263 | w = NILP (w->next) ? 0 : XWINDOW (w->next); | ||
| 6264 | } | ||
| 6265 | |||
| 6266 | return result; | ||
| 6267 | } | ||
| 6268 | |||
| 6269 | |||
| 6270 | |||
| 6271 | DEFUN ("window-split-tree", Fwindow_split_tree, Swindow_split_tree, | ||
| 6272 | 0, 1, 0, | ||
| 6273 | doc: /* Return the window split tree for frame FRAME. | ||
| 6274 | |||
| 6275 | The return value is a list of the form (ROOT MINI), where ROOT | ||
| 6276 | represents the window split tree of the frame's root window, and MINI | ||
| 6277 | is the frame's minibuffer window. | ||
| 6278 | |||
| 6279 | If the root window is not split, ROOT is the root window itself. | ||
| 6280 | Otherwise, ROOT is a list (DIR EDGES W1 W2 ...) where DIR is nil for a | ||
| 6281 | horisontal split, and t for a vertical split, EDGES gives the combined | ||
| 6282 | size and position of the subwindows in the split, and the rest of the | ||
| 6283 | elements are the subwindows in the split. Each of the subwindows may | ||
| 6284 | again be a window or a list representing a window split, and so on. | ||
| 6285 | EDGES is a list \(LEFT TOP RIGHT BOTTOM) as returned by `window-edges'. | ||
| 6286 | |||
| 6287 | If FRAME is nil or omitted, return information on the currently | ||
| 6288 | selected frame. */) | ||
| 6289 | (frame) | ||
| 6290 | Lisp_Object frame; | ||
| 6291 | { | ||
| 6292 | Lisp_Object alist; | ||
| 6293 | FRAME_PTR f; | ||
| 6294 | |||
| 6295 | if (NILP (frame)) | ||
| 6296 | frame = selected_frame; | ||
| 6297 | |||
| 6298 | CHECK_FRAME (frame); | ||
| 6299 | f = XFRAME (frame); | ||
| 6300 | |||
| 6301 | if (!FRAME_LIVE_P (f)) | ||
| 6302 | return Qnil; | ||
| 6303 | |||
| 6304 | return window_split_tree (XWINDOW (FRAME_ROOT_WINDOW (f))); | ||
| 6305 | } | ||
| 6306 | |||
| 6228 | 6307 | ||
| 6229 | /*********************************************************************** | 6308 | /*********************************************************************** |
| 6230 | Marginal Areas | 6309 | Marginal Areas |
| @@ -7031,6 +7110,7 @@ The selected frame is the one whose configuration has changed. */); | |||
| 7031 | defsubr (&Sset_window_configuration); | 7110 | defsubr (&Sset_window_configuration); |
| 7032 | defsubr (&Scurrent_window_configuration); | 7111 | defsubr (&Scurrent_window_configuration); |
| 7033 | defsubr (&Ssave_window_excursion); | 7112 | defsubr (&Ssave_window_excursion); |
| 7113 | defsubr (&Swindow_split_tree); | ||
| 7034 | defsubr (&Sset_window_margins); | 7114 | defsubr (&Sset_window_margins); |
| 7035 | defsubr (&Swindow_margins); | 7115 | defsubr (&Swindow_margins); |
| 7036 | defsubr (&Sset_window_fringes); | 7116 | defsubr (&Sset_window_fringes); |
diff --git a/src/xdisp.c b/src/xdisp.c index 27ab728502a..ef125409076 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -12943,7 +12943,8 @@ try_window (window, pos, check_margins) | |||
| 12943 | this_scroll_margin *= FRAME_LINE_HEIGHT (it.f); | 12943 | this_scroll_margin *= FRAME_LINE_HEIGHT (it.f); |
| 12944 | 12944 | ||
| 12945 | if ((w->cursor.y < this_scroll_margin | 12945 | if ((w->cursor.y < this_scroll_margin |
| 12946 | && CHARPOS (pos) > BEGV) | 12946 | && CHARPOS (pos) > BEGV |
| 12947 | && IT_CHARPOS (it) < ZV) | ||
| 12947 | /* rms: considering make_cursor_line_fully_visible_p here | 12948 | /* rms: considering make_cursor_line_fully_visible_p here |
| 12948 | seems to give wrong results. We don't want to recenter | 12949 | seems to give wrong results. We don't want to recenter |
| 12949 | when the last line is partly visible, we want to allow | 12950 | when the last line is partly visible, we want to allow |
diff --git a/src/xfaces.c b/src/xfaces.c index 34bee3298ba..df8dc15f022 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -1475,7 +1475,9 @@ tty_color_name (f, idx) | |||
| 1475 | 1475 | ||
| 1476 | 1476 | ||
| 1477 | /* Return non-zero if COLOR_NAME is a shade of gray (or white or | 1477 | /* Return non-zero if COLOR_NAME is a shade of gray (or white or |
| 1478 | black) on frame F. The algorithm is taken from 20.2 faces.el. */ | 1478 | black) on frame F. |
| 1479 | |||
| 1480 | The criterion implemented here is not a terribly sophisticated one. */ | ||
| 1479 | 1481 | ||
| 1480 | static int | 1482 | static int |
| 1481 | face_color_gray_p (f, color_name) | 1483 | face_color_gray_p (f, color_name) |
| @@ -1486,12 +1488,15 @@ face_color_gray_p (f, color_name) | |||
| 1486 | int gray_p; | 1488 | int gray_p; |
| 1487 | 1489 | ||
| 1488 | if (defined_color (f, color_name, &color, 0)) | 1490 | if (defined_color (f, color_name, &color, 0)) |
| 1489 | gray_p = ((abs (color.red - color.green) | 1491 | gray_p = (/* Any color sufficiently close to black counts as grey. */ |
| 1490 | < max (color.red, color.green) / 20) | 1492 | (color.red < 5000 && color.green < 5000 && color.blue < 5000) |
| 1491 | && (abs (color.green - color.blue) | 1493 | || |
| 1492 | < max (color.green, color.blue) / 20) | 1494 | ((abs (color.red - color.green) |
| 1493 | && (abs (color.blue - color.red) | 1495 | < max (color.red, color.green) / 20) |
| 1494 | < max (color.blue, color.red) / 20)); | 1496 | && (abs (color.green - color.blue) |
| 1497 | < max (color.green, color.blue) / 20) | ||
| 1498 | && (abs (color.blue - color.red) | ||
| 1499 | < max (color.blue, color.red) / 20))); | ||
| 1495 | else | 1500 | else |
| 1496 | gray_p = 0; | 1501 | gray_p = 0; |
| 1497 | 1502 | ||
diff --git a/src/xsmfns.c b/src/xsmfns.c index 0215d562548..e7f3e6fa3e5 100644 --- a/src/xsmfns.c +++ b/src/xsmfns.c | |||
| @@ -45,9 +45,9 @@ Boston, MA 02110-1301, USA. */ | |||
| 45 | #include <sys/param.h> | 45 | #include <sys/param.h> |
| 46 | #include <stdio.h> | 46 | #include <stdio.h> |
| 47 | 47 | ||
| 48 | #include "lisp.h" | ||
| 48 | #include "systime.h" | 49 | #include "systime.h" |
| 49 | #include "sysselect.h" | 50 | #include "sysselect.h" |
| 50 | #include "lisp.h" | ||
| 51 | #include "termhooks.h" | 51 | #include "termhooks.h" |
| 52 | #include "termopts.h" | 52 | #include "termopts.h" |
| 53 | #include "xterm.h" | 53 | #include "xterm.h" |
diff --git a/src/xterm.c b/src/xterm.c index 3b94e3b871c..5b7d45fe228 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -6237,7 +6237,7 @@ handle_one_xevent (dpyinfo, eventp, finish, hold_quit) | |||
| 6237 | if (status_return == XBufferOverflow) | 6237 | if (status_return == XBufferOverflow) |
| 6238 | { | 6238 | { |
| 6239 | copy_bufsiz = nbytes + 1; | 6239 | copy_bufsiz = nbytes + 1; |
| 6240 | copy_bufptr = (char *) alloca (copy_bufsiz); | 6240 | copy_bufptr = (unsigned char *) alloca (copy_bufsiz); |
| 6241 | nbytes = XmbLookupString (FRAME_XIC (f), | 6241 | nbytes = XmbLookupString (FRAME_XIC (f), |
| 6242 | &event.xkey, copy_bufptr, | 6242 | &event.xkey, copy_bufptr, |
| 6243 | copy_bufsiz, &keysym, | 6243 | copy_bufsiz, &keysym, |
| @@ -6255,7 +6255,7 @@ handle_one_xevent (dpyinfo, eventp, finish, hold_quit) | |||
| 6255 | if (status_return == XBufferOverflow) | 6255 | if (status_return == XBufferOverflow) |
| 6256 | { | 6256 | { |
| 6257 | copy_bufsiz = nbytes + 1; | 6257 | copy_bufsiz = nbytes + 1; |
| 6258 | copy_bufptr = (char *) alloca (copy_bufsiz); | 6258 | copy_bufptr = (unsigned char *) alloca (copy_bufsiz); |
| 6259 | nbytes = Xutf8LookupString (FRAME_XIC (f), | 6259 | nbytes = Xutf8LookupString (FRAME_XIC (f), |
| 6260 | &event.xkey, | 6260 | &event.xkey, |
| 6261 | copy_bufptr, | 6261 | copy_bufptr, |