# HG changeset patch # User Chong Yidong # Date 1287963655 14400 # Node ID 3b987881726e3f667db6a0394abca932ebb47167 # Parent 93d41f7676cf28078524518fd6fac04ec3d0ce5b Avoid inline image variables for checkboxes (Bug#7222). * etc/images/checked.xpm: * etc/images/unchecked.xpm: New images. * image.el (image-checkbox-checked, image-checkbox-unchecked): Deleted (Bug#7222). * startup.el (fancy-startup-tail): Instead of using inline images, refer to image files from etc/. * wid-edit.el (checkbox): Likewise. (widget-image-find): Center image specs. diff -r 93d41f7676cf -r 3b987881726e etc/ChangeLog --- a/etc/ChangeLog Sun Oct 24 15:45:10 2010 -0700 +++ b/etc/ChangeLog Sun Oct 24 19:40:55 2010 -0400 @@ -1,3 +1,8 @@ +2010-10-24 Chong Yidong + + * images/checked.xpm: + * images/unchecked.xpm: New images. + 2010-10-20 Richard Stallman * DISTRIB: Update donation section. diff -r 93d41f7676cf -r 3b987881726e etc/images/checked.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/images/checked.xpm Sun Oct 24 19:40:55 2010 -0400 @@ -0,0 +1,20 @@ +/* XPM */ +static char * checked_xpm[] = { +"12 12 5 1", +" c None", +". c gray20", +"+ c white", +"@ c gray70", +"# c black", +"............", +"............", +"..@@@@@@##+.", +"..@@@@@@##+.", +"..#@@@@##@+.", +"..##@@@##@+.", +"..###@##@@+.", +"..@#####@@+.", +"..@@###@@@+.", +"..@++##++++.", +".@+++++++++.", +"............"}; diff -r 93d41f7676cf -r 3b987881726e etc/images/unchecked.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/images/unchecked.xpm Sun Oct 24 19:40:55 2010 -0400 @@ -0,0 +1,20 @@ +/* XPM */ +static char * unchecked_xpm[] = { +"12 12 5 1", +" c None", +". c gray20", +"+ c white", +"@ c gray70", +"# c black", +"............", +"............", +"..@@@@@@@@+.", +"..@@@@@@@@+.", +"..@@@@@@@@+.", +"..@@@@@@@@+.", +"..@@@@@@@@+.", +"..@@@@@@@@+.", +"..@@@@@@@@+.", +"..@++++++++.", +".@+++++++++.", +"............"}; diff -r 93d41f7676cf -r 3b987881726e lisp/ChangeLog --- a/lisp/ChangeLog Sun Oct 24 15:45:10 2010 -0700 +++ b/lisp/ChangeLog Sun Oct 24 19:40:55 2010 -0400 @@ -1,3 +1,14 @@ +2010-10-24 Chong Yidong + + * image.el (image-checkbox-checked, image-checkbox-unchecked): + Deleted (Bug#7222). + + * startup.el (fancy-startup-tail): Instead of using inline images, + refer to image files from etc/. + + * wid-edit.el (checkbox): Likewise. + (widget-image-find): Center image specs. + 2010-10-24 Glenn Morris * term/ns-win.el (x-select-text): Doc fix. diff -r 93d41f7676cf -r 3b987881726e lisp/image.el --- a/lisp/image.el Sun Oct 24 15:45:10 2010 -0700 +++ b/lisp/image.el Sun Oct 24 19:40:55 2010 -0400 @@ -723,21 +723,6 @@ (cons (concat "\\." extension "\\'") 'imagemagick) image-type-file-name-regexps))))) - -;;; Inline stock images - -(defvar image-checkbox-checked - (create-image "\300\300\141\143\067\076\034\030" - 'xbm t :width 8 :height 8 :background "grey75" - :foreground "black" :relief -2 :ascent 'center) - "Image of a checked checkbox.") - -(defvar image-checkbox-unchecked - (create-image (make-string 8 0) - 'xbm t :width 8 :height 8 :background "grey75" - :foreground "black" :relief -2 :ascent 'center) - "Image of an unchecked checkbox.") - (provide 'image) ;; arch-tag: 8e76a07b-eb48-4f3e-a7a0-1a7ba9f096b3 diff -r 93d41f7676cf -r 3b987881726e lisp/startup.el --- a/lisp/startup.el Sun Oct 24 15:45:10 2010 -0700 +++ b/lisp/startup.el Sun Oct 24 19:40:55 2010 -0400 @@ -1563,21 +1563,26 @@ (kill-buffer "*GNU Emacs*"))) " ") (when (or user-init-file custom-file) - (insert-button - " " - :on-glyph image-checkbox-checked - :off-glyph image-checkbox-unchecked - 'checked nil 'display image-checkbox-unchecked 'follow-link t - 'action (lambda (button) - (if (overlay-get button 'checked) - (progn (overlay-put button 'checked nil) - (overlay-put button 'display - (overlay-get button :off-glyph)) - (setq startup-screen-inhibit-startup-screen nil)) - (overlay-put button 'checked t) - (overlay-put button 'display - (overlay-get button :on-glyph)) - (setq startup-screen-inhibit-startup-screen t)))) + (let ((checked (create-image "checked.xpm" + nil nil :ascent 'center)) + (unchecked (create-image "unchecked.xpm" + nil nil :ascent 'center))) + (insert-button + " " + :on-glyph checked + :off-glyph unchecked + 'checked nil 'display unchecked 'follow-link t + 'action (lambda (button) + (if (overlay-get button 'checked) + (progn (overlay-put button 'checked nil) + (overlay-put button 'display + (overlay-get button :off-glyph)) + (setq startup-screen-inhibit-startup-screen + nil)) + (overlay-put button 'checked t) + (overlay-put button 'display + (overlay-get button :on-glyph)) + (setq startup-screen-inhibit-startup-screen t))))) (fancy-splash-insert :face '(variable-pitch (:height 0.9)) " Never show it again."))))) diff -r 93d41f7676cf -r 3b987881726e lisp/wid-edit.el --- a/lisp/wid-edit.el Sun Oct 24 15:45:10 2010 -0700 +++ b/lisp/wid-edit.el Sun Oct 24 19:40:55 2010 -0400 @@ -638,7 +638,8 @@ specs) (dolist (elt widget-image-conversion) (dolist (ext (cdr elt)) - (push (list :type (car elt) :file (concat image ext)) specs))) + (push (list :type (car elt) :file (concat image ext) + :ascent 'center) specs))) (find-image (nreverse specs)))) (t ;; Oh well. @@ -2195,9 +2196,9 @@ ;; We could probably do the same job as the images using single ;; space characters in a boxed face with a stretch specification to ;; make them square. - :on-glyph image-checkbox-checked + :on-glyph "checked" :off "[ ]" - :off-glyph image-checkbox-unchecked + :off-glyph "unchecked" :help-echo "Toggle this item." :action 'widget-checkbox-action)