From: tomo Date: Thu, 17 Jun 1999 06:38:09 +0000 (+0000) Subject: Sync with r21-2-16. X-Git-Tag: r21-2-16-utf-2000-0_2-0~1 X-Git-Url: http://git.chise.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b540e469915b0c7df8ca3036e4ed8a5a5d4e0fce;p=chise%2Fxemacs-chise.git Sync with r21-2-16. --- diff --git a/CHANGES-beta b/CHANGES-beta index e8dcf06..401605d 100644 --- a/CHANGES-beta +++ b/CHANGES-beta @@ -1,4 +1,11 @@ -*- 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, diff --git a/ChangeLog b/ChangeLog index 6a136c0..e7b351f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,10 @@ * configure.in: Add new option `--with-utf-2000'; define `UTF2000' if it is specified. +1999-06-11 XEmacs Build Bot + + * XEmacs 21.2.16 is released + 1999-06-04 SL Baur * configure.in (CPP): Correct test for locating $site_prefix diff --git a/dynodump/_dynodump.h b/dynodump/_dynodump.h index 847c4eb..c09bd7f 100644 --- a/dynodump/_dynodump.h +++ b/dynodump/_dynodump.h @@ -32,7 +32,7 @@ * 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 diff --git a/dynodump/dynodump.c b/dynodump/dynodump.c index ff4477d..b684813 100644 --- a/dynodump/dynodump.c +++ b/dynodump/dynodump.c @@ -73,7 +73,7 @@ * 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 diff --git a/dynodump/i386/_relocate.c b/dynodump/i386/_relocate.c index f97dd1b..d3ec59c 100644 --- a/dynodump/i386/_relocate.c +++ b/dynodump/i386/_relocate.c @@ -32,7 +32,7 @@ * 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 */ diff --git a/dynodump/i386/machdep.h b/dynodump/i386/machdep.h index 4dc66fe..c90e29c 100644 --- a/dynodump/i386/machdep.h +++ b/dynodump/i386/machdep.h @@ -32,7 +32,7 @@ * 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 diff --git a/dynodump/ppc/_relocate.c b/dynodump/ppc/_relocate.c index 754b417..feb5ca9 100644 --- a/dynodump/ppc/_relocate.c +++ b/dynodump/ppc/_relocate.c @@ -32,7 +32,7 @@ * 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 */ diff --git a/dynodump/ppc/machdep.h b/dynodump/ppc/machdep.h index a649a9c..2a3d1e6 100644 --- a/dynodump/ppc/machdep.h +++ b/dynodump/ppc/machdep.h @@ -32,7 +32,7 @@ * 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 diff --git a/dynodump/sparc/_relocate.c b/dynodump/sparc/_relocate.c index 14466f0..10b0fda 100644 --- a/dynodump/sparc/_relocate.c +++ b/dynodump/sparc/_relocate.c @@ -35,7 +35,7 @@ /* * 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 #include diff --git a/dynodump/sparc/machdep.h b/dynodump/sparc/machdep.h index b4b76d8..972081e 100644 --- a/dynodump/sparc/machdep.h +++ b/dynodump/sparc/machdep.h @@ -32,7 +32,7 @@ * 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 diff --git a/dynodump/syms.c b/dynodump/syms.c index 0ac5cb8..c060f33 100644 --- a/dynodump/syms.c +++ b/dynodump/syms.c @@ -35,7 +35,7 @@ /* * 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 #include diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index c8fe1c9..fa9d5e1 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,7 @@ +1999-06-11 XEmacs Build Bot + + * XEmacs 21.2.16 is released + 1999-06-04 XEmacs Build Bot * XEmacs 21.2.15 is released diff --git a/lib-src/rcs2log b/lib-src/rcs2log index 8fa12d9..2a9e7d1 100755 --- a/lib-src/rcs2log +++ b/lib-src/rcs2log @@ -28,7 +28,7 @@ Options: Report bugs to .' -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. diff --git a/lisp/coding.el b/lisp/coding.el index 5a4a1c4..d47e0a3 100644 --- a/lisp/coding.el +++ b/lisp/coding.el @@ -115,7 +115,9 @@ or a function symbol which, when called, returns such a cons cell." (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) diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el index 339f262..efe6ffb 100644 --- a/lisp/cus-edit.el +++ b/lisp/cus-edit.el @@ -2288,12 +2288,7 @@ Match frames with dark backgrounds") (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 @@ -2392,7 +2387,7 @@ Optional EVENT is the location for the menu." (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))) @@ -2401,7 +2396,7 @@ Optional EVENT is the location for the menu." (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) @@ -2416,7 +2411,7 @@ Optional EVENT is the location for the menu." (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))) @@ -2432,7 +2427,7 @@ Optional EVENT is the location for the menu." (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))) diff --git a/lisp/cus-face.el b/lisp/cus-face.el index 6be65ba..ddc6c87 100644 --- a/lisp/cus-face.el +++ b/lisp/cus-face.el @@ -39,12 +39,12 @@ 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)) @@ -110,7 +110,7 @@ be changed. 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'. @@ -121,7 +121,7 @@ If FRAME is nil, set the default face." (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) @@ -157,11 +157,11 @@ If FRAME is nil, use the default face." (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 @@ -176,15 +176,15 @@ If FRAME is nil, use the default face." (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))) @@ -196,13 +196,13 @@ If FRAME is nil, use the default face." (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." @@ -211,13 +211,13 @@ If FRAME is nil, use the default face." (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." @@ -233,7 +233,7 @@ If FRAME is nil, use the default 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. @@ -260,7 +260,7 @@ See `defface' for the format of SPEC." (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)) diff --git a/lisp/faces.el b/lisp/faces.el index 8231011..b9dc478 100644 --- a/lisp/faces.el +++ b/lisp/faces.el @@ -794,7 +794,7 @@ See `face-property-instance' for the semantics of the DOMAIN argument." ;; 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 @@ -814,13 +814,14 @@ first valid instantiator is used), and that result substituted for 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 @@ -832,33 +833,40 @@ substituted for the specification." ;; (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. @@ -886,7 +894,7 @@ substituted for the specification." (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 @@ -934,9 +942,9 @@ substituted for the specification." (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. @@ -965,24 +973,24 @@ but it makes `make-face-bold' have more intuitive behavior in many 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. @@ -990,24 +998,24 @@ See `make-face-bold' for the semantics of the LOCALE argument and 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. @@ -1015,25 +1023,25 @@ See `make-face-bold' for the semantics of the LOCALE argument and 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. @@ -1041,24 +1049,24 @@ See `make-face-bold' for the semantics of the LOCALE argument and 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. @@ -1066,17 +1074,17 @@ See `make-face-bold' for the semantics of the LOCALE argument and 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) @@ -1197,27 +1205,32 @@ examine the brightness for you." ;; 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." @@ -1228,7 +1241,7 @@ 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))))) diff --git a/lisp/font-menu.el b/lisp/font-menu.el index c406ddc..0103764 100644 --- a/lisp/font-menu.el +++ b/lisp/font-menu.el @@ -395,14 +395,15 @@ or if you change your font path, you can call this to re-initialize the menus." (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))))) diff --git a/lisp/ldap.el b/lisp/ldap.el index bb31a83..4006514 100644 --- a/lisp/ldap.el +++ b/lisp/ldap.el @@ -5,7 +5,7 @@ ;; Author: Oscar Figueiredo ;; Maintainer: Oscar Figueiredo ;; Created: Jan 1998 -;; Version: $Revision: 1.7.2.5 $ +;; Version: $Revision: 1.7.2.3 $ ;; Keywords: help comm ;; This file is part of XEmacs diff --git a/lisp/lib-complete.el b/lisp/lib-complete.el index 3713295..7ae20c3 100644 --- a/lisp/lib-complete.el +++ b/lisp/lib-complete.el @@ -38,7 +38,7 @@ ;; Last Modified By: Heiko M|nkel ;; Additional XEmacs integration By: Chuck Thompson ;; 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. ;; diff --git a/lisp/mouse.el b/lisp/mouse.el index c42c8aa..54dafc7 100644 --- a/lisp/mouse.el +++ b/lisp/mouse.el @@ -114,11 +114,14 @@ A mark is pushed, so that the inserted text lies between point and mark." (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))) diff --git a/lisp/mule/cyrillic.el b/lisp/mule/cyrillic.el index 1c06e6c..15ed22b 100644 --- a/lisp/mule/cyrillic.el +++ b/lisp/mule/cyrillic.el @@ -96,7 +96,7 @@ 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 ?$B(!(B ?$B("(B ?$B(#(B ?$B($(B ?$B(&(B ?$B(%(B ?$B('(B ?$B()(B ?$B(((B ?$B(*(B ?$B(+(B 32 ?$(G#'(B ?$(G#+(B ?$(G#/(B 32 - 32 ?$(C"F(B 32 32 ?$B"#(B 32 ?$B"e(B ?$A!V(B ?$A!\(B ?$A!](B ?.AN 32 ?N0 ?N2 ?N7 ?Nw + 32 ?$(C"F(B 32 32 ?$B"#(B 32 ?$B"e(B ?$A!V(B ?$A!\(B ?$A!](B ?.LN 32 ?.AN0 ?N2 ?N7 ?Nw ?$(G#D(B 32 32 ?.LNq 32 32 32 32 32 32 32 32 32 32 32 ?$(G#E(B 32 32 ?$(G#G(B ?.LN! 32 32 32 32 32 32 32 32 ?$(G#F(B 32 32 ?.AN) ?.LNn ?NP ?NQ ?Nf ?NT ?NU ?Nd ?NS ?Ne ?NX ?NY ?NZ ?N[ ?N\ ?N] ?N^ diff --git a/lisp/mule/thai-xtis.el b/lisp/mule/thai-xtis.el index 1fe6b88..2b16c2b 100644 --- a/lisp/mule/thai-xtis.el +++ b/lisp/mule/thai-xtis.el @@ -36,8 +36,9 @@ (when (featurep 'xemacs) (make-charset 'thai-xtis "Precomposed Thai (XTIS by Virach)." - '(registry "xtis-0$" + '(registry "xtis-0" dimension 2 + columns 1 chars 94 final ?? graphic 0)) diff --git a/lisp/select.el b/lisp/select.el index db01d6a..338ea0c 100644 --- a/lisp/select.el +++ b/lisp/select.el @@ -40,6 +40,11 @@ COMPOUND_TEXT and STRING are the most commonly used data types. 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) @@ -74,7 +79,17 @@ This will do nothing under anything other than X.") "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 @@ -88,8 +103,6 @@ says how to convert the data." (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 @@ -127,9 +140,12 @@ Interactively, the text of the region is used as the selection value." 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 diff --git a/lisp/x-select.el b/lisp/x-select.el index b3ee61c..adfec7f 100644 --- a/lisp/x-select.el +++ b/lisp/x-select.el @@ -70,7 +70,7 @@ be the text between those markers)." (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." @@ -103,7 +103,7 @@ be the text between those markers)." (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 diff --git a/lock/.precious b/lock/.precious deleted file mode 100644 index 1650a2e..0000000 --- a/lock/.precious +++ /dev/null @@ -1 +0,0 @@ -Dummy file to keep CVS happy. diff --git a/lwlib/ChangeLog b/lwlib/ChangeLog index c1d5322..9542e54 100644 --- a/lwlib/ChangeLog +++ b/lwlib/ChangeLog @@ -1,3 +1,7 @@ +1999-06-11 XEmacs Build Bot + + * XEmacs 21.2.16 is released + 1999-06-04 XEmacs Build Bot * XEmacs 21.2.15 is released diff --git a/man/ChangeLog b/man/ChangeLog index 59df456..b1e0f36 100644 --- a/man/ChangeLog +++ b/man/ChangeLog @@ -1,3 +1,7 @@ +1999-06-11 XEmacs Build Bot + + * XEmacs 21.2.16 is released + 1999-06-04 XEmacs Build Bot * XEmacs 21.2.15 is released diff --git a/man/info-stnd.texi b/man/info-stnd.texi index abb7ff8..d20bab7 100644 --- a/man/info-stnd.texi +++ b/man/info-stnd.texi @@ -9,7 +9,7 @@ @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 diff --git a/man/info.texi b/man/info.texi index 1b6c0da..d2fda6f 100644 --- a/man/info.texi +++ b/man/info.texi @@ -3,7 +3,7 @@ @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 diff --git a/man/texinfo.tex b/man/texinfo.tex index 6057ffa..3ce4715 100644 --- a/man/texinfo.tex +++ b/man/texinfo.tex @@ -1,5 +1,5 @@ % 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. @@ -44,7 +44,7 @@ % 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 diff --git a/man/texinfo.texi b/man/texinfo.texi index e5cd94d..0bc09a7 100644 --- a/man/texinfo.texi +++ b/man/texinfo.texi @@ -1,5 +1,5 @@ \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. diff --git a/man/xemacs-faq.texi b/man/xemacs-faq.texi index 666e99b..76641d8 100644 --- a/man/xemacs-faq.texi +++ b/man/xemacs-faq.texi @@ -7,7 +7,7 @@ @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 @author Ben Wing diff --git a/nt/ChangeLog b/nt/ChangeLog index c5213bf..44c5788 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog @@ -1,3 +1,7 @@ +1999-06-11 XEmacs Build Bot + + * XEmacs 21.2.16 is released + 1999-05-14 Adrian Aichner <aichner@ecf.teradyne.com> * xemacs.mak (GUNG_HO): Explicitly default to 0. diff --git a/src/ChangeLog b/src/ChangeLog index f855517..d60babc 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -129,6 +129,37 @@ (Vcharset_thai_tis620): Likewise. (Vcharset_katakana_jisx0201): Likewise. +1999-06-12 MORIOKA Tomohiko + + * redisplay-x.c (separate_textual_runs): Run `ccl_driver' with + `CCL_MODE_ENCODING'. + + * file-coding.c (mule_decode): Run `ccl_driver' with + `CCL_MODE_DECODING'. + (mule_encode): Run `ccl_driver' with `CCL_MODE_ENCODING'. + + * mule-ccl.c (CCL_WRITE_CHAR): Refer `conversion_mode'. + (ccl_driver): Add new argument `conversion_mode'. + (Fccl_execute): Run `ccl_driver' with `CCL_MODE_ENCODING'. + (Fccl_execute_on_string): Likewise [perhaps it is better to add + new optional argument]. + + * mule-ccl.h (CCL_MODE_ENCODING): New macro. + (CCL_MODE_DECODING): New macro. + (ccl_driver): Add new argument `conversion_mode'. + +1999-06-11 XEmacs Build Bot + + * XEmacs 21.2.16 is released + +1999-06-10 Andy Piper + + * 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 * file-coding.c (coding_system_from_mask): Use `raw-text' instead diff --git a/src/file-coding.c b/src/file-coding.c index 808d343..ab93ad9 100644 --- a/src/file-coding.c +++ b/src/file-coding.c @@ -2177,7 +2177,7 @@ mule_decode (Lstream *decoding, CONST unsigned char *src, decode_coding_utf8 (decoding, src, dst, n); break; case CODESYS_CCL: - ccl_driver (&str->ccl, src, dst, n, 0); + ccl_driver (&str->ccl, src, dst, n, 0, CCL_MODE_DECODING); break; case CODESYS_ISO2022: decode_coding_iso2022 (decoding, src, dst, n); @@ -2593,7 +2593,7 @@ mule_encode (Lstream *encoding, CONST unsigned char *src, encode_coding_utf8 (encoding, src, dst, n); break; case CODESYS_CCL: - ccl_driver (&str->ccl, src, dst, n, 0); + ccl_driver (&str->ccl, src, dst, n, 0, CCL_MODE_ENCODING); break; case CODESYS_ISO2022: encode_coding_iso2022 (encoding, src, dst, n); diff --git a/src/mule-ccl.c b/src/mule-ccl.c index 70f26a6..ab4cd67 100644 --- a/src/mule-ccl.c +++ b/src/mule-ccl.c @@ -447,7 +447,8 @@ Lisp_Object Vccl_program_table; else \ { \ Bufbyte work[MAX_EMCHAR_LEN]; \ - int len = ( ch < 256 ) ? \ + int len = ( ch < ( conversion_mode == CCL_MODE_ENCODING ? \ + 256 : 128 ) ) ? \ simple_set_charptr_emchar (work, ch) : \ non_ascii_set_charptr_emchar (work, ch); \ Dynarr_add_many (destination, work, len); \ @@ -517,7 +518,7 @@ struct ccl_prog_stack }; int -ccl_driver (struct ccl_program *ccl, CONST unsigned char *source, unsigned_char_dynarr *destination, int src_bytes, int *consumed) +ccl_driver (struct ccl_program *ccl, CONST unsigned char *source, unsigned_char_dynarr *destination, int src_bytes, int *consumed, int conversion_mode) { int *reg = ccl->reg; int ic = ccl->ic; @@ -978,7 +979,7 @@ As side effect, each element of REGISTER holds the value of : 0); ccl_driver (&ccl, (CONST unsigned char *)0, (unsigned_char_dynarr *)0, - 0, (int *)0); + 0, (int *)0, CCL_MODE_ENCODING); QUIT; if (ccl.status != CCL_STAT_SUCCESS) error ("Error in CCL program at %dth code", ccl.ic); @@ -1035,7 +1036,7 @@ CCL-PROGRAM on exit. outbuf = Dynarr_new (unsigned_char); ccl.last_block = NILP (contin); produced = ccl_driver (&ccl, XSTRING_DATA (str), outbuf, - XSTRING_LENGTH (str), (int *)0); + XSTRING_LENGTH (str), (int *)0, CCL_MODE_ENCODING); for (i = 0; i < 8; i++) XVECTOR_DATA (status)[i] = make_int(ccl.reg[i]); XSETINT (XVECTOR_DATA (status)[8], ccl.ic); diff --git a/src/mule-ccl.h b/src/mule-ccl.h index 10c759d..68cbb76 100644 --- a/src/mule-ccl.h +++ b/src/mule-ccl.h @@ -43,8 +43,13 @@ struct ccl_program { should be than the input buffer. */ }; + +#define CCL_MODE_ENCODING 0 +#define CCL_MODE_DECODING 1 + int ccl_driver (struct ccl_program *ccl, CONST unsigned char *source, - unsigned_char_dynarr *destination, int src_bytes, int *consumed); + unsigned_char_dynarr *destination, int src_bytes, + int *consumed, int conversion_mode); void setup_ccl_program (struct ccl_program *ccl, Lisp_Object val); /* Alist of fontname patterns vs corresponding CCL program. */ diff --git a/src/mule-charset.c b/src/mule-charset.c index 79d1319..d2021a1 100644 --- a/src/mule-charset.c +++ b/src/mule-charset.c @@ -1386,7 +1386,7 @@ syms_of_mule_charset (void) defsymbol (&Qcomposite, "composite"); #ifdef UTF2000 - Vutf_2000_version = build_string("0.2"); + Vutf_2000_version = build_string("0.2 (JR NAMBA)"); DEFVAR_LISP ("utf-2000-version", &Vutf_2000_version /* Version number of UTF-2000. */ ); diff --git a/src/redisplay-x.c b/src/redisplay-x.c index 492231c..6555163 100644 --- a/src/redisplay-x.c +++ b/src/redisplay-x.c @@ -195,7 +195,7 @@ separate_textual_runs (unsigned char *text_storage, char_converter.reg[0] = XCHARSET_ID (charset); char_converter.reg[1] = byte1; char_converter.reg[2] = byte2; - ccl_driver (&char_converter, 0, 0, 0, 0); + ccl_driver (&char_converter, 0, 0, 0, 0, CCL_MODE_ENCODING); byte1 = char_converter.reg[1]; byte2 = char_converter.reg[2]; } diff --git a/src/select-msw.c b/src/select-msw.c index 2e4a127..616f0d6 100644 --- a/src/select-msw.c +++ b/src/select-msw.c @@ -101,7 +101,10 @@ mswindows_own_selection (Lisp_Object selection_name, Lisp_Object selection_value 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; @@ -162,7 +165,10 @@ Return the contents of the mswindows clipboard. 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, /* @@ -184,7 +190,8 @@ Remove the current MS-Windows selection from the clipboard. static void mswindows_disown_selection (Lisp_Object selection, Lisp_Object timeval) { - Fmswindows_delete_selection (); + if (EQ (selection, QCLIPBOARD)) + Fmswindows_delete_selection (); } diff --git a/src/unexsol2.c b/src/unexsol2.c index 06e71e7..d9de182 100644 --- a/src/unexsol2.c +++ b/src/unexsol2.c @@ -20,7 +20,7 @@ Boston, MA 02111-1307, USA. */ /* 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 #include diff --git a/tests/ChangeLog b/tests/ChangeLog index cd75893..080e89a 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,7 @@ +1999-06-11 XEmacs Build Bot + + * XEmacs 21.2.16 is released + 1999-06-07 Hrvoje Niksic * automated/base64-tests.el: Check for error instead for nil where diff --git a/version.sh b/version.sh index bd96260..6c03494 100644 --- a/version.sh +++ b/version.sh @@ -2,8 +2,8 @@ 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