commit/w3: 3 new changesets
12 years, 7 months
Bitbucket
3 new commits in w3:
https://bitbucket.org/xemacs/w3/changeset/09d261cf5490/
changeset: 09d261cf5490
user: Norbert Koch
date: 2012-05-11 16:40:15
summary: XEmacs Package Release 1.37
affected #: 2 files
diff -r 7c14b4d274fe9f0014c2ea75877177ae59e77fce -r 09d261cf5490a3ccc8739d94107bfca5c1818c34 ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2012-05-11 Norbert Koch <viteno(a)xemacs.org>
+
+ * Makefile (VERSION): XEmacs package 1.37 released.
+
2012-05-11 Aidan Kehoe <kehoea(a)parhasard.net>
* lisp/url-queue.el (float-time): Make this available if it's
diff -r 7c14b4d274fe9f0014c2ea75877177ae59e77fce -r 09d261cf5490a3ccc8739d94107bfca5c1818c34 Makefile
--- a/Makefile
+++ b/Makefile
@@ -17,7 +17,7 @@
# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
-VERSION = 1.36
+VERSION = 1.37
AUTHOR_VERSION = 4.0pre47
MAINTAINER = XEmacs Development Team <xemacs-beta(a)xemacs.org>
PACKAGE = w3
https://bitbucket.org/xemacs/w3/changeset/415cf34c7b8e/
changeset: 415cf34c7b8e
user: Norbert Koch
date: 2012-05-11 16:40:15
summary: Added tag w3-1_37 for changeset 09d261cf5490
affected #: 1 file
diff -r 09d261cf5490a3ccc8739d94107bfca5c1818c34 -r 415cf34c7b8ec6dd6f0387750cb6bbd42010ebd0 .hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -72,3 +72,4 @@
1c6d16c14fbccf5dd79514be59d2fdadd26b8d14 sumo-2003-02-05
ce4acc105c8b8b30bdb45885bac03ba7274166a3 sumo-2006-05-10
23dd5f6006273167c6a366176d9d395873ca4d38 w3-1_36
+09d261cf5490a3ccc8739d94107bfca5c1818c34 w3-1_37
https://bitbucket.org/xemacs/w3/changeset/59e99a00a59f/
changeset: 59e99a00a59f
user: Norbert Koch
date: 2012-05-11 16:52:15
summary: Prerelease w3
affected #: 1 file
diff -r 415cf34c7b8ec6dd6f0387750cb6bbd42010ebd0 -r 59e99a00a59ffa39e51bb866ca30f2ec426459ee lisp/custom-load.el
--- a/lisp/custom-load.el
+++ b/lisp/custom-load.el
@@ -4,10 +4,10 @@
(autoload 'custom-add-loads "cus-load")
-(custom-add-loads 'url '("url-gw" "url-irc" "url-news" "url-vars" "url-history" "url-cookie" "custom-defines" "url-queue" "url"))
+(custom-add-loads 'url '("url-cookie" "url-gw" "url-history" "url-irc" "url-news" "url-queue" "url-vars" "url"))
(custom-add-loads 'ssl '("ssl"))
(custom-add-loads 'url-cookie '("url-cookie"))
-(custom-add-loads 'hypermedia '("url-vars" "w3-cus"))
+(custom-add-loads 'hypermedia '("w3-cus"))
(custom-add-loads 'w3-advanced '("w3-cus"))
(custom-add-loads 'w3-menus '("w3-cus" "w3-menu"))
(custom-add-loads 'w3-java '("w3-java"))
@@ -15,19 +15,17 @@
(custom-add-loads 'socks '("socks"))
(custom-add-loads 'w3-files '("w3-cus"))
(custom-add-loads 'comm '("ssl" "url-vars"))
-(custom-add-loads 'url-cache '("custom-defines" "url-cache" "url-vars"))
+(custom-add-loads 'url-cache '("url-cache" "url-vars"))
(custom-add-loads 'w3-images '("w3-cus" "w3-display"))
-(custom-add-loads 'url-history '("custom-defines" "url-history"))
-(custom-add-loads 'url-hairy '("custom-defines" "url-vars" "url-util"))
-(custom-add-loads 'url-mime '("custom-defines" "url-vars"))
+(custom-add-loads 'url-history '("url-history"))
+(custom-add-loads 'url-hairy '("url-util" "url-vars"))
+(custom-add-loads 'url-mime '("url-vars"))
(custom-add-loads 'processes '("socks"))
(custom-add-loads 'w3-hooks '("w3-cus"))
-(custom-add-loads 'w3 '("url-vars" "w3-cus" "w3-java" "custom-defines"))
+(custom-add-loads 'w3 '("url-vars" "w3-cus" "w3-java"))
(custom-add-loads 'url-file '("url-cache" "url-cookie" "url-vars"))
-(custom-add-loads 'url-news '("custom-defines"))
(custom-add-loads 'w3-display '("w3-cus" "w3-parse"))
(custom-add-loads 'w3-parsing '("w3-cus"))
(custom-add-loads 'i18n '("url-vars"))
-(custom-add-loads 'w3-scripting '("custom-defines"))
;;; custom-load.el ends here
Repository URL: https://bitbucket.org/xemacs/w3/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
commit/w3: 2 new changesets
12 years, 7 months
Bitbucket
2 new commits in w3:
https://bitbucket.org/xemacs/w3/changeset/3b785eeea937/
changeset: 3b785eeea937
user: kehoea
date: 2012-05-11 15:40:56
summary: Merge upstream changes into the W3 package, get them running.
ChangeLog addition:
2012-05-11 Aidan Kehoe <kehoea(a)parhasard.net>
* lisp/url-queue.el (float-time): Make this available if it's
unbound, 21.4 doesn't have it.
* lisp/url-http.el (url-http-create-request): We don't have
#'string-as-unibyte, mapconcat with #'identity instead.
* lisp/url-cookie.el (url-cookie-host-can-set-p): Don't bind an
unused, non-special variable.
* lisp/url-util.el (url-generate-unique-filename): Don't use
with-no-warnings.
(url-unhex-string): #'char-to-string, we don't have
#'byte-to-string.
* lisp/css.el (css-color-light-p): Don't bind an unused,
non-special variable.
(css-specificity): Ditto.
(css-display): Ditto.
* lisp/w3.el (w3-document-information):
* lisp/w3-imap.el (w3-image-loadable-p):
Call #'file-attributes, not #'url-file-attributes, in these two
files.
* lisp/url-cookie.el (url-cookie-handle-set-cookie): XEmacs;
url-parse-args downcased the assoc list keys, no need for
assoc-string rather than assoc.
* lisp/url.el (url-retrieve-internal): (save-match-data
(string-match "[^\x00-\x7f]" url)), not #'multibyte-string-p.
(url-retrieve-internal): Change the documentation to reflect this.
* lisp/url-file.el:
* lisp/w3-keymap.el: Add this, from upstream.
* lisp/w3-speak-table.el: Don't load cl-extra.el at compile time,
it's dumped in XEmacs.
* lisp/w3-fast-parse.el: Add this file, from upstream.
* lisp/w3-parse.el (w3-parse-munge-ethiopic-text):
default-enable-multibyte-characters isn't available on XEmacs,
don't look for it.
2012-05-10 Aidan Kehoe <kehoea(a)parhasard.net>
* lisp/w3-mouse.el (w3-mouse-button1, w3-mouse-button2)
(w3-mouse-button3, not): Check for (featurep 'xemacs), not
w3-running-xemacs
* lisp/w3-hot.el (w3-grok-html-bookmarks): Add special
declarations to this function, too.
2012-05-09 Aidan Kehoe <kehoea(a)parhasard.net>
* lisp/w3-display.el (w3-display-line-break): Remove binding for
width, unused.
* lisp/images.el (image-normalize): Bind coding-system-for-read on
calling a process, rather than file-coding-system.
* lisp/docomp.el (emacs-build-custom-load):
#'Custom-make-dependencies, not #'custom-make-dependencies
2012-05-11 Aidan Kehoe <kehoea(a)parhasard.net>
Incorporate the following changes from upstream:
2008-05-20 Magnus Henoch <mange(a)freemail.hu>
* lisp/w3.el (w3-do-setup): Change homepage link.
2008-03-26 Magnus Henoch <mange(a)freemail.hu>
* lisp/w3.el (w3-fetch-callback): Don't disable multibyte.
(w3-decode-charset): Don't reenable multibyte.
2008-03-10 Magnus Henoch <mange(a)freemail.hu>
* lisp/w3-display.el (w3-display-table): Guard against empty
colspan and rowspan elements.
(w3-display-table-dimensions): Ditto.
2008-03-01 Magnus Henoch <mange(a)freemail.hu>
* lisp/w3-speak-table.el: Modernize backquotes.
* lisp/w3-parse.el: Modernize backquotes.
* lisp/w3-java.el: Modernize backquotes.
* lisp/w3-forms.el: Modernize backquotes.
* lisp/Makefile.in (UTIL_SOURCES): Remove base64.el, md5.el,
socks.el
* lisp/base64.el: Remove. Emacs has this builtin.
* lisp/md5.el: Remove. Emacs has this builtin.
* lisp/socks.el: Remove. Emacs already has it.
* lisp/ssl.el: Don't require base64.
* lisp/url-vars.el: Remove. Emacs already has it.
2008-02-04 Magnus Henoch <mange(a)freemail.hu>
* lisp/font.el (font-x-font-regexp-foundry-and-family): Add from
last version of w3-sysdp.
(x-font-create-object): Use it instead of
x-font-regexp-foundry-and-family.
* lisp/Makefile.in (EXTRAS): Remove w3-sysdp.el.
(W3_SOURCES): Add w3-compat.el.
2007-12-09 Magnus Henoch <mange(a)freemail.hu>
* lisp/w3-compat.el (w3-url-file-nondirectory): Fix thinko: alias
to url-file-nondirectory, not url-file-directory.
2007-11-16 Magnus Henoch <mange(a)freemail.hu>
* lisp/w3-compat.el (w3-alist-to-plist): Define.
* lisp/w3-display.el (w3-parse-link)
(w3-display-normalize-form-info, w3-display-node): Use
w3-alist-to-plist instead of alist-to-plist.
2007-11-15 Magnus Henoch <mange(a)freemail.hu>
* lisp/w3-display.el: Use w3-url-file-nondirectory instead of
url-basepath (in many places).
* lisp/w3.el: Require w3-compat.
(w3-download-url): Use w3-url-file-nondirectory instead of
url-basepath.
* lisp/w3-compat.el: New file.
(w3-url-file-nondirectory): New function.
* lisp/images.el: Don't require w3-sysdp.
* lisp/css.el: Ditto.
(css-rule-specificity-internal): Drop old-style backquotes.
(css-symbol-list-as-regexp): Ditto.
* lisp/w3-dired.el: Don't require w3-sysdp.
* lisp/w3-display.el: Ditto. Also drop old-style backquotes.
* lisp/w3-menu.el: Ditto.
* lisp/w3.el: Ditto.
(w3-download-callback): Skip HTTP headers when saving file.
* lisp/w3-sysdp.el: Remove.
2007-03-09 Magnus Henoch <mange(a)freemail.hu>
* lisp/css.el (css-expand-color): Catch errors and display a
warning instead.
2006-12-15 Klaus Straubinger <KSNetz(a)UseNet.ArcorNews.DE> (tiny change)
* lisp/font.el (font-spatial-to-canonical): Fix conversion from
pixels to points.
* lisp/css.el (css-expand-length): Treat character based size
specifications as such.
2006-12-07 Magnus Henoch <mange(a)freemail.hu>
* lisp/w3.el (w3-fetch-callback): Treat application/xhtml+xml as
text/html.
2006-11-29 Magnus Henoch <mange(a)freemail.hu>
* lisp/w3.el (w3-download-redirect-callback): New function.
(w3-download-url): Use it instead of w3-download-callback.
2006-11-01 Magnus Henoch <mange(a)freemail.hu>
* lisp/w3.el (w3-fetch-redirect-callback): Handle both old and new
style of `url-retrieve' callback.
* lisp/w3-display.el (w3-finalize-image-download-skip-redirects):
Ditto.
2006-10-17 Magnus Henoch <mange(a)freemail.hu>
* lisp/w3.el (w3-save-url): Use kill-new.
* lisp/w3-xemac.el (w3-store-in-clipboard): Remove.
2006-10-13 Magnus Henoch <mange(a)freemail.hu>
* lisp/w3-parse.el (w3-slow-parse-buffer): Don't call
w3-element-content-model on nil values.
2006-10-12 Magnus Henoch <mange(a)freemail.hu>
* lisp/w3-imap.el (w3-image-loadable-p): Ignore errors in
url-file-attributes.
* lisp/w3-display.el (w3-finalize-image-download-skip-redirects):
New function.
(w3-maybe-start-background-image-download)
(w3-maybe-start-image-download): Use it instead of
w3-finalize-image-download.
2006-10-11 Magnus Henoch <mange(a)freemail.hu>
* lisp/w3.el (w3-fetch-redirect-callback): New function.
(w3-fetch): Use it as url-retrieve callback instead of
w3-fetch-callback.
2006-10-09 Magnus Henoch <mange(a)freemail.hu>
* lisp/w3.el: Require mm-decode here too.
2006-10-08 Magnus Henoch <mange(a)freemail.hu>
* lisp/w3-display.el: Require mm-decode when compiling.
2006-04-28 Dave Love <fx(a)gnu.org>
* texi/w3.txi: Change licence to GFDL.
2003-06-26 Sam Steingold <sds(a)gnu.org>
* lisp/w3-imap.el (w3-image-loadable-p): fixed the logic
2003-01-12 Wolfgang Jenkner <wjenkner(a)inode.at>
* lisp/w3.el (w3-fetch-callback)
(w3-nasty-disgusting-http-equiv-handling): When searching for the
':' meaning we are past the 'http/1.x' response, make sure that we
save-execursion around it, or bad things happen.
2002-10-28 Dave Love <fx(a)gnu.org>
* lisp/w3-display.el (w3-display-node): Don't use
font-running-xemacs.
2002-10-27 William M. Perry <wmperry(a)gnu.org>
* lisp/w3.el (w3-nasty-disgusting-http-equiv-handling): Now takes
a second parameter, which is the URL that is being processed.
This allows us to set url-current-object in the temporary buffer.
This fixes the bug where a not-fully-qualified URL would cause
url-expand-filename to get 'confused' and throw an error.
(w3-fetch-callback): Pass the new URL argument to
w3-nasty-disgusting-*
2002-10-22 William M. Perry <wmperry(a)gnu.org>
* lisp/w3-forms.el (w3-form-create-option-list): Invalid call to
truncate-string-to-width caused all reasonably sized <option>
elements in a <select> to be invisible.
(w3-form-default-button-update): Similar problem for buttons.
2002-09-17 William M. Perry <wmperry(a)gnu.org>
* lisp/w3.el (w3-fetch-callback): Removed set-cookie handling.
This needs to be handled in the HTTP protocol loader so that
cookies that get set on redirects are honored. This seems to be
why my.yahoo.com has stopped working.
2002-09-15 William M. Perry <wmperry(a)gnu.org>
* lisp/w3.el (w3-nasty-disgusting-http-equiv-handling): Need to
make sure that we skip the 'HTTP/1.x' line at the top of the
buffer (due to changes in the url library), or we end up confusing
mail-header-extract if there are any <meta> elements with
http-equiv headers in them.
(w3-fetch-callback): I'm an idiot and was trying to compare the
VALUE of a header against the actual header name for doing cookie
handling. Arguably this cookie handling should all be done in the
HTTP handler itself. Should move it somebday.
2002-02-01 William M. Perry <wmperry(a)gnu.org>
* lisp/w3.el (w3-fetch-callback): Fiddling with how to display XML
by default.
* lisp/w3-widget.el: Attempt to make images work with Emacs 21.
* lisp/w3-display.el (w3-display-node): Revert change for <hr>
handling.
* lisp/images.el: Use (featurep 'xemacs) instead of
string-matching on emacs-version.
2001-12-11 William M. Perry <wmperry(a)gnu.org>
* lisp/devices.el: Remove ancient NextStep support.
* lisp/font.el: Merge with the version from XEmacs 21.5. This
pulls in lots of GTK fixes that I made ages ago. Also removes
ancient, unworking NextStep support. Use new backquote syntax
(emacs 19 can go away now).
2002-01-22 Dave Love <fx(a)gnu.org>
* lisp/css.el (css-color-values): Maybe use `color-values'.
* lisp/socks.el: Require cl only when compiling. Require wid-edit
when compiling.
* lisp/font.el: Require cl only when compiling. Remove second
(require 'disp-table). Wrap definitions of << & al in
eval-and-compile. Doc fixes.
(font-set-font-encoding): Renamed from set-font-encoding (which is
in fontset.el).
* lisp/devices.el: Require cl only when compiling.
* lisp/w3-java.el (url-util): Require.
(w3-java-run-applet): Use url-generate-unique-filename, not
non-existent mailcap-generate-unique-filename.
* lisp/w3-menu.el (w3-first-n-items, w3-only-links)
(w3-fix-spaces): Autoload to avoid compiler warnings.
(w3-menu-filters-supported-p): Include Emacs 21.
(w3-menu-links-constructor): Use modern backquote syntax.
* lisp/ssl.el: Require cl only when compiling. Require url. Doc
fixes.
(ssl-view-certificate-program-arguments): Modify :type.
(top-level): Delete custom compatibility code since we require a
modern Emacs.
(open-ssl-stream): Use modern backquote syntax.
* lisp/w3-display.el (top-level): Declarations and autoloads to
avoid compiler warnings.
(w3-display-node): Use copy-sequence, not CL runtime copy-tree.
* lisp/w3-parse.el (decode-char): Modify logic for compiler
warning.
* lisp/w3.el (w3-nasty-disgusting-http-equiv-handling): Make
buffer arg compulsory and always set the buffer. Parse a copy of
the head region, since w3-parse-region widens the buffer and may
mung it.
(w3-fetch-callback): Give w3-nasty-disgusting-http-equiv-handling
an arg.
2001-12-04 William M. Perry <wmperry(a)gnu.org>
* lisp/w3-display.el (w3-display-node): Explicitly put in breaks
for <hr> - <p> is not always inferred before and after (like when
using w3-fast-parse.
2001-11-25 William M. Perry <wmperry(a)gnu.org>
* lisp/w3-parse.el (w3-parse-buffer): Add : to the allowed tag
names to deal with Microsoft XHTML.
(w3-parse-buffer): Allow : in attribute names for XHTML
2001-11-24 William M. Perry <wmperry(a)gnu.org>
* lisp/font.el (font-set-face-font-new-redisplay): Doh! Fix my
last font-size checking screwup. *sigh*
* lisp/ssl.el (ssl-get-command): New routine to handle wrapping
the ssl program inside something that will redirect stderr to
/dev/null. Do this only on non-dos, non-windows, and non-vms
system types. This is necessary because the -quiet switch to
openssl's s_client program doesn't do what it is supposed to do.
*sigh*
* lisp/font.el (font-set-face-font-new-redisplay): Check font-size
for == 0, not just non-nil.
2001-11-21 William M. Perry <wmperry(a)gnu.org>
* lisp/w3.el (w3-mode): Don't bother calling
kill-all-local-variables. It screws up too many things, namely
emacspeak personality properties and XEmacs' buffer-local faces.
* lisp/w3-display.el (w3-handle-string-content): Just go ahead an
always put the personality (aural properties) on text.
* lisp/w3-parse.el (w3-parse-buffer): Patch from Joe Wells to
handle XHTML a little bit better. Still a hack, but it will now
work at all.
* lisp/w3-display.el (w3-display-node): Add support for 'start'
element on list start elements. Some sites use this instead of
seqnum.
2001-10-31 Dave Love <fx(a)gnu.org>
* lisp/w3.el (w3-decode-charset): DTRT for explicit ascii charset.
2001-10-11 Dave Love <fx(a)gnu.org>
* lisp/w3-style.el (cl): Require only when compiling.
* lisp/w3-cus.el: Doc fixes.
(w3-delay-image-loads): Fix default for Emacs 21.
(w3-mule-charset-to-coding-alist): Remove.
* lisp/w3.el (w3-parse-hotlist, w3-menu-install-menus): Autoload.
(w3-explicit-coding-system): Move definition.
(w3-decode-charset, w3-fetch-callback): Use it.
2001-10-01 Dave Love <fx(a)gnu.org>
* lisp/w3-vars.el: Doc fixes.
(w3-meta-content-type-charset-regexp)
(w3-meta-charset-content-type-regexp): Removed.
(w3-persistent-variables): Add url-current-mime-headers.
* lisp/w3.el (w3-setup-reload-timer, w3-handle-refresh-header):
New function.
(w3-fetch-callback): Handle refresh and cookies. Set
url-current-object. Don't destroy external parts immediately.
For inlines, use w3-mode, require mm-view, lose cursor for images.
(w3-document-information): Fix for current url stuff.
(w3-replace-invalid-chars): Remove.
* lisp/w3-display.el (w3-display-node): Fix <meta> and <link>
handling.
2001-09-24 Dave Love <fx(a)gnu.org>
* lisp/w3.el (w3-http-equiv-headers): New function.
(w3-nasty-disgusting-http-equiv-handling): Use it to fix
http-equiv handling.
2001-09-09 Dave Love <fx(a)gnu.org>
* lisp/w3-display.el (w3-mode, w3-add-delayed-graphic)
(w3-find-specific-link, w3-fix-spaces): Autoload.
* lisp/w3-props.el (w3-fillin-text-property): Renamed from
`fillin-text-property'.
2001-08-24 Dave Love <fx(a)gnu.org>
* lisp/font.el (font-spatial-to-canonical): Don't choke if
font-default-size-for-device returns nil, convert it to 0.
From Jim Meyering <meyering(a)lucent.com>
2001-07-19 Dave Love <fx(a)gnu.org>
* lisp/w3-toolbar.el (w3-toolbar-map): Don't lose on non-graphical
display with tool-bar-mode t.
2001-06-21 Dave Love <fx(a)gnu.org>
* lisp/w3-menu.el (w3-menu-hotlist-constructor): Require w3-hot,
not w3-hotlist.
2001-06-14 Dave Love <fx(a)gnu.org>
* lisp/Makefile.in (W3_SOURCES): Add w3-emacs.el, remove files it
obsoletes.
2001-06-07 Dave Love <fx(a)gnu.org>
* lisp/w3-print.el (mule-sysdp): Don't require.
* lisp/w3-parse.el (mule-sysdp): Don't require.
* lisp/w3-latex.el (mule-sysdp): Don't require.
(w3-show-dvi): Avoid mule-write-region-no-coding-system.
* lisp/w3-display.el (mule-sysdp): Don't require.
(w3-display-get-cookie, w3-finalize-image-download): Avoid
mule-write-region-no-coding-system.
* lisp/w3-cus.el (mule-sysdp): Don't require.
(w3-force-conversion-alist): Use binary, not
mule-no-coding-system.
* lisp/images.el (mule-sysdp): Don't require.
(image-normalize): Use binary, not mule-no-coding-system.
* lisp/w3-forms.el (wid-edit): Require unconditionally.
(custom-magic-reset, w3-warn): Autoload.
(w3-form-keymap): Use substitute-key-definition, not
cl-map-keymap.
(w3-form-create-custom): Require cus-edit unconditionally.
(w3-all-widgets): Move definition.
(w3-form-create-file-browser, w3-form-create-option-list)
(w3-form-default-button-update): Avoid mule-truncate-string.
(mule-sysdp): Don't require.
(w3-form-encode-xwfu): Avoid mule-encode-string.
* lisp/w3-emacs.el: New file.
* lisp/w3-e19.el, lisp/w3-e20.el, lisp/w3-e21.el: Deleted in
favour of w3-emacs. (Avoid defadvice.)
* lisp/w3.el (w3-load-flavors): Remove Emacs version-specifics --
just require w3-emacs.
* lisp/w3-toolbar.el (w3-toolbar-file-icon)
(w3-toolbar-printer-icon, w3-toolbar-file-icon): New variable.
(w3-toolbar-map): Transform `toolbar-' symbols into `w3-toolbar-'.
* lisp/w3-sysdp.el (copy-tree): Fix cl- functions.
(truncate-string-to-width): New.
2001-06-05 Dave Love <fx(a)gnu.org>
* lisp/w3-display.el: Require cl only when compiling.
(w3-line-breaks-vector): Deleted.
(w3-display-line-break): Use justification arg of
fill-region-as-paragraph. Use insert-char.
* lisp/css.el (w3-sysdp): Require.
(url-expand-file-name, url-insert-file-contents, url-view-url):
Autoload.
(css-running-xemacs): Removed. Change callers to use featurep.
(css-handle-import, css-parse): Declare url-current-object
special.
(css-active-device-types): Use display-multi-font-p, not
font-running-emacs-new-redisplay.
* lisp/w3-parse.el (w3-invalid-sgml-char-replacement): Doc fix.
(w3-resolve-numeric-char): Renamed from
w3-resolve-numeric-entity. Callers changed.
* lisp/w3-vars.el (w3-version-number): Fix regexp, doc.
(w3-html-entities): Modified per W3C entity list.
* lisp/w3-toolbar.el (w3-toolbar-back-icon, w3-toolbar-forw-icon)
(w3-toolbar-home-icon, w3-toolbar-reld-icon)
(w3-toolbar-imag-icon, w3-toolbar-open-icon)
(w3-toolbar-print-icon, w3-toolbar-find-icon)
(w3-toolbar-stop-icon, w3-toolbar-help-icon)
(w3-toolbar-hotl-icon) [(featurep 'tool-bar)]: Initialize to names
of Emacs 21 icons.
(toolbar-make-button-list) [(featurep 'tool-bar)]: Don't define.
(w3-toolbar-make-buttons): Do nothing if (featurep 'tool-bar).
(w3-toolbar-map): New variable.
(w3-add-toolbar-to-buffer): Use it.
2001-06-01 Dave Love <fx(a)gnu.org>
* lisp/w3-display.el (widget-convert-text): Only advise it if
we're in Emacspeak.
(append-suffixes-hack, w3-java-run-applet, mm-inline-text):
Autoload.
(w3-display-get-cookie): Use url-generate-unique-filename.
(w3-display-table): Use copy-sequence, not copy-seq.
* lisp/w3.el (w3-decode-charset): Set buffer file coding system.
2001-05-31 Dave Love <fx(a)gnu.org>
* lisp/w3-menu.el (w3-menu-file-menu): Fix
"---:shadowDoubleEtchedIn". From Pavel JanÃk.
* lisp/w3-parse.el (decode-char): Define with older Mule-UCS.
(w3-expand-entity-at-point-maybe): Sanitize regexp for numeric
entity. Don't lose trailing space. Grok hex form.
2001-05-30 Dave Love <fx(a)gnu.org>
* lisp/w3-menu.el: Require w3-sysdp.
(w3-popup-menu): Revert last change.
2001-05-29 Dave Love <fx(a)gnu.org>
* lisp/w3-sysdp.el: Remove lots of unused stuff.
* lisp/w3.el: Require cl only when compiling. Doc and message
fixes.
* lisp/w3-toolbar.el (w3-toolbar): Bind w3-hotlist-view, not
w3-show-hotlist.
* lisp/w3-menu.el (w3-menu-hotlist-constructor): Require
w3-hotlist.
(w3-menu-bookmark-menu): Bind w3-hotlist-view, not
w3-show-hotlist.
(w3-popup-menu): In Emacs, use copy-keymap, not copy-tree.
* lisp/w3-hotindex.el (w3-hotindex-query): Call w3-hotlist-view,
not w3-show-hotlist.
* lisp/w3-emulate.el (url-vars): Require.
(w3-lynx-emulation-minor-mode-map)
(w3-netscape-emulation-minor-mode-map): Bind w3-hotlist-view, not
w3-show-hotlist.
* lisp/w3-dired.el (w3-open-local, w3-fetch): Autoload.
(add-minor-mode): Remove definition in favour of autoload.
* lisp/w3-keymap.el (w3-mode-map): Bind w3-hotlist-view, not
w3-show-hotlist.
* lisp/w3-parse.el (w3-parse-buffer): Use
w3-resolve-numeric-entity for bogus characters.
2001-05-25 William M. Perry <wmperry(a)gnu.org>
* lisp/w3-speak-table.el: Make sure to load cl-extra at load time
to work around a byte-optimizer bug in Emacs 21 that caused this
module to fail to byte-compile.
2001-05-24 Pavel JanÃk <Pavel(a)janik.cz>
* lisp/w3-display.el (w3-resurrect-hyperlinks): Look for next
single property change from `st' instead of `nd' to avoid
potential infinite loops.
2001-05-24 William M. Perry <wmperry(a)gnu.org>
* lisp/w3-cus.el (w3-honor-stylesheets): Turn off stylesheets for
now - url-retrieve-synchronously seems to be acting quite
strange.
2001-05-22 William M. Perry <wmperry(a)gnu.org>
* lisp/css.el (css-handle-import): Use ignore-errors around url
loading.
(css-parse): Ditto.
* lisp/docomp.el: Remove a bunch of the autoloading crap - it
isn't needed anymore.
2001-05-17 William M. Perry <wmperry(a)gnu.org>
* lisp/w3-parse.el w3-int-to-char: Deal with XEmacs more nicely.
int-to-char does error checking, so passing in ?~ tends to blow
things up. Do better error checking for characters passed in, and
for integers that are not capable of being converted to
characters.
* lisp/w3-display.el (w3-dingbats): Deal with a mule-less XEmacs
in our conditions.
2001-05-16 Dave Love <fx(a)gnu.org>
* lisp/w3.el (w3-decode-charset): Re-write.
(w3-fetch-callback): Partly re-write for coding conversion.
(w3-convert-code-for-mule, w3-coding-system-for-mime-charset):
Deleted.
(w3-save-as, w3-download-callback): Avoid
mule-write-region-no-coding-system.
(w3-mode): Do kill-all-local-variables in Emacs.
2001-05-15 Dave Love <fx(a)gnu.org>
* lisp/w3-display.el (w3-sysdp): Require.
(flatten): Autoload unconditionally.
* lisp/w3-parse.el (w3-invalid-sgml-char-replacement): Redefined.
(w3-resolve-numeric-entity): New function.
(html-entities): Consider string and non-string returns from
w3-resolve-numeric-entity.
(w3-p-s-var-def): Use w3-resolve-numeric-entity.
(w3-parse-hooks): Fix typo.
(w3-int-to-char): New alias.
2001-05-14 Dave Love <fx(a)gnu.org>
* lisp/w3-sysdp.el: Don't define extent-related functions, to
avoid trouble with other packages.
* lisp/w3.el: Don't require mule-sysdp.
(w3-decode-charset): Remove prompting stuff. Avoid
gnus-strip-whitespace. Use mm-charset-to-coding-system and return
coding system used.
(w3-fetch-callback): Bind and set mule-retrieval-coding-system.
Call mm-enable-multibyte.
(w3-widget-button-click): Add Emacs case.
(w3-warn): Wrap definition in eval-and-compile.
* lisp/w3-imap.el: Use new backquote syntax.
(w3-image-invalid-glyph-p): Test for Emacs images.
* lisp/w3-widget.el: Use (featurep 'xemacs). Use modern backquote
syntax.
(widget): Don't require cl.
(w3-vars): Require.
(w3-point-in-map, w3-point-in-map): Autoload.
(widget-image-value-set): Add Emacs 21 image test.
(widget-image-usemap): Avoid a string-match.
(widget-image-value-create): Use align property. Fix call of
image-type-available-p. Some simplification. Use `insert-image'
in Emacs.
(widget-image-delete): Maybe use delete-overlay.
(widget-glyphp): Test for Emacs image.
(widget-image-button-press): Add code for Emacs.
* lisp/w3-display.el: Use (featurep 'xemacs), not
w3-running-xemacs. Use modern backquote syntax.
(w3-maybe-start-image-download): Use display-graphic-p. Don't use
make-glyph in Emacs.
(w3-maybe-start-background-image-download): Fix typo `mesage'.
Don't use make-glyph in Emacs.
(w3-finalize-image-download): For Emacs, grok `align' attribute.
Use unibyte for image data in Emacs. Only do xbm stuff in XEmacs.
Don't do make-glyph by default. Only call set-glyph-image if it's
defined.
(w3-handle-image): Use `align'.
(w3-dingbats): Define without using mule-sysdep-version.
(w3-make-char): Likewise.
(w3-display-node): Minor logic simplification.
* lisp/w3-menu.el (cl): Require cl when compiling. Use (featurep
'xemacs), not w3-running-xemacs.
(w3-menu-file-menu): Allow ---:shadowDoubleEtchedIn in Emacs 21.
(w3-menu-options-menu): Comment-out `download to disk'
(w3-dump-to-disk not defined).
* lisp/w3-parse.el (url-expand-file-name): Autoload.
(cl): Require when compiling.
(w3-invalid-sgml-char-replacement): Defvar when compiling.
(w3-parse-munge-ethiopic-text): Don't bother supporting MULE 2.
(w3-parse-hooks): Customize. Default to nil, with
w3-parse-munge-ethiopic-text as an option.
* lisp/w3-dired.el (w3-dired-find-file-mouse): Use mouse-set-point.
(dired-get-filename): Autoload.
(w3-dired-find-file-dired): New function, renamed from second
occurrence of w3-dired-find-file.
* lisp/w3-hot.el (cl): Require when compiling.
2001-05-10 Dave Love <fx(a)gnu.org>
* lisp/w3-menu.el (w3-menu-go-menu): Use url-history-track, not
url-keep-history.
* lisp/mule-sysdp.el: Removed in favour of one in url package.
2001-01-04 Dave Love <fx(a)gnu.org>
* lisp/w3-toolbar.el (w3-add-toolbar-to-buffer) <featurep 'tool-bar>:
Test display-graphic-p and tool-bar-lines. Use mapc, not mapcar.
2001-01-03 Dave Love <fx(a)gnu.org>
* lisp/w3-toolbar.el (w3-add-toolbar-to-buffer): In Emacs, test
for graphic display and non-zero tool bar lines.
2001-01-02 Sam Steingold <sds(a)gnu.org>
* lisp/docomp.el (load-path): Gnus and URL are two levels
above w3/lisp by default.
2000-12-20 Dave Love <fx(a)gnu.org>
* lisp/w3-sysdp.el: Use sysdep-defalias, not sysdep-fset.
* lisp/w3-widget.el: Use defalias, not fset.
* lisp/w3.el (w3-maybe-follow-link): Fix call of
widget-button-press.
* lisp/w3-parse.el (w3-char-int): New alias instead of char-int.
* lisp/w3-menu.el (w3-event-glyph): New alias instead of
event-glyph.
* lisp/w3-display.el: Use defalias, not fset.
(w3-widget-echo): Revert last change, following Emacs change.
* lisp/mule-sysdp.el (cl): Require only when compiling.
* lisp/font.el: Use defalias, not fset. Don't use cl-...hash.
* lisp/devices.el (device-class): Try display-color-p first.
* lisp/socks.el (socks-char-int): New alias instead of char-int.
Callers changed.
(socks-original-open-network-stream, open-network-stream): Use
defalias, not fset.
(socks-wait-for-state-change, socks-filter)
(socks-open-connection, socks-open-connection)
(socks-send-command, socks-parse-services)
(socks-find-services-entry, socks-open-network-stream)
(socks-username/password-auth-filter)
(socks-username/password-auth): Don't use cl-...hash.
* lisp/css.el (css-get-internal, css-copy-stylesheet)
(css-store-rule, css-display): Don't use cl-...hash.
2000-11-15 William M. Perry <wmperry(a)aventail.com>
* lisp/w3-mouse.el (not): Don't ever try to grab mouse-movement
events if we are running Emacs 21.
* lisp/w3-display.el (w3-decimal-to-alpha): Don't try to inline
this - it called itself recursively and so blew up Emacs'
byte-compiler.
(w3-decimal-to-alpha): Also fixed bug where large numbers did not
get converted correctly (3 letters or more were completely screwed
up).
(w3-decimal-to-roman): Don't inline this one either, just for
safety.
2000-10-16 William M. Perry <wmperry(a)aventail.com>
* lisp/w3-e21.el (toolbar-file-icon): added definitions of
toolbar-file-icon and toolbar-printer-icon
2000-10-02 William M. Perry <wmperry(a)aventail.com>
* lisp/w3-e21.el (w3-setup-version-specifics): Advise this
function to create toolbar buttons in Emacs 21.x with toolbar
support.
(w3-mode-version-specifics): Advise this function to actually add
the toolbars to each buffer.
* lisp/w3-toolbar.el (w3-add-toolbar-to-buffer): Deal with
toolbars in Emacs 21.
2000-07-28 Sam Steingold <sds(a)gnu.org>
* lisp/Makefile.in: added w3-e21.el to W3_SOURCES
2000-07-10 William M. Perry <wmperry(a)aventail.com>
* lisp/w3-parse.el (w3-expand-entity-at-point-maybe): Wrap
inserting of &#xxx; entities inside a condition-case so that we
won't choke and die when parsing a bad document.
1999-12-23 William M. Perry <wmperry(a)aventail.com>
* lisp/w3-speak-table.el (w3-table-focus-on-this-cell): Synch'd up
with Thierry & Raman. Provide default value for at-depth.
Resurrect hyperlinks and images when focusing on a cell.
(w3-table-setup-keys): New bindings for `,' and `.' to focus on
and speak table cells.
1999-12-22 William M. Perry <wmperry(a)aventail.com>
* lisp/w3-parse.el (w3-parse-buffer): Allow ':' in attribute
names, to deal with stupid quasi-HTML/XML data output by MS Word
9.x
(w3-parse-buffer): Removed progress bar stuff, since it is causing
XEmacs 21.2 betas to crash.
1999-12-06 William M. Perry <wmperry(a)aventail.com>
* lisp/w3-display.el (w3-prepare-tree): Analog to
w3-prepare-buffer, but works on a ready-made parse tree instead of
parsing it on the fly.
* lisp/w3.el (w3-fetch-callback): Added in special case for
handling content-type of application/x-elisp-parsed-html, for when
we want to
* lisp/css.el (css-handle-import): Protect against
url-insert-file-contents signalling an error.
(css-handle-import): Use url-insert-file-contents instead of the
old url-retrieve interface. We cannot retrieve stylesheets
asynchronously (for now).
(css-expand-value): Nuke quotes around URL attributes.
1999-12-05 William M. Perry <wmperry(a)aventail.com>
* lisp/w3-display.el (w3-prepare-buffer): Don't do the history
stuff - this died a long time ago anyway.
1999-12-05 Dave Love <fx(a)gnu.org>
* lisp/Makefile.in (W3_OBJECTS): Use W3_SOURCES, not SOURCES.
1999-12-05 William M. Perry <wmperry(a)aventail.com>
* lisp/w3.el (w3-fetch): Urk, call w3-notify-when-ready if we
found a buffer visiting the URL, otherwise nothing happens.
User just silently gets no feedback about the operation.
* w3.el: Lots of changes to work with the new URL package.
* w3-vars.el: Removed lots of old varialbes. Updated to use new
URL package where necessary.
(w3-graphlink-menu): Removed the 'info' menu item. Not
(re)implemented yet.
(w3-hyperlink-menu): Ditto.
* w3-toolbar.el (w3-mouse-print-this-url): Ditto.
* w3-print.el (w3-print-this-url): Removed LaTeX as an option.
* w3-style.el, w3-parse.el: Deal with using new URL package.
* w3-menu.el: Removed LaTeX-related menu entries.
(w3-menu-links-constructor): Expand the URL in the menu
constructor if necessary, don't use url-maybe-relative anymore.
* w3-keymap.el: New separate file just for keymaps
* w3-java.el: Deal with removal of old 'mm' file and use
mailcap.el functions.
* w3-forms.el: Removed gopher query support.
* w3-emulate.el: Remove arena masquerade code. Does anybody even
use this masquerading code?
* w3-jscript.el, w3-elisp.el, w3-script.el: Removed files related
to scripting.
* w3-xemac.el (w3-mouse-handler): Ditto.
* w3-e19.el (w3-mouse-handler): Don't bother with scripting
elements yet.
* w3-display.el: Lots of changes to deal with the new URL package
and using the new mailcap.el file from Gnus.
* w3-cus.el: Removed lots of obsolete variables
* w3-hot.el (w3-hotlist-add-document): Disable due to default use
of html bookmark files now.
(w3-hotlist-delete): Ditto.
(w3-hotlist-apropos): Use new URL-based hotlist interface
(w3-hotlist-view): Ditto.
(w3-use-hotlist): Now deals with html-based bookmark lists.
(w3-hot-convert-to-alist): New function to conver an internal
bookmark list to an assoc list with oddly formatted keys.
(w3-read-html-bookmarks): Don't set w3-html-bookmarks any more -
this will be the main format now.
(w3-hot-push-now-item): Don't push a menu-object onto the list,
use a regular format we can convert to a menu when necessary.
* url-hotlist.el: New URL-based interface for searching your
hotlist.
1999-12-04 William M. Perry <wmperry(a)aventail.com>
* lisp/base64.el: Updated to latest base64.el from Kyle. Now no conflicts
between this and the Gnus-distributed version.
1999-12-03 William M. Perry <wmperry(a)aventail.com>
* lisp/font.el (font-set-face-font-new-redisplay): Don't set the :family
face attribute if it is nil. The new redisplay doesn't like that.
affected #: 86 files
Diff too large to display.
https://bitbucket.org/xemacs/w3/changeset/7c14b4d274fe/
changeset: 7c14b4d274fe
user: kehoea
date: 2012-05-11 15:43:28
summary: Merge.
affected #: 1 file
diff -r 3b785eeea937fb6dc2927ac15fbfb10a6cd26ed0 -r 7c14b4d274fe9f0014c2ea75877177ae59e77fce lisp/docomp.el
--- a/lisp/docomp.el
+++ b/lisp/docomp.el
@@ -91,4 +91,4 @@
(or (fboundp 'declare-function)
(defmacro declare-function (function file &optional arglist fileonly)
- `(autoload ',function ,file)))
\ No newline at end of file
+ `(autoload ',function ,file)))
Repository URL: https://bitbucket.org/xemacs/w3/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
[COMMIT] Be better about word boundaries with JIT unicode characters, mule-category.el
12 years, 7 months
Aidan Kehoe
APPROVE COMMIT
NOTE: This patch has been committed.
# HG changeset patch
# User Aidan Kehoe <kehoea(a)parhasard.net>
# Date 1336654386 -3600
# Node ID bed39edf91ba137860fa91f24628ff7bdecb43a1
# Parent 6e5a7278f9bfc88ff4111ccaf59a08a018462cb5
Be better about word boundaries with JIT unicode characters, mule-category.el
lisp/ChangeLog addition:
2012-05-10 Aidan Kehoe <kehoea(a)parhasard.net>
* mule/mule-category.el (word-combining-categories):
Be better about default word boundaries when text contains
just-in-time-allocated Unicode code points. Document what we
should do instead once we have Unicode internally.
* mule/misc-lang.el: IPA characters are Latin.
diff -r 6e5a7278f9bf -r bed39edf91ba lisp/ChangeLog
--- a/lisp/ChangeLog Tue May 08 09:47:41 2012 +0100
+++ b/lisp/ChangeLog Thu May 10 13:53:06 2012 +0100
@@ -1,3 +1,11 @@
+2012-05-10 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * mule/mule-category.el (word-combining-categories):
+ Be better about default word boundaries when text contains
+ just-in-time-allocated Unicode code points. Document what we
+ should do instead once we have Unicode internally.
+ * mule/misc-lang.el: IPA characters are Latin.
+
2012-05-08 Aidan Kehoe <kehoea(a)parhasard.net>
* cl-macs.el (rassoc): Remove a stray parenthesis here, thank you
diff -r 6e5a7278f9bf -r bed39edf91ba lisp/mule/misc-lang.el
--- a/lisp/mule/misc-lang.el Tue May 08 09:47:41 2012 +0100
+++ b/lisp/mule/misc-lang.el Thu May 10 13:53:06 2012 +0100
@@ -41,4 +41,26 @@
short-name "IPA"
long-name "IPA"))
+;; XEmacs; these are Latin, it's not useful to put word boundaries between
+;; them and ASCII.
+(modify-category-entry 'ipa ?l nil t)
+
+;; XEmacs; why are these Latin? See the following:
+;;
+;; (let ((scripts
+;; (mapcar #'(lambda (character)
+;; (car
+;; (split-string
+;; (cadr (assoc "Name" (describe-char-unicode-data
+;; character))))))
+;; (loop
+;; for i from 33 to 127
+;; if (not (eql -1 (char-to-unicode (make-char 'ipa i))))
+;; nconc (list (make-char 'ipa i))))))
+;; (mapcar #'(lambda (script)
+;; (cons script (count script scripts :test #'equal)))
+;; (remove-duplicates scripts :test #'equal)))
+;; => (("GREEK" . 1) ("LATIN" . 55) ("MODIFIER" . 3))
+
+
;;; misc-lang.el ends here
diff -r 6e5a7278f9bf -r bed39edf91ba lisp/mule/mule-category.el
--- a/lisp/mule/mule-category.el Tue May 08 09:47:41 2012 +0100
+++ b/lisp/mule/mule-category.el Thu May 10 13:53:06 2012 +0100
@@ -252,6 +252,7 @@
(chinese-big5-1 ?t)
(chinese-big5-2 ?t)
(korean-ksc5601 ?h "Hangul (Korean) 2-byte character set")
+ (jit-ucs-charset-0 ?J "Just-in-time-allocated Unicode character")
)
"List of predefined categories.
Each element is a list of a charset, a designator, and maybe a doc string.")
@@ -275,7 +276,18 @@
;;; Setting word boundary.
(setq word-combining-categories
- '((?l . ?l)))
+ ;; XEmacs; we should change to defining scripts, as does GNU, once
+ ;; unicode-internal is the default, and placing word boundaries
+ ;; between different scripts, not different charsets, by default.
+ ;; Then we can remove the jit-ucs-charset-0 entry above and all the
+ ;; entries containing ?J in this list.
+ ;;
+ ;; These entries are a bit heuristic, working on the assumption that
+ ;; characters that will be just-in-time-allocated will not be East
+ ;; Asian in XEmacs, and there's also no mechanism to apply the ?J
+ ;; category to further newly-created JIT categories.
+ '((?l . ?l) (?J . ?l) (?l . ?J) (?J . ?y) (?y . ?J) (?J . ?b) (?b . ?J)
+ (?J . ?g) (?J . ?w) (?w . ?J)))
(setq word-separating-categories ; (2-byte character sets)
'((?A . ?K) ; Alpha numeric - Katakana
--
‘Iodine deficiency was endemic in parts of the UK until, through what has been
described as “an unplanned and accidental public health triumph”, iodine was
added to cattle feed to improve milk production in the 1930s.’
(EN Pearce, Lancet, June 2011)
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
commit/XEmacs: kehoea: Be better about word boundaries with JIT unicode characters, mule-category.el
12 years, 7 months
Bitbucket
1 new commit in XEmacs:
https://bitbucket.org/xemacs/xemacs/changeset/bed39edf91ba/
changeset: bed39edf91ba
user: kehoea
date: 2012-05-10 14:53:06
summary: Be better about word boundaries with JIT unicode characters, mule-category.el
lisp/ChangeLog addition:
2012-05-10 Aidan Kehoe <kehoea(a)parhasard.net>
* mule/mule-category.el (word-combining-categories):
Be better about default word boundaries when text contains
just-in-time-allocated Unicode code points. Document what we
should do instead once we have Unicode internally.
* mule/misc-lang.el: IPA characters are Latin.
affected #: 3 files
diff -r 6e5a7278f9bfc88ff4111ccaf59a08a018462cb5 -r bed39edf91ba137860fa91f24628ff7bdecb43a1 lisp/ChangeLog
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,11 @@
+2012-05-10 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * mule/mule-category.el (word-combining-categories):
+ Be better about default word boundaries when text contains
+ just-in-time-allocated Unicode code points. Document what we
+ should do instead once we have Unicode internally.
+ * mule/misc-lang.el: IPA characters are Latin.
+
2012-05-08 Aidan Kehoe <kehoea(a)parhasard.net>
* cl-macs.el (rassoc): Remove a stray parenthesis here, thank you
diff -r 6e5a7278f9bfc88ff4111ccaf59a08a018462cb5 -r bed39edf91ba137860fa91f24628ff7bdecb43a1 lisp/mule/misc-lang.el
--- a/lisp/mule/misc-lang.el
+++ b/lisp/mule/misc-lang.el
@@ -41,4 +41,26 @@
short-name "IPA"
long-name "IPA"))
+;; XEmacs; these are Latin, it's not useful to put word boundaries between
+;; them and ASCII.
+(modify-category-entry 'ipa ?l nil t)
+
+;; XEmacs; why are these Latin? See the following:
+;;
+;; (let ((scripts
+;; (mapcar #'(lambda (character)
+;; (car
+;; (split-string
+;; (cadr (assoc "Name" (describe-char-unicode-data
+;; character))))))
+;; (loop
+;; for i from 33 to 127
+;; if (not (eql -1 (char-to-unicode (make-char 'ipa i))))
+;; nconc (list (make-char 'ipa i))))))
+;; (mapcar #'(lambda (script)
+;; (cons script (count script scripts :test #'equal)))
+;; (remove-duplicates scripts :test #'equal)))
+;; => (("GREEK" . 1) ("LATIN" . 55) ("MODIFIER" . 3))
+
+
;;; misc-lang.el ends here
diff -r 6e5a7278f9bfc88ff4111ccaf59a08a018462cb5 -r bed39edf91ba137860fa91f24628ff7bdecb43a1 lisp/mule/mule-category.el
--- a/lisp/mule/mule-category.el
+++ b/lisp/mule/mule-category.el
@@ -252,6 +252,7 @@
(chinese-big5-1 ?t)
(chinese-big5-2 ?t)
(korean-ksc5601 ?h "Hangul (Korean) 2-byte character set")
+ (jit-ucs-charset-0 ?J "Just-in-time-allocated Unicode character")
)
"List of predefined categories.
Each element is a list of a charset, a designator, and maybe a doc string.")
@@ -275,7 +276,18 @@
;;; Setting word boundary.
(setq word-combining-categories
- '((?l . ?l)))
+ ;; XEmacs; we should change to defining scripts, as does GNU, once
+ ;; unicode-internal is the default, and placing word boundaries
+ ;; between different scripts, not different charsets, by default.
+ ;; Then we can remove the jit-ucs-charset-0 entry above and all the
+ ;; entries containing ?J in this list.
+ ;;
+ ;; These entries are a bit heuristic, working on the assumption that
+ ;; characters that will be just-in-time-allocated will not be East
+ ;; Asian in XEmacs, and there's also no mechanism to apply the ?J
+ ;; category to further newly-created JIT categories.
+ '((?l . ?l) (?J . ?l) (?l . ?J) (?J . ?y) (?y . ?J) (?J . ?b) (?b . ?J)
+ (?J . ?g) (?J . ?w) (?w . ?J)))
(setq word-separating-categories ; (2-byte character sets)
'((?A . ?K) ; Alpha numeric - Katakana
Repository URL: https://bitbucket.org/xemacs/xemacs/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
[COMMIT] Remove a stray parenthesis, cl-macs.el; thank you Vin! #'eq, #'memq appropriate.
12 years, 8 months
Aidan Kehoe
Hi, Vin --
Ar an seachtú lá de mí Bealtaine, scríobh Vin Shelton:
> I think this commit broke something in cl-macs.el:
Whoops, thanks for the email. I’ve just committed a fix, and things are
working for me, shout if they aren’t there.
Best,
Aidan
# HG changeset patch
# User Aidan Kehoe <kehoea(a)parhasard.net>
# Date 1336466054 -3600
# Node ID 796f2a8fdcedcf39f7ec3648789c1329e78ab1b4
# Parent e63bb7b22c8f6078e97bba15561799d127e75c77
Remove a stray parenthesis, cl-macs.el; thank you Vin!
2012-05-08 Aidan Kehoe <kehoea(a)parhasard.net>
* cl-macs.el (rassoc): Remove a stray parenthesis here, thank you
Vin!
diff -r e63bb7b22c8f -r 796f2a8fdced lisp/ChangeLog
--- a/lisp/ChangeLog Mon May 07 17:56:24 2012 +0100
+++ b/lisp/ChangeLog Tue May 08 09:34:14 2012 +0100
@@ -1,3 +1,8 @@
+2012-05-08 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * cl-macs.el (rassoc): Remove a stray parenthesis here, thank you
+ Vin!
+
2012-05-06 Aidan Kehoe <kehoea(a)parhasard.net>
* cl-macs.el (block): Comment on why we can't use &environment
diff -r e63bb7b22c8f -r 796f2a8fdced lisp/cl-macs.el
--- a/lisp/cl-macs.el Mon May 07 17:56:24 2012 +0100
+++ b/lisp/cl-macs.el Tue May 08 09:34:14 2012 +0100
@@ -3265,7 +3265,7 @@
(cl-const-expr-val list '((nil . 1.0)))
:key #'cl-cdr-or-pi)))
(cons 'rassq (cdr form))
- form)))
+ form))
(macrolet
((define-star-compiler-macros (&rest macros)
--
‘Iodine deficiency was endemic in parts of the UK until, through what has been
described as “an unplanned and accidental public health triumph”, iodine was
added to cattle feed to improve milk production in the 1930s.’
(EN Pearce, Lancet, June 2011)
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
[COMMIT] patch to compile search.c with gcc-4.6
12 years, 8 months
Aidan Kehoe
Ar an seachtú lá de mí Bealtaine, scríobh Jeff Sparkes:
> Aidan's regexp changes generated a error when compiled with gcc-4.6. Just
> a missing cast. (Also a typo in the ChangeLog)
Thanks, Jeff! Please feel free, yourself, to commit this sort of
change--where there’s no discussion needed--in the future.
APPROVE COMMIT
NOTE: This patch has been committed.
> diff --git a/src/ChangeLog b/src/ChangeLog
> --- a/src/ChangeLog
> +++ b/src/ChangeLog
> @@ -1,4 +1,8 @@
> -012-05-06 Aidan Kehoe <kehoea(a)parhasard.net>
> +2012-05-07 Jeff Sparkes <jsparkes(a)gmail.com>
> +
> + * search.c (skip_chars): Add cast to Ibyte *.
> +
> +2012-05-06 Aidan Kehoe <kehoea(a)parhasard.net>
>
> * eval.c:
> * eval.c (Fmacroexpand):
> diff --git a/src/search.c b/src/search.c
> --- a/src/search.c
> +++ b/src/search.c
> @@ -972,7 +972,7 @@
> break;
> }
>
> - colonp = memchr (p, ':', pend - p);
> + colonp = (Ibyte *) memchr (p, ':', pend - p);
> if (NULL == colonp || (colonp + 1) == pend || colonp[1] !=
> ']')
> {
> fastmap ['['] = fastmap[':'] = 1;
>
--
‘Iodine deficiency was endemic in parts of the UK until, through what has been
described as “an unplanned and accidental public health triumph”, iodine was
added to cattle feed to improve milk production in the 1930s.’
(EN Pearce, Lancet, June 2011)
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
commit/XEmacs: kehoea: Add cast to Ibyte *, search.c, thank you Jeff Sparkes.
12 years, 8 months
Bitbucket
1 new commit in XEmacs:
https://bitbucket.org/xemacs/xemacs/changeset/6e5a7278f9bf/
changeset: 6e5a7278f9bf
user: kehoea
date: 2012-05-08 10:47:41
summary: Add cast to Ibyte *, search.c, thank you Jeff Sparkes.
2012-05-07 Jeff Sparkes <jsparkes(a)gmail.com>
* search.c (skip_chars): Add cast to Ibyte *.
affected #: 2 files
diff -r 796f2a8fdcedcf39f7ec3648789c1329e78ab1b4 -r 6e5a7278f9bfc88ff4111ccaf59a08a018462cb5 src/ChangeLog
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,4 +1,8 @@
-012-05-06 Aidan Kehoe <kehoea(a)parhasard.net>
+2012-05-07 Jeff Sparkes <jsparkes(a)gmail.com>
+
+ * search.c (skip_chars): Add cast to Ibyte *.
+
+2012-05-06 Aidan Kehoe <kehoea(a)parhasard.net>
* eval.c:
* eval.c (Fmacroexpand):
diff -r 796f2a8fdcedcf39f7ec3648789c1329e78ab1b4 -r 6e5a7278f9bfc88ff4111ccaf59a08a018462cb5 src/search.c
--- a/src/search.c
+++ b/src/search.c
@@ -972,7 +972,7 @@
break;
}
- colonp = memchr (p, ':', pend - p);
+ colonp = (Ibyte *) memchr (p, ':', pend - p);
if (NULL == colonp || (colonp + 1) == pend || colonp[1] != ']')
{
fastmap ['['] = fastmap[':'] = 1;
Repository URL: https://bitbucket.org/xemacs/xemacs/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
commit/XEmacs: kehoea: Remove a stray parenthesis, cl-macs.el; thank you Vin!
12 years, 8 months
Bitbucket
1 new commit in XEmacs:
https://bitbucket.org/xemacs/xemacs/changeset/796f2a8fdced/
changeset: 796f2a8fdced
user: kehoea
date: 2012-05-08 10:34:14
summary: Remove a stray parenthesis, cl-macs.el; thank you Vin!
2012-05-08 Aidan Kehoe <kehoea(a)parhasard.net>
* cl-macs.el (rassoc): Remove a stray parenthesis here, thank you
Vin!
affected #: 2 files
diff -r e63bb7b22c8f6078e97bba15561799d127e75c77 -r 796f2a8fdcedcf39f7ec3648789c1329e78ab1b4 lisp/ChangeLog
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2012-05-08 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * cl-macs.el (rassoc): Remove a stray parenthesis here, thank you
+ Vin!
+
2012-05-06 Aidan Kehoe <kehoea(a)parhasard.net>
* cl-macs.el (block): Comment on why we can't use &environment
diff -r e63bb7b22c8f6078e97bba15561799d127e75c77 -r 796f2a8fdcedcf39f7ec3648789c1329e78ab1b4 lisp/cl-macs.el
--- a/lisp/cl-macs.el
+++ b/lisp/cl-macs.el
@@ -3265,7 +3265,7 @@
(cl-const-expr-val list '((nil . 1.0)))
:key #'cl-cdr-or-pi)))
(cons 'rassq (cdr form))
- form)))
+ form))
(macrolet
((define-star-compiler-macros (&rest macros)
Repository URL: https://bitbucket.org/xemacs/xemacs/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
[COMMIT] Add compiler macros for #'equal, #'member, ... where #'eq, #'memq appropriate.
12 years, 8 months
Aidan Kehoe
APPROVE COMMIT
NOTE: This patch has been committed.
# HG changeset patch
# User Aidan Kehoe <kehoea(a)parhasard.net>
# Date 1336409784 -3600
# Node ID e63bb7b22c8f6078e97bba15561799d127e75c77
# Parent 289cf21be887b161e4e22c42088a1184d81058c0
Add compiler macros for #'equal, #'member, ... where #'eq, #'memq appropriate.
lisp/ChangeLog addition:
2012-05-07 Aidan Kehoe <kehoea(a)parhasard.net>
* cl-macs.el:
* cl-macs.el (cl-non-fixnum-number-p): Rename, to
cl-non-immediate-number-p. This is a little more informative as a
name, though still not ideal, in that it will give t for some
immediate fixnums on 64-bit builds.
* cl-macs.el (eql):
* cl-macs.el (define-star-compiler-macros):
* cl-macs.el (delq):
* cl-macs.el (remq):
Use the new name.
* cl-macs.el (cl-equal-equivalent-to-eq-p): New.
* cl-macs.el (cl-car-or-pi): New.
* cl-macs.el (cl-cdr-or-pi): New.
* cl-macs.el (equal): New compiler macro.
* cl-macs.el (member): New compiler macro.
* cl-macs.el (assoc): New compiler macro.
* cl-macs.el (rassoc): New compiler macro.
If any of #'equal, #'member, #'assoc or #'rassoc has a constant
argument such that #'eq, #'memq, #'assq or #'rassq, respectively,
are equivalent, make the substitution. Relevant in files like
ispell.el, there's a reasonable amount of code out there that
doesn't quite get the distinction.
diff -r 289cf21be887 -r e63bb7b22c8f lisp/ChangeLog
--- a/lisp/ChangeLog Sun May 06 15:29:59 2012 +0100
+++ b/lisp/ChangeLog Mon May 07 17:56:24 2012 +0100
@@ -229,6 +229,31 @@
(since the compiler macro adds :test #'eq to the delete* call if
it's not clear that FOO is not a non-fixnum number).
+2012-05-07 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * cl-macs.el:
+ * cl-macs.el (cl-non-fixnum-number-p): Rename, to
+ cl-non-immediate-number-p. This is a little more informative as a
+ name, though still not ideal, in that it will give t for some
+ immediate fixnums on 64-bit builds.
+ * cl-macs.el (eql):
+ * cl-macs.el (define-star-compiler-macros):
+ * cl-macs.el (delq):
+ * cl-macs.el (remq):
+ Use the new name.
+ * cl-macs.el (cl-equal-equivalent-to-eq-p): New.
+ * cl-macs.el (cl-car-or-pi): New.
+ * cl-macs.el (cl-cdr-or-pi): New.
+ * cl-macs.el (equal): New compiler macro.
+ * cl-macs.el (member): New compiler macro.
+ * cl-macs.el (assoc): New compiler macro.
+ * cl-macs.el (rassoc): New compiler macro.
+ If any of #'equal, #'member, #'assoc or #'rassoc has a constant
+ argument such that #'eq, #'memq, #'assq or #'rassq, respectively,
+ are equivalent, make the substitution. Relevant in files like
+ ispell.el, there's a reasonable amount of code out there that
+ doesn't quite get the distinction.
+
2012-05-01 Aidan Kehoe <kehoea(a)parhasard.net>
* byte-optimize.el (byte-optimize-form-code-walker):
diff -r 289cf21be887 -r e63bb7b22c8f lisp/cl-macs.el
--- a/lisp/cl-macs.el Sun May 06 15:29:59 2012 +0100
+++ b/lisp/cl-macs.el Mon May 07 17:56:24 2012 +0100
@@ -3203,7 +3203,7 @@
((most-positive-fixnum-on-32-bit-machines () (1- (lsh 1 30)))
(most-negative-fixnum-on-32-bit-machines ()
(lognot (most-positive-fixnum-on-32-bit-machines))))
- (defun cl-non-fixnum-number-p (object)
+ (defun cl-non-immediate-number-p (object)
"Return t if OBJECT is a number not guaranteed to be immediate."
(and (numberp object)
(or (not (fixnump object))
@@ -3218,16 +3218,55 @@
(define-compiler-macro eql (&whole form a b)
(cond ((eq (cl-const-expr-p a) t)
(let ((val (cl-const-expr-val a)))
- (if (cl-non-fixnum-number-p val)
+ (if (cl-non-immediate-number-p val)
(list 'equal a b)
(list 'eq a b))))
((eq (cl-const-expr-p b) t)
(let ((val (cl-const-expr-val b)))
- (if (cl-non-fixnum-number-p val)
+ (if (cl-non-immediate-number-p val)
(list 'equal a b)
(list 'eq a b))))
(t form)))
+(defun cl-equal-equivalent-to-eq-p (object)
+ (or (symbolp object) (characterp object)
+ (and (fixnump object) (not (cl-non-immediate-number-p object)))))
+
+(defun cl-car-or-pi (object)
+ (if (consp object) (car object) pi))
+
+(defun cl-cdr-or-pi (object)
+ (if (consp object) (cdr object) pi))
+
+(define-compiler-macro equal (&whole form a b)
+ (if (or (cl-equal-equivalent-to-eq-p (cl-const-expr-val a pi))
+ (cl-equal-equivalent-to-eq-p (cl-const-expr-val b pi)))
+ (cons 'eq (cdr form))
+ form))
+
+(define-compiler-macro member (&whole form elt list)
+ (if (or (cl-equal-equivalent-to-eq-p (cl-const-expr-val elt pi))
+ (every #'cl-equal-equivalent-to-eq-p
+ (cl-const-expr-val list '(1.0))))
+ (cons 'memq (cdr form))
+ form))
+
+(define-compiler-macro assoc (&whole form elt list)
+ (if (or (cl-equal-equivalent-to-eq-p (cl-const-expr-val elt pi))
+ (not (find-if-not #'cl-equal-equivalent-to-eq-p
+ (cl-const-expr-val list '((1.0 . nil)))
+:key #'cl-car-or-pi)))
+ (cons 'assq (cdr form))
+ form))
+
+(define-compiler-macro rassoc (&whole form elt list)
+ (if (or (cl-equal-equivalent-to-eq-p (cl-const-expr-val elt pi))
+ (not (find-if-not #'cl-equal-equivalent-to-eq-p
+ (cl-const-expr-val list '((nil . 1.0)))
+:key #'cl-cdr-or-pi)))
+ (cons 'rassq (cdr form))
+ form)))
+
(macrolet
((define-star-compiler-macros (&rest macros)
"For `member*', `assoc*' and `rassoc*' with constant ITEM or
@@ -3256,12 +3295,12 @@
`(,',equal-function ,item ,list))
((and (eq test 'eql)
(not (eq not-constant item-val)))
- (if (cl-non-fixnum-number-p item-val)
+ (if (cl-non-immediate-number-p item-val)
`(,',equal-function ,item ,list)
`(,',eq-function ,item ,list)))
((and (eq test 'eql) (not (eq not-constant
list-val)))
- (if (some 'cl-non-fixnum-number-p list-val)
+ (if (some 'cl-non-immediate-number-p list-val)
`(,',equal-function ,item ,list)
;; This compiler macro used to limit
;; calls to ,,eq-function to lists where
@@ -3313,7 +3352,7 @@
((not-constant '#:not-constant))
(let ((cl-const-expr-val (cl-const-expr-val (nth 1 form) not-constant)))
(if (and (cdr form) (not (eq not-constant cl-const-expr-val))
- (not (cl-non-fixnum-number-p cl-const-expr-val)))
+ (not (cl-non-immediate-number-p cl-const-expr-val)))
(cons 'delete* (cdr form))
`(delete* ,@(cdr form) :test #'eq))))
form))
@@ -3336,7 +3375,7 @@
((not-constant '#:not-constant))
(let ((cl-const-expr-val (cl-const-expr-val (nth 1 form) not-constant)))
(if (and (cdr form) (not (eq not-constant cl-const-expr-val))
- (not (cl-non-fixnum-number-p cl-const-expr-val)))
+ (not (cl-non-immediate-number-p cl-const-expr-val)))
(cons 'remove* (cdr form))
`(remove* ,@(cdr form) :test #'eq))))
form))
--
‘Iodine deficiency was endemic in parts of the UK until, through what has been
described as “an unplanned and accidental public health triumph”, iodine was
added to cattle feed to improve milk production in the 1930s.’
(EN Pearce, Lancet, June 2011)
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
commit/XEmacs: kehoea: Add compiler macros for #'equal, #'member, ... where #'eq, #'memq appropriate.
12 years, 8 months
Bitbucket
1 new commit in XEmacs:
https://bitbucket.org/xemacs/xemacs/changeset/e63bb7b22c8f/
changeset: e63bb7b22c8f
user: kehoea
date: 2012-05-07 18:56:24
summary: Add compiler macros for #'equal, #'member, ... where #'eq, #'memq appropriate.
lisp/ChangeLog addition:
2012-05-07 Aidan Kehoe <kehoea(a)parhasard.net>
* cl-macs.el:
* cl-macs.el (cl-non-fixnum-number-p): Rename, to
cl-non-immediate-number-p. This is a little more informative as a
name, though still not ideal, in that it will give t for some
immediate fixnums on 64-bit builds.
* cl-macs.el (eql):
* cl-macs.el (define-star-compiler-macros):
* cl-macs.el (delq):
* cl-macs.el (remq):
Use the new name.
* cl-macs.el (cl-equal-equivalent-to-eq-p): New.
* cl-macs.el (cl-car-or-pi): New.
* cl-macs.el (cl-cdr-or-pi): New.
* cl-macs.el (equal): New compiler macro.
* cl-macs.el (member): New compiler macro.
* cl-macs.el (assoc): New compiler macro.
* cl-macs.el (rassoc): New compiler macro.
If any of #'equal, #'member, #'assoc or #'rassoc has a constant
argument such that #'eq, #'memq, #'assq or #'rassq, respectively,
are equivalent, make the substitution. Relevant in files like
ispell.el, there's a reasonable amount of code out there that
doesn't quite get the distinction.
affected #: 2 files
diff -r 289cf21be887b161e4e22c42088a1184d81058c0 -r e63bb7b22c8f6078e97bba15561799d127e75c77 lisp/ChangeLog
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -229,6 +229,31 @@
(since the compiler macro adds :test #'eq to the delete* call if
it's not clear that FOO is not a non-fixnum number).
+2012-05-07 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * cl-macs.el:
+ * cl-macs.el (cl-non-fixnum-number-p): Rename, to
+ cl-non-immediate-number-p. This is a little more informative as a
+ name, though still not ideal, in that it will give t for some
+ immediate fixnums on 64-bit builds.
+ * cl-macs.el (eql):
+ * cl-macs.el (define-star-compiler-macros):
+ * cl-macs.el (delq):
+ * cl-macs.el (remq):
+ Use the new name.
+ * cl-macs.el (cl-equal-equivalent-to-eq-p): New.
+ * cl-macs.el (cl-car-or-pi): New.
+ * cl-macs.el (cl-cdr-or-pi): New.
+ * cl-macs.el (equal): New compiler macro.
+ * cl-macs.el (member): New compiler macro.
+ * cl-macs.el (assoc): New compiler macro.
+ * cl-macs.el (rassoc): New compiler macro.
+ If any of #'equal, #'member, #'assoc or #'rassoc has a constant
+ argument such that #'eq, #'memq, #'assq or #'rassq, respectively,
+ are equivalent, make the substitution. Relevant in files like
+ ispell.el, there's a reasonable amount of code out there that
+ doesn't quite get the distinction.
+
2012-05-01 Aidan Kehoe <kehoea(a)parhasard.net>
* byte-optimize.el (byte-optimize-form-code-walker):
diff -r 289cf21be887b161e4e22c42088a1184d81058c0 -r e63bb7b22c8f6078e97bba15561799d127e75c77 lisp/cl-macs.el
--- a/lisp/cl-macs.el
+++ b/lisp/cl-macs.el
@@ -3203,7 +3203,7 @@
((most-positive-fixnum-on-32-bit-machines () (1- (lsh 1 30)))
(most-negative-fixnum-on-32-bit-machines ()
(lognot (most-positive-fixnum-on-32-bit-machines))))
- (defun cl-non-fixnum-number-p (object)
+ (defun cl-non-immediate-number-p (object)
"Return t if OBJECT is a number not guaranteed to be immediate."
(and (numberp object)
(or (not (fixnump object))
@@ -3218,16 +3218,55 @@
(define-compiler-macro eql (&whole form a b)
(cond ((eq (cl-const-expr-p a) t)
(let ((val (cl-const-expr-val a)))
- (if (cl-non-fixnum-number-p val)
+ (if (cl-non-immediate-number-p val)
(list 'equal a b)
(list 'eq a b))))
((eq (cl-const-expr-p b) t)
(let ((val (cl-const-expr-val b)))
- (if (cl-non-fixnum-number-p val)
+ (if (cl-non-immediate-number-p val)
(list 'equal a b)
(list 'eq a b))))
(t form)))
+(defun cl-equal-equivalent-to-eq-p (object)
+ (or (symbolp object) (characterp object)
+ (and (fixnump object) (not (cl-non-immediate-number-p object)))))
+
+(defun cl-car-or-pi (object)
+ (if (consp object) (car object) pi))
+
+(defun cl-cdr-or-pi (object)
+ (if (consp object) (cdr object) pi))
+
+(define-compiler-macro equal (&whole form a b)
+ (if (or (cl-equal-equivalent-to-eq-p (cl-const-expr-val a pi))
+ (cl-equal-equivalent-to-eq-p (cl-const-expr-val b pi)))
+ (cons 'eq (cdr form))
+ form))
+
+(define-compiler-macro member (&whole form elt list)
+ (if (or (cl-equal-equivalent-to-eq-p (cl-const-expr-val elt pi))
+ (every #'cl-equal-equivalent-to-eq-p
+ (cl-const-expr-val list '(1.0))))
+ (cons 'memq (cdr form))
+ form))
+
+(define-compiler-macro assoc (&whole form elt list)
+ (if (or (cl-equal-equivalent-to-eq-p (cl-const-expr-val elt pi))
+ (not (find-if-not #'cl-equal-equivalent-to-eq-p
+ (cl-const-expr-val list '((1.0 . nil)))
+:key #'cl-car-or-pi)))
+ (cons 'assq (cdr form))
+ form))
+
+(define-compiler-macro rassoc (&whole form elt list)
+ (if (or (cl-equal-equivalent-to-eq-p (cl-const-expr-val elt pi))
+ (not (find-if-not #'cl-equal-equivalent-to-eq-p
+ (cl-const-expr-val list '((nil . 1.0)))
+:key #'cl-cdr-or-pi)))
+ (cons 'rassq (cdr form))
+ form)))
+
(macrolet
((define-star-compiler-macros (&rest macros)
"For `member*', `assoc*' and `rassoc*' with constant ITEM or
@@ -3256,12 +3295,12 @@
`(,',equal-function ,item ,list))
((and (eq test 'eql)
(not (eq not-constant item-val)))
- (if (cl-non-fixnum-number-p item-val)
+ (if (cl-non-immediate-number-p item-val)
`(,',equal-function ,item ,list)
`(,',eq-function ,item ,list)))
((and (eq test 'eql) (not (eq not-constant
list-val)))
- (if (some 'cl-non-fixnum-number-p list-val)
+ (if (some 'cl-non-immediate-number-p list-val)
`(,',equal-function ,item ,list)
;; This compiler macro used to limit
;; calls to ,,eq-function to lists where
@@ -3313,7 +3352,7 @@
((not-constant '#:not-constant))
(let ((cl-const-expr-val (cl-const-expr-val (nth 1 form) not-constant)))
(if (and (cdr form) (not (eq not-constant cl-const-expr-val))
- (not (cl-non-fixnum-number-p cl-const-expr-val)))
+ (not (cl-non-immediate-number-p cl-const-expr-val)))
(cons 'delete* (cdr form))
`(delete* ,@(cdr form) :test #'eq))))
form))
@@ -3336,7 +3375,7 @@
((not-constant '#:not-constant))
(let ((cl-const-expr-val (cl-const-expr-val (nth 1 form) not-constant)))
(if (and (cdr form) (not (eq not-constant cl-const-expr-val))
- (not (cl-non-fixnum-number-p cl-const-expr-val)))
+ (not (cl-non-immediate-number-p cl-const-expr-val)))
(cons 'remove* (cdr form))
`(remove* ,@(cdr form) :test #'eq))))
form))
Repository URL: https://bitbucket.org/xemacs/xemacs/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches