diff options
| author | Karoly Lorentey | 2005-03-06 13:31:20 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2005-03-06 13:31:20 +0000 |
| commit | a0d878a9ccbfb7c68dd7cfbe05c2b71b9bd5c830 (patch) | |
| tree | 79ba80d6f6c4b787c60b36ebcd87c1b26f0906e1 | |
| parent | ab455350da7728b0f8e1daf92c084092d8a04c29 (diff) | |
| parent | be6e87e51aaa3a114bc4ff2ceccbc7c9aa2b30d0 (diff) | |
| download | emacs-a0d878a9ccbfb7c68dd7cfbe05c2b71b9bd5c830.tar.gz emacs-a0d878a9ccbfb7c68dd7cfbe05c2b71b9bd5c830.zip | |
Merged from miles@gnu.org--gnu-2005 (patch 34-36, 142-158)
Patches applied:
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-142
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-143
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-144
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-145
(make-text-button): Default button type if not specified
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-146
quick-install-emacs: Use mkdir --verbose only when requested
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-147
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-148
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-149
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-150
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-151
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-152
Add info/dir to arch branch
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-153
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-154
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-155
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-156
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-157
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-158
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-34
Merge from emacs--cvs-trunk--0
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-35
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-36
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-303
67 files changed, 1307 insertions, 484 deletions
diff --git a/.arch-inventory b/.arch-inventory index 8d55bbd3512..66aae859b87 100644 --- a/.arch-inventory +++ b/.arch-inventory | |||
| @@ -1,9 +1,6 @@ | |||
| 1 | # Generated files | 1 | # Generated files |
| 2 | precious ^(config\.status|config\.cache)$ | 2 | precious ^(config\.status|config\.cache)$ |
| 3 | 3 | ||
| 4 | # Build-in-place makes these directories, so just ignore them | ||
| 5 | precious ^(info)$ | ||
| 6 | |||
| 7 | # Install-in-place makes these directories, so just ignore them | 4 | # Install-in-place makes these directories, so just ignore them |
| 8 | backup ^(bin|data|lock|site-lisp)$ | 5 | backup ^(bin|data|lock|site-lisp)$ |
| 9 | 6 | ||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2005-03-04 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 2 | |||
| 3 | * configure.in: Added --enable-asserts. | ||
| 4 | * configure: Regenerate. | ||
| 5 | |||
| 1 | 2005-02-09 Kim F. Storm <storm@cua.dk> | 6 | 2005-02-09 Kim F. Storm <storm@cua.dk> |
| 2 | 7 | ||
| 3 | Change release version from 21.4 to 22.1 throughout. | 8 | Change release version from 21.4 to 22.1 throughout. |
diff --git a/admin/ChangeLog b/admin/ChangeLog index dbc48dfa696..efcd9b2d5e5 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2005-03-02 Miles Bader <miles@gnu.org> | ||
| 2 | |||
| 3 | * quick-install-emacs: Only use the mkdir --verbose option if the | ||
| 4 | script's --verbose option was specified (this avoids problems with | ||
| 5 | default usage on systems where mkdir doesn't support that option). | ||
| 6 | |||
| 1 | 2005-02-15 Jason Rumney <jasonr@gnu.org> | 7 | 2005-02-15 Jason Rumney <jasonr@gnu.org> |
| 2 | 8 | ||
| 3 | * nt/makedist.bat: Do not rely on non-standard behaviour of | 9 | * nt/makedist.bat: Do not rely on non-standard behaviour of |
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index e4d0795cc67..ca6f2d94724 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE | |||
| @@ -37,9 +37,6 @@ invalid pointer from string_free_list. | |||
| 37 | 37 | ||
| 38 | ** Fix up url-ldap.el. | 38 | ** Fix up url-ldap.el. |
| 39 | 39 | ||
| 40 | ** url/*.el has lots of `(declare (special ...))' which | ||
| 41 | are meaningless. What's that trying to do? | ||
| 42 | |||
| 43 | * BUGS | 40 | * BUGS |
| 44 | 41 | ||
| 45 | ** Ange-ftp should ignore irrelevant IPv6 errors: | 42 | ** Ange-ftp should ignore irrelevant IPv6 errors: |
| @@ -242,7 +239,7 @@ lispref/commands.texi "Luc Teirlinck" Chong Yidong | |||
| 242 | lispref/compile.texi "Luc Teirlinck" Chong Yidong | 239 | lispref/compile.texi "Luc Teirlinck" Chong Yidong |
| 243 | lispref/control.texi "Luc Teirlinck" Chong Yidong | 240 | lispref/control.texi "Luc Teirlinck" Chong Yidong |
| 244 | lispref/customize.texi | 241 | lispref/customize.texi |
| 245 | lispref/debugging.texi Joakim Verona <joakim@verona.se> | 242 | lispref/debugging.texi Joakim Verona <joakim@verona.se> Lute Kamstra |
| 246 | lispref/display.texi | 243 | lispref/display.texi |
| 247 | lispref/edebug.texi | 244 | lispref/edebug.texi |
| 248 | lispref/elisp.texi "Luc Teirlinck" | 245 | lispref/elisp.texi "Luc Teirlinck" |
diff --git a/admin/quick-install-emacs b/admin/quick-install-emacs index 16cd936a783..9a9d1203d96 100755 --- a/admin/quick-install-emacs +++ b/admin/quick-install-emacs | |||
| @@ -19,15 +19,16 @@ VERBOSE='' | |||
| 19 | 19 | ||
| 20 | me="`basename $0`" | 20 | me="`basename $0`" |
| 21 | 21 | ||
| 22 | # Install commands (these commands are also expected to understand the | 22 | # Install commands (if the user specifies the `--verbose' option, it is |
| 23 | # GNU -v (--verbose) option) | 23 | # passed to these commands, so that feature only works if these commands |
| 24 | # implement it too) | ||
| 24 | LINK='cp -lf' | 25 | LINK='cp -lf' |
| 25 | COPY='cp -f' | 26 | COPY='cp -f' |
| 26 | REMOVE='rm -r' | 27 | REMOVE='rm -r' |
| 28 | MKDIR='mkdir -p' | ||
| 27 | 29 | ||
| 28 | # Used to execute commands once once we create them | 30 | # Used to execute commands once once we create them |
| 29 | EXEC='sh' | 31 | EXEC='sh' |
| 30 | MKDIR='mkdir --verbose -p' | ||
| 31 | 32 | ||
| 32 | NAWK=/usr/bin/nawk | 33 | NAWK=/usr/bin/nawk |
| 33 | 34 | ||
| @@ -157,7 +158,7 @@ DST_INFO="$prefix/info" | |||
| 157 | maybe_mkdir () | 158 | maybe_mkdir () |
| 158 | { | 159 | { |
| 159 | if ! test -d "$1"; then | 160 | if ! test -d "$1"; then |
| 160 | $MKDIR "$1" 2>&1 | sed "s/^mkdir:/$me:/" 1>&2 | 161 | $MKDIR $VERBOSE "$1" 2>&1 | sed "s/^mkdir:/$me:/" 1>&2 |
| 161 | fi | 162 | fi |
| 162 | } | 163 | } |
| 163 | 164 | ||
| @@ -856,6 +856,7 @@ Optional Features: | |||
| 856 | --enable-FEATURE[=ARG] include FEATURE [ARG=yes] | 856 | --enable-FEATURE[=ARG] include FEATURE [ARG=yes] |
| 857 | --enable-carbon-app[=DIR] [DIR=/Application] | 857 | --enable-carbon-app[=DIR] [DIR=/Application] |
| 858 | specify install directory for Emacs.app on Mac OS X | 858 | specify install directory for Emacs.app on Mac OS X |
| 859 | --enable-asserts compile code with asserts enabled | ||
| 859 | --enable-maintainer-mode enable make rules and dependencies not useful | 860 | --enable-maintainer-mode enable make rules and dependencies not useful |
| 860 | (and sometimes confusing) to the casual installer | 861 | (and sometimes confusing) to the casual installer |
| 861 | --disable-largefile omit support for large files | 862 | --disable-largefile omit support for large files |
| @@ -1520,6 +1521,14 @@ if test "${enable_carbon_app+set}" = set; then | |||
| 1520 | carbon_appdir_x=${enableval} | 1521 | carbon_appdir_x=${enableval} |
| 1521 | fi; | 1522 | fi; |
| 1522 | 1523 | ||
| 1524 | # Check whether --enable-asserts or --disable-asserts was given. | ||
| 1525 | if test "${enable_asserts+set}" = set; then | ||
| 1526 | enableval="$enable_asserts" | ||
| 1527 | USE_XASSERTS=$enableval | ||
| 1528 | else | ||
| 1529 | USE_XASSERTS=no | ||
| 1530 | fi; | ||
| 1531 | |||
| 1523 | # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. | 1532 | # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. |
| 1524 | if test "${enable_maintainer_mode+set}" = set; then | 1533 | if test "${enable_maintainer_mode+set}" = set; then |
| 1525 | enableval="$enable_maintainer_mode" | 1534 | enableval="$enable_maintainer_mode" |
| @@ -21976,28 +21985,14 @@ echo " Does Emacs use -lpng? ${HAVE_PNG}" | |||
| 21976 | echo " Does Emacs use X toolkit scroll bars? ${USE_TOOLKIT_SCROLL_BARS}" | 21985 | echo " Does Emacs use X toolkit scroll bars? ${USE_TOOLKIT_SCROLL_BARS}" |
| 21977 | echo | 21986 | echo |
| 21978 | 21987 | ||
| 21979 | if test "$emacs_cv_randomheap" = warn; then | 21988 | if test $USE_XASSERTS = yes; then |
| 21980 | { echo "$as_me:$LINENO: WARNING: | 21989 | echo " Compiling with asserts turned on." |
| 21981 | ********************************************************************** | 21990 | CFLAGS="$CFLAGS -DXASSERTS=1" |
| 21982 | 21991 | CPPFLAGS="$CPPFLAGS -DXASSERTS=1" | |
| 21983 | Heap start address is randomized and no workaround is known. | 21992 | echo |
| 21984 | Emacs will probably dump core when temacs is run in the build phase. | 21993 | fi |
| 21985 | Maybe exec-shield is turned on. Read about exec-shield in \`etc/PROBLEMS' | ||
| 21986 | for further information. | ||
| 21987 | |||
| 21988 | ********************************************************************** | ||
| 21989 | " >&5 | ||
| 21990 | echo "$as_me: WARNING: | ||
| 21991 | ********************************************************************** | ||
| 21992 | 21994 | ||
| 21993 | Heap start address is randomized and no workaround is known. | ||
| 21994 | Emacs will probably dump core when temacs is run in the build phase. | ||
| 21995 | Maybe exec-shield is turned on. Read about exec-shield in \`etc/PROBLEMS' | ||
| 21996 | for further information. | ||
| 21997 | 21995 | ||
| 21998 | ********************************************************************** | ||
| 21999 | " >&2;} | ||
| 22000 | fi | ||
| 22001 | 21996 | ||
| 22002 | # Remove any trailing slashes in these variables. | 21997 | # Remove any trailing slashes in these variables. |
| 22003 | test "${prefix}" != NONE && | 21998 | test "${prefix}" != NONE && |
diff --git a/configure.in b/configure.in index 0be1a465962..a23b28f0cf8 100644 --- a/configure.in +++ b/configure.in | |||
| @@ -125,6 +125,11 @@ AC_ARG_ENABLE(carbon-app, | |||
| 125 | specify install directory for Emacs.app on Mac OS X]], | 125 | specify install directory for Emacs.app on Mac OS X]], |
| 126 | [ carbon_appdir_x=${enableval}]) | 126 | [ carbon_appdir_x=${enableval}]) |
| 127 | 127 | ||
| 128 | AC_ARG_ENABLE(asserts, | ||
| 129 | [ --enable-asserts compile code with asserts enabled], | ||
| 130 | USE_XASSERTS=$enableval, | ||
| 131 | USE_XASSERTS=no) | ||
| 132 | |||
| 128 | AC_ARG_ENABLE(maintainer-mode, | 133 | AC_ARG_ENABLE(maintainer-mode, |
| 129 | [ --enable-maintainer-mode enable make rules and dependencies not useful | 134 | [ --enable-maintainer-mode enable make rules and dependencies not useful |
| 130 | (and sometimes confusing) to the casual installer], | 135 | (and sometimes confusing) to the casual installer], |
| @@ -3096,18 +3101,14 @@ echo " Does Emacs use -lpng? ${HAVE_PNG}" | |||
| 3096 | echo " Does Emacs use X toolkit scroll bars? ${USE_TOOLKIT_SCROLL_BARS}" | 3101 | echo " Does Emacs use X toolkit scroll bars? ${USE_TOOLKIT_SCROLL_BARS}" |
| 3097 | echo | 3102 | echo |
| 3098 | 3103 | ||
| 3099 | if test "$emacs_cv_randomheap" = warn; then | 3104 | if test $USE_XASSERTS = yes; then |
| 3100 | AC_MSG_WARN([ | 3105 | echo " Compiling with asserts turned on." |
| 3101 | ********************************************************************** | 3106 | CFLAGS="$CFLAGS -DXASSERTS=1" |
| 3107 | CPPFLAGS="$CPPFLAGS -DXASSERTS=1" | ||
| 3108 | echo | ||
| 3109 | fi | ||
| 3102 | 3110 | ||
| 3103 | Heap start address is randomized and no workaround is known. | ||
| 3104 | Emacs will probably dump core when temacs is run in the build phase. | ||
| 3105 | Maybe exec-shield is turned on. Read about exec-shield in `etc/PROBLEMS' | ||
| 3106 | for further information. | ||
| 3107 | 3111 | ||
| 3108 | ********************************************************************** | ||
| 3109 | ]) | ||
| 3110 | fi | ||
| 3111 | 3112 | ||
| 3112 | # Remove any trailing slashes in these variables. | 3113 | # Remove any trailing slashes in these variables. |
| 3113 | [test "${prefix}" != NONE && | 3114 | [test "${prefix}" != NONE && |
diff --git a/etc/ChangeLog b/etc/ChangeLog index e357de8121a..3636682432a 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog | |||
| @@ -1,3 +1,11 @@ | |||
| 1 | 2005-03-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 2 | |||
| 3 | * NEWS: Mention Carbon build on Mac OS 9. | ||
| 4 | |||
| 5 | 2005-03-01 David Kastrup <dak@gnu.org> | ||
| 6 | |||
| 7 | * DEBUG: Add information about `-fno-crossjumping' for GCC. | ||
| 8 | |||
| 1 | 2005-02-14 Lute Kamstra <lute@gnu.org> | 9 | 2005-02-14 Lute Kamstra <lute@gnu.org> |
| 2 | 10 | ||
| 3 | * TODO: Remove battery.el entry (DONE). | 11 | * TODO: Remove battery.el entry (DONE). |
| @@ -1,5 +1,5 @@ | |||
| 1 | Debugging GNU Emacs | 1 | Debugging GNU Emacs |
| 2 | Copyright (c) 1985, 2000, 2001 Free Software Foundation, Inc. | 2 | Copyright (c) 1985, 2000, 2001, 2005 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | Permission is granted to anyone to make or distribute verbatim copies | 4 | Permission is granted to anyone to make or distribute verbatim copies |
| 5 | of this document as received, in any medium, provided that the | 5 | of this document as received, in any medium, provided that the |
| @@ -20,6 +20,13 @@ document.] | |||
| 20 | where the executable was made. That directory has a .gdbinit file | 20 | where the executable was made. That directory has a .gdbinit file |
| 21 | that defines various "user-defined" commands for debugging Emacs. | 21 | that defines various "user-defined" commands for debugging Emacs. |
| 22 | 22 | ||
| 23 | ** When you are trying to analyze failed assertions, it will be | ||
| 24 | essential to compile Emacs either completely without optimizations or | ||
| 25 | at least (when using GCC) with the -fno-crossjumping option. Failure | ||
| 26 | to do so may make the compiler recycle the same abort call for all | ||
| 27 | assertions in a given function, rendering the stack backtrace useless | ||
| 28 | for identifying the specific failed assertion. | ||
| 29 | |||
| 23 | ** It is a good idea to run Emacs under GDB (or some other suitable | 30 | ** It is a good idea to run Emacs under GDB (or some other suitable |
| 24 | debugger) *all the time*. Then, when Emacs crashes, you will be able | 31 | debugger) *all the time*. Then, when Emacs crashes, you will be able |
| 25 | to debug the live process, not just a core dump. (This is especially | 32 | to debug the live process, not just a core dump. (This is especially |
| @@ -89,6 +89,10 @@ See the files mac/README and mac/INSTALL for build instructions. | |||
| 89 | --- | 89 | --- |
| 90 | ** Support for GNU/Linux systems on X86-64 machines was added. | 90 | ** Support for GNU/Linux systems on X86-64 machines was added. |
| 91 | 91 | ||
| 92 | ** Mac OS 9 port now uses the Carbon API by default. You can also | ||
| 93 | create non-Carbon build by specifying `NonCarbon' as a target. See | ||
| 94 | the files mac/README and mac/INSTALL for build instructions. | ||
| 95 | |||
| 92 | --- | 96 | --- |
| 93 | ** A French translation of the `Emacs Survival Guide' is available. | 97 | ** A French translation of the `Emacs Survival Guide' is available. |
| 94 | 98 | ||
| @@ -99,6 +103,12 @@ types any more. Add -DUSE_LISP_UNION_TYPE if you want union types. | |||
| 99 | 103 | ||
| 100 | * Changes in Emacs 22.1 | 104 | * Changes in Emacs 22.1 |
| 101 | 105 | ||
| 106 | ** C-u M-x goto-line now switches to the most recent previous buffer, | ||
| 107 | and goes to the specified line in that buffer. | ||
| 108 | |||
| 109 | When goto-line starts to execute, if there's a number in the buffer at | ||
| 110 | point then it acts as the default argument for the minibuffer. | ||
| 111 | |||
| 102 | ** Emacs now responds to mouse-clicks on the mode-line, header-line and | 112 | ** Emacs now responds to mouse-clicks on the mode-line, header-line and |
| 103 | display margin, when run in an xterm. | 113 | display margin, when run in an xterm. |
| 104 | 114 | ||
| @@ -280,6 +290,10 @@ This is like using -q --no-site-file, but in addition it also disables | |||
| 280 | the menu-bar, the tool-bar, the scroll-bars, tool tips, the blinking | 290 | the menu-bar, the tool-bar, the scroll-bars, tool tips, the blinking |
| 281 | cursor, and the fancy startup screen. | 291 | cursor, and the fancy startup screen. |
| 282 | 292 | ||
| 293 | +++ | ||
| 294 | ** New command line option -nbc or --no-blinking-cursor disables | ||
| 295 | the blinking cursor on graphical terminals. | ||
| 296 | |||
| 283 | ** C-h v and C-h f commands now include a hyperlink to the C source for | 297 | ** C-h v and C-h f commands now include a hyperlink to the C source for |
| 284 | variables and functions defined in C (if the C source is available). | 298 | variables and functions defined in C (if the C source is available). |
| 285 | 299 | ||
diff --git a/info/.arch-inventory b/info/.arch-inventory new file mode 100644 index 00000000000..31f45f86485 --- /dev/null +++ b/info/.arch-inventory | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | # Only two real source files: "dir", and this file, ".arch-inventory" | ||
| 2 | source ^(dir|\.arch-inventory)$ | ||
| 3 | |||
| 4 | # Everything else is generated at compile time. Unfortunately, the "backup" | ||
| 5 | # category overrides the "source" category, so we have to have horrible | ||
| 6 | # regexp that matches everything _except_ "dir"... | ||
| 7 | |||
| 8 | # 1 or 2 characters long | ||
| 9 | backup ^[-_.a-zA-Z0-9][-_.a-zA-Z0-9]?$ | ||
| 10 | # 4 or more characters long | ||
| 11 | backup ^[-_.a-zA-Z0-9][-_.a-zA-Z0-9][-_.a-zA-Z0-9][-_.a-zA-Z0-9]+$ | ||
| 12 | # 3 chars long, but 1st char not "d" | ||
| 13 | backup ^[-_.abce-zA-Z0-9][-_.a-zA-Z0-9][-_.a-zA-Z0-9]$ | ||
| 14 | # 3 chars long, but 2nd char not "i" | ||
| 15 | backup ^[-_.a-zA-Z0-9][-_.a-hj-zA-Z0-9][-_.a-zA-Z0-9]$ | ||
| 16 | # 3 chars long, but 3rd char not "r" | ||
| 17 | backup ^[-_.a-zA-Z0-9][-_.a-zA-Z0-9][-_.a-qs-zA-Z0-9]$ | ||
| 18 | |||
| 19 | # arch-tag: 60144ab9-cdc1-45b6-8193-b9683c80ec86 | ||
diff --git a/info/dir b/info/dir new file mode 100644 index 00000000000..f0019507481 --- /dev/null +++ b/info/dir | |||
| @@ -0,0 +1,77 @@ | |||
| 1 | -*- Text -*- | ||
| 2 | This is the file .../info/dir, which contains the topmost node of the | ||
| 3 | Info hierarchy. The first time you invoke Info you start off | ||
| 4 | looking at that node, which is (dir)Top. | ||
| 5 | |||
| 6 | File: dir Node: Top This is the top of the INFO tree | ||
| 7 | |||
| 8 | The Info Directory | ||
| 9 | ****************** | ||
| 10 | |||
| 11 | The Info Directory is the top-level menu of major Info topics. | ||
| 12 | Type "d" in Info to return to the Info Directory. Type "q" to exit Info. | ||
| 13 | Type "?" for a list of Info commands, or "h" to visit an Info tutorial. | ||
| 14 | Type "m" to choose a menu item--for instance, | ||
| 15 | "mEmacs<Return>" visits the Emacs manual. | ||
| 16 | In Emacs Info, you can click mouse button 2 on a menu item | ||
| 17 | or cross reference to follow it to its target. | ||
| 18 | Each menu line that starts with a * is a topic you can select with "m". | ||
| 19 | Every third topic has a red * to help pick the right number to type. | ||
| 20 | |||
| 21 | * Menu: | ||
| 22 | |||
| 23 | * Info: (info). How to use the documentation browsing system. | ||
| 24 | |||
| 25 | Emacs | ||
| 26 | * Emacs: (emacs). The extensible self-documenting text editor. | ||
| 27 | * Emacs FAQ: (efaq). Frequently Asked Questions about Emacs. | ||
| 28 | * Emacs Lisp Introduction: (eintr). | ||
| 29 | A simple introduction to Emacs Lisp programming. | ||
| 30 | * Elisp: (elisp). The Emacs Lisp Reference Manual. | ||
| 31 | |||
| 32 | * CL: (cl). Partial Common Lisp support for Emacs Lisp. | ||
| 33 | * Dired-X: (dired-x). Dired Extra Features. | ||
| 34 | * Ediff: (ediff). A visual interface for comparing and merging programs. | ||
| 35 | * Emacs-Xtra: (emacs-xtra). Specialized Emacs features. | ||
| 36 | * Org Mode: (org). Outline-based notes management and organizer. | ||
| 37 | * PCL-CVS: (pcl-cvs). Emacs front-end to CVS. | ||
| 38 | * Speedbar: (speedbar). File/Tag summarizing utility. | ||
| 39 | |||
| 40 | * Ada mode: (ada-mode). Emacs mode for editing Ada code. | ||
| 41 | * CC mode: (ccmode). Emacs mode for editing C, C++, Objective-C, | ||
| 42 | Java, Pike, and IDL code. | ||
| 43 | * Ebrowse: (ebrowse). A C++ class browser for Emacs. | ||
| 44 | * Flymake: (flymake). An on-the-fly syntax checker for Emacs. | ||
| 45 | * IDLWAVE: (idlwave). Major mode and shell for IDL and WAVE/CL files. | ||
| 46 | |||
| 47 | * Gnus: (gnus). The news reader Gnus. | ||
| 48 | * Message: (message). Mail and news composition mode that goes with Gnus. | ||
| 49 | * MH-E: (mh-e). Emacs interface to the MH mail system. | ||
| 50 | * MIME: (emacs-mime). Emacs MIME de/composition library. | ||
| 51 | * PGG: (pgg). Emacs interface to various PGP implementations. | ||
| 52 | * SC: (sc). Supercite lets you cite parts of messages you're | ||
| 53 | replying to, in flexible ways. | ||
| 54 | * SMTP: (smtpmail). Emacs library for sending mail via SMTP. | ||
| 55 | * Sieve: (sieve). Managing Sieve scripts in Emacs. | ||
| 56 | |||
| 57 | * Autotype: (autotype). Convenient features for text that you enter frequently | ||
| 58 | in Emacs. | ||
| 59 | * Calc: (calc). Advanced desk calculator and mathematical tool. | ||
| 60 | * Eshell: (eshell). A command shell implemented in Emacs Lisp. | ||
| 61 | * EUDC: (eudc). An Emacs client for directory servers (LDAP, PH). | ||
| 62 | * Forms: (forms). Emacs package for editing data bases | ||
| 63 | by filling in forms. | ||
| 64 | * RefTeX: (reftex). Emacs support for LaTeX cross-references and citations. | ||
| 65 | * SES: (ses). Simple Emacs Spreadsheet | ||
| 66 | * Tramp: (tramp). Transparent Remote (file) Access, Multiple Protocol. | ||
| 67 | Edit remote files via a remote shell (rsh, | ||
| 68 | ssh, telnet). | ||
| 69 | * URL: (url). URL loading package. | ||
| 70 | * Widget: (widget). The "widget" package used by the Emacs Customization | ||
| 71 | facility. | ||
| 72 | * WoMan: (woman). Browse UN*X Manual Pages "Wo (without) Man". | ||
| 73 | |||
| 74 | * VIPER: (viper). The newest Emacs VI-emulation mode. | ||
| 75 | (also, A VI Plan for Emacs Rescue | ||
| 76 | or the VI PERil.) | ||
| 77 | * VIP: (vip). An older VI-emulation for Emacs. | ||
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 4ffa38482cf..0978e8835ca 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2005-03-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 2 | |||
| 3 | * make-docfile.c: Undo previous change. | ||
| 4 | |||
| 1 | 2005-02-04 Andreas Schwab <schwab@suse.de> | 5 | 2005-02-04 Andreas Schwab <schwab@suse.de> |
| 2 | 6 | ||
| 3 | * movemail.c (fatal): Accept third parameter and pass down to | 7 | * movemail.c (fatal): Accept third parameter and pass down to |
diff --git a/lib-src/make-docfile.c b/lib-src/make-docfile.c index 02ddbabe7a7..e502061b759 100644 --- a/lib-src/make-docfile.c +++ b/lib-src/make-docfile.c | |||
| @@ -43,11 +43,11 @@ Boston, MA 02111-1307, USA. */ | |||
| 43 | #undef chdir | 43 | #undef chdir |
| 44 | 44 | ||
| 45 | #include <stdio.h> | 45 | #include <stdio.h> |
| 46 | #include <stdlib.h> | ||
| 47 | #ifdef MSDOS | 46 | #ifdef MSDOS |
| 48 | #include <fcntl.h> | 47 | #include <fcntl.h> |
| 49 | #endif /* MSDOS */ | 48 | #endif /* MSDOS */ |
| 50 | #ifdef WINDOWSNT | 49 | #ifdef WINDOWSNT |
| 50 | #include <stdlib.h> | ||
| 51 | #include <fcntl.h> | 51 | #include <fcntl.h> |
| 52 | #include <direct.h> | 52 | #include <direct.h> |
| 53 | #endif /* WINDOWSNT */ | 53 | #endif /* WINDOWSNT */ |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 7c3842ea3a5..d65a446a376 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,7 +1,147 @@ | |||
| 1 | 2005-03-05 Luc Teirlinck <teirllm@auburn.edu> | ||
| 2 | |||
| 3 | * simple.el (goto-line): Remove unbalanced final parenthesis. | ||
| 4 | |||
| 5 | 2005-03-05 Richard M. Stallman <rms@gnu.org> | ||
| 6 | |||
| 7 | * simple.el (goto-line): Use a number at point as the default. | ||
| 8 | With C-u as arg, switch buffers. | ||
| 9 | |||
| 10 | 2005-03-05 Juri Linkov <juri@jurta.org> | ||
| 11 | |||
| 12 | * frame.el (blink-cursor-mode): Replace `emacs-quick-startup' | ||
| 13 | with `no-blinking-cursor'. | ||
| 14 | |||
| 15 | * startup.el (no-blinking-cursor): New defvar. | ||
| 16 | (command-line): Add `--no-blinking-cursor' to longopts. | ||
| 17 | Set `no-blinking-cursor' to t for command line arguments | ||
| 18 | -Q, -nbc, --no-blinking-cursor. Replace `emacs-quick-startup' | ||
| 19 | with `no-blinking-cursor' in the condition for calling | ||
| 20 | `blink-cursor-mode'. | ||
| 21 | |||
| 22 | 2005-03-04 Luc Teirlinck <teirllm@auburn.edu> | ||
| 23 | |||
| 24 | * menu-bar.el (menu-bar-make-mm-toggle): Doc fix. | ||
| 25 | (menu-bar-options-save): Add blink-cursor-mode. | ||
| 26 | (menu-bar-options-menu): Add blink-cursor-mode. | ||
| 27 | |||
| 28 | 2005-03-04 Ulf Jasper <ulf.jasper@web.de> | ||
| 29 | |||
| 30 | * calendar/icalendar.el (icalendar-version): Increase to 0.11. | ||
| 31 | (icalendar-export-file, icalendar-export-region) | ||
| 32 | (icalendar-import-file, icalendar-import-buffer): Add autoload | ||
| 33 | cookies. | ||
| 34 | (icalendar--convert-ical-to-diary): Fix problem with DURATION. | ||
| 35 | |||
| 36 | 2005-03-04 Lute Kamstra <lute@gnu.org> | ||
| 37 | |||
| 38 | * emacs-lisp/debug.el (debugger-step-after-exit): Make it a | ||
| 39 | defvar. | ||
| 40 | (debug-function-list): Ditto. | ||
| 41 | |||
| 42 | 2005-03-04 Robert J. Chassell <bob@rattlesnake.com> | ||
| 43 | |||
| 44 | * textmodes/texinfmt.el (texinfo-append-refill): | ||
| 45 | Redefine the types of line to which @refill | ||
| 46 | is not appended by replacing a search for `@refill\\|@bye' with | ||
| 47 | `@refill\\|^[ \t]*@'. The intent is to solve both the `@end | ||
| 48 | itemize@refill' bug and the unfilled long lines bug. | ||
| 49 | (texinfmt-version): update number and date. | ||
| 50 | |||
| 51 | 2005-03-04 Reiner Steib <Reiner.Steib@gmx.de> | ||
| 52 | |||
| 53 | * international/code-pages.el (windows-1250, windows-125[2-8]) | ||
| 54 | (iso-8859-10, -13, -16, georgian-ps): Add autoload cookies. | ||
| 55 | |||
| 56 | 2005-03-03 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 57 | |||
| 58 | * frame.el (blink-cursor-mode): `emacs-quick-startup' may not be | ||
| 59 | bound yet. | ||
| 60 | |||
| 61 | 2005-03-02 Romain Francoise <romain@orebokech.com> | ||
| 62 | |||
| 63 | * ibuf-ext.el (ibuffer-filter-disable): Move back to the current | ||
| 64 | buffer after removing limits. | ||
| 65 | (ibuffer-pop-filter): Ditto. | ||
| 66 | Update copyright. | ||
| 67 | |||
| 68 | 2005-03-02 Miles Bader <miles@gnu.org> | ||
| 69 | |||
| 70 | * button.el (make-text-button): If the user doesn't specify a | ||
| 71 | type, use the default. Rewrite to use `add-text-properties' and | ||
| 72 | plist functions. | ||
| 73 | |||
| 74 | 2005-03-01 Lute Kamstra <lute@gnu.org> | ||
| 75 | |||
| 76 | * emacs-lisp/debug.el (inhibit-debug-on-entry): Add docstring. | ||
| 77 | (debugger-jumping-flag): New var. | ||
| 78 | (debug-entry-code): Use it. | ||
| 79 | (debugger-jump): Use debugger-jumping-flag and add | ||
| 80 | debugger-reenable to post-command-hook. | ||
| 81 | (debugger-reenable): Use debugger-jumping-flag and remove itself | ||
| 82 | from post-command-hook. | ||
| 83 | (debug, debug-on-entry, cancel-debug-on-entry): Remove call to | ||
| 84 | debugger-reenable. | ||
| 85 | |||
| 86 | 2005-03-01 Robert J. Chassell <bob@rattlesnake.com> | ||
| 87 | |||
| 88 | * textmodes/texinfmt.el (texinfo-no-refill-regexp): Comment out | ||
| 89 | inclusion of "itemize\\|", which may be unnecessary, is certainly | ||
| 90 | inelegant, and stops refilling in itemize lists when formatting | ||
| 91 | Japanese Texinfo files to Info. | ||
| 92 | Update copyright to 2005. | ||
| 93 | |||
| 94 | 2005-03-01 Nick Roberts <nickrob@snap.net.nz> | ||
| 95 | |||
| 96 | * progmodes/gdb-ui.el (gdb-get-location): Use a warning instead | ||
| 97 | of an error if GDB can't find the source file. | ||
| 98 | |||
| 99 | 2005-03-01 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 100 | |||
| 101 | * calendar/calendar.el (redraw-calendar): Work from any buffer, | ||
| 102 | not just the calendar. | ||
| 103 | |||
| 104 | * calendar/diary-lib.el (mark-diary-entries): Remove any old marks | ||
| 105 | first. | ||
| 106 | (diary-redraw-calendar): New function. | ||
| 107 | (make-diary-entry): Add diary-redraw-calendar to local | ||
| 108 | write-contents-functions. Turn off selective display before | ||
| 109 | inserting in diary. | ||
| 110 | |||
| 111 | 2005-03-01 Kim F. Storm <storm@cua.dk> | ||
| 112 | |||
| 113 | * emacs-lisp/copyright.el (copyright-fix-years): New command. | ||
| 114 | |||
| 115 | 2005-03-01 Lute Kamstra <lute@gnu.org> | ||
| 116 | |||
| 117 | * emacs-lisp/debug.el (debug-on-entry-1): Reimplement to make sure | ||
| 118 | that debug-entry-code can be safely removed from a function while | ||
| 119 | this code is being evaluated. Revert the 2005-02-27 change as the | ||
| 120 | new implementation no longer requires it. Make sure that a | ||
| 121 | function body containing just a string is not mistaken for a | ||
| 122 | docstring. | ||
| 123 | (debug): Skip one more frame in case of debug on entry. | ||
| 124 | (debugger-setup-buffer): Delete one more frame line in case of | ||
| 125 | debug on entry. | ||
| 126 | (debugger-frame-number): Update to use the new text introduced by | ||
| 127 | the 1999-11-03 change. Skip one more frame in case of debug on entry. | ||
| 128 | |||
| 129 | 2005-02-28 Kim F. Storm <storm@cua.dk> | ||
| 130 | |||
| 131 | * double.el (double-translate-key): Call force-window-update after | ||
| 132 | read-event to avoid crash in redisplay. | ||
| 133 | |||
| 134 | 2005-02-28 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 135 | |||
| 136 | * emacs-lisp/debug.el (inhibit-debug-on-entry): New var. | ||
| 137 | (debug): Use it. Move the inhibit-trace earlier. | ||
| 138 | (debug-entry-code): New const. | ||
| 139 | (debug-on-entry-1): Use it. | ||
| 140 | |||
| 1 | 2005-02-28 Chong Yidong" <cyd@stupidchicken.com> (tiny change) | 141 | 2005-02-28 Chong Yidong" <cyd@stupidchicken.com> (tiny change) |
| 2 | 142 | ||
| 3 | * international/utf-16.el (ccl-encode-mule-utf-16le): Fix | 143 | * international/utf-16.el (ccl-encode-mule-utf-16le): |
| 4 | BUFFER_MAGNIFICATION to 2. | 144 | Fix BUFFER_MAGNIFICATION to 2. |
| 5 | (ccl-encode-mule-utf-16be): Likewise. | 145 | (ccl-encode-mule-utf-16be): Likewise. |
| 6 | 146 | ||
| 7 | 2005-02-28 Kenichi Handa <handa@m17n.org> | 147 | 2005-02-28 Kenichi Handa <handa@m17n.org> |
diff --git a/lisp/button.el b/lisp/button.el index 5f9b5094e6c..78008f06db2 100644 --- a/lisp/button.el +++ b/lisp/button.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; button.el --- clickable buttons | 1 | ;;; button.el --- clickable buttons |
| 2 | ;; | 2 | ;; |
| 3 | ;; Copyright (C) 2001 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2001, 2005 Free Software Foundation, Inc. |
| 4 | ;; | 4 | ;; |
| 5 | ;; Author: Miles Bader <miles@gnu.org> | 5 | ;; Author: Miles Bader <miles@gnu.org> |
| 6 | ;; Keywords: extensions | 6 | ;; Keywords: extensions |
| @@ -298,24 +298,23 @@ large numbers of buttons can also be somewhat faster using | |||
| 298 | `make-text-button'. | 298 | `make-text-button'. |
| 299 | 299 | ||
| 300 | Also see `insert-text-button'." | 300 | Also see `insert-text-button'." |
| 301 | (let (prop val) | 301 | (let ((type-entry |
| 302 | (while properties | 302 | (or (plist-member properties 'type) |
| 303 | (setq prop (pop properties)) | 303 | (plist-member properties :type)))) |
| 304 | (setq val (pop properties)) | 304 | ;; Disallow setting the `category' property directly. |
| 305 | ;; Note that all the following code is basically equivalent to | 305 | (when (plist-get properties 'category) |
| 306 | ;; `button-put', but we can do it much more efficiently since we | 306 | (error "Button `category' property may not be set directly")) |
| 307 | ;; already have BEG and END. | 307 | (if (null type-entry) |
| 308 | (cond ((memq prop '(type :type)) | 308 | ;; The user didn't specify a `type' property, use the default. |
| 309 | ;; We translate a `type' property into a `category' | 309 | (setq properties (cons 'category (cons 'default-button properties))) |
| 310 | ;; property, since that's what's actually used by | 310 | ;; The user did specify a `type' property. Translate it into a |
| 311 | ;; text-properties for inheritance. | 311 | ;; `category' property, which is what's actually used by |
| 312 | (setq prop 'category) | 312 | ;; text-properties for inheritance. |
| 313 | (setq val (button-category-symbol val))) | 313 | (setcar type-entry 'category) |
| 314 | ((eq prop 'category) | 314 | (setcar (cdr type-entry) |
| 315 | ;; Disallow setting the `category' property directly. | 315 | (button-category-symbol (car (cdr type-entry)))))) |
| 316 | (error "Button `category' property may not be set directly"))) | 316 | ;; Now add all the text properties at once |
| 317 | ;; Add the property. | 317 | (add-text-properties beg end properties) |
| 318 | (put-text-property beg end prop val))) | ||
| 319 | ;; Return something that can be used to get at the button. | 318 | ;; Return something that can be used to get at the button. |
| 320 | beg) | 319 | beg) |
| 321 | 320 | ||
diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el index 291452db080..66ee1875a23 100644 --- a/lisp/calendar/calendar.el +++ b/lisp/calendar/calendar.el | |||
| @@ -2169,11 +2169,13 @@ the inserted text. Value is always t." | |||
| 2169 | t) | 2169 | t) |
| 2170 | 2170 | ||
| 2171 | (defun redraw-calendar () | 2171 | (defun redraw-calendar () |
| 2172 | "Redraw the calendar display." | 2172 | "Redraw the calendar display, if `calendar-buffer' is live." |
| 2173 | (interactive) | 2173 | (interactive) |
| 2174 | (let ((cursor-date (calendar-cursor-to-nearest-date))) | 2174 | (if (get-buffer calendar-buffer) |
| 2175 | (generate-calendar-window displayed-month displayed-year) | 2175 | (with-current-buffer calendar-buffer |
| 2176 | (calendar-cursor-to-visible-date cursor-date))) | 2176 | (let ((cursor-date (calendar-cursor-to-nearest-date))) |
| 2177 | (generate-calendar-window displayed-month displayed-year) | ||
| 2178 | (calendar-cursor-to-visible-date cursor-date))))) | ||
| 2177 | 2179 | ||
| 2178 | (defcustom calendar-debug-sexp nil | 2180 | (defcustom calendar-debug-sexp nil |
| 2179 | "*Turn debugging on when evaluating a sexp in the diary or holiday list." | 2181 | "*Turn debugging on when evaluating a sexp in the diary or holiday list." |
diff --git a/lisp/calendar/diary-lib.el b/lisp/calendar/diary-lib.el index 5fbae2500d7..97dc1dd0a71 100644 --- a/lisp/calendar/diary-lib.el +++ b/lisp/calendar/diary-lib.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; diary-lib.el --- diary functions | 1 | ;;; diary-lib.el --- diary functions |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1989, 1990, 1992, 1993, 1994, 1995, 2003, 2004 | 3 | ;; Copyright (C) 1989, 1990, 1992, 1993, 1994, 1995, 2003, 2004, 2005 |
| 4 | ;; Free Software Foundation, Inc. | 4 | ;; Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Edward M. Reingold <reingold@cs.uiuc.edu> | 6 | ;; Author: Edward M. Reingold <reingold@cs.uiuc.edu> |
| @@ -841,6 +841,10 @@ Each entry in the diary file visible in the calendar window is marked. | |||
| 841 | After the entries are marked, the hooks `nongregorian-diary-marking-hook' and | 841 | After the entries are marked, the hooks `nongregorian-diary-marking-hook' and |
| 842 | `mark-diary-entries-hook' are run." | 842 | `mark-diary-entries-hook' are run." |
| 843 | (interactive) | 843 | (interactive) |
| 844 | ;; To remove any deleted diary entries. | ||
| 845 | (when mark-diary-entries-in-calendar | ||
| 846 | (setq mark-diary-entries-in-calendar nil) | ||
| 847 | (redraw-calendar)) | ||
| 844 | (let ((marking-diary-entries t) | 848 | (let ((marking-diary-entries t) |
| 845 | file-glob-attrs marks) | 849 | file-glob-attrs marks) |
| 846 | (save-excursion | 850 | (save-excursion |
| @@ -1647,11 +1651,26 @@ Do nothing if DATE or STRING is nil." | |||
| 1647 | (append diary-entries-list | 1651 | (append diary-entries-list |
| 1648 | (list (list date string specifier marker globcolor)))))) | 1652 | (list (list date string specifier marker globcolor)))))) |
| 1649 | 1653 | ||
| 1654 | (defun diary-redraw-calendar () | ||
| 1655 | "If `calendar-buffer' is live and diary entries are marked, redraw it." | ||
| 1656 | (and mark-diary-entries-in-calendar | ||
| 1657 | (redraw-calendar)) | ||
| 1658 | ;; Return value suitable for `write-contents-functions'. | ||
| 1659 | nil) | ||
| 1660 | |||
| 1650 | (defun make-diary-entry (string &optional nonmarking file) | 1661 | (defun make-diary-entry (string &optional nonmarking file) |
| 1651 | "Insert a diary entry STRING which may be NONMARKING in FILE. | 1662 | "Insert a diary entry STRING which may be NONMARKING in FILE. |
| 1652 | If omitted, NONMARKING defaults to nil and FILE defaults to `diary-file'." | 1663 | If omitted, NONMARKING defaults to nil and FILE defaults to |
| 1664 | `diary-file'. Adds `diary-redraw-calendar' to | ||
| 1665 | `write-contents-functions' for FILE, so that the calendar will be | ||
| 1666 | redrawn with the new entry marked, if necessary." | ||
| 1653 | (let ((pop-up-frames (window-dedicated-p (selected-window)))) | 1667 | (let ((pop-up-frames (window-dedicated-p (selected-window)))) |
| 1654 | (find-file-other-window (substitute-in-file-name (or file diary-file)))) | 1668 | (find-file-other-window (substitute-in-file-name (or file diary-file)))) |
| 1669 | (add-hook 'write-contents-functions 'diary-redraw-calendar nil t) | ||
| 1670 | (when selective-display | ||
| 1671 | (subst-char-in-region (point-min) (point-max) ?\^M ?\n t) | ||
| 1672 | (setq selective-display nil) | ||
| 1673 | (kill-local-variable 'mode-line-format)) | ||
| 1655 | (widen) | 1674 | (widen) |
| 1656 | (goto-char (point-max)) | 1675 | (goto-char (point-max)) |
| 1657 | (when (let ((case-fold-search t)) | 1676 | (when (let ((case-fold-search t)) |
diff --git a/lisp/calendar/icalendar.el b/lisp/calendar/icalendar.el index fe127be3990..320a6aa0f72 100644 --- a/lisp/calendar/icalendar.el +++ b/lisp/calendar/icalendar.el | |||
| @@ -90,7 +90,7 @@ | |||
| 90 | 90 | ||
| 91 | ;;; Code: | 91 | ;;; Code: |
| 92 | 92 | ||
| 93 | (defconst icalendar-version 0.10 | 93 | (defconst icalendar-version 0.11 |
| 94 | "Version number of icalendar.el.") | 94 | "Version number of icalendar.el.") |
| 95 | 95 | ||
| 96 | ;; ====================================================================== | 96 | ;; ====================================================================== |
| @@ -415,8 +415,10 @@ FIXME: multiple comma-separated values should be allowed!" | |||
| 415 | "Return ISODURATIONSTRING in format like `decode-time'. | 415 | "Return ISODURATIONSTRING in format like `decode-time'. |
| 416 | Converts from ISO-8601 to Emacs representation. If ISODURATIONSTRING | 416 | Converts from ISO-8601 to Emacs representation. If ISODURATIONSTRING |
| 417 | specifies UTC time (trailing letter Z) the decoded time is given in | 417 | specifies UTC time (trailing letter Z) the decoded time is given in |
| 418 | the local time zone! FIXME: TZID-attributes are ignored....! FIXME: | 418 | the local time zone! |
| 419 | multiple comma-separated values should be allowed!" | 419 | |
| 420 | FIXME: TZID-attributes are ignored....! | ||
| 421 | FIXME: multiple comma-separated values should be allowed!" | ||
| 420 | (if isodurationstring | 422 | (if isodurationstring |
| 421 | (save-match-data | 423 | (save-match-data |
| 422 | (string-match | 424 | (string-match |
| @@ -672,7 +674,7 @@ would be \"pm\"." | |||
| 672 | ;; Export -- convert emacs-diary to icalendar | 674 | ;; Export -- convert emacs-diary to icalendar |
| 673 | ;; ====================================================================== | 675 | ;; ====================================================================== |
| 674 | 676 | ||
| 675 | ;; User function | 677 | ;;;###autoload |
| 676 | (defun icalendar-export-file (diary-filename ical-filename) | 678 | (defun icalendar-export-file (diary-filename ical-filename) |
| 677 | "Export diary file to iCalendar format. | 679 | "Export diary file to iCalendar format. |
| 678 | All diary entries in the file DIARY-FILENAME are converted to iCalendar | 680 | All diary entries in the file DIARY-FILENAME are converted to iCalendar |
| @@ -686,7 +688,7 @@ Finto iCalendar file: ") | |||
| 686 | (defalias 'icalendar-convert-diary-to-ical 'icalendar-export-file) | 688 | (defalias 'icalendar-convert-diary-to-ical 'icalendar-export-file) |
| 687 | (make-obsolete 'icalendar-convert-diary-to-ical 'icalendar-export-file) | 689 | (make-obsolete 'icalendar-convert-diary-to-ical 'icalendar-export-file) |
| 688 | 690 | ||
| 689 | ;; User function | 691 | ;;;###autoload |
| 690 | (defun icalendar-export-region (min max ical-filename) | 692 | (defun icalendar-export-region (min max ical-filename) |
| 691 | "Export region in diary file to iCalendar format. | 693 | "Export region in diary file to iCalendar format. |
| 692 | All diary entries in the region from MIN to MAX in the current buffer are | 694 | All diary entries in the region from MIN to MAX in the current buffer are |
| @@ -1112,7 +1114,7 @@ FExport diary data into iCalendar file: ") | |||
| 1112 | ;; Import -- convert icalendar to emacs-diary | 1114 | ;; Import -- convert icalendar to emacs-diary |
| 1113 | ;; ====================================================================== | 1115 | ;; ====================================================================== |
| 1114 | 1116 | ||
| 1115 | ;; User function | 1117 | ;;;###autoload |
| 1116 | (defun icalendar-import-file (ical-filename diary-filename | 1118 | (defun icalendar-import-file (ical-filename diary-filename |
| 1117 | &optional non-marking) | 1119 | &optional non-marking) |
| 1118 | "Import a iCalendar file and append to a diary file. | 1120 | "Import a iCalendar file and append to a diary file. |
| @@ -1129,7 +1131,7 @@ p") | |||
| 1129 | (set-buffer (find-file ical-filename)) | 1131 | (set-buffer (find-file ical-filename)) |
| 1130 | (icalendar-import-buffer diary-filename t non-marking))) | 1132 | (icalendar-import-buffer diary-filename t non-marking))) |
| 1131 | 1133 | ||
| 1132 | ;; User function | 1134 | ;;;###autoload |
| 1133 | (defun icalendar-import-buffer (&optional diary-file do-not-ask | 1135 | (defun icalendar-import-buffer (&optional diary-file do-not-ask |
| 1134 | non-marking) | 1136 | non-marking) |
| 1135 | "Extract iCalendar events from current buffer. | 1137 | "Extract iCalendar events from current buffer. |
| @@ -1423,10 +1425,7 @@ written into the buffer ` *icalendar-errors*'." | |||
| 1423 | ((not (string= start-d end-d)) | 1425 | ((not (string= start-d end-d)) |
| 1424 | (icalendar--dmsg "non-recurring event") | 1426 | (icalendar--dmsg "non-recurring event") |
| 1425 | (let ((ds (icalendar--datetime-to-diary-date dtstart)) | 1427 | (let ((ds (icalendar--datetime-to-diary-date dtstart)) |
| 1426 | (de (icalendar--datetime-to-diary-date | 1428 | (de (icalendar--datetime-to-diary-date dtend))) |
| 1427 | (icalendar--decode-isodatetime | ||
| 1428 | (icalendar--get-event-property e 'DTEND) | ||
| 1429 | -1)))) | ||
| 1430 | (setq diary-string | 1429 | (setq diary-string |
| 1431 | (format "%%%%(and (diary-block %s %s))" | 1430 | (format "%%%%(and (diary-block %s %s))" |
| 1432 | ds de))) | 1431 | ds de))) |
diff --git a/lisp/double.el b/lisp/double.el index fc931992bd1..c9c27203344 100644 --- a/lisp/double.el +++ b/lisp/double.el | |||
| @@ -116,6 +116,7 @@ but not `C-u X' or `ESC X' since the X is not the prefix key." | |||
| 116 | ;; End of generated event. See if he will repeat it... | 116 | ;; End of generated event. See if he will repeat it... |
| 117 | (let ((new (double-read-event prompt)) | 117 | (let ((new (double-read-event prompt)) |
| 118 | (entry (assoc double-last-event double-map))) | 118 | (entry (assoc double-last-event double-map))) |
| 119 | (force-window-update (selected-window)) | ||
| 119 | (if (eq new double-last-event) | 120 | (if (eq new double-last-event) |
| 120 | (progn | 121 | (progn |
| 121 | (setq unread-command-events | 122 | (setq unread-command-events |
diff --git a/lisp/emacs-lisp/copyright.el b/lisp/emacs-lisp/copyright.el index 3d160f54606..0be9d139fd2 100644 --- a/lisp/emacs-lisp/copyright.el +++ b/lisp/emacs-lisp/copyright.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; copyright.el --- update the copyright notice in current buffer | 1 | ;;; copyright.el --- update the copyright notice in current buffer |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1991, 92, 93, 94, 95, 1998, 2001, 2003, 2004 | 3 | ;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1998, 2001, 2003, 2004, 2005 |
| 4 | ;; Free Software Foundation, Inc. | 4 | ;; Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Daniel Pfeiffer <occitan@esperanto.org> | 6 | ;; Author: Daniel Pfeiffer <occitan@esperanto.org> |
| @@ -178,6 +178,41 @@ version \\([0-9]+\\), or (at" | |||
| 178 | 178 | ||
| 179 | 179 | ||
| 180 | ;;;###autoload | 180 | ;;;###autoload |
| 181 | (defun copyright-fix-years () | ||
| 182 | "Convert 2 digit years to 4 digit years. | ||
| 183 | Uses heuristic: year >= 50 means 19xx, < 50 means 20xx." | ||
| 184 | (interactive) | ||
| 185 | (widen) | ||
| 186 | (goto-char (point-min)) | ||
| 187 | (if (re-search-forward copyright-regexp (+ (point) copyright-limit) t) | ||
| 188 | (let ((s (match-beginning 2)) (e (make-marker)) | ||
| 189 | last) | ||
| 190 | (set-marker e (1+ (match-end 2))) | ||
| 191 | (goto-char s) | ||
| 192 | (while (and (< (point) (marker-position e)) | ||
| 193 | (re-search-forward "\\([^0-9]\\)\\([0-9]+\\)[^0-9]" | ||
| 194 | (marker-position e) t)) | ||
| 195 | (let ((p (point)) | ||
| 196 | (sep (match-string 1)) | ||
| 197 | (year (string-to-number (match-string 2)))) | ||
| 198 | (goto-char (1+ (match-beginning 0))) | ||
| 199 | (unless (= (char-syntax (string-to-char sep)) ?\s) | ||
| 200 | (insert " ")) | ||
| 201 | (if (< year 100) | ||
| 202 | (insert (if (>= year 50) "19" "20"))) | ||
| 203 | (goto-char p) | ||
| 204 | (setq last p))) | ||
| 205 | (when last | ||
| 206 | (goto-char last) | ||
| 207 | (let ((fill-prefix " ")) | ||
| 208 | (fill-region s last)) | ||
| 209 | ) | ||
| 210 | (set-marker e nil) | ||
| 211 | (copyright-update nil t)) | ||
| 212 | (message "No copyright message") | ||
| 213 | (goto-char (point-min)))) | ||
| 214 | |||
| 215 | ;;;###autoload | ||
| 181 | (define-skeleton copyright | 216 | (define-skeleton copyright |
| 182 | "Insert a copyright by $ORGANIZATION notice at cursor." | 217 | "Insert a copyright by $ORGANIZATION notice at cursor." |
| 183 | "Company: " | 218 | "Company: " |
diff --git a/lisp/emacs-lisp/debug.el b/lisp/emacs-lisp/debug.el index 58fb3b4a1b8..ab197e8e119 100644 --- a/lisp/emacs-lisp/debug.el +++ b/lisp/emacs-lisp/debug.el | |||
| @@ -25,7 +25,7 @@ | |||
| 25 | 25 | ||
| 26 | ;;; Commentary: | 26 | ;;; Commentary: |
| 27 | 27 | ||
| 28 | ;; This is a major mode documented in the Emacs manual. | 28 | ;; This is a major mode documented in the Emacs Lisp manual. |
| 29 | 29 | ||
| 30 | ;;; Code: | 30 | ;;; Code: |
| 31 | 31 | ||
| @@ -51,15 +51,11 @@ the middle is discarded, and just the beginning and end are displayed." | |||
| 51 | :group 'debugger | 51 | :group 'debugger |
| 52 | :version "21.1") | 52 | :version "21.1") |
| 53 | 53 | ||
| 54 | (defcustom debug-function-list nil | 54 | (defvar debug-function-list nil |
| 55 | "List of functions currently set for debug on entry." | 55 | "List of functions currently set for debug on entry.") |
| 56 | :type '(repeat function) | ||
| 57 | :group 'debugger) | ||
| 58 | 56 | ||
| 59 | (defcustom debugger-step-after-exit nil | 57 | (defvar debugger-step-after-exit nil |
| 60 | "Non-nil means \"single-step\" after the debugger exits." | 58 | "Non-nil means \"single-step\" after the debugger exits.") |
| 61 | :type 'boolean | ||
| 62 | :group 'debugger) | ||
| 63 | 59 | ||
| 64 | (defvar debugger-value nil | 60 | (defvar debugger-value nil |
| 65 | "This is the value for the debugger to return, when it returns.") | 61 | "This is the value for the debugger to return, when it returns.") |
| @@ -93,6 +89,21 @@ This is to optimize `debugger-make-xrefs'.") | |||
| 93 | (defvar debugger-outer-inhibit-redisplay) | 89 | (defvar debugger-outer-inhibit-redisplay) |
| 94 | (defvar debugger-outer-cursor-in-echo-area) | 90 | (defvar debugger-outer-cursor-in-echo-area) |
| 95 | 91 | ||
| 92 | (defvar inhibit-debug-on-entry nil | ||
| 93 | "Non-nil means that debug-on-entry is disabled.") | ||
| 94 | |||
| 95 | (defvar debugger-jumping-flag nil | ||
| 96 | "Non-nil means that debug-on-entry is disabled. | ||
| 97 | This variable is used by `debugger-jump' and `debugger-reenable'.") | ||
| 98 | |||
| 99 | ;; When you change this, you may also need to change the number of | ||
| 100 | ;; frames that the debugger skips. | ||
| 101 | (defconst debug-entry-code | ||
| 102 | '(if (or inhibit-debug-on-entry debugger-jumping-flag) | ||
| 103 | nil | ||
| 104 | (debug 'debug)) | ||
| 105 | "Code added to a function to cause it to call the debugger upon entry.") | ||
| 106 | |||
| 96 | ;;;###autoload | 107 | ;;;###autoload |
| 97 | (setq debugger 'debug) | 108 | (setq debugger 'debug) |
| 98 | ;;;###autoload | 109 | ;;;###autoload |
| @@ -147,6 +158,8 @@ first will be printed into the backtrace buffer." | |||
| 147 | (setq overriding-terminal-local-map nil) | 158 | (setq overriding-terminal-local-map nil) |
| 148 | ;; Don't let these magic variables affect the debugger itself. | 159 | ;; Don't let these magic variables affect the debugger itself. |
| 149 | (let ((last-command nil) this-command track-mouse | 160 | (let ((last-command nil) this-command track-mouse |
| 161 | (inhibit-trace t) | ||
| 162 | (inhibit-debug-on-entry t) | ||
| 150 | unread-command-events | 163 | unread-command-events |
| 151 | unread-post-input-method-events | 164 | unread-post-input-method-events |
| 152 | last-input-event last-command-event last-nonmenu-event | 165 | last-input-event last-command-event last-nonmenu-event |
| @@ -185,12 +198,11 @@ first will be printed into the backtrace buffer." | |||
| 185 | (message "%s" (buffer-string)) | 198 | (message "%s" (buffer-string)) |
| 186 | (kill-emacs)) | 199 | (kill-emacs)) |
| 187 | (if (eq (car debugger-args) 'debug) | 200 | (if (eq (car debugger-args) 'debug) |
| 188 | ;; Skip the frames for backtrace-debug, byte-code, and debug. | 201 | ;; Skip the frames for backtrace-debug, byte-code, |
| 189 | (backtrace-debug 3 t)) | 202 | ;; and debug-entry-code. |
| 190 | (debugger-reenable) | 203 | (backtrace-debug 4 t)) |
| 191 | (message "") | 204 | (message "") |
| 192 | (let ((inhibit-trace t) | 205 | (let ((standard-output nil) |
| 193 | (standard-output nil) | ||
| 194 | (buffer-read-only t)) | 206 | (buffer-read-only t)) |
| 195 | (message "") | 207 | (message "") |
| 196 | ;; Make sure we unbind buffer-read-only in the right buffer. | 208 | ;; Make sure we unbind buffer-read-only in the right buffer. |
| @@ -250,7 +262,9 @@ That buffer should be current already." | |||
| 250 | (delete-region (point) | 262 | (delete-region (point) |
| 251 | (progn | 263 | (progn |
| 252 | (search-forward "\n debug(") | 264 | (search-forward "\n debug(") |
| 253 | (forward-line 1) | 265 | (forward-line (if (eq (car debugger-args) 'debug) |
| 266 | 2 ; Remove debug-entry-code frame. | ||
| 267 | 1)) | ||
| 254 | (point))) | 268 | (point))) |
| 255 | (insert "Debugger entered") | 269 | (insert "Debugger entered") |
| 256 | ;; lambda is for debug-on-call when a function call is next. | 270 | ;; lambda is for debug-on-call when a function call is next. |
| @@ -395,25 +409,17 @@ will be used, such as in a debug on exit from a frame." | |||
| 395 | "Continue to exit from this frame, with all debug-on-entry suspended." | 409 | "Continue to exit from this frame, with all debug-on-entry suspended." |
| 396 | (interactive) | 410 | (interactive) |
| 397 | (debugger-frame) | 411 | (debugger-frame) |
| 398 | ;; Turn off all debug-on-entry functions | 412 | (setq debugger-jumping-flag t) |
| 399 | ;; but leave them in the list. | 413 | (add-hook 'post-command-hook 'debugger-reenable) |
| 400 | (let ((list debug-function-list)) | ||
| 401 | (while list | ||
| 402 | (fset (car list) | ||
| 403 | (debug-on-entry-1 (car list) (symbol-function (car list)) nil)) | ||
| 404 | (setq list (cdr list)))) | ||
| 405 | (message "Continuing through this frame") | 414 | (message "Continuing through this frame") |
| 406 | (exit-recursive-edit)) | 415 | (exit-recursive-edit)) |
| 407 | 416 | ||
| 408 | (defun debugger-reenable () | 417 | (defun debugger-reenable () |
| 409 | "Turn all debug-on-entry functions back on." | 418 | "Turn all debug-on-entry functions back on. |
| 410 | (let ((list debug-function-list)) | 419 | This function is put on `post-command-hook' by `debugger-jump' and |
| 411 | (while list | 420 | removes itself from that hook." |
| 412 | (or (consp (symbol-function (car list))) | 421 | (setq debugger-jumping-flag nil) |
| 413 | (debug-convert-byte-code (car list))) | 422 | (remove-hook 'post-command-hook 'debugger-reenable)) |
| 414 | (fset (car list) | ||
| 415 | (debug-on-entry-1 (car list) (symbol-function (car list)) t)) | ||
| 416 | (setq list (cdr list))))) | ||
| 417 | 423 | ||
| 418 | (defun debugger-frame-number () | 424 | (defun debugger-frame-number () |
| 419 | "Return number of frames in backtrace before the one point points at." | 425 | "Return number of frames in backtrace before the one point points at." |
| @@ -423,14 +429,13 @@ will be used, such as in a debug on exit from a frame." | |||
| 423 | (count 0)) | 429 | (count 0)) |
| 424 | (while (not (eq (cadr (backtrace-frame count)) 'debug)) | 430 | (while (not (eq (cadr (backtrace-frame count)) 'debug)) |
| 425 | (setq count (1+ count))) | 431 | (setq count (1+ count))) |
| 432 | ;; Skip debug-entry-code frame. | ||
| 433 | (when (member '(debug (quote debug)) (cdr (backtrace-frame (1+ count)))) | ||
| 434 | (setq count (1+ count))) | ||
| 426 | (goto-char (point-min)) | 435 | (goto-char (point-min)) |
| 427 | (if (or (equal (buffer-substring (point) (+ (point) 6)) | 436 | (when (looking-at "Debugger entered--\\(Lisp error\\|returning value\\):") |
| 428 | "Signal") | 437 | (goto-char (match-end 0)) |
| 429 | (equal (buffer-substring (point) (+ (point) 6)) | 438 | (forward-sexp 1)) |
| 430 | "Return")) | ||
| 431 | (progn | ||
| 432 | (search-forward ":") | ||
| 433 | (forward-sexp 1))) | ||
| 434 | (forward-line 1) | 439 | (forward-line 1) |
| 435 | (while (progn | 440 | (while (progn |
| 436 | (forward-char 2) | 441 | (forward-char 2) |
| @@ -476,8 +481,6 @@ Applies to the frame whose line point is on in the backtrace." | |||
| 476 | (insert ? ))) | 481 | (insert ? ))) |
| 477 | (beginning-of-line)) | 482 | (beginning-of-line)) |
| 478 | 483 | ||
| 479 | |||
| 480 | |||
| 481 | (put 'debugger-env-macro 'lisp-indent-function 0) | 484 | (put 'debugger-env-macro 'lisp-indent-function 0) |
| 482 | (defmacro debugger-env-macro (&rest body) | 485 | (defmacro debugger-env-macro (&rest body) |
| 483 | "Run BODY in original environment." | 486 | "Run BODY in original environment." |
| @@ -626,7 +629,6 @@ which must be written in Lisp, not predefined. | |||
| 626 | Use \\[cancel-debug-on-entry] to cancel the effect of this command. | 629 | Use \\[cancel-debug-on-entry] to cancel the effect of this command. |
| 627 | Redefining FUNCTION also cancels it." | 630 | Redefining FUNCTION also cancels it." |
| 628 | (interactive "aDebug on entry (to function): ") | 631 | (interactive "aDebug on entry (to function): ") |
| 629 | (debugger-reenable) | ||
| 630 | ;; Handle a function that has been aliased to some other function. | 632 | ;; Handle a function that has been aliased to some other function. |
| 631 | (if (and (subrp (symbol-function function)) | 633 | (if (and (subrp (symbol-function function)) |
| 632 | (eq (cdr (subr-arity (symbol-function function))) 'unevalled)) | 634 | (eq (cdr (subr-arity (symbol-function function))) 'unevalled)) |
| @@ -657,7 +659,6 @@ If argument is nil or an empty string, cancel for all functions." | |||
| 657 | (mapcar 'symbol-name debug-function-list) | 659 | (mapcar 'symbol-name debug-function-list) |
| 658 | nil t nil))) | 660 | nil t nil))) |
| 659 | (if name (intern name))))) | 661 | (if name (intern name))))) |
| 660 | (debugger-reenable) | ||
| 661 | (if (and function (not (string= function ""))) | 662 | (if (and function (not (string= function ""))) |
| 662 | (progn | 663 | (progn |
| 663 | (let ((f (debug-on-entry-1 function (symbol-function function) nil))) | 664 | (let ((f (debug-on-entry-1 function (symbol-function function) nil))) |
| @@ -698,22 +699,18 @@ If argument is nil or an empty string, cancel for all functions." | |||
| 698 | (debug-on-entry-1 function (cdr defn) flag) | 699 | (debug-on-entry-1 function (cdr defn) flag) |
| 699 | (or (eq (car defn) 'lambda) | 700 | (or (eq (car defn) 'lambda) |
| 700 | (error "%s not user-defined Lisp function" function)) | 701 | (error "%s not user-defined Lisp function" function)) |
| 701 | (let ((tail (cddr defn))) | 702 | (let ((tail (cdr defn))) |
| 702 | ;; Skip the docstring. | 703 | ;; Skip the docstring. |
| 703 | (if (stringp (car tail)) (setq tail (cdr tail))) | 704 | (when (and (stringp (cadr tail)) (cddr tail)) |
| 705 | (setq tail (cdr tail))) | ||
| 704 | ;; Skip the interactive form. | 706 | ;; Skip the interactive form. |
| 705 | (if (eq 'interactive (car-safe (car tail))) (setq tail (cdr tail))) | 707 | (when (eq 'interactive (car-safe (cadr tail))) |
| 706 | (unless (eq flag (equal (car tail) '(debug 'debug))) | 708 | (setq tail (cdr tail))) |
| 707 | ;; If the function has no body, add nil as a body element. | 709 | (unless (eq flag (equal (cadr tail) debug-entry-code)) |
| 708 | (when (null tail) | ||
| 709 | (setq tail (list nil)) | ||
| 710 | (nconc defn tail)) | ||
| 711 | ;; Add/remove debug statement as needed. | 710 | ;; Add/remove debug statement as needed. |
| 712 | (if (not flag) | 711 | (if flag |
| 713 | (progn (setcar tail (cadr tail)) | 712 | (setcdr tail (cons debug-entry-code (cdr tail))) |
| 714 | (setcdr tail (cddr tail))) | 713 | (setcdr tail (cddr tail)))) |
| 715 | (setcdr tail (cons (car tail) (cdr tail))) | ||
| 716 | (setcar tail '(debug 'debug)))) | ||
| 717 | defn)))) | 714 | defn)))) |
| 718 | 715 | ||
| 719 | (defun debugger-list-functions () | 716 | (defun debugger-list-functions () |
diff --git a/lisp/frame.el b/lisp/frame.el index 0fa10babf12..25cc5aa38c8 100644 --- a/lisp/frame.el +++ b/lisp/frame.el | |||
| @@ -1341,7 +1341,7 @@ Note that this command is effective only when Emacs | |||
| 1341 | displays through a window system, because then Emacs does its own | 1341 | displays through a window system, because then Emacs does its own |
| 1342 | cursor display. On a text-only terminal, this is not implemented." | 1342 | cursor display. On a text-only terminal, this is not implemented." |
| 1343 | :init-value (not (or noninteractive | 1343 | :init-value (not (or noninteractive |
| 1344 | emacs-quick-startup | 1344 | (if (boundp 'no-blinking-cursor) no-blinking-cursor) |
| 1345 | (eq system-type 'ms-dos) | 1345 | (eq system-type 'ms-dos) |
| 1346 | (not (memq initial-window-system '(x w32))))) | 1346 | (not (memq initial-window-system '(x w32))))) |
| 1347 | :group 'cursor | 1347 | :group 'cursor |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 7ade8548764..76d4cb419cb 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,11 +1,37 @@ | |||
| 1 | 2005-03-04 Reiner Steib <Reiner.Steib@gmx.de> | ||
| 2 | |||
| 3 | * message.el: Don't autoload former message-utils variables. | ||
| 4 | (message-strip-subject-trailing-was): Changed doc string. | ||
| 5 | |||
| 6 | * nnweb.el: Fixes for `gnus-group-make-web-group'. | ||
| 7 | (nnweb-type-definition): Don't add "hl=en" in `address'. Added | ||
| 8 | `base'. | ||
| 9 | (nnweb-google-search): Add "hl=en" here. | ||
| 10 | (nnweb-google-parse-1, nnweb-google-create-mapping): Don't | ||
| 11 | hardcode URL. | ||
| 12 | |||
| 13 | 2005-03-03 Reiner Steib <Reiner.Steib@gmx.de> | ||
| 14 | |||
| 15 | * message.el (message-get-reply-headers, message-followup): | ||
| 16 | Mention related variables `message-use-followup-to' and | ||
| 17 | `message-use-mail-followup-to', in the information buffer. | ||
| 18 | |||
| 19 | * nnweb.el (nnweb-type-definition): Use groups.google.de instead | ||
| 20 | of broken groups(-beta).google.com. | ||
| 21 | |||
| 22 | 2005-03-01 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 23 | |||
| 24 | * gnus-sum.el (gnus-summary-exit): Undo last change and fix it in | ||
| 25 | a more conservative way. | ||
| 26 | |||
| 1 | 2005-02-27 Arne J,Ax(Brgensen <arne@arnested.dk> | 27 | 2005-02-27 Arne J,Ax(Brgensen <arne@arnested.dk> |
| 2 | 28 | ||
| 3 | * mm-decode.el (mm-dissect-buffer): Pass the from field on to | 29 | * mm-decode.el (mm-dissect-buffer): Pass the from field on to |
| 4 | `mm-dissect-multipart' and receive the from field as an (optional) | 30 | `mm-dissect-multipart' and receive the from field as an (optional) |
| 5 | argument from `mm-dissect-multipart'. | 31 | argument from `mm-dissect-multipart'. |
| 6 | (mm-dissect-multipart): Receive the from field as an argument and | 32 | (mm-dissect-multipart): Receive the from field as an argument and |
| 7 | pass it on when we call `mm-dissect-buffer' on MIME parts. Fixes | 33 | pass it on when we call `mm-dissect-buffer' on MIME parts. |
| 8 | verification/decryption of signed/encrypted MIME parts. | 34 | Fixes verification/decryption of signed/encrypted MIME parts. |
| 9 | 35 | ||
| 10 | 2005-02-26 Stefan Monnier <monnier@iro.umontreal.ca> | 36 | 2005-02-26 Stefan Monnier <monnier@iro.umontreal.ca> |
| 11 | 37 | ||
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index 73ac963bd3b..ea8f7e063fe 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el | |||
| @@ -6680,11 +6680,13 @@ If FORCE (the prefix), also save the .newsrc file(s)." | |||
| 6680 | (set-buffer gnus-group-buffer) | 6680 | (set-buffer gnus-group-buffer) |
| 6681 | (if quit-config | 6681 | (if quit-config |
| 6682 | (gnus-handle-ephemeral-exit quit-config) | 6682 | (gnus-handle-ephemeral-exit quit-config) |
| 6683 | (goto-char group-point) | ||
| 6684 | ;; If gnus-group-buffer is already displayed, make sure we also move | ||
| 6685 | ;; the cursor in the window that displays it. | ||
| 6686 | (let ((win (get-buffer-window (current-buffer) 0))) | ||
| 6687 | (if win (set-window-point win (point)))) | ||
| 6683 | (unless leave-hidden | 6688 | (unless leave-hidden |
| 6684 | (gnus-configure-windows 'group 'force)) | 6689 | (gnus-configure-windows 'group 'force))) |
| 6685 | ;; Move point after calling gnus-configure-windows to make sure it | ||
| 6686 | ;; moves the window's point as well. | ||
| 6687 | (goto-char group-point)) | ||
| 6688 | ;; Clear the current group name. | 6690 | ;; Clear the current group name. |
| 6689 | (unless quit-config | 6691 | (unless quit-config |
| 6690 | (setq gnus-newsgroup-name nil))))) | 6692 | (setq gnus-newsgroup-name nil))))) |
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index e30e9a6b123..e579084474e 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el | |||
| @@ -335,11 +335,8 @@ few false positives here." | |||
| 335 | :link '(custom-manual "(message)Message Headers") | 335 | :link '(custom-manual "(message)Message Headers") |
| 336 | :type 'regexp) | 336 | :type 'regexp) |
| 337 | 337 | ||
| 338 | ;; Fixme: Why are all these things autoloaded? | ||
| 339 | |||
| 340 | ;;; marking inserted text | 338 | ;;; marking inserted text |
| 341 | 339 | ||
| 342 | ;;;###autoload | ||
| 343 | (defcustom message-mark-insert-begin | 340 | (defcustom message-mark-insert-begin |
| 344 | "--8<---------------cut here---------------start------------->8---\n" | 341 | "--8<---------------cut here---------------start------------->8---\n" |
| 345 | "How to mark the beginning of some inserted text." | 342 | "How to mark the beginning of some inserted text." |
| @@ -348,7 +345,6 @@ few false positives here." | |||
| 348 | :link '(custom-manual "(message)Insertion Variables") | 345 | :link '(custom-manual "(message)Insertion Variables") |
| 349 | :group 'message-various) | 346 | :group 'message-various) |
| 350 | 347 | ||
| 351 | ;;;###autoload | ||
| 352 | (defcustom message-mark-insert-end | 348 | (defcustom message-mark-insert-end |
| 353 | "--8<---------------cut here---------------end--------------->8---\n" | 349 | "--8<---------------cut here---------------end--------------->8---\n" |
| 354 | "How to mark the end of some inserted text." | 350 | "How to mark the end of some inserted text." |
| @@ -357,9 +353,7 @@ few false positives here." | |||
| 357 | :link '(custom-manual "(message)Insertion Variables") | 353 | :link '(custom-manual "(message)Insertion Variables") |
| 358 | :group 'message-various) | 354 | :group 'message-various) |
| 359 | 355 | ||
| 360 | ;;;###autoload | 356 | (defcustom message-archive-header "X-No-Archive: Yes\n" |
| 361 | (defcustom message-archive-header | ||
| 362 | "X-No-Archive: Yes\n" | ||
| 363 | "Header to insert when you don't want your article to be archived. | 357 | "Header to insert when you don't want your article to be archived. |
| 364 | Archives \(such as groups.google.com\) respect this header." | 358 | Archives \(such as groups.google.com\) respect this header." |
| 365 | :version "22.1" | 359 | :version "22.1" |
| @@ -367,7 +361,6 @@ Archives \(such as groups.google.com\) respect this header." | |||
| 367 | :link '(custom-manual "(message)Header Commands") | 361 | :link '(custom-manual "(message)Header Commands") |
| 368 | :group 'message-various) | 362 | :group 'message-various) |
| 369 | 363 | ||
| 370 | ;;;###autoload | ||
| 371 | (defcustom message-archive-note | 364 | (defcustom message-archive-note |
| 372 | "X-No-Archive: Yes - save http://groups.google.com/" | 365 | "X-No-Archive: Yes - save http://groups.google.com/" |
| 373 | "Note to insert why you wouldn't want this posting archived. | 366 | "Note to insert why you wouldn't want this posting archived. |
| @@ -385,7 +378,6 @@ If nil, don't insert any text in the body." | |||
| 385 | "Old target for cross-posts or follow-ups.") | 378 | "Old target for cross-posts or follow-ups.") |
| 386 | (make-variable-buffer-local 'message-cross-post-old-target) | 379 | (make-variable-buffer-local 'message-cross-post-old-target) |
| 387 | 380 | ||
| 388 | ;;;###autoload | ||
| 389 | (defcustom message-cross-post-default t | 381 | (defcustom message-cross-post-default t |
| 390 | "When non-nil `message-cross-post-followup-to' will perform a crosspost. | 382 | "When non-nil `message-cross-post-followup-to' will perform a crosspost. |
| 391 | If nil, `message-cross-post-followup-to' will only do a followup. Note that | 383 | If nil, `message-cross-post-followup-to' will only do a followup. Note that |
| @@ -395,25 +387,19 @@ you can explicitly override this setting by calling | |||
| 395 | :type 'boolean | 387 | :type 'boolean |
| 396 | :group 'message-various) | 388 | :group 'message-various) |
| 397 | 389 | ||
| 398 | ;;;###autoload | 390 | (defcustom message-cross-post-note "Crosspost & Followup-To: " |
| 399 | (defcustom message-cross-post-note | ||
| 400 | "Crosspost & Followup-To: " | ||
| 401 | "Note to insert before signature to notify of cross-post and follow-up." | 391 | "Note to insert before signature to notify of cross-post and follow-up." |
| 402 | :version "22.1" | 392 | :version "22.1" |
| 403 | :type 'string | 393 | :type 'string |
| 404 | :group 'message-various) | 394 | :group 'message-various) |
| 405 | 395 | ||
| 406 | ;;;###autoload | 396 | (defcustom message-followup-to-note "Followup-To: " |
| 407 | (defcustom message-followup-to-note | ||
| 408 | "Followup-To: " | ||
| 409 | "Note to insert before signature to notify of follow-up only." | 397 | "Note to insert before signature to notify of follow-up only." |
| 410 | :version "22.1" | 398 | :version "22.1" |
| 411 | :type 'string | 399 | :type 'string |
| 412 | :group 'message-various) | 400 | :group 'message-various) |
| 413 | 401 | ||
| 414 | ;;;###autoload | 402 | (defcustom message-cross-post-note-function 'message-cross-post-insert-note |
| 415 | (defcustom message-cross-post-note-function | ||
| 416 | 'message-cross-post-insert-note | ||
| 417 | "Function to use to insert note about Crosspost or Followup-To. | 403 | "Function to use to insert note about Crosspost or Followup-To. |
| 418 | The function will be called with four arguments. The function should not only | 404 | The function will be called with four arguments. The function should not only |
| 419 | insert a note, but also ensure old notes are deleted. See the documentation | 405 | insert a note, but also ensure old notes are deleted. See the documentation |
| @@ -1766,7 +1752,7 @@ see `message-narrow-to-headers-or-head'." | |||
| 1766 | ;;; Start of functions adopted from `message-utils.el'. | 1752 | ;;; Start of functions adopted from `message-utils.el'. |
| 1767 | 1753 | ||
| 1768 | (defun message-strip-subject-trailing-was (subject) | 1754 | (defun message-strip-subject-trailing-was (subject) |
| 1769 | "Remove trailing \"(Was: <old subject>)\" from SUBJECT lines. | 1755 | "Remove trailing \"(was: <old subject>)\" from SUBJECT lines. |
| 1770 | Leading \"Re: \" is not stripped by this function. Use the function | 1756 | Leading \"Re: \" is not stripped by this function. Use the function |
| 1771 | `message-strip-subject-re' for this." | 1757 | `message-strip-subject-re' for this." |
| 1772 | (let* ((query message-subject-trailing-was-query) | 1758 | (let* ((query message-subject-trailing-was-query) |
| @@ -5675,7 +5661,10 @@ because discussions that are spread over several lists tend to be | |||
| 5675 | fragmented and very difficult to follow. | 5661 | fragmented and very difficult to follow. |
| 5676 | 5662 | ||
| 5677 | Also, some source/announcement lists are not intended for discussion; | 5663 | Also, some source/announcement lists are not intended for discussion; |
| 5678 | responses here are directed to other addresses."))) | 5664 | responses here are directed to other addresses. |
| 5665 | |||
| 5666 | You may customize the variable `message-use-mail-followup-to', if you | ||
| 5667 | want to get rid of this query permanently."))) | ||
| 5679 | (setq recipients (concat ", " mft))) | 5668 | (setq recipients (concat ", " mft))) |
| 5680 | (to-address | 5669 | (to-address |
| 5681 | (setq recipients (concat ", " to-address)) | 5670 | (setq recipients (concat ", " to-address)) |
| @@ -5871,7 +5860,10 @@ You should normally obey the Followup-To: header. | |||
| 5871 | `Followup-To: poster' sends your response via e-mail instead of news. | 5860 | `Followup-To: poster' sends your response via e-mail instead of news. |
| 5872 | 5861 | ||
| 5873 | A typical situation where `Followup-To: poster' is used is when the poster | 5862 | A typical situation where `Followup-To: poster' is used is when the poster |
| 5874 | does not read the newsgroup, so he wouldn't see any replies sent to it.")) | 5863 | does not read the newsgroup, so he wouldn't see any replies sent to it. |
| 5864 | |||
| 5865 | You may customize the variable `message-use-followup-to', if you | ||
| 5866 | want to get rid of this query permanently.")) | ||
| 5875 | (progn | 5867 | (progn |
| 5876 | (setq message-this-is-news nil) | 5868 | (setq message-this-is-news nil) |
| 5877 | (cons 'To (or mrt reply-to from ""))) | 5869 | (cons 'To (or mrt reply-to from ""))) |
| @@ -5894,7 +5886,10 @@ because discussions that are spread over several newsgroup tend to | |||
| 5894 | be fragmented and very difficult to follow. | 5886 | be fragmented and very difficult to follow. |
| 5895 | 5887 | ||
| 5896 | Also, some source/announcement newsgroups are not intended for discussion; | 5888 | Also, some source/announcement newsgroups are not intended for discussion; |
| 5897 | responses here are directed to other newsgroups.")) | 5889 | responses here are directed to other newsgroups. |
| 5890 | |||
| 5891 | You may customize the variable `message-use-followup-to', if you | ||
| 5892 | want to get rid of this query permanently.")) | ||
| 5898 | (cons 'Newsgroups followup-to) | 5893 | (cons 'Newsgroups followup-to) |
| 5899 | (cons 'Newsgroups newsgroups)))))) | 5894 | (cons 'Newsgroups newsgroups)))))) |
| 5900 | (posted-to | 5895 | (posted-to |
diff --git a/lisp/gnus/nnweb.el b/lisp/gnus/nnweb.el index 063a1c8f376..89a4a739792 100644 --- a/lisp/gnus/nnweb.el +++ b/lisp/gnus/nnweb.el | |||
| @@ -54,11 +54,12 @@ Valid types include `google', `dejanews', and `gmane'.") | |||
| 54 | (defvar nnweb-type-definition | 54 | (defvar nnweb-type-definition |
| 55 | 55 | ||
| 56 | (article . ignore) | 56 | (article . ignore) |
| 57 | (id . "http://groups.google.com/groups?selm=%s&output=gplain") | 57 | (id . "http://groups.google.de/groups?selm=%s&output=gplain") |
| 58 | (reference . identity) | 58 | (reference . identity) |
| 59 | (map . nnweb-google-create-mapping) | 59 | (map . nnweb-google-create-mapping) |
| 60 | (search . nnweb-google-search) | 60 | (search . nnweb-google-search) |
| 61 | (address . "http://groups.google.com/groups") | 61 | (address . "http://groups.google.de/groups") |
| 62 | (base . "http://groups.google.de") | ||
| 62 | (identifier . nnweb-google-identity)) | 63 | (identifier . nnweb-google-identity)) |
| 63 | (dejanews ;; alias of google | 64 | (dejanews ;; alias of google |
| 64 | (article . ignore) | 65 | (article . ignore) |
| @@ -67,6 +68,7 @@ Valid types include `google', `dejanews', and `gmane'.") | |||
| 67 | (map . nnweb-google-create-mapping) | 68 | (map . nnweb-google-create-mapping) |
| 68 | (search . nnweb-google-search) | 69 | (search . nnweb-google-search) |
| 69 | (address . "http://groups.google.com/groups") | 70 | (address . "http://groups.google.com/groups") |
| 71 | (base . "http://groups.google.com") | ||
| 70 | (identifier . nnweb-google-identity)) | 72 | (identifier . nnweb-google-identity)) |
| 71 | (gmane | 73 | (gmane |
| 72 | (article . nnweb-gmane-wash-article) | 74 | (article . nnweb-gmane-wash-article) |
| @@ -349,7 +351,7 @@ Valid types include `google', `dejanews', and `gmane'.") | |||
| 349 | "a href=/groups\\(\\?[^ \">]*selm=\\([^ &\">]+\\)\\)" nil t) | 351 | "a href=/groups\\(\\?[^ \">]*selm=\\([^ &\">]+\\)\\)" nil t) |
| 350 | (setq mid (match-string 2) | 352 | (setq mid (match-string 2) |
| 351 | url (format | 353 | url (format |
| 352 | "http://groups.google.com/groups?selm=%s&output=gplain" mid)) | 354 | (nnweb-definition 'id) mid)) |
| 353 | (narrow-to-region (search-forward ">" nil t) | 355 | (narrow-to-region (search-forward ">" nil t) |
| 354 | (search-forward "</a>" nil t)) | 356 | (search-forward "</a>" nil t)) |
| 355 | (mm-url-remove-markup) | 357 | (mm-url-remove-markup) |
| @@ -420,7 +422,7 @@ Valid types include `google', `dejanews', and `gmane'.") | |||
| 420 | (>= i nnweb-max-hits)) | 422 | (>= i nnweb-max-hits)) |
| 421 | (setq more nil) | 423 | (setq more nil) |
| 422 | ;; Yup, there are more articles | 424 | ;; Yup, there are more articles |
| 423 | (setq more (concat "http://groups.google.com" (match-string 1))) | 425 | (setq more (concat (nnweb-definition 'base) (match-string 1))) |
| 424 | (when more | 426 | (when more |
| 425 | (erase-buffer) | 427 | (erase-buffer) |
| 426 | (mm-url-insert more)))) | 428 | (mm-url-insert more)))) |
| @@ -435,9 +437,9 @@ Valid types include `google', `dejanews', and `gmane'.") | |||
| 435 | "?" | 437 | "?" |
| 436 | (mm-url-encode-www-form-urlencoded | 438 | (mm-url-encode-www-form-urlencoded |
| 437 | `(("q" . ,search) | 439 | `(("q" . ,search) |
| 438 | ("num". "100") | 440 | ("num" . "100") |
| 439 | ("hq" . "") | 441 | ("hq" . "") |
| 440 | ("hl" . "") | 442 | ("hl" . "en") |
| 441 | ("lr" . "") | 443 | ("lr" . "") |
| 442 | ("safe" . "off") | 444 | ("safe" . "off") |
| 443 | ("sites" . "groups"))))) | 445 | ("sites" . "groups"))))) |
diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el index bed4330d0c2..e2e5d251371 100644 --- a/lisp/ibuf-ext.el +++ b/lisp/ibuf-ext.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; ibuf-ext.el --- extensions for ibuffer | 1 | ;;; ibuf-ext.el --- extensions for ibuffer |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Colin Walters <walters@verbum.org> | 5 | ;; Author: Colin Walters <walters@verbum.org> |
| 6 | ;; Maintainer: John Paul Wallington <jpw@gnu.org> | 6 | ;; Maintainer: John Paul Wallington <jpw@gnu.org> |
| @@ -753,7 +753,10 @@ of replacing the current filters." | |||
| 753 | "Disable all filters currently in effect in this buffer." | 753 | "Disable all filters currently in effect in this buffer." |
| 754 | (interactive) | 754 | (interactive) |
| 755 | (setq ibuffer-filtering-qualifiers nil) | 755 | (setq ibuffer-filtering-qualifiers nil) |
| 756 | (ibuffer-update nil t)) | 756 | (let ((buf (ibuffer-current-buffer))) |
| 757 | (ibuffer-update nil t) | ||
| 758 | (when buf | ||
| 759 | (ibuffer-jump-to-buffer (buffer-name buf))))) | ||
| 757 | 760 | ||
| 758 | ;;;###autoload | 761 | ;;;###autoload |
| 759 | (defun ibuffer-pop-filter () | 762 | (defun ibuffer-pop-filter () |
| @@ -762,7 +765,10 @@ of replacing the current filters." | |||
| 762 | (when (null ibuffer-filtering-qualifiers) | 765 | (when (null ibuffer-filtering-qualifiers) |
| 763 | (error "No filters in effect")) | 766 | (error "No filters in effect")) |
| 764 | (pop ibuffer-filtering-qualifiers) | 767 | (pop ibuffer-filtering-qualifiers) |
| 765 | (ibuffer-update nil t)) | 768 | (let ((buf (ibuffer-current-buffer))) |
| 769 | (ibuffer-update nil t) | ||
| 770 | (when buf | ||
| 771 | (ibuffer-jump-to-buffer (buffer-name buf))))) | ||
| 766 | 772 | ||
| 767 | (defun ibuffer-push-filter (qualifier) | 773 | (defun ibuffer-push-filter (qualifier) |
| 768 | "Add QUALIFIER to `ibuffer-filtering-qualifiers'." | 774 | "Add QUALIFIER to `ibuffer-filtering-qualifiers'." |
diff --git a/lisp/international/code-pages.el b/lisp/international/code-pages.el index 0f8cdbf5713..cc4e1766145 100644 --- a/lisp/international/code-pages.el +++ b/lisp/international/code-pages.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; code-pages.el --- coding systems for assorted codepages -*-coding: utf-8;-*- | 1 | ;;; code-pages.el --- coding systems for assorted codepages -*-coding: utf-8;-*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2001, 2002 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Dave Love <fx@gnu.org> | 5 | ;; Author: Dave Love <fx@gnu.org> |
| 6 | ;; Keywords: i18n | 6 | ;; Keywords: i18n |
| @@ -2440,6 +2440,7 @@ Return an updated `non-iso-charset-alist'." | |||
| 2440 | nil | 2440 | nil |
| 2441 | nil]) | 2441 | nil]) |
| 2442 | 2442 | ||
| 2443 | ;;;###autoload(autoload-coding-system 'windows-1250 '(require 'code-pages)) | ||
| 2443 | (cp-make-coding-system | 2444 | (cp-make-coding-system |
| 2444 | windows-1250 | 2445 | windows-1250 |
| 2445 | [?\€ | 2446 | [?\€ |
| @@ -2571,6 +2572,7 @@ Return an updated `non-iso-charset-alist'." | |||
| 2571 | ?\Å£ | 2572 | ?\Å£ |
| 2572 | ?\Ë™]) | 2573 | ?\Ë™]) |
| 2573 | 2574 | ||
| 2575 | ;;;###autoload(autoload-coding-system 'windows-1253 '(require 'code-pages)) | ||
| 2574 | (cp-make-coding-system | 2576 | (cp-make-coding-system |
| 2575 | windows-1253 | 2577 | windows-1253 |
| 2576 | [?\€ | 2578 | [?\€ |
| @@ -2703,6 +2705,7 @@ Return an updated `non-iso-charset-alist'." | |||
| 2703 | nil] | 2705 | nil] |
| 2704 | nil ?g) ;; Greek | 2706 | nil ?g) ;; Greek |
| 2705 | 2707 | ||
| 2708 | ;;;###autoload(autoload-coding-system 'windows-1254 '(require 'code-pages)) | ||
| 2706 | (cp-make-coding-system | 2709 | (cp-make-coding-system |
| 2707 | windows-1254 | 2710 | windows-1254 |
| 2708 | [?\€ | 2711 | [?\€ |
| @@ -2835,6 +2838,7 @@ Return an updated `non-iso-charset-alist'." | |||
| 2835 | ?\ÿ]) | 2838 | ?\ÿ]) |
| 2836 | 2839 | ||
| 2837 | ;; yi_US | 2840 | ;; yi_US |
| 2841 | ;;;###autoload(autoload-coding-system 'windows-1255 '(require 'code-pages)) | ||
| 2838 | (cp-make-coding-system | 2842 | (cp-make-coding-system |
| 2839 | windows-1255 | 2843 | windows-1255 |
| 2840 | [?\€ | 2844 | [?\€ |
| @@ -2967,6 +2971,7 @@ Return an updated `non-iso-charset-alist'." | |||
| 2967 | nil] | 2971 | nil] |
| 2968 | nil ?h) ;; Hebrew | 2972 | nil ?h) ;; Hebrew |
| 2969 | 2973 | ||
| 2974 | ;;;###autoload(autoload-coding-system 'windows-1256 '(require 'code-pages)) | ||
| 2970 | (cp-make-coding-system | 2975 | (cp-make-coding-system |
| 2971 | windows-1256 | 2976 | windows-1256 |
| 2972 | [?\€ | 2977 | [?\€ |
| @@ -3099,6 +3104,7 @@ Return an updated `non-iso-charset-alist'." | |||
| 3099 | ?\Û’] | 3104 | ?\Û’] |
| 3100 | nil ?a) ;; Arabic | 3105 | nil ?a) ;; Arabic |
| 3101 | 3106 | ||
| 3107 | ;;;###autoload(autoload-coding-system 'windows-1257 '(require 'code-pages)) | ||
| 3102 | (cp-make-coding-system | 3108 | (cp-make-coding-system |
| 3103 | windows-1257 | 3109 | windows-1257 |
| 3104 | [?\€ | 3110 | [?\€ |
| @@ -3230,6 +3236,7 @@ Return an updated `non-iso-charset-alist'." | |||
| 3230 | ?\ž | 3236 | ?\ž |
| 3231 | nil]) | 3237 | nil]) |
| 3232 | 3238 | ||
| 3239 | ;;;###autoload(autoload-coding-system 'windows-1258 '(require 'code-pages)) | ||
| 3233 | (cp-make-coding-system | 3240 | (cp-make-coding-system |
| 3234 | windows-1258 | 3241 | windows-1258 |
| 3235 | [?\€ | 3242 | [?\€ |
| @@ -3652,6 +3659,7 @@ Return an updated `non-iso-charset-alist'." | |||
| 3652 | ;; ISO 8859-16 was primarily designed for single-byte encoding the Romanian | 3659 | ;; ISO 8859-16 was primarily designed for single-byte encoding the Romanian |
| 3653 | ;; language. The UTF-8 charset is the preferred and in today's MIME software | 3660 | ;; language. The UTF-8 charset is the preferred and in today's MIME software |
| 3654 | ;; more widely implemented encoding suitable for Romanian. | 3661 | ;; more widely implemented encoding suitable for Romanian. |
| 3662 | ;;;###autoload(autoload-coding-system 'iso-8859-16 '(require 'code-pages)) | ||
| 3655 | (cp-make-coding-system | 3663 | (cp-make-coding-system |
| 3656 | iso-latin-10 ; consistent with, e.g. Latin-1 | 3664 | iso-latin-10 ; consistent with, e.g. Latin-1 |
| 3657 | [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil | 3665 | [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil |
| @@ -3823,6 +3831,7 @@ Return an updated `non-iso-charset-alist'." | |||
| 3823 | ?6) | 3831 | ?6) |
| 3824 | (define-coding-system-alias 'arabic-iso-8bit 'iso-8859-6) | 3832 | (define-coding-system-alias 'arabic-iso-8bit 'iso-8859-6) |
| 3825 | 3833 | ||
| 3834 | ;;;###autoload(autoload-coding-system 'iso-8859-10 '(require 'code-pages)) | ||
| 3826 | (cp-make-coding-system | 3835 | (cp-make-coding-system |
| 3827 | iso-latin-6 | 3836 | iso-latin-6 |
| 3828 | [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil | 3837 | [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil |
| @@ -3929,6 +3938,7 @@ Return an updated `non-iso-charset-alist'." | |||
| 3929 | (define-coding-system-alias 'latin-6 'iso-latin-6) | 3938 | (define-coding-system-alias 'latin-6 'iso-latin-6) |
| 3930 | 3939 | ||
| 3931 | ;; used by lt_LT, lv_LV, mi_NZ | 3940 | ;; used by lt_LT, lv_LV, mi_NZ |
| 3941 | ;;;###autoload(autoload-coding-system 'iso-8859-13 '(require 'code-pages)) | ||
| 3932 | (cp-make-coding-system | 3942 | (cp-make-coding-system |
| 3933 | iso-latin-7 | 3943 | iso-latin-7 |
| 3934 | [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil | 3944 | [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil |
| @@ -4039,6 +4049,7 @@ Return an updated `non-iso-charset-alist'." | |||
| 4039 | ;; Fixme: check on the C1 characters which libiconv includes. They | 4049 | ;; Fixme: check on the C1 characters which libiconv includes. They |
| 4040 | ;; are reproduced below, but are probably wrong. I can't find an | 4050 | ;; are reproduced below, but are probably wrong. I can't find an |
| 4041 | ;; official definition of georgian-ps. | 4051 | ;; official definition of georgian-ps. |
| 4052 | ;;;###autoload(autoload-coding-system 'georgian-ps '(require 'code-pages)) | ||
| 4042 | (cp-make-coding-system | 4053 | (cp-make-coding-system |
| 4043 | georgian-ps ; used by glibc for ka_GE | 4054 | georgian-ps ; used by glibc for ka_GE |
| 4044 | [?\€ | 4055 | [?\€ |
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el index 1c95e54dc5c..093969d5725 100644 --- a/lisp/menu-bar.el +++ b/lisp/menu-bar.el | |||
| @@ -590,7 +590,7 @@ Do the same for the keys of the same name." | |||
| 590 | (defmacro menu-bar-make-mm-toggle (fname doc help &optional props) | 590 | (defmacro menu-bar-make-mm-toggle (fname doc help &optional props) |
| 591 | "Make a menu-item for a global minor mode toggle. | 591 | "Make a menu-item for a global minor mode toggle. |
| 592 | FNAME is the minor mode's name (variable and function). | 592 | FNAME is the minor mode's name (variable and function). |
| 593 | DOC is the text to use the menu entry. | 593 | DOC is the text to use for the menu entry. |
| 594 | HELP is the text to use for the tooltip. | 594 | HELP is the text to use for the tooltip. |
| 595 | PROPS are additional properties." | 595 | PROPS are additional properties." |
| 596 | `'(menu-item ,doc ,fname | 596 | `'(menu-item ,doc ,fname |
| @@ -637,7 +637,8 @@ by \"Save Options\" in Custom buffers.") | |||
| 637 | ;; These are set with menu-bar-make-mm-toggle, which does not | 637 | ;; These are set with menu-bar-make-mm-toggle, which does not |
| 638 | ;; put on a customized-value property. | 638 | ;; put on a customized-value property. |
| 639 | (dolist (elt '(line-number-mode column-number-mode cua-mode show-paren-mode | 639 | (dolist (elt '(line-number-mode column-number-mode cua-mode show-paren-mode |
| 640 | transient-mark-mode global-font-lock-mode)) | 640 | transient-mark-mode global-font-lock-mode |
| 641 | blink-cursor-mode)) | ||
| 641 | (and (customize-mark-to-save elt) | 642 | (and (customize-mark-to-save elt) |
| 642 | (setq need-save t))) | 643 | (setq need-save t))) |
| 643 | ;; These are set with `customize-set-variable'. | 644 | ;; These are set with `customize-set-variable'. |
| @@ -959,6 +960,14 @@ by \"Save Options\" in Custom buffers.") | |||
| 959 | "Enter Lisp debugger when an error is signaled")) | 960 | "Enter Lisp debugger when an error is signaled")) |
| 960 | (define-key menu-bar-options-menu [debugger-separator] | 961 | (define-key menu-bar-options-menu [debugger-separator] |
| 961 | '("--")) | 962 | '("--")) |
| 963 | |||
| 964 | (define-key menu-bar-options-menu [blink-cursor-mode] | ||
| 965 | (menu-bar-make-mm-toggle blink-cursor-mode | ||
| 966 | "Blinking Cursor" | ||
| 967 | "Whether the cursor blinks (Blink Cursor mode)")) | ||
| 968 | (define-key menu-bar-options-menu [cursor-separator] | ||
| 969 | '("--")) | ||
| 970 | |||
| 962 | (define-key menu-bar-options-menu [toggle-auto-compression] | 971 | (define-key menu-bar-options-menu [toggle-auto-compression] |
| 963 | '(menu-item "Automatic File De/compression" | 972 | '(menu-item "Automatic File De/compression" |
| 964 | auto-compression-mode | 973 | auto-compression-mode |
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 79a6b4b43be..457177d7c4c 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el | |||
| @@ -514,6 +514,10 @@ Faces `compilation-error-face', `compilation-warning-face', | |||
| 514 | (and (cdr type) (match-end (cdr type)) compilation-info-face) | 514 | (and (cdr type) (match-end (cdr type)) compilation-info-face) |
| 515 | compilation-error-face)) | 515 | compilation-error-face)) |
| 516 | 516 | ||
| 517 | ;; Internal function for calculating the text properties of a directory | ||
| 518 | ;; change message. The directory property is important, because it is | ||
| 519 | ;; the stack of nested enter-messages. Relative filenames on the following | ||
| 520 | ;; lines are relative to the top of the stack. | ||
| 517 | (defun compilation-directory-properties (idx leave) | 521 | (defun compilation-directory-properties (idx leave) |
| 518 | (if leave (setq leave (match-end leave))) | 522 | (if leave (setq leave (match-end leave))) |
| 519 | ;; find previous stack, and push onto it, or if `leave' pop it | 523 | ;; find previous stack, and push onto it, or if `leave' pop it |
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el index 5fdf77c29d8..00da2e70dd7 100644 --- a/lisp/progmodes/gdb-ui.el +++ b/lisp/progmodes/gdb-ui.el | |||
| @@ -880,8 +880,7 @@ sink to `user' in `gdb-stopping', that is fine." | |||
| 880 | "An annotation handler for `post-prompt'. | 880 | "An annotation handler for `post-prompt'. |
| 881 | This begins the collection of output from the current command if that | 881 | This begins the collection of output from the current command if that |
| 882 | happens to be appropriate." | 882 | happens to be appropriate." |
| 883 | (if (not gdb-pending-triggers) | 883 | (unless gdb-pending-triggers |
| 884 | (progn | ||
| 885 | (gdb-get-current-frame) | 884 | (gdb-get-current-frame) |
| 886 | (gdb-invalidate-frames) | 885 | (gdb-invalidate-frames) |
| 887 | (gdb-invalidate-breakpoints) | 886 | (gdb-invalidate-breakpoints) |
| @@ -897,7 +896,7 @@ happens to be appropriate." | |||
| 897 | (setq gdb-var-changed t) ; force update | 896 | (setq gdb-var-changed t) ; force update |
| 898 | (dolist (var gdb-var-list) | 897 | (dolist (var gdb-var-list) |
| 899 | (setcar (nthcdr 5 var) nil)) | 898 | (setcar (nthcdr 5 var) nil)) |
| 900 | (gdb-var-update))))) | 899 | (gdb-var-update)))) |
| 901 | (let ((sink gdb-output-sink)) | 900 | (let ((sink gdb-output-sink)) |
| 902 | (cond | 901 | (cond |
| 903 | ((eq sink 'user) t) | 902 | ((eq sink 'user) t) |
| @@ -1211,14 +1210,13 @@ static char *magick[] = { | |||
| 1211 | (goto-line (string-to-number line)) | 1210 | (goto-line (string-to-number line)) |
| 1212 | (gdb-put-breakpoint-icon (eq flag ?y) bptno))) | 1211 | (gdb-put-breakpoint-icon (eq flag ?y) bptno))) |
| 1213 | (gdb-enqueue-input | 1212 | (gdb-enqueue-input |
| 1214 | (list (concat gdb-server-prefix "list " | 1213 | (list (concat "list " |
| 1215 | (match-string-no-properties 1) ":1\n") | 1214 | (match-string-no-properties 1) ":1\n") |
| 1216 | 'ignore)) | 1215 | 'ignore)) |
| 1217 | (gdb-enqueue-input | 1216 | (gdb-enqueue-input |
| 1218 | (list (concat gdb-server-prefix "info source\n") | 1217 | (list "info source\n" |
| 1219 | `(lambda () | 1218 | `(lambda () (gdb-get-location |
| 1220 | (gdb-get-location | 1219 | ,bptno ,line ,flag))))))))))) |
| 1221 | ,bptno ,line ,flag))))))))))) | ||
| 1222 | (end-of-line))))) | 1220 | (end-of-line))))) |
| 1223 | (if (gdb-get-buffer 'gdb-assembler-buffer) (gdb-assembler-custom))) | 1221 | (if (gdb-get-buffer 'gdb-assembler-buffer) (gdb-assembler-custom))) |
| 1224 | 1222 | ||
| @@ -2108,22 +2106,29 @@ buffers." | |||
| 2108 | "Find the directory containing the relevant source file. | 2106 | "Find the directory containing the relevant source file. |
| 2109 | Put in buffer and place breakpoint icon." | 2107 | Put in buffer and place breakpoint icon." |
| 2110 | (goto-char (point-min)) | 2108 | (goto-char (point-min)) |
| 2111 | (if (search-forward "Located in " nil t) | 2109 | (catch 'file-not-found |
| 2112 | (if (looking-at "\\S-*") | 2110 | (if (search-forward "Located in " nil t) |
| 2113 | (push (cons bptno (match-string 0)) gdb-location-list)) | 2111 | (if (looking-at "\\S-*") |
| 2114 | (gdb-resync) | 2112 | (push (cons bptno (match-string 0)) gdb-location-list)) |
| 2115 | (push (cons bptno "File not found") gdb-location-list) | 2113 | (gdb-resync) |
| 2116 | (error "Cannot find source file for breakpoint location. | 2114 | (push (cons bptno "File not found") gdb-location-list) |
| 2115 | (if (eq window-system 'x) | ||
| 2116 | (x-popup-dialog | ||
| 2117 | t '("Cannot find source file for breakpoint location.\n\ | ||
| 2118 | Add directory to search path for source files using the GDB command, dir." | ||
| 2119 | ("Ok" . nil))) | ||
| 2120 | (message "Cannot find source file for breakpoint location.\n\ | ||
| 2117 | Add directory to search path for source files using the GDB command, dir.")) | 2121 | Add directory to search path for source files using the GDB command, dir.")) |
| 2118 | (with-current-buffer | 2122 | (throw 'file-not-found nil)) |
| 2119 | (find-file-noselect (match-string 0)) | 2123 | (with-current-buffer |
| 2120 | (save-current-buffer | 2124 | (find-file-noselect (match-string 0)) |
| 2121 | (set (make-local-variable 'gud-minor-mode) 'gdba) | 2125 | (save-current-buffer |
| 2122 | (set (make-local-variable 'tool-bar-map) gud-tool-bar-map)) | 2126 | (set (make-local-variable 'gud-minor-mode) 'gdba) |
| 2123 | ;; only want one breakpoint icon at each location | 2127 | (set (make-local-variable 'tool-bar-map) gud-tool-bar-map)) |
| 2124 | (save-excursion | 2128 | ;; only want one breakpoint icon at each location |
| 2125 | (goto-line (string-to-number line)) | 2129 | (save-excursion |
| 2126 | (gdb-put-breakpoint-icon (eq flag ?y) bptno)))) | 2130 | (goto-line (string-to-number line)) |
| 2131 | (gdb-put-breakpoint-icon (eq flag ?y) bptno))))) | ||
| 2127 | 2132 | ||
| 2128 | (add-hook 'find-file-hook 'gdb-find-file-hook) | 2133 | (add-hook 'find-file-hook 'gdb-find-file-hook) |
| 2129 | 2134 | ||
diff --git a/lisp/simple.el b/lisp/simple.el index be9bded5382..0b40d53b756 100644 --- a/lisp/simple.el +++ b/lisp/simple.el | |||
| @@ -733,10 +733,48 @@ that uses or sets the mark." | |||
| 733 | 733 | ||
| 734 | ;; Counting lines, one way or another. | 734 | ;; Counting lines, one way or another. |
| 735 | 735 | ||
| 736 | (defun goto-line (arg) | 736 | (defun goto-line (arg &optional buffer) |
| 737 | "Goto line ARG, counting from line 1 at beginning of buffer." | 737 | "Goto line ARG, counting from line 1 at beginning of buffer. |
| 738 | (interactive "NGoto line: ") | 738 | Normally, move point in the curren buffer. |
| 739 | (setq arg (prefix-numeric-value arg)) | 739 | With just C-u as argument, move point in the most recently displayed |
| 740 | other buffer, and switch to it. | ||
| 741 | |||
| 742 | If there's a number in the buffer at point, it is the default for ARG." | ||
| 743 | (interactive | ||
| 744 | (if (and current-prefix-arg (not (consp current-prefix-arg))) | ||
| 745 | (list (prefix-numeric-value current-prefix-arg)) | ||
| 746 | ;; Look for a default, a number in the buffer at point. | ||
| 747 | (let* ((default | ||
| 748 | (save-excursion | ||
| 749 | (skip-chars-backward "0-9") | ||
| 750 | (if (looking-at "[0-9]") | ||
| 751 | (buffer-substring-no-properties | ||
| 752 | (point) | ||
| 753 | (progn (skip-chars-forward "0-9") | ||
| 754 | (point)))))) | ||
| 755 | ;; Decide if we're switching buffers. | ||
| 756 | (buffer | ||
| 757 | (if (consp current-prefix-arg) | ||
| 758 | (other-buffer (current-buffer) t))) | ||
| 759 | (buffer-prompt | ||
| 760 | (if buffer | ||
| 761 | (concat " in " (buffer-name buffer)) | ||
| 762 | ""))) | ||
| 763 | ;; Read the argument, offering that number (if any) as default. | ||
| 764 | (list (read-from-minibuffer (format (if default "Goto line%s (%s): " | ||
| 765 | "Goto line%s: ") | ||
| 766 | buffer-prompt | ||
| 767 | default) | ||
| 768 | nil nil t | ||
| 769 | 'minibuffer-history | ||
| 770 | default) | ||
| 771 | buffer)))) | ||
| 772 | ;; Switch to the desired buffer, one way or another. | ||
| 773 | (if buffer | ||
| 774 | (let ((window (get-buffer-window buffer))) | ||
| 775 | (if window (select-window window) | ||
| 776 | (switch-to-buffer-other-window buffer)))) | ||
| 777 | ;; Move to the specified line number in that buffer. | ||
| 740 | (save-restriction | 778 | (save-restriction |
| 741 | (widen) | 779 | (widen) |
| 742 | (goto-char 1) | 780 | (goto-char 1) |
diff --git a/lisp/startup.el b/lisp/startup.el index b66ceb38ea1..b16cfdeb0c9 100644 --- a/lisp/startup.el +++ b/lisp/startup.el | |||
| @@ -290,6 +290,8 @@ from being initialized." | |||
| 290 | 290 | ||
| 291 | (defvar normal-top-level-add-subdirs-inode-list nil) | 291 | (defvar normal-top-level-add-subdirs-inode-list nil) |
| 292 | 292 | ||
| 293 | (defvar no-blinking-cursor nil) | ||
| 294 | |||
| 293 | (defvar pure-space-overflow nil | 295 | (defvar pure-space-overflow nil |
| 294 | "Non-nil if building Emacs overflowed pure space.") | 296 | "Non-nil if building Emacs overflowed pure space.") |
| 295 | 297 | ||
| @@ -674,7 +676,8 @@ opening the first frame (e.g. open a connection to the server).") | |||
| 674 | ;; does things. | 676 | ;; does things. |
| 675 | (while (and (not done) args) | 677 | (while (and (not done) args) |
| 676 | (let* ((longopts '(("--no-init-file") ("--no-site-file") ("--user") | 678 | (let* ((longopts '(("--no-init-file") ("--no-site-file") ("--user") |
| 677 | ("--debug-init") ("--iconic") ("--icon-type"))) | 679 | ("--debug-init") ("--iconic") ("--icon-type") |
| 680 | ("--no-blinking-cursor"))) | ||
| 678 | (argi (pop args)) | 681 | (argi (pop args)) |
| 679 | (orig-argi argi) | 682 | (orig-argi argi) |
| 680 | argval) | 683 | argval) |
| @@ -697,6 +700,7 @@ opening the first frame (e.g. open a connection to the server).") | |||
| 697 | ((equal argi "-Q") | 700 | ((equal argi "-Q") |
| 698 | (setq init-file-user nil | 701 | (setq init-file-user nil |
| 699 | site-run-file nil | 702 | site-run-file nil |
| 703 | no-blinking-cursor t | ||
| 700 | emacs-quick-startup t) | 704 | emacs-quick-startup t) |
| 701 | (push '(vertical-scroll-bars . nil) initial-frame-alist)) | 705 | (push '(vertical-scroll-bars . nil) initial-frame-alist)) |
| 702 | ((member argi '("-q" "-no-init-file")) | 706 | ((member argi '("-q" "-no-init-file")) |
| @@ -712,6 +716,8 @@ opening the first frame (e.g. open a connection to the server).") | |||
| 712 | (push '(visibility . icon) initial-frame-alist)) | 716 | (push '(visibility . icon) initial-frame-alist)) |
| 713 | ((member argi '("-icon-type" "-i" "-itype")) | 717 | ((member argi '("-icon-type" "-i" "-itype")) |
| 714 | (push '(icon-type . t) default-frame-alist)) | 718 | (push '(icon-type . t) default-frame-alist)) |
| 719 | ((member argi '("-nbc" "-no-blinking-cursor")) | ||
| 720 | (setq no-blinking-cursor t)) | ||
| 715 | ;; Push the popped arg back on the list of arguments. | 721 | ;; Push the popped arg back on the list of arguments. |
| 716 | (t | 722 | (t |
| 717 | (push argi args) | 723 | (push argi args) |
| @@ -747,7 +753,7 @@ opening the first frame (e.g. open a connection to the server).") | |||
| 747 | ;; you should also change the corresponding expression in the | 753 | ;; you should also change the corresponding expression in the |
| 748 | ;; defcustom in frame.el, or Custom will be badly confused. | 754 | ;; defcustom in frame.el, or Custom will be badly confused. |
| 749 | (unless (or noninteractive | 755 | (unless (or noninteractive |
| 750 | emacs-quick-startup | 756 | no-blinking-cursor |
| 751 | (eq system-type 'ms-dos) | 757 | (eq system-type 'ms-dos) |
| 752 | (not (memq initial-window-system '(x w32)))) | 758 | (not (memq initial-window-system '(x w32)))) |
| 753 | (blink-cursor-mode 1)) | 759 | (blink-cursor-mode 1)) |
diff --git a/lisp/textmodes/texinfmt.el b/lisp/textmodes/texinfmt.el index 470f4d4a1bd..e478169c250 100644 --- a/lisp/textmodes/texinfmt.el +++ b/lisp/textmodes/texinfmt.el | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | ;;; texinfmt.el --- format Texinfo files into Info files | 1 | ;;; texinfmt.el --- format Texinfo files into Info files |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, | 3 | ;; Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, |
| 4 | ;; 1994, 1995, 1996, 1997, 1998, 2000, 2001 | 4 | ;; 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2005 |
| 5 | ;; Free Software Foundation, Inc. | 5 | ;; Free Software Foundation, Inc. |
| 6 | 6 | ||
| 7 | ;; Maintainer: Robert J. Chassell <bug-texinfo@gnu.org> | 7 | ;; Maintainer: Robert J. Chassell <bug-texinfo@gnu.org> |
| @@ -37,7 +37,7 @@ | |||
| 37 | (defmacro defcustom (var value doc &rest ignore) | 37 | (defmacro defcustom (var value doc &rest ignore) |
| 38 | `(defvar ,var ,value ,doc))) | 38 | `(defvar ,var ,value ,doc))) |
| 39 | 39 | ||
| 40 | (defvar texinfmt-version "2.40 of 6 Dec 2002") | 40 | (defvar texinfmt-version "2.41 of 1 Mar 2005") |
| 41 | 41 | ||
| 42 | (defun texinfmt-version (&optional here) | 42 | (defun texinfmt-version (&optional here) |
| 43 | "Show the version of texinfmt.el in the minibuffer. | 43 | "Show the version of texinfmt.el in the minibuffer. |
| @@ -486,7 +486,8 @@ if large. You can use Info-split to do this manually." | |||
| 486 | ;; I don't know if this causes other problems. | 486 | ;; I don't know if this causes other problems. |
| 487 | ;; I suspect itemized lists don't get filled properly and a | 487 | ;; I suspect itemized lists don't get filled properly and a |
| 488 | ;; more precise fix is required. Bob | 488 | ;; more precise fix is required. Bob |
| 489 | "itemize\\|" | 489 | ;; commented out on 2005 Feb 28 by Bob |
| 490 | ;; "itemize\\|" | ||
| 490 | "direntry\\|" | 491 | "direntry\\|" |
| 491 | "lisp\\|" | 492 | "lisp\\|" |
| 492 | "smalllisp\\|" | 493 | "smalllisp\\|" |
| @@ -636,7 +637,7 @@ Do not append @refill to paragraphs containing @w{TEXT} or @*." | |||
| 636 | (forward-char 1) | 637 | (forward-char 1) |
| 637 | (unless (re-search-backward "@c[ \t\n]\\|@comment[ \t\n]" line-beg t) | 638 | (unless (re-search-backward "@c[ \t\n]\\|@comment[ \t\n]" line-beg t) |
| 638 | (forward-char -1)) | 639 | (forward-char -1)) |
| 639 | (unless (re-search-backward "@refill\\|@bye" line-beg t) | 640 | (unless (re-search-backward "@refill\\|^[ \t]*@" line-beg t) |
| 640 | (insert "@refill"))) | 641 | (insert "@refill"))) |
| 641 | (forward-line 1)))))) | 642 | (forward-line 1)))))) |
| 642 | 643 | ||
diff --git a/lispref/ChangeLog b/lispref/ChangeLog index de0294cffa9..105fbec9a7d 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog | |||
| @@ -1,3 +1,32 @@ | |||
| 1 | 2005-03-05 Richard M. Stallman <rms@gnu.org> | ||
| 2 | |||
| 3 | * debugging.texi (Error Debugging): Remove stack-trace-on-error. | ||
| 4 | |||
| 5 | 2005-03-04 Lute Kamstra <lute@gnu.org> | ||
| 6 | |||
| 7 | * debugging.texi (Error Debugging): Document stack-trace-on-error. | ||
| 8 | |||
| 9 | 2005-03-03 Lute Kamstra <lute@gnu.org> | ||
| 10 | |||
| 11 | * edebug.texi (Instrumenting Macro Calls): Fix typo. | ||
| 12 | |||
| 13 | 2005-03-01 Lute Kamstra <lute@gnu.org> | ||
| 14 | |||
| 15 | * debugging.texi (Debugger Commands): Update `j'. | ||
| 16 | |||
| 17 | 2005-02-28 Lute Kamstra <lute@gnu.org> | ||
| 18 | |||
| 19 | * debugging.texi (Debugging): Fix typo. | ||
| 20 | (Error Debugging): Document eval-expression-debug-on-error. | ||
| 21 | (Function Debugging): Update example. | ||
| 22 | (Using Debugger): Mention starred stack frames. | ||
| 23 | (Debugger Commands): Document `j' and `l'. | ||
| 24 | (Invoking the Debugger): `d' and `j' exit recursive edit too. | ||
| 25 | Update the messages that the debugger displays. | ||
| 26 | (Internals of Debugger): Add cross reference. Update example. | ||
| 27 | (Excess Open): Minor improvement. | ||
| 28 | (Excess Close): Minor improvement. | ||
| 29 | |||
| 1 | 2005-02-26 Richard M. Stallman <rms@gnu.org> | 30 | 2005-02-26 Richard M. Stallman <rms@gnu.org> |
| 2 | 31 | ||
| 3 | * tips.texi (Coding Conventions): Clarify. | 32 | * tips.texi (Coding Conventions): Clarify. |
diff --git a/lispref/debugging.texi b/lispref/debugging.texi index e893b77ed84..07dfe18f283 100644 --- a/lispref/debugging.texi +++ b/lispref/debugging.texi | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998, 1999 | 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998, 1999, 2005 |
| 4 | @c Free Software Foundation, Inc. | 4 | @c Free Software Foundation, Inc. |
| 5 | @c See the file elisp.texi for copying conditions. | 5 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../info/debugging | 6 | @setfilename ../info/debugging |
| @@ -14,7 +14,7 @@ depending on what you are doing with the program when the problem appears. | |||
| 14 | @item | 14 | @item |
| 15 | If the problem occurs when you run the program, you can use a Lisp | 15 | If the problem occurs when you run the program, you can use a Lisp |
| 16 | debugger to investigate what is happening during execution. In addition | 16 | debugger to investigate what is happening during execution. In addition |
| 17 | to the ordinary debugger, Emacs comes with a source level debugger, | 17 | to the ordinary debugger, Emacs comes with a source-level debugger, |
| 18 | Edebug. This chapter describes both of them. | 18 | Edebug. This chapter describes both of them. |
| 19 | 19 | ||
| 20 | @item | 20 | @item |
| @@ -117,6 +117,15 @@ the error. The easiest way is usually to set | |||
| 117 | @code{debug-ignored-errors} to @code{nil}. | 117 | @code{debug-ignored-errors} to @code{nil}. |
| 118 | @end defopt | 118 | @end defopt |
| 119 | 119 | ||
| 120 | @defopt eval-expression-debug-on-error | ||
| 121 | If you set this variable to a non-@code{nil} value, then | ||
| 122 | @code{debug-on-error} will be set to @code{t} when evaluating with the | ||
| 123 | command @code{eval-expression}. If | ||
| 124 | @code{eval-expression-debug-on-error} is @code{nil}, then the value of | ||
| 125 | @code{debug-on-error} is not changed. @xref{Lisp Eval,, Evaluating | ||
| 126 | Emacs-Lisp Expressions, emacs, The GNU Emacs Manual}. | ||
| 127 | @end defopt | ||
| 128 | |||
| 120 | @defopt debug-on-signal | 129 | @defopt debug-on-signal |
| 121 | Normally, errors that are caught by @code{condition-case} never run the | 130 | Normally, errors that are caught by @code{condition-case} never run the |
| 122 | debugger, even if @code{debug-on-error} is non-@code{nil}. In other | 131 | debugger, even if @code{debug-on-error} is non-@code{nil}. In other |
| @@ -240,14 +249,12 @@ Here's an example to illustrate use of this function: | |||
| 240 | 249 | ||
| 241 | @group | 250 | @group |
| 242 | ------ Buffer: *Backtrace* ------ | 251 | ------ Buffer: *Backtrace* ------ |
| 243 | Entering: | 252 | Debugger entered--entering a function: |
| 244 | * fact(3) | 253 | * fact(3) |
| 245 | eval-region(4870 4878 t) | 254 | eval((fact 3)) |
| 246 | byte-code("...") | 255 | eval-last-sexp-1(nil) |
| 247 | eval-last-sexp(nil) | 256 | eval-last-sexp(nil) |
| 248 | (let ...) | 257 | call-interactively(eval-last-sexp) |
| 249 | eval-insert-last-sexp(nil) | ||
| 250 | * call-interactively(eval-insert-last-sexp) | ||
| 251 | ------ Buffer: *Backtrace* ------ | 258 | ------ Buffer: *Backtrace* ------ |
| 252 | @end group | 259 | @end group |
| 253 | 260 | ||
| @@ -317,7 +324,9 @@ moving point to the line describing that frame. (A stack frame is the | |||
| 317 | place where the Lisp interpreter records information about a particular | 324 | place where the Lisp interpreter records information about a particular |
| 318 | invocation of a function.) The frame whose line point is on is | 325 | invocation of a function.) The frame whose line point is on is |
| 319 | considered the @dfn{current frame}. Some of the debugger commands | 326 | considered the @dfn{current frame}. Some of the debugger commands |
| 320 | operate on the current frame. | 327 | operate on the current frame. If a line starts with a star, that means |
| 328 | that exiting that frame will call the debugger again. This is useful | ||
| 329 | for examining the return value of a function. | ||
| 321 | 330 | ||
| 322 | If a function name is underlined, that means the debugger knows | 331 | If a function name is underlined, that means the debugger knows |
| 323 | where its source code is located. You can click @kbd{Mouse-2} on that | 332 | where its source code is located. You can click @kbd{Mouse-2} on that |
| @@ -328,8 +337,6 @@ assumptions about how many stack frames are used for the debugger | |||
| 328 | itself. These assumptions are false if the debugger is running | 337 | itself. These assumptions are false if the debugger is running |
| 329 | interpreted. | 338 | interpreted. |
| 330 | 339 | ||
| 331 | @need 3000 | ||
| 332 | |||
| 333 | @node Debugger Commands | 340 | @node Debugger Commands |
| 334 | @subsection Debugger Commands | 341 | @subsection Debugger Commands |
| 335 | @cindex debugger command list | 342 | @cindex debugger command list |
| @@ -378,6 +385,11 @@ Don't enter the debugger when the current frame is exited. This | |||
| 378 | cancels a @kbd{b} command on that frame. The visible effect is to | 385 | cancels a @kbd{b} command on that frame. The visible effect is to |
| 379 | remove the star from the line in the backtrace buffer. | 386 | remove the star from the line in the backtrace buffer. |
| 380 | 387 | ||
| 388 | @item j | ||
| 389 | Flag the current frame like @kbd{b}. Then continue execution like | ||
| 390 | @kbd{c}, but temporarily disable break-on-entry for all functions that | ||
| 391 | are set up to do so by @code{debug-on-entry}. | ||
| 392 | |||
| 381 | @item e | 393 | @item e |
| 382 | Read a Lisp expression in the minibuffer, evaluate it, and print the | 394 | Read a Lisp expression in the minibuffer, evaluate it, and print the |
| 383 | value in the echo area. The debugger alters certain important | 395 | value in the echo area. The debugger alters certain important |
| @@ -410,6 +422,13 @@ used as the value of that frame. It is also useful if you call | |||
| 410 | effect as @kbd{c}, and the specified return value does not matter. | 422 | effect as @kbd{c}, and the specified return value does not matter. |
| 411 | 423 | ||
| 412 | You can't use @kbd{r} when the debugger was entered due to an error. | 424 | You can't use @kbd{r} when the debugger was entered due to an error. |
| 425 | |||
| 426 | @item l | ||
| 427 | Display a list of functions that will invoke the debugger when called. | ||
| 428 | This is a list of functions that are set to break on entry by means of | ||
| 429 | @code{debug-on-entry}. @strong{Warning:} if you redefine such a | ||
| 430 | function and thus cancel the effect of @code{debug-on-entry}, it may | ||
| 431 | erroneously show up in this list. | ||
| 413 | @end table | 432 | @end table |
| 414 | 433 | ||
| 415 | @node Invoking the Debugger | 434 | @node Invoking the Debugger |
| @@ -425,10 +444,10 @@ recursive entry to the debugger, etc.), and fills it with information | |||
| 425 | about the stack of Lisp function calls. It then enters a recursive | 444 | about the stack of Lisp function calls. It then enters a recursive |
| 426 | edit, showing the backtrace buffer in Debugger mode. | 445 | edit, showing the backtrace buffer in Debugger mode. |
| 427 | 446 | ||
| 428 | The Debugger mode @kbd{c} and @kbd{r} commands exit the recursive edit; | 447 | The Debugger mode @kbd{c}, @kbd{d}, @kbd{j}, and @kbd{r} commands exit |
| 429 | then @code{debug} switches back to the previous buffer and returns to | 448 | the recursive edit; then @code{debug} switches back to the previous |
| 430 | whatever called @code{debug}. This is the only way the function | 449 | buffer and returns to whatever called @code{debug}. This is the only |
| 431 | @code{debug} can return to its caller. | 450 | way the function @code{debug} can return to its caller. |
| 432 | 451 | ||
| 433 | The use of the @var{debugger-args} is that @code{debug} displays the | 452 | The use of the @var{debugger-args} is that @code{debug} displays the |
| 434 | rest of its arguments at the top of the @samp{*Backtrace*} buffer, so | 453 | rest of its arguments at the top of the @samp{*Backtrace*} buffer, so |
| @@ -443,41 +462,41 @@ is a table of these special values: | |||
| 443 | @table @code | 462 | @table @code |
| 444 | @item lambda | 463 | @item lambda |
| 445 | @cindex @code{lambda} in debug | 464 | @cindex @code{lambda} in debug |
| 446 | A first argument of @code{lambda} means @code{debug} was called because | 465 | A first argument of @code{lambda} means @code{debug} was called |
| 447 | of entry to a function when @code{debug-on-next-call} was | 466 | because of entry to a function when @code{debug-on-next-call} was |
| 448 | non-@code{nil}. The debugger displays @samp{Entering:} as a line of | 467 | non-@code{nil}. The debugger displays @samp{Debugger |
| 449 | text at the top of the buffer. | 468 | entered--entering a function:} as a line of text at the top of the |
| 469 | buffer. | ||
| 450 | 470 | ||
| 451 | @item debug | 471 | @item debug |
| 452 | @code{debug} as first argument indicates a call to @code{debug} because | 472 | @code{debug} as first argument indicates a call to @code{debug} |
| 453 | of entry to a function that was set to debug on entry. The debugger | 473 | because of entry to a function that was set to debug on entry. The |
| 454 | displays @samp{Entering:}, just as in the @code{lambda} case. It also | 474 | debugger displays @samp{Debugger entered--entering a function:}, just |
| 455 | marks the stack frame for that function so that it will invoke the | 475 | as in the @code{lambda} case. It also marks the stack frame for that |
| 456 | debugger when exited. | 476 | function so that it will invoke the debugger when exited. |
| 457 | 477 | ||
| 458 | @item t | 478 | @item t |
| 459 | When the first argument is @code{t}, this indicates a call to | 479 | When the first argument is @code{t}, this indicates a call to |
| 460 | @code{debug} due to evaluation of a list form when | 480 | @code{debug} due to evaluation of a list form when |
| 461 | @code{debug-on-next-call} is non-@code{nil}. The debugger displays the | 481 | @code{debug-on-next-call} is non-@code{nil}. The debugger displays |
| 462 | following as the top line in the buffer: | 482 | @samp{Debugger entered--beginning evaluation of function call form:} |
| 463 | 483 | as the top line in the buffer. | |
| 464 | @smallexample | ||
| 465 | Beginning evaluation of function call form: | ||
| 466 | @end smallexample | ||
| 467 | 484 | ||
| 468 | @item exit | 485 | @item exit |
| 469 | When the first argument is @code{exit}, it indicates the exit of a stack | 486 | When the first argument is @code{exit}, it indicates the exit of a |
| 470 | frame previously marked to invoke the debugger on exit. The second | 487 | stack frame previously marked to invoke the debugger on exit. The |
| 471 | argument given to @code{debug} in this case is the value being returned | 488 | second argument given to @code{debug} in this case is the value being |
| 472 | from the frame. The debugger displays @samp{Return value:} in the top | 489 | returned from the frame. The debugger displays @samp{Debugger |
| 473 | line of the buffer, followed by the value being returned. | 490 | entered--returning value:} in the top line of the buffer, followed by |
| 491 | the value being returned. | ||
| 474 | 492 | ||
| 475 | @item error | 493 | @item error |
| 476 | @cindex @code{error} in debug | 494 | @cindex @code{error} in debug |
| 477 | When the first argument is @code{error}, the debugger indicates that | 495 | When the first argument is @code{error}, the debugger indicates that |
| 478 | it is being entered because an error or @code{quit} was signaled and not | 496 | it is being entered because an error or @code{quit} was signaled and |
| 479 | handled, by displaying @samp{Signaling:} followed by the error signaled | 497 | not handled, by displaying @samp{Debugger entered--Lisp error:} |
| 480 | and any arguments to @code{signal}. For example, | 498 | followed by the error signaled and any arguments to @code{signal}. |
| 499 | For example, | ||
| 481 | 500 | ||
| 482 | @example | 501 | @example |
| 483 | @group | 502 | @group |
| @@ -487,7 +506,7 @@ and any arguments to @code{signal}. For example, | |||
| 487 | 506 | ||
| 488 | @group | 507 | @group |
| 489 | ------ Buffer: *Backtrace* ------ | 508 | ------ Buffer: *Backtrace* ------ |
| 490 | Signaling: (arith-error) | 509 | Debugger entered--Lisp error: (arith-error) |
| 491 | /(1 0) | 510 | /(1 0) |
| 492 | ... | 511 | ... |
| 493 | ------ Buffer: *Backtrace* ------ | 512 | ------ Buffer: *Backtrace* ------ |
| @@ -522,7 +541,7 @@ some kind of debugger. The default value of the variable is | |||
| 522 | 541 | ||
| 523 | The first argument that Lisp hands to the function indicates why it | 542 | The first argument that Lisp hands to the function indicates why it |
| 524 | was called. The convention for arguments is detailed in the description | 543 | was called. The convention for arguments is detailed in the description |
| 525 | of @code{debug}. | 544 | of @code{debug} (@pxref{Invoking the Debugger}). |
| 526 | @end defvar | 545 | @end defvar |
| 527 | 546 | ||
| 528 | @deffn Command backtrace | 547 | @deffn Command backtrace |
| @@ -567,17 +586,14 @@ forms are elided. | |||
| 567 | (save-excursion ...) | 586 | (save-excursion ...) |
| 568 | (let ...) | 587 | (let ...) |
| 569 | (with-output-to-temp-buffer ...) | 588 | (with-output-to-temp-buffer ...) |
| 570 | eval-region(1973 2142 #<buffer *scratch*>) | 589 | eval((with-output-to-temp-buffer ...)) |
| 571 | byte-code("... for eval-print-last-sexp ...") | 590 | eval-last-sexp-1(nil) |
| 572 | @group | 591 | @group |
| 573 | eval-print-last-sexp(nil) | 592 | eval-last-sexp(nil) |
| 574 | * call-interactively(eval-print-last-sexp) | 593 | call-interactively(eval-last-sexp) |
| 575 | ----------- Buffer: backtrace-output ------------ | 594 | ----------- Buffer: backtrace-output ------------ |
| 576 | @end group | 595 | @end group |
| 577 | @end smallexample | 596 | @end smallexample |
| 578 | |||
| 579 | The character @samp{*} indicates a frame whose debug-on-exit flag is | ||
| 580 | set. | ||
| 581 | @end deffn | 597 | @end deffn |
| 582 | 598 | ||
| 583 | @ignore @c Not worth mentioning | 599 | @ignore @c Not worth mentioning |
| @@ -687,8 +703,8 @@ find the mismatch.) | |||
| 687 | 703 | ||
| 688 | The first step is to find the defun that is unbalanced. If there is | 704 | The first step is to find the defun that is unbalanced. If there is |
| 689 | an excess open parenthesis, the way to do this is to go to the end of | 705 | an excess open parenthesis, the way to do this is to go to the end of |
| 690 | the file and type @kbd{C-u C-M-u}. This will move you to the beginning | 706 | the file and type @kbd{C-u C-M-u}. This will move you to the |
| 691 | of the defun that is unbalanced. | 707 | beginning of the first defun that is unbalanced. |
| 692 | 708 | ||
| 693 | The next step is to determine precisely what is wrong. There is no | 709 | The next step is to determine precisely what is wrong. There is no |
| 694 | way to be sure of this except by studying the program, but often the | 710 | way to be sure of this except by studying the program, but often the |
| @@ -719,9 +735,9 @@ anything. | |||
| 719 | @node Excess Close | 735 | @node Excess Close |
| 720 | @subsection Excess Close Parentheses | 736 | @subsection Excess Close Parentheses |
| 721 | 737 | ||
| 722 | To deal with an excess close parenthesis, first go to the beginning of | 738 | To deal with an excess close parenthesis, first go to the beginning |
| 723 | the file, then type @kbd{C-u -1 C-M-u} to find the end of the unbalanced | 739 | of the file, then type @kbd{C-u -1 C-M-u} to find the end of the first |
| 724 | defun. | 740 | unbalanced defun. |
| 725 | 741 | ||
| 726 | Then find the actual matching close parenthesis by typing @kbd{C-M-f} | 742 | Then find the actual matching close parenthesis by typing @kbd{C-M-f} |
| 727 | at the beginning of that defun. This will leave you somewhere short of | 743 | at the beginning of that defun. This will leave you somewhere short of |
diff --git a/lispref/edebug.texi b/lispref/edebug.texi index bcd7eba5b6f..835ddf91e94 100644 --- a/lispref/edebug.texi +++ b/lispref/edebug.texi | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | @comment -*-texinfo-*- | 1 | @comment -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1992, 1993, 1994, 1998, 1999 Free Software Foundation, Inc. | 3 | @c Copyright (C) 1992, 1993, 1994, 1998, 1999, 2005 Free Software Foundation, Inc. |
| 4 | @c See the file elisp.texi for copying conditions. | 4 | @c See the file elisp.texi for copying conditions. |
| 5 | 5 | ||
| 6 | @c This file can also be used by an independent Edebug User | 6 | @c This file can also be used by an independent Edebug User |
| @@ -1082,7 +1082,7 @@ the @code{for} example macro (@pxref{Argument Evaluation}). | |||
| 1082 | (defmacro for (var from init to final do &rest body) | 1082 | (defmacro for (var from init to final do &rest body) |
| 1083 | "Execute a simple \"for\" loop. | 1083 | "Execute a simple \"for\" loop. |
| 1084 | For example, (for i from 1 to 10 do (print i))." | 1084 | For example, (for i from 1 to 10 do (print i))." |
| 1085 | (declare (edebug symbolp "from" form "to" form "do" &rest form)) | 1085 | (declare (debug symbolp "from" form "to" form "do" &rest form)) |
| 1086 | ...) | 1086 | ...) |
| 1087 | @end example | 1087 | @end example |
| 1088 | 1088 | ||
diff --git a/mac/ChangeLog b/mac/ChangeLog index a12d8bc4673..a0083af7e43 100644 --- a/mac/ChangeLog +++ b/mac/ChangeLog | |||
| @@ -1,3 +1,17 @@ | |||
| 1 | 2005-03-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 2 | |||
| 3 | * INSTALL: Mention new target `NonCarbon'. | ||
| 4 | |||
| 5 | 2005-03-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 6 | |||
| 7 | * makefile.MPW (NonCarbon): New target. The target `Emacs' is now | ||
| 8 | used for the Carbon build that defines HAVE_CARBON. | ||
| 9 | |||
| 10 | * inc/config.h (HAVE_STDLIB_H): Define to 1. | ||
| 11 | |||
| 12 | * src/EmacsMPW.r (SIZE): Increase preferred memory size to 32MB. | ||
| 13 | [HAVE_CARBON] (crfg): New resource for extra stack space. | ||
| 14 | |||
| 1 | 2004-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 15 | 2004-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
| 2 | 16 | ||
| 3 | * makefile.MPW: Add dependencies for fringe.c.x, image.c.x, and | 17 | * makefile.MPW: Add dependencies for fringe.c.x, image.c.x, and |
diff --git a/mac/INSTALL b/mac/INSTALL index 88306ae0573..4463b8f32e2 100644 --- a/mac/INSTALL +++ b/mac/INSTALL | |||
| @@ -182,6 +182,12 @@ makefile.mpw. I.e., execute the commands | |||
| 182 | make Emacs -f makefile.MPW > Emacs.MakeScript | 182 | make Emacs -f makefile.MPW > Emacs.MakeScript |
| 183 | Emacs.MakeScript | 183 | Emacs.MakeScript |
| 184 | 184 | ||
| 185 | The above commands create an executable that uses the Carbon API. The | ||
| 186 | non-Carbon version can also be created by replacing all the | ||
| 187 | occurrences of `Emacs' above with `NonCarbon'. Not that the | ||
| 188 | non-Carbon version does not support some features such as file | ||
| 189 | dialogs, drag-and-drop, and unicode menus. | ||
| 190 | |||
| 185 | To build Emacs using CodeWarrior, start up the CodeWarrior IDE, choose | 191 | To build Emacs using CodeWarrior, start up the CodeWarrior IDE, choose |
| 186 | File->Import Project... and select the file cw6-mcp.xml. When | 192 | File->Import Project... and select the file cw6-mcp.xml. When |
| 187 | prompted to save the project, navigate to same directory as the file | 193 | prompted to save the project, navigate to same directory as the file |
diff --git a/mac/inc/config.h b/mac/inc/config.h index 4f9d36c030c..c996cce4bfd 100644 --- a/mac/inc/config.h +++ b/mac/inc/config.h | |||
| @@ -184,7 +184,7 @@ Boston, MA 02111-1307, USA. */ | |||
| 184 | /* #undef HAVE_TERMIOS_H */ | 184 | /* #undef HAVE_TERMIOS_H */ |
| 185 | #define HAVE_LIMITS_H 1 | 185 | #define HAVE_LIMITS_H 1 |
| 186 | #define HAVE_STRING_H 1 | 186 | #define HAVE_STRING_H 1 |
| 187 | /* #undef HAVE_STDLIB_H */ | 187 | #define HAVE_STDLIB_H 1 |
| 188 | /* #undef HAVE_TERMCAP_H */ | 188 | /* #undef HAVE_TERMCAP_H */ |
| 189 | /* #undef HAVE_TERM_H */ | 189 | /* #undef HAVE_TERM_H */ |
| 190 | /* #undef HAVE_STDIO_EXT_H */ | 190 | /* #undef HAVE_STDIO_EXT_H */ |
diff --git a/mac/makefile.MPW b/mac/makefile.MPW index 870052996b7..bd7ced4a14f 100644 --- a/mac/makefile.MPW +++ b/mac/makefile.MPW | |||
| @@ -21,7 +21,8 @@ | |||
| 21 | # Boston, MA 02111-1307, USA. */ | 21 | # Boston, MA 02111-1307, USA. */ |
| 22 | # | 22 | # |
| 23 | # Defines the following targets: | 23 | # Defines the following targets: |
| 24 | # Emacs (default) - normal Emacs build. | 24 | # Emacs (default) - normal Carbon Emacs build. |
| 25 | # NonCarbon - non-Carbon Emacs build. | ||
| 25 | # Clean - remove all object and executable files to prepare for a fresh build. | 26 | # Clean - remove all object and executable files to prepare for a fresh build. |
| 26 | # Doc - generate the "DOC" file in ~emacs/etc/. | 27 | # Doc - generate the "DOC" file in ~emacs/etc/. |
| 27 | # Make-DocFile - build the make-docfile tool, utility for generating "DOC". | 28 | # Make-DocFile - build the make-docfile tool, utility for generating "DOC". |
| @@ -38,7 +39,9 @@ Lisp = ::lisp: # emacs's lisp directory | |||
| 38 | Make-DocFileDir = {Lib-Src} # directory containing make-docfile tool | 39 | Make-DocFileDir = {Lib-Src} # directory containing make-docfile tool |
| 39 | 40 | ||
| 40 | Makefile = makefile.MPW # self reference | 41 | Makefile = makefile.MPW # self reference |
| 42 | NonCarbonMakeOut = NonCarbon.MakeOut # temporary file for non-Carbon build script | ||
| 41 | 43 | ||
| 44 | CarbonOption = -d HAVE_CARBON | ||
| 42 | SymOption = # -sym on # remove hash mark before "-sym on" to enable source debugging | 45 | SymOption = # -sym on # remove hash mark before "-sym on" to enable source debugging |
| 43 | OptOption = # -opt speed # alternatively set to -opt off or -opt size | 46 | OptOption = # -opt speed # alternatively set to -opt off or -opt size |
| 44 | 47 | ||
| @@ -47,7 +50,7 @@ OptOption = # -opt speed # alternatively set to -opt off or -opt size | |||
| 47 | PPCCOptions = {SymOption} {OptOption} -noMapCR -enum int -alloca ¶ | 50 | PPCCOptions = {SymOption} {OptOption} -noMapCR -enum int -alloca ¶ |
| 48 | -typecheck relaxed -w off ¶ | 51 | -typecheck relaxed -w off ¶ |
| 49 | -includes unix -i {Includes},{Src} ¶ | 52 | -includes unix -i {Includes},{Src} ¶ |
| 50 | -d emacs=1 -d HAVE_CONFIG_H -d MAC_OS -d MAC_OS8 | 53 | -d emacs=1 -d HAVE_CONFIG_H -d MAC_OS -d MAC_OS8 {CarbonOption} |
| 51 | 54 | ||
| 52 | LinkOptions = {SymOption} -d | 55 | LinkOptions = {SymOption} -d |
| 53 | 56 | ||
| @@ -132,29 +135,42 @@ MacObjects = ¶ | |||
| 132 | "{Src}macmenu.c.x" ¶ | 135 | "{Src}macmenu.c.x" ¶ |
| 133 | "{Src}macterm.c.x" | 136 | "{Src}macterm.c.x" |
| 134 | 137 | ||
| 138 | StdLibraries = ¶ | ||
| 139 | "{SharedLibraries}CarbonLib" ¶ | ||
| 140 | "{SharedLibraries}StdCLib" ¶ | ||
| 141 | "{PPCLibraries}StdCRuntime.o" ¶ | ||
| 142 | "{PPCLibraries}PPCCRuntime.o" | ||
| 143 | |||
| 144 | NonCarbonLibs = ¶ | ||
| 145 | "{SharedLibraries}InterfaceLib" ¶ | ||
| 146 | "{SharedLibraries}StdCLib" ¶ | ||
| 147 | "{SharedLibraries}MathLib" ¶ | ||
| 148 | "{SharedLibraries}AppleScriptLib" ¶ | ||
| 149 | "{SharedLibraries}TextEncodingConverter" ¶ | ||
| 150 | "{SharedLibraries}AppearanceLib" ¶ | ||
| 151 | "{SharedLibraries}QuickTimeLib" ¶ | ||
| 152 | "{PPCLibraries}StdCRuntime.o" ¶ | ||
| 153 | "{PPCLibraries}PPCCRuntime.o" ¶ | ||
| 154 | "{PPCLibraries}PPCToolLibs.o" | ||
| 155 | |||
| 135 | # The next two are the dependency rules for building Emacs. | 156 | # The next two are the dependency rules for building Emacs. |
| 136 | 157 | ||
| 137 | Emacs ÄÄ {Makefile} {DocTarget}DOC {EmacsObjects} {MacObjects} | 158 | Emacs ÄÄ {Makefile} {DocTarget}DOC {EmacsObjects} {MacObjects} |
| 138 | PPCLink ¶ | 159 | PPCLink ¶ |
| 139 | {LinkOptions} ¶ | 160 | {LinkOptions} ¶ |
| 140 | {EmacsObjects} {MacObjects} ¶ | 161 | {EmacsObjects} {MacObjects} ¶ |
| 141 | "{SharedLibraries}InterfaceLib" ¶ | 162 | {StdLibraries} ¶ |
| 142 | "{SharedLibraries}StdCLib" ¶ | ||
| 143 | "{SharedLibraries}MathLib" ¶ | ||
| 144 | "{SharedLibraries}AppleScriptLib" ¶ | ||
| 145 | "{SharedLibraries}TextEncodingConverter" ¶ | ||
| 146 | "{SharedLibraries}AppearanceLib" ¶ | ||
| 147 | "{SharedLibraries}QuickTimeLib" ¶ | ||
| 148 | "{PPCLibraries}StdCRuntime.o" ¶ | ||
| 149 | "{PPCLibraries}PPCCRuntime.o" ¶ | ||
| 150 | "{PPCLibraries}PPCToolLibs.o" ¶ | ||
| 151 | -o "{EmacsTarget}" | 163 | -o "{EmacsTarget}" |
| 152 | 164 | ||
| 153 | Emacs ÄÄ {Makefile} "{Source}"Emacs.maclf.r "{Source}"EmacsMPW.maclf.r | 165 | Emacs ÄÄ {Makefile} "{Source}"Emacs.maclf.r "{Source}"EmacsMPW.maclf.r |
| 154 | Rez -a "{Source}"Emacs.maclf.r -o "{EmacsTarget}" | 166 | Rez {CarbonOption} -a "{Source}"Emacs.maclf.r -o "{EmacsTarget}" |
| 155 | Rez -a "{Source}"EmacsMPW.maclf.r -o "{EmacsTarget}" | 167 | Rez {CarbonOption} -a "{Source}"EmacsMPW.maclf.r -o "{EmacsTarget}" |
| 156 | SetFile "{EmacsTarget}" -t APPL -c 'EMAx' -a B | 168 | SetFile "{EmacsTarget}" -t APPL -c 'EMAx' -a B |
| 157 | 169 | ||
| 170 | NonCarbon Ä | ||
| 171 | Make -f "{Makefile}" -d CarbonOption="" -d StdLibraries='{NonCarbonLibs}' > "{NonCarbonMakeOut}" | ||
| 172 | "{NonCarbonMakeOut}" | ||
| 173 | |||
| 158 | # Rez cannot handle files with Unix style end lines at all. So generate | 174 | # Rez cannot handle files with Unix style end lines at all. So generate |
| 159 | # them. It does not hurt if Emacs.r and EmacsMPW.r already have Mac end | 175 | # them. It does not hurt if Emacs.r and EmacsMPW.r already have Mac end |
| 160 | # lines. | 176 | # lines. |
| @@ -951,6 +967,7 @@ Clean Ä | |||
| 951 | Delete -i stdout stderr | 967 | Delete -i stdout stderr |
| 952 | Delete -i {Make-DocFile-Objects} {Make-DocFileDir}make-docfile | 968 | Delete -i {Make-DocFile-Objects} {Make-DocFileDir}make-docfile |
| 953 | Delete -i "{Source}"Emacs.maclf.r "{Source}"EmacsMPW.maclf.r | 969 | Delete -i "{Source}"Emacs.maclf.r "{Source}"EmacsMPW.maclf.r |
| 970 | Delete -i "{NonCarbonMakeOut}" | ||
| 954 | 971 | ||
| 955 | DistClean Ä Clean | 972 | DistClean Ä Clean |
| 956 | Delete -i "Emacs CW"Å | 973 | Delete -i "Emacs CW"Å |
diff --git a/mac/src/EmacsMPW.r b/mac/src/EmacsMPW.r index ad49ab3b76d..7db45ca4f80 100644 --- a/mac/src/EmacsMPW.r +++ b/mac/src/EmacsMPW.r | |||
| @@ -42,6 +42,18 @@ resource 'SIZE' (-1) { | |||
| 42 | reserved, | 42 | reserved, |
| 43 | reserved, | 43 | reserved, |
| 44 | reserved, | 44 | reserved, |
| 45 | 16777216, | 45 | 33554432, |
| 46 | 16777216 | 46 | 16777216 |
| 47 | }; | 47 | }; |
| 48 | |||
| 49 | #ifdef HAVE_CARBON | ||
| 50 | resource 'cfrg' (0) { | ||
| 51 | { | ||
| 52 | kPowerPCCFragArch, kIsCompleteCFrag, kNoVersionNum, kNoVersionNum, | ||
| 53 | 311296, /* 48K (default) + 256K (EXTRA_STACK_ALLOC in macterm.c) */ | ||
| 54 | kNoAppSubFolder, | ||
| 55 | kApplicationCFrag, kDataForkCFragLocator, kZeroOffset, kCFragGoesToEOF, | ||
| 56 | "", | ||
| 57 | } | ||
| 58 | }; | ||
| 59 | #endif | ||
diff --git a/man/ChangeLog b/man/ChangeLog index 0571628041c..6e6b48ddd8d 100644 --- a/man/ChangeLog +++ b/man/ChangeLog | |||
| @@ -1,3 +1,37 @@ | |||
| 1 | 2005-03-05 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 2 | |||
| 3 | * flymake.texi: Refill and tweak style in @lisp blocks. | ||
| 4 | |||
| 5 | 2005-03-05 Juri Linkov <juri@jurta.org> | ||
| 6 | |||
| 7 | * cmdargs.texi (Emacs Invocation): Add cindex | ||
| 8 | "invocation (command line arguments)" | ||
| 9 | (Misc X): Add -nbc, --no-blinking-cursor. | ||
| 10 | |||
| 11 | 2005-03-04 Ulf Jasper <ulf.jasper@web.de> | ||
| 12 | |||
| 13 | * calendar.texi (iCalendar): No need to require it now. | ||
| 14 | |||
| 15 | 2005-03-03 Reiner Steib <Reiner.Steib@gmx.de> | ||
| 16 | |||
| 17 | * gnus.texi (Slow/Expensive Connection): Don't abbreviate "very". | ||
| 18 | |||
| 19 | 2005-03-03 Nick Roberts <nickrob@snap.net.nz> | ||
| 20 | |||
| 21 | * trouble.texi (Contributing): Mention Savannah. Direct users to | ||
| 22 | emacs-devel. | ||
| 23 | |||
| 24 | 2005-03-01 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 25 | |||
| 26 | * calendar.texi (Adding to Diary): Mention redrawing of calendar | ||
| 27 | window. | ||
| 28 | |||
| 29 | 2005-03-01 Jay Belanger <belanger@truman.edu> | ||
| 30 | |||
| 31 | * calc.texi (Trigonometric and Hyperbolic Functions): | ||
| 32 | Mention additional functions. | ||
| 33 | (Algebraic Simplifications): Mention additional simplifications. | ||
| 34 | |||
| 1 | 2005-02-27 Matt Hodges <MPHodges@member.fsf.org> | 35 | 2005-02-27 Matt Hodges <MPHodges@member.fsf.org> |
| 2 | 36 | ||
| 3 | * calendar.texi (General Calendar): Document binding of | 37 | * calendar.texi (General Calendar): Document binding of |
diff --git a/man/calc.texi b/man/calc.texi index a816f1559a6..72c243c3558 100644 --- a/man/calc.texi +++ b/man/calc.texi | |||
| @@ -18473,6 +18473,25 @@ With the Inverse flag [@code{arcsincos}], this command takes a two-element | |||
| 18473 | vector as an argument and computes @code{arctan2} of the elements. | 18473 | vector as an argument and computes @code{arctan2} of the elements. |
| 18474 | (This command does not accept the Hyperbolic flag.) | 18474 | (This command does not accept the Hyperbolic flag.) |
| 18475 | 18475 | ||
| 18476 | @pindex calc-sec | ||
| 18477 | @tindex sec | ||
| 18478 | @pindex calc-csc | ||
| 18479 | @tindex csc | ||
| 18480 | @pindex calc-cot | ||
| 18481 | @tindex cot | ||
| 18482 | @pindex calc-sech | ||
| 18483 | @tindex sech | ||
| 18484 | @pindex calc-csch | ||
| 18485 | @tindex csch | ||
| 18486 | @pindex calc-coth | ||
| 18487 | @tindex coth | ||
| 18488 | The remaining trigonometric functions, @code{calc-sec} [@code{sec}], | ||
| 18489 | @code{calc-csc} [@code{csc}] and @code{calc-sec} [@code{sec}], are also | ||
| 18490 | available. With the Hyperbolic flag, these compute their hyperbolic | ||
| 18491 | counterparts, which are also available separately as @code{calc-sech} | ||
| 18492 | [@code{sech}], @code{calc-csch} [@code{csch}] and @code{calc-sech} | ||
| 18493 | [@code{sech}]. (These commmands do not accept the Inverse flag.) | ||
| 18494 | |||
| 18476 | @node Advanced Math Functions, Branch Cuts, Trigonometric and Hyperbolic Functions, Scientific Functions | 18495 | @node Advanced Math Functions, Branch Cuts, Trigonometric and Hyperbolic Functions, Scientific Functions |
| 18477 | @section Advanced Mathematical Functions | 18496 | @section Advanced Mathematical Functions |
| 18478 | 18497 | ||
| @@ -22730,18 +22749,27 @@ declared to be an integer. | |||
| 22730 | \bigskip | 22749 | \bigskip |
| 22731 | @end tex | 22750 | @end tex |
| 22732 | 22751 | ||
| 22733 | Trigonometric functions are simplified in several ways. First, | 22752 | Trigonometric functions are simplified in several ways. Whenever a |
| 22734 | @expr{@tfn{sin}(@tfn{arcsin}(x))} is simplified to @expr{x}, and | 22753 | products of two trigonometric functions can be replaced by a single |
| 22735 | similarly for @code{cos} and @code{tan}. If the argument to | 22754 | function, the replacement is made; for example, |
| 22736 | @code{sin} is negative-looking, it is simplified to | 22755 | @expr{@tfn{tan}(x) @tfn{cos}(x)} is simplified to @expr{@tfn{sin}(x)}. |
| 22737 | @expr{-@tfn{sin}(x),}, and similarly for @code{cos} and @code{tan}. | 22756 | Reciprocals of trigonometric functions are replaced by their reciprocal |
| 22738 | Finally, certain special values of the argument are recognized; | 22757 | function; for example, @expr{1/@tfn{sec}(x)} is simplified to |
| 22739 | @pxref{Trigonometric and Hyperbolic Functions}. | 22758 | @expr{@tfn{cos}(x)}. The corresponding simplifications for the |
| 22740 | 22759 | hyperbolic functions are also handled. | |
| 22760 | |||
| 22761 | Trigonometric functions of their inverse functions are | ||
| 22762 | simplified. The expression @expr{@tfn{sin}(@tfn{arcsin}(x))} is | ||
| 22763 | simplified to @expr{x}, and similarly for @code{cos} and @code{tan}. | ||
| 22741 | Trigonometric functions of inverses of different trigonometric | 22764 | Trigonometric functions of inverses of different trigonometric |
| 22742 | functions can also be simplified, as in @expr{@tfn{sin}(@tfn{arccos}(x))} | 22765 | functions can also be simplified, as in @expr{@tfn{sin}(@tfn{arccos}(x))} |
| 22743 | to @expr{@tfn{sqrt}(1 - x^2)}. | 22766 | to @expr{@tfn{sqrt}(1 - x^2)}. |
| 22744 | 22767 | ||
| 22768 | If the argument to @code{sin} is negative-looking, it is simplified to | ||
| 22769 | @expr{-@tfn{sin}(x)}, and similarly for @code{cos} and @code{tan}. | ||
| 22770 | Finally, certain special values of the argument are recognized; | ||
| 22771 | @pxref{Trigonometric and Hyperbolic Functions}. | ||
| 22772 | |||
| 22745 | Hyperbolic functions of their inverses and of negative-looking | 22773 | Hyperbolic functions of their inverses and of negative-looking |
| 22746 | arguments are also handled, as are exponentials of inverse | 22774 | arguments are also handled, as are exponentials of inverse |
| 22747 | hyperbolic functions. | 22775 | hyperbolic functions. |
diff --git a/man/calendar.texi b/man/calendar.texi index bbbeec53017..e0d6577780f 100644 --- a/man/calendar.texi +++ b/man/calendar.texi | |||
| @@ -1206,7 +1206,10 @@ make a nonmarking diary entry, give a numeric argument to the command. | |||
| 1206 | For example, @kbd{C-u i w} makes a nonmarking weekly diary entry. | 1206 | For example, @kbd{C-u i w} makes a nonmarking weekly diary entry. |
| 1207 | 1207 | ||
| 1208 | When you modify the diary file, be sure to save the file before | 1208 | When you modify the diary file, be sure to save the file before |
| 1209 | exiting Emacs. | 1209 | exiting Emacs. Saving the diary file after using any of the above |
| 1210 | insertion commands will automatically update the diary marks in the | ||
| 1211 | calendar window, if appropriate. You can use the command | ||
| 1212 | @code{redraw-calendar} to force an update at any time. | ||
| 1210 | 1213 | ||
| 1211 | @node Special Diary Entries | 1214 | @node Special Diary Entries |
| 1212 | @subsection Special Diary Entries | 1215 | @subsection Special Diary Entries |
| @@ -1403,8 +1406,6 @@ Exporting of diary files into iCalendar files should work correctly for | |||
| 1403 | most diary entries. Please note that @file{icalendar.el} is work in | 1406 | most diary entries. Please note that @file{icalendar.el} is work in |
| 1404 | progress, so usage may evolve in future. | 1407 | progress, so usage may evolve in future. |
| 1405 | 1408 | ||
| 1406 | To activate the package, use @code{(require 'icalendar)}. | ||
| 1407 | |||
| 1408 | @findex icalendar-import-buffer | 1409 | @findex icalendar-import-buffer |
| 1409 | The command @code{icalendar-import-buffer} extracts | 1410 | The command @code{icalendar-import-buffer} extracts |
| 1410 | iCalendar data from the current buffer and adds it to your (default) | 1411 | iCalendar data from the current buffer and adds it to your (default) |
diff --git a/man/cmdargs.texi b/man/cmdargs.texi index a8b34e4095d..15ffa5c778b 100644 --- a/man/cmdargs.texi +++ b/man/cmdargs.texi | |||
| @@ -9,6 +9,7 @@ | |||
| 9 | @cindex options (command line) | 9 | @cindex options (command line) |
| 10 | @cindex switches (command line) | 10 | @cindex switches (command line) |
| 11 | @cindex startup (command line arguments) | 11 | @cindex startup (command line arguments) |
| 12 | @cindex invocation (command line arguments) | ||
| 12 | 13 | ||
| 13 | GNU Emacs supports command line arguments to request various actions | 14 | GNU Emacs supports command line arguments to request various actions |
| 14 | when invoking Emacs. These are for compatibility with other editors and | 15 | when invoking Emacs. These are for compatibility with other editors and |
| @@ -1211,6 +1212,13 @@ Enable vertical scroll bars. | |||
| 1211 | @opindex --line-spacing | 1212 | @opindex --line-spacing |
| 1212 | @cindex line spacing, command-line argument | 1213 | @cindex line spacing, command-line argument |
| 1213 | Specify @var{pixels} as additional space to put between lines, in pixels. | 1214 | Specify @var{pixels} as additional space to put between lines, in pixels. |
| 1215 | |||
| 1216 | @item -nbc | ||
| 1217 | @opindex -nbc | ||
| 1218 | @itemx --no-blinking-cursor | ||
| 1219 | @opindex --no-blinking-cursor | ||
| 1220 | @cindex blinking cursor disable, command-line argument | ||
| 1221 | Disable the blinking cursor on graphical terminals. | ||
| 1214 | @end table | 1222 | @end table |
| 1215 | 1223 | ||
| 1216 | The @samp{--xrm} option (@pxref{Resources}) specifies additional | 1224 | The @samp{--xrm} option (@pxref{Resources}) specifies additional |
diff --git a/man/flymake.texi b/man/flymake.texi index c505be21b6e..9db7551b18c 100644 --- a/man/flymake.texi +++ b/man/flymake.texi | |||
| @@ -419,19 +419,16 @@ checking. | |||
| 419 | First, we write the @code{init-function}: | 419 | First, we write the @code{init-function}: |
| 420 | 420 | ||
| 421 | @lisp | 421 | @lisp |
| 422 | (defun flymake-perl-init(buffer) | 422 | (defun flymake-perl-init (buffer) |
| 423 | (let* ((temp-file (flymake-init-create-temp-buffer-copy | 423 | (let* ((temp-file (flymake-init-create-temp-buffer-copy |
| 424 | buffer | 424 | buffer 'flymake-create-temp-inplace)) |
| 425 | 'flymake-create-temp-inplace)) | 425 | (local-file (concat (flymake-build-relative-path |
| 426 | (local-file (concat (flymake-build-relative-path | 426 | (file-name-directory |
| 427 | (file-name-directory | 427 | (buffer-file-name |
| 428 | (buffer-file-name | 428 | (current-buffer))) |
| 429 | (current-buffer))) | 429 | (file-name-directory temp-file)) |
| 430 | (file-name-directory temp-file)) | 430 | (file-name-nondirectory temp-file)))) |
| 431 | (file-name-nondirectory temp-file)))) | 431 | (list "perl" (list "-wc " local-file)))) |
| 432 | (list "perl" (list "-wc " local-file)) | ||
| 433 | ) | ||
| 434 | ) | ||
| 435 | @end lisp | 432 | @end lisp |
| 436 | 433 | ||
| 437 | @code{flymake-perl-init} creates a temporary copy of the buffer | 434 | @code{flymake-perl-init} creates a temporary copy of the buffer |
| @@ -444,11 +441,11 @@ Next, we add a new entry to the | |||
| 444 | 441 | ||
| 445 | @lisp | 442 | @lisp |
| 446 | (setq flymake-allowed-file-name-masks | 443 | (setq flymake-allowed-file-name-masks |
| 447 | (cons '(".+\\.pl$" | 444 | (cons '(".+\\.pl$" |
| 448 | flymake-perl-init | 445 | flymake-perl-init |
| 449 | flymake-simple-cleanup | 446 | flymake-simple-cleanup |
| 450 | flymake-get-real-file-name) | 447 | flymake-get-real-file-name) |
| 451 | flymake-allowed-file-name-masks)) | 448 | flymake-allowed-file-name-masks)) |
| 452 | @end lisp | 449 | @end lisp |
| 453 | 450 | ||
| 454 | Note that we use standard @code{cleanup-function} and | 451 | Note that we use standard @code{cleanup-function} and |
| @@ -458,8 +455,9 @@ Finally, we add an entry to @code{flymake-err-line-patterns}: | |||
| 458 | 455 | ||
| 459 | @lisp | 456 | @lisp |
| 460 | (setq flymake-err-line-patterns | 457 | (setq flymake-err-line-patterns |
| 461 | (cons '("\\(.*\\) at \\([^ \n]+\\) line \\([0-9]+\\)[,.\n]" 2 3 nil 1) | 458 | (cons '("\\(.*\\) at \\([^ \n]+\\) line \\([0-9]+\\)[,.\n]" |
| 462 | flymake-err-line-patterns)) | 459 | 2 3 nil 1) |
| 460 | flymake-err-line-patterns)) | ||
| 463 | @end lisp | 461 | @end lisp |
| 464 | 462 | ||
| 465 | @node Example -- Configuring a tool called via make | 463 | @node Example -- Configuring a tool called via make |
| @@ -475,11 +473,11 @@ functions for @code{make}. We just add a new entry to the | |||
| 475 | 473 | ||
| 476 | @lisp | 474 | @lisp |
| 477 | (setq flymake-allowed-file-name-masks | 475 | (setq flymake-allowed-file-name-masks |
| 478 | (cons '(".+\\.c$" | 476 | (cons '(".+\\.c$" |
| 479 | flymake-simple-make-init | 477 | flymake-simple-make-init |
| 480 | flymake-simple-cleanup | 478 | flymake-simple-cleanup |
| 481 | flymake-get-real-file-name) | 479 | flymake-get-real-file-name) |
| 482 | flymake-allowed-file-name-masks)) | 480 | flymake-allowed-file-name-masks)) |
| 483 | @end lisp | 481 | @end lisp |
| 484 | 482 | ||
| 485 | @code{flymake-simple-make-init} builds the following @code{make} | 483 | @code{flymake-simple-make-init} builds the following @code{make} |
| @@ -487,12 +485,11 @@ command line: | |||
| 487 | 485 | ||
| 488 | @lisp | 486 | @lisp |
| 489 | (list "make" | 487 | (list "make" |
| 490 | (list "-s" | 488 | (list "-s" "-C" |
| 491 | "-C" | 489 | base-dir |
| 492 | base-dir | 490 | (concat "CHK_SOURCES=" source) |
| 493 | (concat "CHK_SOURCES=" source) | 491 | "SYNTAX_CHECK_MODE=1" |
| 494 | "SYNTAX_CHECK_MODE=1" | 492 | "check-syntax")) |
| 495 | "check-syntax")) | ||
| 496 | @end lisp | 493 | @end lisp |
| 497 | 494 | ||
| 498 | @code{base-dir} is a directory containing @code{Makefile}, see @ref{Locating the buildfile}. | 495 | @code{base-dir} is a directory containing @code{Makefile}, see @ref{Locating the buildfile}. |
| @@ -748,12 +745,11 @@ Flymake also provides an alternative command for starting compilation, | |||
| 748 | @code{flymake-compile}: | 745 | @code{flymake-compile}: |
| 749 | 746 | ||
| 750 | @lisp | 747 | @lisp |
| 751 | (defun flymake-compile() | 748 | (defun flymake-compile () |
| 752 | "kill all flymake syntax checks, start compilation" | 749 | "Kill all flymake syntax checks then start compilation." |
| 753 | (interactive) | 750 | (interactive) |
| 754 | (flymake-stop-all-syntax-checks) | 751 | (flymake-stop-all-syntax-checks) |
| 755 | (call-interactively 'compile) | 752 | (call-interactively 'compile)) |
| 756 | ) | ||
| 757 | @end lisp | 753 | @end lisp |
| 758 | 754 | ||
| 759 | It just kills all the active syntax check processes before calling | 755 | It just kills all the active syntax check processes before calling |
diff --git a/man/gnus.texi b/man/gnus.texi index d2812890a1c..3a98f64baa1 100644 --- a/man/gnus.texi +++ b/man/gnus.texi | |||
| @@ -26688,7 +26688,7 @@ Gnus has to get from the @acronym{NNTP} server. | |||
| 26688 | 26688 | ||
| 26689 | @item gnus-read-active-file | 26689 | @item gnus-read-active-file |
| 26690 | Set this to @code{nil}, which will inhibit Gnus from requesting the | 26690 | Set this to @code{nil}, which will inhibit Gnus from requesting the |
| 26691 | entire active file from the server. This file is often v. large. You | 26691 | entire active file from the server. This file is often very large. You |
| 26692 | also have to set @code{gnus-check-new-newsgroups} and | 26692 | also have to set @code{gnus-check-new-newsgroups} and |
| 26693 | @code{gnus-check-bogus-newsgroups} to @code{nil} to make sure that Gnus | 26693 | @code{gnus-check-bogus-newsgroups} to @code{nil} to make sure that Gnus |
| 26694 | doesn't suddenly decide to fetch the active file anyway. | 26694 | doesn't suddenly decide to fetch the active file anyway. |
diff --git a/man/trouble.texi b/man/trouble.texi index ac9697eeeb5..df6a2763f3f 100644 --- a/man/trouble.texi +++ b/man/trouble.texi | |||
| @@ -1037,17 +1037,22 @@ form that is clearly safe to install. | |||
| 1037 | 1037 | ||
| 1038 | If you would like to help pretest Emacs releases to assure they work | 1038 | If you would like to help pretest Emacs releases to assure they work |
| 1039 | well, or if you would like to work on improving Emacs, please contact | 1039 | well, or if you would like to work on improving Emacs, please contact |
| 1040 | the maintainers at @email{bug-gnu-emacs@@gnu.org}. A pretester | 1040 | the maintainers at @email{emacs-devel@@gnu.org}. A pretester |
| 1041 | should be prepared to investigate bugs as well as report them. If you'd | 1041 | should be prepared to investigate bugs as well as report them. If you'd |
| 1042 | like to work on improving Emacs, please ask for suggested projects or | 1042 | like to work on improving Emacs, please ask for suggested projects or |
| 1043 | suggest your own ideas. | 1043 | suggest your own ideas. |
| 1044 | 1044 | ||
| 1045 | If you have already written an improvement, please tell us about it. If | 1045 | If you have already written an improvement, please tell us about it. If |
| 1046 | you have not yet started work, it is useful to contact | 1046 | you have not yet started work, it is useful to contact |
| 1047 | @email{bug-gnu-emacs@@gnu.org} before you start; it might be | 1047 | @email{emacs-devel@@gnu.org} before you start; it might be |
| 1048 | possible to suggest ways to make your extension fit in better with the | 1048 | possible to suggest ways to make your extension fit in better with the |
| 1049 | rest of Emacs. | 1049 | rest of Emacs. |
| 1050 | 1050 | ||
| 1051 | The development version of Emacs can be downloaded from the CVS | ||
| 1052 | repository where it is actively maintained by a group of developers. | ||
| 1053 | See the Emacs project page http://savannah.gnu.org/projects/emacs/ for | ||
| 1054 | details. | ||
| 1055 | |||
| 1051 | @node Service, Copying, Contributing, Top | 1056 | @node Service, Copying, Contributing, Top |
| 1052 | @section How To Get Help with GNU Emacs | 1057 | @section How To Get Help with GNU Emacs |
| 1053 | 1058 | ||
diff --git a/src/ChangeLog b/src/ChangeLog index 56833a341a4..dc48d647216 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,6 +1,115 @@ | |||
| 1 | 2005-03-05 Juri Linkov <juri@jurta.org> | ||
| 2 | |||
| 3 | * emacs.c (USAGE1): Replace Info node name "command arguments" | ||
| 4 | with "emacs invocation". | ||
| 5 | (USAGE3): Fix usage of `--color=MODE' which actually doesn't | ||
| 6 | allow arguments `--color' and `MODE' to be separated by space. | ||
| 7 | Add --no-blinking-cursor, -nbc. | ||
| 8 | (standard_args): Add -nbc, --no-blinking-cursor. | ||
| 9 | |||
| 10 | 2005-03-04 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 11 | |||
| 12 | * s/vms.h: Define NO_HYPHENS_IN_FILENAMES. | ||
| 13 | * s/vms4-4.h, s/vms5-5.h: Undefine NO_HYPHENS_IN_FILENAMES. | ||
| 14 | * fileio.c (Fexpand_file_name) [VMS]: | ||
| 15 | Use NO_HYPHENS_IN_FILENAMES, not VMS4_4. | ||
| 16 | * doc.c (munge_doc_file_name) [VMS]: Likewise. | ||
| 17 | (Fsnarf_documentation): Call munge_doc_file_name. | ||
| 18 | |||
| 19 | 2005-03-04 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 20 | |||
| 21 | * s/vms.h (FILE_SYSTEM_CASE): New macro. | ||
| 22 | * fileio.c (Fexpand_file_name) [VMS]: Don't upcase the name | ||
| 23 | "manually"; this is now handled generally via FILE_SYSTEM_CASE. | ||
| 24 | |||
| 25 | 2005-03-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 26 | |||
| 27 | * emacs.c (main): Change `#ifdef HAVE_CARBON' to `#if | ||
| 28 | defined (MAC_OSX) && defined (HAVE_CARBON)'. | ||
| 29 | |||
| 30 | * image.c [!MAC_OSX && TARGET_API_MAC_CARBON]: Include | ||
| 31 | QuickTime.h. | ||
| 32 | |||
| 33 | * mac.c [!MAC_OSX && HAVE_CARBON]: Include Carbon.h. | ||
| 34 | [!MAC_OSX] (select) [TARGET_API_MAC_CARBON]: Use ReceiveNextEvent. | ||
| 35 | (posix_pathname_to_fsspec, fsspec_to_posix_pathname): New | ||
| 36 | functions. | ||
| 37 | (mac_clear_font_name_table): Move extern to macterm.h. | ||
| 38 | |||
| 39 | * macfns.c (install_window_handler): Move extern to macterm.h. | ||
| 40 | (Fx_file_dialog): Check STRINGP (default_filename) to see it is | ||
| 41 | valid. Don't check !NILP (dir) because it is already checked with | ||
| 42 | CHECK_STRING. | ||
| 43 | (Fx_file_dialog) [!MAC_OSX]: Use FSSpec instead of FSRef for | ||
| 44 | specifying the default location and obtaining the selected | ||
| 45 | filename. | ||
| 46 | |||
| 47 | * macgui.h [!MAC_OSX && HAVE_CARBON]: Include Carbon.h. | ||
| 48 | |||
| 49 | * macmenu.c [TARGET_API_MAC_CARBON]: Don't include headers that | ||
| 50 | are included via Carbon.h. | ||
| 51 | |||
| 52 | * macterm.c [TARGET_API_MAC_CARBON && !MAC_OSX]: Define | ||
| 53 | USE_CARBON_EVENTS to 1. | ||
| 54 | (qd) [__MRC__ && TARGET_API_MAC_CARBON]: Don't declare. | ||
| 55 | (x_free_frame_resources): Call remove_window_handler for | ||
| 56 | non-tooltip windows. | ||
| 57 | [TARGET_API_MAC_CARBON]: Don't include headers that are included | ||
| 58 | via Carbon.h. | ||
| 59 | [TARGET_API_MAC_CARBON] (mac_do_track_dragUPP) | ||
| 60 | (mac_do_receive_dragUPP): New variables. | ||
| 61 | (mac_handle_service_event, init_service_handler): Put declarations | ||
| 62 | and definitions in #ifdef MAC_OSX. | ||
| 63 | (install_window_handler) [TARGET_API_MAC_CARBON]: Create UPPs for | ||
| 64 | drag-and-drop handler functions and register them. | ||
| 65 | (remove_window_handler): New function. | ||
| 66 | (do_ae_open_documents, mac_do_receive_drag) [!MAC_OSX]: Use | ||
| 67 | fsspec_to_posix_pathname. | ||
| 68 | (main): Change #if !TARGET_API_MAC_CARBON to #ifdef MAC_OS8. | ||
| 69 | (XTread_socket) [!MAC_OSX]: Don't pass keyboard events to TSM. | ||
| 70 | [MAC_OS8] (make_mac_terminal_frame) [TARGET_API_MAC_CARBON]: Set | ||
| 71 | default cursors. | ||
| 72 | (mac_initialize) [USE_CARBON_EVENTS && !MAC_OSX] : Don't call | ||
| 73 | init_service_handler or init_quit_char_handler. | ||
| 74 | (mac_initialize) [!MAC_OSX]: Don't call MakeMeTheFrontProcess. | ||
| 75 | |||
| 76 | * macterm.h (install_window_handler, remove_window_handler) | ||
| 77 | (posix_pathname_to_fsspec, fsspec_to_posix_pathname) | ||
| 78 | (mac_clear_font_name_table): New externs. | ||
| 79 | |||
| 80 | 2005-03-03 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 81 | |||
| 82 | * fileio.c (FILE_SYSTEM_CASE): Define macro if not already defined. | ||
| 83 | (Ffile_name_directory): Use FILE_SYSTEM_CASE unconditionally. | ||
| 84 | (Fexpand_file_name): Likewise. | ||
| 85 | |||
| 86 | 2005-03-03 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 87 | |||
| 88 | * emacs.c (Fkill_emacs): Use EXIT_SUCCESS; | ||
| 89 | no longer special-case VMS. Add bogus return value. | ||
| 90 | |||
| 91 | 2005-03-02 Kim F. Storm <storm@cua.dk> | ||
| 92 | |||
| 93 | * dispextern.h (XASSERTS): Define to 0 if not already defined. | ||
| 94 | (xassert) [!XASSERTS]: Define dummy version. | ||
| 95 | |||
| 96 | 2005-03-02 Kim F. Storm <storm@cua.dk> | ||
| 97 | |||
| 98 | * xdisp.c (redisplay_window): YABX (yet another bogus xassert). | ||
| 99 | Reported by David Kastrup. | ||
| 100 | |||
| 101 | 2005-03-01 Ehud Karni <ehud@unix.mvs.co.il> | ||
| 102 | |||
| 103 | * xdisp.c (get_next_display_element): Fix control and escape | ||
| 104 | glyph from display vector. | ||
| 105 | |||
| 106 | 2005-03-01 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 107 | |||
| 108 | * keyboard.c (Fposn_at_x_y): Check integerness of X and Y. | ||
| 109 | |||
| 1 | 2005-02-27 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | 110 | 2005-02-27 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> |
| 2 | 111 | ||
| 3 | * gtkutil.c (xg_resize_outer_widget): Removed unneeded call to | 112 | * gtkutil.c (xg_resize_outer_widget): Remove unneeded call to |
| 4 | gtk_window_resize and x_wm_set_size_hint. | 113 | gtk_window_resize and x_wm_set_size_hint. |
| 5 | 114 | ||
| 6 | 2005-02-25 Kim F. Storm <storm@cua.dk> | 115 | 2005-02-25 Kim F. Storm <storm@cua.dk> |
| @@ -30,7 +139,7 @@ | |||
| 30 | * window.c (window_scroll_pixel_based): When scrolling backwards, | 139 | * window.c (window_scroll_pixel_based): When scrolling backwards, |
| 31 | handle partial visible line at end of window even when we hit PT. | 140 | handle partial visible line at end of window even when we hit PT. |
| 32 | 141 | ||
| 33 | 2005-02-21 Stefan <monnier@iro.umontreal.ca> | 142 | 2005-02-21 Stefan Monnier <monnier@iro.umontreal.ca> |
| 34 | 143 | ||
| 35 | * keymap.h: Declare Fcurrent_active_maps, used in doc.c. | 144 | * keymap.h: Declare Fcurrent_active_maps, used in doc.c. |
| 36 | 145 | ||
| @@ -88,8 +197,7 @@ | |||
| 88 | (Fx_window_property): Likewise. | 197 | (Fx_window_property): Likewise. |
| 89 | 198 | ||
| 90 | * xselect.c (Fx_disown_selection_internal): Use union of struct | 199 | * xselect.c (Fx_disown_selection_internal): Use union of struct |
| 91 | input_event and struct selection_input_event to avoid aliasing | 200 | input_event and struct selection_input_event to avoid aliasing issues. |
| 92 | issues. | ||
| 93 | 201 | ||
| 94 | * xterm.c (handle_one_xevent): Use union of struct input_event and | 202 | * xterm.c (handle_one_xevent): Use union of struct input_event and |
| 95 | struct selection_input_event to avoid aliasing issues. | 203 | struct selection_input_event to avoid aliasing issues. |
| @@ -118,21 +226,20 @@ | |||
| 118 | clipboard operations and delayed rendering. | 226 | clipboard operations and delayed rendering. |
| 119 | 227 | ||
| 120 | Drop last_clipboard_text and related code, keep track of | 228 | Drop last_clipboard_text and related code, keep track of |
| 121 | ownership via clipboard_owner instead. Drop old #if0 | 229 | ownership via clipboard_owner instead. Drop old #if0 sections. |
| 122 | sections. | ||
| 123 | 230 | ||
| 124 | (DEFAULT_LCID, ANSICP, OEMCP, QUNICODE, QANSICP, QOEMCP) | 231 | (DEFAULT_LCID, ANSICP, OEMCP, QUNICODE, QANSICP, QOEMCP) |
| 125 | (clipboard_owner, modifying_clipboard, cfg_coding_system) | 232 | (clipboard_owner, modifying_clipboard, cfg_coding_system) |
| 126 | (cfg_codepage, cfg_lcid, cfg_clipboard_type, current_text) | 233 | (cfg_codepage, cfg_lcid, cfg_clipboard_type, current_text) |
| 127 | (current_coding_system, current_requires_encoding) | 234 | (current_coding_system, current_requires_encoding) |
| 128 | (current_num_nls, current_clipboard_type, current_lcid): New | 235 | (current_num_nls, current_clipboard_type, current_lcid): |
| 129 | static variables. | 236 | New static variables. |
| 130 | 237 | ||
| 131 | (convert_to_handle_as_ascii, convert_to_handle_as_coded) | 238 | (convert_to_handle_as_ascii, convert_to_handle_as_coded) |
| 132 | (render, render_all, run_protected, lisp_error_handler) | 239 | (render, render_all, run_protected, lisp_error_handler) |
| 133 | (owner_callback, create_owner, setup_config) | 240 | (owner_callback, create_owner, setup_config) |
| 134 | (enum_locale_callback, cp_from_locale, coding_from_cp): New | 241 | (enum_locale_callback, cp_from_locale, coding_from_cp): |
| 135 | local functions. | 242 | New local functions. |
| 136 | 243 | ||
| 137 | (term_w32select, globals_of_w32select): New global functions. | 244 | (term_w32select, globals_of_w32select): New global functions. |
| 138 | 245 | ||
| @@ -332,8 +439,7 @@ | |||
| 332 | (casify_region): Fix loop condition, args to replace_range_2, and | 439 | (casify_region): Fix loop condition, args to replace_range_2, and |
| 333 | update opoint_byte. | 440 | update opoint_byte. |
| 334 | 441 | ||
| 335 | * insdel.c (replace_range_2): Fix bugs in adjusting markers and | 442 | * insdel.c (replace_range_2): Fix bugs in adjusting markers and point. |
| 336 | point. | ||
| 337 | 443 | ||
| 338 | 2005-02-01 Kim F. Storm <storm@cua.dk> | 444 | 2005-02-01 Kim F. Storm <storm@cua.dk> |
| 339 | 445 | ||
| @@ -761,7 +867,7 @@ | |||
| 761 | [TARGET_API_MAC_CARBON] (mac_do_track_drag): Likewise. | 867 | [TARGET_API_MAC_CARBON] (mac_do_track_drag): Likewise. |
| 762 | Reject only when there are no filename items. Set background color | 868 | Reject only when there are no filename items. Set background color |
| 763 | before (un)highlighting the window below the dragged items. | 869 | before (un)highlighting the window below the dragged items. |
| 764 | (XTread_socket) [!USE_CARBON_EVENTS]: Don't call do_window_update. | 870 | (XTread_socket) [USE_CARBON_EVENTS]: Don't call do_window_update. |
| 765 | 871 | ||
| 766 | 2005-01-05 Romain Francoise <romain@orebokech.com> | 872 | 2005-01-05 Romain Francoise <romain@orebokech.com> |
| 767 | 873 | ||
| @@ -11015,9 +11121,9 @@ | |||
| 11015 | These changes were in part based upon suggestions made by Peter | 11121 | These changes were in part based upon suggestions made by Peter |
| 11016 | 'Luna' Runestig [peter@runestig.com]. | 11122 | 'Luna' Runestig [peter@runestig.com]. |
| 11017 | 11123 | ||
| 11018 | * w32.c (g_b_init_is_windows_9x, g_b_init_open_process_token, | 11124 | * w32.c (g_b_init_is_windows_9x, g_b_init_open_process_token) |
| 11019 | g_b_init_get_token_information, g_b_init_lookup_account_sid, | 11125 | (g_b_init_get_token_information, g_b_init_lookup_account_sid) |
| 11020 | g_b_init_get_sid_identifier_authority ): Add several static | 11126 | (g_b_init_get_sid_identifier_authority ): Add several static |
| 11021 | global variables. | 11127 | global variables. |
| 11022 | 11128 | ||
| 11023 | * w32.c (globals_of_w32): New function. Used to initialize those | 11129 | * w32.c (globals_of_w32): New function. Used to initialize those |
diff --git a/src/dispextern.h b/src/dispextern.h index 5401fecedd5..60f24feef5b 100644 --- a/src/dispextern.h +++ b/src/dispextern.h | |||
| @@ -119,6 +119,13 @@ enum window_part | |||
| 119 | #define GLYPH_DEBUG 0 | 119 | #define GLYPH_DEBUG 0 |
| 120 | #endif | 120 | #endif |
| 121 | 121 | ||
| 122 | /* If XASSERTS is non-zero, additional consistency checks are activated. | ||
| 123 | Turn it off by defining the macro XASSERTS to zero. */ | ||
| 124 | |||
| 125 | #ifndef XASSERTS | ||
| 126 | #define XASSERTS 0 | ||
| 127 | #endif | ||
| 128 | |||
| 122 | /* Macros to include code only if GLYPH_DEBUG != 0. */ | 129 | /* Macros to include code only if GLYPH_DEBUG != 0. */ |
| 123 | 130 | ||
| 124 | #if GLYPH_DEBUG | 131 | #if GLYPH_DEBUG |
| @@ -127,8 +134,11 @@ enum window_part | |||
| 127 | #define IF_DEBUG(X) (void) 0 | 134 | #define IF_DEBUG(X) (void) 0 |
| 128 | #endif | 135 | #endif |
| 129 | 136 | ||
| 130 | /* Maybe move this inside the above `#ifdef GLYPH_DEBUG' for release. */ | 137 | #if XASSERTS |
| 131 | #define xassert(X) do {if (!(X)) abort ();} while (0) | 138 | #define xassert(X) do {if (!(X)) abort ();} while (0) |
| 139 | #else | ||
| 140 | #define xassert(X) (void) 0 | ||
| 141 | #endif | ||
| 132 | 142 | ||
| 133 | /* Macro for displaying traces of redisplay. If Emacs was compiled | 143 | /* Macro for displaying traces of redisplay. If Emacs was compiled |
| 134 | with GLYPH_DEBUG != 0, the variable trace_redisplay_p can be set to | 144 | with GLYPH_DEBUG != 0, the variable trace_redisplay_p can be set to |
| @@ -58,26 +58,24 @@ static Lisp_Object Vbuild_files; | |||
| 58 | extern Lisp_Object Voverriding_local_map; | 58 | extern Lisp_Object Voverriding_local_map; |
| 59 | 59 | ||
| 60 | /* For VMS versions with limited file name syntax, | 60 | /* For VMS versions with limited file name syntax, |
| 61 | convert the name to something VMS will allow. */ | 61 | convert the name to something VMS will allow. */ |
| 62 | static void | 62 | static void |
| 63 | munge_doc_file_name (name) | 63 | munge_doc_file_name (name) |
| 64 | char *name; | 64 | char *name; |
| 65 | { | 65 | { |
| 66 | #ifdef VMS | 66 | #ifdef VMS |
| 67 | #ifndef VMS4_4 | 67 | #ifndef NO_HYPHENS_IN_FILENAMES |
| 68 | /* For VMS versions with limited file name syntax, | 68 | extern char * sys_translate_unix (char *ufile); |
| 69 | convert the name to something VMS will allow. */ | 69 | strcpy (name, sys_translate_unix (name)); |
| 70 | p = name; | 70 | #else /* NO_HYPHENS_IN_FILENAMES */ |
| 71 | char *p = name; | ||
| 71 | while (*p) | 72 | while (*p) |
| 72 | { | 73 | { |
| 73 | if (*p == '-') | 74 | if (*p == '-') |
| 74 | *p = '_'; | 75 | *p = '_'; |
| 75 | p++; | 76 | p++; |
| 76 | } | 77 | } |
| 77 | #endif /* not VMS4_4 */ | 78 | #endif /* NO_HYPHENS_IN_FILENAMES */ |
| 78 | #ifdef VMS4_4 | ||
| 79 | strcpy (name, sys_translate_unix (name)); | ||
| 80 | #endif /* VMS4_4 */ | ||
| 81 | #endif /* VMS */ | 79 | #endif /* VMS */ |
| 82 | } | 80 | } |
| 83 | 81 | ||
| @@ -607,21 +605,7 @@ the same file name is found in the `doc-directory'. */) | |||
| 607 | strcpy (name, SDATA (Vdoc_directory)); | 605 | strcpy (name, SDATA (Vdoc_directory)); |
| 608 | } | 606 | } |
| 609 | strcat (name, SDATA (filename)); /*** Add this line ***/ | 607 | strcat (name, SDATA (filename)); /*** Add this line ***/ |
| 610 | #ifdef VMS | 608 | munge_doc_file_name (name); |
| 611 | #ifndef VMS4_4 | ||
| 612 | /* For VMS versions with limited file name syntax, | ||
| 613 | convert the name to something VMS will allow. */ | ||
| 614 | p = name; | ||
| 615 | while (*p) | ||
| 616 | { | ||
| 617 | if (*p == '-') | ||
| 618 | *p = '_'; | ||
| 619 | p++; | ||
| 620 | } | ||
| 621 | #else /* VMS4_4 */ | ||
| 622 | strcpy (name, sys_translate_unix (name)); | ||
| 623 | #endif /* VMS4_4 */ | ||
| 624 | #endif /* VMS */ | ||
| 625 | 609 | ||
| 626 | /* Vbuild_files is nil when temacs is run, and non-nil after that. */ | 610 | /* Vbuild_files is nil when temacs is run, and non-nil after that. */ |
| 627 | if (NILP (Vbuild_files)) | 611 | if (NILP (Vbuild_files)) |
diff --git a/src/emacs.c b/src/emacs.c index 159a162d649..d83adc989eb 100644 --- a/src/emacs.c +++ b/src/emacs.c | |||
| @@ -251,7 +251,7 @@ Run Emacs, the extensible, customizable, self-documenting real-time\n\ | |||
| 251 | display editor. The recommended way to start Emacs for normal editing\n\ | 251 | display editor. The recommended way to start Emacs for normal editing\n\ |
| 252 | is with no options at all.\n\ | 252 | is with no options at all.\n\ |
| 253 | \n\ | 253 | \n\ |
| 254 | Run M-x info RET m emacs RET m command arguments RET inside Emacs to\n\ | 254 | Run M-x info RET m emacs RET m emacs invocation RET inside Emacs to\n\ |
| 255 | read the main documentation for these command-line arguments.\n\ | 255 | read the main documentation for these command-line arguments.\n\ |
| 256 | \n\ | 256 | \n\ |
| 257 | Initialization options:\n\ | 257 | Initialization options:\n\ |
| @@ -297,7 +297,7 @@ Display options:\n\ | |||
| 297 | --background-color, -bg COLOR window background color\n\ | 297 | --background-color, -bg COLOR window background color\n\ |
| 298 | --border-color, -bd COLOR main border color\n\ | 298 | --border-color, -bd COLOR main border color\n\ |
| 299 | --border-width, -bw WIDTH width of main border\n\ | 299 | --border-width, -bw WIDTH width of main border\n\ |
| 300 | --color MODE color mode for character terminals;\n\ | 300 | --color, --color=MODE color mode for character terminals;\n\ |
| 301 | MODE defaults to `auto', and can also\n\ | 301 | MODE defaults to `auto', and can also\n\ |
| 302 | be `never', `auto', `always',\n\ | 302 | be `never', `auto', `always',\n\ |
| 303 | or a mode name like `ansi8'\n\ | 303 | or a mode name like `ansi8'\n\ |
| @@ -314,6 +314,7 @@ Display options:\n\ | |||
| 314 | --line-spacing, -lsp PIXELS additional space to put between lines\n\ | 314 | --line-spacing, -lsp PIXELS additional space to put between lines\n\ |
| 315 | --mouse-color, -ms COLOR mouse cursor color in Emacs window\n\ | 315 | --mouse-color, -ms COLOR mouse cursor color in Emacs window\n\ |
| 316 | --name NAME title for initial Emacs frame\n\ | 316 | --name NAME title for initial Emacs frame\n\ |
| 317 | --no-blinking-cursor, -nbc disable blinking cursor\n\ | ||
| 317 | --reverse-video, -r, -rv switch foreground and background\n\ | 318 | --reverse-video, -r, -rv switch foreground and background\n\ |
| 318 | --title, -T TITLE title for initial Emacs frame\n\ | 319 | --title, -T TITLE title for initial Emacs frame\n\ |
| 319 | --vertical-scroll-bars, -vb enable vertical scroll bars\n\ | 320 | --vertical-scroll-bars, -vb enable vertical scroll bars\n\ |
| @@ -1483,7 +1484,7 @@ main (argc, argv | |||
| 1483 | init_ntproc (); /* must precede init_editfns. */ | 1484 | init_ntproc (); /* must precede init_editfns. */ |
| 1484 | #endif | 1485 | #endif |
| 1485 | 1486 | ||
| 1486 | #ifdef HAVE_CARBON | 1487 | #if defined (MAC_OSX) && defined (HAVE_CARBON) |
| 1487 | if (initialized) | 1488 | if (initialized) |
| 1488 | init_mac_osx_environment (); | 1489 | init_mac_osx_environment (); |
| 1489 | #endif | 1490 | #endif |
| @@ -1627,12 +1628,12 @@ main (argc, argv | |||
| 1627 | syms_of_fontset (); | 1628 | syms_of_fontset (); |
| 1628 | #endif /* HAVE_NTGUI */ | 1629 | #endif /* HAVE_NTGUI */ |
| 1629 | 1630 | ||
| 1630 | #ifdef HAVE_CARBON | 1631 | #if defined (MAC_OSX) && defined (HAVE_CARBON) |
| 1631 | syms_of_macterm (); | 1632 | syms_of_macterm (); |
| 1632 | syms_of_macfns (); | 1633 | syms_of_macfns (); |
| 1633 | syms_of_macmenu (); | 1634 | syms_of_macmenu (); |
| 1634 | syms_of_fontset (); | 1635 | syms_of_fontset (); |
| 1635 | #endif /* HAVE_CARBON */ | 1636 | #endif /* MAC_OSX && HAVE_CARBON */ |
| 1636 | 1637 | ||
| 1637 | #ifdef SYMS_SYSTEM | 1638 | #ifdef SYMS_SYSTEM |
| 1638 | SYMS_SYSTEM; | 1639 | SYMS_SYSTEM; |
| @@ -1824,6 +1825,7 @@ struct standard_args standard_args[] = | |||
| 1824 | { "-ib", "--internal-border", 10, 1 }, | 1825 | { "-ib", "--internal-border", 10, 1 }, |
| 1825 | { "-ms", "--mouse-color", 10, 1 }, | 1826 | { "-ms", "--mouse-color", 10, 1 }, |
| 1826 | { "-cr", "--cursor-color", 10, 1 }, | 1827 | { "-cr", "--cursor-color", 10, 1 }, |
| 1828 | { "-nbc", "--no-blinking-cursor", 10, 0 }, | ||
| 1827 | { "-fn", "--font", 10, 1 }, | 1829 | { "-fn", "--font", 10, 1 }, |
| 1828 | { "-font", 0, 10, 1 }, | 1830 | { "-font", 0, 10, 1 }, |
| 1829 | { "-fs", "--fullscreen", 10, 0 }, | 1831 | { "-fs", "--fullscreen", 10, 0 }, |
| @@ -2052,14 +2054,9 @@ all of which are called before Emacs is actually killed. */) | |||
| 2052 | if (STRINGP (Vauto_save_list_file_name)) | 2054 | if (STRINGP (Vauto_save_list_file_name)) |
| 2053 | unlink (SDATA (Vauto_save_list_file_name)); | 2055 | unlink (SDATA (Vauto_save_list_file_name)); |
| 2054 | 2056 | ||
| 2055 | exit (INTEGERP (arg) ? XINT (arg) | 2057 | exit (INTEGERP (arg) ? XINT (arg) : EXIT_SUCCESS); |
| 2056 | #ifdef VMS | ||
| 2057 | : 1 | ||
| 2058 | #else | ||
| 2059 | : 0 | ||
| 2060 | #endif | ||
| 2061 | ); | ||
| 2062 | /* NOTREACHED */ | 2058 | /* NOTREACHED */ |
| 2059 | return 0; | ||
| 2063 | } | 2060 | } |
| 2064 | 2061 | ||
| 2065 | 2062 | ||
diff --git a/src/fileio.c b/src/fileio.c index 12360c677f8..3212c51d096 100644 --- a/src/fileio.c +++ b/src/fileio.c | |||
| @@ -150,6 +150,10 @@ extern int use_file_dialog; | |||
| 150 | # define lstat stat | 150 | # define lstat stat |
| 151 | #endif | 151 | #endif |
| 152 | 152 | ||
| 153 | #ifndef FILE_SYSTEM_CASE | ||
| 154 | #define FILE_SYSTEM_CASE(filename) (filename) | ||
| 155 | #endif | ||
| 156 | |||
| 153 | /* Nonzero during writing of auto-save files */ | 157 | /* Nonzero during writing of auto-save files */ |
| 154 | int auto_saving; | 158 | int auto_saving; |
| 155 | 159 | ||
| @@ -415,9 +419,7 @@ on VMS, perhaps instead a string ending in `:', `]' or `>'. */) | |||
| 415 | if (!NILP (handler)) | 419 | if (!NILP (handler)) |
| 416 | return call2 (handler, Qfile_name_directory, filename); | 420 | return call2 (handler, Qfile_name_directory, filename); |
| 417 | 421 | ||
| 418 | #ifdef FILE_SYSTEM_CASE | ||
| 419 | filename = FILE_SYSTEM_CASE (filename); | 422 | filename = FILE_SYSTEM_CASE (filename); |
| 420 | #endif | ||
| 421 | beg = SDATA (filename); | 423 | beg = SDATA (filename); |
| 422 | #ifdef DOS_NT | 424 | #ifdef DOS_NT |
| 423 | beg = strcpy (alloca (strlen (beg) + 1), beg); | 425 | beg = strcpy (alloca (strlen (beg) + 1), beg); |
| @@ -1122,14 +1124,7 @@ See also the function `substitute-in-file-name'. */) | |||
| 1122 | UNGCPRO; | 1124 | UNGCPRO; |
| 1123 | } | 1125 | } |
| 1124 | 1126 | ||
| 1125 | #ifdef VMS | ||
| 1126 | /* Filenames on VMS are always upper case. */ | ||
| 1127 | name = Fupcase (name); | ||
| 1128 | #endif | ||
| 1129 | #ifdef FILE_SYSTEM_CASE | ||
| 1130 | name = FILE_SYSTEM_CASE (name); | 1127 | name = FILE_SYSTEM_CASE (name); |
| 1131 | #endif | ||
| 1132 | |||
| 1133 | nm = SDATA (name); | 1128 | nm = SDATA (name); |
| 1134 | 1129 | ||
| 1135 | #ifdef DOS_NT | 1130 | #ifdef DOS_NT |
| @@ -1229,23 +1224,23 @@ See also the function `substitute-in-file-name'. */) | |||
| 1229 | slash = p; | 1224 | slash = p; |
| 1230 | } | 1225 | } |
| 1231 | if (p[0] == '-') | 1226 | if (p[0] == '-') |
| 1232 | #ifndef VMS4_4 | 1227 | #ifdef NO_HYPHENS_IN_FILENAMES |
| 1233 | /* VMS pre V4.4,convert '-'s in filenames. */ | ||
| 1234 | if (lbrack == rbrack) | 1228 | if (lbrack == rbrack) |
| 1235 | { | 1229 | { |
| 1236 | if (dots < 2) /* this is to allow negative version numbers */ | 1230 | /* Avoid clobbering negative version numbers. */ |
| 1231 | if (dots < 2) | ||
| 1237 | p[0] = '_'; | 1232 | p[0] = '_'; |
| 1238 | } | 1233 | } |
| 1239 | else | 1234 | else |
| 1240 | #endif /* VMS4_4 */ | 1235 | #endif /* NO_HYPHENS_IN_FILENAMES */ |
| 1241 | if (lbrack > rbrack && | 1236 | if (lbrack > rbrack && |
| 1242 | ((p[-1] == '.' || p[-1] == '[' || p[-1] == '<') && | 1237 | ((p[-1] == '.' || p[-1] == '[' || p[-1] == '<') && |
| 1243 | (p[1] == '.' || p[1] == ']' || p[1] == '>'))) | 1238 | (p[1] == '.' || p[1] == ']' || p[1] == '>'))) |
| 1244 | lose = 1; | 1239 | lose = 1; |
| 1245 | #ifndef VMS4_4 | 1240 | #ifdef NO_HYPHENS_IN_FILENAMES |
| 1246 | else | 1241 | else |
| 1247 | p[0] = '_'; | 1242 | p[0] = '_'; |
| 1248 | #endif /* VMS4_4 */ | 1243 | #endif /* NO_HYPHENS_IN_FILENAMES */ |
| 1249 | /* count open brackets, reset close bracket pointer */ | 1244 | /* count open brackets, reset close bracket pointer */ |
| 1250 | if (p[0] == '[' || p[0] == '<') | 1245 | if (p[0] == '[' || p[0] == '<') |
| 1251 | lbrack++, brack = 0; | 1246 | lbrack++, brack = 0; |
| @@ -1625,12 +1620,12 @@ See also the function `substitute-in-file-name'. */) | |||
| 1625 | } | 1620 | } |
| 1626 | else | 1621 | else |
| 1627 | { | 1622 | { |
| 1628 | #ifndef VMS4_4 | 1623 | #ifdef NO_HYPHENS_IN_FILENAMES |
| 1629 | if (*p == '-' && | 1624 | if (*p == '-' && |
| 1630 | o[-1] != '[' && o[-1] != '<' && o[-1] != '.' && | 1625 | o[-1] != '[' && o[-1] != '<' && o[-1] != '.' && |
| 1631 | p[1] != ']' && p[1] != '>' && p[1] != '.') | 1626 | p[1] != ']' && p[1] != '>' && p[1] != '.') |
| 1632 | *p = '_'; | 1627 | *p = '_'; |
| 1633 | #endif /* VMS4_4 */ | 1628 | #endif /* NO_HYPHENS_IN_FILENAMES */ |
| 1634 | *o++ = *p++; | 1629 | *o++ = *p++; |
| 1635 | } | 1630 | } |
| 1636 | #else /* not VMS */ | 1631 | #else /* not VMS */ |
| @@ -6387,7 +6382,7 @@ and `read-file-name-function'. */) | |||
| 6387 | { | 6382 | { |
| 6388 | Lisp_Object val1 = double_dollars (val); | 6383 | Lisp_Object val1 = double_dollars (val); |
| 6389 | tem = Fsymbol_value (Qfile_name_history); | 6384 | tem = Fsymbol_value (Qfile_name_history); |
| 6390 | if (history_delete_duplicates) | 6385 | if (history_delete_duplicates) |
| 6391 | XSETCDR (tem, Fdelete (val1, XCDR(tem))); | 6386 | XSETCDR (tem, Fdelete (val1, XCDR(tem))); |
| 6392 | XSETCAR (tem, val1); | 6387 | XSETCAR (tem, val1); |
| 6393 | } | 6388 | } |
diff --git a/src/image.c b/src/image.c index 9c2f6962b6e..0e48b1d2bcb 100644 --- a/src/image.c +++ b/src/image.c | |||
| @@ -88,15 +88,19 @@ typedef struct w32_bitmap_record Bitmap_Record; | |||
| 88 | #include <alloca.h> | 88 | #include <alloca.h> |
| 89 | #include <sys/param.h> | 89 | #include <sys/param.h> |
| 90 | #endif | 90 | #endif |
| 91 | #if TARGET_API_MAC_CARBON | ||
| 91 | #ifdef MAC_OSX | 92 | #ifdef MAC_OSX |
| 92 | #include <QuickTime/QuickTime.h> | 93 | #include <QuickTime/QuickTime.h> |
| 93 | #else /* not MAC_OSX */ | 94 | #else /* not MAC_OSX */ |
| 95 | #include <QuickTime.h> | ||
| 96 | #endif /* not MAC_OSX */ | ||
| 97 | #else /* not TARGET_API_MAC_CARBON */ | ||
| 94 | #include <Windows.h> | 98 | #include <Windows.h> |
| 95 | #include <Gestalt.h> | 99 | #include <Gestalt.h> |
| 96 | #include <TextUtils.h> | 100 | #include <TextUtils.h> |
| 97 | #include <ImageCompression.h> | 101 | #include <ImageCompression.h> |
| 98 | #include <QuickTimeComponents.h> | 102 | #include <QuickTimeComponents.h> |
| 99 | #endif /* not MAC_OSX */ | 103 | #endif /* not TARGET_API_MAC_CARBON */ |
| 100 | 104 | ||
| 101 | /* MAC_TODO : Color tables on Mac. */ | 105 | /* MAC_TODO : Color tables on Mac. */ |
| 102 | #undef COLOR_TABLE_SUPPORT | 106 | #undef COLOR_TABLE_SUPPORT |
diff --git a/src/keyboard.c b/src/keyboard.c index 42255dfbd91..3da16b82271 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Keyboard and mouse input; editor command loop. | 1 | /* Keyboard and mouse input; editor command loop. |
| 2 | Copyright (C) 1985,86,87,88,89,93,94,95,96,97,99,2000,01,02,03,04 | 2 | Copyright (C) 1985, 1986, 1987, 1988, 1989, 1993, 1994, 1995, 1996, 1997, |
| 3 | Free Software Foundation, Inc. | 3 | 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is part of GNU Emacs. | 5 | This file is part of GNU Emacs. |
| 6 | 6 | ||
| @@ -10660,6 +10660,9 @@ The `posn-' functions access elements of such lists. */) | |||
| 10660 | (x, y, frame_or_window, whole) | 10660 | (x, y, frame_or_window, whole) |
| 10661 | Lisp_Object x, y, frame_or_window, whole; | 10661 | Lisp_Object x, y, frame_or_window, whole; |
| 10662 | { | 10662 | { |
| 10663 | CHECK_NATNUM (x); | ||
| 10664 | CHECK_NATNUM (y); | ||
| 10665 | |||
| 10663 | if (NILP (frame_or_window)) | 10666 | if (NILP (frame_or_window)) |
| 10664 | frame_or_window = selected_window; | 10667 | frame_or_window = selected_window; |
| 10665 | 10668 | ||
| @@ -25,20 +25,8 @@ Boston, MA 02111-1307, USA. */ | |||
| 25 | #include <stdio.h> | 25 | #include <stdio.h> |
| 26 | #include <errno.h> | 26 | #include <errno.h> |
| 27 | #include <time.h> | 27 | #include <time.h> |
| 28 | #include <utime.h> | ||
| 29 | #include <dirent.h> | ||
| 30 | #include <sys/types.h> | ||
| 31 | #include <sys/stat.h> | ||
| 32 | #include <string.h> | ||
| 33 | #include <pwd.h> | ||
| 34 | #include <grp.h> | ||
| 35 | #include <sys/param.h> | ||
| 36 | #include <stdlib.h> | ||
| 37 | #include <fcntl.h> | ||
| 38 | #if __MWERKS__ | ||
| 39 | #include <unistd.h> | ||
| 40 | #endif | ||
| 41 | 28 | ||
| 29 | #ifdef HAVE_CARBON | ||
| 42 | #ifdef MAC_OSX | 30 | #ifdef MAC_OSX |
| 43 | #undef mktime | 31 | #undef mktime |
| 44 | #undef DEBUG | 32 | #undef DEBUG |
| @@ -57,7 +45,12 @@ Boston, MA 02111-1307, USA. */ | |||
| 57 | #define realloc unexec_realloc | 45 | #define realloc unexec_realloc |
| 58 | #undef init_process | 46 | #undef init_process |
| 59 | #define init_process emacs_init_process | 47 | #define init_process emacs_init_process |
| 60 | #else /* not MAC_OSX */ | 48 | #else /* not MAC_OSX */ |
| 49 | #undef SIGHUP | ||
| 50 | #define OLDP2C 1 | ||
| 51 | #include <Carbon.h> | ||
| 52 | #endif /* not MAC_OSX */ | ||
| 53 | #else /* not HAVE_CARBON */ | ||
| 61 | #include <Files.h> | 54 | #include <Files.h> |
| 62 | #include <MacTypes.h> | 55 | #include <MacTypes.h> |
| 63 | #include <TextUtils.h> | 56 | #include <TextUtils.h> |
| @@ -69,7 +62,24 @@ Boston, MA 02111-1307, USA. */ | |||
| 69 | #include <OSA.h> | 62 | #include <OSA.h> |
| 70 | #include <AppleScript.h> | 63 | #include <AppleScript.h> |
| 71 | #include <Scrap.h> | 64 | #include <Scrap.h> |
| 72 | #endif /* not MAC_OSX */ | 65 | #include <Events.h> |
| 66 | #include <Processes.h> | ||
| 67 | #include <EPPC.h> | ||
| 68 | #endif /* not HAVE_CARBON */ | ||
| 69 | |||
| 70 | #include <utime.h> | ||
| 71 | #include <dirent.h> | ||
| 72 | #include <sys/types.h> | ||
| 73 | #include <sys/stat.h> | ||
| 74 | #include <string.h> | ||
| 75 | #include <pwd.h> | ||
| 76 | #include <grp.h> | ||
| 77 | #include <sys/param.h> | ||
| 78 | #include <stdlib.h> | ||
| 79 | #include <fcntl.h> | ||
| 80 | #if __MWERKS__ | ||
| 81 | #include <unistd.h> | ||
| 82 | #endif | ||
| 73 | 83 | ||
| 74 | #include "lisp.h" | 84 | #include "lisp.h" |
| 75 | #include "process.h" | 85 | #include "process.h" |
| @@ -812,8 +822,6 @@ sys_fopen (const char *name, const char *mode) | |||
| 812 | } | 822 | } |
| 813 | 823 | ||
| 814 | 824 | ||
| 815 | #include <Events.h> | ||
| 816 | |||
| 817 | long target_ticks = 0; | 825 | long target_ticks = 0; |
| 818 | 826 | ||
| 819 | #ifdef __MRC__ | 827 | #ifdef __MRC__ |
| @@ -856,7 +864,24 @@ select (n, rfds, wfds, efds, timeout) | |||
| 856 | struct timeval *timeout; | 864 | struct timeval *timeout; |
| 857 | { | 865 | { |
| 858 | #if TARGET_API_MAC_CARBON | 866 | #if TARGET_API_MAC_CARBON |
| 859 | return 1; | 867 | OSErr err; |
| 868 | EventTimeout timeout_sec = | ||
| 869 | (timeout | ||
| 870 | ? (EMACS_SECS (*timeout) * kEventDurationSecond | ||
| 871 | + EMACS_USECS (*timeout) * kEventDurationMicrosecond) | ||
| 872 | : kEventDurationForever); | ||
| 873 | |||
| 874 | if (FD_ISSET (0, rfds)) | ||
| 875 | { | ||
| 876 | BLOCK_INPUT; | ||
| 877 | err = ReceiveNextEvent (0, NULL, timeout_sec, kEventLeaveInQueue, NULL); | ||
| 878 | UNBLOCK_INPUT; | ||
| 879 | if (err == noErr) | ||
| 880 | return 1; | ||
| 881 | else | ||
| 882 | FD_ZERO (rfds); | ||
| 883 | } | ||
| 884 | return 0; | ||
| 860 | #else /* not TARGET_API_MAC_CARBON */ | 885 | #else /* not TARGET_API_MAC_CARBON */ |
| 861 | EventRecord e; | 886 | EventRecord e; |
| 862 | UInt32 sleep_time = EMACS_SECS (*timeout) * 60 + | 887 | UInt32 sleep_time = EMACS_SECS (*timeout) * 60 + |
| @@ -1421,6 +1446,39 @@ path_from_vol_dir_name (char *path, int man_path_len, short vol_ref_num, | |||
| 1421 | return 1; /* success */ | 1446 | return 1; /* success */ |
| 1422 | } | 1447 | } |
| 1423 | 1448 | ||
| 1449 | |||
| 1450 | OSErr | ||
| 1451 | posix_pathname_to_fsspec (ufn, fs) | ||
| 1452 | const char *ufn; | ||
| 1453 | FSSpec *fs; | ||
| 1454 | { | ||
| 1455 | Str255 mac_pathname; | ||
| 1456 | |||
| 1457 | if (posix_to_mac_pathname (ufn, mac_pathname, sizeof (mac_pathname)) == 0) | ||
| 1458 | return fnfErr; | ||
| 1459 | else | ||
| 1460 | { | ||
| 1461 | c2pstr (mac_pathname); | ||
| 1462 | return FSMakeFSSpec (0, 0, mac_pathname, fs); | ||
| 1463 | } | ||
| 1464 | } | ||
| 1465 | |||
| 1466 | OSErr | ||
| 1467 | fsspec_to_posix_pathname (fs, ufn, ufnbuflen) | ||
| 1468 | const FSSpec *fs; | ||
| 1469 | char *ufn; | ||
| 1470 | int ufnbuflen; | ||
| 1471 | { | ||
| 1472 | char mac_pathname[MAXPATHLEN]; | ||
| 1473 | |||
| 1474 | if (path_from_vol_dir_name (mac_pathname, sizeof (mac_pathname) - 1, | ||
| 1475 | fs->vRefNum, fs->parID, fs->name) | ||
| 1476 | && mac_to_posix_pathname (mac_pathname, ufn, ufnbuflen)) | ||
| 1477 | return noErr; | ||
| 1478 | else | ||
| 1479 | return fnfErr; | ||
| 1480 | } | ||
| 1481 | |||
| 1424 | #ifndef MAC_OSX | 1482 | #ifndef MAC_OSX |
| 1425 | 1483 | ||
| 1426 | int | 1484 | int |
| @@ -1899,9 +1957,6 @@ uname (struct utsname *name) | |||
| 1899 | } | 1957 | } |
| 1900 | 1958 | ||
| 1901 | 1959 | ||
| 1902 | #include <Processes.h> | ||
| 1903 | #include <EPPC.h> | ||
| 1904 | |||
| 1905 | /* Event class of HLE sent to subprocess. */ | 1960 | /* Event class of HLE sent to subprocess. */ |
| 1906 | const OSType kEmacsSubprocessSend = 'ESND'; | 1961 | const OSType kEmacsSubprocessSend = 'ESND'; |
| 1907 | 1962 | ||
| @@ -2770,7 +2825,6 @@ and t is the same as `SECONDARY'. */) | |||
| 2770 | return Qnil; | 2825 | return Qnil; |
| 2771 | } | 2826 | } |
| 2772 | 2827 | ||
| 2773 | extern void mac_clear_font_name_table P_ ((void)); | ||
| 2774 | 2828 | ||
| 2775 | DEFUN ("mac-clear-font-name-table", Fmac_clear_font_name_table, Smac_clear_font_name_table, 0, 0, 0, | 2829 | DEFUN ("mac-clear-font-name-table", Fmac_clear_font_name_table, Smac_clear_font_name_table, 0, 0, 0, |
| 2776 | doc: /* Clear the font name table. */) | 2830 | doc: /* Clear the font name table. */) |
diff --git a/src/macfns.c b/src/macfns.c index 26d63ec99af..d90344dc1d0 100644 --- a/src/macfns.c +++ b/src/macfns.c | |||
| @@ -2294,8 +2294,6 @@ XParseGeometry (string, x, y, width, height) | |||
| 2294 | 2294 | ||
| 2295 | /* Create and set up the Mac window for frame F. */ | 2295 | /* Create and set up the Mac window for frame F. */ |
| 2296 | 2296 | ||
| 2297 | extern OSErr install_window_handler (WindowPtr); | ||
| 2298 | |||
| 2299 | static void | 2297 | static void |
| 2300 | mac_window (f) | 2298 | mac_window (f) |
| 2301 | struct frame *f; | 2299 | struct frame *f; |
| @@ -4356,7 +4354,7 @@ If ONLY-DIR-P is non-nil, the user can only select directories. */) | |||
| 4356 | options.actionButtonLabel = CFSTR ("Ok"); | 4354 | options.actionButtonLabel = CFSTR ("Ok"); |
| 4357 | options.windowTitle = CFSTR ("Enter name"); | 4355 | options.windowTitle = CFSTR ("Enter name"); |
| 4358 | 4356 | ||
| 4359 | if (!NILP(default_filename)) | 4357 | if (STRINGP (default_filename)) |
| 4360 | { | 4358 | { |
| 4361 | Lisp_Object utf8 = ENCODE_UTF_8 (default_filename); | 4359 | Lisp_Object utf8 = ENCODE_UTF_8 (default_filename); |
| 4362 | char *begPtr = SDATA(utf8); | 4360 | char *begPtr = SDATA(utf8); |
| @@ -4381,22 +4379,29 @@ If ONLY-DIR-P is non-nil, the user can only select directories. */) | |||
| 4381 | } | 4379 | } |
| 4382 | 4380 | ||
| 4383 | /* Set the default location and continue*/ | 4381 | /* Set the default location and continue*/ |
| 4384 | if (status == noErr) { | 4382 | if (status == noErr) |
| 4385 | if (!NILP(dir)) { | 4383 | { |
| 4386 | FSRef defLoc; | ||
| 4387 | AEDesc defLocAed; | 4384 | AEDesc defLocAed; |
| 4385 | #ifdef MAC_OSX | ||
| 4386 | FSRef defLoc; | ||
| 4388 | status = FSPathMakeRef(SDATA(ENCODE_FILE(dir)), &defLoc, NULL); | 4387 | status = FSPathMakeRef(SDATA(ENCODE_FILE(dir)), &defLoc, NULL); |
| 4388 | #else | ||
| 4389 | FSSpec defLoc; | ||
| 4390 | status = posix_pathname_to_fsspec (SDATA (ENCODE_FILE (dir)), &defLoc); | ||
| 4391 | #endif | ||
| 4389 | if (status == noErr) | 4392 | if (status == noErr) |
| 4390 | { | 4393 | { |
| 4394 | #ifdef MAC_OSX | ||
| 4391 | AECreateDesc(typeFSRef, &defLoc, sizeof(FSRef), &defLocAed); | 4395 | AECreateDesc(typeFSRef, &defLoc, sizeof(FSRef), &defLocAed); |
| 4396 | #else | ||
| 4397 | AECreateDesc(typeFSS, &defLoc, sizeof(FSSpec), &defLocAed); | ||
| 4398 | #endif | ||
| 4392 | NavCustomControl(dialogRef, kNavCtlSetLocation, (void*) &defLocAed); | 4399 | NavCustomControl(dialogRef, kNavCtlSetLocation, (void*) &defLocAed); |
| 4393 | AEDisposeDesc(&defLocAed); | 4400 | AEDisposeDesc(&defLocAed); |
| 4394 | } | 4401 | } |
| 4402 | status = NavDialogRun(dialogRef); | ||
| 4395 | } | 4403 | } |
| 4396 | 4404 | ||
| 4397 | status = NavDialogRun(dialogRef); | ||
| 4398 | } | ||
| 4399 | |||
| 4400 | if (saveName) CFRelease(saveName); | 4405 | if (saveName) CFRelease(saveName); |
| 4401 | if (message) CFRelease(message); | 4406 | if (message) CFRelease(message); |
| 4402 | 4407 | ||
| @@ -4413,11 +4418,22 @@ If ONLY-DIR-P is non-nil, the user can only select directories. */) | |||
| 4413 | { | 4418 | { |
| 4414 | NavReplyRecord reply; | 4419 | NavReplyRecord reply; |
| 4415 | AEDesc aed; | 4420 | AEDesc aed; |
| 4421 | #ifdef MAC_OSX | ||
| 4416 | FSRef fsRef; | 4422 | FSRef fsRef; |
| 4423 | #else | ||
| 4424 | FSSpec fs; | ||
| 4425 | #endif | ||
| 4417 | status = NavDialogGetReply(dialogRef, &reply); | 4426 | status = NavDialogGetReply(dialogRef, &reply); |
| 4427 | |||
| 4428 | #ifdef MAC_OSX | ||
| 4418 | AECoerceDesc(&reply.selection, typeFSRef, &aed); | 4429 | AECoerceDesc(&reply.selection, typeFSRef, &aed); |
| 4419 | AEGetDescData(&aed, (void *) &fsRef, sizeof (FSRef)); | 4430 | AEGetDescData(&aed, (void *) &fsRef, sizeof (FSRef)); |
| 4420 | FSRefMakePath(&fsRef, (UInt8 *) filename, sizeof (filename)); | 4431 | FSRefMakePath(&fsRef, (UInt8 *) filename, sizeof (filename)); |
| 4432 | #else | ||
| 4433 | AECoerceDesc (&reply.selection, typeFSS, &aed); | ||
| 4434 | AEGetDescData (&aed, (void *) &fs, sizeof (FSSpec)); | ||
| 4435 | fsspec_to_posix_pathname (&fs, filename, sizeof (filename) - 1); | ||
| 4436 | #endif | ||
| 4421 | AEDisposeDesc(&aed); | 4437 | AEDisposeDesc(&aed); |
| 4422 | if (reply.saveFileName) | 4438 | if (reply.saveFileName) |
| 4423 | { | 4439 | { |
diff --git a/src/macgui.h b/src/macgui.h index cb157bb8c25..6a961318b76 100644 --- a/src/macgui.h +++ b/src/macgui.h | |||
| @@ -29,10 +29,11 @@ typedef char * XrmDatabase; /* fix later */ | |||
| 29 | 29 | ||
| 30 | typedef unsigned long Time; | 30 | typedef unsigned long Time; |
| 31 | 31 | ||
| 32 | #if MAC_OSX | 32 | #ifdef HAVE_CARBON |
| 33 | #undef Z | ||
| 34 | #ifdef MAC_OSX | ||
| 33 | #undef mktime | 35 | #undef mktime |
| 34 | #undef DEBUG | 36 | #undef DEBUG |
| 35 | #undef Z | ||
| 36 | #undef free | 37 | #undef free |
| 37 | #undef malloc | 38 | #undef malloc |
| 38 | #undef realloc | 39 | #undef realloc |
| @@ -44,8 +45,6 @@ typedef unsigned long Time; | |||
| 44 | #include <Carbon/Carbon.h> | 45 | #include <Carbon/Carbon.h> |
| 45 | #undef mktime | 46 | #undef mktime |
| 46 | #define mktime emacs_mktime | 47 | #define mktime emacs_mktime |
| 47 | #undef Z | ||
| 48 | #define Z (current_buffer->text->z) | ||
| 49 | #undef free | 48 | #undef free |
| 50 | #define free unexec_free | 49 | #define free unexec_free |
| 51 | #undef malloc | 50 | #undef malloc |
| @@ -59,12 +58,19 @@ typedef unsigned long Time; | |||
| 59 | #undef init_process | 58 | #undef init_process |
| 60 | #define init_process emacs_init_process | 59 | #define init_process emacs_init_process |
| 61 | #undef INFINITY | 60 | #undef INFINITY |
| 62 | #else | 61 | #else /* not MAC_OSX */ |
| 62 | #undef SIGHUP | ||
| 63 | #define OLDP2C 1 | ||
| 64 | #include <Carbon.h> | ||
| 65 | #endif /* not MAC_OSX */ | ||
| 66 | #undef Z | ||
| 67 | #define Z (current_buffer->text->z) | ||
| 68 | #else /* not HAVE_CARBON */ | ||
| 63 | #include <QuickDraw.h> /* for WindowPtr */ | 69 | #include <QuickDraw.h> /* for WindowPtr */ |
| 64 | #include <QDOffscreen.h> /* for GWorldPtr */ | 70 | #include <QDOffscreen.h> /* for GWorldPtr */ |
| 65 | #include <Windows.h> | 71 | #include <Windows.h> |
| 66 | #include <Gestalt.h> | 72 | #include <Gestalt.h> |
| 67 | #endif | 73 | #endif /* not HAVE_CARBON */ |
| 68 | 74 | ||
| 69 | typedef WindowPtr Window; | 75 | typedef WindowPtr Window; |
| 70 | typedef GWorldPtr Pixmap; | 76 | typedef GWorldPtr Pixmap; |
diff --git a/src/macmenu.c b/src/macmenu.c index f0696a49774..35615cc3796 100644 --- a/src/macmenu.c +++ b/src/macmenu.c | |||
| @@ -35,7 +35,7 @@ Boston, MA 02111-1307, USA. */ | |||
| 35 | #include "charset.h" | 35 | #include "charset.h" |
| 36 | #include "coding.h" | 36 | #include "coding.h" |
| 37 | 37 | ||
| 38 | #ifndef MAC_OSX | 38 | #if !TARGET_API_MAC_CARBON |
| 39 | #include <MacTypes.h> | 39 | #include <MacTypes.h> |
| 40 | #include <Menus.h> | 40 | #include <Menus.h> |
| 41 | #include <QuickDraw.h> | 41 | #include <QuickDraw.h> |
| @@ -47,7 +47,7 @@ Boston, MA 02111-1307, USA. */ | |||
| 47 | #if defined (__MRC__) || (__MSL__ >= 0x6000) | 47 | #if defined (__MRC__) || (__MSL__ >= 0x6000) |
| 48 | #include <ControlDefinitions.h> | 48 | #include <ControlDefinitions.h> |
| 49 | #endif | 49 | #endif |
| 50 | #endif /* not MAC_OSX */ | 50 | #endif /* not TARGET_API_MAC_CARBON */ |
| 51 | 51 | ||
| 52 | /* This may include sys/types.h, and that somehow loses | 52 | /* This may include sys/types.h, and that somehow loses |
| 53 | if this is not done before the other system files. */ | 53 | if this is not done before the other system files. */ |
diff --git a/src/macterm.c b/src/macterm.c index 21effb23cfa..a98d4ae5eb4 100644 --- a/src/macterm.c +++ b/src/macterm.c | |||
| @@ -34,12 +34,12 @@ Boston, MA 02111-1307, USA. */ | |||
| 34 | #include <alloca.h> | 34 | #include <alloca.h> |
| 35 | #endif | 35 | #endif |
| 36 | 36 | ||
| 37 | #ifdef MAC_OSX | 37 | #if TARGET_API_MAC_CARBON |
| 38 | /* USE_CARBON_EVENTS determines if the Carbon Event Manager is used to | 38 | /* USE_CARBON_EVENTS determines if the Carbon Event Manager is used to |
| 39 | obtain events from the event queue. If set to 0, WaitNextEvent is | 39 | obtain events from the event queue. If set to 0, WaitNextEvent is |
| 40 | used instead. */ | 40 | used instead. */ |
| 41 | #define USE_CARBON_EVENTS 1 | 41 | #define USE_CARBON_EVENTS 1 |
| 42 | #else /* not MAC_OSX */ | 42 | #else /* not TARGET_API_MAC_CARBON */ |
| 43 | #include <Quickdraw.h> | 43 | #include <Quickdraw.h> |
| 44 | #include <ToolUtils.h> | 44 | #include <ToolUtils.h> |
| 45 | #include <Sound.h> | 45 | #include <Sound.h> |
| @@ -58,7 +58,7 @@ Boston, MA 02111-1307, USA. */ | |||
| 58 | #if __profile__ | 58 | #if __profile__ |
| 59 | #include <profiler.h> | 59 | #include <profiler.h> |
| 60 | #endif | 60 | #endif |
| 61 | #endif /* not MAC_OSX */ | 61 | #endif /* not TARGET_API_MAC_CARBON */ |
| 62 | 62 | ||
| 63 | #include "systty.h" | 63 | #include "systty.h" |
| 64 | #include "systime.h" | 64 | #include "systime.h" |
| @@ -245,7 +245,7 @@ extern XrmDatabase x_load_resources P_ ((Display *, char *, char *, char *)); | |||
| 245 | 245 | ||
| 246 | extern int inhibit_window_system; | 246 | extern int inhibit_window_system; |
| 247 | 247 | ||
| 248 | #if __MRC__ | 248 | #if __MRC__ && !TARGET_API_MAC_CARBON |
| 249 | QDGlobals qd; /* QuickDraw global information structure. */ | 249 | QDGlobals qd; /* QuickDraw global information structure. */ |
| 250 | #endif | 250 | #endif |
| 251 | 251 | ||
| @@ -5574,6 +5574,9 @@ x_free_frame_resources (f) | |||
| 5574 | 5574 | ||
| 5575 | BLOCK_INPUT; | 5575 | BLOCK_INPUT; |
| 5576 | 5576 | ||
| 5577 | if (wp != tip_window) | ||
| 5578 | remove_window_handler (wp); | ||
| 5579 | |||
| 5577 | DisposeWindow (wp); | 5580 | DisposeWindow (wp); |
| 5578 | if (wp == tip_window) | 5581 | if (wp == tip_window) |
| 5579 | /* Neither WaitNextEvent nor ReceiveNextEvent receives `window | 5582 | /* Neither WaitNextEvent nor ReceiveNextEvent receives `window |
| @@ -7078,7 +7081,7 @@ x_find_ccl_program (fontp) | |||
| 7078 | 7081 | ||
| 7079 | /* The Mac Event loop code */ | 7082 | /* The Mac Event loop code */ |
| 7080 | 7083 | ||
| 7081 | #ifndef MAC_OSX | 7084 | #if !TARGET_API_MAC_CARBON |
| 7082 | #include <Events.h> | 7085 | #include <Events.h> |
| 7083 | #include <Quickdraw.h> | 7086 | #include <Quickdraw.h> |
| 7084 | #include <Balloons.h> | 7087 | #include <Balloons.h> |
| @@ -7099,7 +7102,7 @@ x_find_ccl_program (fontp) | |||
| 7099 | #if __MWERKS__ | 7102 | #if __MWERKS__ |
| 7100 | #include <unix.h> | 7103 | #include <unix.h> |
| 7101 | #endif | 7104 | #endif |
| 7102 | #endif /* ! MAC_OSX */ | 7105 | #endif /* ! TARGET_API_MAC_CARBON */ |
| 7103 | 7106 | ||
| 7104 | #define M_APPLE 128 | 7107 | #define M_APPLE 128 |
| 7105 | #define I_ABOUT 1 | 7108 | #define I_ABOUT 1 |
| @@ -7200,12 +7203,16 @@ static pascal OSErr do_ae_quit_application (AppleEvent *, AppleEvent *, long); | |||
| 7200 | /* Drag and Drop */ | 7203 | /* Drag and Drop */ |
| 7201 | static pascal OSErr mac_do_track_drag (DragTrackingMessage, WindowPtr, void*, DragReference); | 7204 | static pascal OSErr mac_do_track_drag (DragTrackingMessage, WindowPtr, void*, DragReference); |
| 7202 | static pascal OSErr mac_do_receive_drag (WindowPtr, void*, DragReference); | 7205 | static pascal OSErr mac_do_receive_drag (WindowPtr, void*, DragReference); |
| 7206 | static DragTrackingHandlerUPP mac_do_track_dragUPP = NULL; | ||
| 7207 | static DragReceiveHandlerUPP mac_do_receive_dragUPP = NULL; | ||
| 7203 | #endif | 7208 | #endif |
| 7204 | 7209 | ||
| 7205 | #if USE_CARBON_EVENTS | 7210 | #if USE_CARBON_EVENTS |
| 7211 | #ifdef MAC_OSX | ||
| 7206 | /* Preliminary Support for the OSX Services Menu */ | 7212 | /* Preliminary Support for the OSX Services Menu */ |
| 7207 | static OSStatus mac_handle_service_event (EventHandlerCallRef,EventRef,void*); | 7213 | static OSStatus mac_handle_service_event (EventHandlerCallRef,EventRef,void*); |
| 7208 | static void init_service_handler (); | 7214 | static void init_service_handler (); |
| 7215 | #endif | ||
| 7209 | /* Window Event Handler */ | 7216 | /* Window Event Handler */ |
| 7210 | static pascal OSStatus mac_handle_window_event (EventHandlerCallRef, | 7217 | static pascal OSStatus mac_handle_window_event (EventHandlerCallRef, |
| 7211 | EventRef, void *); | 7218 | EventRef, void *); |
| @@ -7844,7 +7851,7 @@ init_required_apple_events () | |||
| 7844 | } | 7851 | } |
| 7845 | 7852 | ||
| 7846 | #if USE_CARBON_EVENTS | 7853 | #if USE_CARBON_EVENTS |
| 7847 | 7854 | #ifdef MAC_OSX | |
| 7848 | void | 7855 | void |
| 7849 | init_service_handler () | 7856 | init_service_handler () |
| 7850 | { | 7857 | { |
| @@ -7940,7 +7947,7 @@ mac_handle_service_event (EventHandlerCallRef callRef, | |||
| 7940 | } | 7947 | } |
| 7941 | return err; | 7948 | return err; |
| 7942 | } | 7949 | } |
| 7943 | 7950 | #endif | |
| 7944 | 7951 | ||
| 7945 | static pascal OSStatus | 7952 | static pascal OSStatus |
| 7946 | mac_handle_window_event (next_handler, event, data) | 7953 | mac_handle_window_event (next_handler, event, data) |
| @@ -8037,14 +8044,30 @@ install_window_handler (window) | |||
| 8037 | NULL, NULL); | 8044 | NULL, NULL); |
| 8038 | #endif | 8045 | #endif |
| 8039 | #if TARGET_API_MAC_CARBON | 8046 | #if TARGET_API_MAC_CARBON |
| 8047 | if (mac_do_track_dragUPP == NULL) | ||
| 8048 | mac_do_track_dragUPP = NewDragTrackingHandlerUPP (mac_do_track_drag); | ||
| 8049 | if (mac_do_receive_dragUPP == NULL) | ||
| 8050 | mac_do_receive_dragUPP = NewDragReceiveHandlerUPP (mac_do_receive_drag); | ||
| 8051 | |||
| 8040 | if (err == noErr) | 8052 | if (err == noErr) |
| 8041 | err = InstallTrackingHandler (mac_do_track_drag, window, NULL); | 8053 | err = InstallTrackingHandler (mac_do_track_dragUPP, window, NULL); |
| 8042 | if (err == noErr) | 8054 | if (err == noErr) |
| 8043 | err = InstallReceiveHandler (mac_do_receive_drag, window, NULL); | 8055 | err = InstallReceiveHandler (mac_do_receive_dragUPP, window, NULL); |
| 8044 | #endif | 8056 | #endif |
| 8045 | return err; | 8057 | return err; |
| 8046 | } | 8058 | } |
| 8047 | 8059 | ||
| 8060 | void | ||
| 8061 | remove_window_handler (window) | ||
| 8062 | WindowPtr window; | ||
| 8063 | { | ||
| 8064 | #if TARGET_API_MAC_CARBON | ||
| 8065 | if (mac_do_track_dragUPP) | ||
| 8066 | RemoveTrackingHandler (mac_do_track_dragUPP, window); | ||
| 8067 | if (mac_do_receive_dragUPP) | ||
| 8068 | RemoveReceiveHandler (mac_do_receive_dragUPP, window); | ||
| 8069 | #endif | ||
| 8070 | } | ||
| 8048 | 8071 | ||
| 8049 | /* Open Application Apple Event */ | 8072 | /* Open Application Apple Event */ |
| 8050 | static pascal OSErr | 8073 | static pascal OSErr |
| @@ -8123,9 +8146,9 @@ do_ae_open_documents(AppleEvent *message, AppleEvent *reply, long refcon) | |||
| 8123 | /* AE file list is one based so just use that for indexing here. */ | 8146 | /* AE file list is one based so just use that for indexing here. */ |
| 8124 | for (i = 1; i <= num_files_to_open; i++) | 8147 | for (i = 1; i <= num_files_to_open; i++) |
| 8125 | { | 8148 | { |
| 8149 | char unix_path_name[MAXPATHLEN]; | ||
| 8126 | #ifdef MAC_OSX | 8150 | #ifdef MAC_OSX |
| 8127 | FSRef fref; | 8151 | FSRef fref; |
| 8128 | char unix_path_name[MAXPATHLEN]; | ||
| 8129 | 8152 | ||
| 8130 | err = AEGetNthPtr (&the_desc, i, typeFSRef, &keyword, | 8153 | err = AEGetNthPtr (&the_desc, i, typeFSRef, &keyword, |
| 8131 | &actual_type, &fref, sizeof (FSRef), | 8154 | &actual_type, &fref, sizeof (FSRef), |
| @@ -8137,15 +8160,13 @@ do_ae_open_documents(AppleEvent *message, AppleEvent *reply, long refcon) | |||
| 8137 | == noErr) | 8160 | == noErr) |
| 8138 | #else | 8161 | #else |
| 8139 | FSSpec fs; | 8162 | FSSpec fs; |
| 8140 | Str255 path_name, unix_path_name; | ||
| 8141 | 8163 | ||
| 8142 | err = AEGetNthPtr(&the_desc, i, typeFSS, &keyword, &actual_type, | 8164 | err = AEGetNthPtr(&the_desc, i, typeFSS, &keyword, &actual_type, |
| 8143 | (Ptr) &fs, sizeof (fs), &actual_size); | 8165 | (Ptr) &fs, sizeof (fs), &actual_size); |
| 8144 | if (err != noErr) continue; | 8166 | if (err != noErr) continue; |
| 8145 | 8167 | ||
| 8146 | if (path_from_vol_dir_name (path_name, 255, fs.vRefNum, fs.parID, | 8168 | if (fsspec_to_posix_pathname (&fs, unix_path_name, |
| 8147 | fs.name) && | 8169 | sizeof (unix_path_name) - 1) == noErr) |
| 8148 | mac_to_posix_pathname (path_name, unix_path_name, 255)) | ||
| 8149 | #endif | 8170 | #endif |
| 8150 | /* x-dnd functions expect undecoded filenames. */ | 8171 | /* x-dnd functions expect undecoded filenames. */ |
| 8151 | drag_and_drop_file_list = | 8172 | drag_and_drop_file_list = |
| @@ -8264,10 +8285,9 @@ mac_do_receive_drag (WindowPtr window, void *handlerRefCon, | |||
| 8264 | { | 8285 | { |
| 8265 | #ifdef MAC_OSX | 8286 | #ifdef MAC_OSX |
| 8266 | FSRef fref; | 8287 | FSRef fref; |
| 8267 | char unix_path_name[MAXPATHLEN]; | ||
| 8268 | #else | ||
| 8269 | Str255 path_name, unix_path_name; | ||
| 8270 | #endif | 8288 | #endif |
| 8289 | char unix_path_name[MAXPATHLEN]; | ||
| 8290 | |||
| 8271 | GetFlavorData (theDrag, theItem, flavorTypeHFS, &data, &size, 0L); | 8291 | GetFlavorData (theDrag, theItem, flavorTypeHFS, &data, &size, 0L); |
| 8272 | #ifdef MAC_OSX | 8292 | #ifdef MAC_OSX |
| 8273 | /* Use Carbon routines, otherwise it converts the file name | 8293 | /* Use Carbon routines, otherwise it converts the file name |
| @@ -8275,9 +8295,8 @@ mac_do_receive_drag (WindowPtr window, void *handlerRefCon, | |||
| 8275 | FSpMakeFSRef (&data.fileSpec, &fref); | 8295 | FSpMakeFSRef (&data.fileSpec, &fref); |
| 8276 | if (! FSRefMakePath (&fref, unix_path_name, sizeof (unix_path_name))); | 8296 | if (! FSRefMakePath (&fref, unix_path_name, sizeof (unix_path_name))); |
| 8277 | #else | 8297 | #else |
| 8278 | if (path_from_vol_dir_name (path_name, 255, data.fileSpec.vRefNum, | 8298 | if (fsspec_to_posix_pathname (&data.fileSpec, unix_path_name, |
| 8279 | data.fileSpec.parID, data.fileSpec.name) && | 8299 | sizeof (unix_path_name) - 1) == noErr) |
| 8280 | mac_to_posix_pathname (path_name, unix_path_name, 255)) | ||
| 8281 | #endif | 8300 | #endif |
| 8282 | /* x-dnd functions expect undecoded filenames. */ | 8301 | /* x-dnd functions expect undecoded filenames. */ |
| 8283 | drag_and_drop_file_list = | 8302 | drag_and_drop_file_list = |
| @@ -8374,7 +8393,7 @@ profiler_exit_proc () | |||
| 8374 | hints and prompts in the minibuffer after the user stops typing for | 8393 | hints and prompts in the minibuffer after the user stops typing for |
| 8375 | a wait, etc. */ | 8394 | a wait, etc. */ |
| 8376 | 8395 | ||
| 8377 | #if !TARGET_API_MAC_CARBON | 8396 | #ifdef MAC_OS8 |
| 8378 | #undef main | 8397 | #undef main |
| 8379 | int | 8398 | int |
| 8380 | main (void) | 8399 | main (void) |
| @@ -8956,7 +8975,7 @@ XTread_socket (sd, expected, hold_quit) | |||
| 8956 | int keycode = (er.message & keyCodeMask) >> 8; | 8975 | int keycode = (er.message & keyCodeMask) >> 8; |
| 8957 | int xkeysym; | 8976 | int xkeysym; |
| 8958 | 8977 | ||
| 8959 | #if USE_CARBON_EVENTS | 8978 | #if USE_CARBON_EVENTS && defined (MAC_OSX) |
| 8960 | /* When using Carbon Events, we need to pass raw keyboard | 8979 | /* When using Carbon Events, we need to pass raw keyboard |
| 8961 | events to the TSM ourselves. If TSM handles it, it | 8980 | events to the TSM ourselves. If TSM handles it, it |
| 8962 | will pass back noErr, otherwise it will pass back | 8981 | will pass back noErr, otherwise it will pass back |
| @@ -9265,12 +9284,21 @@ make_mac_terminal_frame (struct frame *f) | |||
| 9265 | f->output_data.mac->mouse_pixel = 0xff00ff; | 9284 | f->output_data.mac->mouse_pixel = 0xff00ff; |
| 9266 | f->output_data.mac->cursor_foreground_pixel = 0x0000ff; | 9285 | f->output_data.mac->cursor_foreground_pixel = 0x0000ff; |
| 9267 | 9286 | ||
| 9287 | #if TARGET_API_MAC_CARBON | ||
| 9288 | f->output_data.mac->text_cursor = kThemeIBeamCursor; | ||
| 9289 | f->output_data.mac->nontext_cursor = kThemeArrowCursor; | ||
| 9290 | f->output_data.mac->modeline_cursor = kThemeArrowCursor; | ||
| 9291 | f->output_data.mac->hand_cursor = kThemePointingHandCursor; | ||
| 9292 | f->output_data.mac->hourglass_cursor = kThemeWatchCursor; | ||
| 9293 | f->output_data.mac->horizontal_drag_cursor = kThemeResizeLeftRightCursor; | ||
| 9294 | #else | ||
| 9268 | f->output_data.mac->text_cursor = GetCursor (iBeamCursor); | 9295 | f->output_data.mac->text_cursor = GetCursor (iBeamCursor); |
| 9269 | f->output_data.mac->nontext_cursor = &arrow_cursor; | 9296 | f->output_data.mac->nontext_cursor = &arrow_cursor; |
| 9270 | f->output_data.mac->modeline_cursor = &arrow_cursor; | 9297 | f->output_data.mac->modeline_cursor = &arrow_cursor; |
| 9271 | f->output_data.mac->hand_cursor = &arrow_cursor; | 9298 | f->output_data.mac->hand_cursor = &arrow_cursor; |
| 9272 | f->output_data.mac->hourglass_cursor = GetCursor (watchCursor); | 9299 | f->output_data.mac->hourglass_cursor = GetCursor (watchCursor); |
| 9273 | f->output_data.mac->horizontal_drag_cursor = &arrow_cursor; | 9300 | f->output_data.mac->horizontal_drag_cursor = &arrow_cursor; |
| 9301 | #endif | ||
| 9274 | 9302 | ||
| 9275 | FRAME_FONTSET (f) = -1; | 9303 | FRAME_FONTSET (f) = -1; |
| 9276 | f->output_data.mac->explicit_parent = 0; | 9304 | f->output_data.mac->explicit_parent = 0; |
| @@ -9806,7 +9834,7 @@ mac_initialize () | |||
| 9806 | #if TARGET_API_MAC_CARBON | 9834 | #if TARGET_API_MAC_CARBON |
| 9807 | init_required_apple_events (); | 9835 | init_required_apple_events (); |
| 9808 | 9836 | ||
| 9809 | #if USE_CARBON_EVENTS | 9837 | #if USE_CARBON_EVENTS && defined (MAC_OSX) |
| 9810 | init_service_handler (); | 9838 | init_service_handler (); |
| 9811 | 9839 | ||
| 9812 | init_quit_char_handler (); | 9840 | init_quit_char_handler (); |
| @@ -9814,9 +9842,11 @@ mac_initialize () | |||
| 9814 | 9842 | ||
| 9815 | DisableMenuCommand (NULL, kHICommandQuit); | 9843 | DisableMenuCommand (NULL, kHICommandQuit); |
| 9816 | 9844 | ||
| 9845 | #ifdef MAC_OSX | ||
| 9817 | if (!inhibit_window_system) | 9846 | if (!inhibit_window_system) |
| 9818 | MakeMeTheFrontProcess (); | 9847 | MakeMeTheFrontProcess (); |
| 9819 | #endif | 9848 | #endif |
| 9849 | #endif | ||
| 9820 | UNBLOCK_INPUT; | 9850 | UNBLOCK_INPUT; |
| 9821 | } | 9851 | } |
| 9822 | 9852 | ||
diff --git a/src/macterm.h b/src/macterm.h index c1aa61e962b..42d79eb3577 100644 --- a/src/macterm.h +++ b/src/macterm.h | |||
| @@ -604,10 +604,17 @@ extern void XSetWindowBackground P_ ((Display *, WindowPtr, unsigned long)); | |||
| 604 | extern void mac_draw_line_to_pixmap P_ ((Display *, Pixmap, GC, int, int, | 604 | extern void mac_draw_line_to_pixmap P_ ((Display *, Pixmap, GC, int, int, |
| 605 | int, int)); | 605 | int, int)); |
| 606 | extern void mac_unload_font P_ ((struct mac_display_info *, XFontStruct *)); | 606 | extern void mac_unload_font P_ ((struct mac_display_info *, XFontStruct *)); |
| 607 | extern OSErr install_window_handler P_ ((WindowPtr)); | ||
| 608 | extern void remove_window_handler P_ ((WindowPtr)); | ||
| 607 | 609 | ||
| 608 | #define FONT_TYPE_FOR_UNIBYTE(font, ch) 0 | 610 | #define FONT_TYPE_FOR_UNIBYTE(font, ch) 0 |
| 609 | #define FONT_TYPE_FOR_MULTIBYTE(font, ch) 0 | 611 | #define FONT_TYPE_FOR_MULTIBYTE(font, ch) 0 |
| 610 | 612 | ||
| 613 | /* Defined in mac.c. */ | ||
| 614 | |||
| 615 | extern OSErr posix_pathname_to_fsspec P_ ((const char *, FSSpec *)); | ||
| 616 | extern OSErr fsspec_to_posix_pathname P_ ((const FSSpec *, char *, int)); | ||
| 617 | extern void mac_clear_font_name_table P_ ((void)); | ||
| 611 | #if TARGET_API_MAC_CARBON | 618 | #if TARGET_API_MAC_CARBON |
| 612 | extern CFStringRef cfstring_create_with_utf8_cstring P_ ((const char *)); | 619 | extern CFStringRef cfstring_create_with_utf8_cstring P_ ((const char *)); |
| 613 | #endif | 620 | #endif |
diff --git a/src/s/vms.h b/src/s/vms.h index dc7877eaa67..1338cdb5718 100644 --- a/src/s/vms.h +++ b/src/s/vms.h | |||
| @@ -109,6 +109,11 @@ Boston, MA 02111-1307, USA. */ | |||
| 109 | your system and must be used only through an encapsulation | 109 | your system and must be used only through an encapsulation |
| 110 | (Which you should place, by convention, in sysdep.c). */ | 110 | (Which you should place, by convention, in sysdep.c). */ |
| 111 | 111 | ||
| 112 | /* In olden days, VMS filenames did not support hyphen (i.e., the "-" | ||
| 113 | character). You can #undef this in vmsX-Y.h for newer versions. */ | ||
| 114 | |||
| 115 | #define NO_HYPHENS_IN_FILENAMES | ||
| 116 | |||
| 112 | /* Do you have the sharable library bug? If you link with a sharable | 117 | /* Do you have the sharable library bug? If you link with a sharable |
| 113 | library that contains psects with the NOSHR attribute and also refer to | 118 | library that contains psects with the NOSHR attribute and also refer to |
| 114 | those psects in your program, the linker give you a private version of | 119 | those psects in your program, the linker give you a private version of |
| @@ -135,6 +140,10 @@ Boston, MA 02111-1307, USA. */ | |||
| 135 | 140 | ||
| 136 | /* #define READ_SYSUAF */ | 141 | /* #define READ_SYSUAF */ |
| 137 | 142 | ||
| 143 | /* Traditionally, filenames on VMS are always upper case. */ | ||
| 144 | |||
| 145 | #define FILE_SYSTEM_CASE Fupcase | ||
| 146 | |||
| 138 | /* On VMS these have a different name */ | 147 | /* On VMS these have a different name */ |
| 139 | 148 | ||
| 140 | #define index strchr | 149 | #define index strchr |
diff --git a/src/s/vms4-4.h b/src/s/vms4-4.h index 0abd8259143..7491f5c8f80 100644 --- a/src/s/vms4-4.h +++ b/src/s/vms4-4.h | |||
| @@ -1,5 +1,7 @@ | |||
| 1 | #include "vms.h" | 1 | #include "vms.h" |
| 2 | #define VMS4_4 | 2 | #define VMS4_4 |
| 3 | 3 | ||
| 4 | #undef NO_HYPHENS_IN_FILENAMES | ||
| 5 | |||
| 4 | /* arch-tag: 2e65c7ad-0d17-45a0-b4cb-3e76c72ea9d5 | 6 | /* arch-tag: 2e65c7ad-0d17-45a0-b4cb-3e76c72ea9d5 |
| 5 | (do not change this comment) */ | 7 | (do not change this comment) */ |
diff --git a/src/s/vms5-5.h b/src/s/vms5-5.h index ac0ba9461a2..83b08b42813 100644 --- a/src/s/vms5-5.h +++ b/src/s/vms5-5.h | |||
| @@ -2,6 +2,8 @@ | |||
| 2 | #define VMS5_5 | 2 | #define VMS5_5 |
| 3 | #define VMS4_4 | 3 | #define VMS4_4 |
| 4 | 4 | ||
| 5 | #undef NO_HYPHENS_IN_FILENAMES | ||
| 6 | |||
| 5 | /* The bug that SHARABLE_LIB_BUG fixes is gone in version 5.5 of VMS. | 7 | /* The bug that SHARABLE_LIB_BUG fixes is gone in version 5.5 of VMS. |
| 6 | And defining it causes lossage because sys_errlist has a different | 8 | And defining it causes lossage because sys_errlist has a different |
| 7 | number of elements. */ | 9 | number of elements. */ |
diff --git a/src/xdisp.c b/src/xdisp.c index 5e17a7e3ca5..2b69e885954 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -5083,11 +5083,12 @@ get_next_display_element (it) | |||
| 5083 | display. Then, set IT->dpvec to these glyphs. */ | 5083 | display. Then, set IT->dpvec to these glyphs. */ |
| 5084 | GLYPH g; | 5084 | GLYPH g; |
| 5085 | int ctl_len; | 5085 | int ctl_len; |
| 5086 | int face_id, lface_id; | 5086 | int face_id, lface_id = 0 ; |
| 5087 | GLYPH escape_glyph; | 5087 | GLYPH escape_glyph; |
| 5088 | 5088 | ||
| 5089 | if (it->c < 128 && it->ctl_arrow_p) | 5089 | if (it->c < 128 && it->ctl_arrow_p) |
| 5090 | { | 5090 | { |
| 5091 | g = '^'; /* default glyph for Control */ | ||
| 5091 | /* Set IT->ctl_chars[0] to the glyph for `^'. */ | 5092 | /* Set IT->ctl_chars[0] to the glyph for `^'. */ |
| 5092 | if (it->dp | 5093 | if (it->dp |
| 5093 | && INTEGERP (DISP_CTRL_GLYPH (it->dp)) | 5094 | && INTEGERP (DISP_CTRL_GLYPH (it->dp)) |
| @@ -5095,19 +5096,18 @@ get_next_display_element (it) | |||
| 5095 | { | 5096 | { |
| 5096 | g = XINT (DISP_CTRL_GLYPH (it->dp)); | 5097 | g = XINT (DISP_CTRL_GLYPH (it->dp)); |
| 5097 | lface_id = FAST_GLYPH_FACE (g); | 5098 | lface_id = FAST_GLYPH_FACE (g); |
| 5098 | if (lface_id) | 5099 | } |
| 5099 | { | 5100 | if (lface_id) |
| 5100 | g = FAST_GLYPH_CHAR (g); | 5101 | { |
| 5101 | face_id = merge_faces (it->f, Qt, lface_id, | 5102 | g = FAST_GLYPH_CHAR (g); |
| 5102 | it->face_id); | 5103 | face_id = merge_faces (it->f, Qt, lface_id, |
| 5103 | } | 5104 | it->face_id); |
| 5104 | } | 5105 | } |
| 5105 | else | 5106 | else |
| 5106 | { | 5107 | { |
| 5107 | /* Merge the escape-glyph face into the current face. */ | 5108 | /* Merge the escape-glyph face into the current face. */ |
| 5108 | face_id = merge_faces (it->f, Qescape_glyph, 0, | 5109 | face_id = merge_faces (it->f, Qescape_glyph, 0, |
| 5109 | it->face_id); | 5110 | it->face_id); |
| 5110 | g = '^'; | ||
| 5111 | } | 5111 | } |
| 5112 | 5112 | ||
| 5113 | XSETINT (it->ctl_chars[0], g); | 5113 | XSETINT (it->ctl_chars[0], g); |
| @@ -5117,25 +5117,25 @@ get_next_display_element (it) | |||
| 5117 | goto display_control; | 5117 | goto display_control; |
| 5118 | } | 5118 | } |
| 5119 | 5119 | ||
| 5120 | escape_glyph = '\\'; /* default for Octal display */ | ||
| 5120 | if (it->dp | 5121 | if (it->dp |
| 5121 | && INTEGERP (DISP_ESCAPE_GLYPH (it->dp)) | 5122 | && INTEGERP (DISP_ESCAPE_GLYPH (it->dp)) |
| 5122 | && GLYPH_CHAR_VALID_P (XFASTINT (DISP_ESCAPE_GLYPH (it->dp)))) | 5123 | && GLYPH_CHAR_VALID_P (XFASTINT (DISP_ESCAPE_GLYPH (it->dp)))) |
| 5123 | { | 5124 | { |
| 5124 | escape_glyph = XFASTINT (DISP_ESCAPE_GLYPH (it->dp)); | 5125 | escape_glyph = XFASTINT (DISP_ESCAPE_GLYPH (it->dp)); |
| 5125 | lface_id = FAST_GLYPH_FACE (escape_glyph); | 5126 | lface_id = FAST_GLYPH_FACE (escape_glyph); |
| 5126 | if (lface_id) | 5127 | } |
| 5127 | { | 5128 | if (lface_id) |
| 5128 | escape_glyph = FAST_GLYPH_CHAR (escape_glyph); | 5129 | { |
| 5129 | face_id = merge_faces (it->f, Qt, lface_id, | 5130 | escape_glyph = FAST_GLYPH_CHAR (escape_glyph); |
| 5130 | it->face_id); | 5131 | face_id = merge_faces (it->f, Qt, lface_id, |
| 5131 | } | 5132 | it->face_id); |
| 5132 | } | 5133 | } |
| 5133 | else | 5134 | else |
| 5134 | { | 5135 | { |
| 5135 | /* Merge the escape-glyph face into the current face. */ | 5136 | /* Merge the escape-glyph face into the current face. */ |
| 5136 | face_id = merge_faces (it->f, Qescape_glyph, 0, | 5137 | face_id = merge_faces (it->f, Qescape_glyph, 0, |
| 5137 | it->face_id); | 5138 | it->face_id); |
| 5138 | escape_glyph = '\\'; | ||
| 5139 | } | 5139 | } |
| 5140 | 5140 | ||
| 5141 | if (it->c == 0x8a0 || it->c == 0x8ad) | 5141 | if (it->c == 0x8a0 || it->c == 0x8ad) |
| @@ -12284,7 +12284,11 @@ redisplay_window (window, just_this_one_p) | |||
| 12284 | { | 12284 | { |
| 12285 | init_iterator (&it, w, PT, PT_BYTE, NULL, DEFAULT_FACE_ID); | 12285 | init_iterator (&it, w, PT, PT_BYTE, NULL, DEFAULT_FACE_ID); |
| 12286 | move_it_vertically_backward (&it, 0); | 12286 | move_it_vertically_backward (&it, 0); |
| 12287 | #if 0 | ||
| 12288 | /* I think this assert is bogus if buffer contains | ||
| 12289 | invisible text or images. KFS. */ | ||
| 12287 | xassert (IT_CHARPOS (it) <= PT); | 12290 | xassert (IT_CHARPOS (it) <= PT); |
| 12291 | #endif | ||
| 12288 | it.current_y = 0; | 12292 | it.current_y = 0; |
| 12289 | } | 12293 | } |
| 12290 | 12294 | ||