The below changes are necessary if
http://mid.gmane.org/18288.1954.87217.762309@parhasard.net is to be
committed to the XEmacs 21.5 trunk and if the trunk is to continue (well,
insofar as it currently does) to build the packages. The changes shouldn’t
be controversial--unless my irritation at Stephen for removing my access to
do them myself comes through in my description--and I’d appreciate it if you
could get to committing them.
xemacs-packages/calendar/ChangeLog addition:
2007-12-24 Aidan Kehoe <kehoea(a)parhasard.net>
* cal-french.el (french-calendar-accents):
Diacritical marks are always available under XEmacs.
xemacs-packages/games/ChangeLog addition:
2007-12-24 Aidan Kehoe <kehoea(a)parhasard.net>
* gamegrid.el:
* gamegrid.el (put-display-table): New.
* gamegrid.el (get-display-table): New.
Provide with #'defun-when-void, so as to not override the 21.5
implementation.
* gamegrid.el (gamegrid-setup-default-font):
* gamegrid.el (gamegrid-initialize-display):
Use #'put-display-table, #'get-display-table instead of #'aset,
#'aref.
xemacs-packages/gnus/ChangeLog addition:
2007-12-24 Aidan Kehoe <kehoea(a)parhasard.net>
* lisp/gnus-sum.el:
* lisp/gnus-sum.el (put-display-table): New.
* lisp/gnus-sum.el (get-display-table): New.
Provide with #'defun-when-void, so as to not override the 21.5
implementation.
* lisp/gnus-sum.el (gnus-summary-set-display-table):
* lisp/gnus-xmas.el (gnus-xmas-summary-set-display-table):
Use #'put-display-table, not #'aref, to deal with the case where
the display table is a char table and not a vector.
xemacs-packages/x-symbol/ChangeLog addition:
2007-12-24 Aidan Kehoe <kehoea(a)parhasard.net>
* lisp/x-symbol-nomule.el:
* lisp/x-symbol-nomule.el (put-display-table): New.
* lisp/x-symbol-nomule.el (get-display-table): New.
* lisp/x-symbol.el (put-display-table): New.
Provide with #'defun-when-void, so as not to override the 21.5
implementation.
* lisp/x-symbol-nomule.el (x-symbol-nomule-display-table):
* lisp/x-symbol.el (x-symbol-invisible-display-table):
Use #'put-display-table, #'get-display-table instead #'aset,
#'aref.
XEmacs Packages source patch:
Diff command: cvs -q diff -Nu
Files affected: xemacs-packages/x-symbol/lisp/x-symbol.el
===================================================================
RCS xemacs-packages/x-symbol/lisp/x-symbol-nomule.el
===================================================================
RCS xemacs-packages/gnus/lisp/gnus-xmas.el
===================================================================
RCS xemacs-packages/gnus/lisp/gnus-sum.el
===================================================================
RCS xemacs-packages/games/gamegrid.el
===================================================================
RCS xemacs-packages/calendar/cal-french.el
===================================================================
RCS
Index: xemacs-packages/calendar/cal-french.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/calendar/cal-french.el,v
retrieving revision 1.6
diff -u -u -r1.6 cal-french.el
--- xemacs-packages/calendar/cal-french.el 2007/04/16 02:12:25 1.6
+++ xemacs-packages/calendar/cal-french.el 2007/12/24 19:41:33
@@ -54,9 +54,9 @@
"True if diacritical marks are available."
(and (or window-system
(terminal-coding-system))
- (not (featurep 'xemacs)
- (or enable-multibyte-characters
- (and (char-table-p standard-display-table)
+ (or (featurep 'xemacs)
+ (and enable-multibyte-characters
+ (and (char-table-p standard-display-table)
(equal (aref standard-display-table 161) [161])))))
t)
Index: xemacs-packages/games/gamegrid.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/games/gamegrid.el,v
retrieving revision 1.6
diff -u -u -r1.6 gamegrid.el
--- xemacs-packages/games/gamegrid.el 2005/11/12 00:29:49 1.6
+++ xemacs-packages/games/gamegrid.el 2007/12/24 19:41:33
@@ -38,6 +38,22 @@
(eval-when-compile
(require 'cl))
+(defun-when-void put-display-table (range value display-table)
+ "Set the value for char RANGE to VALUE in DISPLAY-TABLE. "
+ (ecase (type-of display-table)
+ (vector
+ (aset display-table range value))
+ (char-table
+ (put-char-table range value display-table))))
+
+(defun-when-void get-display-table (character display-table)
+ "Find value for CHARACTER in DISPLAY-TABLE. "
+ (ecase (type-of display-table)
+ (vector
+ (aref display-table character))
+ (char-table
+ (get-char-table character display-table))))
+
;; ;;;;;;;;;;;;; buffer-local variables ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defvar gamegrid-use-glyphs t
@@ -302,7 +318,7 @@
(name (font-name font-spec))
(max-height nil))
(loop for c from 0 to 255 do
- (let ((glyph (aref gamegrid-display-table c)))
+ (let ((glyph (get-display-table c gamegrid-display-table)))
(cond ((glyphp glyph)
(let ((height (glyph-height glyph)))
(if (or (null max-height)
@@ -327,7 +343,7 @@
(glyph (gamegrid-make-glyph (car spec) (caddr spec)))
(face (gamegrid-make-face (cadr spec) (caddr spec))))
(aset gamegrid-face-table c face)
- (aset gamegrid-display-table c glyph)))
+ (put-display-table c glyph gamegrid-display-table)))
(gamegrid-setup-default-font)
(gamegrid-set-display-table)
(gamegrid-hide-cursor))
Index: xemacs-packages/gnus/lisp/gnus-sum.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/gnus/lisp/gnus-sum.el,v
retrieving revision 1.11
diff -u -u -r1.11 gnus-sum.el
--- xemacs-packages/gnus/lisp/gnus-sum.el 2007/03/05 18:07:04 1.11
+++ xemacs-packages/gnus/lisp/gnus-sum.el 2007/12/24 19:41:35
@@ -54,6 +54,22 @@
(autoload 'gnus-article-outlook-repair-attribution "deuglify" nil t)
(autoload 'gnus-article-outlook-rearrange-citation "deuglify" nil t)
+(defun-when-void put-display-table (range value display-table)
+ "Set the value for char RANGE to VALUE in DISPLAY-TABLE. "
+ (ecase (type-of display-table)
+ (vector
+ (aset display-table range value))
+ (char-table
+ (put-char-table range value display-table))))
+
+(defun-when-void get-display-table (character display-table)
+ "Find value for CHARACTER in DISPLAY-TABLE. "
+ (ecase (type-of display-table)
+ (vector
+ (aref display-table character))
+ (char-table
+ (get-char-table character display-table))))
+
(defcustom gnus-kill-summary-on-exit t
"*If non-nil, kill the summary buffer when you exit from it.
If nil, the summary will become a \"*Dead Summary*\" buffer, and
@@ -3091,13 +3107,13 @@
(i 32))
;; Nix out all the control chars...
(while (>= (setq i (1- i)) 0)
- (aset table i [??]))
+ (put-display-table i [??] table))
;; ... but not newline and cr, of course. (cr is necessary for the
;; selective display).
- (aset table ?\n nil)
- (aset table ?\r nil)
+ (put-display-table ?\n nil table)
+ (put-display-table ?\r nil table)
;; We keep TAB as well.
- (aset table ?\t nil)
+ (put-display-table ?\t nil table)
;; We nix out any glyphs 127 through 255, or 127 through 159 in
;; Emacs 23 (unicode), that are not set already.
(let ((i (if (ignore-errors (= (make-char 'latin-iso8859-1 160) 160))
@@ -3105,8 +3121,8 @@
256)))
(while (>= (setq i (1- i)) 127)
;; Only modify if the entry is nil.
- (unless (aref table i)
- (aset table i [??]))))
+ (unless (get-display-table i table)
+ (put-display-table i [??] table))))
(setq buffer-display-table table)))
(defun gnus-summary-set-article-display-arrow (pos)
Index: xemacs-packages/gnus/lisp/gnus-xmas.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/gnus/lisp/gnus-xmas.el,v
retrieving revision 1.10
diff -u -u -r1.10 gnus-xmas.el
--- xemacs-packages/gnus/lisp/gnus-xmas.el 2006/03/16 04:17:55 1.10
+++ xemacs-packages/gnus/lisp/gnus-xmas.el 2007/12/24 19:41:35
@@ -184,18 +184,18 @@
(i 32))
;; Nix out all the control chars...
(while (>= (setq i (1- i)) 0)
- (aset table i [??]))
+ (put-display-table i [??] table))
;; ... but not newline and cr, of course. (cr is necessary for the
;; selective display).
- (aset table ?\n nil)
- (aset table ?\r nil)
+ (put-display-table ?\n nil table)
+ (put-display-table ?\r nil table)
;; We keep TAB as well.
- (aset table ?\t nil)
+ (put-display-table ?\t nil table)
;; We nix out any glyphs over 126 below ctl-arrow.
(let ((i (if (integerp ctl-arrow) ctl-arrow 160)))
(while (>= (setq i (1- i)) 127)
- (unless (aref table i)
- (aset table i [??]))))
+ (unless (get-display-table i table)
+ (put-display-table i [??] table))))
;; Can't use `set-specifier' because of a bug in 19.14 and earlier
(add-spec-to-specifier current-display-table table (current-buffer) nil)))
Index: xemacs-packages/x-symbol/lisp/x-symbol-nomule.el
===================================================================
RCS file:
/pack/xemacscvs/XEmacs/packages/xemacs-packages/x-symbol/lisp/x-symbol-nomule.el,v
retrieving revision 1.3
diff -u -u -r1.3 x-symbol-nomule.el
--- xemacs-packages/x-symbol/lisp/x-symbol-nomule.el 2003/04/02 03:18:32 1.3
+++ xemacs-packages/x-symbol/lisp/x-symbol-nomule.el 2007/12/24 19:41:35
@@ -55,6 +55,22 @@
(defalias 'x-symbol-encode-charsym-after 'x-symbol-nomule-encode-charsym-after)
(defalias 'x-symbol-init-quail-bindings 'ignore)
+(defun-when-void put-display-table (range value display-table)
+ "Set the value for char RANGE to VALUE in DISPLAY-TABLE. "
+ (ecase (type-of display-table)
+ (vector
+ (aset display-table range value))
+ (char-table
+ (put-char-table range value display-table))))
+
+(defun-when-void get-display-table (character display-table)
+ "Find value for CHARACTER in DISPLAY-TABLE. "
+ (ecase (type-of display-table)
+ (vector
+ (aref display-table character))
+ (char-table
+ (get-char-table character display-table))))
+
(defvar x-symbol-nomule-mouse-yank-function mouse-yank-function
"Function that is called upon by
`x-symbol-nomule-mouse-yank-function'.")
@@ -80,11 +96,10 @@
"Internal. Face to fontify current font-lock match.")
(defvar x-symbol-nomule-display-table
- ;; display-table via characters table is not implemented in XEmacs yet...
- (let ((table (make-vector 256 nil))
+ (let ((table (make-display-table))
(i 128))
(while (< i 160)
- (aset table i "")
+ (put-display-table i "" table)
(incf i))
table)
"Display table in faces with non-standard charset registry.
Index: xemacs-packages/x-symbol/lisp/x-symbol.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/x-symbol/lisp/x-symbol.el,v
retrieving revision 1.5
diff -u -u -r1.5 x-symbol.el
--- xemacs-packages/x-symbol/lisp/x-symbol.el 2003/05/31 14:17:15 1.5
+++ xemacs-packages/x-symbol/lisp/x-symbol.el 2007/12/24 19:41:36
@@ -51,8 +51,14 @@
(defvar x-symbol-trace-invisible nil)
;; shows that invisible is reset but Emacs still shows it as invisible
+(defun-when-void put-display-table (range value display-table)
+ "Set the value for char RANGE to VALUE in DISPLAY-TABLE. "
+ (ecase (type-of display-table)
+ (vector
+ (aset display-table range value))
+ (char-table
+ (put-char-table range value display-table))))
-
;;;;##########################################################################
;;;; General code, default values for `x-symbol-*-function'
@@ -1606,7 +1612,7 @@
(let ((table (make-display-table))
(i 0))
(while (< i 256)
- (aset table i "")
+ (put-display-table i "" table)
(setq i (1+ i)))
table)
"Internal variable. Display table for `x-symbol-invisible-face'.")
--
¿Dónde estará ahora mi sobrino Yoghurtu Nghé, que tuvo que huir
precipitadamente de la aldea por culpa de la escasez de rinocerontes?
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches