commit: More permission consistency.
14 years, 2 months
Stephen J. Turnbull
changeset: 5289:9e51b172d50f
user: Stephen J. Turnbull <stephen(a)xemacs.org>
date: Mon Jun 14 15:47:30 2010 +0900
files: lisp/ChangeLog lisp/alist.el lisp/mule/canna-leim.el
description:
More permission consistency.
diff -r 061f4feaeefd -r 9e51b172d50f lisp/ChangeLog
--- a/lisp/ChangeLog Mon Jun 14 15:14:20 2010 +0900
+++ b/lisp/ChangeLog Mon Jun 14 15:47:30 2010 +0900
@@ -1,3 +1,12 @@
+2010-06-14 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * mule/canna-leim.el:
+ * alist.el:
+ Refer to XEmacs, not APEL/this program, in permissions.
+
+ * mule/canna-leim.el:
+ Remove my copyright, I've assigned it to the FSF.
+
2010-06-14 Stephen J. Turnbull <stephen(a)xemacs.org>
* gtk.el:
diff -r 061f4feaeefd -r 9e51b172d50f lisp/alist.el
--- a/lisp/alist.el Mon Jun 14 15:14:20 2010 +0900
+++ b/lisp/alist.el Mon Jun 14 15:47:30 2010 +0900
@@ -5,14 +5,14 @@
;; Author: MORIOKA Tomohiko <morioka(a)jaist.ac.jp>
;; Keywords: alist
-;; This file is part of APEL (A Portable Emacs Library).
+;; This file is part of XEmacs.
-;; This program is free software; you can redistribute it and/or
+;; 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.
-;; This program is distributed in the hope that it will be useful, but
+;; XEmacs is distributed in the hope that it will be useful, but
;; WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
;; General Public License for more details.
diff -r 061f4feaeefd -r 9e51b172d50f lisp/mule/canna-leim.el
--- a/lisp/mule/canna-leim.el Mon Jun 14 15:14:20 2010 +0900
+++ b/lisp/mule/canna-leim.el Mon Jun 14 15:47:30 2010 +0900
@@ -1,5 +1,5 @@
;;; canna-leim.el --- Canna-related code for LEIM -*- coding: iso-2022-7bit; -*-
-;; Copyright (C) 1997 Stephen Turnbull <turnbull(a)sk.tsukuba.ac.jp>
+;;
;; Copyright (C) 1997 Free Software Foundation, Inc.
;;
;; Shamelessly ripped off from
@@ -13,12 +13,14 @@
;; Keywords: japanese, input method, LEIM
;; Last Modified: 1997/10/27 10:08:49
-;; This program is free software; you can redistribute it and/or modify
+;; 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
;; the Free Software Foundation; either versions 2, or (at your option)
;; any later version.
-;; This program is distributed in the hope that it will be useful
+;; XEmacs is distributed in the hope that it will be useful
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
commit: More permission consistency.
14 years, 2 months
Stephen J. Turnbull
changeset: 5287: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
commit: More permission consistency.
14 years, 2 months
Stephen J. Turnbull
changeset: 5286:7e535575bf6d
parent: 5236: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
[AC21.5] Fix error when entering canna-mode
14 years, 2 months
Stephen J. Turnbull
APPROVE COMMIT 21.5
Per confirmation of fix:
Anders Odberg writes:
> [Stephen J Turnbull]
>
> | Anders Odberg writes:
> | > I'm still wondering if anybody else is able to reproduce this problem,
> | > or if I am the only one seeing this behaviour.
> |
> | OK, I see something. Try this patch:
>
> Perfect, works like a charm. Thanks a lot! :-)
>
> Regards,
> -Anders.
diff -r e4305eb6fb8c src/ChangeLog
--- a/src/ChangeLog Mon Oct 18 23:21:23 2010 +0900
+++ b/src/ChangeLog Mon Oct 18 23:36:55 2010 +0900
@@ -1,3 +1,12 @@
+2010-07-06 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * emodules.c (emodules_load):
+ Add one more dereference on f = dll_variable() in three places.
+ We then use EXTERNAL_TO_ITEXT on it, which returns an alloca'd
+ string, so I delete the unneeded alloca copy statements.
+ Fixes error reported by Anders Odberg, confirmed in
+ <rfawrpfhm3l.fsf(a)fangorn.uio.no>.
+
2010-06-14 Stephen J. Turnbull <stephen(a)xemacs.org>
* ui-byhand.c:
diff -r e4305eb6fb8c src/emodules.c
--- a/src/emodules.c Mon Oct 18 23:21:23 2010 +0900
+++ b/src/emodules.c Mon Oct 18 23:36:55 2010 +0900
@@ -390,11 +390,7 @@
(const Ibyte *) "emodule_name");
if (f == NULL || *f == NULL)
signal_error (Qdll_error, "Invalid dynamic module: Missing symbol `emodule_name'", Qunbound);
-
- mname = EXTERNAL_TO_ITEXT (f, Qemodule_string_encoding);
- /* #### Not obvious we have to force an alloca copy here, but the old
- code did so */
- IBYTE_STRING_TO_ALLOCA (mname, mname);
+ mname = EXTERNAL_TO_ITEXT (*f, Qemodule_string_encoding);
if (mname[0] == '\0')
signal_error (Qdll_error, "Invalid dynamic module: Empty value for `emodule_name'", Qunbound);
@@ -403,21 +399,13 @@
(const Ibyte *) "emodule_version");
if (f == NULL || *f == NULL)
signal_error (Qdll_error, "Missing symbol `emodule_version': Invalid dynamic module", Qunbound);
-
- mver = EXTERNAL_TO_ITEXT (f, Qemodule_string_encoding);
- /* #### Not obvious we have to force an alloca copy here, but the old
- code did so */
- IBYTE_STRING_TO_ALLOCA (mver, mver);
+ mver = EXTERNAL_TO_ITEXT (*f, Qemodule_string_encoding);
f = (const Extbyte **) dll_variable (dlhandle,
(const Ibyte *) "emodule_title");
if (f == NULL || *f == NULL)
signal_error (Qdll_error, "Invalid dynamic module: Missing symbol `emodule_title'", Qunbound);
-
- mtitle = EXTERNAL_TO_ITEXT (f, Qemodule_string_encoding);
- /* #### Not obvious we have to force an alloca copy here, but the old
- code did so */
- IBYTE_STRING_TO_ALLOCA (mtitle, mtitle);
+ mtitle = EXTERNAL_TO_ITEXT (*f, Qemodule_string_encoding);
symname = alloca_ibytes (qxestrlen (mname) + 15);
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
[AC21.5] Fix up some broken permissions notices
14 years, 2 months
Stephen J. Turnbull
APPROVE COMMIT 21.5
This does not change any licenses. It only makes the wording of the
notice (more) consistent with current practice (and adds some
Copyright notices that can be deduced from ChangeLogs).
diff -r 99de5fd48e87 ChangeLog
--- a/ChangeLog Thu Oct 14 18:50:38 2010 +0100
+++ b/ChangeLog Mon Oct 18 23:22:26 2010 +0900
@@ -1,3 +1,7 @@
+2010-06-14 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * aclocal.m4: Add standard permission boilerplate.
+
2010-06-02 Aidan Kehoe <kehoea(a)parhasard.net>
* version.sh.in:
diff -r 99de5fd48e87 aclocal.m4
--- a/aclocal.m4 Thu Oct 14 18:50:38 2010 +0100
+++ b/aclocal.m4 Mon Oct 18 23:22:26 2010 +0900
@@ -2,7 +2,21 @@
dnl Copyright (C) 1998, 1999 J. Kean Johnston.
dnl Author: J. Kean Johnston <jkj(a)sco.com>, based on work in libtool.
dnl This file is part of XEmacs.
-
+dnl
+dnl XEmacs is free software; you can redistribute it and/or modify it
+dnl under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 2, or (at your option)
+dnl any later version.
+dnl
+dnl XEmacs is distributed in the hope that it will be useful, but
+dnl WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with XEmacs; see the file COPYING. If not, write to the Free
+dnl Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+dnl Boston, MA 02110-1301, USA.
dnl
dnl There are several things we care about here. First, we need to find
dnl out how we create an executable that has its symbols exported, so
diff -r 99de5fd48e87 lib-src/ChangeLog
--- a/lib-src/ChangeLog Thu Oct 14 18:50:38 2010 +0100
+++ b/lib-src/ChangeLog Mon Oct 18 23:22:26 2010 +0900
@@ -1,3 +1,22 @@
+2010-06-14 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * gnuserv.c:
+ * gnuserv.h:
+ * gnuslib.c:
+ Add standard permission boilerplate.
+
+ * 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 99de5fd48e87 lib-src/ad2c
--- a/lib-src/ad2c Thu Oct 14 18:50:38 2010 +0100
+++ b/lib-src/ad2c Mon Oct 18 23:22:26 2010 +0900
@@ -1,5 +1,9 @@
#!/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.
#
# George Ferguson, ferguson(a)cs.rcohester.edu, 12 Nov 1990.
diff -r 99de5fd48e87 lib-src/config.values.sh
--- a/lib-src/config.values.sh Thu Oct 14 18:50:38 2010 +0100
+++ b/lib-src/config.values.sh Mon Oct 18 23:22:26 2010 +0900
@@ -4,6 +4,8 @@
# config.values.sh --- create config.values.in from ../configure
+# Copyright (C) 1997, 1999 Martin Buchholz
+
# Author: Martin Buchholz
# Maintainer: Martin Buchholz
# Keywords: configure elisp report-xemacs-bugs
diff -r 99de5fd48e87 lib-src/cvtmail.c
--- a/lib-src/cvtmail.c Thu Oct 14 18:50:38 2010 +0100
+++ b/lib-src/cvtmail.c Mon Oct 18 23:22:26 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 99de5fd48e87 lib-src/fakemail.c
--- a/lib-src/fakemail.c Thu Oct 14 18:50:38 2010 +0100
+++ b/lib-src/fakemail.c Mon Oct 18 23:22:26 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 99de5fd48e87 lib-src/gnuserv.c
--- a/lib-src/gnuserv.c Thu Oct 14 18:50:38 2010 +0100
+++ b/lib-src/gnuserv.c Mon Oct 18 23:22:26 2010 +0900
@@ -2,12 +2,24 @@
Server code for handling requests from clients and forwarding them
on to the XEmacs process.
+ Copyright (C) 1989 Free Software Foundation, Inc.
+
This file is part of XEmacs.
- Copying is permitted under those conditions described by the GNU
- General Public License.
+ 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.
- Copyright (C) 1989 Free Software Foundation, Inc.
+ XEmacs is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ 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 Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
Author: Andy Norman (ange(a)hplb.hpl.hp.com), based on 'etc/server.c'
from the 18.52 GNU Emacs distribution.
diff -r 99de5fd48e87 lib-src/gnuserv.h
--- a/lib-src/gnuserv.h Thu Oct 14 18:50:38 2010 +0100
+++ b/lib-src/gnuserv.h Mon Oct 18 23:22:26 2010 +0900
@@ -2,12 +2,24 @@
Header file for the XEmacs server and client C code.
+ Copyright (C) 1989 Free Software Foundation, Inc.
+
This file is part of XEmacs.
- Copying is permitted under those conditions described by the GNU
- General Public License.
+ 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.
- Copyright (C) 1989 Free Software Foundation, Inc.
+ XEmacs is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ 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 Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
Author: Andy Norman (ange(a)hplb.hpl.hp.com), based on
'etc/server.c' and 'etc/emacsclient.c' from the 18.52 GNU
diff -r 99de5fd48e87 lib-src/gnuslib.c
--- a/lib-src/gnuslib.c Thu Oct 14 18:50:38 2010 +0100
+++ b/lib-src/gnuslib.c Mon Oct 18 23:22:26 2010 +0900
@@ -1,12 +1,24 @@
/* -*-C-*-
Common library code for the XEmacs server and client.
+ Copyright (C) 1989 Free Software Foundation, Inc.
+
This file is part of XEmacs.
- Copying is permitted under those conditions described by the GNU
- General Public License.
+ 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.
- Copyright (C) 1989 Free Software Foundation, Inc.
+ XEmacs is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ 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 Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
Author: Andy Norman (ange(a)hplb.hpl.hp.com), based on
'etc/server.c' and 'etc/emacsclient.c' from the 18.52 GNU
diff -r 99de5fd48e87 lib-src/make-path.c
--- a/lib-src/make-path.c Thu Oct 14 18:50:38 2010 +0100
+++ b/lib-src/make-path.c Mon Oct 18 23:22:26 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 99de5fd48e87 lib-src/profile.c
--- a/lib-src/profile.c Thu Oct 14 18:50:38 2010 +0100
+++ b/lib-src/profile.c Mon Oct 18 23:22:26 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 99de5fd48e87 lib-src/tcp.c
--- a/lib-src/tcp.c Thu Oct 14 18:50:38 2010 +0100
+++ b/lib-src/tcp.c Mon Oct 18 23:22:26 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 99de5fd48e87 lisp/ChangeLog
--- a/lisp/ChangeLog Thu Oct 14 18:50:38 2010 +0100
+++ b/lisp/ChangeLog Mon Oct 18 23:22:26 2010 +0900
@@ -1,3 +1,50 @@
+2010-06-14 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * term/vt100.el:
+ Refer to XEmacs, not GNU Emacs, in permissions.
+
+ * term/bg-mouse.el:
+ * term/sup-mouse.el:
+ Put copyright notice in canonical "Copyright DATE AUTHOR" form.
+ Refer to XEmacs, not GNU Emacs, in permissions.
+
+ * site-load.el:
+ Add permission boilerplate.
+
+ * mule/canna-leim.el:
+ * alist.el:
+ Refer to XEmacs, not APEL/this program, in permissions.
+
+ * mule/canna-leim.el:
+ Remove my copyright, I've assigned it to the FSF.
+
+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-10-14 Aidan Kehoe <kehoea(a)parhasard.net>
* byte-optimize.el (side-effect-free-fns):
diff -r 99de5fd48e87 lisp/alist.el
--- a/lisp/alist.el Thu Oct 14 18:50:38 2010 +0100
+++ b/lisp/alist.el Mon Oct 18 23:22:26 2010 +0900
@@ -5,14 +5,14 @@
;; Author: MORIOKA Tomohiko <morioka(a)jaist.ac.jp>
;; Keywords: alist
-;; This file is part of APEL (A Portable Emacs Library).
+;; This file is part of XEmacs.
-;; This program is free software; you can redistribute it and/or
+;; 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.
-;; This program is distributed in the hope that it will be useful, but
+;; XEmacs is distributed in the hope that it will be useful, but
;; WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
;; General Public License for more details.
diff -r 99de5fd48e87 lisp/auto-save.el
--- a/lisp/auto-save.el Thu Oct 14 18:50:38 2010 +0100
+++ b/lisp/auto-save.el Mon Oct 18 23:22:26 2010 +0900
@@ -9,6 +9,8 @@
;; 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
;; the Free Software Foundation; either version 2, or (at your option)
diff -r 99de5fd48e87 lisp/easymenu.el
--- a/lisp/easymenu.el Thu Oct 14 18:50:38 2010 +0100
+++ b/lisp/easymenu.el Mon Oct 18 23:22:26 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 99de5fd48e87 lisp/font.el
--- a/lisp/font.el Thu Oct 14 18:50:38 2010 +0100
+++ b/lisp/font.el Mon Oct 18 23:22:26 2010 +0900
@@ -10,6 +10,8 @@
;; 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
;; the Free Software Foundation; either version 2, or (at your option)
diff -r 99de5fd48e87 lisp/fontconfig.el
--- a/lisp/fontconfig.el Thu Oct 14 18:50:38 2010 +0100
+++ b/lisp/fontconfig.el Mon Oct 18 23:22:26 2010 +0900
@@ -10,6 +10,8 @@
;; 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
;; the Free Software Foundation; either version 2, or (at your option)
diff -r 99de5fd48e87 lisp/gnome.el
--- a/lisp/gnome.el Thu Oct 14 18:50:38 2010 +0100
+++ b/lisp/gnome.el Mon Oct 18 23:22:26 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
diff -r 99de5fd48e87 lisp/gtk-compose.el
--- a/lisp/gtk-compose.el Thu Oct 14 18:50:38 2010 +0100
+++ b/lisp/gtk-compose.el Mon Oct 18 23:22:26 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 99de5fd48e87 lisp/gtk-marshal.el
--- a/lisp/gtk-marshal.el Thu Oct 14 18:50:38 2010 +0100
+++ b/lisp/gtk-marshal.el Mon Oct 18 23:22:26 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 99de5fd48e87 lisp/gtk-package.el
--- a/lisp/gtk-package.el Thu Oct 14 18:50:38 2010 +0100
+++ b/lisp/gtk-package.el Mon Oct 18 23:22:26 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 99de5fd48e87 lisp/gtk-widget-accessors.el
--- a/lisp/gtk-widget-accessors.el Thu Oct 14 18:50:38 2010 +0100
+++ b/lisp/gtk-widget-accessors.el Mon Oct 18 23:22:26 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 99de5fd48e87 lisp/gtk.el
--- a/lisp/gtk.el Thu Oct 14 18:50:38 2010 +0100
+++ b/lisp/gtk.el Mon Oct 18 23:22:26 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 99de5fd48e87 lisp/gutter-items.el
--- a/lisp/gutter-items.el Thu Oct 14 18:50:38 2010 +0100
+++ b/lisp/gutter-items.el Mon Oct 18 23:22:26 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 99de5fd48e87 lisp/gutter.el
--- a/lisp/gutter.el Thu Oct 14 18:50:38 2010 +0100
+++ b/lisp/gutter.el Mon Oct 18 23:22:26 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 99de5fd48e87 lisp/menubar-items.el
--- a/lisp/menubar-items.el Thu Oct 14 18:50:38 2010 +0100
+++ b/lisp/menubar-items.el Mon Oct 18 23:22:26 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 99de5fd48e87 lisp/mule/canna-leim.el
--- a/lisp/mule/canna-leim.el Thu Oct 14 18:50:38 2010 +0100
+++ b/lisp/mule/canna-leim.el Mon Oct 18 23:22:26 2010 +0900
@@ -1,5 +1,5 @@
;;; canna-leim.el --- Canna-related code for LEIM -*- coding: iso-2022-7bit; -*-
-;; Copyright (C) 1997 Stephen Turnbull <turnbull(a)sk.tsukuba.ac.jp>
+;;
;; Copyright (C) 1997 Free Software Foundation, Inc.
;;
;; Shamelessly ripped off from
@@ -13,12 +13,14 @@
;; Keywords: japanese, input method, LEIM
;; Last Modified: 1997/10/27 10:08:49
-;; This program is free software; you can redistribute it and/or modify
+;; 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
;; the Free Software Foundation; either versions 2, or (at your option)
;; any later version.
-;; This program is distributed in the hope that it will be useful
+;; XEmacs is distributed in the hope that it will be useful
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
diff -r 99de5fd48e87 lisp/mule/kinsoku.el
--- a/lisp/mule/kinsoku.el Thu Oct 14 18:50:38 2010 +0100
+++ b/lisp/mule/kinsoku.el Mon Oct 18 23:22:26 2010 +0900
@@ -4,6 +4,8 @@
;; 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
;; the Free Software Foundation; either version 2, or (at your option)
diff -r 99de5fd48e87 lisp/site-load.el
--- a/lisp/site-load.el Thu Oct 14 18:50:38 2010 +0100
+++ b/lisp/site-load.el Mon Oct 18 23:22:26 2010 +0900
@@ -6,6 +6,21 @@
;; 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
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; XEmacs is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; General Public License for more details.
+
+;; 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 Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
;;; Commentary:
;; This is a prototype site-load.el file.
diff -r 99de5fd48e87 lisp/term/bg-mouse.el
--- a/lisp/term/bg-mouse.el Thu Oct 14 18:50:38 2010 +0100
+++ b/lisp/term/bg-mouse.el Mon Oct 18 23:22:26 2010 +0900
@@ -1,26 +1,26 @@
;;; bg-mouse.el --- GNU Emacs code for BBN Bitgraph mouse.
-;; Copyright (C) Free Software Foundation, Inc. Oct 1985.
+;; Copyright (C) 1985 Free Software Foundation, Inc.
;; Author: John Robinson <jr(a)bbn-unix.arpa>
;; Stephen Gildea <gildea(a)bbn.com>
;; Maintainer: FSF
;; Keywords: hardware
-;; This file is part of GNU Emacs.
+;; This file is part of XEmacs.
-;; GNU Emacs is free software; you can redistribute it and/or modify
+;; 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.
-;; GNU Emacs is distributed in the hope that it will be useful,
+;; XEmacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to
+;; along with XEmacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
;;; Code:
diff -r 99de5fd48e87 lisp/term/sup-mouse.el
--- a/lisp/term/sup-mouse.el Thu Oct 14 18:50:38 2010 +0100
+++ b/lisp/term/sup-mouse.el Mon Oct 18 23:22:26 2010 +0900
@@ -1,6 +1,6 @@
;;; sup-mouse.el --- supdup mouse support for lisp machines
-;; Copyright (C) Free Software Foundation 1985, 1986
+;; Copyright (C) 1985, 1986 Free Software Foundation
;; Author: Wolfgang Rupprecht
;; Maintainer: FSF
@@ -9,20 +9,20 @@
;; (from code originally written by John Robinson@bbn for the bitgraph)
-;; This file is part of GNU Emacs.
+;; This file is part of XEmacs.
-;; GNU Emacs is free software; you can redistribute it and/or modify
+;; 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.
-;; GNU Emacs is distributed in the hope that it will be useful,
+;; XEmacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to
+;; along with XEmacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
;;; Code:
diff -r 99de5fd48e87 lisp/term/vt100.el
--- a/lisp/term/vt100.el Thu Oct 14 18:50:38 2010 +0100
+++ b/lisp/term/vt100.el Mon Oct 18 23:22:26 2010 +0900
@@ -5,20 +5,20 @@
;; Author: FSF
;; Keywords: terminals
-;;; This file is part of GNU Emacs.
+;;; This file is part of XEmacs.
;;;
-;;; GNU Emacs is free software; you can redistribute it and/or modify
+;;; 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.
;;;
-;;; GNU Emacs is distributed in the hope that it will be useful,
+;;; XEmacs is distributed in the hope that it will be useful,
;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
-;;; along with GNU Emacs; see the file COPYING. If not, write to
+;;; along with XEmacs; see the file COPYING. If not, write to
;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
;;; Synched up with: FSF 21.0.103.
diff -r 99de5fd48e87 nt/ChangeLog
--- a/nt/ChangeLog Thu Oct 14 18:50:38 2010 +0100
+++ b/nt/ChangeLog Mon Oct 18 23:22:26 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 99de5fd48e87 nt/compface.mak
--- a/nt/compface.mak Thu Oct 14 18:50:38 2010 +0100
+++ b/nt/compface.mak Mon Oct 18 23:22:26 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 99de5fd48e87 src/ChangeLog
--- a/src/ChangeLog Thu Oct 14 18:50:38 2010 +0100
+++ b/src/ChangeLog Mon Oct 18 23:22:26 2010 +0900
@@ -1,3 +1,13 @@
+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.
+
2010-10-14 Aidan Kehoe <kehoea(a)parhasard.net>
* fns.c (Fnbutlast, Fbutlast):
diff -r 99de5fd48e87 src/gtk-glue.c
--- a/src/gtk-glue.c Thu Oct 14 18:50:38 2010 +0100
+++ b/src/gtk-glue.c Mon Oct 18 23:22:26 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 99de5fd48e87 src/number.h
--- a/src/number.h Thu Oct 14 18:50:38 2010 +0100
+++ b/src/number.h Mon Oct 18 23:22:26 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. */
diff -r 99de5fd48e87 src/ui-byhand.c
--- a/src/ui-byhand.c Thu Oct 14 18:50:38 2010 +0100
+++ b/src/ui-byhand.c Mon Oct 18 23:22:26 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 99de5fd48e87 tests/ChangeLog
--- a/tests/ChangeLog Thu Oct 14 18:50:38 2010 +0100
+++ b/tests/ChangeLog Mon Oct 18 23:22:26 2010 +0900
@@ -1,3 +1,23 @@
+2010-06-14 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * automated/lisp-reader-tests.el:
+ Change references to SXEmacs to XEmacs.
+
+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-10-14 Aidan Kehoe <kehoea(a)parhasard.net>
* automated/lisp-tests.el (x):
diff -r 99de5fd48e87 tests/automated/lisp-reader-tests.el
--- a/tests/automated/lisp-reader-tests.el Thu Oct 14 18:50:38 2010 +0100
+++ b/tests/automated/lisp-reader-tests.el Mon Oct 18 23:22:26 2010 +0900
@@ -5,20 +5,20 @@
;; Created: 2005
;; Keywords: tests
-;; This file is NOT part of SXEmacs.
+;; This file is part of XEmacs.
-;; SXEmacs 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.
-;; SXEmacs is distributed in the hope that it will be useful, but
+;; XEmacs is distributed in the hope that it will be useful, but
;; WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
;; General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with SXEmacs; see the file COPYING. If not, write to the Free
+;; 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.
diff -r 99de5fd48e87 tests/gtk/event-stream-tests.el
--- a/tests/gtk/event-stream-tests.el Thu Oct 14 18:50:38 2010 +0100
+++ b/tests/gtk/event-stream-tests.el Mon Oct 18 23:22:26 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 99de5fd48e87 tests/gtk/gnome-test.el
--- a/tests/gtk/gnome-test.el Thu Oct 14 18:50:38 2010 +0100
+++ b/tests/gtk/gnome-test.el Mon Oct 18 23:22:26 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 99de5fd48e87 tests/gtk/gtk-embedded-test.el
--- a/tests/gtk/gtk-embedded-test.el Thu Oct 14 18:50:38 2010 +0100
+++ b/tests/gtk/gtk-embedded-test.el Mon Oct 18 23:22:26 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 99de5fd48e87 tests/gtk/gtk-extra-test.el
--- a/tests/gtk/gtk-extra-test.el Thu Oct 14 18:50:38 2010 +0100
+++ b/tests/gtk/gtk-extra-test.el Mon Oct 18 23:22:26 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 99de5fd48e87 tests/gtk/statusbar-test.el
--- a/tests/gtk/statusbar-test.el Thu Oct 14 18:50:38 2010 +0100
+++ b/tests/gtk/statusbar-test.el Mon Oct 18 23:22:26 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 99de5fd48e87 tests/gtk/toolbar-test.el
--- a/tests/gtk/toolbar-test.el Thu Oct 14 18:50:38 2010 +0100
+++ b/tests/gtk/toolbar-test.el Mon Oct 18 23:22:26 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 99de5fd48e87 tests/gtk/xemacs-toolbar.el
--- a/tests/gtk/xemacs-toolbar.el Thu Oct 14 18:50:38 2010 +0100
+++ b/tests/gtk/xemacs-toolbar.el Mon Oct 18 23:22:26 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 99de5fd48e87 tests/reproduce-crashes.el
--- a/tests/reproduce-crashes.el Thu Oct 14 18:50:38 2010 +0100
+++ b/tests/reproduce-crashes.el Mon Oct 18 23:22:26 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
[COMMIT] Tighten up Common Lisp compatibility, #'butlast, #'nbutlast, #'tailp, #'ldiff
14 years, 2 months
Aidan Kehoe
APPROVE COMMIT
NOTE: This patch has been committed.
# HG changeset patch
# User Aidan Kehoe <kehoea(a)parhasard.net>
# Date 1287078638 -3600
# Node ID 99de5fd48e87639c3b8ac73b6d283b78445bdb09
# Parent d27c1ee1943b510e6e76337ee892a362dfa5f780
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))
@@ -219,6 +227,58 @@
(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
;;-----------------------------------------------------
--
“Apart from the nine-banded armadillo, man is the only natural host of
Mycobacterium leprae, although it can be grown in the footpads of mice.”
-- Kumar & Clark, Clinical Medicine, summarising improbable leprosy research
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
commit: Tighten up Common Lisp compatibility, #'butlast, #'nbutlast, #'tailp, #'ldiff
14 years, 2 months
Aidan Kehoe
changeset: 5285:99de5fd48e87
tag: tip
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
[COMMIT] Make the order of preloaded-file-list more sane.
14 years, 2 months
Aidan Kehoe
Ar an triú lá de mí Feabhra, scríobh Ben Wing:
> [...] If these files don't actually do anything, why not move them down
> below the basic init code and remove the comments about their
> restrictions?
>
> I'd suggest trying to move cl-*.el as high as possible so we can use
> the stuff in them everywhere.
>
> Maybe an order like this:
>
> 1. backquote
> 2. bytecomp-runtime
> 3. post-gc
> 4. subr
> 5. version
> 6. cl*
> 7. custom, cus-start
>
> etc.
>
> `replace' does not need to be so early -- despite the comment in
> dumped-lisp, `version' doesn't use `match-string' any more. Also,
> cus-start has some hacks to work around `replace' being so early,
> which could be removed if replace were later.
>
> Nothing in custom or cus-start depends on widget, so it should go later.
>
> cl.el does depend on version.el.
>
> Also, `custom-declare-variable-early' in subr.el doesn't appear to be
> needed at all.
>
> Possibly we should move `subr' after custom.
I’ve gone ahead with this. I don’t anticipate any problems, none of the
package code can realistically depend on the order of preloaded-file-list,
and any real problems will have been flushed out at build time.
APPROVE COMMIT
NOTE: This patch has been committed.
# HG changeset patch
# User Aidan Kehoe <kehoea(a)parhasard.net>
# Date 1286914306 -3600
# Node ID d27c1ee1943b510e6e76337ee892a362dfa5f780
# Parent be436ac36ba448c42ea9e6305fb6ad2952be6955
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)
--
“Apart from the nine-banded armadillo, man is the only natural host of
Mycobacterium leprae, although it can be grown in the footpads of mice.” --
Kumar & Clark, Clinical Medicine, summarising improbable leprosy research
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
commit: Make the order of preloaded-file-list more sane.
14 years, 2 months
Aidan Kehoe
changeset: 5284:d27c1ee1943b
tag: tip
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
[COMMIT] Don't share a counter when checking for circularity, list_merge().
14 years, 2 months
Aidan Kehoe
Ar an dara lá déag de mí Deireadh Fómhair, scríobh Robert Pluim:
> On Tue, Oct 12, 2010 at 7:37 PM, Aidan Kehoe <kehoea(a)parhasard.net> wrote:
> >
> > From eyeballing the code, the bug seems to be that my circularity
> > checking in list_merge() wasn’t done correctly. The below fixes a
> > related error that I can reproduce easily; could I ask you to apply it
> > locally and tell me if it fixes your error, too?
>
> Yes. Commit away :)
>
OK.
APPROVE COMMIT
NOTE: This patch has been committed.
[...]
--
“Apart from the nine-banded armadillo, man is the only natural host of
Mycobacterium leprae, although it can be grown in the footpads of mice.”
-- Kumar & Clark, Clinical Medicine, summarising improbable leprosy research
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches