-*- 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.
* mule/cyrillic.el (cyrillic-koi8-r-decode-table): Use NBSP of ISO
8859-5 instead of ISO 8859-1.
+1999-06-04 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * files.el (insert-file-contents-literally): Treat file as binary;
+ call file-name-handlers. [sync with Emacs 20.3.10]
+
+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-04 MORIOKA Tomohiko <tomo@etl.go.jp>
+1999-06-09 Jan Vroonhof <vroonhof@math.ethz.ch>
- * files.el (insert-file-contents-literally): Treat file as binary;
- call file-name-handlers. [sync with Emacs 20.3.10]
+ * 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>
(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)))
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
+++ /dev/null
-Dummy file to keep CVS happy.
+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
@synindex fn cp
@synindex ky cp
@comment %**end of header
-@comment $Id: info-stnd.texi,v 1.3 1998/06/30 06:35:28 steve Exp $
+@comment $Id: info-stnd.texi,v 1.3 1997/07/06 21:49:30 karl Exp $
@dircategory Texinfo documentation system
@direntry
@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.
(CCL_MODE_DECODING): New macro.
(ccl_driver): Add new argument `conversion_mode'.
+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