commit: Support VS 2005 manifest files
15 years, 10 months
Vin Shelton
changeset: 4603:202cb69c4d87c4d04b06676366e8d57a60149691
tag: tip
user: Vin Shelton <acs(a)xemacs.org>
date: Thu Feb 05 21:18:37 2009 -0500
files: nt/ChangeLog nt/xemacs.mak
description:
Support VS 2005 manifest files
diff -r aac2a827bb6bebb54a353e1767893735329ae18e -r 202cb69c4d87c4d04b06676366e8d57a60149691 nt/ChangeLog
--- a/nt/ChangeLog Wed Feb 04 20:56:31 2009 +0000
+++ b/nt/ChangeLog Thu Feb 05 21:18:37 2009 -0500
@@ -1,3 +1,7 @@ 2008-05-13 Aidan Kehoe <kehoea@parhasa
+2009-02-06 Vin Shelton <acs(a)xemacs.org>
+
+ * xemacs.mak: Add support for Visual Studio 2005 manifests.
+
2008-05-13 Aidan Kehoe <kehoea(a)parhasard.net>
* xemacs.mak (PROGRAM_DEFINES):
diff -r aac2a827bb6bebb54a353e1767893735329ae18e -r 202cb69c4d87c4d04b06676366e8d57a60149691 nt/xemacs.mak
--- a/nt/xemacs.mak Wed Feb 04 20:56:31 2009 +0000
+++ b/nt/xemacs.mak Thu Feb 05 21:18:37 2009 -0500
@@ -1104,17 +1104,32 @@ LIB_SRC_CFLAGS = $(CFLAGS) -I$(LIB_SRC)
# Inferred rule
{$(LIB_SRC)}.c{$(BLDLIB_SRC)}.exe :
$(CCV) $(LIB_SRC_CFLAGS) $(LINK_DEPENDENCY_ARGS) $(LINK_STANDARD_LIBRARY_ARGS)
+# If we're using Visual Studio 2005 or greater,
+# embed the manifest into the executable.
+!if $(MSC_VER) >= 1400
+ mt -manifest $@.manifest -outputresource:$@;1
+!endif
# Individual dependencies
ETAGS_DEPS = $(LIB_SRC)/getopt.c $(LIB_SRC)/getopt1.c $(SRC)/regex.c
$(BLDLIB_SRC)/etags.exe : $(LIB_SRC)/etags.c $(ETAGS_DEPS)
$(CCV) $(LIB_SRC_CFLAGS) $(LINK_DEPENDENCY_ARGS) -stack:0x800000 $(LINK_STANDARD_LIBRARY_ARGS)
+# If we're using Visual Studio 2005 or greater,
+# embed the manifest into the executable.
+!if $(MSC_VER) >= 1400
+ mt -manifest $@.manifest -outputresource:$@;1
+!endif
$(BLDLIB_SRC)/movemail.exe : $(LIB_SRC)/movemail.c $(LIB_SRC)/pop.c $(ETAGS_DEPS)
# Minitar uses zlib so just use cdecl to simplify things
$(BLDLIB_SRC)/minitar.exe : $(NT)/minitar.c
$(CCV) -I$(SRC) -I"$(ZLIB_DIR)" $(LIB_SRC_DEFINES) $(CFLAGS_CDECL_NO_LIB) -MD $(LINK_DEPENDENCY_ARGS) "$(ZLIB_DIR)\zlib.lib"
+# If we're using Visual Studio 2005 or greater,
+# embed the manifest into the executable.
+!if $(MSC_VER) >= 1400
+ mt -manifest $@.manifest -outputresource:$@;1
+!endif
LIB_SRC_TOOLS = \
$(BLDLIB_SRC)/etags.exe \
@@ -1437,6 +1452,12 @@ docfile :: $(DOC)
$(XEMACS_LFLAGS) -section:.rsrc,rw -out:$(BLDSRC)\xemacs.exe $(TEMACS_OBJS) $(OUTDIR)\xemacs.res $(TEMACS_LIBS) $(OUTDIR)\dump-id.obj
<<
-$(DEL) $(BLDSRC)\xemacs.dmp
+# If we're using Visual Studio 2005 or greater,
+# embed the manifest into the executable.
+!if $(MSC_VER) >= 1400
+ mt -manifest $@.manifest -outputresource:$@;1
+!endif
+
!endif
## (6) Update the remaining .elc's, post-dumping
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[21.4] Add Visual Studio 2005 support
15 years, 10 months
Vin Shelton
This patch adds Visual Studio 2005 support to the 21.4 build and install kit.
I will post a separate patch for 21.5.
- Vin
nt/ChangeLog addition:
2009-02-06 Vin Shelton <acs(a)xemacs.org>
* xemacs.mak: Visual Studio 2005 support: add manifest to
executables. Added compile flags for the Intel C Compiler.
* XEmacs.iss: Added MSVCR80.dll to support Visual Studio 2005.
21.4 source patch:
Diff command: cvs -q diff -u
Files affected: nt/XEmacs.iss
Index: nt/xemacs.mak
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/nt/xemacs.mak,v
retrieving revision 1.58.2.14
diff -a -u -u -r1.58.2.14 xemacs.mak
--- nt/xemacs.mak 2008/01/23 12:14:02 1.58.2.14
+++ nt/xemacs.mak 2009/02/06 00:57:35
@@ -63,6 +63,18 @@
COPY=xcopy /q
COPYDIR=xcopy /q /e
+########################### Figure out current version of VC++.
+
+!if [if not exist $(OUTDIR) mkdir "$(OUTDIR)"]
+!endif
+!if [echo MSC_VER=_MSC_VER > $(OUTDIR)\vcversion.c]
+!endif
+!if [cl /nologo /EP $(OUTDIR)\vcversion.c > $(OUTDIR)\vcversion.tmp]
+!endif
+!include "$(OUTDIR)\vcversion.tmp"
+
+########################### Process the config.inc options.
+
!include "config.inc"
!if !defined(INFODOCK)
@@ -355,14 +367,10 @@
!if $(USE_INTEL_COMPILER)
CC=icl
-# Use static library if possible
-INTEL_LIBS=libircmt.lib libmmt.lib
-# Debugging requires DLL version of libm
-!if $(DEBUG_XEMACS)
+# The static math lib no longer works for building XEmacs as of version 11.0
+# of the Intel C Compiler, so always link with the dynamic version.
INTEL_LIBS=libircmt.lib libmmd.lib
!endif
-!endif
-
#
# Compiler command echo control. Define VERBOSECC=1 to get verbose compilation.
#
@@ -379,7 +387,10 @@
OPT=-Od -Zi
!else
OPT=-O2 -G5
+!if $(USE_INTEL_COMPILER)
+OPT=-Os -arch:ia32
!endif
+!endif
!if $(USE_CRTDLL)
!if $(DEBUG_XEMACS)
@@ -568,6 +579,11 @@
{$(LIB_SRC)}.c{$(LIB_SRC)}.exe :
cd $(LIB_SRC)
$(CCV) -I. -I$(XEMACS)/src -I$(XEMACS)/nt/inc $(LIB_SRC_DEFINES)
$(CFLAGS) -Fe$@ $** -link -incremental:no setargv.obj
+# If we're using Visual Studio 2005 or greater,
+# embed the manifest into the executable.
+!if $(MSC_VER) >= 1400
+ mt -manifest $@.manifest -outputresource:$@;1
+!endif
cd $(NT)
# Individual dependencies
@@ -576,15 +592,30 @@
$(LIB_SRC)/movemail.exe: $(LIB_SRC)/movemail.c $(LIB_SRC)/pop.c $(ETAGS_DEPS)
cd $(LIB_SRC)
$(CCV) -I. -I$(XEMACS)/src -I$(XEMACS)/nt/inc $(LIB_SRC_DEFINES)
$(CFLAGS) -Fe$@ $** wsock32.lib -link -incremental:no
+# If we're using Visual Studio 2005 or greater,
+# embed the manifest into the executable.
+!if $(MSC_VER) >= 1400
+ mt -manifest $@.manifest -outputresource:$@;1
+!endif
cd $(NT)
$(LIB_SRC)/winclient.exe: $(LIB_SRC)/winclient.c
cd $(LIB_SRC)
$(CCV) -I. -I$(XEMACS)/src -I$(XEMACS)/nt/inc $(LIB_SRC_DEFINES)
$(CFLAGS) -Fe$@ $** user32.lib -link -incremental:no
+# If we're using Visual Studio 2005 or greater,
+# embed the manifest into the executable.
+!if $(MSC_VER) >= 1400
+ mt -manifest $@.manifest -outputresource:$@;1
+!endif
cd $(NT)
$(LIB_SRC)/minitar.exe : $(NT)/minitar.c
$(CCV) $(CFLAGS_NO_LIB) -I"$(ZLIB_DIR)" $(LIB_SRC_DEFINES) -MD -Fe$@
$** $(ZLIB_DIR)\zlib.lib -link -incremental:no
+# If we're using Visual Studio 2005 or greater,
+# embed the manifest into the executable.
+!if $(MSC_VER) >= 1400
+ mt -manifest $@.manifest -outputresource:$@;1
+!endif
LIB_SRC_TOOLS = \
$(LIB_SRC)/etags.exe \
@@ -1438,6 +1469,11 @@
# Make the resource section read/write since almost all of it is the dump
# data which needs to be writable. This avoids having to copy it.
editbin -nologo -stack:0x800000 -section:.rsrc,rw xemacs.exe
+# If we're using Visual Studio 2005 or greater,
+# embed the manifest into the executable.
+!if $(MSC_VER) >= 1400
+ mt -manifest $@.manifest -outputresource:$@;1
+!endif
$(DEL) $(TEMACS_DIR)\xemacs.dmp
!else
editbin -nologo -stack:0x800000 xemacs.exe
Index: nt/XEmacs.iss
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/nt/Attic/XEmacs.iss,v
retrieving revision 1.1.2.11
diff -a -u -u -r1.1.2.11 XEmacs.iss
--- nt/XEmacs.iss 2009/01/09 01:13:40 1.1.2.11
+++ nt/XEmacs.iss 2009/02/06 00:57:35
@@ -3,6 +3,8 @@
; This script requires the Inno Setup pre-processor.
;
; Version History
+; 2009-01-29 Vin Shelton <acs(a)xemacs.org> Add MSVCR80.dll, which
is required by VS 2005 and needed at
+; installation time by minitar.
; 2009-01-06 Vin Shelton <acs(a)xemacs.org> Remove {#KitName} and
{#XEmacs_Branch} and force the caller
; to define the ReadMe
file name and Setup file name directly.
; 2009-01-03 Vin Shelton <acs(a)xemacs.org> Bump default version to 21.4.22.
@@ -86,6 +88,7 @@
Source: "{#PkgSrc}\xemacs-base-*-pkg.tar"; DestDir:
"{app}\xemacs-packages"; Flags: ignoreversion
; minitar.exe and unpack.cmd are used to unpack the packages
Source: "{#ExecSrc}\XEmacs-{#XEmacsVersion}\i586-pc-win32\minitar.exe";
DestDir: "{app}\xemacs-packages"; Flags: ignoreversion
+Source: "{#ExecSrc}\XEmacs-{#XEmacsVersion}\i586-pc-win32\MSVCR80.dll";
DestDir: "{app}\xemacs-packages"; Flags: ignoreversion
Source: "unpack.cmd"; DestDir: "{app}\xemacs-packages"; Flags: ignoreversion
Source: "{#PkgSrc}\package-index.LATEST.gpg"; DestDir: "{app}";
#ifndef QUICKIE_TEST
cvs diff: closing down connection to cvs.xemacs.org: No such file or directory
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[PATCH] Removing 21.5 references from cvsaccess.html
15 years, 10 months
Vin Shelton
Here are the changes I propose to make to cvsaccess.html.
- Vin
Develop/ChangeLog addition:
2009-01-31 Vin Shelton <acs(a)xemacs.org>
* cvsaccess.content: Remove CVS directions for 21.5.
web source patch:
Diff command: cvs -q diff -u
Files affected: Develop/cvsaccess.content
Index: Develop/cvsaccess.content
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacsweb/Develop/cvsaccess.content,v
retrieving revision 1.31
diff -a -u -u -r1.31 cvsaccess.content
--- Develop/cvsaccess.content 2008/02/02 07:27:20 1.31
+++ Develop/cvsaccess.content 2009/02/04 03:15:29
@@ -59,6 +59,12 @@
information, or for source/binary tarballs, check out the <a
href="http://www.xemacs.org">XEmacs main WWW server</a>.</p>
+ <p>
+ The latest (21.5) development sources are no longer available
+ under CVS. Please see the introduction to the <a
+ href="hgaccess.html">XEmacs Mercurial Repository</a> for
+ instructions on getting the 21.5 sources.
+
<h3><a name="quickstart">Quick Start Guide</a></h3>
<p>
@@ -69,11 +75,6 @@
(Logging in to cvs(a)sunsite.dk)
CVS password: <strong>cvs</strong>
</pre>
- To get the latest (21.5) development sources, do:
- <pre xml:space="preserve">
- <strong>cvs -z3 -d :pserver:cvs@cvs.xemacs.org:/pack/xemacscvs \
- checkout -d xemacs-21.5 xemacs</strong>
- </pre>
To get the stable (21.4) development sources, do:
<pre xml:space="preserve">
<strong>cvs -z3 -d :pserver:cvs@cvs.xemacs.org:/pack/xemacscvs \
@@ -93,7 +94,7 @@
</pre>
<p>
- Each of these components are available separately as non-CVS
+ Each of these components is available separately as non-CVS
tarballs via ftp. Here are the current URL's:</p>
<ul>
<li><a href="http://ftp.xemacs.org/pub/xemacs/xemacs-21.5"><strong>http://ftp.xe...>
@@ -165,16 +166,16 @@
<pre xml:space="preserve">
pentagana [533]$ <strong>cvs -z3 -d :pserver:cvs@cvs.xemacs.org:/pack/xemacscvs \
- checkout -d xemacs-21.5 xemacs</strong>
+ checkout -d xemacs-21.4 -r release-21-4 xemacs</strong>
<i>(churn, churn, churn)</i>
</pre>
<p>
- And voila! One <strong>xemacs-21.5</strong> directory complete with the
+ And voila! One <strong>xemacs-21.4</strong> directory complete with the
latest versions of the base code. Packages are separate, of
course.</p>
<p>
- The <strong>-d</strong>option says what to name the new CVS directory
+ The <strong>-d</strong> option says what to name the new CVS directory
tree.</p>
<p>
@@ -186,12 +187,11 @@
set this
to <strong>-z9</strong>, but am now asking that you drop the compression
rate. The gains in compression are not that great, and the
- impact on my poor server can be tremendous...</font></p>
+ impact on the CVS server machine is significant.</font></p>
<p>
- The <strong>-r</strong> option specifies the CVS branch to use. XEmacs 21.5
- (the development version), is on the trunk ``branch'' (which has
- no name), while XEmacs 21.1 uses the branch <strong>release-21-1</strong>,
+ The <strong>-r</strong> option specifies the CVS branch to use.
+ XEmacs 21.1 uses the branch <strong>release-21-1</strong>,
which is in the same CVS module. The branch is not named
something like <strong>xemacs-21.1</strong>, because periods are not
permitted in a valid CVS branch name.</p>
@@ -257,26 +257,19 @@
commands, you can tell it which version to grab (however, they
default to the most recent in the branch you're working on). All
of the 21.x releases are tagged in the format rMAJOR-MINOR-RELEASE
- (examples: XEmacs 21.5 beta 1 is tagged r21-5-1). Yes, this
+ (examples: XEmacs 21.4.22 is tagged r21-4-22). (Yes, this
naming convention has changed from before. Old tags had names
- like r21-2b26.</p>
+ like r21-2b26.)</p>
<p>
The way you use this is by appending the <strong>-r <TAG></strong>
option to the CVS command you want to use. Therefore, to update to
- 21.5 beta 16 (but no further) from an earlier release, you'd
+ 21.4.21 (but no further) from an earlier release, you'd
type:</p>
<pre xml:space="preserve">
-pentagana [533]$ <strong>cvs update -r r21-5-16</strong>
+pentagana [533]$ <strong>cvs update -r r21-4-21</strong>
</pre>
-
- <p>
- For beta release on the trunk (XEmacs 21.5), there is a special
- <strong>r21-5-latest-beta</strong> tag that you can use to always upgrade to
- the latest released beta, but no further. This way you can do
- <strong>cvs update -r r21-5-latest-beta</strong> just once, and because the
- tag is sticky, just do a simple <strong>cvs update</strong> thereafter.</p>
<p>
For more info, check your friendly CVS texinfo files.</p>
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[COMMIT] Remove any reference to mocklisp as an active technology.
15 years, 10 months
Aidan Kehoe
APPROVE COMMIT
NOTE; This patch has been committed.
# HG changeset patch
# User Aidan Kehoe <kehoea(a)parhasard.net>
# Date 1233780744 0
# Node ID 7c7262c47538366f4ff7ab29e2a374000b73f928
# Parent 0347879667ed19a6c266459147ca271d05581238
Remove any reference to mocklisp as an active technology.
lisp/ChangeLog addition:
2009-02-04 Aidan Kehoe <kehoea(a)parhasard.net>
* help.el:
(describe-function-1):
* byte-optimize.el:
Remove any reference to mocklisp as an active technology.
man/ChangeLog addition:
2009-02-04 Aidan Kehoe <kehoea(a)parhasard.net>
* xemacs/xemacs.texi (Top):
* xemacs/misc.texi (Emulation):
* xemacs/building.texi (Lisp Libraries):
(Compiling Libraries):
Remove any reference to mocklisp as an active technology.
Also remove documentation of the related #'set-gosmacs-bindings,
which is no longer available.
diff -r 0347879667ed -r 7c7262c47538 lisp/ChangeLog
--- a/lisp/ChangeLog Wed Feb 04 12:41:14 2009 +0000
+++ b/lisp/ChangeLog Wed Feb 04 20:52:24 2009 +0000
@@ -1,3 +1,10 @@
+2009-02-04 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * help.el:
+ (describe-function-1):
+ * byte-optimize.el:
+ Remove any reference to mocklisp as an active technology.
+
2009-02-04 Aidan Kehoe <kehoea(a)parhasard.net>
* coding.el (force-coding-system-equivalency):
diff -r 0347879667ed -r 7c7262c47538 lisp/byte-optimize.el
--- a/lisp/byte-optimize.el Wed Feb 04 12:41:14 2009 +0000
+++ b/lisp/byte-optimize.el Wed Feb 04 20:52:24 2009 +0000
@@ -56,7 +56,6 @@
;; (put 'debug-on-error 'binding-is-magic t)
;; (put 'debug-on-abort 'binding-is-magic t)
;; (put 'debug-on-next-call 'binding-is-magic t)
-;; (put 'mocklisp-arguments 'binding-is-magic t)
;; (put 'inhibit-quit 'binding-is-magic t)
;; (put 'quit-flag 'binding-is-magic t)
;; (put 't 'binding-is-magic t)
diff -r 0347879667ed -r 7c7262c47538 lisp/help.el
--- a/lisp/help.el Wed Feb 04 12:41:14 2009 +0000
+++ b/lisp/help.el Wed Feb 04 20:52:24 2009 +0000
@@ -1164,10 +1164,6 @@
;(gettext "an interactive Lisp function")
;(gettext "a Lisp macro")
;(gettext "an interactive Lisp macro")
-;(gettext "a mocklisp function")
-;(gettext "an interactive mocklisp function")
-;(gettext "a mocklisp macro")
-;(gettext "an interactive mocklisp macro")
;(gettext "an autoloaded Lisp function")
;(gettext "an interactive autoloaded Lisp function")
;(gettext "an autoloaded Lisp macro")
@@ -1420,8 +1416,6 @@
(funcall int "compiled Lisp" nil macrop))
((eq (car-safe fndef) 'lambda)
(funcall int "Lisp" nil macrop))
- ((eq (car-safe fndef) 'mocklisp)
- (funcall int "mocklisp" nil macrop))
((eq (car-safe def) 'autoload)
(funcall int "autoloaded Lisp" t (elt def 4)))
((and (symbolp def) (not (fboundp def)))
diff -r 0347879667ed -r 7c7262c47538 man/ChangeLog
--- a/man/ChangeLog Wed Feb 04 12:41:14 2009 +0000
+++ b/man/ChangeLog Wed Feb 04 20:52:24 2009 +0000
@@ -1,3 +1,13 @@
+2009-02-04 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * xemacs/xemacs.texi (Top):
+ * xemacs/misc.texi (Emulation):
+ * xemacs/building.texi (Lisp Libraries):
+ (Compiling Libraries):
+ Remove any reference to mocklisp as an active technology.
+ Also remove documentation of the related #'set-gosmacs-bindings,
+ which is no longer available.
+
2008-10-04 Stephen J. Turnbull <stephen(a)xemacs.org>
* xemacs-faq.texi (Q5.0.7): Fix broken instructions on use of
diff -r 0347879667ed -r 7c7262c47538 man/xemacs/building.texi
--- a/man/xemacs/building.texi Wed Feb 04 12:41:14 2009 +0000
+++ b/man/xemacs/building.texi Wed Feb 04 20:52:24 2009 +0000
@@ -167,7 +167,6 @@
@menu
* Loading:: Loading libraries of Lisp code into Emacs for use.
* Compiling Libraries:: Compiling a library makes it load and run faster.
-* Mocklisp:: Converting Mocklisp to Lisp so XEmacs can run it.
@end menu
@node Loading, Compiling Libraries, Lisp Libraries, Lisp Libraries
@@ -266,7 +265,7 @@
is normally called. An error in @code{forms} does not undo the load, but
it does prevent execution of the rest of the @code{forms}.
-@node Compiling Libraries, Mocklisp, Loading, Lisp Libraries
+@node Compiling Libraries, , Loading, Lisp Libraries
@subsection Compiling Libraries
@cindex byte code
@@ -336,21 +335,6 @@
argument is a function name. It displays the byte-compiled code in a help
window in symbolic form, one instruction per line. If the instruction
refers to a variable or constant, that is shown, too.
-
-@node Mocklisp,,Compiling Libraries,Lisp Libraries
-@subsection Converting Mocklisp to Lisp
-
-@cindex mocklisp
-@findex convert-mocklisp-buffer
- XEmacs can run Mocklisp files by converting them to Emacs Lisp first.
-To convert a Mocklisp file, visit it and then type @kbd{M-x
-convert-mocklisp-buffer}. Then save the resulting buffer of Lisp file in a
-file whose name ends in @file{.el} and use the new file as a Lisp library.
-
- You cannot currently byte-compile converted Mocklisp code.
-The reason is that converted Mocklisp code uses some special Lisp features
-to deal with Mocklisp's incompatible ideas of how arguments are evaluated
-and which values signify ``true'' or ``false''.
@node Lisp Eval, Lisp Debug, Lisp Libraries, Running
@section Evaluating Emacs-Lisp Expressions
diff -r 0347879667ed -r 7c7262c47538 man/xemacs/misc.texi
--- a/man/xemacs/misc.texi Wed Feb 04 12:41:14 2009 +0000
+++ b/man/xemacs/misc.texi Wed Feb 04 20:52:24 2009 +0000
@@ -769,16 +769,4 @@
are done in the global keymap, so there is no problem switching
buffers or major modes while in EDT emulation.
-@item Gosling Emacs
-@findex set-gosmacs-bindings
-@findex set-gnu-bindings
-Turn on emulation of Gosling Emacs (aka Unipress Emacs) with @kbd{M-x
-set-gosmacs-bindings}. This redefines many keys, mostly on the
-@kbd{C-x} and @kbd{ESC} prefixes, to work as they do in Gosmacs.
-@kbd{M-x set-gnu-bindings} returns to normal XEmacs by rebinding
-the same keys to the definitions they had at the time @kbd{M-x
-set-gosmacs-bindings} was done.
-
-It is also possible to run Mocklisp code written for Gosling Emacs.
-@xref{Mocklisp}.
@end table
diff -r 0347879667ed -r 7c7262c47538 man/xemacs/xemacs.texi
--- a/man/xemacs/xemacs.texi Wed Feb 04 12:41:14 2009 +0000
+++ b/man/xemacs/xemacs.texi Wed Feb 04 20:52:24 2009 +0000
@@ -522,7 +522,6 @@
* Loading:: Loading libraries of Lisp code into XEmacs for use.
* Compiling Libraries:: Compiling a library makes it load and run faster.
-* Mocklisp:: Converting Mocklisp to Lisp so XEmacs can run it.
Abbrevs
--
¿Dónde estará ahora mi sobrino Yoghurtu Nghe, que tuvo que huir
precipitadamente de la aldea por culpa de la escasez de rinocerontes?
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
commit: Remove any reference to mocklisp as an active technology.
15 years, 10 months
Aidan Kehoe
changeset: 4601:7c7262c47538366f4ff7ab29e2a374000b73f928
parent: 4599:0347879667ed19a6c266459147ca271d05581238
user: Aidan Kehoe <kehoea(a)parhasard.net>
date: Wed Feb 04 20:52:24 2009 +0000
files: lisp/ChangeLog lisp/byte-optimize.el lisp/help.el man/ChangeLog man/xemacs/building.texi man/xemacs/misc.texi man/xemacs/xemacs.texi
description:
Remove any reference to mocklisp as an active technology.
lisp/ChangeLog addition:
2009-02-04 Aidan Kehoe <kehoea(a)parhasard.net>
* help.el:
(describe-function-1):
* byte-optimize.el:
Remove any reference to mocklisp as an active technology.
man/ChangeLog addition:
2009-02-04 Aidan Kehoe <kehoea(a)parhasard.net>
* xemacs/xemacs.texi (Top):
* xemacs/misc.texi (Emulation):
* xemacs/building.texi (Lisp Libraries):
(Compiling Libraries):
Remove any reference to mocklisp as an active technology.
Also remove documentation of the related #'set-gosmacs-bindings,
which is no longer available.
diff -r 0347879667ed19a6c266459147ca271d05581238 -r 7c7262c47538366f4ff7ab29e2a374000b73f928 lisp/ChangeLog
--- a/lisp/ChangeLog Wed Feb 04 12:41:14 2009 +0000
+++ b/lisp/ChangeLog Wed Feb 04 20:52:24 2009 +0000
@@ -1,3 +1,10 @@ 2009-02-04 Aidan Kehoe <kehoea@parhasa
+2009-02-04 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * help.el:
+ (describe-function-1):
+ * byte-optimize.el:
+ Remove any reference to mocklisp as an active technology.
+
2009-02-04 Aidan Kehoe <kehoea(a)parhasard.net>
* coding.el (force-coding-system-equivalency):
diff -r 0347879667ed19a6c266459147ca271d05581238 -r 7c7262c47538366f4ff7ab29e2a374000b73f928 lisp/byte-optimize.el
--- a/lisp/byte-optimize.el Wed Feb 04 12:41:14 2009 +0000
+++ b/lisp/byte-optimize.el Wed Feb 04 20:52:24 2009 +0000
@@ -56,7 +56,6 @@
;; (put 'debug-on-error 'binding-is-magic t)
;; (put 'debug-on-abort 'binding-is-magic t)
;; (put 'debug-on-next-call 'binding-is-magic t)
-;; (put 'mocklisp-arguments 'binding-is-magic t)
;; (put 'inhibit-quit 'binding-is-magic t)
;; (put 'quit-flag 'binding-is-magic t)
;; (put 't 'binding-is-magic t)
diff -r 0347879667ed19a6c266459147ca271d05581238 -r 7c7262c47538366f4ff7ab29e2a374000b73f928 lisp/help.el
--- a/lisp/help.el Wed Feb 04 12:41:14 2009 +0000
+++ b/lisp/help.el Wed Feb 04 20:52:24 2009 +0000
@@ -1164,10 +1164,6 @@ When run interactively, it defaults to a
;(gettext "an interactive Lisp function")
;(gettext "a Lisp macro")
;(gettext "an interactive Lisp macro")
-;(gettext "a mocklisp function")
-;(gettext "an interactive mocklisp function")
-;(gettext "a mocklisp macro")
-;(gettext "an interactive mocklisp macro")
;(gettext "an autoloaded Lisp function")
;(gettext "an interactive autoloaded Lisp function")
;(gettext "an autoloaded Lisp macro")
@@ -1420,8 +1416,6 @@ part of the documentation of internal su
(funcall int "compiled Lisp" nil macrop))
((eq (car-safe fndef) 'lambda)
(funcall int "Lisp" nil macrop))
- ((eq (car-safe fndef) 'mocklisp)
- (funcall int "mocklisp" nil macrop))
((eq (car-safe def) 'autoload)
(funcall int "autoloaded Lisp" t (elt def 4)))
((and (symbolp def) (not (fboundp def)))
diff -r 0347879667ed19a6c266459147ca271d05581238 -r 7c7262c47538366f4ff7ab29e2a374000b73f928 man/ChangeLog
--- a/man/ChangeLog Wed Feb 04 12:41:14 2009 +0000
+++ b/man/ChangeLog Wed Feb 04 20:52:24 2009 +0000
@@ -1,3 +1,13 @@ 2008-10-04 Stephen J. Turnbull <stephe
+2009-02-04 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * xemacs/xemacs.texi (Top):
+ * xemacs/misc.texi (Emulation):
+ * xemacs/building.texi (Lisp Libraries):
+ (Compiling Libraries):
+ Remove any reference to mocklisp as an active technology.
+ Also remove documentation of the related #'set-gosmacs-bindings,
+ which is no longer available.
+
2008-10-04 Stephen J. Turnbull <stephen(a)xemacs.org>
* xemacs-faq.texi (Q5.0.7): Fix broken instructions on use of
diff -r 0347879667ed19a6c266459147ca271d05581238 -r 7c7262c47538366f4ff7ab29e2a374000b73f928 man/xemacs/building.texi
--- a/man/xemacs/building.texi Wed Feb 04 12:41:14 2009 +0000
+++ b/man/xemacs/building.texi Wed Feb 04 20:52:24 2009 +0000
@@ -167,7 +167,6 @@ Emacs-Lisp mode (@pxref{Lisp Modes}).
@menu
* Loading:: Loading libraries of Lisp code into Emacs for use.
* Compiling Libraries:: Compiling a library makes it load and run faster.
-* Mocklisp:: Converting Mocklisp to Lisp so XEmacs can run it.
@end menu
@node Loading, Compiling Libraries, Lisp Libraries, Lisp Libraries
@@ -266,7 +265,7 @@ is normally called. An error in @code{f
is normally called. An error in @code{forms} does not undo the load, but
it does prevent execution of the rest of the @code{forms}.
-@node Compiling Libraries, Mocklisp, Loading, Lisp Libraries
+@node Compiling Libraries, , Loading, Lisp Libraries
@subsection Compiling Libraries
@cindex byte code
@@ -337,21 +336,6 @@ window in symbolic form, one instruction
window in symbolic form, one instruction per line. If the instruction
refers to a variable or constant, that is shown, too.
-@node Mocklisp,,Compiling Libraries,Lisp Libraries
-@subsection Converting Mocklisp to Lisp
-
-@cindex mocklisp
-@findex convert-mocklisp-buffer
- XEmacs can run Mocklisp files by converting them to Emacs Lisp first.
-To convert a Mocklisp file, visit it and then type @kbd{M-x
-convert-mocklisp-buffer}. Then save the resulting buffer of Lisp file in a
-file whose name ends in @file{.el} and use the new file as a Lisp library.
-
- You cannot currently byte-compile converted Mocklisp code.
-The reason is that converted Mocklisp code uses some special Lisp features
-to deal with Mocklisp's incompatible ideas of how arguments are evaluated
-and which values signify ``true'' or ``false''.
-
@node Lisp Eval, Lisp Debug, Lisp Libraries, Running
@section Evaluating Emacs-Lisp Expressions
@cindex Emacs-Lisp mode
diff -r 0347879667ed19a6c266459147ca271d05581238 -r 7c7262c47538366f4ff7ab29e2a374000b73f928 man/xemacs/misc.texi
--- a/man/xemacs/misc.texi Wed Feb 04 12:41:14 2009 +0000
+++ b/man/xemacs/misc.texi Wed Feb 04 20:52:24 2009 +0000
@@ -769,16 +769,4 @@ are done in the global keymap, so there
are done in the global keymap, so there is no problem switching
buffers or major modes while in EDT emulation.
-@item Gosling Emacs
-@findex set-gosmacs-bindings
-@findex set-gnu-bindings
-Turn on emulation of Gosling Emacs (aka Unipress Emacs) with @kbd{M-x
-set-gosmacs-bindings}. This redefines many keys, mostly on the
-@kbd{C-x} and @kbd{ESC} prefixes, to work as they do in Gosmacs.
-@kbd{M-x set-gnu-bindings} returns to normal XEmacs by rebinding
-the same keys to the definitions they had at the time @kbd{M-x
-set-gosmacs-bindings} was done.
-
-It is also possible to run Mocklisp code written for Gosling Emacs.
-@xref{Mocklisp}.
-@end table
+@end table
diff -r 0347879667ed19a6c266459147ca271d05581238 -r 7c7262c47538366f4ff7ab29e2a374000b73f928 man/xemacs/xemacs.texi
--- a/man/xemacs/xemacs.texi Wed Feb 04 12:41:14 2009 +0000
+++ b/man/xemacs/xemacs.texi Wed Feb 04 20:52:24 2009 +0000
@@ -522,7 +522,6 @@ Lisp Libraries
* Loading:: Loading libraries of Lisp code into XEmacs for use.
* Compiling Libraries:: Compiling a library makes it load and run faster.
-* Mocklisp:: Converting Mocklisp to Lisp so XEmacs can run it.
Abbrevs
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[COMMIT] Correct invalid-sequence-coding-system spec, Roman-alphabet languages.
15 years, 10 months
Aidan Kehoe
APPROVE COMMIT
NOTE: This patch has been committed.
# HG changeset patch
# User Aidan Kehoe <kehoea(a)parhasard.net>
# Date 1233753141 0
# Node ID dcfd965d65a1f7b439cc67ae3eda8b66388cb9b0
# Parent 0347879667ed19a6c266459147ca271d05581238
Correct invalid-sequence-coding-system spec, Roman-alphabet languages.
I had been testing with the Cyrillic language environments, and I have code
in my own init file that does something similar, so I hadn't noticed that
this had gone wrong.
lisp/ChangeLog addition:
2009-02-04 Aidan Kehoe <kehoea(a)parhasard.net>
* mule/latin.el:
Specify windows-1250 as the invalid-sequence-coding-system for the
iso-8859-2 languages; actually *use* the
invalid-sequence-coding-system for German and the other iso-8859-1
language environments.
diff -r 0347879667ed -r dcfd965d65a1 lisp/ChangeLog
--- a/lisp/ChangeLog Wed Feb 04 12:41:14 2009 +0000
+++ b/lisp/ChangeLog Wed Feb 04 13:12:21 2009 +0000
@@ -1,3 +1,11 @@
+2009-02-04 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * mule/latin.el:
+ Specify windows-1250 as the invalid-sequence-coding-system for the
+ iso-8859-2 languages; actually *use* the
+ invalid-sequence-coding-system for German and the other iso-8859-1
+ language environments.
+
2009-02-04 Aidan Kehoe <kehoea(a)parhasard.net>
* coding.el (force-coding-system-equivalency):
diff -r 0347879667ed -r dcfd965d65a1 lisp/mule/latin.el
--- a/lisp/mule/latin.el Wed Feb 04 12:41:14 2009 +0000
+++ b/lisp/mule/latin.el Wed Feb 04 13:12:21 2009 +0000
@@ -1022,7 +1022,7 @@
((latin-iso8859-2 iso-8859-2 "latin-2-prefix" "Latin-2" "ISO-8859-2"
" Albanian, Czech, English, German, Hungarian, Polish, Romanian,
Serbian, Croatian, Slovak, Slovene, Sorbian (upper and lower),
- and Swedish.") ;; " added because fontification got screwed up, CVS-20061203.
+ and Swedish." windows-1250)
(("Albanian" "sq")
("Croatian" ("hrvatski" "hr") "TUTORIAL.hr")
("Czech" ("cs" "cz") "TUTORIAL.cs" "Přejeme vám hezký den!"
@@ -1076,6 +1076,8 @@
(coding-system ,codesys)
(coding-priority ,codesys)
(native-coding-system ,codesys)
+ (invalid-sequence-coding-system ,(or invalid-sequence-coding-system
+ codesys))
,@(if locale `((locale . ,locale)))
,@(if tutorial `((tutorial . ,tutorial)
(tutorial-coding-system . ,codesys)))
--
¿Dónde estará ahora mi sobrino Yoghurtu Nghe, que tuvo que huir
precipitadamente de la aldea por culpa de la escasez de rinocerontes?
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
commit: Correct invalid-sequence-coding-system spec, Roman-alphabet languages.
15 years, 10 months
Aidan Kehoe
changeset: 4600:dcfd965d65a1f7b439cc67ae3eda8b66388cb9b0
tag: tip
user: Aidan Kehoe <kehoea(a)parhasard.net>
date: Wed Feb 04 13:12:21 2009 +0000
files: lisp/ChangeLog lisp/mule/latin.el
description:
Correct invalid-sequence-coding-system spec, Roman-alphabet languages.
I had been testing with the Cyrillic language environments, and I have code
in my own init file that does something similar, so I hadn't noticed that
this had gone wrong.
lisp/ChangeLog addition:
2009-02-04 Aidan Kehoe <kehoea(a)parhasard.net>
* mule/latin.el:
Specify windows-1250 as the invalid-sequence-coding-system for the
iso-8859-2 languages; actually *use* the
invalid-sequence-coding-system for German and the other iso-8859-1
language environments.
diff -r 0347879667ed19a6c266459147ca271d05581238 -r dcfd965d65a1f7b439cc67ae3eda8b66388cb9b0 lisp/ChangeLog
--- a/lisp/ChangeLog Wed Feb 04 12:41:14 2009 +0000
+++ b/lisp/ChangeLog Wed Feb 04 13:12:21 2009 +0000
@@ -1,3 +1,11 @@ 2009-02-04 Aidan Kehoe <kehoea@parhasa
+2009-02-04 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * mule/latin.el:
+ Specify windows-1250 as the invalid-sequence-coding-system for the
+ iso-8859-2 languages; actually *use* the
+ invalid-sequence-coding-system for German and the other iso-8859-1
+ language environments.
+
2009-02-04 Aidan Kehoe <kehoea(a)parhasard.net>
* coding.el (force-coding-system-equivalency):
diff -r 0347879667ed19a6c266459147ca271d05581238 -r dcfd965d65a1f7b439cc67ae3eda8b66388cb9b0 lisp/mule/latin.el
--- a/lisp/mule/latin.el Wed Feb 04 12:41:14 2009 +0000
+++ b/lisp/mule/latin.el Wed Feb 04 13:12:21 2009 +0000
@@ -1022,7 +1022,7 @@ German (Deutsch S,A|(Bd) Gr,A|_(B Go
((latin-iso8859-2 iso-8859-2 "latin-2-prefix" "Latin-2" "ISO-8859-2"
" Albanian, Czech, English, German, Hungarian, Polish, Romanian,
Serbian, Croatian, Slovak, Slovene, Sorbian (upper and lower),
- and Swedish.") ;; " added because fontification got screwed up, CVS-20061203.
+ and Swedish." windows-1250)
(("Albanian" "sq")
("Croatian" ("hrvatski" "hr") "TUTORIAL.hr")
("Czech" ("cs" "cz") "TUTORIAL.cs" "P,Bx(Bejeme v,Ba(Bm hezk,B}(B den!"
@@ -1076,6 +1076,8 @@ Generic language environment for %s (%s)
(coding-system ,codesys)
(coding-priority ,codesys)
(native-coding-system ,codesys)
+ (invalid-sequence-coding-system ,(or invalid-sequence-coding-system
+ codesys))
,@(if locale `((locale . ,locale)))
,@(if tutorial `((tutorial . ,tutorial)
(tutorial-coding-system . ,codesys)))
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[PATCH] Some cosmetic namespace cleanup, glyphs.el, coding.el.
15 years, 10 months
Aidan Kehoe
# HG changeset patch
# User Aidan Kehoe <kehoea(a)parhasard.net>
# Date 1232047303 0
# Node ID 7191a7b120f129618f64efa567ee6b1bf746a900
# Parent 774e5c7522bf0681f0ecf0ab015d9ec8dcb35486
Some cosmetic namespace cleanup, glyphs.el, coding.el.
lisp/ChangeLog addition:
2009-01-15 Aidan Kehoe <kehoea(a)parhasard.net>
* coding.el (force-coding-system-equivalency):
Move three functions that we don't want to advertise to being
anonymous lambdas instead.
* glyphs.el :
Remove #'define-constant-glyph and some functions it uses, replace
the latter with anonymous lambdas and the former and its uses with
a call to loop.
Do the same with #'define-obsolete-pointer-glyph and the function
it uses.
(init-glyphs): Untern this symbol once the associated function has
been called; it's only needed at dump time, not at runtime.
diff -r 774e5c7522bf -r 7191a7b120f1 lisp/ChangeLog
--- a/lisp/ChangeLog Tue Jan 13 12:07:27 2009 +0000
+++ b/lisp/ChangeLog Thu Jan 15 19:21:43 2009 +0000
@@ -1,3 +1,17 @@
+2009-01-15 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * coding.el (force-coding-system-equivalency):
+ Move three functions that we don't want to advertise to being
+ anonymous lambdas instead.
+ * glyphs.el :
+ Remove #'define-constant-glyph and some functions it uses, replace
+ the latter with anonymous lambdas and the former and its uses with
+ a call to loop.
+ Do the same with #'define-obsolete-pointer-glyph and the functions
+ it uses.
+ (init-glyphs): Untern this symbol once the associated function has
+ been called; it's only needed at dump time, not at runtime.
+
2009-01-13 Aidan Kehoe <kehoea(a)parhasard.net>
* mule/mule-cmds.el (set-language-environment-coding-systems):
diff -r 774e5c7522bf -r 7191a7b120f1 lisp/coding.el
--- a/lisp/coding.el Tue Jan 13 12:07:27 2009 +0000
+++ b/lisp/coding.el Thu Jan 15 19:21:43 2009 +0000
@@ -243,30 +243,24 @@
)))
-;;; Make certain variables equivalent to coding-system aliases
-(defun dontusethis-set-value-file-name-coding-system-handler (sym args fun harg handlers)
- (define-coding-system-alias 'file-name (or (car args) 'binary)))
-
-(dontusethis-set-symbol-value-handler
- 'file-name-coding-system
- 'set-value
- 'dontusethis-set-value-file-name-coding-system-handler)
-
-(defun dontusethis-set-value-terminal-coding-system-handler (sym args fun harg handlers)
- (define-coding-system-alias 'terminal (or (car args) 'binary)))
-
-(dontusethis-set-symbol-value-handler
- 'terminal-coding-system
- 'set-value
- 'dontusethis-set-value-terminal-coding-system-handler)
-
-(defun dontusethis-set-value-keyboard-coding-system-handler (sym args fun harg handlers)
- (define-coding-system-alias 'keyboard (or (car args) 'binary)))
-
-(dontusethis-set-symbol-value-handler
- 'keyboard-coding-system
- 'set-value
- 'dontusethis-set-value-keyboard-coding-system-handler)
+;;; Make certain variables equivalent to coding-system aliases:
+(macrolet
+ ((force-coding-system-equivalency (&rest details-list)
+ (loop for (alias variable-symbol)
+ in details-list
+ with result = (list 'progn)
+ do
+ (push
+ `(dontusethis-set-symbol-value-handler ',variable-symbol
+ 'set-value #'(lambda (sym args fun harg handlers)
+ (define-coding-system-alias ',alias
+ (or (car args) 'binary))))
+ result)
+ finally return (nreverse result))))
+ (force-coding-system-equivalency
+ (file-name file-name-coding-system)
+ (terminal terminal-coding-system)
+ (keyboard keyboard-coding-system)))
(when (not (featurep 'mule))
(define-coding-system-alias 'escape-quoted 'binary)
diff -r 774e5c7522bf -r 7191a7b120f1 lisp/glyphs.el
--- a/lisp/glyphs.el Tue Jan 13 12:07:27 2009 +0000
+++ b/lisp/glyphs.el Thu Jan 15 19:21:43 2009 +0000
@@ -1084,83 +1084,53 @@
(set-glyph-face gc-pointer-glyph 'pointer)
;; Now add the magic access/set behavior.
-
-(defun dontusethis-set-value-glyph-handler (sym args fun harg handler)
- (error "Use `set-glyph-image' to set `%s'" sym))
-(defun dontusethis-make-unbound-glyph-handler (sym args fun harg handler)
- (error "Can't `makunbound' `%s'" sym))
-(defun dontusethis-make-local-glyph-handler (sym args fun harg handler)
- (error "Use `set-glyph-image' to make local values for `%s'" sym))
-
-(defun define-constant-glyph (sym)
- (dontusethis-set-symbol-value-handler
- sym 'set-value
- 'dontusethis-set-value-glyph-handler)
- (dontusethis-set-symbol-value-handler
- sym 'make-unbound
- 'dontusethis-make-unbound-glyph-handler)
- (dontusethis-set-symbol-value-handler
- sym 'make-local
- 'dontusethis-make-local-glyph-handler)
- ;; Make frame properties magically work with glyph variables.
+(loop
+ for sym in '(define-constant-glyphs text-pointer-glyph nontext-pointer-glyph
+ modeline-pointer-glyph selection-pointer-glyph
+ busy-pointer-glyph gc-pointer-glyph divider-pointer-glyph
+ toolbar-pointer-glyph menubar-pointer-glyph
+ scrollbar-pointer-glyph octal-escape-glyph
+ control-arrow-glyph invisible-text-glyph hscroll-glyph
+ truncation-glyph continuation-glyph frame-icon-glyph)
+ with set-value-handler = #'(lambda (sym args fun harg handler)
+ (error 'invalid-change
+ (format
+ "Use `set-glyph-image' to set `%s'"
+ sym)))
+ with make-unbound-handler = #'(lambda (sym args fun harg handler)
+ (error 'invalid-change
+ (format
+ "Can't `makunbound' `%s'" sym)))
+ with make-local-handler =
+ #'(lambda (sym args fun harg handler)
+ (error 'invalid-change
+ (format "Use `set-glyph-image' to make local values for `%s'" sym)))
+ do
+ (dontusethis-set-symbol-value-handler sym 'set-value set-value-handler)
+ (dontusethis-set-symbol-value-handler sym 'make-unbound make-unbound-handler)
+ (dontusethis-set-symbol-value-handler sym 'make-local make-local-handler)
(put sym 'const-glyph-variable t))
-
-(define-constant-glyph 'text-pointer-glyph)
-(define-constant-glyph 'nontext-pointer-glyph)
-(define-constant-glyph 'modeline-pointer-glyph)
-(define-constant-glyph 'selection-pointer-glyph)
-(define-constant-glyph 'busy-pointer-glyph)
-(define-constant-glyph 'gc-pointer-glyph)
-(define-constant-glyph 'divider-pointer-glyph)
-(define-constant-glyph 'toolbar-pointer-glyph)
-(define-constant-glyph 'menubar-pointer-glyph)
-(define-constant-glyph 'scrollbar-pointer-glyph)
-
-(define-constant-glyph 'octal-escape-glyph)
-(define-constant-glyph 'control-arrow-glyph)
-(define-constant-glyph 'invisible-text-glyph)
-(define-constant-glyph 'hscroll-glyph)
-(define-constant-glyph 'truncation-glyph)
-(define-constant-glyph 'continuation-glyph)
-
-(define-constant-glyph 'frame-icon-glyph)
;; backwards compatibility garbage
-(defun dontusethis-old-pointer-shape-handler (sym args fun harg handler)
- (let ((value (car args)))
- (if (null value)
- (remove-specifier harg 'global)
- (set-glyph-image (symbol-value harg) value))))
-
;; It might or might not be garbage, but it's rude. Make these
;; `compatible' instead of `obsolete'. -slb
-(defun define-obsolete-pointer-glyph (old new)
+(loop
+ for (old new) in '((x-pointer-shape text-pointer-glyph)
+ (x-nontext-pointer-shape nontext-pointer-glyph)
+ (x-mode-pointer-shape modeline-pointer-glyph)
+ (x-selection-pointer-shape selection-pointer-glyph)
+ (x-busy-pointer-shape busy-pointer-glyph)
+ (x-gc-pointer-shape gc-pointer-glyph)
+ (x-toolbar-pointer-shape toolbar-pointer-glyph))
+ with set-handler = #'(lambda (sym args fun harg handler)
+ (let ((value (car args)))
+ (if (null value)
+ (remove-specifier harg 'global)
+ (set-glyph-image (symbol-value harg) value))))
+ do
(define-compatible-variable-alias old new)
- (dontusethis-set-symbol-value-handler
- old 'set-value 'dontusethis-old-pointer-shape-handler new))
-
-;;; (defvar x-pointer-shape nil)
-(define-obsolete-pointer-glyph 'x-pointer-shape 'text-pointer-glyph)
-
-;;; (defvar x-nontext-pointer-shape nil)
-(define-obsolete-pointer-glyph 'x-nontext-pointer-shape 'nontext-pointer-glyph)
-
-;;; (defvar x-mode-pointer-shape nil)
-(define-obsolete-pointer-glyph 'x-mode-pointer-shape 'modeline-pointer-glyph)
-
-;;; (defvar x-selection-pointer-shape nil)
-(define-obsolete-pointer-glyph 'x-selection-pointer-shape
- 'selection-pointer-glyph)
-
-;;; (defvar x-busy-pointer-shape nil)
-(define-obsolete-pointer-glyph 'x-busy-pointer-shape 'busy-pointer-glyph)
-
-;;; (defvar x-gc-pointer-shape nil)
-(define-obsolete-pointer-glyph 'x-gc-pointer-shape 'gc-pointer-glyph)
-
-;;; (defvar x-toolbar-pointer-shape nil)
-(define-obsolete-pointer-glyph 'x-toolbar-pointer-shape 'toolbar-pointer-glyph)
+ (dontusethis-set-symbol-value-handler old 'set-value set-handler))
;; for subwindows
(defalias 'subwindow-xid 'image-instance-subwindow-id)
@@ -1267,4 +1237,7 @@
(init-glyphs)
-;;; glyphs.el ends here.
+(unintern 'init-glyphs) ;; This was dump time thing, no need to keep the
+ ;; function around.
+
+;;; glyphs.el ends here.
\ No newline at end of file
--
¿Dónde estará ahora mi sobrino Yoghurtu Nghe, que tuvo que huir
precipitadamente de la aldea por culpa de la escasez de rinocerontes?
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
commit: Document the force-coding-system-equivalency macro in coding.el.
15 years, 10 months
Aidan Kehoe
changeset: 4599:0347879667ed19a6c266459147ca271d05581238
tag: tip
user: Aidan Kehoe <kehoea(a)parhasard.net>
date: Wed Feb 04 12:41:14 2009 +0000
files: lisp/ChangeLog lisp/coding.el
description:
Document the force-coding-system-equivalency macro in coding.el.
lisp/ChangeLog addition:
2009-02-04 Aidan Kehoe <kehoea(a)parhasard.net>
* coding.el (force-coding-system-equivalency):
Document this macro and the motivation for it.
diff -r 8891b0477058c16e7c74700cb279cba0ad8fcb39 -r 0347879667ed19a6c266459147ca271d05581238 lisp/ChangeLog
--- a/lisp/ChangeLog Wed Feb 04 12:35:45 2009 +0000
+++ b/lisp/ChangeLog Wed Feb 04 12:41:14 2009 +0000
@@ -1,3 +1,8 @@ 2009-01-15 Aidan Kehoe <kehoea@parhasa
+2009-02-04 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * coding.el (force-coding-system-equivalency):
+ Document this macro and the motivation for it.
+
2009-01-15 Aidan Kehoe <kehoea(a)parhasard.net>
* coding.el (force-coding-system-equivalency):
diff -r 8891b0477058c16e7c74700cb279cba0ad8fcb39 -r 0347879667ed19a6c266459147ca271d05581238 lisp/coding.el
--- a/lisp/coding.el Wed Feb 04 12:35:45 2009 +0000
+++ b/lisp/coding.el Wed Feb 04 12:41:14 2009 +0000
@@ -246,6 +246,14 @@ if does not differ from the encoded stri
;;; Make certain variables equivalent to coding-system aliases:
(macrolet
((force-coding-system-equivalency (&rest details-list)
+ "Certain coding-system aliases should correspond to certain variables.
+
+This macro implements that correspondence. This gives us compatiblity with
+other Mule implementations (which don't use the coding system aliases), and
+a certain amount of freedom of implementation for XEmacs; using a variable's
+value in C for every file operation or write to a terminal in C is probably
+an improvement on the hash-table lookup(s) necessary for a coding system
+alias, though we haven't profiled this yet to see if it makes a difference."
(loop for (alias variable-symbol)
in details-list
with result = (list 'progn)
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
commit: Some cosmetic namespace cleanup, glyphs.el, coding.el.
15 years, 10 months
Aidan Kehoe
changeset: 4597:7191a7b120f129618f64efa567ee6b1bf746a900
parent: 4576:774e5c7522bf0681f0ecf0ab015d9ec8dcb35486
user: Aidan Kehoe <kehoea(a)parhasard.net>
date: Thu Jan 15 19:21:43 2009 +0000
files: lisp/ChangeLog lisp/coding.el lisp/glyphs.el
description:
Some cosmetic namespace cleanup, glyphs.el, coding.el.
lisp/ChangeLog addition:
2009-01-15 Aidan Kehoe <kehoea(a)parhasard.net>
* coding.el (force-coding-system-equivalency):
Move three functions that we don't want to advertise to being
anonymous lambdas instead.
* glyphs.el :
Remove #'define-constant-glyph and some functions it uses, replace
the latter with anonymous lambdas and the former and its uses with
a call to loop.
Do the same with #'define-obsolete-pointer-glyph and the functions
it uses.
(init-glyphs): Untern this symbol once the associated function has
been called; it's only needed at dump time, not at runtime.
diff -r 774e5c7522bf0681f0ecf0ab015d9ec8dcb35486 -r 7191a7b120f129618f64efa567ee6b1bf746a900 lisp/ChangeLog
--- a/lisp/ChangeLog Tue Jan 13 12:07:27 2009 +0000
+++ b/lisp/ChangeLog Thu Jan 15 19:21:43 2009 +0000
@@ -1,3 +1,17 @@ 2009-01-13 Aidan Kehoe <kehoea@parhasa
+2009-01-15 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * coding.el (force-coding-system-equivalency):
+ Move three functions that we don't want to advertise to being
+ anonymous lambdas instead.
+ * glyphs.el :
+ Remove #'define-constant-glyph and some functions it uses, replace
+ the latter with anonymous lambdas and the former and its uses with
+ a call to loop.
+ Do the same with #'define-obsolete-pointer-glyph and the functions
+ it uses.
+ (init-glyphs): Untern this symbol once the associated function has
+ been called; it's only needed at dump time, not at runtime.
+
2009-01-13 Aidan Kehoe <kehoea(a)parhasard.net>
* mule/mule-cmds.el (set-language-environment-coding-systems):
diff -r 774e5c7522bf0681f0ecf0ab015d9ec8dcb35486 -r 7191a7b120f129618f64efa567ee6b1bf746a900 lisp/coding.el
--- a/lisp/coding.el Tue Jan 13 12:07:27 2009 +0000
+++ b/lisp/coding.el Thu Jan 15 19:21:43 2009 +0000
@@ -243,30 +243,24 @@ if does not differ from the encoded stri
)))
-;;; Make certain variables equivalent to coding-system aliases
-(defun dontusethis-set-value-file-name-coding-system-handler (sym args fun harg handlers)
- (define-coding-system-alias 'file-name (or (car args) 'binary)))
-
-(dontusethis-set-symbol-value-handler
- 'file-name-coding-system
- 'set-value
- 'dontusethis-set-value-file-name-coding-system-handler)
-
-(defun dontusethis-set-value-terminal-coding-system-handler (sym args fun harg handlers)
- (define-coding-system-alias 'terminal (or (car args) 'binary)))
-
-(dontusethis-set-symbol-value-handler
- 'terminal-coding-system
- 'set-value
- 'dontusethis-set-value-terminal-coding-system-handler)
-
-(defun dontusethis-set-value-keyboard-coding-system-handler (sym args fun harg handlers)
- (define-coding-system-alias 'keyboard (or (car args) 'binary)))
-
-(dontusethis-set-symbol-value-handler
- 'keyboard-coding-system
- 'set-value
- 'dontusethis-set-value-keyboard-coding-system-handler)
+;;; Make certain variables equivalent to coding-system aliases:
+(macrolet
+ ((force-coding-system-equivalency (&rest details-list)
+ (loop for (alias variable-symbol)
+ in details-list
+ with result = (list 'progn)
+ do
+ (push
+ `(dontusethis-set-symbol-value-handler ',variable-symbol
+ 'set-value #'(lambda (sym args fun harg handlers)
+ (define-coding-system-alias ',alias
+ (or (car args) 'binary))))
+ result)
+ finally return (nreverse result))))
+ (force-coding-system-equivalency
+ (file-name file-name-coding-system)
+ (terminal terminal-coding-system)
+ (keyboard keyboard-coding-system)))
(when (not (featurep 'mule))
(define-coding-system-alias 'escape-quoted 'binary)
diff -r 774e5c7522bf0681f0ecf0ab015d9ec8dcb35486 -r 7191a7b120f129618f64efa567ee6b1bf746a900 lisp/glyphs.el
--- a/lisp/glyphs.el Tue Jan 13 12:07:27 2009 +0000
+++ b/lisp/glyphs.el Thu Jan 15 19:21:43 2009 +0000
@@ -1084,83 +1084,53 @@ If unspecified in a particular domain, `
(set-glyph-face gc-pointer-glyph 'pointer)
;; Now add the magic access/set behavior.
-
-(defun dontusethis-set-value-glyph-handler (sym args fun harg handler)
- (error "Use `set-glyph-image' to set `%s'" sym))
-(defun dontusethis-make-unbound-glyph-handler (sym args fun harg handler)
- (error "Can't `makunbound' `%s'" sym))
-(defun dontusethis-make-local-glyph-handler (sym args fun harg handler)
- (error "Use `set-glyph-image' to make local values for `%s'" sym))
-
-(defun define-constant-glyph (sym)
- (dontusethis-set-symbol-value-handler
- sym 'set-value
- 'dontusethis-set-value-glyph-handler)
- (dontusethis-set-symbol-value-handler
- sym 'make-unbound
- 'dontusethis-make-unbound-glyph-handler)
- (dontusethis-set-symbol-value-handler
- sym 'make-local
- 'dontusethis-make-local-glyph-handler)
- ;; Make frame properties magically work with glyph variables.
+(loop
+ for sym in '(define-constant-glyphs text-pointer-glyph nontext-pointer-glyph
+ modeline-pointer-glyph selection-pointer-glyph
+ busy-pointer-glyph gc-pointer-glyph divider-pointer-glyph
+ toolbar-pointer-glyph menubar-pointer-glyph
+ scrollbar-pointer-glyph octal-escape-glyph
+ control-arrow-glyph invisible-text-glyph hscroll-glyph
+ truncation-glyph continuation-glyph frame-icon-glyph)
+ with set-value-handler = #'(lambda (sym args fun harg handler)
+ (error 'invalid-change
+ (format
+ "Use `set-glyph-image' to set `%s'"
+ sym)))
+ with make-unbound-handler = #'(lambda (sym args fun harg handler)
+ (error 'invalid-change
+ (format
+ "Can't `makunbound' `%s'" sym)))
+ with make-local-handler =
+ #'(lambda (sym args fun harg handler)
+ (error 'invalid-change
+ (format "Use `set-glyph-image' to make local values for `%s'" sym)))
+ do
+ (dontusethis-set-symbol-value-handler sym 'set-value set-value-handler)
+ (dontusethis-set-symbol-value-handler sym 'make-unbound make-unbound-handler)
+ (dontusethis-set-symbol-value-handler sym 'make-local make-local-handler)
(put sym 'const-glyph-variable t))
-(define-constant-glyph 'text-pointer-glyph)
-(define-constant-glyph 'nontext-pointer-glyph)
-(define-constant-glyph 'modeline-pointer-glyph)
-(define-constant-glyph 'selection-pointer-glyph)
-(define-constant-glyph 'busy-pointer-glyph)
-(define-constant-glyph 'gc-pointer-glyph)
-(define-constant-glyph 'divider-pointer-glyph)
-(define-constant-glyph 'toolbar-pointer-glyph)
-(define-constant-glyph 'menubar-pointer-glyph)
-(define-constant-glyph 'scrollbar-pointer-glyph)
-
-(define-constant-glyph 'octal-escape-glyph)
-(define-constant-glyph 'control-arrow-glyph)
-(define-constant-glyph 'invisible-text-glyph)
-(define-constant-glyph 'hscroll-glyph)
-(define-constant-glyph 'truncation-glyph)
-(define-constant-glyph 'continuation-glyph)
-
-(define-constant-glyph 'frame-icon-glyph)
-
;; backwards compatibility garbage
-
-(defun dontusethis-old-pointer-shape-handler (sym args fun harg handler)
- (let ((value (car args)))
- (if (null value)
- (remove-specifier harg 'global)
- (set-glyph-image (symbol-value harg) value))))
;; It might or might not be garbage, but it's rude. Make these
;; `compatible' instead of `obsolete'. -slb
-(defun define-obsolete-pointer-glyph (old new)
+(loop
+ for (old new) in '((x-pointer-shape text-pointer-glyph)
+ (x-nontext-pointer-shape nontext-pointer-glyph)
+ (x-mode-pointer-shape modeline-pointer-glyph)
+ (x-selection-pointer-shape selection-pointer-glyph)
+ (x-busy-pointer-shape busy-pointer-glyph)
+ (x-gc-pointer-shape gc-pointer-glyph)
+ (x-toolbar-pointer-shape toolbar-pointer-glyph))
+ with set-handler = #'(lambda (sym args fun harg handler)
+ (let ((value (car args)))
+ (if (null value)
+ (remove-specifier harg 'global)
+ (set-glyph-image (symbol-value harg) value))))
+ do
(define-compatible-variable-alias old new)
- (dontusethis-set-symbol-value-handler
- old 'set-value 'dontusethis-old-pointer-shape-handler new))
-
-;;; (defvar x-pointer-shape nil)
-(define-obsolete-pointer-glyph 'x-pointer-shape 'text-pointer-glyph)
-
-;;; (defvar x-nontext-pointer-shape nil)
-(define-obsolete-pointer-glyph 'x-nontext-pointer-shape 'nontext-pointer-glyph)
-
-;;; (defvar x-mode-pointer-shape nil)
-(define-obsolete-pointer-glyph 'x-mode-pointer-shape 'modeline-pointer-glyph)
-
-;;; (defvar x-selection-pointer-shape nil)
-(define-obsolete-pointer-glyph 'x-selection-pointer-shape
- 'selection-pointer-glyph)
-
-;;; (defvar x-busy-pointer-shape nil)
-(define-obsolete-pointer-glyph 'x-busy-pointer-shape 'busy-pointer-glyph)
-
-;;; (defvar x-gc-pointer-shape nil)
-(define-obsolete-pointer-glyph 'x-gc-pointer-shape 'gc-pointer-glyph)
-
-;;; (defvar x-toolbar-pointer-shape nil)
-(define-obsolete-pointer-glyph 'x-toolbar-pointer-shape 'toolbar-pointer-glyph)
+ (dontusethis-set-symbol-value-handler old 'set-value set-handler))
;; for subwindows
(defalias 'subwindow-xid 'image-instance-subwindow-id)
@@ -1267,4 +1237,7 @@ If unspecified in a particular domain, `
(init-glyphs)
-;;; glyphs.el ends here.
+(unintern 'init-glyphs) ;; This was dump time thing, no need to keep the
+ ;; function around.
+
+;;; glyphs.el ends here.
\ No newline at end of file
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches