[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

emacsen-common 2.0.4 - acceptable for wheezy?



I haven't uploaded it yet (wanted to ask first), but the debdiff is
below.  Please let me know if I should proceed with an upload, or make
changes -- #674181 is minor (doc change); #676424 is serious.

Thanks

diff -Nru emacsen-common-2.0.3/debian/changelog emacsen-common-2.0.4/debian/changelog
--- emacsen-common-2.0.3/debian/changelog	2012-05-22 22:55:35.000000000 -0500
+++ emacsen-common-2.0.4/debian/changelog	2012-12-02 19:20:40.000000000 -0600
@@ -1,3 +1,19 @@
+emacsen-common (2.0.4) unstable; urgency=low
+
+  * Don't use the obsolete calc package as a policy example.
+    Thanks to "A. N. Other" <a.n.other.debian@gmail.com> for the report.
+    (closes: #674181)
+
+  * Don't override /usr/local/* load-path entries in debian-run-directories.
+    Previously, debian-run-directories would prepend all of the add-on
+    package paths to load-path, which meant that (in violation of Debian
+    policy) /usr/local wouldn't preceed the other entries.
+    Thanks to Hendrik Tews <hendrik@askra.de> for the report and Kevin
+    Ryde <user42@zip.com.au> for an initial suggested patch -- posted to
+    #454778. (closes: #676424)
+
+ -- Rob Browning <rlb@defaultvalue.org>  Sun, 02 Dec 2012 16:03:18 -0600
+
 emacsen-common (2.0.3) unstable; urgency=low
 
   * Move #DEBHEPLER# up in the postinst to avoid an emacs complaint about
diff -Nru emacsen-common-2.0.3/debian-emacs-policy emacsen-common-2.0.4/debian-emacs-policy
--- emacsen-common-2.0.3/debian-emacs-policy	2012-05-14 19:00:38.000000000 -0500
+++ emacsen-common-2.0.4/debian-emacs-policy	2012-05-27 12:20:49.000000000 -0500
@@ -312,11 +312,9 @@
 
    It's been suggested, and is probably a good idea that maintainers
    switch to using autoload rather than load when possible in their
-   site-start.d files.
-
-   For example, instead of (load "some-package"), you should use
-   autoloads for all the top level, user visible functions.  Currently
-   the calc package has a good example of this.
+   site-start.d files.  For example, instead of (load "some-package"),
+   you should use autoloads for all the top level, user visible
+   functions.
 
 
 
diff -Nru emacsen-common-2.0.3/debian-startup.el emacsen-common-2.0.4/debian-startup.el
--- emacsen-common-2.0.3/debian-startup.el	2012-02-11 16:06:54.000000000 -0600
+++ emacsen-common-2.0.4/debian-startup.el	2012-12-02 19:20:28.000000000 -0600
@@ -73,14 +73,14 @@
     (nreverse result)))
 
 (defun debian-run-directories (&rest dirs)
-
   "Load each file of the form XXfilename.el or XXfilename.elc in any
 of the dirs, where XX must be a number.  The files will be run in
 alphabetical order.  If a file appears in more than one of the dirs,
 then the earlier dir takes precedence, and a .elc file always
 supercedes a .el file of the same name."
 
-  (let* ((paths dirs)
+  (let* ((paths (mapcar 'copy-sequence dirs)) ; Ensure we have unique objects.
+
          ;; Get a list of all the files in all the specified
          ;; directories that match the pattern.
          (files
@@ -89,10 +89,9 @@
                   (lambda (dir) 
                     (directory-files dir nil "^[0-9][0-9].*\\.elc?$" t))
                   paths)))
-         
+
          ;; Now strip the directory portion, remove any .el or .elc
          ;; extension.
-         
          (stripped-names
           (mapcar (lambda (file) 
                     (if (string-match "\\.el$" file)
@@ -105,34 +104,22 @@
                    files)))
          
          ;; Finally sort them, and delete duplicates
-         (base-names (debian-unique-strings (sort stripped-names 'string<)))
-         
-         (old-load-path load-path))
+         (base-names (debian-unique-strings (sort stripped-names 'string<))))
 
-    ;; Set a new load path with the directories specified in the
-    ;; proper order, and first.
-    (let ((new-path (append paths load-path)))
-      (setq load-path new-path)
-      ;; Now load the files.  "load" will make sure we get the byte
-      ;; compiled one first, if any, and will respect load-path's
-      ;; ordering.
-      (mapc
-       (lambda (file)
-         (condition-case err
-             (load file nil)
-           (error (message "Error while loading %s: %s"
-                           file (error-message-string err)))))
-       base-names)
-      ;; restore the old load-path -- including any new paths added by
-      ;; files loaded in directory traversal.
-      (let ((add-on-package-paths 
-             (delq nil (mapcar
-                        (lambda (item)
-                          (if (not (member item new-path))
-                              item
-                            nil))
-                        load-path))))      
-        (setq load-path (append add-on-package-paths old-load-path))))))
+    (setq load-path (append paths load-path)) ; Prefix paths temporarily.
+    ;; Now load the files.  "load" will make sure we get the byte
+    ;; compiled one first, if any, and will respect load-path's
+    ;; ordering.
+    (mapc
+     (lambda (file)
+       (condition-case err
+           (load file nil)
+         (error (message "Error while loading %s: %s"
+                         file (error-message-string err)))))
+     base-names)
+    ;; Remove the paths we inserted, and only those paths.
+    (dolist (item paths)
+      (setq load-path (remq item load-path)))))
 
 (defun debian-startup (flavor)
 

-- 
Rob Browning
rlb @defaultvalue.org and @debian.org
GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4


Reply to: