diff options
| author | Miles Bader | 2005-09-25 22:07:01 +0000 |
|---|---|---|
| committer | Miles Bader | 2005-09-25 22:07:01 +0000 |
| commit | 7b9dc9afcc06c9d5c3e3f75f3bb420d57cd1de12 (patch) | |
| tree | 27ba66e7b5ca9a56ca0c0a76169249ee48337e6c /src | |
| parent | 2f022b888f8e37778c13736539bd4434cc882eb2 (diff) | |
| parent | 5fae1caef32374fffc256f7f92952398d226fff2 (diff) | |
| download | emacs-7b9dc9afcc06c9d5c3e3f75f3bb420d57cd1de12.tar.gz emacs-7b9dc9afcc06c9d5c3e3f75f3bb420d57cd1de12.zip | |
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-85
Merge from emacs--cvs-trunk--0
Patches applied:
* emacs--cvs-trunk--0 (patch 556-561)
- Update from CVS
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 122-124)
- Update from CVS: lisp/mm-url.el (mm-url-decode-entities): Fix regexp.
- Update from CVS
Diffstat (limited to 'src')
| -rw-r--r-- | src/.gitignore | 1 | ||||
| -rw-r--r-- | src/ChangeLog | 39 | ||||
| -rw-r--r-- | src/editfns.c | 4 | ||||
| -rw-r--r-- | src/gtkutil.c | 3 | ||||
| -rw-r--r-- | src/m/ibmrs6000.h | 2 | ||||
| -rw-r--r-- | src/macterm.c | 47 | ||||
| -rw-r--r-- | src/process.c | 8 | ||||
| -rw-r--r-- | src/s/aix4-2.h | 18 | ||||
| -rw-r--r-- | src/sysdep.c | 2 | ||||
| -rw-r--r-- | src/xdisp.c | 16 |
10 files changed, 108 insertions, 32 deletions
diff --git a/src/.gitignore b/src/.gitignore index 48c78a4f3a6..8dbbc9f86b6 100644 --- a/src/.gitignore +++ b/src/.gitignore | |||
| @@ -3,6 +3,7 @@ | |||
| 3 | *.pdb | 3 | *.pdb |
| 4 | .gdb_history | 4 | .gdb_history |
| 5 | Makefile | 5 | Makefile |
| 6 | makefile | ||
| 6 | Makefile.c | 7 | Makefile.c |
| 7 | TAGS-LISP | 8 | TAGS-LISP |
| 8 | _gdbinit | 9 | _gdbinit |
diff --git a/src/ChangeLog b/src/ChangeLog index c827ba7c53a..4012f446f99 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,42 @@ | |||
| 1 | 2005-09-23 Richard M. Stallman <rms@gnu.org> | ||
| 2 | |||
| 3 | * editfns.c (Fformat): Explicitly test for end of format string | ||
| 4 | and don't use `index'. | ||
| 5 | |||
| 6 | 2005-09-23 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 7 | |||
| 8 | * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define | ||
| 9 | BROKEN_GET_CURRENT_DIR_NAME. | ||
| 10 | |||
| 11 | * sysdep.c (get_current_dir_name): Also define if | ||
| 12 | BROKEN_GET_CURRENT_DIR_NAME. | ||
| 13 | |||
| 14 | * m/ibmrs6000.h: Test for USG5, not USG5_4. | ||
| 15 | |||
| 16 | 2005-09-22 Kim F. Storm <storm@cua.dk> | ||
| 17 | |||
| 18 | * xdisp.c (message_dolog): Add warning about GC and Lisp strings. | ||
| 19 | (message2): Fix commentary. Ok to use alloca'ed memory. | ||
| 20 | Still not ok to use Lisp string data (because of GC). | ||
| 21 | (set_message): Add comment why GC cannot happen. | ||
| 22 | |||
| 23 | 2005-09-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 24 | |||
| 25 | * macterm.c (xlfdpat_block_match_1): Fix assertion. | ||
| 26 | (init_font_name_table) [TARGET_API_MAC_CARBON]: Don't add style | ||
| 27 | variants for a scalable font multiple times. | ||
| 28 | |||
| 29 | 2005-09-21 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 30 | |||
| 31 | * process.c (create_process) [RTU || UNIPLUS || DONT_REOPEN_PTY]: | ||
| 32 | Setup slave tty options before forking. | ||
| 33 | |||
| 34 | 2005-09-20 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 35 | |||
| 36 | * gtkutil.c (xg_set_geometry): Do a gtk_window_move if program | ||
| 37 | positions have been set for the frame (as is done for frames in | ||
| 38 | special-display-buffer-names). | ||
| 39 | |||
| 1 | 2005-09-19 Kim F. Storm <storm@cua.dk> | 40 | 2005-09-19 Kim F. Storm <storm@cua.dk> |
| 2 | 41 | ||
| 3 | * editfns.c (Fformat): Don't scan past end of format string that | 42 | * editfns.c (Fformat): Don't scan past end of format string that |
diff --git a/src/editfns.c b/src/editfns.c index 3f33285bcfc..98828352375 100644 --- a/src/editfns.c +++ b/src/editfns.c | |||
| @@ -3556,7 +3556,9 @@ usage: (format STRING &rest OBJECTS) */) | |||
| 3556 | digits to print after the '.' for floats, or the max. | 3556 | digits to print after the '.' for floats, or the max. |
| 3557 | number of chars to print from a string. */ | 3557 | number of chars to print from a string. */ |
| 3558 | 3558 | ||
| 3559 | while (*format && index ("-0# ", *format)) | 3559 | while (format != end |
| 3560 | && (*format == '-' || *format == '0' || *format == '#' | ||
| 3561 | || * format == ' ')) | ||
| 3560 | ++format; | 3562 | ++format; |
| 3561 | 3563 | ||
| 3562 | if (*format >= '0' && *format <= '9') | 3564 | if (*format >= '0' && *format <= '9') |
diff --git a/src/gtkutil.c b/src/gtkutil.c index 3b590e0faed..84ce64beb56 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c | |||
| @@ -554,6 +554,9 @@ xg_set_geometry (f) | |||
| 554 | if (!gtk_window_parse_geometry (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)), | 554 | if (!gtk_window_parse_geometry (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)), |
| 555 | geom_str)) | 555 | geom_str)) |
| 556 | fprintf (stderr, "Failed to parse: '%s'\n", geom_str); | 556 | fprintf (stderr, "Failed to parse: '%s'\n", geom_str); |
| 557 | } else if (f->size_hint_flags & PPosition) { | ||
| 558 | gtk_window_move (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)), | ||
| 559 | f->left_pos, f->top_pos); | ||
| 557 | } | 560 | } |
| 558 | } | 561 | } |
| 559 | 562 | ||
diff --git a/src/m/ibmrs6000.h b/src/m/ibmrs6000.h index 9559f1ae62a..0ff702d090d 100644 --- a/src/m/ibmrs6000.h +++ b/src/m/ibmrs6000.h | |||
| @@ -112,7 +112,7 @@ Boston, MA 02110-1301, USA. */ | |||
| 112 | #define OBJECTS_MACHINE hftctl.o | 112 | #define OBJECTS_MACHINE hftctl.o |
| 113 | #endif | 113 | #endif |
| 114 | 114 | ||
| 115 | #ifndef USG5_4 | 115 | #ifndef USG5 |
| 116 | #define C_SWITCH_MACHINE -D_BSD | 116 | #define C_SWITCH_MACHINE -D_BSD |
| 117 | #endif | 117 | #endif |
| 118 | 118 | ||
diff --git a/src/macterm.c b/src/macterm.c index d9b533a9b8c..90d6a886db6 100644 --- a/src/macterm.c +++ b/src/macterm.c | |||
| @@ -6293,7 +6293,7 @@ static INLINE int | |||
| 6293 | xlfdpat_exact_p (pat) | 6293 | xlfdpat_exact_p (pat) |
| 6294 | struct xlfdpat *pat; | 6294 | struct xlfdpat *pat; |
| 6295 | { | 6295 | { |
| 6296 | return (pat)->blocks == NULL; | 6296 | return pat->blocks == NULL; |
| 6297 | } | 6297 | } |
| 6298 | 6298 | ||
| 6299 | /* Return the first string in STRING + 0, ..., STRING + START_MAX such | 6299 | /* Return the first string in STRING + 0, ..., STRING + START_MAX such |
| @@ -6311,7 +6311,7 @@ xlfdpat_block_match_1 (blk, string, start_max) | |||
| 6311 | 6311 | ||
| 6312 | xassert (blk->len > 0); | 6312 | xassert (blk->len > 0); |
| 6313 | xassert (start_max + blk->len <= strlen (string)); | 6313 | xassert (start_max + blk->len <= strlen (string)); |
| 6314 | xassert (blk->pattern[blk->len - 1] != '?'); | 6314 | xassert (blk->last_char != '?'); |
| 6315 | 6315 | ||
| 6316 | /* See the comments in the function `boyer_moore' (search.c) for the | 6316 | /* See the comments in the function `boyer_moore' (search.c) for the |
| 6317 | use of `infinity'. */ | 6317 | use of `infinity'. */ |
| @@ -6706,28 +6706,29 @@ init_font_name_table () | |||
| 6706 | { | 6706 | { |
| 6707 | Lisp_Object rest = XCDR (XCDR (text_encoding_info)); | 6707 | Lisp_Object rest = XCDR (XCDR (text_encoding_info)); |
| 6708 | 6708 | ||
| 6709 | for (; !NILP (rest); rest = XCDR (rest)) | 6709 | if (size > 0 || style == normal) |
| 6710 | { | 6710 | for (; !NILP (rest); rest = XCDR (rest)) |
| 6711 | char *cs = SDATA (XCAR (rest)); | 6711 | { |
| 6712 | char *cs = SDATA (XCAR (rest)); | ||
| 6712 | 6713 | ||
| 6713 | if (size == 0) | 6714 | if (size == 0) |
| 6714 | { | 6715 | { |
| 6715 | add_font_name_table_entry (mac_to_x_fontname (name, size, | 6716 | add_font_name_table_entry (mac_to_x_fontname (name, size, |
| 6716 | style, cs)); | 6717 | style, cs)); |
| 6717 | add_font_name_table_entry (mac_to_x_fontname (name, size, | 6718 | add_font_name_table_entry (mac_to_x_fontname (name, size, |
| 6718 | italic, cs)); | 6719 | italic, cs)); |
| 6719 | add_font_name_table_entry (mac_to_x_fontname (name, size, | 6720 | add_font_name_table_entry (mac_to_x_fontname (name, size, |
| 6720 | bold, cs)); | 6721 | bold, cs)); |
| 6721 | add_font_name_table_entry (mac_to_x_fontname (name, size, | 6722 | add_font_name_table_entry (mac_to_x_fontname (name, size, |
| 6722 | italic | bold, | 6723 | italic | bold, |
| 6723 | cs)); | 6724 | cs)); |
| 6724 | } | 6725 | } |
| 6725 | else | 6726 | else |
| 6726 | { | 6727 | { |
| 6727 | add_font_name_table_entry (mac_to_x_fontname (name, size, | 6728 | add_font_name_table_entry (mac_to_x_fontname (name, size, |
| 6728 | style, cs)); | 6729 | style, cs)); |
| 6729 | } | 6730 | } |
| 6730 | } | 6731 | } |
| 6731 | } | 6732 | } |
| 6732 | } | 6733 | } |
| 6733 | 6734 | ||
diff --git a/src/process.c b/src/process.c index a7ef9c36589..5bab9684a7a 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -1794,6 +1794,12 @@ create_process (process, new_argv, current_dir) | |||
| 1794 | #endif | 1794 | #endif |
| 1795 | if (forkin < 0) | 1795 | if (forkin < 0) |
| 1796 | report_file_error ("Opening pty", Qnil); | 1796 | report_file_error ("Opening pty", Qnil); |
| 1797 | #if defined (RTU) || defined (UNIPLUS) || defined (DONT_REOPEN_PTY) | ||
| 1798 | /* In the case that vfork is defined as fork, the parent process | ||
| 1799 | (Emacs) may send some data before the child process completes | ||
| 1800 | tty options setup. So we setup tty before forking. */ | ||
| 1801 | child_setup_tty (forkout); | ||
| 1802 | #endif /* RTU or UNIPLUS or DONT_REOPEN_PTY */ | ||
| 1797 | #else | 1803 | #else |
| 1798 | forkin = forkout = -1; | 1804 | forkin = forkout = -1; |
| 1799 | #endif /* not USG, or USG_SUBTTY_WORKS */ | 1805 | #endif /* not USG, or USG_SUBTTY_WORKS */ |
| @@ -2078,8 +2084,10 @@ create_process (process, new_argv, current_dir) | |||
| 2078 | #endif /* SIGCHLD */ | 2084 | #endif /* SIGCHLD */ |
| 2079 | #endif /* !POSIX_SIGNALS */ | 2085 | #endif /* !POSIX_SIGNALS */ |
| 2080 | 2086 | ||
| 2087 | #if !defined (RTU) && !defined (UNIPLUS) && !defined (DONT_REOPEN_PTY) | ||
| 2081 | if (pty_flag) | 2088 | if (pty_flag) |
| 2082 | child_setup_tty (xforkout); | 2089 | child_setup_tty (xforkout); |
| 2090 | #endif /* not RTU and not UNIPLUS and not DONT_REOPEN_PTY */ | ||
| 2083 | #ifdef WINDOWSNT | 2091 | #ifdef WINDOWSNT |
| 2084 | pid = child_setup (xforkin, xforkout, xforkout, | 2092 | pid = child_setup (xforkin, xforkout, xforkout, |
| 2085 | new_argv, 1, current_dir); | 2093 | new_argv, 1, current_dir); |
diff --git a/src/s/aix4-2.h b/src/s/aix4-2.h index 66b7d322b56..02225a9226f 100644 --- a/src/s/aix4-2.h +++ b/src/s/aix4-2.h | |||
| @@ -2,5 +2,23 @@ | |||
| 2 | 2 | ||
| 3 | #undef ALIGN_DATA_RELOC | 3 | #undef ALIGN_DATA_RELOC |
| 4 | 4 | ||
| 5 | /* On AIX Emacs uses the gmalloc.c malloc implementation. But given | ||
| 6 | the way this system works, libc functions that return malloced | ||
| 7 | memory use the libc malloc implementation. Calling xfree or | ||
| 8 | xrealloc on the results of such functions results in a crash. | ||
| 9 | |||
| 10 | One solution for this could be to define SYSTEM_MALLOC here, but | ||
| 11 | that does not currently work on this system. | ||
| 12 | |||
| 13 | It is possible to completely override the malloc implementation on | ||
| 14 | AIX, but that involves putting the malloc functions in a shared | ||
| 15 | library and setting the MALLOCTYPE environment variable to point to | ||
| 16 | tha shared library. | ||
| 17 | |||
| 18 | Emacs currently calls xrealloc on the results of get_current_dir name, | ||
| 19 | to avoid a crash just use the Emacs implementation for that function. | ||
| 20 | */ | ||
| 21 | #define BROKEN_GET_CURRENT_DIR_NAME 1 | ||
| 22 | |||
| 5 | /* arch-tag: 38fe75ea-6aef-42bd-8449-bc34d921a562 | 23 | /* arch-tag: 38fe75ea-6aef-42bd-8449-bc34d921a562 |
| 6 | (do not change this comment) */ | 24 | (do not change this comment) */ |
diff --git a/src/sysdep.c b/src/sysdep.c index eae493ba453..f70d4b18cff 100644 --- a/src/sysdep.c +++ b/src/sysdep.c | |||
| @@ -256,7 +256,7 @@ void hft_reset (); | |||
| 256 | SIGMASKTYPE sigprocmask_set; | 256 | SIGMASKTYPE sigprocmask_set; |
| 257 | 257 | ||
| 258 | 258 | ||
| 259 | #ifndef HAVE_GET_CURRENT_DIR_NAME | 259 | #if !defined (HAVE_GET_CURRENT_DIR_NAME) || defined (BROKEN_GET_CURRENT_DIR_NAME) |
| 260 | 260 | ||
| 261 | /* Return the current working directory. Returns NULL on errors. | 261 | /* Return the current working directory. Returns NULL on errors. |
| 262 | Any other returned value must be freed with free. This is used | 262 | Any other returned value must be freed with free. This is used |
diff --git a/src/xdisp.c b/src/xdisp.c index 3ae8543144d..dddea77b572 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -6856,7 +6856,10 @@ message_log_maybe_newline () | |||
| 6856 | terminated with a newline when NLFLAG is non-zero. MULTIBYTE, if | 6856 | terminated with a newline when NLFLAG is non-zero. MULTIBYTE, if |
| 6857 | nonzero, means interpret the contents of M as multibyte. This | 6857 | nonzero, means interpret the contents of M as multibyte. This |
| 6858 | function calls low-level routines in order to bypass text property | 6858 | function calls low-level routines in order to bypass text property |
| 6859 | hooks, etc. which might not be safe to run. */ | 6859 | hooks, etc. which might not be safe to run. |
| 6860 | |||
| 6861 | This may GC (insert may run before/after change hooks), | ||
| 6862 | so the buffer M must NOT point to a Lisp string. */ | ||
| 6860 | 6863 | ||
| 6861 | void | 6864 | void |
| 6862 | message_dolog (m, nbytes, nlflag, multibyte) | 6865 | message_dolog (m, nbytes, nlflag, multibyte) |
| @@ -7068,10 +7071,7 @@ message_log_check_duplicate (prev_bol, prev_bol_byte, this_bol, this_bol_byte) | |||
| 7068 | out any existing message, and let the mini-buffer text show | 7071 | out any existing message, and let the mini-buffer text show |
| 7069 | through. | 7072 | through. |
| 7070 | 7073 | ||
| 7071 | The buffer M must continue to exist until after the echo area gets | 7074 | This may GC, so the buffer M must NOT point to a Lisp string. */ |
| 7072 | cleared or some other message gets displayed there. This means do | ||
| 7073 | not pass text that is stored in a Lisp string; do not pass text in | ||
| 7074 | a buffer that was alloca'd. */ | ||
| 7075 | 7075 | ||
| 7076 | void | 7076 | void |
| 7077 | message2 (m, nbytes, multibyte) | 7077 | message2 (m, nbytes, multibyte) |
| @@ -8128,7 +8128,11 @@ truncate_message_1 (nchars, a2, a3, a4) | |||
| 8128 | 8128 | ||
| 8129 | If S is not null, set the message to the first LEN bytes of S. LEN | 8129 | If S is not null, set the message to the first LEN bytes of S. LEN |
| 8130 | zero means use the whole string. MULTIBYTE_P non-zero means S is | 8130 | zero means use the whole string. MULTIBYTE_P non-zero means S is |
| 8131 | multibyte. Display the message multibyte in that case. */ | 8131 | multibyte. Display the message multibyte in that case. |
| 8132 | |||
| 8133 | Doesn't GC, as with_echo_area_buffer binds Qinhibit_modification_hooks | ||
| 8134 | to t before calling set_message_1 (which calls insert). | ||
| 8135 | */ | ||
| 8132 | 8136 | ||
| 8133 | void | 8137 | void |
| 8134 | set_message (s, string, nbytes, multibyte_p) | 8138 | set_message (s, string, nbytes, multibyte_p) |