carbon2-commit: Fix auto-formatting of comments in auto-fill-mode
16 years, 8 months
Aidan Kehoe
changeset: 4454:1e2fc51563a598c293a47edbd50b1ff58caa308f
user: Didier Verna <didier(a)xemacs.org>
date: Wed Mar 05 18:01:37 2008 +0100
files: lisp/ChangeLog lisp/newcomment.el
description:
Fix auto-formatting of comments in auto-fill-mode
This patch makes auto-fill-mode properly format comments (when lines are
automatically broken). It looks strangely similar to that of:
| 1999-06-24 Bob Weiner <weiner(a)beopen.com>
|
| * simple.el (indent-new-comment-line): Locally bound
| `block-comment-start' to `comstart' or else when this is called
| from do-auto-fill, e.g. in Lisp mode, it will insert any non-nil
| `block-comment-start' value, ignoring any existing spacing after a
| comment prefix in the previous line and producing ugly comments.
diff -r 7f3d065a56a176d7567899561d6cb5df5a251e41 -r 1e2fc51563a598c293a47edbd50b1ff58caa308f lisp/ChangeLog
--- a/lisp/ChangeLog Wed Mar 05 10:41:54 2008 +0100
+++ b/lisp/ChangeLog Wed Mar 05 18:01:37 2008 +0100
@@ -1,3 +1,12 @@ 2008-03-05 Didier Verna <didier@xemacs
+2008-03-05 Didier Verna <didier(a)xemacs.org>
+
+ Fix auto-formatting of comments in auto-fill-mode.
+
+ * newcomment.el (comment-indent): Don't insert a space at bol.
+ * newcomment.el (comment-indent-new-line): Bind
+ block-comment-start to comment-start in order to preserve the
+ formatting of previous comment lines.
+
2008-03-05 Didier Verna <didier(a)xemacs.org>
Ease customization of face(s) under point.
diff -r 7f3d065a56a176d7567899561d6cb5df5a251e41 -r 1e2fc51563a598c293a47edbd50b1ff58caa308f lisp/newcomment.el
--- a/lisp/newcomment.el Wed Mar 05 10:41:54 2008 +0100
+++ b/lisp/newcomment.el Wed Mar 05 18:01:37 2008 +0100
@@ -240,7 +240,7 @@ This is obsolete because you might as we
(substring comment-start 1)))
;; Hasn't been necessary yet.
;; (unless (string-match comment-start-skip comment-continue)
- ;; (kill-local-variable 'comment-continue))
+ ;; (kill-local-variable 'comment-continue))
)
;; comment-skip regexps
(unless (and comment-start-skip
@@ -443,12 +443,12 @@ Point is assumed to be just at the end o
; (save-excursion
; (beginning-of-line)
; (let ((eol (save-excursion (end-of-line) (point))))
-; (and comment-start-skip
-; (re-search-forward comment-start-skip eol t)
-; (setq eol (match-beginning 0)))
-; (goto-char eol)
-; (skip-chars-backward " \t")
-; (max comment-column (1+ (current-column))))))
+; (and comment-start-skip
+; (re-search-forward comment-start-skip eol t)
+; (setq eol (match-beginning 0)))
+; (goto-char eol)
+; (skip-chars-backward " \t")
+; (max comment-column (1+ (current-column))))))
; "Function to compute desired indentation for a comment.
; This function is called with no args with point at the beginning of
; the comment's starting delimiter.")
@@ -498,7 +498,8 @@ Comments starting in column 0 are not mo
(setq begpos (point))
;; Ensure there's a space before the comment for things
;; like sh where it matters (as well as being neater).
- (unless (eq ?\ (char-syntax (char-before)))
+ ;; ... but unless we're at the beginning of a line -- dvl
+ (unless (or (bolp) (eq ?\ (char-syntax (char-before))))
(insert ?\ ))
(insert starter)
(setq cpos (point-marker))
@@ -516,8 +517,8 @@ Comments starting in column 0 are not mo
(+ (current-column)
(- (or comment-fill-column fill-column)
(save-excursion (end-of-line) (current-column)))))))
- ;; XEmacs change: Preserve indentation of comments starting in
- ;; column 0, as documented.
+ ;; XEmacs change: Preserve indentation of comments starting in
+ ;; column 0, as documented.
(unless (or (= (current-column) 0) (= (current-column) indent))
;; If that's different from current, change it.
(delete-region (point) (progn (skip-chars-backward " \t") (point)))
@@ -653,21 +654,21 @@ comment markers."
(setq end (copy-marker end))
(let* ((numarg (prefix-numeric-value arg))
- (ccs comment-continue)
- (srei (comment-padright ccs 're))
- (sre (and srei (concat "^\\s-*?\\(" srei "\\)")))
- spt)
+ (ccs comment-continue)
+ (srei (comment-padright ccs 're))
+ (sre (and srei (concat "^\\s-*?\\(" srei "\\)")))
+ spt)
(while (and (< (point) end)
(setq spt (comment-search-forward end t)))
(let ((ipt (point))
- ;; Find the end of the comment.
- (ept (progn
- (goto-char spt)
- (unless (comment-forward)
- (error "Can't find the comment end"))
- (point)))
- (box nil)
- (box-equal nil)) ;Whether we might be using `=' for boxes.
+ ;; Find the end of the comment.
+ (ept (progn
+ (goto-char spt)
+ (unless (comment-forward)
+ (error "Can't find the comment end"))
+ (point)))
+ (box nil)
+ (box-equal nil)) ;Whether we might be using `=' for boxes.
(save-restriction
(narrow-to-region spt ept)
@@ -1097,6 +1098,7 @@ unless optional argument SOFT is non-nil
(point))
nil t)))))
(comment-start comstart)
+ (block-comment-start comment-start)
(continuep (or comment-multi-line
(cadr (assoc comment-style comment-styles))))
;; Force comment-continue to be recreated from comment-start.
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
carbon2-commit: Ease customization of faces under point...
16 years, 8 months
Aidan Kehoe
changeset: 4453:7f3d065a56a176d7567899561d6cb5df5a251e41
user: Didier Verna <didier(a)xemacs.org>
date: Wed Mar 05 10:41:54 2008 +0100
files: lisp/ChangeLog lisp/cus-edit.el
description:
Ease customization of faces under point...
... by providing an optional prefix argument to customize-face[-other-window].
diff -r 1bf48c59700efe2451da808710e77fc39efd6532 -r 7f3d065a56a176d7567899561d6cb5df5a251e41 lisp/ChangeLog
--- a/lisp/ChangeLog Wed Mar 05 01:12:53 2008 -0800
+++ b/lisp/ChangeLog Wed Mar 05 10:41:54 2008 +0100
@@ -1,3 +1,16 @@ 2008-02-16 Michael Sperber <mike@xemac
+2008-03-05 Didier Verna <didier(a)xemacs.org>
+
+ Ease customization of face(s) under point.
+ Suggested by Andreas Rohler.
+
+ * cus-edit.el (custom-face-prompt): New (interactive call). Offer
+ a prefix for choosing a face amongst those at point instead of all
+ of them.
+ * cus-edit.el (customize-face-1): New. Factor out from the
+ functions below.
+ * cus-edit.el (customize-face): Use it.
+ * cus-edit.el (customize-face-other-window): Ditto.
+
2008-02-16 Michael Sperber <mike(a)xemacs.org>
* autoload.el (autoload-make-autoload-operators,
@@ -7,8 +20,8 @@ 2008-02-16 Michael Sperber <mike@xemac
2008-02-03 Aidan Kehoe <kehoea(a)parhasard.net>
- * iso8859-1.el (ascii-case-table):
- Correct the order of the arguments to #'put-case-table-pair.
+ * iso8859-1.el (ascii-case-table):
+ Correct the order of the arguments to #'put-case-table-pair.
2008-01-25 Michael Sperber <mike(a)xemacs.org>
@@ -17,8 +30,8 @@ 2008-01-25 Michael Sperber <mike@xemac
2008-01-21 Aidan Kehoe <kehoea(a)parhasard.net>
- * info.el (Info-suffix-list):
- Support LZMA compression, as used--oddly--by Mandriva Linux.
+ * info.el (Info-suffix-list):
+ Support LZMA compression, as used--oddly--by Mandriva Linux.
2008-01-17 Mike Sperber <mike(a)xemacs.org>
@@ -29,10 +42,10 @@ 2008-01-17 Mike Sperber <mike(a)xemacs.o
2008-01-16 Aidan Kehoe <kehoea(a)parhasard.net>
- * keydefs.el (global-map):
+ * keydefs.el (global-map):
Bind '(shift delete) to #'kill-primary-selection, as described by
Glynn Clements in
- 16434.49191.47038.991206(a)cerise.nosuchdomain.co.uk of 2004-02-08.
+ 16434.49191.47038.991206(a)cerise.nosuchdomain.co.uk of 2004-02-08.
2008-01-14 Jerry James <james(a)xemacs.org>
@@ -44,29 +57,29 @@ 2008-01-14 Jerry James <james(a)xemacs.o
2008-01-14 Aidan Kehoe <kehoea(a)parhasard.net>
- * bytecomp.el (byte-compile-output-file-form):
+ * bytecomp.el (byte-compile-output-file-form):
Bind print-gensym-alist to nil, as we do within
byte-compile-output-docform.
2008-01-04 Michael Sperber <mike(a)xemacs.org>
- * code-files.el (insert-file-contents):
- (load): Don't call `substitute-in-file-name' on the file name.
+ * code-files.el (insert-file-contents):
+ (load): Don't call `substitute-in-file-name' on the file name.
2008-01-03 Aidan Kehoe <kehoea(a)parhasard.net>
- * cus-edit.el (custom-save-all):
+ * cus-edit.el (custom-save-all):
If the directory containing the custom file doesn't exist, try to
- create it. Fixes Nick's Crabtree's bug of
+ create it. Fixes Nick's Crabtree's bug of
5fb265820712140145w512fa3bbh355cf76f7e2cf792(a)mail.gmail.com ;
thank you Nick.
* menubar-items.el (default-menubar):
In the code to edit the user's init file, try to create the
- containing directory if it doesn't exist.
+ containing directory if it doesn't exist.
2008-01-02 Aidan Kehoe <kehoea(a)parhasard.net>
- * gtk-init.el (init-post-gtk-win):
+ * gtk-init.el (init-post-gtk-win):
Trust the X11 code to give us decent default fonts.
2008-01-02 Aidan Kehoe <kehoea(a)parhasard.net>
@@ -74,7 +87,7 @@ 2008-01-02 Aidan Kehoe <kehoea@parhasa
* x-iso8859-1.el: Removed.
* gtk-iso8859-1.el: Removed.
These haven't been used in a year and a half. No need to keep them
- around.
+ around.
2008-01-02 Mike Sperber <mike(a)xemacs.org>
@@ -92,7 +105,7 @@ 2008-01-02 Mike Sperber <mike(a)xemacs.o
2007-12-31 Aidan Kehoe <kehoea(a)parhasard.net>
- * menubar-items.el (default-menubar):
+ * menubar-items.el (default-menubar):
Byte compile the specified lambdas. Correct some compile time
warnings uncovered by this.
* menubar-items.el (tutorials-menu-filter):
@@ -100,7 +113,7 @@ 2007-12-31 Aidan Kehoe <kehoea@parhasa
specified--which indicates we don't want it used except by those
who know what they're doing--don't show its tutorial in the menu.
* behavior.el (behavior-menu-filter):
- Byte compile the lambdas in the generated menu.
+ Byte compile the lambdas in the generated menu.
2007-12-30 Aidan Kehoe <kehoea(a)parhasard.net>
@@ -111,15 +124,15 @@ 2007-12-30 Aidan Kehoe <kehoea@parhasa
* subr.el (with-case-table): New.
Idea and implementation taken from GNU's code of April 2007,
- before GPL V3 was implied. Thank you GNU.
- * iso8859-1.el (ascii-case-table): New.
+ before GPL V3 was implied. Thank you GNU.
+ * iso8859-1.el (ascii-case-table): New.
Idea taken from GNU.
* iso8859-1.el :
Change Jamie's implicit compile-time call to a macro literal into
something comprehensible to and maintainable by mortals, using to
cl.el's #'loop.
* iso8859-1.el (ctl-arrow):
- Initialise it to something more comprehensible.
+ Initialise it to something more comprehensible.
2007-12-30 Aidan Kehoe <kehoea(a)parhasard.net>
@@ -127,10 +140,10 @@ 2007-12-30 Aidan Kehoe <kehoea@parhasa
Accept a new TYPE argument, compatible with GNU, saying
whether function or variable definitions should be searched for.
Implement the functionality for autoloads, handling TYPE
- correctly.
+ correctly.
Pass the TYPE argument to built-in-symbol-file correctly.
Document that TYPE is not implemented for non-autoloaded Lisp
- definitions. Our load-history doesn't have the relevant metadata.
+ definitions. Our load-history doesn't have the relevant metadata.
2007-12-25 Aidan Kehoe <kehoea(a)parhasard.net>
@@ -138,7 +151,7 @@ 2007-12-25 Aidan Kehoe <kehoea@parhasa
Revert part of Didier's 2007-10-15 commit, which broke
#'make-image-specifier with string arguments, and more noticeably
truncation-glyph, continuation-glyph, octal-escape-glyph,
- control-arrow-glyph.
+ control-arrow-glyph.
2007-12-23 Mike Sperber <mike(a)xemacs.org>
@@ -184,19 +197,19 @@ 2007-12-18 Aidan Kehoe <kehoea@parhasa
* help.el (describe-function-1):
Give details of bindings for commands, taking into account
global-window-system-map and global-tty-map when bindings differ
- compared to the global map.
+ compared to the global map.
2007-12-17 Aidan Kehoe <kehoea(a)parhasard.net>
* subr.el (integer-to-bit-vector): New.
* subr.el (bit-vector-to-integer): New.
- Provide naive implementations using the Lisp reader for these.
+ Provide naive implementations using the Lisp reader for these.
2007-12-14 Aidan Kehoe <kehoea(a)parhasard.net>
* process.el (substitute-env-vars):
- Merge an example from GNU's docstring.
- * process.el (setenv):
+ Merge an example from GNU's docstring.
+ * process.el (setenv):
Pass nil as the default abbrev table to the #'read-from-minibuffer
call, instead of passing the current value of the variable. Bug
introduced by an incorrect sync from GNU by Ben; reported by
@@ -205,7 +218,7 @@ 2007-12-14 Aidan Kehoe <kehoea@parhasa
Document the #'set-time-zone-rule call when TZ is set. Push the
old value on to the beginning of setenv-history. (Both merged from
GNU.) Document that we don't do the coding-system frobbing at this
- level that GNU does.
+ level that GNU does.
Provide a commented-out, sample implementation of GNU's
#'environment; document why I think we shouldn't include it.
@@ -233,10 +246,10 @@ 2007-12-09 Aidan Kehoe <kehoea@parhasa
* unicode.el (load-unicode-mapping-tables):
Call #'set-default-unicode-precedence wrapped with
- #'declare-fboundp, to avoid warnings on non-Mule builds.
+ #'declare-fboundp, to avoid warnings on non-Mule builds.
* unicode.el (ccl-encode-to-ucs-2):
- * unicode.el (unicode-error-sequence-regexp-range):
+ * unicode.el (unicode-error-sequence-regexp-range):
* unicode.el (frob-unicode-errors-region):
* unicode.el (unicode-error-translate-region):
Unconditionally provide these functions and variables at top
@@ -247,11 +260,11 @@ 2007-12-09 Aidan Kehoe <kehoea@parhasa
Unintern the function and variable symbols if (featurep 'mule) is
not true, so their function definitions and so on get garbage
- collected at dump time in non-Mule builds.
-
- * obsolete.el (add-menu-item):
- * obsolete.el (add-menu):
- * obsolete.el (add-menu):
+ collected at dump time in non-Mule builds.
+
+ * obsolete.el (add-menu-item):
+ * obsolete.el (add-menu):
+ * obsolete.el (add-menu):
* obsolete.el (package-get-download-menu):
Provide these functions at top level, in order to make them
available to make-docfile.c, which has trouble interpreting byte
@@ -261,17 +274,17 @@ 2007-12-09 Aidan Kehoe <kehoea@parhasa
2007-12-09 Aidan Kehoe <kehoea(a)parhasard.net>
- * mule/latin.el:
+ * mule/latin.el:
Create clones of the English language environment with UTF-8 and
Windows-1252 as the associated coding system, for Joachim Schrod's
- use case of f8q022$3o3$1(a)sea.gmane.org.
+ use case of f8q022$3o3$1(a)sea.gmane.org.
2007-12-04 Aidan Kehoe <kehoea(a)parhasard.net>
* keydefs.el:
Bind mouse wheel movements by default, to a lambda that calls the
autoloaded #'mwheel-install and then #'mwheel-scroll with the
- appropriate event.
+ appropriate event.
2007-12-07 Vin Shelton <acs(a)xemacs.org>
@@ -281,20 +294,20 @@ 2007-12-05 Aidan Kehoe <kehoea@parhasa
* code-files.el (write-region):
Use a more concise and probably less confusing docstring from
- Stephen. See
- 87ve84323s.fsf(a)uwakimon.sk.tsukuba.ac.jp.
+ Stephen. See
+ 87ve84323s.fsf(a)uwakimon.sk.tsukuba.ac.jp.
Not following his suggestion of keeping the CODING-SYSTEM name for
the last argument, given that that would make reworking the
body of the necessary, and that I introduced a short-lived bug the
- last time I did that.
+ last time I did that.
2007-12-03 Aidan Kehoe <kehoea(a)parhasard.net>
* bytecomp.el (byte-compile-file-form-custom-declare-variable):
Instead of using a keyword argument that's incompatible with 21.4,
modify the byte compiled init code to change the variable's
- standard-value property itself.
+ standard-value property itself.
2007-12-04 Aidan Kehoe <kehoea(a)parhasard.net>
@@ -302,12 +315,12 @@ 2007-12-04 Aidan Kehoe <kehoea@parhasa
* mule/iso-with-esc.el ('iso-latin-1-with-esc): New.
Provide the variable-length rarely-used ISO 2022 compatible coding
systems for Latin (that is, iso-8859-[1-16]) again, to address
- Stephen's veto.
+ Stephen's veto.
2007-12-04 Aidan Kehoe <kehoea(a)parhasard.net>
* autoload.el (make-autoload):
- Support auto-autoloads for coding systems.
+ Support auto-autoloads for coding systems.
2007-12-01 Aidan Kehoe <kehoea(a)parhasard.net>
@@ -327,7 +340,7 @@ 2007-12-01 Aidan Kehoe <kehoea@parhasa
unification problems the old implementation had.
Add aliases for GNU compatibility.
-
+
Still no warning on the imminent corruption of data, though. I'm
working on it.
* mule/greek.el (windows-1253):
@@ -340,7 +353,7 @@ 2007-12-01 Aidan Kehoe <kehoea@parhasa
print-gensym-alist on exit from #'print. This is appropriate
because #'byte-compile-output-file-form may be called multiple
times for a given output file, and re-using the
- #1=#:... placeholders in that context is inappropriate.
+ #1=#:... placeholders in that context is inappropriate.
2007-11-29 Aidan Kehoe <kehoea(a)parhasard.net>
@@ -351,7 +364,7 @@ 2007-11-29 Aidan Kehoe <kehoea@parhasa
and run-time code didn't share this value.
* mule/mule-coding.el (make-8-bit-coding-system):
Mark the coding systems created by this code as such, for the sake
- of automated testing of their round-trip compatibility.
+ of automated testing of their round-trip compatibility.
2007-11-28 Aidan Kehoe <kehoea(a)parhasard.net>
@@ -365,7 +378,7 @@ 2007-11-28 Aidan Kehoe <kehoea@parhasa
* mule/mule-cmds.el (create-variant-language-environment):
Set tutorial-coding-system to correspond to the original coding
- system when creating the variant language environment.
+ system when creating the variant language environment.
2007-11-27 Aidan Kehoe <kehoea(a)parhasard.net>
@@ -380,9 +393,9 @@ 2007-11-27 Aidan Kehoe <kehoea@parhasa
a) the byte compilation warnings and b) since our interpreter is
proportionately so much slower than theirs, we are penalised more
strongly when we interpret code, especially when
- #'custom-declare-variable calls cluster, as they tend to do.
+ #'custom-declare-variable calls cluster, as they tend to do.
* cus-edit.el (customize-changed-options):
- Wrap the #'interactive call to be less than 80 columns.
+ Wrap the #'interactive call to be less than 80 columns.
Wrap the code to less than 80 columns.
* cus-edit.el (custom-variable-menu):
* cus-edit.el (custom-face-menu):
@@ -392,16 +405,16 @@ 2007-11-27 Aidan Kehoe <kehoea@parhasa
* custom.el (custom-initialize-changed):
Correct the docstring; change the defun to defsubst, since calls
to this are only done from one function, and calls to that
- function cluster.
+ function cluster.
* custom.el (custom-declare-variable):
Document the :default argument to #'custom-declare-variable;
- implement it.
+ implement it.
2007-11-27 Aidan Kehoe <kehoea(a)parhasard.net>
* byte-optimize.el (byte-optimize-featurep):
Remove a useless let binding that was a hangover from an earlier
- version of the code. Eliminates a byte-compile time warning.
+ version of the code. Eliminates a byte-compile time warning.
2007-11-22 Vin Shelton <acs(a)xemacs.org>
@@ -412,19 +425,19 @@ 2007-11-15 Aidan Kehoe <kehoea@parhasa
* code-files.el (write-region):
Call #'find-coding-system on the (possible) coding system argument
before checking it with #'coding-system-p; the latter function
- gives false results when passed coding system names as symbols.
+ gives false results when passed coding system names as symbols.
Preserve the old order of determination of the coding system
better.
2007-11-14 Aidan Kehoe <kehoea(a)parhasard.net>
- * unicode.el (unicode-error-default-translation-table):
+ * unicode.el (unicode-error-default-translation-table):
* unicode.el (unicode-error-sequence-regexp-range):
* unicode.el (frob-unicode-errors-region):
Make these variables and the single function available to
make-docfile, by moving them to the start of the line. This
- conflicts with normal indentation of Lisp, unfortunately.
+ conflicts with normal indentation of Lisp, unfortunately.
2007-11-14 Aidan Kehoe <kehoea(a)parhasard.net>
@@ -433,32 +446,32 @@ 2007-11-14 Aidan Kehoe <kehoea@parhasa
* subr.el (string-to-vector):
(append STRING nil) is faster than (mapcar #'identity STRING),
(vconcat STRING) is faster than (mapcar #'identity STRING). Change
- from GNU.
+ from GNU.
2007-11-14 Aidan Kehoe <kehoea(a)parhasard.net>
* code-files.el (write-region):
Provide a new arg, CODING-SYSTEM-OR-MUSTBENEW, for compatibility
both with GNU (where it has the MUSTBENEW meaning) and earlier
- XEmacs code (where it has the CODING-SYSTEM meaning).
+ XEmacs code (where it has the CODING-SYSTEM meaning).
* files.el:
* files.el (normal-backup-enable-predicate):
* files.el (auto-save-file-name-transforms):
Correct the docstrings of #'normal-backup-enable-predicate,
#'auto-save-file-name-transforms.
* files.el (make-temp-file): New.
- Merge from GNU.
+ Merge from GNU.
* subr.el:
- Document that #'make-temp-name is now in files.el.
+ Document that #'make-temp-name is now in files.el.
2007-11-08 Aidan Kehoe <kehoea(a)parhasard.net>
* cus-edit.el (custom-save-all):
- Merge Jason Spiro's fix of
+ Merge Jason Spiro's fix of
c241693f0710021645g642f145n5925c7a35e7b2c58(a)mail.gmail.com , to
avoid corruption of the custom-set-variables and custom-set-fonts
calls in ~/.emacs if XEmacs doesn't understand any part of the
- syntax of ~/.emacs .
+ syntax of ~/.emacs .
2007-10-31 Mike Sperber <mike(a)xemacs.org>
@@ -471,15 +484,15 @@ 2007-10-26 Aidan Kehoe <kehoea@parhasa
* mule/general-late.el:
Now that all the dumped coding systems are available, decode
Installation-string using the value for
- Installation-file-coding-system at dump time.
+ Installation-file-coding-system at dump time.
2007-10-26 Aidan Kehoe <kehoea(a)parhasard.net>
* dumped-lisp.el (preloaded-file-list):
- Allow version.el to be compiled.
+ Allow version.el to be compiled.
* help.el (describe-installation):
Use and-boundp instead of (and (boundp ...); don't decode
- Installation-string. Call #'error with a DATUM arg.
+ Installation-string. Call #'error with a DATUM arg.
* loadup.el:
* loadup.el (Installation-string): Removed.
Moved to version.el.
@@ -489,13 +502,13 @@ 2007-10-26 Aidan Kehoe <kehoea@parhasa
* update-elc-2.el (batch-update-elc-2):
Remove version.el from the ignored files; if Mule is available,
always recompile it, since Installation-file-coding-system depends
- on relatively complex Mule code.
+ on relatively complex Mule code.
* update-elc.el (unbytecompiled-lisp-files):
Remove version.el.
* version.el:
* version.el (Installation-file-coding-system): New.
Variable reflecting the native coding system at build time, to
- better work out Installation-string.
+ better work out Installation-string.
* version.el (Installation-string): New.
Moved from loadup.el; documented in more detail.
@@ -516,14 +529,14 @@ 2007-10-01 Aidan Kehoe <kehoea@parhasa
refuses to run on GNU Emacs. Also optimises away checks for cl,
cl-extra, cl-19 and backquote, a conservative list of those
features that have been available in every XEmacs build since the
- last time our opcodes changed.
+ last time our opcodes changed.
2007-10-14 Aidan Kehoe <kehoea(a)parhasard.net>
* coding.el:
Use raw-text, not no-conversion for iso-8859-1 on non-Mule;
preserves the line ending autodetection, but doesn't do coding
- system autodetection. Thank you Stephen.
+ system autodetection. Thank you Stephen.
2007-10-15 Didier Verna <didier(a)xemacs.org>
diff -r 1bf48c59700efe2451da808710e77fc39efd6532 -r 7f3d065a56a176d7567899561d6cb5df5a251e41 lisp/cus-edit.el
--- a/lisp/cus-edit.el Wed Mar 05 01:12:53 2008 -0800
+++ b/lisp/cus-edit.el Wed Mar 05 10:41:54 2008 +0100
@@ -1,6 +1,6 @@
;;; cus-edit.el --- Tools for customizating Emacs and Lisp packages.
;;
-;; Copyright (C) 2007 Didier Verna
+;; Copyright (C) 2007, 2008 Didier Verna
;; Copyright (C) 2003 Ben Wing
;; Copyright (C) 1996, 1997, 2000 Free Software Foundation, Inc.
;;
@@ -836,7 +836,7 @@ This means, in other words, variables de
(and version
(or (null since-version)
(customize-version-lessp since-version
- version))))
+ version))))
(push (list symbol 'custom-variable) found))))
(unless found
(error "No user options have changed defaults %s"
@@ -870,39 +870,86 @@ Show the buffer in another window, but d
(list (list symbol 'custom-variable))
(format "*Customize Option: %s*" (custom-unlispify-tag-name symbol))))
+
+(defun custom-face-prompt ()
+ ;; Interactive call for `customize-face' and `customize-face-other-window'.
+ ;; See their docstrings for more information. Note that this call returns a
+ ;; list of only one element. This is because the callers'second arg AT-POINT
+ ;; is only used in interactive calls.
+ (let ((faces (get-char-property (point) 'face)))
+ (if (or (null faces) (not current-prefix-arg))
+ ;; The default behavior, which is to prompt for all faces, is also
+ ;; used as a fall back when a prefix is given but there's no face
+ ;; under point:
+ (let ((choice (completing-read "Customize face: (default all) "
+ obarray 'find-face)))
+ (if (zerop (length choice))
+ nil
+ (list (intern choice))))
+ (cond ((symbolp faces)
+ ;; Customize only this one:
+ (list (list faces)))
+ ((listp faces)
+ ;; Make a choice only amongst the faces under point:
+ (let ((choice (completing-read
+ "Customize face: (default all faces at point) "
+ (mapcar (lambda (face)
+ (list (symbol-name face) face))
+ faces)
+ nil t)))
+ (if (zerop (length choice))
+ (list faces)
+ (list (intern choice)))))))))
+
+(defun customize-face-1 (face custom-buffer-create-fn)
+ ;; Customize FACE in a buffer created with BUFFER-CREATE-FN.
+ ;; See the docstring of `customize-face' and `customize-face-other-window'
+ ;; for more information.
+ (cond ((null face)
+ (funcall custom-buffer-create-fn
+ (custom-sort-items
+ (mapcar (lambda (symbol)
+ (list symbol 'custom-face))
+ (face-list))
+ t nil)
+ "*Customize All Faces*"))
+ ((listp face)
+ (funcall custom-buffer-create-fn
+ (custom-sort-items
+ (mapcar (lambda (symbol)
+ (list symbol 'custom-face))
+ face)
+ t nil)
+ "*Customize Some Faces*"))
+ ((symbolp face)
+ (funcall custom-buffer-create-fn
+ (list (list face 'custom-face))
+ (format "*Customize Face: %s*"
+ (custom-unlispify-tag-name face))))
+ (t
+ (signal-error 'wrong-type-argument
+ '((or null listp symbolp) face)))))
+
+
;;;###autoload
-(defun customize-face (&optional symbol)
- "Customize SYMBOL, which should be a face name or nil.
-If SYMBOL is nil, customize all faces."
- (interactive (list (completing-read "Customize face: (default all) "
- obarray 'find-face)))
- (if (or (null symbol) (and (stringp symbol) (zerop (length symbol))))
- (custom-buffer-create (custom-sort-items
- (mapcar (lambda (symbol)
- (list symbol 'custom-face))
- (face-list))
- t nil)
- "*Customize Faces*")
- (when (stringp symbol)
- (setq symbol (intern symbol)))
- (check-argument-type 'symbolp symbol)
- (custom-buffer-create (list (list symbol 'custom-face))
- (format "*Customize Face: %s*"
- (custom-unlispify-tag-name symbol)))))
+(defun customize-face (&optional face at-point)
+ "Open a customization buffer for FACE.
+FACE should be either:
+- nil, meaning to customize all faces,
+- a list of symbols naming faces, meaning to customize only those,
+- a symbol naming a face, meaning to customize this face only.
+
+When called interactively, use a prefix (the AT-POINT argument) to
+make a choice among the faces found at current position."
+ (interactive (custom-face-prompt))
+ (customize-face-1 face #'custom-buffer-create))
;;;###autoload
-(defun customize-face-other-window (&optional symbol)
- "Show customization buffer for FACE in other window."
- (interactive (list (completing-read "Customize face: "
- obarray 'find-face)))
- (if (or (null symbol) (and (stringp symbol) (zerop (length symbol))))
- ()
- (if (stringp symbol)
- (setq symbol (intern symbol)))
- (check-argument-type 'symbolp symbol)
- (custom-buffer-create-other-window
- (list (list symbol 'custom-face))
- (format "*Customize Face: %s*" (custom-unlispify-tag-name symbol)))))
+(defun customize-face-other-window (&optional face at-point)
+ "Like `customize-face', but use another window."
+ (interactive (custom-face-prompt))
+ (customize-face-1 face #'custom-buffer-create-other-window))
+
;;;###autoload
(defun customize-customized ()
@@ -2207,35 +2254,35 @@ Otherwise, look up symbol in `custom-gue
(defvar custom-variable-menu
`(("Set for Current Session" custom-variable-set
,#'(lambda (widget)
- (eq (widget-get widget :custom-state) 'modified)))
+ (eq (widget-get widget :custom-state) 'modified)))
("Save for Future Sessions" custom-variable-save
,#'(lambda (widget)
- (memq (widget-get widget :custom-state)
- '(modified set changed rogue))))
+ (memq (widget-get widget :custom-state)
+ '(modified set changed rogue))))
("Reset to Current" custom-redraw
,#'(lambda (widget)
- (and (default-boundp (widget-value widget))
- (memq (widget-get widget :custom-state) '(modified changed)))))
+ (and (default-boundp (widget-value widget))
+ (memq (widget-get widget :custom-state) '(modified changed)))))
("Reset to Saved" custom-variable-reset-saved
,#'(lambda (widget)
- (and (or (get (widget-value widget) 'saved-value)
- (get (widget-value widget) 'saved-variable-comment))
- (memq (widget-get widget :custom-state)
- '(modified set changed rogue)))))
+ (and (or (get (widget-value widget) 'saved-value)
+ (get (widget-value widget) 'saved-variable-comment))
+ (memq (widget-get widget :custom-state)
+ '(modified set changed rogue)))))
("Reset to Standard Settings" custom-variable-reset-standard
,#'(lambda (widget)
- (and (get (widget-value widget) 'standard-value)
- (memq (widget-get widget :custom-state)
- '(modified set changed saved rogue)))))
+ (and (get (widget-value widget) 'standard-value)
+ (memq (widget-get widget :custom-state)
+ '(modified set changed saved rogue)))))
("---" ignore ignore)
("Add Comment" custom-comment-show custom-comment-invisible-p)
("---" ignore ignore)
("Don't show as Lisp expression" custom-variable-edit
,#'(lambda (widget)
- (eq (widget-get widget :custom-form) 'lisp)))
+ (eq (widget-get widget :custom-form) 'lisp)))
("Show as Lisp expression" custom-variable-edit-lisp
,#'(lambda (widget)
- (eq (widget-get widget :custom-form) 'edit))))
+ (eq (widget-get widget :custom-form) 'edit))))
"Alist of actions for the `custom-variable' widget.
Each entry has the form (NAME ACTION FILTER) where NAME is the name of
the menu entry, ACTION is the function to call on the widget when the
@@ -2701,23 +2748,23 @@ Match frames with dark backgrounds")
("Save for Future Sessions" custom-face-save)
("Reset to Saved" custom-face-reset-saved
,#'(lambda (widget)
- (or (get (widget-value widget) 'saved-face)
- (get (widget-value widget) 'saved-face-comment))))
+ (or (get (widget-value widget) 'saved-face)
+ (get (widget-value widget) 'saved-face-comment))))
("Reset to Standard Setting" custom-face-reset-standard
,#'(lambda (widget)
- (get (widget-value widget) 'face-defface-spec)))
+ (get (widget-value widget) 'face-defface-spec)))
("---" ignore ignore)
("Add Comment" custom-comment-show custom-comment-invisible-p)
("---" ignore ignore)
("Show all display specs" custom-face-edit-all
,#'(lambda (widget)
- (not (eq (widget-get widget :custom-form) 'all))))
+ (not (eq (widget-get widget :custom-form) 'all))))
("Just current attributes" custom-face-edit-selected
,#'(lambda (widget)
- (not (eq (widget-get widget :custom-form) 'selected))))
+ (not (eq (widget-get widget :custom-form) 'selected))))
("Show as Lisp expression" custom-face-edit-lisp
,#'(lambda (widget)
- (not (eq (widget-get widget :custom-form) 'lisp)))))
+ (not (eq (widget-get widget :custom-form) 'lisp)))))
"Alist of actions for the `custom-face' widget.
Each entry has the form (NAME ACTION FILTER) where NAME is the name of
the menu entry, ACTION is the function to call on the widget when the
@@ -3341,19 +3388,19 @@ Creating group members... %2d%%"
(defvar custom-group-menu
`(("Set for Current Session" custom-group-set
,#'(lambda (widget)
- (eq (widget-get widget :custom-state) 'modified)))
+ (eq (widget-get widget :custom-state) 'modified)))
("Save for Future Sessions" custom-group-save
,#'(lambda (widget)
- (memq (widget-get widget :custom-state) '(modified set))))
+ (memq (widget-get widget :custom-state) '(modified set))))
("Reset to Current" custom-group-reset-current
,#'(lambda (widget)
- (memq (widget-get widget :custom-state) '(modified))))
+ (memq (widget-get widget :custom-state) '(modified))))
("Reset to Saved" custom-group-reset-saved
,#'(lambda (widget)
- (memq (widget-get widget :custom-state) '(modified set))))
+ (memq (widget-get widget :custom-state) '(modified set))))
("Reset to standard setting" custom-group-reset-standard
,#'(lambda (widget)
- (memq (widget-get widget :custom-state) '(modified set saved)))))
+ (memq (widget-get widget :custom-state) '(modified set saved)))))
"Alist of actions for the `custom-group' widget.
Each entry has the form (NAME ACTION FILTER) where NAME is the name of
the menu entry, ACTION is the function to call on the widget when the
@@ -3767,12 +3814,12 @@ Hashes several heavily used functions fo
(custom-save-faces)
(let ((find-file-hooks nil)
(auto-mode-alist)
- custom-file-directory)
- (unless (file-directory-p (setq custom-file-directory
- (file-name-directory custom-file)))
- (message "Creating %s... " custom-file-directory)
- (make-directory custom-file-directory t)
- (message "Creating %s... done." custom-file-directory))
+ custom-file-directory)
+ (unless (file-directory-p (setq custom-file-directory
+ (file-name-directory custom-file)))
+ (message "Creating %s... " custom-file-directory)
+ (make-directory custom-file-directory t)
+ (message "Creating %s... done." custom-file-directory))
(with-current-buffer (find-file-noselect custom-file)
(save-buffer)))))
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
carbon2-commit: Fix old use of rvalue on lhs to placate gcc >4.0.
16 years, 8 months
Aidan Kehoe
changeset: 4452:1bf48c59700efe2451da808710e77fc39efd6532
user: Stephen J. Turnbull <stephen(a)xemacs.org>
date: Wed Mar 05 01:12:53 2008 -0800
files: src/ChangeLog src/glyphs-gtk.c
description:
Fix old use of rvalue on lhs to placate gcc >4.0.
<d9ae65bd0803040244s13437988ka08bae763d28801f(a)mail.gmail.com>
diff -r 87ef74baf946e3698d06f58fe66d67cb1083a6b0 -r 1bf48c59700efe2451da808710e77fc39efd6532 src/ChangeLog
--- a/src/ChangeLog Wed Mar 05 01:11:21 2008 -0800
+++ b/src/ChangeLog Wed Mar 05 01:12:53 2008 -0800
@@ -1,3 +1,10 @@ 2008-03-05 Dominique Quatravaux <domq@
+2008-03-05 Dominique Quatravaux <domq(a)cpan.org>
+
+ * glyphs-gtk.c (init_image_instance_from_gdk_image):
+ (gtk_colorize_image_instance):
+ Use IMAGE_INSTANCE_PIXMAP_MASK (an lvalue), not
+ IMAGE_INSTANCE_GTK_MASK (an rvalue).
+
2008-03-05 Dominique Quatravaux <domq(a)cpan.org>
* console-gtk.c (gtk_perhaps_init_unseen_key_defaults): Fix typo.
diff -r 87ef74baf946e3698d06f58fe66d67cb1083a6b0 -r 1bf48c59700efe2451da808710e77fc39efd6532 src/glyphs-gtk.c
--- a/src/glyphs-gtk.c Wed Mar 05 01:11:21 2008 -0800
+++ b/src/glyphs-gtk.c Wed Mar 05 01:12:53 2008 -0800
@@ -796,7 +796,7 @@ init_image_instance_from_gdk_image (stru
find_keyword_in_vector (instantiator, Q_file);
IMAGE_INSTANCE_GTK_PIXMAP (ii) = pixmap;
- IMAGE_INSTANCE_GTK_MASK (ii) = 0;
+ IMAGE_INSTANCE_PIXMAP_MASK (ii) = 0;
IMAGE_INSTANCE_PIXMAP_WIDTH (ii) = gdk_image->width;
IMAGE_INSTANCE_PIXMAP_HEIGHT (ii) = gdk_image->height;
IMAGE_INSTANCE_PIXMAP_DEPTH (ii) = gdk_image->depth;
@@ -2972,7 +2972,7 @@ gtk_colorize_image_instance (Lisp_Object
IMAGE_INSTANCE_TYPE (p) = IMAGE_COLOR_PIXMAP;
/* Make sure there aren't two pointers to the same mask, causing
it to get freed twice. */
- IMAGE_INSTANCE_GTK_MASK (p) = 0;
+ IMAGE_INSTANCE_PIXMAP_MASK (p) = 0;
break;
default:
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
carbon2-commit: Fix GTK build-breaking typo.
16 years, 8 months
Aidan Kehoe
changeset: 4451:87ef74baf946e3698d06f58fe66d67cb1083a6b0
user: Stephen J. Turnbull <stephen(a)xemacs.org>
date: Wed Mar 05 01:11:21 2008 -0800
files: src/ChangeLog src/console-gtk.c
description:
Fix GTK build-breaking typo.
<d9ae65bd0803040244s13437988ka08bae763d28801f(a)mail.gmail.com>
diff -r dd9030354e14e99e8be265b2093cc588759e13cd -r 87ef74baf946e3698d06f58fe66d67cb1083a6b0 src/ChangeLog
--- a/src/ChangeLog Thu Feb 28 19:48:36 2008 -0800
+++ b/src/ChangeLog Wed Mar 05 01:11:21 2008 -0800
@@ -1,3 +1,7 @@ 2008-02-28 Didier Verna <didier@xemacs
+2008-03-05 Dominique Quatravaux <domq(a)cpan.org>
+
+ * console-gtk.c (gtk_perhaps_init_unseen_key_defaults): Fix typo.
+
2008-02-28 Didier Verna <didier(a)xemacs.org>
* specifier.h (struct specifier_methods): Fix instantiate_method
diff -r dd9030354e14e99e8be265b2093cc588759e13cd -r 87ef74baf946e3698d06f58fe66d67cb1083a6b0 src/console-gtk.c
--- a/src/console-gtk.c Thu Feb 28 19:48:36 2008 -0800
+++ b/src/console-gtk.c Wed Mar 05 01:11:21 2008 -0800
@@ -177,8 +177,8 @@ gtk_perhaps_init_unseen_key_defaults (st
}
if (NILP (Flookup_key (Vcurrent_global_map, key, Qnil)))
- {
- Fputhash(key, Qt, Vgtk_seen_characters;)
+ {
+ Fputhash(key, Qt, Vgtk_seen_characters);
Fdefine_key (Vcurrent_global_map, key, Qself_insert_command);
if (SYMBOLP(key))
{
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
carbon2-commit: Added tag r21-5-28 for changeset 1af222c75869
16 years, 8 months
Aidan Kehoe
changeset: 4450:dd9030354e14e99e8be265b2093cc588759e13cd
user: Stephen J. Turnbull <stephen(a)xemacs.org>
date: Thu Feb 28 19:48:36 2008 -0800
files: .hgtags
description:
Added tag r21-5-28 for changeset 1af222c75869
diff -r d00347ec8289dae26a913bf31160dbfb7fe1bd81 -r dd9030354e14e99e8be265b2093cc588759e13cd .hgtags
--- a/.hgtags Thu Feb 28 10:29:08 2008 +0100
+++ b/.hgtags Thu Feb 28 19:48:36 2008 -0800
@@ -235,3 +235,4 @@ 223736d75acb5265cfd9352497e8483d787d8eab
223736d75acb5265cfd9352497e8483d787d8eab r21-2-45
0784d089fdc93fb58040b6efbec55cd4fdf650c2 r21-2-46
5aa1854ad5374fa936e99e22e7b1242097292f16 r21-2-47
+1af222c7586991f690ea06d1b8c75fb5a6a0a352 r21-5-28
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
carbon2-commit: Fix instantiate_method prototype
16 years, 8 months
Aidan Kehoe
changeset: 4449:d00347ec8289dae26a913bf31160dbfb7fe1bd81
user: Didier Verna <didier(a)xemacs.org>
date: Thu Feb 28 10:29:08 2008 +0100
files: src/ChangeLog src/specifier.h
description:
Fix instantiate_method prototype
This adds the additional no_fallback argument from the previous patch
diff -r a883e09e54f739862cc561ab2e6918e7378daaae -r d00347ec8289dae26a913bf31160dbfb7fe1bd81 src/ChangeLog
--- a/src/ChangeLog Wed Feb 27 08:54:25 2008 -0800
+++ b/src/ChangeLog Thu Feb 28 10:29:08 2008 +0100
@@ -1,3 +1,8 @@ 2008-02-26 Didier Verna <didier@xemacs
+2008-02-28 Didier Verna <didier(a)xemacs.org>
+
+ * specifier.h (struct specifier_methods): Fix instantiate_method
+ prototype to match the changes below.
+
2008-02-26 Didier Verna <didier(a)xemacs.org>
* specifier.c (CHECK_INSTANCE_ENTRY): See below.
diff -r a883e09e54f739862cc561ab2e6918e7378daaae -r d00347ec8289dae26a913bf31160dbfb7fe1bd81 src/specifier.h
--- a/src/specifier.h Wed Feb 27 08:54:25 2008 -0800
+++ b/src/specifier.h Thu Feb 28 10:29:08 2008 +0100
@@ -139,7 +139,7 @@ struct specifier_methods
void (*validate_matchspec_method) (Lisp_Object matchspec);
/* Instantiate method: Return SPECIFIER instance in DOMAIN,
- specified by INSTANTIATOR. MATCHSPEC specifies an additional
+ specified by INSTANTIATOR. MATCHSPEC specifies additional
constraints on the instance value (see the docstring for
Fspecifier_matching_instance function). MATCHSPEC is passed
Qunbound when no matching constraints are imposed. The method is
@@ -151,6 +151,9 @@ struct specifier_methods
to functions which also instantiate specifiers (of which I can
name specifier_instance) to avoid creating "external"
specification loops.
+
+ NO_FALLBACK indicates that the method should not try the fallbacks
+ (and thus simply return Qunbound) in case of a failure to instantiate.
This method must presume that both INSTANTIATOR and MATCHSPEC are
already validated by the corresponding validate_* methods, and
@@ -166,7 +169,8 @@ struct specifier_methods
Lisp_Object matchspec,
Lisp_Object domain,
Lisp_Object instantiator,
- Lisp_Object depth);
+ Lisp_Object depth,
+ int no_fallback);
/* Going-to-add method: Called when an instantiator is about
to be added to a specifier. This function can specify
@@ -343,7 +347,7 @@ do { \
INITIALIZE_SPECIFIER_TYPE (type, obj_name, pred_sym); \
type##_specifier_methods->extra_data_size = \
sizeof (struct type##_specifier); \
- type##_specifier_methods->extra_description = \
+ type##_specifier_methods->extra_description = \
&type##_specifier_description_0; \
} while (0)
@@ -573,13 +577,13 @@ DECLARE_SPECIFIER_TYPE (display_table);
font for CHARSET that matches iso10646-1, since we haven't found a font
that matches its registry." */
enum font_specifier_matchspec_stages {
- initial,
+ initial,
final,
- impossible,
+ impossible,
};
Lisp_Object define_specifier_tag(Lisp_Object tag,
- Lisp_Object device_predicate,
+ Lisp_Object device_predicate,
Lisp_Object charset_predicate);
#endif /* INCLUDED_specifier_h_ */
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
carbon2-commit: Add Dan Polansky's icons. <87ejayxrsm.fsf@uwakimon.sk.tsukuba.ac.jp>
16 years, 8 months
Aidan Kehoe
changeset: 4448:a883e09e54f739862cc561ab2e6918e7378daaae
user: Stephen J. Turnbull <stephen(a)xemacs.org>
date: Wed Feb 27 08:54:25 2008 -0800
files: etc/ChangeLog etc/README etc/xemacs-X-16.png etc/xemacs-X-32.png etc/xemacs-X.ico
description:
Add Dan Polansky's icons. <87ejayxrsm.fsf(a)uwakimon.sk.tsukuba.ac.jp>
diff -r a2954f0b750711e1eb87bfcffd8881947e1656a6 -r a883e09e54f739862cc561ab2e6918e7378daaae etc/ChangeLog
--- a/etc/ChangeLog Wed Feb 27 08:38:52 2008 -0800
+++ b/etc/ChangeLog Wed Feb 27 08:54:25 2008 -0800
@@ -1,3 +1,26 @@ 2008-02-20 Stephen J. Turnbull <stephe
+2008-02-21 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * README: Add descriptions of Daniel Polansky's icons.
+
+2008-02-21 Daniel Polansky <danielpolansky(a)gmail.com>
+
+ Two images for one icon for XEmacs, one 16x16 and 32x32.
+ Also, a Microsoft Windows icon file is attached.
+ Itemized:
+ - 16x16 icon in PNG
+ - 32x32 icon in PNG
+ - Both bundled as a Microsoft Windows icon.
+
+ The images are modeled on XEmacs violet logotype, as found at
+ http://www.xemacs.org/. The images are copyright (c) 2005 by
+ Daniel Polansky, and licensed under GNU General Public Licence V2
+ or later at your option.
+
+ * xemacs-X-16.png:
+ * xemacs-X-32.png:
+ * xemacs-X.ico:
+ New files.
+
2008-02-20 Stephen J. Turnbull <stephen(a)xemacs.org>
* README: Give more accurate descriptions of image files.
diff -r a2954f0b750711e1eb87bfcffd8881947e1656a6 -r a883e09e54f739862cc561ab2e6918e7378daaae etc/README
--- a/etc/README Wed Feb 27 08:38:52 2008 -0800
+++ b/etc/README Wed Feb 27 08:54:25 2008 -0800
@@ -46,6 +46,9 @@ toolbar/ Image files for the toolbar
toolbar/ Image files for the toolbar
trash.xpm B&W garbage can icon (32x46)
unicode/ Unicode conversion tables
+xemacs-X-16.png Violet boxed X icon (16x16)
+xemacs-X-32.png Violet boxed X icon (32x32)
+xemacs-X.ico Violet boxed X icon in MS Windows format
xemacs-beta.xpm XEmacs Beta logo for splashscreen (388x145)
xemacs-enhanced.png "XEmacs-enhanced" logo (90x32)
xemacs-fe.sh XEmacs frontend driver
diff -r a2954f0b750711e1eb87bfcffd8881947e1656a6 -r a883e09e54f739862cc561ab2e6918e7378daaae etc/xemacs-X-16.png
Binary file etc/xemacs-X-16.png has changed
diff -r a2954f0b750711e1eb87bfcffd8881947e1656a6 -r a883e09e54f739862cc561ab2e6918e7378daaae etc/xemacs-X-32.png
Binary file etc/xemacs-X-32.png has changed
diff -r a2954f0b750711e1eb87bfcffd8881947e1656a6 -r a883e09e54f739862cc561ab2e6918e7378daaae etc/xemacs-X.ico
Binary file etc/xemacs-X.ico has changed
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
carbon2-commit: Improve etc/README.
16 years, 8 months
Aidan Kehoe
changeset: 4447:a2954f0b750711e1eb87bfcffd8881947e1656a6
user: Stephen J. Turnbull <stephen(a)xemacs.org>
date: Wed Feb 27 08:38:52 2008 -0800
files: etc/ChangeLog etc/README
description:
Improve etc/README.
diff -r cff4ad0ab682b75b3986d85e78722c2667599e3d -r a2954f0b750711e1eb87bfcffd8881947e1656a6 etc/ChangeLog
--- a/etc/ChangeLog Wed Feb 27 14:41:45 2008 +0900
+++ b/etc/ChangeLog Wed Feb 27 08:38:52 2008 -0800
@@ -1,3 +1,7 @@ 2007-12-26 Stephen J. Turnbull <stephe
+2008-02-20 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * README: Give more accurate descriptions of image files.
+
2007-12-26 Stephen J. Turnbull <stephen(a)xemacs.org>
* bundled-packages/README: Document restriction on --with-late-packages.
diff -r cff4ad0ab682b75b3986d85e78722c2667599e3d -r a2954f0b750711e1eb87bfcffd8881947e1656a6 etc/README
--- a/etc/README Wed Feb 27 14:41:45 2008 +0900
+++ b/etc/README Wed Feb 27 08:38:52 2008 -0800
@@ -17,7 +17,7 @@ TUTORIAL.* Tutorials in non-English lan
TUTORIAL.* Tutorials in non-English languages
VEGETABLES XEmacs 21.5 code names
XKeysymDB X Keysym Database with Motif bindings
-cbx.png "Created by XEmacs" logo
+cbx.png "Created by XEmacs" logo (150x54 8bpp)
ctags.1 Ctags man page
custom/ Images used in Custom mode
editclient.sh Either start up XEmacs or connect to a running one
@@ -30,12 +30,12 @@ gnudoit.1 Gnudoit man page
gnudoit.1 Gnudoit man page
gnuserv.1 Gnuserv man page
gnuserv.README Original README file from gnuserv
-gray1.xbm Gray bitmap
+gray1.xbm Halftone gray bitmap (16x16)
idd/ ?
package-index.LATEST.gpg ?
photos/* Various pictures of XEmacs developers
-recycle.xpm
-recycle2.xpm Two versions of oversized Recycle cursor
+recycle.xpm Chartreuse recycle cursor (51x51)
+recycle2.xpm Chartreuse recycle cursor (32x32)
refcard.ps.gz Postscript version of XEmacs reference card
refcard.tex XEmacs reference card
sample.Xdefaults (legacy -- to be removed)
@@ -44,15 +44,15 @@ sparcworks/ Support files for Sparcwork
sparcworks/ Support files for Sparcworks
tests/ Testcases for external widget
toolbar/ Image files for the toolbar
-trash.xpm Garbage can icon
+trash.xpm B&W garbage can icon (32x46)
unicode/ Unicode conversion tables
-xemacs-beta.xpm XEmacs Beta logo
-xemacs-enhanced.png "XEmacs-enhanced" logo
+xemacs-beta.xpm XEmacs Beta logo for splashscreen (388x145)
+xemacs-enhanced.png "XEmacs-enhanced" logo (90x32)
xemacs-fe.sh XEmacs frontend driver
-xemacs-icon.xpm
-xemacs-icon2.xbm
-xemacs-icon2.xpm
-xemacs-icon3.xpm Various versions of an XEmacs WM icon
+xemacs-icon.xpm Color XE on page icon (48x48)
+xemacs-icon2.xbm B&W kitchen sink icon (50x50)
+xemacs-icon2.xpm Color kitchen sink icon (50x50)
+xemacs-icon3.xpm Grayscale X icon (48x48)
xemacs.1 XEmacs man page
-xemacs.xbm
-xemacs.xpm XEmacs logo used on the splash screen
+xemacs.xbm Half-tone XEmacs logo (266x61)
+xemacs.xpm XEmacs logo for splashscreen (388x145)
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
carbon2-commit: Fix specifier inheritance behavior
16 years, 8 months
Aidan Kehoe
changeset: 4445:515b91f904c1344a690b4ade3989a9cb69348894
user: Didier Verna <didier(a)xemacs.org>
date: Tue Feb 26 18:02:34 2008 +0100
files: src/ChangeLog src/glyphs.c src/objects.c src/specifier.c
description:
Fix specifier inheritance behavior
This patch ensures that no fallback is used if so requested, when the
specifier instantiation process involves inheritance (for instance, a face
[property] inheriting from another face [property]).
diff -r bfb8a26de3cbbf131d3b8ec8d30862aef96de7fc -r 515b91f904c1344a690b4ade3989a9cb69348894 src/ChangeLog
--- a/src/ChangeLog Sat Feb 23 14:32:19 2008 +0100
+++ b/src/ChangeLog Tue Feb 26 18:02:34 2008 +0100
@@ -1,6 +1,20 @@ 2008-02-11 Aidan Kehoe <kehoea@parhasa
+2008-02-26 Didier Verna <didier(a)xemacs.org>
+
+ * specifier.c (CHECK_INSTANCE_ENTRY): See below.
+ * specifier.c (specifier_instance_1): Propagate the no_fallback
+ flag to ...
+ * specifier.c (specifier_instance_from_inst_list): ... here, and
+ in turn propagate it to the <specifier>_instantiate methods.
+ * glyphs.c (image_instantiate): Handle the no_fallback flag.
+ * objects.c (color_instantiate): Ditto.
+ * objects.c (font_instantiate): Ditto.
+ * objects.c (face_boolean_instantiate): Ditto.
+ * specifier.c (specifier_matching_foo_from_inst_list): Update call
+ to specifier_instance_from_inst_list accordingly.
+
2008-02-11 Aidan Kehoe <kehoea(a)parhasard.net>
- * search.c (search_buffer):
+ * search.c (search_buffer):
In the event that a character is not representable in the buffer,
fail immediately. Prevents an assertion failure in the code to
deal with whether Boyer-Moore search can be used for such
@@ -21,16 +35,16 @@ 2008-02-01 Jerry James <james(a)xemacs.o
2008-01-30 Aidan Kehoe <kehoea(a)parhasard.net>
- * search.c (debug-xemacs-searches):
+ * search.c (debug-xemacs-searches):
New variable, available on debug builds. Used in
- tests/automated/case-tests.el.
+ tests/automated/case-tests.el.
(search_buffer): Only store the charset_base for characters with
translations. Correct some comments, correct some checks. If
- debug_xemacs_searches is non-zero, record which search was used.
+ debug_xemacs_searches is non-zero, record which search was used.
(boyer_moore): Remove an assertion that was incorrect. Remove its
documentation. Correct an assertion dealing with equivalence
tables; we may end up looking through the equivalence table if a
- non-ASCII non-case character was searched for.
+ non-ASCII non-case character was searched for.
2008-01-25 Michael Sperber <mike(a)xemacs.org>
@@ -43,13 +57,13 @@ 2008-01-24 Mike Sperber <mike(a)xemacs.o
2008-01-21 Aidan Kehoe <kehoea(a)parhasard.net>
- * elhash.c (Fputhash): Document the return value.
- (Fclrhash): Ditto.
+ * elhash.c (Fputhash): Document the return value.
+ (Fclrhash): Ditto.
2007-12-26 Aidan Kehoe <kehoea(a)parhasard.net>
* casetab.c:
- Extend and correct some case table documentation.
+ Extend and correct some case table documentation.
* search.c (search_buffer):
Correct a bug where only the first entry for a character in the
case equivalence table was examined in determining if the
@@ -64,7 +78,7 @@ 2007-12-26 Aidan Kehoe <kehoea@parhasa
* search.c (boyer_moore):
Assert that we haven't been passed a string with varying
characters sets or rows within character sets. That's what
- simple_search is for.
+ simple_search is for.
In the very rare event that a character in the search string has a
canonical case mapping that is not in the same character set and
@@ -74,14 +88,14 @@ 2007-12-26 Aidan Kehoe <kehoea@parhasa
Do not search for any character case mappings that cannot possibly
occur in the buffer, given the buffer metadata about its
- contents.
+ contents.
2008-01-19 Aidan Kehoe <kehoea(a)parhasard.net>
* dired.c (Ffile_attributes): If bignums are available, use them
for the file size when necessary. If they are not, be clearer
about the check for whether the file size can fit in a Lisp
- integer.
+ integer.
2008-01-18 Jerry James <james(a)xemacs.org>
@@ -99,30 +113,30 @@ 2008-01-15 Aidan Kehoe <kehoea@parhasa
* print.c (prin1_to_string): New.
The guts of Fprin1_to_string, without resetting
- Vprint_gensym_alist.
- (Fprin1_to_string):
+ Vprint_gensym_alist.
+ (Fprin1_to_string):
Call prin1_to_string, wrapped with RESET_PRINT_GENSYM calls.
- * doprnt.c (emacs_doprnt_1):
+ * doprnt.c (emacs_doprnt_1):
Call prin1_to_string, not Fprin1_to_string (dos veces). Avoids an
- inappropriate reset of print-gensym-alist.
+ inappropriate reset of print-gensym-alist.
2008-01-12 Aidan Kehoe <kehoea(a)parhasard.net>
- * rangetab.c (Fmap_range_table):
+ * rangetab.c (Fmap_range_table):
Clarify docstring. (If FUNCTION doesn't touch any range-table
entry, things will also be correct.)
2008-01-09 Aidan Kehoe <kehoea(a)parhasard.net>
- * config.h.in:
+ * config.h.in:
Check that __STDC_VERSION__ is defined before examining its
- value. Eliminates a Cygwin warning.
+ value. Eliminates a Cygwin warning.
2008-01-08 Aidan Kehoe <kehoea(a)parhasard.net>
* text.h (MAX_XETCHAR_SIZE): Remove, eliminating a redefinition
warning on Win32.
- * dumper.c (pdump_load):
+ * dumper.c (pdump_load):
Don't use PATH_MAX_EXTERNAL, instead allocate enough for the path
+ DUMP_SLACK (space for .dmp and version information), already
used on Win32 and #defined to be 100.
@@ -138,7 +152,7 @@ 2008-01-03 Aidan Kehoe <kehoea@parhasa
2008-01-03 Aidan Kehoe <kehoea(a)parhasard.net>
* fileio.c (Fmake_temp_name): Correct the comment to cross
- reference to make-temp-file, and not to this function.
+ reference to make-temp-file, and not to this function.
2008-01-03 Stephen J. Turnbull <stephen(a)xemacs.org>
@@ -146,8 +160,8 @@ 2008-01-03 Stephen J. Turnbull <stephe
2008-01-02 Aidan Kehoe <kehoea(a)parhasard.net>
- * emacs.c (main_1):
- Call the new vars_of_console_gtk function.
+ * emacs.c (main_1):
+ Call the new vars_of_console_gtk function.
* console-gtk.c (vars_of_console_gtk): New.
* console-gtk.c (gtk_perhaps_init_unseen_key_defaults):
Correct the initialisation of the hash table, on the model of the
@@ -157,7 +171,7 @@ 2008-01-02 Aidan Kehoe <kehoea@parhasa
* doc.c (Fbuilt_in_symbol_file):
Don't check is fun zero in the condition, check that it's not
- nil. Fixes the union build; thank you Stephen.
+ nil. Fixes the union build; thank you Stephen.
2008-01-02 Mike Sperber <mike(a)xemacs.org>
@@ -176,31 +190,31 @@ 2007-12-30 Aidan Kehoe <kehoea@parhasa
2007-12-24 Aidan Kehoe <kehoea(a)parhasard.net>
- * event-xlike-inc.c (x_keysym_to_character):
+ * event-xlike-inc.c (x_keysym_to_character):
* event-xlike-inc.c (gtk_keysym_to_character):
Unify the typed character if possible, following the current value
- for the unicode precedence list.
+ for the unicode precedence list.
2007-12-24 Aidan Kehoe <kehoea(a)parhasard.net>
- * symbols.c (Fintern_soft):
+ * symbols.c (Fintern_soft):
Provide a new optional third argument, DEFAULT, for those who want
to check if "nil" is a symbol or not. (More realistically, general
code that may get handed "nil" should probably use this argument.)
2007-12-23 Aidan Kehoe <kehoea(a)parhasard.net>
- * objects-tty.c (tty_find_charset_font):
+ * objects-tty.c (tty_find_charset_font):
* objects-msw.c (mswindows_font_spec_matches_charset_stage_2):
* objects-msw.c (mswindows_font_spec_matches_charset_stage_1):
- * objects-xlike-inc.c (x_font_spec_matches_charset):
+ * objects-xlike-inc.c (x_font_spec_matches_charset):
* objects-xlike-inc.c (gtk_font_spec_matches_charset):
If the charset is not specified when calling the
font_spec_matches_charset device method, its value is Qnil, not
Qunbound. See
http://mid.gmane.org/E1EfbmW-00029r-5G@iwi191.iwi.uni-sb.de and
Ben Wing's patch of
- http://mid.gmane.org/439FA06B.3090007@xemacs.org.
+ http://mid.gmane.org/439FA06B.3090007@xemacs.org.
2007-12-22 Aidan Kehoe <kehoea(a)parhasard.net>
@@ -212,7 +226,7 @@ 2007-12-22 Aidan Kehoe <kehoea@parhasa
that's a great idea.
* database.c (print_database):
Give the coding system used for text conversion when printing a
- database object.
+ database object.
2007-12-20 Jerry James <james(a)xemacs.org>
@@ -228,11 +242,11 @@ 2007-12-18 Aidan Kehoe <kehoea@parhasa
* symbols.c (Fspecial_form_p):
Following commentary from Jerry James, don't error if not passed a
- subr.
+ subr.
Flesh out the docstring; give details of what a subr is, what a
special form is, and why one should probably not write special
- forms oneself.
+ forms oneself.
2007-12-18 Aidan Kehoe <kehoea(a)parhasard.net>
@@ -246,9 +260,9 @@ 2007-12-17 Aidan Kehoe <kehoea@parhasa
Add support for formatted printing of both longs and bignums as
base 2.
* editfns.c (Fformat):
- Document the new %b escape for #'format.
+ Document the new %b escape for #'format.
* lisp.h:
- Make ulong_to_bit_string available beside long_to_string.
+ Make ulong_to_bit_string available beside long_to_string.
* lread.c:
Fix a bug where the integer base was being ignored in certain
contexts; thank you Sebastian Freundt. This is necessary for
@@ -256,18 +270,18 @@ 2007-12-17 Aidan Kehoe <kehoea@parhasa
#'bit-vector-to-integer, just added to subr.el
* print.c (ulong_to_bit_string): New.
Analagous to long_to_string, but used all the time when %b is
- encountered, since we can't pass that to sprintf.
+ encountered, since we can't pass that to sprintf.
2007-12-12 Aidan Kehoe <kehoea(a)parhasard.net>
* config.h.in:
- Make the results of the checks for
+ Make the results of the checks for
FcConfigGetRescanInterval, FcConfigSetRescanInterval
available.
* font-mgr.h:
If FcConfigSetRescanInterval and FcConfigGetRescanInterval are not
available as functions, #define them to map to their old
- misspelled names.
+ misspelled names.
* font-mgr.c (Ffc_config_get_rescan_interval):
* font-mgr.c (Ffc_config_set_rescan_interval):
Use the correct spelling in
@@ -275,7 +289,7 @@ 2007-12-12 Aidan Kehoe <kehoea@parhasa
2007-12-11 Aidan Kehoe <kehoea(a)parhasard.net>
- * glyphs-eimage.c:
+ * glyphs-eimage.c:
Merge Ron Isaacson's patch of
3ggprxj7ifh.wl_Ron.Isaacson(a)morganstanley.com , originally from
Gennady Khokhorin. Prevents library incompatibilities on Win32.
@@ -314,7 +328,7 @@ 2007-12-04 Aidan Kehoe <kehoea@parhasa
coding systems) and make_coding_system_1 (which has to).
* file-coding.c (Ffind_coding_system):
Move the implementation to find_coding_system; call that function
- with a do_autoloads argument of 1.
+ with a do_autoloads argument of 1.
* file-coding.c (Fautoload_coding_system):
New.
* file-coding.c (add_coding_system_to_list_mapper):
@@ -331,21 +345,21 @@ 2007-12-04 Aidan Kehoe <kehoea@parhasa
system as its argument.
This is also tied in with the POSIX locale infrastructure by means
- of posix-charset-to-coding-system-hash.
+ of posix-charset-to-coding-system-hash.
2007-11-29 Aidan Kehoe <kehoea(a)parhasard.net>
* mule-ccl.c (ccl_driver):
- Take out a static variable I was using for debugging.
+ Take out a static variable I was using for debugging.
2007-11-26 Aidan Kehoe <kehoea(a)parhasard.net>
- * doprnt.c:
+ * doprnt.c:
Default to a buffer size of 350 for the sprintf call, but increase
it if the precision and minwidth indicate that it should be
bigger. Issue reported by Hans de Graaff; bug originally fixed by
Sebastian Freundt in SXEmacs following the change I merged on
- 2006-11-28. Forks have their disadvantages.
+ 2006-11-28. Forks have their disadvantages.
2007-11-11 Mats Lidell <matsl(a)xemacs.org>
@@ -367,18 +381,18 @@ 2007-11-14 Aidan Kehoe <kehoea@parhasa
* lread.c (read_unicode_escape):
Correct the range check for Unicode characters specified with
- source-level escapes.
+ source-level escapes.
* unicode.c:
* unicode.c (unicode_to_ichar):
* unicode.c (coding_system_type_create_unicode):
Correct the dump behaviour for just-in-time Unicode code
points. Update the docstring for #'unicode-to-char to indicate
- that code points will run out above around 400,000 in a session.
+ that code points will run out above around 400,000 in a session.
2007-11-14 Aidan Kehoe <kehoea(a)parhasard.net>
* editfns.c (vars_of_editfns):
- Correct the docstring of user-full-name.
+ Correct the docstring of user-full-name.
* fileio.c:
* fileio.c (Fmake_temp_name):
Document that make-temp-file is available and the best approach to
@@ -387,10 +401,10 @@ 2007-11-14 Aidan Kehoe <kehoea@parhasa
Take a new arg, MUSTBENEW, to error if the file to be written
already exists.
* fileio.c (auto_save_1):
- Update a call to Fwrite_region_internal to pass the new argument.
+ Update a call to Fwrite_region_internal to pass the new argument.
* fileio.c (syms_of_fileio):
Provide 'excl as a symbol, for the calls to
- write-region-internal.
+ write-region-internal.
2007-11-05 Didier Verna <didier(a)xemacs.org>
diff -r bfb8a26de3cbbf131d3b8ec8d30862aef96de7fc -r 515b91f904c1344a690b4ade3989a9cb69348894 src/glyphs.c
--- a/src/glyphs.c Sat Feb 23 14:32:19 2008 +0100
+++ b/src/glyphs.c Tue Feb 26 18:02:34 2008 +0100
@@ -3259,7 +3259,7 @@ static Lisp_Object
static Lisp_Object
image_instantiate (Lisp_Object specifier, Lisp_Object UNUSED (matchspec),
Lisp_Object domain, Lisp_Object instantiator,
- Lisp_Object depth)
+ Lisp_Object depth, int no_fallback)
{
Lisp_Object glyph = IMAGE_SPECIFIER_ATTACHEE (XIMAGE_SPECIFIER (specifier));
int dest_mask = XIMAGE_SPECIFIER_ALLOWED (specifier);
@@ -3298,7 +3298,7 @@ image_instantiate (Lisp_Object specifier
assert (XVECTOR_LENGTH (instantiator) == 3);
return (FACE_PROPERTY_INSTANCE
(Fget_face (XVECTOR_DATA (instantiator)[2]),
- Qbackground_pixmap, domain, 1, depth));
+ Qbackground_pixmap, domain, no_fallback, depth));
}
else
{
diff -r bfb8a26de3cbbf131d3b8ec8d30862aef96de7fc -r 515b91f904c1344a690b4ade3989a9cb69348894 src/objects.c
--- a/src/objects.c Sat Feb 23 14:32:19 2008 +0100
+++ b/src/objects.c Tue Feb 26 18:02:34 2008 +0100
@@ -103,7 +103,7 @@ print_color_instance (Lisp_Object obj, L
Lisp_Color_Instance *c = XCOLOR_INSTANCE (obj);
if (print_readably)
printing_unreadable_object ("#<color-instance 0x%x>",
- c->header.uid);
+ c->header.uid);
write_fmt_string_lisp (printcharfun, "#<color-instance %s", 1, c->name);
write_fmt_string_lisp (printcharfun, " on %s", 1, c->device);
if (!NILP (c->device)) /* Vthe_null_color_instance */
@@ -153,7 +153,7 @@ DEFINE_LRECORD_IMPLEMENTATION ("color-in
0, /*dumpable-flag*/
mark_color_instance, print_color_instance,
finalize_color_instance, color_instance_equal,
- color_instance_hash,
+ color_instance_hash,
color_instance_description,
Lisp_Color_Instance);
@@ -295,7 +295,7 @@ static const struct memory_description f
{ XD_LISP_OBJECT, offsetof (Lisp_Font_Instance, truename)},
{ XD_LISP_OBJECT, offsetof (Lisp_Font_Instance, device)},
{ XD_LISP_OBJECT, offsetof (Lisp_Font_Instance, charset)},
- { XD_UNION, offsetof (Lisp_Font_Instance, data),
+ { XD_UNION, offsetof (Lisp_Font_Instance, data),
XD_INDIRECT (0, 0), { &font_instance_data_description } },
{ XD_END }
};
@@ -596,7 +596,7 @@ static Lisp_Object
static Lisp_Object
color_instantiate (Lisp_Object specifier, Lisp_Object UNUSED (matchspec),
Lisp_Object domain, Lisp_Object instantiator,
- Lisp_Object depth)
+ Lisp_Object depth, int no_fallback)
{
/* When called, we're inside of call_with_suspended_errors(),
so we can freely error. */
@@ -606,10 +606,10 @@ color_instantiate (Lisp_Object specifier
if (COLOR_INSTANCEP (instantiator))
{
/* If we are on the same device then we're done. Otherwise change
- the instantiator to the name used to generate the pixel and let the
- STRINGP case deal with it. */
+ the instantiator to the name used to generate the pixel and let the
+ STRINGP case deal with it. */
if (NILP (device) /* Vthe_null_color_instance */
- || EQ (device, XCOLOR_INSTANCE (instantiator)->device))
+ || EQ (device, XCOLOR_INSTANCE (instantiator)->device))
return instantiator;
else
instantiator = Fcolor_instance_name (instantiator);
@@ -647,13 +647,15 @@ color_instantiate (Lisp_Object specifier
instantiator);
return (FACE_PROPERTY_INSTANCE_1
(Fget_face (XVECTOR_DATA (instantiator)[0]),
- COLOR_SPECIFIER_FACE_PROPERTY (XCOLOR_SPECIFIER (specifier)),
- domain, ERROR_ME, 0, depth));
+ COLOR_SPECIFIER_FACE_PROPERTY
+ (XCOLOR_SPECIFIER (specifier)),
+ domain, ERROR_ME, no_fallback, depth));
case 2:
return (FACE_PROPERTY_INSTANCE_1
(Fget_face (XVECTOR_DATA (instantiator)[0]),
- XVECTOR_DATA (instantiator)[1], domain, ERROR_ME, 0, depth));
+ XVECTOR_DATA (instantiator)[1], domain, ERROR_ME,
+ no_fallback, depth));
default:
ABORT ();
@@ -830,11 +832,11 @@ invalidate_charset_font_caches (Lisp_Obj
hash_table = Fgethash (charset, d->charset_font_cache_stage_1,
Qunbound);
if (!UNBOUNDP (hash_table))
- Fclrhash (hash_table);
+ Fclrhash (hash_table);
hash_table = Fgethash (charset, d->charset_font_cache_stage_2,
Qunbound);
if (!UNBOUNDP (hash_table))
- Fclrhash (hash_table);
+ Fclrhash (hash_table);
}
}
@@ -845,7 +847,7 @@ font_instantiate (Lisp_Object UNUSED (sp
font_instantiate (Lisp_Object UNUSED (specifier),
Lisp_Object USED_IF_MULE (matchspec),
Lisp_Object domain, Lisp_Object instantiator,
- Lisp_Object depth)
+ Lisp_Object depth, int no_fallback)
{
/* When called, we're inside of call_with_suspended_errors(),
so we can freely error. */
@@ -877,7 +879,7 @@ font_instantiate (Lisp_Object UNUSED (sp
if (FONT_INSTANCEP (instantiator))
{
if (NILP (device)
- || EQ (device, XFONT_INSTANCE (instantiator)->device))
+ || EQ (device, XFONT_INSTANCE (instantiator)->device))
{
#ifdef MULE
if (font_spec_matches_charset (d, charset, 0,
@@ -895,7 +897,7 @@ font_instantiate (Lisp_Object UNUSED (sp
#ifdef MULE
/* #### rename these caches. */
Lisp_Object cache = stage ? d->charset_font_cache_stage_2 :
- d->charset_font_cache_stage_1;
+ d->charset_font_cache_stage_1;
#else
Lisp_Object cache = d->font_instance_cache;
#endif
@@ -926,9 +928,9 @@ font_instantiate (Lisp_Object UNUSED (sp
{
/* make sure we cache the failures, too. */
matching_font =
- DEVMETH_OR_GIVEN (d, find_charset_font,
- (device, instantiator, charset, stage),
- instantiator);
+ DEVMETH_OR_GIVEN (d, find_charset_font,
+ (device, instantiator, charset, stage),
+ instantiator);
Fputhash (instantiator, matching_font, hash_table);
}
if (NILP (matching_font))
@@ -956,13 +958,13 @@ font_instantiate (Lisp_Object UNUSED (sp
match_inst = face_property_matching_instance
(Fget_face (XVECTOR_DATA (instantiator)[0]), Qfont,
- charset, domain, ERROR_ME, 0, depth, initial);
-
- if (UNBOUNDP(match_inst))
+ charset, domain, ERROR_ME, no_fallback, depth, initial);
+
+ if (UNBOUNDP(match_inst))
{
match_inst = face_property_matching_instance
(Fget_face (XVECTOR_DATA (instantiator)[0]), Qfont,
- charset, domain, ERROR_ME, 0, depth, final);
+ charset, domain, ERROR_ME, no_fallback, depth, final);
}
return match_inst;
@@ -1067,7 +1069,7 @@ face_boolean_instantiate (Lisp_Object sp
face_boolean_instantiate (Lisp_Object specifier,
Lisp_Object UNUSED (matchspec),
Lisp_Object domain, Lisp_Object instantiator,
- Lisp_Object depth)
+ Lisp_Object depth, int no_fallback)
{
/* When called, we're inside of call_with_suspended_errors(),
so we can freely error. */
@@ -1094,7 +1096,7 @@ face_boolean_instantiate (Lisp_Object sp
retval = (FACE_PROPERTY_INSTANCE_1
(Fget_face (XVECTOR_DATA (instantiator)[0]),
- prop, domain, ERROR_ME, 0, depth));
+ prop, domain, ERROR_ME, no_fallback, depth));
if (instantiator_len == 3 && !NILP (XVECTOR_DATA (instantiator)[2]))
retval = NILP (retval) ? Qt : Qnil;
diff -r bfb8a26de3cbbf131d3b8ec8d30862aef96de7fc -r 515b91f904c1344a690b4ade3989a9cb69348894 src/specifier.c
--- a/src/specifier.c Sat Feb 23 14:32:19 2008 +0100
+++ b/src/specifier.c Tue Feb 26 18:02:34 2008 +0100
@@ -247,7 +247,7 @@ prune_specifiers (void)
{
Lisp_Specifier* sp = XSPECIFIER (rest);
/* A bit of assertion that we're removing both parts of the
- magic one altogether */
+ magic one altogether */
assert (!MAGIC_SPECIFIER_P(sp)
|| (BODILY_SPECIFIER_P(sp) && marked_p (sp->fallback))
|| (GHOST_SPECIFIER_P(sp) && marked_p (sp->magic_parent)));
@@ -386,10 +386,10 @@ static const struct memory_description s
};
#ifdef NEW_GC
-DEFINE_LRECORD_IMPLEMENTATION ("specifier-caching",
+DEFINE_LRECORD_IMPLEMENTATION ("specifier-caching",
specifier_caching,
1, /*dumpable-flag*/
- 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
specifier_caching_description_1,
struct specifier_caching);
#else /* not NEW_GC */
@@ -695,7 +695,7 @@ instantiated in.
? Qt : Qnil;
}
-DEFUN ("valid-specifier-locale-type-p", Fvalid_specifier_locale_type_p, 1,
+DEFUN ("valid-specifier-locale-type-p", Fvalid_specifier_locale_type_p, 1,
1, 0, /*
Given a specifier LOCALE-TYPE, return non-nil if it is valid.
Valid locale types are `global', `device', `frame', `window', and `buffer'.
@@ -983,8 +983,8 @@ device_matches_specifier_tag_set_p (Lisp
static int
charset_matches_specifier_tag_set_p (Lisp_Object charset,
- Lisp_Object tag_set,
- enum font_specifier_matchspec_stages
+ Lisp_Object tag_set,
+ enum font_specifier_matchspec_stages
stage)
{
Lisp_Object rest;
@@ -998,20 +998,20 @@ charset_matches_specifier_tag_set_p (Lis
Lisp_Object assoc;
/* In the event that, during the creation of a charset, no specifier
- tags exist for which CHARSET-PREDICATE has been specified, then
- that charset's entry in Vcharset_tag_lists will be nil, and this
- charset shouldn't match. */
-
- if (NILP (XVECTOR_DATA(Vcharset_tag_lists)[XCHARSET_LEADING_BYTE(charset)
- - MIN_LEADING_BYTE]))
- {
- return 0;
- }
+ tags exist for which CHARSET-PREDICATE has been specified, then
+ that charset's entry in Vcharset_tag_lists will be nil, and this
+ charset shouldn't match. */
+
+ if (NILP (XVECTOR_DATA(Vcharset_tag_lists)[XCHARSET_LEADING_BYTE(charset)
+ - MIN_LEADING_BYTE]))
+ {
+ return 0;
+ }
/* Now, find out what the pre-calculated value is. */
assoc = assq_no_quit(tag,
XVECTOR_DATA(Vcharset_tag_lists)
- [XCHARSET_LEADING_BYTE(charset)
+ [XCHARSET_LEADING_BYTE(charset)
- MIN_LEADING_BYTE]);
if (!(NILP(assoc)) && !(NILP(XCDR(assoc))))
@@ -1060,18 +1060,18 @@ specifies which devices match it.)
}
Lisp_Object
-define_specifier_tag(Lisp_Object tag, Lisp_Object device_predicate,
+define_specifier_tag(Lisp_Object tag, Lisp_Object device_predicate,
Lisp_Object charset_predicate)
{
- Lisp_Object assoc = assq_no_quit (tag, Vuser_defined_tags),
+ Lisp_Object assoc = assq_no_quit (tag, Vuser_defined_tags),
concons, devcons, charpres = Qnil;
int recompute_devices = 0, recompute_charsets = 0, i, max_args = -1;
if (NILP (assoc))
{
recompute_devices = recompute_charsets = 1;
- Vuser_defined_tags = Fcons (list3 (tag, device_predicate,
- charset_predicate),
+ Vuser_defined_tags = Fcons (list3 (tag, device_predicate,
+ charset_predicate),
Vuser_defined_tags);
DEVICE_LOOP_NO_BREAK (devcons, concons)
{
@@ -1105,7 +1105,7 @@ define_specifier_tag(Lisp_Object tag, Li
invalid_argument
("Charset predicate must be able to take an argument", tag);
}
-
+
/* If there exists a charset_predicate for the tag currently (even if
the new charset_predicate is nil), or if we're adding one, we need
to recompute. This contrasts with the device predicates, where we
@@ -1139,7 +1139,7 @@ define_specifier_tag(Lisp_Object tag, Li
}
}
- if (recompute_charsets)
+ if (recompute_charsets)
{
if (NILP(charset_predicate))
{
@@ -1158,8 +1158,8 @@ define_specifier_tag(Lisp_Object tag, Li
if (!NILP(charset_predicate))
{
- struct gcpro gcpro1;
- charpres = make_vector(impossible, Qnil);
+ struct gcpro gcpro1;
+ charpres = make_vector(impossible, Qnil);
GCPRO1 (charpres);
/* If you want to extend the number of stages available, here
@@ -1212,8 +1212,8 @@ define_specifier_tag(Lisp_Object tag, Li
}
else
{
- XVECTOR_DATA(Vcharset_tag_lists)[i]
- = Fcons(Fcons(tag, charpres),
+ XVECTOR_DATA(Vcharset_tag_lists)[i]
+ = Fcons(Fcons(tag, charpres),
XVECTOR_DATA (Vcharset_tag_lists)[i]);
}
}
@@ -1310,15 +1310,15 @@ setup_device_initial_specifier_tags (str
assert(3 == list_len);
device_predicate = XCADR(XCAR (rest));
-
+
if (NILP (device_predicate))
{
- XCDR (XCAR (rest2)) = Qt;
+ XCDR (XCAR (rest2)) = Qt;
}
else
{
- device_predicate = !NILP (call_critical_lisp_code
- (d, device_predicate, device))
+ device_predicate = !NILP (call_critical_lisp_code
+ (d, device_predicate, device))
? Qt : Qnil;
XCDR (XCAR (rest2)) = device_predicate;
}
@@ -1329,7 +1329,7 @@ setup_charset_initial_specifier_tags (Li
setup_charset_initial_specifier_tags (Lisp_Object charset)
{
Lisp_Object rest, charset_predicate, tag, new_value;
- Lisp_Object charset_tag_list = Qnil;
+ Lisp_Object charset_tag_list = Qnil;
LIST_LOOP (rest, Vuser_defined_tags)
{
@@ -1362,7 +1362,7 @@ setup_charset_initial_specifier_tags (Li
\
} while (0)
- SETUP_CHARSET_TAGS_FROB (initial);
+ SETUP_CHARSET_TAGS_FROB (initial);
SETUP_CHARSET_TAGS_FROB (final);
/* More later? */
@@ -2325,10 +2325,10 @@ where
where
LOCALE := a window, a buffer, a frame, a device, or `global'
TAG-SET := an unordered list of zero or more TAGS, each of which
- is a symbol
+ is a symbol
TAG := a device class (see `valid-device-class-p'), a device type
- (see `valid-console-type-p'), or a tag defined with
- `define-specifier-tag'
+ (see `valid-console-type-p'), or a tag defined with
+ `define-specifier-tag'
INSTANTIATOR := format determined by the type of specifier
The pair (TAG-SET . INSTANTIATOR) is called an `inst-pair'.
@@ -2804,7 +2804,8 @@ specifier_instance_from_inst_list (Lisp_
Lisp_Object inst_list,
Error_Behavior errb, int no_quit,
Lisp_Object depth,
- Lisp_Object *instantiator)
+ Lisp_Object *instantiator,
+ int no_fallback)
{
/* This function can GC */
Lisp_Specifier *sp;
@@ -2866,7 +2867,7 @@ specifier_instance_from_inst_list (Lisp_
if (!device_matches_specifier_tag_set_p (device, tag_set))
{
- continue;
+ continue;
}
val = XCDR (tagged_inst);
@@ -2883,7 +2884,7 @@ specifier_instance_from_inst_list (Lisp_
val = call_with_suspended_errors
((lisp_fn_t) RAW_SPECMETH (sp, instantiate),
Qunbound, Qspecifier, errb, 5, specifier,
- matchspec, domain, val, depth);
+ matchspec, domain, val, depth, no_fallback);
if (!UNBOUNDP (val))
{
@@ -2922,7 +2923,7 @@ specifier_instance_from_inst_list (Lisp_
if (!device_matches_specifier_tag_set_p (device, tag_set))
{
- continue;
+ continue;
}
val = XCDR (tagged_inst);
@@ -2932,7 +2933,7 @@ specifier_instance_from_inst_list (Lisp_
val = call_with_suspended_errors
((lisp_fn_t) RAW_SPECMETH (sp, instantiate),
Qunbound, Qspecifier, errb, 5, specifier,
- matchspec, domain, val, depth);
+ matchspec, domain, val, depth, no_fallback);
if (!UNBOUNDP (val))
{
@@ -2963,7 +2964,7 @@ specifier_instance_from_inst_list (Lisp_
specifier_instance_from_inst_list (specifier, matchspec, \
domain, *CIE_inst_list, \
errb, no_quit, depth, \
- instantiator); \
+ instantiator, no_fallback); \
if (!UNBOUNDP (CIE_val)) \
return CIE_val; \
} \
@@ -3075,7 +3076,8 @@ specifier_instance_1 (Lisp_Object specif
assert (CONSP (sp->fallback));
return specifier_instance_from_inst_list (specifier, matchspec, domain,
sp->fallback, errb, no_quit,
- depth, instantiator);
+ depth, instantiator,
+ no_fallback);
}
#undef CHECK_INSTANCE_ENTRY
@@ -3245,7 +3247,7 @@ dependent on the particular type of spec
display table is not there. (Chartable specifiers are not yet
implemented.)
--- For font specifiers, MATCHSPEC should be a cons (CHARSET . STAGE).
+-- For font specifiers, MATCHSPEC should be a cons (CHARSET . STAGE).
The defined stages are currently `initial' and `final'. On X11, 'initial
is used when the font matching process is looking for fonts that match
the desired registries of the charset--see the `charset-registries'
@@ -3308,7 +3310,7 @@ specifier_matching_foo_from_inst_list (L
if (!NILP (built_up_list))
val = specifier_instance_from_inst_list (specifier, matchspec, domain,
built_up_list, ERROR_ME,
- 0, Qzero, &instantiator);
+ 0, Qzero, &instantiator, 0);
UNGCPRO;
return UNBOUNDP (val) ? default_ : want_instantiator ? instantiator : val;
@@ -3329,7 +3331,7 @@ you should not use this function; use `s
0);
}
-DEFUN ("specifier-instantiator-from-inst-list",
+DEFUN ("specifier-instantiator-from-inst-list",
Fspecifier_instantiator_from_inst_list, 3, 4, 0, /*
Attempt to convert an inst-list into an instance; return instantiator.
This is identical to `specifier-instance-from-inst-list' but returns
@@ -3923,5 +3925,5 @@ vars_of_specifier (void)
staticpro (&Vunlock_ghost_specifiers);
Vcharset_tag_lists = make_vector(NUM_LEADING_BYTES, Qnil);
- staticpro (&Vcharset_tag_lists);
-}
+ staticpro (&Vcharset_tag_lists);
+}
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
carbon2-commit: Document "lifting to Lisp". <87tzjvx8lu.fsf@uwakimon.sk.tsukuba.ac.jp>
16 years, 8 months
Aidan Kehoe
changeset: 4446:cff4ad0ab682b75b3986d85e78722c2667599e3d
user: Stephen J. Turnbull <stephen(a)xemacs.org>
date: Wed Feb 27 14:41:45 2008 +0900
files: man/ChangeLog man/internals/internals.texi
description:
Document "lifting to Lisp". <87tzjvx8lu.fsf(a)uwakimon.sk.tsukuba.ac.jp>
diff -r 515b91f904c1344a690b4ade3989a9cb69348894 -r cff4ad0ab682b75b3986d85e78722c2667599e3d man/ChangeLog
--- a/man/ChangeLog Tue Feb 26 18:02:34 2008 +0100
+++ b/man/ChangeLog Wed Feb 27 14:41:45 2008 +0900
@@ -1,3 +1,15 @@ 2007-12-17 Aidan Kehoe <kehoea@parhasa
+2008-02-27 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * internals/internals.texi (Discussion -- KKCC):
+ (Discussion -- Incremental Collector):
+ New nodes.
+ (Top):
+ (Discussion -- Garbage Collection):
+ (Discussion -- Pure Space):
+ Adjust pointers and menus for new nodes.
+
+ (lrecords): Remark that lcrecords are obsolete.
+
2007-12-17 Aidan Kehoe <kehoea(a)parhasard.net>
* lispref/strings.texi (Formatting Strings):
diff -r 515b91f904c1344a690b4ade3989a9cb69348894 -r cff4ad0ab682b75b3986d85e78722c2667599e3d man/internals/internals.texi
--- a/man/internals/internals.texi Tue Feb 26 18:02:34 2008 +0100
+++ b/man/internals/internals.texi Wed Feb 27 14:41:45 2008 +0900
@@ -740,6 +740,8 @@ Future Work Discussion
Discussion -- Garbage Collection
+* Discussion -- KKCC::
+* Discussion -- Incremental Collector::
* Discussion -- Pure Space::
* Discussion -- Hashtable-Based Marking and Cleanup::
* Discussion -- The Anti-Cons::
@@ -8551,6 +8553,9 @@ more defensive but less efficient and is
[see @file{lrecord.h}]
+@strong{This node needs updating for the ``new garbage collection
+algorithms'' (KKCC) and the ``incremental'' collector.}
+
All lrecords have at the beginning of their structure a @code{struct
lrecord_header}. This just contains a type number and some flags,
including the mark bit. All builtin type numbers are defined as
@@ -8570,6 +8575,9 @@ field used to distinguish one lcrecord f
field used to distinguish one lcrecord from another. (This field is used
only for debugging and could be removed, but the space gain is not
significant.)
+
+@strong{lcrecords are now obsolete when using the write-barrier-based
+collector.}
Simple lrecords are created using @code{ALLOCATE_FIXED_TYPE()}, just
like for other frob blocks. The only change is that the implementation
@@ -28419,12 +28427,82 @@ into the normal Future Work section.
@cindex garbage collection, discussion
@menu
+* Discussion -- KKCC::
+* Discussion -- Incremental Collector::
* Discussion -- Pure Space::
* Discussion -- Hashtable-Based Marking and Cleanup::
* Discussion -- The Anti-Cons::
@end menu
-@node Discussion -- Pure Space, Discussion -- Hashtable-Based Marking and Cleanup, Discussion -- Garbage Collection, Discussion -- Garbage Collection
+@node Discussion -- KKCC, Discussion -- Incremental Collector, Discussion -- Garbage Collection, Discussion -- Garbage Collection
+@subsection Discussion -- KKCC
+@cindex discussion, KKCC
+@cindex KKCC, discussion
+
+KKCC is the tag used for the ``new garbage collector algorithms,'' which
+are a refactoring of the garbage collector to make trying new collectors
+simpler.
+
+@node Discussion -- Incremental Collector, Discussion -- Pure Space, Discussion -- KKCC, Discussion -- Garbage Collection
+@subsection Discussion -- Incremental Collector
+@cindex discussion, Incremental Collector
+@cindex Incremental Collector, discussion
+
+The incremental collector is designed to allow better ``realtime''
+performance by not requiring a full mark and sweep pass. This also
+allows removal of most finalizers, as described in
+@samp{<vpd8x1fomdx.fsf@(a)informatik.uni-tuebingen.de>} by Marcus Crestani
+on xemacs-beta:
+
+I was able to nuke many finalizers by transforming
+separately allocated data structures to Lisp objects. Some of the
+remaining finalizers are also likely to go away, as soon as I (or
+someone else) find the time to ``lift'' the remaining, separately allocated
+objects to Lisp objects.
+
+Unfortunately, the current Lisp object layout leads to holes in the
+write barrier: Not all data structures that contain pointers to Lisp
+objects are allocated on the Lisp heap. Some Lisp objects do not carry
+all their information in the object itself. External parts are kept in
+separately allocated memory blocks that are not managed by the new Lisp
+allocator. Examples for these objects are hash tables and dynamic
+arrays, two objects that can dynamically grow and shrink. The separate
+memory blocks are not guaranteed to reside on page boundaries, and thus
+cannot be watched by the write barrier.
+
+Moreover, the separate parts can contain live pointers to other Lisp
+objects. These pointers are not covered by the write barrier and
+modifications by the client during garbage collection do escape. In
+this case, the client changes the connectivity of the reachability
+graph behind the collector's back, which eventually leads to erroneous
+collection of live objects. To solve this problem, I transformed the
+separately allocated parts to fully qualified Lisp objects that are
+managed by the allocator and thus are covered by the write barrier.
+This also removes a lot of special allocation and removal code for the
+out-sourced parts. Generally, allocating all data structures that
+contain pointers to Lisp objects on one heap makes the whole memory
+layout more consistent.
+
+A large part of the patch converts these data structures to Lisp
+objects. The conversion of an additionally allocated data structure to
+an Lisp objects includes:
+@itemize
+@item Add new object type to @samp{enum lrecord_type} in @file{lrecord.h}.
+@item Add @samp{lrecord_header} to the object's struct.
+@item Add @samp{DECLARE_RECORD()}/@samp{XFOO}/etc. below the struct definition.
+@item Add lrecord definition.
+@item Change allocation with malloc to allocation with new allocator.
+@item Add object to @samp{syms_of_*()}.
+@item Change memory description of parent object.
+@item Modify finalizer, free, or delete functions.
+@end itemize
+
+The initial motivation for this is the write barrier and the consistent
+format for all objects that may contain Lisp pointers. That we can get
+rid of finalizers this way follows naturally.
+
+
+@node Discussion -- Pure Space, Discussion -- Hashtable-Based Marking and Cleanup, Discussion -- Incremental Collector, Discussion -- Garbage Collection
@subsection Discussion -- Pure Space
@cindex discussion, pure space
@cindex pure space, discussion
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches