Sync with r21-4-8-utf-2000-b5. r21-4-8-utf-2000-0_19-5
authortomo <tomo>
Wed, 25 Sep 2002 11:02:07 +0000 (11:02 +0000)
committertomo <tomo>
Wed, 25 Sep 2002 11:02:07 +0000 (11:02 +0000)
15 files changed:
CHANGES-release
ChangeLog
lib-src/ChangeLog
lisp/ChangeLog
lisp/select.el
lisp/simple.el
lwlib/ChangeLog
man/ChangeLog
netinstall/ChangeLog
nt/ChangeLog
src/ChangeLog
src/process.c
src/process.h
tests/ChangeLog
version.sh

index 955e700..949f8f6 100644 (file)
@@ -22,219 +22,225 @@ build-time, and "documentation and data" changes.
 For more details, including developers involved and dates, see the
 ChangeLogs, or use CVS diff to view the patches.
 
+to XEmacs 21.4.8 "Honest Recruiter"
+
+-- Fix: "yank-pop twice" bug -- Jerry James, Stephen J. Turnbull
+-- Fix: broken process input from race condition patch -- Nix
+
 to XEmacs 21.4.7 "Economic Science"
 
-  - Fix: prevent migration code from trashing .emacs -- Stephen J. Turnbull
-  - Fix: XmProcessTraversal crash -- Stephen J. Turnbull
-  - Fix: crash in GTK popup menu -- William M. Perry
-  - Fix: dll_load to avoid incorrect symbol binding -- Andrew Begel
-  - Fix: emodules_load to avoid multiple loading of same module -- Jerry James
-  - Fix: recover gracefully from XOpenDevice failure -- Mike Sperber
-
-  - (**) Fix: write-region-pre-hook obeys coding-system argument -- Stephen J.
-    Turnbull
-  - (**) Improve: GTK selection handling -- Eric Gillespie, Jr.
-  - (**) New: auto-modes: .siv, .sieve, GNUmakefile, Xdefaults -- Ville Skyttä,
-    Simon Josefsson
-  - Fix: default Info-auto-generate-directory to 'if-outdated. -- Adrian
-    Aichner
-  - Fix: generic-print-region passes correct arguments Nevin Kapur, Björn
-    Torkelsson, Adrian Aichner
-  - Fix: regenerate info dir when missing -- Mike Sperber
-  - Fix: truncate menu item to width -- Adrian Aichner
-  - Update: GNU synchs: assq-delete-all, function-interactive, describe-mode
-    -- John Paul Wallington
-
-  - Fix: "--with-widgets" means "=yes", and autodetect athena. -- Jan Vroonhof
-  - Fix: add -Wno-shadow for GTK -- William M. Perry
-  - Fix: make moduledir option work -- Mike Fabian
-  - Fix: native Windows build dependencies with pdump -- Adrian Aichner
-  - Fix: clean up name space after automated tests -- Stephen J. Turnbull
-  - Improve: native Windows build -- Jonathan Harris
-  - Fix: typo in macro definition -- Martin Buchholz
-
-  - Fix: typos -- Adrian Aichner, Steve Youngs, Charles Waldman
-  - Improve: Packages node -- Stephen J. Turnbull
-  - Improve: comments and docstrings -- Stephen J. Turnbull, Christoph Wedler,
-    Valdis Kletnieks, John H. Palmieri
-  - Improve: etc/BETA -- Stephen J. Turnbull, Jarl Friis
-  - New: External Client Widget Internals node -- Stephen J. Turnbull
-  - New: FAQ: Unicode support via Mule-UCS. -- Stephen J. Turnbull
-  - New: FAQ: remote files -- Stephen J. Turnbull
-  - New: Glyph, graphics examples node -- Darryl Okahata
-  - New: TUTORIAL.se -- Mats Lidell
-  - New: The User's View [of packages] node -- Stephen J. Turnbull
-  - New: autoconfiscate MacOS/X "Darwin" -- Greg Parker, Martin Buchholz
-  - New: s/linux.h for 64-bit libs -- Andreas Jaeger
-  - Update: photos -- Hrvoje Niksic
-  - Update: Files node: remote file editing, EFS, TRAMP -- Stephen J. Turnbull
-  - Update: URLs in FAQ -- Adrian Aichner, Stephen J. Turnbull
-  - Update: package-index.LATEST.pgp -- Steve Youngs
+-- Fix: prevent migration code from trashing .emacs -- Stephen J. Turnbull
+-- Fix: XmProcessTraversal crash -- Stephen J. Turnbull
+-- Fix: crash in GTK popup menu -- William M. Perry
+-- Fix: dll_load to avoid incorrect symbol binding -- Andrew Begel
+-- Fix: emodules_load to avoid multiple loading of same module -- Jerry James
+-- Fix: recover gracefully from XOpenDevice failure -- Mike Sperber
+
+-- (**) Fix: write-region-pre-hook obeys coding-system argument -- Stephen J.
+   Turnbull
+-- (**) Improve: GTK selection handling -- Eric Gillespie, Jr.
+-- (**) New: auto-modes: .siv, .sieve, GNUmakefile, Xdefaults -- Ville Skyttä,
+   Simon Josefsson
+-- Fix: race condition detecting dead process -- Nix
+-- Fix: default Info-auto-generate-directory to 'if-outdated. -- Adrian
+   Aichner
+-- Fix: generic-print-region passes correct arguments Nevin Kapur, Björn
+   Torkelsson, Adrian Aichner
+-- Fix: regenerate info dir when missing -- Mike Sperber
+-- Fix: truncate menu item to width -- Adrian Aichner
+-- Update: GNU synchs: assq-delete-all, function-interactive, describe-mode
+   -- John Paul Wallington
+
+-- Fix: "--with-widgets" means "=yes", and autodetect athena. -- Jan Vroonhof
+-- Fix: add -Wno-shadow for GTK -- William M. Perry
+-- Fix: make moduledir option work -- Mike Fabian
+-- Fix: native Windows build dependencies with pdump -- Adrian Aichner
+-- Fix: clean up name space after automated tests -- Stephen J. Turnbull
+-- Improve: native Windows build -- Jonathan Harris
+-- Fix: typo in macro definition -- Martin Buchholz
+
+-- Fix: typos -- Adrian Aichner, Steve Youngs, Charles Waldman
+-- Improve: Packages node -- Stephen J. Turnbull
+-- Improve: comments and docstrings -- Stephen J. Turnbull, Christoph Wedler,
+   Valdis Kletnieks, John H. Palmieri
+-- Improve: etc/BETA -- Stephen J. Turnbull, Jarl Friis
+-- New: External Client Widget Internals node -- Stephen J. Turnbull
+-- New: FAQ: Unicode support via Mule-UCS. -- Stephen J. Turnbull
+-- New: FAQ: remote files -- Stephen J. Turnbull
+-- New: Glyph, graphics examples node -- Darryl Okahata
+-- New: TUTORIAL.se -- Mats Lidell
+-- New: The User's View [of packages] node -- Stephen J. Turnbull
+-- New: autoconfiscate MacOS/X "Darwin" -- Greg Parker, Martin Buchholz
+-- New: s/linux.h for 64-bit libs -- Andreas Jaeger
+-- Update: photos -- Hrvoje Niksic
+-- Update: Files node: remote file editing, EFS, TRAMP -- Stephen J. Turnbull
+-- Update: URLs in FAQ -- Adrian Aichner, Stephen J. Turnbull
+-- Update: package-index.LATEST.pgp -- Steve Youngs
 
 to XEmacs 21.4.6 "Common Lisp"
 
-  - Changing coding system marks buffer as modified.
-  - More file/directory dialogs available on Windows.
-  - In replace-regexp, subexpression replacement supported.
-  - Motif bug causes intermittent crashes.  Patch Motif: see PROBLEMS.
-  - Common subexpression optimization caused an illegal pointer
-    reference in regexp replace; fixed.
-  - Autosave files are now saved in current coding system (where file
-    coding supported).  This resolves the "doubled escape" bug common
-    in Japanese mail files, but increases the chance that autosave
-    files will contain garbage (because the buffer contents cannot be
-    saved correctly in the current coding system).
-  - Failure to save certain customizations fixed.
-  - Ability to customize fonts improved, especially the "cannot
-    customize italic" bug
-  - Window loop now properly iterates over multiple devices; some
-    problems with wrong window being selected (eg, with gnuclient)
-    resolved.
-  - Certain infloops in password prompts, etc, fixed.
-  - Make space for symbols defined in modules in Lisp symbol tables
-  - Errors due to failure to conform to pop-up menu API in GTK fixed.
-  - Cygwin URL handling in shell calls fixed.
-  - Inability to select directories fixed.
-  - Initial VC.NET support.
-  - New node on "packaging" for library developers in Lispref.
-  - Fix incorrect ctime to Lisp conversion.
-  - HP-UX LDFLAGS fix.
-  - Many typo fixes and small documentation enhancements.
-  - New section of examples of glyph usage in Lispref.
-  - Make `truncate-partial-width-windows' effect buffer-local.
-  - Suppress bogus focus changes.
-  - Fix custom's handling of font size and family.
-  - Fix comboreloc crash (common on Linux when making first frame).
-  - Default --with-ipv6-cname=no.
-  - From 21.4.5 "Civil Service (Windows)":
-    - Fixed a scrollbar problem when selecting the frame with focus.
-    - Fixed `mswindows-shell-execute' under cygwin.
-    - Added a new function `mswindows-cygwin-to-win32-path' for JDE.
-    - Added support for dialog-based directory selection.
-    - The installer version has been updated to the 21.5 netinstaller.  The
+-- Changing coding system marks buffer as modified.
+-- More file/directory dialogs available on Windows.
+-- In replace-regexp, subexpression replacement supported.
+-- Motif bug causes intermittent crashes.  Patch Motif: see PROBLEMS.
+-- Common subexpression optimization caused an illegal pointer
+   reference in regexp replace; fixed.
+-- Autosave files are now saved in current coding system (where file
+   coding supported).  This resolves the "doubled escape" bug common
+   in Japanese mail files, but increases the chance that autosave
+   files will contain garbage (because the buffer contents cannot be
+   saved correctly in the current coding system).
+-- Failure to save certain customizations fixed.
+-- Ability to customize fonts improved, especially the "cannot
+   customize italic" bug
+-- Window loop now properly iterates over multiple devices; some
+   problems with wrong window being selected (eg, with gnuclient)
+   resolved.
+-- Certain infloops in password prompts, etc, fixed.
+-- Make space for symbols defined in modules in Lisp symbol tables
+-- Errors due to failure to conform to pop-up menu API in GTK fixed.
+-- Cygwin URL handling in shell calls fixed.
+-- Inability to select directories fixed.
+-- Initial VC.NET support.
+-- New node on "packaging" for library developers in Lispref.
+-- Fix incorrect ctime to Lisp conversion.
+-- HP-UX LDFLAGS fix.
+-- Many typo fixes and small documentation enhancements.
+-- New section of examples of glyph usage in Lispref.
+-- Make `truncate-partial-width-windows' effect buffer-local.
+-- Suppress bogus focus changes.
+-- Fix custom's handling of font size and family.
+-- Fix comboreloc crash (common on Linux when making first frame).
+-- Default --with-ipv6-cname=no.
+-- From 21.4.5 "Civil Service (Windows)":
+   -- Fixed a scrollbar problem when selecting the frame with focus.
+   -- Fixed `mswindows-shell-execute' under cygwin.
+   -- Added a new function `mswindows-cygwin-to-win32-path' for JDE.
+   -- Added support for dialog-based directory selection.
+   -- The installer version has been updated to the 21.5 netinstaller.  The
       21.5 installer now does proper dde file association and adds uninstall
       capability.
-    - Handle leak fix from Mike Alexander.
-    - New release build script.
+   -- Handle leak fix from Mike Alexander.
+   -- New release build script.
 
 to XEmacs 21.4.5 "Civil Service"
 
-  - Now installs arch-specific files relative to $execdir, not $prefix.
-  - New configure.ac guards against autoconf 2.5x, not yet supported.
-  - (**) configure.ac added to auto-mode-alist.
-  - Synch configure.usage with configure.in.
-  - Add GTK defaults in several places.
-  - Fix Lisp syntax in several files.
-  - call-process-internal reads files as 'binary, now writes 'binary too.
-  - FAQ corrections.
-  - Many typo fixes.
-  - Correct case for XEmacs file names under msw (Cygwin is pedantic).
-  - Fix progress gauge flashing under OpenMotif.
-  - Texinfo syntax corrections in Info sources.
-  - Bug reporting now politically correct.
-  - Now detects xpm-nox on Cygwin.
-  - Conditionalize `-msw.c against Cygwin and MSVC5 deficiencies.
-  - .9 files now recognized as manpages (shadowed by ChangeLog and .scm).
-  - Fix "gc in window proc" and "setitimer" crashes on msw.
-  - Quote null arguments correctly on msw.
-  - Fix pty allocation on SCO Unix.
-  - Eliminate a few warnings.
+-- Now installs arch-specific files relative to $execdir, not $prefix.
+-- New configure.ac guards against autoconf 2.5x, not yet supported.
+-- (**) configure.ac added to auto-mode-alist.
+-- Synch configure.usage with configure.in.
+-- Add GTK defaults in several places.
+-- Fix Lisp syntax in several files.
+-- call-process-internal reads files as 'binary, now writes 'binary too.
+-- FAQ corrections.
+-- Many typo fixes.
+-- Correct case for XEmacs file names under msw (Cygwin is pedantic).
+-- Fix progress gauge flashing under OpenMotif.
+-- Texinfo syntax corrections in Info sources.
+-- Bug reporting now politically correct.
+-- Now detects xpm-nox on Cygwin.
+-- Conditionalize `-msw.c against Cygwin and MSVC5 deficiencies.
+-- .9 files now recognized as manpages (shadowed by ChangeLog and .scm).
+-- Fix "gc in window proc" and "setitimer" crashes on msw.
+-- Quote null arguments correctly on msw.
+-- Fix pty allocation on SCO Unix.
+-- Eliminate a few warnings.
 
 to XEmacs 21.4.4 "Artificial Intelligence"
 
-  - (**) There is a bug in "window procedures" under MS Windows only.
-    Non-debug builds print a warning on stderr, and you may want to
-    consider XEmacs unstable (save and restart) if you see it (debug
-    builds assert here).
-  - Printing the selection is implemented for MS Windows
-  - C-g now works on MS Windows
-  - Kinsoku (text wrapping for Asian scripts) fixes
-  - "Scrolling with no scrollbar" crash on MS Windows fixed
-  - Case conversion works for Cyrillic
-  - Help is available with C-x s
-  - M-x locate-library completes library names
-  - (**) `replace-match' supports FSF-style match subexpressions
-  - `compose-mail' is supported in about.el
-  - (**) Renaming custom.el to inhibit loading it works
-  - (**) "Reset to standard" works with "set" and "saved" Custom
-    buffers
-  - `Unbalanced parentheses' bug when dealing with mixed comment
-    styles in c++/java/etc. mode fixed
-  - Byte-compiler optimization fixes
-  - Dired can handle directory names with unusual characters
-  - Popup menus work with popup-menu-titles turned off
-  - (**) M-? now invokes Help
-  - Data corruption in network streams on MS Windows fixed
-  - A few improvements and bug fixes in GTK support.
-
-  - (**) EsounD support is no longer autodetected; you must explicitly
-    request it.  EsounD does evil things with signals and XEmacs
-    cannot protect itself from the race conditions created.
-  - (**) The "excessively long startup when not networked" (often on
-    Red Hat Linux) problem is addressed with a configure option that
-    defeats IPv6 host name canonicalization, `--with-ipv6-cname=no'.
-    See also the discussion in PROBLEMS.
-  - Better detection of Cygwin Perl
-  - Support for old Cygwin betas dropped
-  - Better support for Windows Millenium Edition
-  - --with-widgets=no no longer autodetects Athena
-  - Self tests work if directory is a symlink
-  - Use ld reported by gcc, not gcc itself, to link
-  - TAR define added to src/Makefile
-
-  - Many small and medium documentation fixes, including an improved
-    etc/sample.init.el, German tutorial, CCL fonts documentation
-  - etc/xemacs-ja.1 replaced with new translation
-  - much improved FAQ
+-- (**) There is a bug in "window procedures" under MS Windows only.
+   Non-debug builds print a warning on stderr, and you may want to
+   consider XEmacs unstable (save and restart) if you see it (debug
+   builds assert here).
+-- Printing the selection is implemented for MS Windows
+-- C-g now works on MS Windows
+-- Kinsoku (text wrapping for Asian scripts) fixes
+-- "Scrolling with no scrollbar" crash on MS Windows fixed
+-- Case conversion works for Cyrillic
+-- Help is available with C-x s
+-- M-x locate-library completes library names
+-- (**) `replace-match' supports FSF-style match subexpressions
+-- `compose-mail' is supported in about.el
+-- (**) Renaming custom.el to inhibit loading it works
+-- (**) "Reset to standard" works with "set" and "saved" Custom
+   buffers
+-- `Unbalanced parentheses' bug when dealing with mixed comment
+   styles in c++/java/etc. mode fixed
+-- Byte-compiler optimization fixes
+-- Dired can handle directory names with unusual characters
+-- Popup menus work with popup-menu-titles turned off
+-- (**) M-? now invokes Help
+-- Data corruption in network streams on MS Windows fixed
+-- A few improvements and bug fixes in GTK support.
+
+-- (**) EsounD support is no longer autodetected; you must explicitly
+   request it.  EsounD does evil things with signals and XEmacs
+   cannot protect itself from the race conditions created.
+-- (**) The "excessively long startup when not networked" (often on
+   Red Hat Linux) problem is addressed with a configure option that
+   defeats IPv6 host name canonicalization, `--with-ipv6-cname=no'.
+   See also the discussion in PROBLEMS.
+-- Better detection of Cygwin Perl
+-- Support for old Cygwin betas dropped
+-- Better support for Windows Millenium Edition
+-- --with-widgets=no no longer autodetects Athena
+-- Self tests work if directory is a symlink
+-- Use ld reported by gcc, not gcc itself, to link
+-- TAR define added to src/Makefile
+
+-- Many small and medium documentation fixes, including an improved
+   etc/sample.init.el, German tutorial, CCL fonts documentation
+-- etc/xemacs-ja.1 replaced with new translation
+-- much improved FAQ
 
 to XEmacs 21.4.3 "Academic Rigor"
 
-  - Restore include of src/events-mod.h.
-  - Detect Windows native sound under Cygwin
-  - Restore patch for building --with-scrollbars=no
+-- Restore include of src/events-mod.h.
+-- Detect Windows native sound under Cygwin
+-- Restore patch for building --with-scrollbars=no
 
-  - Update package docs
-  - More photos
-  - Misc comment fixes in source
+-- Update package docs
+-- More photos
+-- Misc comment fixes in source
 
 to XEmacs 21.4.2 "Developer-Friendly Unix APIs"
 
-  - (**) Stop shifted motion from making active region persist if no motion.
-  - (**) MS Windows: Printer support now (optionally) adds headers/footers.
-  - (**) MS Windows: Critical-quit works.
-  - (**) GTK: Face editor changes can apply to GTK too.
-  - Fix hang in Customize menu on Windows platforms.
-  - Fix crash with xlc -O3 on AIX.
-  - make-charset handles short-name correctly.
-
-  - Trivial sign-compare warning fix.
-  - MS Windows: nt/*.mak version string fix and assorted build cleanups.
-  - GCC 3.0 link error from cruft fixed.
-  - make-stds.info builds again with makeinfo 3.12
-
-  - Remove CVS keywords from build-report.el.
-  - Miscellaneous documentation fixes.
-  - Add photos, update descriptions in about.el.
-  - Update copyright notice on splash screen.
-  - FTP mirror site updates
+-- (**) Stop shifted motion from making active region persist if no motion.
+-- (**) MS Windows: Printer support now (optionally) adds headers/footers.
+-- (**) MS Windows: Critical-quit works.
+-- (**) GTK: Face editor changes can apply to GTK too.
+-- Fix hang in Customize menu on Windows platforms.
+-- Fix crash with xlc -O3 on AIX.
+-- make-charset handles short-name correctly.
+
+-- Trivial sign-compare warning fix.
+-- MS Windows: nt/*.mak version string fix and assorted build cleanups.
+-- GCC 3.0 link error from cruft fixed.
+-- make-stds.info builds again with makeinfo 3.12
+
+-- Remove CVS keywords from build-report.el.
+-- Miscellaneous documentation fixes.
+-- Add photos, update descriptions in about.el.
+-- Update copyright notice on splash screen.
+-- FTP mirror site updates
 
 to XEmacs 21.4.1 "Copyleft"
 
-  - Temporary fix to crash in map-keymap applied.
-  - Crash in Motif builds on closing frame fixed.
+-- Temporary fix to crash in map-keymap applied.
+-- Crash in Motif builds on closing frame fixed.
 
-  - Descriptions of workarounds for crashes and hangs related to ESD
-    (don't configure it) and Athena3d (how to configure it properly)
-    added to PROBLEMS.
+-- Descriptions of workarounds for crashes and hangs related to ESD
+   (don't configure it) and Athena3d (how to configure it properly)
+   added to PROBLEMS.
 
-  - about.el overhauled, a few new hackers' entries or photos added,
-    and old ones updated.
-  - More etc\NEWS.
-  - Typo fix in etc\sample.init.el.
-  - Typos fixed in a number of documents.
+-- about.el overhauled, a few new hackers' entries or photos added,
+   and old ones updated.
+-- More etc\NEWS.
+-- Typo fix in etc\sample.init.el.
+-- Typos fixed in a number of documents.
 
 to XEmacs 21.4.0 "Solid Vapor"
 
-  - Initial release of 21.4 series.  See NEWS for changes since the last
-    stable release, 21.1.
+-- Initial release of 21.4 series.  See NEWS for changes since the last
+   stable release, 21.1.
 
index 8b8ad57..3e661a8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
        * configure.in: Add new option `--with-utf-2000'; define `UTF2000'
        if it is specified.
 
+2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.8 "Honest Recruiter" is released.
+
+2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * info/.cvsignore: New file from 21.5.
+
 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
 
        * XEmacs 21.4.7 "Economic Science" is released.
index 35763e2..f4b6416 100644 (file)
@@ -1,3 +1,7 @@
+2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.8 "Honest Recruiter" is released.
+
 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
 
        * XEmacs 21.4.7 "Economic Science" is released.
index e69a828..c442052 100644 (file)
        * files.el (insert-file-contents-literally): Treat file as binary;
        call file-name-handlers. [sync with Emacs 20.3.10]
 
+2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.8 "Honest Recruiter" is released.
+
+2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       This patch is based on Jerry James's patch and analysis.
+
+       * select.el (get-clipboard):
+       (get-selection):
+       Update docstrings.
+       (get-clipboard-foreign):
+       (get-selection-foreign):
+       New function for use as `interprogram-paste-function's.
+
+       * simple.el (interprogram-paste-function): Change default to
+       `get-clipboard-foreign'; improve docstring.
+       (interprogram-cut-function): Improve dosctring.
+
 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
 
        * XEmacs 21.4.7 "Economic Science" is released.
index 3905641..d654ea7 100644 (file)
@@ -75,9 +75,15 @@ set the clipboard.")
       (insert clip))))
 
 (defun get-clipboard ()
-  "Return text pasted to the clipboard."
+  "Return text pasted to the clipboard.
+Not suitable for `interprogram-paste-function', use `get-clipboard-foreign'."
   (get-selection 'CLIPBOARD))
 
+(defun get-clipboard-foreign ()
+  "Return text pasted to the clipboard by another program.
+See `interprogram-paste-function' for more information."
+  (get-selection-foreign 'CLIPBOARD))
+
 (define-device-method get-cutbuffer
   "Return the value of one of the cut buffers.
 This will do nothing under anything other than X.")
@@ -93,19 +99,27 @@ says how to convert the data. Returns NIL if there is no selection."
   "Return the value of a window-system selection.
 The argument TYPE (default `PRIMARY') says which selection,
 and the argument DATA-TYPE (default `STRING', or `COMPOUND_TEXT' under Mule)
-says how to convert the data. If there is no selection an error is signalled."
+says how to convert the data. If there is no selection an error is signalled.
+Not suitable in a `interprogram-paste-function', q.v."
   (or type (setq type 'PRIMARY))
   (or data-type (setq data-type selected-text-type))
-  (let ((text
-        (if (consp data-type)
-            (condition-case err
-                (get-selection-internal type (car data-type))
-              (selection-conversion-error
-               (if (cdr data-type)
-                   (get-selection type (cdr data-type))
-                 (signal (car err) (cdr err)))))
-          (get-selection-internal type data-type))))
-    text))
+  (if (consp data-type)
+      (condition-case err
+         (get-selection-internal type (car data-type))
+       (selection-conversion-error
+        (if (cdr data-type)
+            (get-selection type (cdr data-type))
+          (signal (car err) (cdr err)))))
+    (get-selection-internal type data-type)))
+
+(defun get-selection-foreign (&optional type data-type)
+  "Return the value of a window-system selection, or nil if XEmacs owns it.
+The argument TYPE (default `PRIMARY') says which selection,
+and the argument DATA-TYPE (default `STRING', or `COMPOUND_TEXT' under Mule)
+says how to convert the data. If there is no selection an error is signalled.
+See `interprogram-paste-function' for more information."
+  (unless (selection-owner-p type)
+    (get-selection type data-type)))
 
 ;; FSFmacs calls this `x-set-selection', and reverses the
 ;; first two arguments (duh ...).  This order is more logical.
index 89afe34..36566d4 100644 (file)
@@ -1222,7 +1222,9 @@ The function takes one or two arguments.
 The first argument, TEXT, is a string containing
 the text which should be made available.
 The second, PUSH, if non-nil means this is a \"new\" kill;
-nil means appending to an \"old\" kill."
+nil means appending to an \"old\" kill.
+
+One reasonable choice is `own-clipboard' (the default)."
   :type '(radio (function-item :tag "Send to Clipboard"
                               :format "%t\n"
                               own-clipboard)
@@ -1230,7 +1232,7 @@ nil means appending to an \"old\" kill."
                (function :tag "Other"))
   :group 'killing)
 
-(defcustom interprogram-paste-function 'get-clipboard
+(defcustom interprogram-paste-function 'get-clipboard-foreign
   "Function to call to get text cut from other programs.
 
 Most window systems provide some sort of facility for cutting and
@@ -1248,10 +1250,13 @@ than Emacs has provided a string for pasting; if Emacs provided the
 most recent string, the function should return nil.  If it is
 difficult to tell whether Emacs or some other program provided the
 current string, it is probably good enough to return nil if the string
-is equal (according to `string=') to the last text Emacs provided."
+is equal (according to `string=') to the last text Emacs provided.
+
+Reasonable choices include `get-clipboard-foreign' (the default), and
+functions calling `get-selection-foreign' (q.v.)."
   :type '(radio (function-item :tag "Get from Clipboard"
                               :format "%t\n"
-                              get-clipboard)
+                              get-clipboard-foreign)
                (const :tag "None" nil)
                (function :tag "Other"))
   :group 'killing)
index c5c748f..846f96c 100644 (file)
@@ -1,3 +1,7 @@
+2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.8 "Honest Recruiter" is released.
+
 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
 
        * XEmacs 21.4.7 "Economic Science" is released.
index 33374c7..b42d899 100644 (file)
@@ -1,3 +1,7 @@
+2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.8 "Honest Recruiter" is released.
+
 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
 
        * XEmacs 21.4.7 "Economic Science" is released.
index 7aa517e..2a2f053 100644 (file)
@@ -1,3 +1,7 @@
+2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.8 "Honest Recruiter" is released.
+
 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
 
        * XEmacs 21.4.7 "Economic Science" is released.
 
        * all: port from cygwin setup.
 
-%%% $Id: ChangeLog,v 1.2.2.13 2001/12/17 08:45:59 stephent Exp $
-$Revision: 1.2.2.13 $
+%%% $Id: ChangeLog,v 1.2.2.15 2002/05/09 12:02:35 stephent Exp $
+$Revision: 1.2.2.15 $
index b8b6b06..5178ece 100644 (file)
@@ -1,3 +1,7 @@
+2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.8 "Honest Recruiter" is released.
+
 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
 
        * XEmacs 21.4.7 "Economic Science" is released.
index 2d6626b..f14e0fa 100644 (file)
        (Vcharset_thai_tis620): Likewise.
        (Vcharset_katakana_jisx0201): Likewise.
 
+2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.8 "Honest Recruiter" is released.
+
+2002-05-07  Nix  <nix@esperi.demon.co.uk>
+
+       Supersedes 2002-04-17 patch.
+
+       * process.h (PROCESS_LIVE_P): Use the process status as
+       evidence of health, not the state of the input stream.
+       (PROCESS_READABLE_P): Say if the process is readable
+       from. (It may be dead nonetheless.)
+       (CHECK_READABLE_PROCESS): Test for that condition.
+
+       * process.c (create_process): Use PROCESS_READABLE_P.
+       (read_process_output, set_process_filter): Likewise.
+
+       * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
+       (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
+
+       This code is #if 0'd, this is not the time to add new functions:
+
+       * process.c (Fprocess_readable_p): Report readability status.
+       * process.c (Qprocess_readable_p): New, associated symbol...
+       * process.c (syms_of_process): ... initialize it.
+
 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
 
        * XEmacs 21.4.7 "Economic Science" is released.
index 405dc90..f555019 100644 (file)
@@ -58,7 +58,7 @@ Boston, MA 02111-1307, USA.  */
 #include "systty.h"
 #include "syswait.h"
 
