-*- indented-text -*-
+to 21.2.16 "Sumida"
+-- make selection more mswindows conformant.
+-- Make customize use specifiers from Jan Vroonhof
+-- Cyrillic CCL crash fix from MORIOKA Tomohiko
+-- DEC OSF Build fix and miscellaneous Lisp fix from Steve Baur
+-- raw-text coding system synch from MORIOKA Tomohiko
+
to 21.2.15 "Sakuragawa"
-- new self tests from Oscar Figueiredo and Hrvoje Niksic
-- Miscellaneous bug fixes from Yoshiki Hayashi, Jerry James, Hirokazu FUKUI,
+1999-06-11 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.16 is released
+
1999-06-04 SL Baur <steve@steve1.m17n.org>
* configure.in (CPP): Correct test for locating $site_prefix
* Mountain View, California 94043
*/
-#pragma ident "@(#) $Id: _dynodump.h,v 1.3 1997/05/29 04:22:29 steve Exp $ - SMI"
+#pragma ident "@(#) $Id: _dynodump.h,v 1.5 1996/05/23 18:39:07 georgn Exp $ - SMI"
#ifndef _DYNODUMP_DOT_H
#define _DYNODUMP_DOT_H
* N.B. The above commentary is not quite correct in the flags have been hardwired
* to RTLD_SAVREL.
*/
-#pragma ident "@(#) $Id: dynodump.c,v 1.6 1998/03/31 20:10:55 steve Exp $ - SMI"
+#pragma ident "@(#) $Id: dynodump.c,v 1.8 1996/05/23 18:39:21 georgn Exp $ - SMI"
#define __EXTENSIONS__ 1
* Mountain View, California 94043
*/
-#pragma ident "@(#) $Id: _relocate.c,v 1.3 1997/05/29 04:23:02 steve Exp $ - SMI"
+#pragma ident "@(#) $Id: _relocate.c,v 1.4 1995/06/26 20:12:41 georgn Exp $ - SMI"
/* LINTLIBRARY */
* Mountain View, California 94043
*/
-#pragma ident "@(#) $Id: machdep.h,v 1.3 1997/05/29 04:23:02 steve Exp $ - SMI"
+#pragma ident "@(#) $Id: machdep.h,v 1.2 1995/02/16 22:58:43 georgn Exp $ - SMI"
/*
* Global include file for all sgs Intel machine dependent macros, constants
* Mountain View, California 94043
*/
-#pragma ident "@(#) $Id: _relocate.c,v 1.4 1998/03/31 20:10:55 steve Exp $ - SMI"
+#pragma ident "@(#) $Id: _relocate.c,v 1.3 1995/06/26 20:16:39 georgn Exp $ - SMI"
/* LINTLIBRARY */
* Mountain View, California 94043
*/
-#pragma ident "@(#) $Id: machdep.h,v 1.3 1997/05/29 04:23:20 steve Exp $ - SMI"
+#pragma ident "@(#) $Id: machdep.h,v 1.2 1995/02/16 22:58:49 georgn Exp $ - SMI"
/*
* Global include file for all sgs PowerPC machine dependent macros, constants
/*
* Update the value of the `_edata' and `_end' symbols.
*/
-#pragma ident "@(#) $Id: _relocate.c,v 1.4 1998/03/31 20:10:55 steve Exp $ - SMI"
+#pragma ident "@(#) $Id: _relocate.c,v 1.4 1995/06/26 20:13:26 georgn Exp $ - SMI"
#include <libelf.h>
#include <string.h>
* Mountain View, California 94043
*/
-#pragma ident "@(#) $Id: machdep.h,v 1.3 1997/05/29 04:23:26 steve Exp $ - SMI"
+#pragma ident "@(#) $Id: machdep.h,v 1.2 1995/02/16 22:58:55 georgn Exp $ - SMI"
/*
* Global include file for all sgs SPARC machine dependent macros, constants
/*
* Update the value of the `_edata' and `_end' symbols.
*/
-#pragma ident "@(#) $Id: syms.c,v 1.3 1997/05/29 04:22:30 steve Exp $ - SMI"
+#pragma ident "@(#) $Id: syms.c,v 1.2 1995/03/06 22:39:22 georgn Exp $ - SMI"
#include <libelf.h>
#include <string.h>
+1999-06-11 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.16 is released
+
1999-06-04 XEmacs Build Bot <builds@cvs.xemacs.org>
* XEmacs 21.2.15 is released
Report bugs to <bug-gnu-emacs@prep.ai.mit.edu>.'
-Id='$Id: rcs2log,v 1.2 1997/07/09 04:31:03 steve Exp $'
+Id='$Id: rcs2log,v 1.37 1997/03/21 22:19:30 eggert Exp $'
# Copyright 1992, 1993, 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+1999-06-11 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.16 is released
+
+1999-06-09 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * mule/cyrillic.el (cyrillic-koi8-r-decode-table): Set 32 for
+ missing characters to avoid crash.
+
+1999-06-09 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * coding.el (set-terminal-coding-system): Only set the console
+ coding system on the selected console if it is a tty.
+
+1999-06-10 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * cus-face.el:
+ * cus-edit.el:
+ * faces.el:
+ (custom):
+ (face-spec-set):
+ * faces.el (frob-face-property):
+ * font-menu.el (font-menu-set-font):
+ Actually apply changes from 1999-03-17
+
+1999-06-10 Andy Piper <andy@xemacs.org>
+
+ * select.el (get-selection): abstract out non error-signalling
+ part.
+ (get-selection-no-error): get-selection without signalling an
+ error.
+ (selection-is-clipboard-p): new variable. controls whether the
+ selection sets the clipboard.
+ (own-selection): use it.
+
+ * mouse.el (insert-selection): fallback to clipboard after trying
+ primary selection and cutbuffer.
+
+1999-06-05 Andy Piper <andy@xemacs.org>
+
+ * x-select.el (xselect-kill-buffer-hook-1): use generalised
+ selection functions.
+
1999-06-04 MORIOKA Tomohiko <tomo@etl.go.jp>
* code-files.el (buffer-file-coding-system): Use `raw-text' as
(interactive "zterminal-coding-system: ")
(get-coding-system coding-system) ; correctness check
(setq terminal-coding-system coding-system)
- (set-console-tty-coding-system (device-console) terminal-coding-system)
+ ; #### should this affect all current tty consoles ?
+ (if (eq (device-type) 'tty)
+ (set-console-tty-coding-system (device-console) terminal-coding-system))
(redraw-modeline t))
(defun set-pathname-coding-system (coding-system)
(unless (widget-get widget :custom-form)
(widget-put widget :custom-form custom-face-default-form))
(let* ((symbol (widget-value widget))
- (spec (or (get symbol 'customized-face)
- (get symbol 'saved-face)
- (get symbol 'face-defface-spec)
- ;; Attempt to construct it.
- (list (list t (face-custom-attributes-get
- symbol (selected-frame))))))
+ (spec (custom-face-get-spec symbol))
(form (widget-get widget :custom-form))
(indent (widget-get widget :indent))
(edit (widget-create-child-and-convert
(child (car (widget-get widget :children)))
(value (widget-value child)))
(put symbol 'customized-face value)
- (face-spec-set symbol value)
+ (face-spec-set symbol value nil '(custom))
(custom-face-state-set widget)
(custom-redraw-magic widget)))
(let* ((symbol (widget-value widget))
(child (car (widget-get widget :children)))
(value (widget-value child)))
- (face-spec-set symbol value)
+ (face-spec-set symbol value nil '(custom))
(put symbol 'saved-face value)
(put symbol 'customized-face nil)
(custom-save-all)
(unless value
(signal 'error (list "No saved value for this face" symbol)))
(put symbol 'customized-face nil)
- (face-spec-set symbol value)
+ (face-spec-set symbol value nil '(custom))
(widget-value-set child value)
(custom-face-state-set widget)
(custom-redraw-magic widget)))
(when (get symbol 'saved-face)
(put symbol 'saved-face nil)
(custom-save-all))
- (face-spec-set symbol value)
+ (face-spec-set symbol value nil '(custom))
(widget-value-set child value)
(custom-face-state-set widget)
(custom-redraw-magic widget)))
frame)
;; Create global face.
(make-empty-face face)
- (face-display-set face value)
+ (face-display-set face value nil '(custom))
;; Create frame local faces
(while frames
(setq frame (car frames)
frames (cdr frames))
- (face-display-set face value frame))
+ (face-display-set face value frame '(custom)))
(init-face-from-resources face)))
(when (and doc (null (face-doc-string face)))
(set-face-doc-string face doc))
The GET function should take two arguments, the face to examine, and
optonally the frame where the face should be examined.")
-(defun face-custom-attributes-set (face frame &rest atts)
+(defun face-custom-attributes-set (face frame tags &rest atts)
"For FACE on FRAME set the attributes [KEYWORD VALUE]....
Each keyword should be listed in `custom-face-attributes'.
(fun (nth 2 (assq name custom-face-attributes))))
(setq atts (cdr (cdr atts)))
(condition-case nil
- (funcall fun face value frame)
+ (funcall fun face value frame tags)
(error nil)))))
(defun face-custom-attributes-get (face frame)
(list (list t (face-custom-attributes-get
symbol (selected-frame))))))
-(defun custom-set-face-bold (face value &optional frame)
+(defun custom-set-face-bold (face value &optional frame tags)
"Set the bold property of FACE to VALUE."
(if value
- (make-face-bold face frame)
- (make-face-unbold face frame)))
+ (make-face-bold face frame tags)
+ (make-face-unbold face frame tags)))
;; Really, we should get rid of these font.el dependencies... They
;; are still presenting a problem with dumping the faces (font.el is
(fontobj (font-create-object font)))
(font-bold-p fontobj)))
-(defun custom-set-face-italic (face value &optional frame)
+(defun custom-set-face-italic (face value &optional frame tags)
"Set the italic property of FACE to VALUE."
(if value
- (make-face-italic face frame)
- (make-face-unitalic face frame)))
+ (make-face-italic face frame tags)
+ (make-face-unitalic face frame tags)))
(defun custom-face-italic (face &rest args)
"Return non-nil if the font of FACE is italic."
- (let* ((font (apply 'face-font-name face args))
+ (let* ((font (apply 'face-font-name face))
;; Gag
(fontobj (font-create-object font)))
(font-italic-p fontobj)))
(and image
(image-instance-file-name image))))
-(defun custom-set-face-font-size (face size &rest args)
+(defun custom-set-face-font-size (face size &optional locale tags)
"Set the font of FACE to SIZE"
- (let* ((font (apply 'face-font-name face args))
+ (let* ((font (apply 'face-font-name face locale))
;; Gag
(fontobj (font-create-object font)))
(set-font-size fontobj size)
- (apply 'font-set-face-font face fontobj args)))
+ (apply 'font-set-face-font face fontobj locale tags)))
(defun custom-face-font-size (face &rest args)
"Return the size of the font of FACE as a string."
(fontobj (font-create-object font)))
(format "%s" (font-size fontobj))))
-(defun custom-set-face-font-family (face family &rest args)
+(defun custom-set-face-font-family (face family &optional locale tags)
"Set the font of FACE to FAMILY."
- (let* ((font (apply 'face-font-name face args))
+ (let* ((font (apply 'face-font-name face locale))
;; Gag
(fontobj (font-create-object font)))
(set-font-family fontobj family)
- (apply 'font-set-face-font face fontobj args)))
+ (apply 'font-set-face-font face fontobj locale tags)))
(defun custom-face-font-family (face &rest args)
"Return the name of the font family of FACE."
(let ((spec (face-spec-update-all-matching (custom-face-get-spec face)
display plist)))
(put face 'customized-face spec)
- (face-spec-set face spec)))
+ (face-spec-set face spec nil '(custom))))
;;; Initializing.
(when (or now (find-face face))
(unless (find-face face)
(make-empty-face face))
- (face-spec-set face spec))
+ (face-spec-set face spec nil '(custom)))
(setq args (cdr args)))
;; Old format, a plist of FACE SPEC pairs.
(let ((face (nth 0 args))
;; WE DEMAND LEXICAL SCOPING!!!
;; WE DEMAND LEXICAL SCOPING!!!
;; WE DEMAND LEXICAL SCOPING!!!
-(defun frob-face-property (face property func &optional locale)
+(defun frob-face-property (face property func &optional locale tags)
"Change the specifier for FACE's PROPERTY according to FUNC, in LOCALE.
This function is ugly and messy and is primarily used as an internal
helper function for `make-face-bold' et al., so you probably don't
the specification; otherwise, the process just outlined is
iterated over each existing device and the concatenated results
substituted for the specification."
- (let ((sp (face-property face property)))
+ (let ((sp (face-property face property))
+ temp-sp)
(if (valid-specifier-domain-p locale)
;; this is easy.
(let* ((inst (face-property-instance face property locale))
(name (and inst (funcall func inst (dfw-device locale)))))
(when name
- (add-spec-to-specifier sp name locale)))
+ (add-spec-to-specifier sp name locale tags)))
;; otherwise, map over all specifications ...
;; but first, some further kludging:
;; (1) if we're frobbing the global property, make sure
;; (2) if we're frobbing a particular locale, nothing would
;; happen if that locale has no instantiators. So signal
;; an error to indicate this.
- (if (and (or (eq locale 'global) (eq locale 'all) (not locale))
- (not (face-property face property 'global)))
- (copy-specifier (face-property 'default property)
- (face-property face property)
- 'global))
+
+ (setq temp-sp
+ (if (and (or (eq locale 'global) (eq locale 'all) (not locale))
+ (not (face-property face property 'global)))
+ (copy-specifier (face-property 'default property)
+ nil 'global)
+ sp))
(if (and (valid-specifier-locale-p locale)
- (not (face-property face property locale)))
+ (not (specifier-specs temp-sp locale)))
(error "Property must have a specification in locale %S" locale))
(map-specifier
- sp
- (lambda (sp locale inst-list func)
+ temp-sp
+ (lambda (sp-arg locale inst-list func)
(let* ((device (dfw-device locale))
;; if a device can be derived from the locale,
;; call frob-face-property-1 for that device.
;; Otherwise map frob-face-property-1 over each device.
(result
(if device
- (list (frob-face-property-1 sp device inst-list func))
+ (list (frob-face-property-1 sp-arg device inst-list func))
(mapcar (lambda (device)
- (frob-face-property-1 sp device
+ (frob-face-property-1 sp-arg device
inst-list func))
(device-list))))
new-result)
;; remove duplicates and nils from the obtained list of
- ;; instantiators.
+ ;; instantiators. Also add tags amd remove 'defaults'.
(mapcar (lambda (arg)
- (when (and arg (not (member arg new-result)))
+ (when arg
+ (if (not (consp arg))
+ (setq arg (cons tags arg))
+ (setcar arg (append tags (delete 'default
+ (car arg))))))
+ (when (and arg (not (member arg new-result)))
(setq new-result (cons arg new-result))))
result)
;; add back in.
(setq inst-list (cdr inst-list)))
(or result first-valid)))
-(defun frob-face-font-2 (face locale unfrobbed-face frobbed-face
+(defun frob-face-font-2 (face locale tags unfrobbed-face frobbed-face
tty-thunk x-thunk standard-face-mapping)
;; another kludge to make things more intuitive. If we're
;; inheriting from a standard face in this locale, frob the
(not (equal (face-property-instance face 'font domain)
(face-property-instance unfrobbed-face 'font domain)))
(set-face-property face 'font (vector frobbed-face)
- the-locale))))))
+ the-locale tags))))))
-(defun make-face-bold (face &optional locale)
+(defun make-face-bold (face &optional locale tags)
"Make FACE bold in LOCALE, if possible.
This will attempt to make the font bold for X locales and will set the
highlight flag for TTY locales.
circumstances."
(interactive (list (read-face-name "Make which face bold: ")))
(frob-face-font-2
- face locale 'default 'bold
+ face locale tags 'default 'bold
(lambda ()
;; handle TTY specific entries
(when (featurep 'tty)
- (set-face-highlight-p face t locale 'tty)))
+ (set-face-highlight-p face t locale (cons 'tty tags))))
(lambda ()
;; handle X specific entries
(when (featurep 'x)
- (frob-face-property face 'font 'x-make-font-bold locale))
+ (frob-face-property face 'font 'x-make-font-bold locale tags))
(when (featurep 'mswindows)
- (frob-face-property face 'font 'mswindows-make-font-bold locale))
+ (frob-face-property face 'font 'mswindows-make-font-bold locale tags))
)
'(([default] . [bold])
([bold] . t)
([italic] . [bold-italic])
([bold-italic] . t))))
-(defun make-face-italic (face &optional locale)
+(defun make-face-italic (face &optional locale tags)
"Make FACE italic in LOCALE, if possible.
This will attempt to make the font italic for X locales and will set
the underline flag for TTY locales.
for more specifics on exactly how this function works."
(interactive (list (read-face-name "Make which face italic: ")))
(frob-face-font-2
- face locale 'default 'italic
+ face locale tags 'default 'italic
(lambda ()
;; handle TTY specific entries
(when (featurep 'tty)
- (set-face-underline-p face t locale 'tty)))
+ (set-face-underline-p face t locale (cons 'tty tags))))
(lambda ()
;; handle X specific entries
(when (featurep 'x)
- (frob-face-property face 'font 'x-make-font-italic locale))
+ (frob-face-property face 'font 'x-make-font-italic locale tags))
(when (featurep 'mswindows)
- (frob-face-property face 'font 'mswindows-make-font-italic locale))
+ (frob-face-property face 'font 'mswindows-make-font-italic locale tags))
)
'(([default] . [italic])
([bold] . [bold-italic])
([italic] . t)
([bold-italic] . t))))
-(defun make-face-bold-italic (face &optional locale)
+(defun make-face-bold-italic (face &optional locale tags)
"Make FACE bold and italic in LOCALE, if possible.
This will attempt to make the font bold-italic for X locales and will
set the highlight and underline flags for TTY locales.
for more specifics on exactly how this function works."
(interactive (list (read-face-name "Make which face bold-italic: ")))
(frob-face-font-2
- face locale 'default 'bold-italic
+ face locale tags 'default 'bold-italic
(lambda ()
;; handle TTY specific entries
(when (featurep 'tty)
- (set-face-highlight-p face t locale 'tty)
- (set-face-underline-p face t locale 'tty)))
+ (set-face-highlight-p face t locale (cons 'tty tags))
+ (set-face-underline-p face t locale (cons 'tty tags))))
(lambda ()
;; handle X specific entries
(when (featurep 'x)
- (frob-face-property face 'font 'x-make-font-bold-italic locale))
+ (frob-face-property face 'font 'x-make-font-bold-italic locale tags))
(when (featurep 'mswindows)
- (frob-face-property face 'font 'mswindows-make-font-bold-italic locale))
+ (frob-face-property face 'font 'mswindows-make-font-bold-italic locale tags))
)
'(([default] . [italic])
([bold] . [bold-italic])
([italic] . [bold-italic])
([bold-italic] . t))))
-(defun make-face-unbold (face &optional locale)
+(defun make-face-unbold (face &optional locale tags)
"Make FACE non-bold in LOCALE, if possible.
This will attempt to make the font non-bold for X locales and will
unset the highlight flag for TTY locales.
for more specifics on exactly how this function works."
(interactive (list (read-face-name "Make which face non-bold: ")))
(frob-face-font-2
- face locale 'bold 'default
+ face locale tags 'bold 'default
(lambda ()
;; handle TTY specific entries
(when (featurep 'tty)
- (set-face-highlight-p face nil locale 'tty)))
+ (set-face-highlight-p face nil locale (cons 'tty tags))))
(lambda ()
;; handle X specific entries
(when (featurep 'x)
- (frob-face-property face 'font 'x-make-font-unbold locale))
+ (frob-face-property face 'font 'x-make-font-unbold locale tags))
(when (featurep 'mswindows)
- (frob-face-property face 'font 'mswindows-make-font-unbold locale))
+ (frob-face-property face 'font 'mswindows-make-font-unbold locale tags))
)
'(([default] . t)
([bold] . [default])
([italic] . t)
([bold-italic] . [italic]))))
-(defun make-face-unitalic (face &optional locale)
+(defun make-face-unitalic (face &optional locale tags)
"Make FACE non-italic in LOCALE, if possible.
This will attempt to make the font non-italic for X locales and will
unset the underline flag for TTY locales.
for more specifics on exactly how this function works."
(interactive (list (read-face-name "Make which face non-italic: ")))
(frob-face-font-2
- face locale 'italic 'default
+ face locale tags 'italic 'default
(lambda ()
;; handle TTY specific entries
(when (featurep 'tty)
- (set-face-underline-p face nil locale 'tty)))
+ (set-face-underline-p face nil locale (cons 'tty tags))))
(lambda ()
;; handle X specific entries
(when (featurep 'x)
- (frob-face-property face 'font 'x-make-font-unitalic locale))
+ (frob-face-property face 'font 'x-make-font-unitalic locale tags))
(when (featurep 'mswindows)
- (frob-face-property face 'font 'mswindows-make-font-unitalic locale))
+ (frob-face-property face 'font 'mswindows-make-font-unitalic locale tags))
)
'(([default] . t)
([bold] . t)
;; Old name, used by custom. Also, FSFmacs name.
(defvaralias 'initialize-face-resources 'init-face-from-resources)
-(defun face-spec-set (face spec &optional frame)
+;; Make sure all custom setting are added with this tag so we can
+;; identify-them
+(define-specifier-tag 'custom)
+
+(defun face-spec-set (face spec &optional frame tags)
"Set FACE's face attributes according to the first matching entry in SPEC.
If optional FRAME is non-nil, set it for that frame only.
If it is nil, then apply SPEC to each frame individually.
See `defface' for information about SPEC."
(if frame
(progn
- (reset-face face frame)
- (face-display-set face spec frame)
+ (reset-face face frame tags)
+ (face-display-set face spec frame tags)
(init-face-from-resources face frame))
(let ((frames (relevant-custom-frames)))
- (reset-face face)
- (if (and (eq 'default face) (featurep 'x))
- (x-init-global-faces))
- (face-display-set face spec)
+ (reset-face face nil tags)
+ ;; This should not be needed. We only remove our own specifiers
+ ;; (if (and (eq 'default face) (featurep 'x))
+ ;; (x-init-global-faces))
+ (face-display-set face spec nil tags)
(while frames
- (face-display-set face spec (car frames))
+ (face-display-set face spec (car frames) tags)
(pop frames))
(init-face-from-resources face))))
-(defun face-display-set (face spec &optional frame)
+(defun face-display-set (face spec &optional frame tags)
"Set FACE to the attributes to the first matching entry in SPEC.
Iff optional FRAME is non-nil, set it for that frame only.
See `defface' for information about SPEC."
(when (face-spec-set-match-display display frame)
;; Avoid creating frame local duplicates of the global face.
(unless (and frame (eq display (get face 'custom-face-display)))
- (apply 'face-custom-attributes-set face frame atts))
+ (apply 'face-custom-attributes-set face frame tags atts))
(unless frame
(put face 'custom-face-display display))
(setq spec nil)))))
(set-face-font 'default new-default-face-font
(and font-menu-this-frame-only-p (selected-frame)))
;; OK Let Customize do it.
- (when (and family (not (equal family from-family)))
- (setq new-props (append (list :family family) new-props)))
- (when (and size (not (equal size from-size)))
- (setq new-props (append
- (list :size (concat (int-to-string (/ size (specifier-instance
- font-menu-size-scaling
- (selected-device)))) "pt")) new-props)))
- (custom-set-face-update-spec 'default '((type x)) new-props)
+ (custom-set-face-update-spec 'default
+ (list (list 'type (device-type)))
+ (list :family family
+ :size (concat
+ (int-to-string
+ (/ size
+ (specifier-instance font-menu-size-scaling
+ (selected-device))))
+ "pt")))
(message "Font %s" (face-font-name 'default)))))
;; Author: Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch>
;; Maintainer: Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch>
;; Created: Jan 1998
-;; Version: $Revision: 1.7.2.5 $
+;; Version: $Revision: 1.7.2.3 $
;; Keywords: help comm
;; This file is part of XEmacs
;; Last Modified By: Heiko M|nkel <muenkel@tnt.uni-hannover.de>
;; Additional XEmacs integration By: Chuck Thompson <cthomp@cs.uiuc.edu>
;; Last Modified On: Thu Jul 1 14:23:00 1994
-;; RCS Info : $Revision: 1.3.2.2 $ $Locker: $
+;; RCS Info : $Revision: 1.3.2.1 $ $Locker: $
;; ========================================================================
;; NOTE: XEmacs must be redumped if this file is changed.
;;
(defun insert-selection (&optional check-cutbuffer-p move-point-event)
"Insert the current selection into buffer at point."
(interactive "P")
+ ;; we fallback to the clipboard if the current selection is not existent
(let ((text (if check-cutbuffer-p
- (or (condition-case () (get-selection) (error ()))
+ (or (get-selection-no-error)
(get-cutbuffer)
- (error "No selection or cut buffer available"))
- (get-selection))))
+ (get-selection-no-error 'CLIPBOARD)
+ (error "No selection, clipboard or cut buffer available"))
+ (or (get-selection-no-error)
+ (get-selection 'CLIPBOARD)))))
(cond (move-point-event
(mouse-set-point move-point-event)
(push-mark (point)))
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
?\e$B(!\e(B ?\e$B("\e(B ?\e$B(#\e(B ?\e$B($\e(B ?\e$B(&\e(B ?\e$B(%\e(B ?\e$B('\e(B ?\e$B()\e(B ?\e$B((\e(B ?\e$B(*\e(B ?\e$B(+\e(B 32 ?\e$(G#'\e(B ?\e$(G#+\e(B ?\e$(G#/\e(B 32
- 144 ?\e$(C"F\e(B 146 147 ?\e$B"#\e(B 149 ?\e$B"e\e(B ?\e$A!V\e(B ?\e$A!\\e(B ?\e$A!]\e(B ?\e.A\eN 32 ?\eN0 ?\eN2 ?\eN7 ?\eNw
+ 32 ?\e$(C"F\e(B 32 32 ?\e$B"#\e(B 32 ?\e$B"e\e(B ?\e$A!V\e(B ?\e$A!\\e(B ?\e$A!]\e(B ?\e.A\eN 32 ?\eN0 ?\eN2 ?\eN7 ?\eNw
?\e$(G#D\e(B 32 32 ?\e.L\eNq 32 32 32 32 32 32 32 32 32 32 32 ?\e$(G#E\e(B
32 32 ?\e$(G#G\e(B ?\e.L\eN! 32 32 32 32 32 32 32 32 ?\e$(G#F\e(B 32 32 ?\e.A\eN)
?\e.L\eNn ?\eNP ?\eNQ ?\eNf ?\eNT ?\eNU ?\eNd ?\eNS ?\eNe ?\eNX ?\eNY ?\eNZ ?\eN[ ?\eN\ ?\eN] ?\eN^
If a list is provided, the types are tried in sequence until
there is a successful conversion.")
+(defvar selection-is-clipboard-p nil
+ "Controls the selection's relationship to the clipboard.
+When non-nil, any operation that sets the primary selection will also
+set the clipboard.")
+
(defun copy-primary-selection ()
"Copy the selection to the Clipboard and the kill ring."
(interactive)
"Return the value of a Windows 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."
+says how to convert the data. If there is no selection an error is signalled."
+ (let ((text (get-selection-no-error type data-type)))
+ (when (not (stringp text))
+ (error "Selection is not a string: %S" text))
+ text))
+
+(defun get-selection-no-error (&optional type data-type)
+ "Return the value of a Windows 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. Returns NIL if there is no selection"
(or type (setq type 'PRIMARY))
(or data-type (setq data-type selected-text-type))
(let ((text
(get-selection-internal type data-type))))
(when (and (consp text) (symbolp (car text)))
(setq text (cdr text)))
- (when (not (stringp text))
- (error "Selection is not a string: %S" text))
text))
;; FSFmacs calls this `x-set-selection', and reverses the
valid))
(signal 'error (list "invalid selection" data)))
(or type (setq type 'PRIMARY))
- (if data
- (own-selection-internal type data)
- (disown-selection-internal type))
+ (if (null data)
+ (disown-selection-internal type)
+ (own-selection-internal type data)
+ (when (and (eq type 'PRIMARY)
+ selection-is-clipboard-p)
+ (own-selection-internal 'CLIPBOARD data)))
(cond ((eq type 'PRIMARY)
(setq primary-selection-extent
(select-make-extent-for-selection
(list (cons ;; these need not be ordered.
(copy-marker (point-marker))
(copy-marker (mark-marker))))))
- (x-own-selection selection 'SECONDARY))
+ (own-selection selection 'SECONDARY))
(defun x-notice-selection-requests (selection type successful)
"for possible use as the value of x-sent-selection-hooks."
(defun xselect-kill-buffer-hook-1 (selection)
(let (value)
- (if (and (x-selection-owner-p selection)
+ (if (and (selection-owner-p selection)
(setq value (get-selection-internal selection '_EMACS_INTERNAL))
;; The _EMACS_INTERNAL selection type has a converter registered
;; for it that does no translation. This only works if emacs is
+1999-06-11 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.16 is released
+
1999-06-04 XEmacs Build Bot <builds@cvs.xemacs.org>
* XEmacs 21.2.15 is released
+1999-06-11 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.16 is released
+
1999-06-04 XEmacs Build Bot <builds@cvs.xemacs.org>
* XEmacs 21.2.15 is released
@setfilename ../info/info.info
@settitle Info 1.0
@comment %**end of header
-@comment $Id: info.texi,v 1.4 1998/06/30 06:35:28 steve Exp $
+@comment $Id: info.texi,v 1.4 1997/07/10 21:58:11 karl Exp $
@dircategory Texinfo documentation system
@direntry
% texinfo.tex -- TeX macros to handle Texinfo files.
-% $Id: texinfo.tex,v 1.5 1998/06/13 04:28:12 steve Exp $
+% $Id: texinfo.tex,v 2.227 1998/02/25 22:54:34 karl Exp $
%
% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98
% Free Software Foundation, Inc.
% This automatically updates the version number based on RCS.
\def\deftexinfoversion$#1: #2 ${\def\texinfoversion{#2}}
-\deftexinfoversion$Revision: 1.5 $
+\deftexinfoversion$Revision: 2.227 $
\message{Loading texinfo package [Version \texinfoversion]:}
% If in a .fmt file, print the version number
\input texinfo.tex @c -*-texinfo-*-
-@c $Id: texinfo.texi,v 1.8.2.1 1999/03/04 15:48:24 steveb Exp $
+@c $Id: texinfo.txi,v 1.50 1998/02/27 21:21:34 karl Exp $
@c %**start of header
@c All text is ignored before the setfilename.
@finalout
@titlepage
@title XEmacs FAQ
-@subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 1999/05/13 12:26:40 $
+@subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 1999/03/04 15:48:25 $
@sp 1
@author Tony Rossini <arossini@@stat.sc.edu>
@author Ben Wing <wing@@666.com>
+1999-06-11 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.16 is released
+
1999-05-14 Adrian Aichner <aichner@ecf.teradyne.com>
* xemacs.mak (GUNG_HO): Explicitly default to 0.
+1999-06-11 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.16 is released
+
+1999-06-10 Andy Piper <andy@xemacs.org>
+
+ * select-msw.c (mswindows_own_selection): only set the clipboard
+ if asked.
+ (mswindows_get_foreign_selection): only get the clipboard if
+ asked.
+ (mswindows_disown_selection): only disown the clipboard if asked.
+
1999-06-03 MORIOKA Tomohiko <tomo@etl.go.jp>
* file-coding.c (coding_system_from_mask): Use `raw-text' instead
Lisp_Object converted_value = get_local_selection (selection_name, QSTRING);
if (!NILP (converted_value) &&
CONSP (converted_value) &&
- EQ (XCAR (converted_value), QSTRING))
+ EQ (XCAR (converted_value), QSTRING) &&
+ /* pure mswindows behaviour only says we can own the selection
+ if it is the clipboard */
+ EQ (selection_name, QCLIPBOARD))
Fmswindows_set_clipboard (XCDR (converted_value));
return Qnil;
static Lisp_Object
mswindows_get_foreign_selection (Lisp_Object selection_symbol, Lisp_Object target_type)
{
- return Fmswindows_get_clipboard ();
+ if (EQ (selection_symbol, QCLIPBOARD))
+ return Fmswindows_get_clipboard ();
+ else
+ return Qnil;
}
DEFUN ("mswindows-selection-exists-p", Fmswindows_selection_exists_p, 0, 0, 0, /*
static void
mswindows_disown_selection (Lisp_Object selection, Lisp_Object timeval)
{
- Fmswindows_delete_selection ();
+ if (EQ (selection, QCLIPBOARD))
+ Fmswindows_delete_selection ();
}
\f
/* Synched up with: Not in FSF. */
-/* #pragma ident "@(#) $Id: unexsol2.c,v 1.3 1997/10/13 03:35:33 steve Exp $" */
+/* #pragma ident "@(#) $Id: unexsol2.c,v 1.2 1995/01/25 20:39:16 georgn Exp $" */
#include <stdlib.h>
#include <stdio.h>
+1999-06-11 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.16 is released
+
1999-06-07 Hrvoje Niksic <hniksic@srce.hr>
* automated/base64-tests.el: Check for error instead for nil where
emacs_is_beta=t
emacs_major_version=21
emacs_minor_version=2
-emacs_beta_version=15
-xemacs_codename="Sakuragawa"
+emacs_beta_version=16
+xemacs_codename="Sumida"
infodock_major_version=4
infodock_minor_version=0
infodock_build_version=7