# HG changeset patch # User cvs # Date 1186988300 -7200 # Node ID c0965ff3b039349e8e1ffb9bd873131ecdd0cdbe # Parent 9e8623109fadb1a05d82d77bbf1558c44717c017 Import from CVS: tag r19-16-pre3 diff -r 9e8623109fad -r c0965ff3b039 CHANGES-beta --- a/CHANGES-beta Mon Aug 13 08:57:57 2007 +0200 +++ b/CHANGES-beta Mon Aug 13 08:58:20 2007 +0200 @@ -1,4 +1,9 @@ -*- indented-text -*- +to 19.16 pre3 -- "Manhattan" +-- NEWS file updated +-- a couple of synchs with XEmacs 20.2 +-- warning cleanup + to 19.16 pre2 -- "Brooklyn" -- Patch for XEmacs not Dying on quit applied -- movemail synched with 20.3 diff -r 9e8623109fad -r c0965ff3b039 etc/NEWS --- a/etc/NEWS Mon Aug 13 08:57:57 2007 +0200 +++ b/etc/NEWS Mon Aug 13 08:58:20 2007 +0200 @@ -73,6 +73,173 @@ * XEmacs Release Notes ====================== +** Major Differences Between 19.15 and 19.16 +============================================ + +Many bugs have been fixed. XEmacs 19.16 is a bug-fix release only. No +new features have been added. + +-- shell-command did not respect its output-buffer argument. + +-- When using CVS in conjunction with frame-icon, an error + would occur when a frame was iconified. + +-- dired did not properly protect its data structures durin + garbage collection. + +-- y-or-n-p-minibuf could crash XEmacs 19.15. + +-- overlay-lists did not always return a pair of lists. + +-- Starting with the -nw option did not prevent XEmacs 19.15 from + attempting to connect to a tooltalk server. + +-- XEmacs 19.15 could not be built on a DUNIX4.0 system. + +-- appt.el did not respect the user's hooks. + +-- outline-mode did not work in a tty-only XEmacs 19.15. + +-- MD5 checksum generation did not work on a 64-bit machine. + +-- XEmacs 19.15 ignored the user's mail path. + +-- The rcompile package checked for ange-ftp instead of efs. + +-- vc-directory did not work. + +-- Sometimes clicking on a modeline did not advance to the + next or previous buffer as it should have. + +-- The variable enable-local-variables was sometimes ignored. + +-- pending-del did not respect the user's hooks. + +-- CRiSP mode was synchronized with FSF emacs. + +-- The performance of font-lock was improved. + +-- There were numerous holes in the garbage collection. + +-- There were 2 minor bugs with using XEmacs 19.15 on a tty. + +-- XEmacs 19.15 ignored certain dead_key events. + +-- XEmacs 19.15 had minor fontification problems with java. + +-- mark-pop did not always restore the mark properly. + +-- smtpmail.el had a couple of minor bugs. + +-- telnet-mode did not always respond to the telnet prompt. + +-- gomoku was broken in XEmacs 19.15. + +-- recover-all files did not work in XEmacs 19.15. + +-- transient-mark-mode and skeleton.el did not work together. + +-- Footnotes were not properly formatted in info. + +-- Configuration of XEmacs 19.15 did not work on Sequent + computers, because they do not have a working version of alloca. + +-- In XEmacs 19.15 it was impossible to compile with Lucid + scrollbars without Motif. + +-- XEmacs 19.15 would erroneously report an internal error on + certain types of minibuffer input. + +-- When using virtual screens with your X server, sometimes + iconify-frame would cause XEmacs 19.15 to lose one of the frames. + +-- server-kill-buffer always returned nil. + +-- The :filter keyword on a menubar could crash XEmacs 19.15. + +-- psgml-mode did not respect the user's hooks. + +-- Many bugs in efs mode were fixed. + +-- sh-script.el could hang XEmacs. + +-- Options could not be saved after fonts were changed in + XEmacs 19.15. + +-- read-from-string could not read "1.". + +-- dired was confused about where chown lives on Linux. + +-- Edebug did not work on floating point numbers. + +-- first-change-hook saved the wrong buffer, so unwinding the + stack could result in the wrong buffer's being restored. + +-- pcl-cvs was incompatible with live-icon. + +-- save-buffer deactivated the zmacs region. + +-- When running a sub-process, if the standard error could + not be opened, the error was reported incorectly. + +-- shell-command-on-region had a bogus test for the active + region. + +-- get-frame-for-buffer ignored relevant properties. + +-- make-database did not correctly expand its filename + argument. + +-- A few minor improvements were made to the optimizer in the + byte-compiler. + +-- kill-region could get confused when the beginning of the + region was after the end of the region. + +-- movemail was upgraded to the same version which shipped + with XEmacs 20.2; this version understands Linux file locking. + +-- The regexp cache size was too small. + +-- The "save as" dialog was buggy. + +-- Minor bugs in sendmail mode. + +-- tm did not understand the png image format. + +-- set-text-properties only removed the first text property. + +-- add-log.el has been upgraded to the version supported by + FSF emacs 20.1. + +-- When tags-loop-continue was called inappropriately, the + wrong error message resulted. + +-- Frame creation was buggy, and could crash XEmacs. + +-- PNG support did not work on Linux. + +-- Asynchronous process output did not always work. + +-- x-compose.el did not support the degree sign or the + grave keysym. + +-- mh-invisible-headers did not work. + +-- Creating a tty frame could crash XEmacs 19.15. + +-- detach-extent could crash XEmacs. + +-- The minibuffer could get the read-only attribute. + +-- When the mouse was in the right side of the frame, its + position could be reported incorrectly. + +-- lib-complete didn't work with compressed files. + +-- getloadavg.c was brought into sync with the XEmacs 20.2 + version. + ** Major Differences Between 19.14 and 19.15 ============================================ @@ -90,7 +257,6 @@ and News. The primary author is Morioka Tomohiko. -- There is a new way to customize faces and (some) variables. - Try it with `M-x customize RET', or from the Options->Customize menu. Documented in . diff -r 9e8623109fad -r c0965ff3b039 lib-src/Makefile.in.in --- a/lib-src/Makefile.in.in Mon Aug 13 08:57:57 2007 +0200 +++ b/lib-src/Makefile.in.in Mon Aug 13 08:58:20 2007 +0200 @@ -118,29 +118,33 @@ SOURCES = COPYING ChangeLog Makefile.in.in README aixcc.lex emacs.csh \ makedoc.com *.[chy] $(SCRIPTS) -# Additional -D flags for movemail (add to MOVE_FLAGS if desired): -# MAIL_USE_POP Support mail retrieval from a POP mailbox. -# MAIL_USE_MMDF Support MMDF mailboxes. -# MAIL_USE_FLOCK Use flock for file locking (see the comments -# about locking in movemail.c) -# MAIL_UNLINK_SPOOL Unlink the user spool mailbox after reading -# it (instead of just emptying it). -# KERBEROS Support Kerberized POP. -# KRB5 Support Kerberos Version 5 pop instead of -# Version 4 (define this in addition to -# KERBEROS). -# HESIOD Support Hesiod lookups of user mailboxes. -# MAILHOST A string, the host name of the default POP -# mail host for the sit +/* +Additional -D flags for movemail (add to MOVE_FLAGS if desired): +MAIL_USE_POP Support mail retrieval from a POP mailbox. +MAIL_USE_MMDF Support MMDF mailboxes. +MAIL_USE_FLOCK Use flock for file locking (see the comments + about locking in movemail.c) +MAIL_UNLINK_SPOOL Unlink the user spool mailbox after reading + it (instead of just emptying it). +KERBEROS Support Kerberized POP. +KRB5 Support Kerberos Version 5 pop instead of + Version 4 (define this in addition to + KERBEROS). +HESIOD Support Hesiod lookups of user mailboxes. +MAILHOST A string, the host name of the default POP + mail host for the sit +*/ MOVE_FLAGS= -# -# Additional libraries for movemail: -# For KERBEROS -# MOVE_LIBS= -lkrb -ldes -lcom_err -# For KERBEROS + KRB5 -# MOVE_LIBS= -lkrb5 -lcrypto -lisode -lcom_err -# Add "-lhesiod" if HESIOD is defined. + +/* +Additional libraries for movemail: +For KERBEROS +MOVE_LIBS= -lkrb -ldes -lcom_err +For KERBEROS + KRB5 +MOVE_LIBS= -lkrb5 -lcrypto -lisode -lcom_err +Add "-lhesiod" if HESIOD is defined. +*/ MOVE_LIBS= @@ -149,6 +153,9 @@ /* From here on, comments must be done in C syntax. (see comment above about this.) */ +/* Apparently the above comment is bogus. There is no place where +shell-style comments are allowed. -slb */ + #define NO_SHORTNAMES #define THIS_IS_YMAKEFILE #define NOT_C_CODE diff -r 9e8623109fad -r c0965ff3b039 lisp/prim/about.el --- a/lisp/prim/about.el Mon Aug 13 08:57:57 2007 +0200 +++ b/lisp/prim/about.el Mon Aug 13 08:58:20 2007 +0200 @@ -1176,6 +1176,7 @@ Raymond L. Toy John Turner Juan E. Villacis + Jan Vroonhof Vladimir Vukicevic Peter Ware Yoav Weiss diff -r 9e8623109fad -r c0965ff3b039 lisp/version.el --- a/lisp/version.el Mon Aug 13 08:57:57 2007 +0200 +++ b/lisp/version.el Mon Aug 13 08:58:20 2007 +0200 @@ -55,7 +55,7 @@ "Non-nil when this is a test (beta) version of XEmacs. Warning, this variable did not exist in XEmacs versions prior to 20.3") -(defconst xemacs-codename "Brooklyn" +(defconst xemacs-codename "Manhattan" "Symbolic name of XEmacs build. Warning, this variable did not exist in XEmacs versions prior to 19.16 and 20.3") diff -r 9e8623109fad -r c0965ff3b039 src/glyphs-x.c --- a/src/glyphs-x.c Mon Aug 13 08:57:57 2007 +0200 +++ b/src/glyphs-x.c Mon Aug 13 08:58:20 2007 +0200 @@ -212,8 +212,8 @@ #if HAVE_SUBWINDOWS case IMAGE_SUBWINDOW: /* #### implement me */ + break; #endif - break; default: break; } @@ -233,8 +233,8 @@ #if HAVE_SUBWINDOWS case IMAGE_SUBWINDOW: /* #### implement me */ + return 0; #endif - return 0; default: return 0; } diff -r 9e8623109fad -r c0965ff3b039 src/lisp.h --- a/src/lisp.h Mon Aug 13 08:57:57 2007 +0200 +++ b/src/lisp.h Mon Aug 13 08:58:20 2007 +0200 @@ -610,7 +610,7 @@ /* There's not any particular reason not to use lrecords for these; some objects get slightly larger, but we get 3 bit tags instead of 4. */ -#define LRECORD_SYMBOL +/* #define LRECORD_SYMBOL */ /* Define the fundamental Lisp data structures */ diff -r 9e8623109fad -r c0965ff3b039 src/print.c --- a/src/print.c Mon Aug 13 08:57:57 2007 +0200 +++ b/src/print.c Mon Aug 13 08:58:20 2007 +0200 @@ -591,6 +591,7 @@ } # include "emacsfns.h" +static void print_error_message (Lisp_Object data, Lisp_Object stream); /* Synched with Emacs 19.34 */ DEFUN ("error-message-string", Ferror_message_string, 1, 1, 0, /* Convert an error value (ERROR-SYMBOL . DATA) to an error message. @@ -601,7 +602,7 @@ Lisp_Object original, printcharfun, value; struct gcpro gcpro1; - print_error_message (obj, Vprin1_to_string_buffer, NULL); + print_error_message (obj, Vprin1_to_string_buffer); set_buffer_internal (XBUFFER (Vprin1_to_string_buffer)); value = Fbuffer_substring (Fpoint_min(Fcurrent_buffer()), @@ -619,8 +620,8 @@ /* Print an error message for the error DATA onto Lisp output stream STREAM (suitable for the print functions). */ -print_error_message (data, stream) - Lisp_Object data, stream; +static void +print_error_message (Lisp_Object data, Lisp_Object stream) { Lisp_Object errname, errmsg, file_error, tail; struct gcpro gcpro1; diff -r 9e8623109fad -r c0965ff3b039 src/profile.c --- a/src/profile.c Mon Aug 13 08:57:57 2007 +0200 +++ b/src/profile.c Mon Aug 13 08:58:20 2007 +0200 @@ -67,7 +67,7 @@ the table while another routine is operating on it. We also set inside_profiling in case the timeout between signal calls is short enough to catch us while we're already in there. */ -volatile static int inside_profiling; +static volatile int inside_profiling; static SIGTYPE sigprof_handler (int signo) diff -r 9e8623109fad -r c0965ff3b039 src/redisplay.c --- a/src/redisplay.c Mon Aug 13 08:57:57 2007 +0200 +++ b/src/redisplay.c Mon Aug 13 08:58:20 2007 +0200 @@ -1904,7 +1904,10 @@ } else if (MINI_WINDOW_P (w) && !active_minibuffer) data.cursor_type = NO_CURSOR; - else if (w == XWINDOW (FRAME_SELECTED_WINDOW (device_selected_frame (d)))) + else if (w == XWINDOW (FRAME_SELECTED_WINDOW (f)) && + EQ(DEVICE_CONSOLE(d), Vselected_console) && + d == XDEVICE(CONSOLE_SELECTED_DEVICE(XCONSOLE(DEVICE_CONSOLE(d))))&& + f == XFRAME(DEVICE_SELECTED_FRAME(d))) { data.bi_cursor_bufpos = BI_BUF_PT (b); data.cursor_type = CURSOR_ON; @@ -4923,7 +4926,8 @@ int echo_active = 0; int startp = 1; int pointm; - int selected; + int selected_in_its_frame; + int selected_globally; int skip_output = 0; int truncation_changed; int inactive_minibuffer = @@ -4950,9 +4954,13 @@ } /* Is this window the selected window on its frame? */ - selected = - (w == XWINDOW (FRAME_SELECTED_WINDOW (device_selected_frame (d)))); - if (skip_selected && selected) + selected_in_its_frame = (w == XWINDOW (FRAME_SELECTED_WINDOW (f))); + selected_globally = + selected_in_its_frame && + EQ(DEVICE_CONSOLE(d), Vselected_console) && + XDEVICE(CONSOLE_SELECTED_DEVICE(XCONSOLE(DEVICE_CONSOLE(d)))) == d && + XFRAME(DEVICE_SELECTED_FRAME(d)) == f; + if (skip_selected && selected_in_its_frame) return; /* It is possible that the window is not fully initialized yet. */ @@ -4971,7 +4979,7 @@ pointm = 1; else { - if (selected) + if (selected_globally) { pointm = BUF_PT (b); } @@ -5043,7 +5051,7 @@ { pointm = point_at_center (w, DESIRED_DISP, 0, 0); - if (selected) + if (selected_globally) BUF_SET_PT (b, pointm); Fset_marker (w->pointm[DESIRED_DISP], make_int (pointm), @@ -5071,7 +5079,7 @@ /* Check if the cursor has actually moved. */ if (EQ (Fmarker_buffer (w->last_point[CURRENT_DISP]), w->buffer) && pointm == marker_position (w->last_point[CURRENT_DISP]) - && selected + && selected_globally && !w->windows_changed && !f->clip_changed && !f->extents_changed @@ -5111,7 +5119,7 @@ goto regeneration_done; } } - else if (!selected && !f->point_changed) + else if (!selected_in_its_frame && !f->point_changed) { if (f->modeline_changed) regenerate_modeline (w); @@ -5665,7 +5673,10 @@ struct device *d = XDEVICE (XFRAME (w->frame)->device); struct buffer *b = XBUFFER (w->buffer); Bufpos end = - ((w == XWINDOW (FRAME_SELECTED_WINDOW (device_selected_frame (d)))) + (((w == XWINDOW (FRAME_SELECTED_WINDOW (device_selected_frame (d)))) && + EQ(DEVICE_CONSOLE(d), Vselected_console) && + XDEVICE(CONSOLE_SELECTED_DEVICE(XCONSOLE(DEVICE_CONSOLE(d)))) == d && + EQ(DEVICE_SELECTED_FRAME(d), w->frame)) ? BUF_PT (b) : marker_position (w->pointm[type])); int lots = 999999999; diff -r 9e8623109fad -r c0965ff3b039 src/s/hpux9-shr.h --- a/src/s/hpux9-shr.h Mon Aug 13 08:57:57 2007 +0200 +++ b/src/s/hpux9-shr.h Mon Aug 13 08:58:20 2007 +0200 @@ -28,6 +28,14 @@ #include "hpux9.h" +/* The curses library seems to have a badly broken version of select(2) + that makes "poll: interrupted system call" messages to appear and + Emacs suprocesses to hang (e.g. TeX compilation w/ AUCTeX). + Althought this is only for hpux 10, linking termcap instead of curses + on 9.X ensures a 9.X binary will still run properly on 10.X. */ +#undef LIBS_TERMCAP +#define LIBS_TERMCAP -ltermcap + #if 0 /* No longer needed, since in current GCC -g no longer does that. */ /* We must turn off -g since it forces -static. */ #ifdef __GNUC__