-Lisp_Object Qprocessp, Qprocess_live_p;
+Lisp_Object Qprocessp, Qprocess_live_p, Qprocess_readable_p;
 
 /* Process methods */
 struct process_methods the_process_methods;
@@ -266,6 +266,29 @@ Return t if OBJECT is a process that is alive.
     ? Qt : Qnil;
 }
 
+#if 0
+/* This is a reasonable definition for this new primitive.  Kyle sez:
+
+   "The patch looks OK to me except for the creation and exporting of the
+   Fprocess_readable_p function.  I don't think a new Lisp function
+   should be created until we know something actually needs it.  If
+   we later want to give process-readable-p different semantics it
+   may be hard to do it and stay compatible with what we hastily
+   create today."
+
+   He's right, not yet.  Let's discuss the semantics on XEmacs Design
+   before enabling this.
+*/
+DEFUN ("process-readable-p", Fprocess_readable_p, 1, 1, 0, /*
+Return t if OBJECT is a process from which input may be available.
+*/
+       (object))
+{
+  return PROCESSP (object) && PROCESS_READABLE_P (XPROCESS (object))
+    ? Qt : Qnil;
+}
+#endif
+
 DEFUN ("process-list", Fprocess_list, 0, 0, 0, /*
 Return a list of all processes.
 */
@@ -512,7 +535,7 @@ create_process (Lisp_Object process, Lisp_Object *argv, int nargv,
   pid = PROCMETH (create_process, (p, argv, nargv, program, cur_dir));
 
   p->pid = make_int (pid);
-  if (PROCESS_LIVE_P (p))
+  if (PROCESS_READABLE_P (p))
     event_stream_select_process (p);
 }
 
@@ -842,7 +865,7 @@ read_process_output (Lisp_Object process)
      Really, the loop in execute_internal_event() should check itself
      for a process-filter change, like in status_notify(); but the
      struct Lisp_Process is not exported outside of this file. */
-  if (!PROCESS_LIVE_P (p))
+  if (!PROCESS_READABLE_P (p))
     return -1; /* already closed */
 
   if (!NILP (p->filter) && (p->filter_does_read))
@@ -1051,7 +1074,7 @@ void
 set_process_filter (Lisp_Object process, Lisp_Object filter, int filter_does_read)
 {
   CHECK_PROCESS (process);
-  if (PROCESS_LIVE_P (XPROCESS (process))) {
+  if (PROCESS_READABLE_P (XPROCESS (process))) {
     if (EQ (filter, Qt))
       event_stream_unselect_process (XPROCESS (process));
     else
@@ -1142,7 +1165,7 @@ Return PROCESS's input coding system.
        (process))
 {
   process = get_process (process);
-  CHECK_LIVE_PROCESS (process);
+  CHECK_READABLE_PROCESS (process);
   return decoding_stream_coding_system (XLSTREAM (XPROCESS (process)->coding_instream) );
 }
 
@@ -1162,7 +1185,7 @@ Return a pair of coding-system for decoding and encoding of PROCESS.
        (process))
 {
   process = get_process (process);
-  CHECK_LIVE_PROCESS (process);
+  CHECK_READABLE_PROCESS (process);
   return Fcons (decoding_stream_coding_system
                (XLSTREAM (XPROCESS (process)->coding_instream)),
                encoding_stream_coding_system
@@ -1177,7 +1200,7 @@ Set PROCESS's input coding system to CODESYS.
 {
   codesys = Fget_coding_system (codesys);
   process = get_process (process);
-  CHECK_LIVE_PROCESS (process);
+  CHECK_READABLE_PROCESS (process);
 
   set_decoding_stream_coding_system
     (XLSTREAM (XPROCESS (process)->coding_instream), codesys);
@@ -2023,6 +2046,10 @@ syms_of_process (void)
 
   defsymbol (&Qprocessp, "processp");
   defsymbol (&Qprocess_live_p, "process-live-p");
+#if 0
+  /* see comment at Fprocess_readable_p */
+  defsymbol (&Qprocess_readable_p, "process-readable-p");
+#endif
   defsymbol (&Qrun, "run");
   defsymbol (&Qstop, "stop");
   defsymbol (&Qopen, "open");
@@ -2037,6 +2064,10 @@ syms_of_process (void)
 
   DEFSUBR (Fprocessp);
   DEFSUBR (Fprocess_live_p);
+#if 0
+  /* see comment at Fprocess_readable_p */
+  DEFSUBR (Fprocess_readable_p);
+#endif
   DEFSUBR (Fget_process);
   DEFSUBR (Fget_buffer_process);
   DEFSUBR (Fdelete_process);
index 5fefad1..736660d 100644 (file)
@@ -46,6 +46,7 @@ DECLARE_LRECORD (process, Lisp_Process);
 #define PROCESSP(x) RECORDP (x, process)
 #define CHECK_PROCESS(x) CHECK_RECORD (x, process)
 #define PROCESS_LIVE_P(x) (EQ ((x)->status_symbol, Qrun))
+#define PROCESS_READABLE_P(x) (!NILP ((x)->pipe_instream))
 
 #define CHECK_LIVE_PROCESS(x) do {                     \
   CHECK_PROCESS (x);                                   \
@@ -53,6 +54,12 @@ DECLARE_LRECORD (process, Lisp_Process);
     dead_wrong_type_argument (Qprocess_live_p, (x));   \
 } while (0)
 
+#define CHECK_READABLE_PROCESS(x) do {                 \
+  CHECK_PROCESS (x);                                   \
+  if (! PROCESS_READABLE_P (XPROCESS (x)))             \
+    dead_wrong_type_argument (Qprocess_readable_p, (x));       \
+} while (0)
+
 #ifdef emacs
 
 EXFUN (Fprocess_kill_without_query, 2);
index 4de0e07..e19c551 100644 (file)
@@ -1,3 +1,7 @@
+2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.8 "Honest Recruiter" is released.
+
 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
 
        * XEmacs 21.4.7 "Economic Science" is released.
index 9236956..80d9c65 100644 (file)
@@ -2,9 +2,9 @@
 emacs_is_beta=
 emacs_major_version=21
 emacs_minor_version=4
-emacs_beta_version=7
-emacs_kit_version=
-xemacs_codename="Economic Science"
+emacs_beta_version=8
+xemacs_codename="Honest Recruiter"
+emacs_kitname=""
 infodock_major_version=4
 infodock_minor_version=0
 infodock_build_version=8