Mercurial > hg > xemacs-beta
diff lisp/glyphs.el @ 4597:7191a7b120f1
Some cosmetic namespace cleanup, glyphs.el, coding.el.
lisp/ChangeLog addition:
2009-01-15 Aidan Kehoe <kehoea@parhasard.net>
* coding.el (force-coding-system-equivalency):
Move three functions that we don't want to advertise to being
anonymous lambdas instead.
* glyphs.el :
Remove #'define-constant-glyph and some functions it uses, replace
the latter with anonymous lambdas and the former and its uses with
a call to loop.
Do the same with #'define-obsolete-pointer-glyph and the functions
it uses.
(init-glyphs): Untern this symbol once the associated function has
been called; it's only needed at dump time, not at runtime.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Thu, 15 Jan 2009 19:21:43 +0000 |
parents | 6a17ac5da3c4 |
children | 1cecc3e9f0a0 |
line wrap: on
line diff
--- a/lisp/glyphs.el Tue Jan 13 12:07:27 2009 +0000 +++ b/lisp/glyphs.el Thu Jan 15 19:21:43 2009 +0000 @@ -1084,83 +1084,53 @@ (set-glyph-face gc-pointer-glyph 'pointer) ;; Now add the magic access/set behavior. - -(defun dontusethis-set-value-glyph-handler (sym args fun harg handler) - (error "Use `set-glyph-image' to set `%s'" sym)) -(defun dontusethis-make-unbound-glyph-handler (sym args fun harg handler) - (error "Can't `makunbound' `%s'" sym)) -(defun dontusethis-make-local-glyph-handler (sym args fun harg handler) - (error "Use `set-glyph-image' to make local values for `%s'" sym)) - -(defun define-constant-glyph (sym) - (dontusethis-set-symbol-value-handler - sym 'set-value - 'dontusethis-set-value-glyph-handler) - (dontusethis-set-symbol-value-handler - sym 'make-unbound - 'dontusethis-make-unbound-glyph-handler) - (dontusethis-set-symbol-value-handler - sym 'make-local - 'dontusethis-make-local-glyph-handler) - ;; Make frame properties magically work with glyph variables. +(loop + for sym in '(define-constant-glyphs text-pointer-glyph nontext-pointer-glyph + modeline-pointer-glyph selection-pointer-glyph + busy-pointer-glyph gc-pointer-glyph divider-pointer-glyph + toolbar-pointer-glyph menubar-pointer-glyph + scrollbar-pointer-glyph octal-escape-glyph + control-arrow-glyph invisible-text-glyph hscroll-glyph + truncation-glyph continuation-glyph frame-icon-glyph) + with set-value-handler = #'(lambda (sym args fun harg handler) + (error 'invalid-change + (format + "Use `set-glyph-image' to set `%s'" + sym))) + with make-unbound-handler = #'(lambda (sym args fun harg handler) + (error 'invalid-change + (format + "Can't `makunbound' `%s'" sym))) + with make-local-handler = + #'(lambda (sym args fun harg handler) + (error 'invalid-change + (format "Use `set-glyph-image' to make local values for `%s'" sym))) + do + (dontusethis-set-symbol-value-handler sym 'set-value set-value-handler) + (dontusethis-set-symbol-value-handler sym 'make-unbound make-unbound-handler) + (dontusethis-set-symbol-value-handler sym 'make-local make-local-handler) (put sym 'const-glyph-variable t)) -(define-constant-glyph 'text-pointer-glyph) -(define-constant-glyph 'nontext-pointer-glyph) -(define-constant-glyph 'modeline-pointer-glyph) -(define-constant-glyph 'selection-pointer-glyph) -(define-constant-glyph 'busy-pointer-glyph) -(define-constant-glyph 'gc-pointer-glyph) -(define-constant-glyph 'divider-pointer-glyph) -(define-constant-glyph 'toolbar-pointer-glyph) -(define-constant-glyph 'menubar-pointer-glyph) -(define-constant-glyph 'scrollbar-pointer-glyph) - -(define-constant-glyph 'octal-escape-glyph) -(define-constant-glyph 'control-arrow-glyph) -(define-constant-glyph 'invisible-text-glyph) -(define-constant-glyph 'hscroll-glyph) -(define-constant-glyph 'truncation-glyph) -(define-constant-glyph 'continuation-glyph) - -(define-constant-glyph 'frame-icon-glyph) - ;; backwards compatibility garbage -(defun dontusethis-old-pointer-shape-handler (sym args fun harg handler) - (let ((value (car args))) - (if (null value) - (remove-specifier harg 'global) - (set-glyph-image (symbol-value harg) value)))) - ;; It might or might not be garbage, but it's rude. Make these ;; `compatible' instead of `obsolete'. -slb -(defun define-obsolete-pointer-glyph (old new) +(loop + for (old new) in '((x-pointer-shape text-pointer-glyph) + (x-nontext-pointer-shape nontext-pointer-glyph) + (x-mode-pointer-shape modeline-pointer-glyph) + (x-selection-pointer-shape selection-pointer-glyph) + (x-busy-pointer-shape busy-pointer-glyph) + (x-gc-pointer-shape gc-pointer-glyph) + (x-toolbar-pointer-shape toolbar-pointer-glyph)) + with set-handler = #'(lambda (sym args fun harg handler) + (let ((value (car args))) + (if (null value) + (remove-specifier harg 'global) + (set-glyph-image (symbol-value harg) value)))) + do (define-compatible-variable-alias old new) - (dontusethis-set-symbol-value-handler - old 'set-value 'dontusethis-old-pointer-shape-handler new)) - -;;; (defvar x-pointer-shape nil) -(define-obsolete-pointer-glyph 'x-pointer-shape 'text-pointer-glyph) - -;;; (defvar x-nontext-pointer-shape nil) -(define-obsolete-pointer-glyph 'x-nontext-pointer-shape 'nontext-pointer-glyph) - -;;; (defvar x-mode-pointer-shape nil) -(define-obsolete-pointer-glyph 'x-mode-pointer-shape 'modeline-pointer-glyph) - -;;; (defvar x-selection-pointer-shape nil) -(define-obsolete-pointer-glyph 'x-selection-pointer-shape - 'selection-pointer-glyph) - -;;; (defvar x-busy-pointer-shape nil) -(define-obsolete-pointer-glyph 'x-busy-pointer-shape 'busy-pointer-glyph) - -;;; (defvar x-gc-pointer-shape nil) -(define-obsolete-pointer-glyph 'x-gc-pointer-shape 'gc-pointer-glyph) - -;;; (defvar x-toolbar-pointer-shape nil) -(define-obsolete-pointer-glyph 'x-toolbar-pointer-shape 'toolbar-pointer-glyph) + (dontusethis-set-symbol-value-handler old 'set-value set-handler)) ;; for subwindows (defalias 'subwindow-xid 'image-instance-subwindow-id) @@ -1267,4 +1237,7 @@ (init-glyphs) -;;; glyphs.el ends here. +(unintern 'init-glyphs) ;; This was dump time thing, no need to keep the + ;; function around. + +;;; glyphs.el ends here. \ No newline at end of file