================================================================
Dear Developers
I am now working on port nxml-mode to XEmacs, and as you may already
known that I had make all the nxml-mode code byte-compiled by XEmacs.
Now I want to make the code work correct under XEmacs. But after some
edebug work, I find out that nxml-mode code using a kind of never
documented char_class looks like:
(name-start-char "[_[:alpha:]]")
(name-continue-not-start-char "[-.[:digit:]]")
(name-continue-char "[-._[:alnum:]]")
And after chat with <kehoea> in #xemacs I know that, there's a very
easy way to support this kind of thing. Here's some chat log
described what need to do in xemacs-core.
<kehoea> what part of the regexp syntax in particular?
<FKtPp> It used a kind of never documented regexp char-class form which
was supported in GNU Emacs
<FKtPp> looks like [_[:alpha:]]
<FKtPp> which, maybe, is the same as perl regexp [::alpha::]
<kehoea> yes. it's actually quite easy to change XEmacs to support them
<kehoea> an option in regex.h
<FKtPp> (name-start-char "[_[:alpha:]]")
<FKtPp> (name-continue-not-start-char "[-.[:digit:]]")
<FKtPp> (name-continue-char "[-._[:alnum:]]")
<FKtPp> well you see, this is the actual code
<FKtPp> I even don't know what it want to match exactly..
<FKtPp> have to guess.. by looking the context -_-
<kehoea> yeah.
<kehoea> there's a line
<kehoea> #define RE_SYNTAX_EMACS RE_INTERVALS
<kehoea> in regex.h
<kehoea> if you change that to
<kehoea> #define RE_SYNTAX_EMACS (RE_INTERVALS | RE_CHAR_CLASSES)
<kehoea> and recompile, you can use those groups
<kehoea> those character classes, sorry
Could you please help enable this in the regex.h?
Thanks
FKtPp
================================================================
System Info to help track down your bug:
---------------------------------------
uname -a: Linux workhard 2.6.24-1-amd64 #1 SMP Thu Jan 31 19:46:44 UTC
2008 x86_64 GNU/Linux
./configure '--with-athena=3d'
'--with-xft=emacs,nomenubars,notabs,nogauges' '--with-mule'
XEmacs 21.5-b28 "fuki" 1982c8c55632 configured for
`x86_64-unknown-linux'.
Compilation Environment and Installation Defaults:
Source code location: /home/fktpp/workspace/xemacs
Installation prefix: /usr/local
Operating system description file: `s/linux.h'
Not using any machine description file
Compiler version: gcc (GCC) 4.2.3 20080114
(prerelease) (Debian 4.2.2-7)
- GCC specs file: specs.
- Compiler command: gcc -Wall -Wno-switch -Wundef
-Wsign-compare -Wno-char-subscripts -Wpacked -Wunused-parameter -g
libc version: GNU libc 2.7-6 (Debian)
Relocating allocator for buffers: no
GNU version of malloc: yes
- Using Doug Lea's new malloc from the GNU C Library.
Window System:
Compiling in support for the X window system:
- X Windows headers location:
- X Windows libraries location:
- Handling WM_COMMAND properly.
- Using fontconfig to manage fonts.
- Compiling in support for Xft antialiased fonts (EXPERIMENTAL).
Compiling in support for the Athena widget set:
- Athena headers location: X11/Xaw3d
- Athena library to link: Xaw3d
Using Lucid menubars.
Using Lucid scrollbars.
Using Athena dialog boxes.
Using Athena native widgets.
- Using Xft to render antialiased fonts in progress bars.
WARNING: This feature will be replaced with a face.
WARNING: This feature not yet implemented; setting ignored.
TTY:
Compiling in support for ncurses.
Images:
Compiling in support for GIF images (builtin).
Compiling in support for XPM images.
WARNING: -----------------------------------------------------------
WARNING: Compiling without PNG image support.
WARNING: You should strongly consider installing the PNG libraries.
WARNING: Otherwise certain images and glyphs may not display.
WARNING: (a copy may be found in
ftp://ftp.xemacs.org/pub/xemacs/aux)
WARNING: -----------------------------------------------------------
Compiling in support for JPEG images.
Compiling in support for TIFF images.
Sound:
Compiling in support for sound (native).
Databases:
Compiling in support for Berkeley database.
Internationalization:
Compiling in support for Mule (multi-lingual Emacs).
Compiling in support for XIM (X11R5+ I18N input method).
- Using raw Xlib to provide XIM support.
Mail:
Compiling in support for "file" mail spool file locking method.
Other Features:
Inhibiting IPv6 canonicalization at startup.
Compiling in support for dynamic shared object modules.
Using the new GC mark algorithms (KKCC).
WARNING: ---------------------------------------------------------
WARNING: The new algorithms are experimental. They are enabled by
WARNING: default for this release. Use `--disable-kkcc' to
WARNING: turn it off.
WARNING: ---------------------------------------------------------
Using the new portable dumper.
Dumping into executable.
Compiling in support for extra debugging code.
Compiling in support for runtime error checking.
WARNING: ---------------------------------------------------------
WARNING: XEmacs will run noticeably more slowly as a result.
WARNING: Error checking is on by default for XEmacs beta releases.
WARNING: ---------------------------------------------------------
Load-Path Lisp Shadows:
----------------------
(/usr/share/emacs/site-lisp/mercurial
/home/fktpp/.xemacs/xemacs-packages/lisp/vc/mercurial
/home/fktpp/.xemacs/xemacs-packages/lisp/xemacs-base/easy-mmode
/usr/local/share/xemacs-21.5-b28/lisp/easy-mmode
/home/fktpp/.xemacs/xemacs-packages/lisp/xemacs-base/regexp-opt
/usr/local/share/xemacs-21.5-b28/lisp/regexp-opt)
Internationalization Settings:
-------------------------
Environment:
Value of LC_ALL : nil
Value of LC_COLLATE : nil
Value of LC_CTYPE : nil
Value of LC_MESSAGES : nil
Value of LC_MONETARY : nil
Value of LC_NUMERIC : nil
Value of LC_TIME : nil
Value of LANG : zh_CN.UTF-8
Lisp locale settings:
current-language-environment => "Chinese-GB (UTF-8)"
default-buffer-file-coding-system => utf-8
default-process-coding-system => (undecided . utf-8)
(current-locale) => "zh_CN.UTF-8"
keyboard-coding-system => utf-8
terminal-coding-system => utf-8
(coding-priority-list) =>
(utf-8 iso-8-2 big5 iso-7 utf-16-little-endian-bom utf-16-bom
utf-8-bom no-conversion iso-8-1 iso-8-designate iso-lock-shift
shift-jis utf-16-little-endian utf-16 ucs-4)
Coding system aliases:
'native is aliased to utf-8
'file-name is aliased to native
'mswindows-multibyte-system-default is not a coding system alias
Installed XEmacs Packages:
-------------------------
(xemacs-devel ver: 1.77 upstream: No-Upstream-Ver)
(xemacs-base ver: 2.15 upstream: No-Upstream-Ver)
(vc ver: 1.45 upstream: No-Upstream-Ver)
(tramp ver: 1.4 upstream: 2.0.56)
(time ver: 1.14 upstream: 1.17)
(text-modes ver: 1.95 upstream: No-Upstream-Ver)
(texinfo ver: 1.3 upstream: No-Upstream-Ver)
(supercite ver: 1.21 upstream: 3.55x3)
(sounds-wav ver: 1.12 upstream: No-Upstream-Ver)
(sounds-au ver: 1.12 upstream: No-Upstream-Ver)
(sh-script ver: 1.23 upstream: 2.0f)
(ruby-modes ver: 1.02 upstream: 1.6.8)
(python-modes ver: 1.1 upstream: 426)
(psgml ver: 1.45 upstream: 1.3.2)
(prog-modes ver: 2.16 upstream: No-Upstream-Ver)
(perl-modes ver: 1.11 upstream: No-Upstream-Ver)
(pcomplete ver: 1.04 upstream: 1.1.6)
(pcl-cvs ver: 1.68 upstream: R-2_9_9)
(os-utils ver: 1.4 upstream: No-Upstream-Ver)
(net-utils ver: 1.54 upstream: N/A)
(mail-lib ver: 1.79 upstream: No-Upstream-Ver)
(ispell ver: 1.32 upstream: 3.6)
(igrep ver: 1.16 upstream: 2.111)
(ibuffer ver: 1.09 upstream: No-Upstream-Ver)
(gnus ver: 1.92 upstream: 5.10.8)
(general-docs ver: 1.05 upstream: No-Upstream-Ver)
(fsf-compat ver: 1.16 upstream: No-Upstream-Ver)
(forms ver: 1.15 upstream: 2.37)
(footnote ver: 1.16 upstream: 0.18x)
(eterm ver: 1.17 upstream: No-Upstream-Ver)
(eshell ver: 1.12 upstream: 2.4.1)
(erc ver: 0.21 upstream: Version 5.1.2 Revision: 1.796.2.6)
(elib ver: 1.13 upstream: 1.0)
(efs ver: 1.34 upstream: 1.24)
(edit-utils ver: 2.38 upstream: No-Upstream-Ver)
(ediff ver: 1.74 upstream: 2.75)
(edebug ver: 1.22 upstream: No-Upstream-Ver)
(ecrypto ver: 0.2 upstream: 2.0)
(easypg ver: 1.02 upstream: 0.0.16)
(dired ver: 1.19 upstream: 7.16)
(debug ver: 1.18 upstream: No-Upstream-Ver)
(cc-mode ver: 1.45 upstream: 5.30.10)
(calendar ver: 1.34 upstream: No-Upstream-Ver)
(calc ver: 1.26 upstream: 2.02fX3)
(c-support ver: 1.22 upstream: No-Upstream-Ver)
(bbdb ver: 1.32 upstream: 2.35)
Installed Modules:
-----------------
Features:
--------
(mail-abbrevs xemacsbug shadow sendmail rfc822 mercurial view-less
view executable diff-mode autoinsert vc vc-svn imenu python-mode
info-look overlay info ansi-color comint ring efs-cu compile
dired-faces dired-xemacs dired lazy-shot font-lock time mwheel gnuserv
vc-hooks vc-xemacs paren mic-paren timer cus-face icomplete jka-compr
china-util xemacs-devel-autoloads xemacs-base-autoloads vc-autoloads
tramp-autoloads time-autoloads text-modes-autoloads texinfo-autoloads
supercite-autoloads sounds-wav-autoloads sounds-au-autoloads
sh-script-autoloads ruby-modes-autoloads python-modes-autoloads
psgml-autoloads prog-modes-autoloads perl-modes-autoloads
pcomplete-autoloads pcl-cvs-autoloads os-utils-autoloads
net-utils-autoloads mail-lib-autoloads ispell-autoloads
igrep-autoloads ibuffer-autoloads gnus-autoloads
general-docs-autoloads fsf-compat-autoloads forms-autoloads
footnote-autoloads eterm-autoloads eshell-autoloads erc-autoloads
elib-autoloads efs-autoloads edit-utils-autoloads ediff-autoloads
edebug-autoloads ecrypto-autoloads easypg-autoloads dired-autoloads
debug-autoloads cc-mode-autoloads calendar-autoloads calc-autoloads
c-support-autoloads bbdb-autoloads modules-autoloads mule-autoloads
auto-autoloads auto-show fontl-hooks canna-leim tibetan slovenian
czech romanian lao devanagari indian cyrillic code-cmds gutter-items
menubar-items x-menubar mode-motion mouse behavior itimer auto-save
lisp-mode easymenu easy-mmode iso8859-1 page buff-menu lib-complete
loadhist cus-file derived newcomment rsz-minibuf env text-props
fontconfig frame obsolete cus-start custom widget cl-extra cl cl-19
packages backquote unicode font-mgr lucid-scrollbars cut-buffer
xft-fonts lucid-menubars athena-dialogs x c-balloon-help tty-frames
tty toolbar native-sound scrollbar unix-processes multicast
network-streams subprocesses modules menu-accelerator-support menubar
berkeley-db md5 xemacs xim mule gutter tiff gif jpeg xpm xbm
lisp-float-type file-coding linux dialog devices window-system base64)
Recent keystrokes:
-----------------
C-v C-v M-v C-v C-v C-v C-v C-v M-v M-v M-v C-v C-v
C-v C-v M-v M-v C-v C-v M-v M-v button1 button1up button1
button1up button5 button5up button5 button5up button5
button5up button5 button5up button5 button5up button5
button5up button5 button5up button1 button1up C-x C-f
x m l t o k TAB . e l TAB M-BS M-BS M-BS M-BS n x m
l TAB RET C-s x m l t o k RET RET C-s a l p h a C-a
C-@ C-n C-n C-n M-w M-x r e p o r t - x e m a c s
RET
Recent messages (most recent first):
-----------------------------------
Loading xemacsbug...done
Loading xemacsbug...
Loading mercurial...done
Loading cl-macs...done
Loading cl-macs...
Loading mercurial...
Loading autoinsert...done
Loading autoinsert...
Loading vc...done
Loading vc...
Loading vc-svn...done
Loading vc-svn...
Using the CPython shell
Local value of py-indent-offset set to 8
Loading python-mode...done
Loading python-mode...
Loading efs-cu...done
Loading efs-cu...
Reading directory /home/fktpp/workspace/BadGirl/src/...done
Reading directory /home/fktpp/workspace/BadGirl/src/...
____________________________________________________________________________________
Never miss a thing. Make Yahoo your home page.
http://www.yahoo.com/r/hs
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta