User: vins
Date: 05/11/28 03:10:25
Branch: xemacs release-21-4
xemacs/lisp release-21-4
xemacs/man release-21-4
xemacs/man/lispref release-21-4
xemacs/src release-21-4
Modified: xemacs/src ChangeLog config.h.in console-tty.h mule-ccl.c
redisplay-tty.c select-x.c
Log:
Nearing the end of the 21.4.18 patches.
Revision Changes Path
1.241.2.79 +5 -0 XEmacs/xemacs/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/ChangeLog,v
retrieving revision 1.241.2.78
retrieving revision 1.241.2.79
diff -u -p -r1.241.2.78 -r1.241.2.79
--- ChangeLog 2005/11/25 03:16:45 1.241.2.78
+++ ChangeLog 2005/11/28 02:08:55 1.241.2.79
@@ -1,3 +1,8 @@
+2005-03-12 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * configure.in (XE_COMPUTE_RUNPATH): Check XtRegisterDrawable
+ availability.
+
2005-04-11 Norbert Koch <viteno(a)xemacs.org>
* etc/PACKAGES: etc/PACKAGES: Announce re-builder, xetla.
1.147.2.35 +1 -1 XEmacs/xemacs/configure
Index: configure
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/configure,v
retrieving revision 1.147.2.34
retrieving revision 1.147.2.35
diff -u -p -r1.147.2.34 -r1.147.2.35
--- configure 2005/11/25 02:00:00 1.147.2.34
+++ configure 2005/11/28 02:08:56 1.147.2.35
@@ -6846,7 +6846,7 @@ EOF
esac
fi
- for ac_func in XConvertCase
+ for ac_func in XConvertCase XtRegisterDrawable
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
echo "configure:6853: checking for $ac_func" >&5
1.151.2.34 +1 -1 XEmacs/xemacs/configure.in
Index: configure.in
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/configure.in,v
retrieving revision 1.151.2.33
retrieving revision 1.151.2.34
diff -u -p -r1.151.2.33 -r1.151.2.34
--- configure.in 2005/11/25 02:00:33 1.151.2.33
+++ configure.in 2005/11/28 02:09:20 1.151.2.34
@@ -2911,7 +2911,7 @@ dnl Avoid re-AC_DEFINE-ing xmkmf symbols
esac
fi
- AC_CHECK_FUNCS(XConvertCase)
+ AC_CHECK_FUNCS(XConvertCase XtRegisterDrawable)
AC_CHECK_HEADERS(X11/Xlocale.h)
1.266.2.85 +19 -0 XEmacs/xemacs/lisp/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/ChangeLog,v
retrieving revision 1.266.2.84
retrieving revision 1.266.2.85
diff -u -p -r1.266.2.84 -r1.266.2.85
--- ChangeLog 2005/11/26 03:47:23 1.266.2.84
+++ ChangeLog 2005/11/28 02:10:07 1.266.2.85
@@ -1,3 +1,22 @@
+2005-02-28 Simon Josefsson <jas(a)extundo.com>
+
+ * about.el (xemacs-hackers): Add jas.
+ (about-other-current-hackers): Likewise.
+ (about-url-alist): Add URL for jas.
+ (about-personal-info): Document jas.
+ (about-hacker-contribution): Describe jas contributions.
+
+2005-03-25 Ralf Angeli <angeli(a)iwi.uni-sb.de>
+
+ * easymenu.el (easy-menu-remove): As described in
+ E1D4Nn5-0001lq-EU(a)neutrino.iwi.uni-sb.de; don't strip everything
+ except the "Command" menu from mode-popup-menu.
+
+2005-03-25 Ralf Angeli <angeli(a)iwi.uni-sb.de>
+
+ * font.el (font-spatial-to-canonical): Correct calculation of
+ return value for pixel-based input value.
+
2002-05-13 Adrian Aichner <adrian(a)xemacs.org>
* code-process.el (call-process): Process-related docstring
1.45.2.11 +31 -2 XEmacs/xemacs/lisp/about.el
Index: about.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/about.el,v
retrieving revision 1.45.2.10
retrieving revision 1.45.2.11
diff -u -p -r1.45.2.10 -r1.45.2.11
--- about.el 2003/11/08 02:35:01 1.45.2.10
+++ about.el 2005/11/28 02:10:08 1.45.2.11
@@ -1,6 +1,6 @@
;;; about.el --- the About The Authors page (shameless self promotion).
-;; Copyright (c) 1997 Free Software Foundation, Inc.
+;; Copyright (c) 1997, 2005 Free Software Foundation, Inc.
;; Copyright (C) 2001 Ben Wing.
;; Keywords: extensions
@@ -123,6 +123,7 @@
(hobley "David hobley" "hobley(a)xemacs.org")
(jan "Jan Vroonhof" "jan(a)xemacs.org")
(jareth "Jareth Hein" "jareth(a)xemacs.org")
+ (jas "Simon Josefsson" "simon(a)xemacs.org")
(jason "Jason R. Mastaler" "jason(a)xemacs.org")
(jens "Jens Lautenbacher" "jens(a)xemacs.org")
(jmiller "Jeff Miller" "jmiller(a)xemacs.org")
@@ -178,7 +179,7 @@
(defvar about-once-and-future-hackers
'(ajc baw bw chr cthomp darrylo devin dkindred dmoore eb hbs hmuller
- hobley jens juhp jwz kyle marcpa mcook mly ograf pelegri pez
+ hobley jas jens juhp jwz kyle marcpa mcook mly ograf pelegri pez
rickc rose rossini slb stig stigb thiessel vladimir))
;; The CAR of alist elements is a valid argument to `about-url-link'.
@@ -201,6 +202,7 @@
(dv . "http://www.lrde.epita.fr/~didier/")
(fabrice . "http://www.ese-metz.fr/~popineau/")
(fptex . "http://www.fptex.org/")
+ (jas . "http://josefsson.org/")
(jason . "http://www.mastaler.com/")
(juhp . "http://www.01.246.ne.jp/~juhp/")
(jwz . "http://www.jwz.org/")
@@ -1059,6 +1061,25 @@ portable, implements a language, include
graphics and a garbage collector, but is multithreaded to boot!
Unfortunately his XEmacs time is directly limited by the amount of
traffic on the M40.\n"))
+ (jas
+ (widget-insert "\
+
+Simon lives in Stockholm where he has discovered that computers
+can be a powerful procrastinating tool. Combined with a
+frustrating desire to see computers simply work, he spends most
+of his time complaining. Occasionally he rises up to the task
+and produces something that others may complain about, which
+brings him increased satisfaction with every bug report. Today
+he is pretending to be a network security guy, with a preference
+for standardization issues, while secretly longing to start a
+cafe or becoming a theoretical computer scientist. His personal
+interest is literature, and to some extent traveling, but will
+try anything for fun, such as juggling, skiing, wine, and
+long-distance biking.
+
+See: ")
+ (about-url-link 'jas nil "Visit Simon's homepage")
+ (widget-insert ".\n"))
(jareth
(widget-insert "\
Jareth Hein is a mountain boy who abandoned his home state of Colorado
@@ -1609,6 +1630,14 @@ of the XEmacs custom subsystem and gnuse
(widget-insert "\
Owner of
cvs.xemacs.org, the machine that holds the XEmacs CVS
repository, and author of some of the graphics code in XEmacs.\n"))
+ (jas
+ (widget-insert "\
+Wrote and/or integrated several packages for Gnus, such as
+support for IMAP, Sieve, format=flowed, GnuTLS, S/MIME, and PGP.
+Irregularly synchronizes lisp code between Emacs and XEmacs. He
+maintains the mail-lib, sieve, sasl, pgg and ecrypto XEmacs
+packages. Operates the secondary DNS and mail server for
+xemacs.org.\n"))
(jason
(widget-insert "\
Beta tester, manager of the various XEmacs mailing lists and binary
1.5.2.1 +1 -1 XEmacs/xemacs/lisp/easymenu.el
Index: easymenu.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/easymenu.el,v
retrieving revision 1.5
retrieving revision 1.5.2.1
diff -u -p -r1.5 -r1.5.2.1
--- easymenu.el 2001/04/12 18:21:17 1.5
+++ easymenu.el 2005/11/28 02:10:08 1.5.2.1
@@ -203,7 +203,7 @@ is a list of menu items, as above."
"Remove MENU from the current menu bar."
(when (featurep 'menubar)
(setq easy-menu-all-popups (delq menu easy-menu-all-popups)
- mode-popup-menu (if (< (length easy-menu-all-popups) 1)
+ mode-popup-menu (if (> (length easy-menu-all-popups) 1)
(cons (easy-menu-title)
(reverse easy-menu-all-popups))
(let ((same-as-menu
1.7.2.3 +3 -3 XEmacs/xemacs/lisp/font.el
Index: font.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/font.el,v
retrieving revision 1.7.2.2
retrieving revision 1.7.2.3
diff -u -p -r1.7.2.2 -r1.7.2.3
--- font.el 2002/08/20 11:34:44 1.7.2.2
+++ font.el 2005/11/28 02:10:09 1.7.2.3
@@ -310,8 +310,8 @@ Canonical sizes are in points. If SPEC
a number, it is interpreted as the desired point size and returned unchanged.
Otherwise SPEC must be a string consisting of a number and an optional type.
The type may be the strings \"px\", \"pix\", or \"pixel\"
(pixels), \"pt\" or
-\"point\" (points), \"pa\" or \"pica\" (picas),
\"in\" or \"inch\" (inches), \"cm\"
-(centimeters), or \"mm\" (millimeters).
+\"point\" (points), \"pa\" or \"pica\" (picas),
\"in\" or \"inch\" (inches),
+\"cm\" (centimeters), or \"mm\" (millimeters).
1 in = 2.54 cm = 6 pa = 25.4 mm = 72 pt. Pixel size is device-dependent."
(cond
@@ -350,7 +350,7 @@ The type may be the strings \"px\", \"pi
(setq num (string-to-number spec))
(cond
((member type '("pixel" "px" "pix"))
- (setq retval (* num (/ pix-width mm-width) (/ 25.4 72.0))))
+ (setq retval (* num (/ mm-width pix-width) (/ 72.0 25.4))))
((member type '("point" "pt"))
(setq retval num))
((member type '("pica" "pa"))
1.116.2.59 +9 -0 XEmacs/xemacs/man/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/man/ChangeLog,v
retrieving revision 1.116.2.58
retrieving revision 1.116.2.59
diff -u -p -r1.116.2.58 -r1.116.2.59
--- ChangeLog 2005/11/26 03:47:34 1.116.2.58
+++ ChangeLog 2005/11/28 02:10:12 1.116.2.59
@@ -3,6 +3,15 @@
* lispref/mule.texi (CCL Example): Detail an implementation of the
web's URL encoding as a CCL coding system example.
+2005-03-26 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * lispref/mule.texi (CCL Example):
+ char-int -> char-to-int, and hex 41 is decimal 65, both problems
+ with my previous patch pointed out by Stephen.
+ * lispref/mule.texi (The actual coding system):
+ Give information on the make-coding-system call, and where the
+ actual package can be found.
+
2005-02-23 Aidan Kehoe <kehoea(a)parhasard.net>
* lispref/searching.texi (Syntax of Regexps):
1.4.2.4 +41 -11 XEmacs/xemacs/man/lispref/mule.texi
Index: mule.texi
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/man/lispref/mule.texi,v
retrieving revision 1.4.2.3
retrieving revision 1.4.2.4
diff -u -p -r1.4.2.3 -r1.4.2.4
--- mule.texi 2005/11/26 03:47:36 1.4.2.3
+++ mule.texi 2005/11/28 02:10:14 1.4.2.4
@@ -2053,7 +2053,7 @@ initialized as constants.
* Characters to be preserved:: No transformation needed for these characters.
* The program to decode to internal format:: .
* The program to encode from internal format:: .
-
+* The actual coding system:: .
@end menu
@node Four bits to ASCII, URI Encoding constants, , CCL Example
@@ -2073,7 +2073,7 @@ after this file is loaded gives the ASCI
(let ((val (make-vector 256 0))
(i 0))
(while (< i (length val))
- (aset val i (char-int (aref (format "%02X" i) 0)))
+ (aset val i (char-to-int (aref (format "%02X" i) 0)))
(setq i (1+ i)))
val)
"Table to find an ASCII version of an octet's most significant 4 bits.")
@@ -2081,7 +2081,7 @@ after this file is loaded gives the ASCI
The next table, @code{url-coding-low-order-nybble-as-ascii} is almost
the same thing, but this time it has a map for the hex encoding of the
-low-order four bits. So the sixty-fifth entry (offset @samp{#x51}) is
+low-order four bits. So the sixty-fifth entry (offset @samp{#x41}) is
the ASCII encoding of `1', the hundred-and-twenty-second (offset
@samp{#x7a}) is the ASCII encoding of `A'.
@@ -2090,7 +2090,7 @@ the ASCII encoding of `1', the hundred-a
(let ((val (make-vector 256 0))
(i 0))
(while (< i (length val))
- (aset val i (char-int (aref (format "%02X" i) 1)))
+ (aset val i (char-to-int (aref (format "%02X" i) 1)))
(setq i (1+ i)))
val)
"Table to find an ASCII version of an octet's least significant 4
bits.")
@@ -2110,14 +2110,14 @@ the space character. When doing this in
@code{url-coding-escaped-space-code} variable.
@example
-(defvar url-coding-escape-character-code (char-int ?%)
+(defvar url-coding-escape-character-code (char-to-int ?%)
"The code point for the percentage sign, in ASCII.")
-(defvar url-coding-escaped-space-code (char-int ?+)
+(defvar url-coding-escaped-space-code (char-to-int ?+)
"The URL-encoded value of the space character, that is, +.")
@end example
-@node Numeric to ASCII-hexadecimal conversion
+@node Numeric to ASCII-hexadecimal conversion, Characters to be preserved, URI Encoding
constants, CCL Example
@subsubsection Numeric to ASCII-hexadecimal conversion
Now, we have a couple of utility tables that wouldn't be necessary in
@@ -2133,7 +2133,7 @@ a few examples.)
(let ((i 0)
(val (make-vector 16 0)))
(while (< i 16)
- (aset val i (char-int (aref (format "%X" i) 0)))
+ (aset val i (char-to-int (aref (format "%X" i) 0)))
(setq i (1+ i)))
val)
"A map from a hexadecimal digit's numeric value to its encoding in
ASCII.")
@@ -2149,7 +2149,7 @@ a few examples.)
"A map from Latin 1 code points to their values as hexadecimal digits.")
@end example
-@node Characters to be preserved
+@node Characters to be preserved, The program to decode to internal format, Numeric to
ASCII-hexadecimal conversion, CCL Example
@subsubsection Characters to be preserved
And finally, the last of these tables. URL encoding says that
@@ -2183,7 +2183,7 @@ every nanosecond counts.
octet as its ASCII encoding.")
@end example
-@node The program to decode to internal format
+@node The program to decode to internal format, The program to encode from internal
format, Characters to be preserved, CCL Example
@subsubsection The program to decode to internal format
After the almost interminable tables, we get to the CCL. The first
@@ -2244,7 +2244,7 @@ buffer, and move to the next iteration o
internal encoding. ")
@end example
-@node The program to encode from internal format
+@node The program to encode from internal format, The actual coding system, The program
to decode to internal format, CCL Example
@subsubsection The program to encode from internal format
Next, we see the CCL program to encode ASCII text as URL coded text.
@@ -2279,6 +2279,36 @@ We then read an octet from the input int
(repeat))))
"CCL program to encode octets (almost) according to RFC 1738")
@end example
+
+@node The actual coding system, , The program to encode from internal format, CCL
Example
+@subsubsection The actual coding system
+
+To actually create the coding system, we call
+@samp{make-coding-system}. The first argument is the symbol that is to
+be the name of the coding system, in our case @samp{url-coding}. The
+second specifies that the coding system is to be of type
+@samp{ccl}---there are several other coding system types available,
+including, see the documentation for @samp{make-coding-system} for the
+full list. Then there's a documentation string describing the wherefore
+and caveats of the coding system, and the final argument is a property
+list giving information about the CCL programs and the coding system's
+mnemonic.
+
+@example
+(make-coding-system
+ 'url-coding 'ccl
+ "The coding used by application/x-www-form-urlencoded HTTP applications.
+This coding form doesn't specify anything about non-ASCII characters, so
+make sure you've transformed to a seven-bit coding system first."
+ '(decode ccl-decode-urlcoding
+ encode ccl-encode-urlcoding
+ mnemonic "URLenc"))
+@end example
+
+If you're lucky, the @samp{url-coding} coding system describe here
+should be available in the XEmacs package system. Otherwise, downloading
+it from @samp{http://www.parhasard.net/url-coding.el} should work for
+the foreseeable future.
@node Category Tables, , CCL, MULE
@section Category Tables
1.290.2.99 +19 -0 XEmacs/xemacs/src/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/ChangeLog,v
retrieving revision 1.290.2.98
retrieving revision 1.290.2.99
diff -u -p -r1.290.2.98 -r1.290.2.99
--- ChangeLog 2005/11/27 01:45:45 1.290.2.98
+++ ChangeLog 2005/11/28 02:10:15 1.290.2.99
@@ -1,3 +1,22 @@
+2005-11-27 Kean Johnston <kean(a)armory.com>
+
+ * redisplay-tty.c (set_tty_modes):
+ (reset_tty_modes): disable auto-margins if the terminal supports
+ them.
+ (init_tty_for_redisplay): fix cursor shape.
+
+2005-04-05 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * mule-ccl.c (ccl_driver): Calculate the charset and position code
+ for control-1 characters properly, both when reading multibyte
+ characters and writing them.
+
+2005-03-12 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * config.h.in: Make HAVE_XTREGISTERDRAWABLE available.
+ * select-x.c (x_reply_selection_request): Use it; fix the bug we
+ were seeing with incremental selection transfer failing.
+
2005-11-26 Vin Shelton <acs(a)xemacs.org>
* callproc.c (Fold_call_process_internal): Create the buffer if it
1.61.2.9 +1 -0 XEmacs/xemacs/src/config.h.in
Index: config.h.in
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/config.h.in,v
retrieving revision 1.61.2.8
retrieving revision 1.61.2.9
diff -u -p -r1.61.2.8 -r1.61.2.9
--- config.h.in 2005/11/25 02:01:56 1.61.2.8
+++ config.h.in 2005/11/28 02:10:19 1.61.2.9
@@ -205,6 +205,7 @@ void *alloca ();
#undef THIS_IS_X11R6
#undef HAVE_XCONVERTCASE
+#undef HAVE_XTREGISTERDRAWABLE
#undef HAVE_BALLOON_HELP
1.9.2.1 +5 -0 XEmacs/xemacs/src/console-tty.h
Index: console-tty.h
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/console-tty.h,v
retrieving revision 1.9
retrieving revision 1.9.2.1
diff -u -p -r1.9 -r1.9.2.1
--- console-tty.h 2001/04/12 18:23:30 1.9
+++ console-tty.h 2005/11/28 02:10:19 1.9.2.1
@@ -82,6 +82,8 @@ struct tty_console
character info */
unsigned int flow_control :1; /* Nonzero means use ^S/^Q as
cretinous flow control. */
+ unsigned int auto_margins :1; /* Nonzero means terminal wraps when
+ writing to the last column */
int standout_width; /* # of spaces printed when
change to standout mode */
int underline_width; /* # of spaces printed when
@@ -175,6 +177,9 @@ struct tty_console
const char *keypad_off; /* rmkx, ke */
const char *orig_pair; /* op, op */
+
+ const char *disable_auto_margins; /* rmam, RA */
+ const char *enable_auto_margins; /* smam, SA */
} sd;
/* costs of various operations */
1.15.2.1 +8 -1 XEmacs/xemacs/src/mule-ccl.c
Index: mule-ccl.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/mule-ccl.c,v
retrieving revision 1.15
retrieving revision 1.15.2.1
diff -u -p -r1.15 -r1.15.2.1
--- mule-ccl.c 2001/04/12 18:24:03 1.15
+++ mule-ccl.c 2005/11/28 02:10:19 1.15.2.1
@@ -1303,6 +1303,13 @@ ccl_driver (struct ccl_program *ccl,
reg[RRR] = i;
reg[rrr] = (*src++ & 0x7F);
}
+ else if (LEADING_BYTE_CONTROL_1 == i)
+ {
+ if (src >= src_end)
+ goto ccl_read_multibyte_character_suspend;
+ reg[RRR] = i;
+ reg[rrr] = (*src++ - 0xA0);
+ }
else if (i <= MAX_LEADING_BYTE_OFFICIAL_2)
{
if ((src + 1) >= src_end)
@@ -1350,7 +1357,7 @@ ccl_driver (struct ccl_program *ccl,
case CCL_WriteMultibyteChar2:
i = reg[RRR]; /* charset */
- if (i == LEADING_BYTE_ASCII)
+ if (i == LEADING_BYTE_ASCII || i == LEADING_BYTE_CONTROL_1)
i = reg[rrr] & 0xFF;
else if (XCHARSET_DIMENSION (CHARSET_BY_LEADING_BYTE (i)) == 1)
i = (((i - FIELD2_TO_OFFICIAL_LEADING_BYTE) << 7)
1.16.2.2 +11 -2 XEmacs/xemacs/src/redisplay-tty.c
Index: redisplay-tty.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/redisplay-tty.c,v
retrieving revision 1.16.2.1
retrieving revision 1.16.2.2
diff -u -p -r1.16.2.1 -r1.16.2.2
--- redisplay-tty.c 2005/01/31 02:55:28 1.16.2.1
+++ redisplay-tty.c 2005/11/28 02:10:20 1.16.2.2
@@ -864,6 +864,9 @@ set_tty_modes (struct console *c)
OUTPUT1_IF (c, TTY_SD (c).init_motion);
OUTPUT1_IF (c, TTY_SD (c).cursor_visible);
OUTPUT1_IF (c, TTY_SD (c).keypad_on);
+
+ if (TTY_FLAGS (c).auto_margins)
+ OUTPUT1_IF (c, TTY_SD (c).disable_auto_margins);
}
/*****************************************************************************
@@ -882,6 +885,9 @@ reset_tty_modes (struct console *c)
OUTPUT1_IF (c, TTY_SD (c).cursor_normal);
OUTPUT1_IF (c, TTY_SD (c).end_motion);
+ if (TTY_FLAGS (c).auto_margins)
+ OUTPUT1_IF (c, TTY_SD (c).enable_auto_margins);
+
{
Lisp_Object frm = CONSOLE_SELECTED_FRAME (c);
@@ -1185,12 +1191,14 @@ init_tty_for_redisplay (struct device *d
TTY_SD (c).audio_bell = "\07";
}
- TTY_SD (c).cursor_visible = tgetstr ("ve", &bufptr);
- TTY_SD (c).cursor_normal = tgetstr ("vs", &bufptr);
+ TTY_SD (c).cursor_visible = tgetstr ("vs", &bufptr);
+ TTY_SD (c).cursor_normal = tgetstr ("ve", &bufptr);
TTY_SD (c).init_motion = tgetstr ("ti", &bufptr);
TTY_SD (c).end_motion = tgetstr ("te", &bufptr);
TTY_SD (c).keypad_on = tgetstr ("ks", &bufptr);
TTY_SD (c).keypad_off = tgetstr ("ke", &bufptr);
+ TTY_SD (c).disable_auto_margins = tgetstr ("RA", &bufptr);
+ TTY_SD (c).enable_auto_margins = tgetstr ("SA", &bufptr);
/*
@@ -1203,6 +1211,7 @@ init_tty_for_redisplay (struct device *d
TTY_FLAGS (c).memory_below_frame = tgetflag ("db");
TTY_FLAGS (c).standout_width = tgetnum ("sg");
TTY_FLAGS (c).underline_width = tgetnum ("ug");
+ TTY_FLAGS (c).auto_margins = tgetflag ("am");
if (TTY_FLAGS (c).standout_width == -1)
TTY_FLAGS (c).standout_width = 0;
1.2.2.3 +32 -1 XEmacs/xemacs/src/select-x.c
Index: select-x.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/select-x.c,v
retrieving revision 1.2.2.2
retrieving revision 1.2.2.3
diff -u -p -r1.2.2.2 -r1.2.2.3
--- select-x.c 2005/01/31 02:55:31 1.2.2.2
+++ select-x.c 2005/11/28 02:10:20 1.2.2.3
@@ -509,14 +509,41 @@ x_reply_selection_request (XSelectionReq
}
else
{
+#ifndef HAVE_XTREGISTERDRAWABLE
+ invalid_operation("Copying that much data requires X11R6.", Qunbound);
+#else
/* Send an INCR selection. */
int prop_id;
+ Widget widget = FRAME_X_TEXT_WIDGET (XFRAME(DEVICE_SELECTED_FRAME(d)));
if (x_window_to_frame (d, window)) /* #### debug */
error ("attempt to transfer an INCR to ourself!");
#if 0
stderr_out ("\nINCR %d\n", bytes_remaining);
#endif
+ /* Tell Xt not to drop PropertyNotify events that arrive for the
+ target window, rather, pass them to us. This would be a hack, but
+ the Xt selection routines are broken for our purposes--we can't
+ pass them callbacks from Lisp, for example. Let's call it a
+ workaround.
+
+ The call to wait_for_property_change means we can break out of that
+ function, switch to another frame on the same display (which will
+ be another Xt widget), select a huge amount of text, and have the
+ same (foreign) app ask for another incremental selection
+ transfer. Programming like X11 made sense, would mean that, in that
+ case, XtRegisterDrawable is called twice with different widgets.
+
+ Since the results of calling XtRegisterDrawable when the drawable
+ is already registered with another widget are undefined, we want to
+ avoid that--so, only call it when XtWindowToWidget returns NULL,
+ which it will only do with a valid Window if it's not already
+ registered. */
+ if (NULL == XtWindowToWidget(display, window))
+ {
+ XtRegisterDrawable(display, (Drawable)window, widget);
+ }
+
prop_id = expect_property_change (display, window, reply.property,
PropertyDelete);
@@ -560,10 +587,14 @@ x_reply_selection_request (XSelectionReq
stderr_out (" INCR done\n");
#endif
if (! waiting_for_other_props_on_window (display, window))
- XSelectInput (display, window, 0L);
+ {
+ XSelectInput (display, window, 0L);
+ XtUnregisterDrawable(display, (Drawable)window);
+ }
XChangeProperty (display, window, reply.property, type, format,
PropModeReplace, data, 0);
+#endif /* HAVE_XTREGISTERDRAWABLE */
}
}