carbon2-commit: More permission consistency. (Opps, missed one.)
14 years, 1 month
Stephen J. Turnbull
changeset: 5344:061f4feaeefd
user: Stephen J. Turnbull <stephen(a)xemacs.org>
date: Mon Jun 14 15:14:20 2010 +0900
files: lisp/gnome.el
description:
More permission consistency. (Opps, missed one.)
diff -r cd167465bf69 -r 061f4feaeefd lisp/gnome.el
--- a/lisp/gnome.el Mon Jun 14 15:03:08 2010 +0900
+++ b/lisp/gnome.el Mon Jun 14 15:14:20 2010 +0900
@@ -1,3 +1,7 @@
+;; gnome.el --- GNOME integration for XEmacs/GTK
+;;
+;; Copyright (C) 2000, 2001 William M. Perry
+;;
;; This file is part of XEmacs.
;;
;; XEmacs is free software; you can redistribute it and/or modify it
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
carbon2-commit: More permission consistency.
14 years, 1 month
Stephen J. Turnbull
changeset: 5343:cd167465bf69
user: Stephen J. Turnbull <stephen(a)xemacs.org>
date: Mon Jun 14 15:03:08 2010 +0900
files: lib-src/ChangeLog lib-src/ad2c lib-src/cvtmail.c lib-src/fakemail.c lib-src/make-path.c lib-src/profile.c lib-src/tcp.c lisp/ChangeLog lisp/auto-save.el lisp/easymenu.el lisp/font.el lisp/fontconfig.el lisp/gtk-compose.el lisp/gtk-marshal.el lisp/gtk-package.el lisp/gtk-widget-accessors.el lisp/gtk.el lisp/gutter-items.el lisp/gutter.el lisp/menubar-items.el lisp/mule/kinsoku.el src/ChangeLog src/gtk-glue.c src/ui-byhand.c tests/ChangeLog tests/gtk/event-stream-tests.el tests/gtk/gnome-test.el tests/gtk/gtk-embedded-test.el tests/gtk/gtk-extra-test.el tests/gtk/statusbar-test.el tests/gtk/toolbar-test.el tests/gtk/xemacs-toolbar.el tests/reproduce-crashes.el
description:
More permission consistency.
diff -r 7e535575bf6d -r cd167465bf69 lib-src/ChangeLog
--- a/lib-src/ChangeLog Mon Jun 14 01:12:54 2010 +0900
+++ b/lib-src/ChangeLog Mon Jun 14 15:03:08 2010 +0900
@@ -1,3 +1,17 @@
+2010-06-14 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * ad2c:
+ Add copyright notices based on internal evidence.
+
+2010-06-14 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * cvtmail.c:
+ * fakemail.c:
+ * make-path.c:
+ * profile.c:
+ * tcp.c:
+ Fix typo (doubled phrase) in permission notice.
+
2010-06-13 Stephen J. Turnbull <stephen(a)xemacs.org>
* ad2c: Correct FSF address in permission notice.
diff -r 7e535575bf6d -r cd167465bf69 lib-src/ad2c
--- a/lib-src/ad2c Mon Jun 14 01:12:54 2010 +0900
+++ b/lib-src/ad2c Mon Jun 14 15:03:08 2010 +0900
@@ -1,4 +1,8 @@
#!/bin/sh
+#
+# Copyright (C) 1990, 1991 George Ferguson
+# Copyright (C) 1992 Charles Hannum
+# Copyright (C) 1992 Matthew Stier
#
# ad2c : Convert app-defaults file to C strings decls.
#
diff -r 7e535575bf6d -r cd167465bf69 lib-src/cvtmail.c
--- a/lib-src/cvtmail.c Mon Jun 14 01:12:54 2010 +0900
+++ b/lib-src/cvtmail.c Mon Jun 14 15:03:08 2010 +0900
@@ -13,7 +13,7 @@
You should have received a copy of the GNU General Public License
along with XEmacs; see the file COPYING. If not, write to
-the Free the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
/* Synched up with: FSF 19.28. */
diff -r 7e535575bf6d -r cd167465bf69 lib-src/fakemail.c
--- a/lib-src/fakemail.c Mon Jun 14 01:12:54 2010 +0900
+++ b/lib-src/fakemail.c Mon Jun 14 15:03:08 2010 +0900
@@ -15,7 +15,7 @@
You should have received a copy of the GNU General Public License
along with XEmacs; see the file COPYING. If not, write to
-the Free the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
/* Synched up with: FSF 19.28. */
diff -r 7e535575bf6d -r cd167465bf69 lib-src/make-path.c
--- a/lib-src/make-path.c Mon Jun 14 01:12:54 2010 +0900
+++ b/lib-src/make-path.c Mon Jun 14 15:03:08 2010 +0900
@@ -15,7 +15,7 @@
You should have received a copy of the GNU General Public License
along with XEmacs; see the file COPYING. If not, write to
-the Free the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
/* Synched up with: FSF 19.28. */
diff -r 7e535575bf6d -r cd167465bf69 lib-src/profile.c
--- a/lib-src/profile.c Mon Jun 14 01:12:54 2010 +0900
+++ b/lib-src/profile.c Mon Jun 14 15:03:08 2010 +0900
@@ -18,8 +18,8 @@
You should have received a copy of the GNU General Public License
along with XEmacs; see the file COPYING. If not, write to
- the Free the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
/* Synched up with: FSF 19.28. */
/* #### Not sure if this is needed for XEmacs. */
diff -r 7e535575bf6d -r cd167465bf69 lib-src/tcp.c
--- a/lib-src/tcp.c Mon Jun 14 01:12:54 2010 +0900
+++ b/lib-src/tcp.c Mon Jun 14 15:03:08 2010 +0900
@@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public License
along with XEmacs; see the file COPYING. If not, write to
-the Free the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*
diff -r 7e535575bf6d -r cd167465bf69 lisp/ChangeLog
--- a/lisp/ChangeLog Mon Jun 14 01:12:54 2010 +0900
+++ b/lisp/ChangeLog Mon Jun 14 15:03:08 2010 +0900
@@ -1,3 +1,30 @@
+2010-06-14 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * gtk.el:
+ * gtk-widget-accessors.el:
+ * gtk-package.el:
+ * gtk-marshal.el:
+ * gtk-compose.el:
+ * gnome.el:
+ Add copyright notice based on internal evidence.
+
+2010-06-14 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * easymenu.el: Add reference to COPYING to permission notice.
+
+ * gutter.el:
+ * gutter-items.el:
+ * menubar-items.el:
+ Fix typo "Xmacs" in permissions notice.
+
+2010-06-14 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * auto-save.el:
+ * font.el:
+ * fontconfig.el:
+ * mule/kinsoku.el:
+ Add "part of XEmacs" text to permission notice.
+
2010-06-13 Stephen J. Turnbull <stephen(a)xemacs.org>
* gnome.el:
diff -r 7e535575bf6d -r cd167465bf69 lisp/auto-save.el
--- a/lisp/auto-save.el Mon Jun 14 01:12:54 2010 +0900
+++ b/lisp/auto-save.el Mon Jun 14 15:03:08 2010 +0900
@@ -8,6 +8,8 @@
;; Maintainer: XEmacs Development Team
;; Keywords: extensions, dumped
;; Version: 1.26
+
+;; This file is part of XEmacs.
;; XEmacs is free software; you can redistribute it and/or modify it
;; under the terms of the GNU General Public License as published by
diff -r 7e535575bf6d -r cd167465bf69 lisp/easymenu.el
--- a/lisp/easymenu.el Mon Jun 14 01:12:54 2010 +0900
+++ b/lisp/easymenu.el Mon Jun 14 15:03:08 2010 +0900
@@ -19,9 +19,9 @@
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with XEmacs; if not, write to the Free Software
-;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-;; 02111-1307, USA.
+;; along with XEmacs; see the file COPYING. If not, write to
+;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
;;; Synched up with: Not synched with FSF but coordinated with the FSF
;;; easymenu maintainer for compatibility with FSF 20.4.
diff -r 7e535575bf6d -r cd167465bf69 lisp/font.el
--- a/lisp/font.el Mon Jun 14 01:12:54 2010 +0900
+++ b/lisp/font.el Mon Jun 14 15:03:08 2010 +0900
@@ -9,6 +9,8 @@
;; Created: 1997/09/05 15:44:37
;; Keywords: faces
;; Version: 1.52
+
+;; This file is part of XEmacs.
;; XEmacs is free software; you can redistribute it and/or modify it
;; under the terms of the GNU General Public License as published by
diff -r 7e535575bf6d -r cd167465bf69 lisp/fontconfig.el
--- a/lisp/fontconfig.el Mon Jun 14 01:12:54 2010 +0900
+++ b/lisp/fontconfig.el Mon Jun 14 15:03:08 2010 +0900
@@ -9,6 +9,8 @@
;; Created: 27 Oct 2003
;; Updated: 05 Mar 2005 by Stephen J. Turnbull
;; Keywords: faces
+
+;; This file is part of XEmacs.
;; XEmacs is free software; you can redistribute it and/or modify it
;; under the terms of the GNU General Public License as published by
diff -r 7e535575bf6d -r cd167465bf69 lisp/gtk-compose.el
--- a/lisp/gtk-compose.el Mon Jun 14 01:12:54 2010 +0900
+++ b/lisp/gtk-compose.el Mon Jun 14 15:03:08 2010 +0900
@@ -1,3 +1,7 @@
+;; gtk-compose.el --- provide compose-key handling to GTK
+;;
+;; Copyright (C) 2000, 2001 William M. Perry
+;;
;; This file is part of XEmacs.
;;
;; XEmacs is free software; you can redistribute it and/or modify it
diff -r 7e535575bf6d -r cd167465bf69 lisp/gtk-marshal.el
--- a/lisp/gtk-marshal.el Mon Jun 14 01:12:54 2010 +0900
+++ b/lisp/gtk-marshal.el Mon Jun 14 15:03:08 2010 +0900
@@ -1,3 +1,7 @@
+;; gtk-marshal.el --- regenerate C wrappers for GTK
+;;
+;; Copyright (C) 2000, 2001 William M. Perry
+;;
;; This file is part of XEmacs.
;;
;; XEmacs is free software; you can redistribute it and/or modify it
diff -r 7e535575bf6d -r cd167465bf69 lisp/gtk-package.el
--- a/lisp/gtk-package.el Mon Jun 14 01:12:54 2010 +0900
+++ b/lisp/gtk-package.el Mon Jun 14 15:03:08 2010 +0900
@@ -1,3 +1,7 @@
+;; gtk-package.el --- GTK version of package-ui
+;;
+;; Copyright (C) 2000, 2001 William M. Perry
+;;
;; This file is part of XEmacs.
;;
;; XEmacs is free software; you can redistribute it and/or modify it
diff -r 7e535575bf6d -r cd167465bf69 lisp/gtk-widget-accessors.el
--- a/lisp/gtk-widget-accessors.el Mon Jun 14 01:12:54 2010 +0900
+++ b/lisp/gtk-widget-accessors.el Mon Jun 14 15:03:08 2010 +0900
@@ -1,3 +1,7 @@
+;; gtk-widget-accessors.el --- GTK wrappers for widgets
+;;
+;; Copyright (C) 2000, 2001 William M. Perry
+;;
;; This file is part of XEmacs.
;;
;; XEmacs is free software; you can redistribute it and/or modify it
diff -r 7e535575bf6d -r cd167465bf69 lisp/gtk.el
--- a/lisp/gtk.el Mon Jun 14 01:12:54 2010 +0900
+++ b/lisp/gtk.el Mon Jun 14 15:03:08 2010 +0900
@@ -1,3 +1,7 @@
+;; gtk.el --- provide information about GTK wrapping
+;;
+;; Copyright (C) 2000, 2001 William M. Perry
+;;
;; This file is part of XEmacs.
;;
;; XEmacs is free software; you can redistribute it and/or modify it
diff -r 7e535575bf6d -r cd167465bf69 lisp/gutter-items.el
--- a/lisp/gutter-items.el Mon Jun 14 01:12:54 2010 +0900
+++ b/lisp/gutter-items.el Mon Jun 14 15:03:08 2010 +0900
@@ -18,7 +18,7 @@
;; General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with Xmacs; see the file COPYING. If not, write to the
+;; along with XEmacs; see the file COPYING. If not, write to the
;; Free Software Foundation, 59 Temple Place - Suite 330,
;; Boston, MA 02111-1307, USA.
diff -r 7e535575bf6d -r cd167465bf69 lisp/gutter.el
--- a/lisp/gutter.el Mon Jun 14 01:12:54 2010 +0900
+++ b/lisp/gutter.el Mon Jun 14 15:03:08 2010 +0900
@@ -19,7 +19,7 @@
;; General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with Xmacs; see the file COPYING. If not, write to the
+;; along with XEmacs; see the file COPYING. If not, write to the
;; Free Software Foundation, 59 Temple Place - Suite 330,
;; Boston, MA 02111-1307, USA.
diff -r 7e535575bf6d -r cd167465bf69 lisp/menubar-items.el
--- a/lisp/menubar-items.el Mon Jun 14 01:12:54 2010 +0900
+++ b/lisp/menubar-items.el Mon Jun 14 15:03:08 2010 +0900
@@ -22,7 +22,7 @@
;; General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with Xmacs; see the file COPYING. If not, write to the
+;; along with XEmacs; see the file COPYING. If not, write to the
;; Free Software Foundation, 59 Temple Place - Suite 330,
;; Boston, MA 02111-1307, USA.
diff -r 7e535575bf6d -r cd167465bf69 lisp/mule/kinsoku.el
--- a/lisp/mule/kinsoku.el Mon Jun 14 01:12:54 2010 +0900
+++ b/lisp/mule/kinsoku.el Mon Jun 14 15:03:08 2010 +0900
@@ -3,6 +3,8 @@
;; Copyright (C) 1997 Free Software Foundation, Inc.
;; This file is part of Mule (MULtilingual Enhancement of XEmacs).
;; This file contains Japanese and Chinese characters.
+
+;; This file is part of XEmacs.
;; XEmacs is free software; you can redistribute it and/or modify it
;; under the terms of the GNU General Public License as published by
diff -r 7e535575bf6d -r cd167465bf69 src/ChangeLog
--- a/src/ChangeLog Mon Jun 14 01:12:54 2010 +0900
+++ b/src/ChangeLog Mon Jun 14 15:03:08 2010 +0900
@@ -1,3 +1,9 @@
+2010-06-14 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * ui-byhand.c:
+ * gtk-glue.c:
+ Add copyright notice based on internal evidence.
+
2010-06-14 Stephen J. Turnbull <stephen(a)xemacs.org>
* number.h: Another permission consistency fix.
diff -r 7e535575bf6d -r cd167465bf69 src/gtk-glue.c
--- a/src/gtk-glue.c Mon Jun 14 01:12:54 2010 +0900
+++ b/src/gtk-glue.c Mon Jun 14 15:03:08 2010 +0900
@@ -1,4 +1,7 @@
-/*
+/* gtk-glue.c --- GTK interfaces with XEmacs
+
+Copyright (C) 2000, 2001 William M. Perry
+
This file is part of XEmacs.
XEmacs is free software; you can redistribute it and/or modify it
diff -r 7e535575bf6d -r cd167465bf69 src/ui-byhand.c
--- a/src/ui-byhand.c Mon Jun 14 01:12:54 2010 +0900
+++ b/src/ui-byhand.c Mon Jun 14 15:03:08 2010 +0900
@@ -1,4 +1,8 @@
-/* I really wish this entire file could go away, but there is
+/* ui-byhand.c --- hand-coded GTK functions
+
+Copyright (C) 2000, 2001 William M. Perry
+
+ I really wish this entire file could go away, but there is
currently no way to do the following in the Foreign Function
Interface:
diff -r 7e535575bf6d -r cd167465bf69 tests/ChangeLog
--- a/tests/ChangeLog Mon Jun 14 01:12:54 2010 +0900
+++ b/tests/ChangeLog Mon Jun 14 15:03:08 2010 +0900
@@ -1,3 +1,18 @@
+2010-06-14 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * gtk/xemacs-toolbar.el:
+ * gtk/toolbar-test.el:
+ * gtk/statusbar-test.el:
+ * gtk/gtk-extra-test.el:
+ * gtk/gtk-embedded-test.el:
+ * gtk/gnome-test.el:
+ * gtk/event-stream-tests.el:
+ Add copyright notice based on internal evidence.
+
+2010-06-14 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * reproduce-crashes.el: Amend "this file" to "XEmacs is free...".
+
2010-06-13 Stephen J. Turnbull <stephen(a)xemacs.org>
* gtk/event-stream-tests.el:
diff -r 7e535575bf6d -r cd167465bf69 tests/gtk/event-stream-tests.el
--- a/tests/gtk/event-stream-tests.el Mon Jun 14 01:12:54 2010 +0900
+++ b/tests/gtk/event-stream-tests.el Mon Jun 14 15:03:08 2010 +0900
@@ -1,3 +1,8 @@
+;; event-stream-tests.el --- test the GTK event stream
+;;
+;; Copyright 2000, 2001 William Perry
+;; Seems to be based on the comment at the end of src/event-stream.c.
+;;
;; This file is part of XEmacs.
;;
;; XEmacs is free software; you can redistribute it and/or modify it
diff -r 7e535575bf6d -r cd167465bf69 tests/gtk/gnome-test.el
--- a/tests/gtk/gnome-test.el Mon Jun 14 01:12:54 2010 +0900
+++ b/tests/gtk/gnome-test.el Mon Jun 14 15:03:08 2010 +0900
@@ -1,3 +1,7 @@
+;; gnome-test.el --- test GNOME integration
+;;
+;; Copyright 2000, 2001 William Perry
+;;
;; This file is part of XEmacs.
;;
;; XEmacs is free software; you can redistribute it and/or modify it
diff -r 7e535575bf6d -r cd167465bf69 tests/gtk/gtk-embedded-test.el
--- a/tests/gtk/gtk-embedded-test.el Mon Jun 14 01:12:54 2010 +0900
+++ b/tests/gtk/gtk-embedded-test.el Mon Jun 14 15:03:08 2010 +0900
@@ -1,3 +1,7 @@
+;; gtk-embedded-test.el --- test GTK embedding in another window
+;;
+;; Copyright 2000, 2001 William Perry
+;;
;; This file is part of XEmacs.
;;
;; XEmacs is free software; you can redistribute it and/or modify it
diff -r 7e535575bf6d -r cd167465bf69 tests/gtk/gtk-extra-test.el
--- a/tests/gtk/gtk-extra-test.el Mon Jun 14 01:12:54 2010 +0900
+++ b/tests/gtk/gtk-extra-test.el Mon Jun 14 15:03:08 2010 +0900
@@ -1,3 +1,7 @@
+;; gtk-extra-test.el --- test extra GTK widgets
+;;
+;; Copyright 2000, 2001 William Perry
+;;
;; This file is part of XEmacs.
;;
;; XEmacs is free software; you can redistribute it and/or modify it
diff -r 7e535575bf6d -r cd167465bf69 tests/gtk/statusbar-test.el
--- a/tests/gtk/statusbar-test.el Mon Jun 14 01:12:54 2010 +0900
+++ b/tests/gtk/statusbar-test.el Mon Jun 14 15:03:08 2010 +0900
@@ -1,3 +1,7 @@
+;; statusbar-test.el --- test the GTK status bar
+;;
+;; Copyright 2000, 2001 William Perry
+;;
;; This file is part of XEmacs.
;;
;; XEmacs is free software; you can redistribute it and/or modify it
diff -r 7e535575bf6d -r cd167465bf69 tests/gtk/toolbar-test.el
--- a/tests/gtk/toolbar-test.el Mon Jun 14 01:12:54 2010 +0900
+++ b/tests/gtk/toolbar-test.el Mon Jun 14 15:03:08 2010 +0900
@@ -1,3 +1,7 @@
+;; toolbar-test.el --- test the GTK toolbar
+;;
+;; Copyright 2000, 2001 William Perry
+;;
;; This file is part of XEmacs.
;;
;; XEmacs is free software; you can redistribute it and/or modify it
diff -r 7e535575bf6d -r cd167465bf69 tests/gtk/xemacs-toolbar.el
--- a/tests/gtk/xemacs-toolbar.el Mon Jun 14 01:12:54 2010 +0900
+++ b/tests/gtk/xemacs-toolbar.el Mon Jun 14 15:03:08 2010 +0900
@@ -1,3 +1,7 @@
+;; xemacs-toolbar.el --- test the XEmacs toolbar under GTK
+;;
+;; Copyright 2000, 2001 William Perry
+;;
;; This file is part of XEmacs.
;;
;; XEmacs is free software; you can redistribute it and/or modify it
diff -r 7e535575bf6d -r cd167465bf69 tests/reproduce-crashes.el
--- a/tests/reproduce-crashes.el Mon Jun 14 01:12:54 2010 +0900
+++ b/tests/reproduce-crashes.el Mon Jun 14 15:03:08 2010 +0900
@@ -7,7 +7,7 @@
;; This file is part of XEmacs.
-;; This file is free software; you can redistribute it and/or modify it
+;; XEmacs is free software; you can redistribute it and/or modify it
;; under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
carbon2-commit: More permission consistency.
14 years, 1 month
Stephen J. Turnbull
changeset: 5342:7e535575bf6d
parent: 5292:0f7d483cff5a
user: Stephen J. Turnbull <stephen(a)xemacs.org>
date: Mon Jun 14 01:12:54 2010 +0900
files: nt/ChangeLog nt/compface.mak src/ChangeLog src/number.h
description:
More permission consistency.
diff -r 0f7d483cff5a -r 7e535575bf6d nt/ChangeLog
--- a/nt/ChangeLog Sun Jun 13 23:54:13 2010 +0900
+++ b/nt/ChangeLog Mon Jun 14 01:12:54 2010 +0900
@@ -1,3 +1,7 @@
+2010-06-14 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * compface.mak: More permission consistency.
+
2010-06-13 Stephen J. Turnbull <stephen(a)xemacs.org>
* tiff.mak:
diff -r 0f7d483cff5a -r 7e535575bf6d nt/compface.mak
--- a/nt/compface.mak Sun Jun 13 23:54:13 2010 +0900
+++ b/nt/compface.mak Mon Jun 14 01:12:54 2010 +0900
@@ -16,7 +16,7 @@
## You should have received a copy of the GNU General Public License
## along with XEmacs; see the file COPYING. If not, write to
-## the Free Software Foundation, Inc., 51 Franklin St - Fifth Floor,
+## the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
## Boston, MA 02110-1301, USA.
!if !defined(DEBUG_XEMACS)
diff -r 0f7d483cff5a -r 7e535575bf6d src/ChangeLog
--- a/src/ChangeLog Sun Jun 13 23:54:13 2010 +0900
+++ b/src/ChangeLog Mon Jun 14 01:12:54 2010 +0900
@@ -1,3 +1,7 @@
+2010-06-14 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * number.h: Another permission consistency fix.
+
2010-06-13 Stephen J. Turnbull <stephen(a)xemacs.org>
* elhash.c:
diff -r 0f7d483cff5a -r 7e535575bf6d src/number.h
--- a/src/number.h Sun Jun 13 23:54:13 2010 +0900
+++ b/src/number.h Mon Jun 14 01:12:54 2010 +0900
@@ -15,7 +15,7 @@
You should have received a copy of the GNU General Public License
along with XEmacs; see the file COPYING. If not, write to
-the Free Software Foundation, Inc., 51 Franklin St - Fifth Floor,
+the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
Boston, MA 02110-1301, USA. */
/* Synched up with: Not in FSF. */
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
carbon2-commit: Tighten up Common Lisp compatibility, #'butlast, #'nbutlast, #'tailp, #'ldiff
14 years, 1 month
Aidan Kehoe
changeset: 5341:99de5fd48e87
user: Aidan Kehoe <kehoea(a)parhasard.net>
date: Thu Oct 14 18:50:38 2010 +0100
files: lisp/ChangeLog lisp/byte-optimize.el lisp/cl-extra.el lisp/cl-macs.el lisp/cl.el src/ChangeLog src/fns.c tests/ChangeLog tests/automated/lisp-tests.el
description:
Tighten up Common Lisp compatibility, #'butlast, #'nbutlast, #'tailp, #'ldiff
lisp/ChangeLog addition:
2010-10-14 Aidan Kehoe <kehoea(a)parhasard.net>
* byte-optimize.el (side-effect-free-fns):
* cl-macs.el (remf, getf):
* cl-extra.el (tailp, cl-set-getf, cl-do-remf):
* cl.el (ldiff, endp):
Tighten up Common Lisp compatibility for #'ldiff, #'endp, #'tailp;
add circularity checking for the first two.
#'cl-set-getf and #'cl-do-remf were Lisp implementations of
#'plist-put and #'plist-remprop; change the names to aliases,
changes the macros that use them to using #'plist-put and
#'plist-remprop directly.
src/ChangeLog addition:
2010-10-14 Aidan Kehoe <kehoea(a)parhasard.net>
* fns.c (Fnbutlast, Fbutlast):
Tighten up Common Lisp compatibility for these two functions; they
need to operate on dotted lists without erroring.
tests/ChangeLog addition:
2010-10-14 Aidan Kehoe <kehoea(a)parhasard.net>
* automated/lisp-tests.el (x):
Test #'nbutlast, #'butlast with dotted lists.
Check that #'ldiff and #'tailp don't hang on circular lists; check
that #'tailp returns t with circular lists when that is
appropriate. Test them both with dotted lists.
diff -r d27c1ee1943b -r 99de5fd48e87 lisp/ChangeLog
--- a/lisp/ChangeLog Tue Oct 12 21:11:46 2010 +0100
+++ b/lisp/ChangeLog Thu Oct 14 18:50:38 2010 +0100
@@ -1,3 +1,17 @@
+2010-10-14 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * byte-optimize.el (side-effect-free-fns):
+ * cl-macs.el (remf, getf):
+ * cl-extra.el (tailp, cl-set-getf, cl-do-remf):
+ * cl.el (ldiff, endp):
+ Tighten up Common Lisp compatibility for #'ldiff, #'endp, #'tailp;
+ add circularity checking for the first two.
+
+ #'cl-set-getf and #'cl-do-remf were Lisp implementations of
+ #'plist-put and #'plist-remprop; change the names to aliases,
+ changes the macros that use them to using #'plist-put and
+ #'plist-remprop directly.
+
2010-10-12 Aidan Kehoe <kehoea(a)parhasard.net>
* abbrev.el (fundamental-mode-abbrev-table, global-abbrev-table):
diff -r d27c1ee1943b -r 99de5fd48e87 lisp/byte-optimize.el
--- a/lisp/byte-optimize.el Tue Oct 12 21:11:46 2010 +0100
+++ b/lisp/byte-optimize.el Thu Oct 14 18:50:38 2010 +0100
@@ -1225,7 +1225,7 @@
;; coordinates-in-window-p not in XEmacs
copy-marker cos count-lines
default-boundp default-value denominator documentation downcase
- elt exp expt fboundp featurep
+ elt endp exp expt fboundp featurep
file-directory-p file-exists-p file-locked-p file-name-absolute-p
file-newer-than-file-p file-readable-p file-symlink-p file-writable-p
float floor format
diff -r d27c1ee1943b -r 99de5fd48e87 lisp/cl-extra.el
--- a/lisp/cl-extra.el Tue Oct 12 21:11:46 2010 +0100
+++ b/lisp/cl-extra.el Thu Oct 14 18:50:38 2010 +0100
@@ -405,11 +405,17 @@
"Equivalent to (nconc (nreverse X) Y)."
(nconc (nreverse x) y))
+;; XEmacs; check LIST for type and circularity.
(defun tailp (sublist list)
"Return true if SUBLIST is a tail of LIST."
- (while (and (consp list) (not (eq sublist list)))
- (setq list (cdr list)))
- (if (numberp sublist) (equal sublist list) (eq sublist list)))
+ (check-argument-type #'listp list)
+ (let ((before list) (evenp t))
+ (while (and (consp list) (not (eq sublist list)))
+ (setq list (cdr list)
+ evenp (not evenp))
+ (if evenp (setq before (cdr before)))
+ (if (eq before list) (error 'circular-list list)))
+ (eql sublist list)))
(defalias 'cl-copy-tree 'copy-tree)
@@ -419,17 +425,9 @@
(defalias 'get* 'get)
(defalias 'getf 'plist-get)
-(defun cl-set-getf (plist tag val)
- (let ((p plist))
- (while (and p (not (eq (car p) tag))) (setq p (cdr (cdr p))))
- (if p (progn (setcar (cdr p) val) plist) (list* tag val plist))))
-
-(defun cl-do-remf (plist tag)
- (let ((p (cdr plist)))
- (while (and (cdr p) (not (eq (car (cdr p)) tag))) (setq p (cdr (cdr p))))
- (and (cdr p) (progn (setcdr p (cdr (cdr (cdr p)))) t))))
-
-;; XEmacs change: we have a builtin remprop
+;; XEmacs; these are built-in.
+(defalias 'cl-set-getf 'plist-put)
+(defalias 'cl-do-remf 'plist-remprop)
(defalias 'cl-remprop 'remprop)
(defun get-properties (plist indicator-list)
diff -r d27c1ee1943b -r 99de5fd48e87 lisp/cl-macs.el
--- a/lisp/cl-macs.el Tue Oct 12 21:11:46 2010 +0100
+++ b/lisp/cl-macs.el Thu Oct 14 18:50:38 2010 +0100
@@ -2407,7 +2407,7 @@
(append (nth 1 method) (list tag def))
(list store-temp)
(list 'let (list (list (car (nth 2 method))
- (list 'cl-set-getf (nth 4 method)
+ (list 'plist-put (nth 4 method)
tag-temp store-temp)))
(nth 3 method) store-temp)
(list 'getf (nth 4 method) tag-temp def-temp))))
@@ -2597,7 +2597,7 @@
(list 'progn
(cl-setf-do-store (nth 1 method) (list 'cddr tval))
t)
- (list 'cl-do-remf tval ttag)))))
+ (list 'plist-remprop tval ttag)))))
;;;###autoload
(defmacro shiftf (place &rest args)
@@ -3805,7 +3805,7 @@
'((first 'car x) (second 'cadr x) (third 'caddr x) (fourth 'cadddr x)
(fifth 'nth 4 x) (sixth 'nth 5 x) (seventh 'nth 6 x)
(eighth 'nth 7 x) (ninth 'nth 8 x) (tenth 'nth 9 x)
- (rest 'cdr x) (endp 'null x) (plusp '> x 0) (minusp '< x 0)
+ (rest 'cdr x) (plusp '> x 0) (minusp '< x 0)
(oddp 'eq (list 'logand x 1) 1)
(evenp 'eq (list 'logand x 1) 0)
(caar car car) (cadr car cdr) (cdar cdr car) (cddr cdr cdr)
diff -r d27c1ee1943b -r 99de5fd48e87 lisp/cl.el
--- a/lisp/cl.el Tue Oct 12 21:11:46 2010 +0100
+++ b/lisp/cl.el Thu Oct 14 18:50:38 2010 +0100
@@ -365,7 +365,13 @@
(defalias 'first 'car)
(defalias 'rest 'cdr)
-(defalias 'endp 'null)
+
+;; XEmacs change; this needs to error if handed a non-list.
+(defun endp (list)
+ "Return t if LIST is nil, or nil if LIST is a cons. Error otherwise."
+ (prog1
+ (null list)
+ (and list (atom list) (error 'wrong-type-argument #'listp list))))
;; XEmacs change: make it a real function
(defun second (x)
@@ -521,12 +527,26 @@
;;; XEmacs: `list*' is in subr.el.
+;; XEmacs; handle dotted lists properly, error on circularity and if LIST is
+;; not a list.
(defun ldiff (list sublist)
- "Return a copy of LIST with the tail SUBLIST removed."
- (let ((res nil))
- (while (and (consp list) (not (eq list sublist)))
- (push (pop list) res))
- (nreverse res)))
+ "Return a copy of LIST with the tail SUBLIST removed.
+
+If SUBLIST is the same Lisp object as LIST, return nil. If SUBLIST is
+not present in the list structure of LIST (that is, it is not the cdr
+of some cons making up LIST), this function is equivalent to
+`copy-list'. LIST may be dotted."
+ (check-argument-type #'listp list)
+ (and list (not (eq list sublist))
+ (let ((before list) (evenp t) result)
+ (prog1
+ (setq result (list (car list)))
+ (while (and (setq list (cdr-safe list)) (not (eql list sublist)))
+ (setf (cdr result) (if (consp list) (list (car list)) list)
+ result (cdr result)
+ evenp (not evenp))
+ (if evenp (setq before (cdr before)))
+ (if (eq before list) (error 'circular-list list)))))))
;;; `copy-list' is implemented as a C primitive, as of 1998-11
diff -r d27c1ee1943b -r 99de5fd48e87 src/ChangeLog
--- a/src/ChangeLog Tue Oct 12 21:11:46 2010 +0100
+++ b/src/ChangeLog Thu Oct 14 18:50:38 2010 +0100
@@ -1,3 +1,9 @@
+2010-10-14 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * fns.c (Fnbutlast, Fbutlast):
+ Tighten up Common Lisp compatibility for these two functions; they
+ need to operate on dotted lists without erroring.
+
2010-10-12 Aidan Kehoe <kehoea(a)parhasard.net>
* fns.c (list_merge):
diff -r d27c1ee1943b -r 99de5fd48e87 src/fns.c
--- a/src/fns.c Tue Oct 12 21:11:46 2010 +0100
+++ b/src/fns.c Thu Oct 14 18:50:38 2010 +0100
@@ -1570,72 +1570,99 @@
DEFUN ("nbutlast", Fnbutlast, 1, 2, 0, /*
Modify LIST to remove the last N (default 1) elements.
+
If LIST has N or fewer elements, nil is returned and LIST is unmodified.
+Otherwise, LIST may be dotted, but not circular.
*/
(list, n))
{
- EMACS_INT int_n;
+ Elemcount int_n = 1;
CHECK_LIST (list);
- if (NILP (n))
- int_n = 1;
- else
+ if (!NILP (n))
{
CHECK_NATNUM (n);
int_n = XINT (n);
}
- {
- Lisp_Object last_cons = list;
-
- EXTERNAL_LIST_LOOP_1 (list)
- {
- if (int_n-- < 0)
- last_cons = XCDR (last_cons);
- }
-
- if (int_n >= 0)
- return Qnil;
-
- XCDR (last_cons) = Qnil;
- return list;
- }
+ if (CONSP (list))
+ {
+ Lisp_Object last_cons = list;
+
+ EXTERNAL_LIST_LOOP_3 (elt, list, tail)
+ {
+ if (int_n-- < 0)
+ {
+ last_cons = XCDR (last_cons);
+ }
+
+ if (!CONSP (XCDR (tail)))
+ {
+ break;
+ }
+ }
+
+ if (int_n >= 0)
+ {
+ return Qnil;
+ }
+
+ XCDR (last_cons) = Qnil;
+ }
+
+ return list;
}
DEFUN ("butlast", Fbutlast, 1, 2, 0, /*
Return a copy of LIST with the last N (default 1) elements removed.
+
If LIST has N or fewer elements, nil is returned.
+Otherwise, LIST may be dotted, but not circular, and `(butlast LIST 0)'
+converts a dotted into a true list.
*/
(list, n))
{
- EMACS_INT int_n;
+ Lisp_Object retval = Qnil, retval_tail = Qnil;
+ Elemcount int_n = 1;
CHECK_LIST (list);
- if (NILP (n))
- int_n = 1;
- else
+ if (!NILP (n))
{
CHECK_NATNUM (n);
int_n = XINT (n);
}
- {
- Lisp_Object retval = Qnil;
- Lisp_Object tail = list;
-
- EXTERNAL_LIST_LOOP_1 (list)
- {
- if (--int_n < 0)
- {
- retval = Fcons (XCAR (tail), retval);
- tail = XCDR (tail);
- }
- }
-
- return Fnreverse (retval);
- }
+ if (CONSP (list))
+ {
+ Lisp_Object tail = list;
+
+ EXTERNAL_LIST_LOOP_3 (elt, list, list_tail)
+ {
+ if (--int_n < 0)
+ {
+ if (NILP (retval_tail))
+ {
+ retval = retval_tail = Fcons (XCAR (tail), Qnil);
+ }
+ else
+ {
+ XSETCDR (retval_tail, Fcons (XCAR (tail), Qnil));
+ retval_tail = XCDR (retval_tail);
+ }
+
+ tail = XCDR (tail);
+ }
+
+ if (!CONSP (XCDR (list_tail)))
+ {
+ break;
+ }
+ }
+ }
+
+ return retval;
}
DEFUN ("member", Fmember, 2, 2, 0, /*
diff -r d27c1ee1943b -r 99de5fd48e87 tests/ChangeLog
--- a/tests/ChangeLog Tue Oct 12 21:11:46 2010 +0100
+++ b/tests/ChangeLog Thu Oct 14 18:50:38 2010 +0100
@@ -1,3 +1,11 @@
+2010-10-14 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * automated/lisp-tests.el (x):
+ Test #'nbutlast, #'butlast with dotted lists.
+ Check that #'ldiff and #'tailp don't hang on circular lists; check
+ that #'tailp returns t with circular lists when that is
+ appropriate. Test them both with dotted lists.
+
2010-10-12 Aidan Kehoe <kehoea(a)parhasard.net>
* automated/lisp-tests.el:
diff -r d27c1ee1943b -r 99de5fd48e87 tests/automated/lisp-tests.el
--- a/tests/automated/lisp-tests.el Tue Oct 12 21:11:46 2010 +0100
+++ b/tests/automated/lisp-tests.el Thu Oct 14 18:50:38 2010 +0100
@@ -200,6 +200,14 @@
(Assert (equal y '(0 1 2 3)))
(Assert (equal z y)))
+(let* ((x (list* 0 1 2 3 4 5 6.0 ?7 ?8 (vector 'a 'b 'c)))
+ (y (butlast x 0))
+ (z (nbutlast x 0)))
+ (Assert (eq z x))
+ (Assert (not (eq y x)))
+ (Assert (equal y '(0 1 2 3 4 5 6.0 ?7 ?8)))
+ (Assert (equal z y)))
+
(Assert (eq (butlast '(x)) nil))
(Assert (eq (nbutlast '(x)) nil))
(Assert (eq (butlast '()) nil))
@@ -217,6 +225,58 @@
(dolist (x '((1) (1 2) (1 2 3) (1 2 . 3)))
(let ((y (copy-list x)))
(Assert (and (equal x y) (not (eq x y))))))
+
+;;-----------------------------------------------------
+;; Test `ldiff'
+;;-----------------------------------------------------
+(Check-Error wrong-type-argument (ldiff 'foo pi))
+(Check-Error wrong-number-of-arguments (ldiff))
+(Check-Error wrong-number-of-arguments (ldiff '(1 2)))
+(Check-Error circular-list (ldiff (make-circular-list 1) nil))
+(Check-Error circular-list (ldiff (make-circular-list 2000) nil))
+(Assert (eq '() (ldiff '() pi)))
+(dolist (x '((1) (1 2) (1 2 3) (1 2 . 3)))
+ (let ((y (ldiff x nil)))
+ (Assert (and (equal x y) (not (eq x y))))))
+
+(let* ((vector (vector 'foo))
+ (dotted `(1 2 3 ,pi 40 50 . ,vector))
+ (dotted-pi `(1 2 3 . ,pi))
+ without-vector without-pi)
+ (Assert (equal dotted (ldiff dotted nil))
+ "checking ldiff handles dotted lists properly")
+ (Assert (equal (butlast dotted 0) (ldiff dotted vector))
+ "checking ldiff discards dotted elements correctly")
+ (Assert (equal (butlast dotted-pi 0) (ldiff dotted-pi (* 4 (atan 1))))
+ "checking ldiff handles float equivalence correctly"))
+
+;;-----------------------------------------------------
+;; Test `tailp'
+;;-----------------------------------------------------
+(Check-Error wrong-type-argument (tailp pi 'foo))
+(Check-Error wrong-number-of-arguments (tailp))
+(Check-Error wrong-number-of-arguments (tailp '(1 2)))
+(Check-Error circular-list (tailp nil (make-circular-list 1)))
+(Check-Error circular-list (tailp nil (make-circular-list 2000)))
+(Assert (null (tailp pi '()))
+ "checking pi is not a tail of the list nil")
+(Assert (tailp 3 '(1 2 . 3))
+ "checking #'tailp works with a dotted integer.")
+(Assert (tailp pi `(1 2 . ,(* 4 (atan 1))))
+ "checking tailp works with non-eq dotted floats.")
+(let ((list (make-list 2048 nil)))
+ (Assert (tailp (nthcdr 2000 list) (nconc list list))
+ "checking #'tailp succeeds with circular LIST containing SUBLIST"))
+
+;;-----------------------------------------------------
+;; Test `endp'
+;;-----------------------------------------------------
+(Check-Error wrong-type-argument (endp 'foo))
+(Check-Error wrong-number-of-arguments (endp))
+(Check-Error wrong-number-of-arguments (endp '(1 2) 'foo))
+(Assert (endp nil) "checking nil is recognized as the end of a list")
+(Assert (not (endp (list 200 200 4 0 9)))
+ "checking a cons is not recognised as the end of a list")
;;-----------------------------------------------------
;; Arithmetic operations
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
carbon2-commit: Make the order of preloaded-file-list more sane.
14 years, 1 month
Aidan Kehoe
changeset: 5340:d27c1ee1943b
user: Aidan Kehoe <kehoea(a)parhasard.net>
date: Tue Oct 12 21:11:46 2010 +0100
files: lisp/ChangeLog lisp/abbrev.el lisp/cl-extra.el lisp/cmdloop.el lisp/custom.el lisp/dumped-lisp.el lisp/faces.el lisp/packages.el lisp/post-gc.el lisp/subr.el
description:
Make the order of preloaded-file-list more sane.
lisp/ChangeLog addition:
2010-10-12 Aidan Kehoe <kehoea(a)parhasard.net>
* abbrev.el (fundamental-mode-abbrev-table, global-abbrev-table):
Create both these abbrev tables using the usual
#'define-abbrev-table calls, rather than attempting to
special-case them.
* cl-extra.el: Force cl-macs to be loaded here, if cl-extra.el is
being loaded interpreted. Previously other, later files would
redundantly call (load "cl-macs") when interpreted, it's more
reasonable to do it here, once.
* cmdloop.el (read-quoted-char-radix): Use defcustom here, we
don't have any dump-order dependencies that would prevent that.
* custom.el (eval-when-compile): Don't load cl-macs when
interpreted or when byte-compiling, rely on cl-extra.el in the
former case and the appropriate entry in bytecomp-load-hook in the
latter. Get rid of custom-declare-variable-list, we have no
dump-time dependencies that would require it.
* faces.el (eval-when-compile): Don't load cl-macs when
interpreted or when byte-compiling.
* packages.el: Remove some inaccurate comments.
* post-gc.el (cleanup-simple-finalizers): Use #'delete-if-not
here, now the order of preloaded-file-list has been changed to
make it available.
* subr.el (custom-declare-variable-list): Remove. No need for it.
Also remove a stub define-abbrev-table from this file, given the
current order of preloaded-file-list there's no need for it.
diff -r be436ac36ba4 -r d27c1ee1943b lisp/ChangeLog
--- a/lisp/ChangeLog Tue Oct 12 18:14:12 2010 +0100
+++ b/lisp/ChangeLog Tue Oct 12 21:11:46 2010 +0100
@@ -1,3 +1,30 @@
+2010-10-12 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * abbrev.el (fundamental-mode-abbrev-table, global-abbrev-table):
+ Create both these abbrev tables using the usual
+ #'define-abbrev-table calls, rather than attempting to
+ special-case them.
+ * cl-extra.el: Force cl-macs to be loaded here, if cl-extra.el is
+ being loaded interpreted. Previously other, later files would
+ redundantly call (load "cl-macs") when interpreted, it's more
+ reasonable to do it here, once.
+ * cmdloop.el (read-quoted-char-radix): Use defcustom here, we
+ don't have any dump-order dependencies that would prevent that.
+ * custom.el (eval-when-compile): Don't load cl-macs when
+ interpreted or when byte-compiling, rely on cl-extra.el in the
+ former case and the appropriate entry in bytecomp-load-hook in the
+ latter. Get rid of custom-declare-variable-list, we have no
+ dump-time dependencies that would require it.
+ * faces.el (eval-when-compile): Don't load cl-macs when
+ interpreted or when byte-compiling.
+ * packages.el: Remove some inaccurate comments.
+ * post-gc.el (cleanup-simple-finalizers): Use #'delete-if-not
+ here, now the order of preloaded-file-list has been changed to
+ make it available.
+ * subr.el (custom-declare-variable-list): Remove. No need for it.
+ Also remove a stub define-abbrev-table from this file, given the
+ current order of preloaded-file-list there's no need for it.
+
2010-10-10 Aidan Kehoe <kehoea(a)parhasard.net>
* bytecomp.el (byte-compile-constp) Forms quoted with FUNCTION are
diff -r be436ac36ba4 -r d27c1ee1943b lisp/abbrev.el
--- a/lisp/abbrev.el Tue Oct 12 18:14:12 2010 +0100
+++ b/lisp/abbrev.el Tue Oct 12 21:11:46 2010 +0100
@@ -120,31 +120,12 @@
(setplist sym (or count 0))
name))
+(define-abbrev-table 'fundamental-mode-abbrev-table nil)
+(and (eq major-mode 'fundamental-mode)
+ (not local-abbrev-table)
+ (setq local-abbrev-table fundamental-mode-abbrev-table))
-;; Fixup stuff from bootstrap def of define-abbrev-table in subr.el
-(let ((l abbrev-table-name-list))
- (while l
- (let ((fixup (car l)))
- (if (consp fixup)
- (progn
- (setq abbrev-table-name-list (delq fixup abbrev-table-name-list))
- (define-abbrev-table (car fixup) (cdr fixup))))
- (setq l (cdr l))))
- ;; These are no longer initialized by C code
- (if (not global-abbrev-table)
- (progn
- (setq global-abbrev-table (make-abbrev-table))
- (setq abbrev-table-name-list (cons 'global-abbrev-table
- abbrev-table-name-list))))
- (if (not fundamental-mode-abbrev-table)
- (progn
- (setq fundamental-mode-abbrev-table (make-abbrev-table))
- (setq abbrev-table-name-list (cons 'fundamental-mode-abbrev-table
- abbrev-table-name-list))))
- (and (eq major-mode 'fundamental-mode)
- (not local-abbrev-table)
- (setq local-abbrev-table fundamental-mode-abbrev-table)))
-
+(define-abbrev-table 'global-abbrev-table nil)
(defun define-global-abbrev (name expansion)
"Define ABBREV as a global abbreviation for EXPANSION."
diff -r be436ac36ba4 -r d27c1ee1943b lisp/cl-extra.el
--- a/lisp/cl-extra.el Tue Oct 12 18:14:12 2010 +0100
+++ b/lisp/cl-extra.el Tue Oct 12 21:11:46 2010 +0100
@@ -657,6 +657,11 @@
(prog1 (cl-prettyprint form)
(message ""))))
+;; XEmacs addition; force cl-macs to be available from here on when
+;; compiling files to be dumped. This is more reasonable than forcing other
+;; files to do the same, multiple times.
+(eval-when-compile (or (cl-compiling-file) (load "cl-macs")))
+
(run-hooks 'cl-extra-load-hook)
;; XEmacs addition
diff -r be436ac36ba4 -r d27c1ee1943b lisp/cmdloop.el
--- a/lisp/cmdloop.el Tue Oct 12 18:14:12 2010 +0100
+++ b/lisp/cmdloop.el Tue Oct 12 21:11:46 2010 +0100
@@ -564,12 +564,7 @@
;; BEGIN SYNCHED WITH FSF 21.2.
-(defvar read-quoted-char-radix 8
- "*Radix for \\[quoted-insert] and other uses of `read-quoted-char'.
-Legitimate radix values are 8, 10 and 16.")
-
-(custom-declare-variable-early
- 'read-quoted-char-radix 8
+(defcustom read-quoted-char-radix 8
"*Radix for \\[quoted-insert] and other uses of `read-quoted-char'.
Legitimate radix values are 8, 10 and 16."
:type '(choice (const 8) (const 10) (const 16))
diff -r be436ac36ba4 -r d27c1ee1943b lisp/custom.el
--- a/lisp/custom.el Tue Oct 12 18:14:12 2010 +0100
+++ b/lisp/custom.el Tue Oct 12 21:11:46 2010 +0100
@@ -44,12 +44,10 @@
(provide 'custom)
(eval-when-compile
- (load "cl-macs" nil t)
;; To elude warnings.
(require 'cus-face))
(autoload 'custom-declare-face "cus-face")
-(autoload 'defun* "cl-macs")
(require 'widget)
@@ -1056,12 +1054,7 @@
;;; The End.
-;; Process the defcustoms for variables loaded before this file.
-;; `custom-declare-variable-list' is defvar'd in subr.el. Utility programs
-;; run from temacs that do not load subr.el should defvar it themselves.
-;; (As of 21.5.11, make-docfile.el.)
-(while custom-declare-variable-list
- (apply 'custom-declare-variable (car custom-declare-variable-list))
- (setq custom-declare-variable-list (cdr custom-declare-variable-list)))
+;; XEmacs; we order preloaded-file-list such that there's no need for
+;; custom-declare-variable-list.
;; custom.el ends here
diff -r be436ac36ba4 -r d27c1ee1943b lisp/dumped-lisp.el
--- a/lisp/dumped-lisp.el Tue Oct 12 18:14:12 2010 +0100
+++ b/lisp/dumped-lisp.el Tue Oct 12 21:11:46 2010 +0100
@@ -23,28 +23,19 @@
"backquote" ; needed for defsubst etc.
"bytecomp-runtime" ; define defsubst
+ "subr" ; load the most basic Lisp functions
+ "cl"
+ "cl-extra" ; also loads cl-macs if we're running interpreted.
+ "cl-seq"
+ "post-gc"
+ "version"
+ "custom" ; Before the world so everything can be customized
+ "cus-start" ; for customization of builtin variables
"find-paths"
- "packages" ; Bootstrap run-time lisp environment
+ "packages"
"setup-paths"
-
- ;; use custom-declare-variable-early, not defcustom, in these files
-
- "subr" ; load the most basic Lisp functions
- "post-gc"
- "replace" ; match-string used in version.el.
-
- "version"
-
- "cl"
- "cl-extra"
- "cl-seq"
+ "replace"
"widget"
- "custom" ; Before the world so everything can be
- ; customized
- "cus-start" ; for customization of builtin variables
-
- ;; OK, you can use defcustom from here on
-
"cmdloop"
"keymap"
"syntax"
diff -r be436ac36ba4 -r d27c1ee1943b lisp/faces.el
--- a/lisp/faces.el Tue Oct 12 18:14:12 2010 +0100
+++ b/lisp/faces.el Tue Oct 12 21:11:46 2010 +0100
@@ -49,9 +49,7 @@
;; To elude the warnings for font functions. (Normally autoloaded when
;; font-create-object is called)
-(eval-when-compile
- (require 'font)
- (load "cl-macs"))
+(eval-when-compile (require 'font))
(defgroup faces nil
"Support for multiple text attributes (fonts, colors, ...)
diff -r be436ac36ba4 -r d27c1ee1943b lisp/packages.el
--- a/lisp/packages.el Tue Oct 12 18:14:12 2010 +0100
+++ b/lisp/packages.el Tue Oct 12 21:11:46 2010 +0100
@@ -31,23 +31,7 @@
;; This file is dumped with XEmacs.
;; This file provides low level facilities for XEmacs startup --
-;; particularly regarding the package setup. This code has to run in
-;; what we call "bare temacs" -- i.e. XEmacs without the usual Lisp
-;; environment. Pay special attention:
-
-;; - not to use the `lambda' macro. Use #'(lambda ...) instead.
-;; (this goes for any package loaded before `subr.el'.)
-;;
-;; - not to use macros, because they are not yet available (and this
-;; file must be loadable uncompiled.) Built in macros, such as
-;; `when' and `unless' are fine, of course.
-;;
-;; - not to use `defcustom'. If you must add user-customizable
-;; variables here, use `defvar', and add the variable to
-;; `cus-start.el'.
-
-;; Because of all this, make sure that the stuff you put here really
-;; belongs here.
+;; particularly regarding the package setup.
;; This file requires find-paths.el.
diff -r be436ac36ba4 -r d27c1ee1943b lisp/post-gc.el
--- a/lisp/post-gc.el Tue Oct 12 18:14:12 2010 +0100
+++ b/lisp/post-gc.el Tue Oct 12 21:11:46 2010 +0100
@@ -56,15 +56,8 @@
(defun cleanup-simple-finalizers (alist)
"Clean up `simple-finalizer-ephemerons'."
- ;; We have to do this by hand because DELETE-IF isn't defined yet.
- (let ((current simple-finalizer-ephemerons)
- (prev nil))
- (while (not (null current))
- (if (not (ephemeron-ref (car current)))
- (if (null prev)
- (setq simple-finalizer-ephemerons (cdr current))
- (setcdr prev (cdr current)))
- (setq prev current))
- (setq current (cdr current)))))
+ (and simple-finalizer-ephemerons
+ (setq simple-finalizer-ephemerons
+ (delete-if-not #'ephemeron-ref simple-finalizer-ephemerons))))
(add-hook 'post-gc-hook 'cleanup-simple-finalizers)
diff -r be436ac36ba4 -r d27c1ee1943b lisp/subr.el
--- a/lisp/subr.el Tue Oct 12 18:14:12 2010 +0100
+++ b/lisp/subr.el Tue Oct 12 21:11:46 2010 +0100
@@ -39,18 +39,9 @@
;; BEGIN SYNCHED WITH FSF 21.2
-;;; Code:
-(defvar custom-declare-variable-list nil
- "Record `defcustom' calls made before `custom.el' is loaded to handle them.
-Each element of this list holds the arguments to one call to `defcustom'.")
+;; XEmacs; no need for custom-declare-variable-list, preloaded-file-list is
+;; ordered to make it unnecessary.
-;; Use this, rather than defcustom, in subr.el and other files loaded
-;; before custom.el. See dumped-lisp.el.
-(defun custom-declare-variable-early (&rest arguments)
- (setq custom-declare-variable-list
- (cons arguments custom-declare-variable-list)))
-
-
(defun macro-declaration-function (macro decl)
"Process a declaration found in a macro definition.
This is set as the value of the variable `macro-declaration-function'.
@@ -1586,19 +1577,6 @@
(define-function 'eval-in-buffer 'with-current-buffer)
(make-obsolete 'eval-in-buffer 'with-current-buffer)
-;;; The real defn is in abbrev.el but some early callers
-;;; (eg lisp-mode-abbrev-table) want this before abbrev.el is loaded...
-
-(if (not (fboundp 'define-abbrev-table))
- (progn
- (setq abbrev-table-name-list '())
- (fset 'define-abbrev-table
- (function (lambda (name defs)
- ;; These are fixed-up when abbrev.el loads.
- (setq abbrev-table-name-list
- (cons (cons name defs)
- abbrev-table-name-list)))))))
-
;;; `functionp' has been moved into C.
;;(defun functionp (object)
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
carbon2-commit: Don't share a counter when checking for circularity, list_merge().
14 years, 1 month
Aidan Kehoe
changeset: 5339:be436ac36ba4
user: Aidan Kehoe <kehoea(a)parhasard.net>
date: Tue Oct 12 18:14:12 2010 +0100
files: src/ChangeLog src/fns.c tests/ChangeLog tests/automated/lisp-tests.el
description:
Don't share a counter when checking for circularity, list_merge().
src/ChangeLog addition:
2010-10-12 Aidan Kehoe <kehoea(a)parhasard.net>
* fns.c (list_merge):
Circularity checking here needs to be done independently for each
list, they can't share a loop counter. Thank you for the bug
report, Robert Pluim!
tests/ChangeLog addition:
2010-10-12 Aidan Kehoe <kehoea(a)parhasard.net>
* automated/lisp-tests.el:
Make sure circularity checking with #'merge is sane.
diff -r dcc34e28cd84 -r be436ac36ba4 src/ChangeLog
--- a/src/ChangeLog Sun Oct 10 12:32:38 2010 +0100
+++ b/src/ChangeLog Tue Oct 12 18:14:12 2010 +0100
@@ -1,3 +1,10 @@
+2010-10-12 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * fns.c (list_merge):
+ Circularity checking here needs to be done independently for each
+ list, they can't share a loop counter. Thank you for the bug
+ report, Robert Pluim!
+
2010-09-20 Aidan Kehoe <kehoea(a)parhasard.net>
* lisp.h (GET_DEFUN_LISP_OBJECT): Make the NEW_GC version of this
diff -r dcc34e28cd84 -r be436ac36ba4 src/fns.c
--- a/src/fns.c Sun Oct 10 12:32:38 2010 +0100
+++ b/src/fns.c Tue Oct 12 18:14:12 2010 +0100
@@ -2157,7 +2157,7 @@
Lisp_Object l1, l2;
Lisp_Object tortoises[2];
struct gcpro gcpro1, gcpro2, gcpro3, gcpro4, gcpro5;
- int looped = 0;
+ int l1_count = 0, l2_count = 0;
l1 = org_l1;
l2 = org_l2;
@@ -2203,37 +2203,56 @@
tem = l1;
l1 = Fcdr (l1);
org_l1 = l1;
+
+ if (l1_count++ > CIRCULAR_LIST_SUSPICION_LENGTH)
+ {
+ if (l1_count & 1)
+ {
+ if (!CONSP (tortoises[0]))
+ {
+ mapping_interaction_error (Qmerge, tortoises[0]);
+ }
+
+ tortoises[0] = XCDR (tortoises[0]);
+ }
+
+ if (EQ (org_l1, tortoises[0]))
+ {
+ signal_circular_list_error (org_l1);
+ }
+ }
}
else
{
tem = l2;
l2 = Fcdr (l2);
org_l2 = l2;
- }
+
+ if (l2_count++ > CIRCULAR_LIST_SUSPICION_LENGTH)
+ {
+ if (l2_count & 1)
+ {
+ if (!CONSP (tortoises[1]))
+ {
+ mapping_interaction_error (Qmerge, tortoises[1]);
+ }
+
+ tortoises[1] = XCDR (tortoises[1]);
+ }
+
+ if (EQ (org_l2, tortoises[1]))
+ {
+ signal_circular_list_error (org_l2);
+ }
+ }
+ }
+
if (NILP (tail))
value = tem;
else
Fsetcdr (tail, tem);
+
tail = tem;
-
- if (++looped > CIRCULAR_LIST_SUSPICION_LENGTH)
- {
- if (looped & 1)
- {
- tortoises[0] = XCDR (tortoises[0]);
- tortoises[1] = XCDR (tortoises[1]);
- }
-
- if (EQ (org_l1, tortoises[0]))
- {
- signal_circular_list_error (org_l1);
- }
-
- if (EQ (org_l2, tortoises[1]))
- {
- signal_circular_list_error (org_l2);
- }
- }
}
}
diff -r dcc34e28cd84 -r be436ac36ba4 tests/ChangeLog
--- a/tests/ChangeLog Sun Oct 10 12:32:38 2010 +0100
+++ b/tests/ChangeLog Tue Oct 12 18:14:12 2010 +0100
@@ -1,3 +1,8 @@
+2010-10-12 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * automated/lisp-tests.el:
+ Make sure circularity checking with #'merge is sane.
+
2010-08-15 Aidan Kehoe <kehoea(a)parhasard.net>
* automated/lisp-tests.el:
diff -r dcc34e28cd84 -r be436ac36ba4 tests/automated/lisp-tests.el
--- a/tests/automated/lisp-tests.el Sun Oct 10 12:32:38 2010 +0100
+++ b/tests/automated/lisp-tests.el Tue Oct 12 18:14:12 2010 +0100
@@ -2409,4 +2409,10 @@
(Assert (not (eql '1/5 (read (prin1-to-string (intern "2/10")))))
"checking symbol named \"2/10\" not eql to ratio 1/5 on read"))
+(let* ((count 0)
+ (list (map-into (make-list 2048 nil) #'(lambda () (decf count))))
+ (expected (append list '(1))))
+ (Assert (equal expected (merge 'list list '(1) #'<))
+ "checking merge's circularity checks are sane"))
+
;;; end of lisp-tests.el
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
carbon2-commit: Warn at byte-compile in #'the if FORM constant & not TYPE; fix byte-compile-constp
14 years, 1 month
Aidan Kehoe
changeset: 5338:dcc34e28cd84
user: Aidan Kehoe <kehoea(a)parhasard.net>
date: Sun Oct 10 12:32:38 2010 +0100
files: lisp/ChangeLog lisp/bytecomp.el
description:
Warn at byte-compile in #'the if FORM constant & not TYPE; fix byte-compile-constp
2010-10-10 Aidan Kehoe <kehoea(a)parhasard.net>
* bytecomp.el (byte-compile-constp) Forms quoted with FUNCTION are
also constant.
(byte-compile-initial-macro-environment): In #'the, if FORM is
constant and does not match TYPE, warn at byte-compile time.
diff -r aa20a889ff14 -r dcc34e28cd84 lisp/ChangeLog
--- a/lisp/ChangeLog Sun Oct 10 12:13:32 2010 +0100
+++ b/lisp/ChangeLog Sun Oct 10 12:32:38 2010 +0100
@@ -1,3 +1,10 @@
+2010-10-10 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * bytecomp.el (byte-compile-constp) Forms quoted with FUNCTION are
+ also constant.
+ (byte-compile-initial-macro-environment): In #'the, if FORM is
+ constant and does not match TYPE, warn at byte-compile time.
+
2010-10-10 Aidan Kehoe <kehoea(a)parhasard.net>
* backquote.el (bq-vector-contents, bq-list*): Remove; the former
diff -r aa20a889ff14 -r dcc34e28cd84 lisp/bytecomp.el
--- a/lisp/bytecomp.el Sun Oct 10 12:13:32 2010 +0100
+++ b/lisp/bytecomp.el Sun Oct 10 12:32:38 2010 +0100
@@ -505,6 +505,10 @@
(cons 'progn body)))
(the .
,#'(lambda (type form)
+ (if (cl-const-expr-p form)
+ (or (eval (cl-make-type-test form type))
+ (byte-compile-warn
+ "%s is not of type %s" form type)))
(if byte-compile-delete-errors
form
(funcall (cdr (symbol-function 'the)) type form)))))
@@ -1391,7 +1395,7 @@
(defmacro byte-compile-constp (form)
;; Returns non-nil if FORM is a constant.
- `(cond ((consp ,form) (eq (car ,form) 'quote))
+ `(cond ((consp ,form) (memq (car ,form) '(quote function)))
((symbolp ,form) (byte-compile-constant-symbol-p ,form))
(t)))
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
carbon2-commit: Remove a couple of redundant functions, backquote.el
14 years, 1 month
Aidan Kehoe
changeset: 5337:aa20a889ff14
user: Aidan Kehoe <kehoea(a)parhasard.net>
date: Sun Oct 10 12:13:32 2010 +0100
files: lisp/ChangeLog lisp/backquote.el lisp/cl.el lisp/subr.el
description:
Remove a couple of redundant functions, backquote.el
2010-10-10 Aidan Kehoe <kehoea(a)parhasard.net>
* backquote.el (bq-vector-contents, bq-list*): Remove; the former
is equivalent to (append VECTOR nil), the latter to (list* ...).
(bq-process-2): Use (append VECTOR nil) instead of using
#'bq-vector-contents to convert to a list.
(bq-process-1): Now we use list* instead of bq-list
* subr.el (list*): Moved from cl.el, since it is now required to
be available the first time a backquoted form is encountered.
* cl.el (list*): Move to subr.el.
diff -r 59a6419f7504 -r aa20a889ff14 lisp/ChangeLog
--- a/lisp/ChangeLog Mon Sep 20 23:22:50 2010 +0100
+++ b/lisp/ChangeLog Sun Oct 10 12:13:32 2010 +0100
@@ -1,3 +1,14 @@
+2010-10-10 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * backquote.el (bq-vector-contents, bq-list*): Remove; the former
+ is equivalent to (append VECTOR nil), the latter to (list* ...).
+ (bq-process-2): Use (append VECTOR nil) instead of using
+ #'bq-vector-contents to convert to a list.
+ (bq-process-1): Now we use list* instead of bq-list
+ * subr.el (list*): Moved from cl.el, since it is now required to
+ be available the first time a backquoted form is encountered.
+ * cl.el (list*): Move to subr.el.
+
2010-09-16 Aidan Kehoe <kehoea(a)parhasard.net>
* test-harness.el (Check-Message):
diff -r 59a6419f7504 -r aa20a889ff14 lisp/backquote.el
--- a/lisp/backquote.el Mon Sep 20 23:22:50 2010 +0100
+++ b/lisp/backquote.el Sun Oct 10 12:13:32 2010 +0100
@@ -184,19 +184,10 @@
;;; ----------------------------------------------------------------
-(defun bq-vector-contents (vec)
- (let ((contents nil)
- (n (length vec)))
- (while (> n 0)
- (setq n (1- n))
- (setq contents (cons (aref vec n) contents)))
- contents))
-
;;; This does the expansion from table 2.
(defun bq-process-2 (code)
(cond ((vectorp code)
- (let* ((dflag-d
- (bq-process-2 (bq-vector-contents code))))
+ (let* ((dflag-d (bq-process-2 (append code nil))))
(cons 'vector (bq-process-1 (car dflag-d) (cdr dflag-d)))))
((atom code)
(cond ((null code) (cons nil nil))
@@ -278,26 +269,7 @@
(list 'quote thing))
((eq flag 'vector)
(list 'apply '(function vector) thing))
- (t (cons (cdr
- (assq flag
- '((cons . cons)
- (list* . bq-list*)
- (list . list)
- (append . append)
- (nconc . nconc))))
- thing))))
-
-;;; ----------------------------------------------------------------
-
-(defmacro bq-list* (&rest args)
- "Return a list of its arguments with last cons a dotted pair."
- (setq args (reverse args))
- (let ((result (car args)))
- (setq args (cdr args))
- (while args
- (setq result (list 'cons (car args) result))
- (setq args (cdr args)))
- result))
+ (t (cons flag thing))))
(provide 'backquote)
diff -r 59a6419f7504 -r aa20a889ff14 lisp/cl.el
--- a/lisp/cl.el Mon Sep 20 23:22:50 2010 +0100
+++ b/lisp/cl.el Sun Oct 10 12:13:32 2010 +0100
@@ -519,17 +519,7 @@
;;; `last' is implemented as a C primitive, as of 1998-11
-(defun list* (arg &rest rest) ; See compiler macro in cl-macs.el
- "Return a new list with specified args as elements, cons'd to last arg.
-Thus, `(list* A B C D)' is equivalent to `(nconc (list A B C) D)', or to
-`(cons A (cons B (cons C D)))'."
- (cond ((not rest) arg)
- ((not (cdr rest)) (cons arg (car rest)))
- (t (let* ((n (length rest))
- (copy (copy-sequence rest))
- (last (nthcdr (- n 2) copy)))
- (setcdr last (car (cdr last)))
- (cons arg copy)))))
+;;; XEmacs: `list*' is in subr.el.
(defun ldiff (list sublist)
"Return a copy of LIST with the tail SUBLIST removed."
diff -r 59a6419f7504 -r aa20a889ff14 lisp/subr.el
--- a/lisp/subr.el Mon Sep 20 23:22:50 2010 +0100
+++ b/lisp/subr.el Sun Oct 10 12:13:32 2010 +0100
@@ -66,7 +66,20 @@
(message "Unknown declaration %s" d)))))
(setq macro-declaration-function 'macro-declaration-function)
-
+
+;; XEmacs; this is here because we use it in backquote.el, so it needs to be
+;; available the first time a `(...) form is expanded.
+(defun list* (first &rest rest) ; See compiler macro in cl-macs.el
+ "Return a new list with specified args as elements, cons'd to last arg.
+Thus, `(list* A B C D)' is equivalent to `(nconc (list A B C) D)', or to
+`(cons A (cons B (cons C D)))'."
+ (cond ((not rest) first)
+ ((not (cdr rest)) (cons first (car rest)))
+ (t (let* ((n (length rest))
+ (copy (copy-sequence rest))
+ (last (nthcdr (- n 2) copy)))
+ (setcdr last (car (cdr last)))
+ (cons first copy)))))
;;;; Lisp language features.
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
carbon2-commit: Use GET_DEFUN_LISP_OBJECT() in PARSE_KEYWORDS(), fix former under NEW_GC.
14 years, 1 month
Aidan Kehoe
changeset: 5336:59a6419f7504
user: Aidan Kehoe <kehoea(a)parhasard.net>
date: Mon Sep 20 23:22:50 2010 +0100
files: src/ChangeLog src/lisp.h src/symeval.h
description:
Use GET_DEFUN_LISP_OBJECT() in PARSE_KEYWORDS(), fix former under NEW_GC.
2010-09-20 Aidan Kehoe <kehoea(a)parhasard.net>
* lisp.h (GET_DEFUN_LISP_OBJECT): Make the NEW_GC version of this
work, remove a needless and unhelpful semicolon.
(GET_DEFUN_LISP_OBJECT): Remove a needless semicolon from the
non-NEW_GC version of this.
(PARSE_KEYWORDS): Fix the indentation for the DEBUG_XEMACS
version of this macro.
(PARSE_KEYWORDS): Use GET_DEFUN_LISP_OBJECT() for both the NEW_GC
and non-NEW_GC versions of this macro, when working out the
function's min args.
diff -r d0bc331e433f -r 59a6419f7504 src/ChangeLog
--- a/src/ChangeLog Sat Sep 18 18:02:28 2010 +0100
+++ b/src/ChangeLog Mon Sep 20 23:22:50 2010 +0100
@@ -1,3 +1,15 @@
+2010-09-20 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * lisp.h (GET_DEFUN_LISP_OBJECT): Make the NEW_GC version of this
+ work, remove a needless and unhelpful semicolon.
+ (GET_DEFUN_LISP_OBJECT): Remove a needless semicolon from the
+ non-NEW_GC version of this.
+ (PARSE_KEYWORDS): Fix the indentation for the DEBUG_XEMACS
+ version of this macro.
+ (PARSE_KEYWORDS): Use GET_DEFUN_LISP_OBJECT() for both the NEW_GC
+ and non-NEW_GC versions of this macro, when working out the
+ function's min args.
+
2010-09-18 Aidan Kehoe <kehoea(a)parhasard.net>
* lisp.h (PARSE_KEYWORDS):
diff -r d0bc331e433f -r 59a6419f7504 src/lisp.h
--- a/src/lisp.h Sat Sep 18 18:02:28 2010 +0100
+++ b/src/lisp.h Mon Sep 20 23:22:50 2010 +0100
@@ -3404,7 +3404,7 @@
static struct Lisp_Subr *S##Fname; \
DOESNT_RETURN_TYPE (Lisp_Object) Fname (DEFUN_##max_args arglist)
#define GET_DEFUN_LISP_OBJECT(Fname) \
- wrap_subr (S##Fname);
+ wrap_subr (&MC_ALLOC_S##Fname)
#else /* not NEW_GC */
#define DEFUN(lname, Fname, min_args, max_args, prompt, arglist) \
Lisp_Object Fname (EXFUN_##max_args); \
@@ -3444,7 +3444,7 @@
}; \
DOESNT_RETURN_TYPE (Lisp_Object) Fname (DEFUN_##max_args arglist)
#define GET_DEFUN_LISP_OBJECT(Fname) \
- wrap_subr (&S##Fname);
+ wrap_subr (&S##Fname)
#endif /* not NEW_GC */
/* Heavy ANSI C preprocessor hackery to get DEFUN to declare a
@@ -3544,30 +3544,23 @@
#define PARSE_KEYWORDS(function, nargs, args, keyword_count, keywords, \
keyword_defaults) \
- PARSE_KEYWORDS_8 (intern_massaging_name (1 + #function), \
- nargs, args, \
- keyword_count, keywords, \
- keyword_defaults, \
- /* Can't XSUBR (Fsymbol_function (...))->min_args, \
- the function may be advised. */ \
- XINT (Ffunction_min_args \
- (intern_massaging_name (1 + #function))), \
- 0); \
- assert (0 == strcmp (__func__, #function))
+ PARSE_KEYWORDS_8 (intern_massaging_name (1 + #function), nargs, args, \
+ keyword_count, keywords, keyword_defaults, \
+ /* Can't XSUBR (Fsymbol_function (...))->min_args, \
+ the function may be advised. */ \
+ XINT (Ffunction_min_args \
+ (intern_massaging_name (1 + #function))), \
+ 0); \
+ assert (0 == strcmp (__func__, #function))
#else /* defined (DEBUG_XEMACS) && ... */
-#ifdef NEW_GC
#define PARSE_KEYWORDS(function, nargs, args, keyword_count, keywords, \
keyword_defaults) \
- PARSE_KEYWORDS_8 (intern (S##function->name), nargs, args, \
- keyword_count, keywords, \
- keyword_defaults, S##function->min_args, 0)
-#else /* NEW_GC */
-#define PARSE_KEYWORDS(function, nargs, args, keyword_count, keywords, \
- keyword_defaults) \
- PARSE_KEYWORDS_8 (intern (S##function.name), nargs, args, \
- keyword_count, keywords, \
- keyword_defaults, S##function.min_args, 0)
-#endif /* NEW_GC */
+ PARSE_KEYWORDS_8 (intern (subr_name (XSUBR \
+ (GET_DEFUN_LISP_OBJECT (function)))), \
+ nargs, args, keyword_count, keywords, \
+ keyword_defaults, \
+ XSUBR (GET_DEFUN_LISP_OBJECT (function))->min_args, \
+ 0)
#endif /* defined (DEBUG_XEMACS) && defined (__STDC_VERSION__) ... */
/* PARSE_KEYWORDS_8 is a more fine-grained version of PARSE_KEYWORDS. The
diff -r d0bc331e433f -r 59a6419f7504 src/symeval.h
--- a/src/symeval.h Sat Sep 18 18:02:28 2010 +0100
+++ b/src/symeval.h Mon Sep 20 23:22:50 2010 +0100
@@ -294,6 +294,9 @@
#define DEFSUBR(Fname) \
do { \
+ /* #### As far as I can see, this has no upside compared to the non-NEW_GC \
+ code. The MC_ALLOC_S##Fname structure is also in the dumped \
+ XEmacs. Aidan Kehoe, Mon Sep 20 23:14:01 IST 2010 */ \
DEFSUBR_MC_ALLOC (Fname); \
defsubr (S##Fname); \
} while (0)
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
carbon2-commit: Turns out #elsif is not valid preprocessor syntax, who knew!
14 years, 1 month
Aidan Kehoe
changeset: 5335:d0bc331e433f
user: Aidan Kehoe <kehoea(a)parhasard.net>
date: Sat Sep 18 18:02:28 2010 +0100
files: src/ChangeLog src/lisp.h
description:
Turns out #elsif is not valid preprocessor syntax, who knew!
src/ChangeLog addition:
2010-09-18 Aidan Kehoe <kehoea(a)parhasard.net>
* lisp.h (PARSE_KEYWORDS):
Turns out #elsif is not valid preprocessor syntax, who knew!
diff -r d9e65b48e2bf -r d0bc331e433f src/ChangeLog
--- a/src/ChangeLog Sat Sep 18 16:46:56 2010 +0100
+++ b/src/ChangeLog Sat Sep 18 18:02:28 2010 +0100
@@ -1,3 +1,8 @@
+2010-09-18 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * lisp.h (PARSE_KEYWORDS):
+ Turns out #elsif is not valid preprocessor syntax, who knew!
+
2010-09-18 Aidan Kehoe <kehoea(a)parhasard.net>
* lisp.h (PARSE_KEYWORDS):
diff -r d9e65b48e2bf -r d0bc331e433f src/lisp.h
--- a/src/lisp.h Sat Sep 18 16:46:56 2010 +0100
+++ b/src/lisp.h Sat Sep 18 18:02:28 2010 +0100
@@ -3554,19 +3554,21 @@
(intern_massaging_name (1 + #function))), \
0); \
assert (0 == strcmp (__func__, #function))
-#elsif defined (NEW_GC)
+#else /* defined (DEBUG_XEMACS) && ... */
+#ifdef NEW_GC
#define PARSE_KEYWORDS(function, nargs, args, keyword_count, keywords, \
keyword_defaults) \
PARSE_KEYWORDS_8 (intern (S##function->name), nargs, args, \
keyword_count, keywords, \
keyword_defaults, S##function->min_args, 0)
-#else
+#else /* NEW_GC */
#define PARSE_KEYWORDS(function, nargs, args, keyword_count, keywords, \
keyword_defaults) \
PARSE_KEYWORDS_8 (intern (S##function.name), nargs, args, \
keyword_count, keywords, \
keyword_defaults, S##function.min_args, 0)
-#endif
+#endif /* NEW_GC */
+#endif /* defined (DEBUG_XEMACS) && defined (__STDC_VERSION__) ... */
/* PARSE_KEYWORDS_8 is a more fine-grained version of PARSE_KEYWORDS. The
differences are as follows:
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches