[Pkg-jed-commit] r290 - in trunk/packages/jed-extra: debian debian/examples utils

Guenter Milde milde-guest at costa.debian.org
Wed May 17 15:29:53 UTC 2006


Author: milde-guest
Date: 2006-05-17 15:29:52 +0000 (Wed, 17 May 2006)
New Revision: 290

Added:
   trunk/packages/jed-extra/debian/examples/
   trunk/packages/jed-extra/debian/examples/50jed-extra-full.sl
   trunk/packages/jed-extra/debian/examples/50jed-extra-minimal.sl
   trunk/packages/jed-extra/debian/examples/50jed-extra.sl
   trunk/packages/jed-extra/debian/examples/TODO
   trunk/packages/jed-extra/debian/examples/jed-extra.rc
   trunk/packages/jed-extra/debian/jed-extra.install.template
Modified:
   trunk/packages/jed-extra/debian/README.Debian
   trunk/packages/jed-extra/debian/README.Maintainer
   trunk/packages/jed-extra/debian/changelog
   trunk/packages/jed-extra/debian/rules
   trunk/packages/jed-extra/debian/sort-modes.sl
   trunk/packages/jed-extra/utils/prepare-build.sh
Log:
utils/prepare-build.sh: code cleanup
README.Maintainer: update according to new knowledge from implementing the
                   scheme
changelog: New version 2.2-1 (upstream is now 2.2)
rules: code cleanup
       sort mode documentation to mode-doc folder
jed-extra.install.template, sort-modes.sl: fixed content of jed-extra.install
                                           is now in a template
README.Debian: docu fix
examples/: example config files                 



Modified: trunk/packages/jed-extra/debian/README.Debian
===================================================================
--- trunk/packages/jed-extra/debian/README.Debian	2006-05-17 14:16:08 UTC (rev 289)
+++ trunk/packages/jed-extra/debian/README.Debian	2006-05-17 15:29:52 UTC (rev 290)
@@ -10,8 +10,10 @@
 
 The version numbering scheme for the jed-extra package follows the versions
 on Jedmodes. All modes in versions 2.x should be SLang-2 compatible (while
-still backwards compatible to SLang-1).
+most modes are still backwards compatible to SLang-1).
 
+
+
  -- Debian JED Group <pkg-jed-devel at lists.alioth.debian.org>  
  
     $Id$

Modified: trunk/packages/jed-extra/debian/README.Maintainer
===================================================================
--- trunk/packages/jed-extra/debian/README.Maintainer	2006-05-17 14:16:08 UTC (rev 289)
+++ trunk/packages/jed-extra/debian/README.Maintainer	2006-05-17 15:29:52 UTC (rev 290)
@@ -1,40 +1,74 @@
 ..                            -*- rst-mode -*-
-.. Copyright (c) 2004 Guenter Milde.
+.. Copyright (c) 2004 Guenter Milde and the Debian Jed Group
    Released under the terms of the GNU General Public License (v. 2 or later)
 
+
 Organizing jed-extra
 ====================
 
+When designing jed-extra, let us follow
 
-The jed-extra package should 
+"Goccia's Rules of Thumb":
+~~~~~~~~~~~~~~~~~~~~~~~~~~
 
- a) "just work" once it is installed,
+   1. it should be as helpful as possible; but 
+   2. it must not stand in the way; therefore, 
+   3. it should be fully customisable, and 
+   4. it should be usable by geeks and newbies alike.
+
+   -- Guido Gonzato
+
+The jed-extra package should therefore
+
+a) "just work" once it is installed,
+b) not impose settings on the user that cannot be reverted.
+
+From the `Possible Levels of Support`_ support considered below, the
  
- b) not impose settings on the user that cannot be reverted.
- 
+*  "minimal-invasive" activation in /etc/jed.d/50jed-extra.sl
+  
+seems to be most suited.
 
 
+Contained modes
+---------------
+
+See the list in "jedmodes-list.txt".
+
+Instead of a direct copy of Jedmodes-CVS, jed-extra should install an
+"intelligent" choice of packages: purge obsolete packages and add
+interesting new ones.
+
+However, in order to be included, a package|mode needs a "canonical site"
+from which it can be fetched non-interactively. Unfortunately, the standard
+URL for a Sourceforge release cannot serve as such a canonocal site, as it
+requires user interaction to select a mirror :-(
+(How do other packages with upstream sources on Sourceforge solve this
+problem?)
+
+:note: Should the choice be "inclusive" (as much as sensible) or "selective"
+       (as few as sensible, excluding "exotic" modes)?
+
+
 Categorization
 --------------
 
-Broadly speaking, there are 4 types of modes:
+Considering the interference with JED, 4 types of modes can be distinguished:
 
-Additions
-~~~~~~~~~
+A: Additions
+~~~~~~~~~~~~
 
-* e.g. language modes like make.sl
-
 * add a new capability but keep the "look and feel"
 
 * add 1 or 2 autoloads but nothing "heavy"
 
--> can be installed in the libdir and activated by default.
+* example: language modes like make.sl
 
+-> install in the libdir and activate by default
 
-Drop-in replacements
-~~~~~~~~~~~~~~~~~~~~
 
-* e.g. help.sl (hyperhelp), man.sl (hyperman), recent.sl
+D: Drop-in replacements
+~~~~~~~~~~~~~~~~~~~~~~~
 
 * provide an "improved" look and feel (enhance usability)
 
@@ -42,28 +76,31 @@
 
 * do not need activation
 
--> install in a special libdir
+* example: help.sl (hyperhelp), man.sl (hyperman), recent.sl
 
+-> install in a separate libdir added in the config file (a sysadmin can
+   revert this default activation, a normal user can delete the libdir from
+   the jed-library-path)
 
-Enhancements
-~~~~~~~~~~~~
 
-* e.g. numbuf.sl, navigate.sl
+E: Enhancements
+~~~~~~~~~~~~~~~
 
 * provide an "improved" look and feel or enhance usability
 
-* add to popup menus or keybindings (other than _Reserved_Key_Prefix)
+* medium interference: add to popup menus or keybindings 
+  (other than _Reserved_Key_Prefix)
 
 * might slow down startup, increase memory or CPU usage
 
-* can be installed in the libdir by default
+* example: numbuf.sl, navigate.sl
 
--> activation should be configurable: comments in 50jed-extra.sl and 
-   example jed.rc 
+-> install in the libdir but activation should be configurable: 
+comments in 50jed-extra.sl and doc/jed-extra/examples/jed.rc 
    
 
-Obsoleted modes
-~~~~~~~~~~~~~~~
+O: Obsoleted modes
+~~~~~~~~~~~~~~~~~~
 
 * unmaintained and obsoleted modes that are still in Jedmodes for
   historical reasons
@@ -71,18 +108,19 @@
 -> do not install  
   
 
-Utils
-~~~~~
+U: Utils
+~~~~~~~~
 
-* e.g. bufutils.sl
+* example: bufutils.sl
 
 * provide functions used by other modes
 
--> can be installed in the libdir and do not need activation
+-> install in the libdir, 
+no need for activation (calling mode should have autoload() or require())
 
 
-eXperimental and eXotic modes
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+X: eXperimental and eXotic modes
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 * some modes are in a rather experimental, untested state or just need some
   work to become up to date.
@@ -95,11 +133,7 @@
 Where should the modes go?
 --------------------------
 
-* Generally, modes should go to the `jed-extra library directory` ::
-
-        /usr/lib/jed-extra/
-
-  Alternatives: /usr/share/jed/site-lib/, /usr/share/jed/jed-extra-lib/
+* The `jed-extra library directory` is ``/usr/share/jed/jed-extra/``
   
   The `jed-extra library directory` should be appended to the search
   path (with append_libdir() from libdir.sl in jed.d/50jed-extra.sl).
@@ -112,14 +146,11 @@
   a) make their use obligatory for all users if the libdir is *added*, or
   b) prevent their use if the libdir is *appended*.
 
-  Drop-ins should therefore go to a separate dir, say ::
+  Drop-ins should therefore go to ``/usr/share/jed/jed-extra/drop-in/``,
+  added (i.e. prepended) to the library path in 50jed-extra.sl.
   
-        /usr/lib/jed-extra/drop-in/
-  
-  added to the library path in 50jed-extra.sl.
-  
   * The default behaviour would be to use the drop-ins if jed-extra
-    is installed
+    is installed.
   * A sysadmin can easily comment out the activation of drop-ins
   * A user can remove the drop-in/ dir from the library path in jed.rc
     (a function remove_libdir() in libdir.sl could assist)  
@@ -127,52 +158,11 @@
     of individual modes to a users (or local) libdir.
 
 
-Alternatively, all files could go to /usr/lib/jed-extra/ and the dir be
-*added* in 50jed-extra.sl with a comment a'la::
-
-  % prepend the library directory to the library path 
-  % -> identically named files (drop ins) will take precedence
-  add_libdir("/usr/lib/jed-extra/");
-  
-  % append the library directory to the library path
-  % -> Drop in files will not replace the standard versions.
-  %    They can be evaluated by giving the full path in require() or
-  %    evalfile()
-  % append_libdir("/usr/lib/jed-extra/");
-
-
-Contained modes
----------------
-
-See the list in "jedmodes-list.txt".
-
-Instead of just a download of Jedmodes-CVS, we should offer an
-"intelligent" choice of packages: purge obsolete packages and add
-interesting new ones (most obviously Paul's modes outsoured to separate
-Jedmodes "releases").
-
-
-:note: Should the choice be "inclusive" (as much as sensible) or "selective"
-       (as few as sensible, excluding "exotic" modes)?
-
 Possible Levels of Support
 --------------------------
 
-When designing jed-exrta, let us follow
 
-"Goccia's Rules of Thumb":
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-   1. it should be as helpful as possible; but 
-   2. it must not stand in the way; therefore, 
-   3. it should be fully customisable, and 
-   4. it should be usable by geeks and newbies alike.
-
-   -- Guido Gonzato
-
-
-
-1. Provide the modes in an archive (see `Where should the modes go?`_),
+1. Provide the modes sorted like the upstream,
    installation should be "by hand" (in /usr/local/...  or ~/.jed/lib/).
    
    - no added value (why then a package at all?)
@@ -183,6 +173,7 @@
    
    + facilitates "hand-installation"
    + allows "fine tuning" by experts
+   
    - hard for novices
    - Installing jed-extra will not (automatically) improve the 
      usability of JED.
@@ -193,19 +184,22 @@
    a) choosen by the packagers
    
       + simple, no questions at install time
+      
       - Violates Goccia's Rule 2. (could stand in the way).
    
    b) choosen from a list with debconf
    
       + Allows administrators to change choice easily with dpkg-reconfigure.
-      - debconf abuse
       
+      - debconf abuse (violates Debian policy)
+      
    c) choosen from a list in a jed-extra-installer.sl mode
    
       as this is no system configuration, it must not change anything
-      under /usr/share/jed/ or /usr/lib/jed-extra/.
+      under /usr/share/jed/ or /usr/share/jed/jed-extra/.
       
       + user friendly
+      
       - lots of work (wont be finished soon)
       
    d) "minimal-invasive" activation in jed.d/
@@ -220,6 +214,7 @@
         choice.
       + Prepared configuration options for categories make configuration
         a bit more user friendly
+        
       - no GUI
           
 

Modified: trunk/packages/jed-extra/debian/changelog
===================================================================
--- trunk/packages/jed-extra/debian/changelog	2006-05-17 14:16:08 UTC (rev 289)
+++ trunk/packages/jed-extra/debian/changelog	2006-05-17 15:29:52 UTC (rev 290)
@@ -1,4 +1,4 @@
-jed-extra (2.1-1) experimental; urgency=high
+jed-extra (2.2-1) experimental; urgency=low
 
   NOT YET RELEASED!
 

Added: trunk/packages/jed-extra/debian/examples/50jed-extra-full.sl
===================================================================
--- trunk/packages/jed-extra/debian/examples/50jed-extra-full.sl	2006-05-17 14:16:08 UTC (rev 289)
+++ trunk/packages/jed-extra/debian/examples/50jed-extra-full.sl	2006-05-17 15:29:52 UTC (rev 290)
@@ -0,0 +1,103 @@
+% 50jed-extra.sl: Initialization of jed-extra package
+%
+% Copyright (c) 2005 Debian JED Group
+%  Released under the terms of the GNU General Public License (v. 2 or later)
+%
+% The full version of the initalization file does an "almost complete"
+% activation of the jed-extra modes.
+% 
+% Copy to /etc/jed.d/50jed-extra.sl if you are sure all users of your site want
+% extensive support `out of the box'.
+% 
+% Beware: evaluation of initialization files cannot be reverted by normal
+% users by other means than completely disabling the Debian startup scheme
+% with the command line option --skip-debian-startup. If this frightens you
+% (or your users), go for the "minimal" version of 50jed-extra.
+
+
+% The jed-extra library dir
+$1 = "/usr/share/jed/jed-extra/";
+
+% if jed-extra is removed (not purged), this file exists 
+% but nothing else it expects --> abort
+#if (file_status($1) != 2)
+#stop
+#endif
+
+
+% Add (and initialize) library directories
+% ----------------------------------------
+
+require("libdir", path_concat($1, "libdir.sl"));
+
+% Utilities (required by the other modes)
+%   Initialization adds autoloads for utility functions:
+%    - slows down startup
+%    + lets private modes use the util functions without need for autoloads
+%    + lets Help>Apropos find util functions right from the start
+append_libdir($1 + "utils/", 1);    % append and initialize 
+% append_libdir($1 + "utils/", 0);  % append but do not initialize
+
+% "Normal" modes
+%   Initialization is low key (autolaods, some Menu entries)
+append_libdir($1, 1);   	    % append and initialize 
+% append_libdir($1, 0);             % append but do not initialize
+
+% Drop-In Modes (recent, help, man, ...) need to be prepended
+%   Comment if you want to keep the original behaviour
+%   Initialization is low key (autolaods for additional functions)
+add_libdir($1 + "drop-in/", 1);     % append and initialize 
+% add_libdir($1 + "drop-in/", 0);   % append but do not initialize
+
+% Experimental and exotic modes
+%   Uncomment at your own risc (maybe better per user in ~/jed.rc) 
+%   The recommended use is to, copy or link interesting modes
+%   to /usr/local/share/jed/lib/ or ~/.jed/lib and user make_ini() and
+%   add_libdir() for activation (in ~/jed.rc).
+% append_libdir($1 + "extra/", 0);  % append but do not initialize
+% append_libdir($1 + "extra/", 1);  % append and initialize 
+
+
+% "Manual" initialization of stuff not handled by the ini.sl files
+% ----------------------------------------------------------------
+
+% call extension-dependend modes
+add_mode_for_extension ("css1", "css");
+add_mode_for_extension ("css1", "css1");
+add_mode_for_extension ("gnuplot", "gnuplot");  % gnuplot plotting program
+add_mode_for_extension ("gnuplot", "gp");
+add_mode_for_extension ("mupad", "mu"); % mode for mupad files
+foreach (["man", "1", "2", "3", "4", "5", "6", "7", "8"]) {
+  variable ext = ();
+  add_mode_for_extension ("manedit", ext);
+}
+add_mode_for_extension ("sql", "sql");
+
+% Globally activate extensions
+% ----------------------------
+
+% If there are more JED users on the machine, better do this activation in
+% the user's jed.rc files, as there is no way a "normal" user can revert
+% the choices short of disabling all of the Debian configuration  with
+% `jed --skip-debian-startup`.
+
+require("numbuf");       % number buffers for fast switching
+require("navigate");     % history feature (recent buffers)
+require("ispell_init");  % ispell|aspell support
+% require("cuamark");      % use CUA style kind of selecting regions
+
+% Printing
+% --------
+ 
+% there are 2 alternative functions to send the current buffer to a printer
+% The user can easily override the choice in his|her jed.rc.
+% 
+autoload("print_buffer", "print");   % simple, sends pure ASCII
+% autoload("print_buffer", "apsmode"); % uses a2ps, needs to be configured
+
+define print_popup_hook (menubar)
+{
+  menu_insert_separator (6, "Global.&File");
+  menu_insert_item (7, "Global.&File", "&Print Buffer", "print_buffer");
+}
+append_to_hook ("load_popup_hooks", &print_popup_hook);

Added: trunk/packages/jed-extra/debian/examples/50jed-extra-minimal.sl
===================================================================
--- trunk/packages/jed-extra/debian/examples/50jed-extra-minimal.sl	2006-05-17 14:16:08 UTC (rev 289)
+++ trunk/packages/jed-extra/debian/examples/50jed-extra-minimal.sl	2006-05-17 15:29:52 UTC (rev 290)
@@ -0,0 +1,96 @@
+% 50jed-extra-minimal.sl: Non-invasive initialization of jed-extra package
+%
+% Copyright (c) 2005 Debian JED Group
+%  Released under the terms of the GNU General Public License (v. 2 or later)
+%
+% The minimal version of the initalization file does a "non invasive"
+% activation of the jed-extra modes.
+% 
+% Replace /etc/jed.d/50jed-extra.sl with this file, if the users of your site
+% want to fine tune the level of jed-extr activation in their ~/.jed/jed.rc
+% 
+% All settings in this file can be reverted by normal users.
+
+% The jed-extra library dir
+$1 = "/usr/share/jed/jed-extra/";
+
+% if jed-extra is removed (not purged), this file exists 
+% but nothing else it expects --> abort
+#if (file_status($1) != 2)
+#stop
+#endif
+
+
+% Add (and initialize) library directories
+% ----------------------------------------
+
+require("libdir", path_concat($1, "libdir.sl"));
+
+% Utilities (required by the other modes)
+%   Initialization adds autoloads for utility functions:
+%    - slows down startup
+%    + lets private modes use the util functions without need for autoloads
+%    + lets Help>Apropos find util functions right from the start
+% append_libdir($1 + "utils/", 1);    % append and initialize 
+append_libdir($1 + "utils/", 0);  % append but do not initialize
+
+% "Normal" modes
+%   Initialization is low key (autolaods, some Menu entries)
+% append_libdir($1, 1);   	    % append and initialize 
+append_libdir($1, 0);             % append but do not initialize
+
+% Drop-In Modes (recent, help, man, ...) need to be prepended
+%   Comment if you want to keep the original behaviour
+%   Initialization is low key (autolaods for additional functions)
+% add_libdir($1 + "drop-in/", 1);     % append and initialize 
+add_libdir($1 + "drop-in/", 0);   % append but do not initialize
+
+% Experimental and exotic modes
+%   The recommended use is to, copy or link interesting modes
+%   to /usr/local/share/jed/lib/ or ~/.jed/lib and user make_ini() and
+%   add_libdir() for activation (in ~/jed.rc).
+
+% "Manual" initialization of stuff not handled by the ini.sl files
+% ----------------------------------------------------------------
+
+% call extension-dependend modes
+% add_mode_for_extension ("css1", "css");
+% add_mode_for_extension ("css1", "css1");
+% add_mode_for_extension ("gnuplot", "gnuplot");  % gnuplot plotting program
+% add_mode_for_extension ("gnuplot", "gp");
+% add_mode_for_extension ("mupad", "mu"); % mode for mupad files
+% foreach (["man", "1", "2", "3", "4", "5", "6", "7", "8"]) {
+%   variable ext = ();
+%   add_mode_for_extension ("manedit", ext);
+% }
+% add_mode_for_extension ("sql", "sql");
+
+% Globally activate extensions
+% ----------------------------
+
+% If there are more JED users on the machine, better do this activation in
+% the user's jed.rc files, as there is no way a "normal" user can revert
+% the choices short of disabling all of the Debian configuration  with
+% `jed --skip-debian-startup`.
+
+% require("numbuf");       % number buffers for fast switching
+% require("navigate");     % history feature (recent buffers)
+% require("ispell_init");  % ispell|aspell support
+
+% require("cuamark");      % use CUA style kind of selecting regions
+
+% Printing
+% --------
+ 
+% there are 2 alternative functions to send the current buffer to a printer
+% The user can easily override the choice in his|her jed.rc.
+% 
+% autoload("print_buffer", "print");   % simple, sends pure ASCII
+% autoload("print_buffer", "apsmode"); % uses a2ps, needs to be configured
+
+% define print_popup_hook (menubar)
+% {
+%   menu_insert_separator (6, "Global.&File");
+%   menu_insert_item (7, "Global.&File", "&Print Buffer", "print_buffer");
+% }
+% append_to_hook ("load_popup_hooks", &print_popup_hook);

Added: trunk/packages/jed-extra/debian/examples/50jed-extra.sl
===================================================================
--- trunk/packages/jed-extra/debian/examples/50jed-extra.sl	2006-05-17 14:16:08 UTC (rev 289)
+++ trunk/packages/jed-extra/debian/examples/50jed-extra.sl	2006-05-17 15:29:52 UTC (rev 290)
@@ -0,0 +1,99 @@
+% 50jed-extra.sl: Initialization of jed-extra package
+%
+% Copyright (c) 2005 Debian JED Group
+%  Released under the terms of the GNU General Public License (v. 2 or later)
+%
+% The default version of the initalization file does an "minimal invasive"
+% activation of the jed-extra modes.
+% 
+% Copy to /etc/jed.d/50jed-extra.sl if you are sure all users of your site
+% want (or can tolerate) normal jed-extra support `out of the box'.
+% 
+% Beware: evaluation of initialization files cannot be reverted by normal
+% users by other means than completely disabling the Debian startup scheme with
+% the command line option --skip-debian-startup. If this frightens you (or
+% your users), go for the "minimal" version of 50jed-extra.
+
+% The jed-extra library dir
+$1 = "/usr/share/jed/jed-extra/";
+
+% if jed-extra is removed (not purged), this file exists 
+% but nothing else it expects --> abort
+#if (file_status($1) != 2)
+#stop
+#endif
+
+
+% Add (and initialize) library directories
+% ----------------------------------------
+
+require("libdir", path_concat($1, "libdir.sl"));
+
+% Utilities (required by the other modes)
+%   Initialization adds autoloads for utility functions:
+%    - slows down startup
+%    + lets private modes use the util functions without need for autoloads
+%    + lets Help>Apropos find util functions right from the start
+% append_libdir($1 + "utils/", 1);    % append and initialize 
+append_libdir($1 + "utils/", 0);  % append but do not initialize
+
+% "Normal" modes
+%   Initialization is low key (autolaods, some Menu entries)
+append_libdir($1, 1);   	    % append and initialize 
+% append_libdir($1, 0);             % append but do not initialize
+
+% Drop-In Modes (recent, help, man, ...) need to be prepended
+%   Comment if you want to keep the original behaviour
+%   Initialization is low key (autolaods for additional functions)
+% add_libdir($1 + "drop-in/", 1);     % append and initialize 
+add_libdir($1 + "drop-in/", 0);   % append but do not initialize
+
+% Experimental and exotic modes
+%   The recommended use is to, copy or link interesting modes
+%   to /usr/local/share/jed/lib/ or ~/.jed/lib and user make_ini() and
+%   add_libdir() for activation (in ~/jed.rc).
+
+% "Manual" initialization of stuff not handled by the ini.sl files
+% ----------------------------------------------------------------
+
+% call extension-dependend modes
+add_mode_for_extension ("css1", "css");
+add_mode_for_extension ("css1", "css1");
+add_mode_for_extension ("gnuplot", "gnuplot");  % gnuplot plotting program
+add_mode_for_extension ("gnuplot", "gp");
+add_mode_for_extension ("mupad", "mu"); % mode for mupad files
+foreach (["man", "1", "2", "3", "4", "5", "6", "7", "8"]) {
+  variable ext = ();
+  add_mode_for_extension ("manedit", ext);
+}
+add_mode_for_extension ("sql", "sql");
+
+% Globally activate extensions
+% ----------------------------
+
+% If there are more JED users on the machine, better do this activation in
+% the user's jed.rc files, as there is no way a "normal" user can revert
+% the choices short of disabling all of the Debian configuration  with
+% `jed --skip-debian-startup`.
+
+% require("numbuf");       % number buffers for fast switching
+% require("navigate");     % history feature (recent buffers)
+% require("ispell_init");  % ispell|aspell support
+
+% require("cuamark");      % use CUA style kind of selecting regions
+
+% Printing
+% --------
+ 
+% there are 2 alternative functions to send the current buffer to a printer
+% The user can easily override the choice in his|her jed.rc.
+% 
+% autoload("print_buffer", "print");   % simple, sends pure ASCII
+% autoload("print_buffer", "apsmode"); % uses a2ps, needs to be configured
+
+% define print_popup_hook (menubar)
+% {
+%   menu_insert_separator (6, "Global.&File");
+%   menu_insert_item (7, "Global.&File", "&Print Buffer", "print_buffer");
+% }
+% append_to_hook ("load_popup_hooks", &print_popup_hook);

Added: trunk/packages/jed-extra/debian/examples/TODO
===================================================================
--- trunk/packages/jed-extra/debian/examples/TODO	2006-05-17 14:16:08 UTC (rev 289)
+++ trunk/packages/jed-extra/debian/examples/TODO	2006-05-17 15:29:52 UTC (rev 290)
@@ -0,0 +1,4 @@
+jed-extra-minimal-boost.rc  % full activation when /etc/jed.d/ contains the
+                              minimal set up.
+jed-extra-minimal-revert.rc % undo activation when /etc/jed.d/ contains the
+                              minimal set up.                              

Added: trunk/packages/jed-extra/debian/examples/jed-extra.rc
===================================================================
--- trunk/packages/jed-extra/debian/examples/jed-extra.rc	2006-05-17 14:16:08 UTC (rev 289)
+++ trunk/packages/jed-extra/debian/examples/jed-extra.rc	2006-05-17 15:29:52 UTC (rev 290)
@@ -0,0 +1,88 @@
+%                               -*- slang -*-
+%                               
+% example user initialization for jed-extra
+% =========================================
+%   
+% To get most out of the add-on modes in jed-extra, some activation code
+% is needed. As this slows down the startup and might conflict with private
+% extensions this activation should be done in the users jed.rc.
+%
+% You are invited to insert this file into your jed.rc and modify to match
+% your needs.
+
+% The jed-extra library dir
+$1 = "/usr/share/jed/jed-extra/";
+
+% Add and initialize library directories
+% --------------------------------------
+
+% The default setup in /etc/jed.d/50jed-extra.sl adds library directories
+% for normal modes, utilities, and drop-in modes.
+
+% Utilities (required by the other modes)
+%   Initialization adds autoloads for utility functions:
+%    - slows down startup
+%    + lets private modes use the util functions without need for autoloads,
+%      some "extra" modes rely on these autoloads as well
+%    + lets Help>Apropos find util functions right from the start
+% () = evalfile($1+"utils/ini.sl"); 
+
+% "Normal" modes
+%   Initialization is already done in the default config 
+%   (check /etc/jed.d/50jed-extra.sl)
+% () = evalfile($1+"ini.sl"); 
+
+
+% Drop-In Modes (recent, help, man, ...) need to be prepended
+%   Initialization is low key (autolaods for additional functions)
+() = evalfile($1+"drop-in/ini.sl"); 
+
+% Experimental and exotic modes
+% '''''''''''''''''''''''''''''
+% 
+%   Uncomment at your own risc (maybe better per user in ~/jed.rc) 
+% append_libdir($1 + "extra/", 0);  % append but do not initialize
+% append_libdir($1 + "extra/", 1);  % append and initialize
+% 
+%   Add documentation for "extra functions" to the online help
+Jed_Doc_Files += "," + $1+"extra/libfuns.txt";
+   
+%   One recommended use is to copy or link interesting modes
+%   to /usr/local/share/jed/lib/ or ~/.jed/lib 
+%   and use make_ini() and add_libdir() for activation (see below)
+%   
+%   Another option is to require() or autoload() with the path
+%   relative to the jed-library-path, (you can copy autoloads from
+%   /usr/share/jed/jed-extra/extra/ini.sl)  
+%   
+%   However, this approach will fail if the mode depends on another "extra"
+%   mode and expects it in the jed-library-path.
+%   
+%   e.g.
+
+% ffap.sl: find file at point
+"add_list_element", "extra/ffap.sl";
+"ffap_set_info", "extra/ffap.sl";
+"ffap", "extra/ffap.sl";
+_autoload(3);
+
+"add_list_element";
+"ffap_set_info";
+"ffap";
+_add_completion(3);
+
+% services.sl: uri_hooks for some common URI schemes.
+% require("services", "extra/services.sl");
+
+
+% Jed_Home_Directory and private extensions
+% -----------------------------------------
+
+% User extensions
+%   Debian sets Jed_Home_Directory to ~/.jed/ if this dir exists
+add_libdir(path_concat(Jed_Home_Directory, "lib"), 1);
+Jed_Highlight_Cache_Dir = path_concat(Jed_Home_Directory, "lib");
+
+% Site wide extensions
+add_libdir("/usr/local/share/jed/lib/", 1);
+

Added: trunk/packages/jed-extra/debian/jed-extra.install.template
===================================================================
--- trunk/packages/jed-extra/debian/jed-extra.install.template	2006-05-17 14:16:08 UTC (rev 289)
+++ trunk/packages/jed-extra/debian/jed-extra.install.template	2006-05-17 15:29:52 UTC (rev 290)
@@ -0,0 +1,3 @@
+debian/examples/50jed-extra.sl	etc/jed.d/
+debian/compile	                usr/share/jed/compile
+debian/jed-extra-preparse.sl	usr/share/jed/compile

Modified: trunk/packages/jed-extra/debian/rules
===================================================================
--- trunk/packages/jed-extra/debian/rules	2006-05-17 14:16:08 UTC (rev 289)
+++ trunk/packages/jed-extra/debian/rules	2006-05-17 15:29:52 UTC (rev 290)
@@ -62,24 +62,35 @@
 	# keep dh_install informations (debian/files)
 	dh_clean --keep
 
-	# install modes 
-        # create jed-extra.install from categorization in contents.txt
+	# install modes
+	# -------------
+	
+	# fix apsconf permissions 
+	# (executable in the Jedmodes CVS repository due to upload from Windoof)
+	chmod -R a-x apsmode/*
+	chmod a+x apsmode/apsconf/
+
+	# move mode documentation to /usr/share/doc/jed-extra/mode-doc/
+	install -d $(debroot)/usr/share/doc/jed-extra/mode-doc/
+	mv $$(find . -name \*.html -o -name \*.otl -name \*.example) \
+	$(debroot)/usr/share/doc/jed-extra/mode-doc/
+			
+        # generate jed-extra.install from categorization in contents.txt
 	jed-script debian/sort-modes.sl
-	dh_install -X.html -X.otl -X.example -XREADME
+        # now install using the generated jed-extra.install
+	dh_install 
+        # dh_install -X.html -X.otl -X.example -XREADME
 	
-	# install documentation (under /usr/share/doc/jed-extra)
-	dh_installdocs  $$(find . -name \*.html -o -name \*.otl) \
-			README.txt
+        # install package documentation
+	dh_installdocs 
+
 	# Install examples
-	dh_installexamples $$(find . -name \*.example)
+	dh_installexamples debian/examples/*
 	
-	# fix apsconf permissions
-	# chmod -x $(debroot)/usr/share/jed/jed-extra/apsconf/*
-
 	# fix some names (as dh_install* cannot change filenames)
 	mv $(debroot)/usr/share/jed/compile/compile \
-	    $(debroot)/usr/share/jed/compile/jed-extra
-
+	   $(debroot)/usr/share/jed/compile/jed-extra
+         
 	chmod +x $(debroot)/usr/share/jed/compile/jed-extra
 
 	#dh_installdebconf

Modified: trunk/packages/jed-extra/debian/sort-modes.sl
===================================================================
--- trunk/packages/jed-extra/debian/sort-modes.sl	2006-05-17 14:16:08 UTC (rev 289)
+++ trunk/packages/jed-extra/debian/sort-modes.sl	2006-05-17 15:29:52 UTC (rev 290)
@@ -1,4 +1,4 @@
-% This script produces an jed-exrta.install list
+% This script produces an jed-extra.install list
 % that lets dh_install put the files in the right place
 % 
 % call from the source directory that contains debian/
@@ -17,6 +17,7 @@
 % the list of modes and their categories
 private variable modelist = "debian/contents.txt";
 private variable target_file = "debian/jed-extra.install";
+private variable target_template = "debian/jed-extra.install.template";
 
 % dirs to sort into...
 private variable lib_dir = "usr/share/jed/jed-extra";
@@ -39,14 +40,6 @@
 destinations["U"] = utils_dir;
 destinations["X"] = extra_dir;
 
-% files that do not fit into the list
-private variable non_listed_files = 
-  ["debian/init/*.sl	etc/jed.d/",
-   % "apsmode/apsconf	" + extra_dir,
-   "debian/compile	usr/share/jed/compile",
-   "debian/jed-extra-preparse.sl	usr/share/jed/compile"];
-
-
 % verbosity
 private variable verbose = 1;
 
@@ -84,13 +77,9 @@
 % write an install file
 % ---------------------
 
-() = find_file(target_file);
-erase_buffer();
+% open template with static content
+() = find_file(target_template);
 
-% debian specific installation tasks
-
-insert(strjoin(non_listed_files, "\n") + "\n");
-
 foreach (listdir("."))
 {
    mode = ();
@@ -115,7 +104,7 @@
    vinsert("%s/*	%s\n", mode, dest);
 }
 
-save_buffer();
+rv = write_buffer(target_file);
 
 % Give feedback about missing modes
 % ---------------------------------

Modified: trunk/packages/jed-extra/utils/prepare-build.sh
===================================================================
--- trunk/packages/jed-extra/utils/prepare-build.sh	2006-05-17 14:16:08 UTC (rev 289)
+++ trunk/packages/jed-extra/utils/prepare-build.sh	2006-05-17 15:29:52 UTC (rev 290)
@@ -2,25 +2,26 @@
 # This is an experimental script that helps me test-build jed-extra
 # (c) 2005 Guenter Milde
 
-# Prepare an unpacked source tree with debian dir for package build
+# Build the jed-extra package from existing working copy of SVN files
 # 
-# Call this script from the base dir of jed-extra which must have the
-# subdirs /debian/ and /utils/
+# Call this script from <pkg-jed SVN>/trunk/packages/jed-extra/utils/ 
+# (this should be the dir where this file resides)
 
-# Get the jed-extra files from SVN
-# --------------------------------
-
-# svn export svn+ssh://svn.debian.org/svn/pkg-jed/trunk/packages/jed-extra
-# cd jed-extra
-
 cd ..
 
 # upstream version
 VER=`perl -ne '/\(([\d.]+)-/; print $1; exit' < debian/changelog`
 
-# Download the upstream tarball
-# -----------------------------
+# Update the jed-extra files from SVN
+# --------------------------------
 
+# svn update
+
+# Get the upstream tarball
+# ------------------------
+
+# If there is no jed-extra_$VER.orig.tar.gz, download (see debian/rules)
+
 debian/rules get-orig-source
 
 # Unpack
@@ -45,5 +46,8 @@
 '              $done = 1;'\
 '            } else {print}' debian/changelog
 
-# Build (do not sign, ignore SVN entries)
+# Build and test
+# --------------
+
+# (do not sign, ignore SVN entries)
 debuild -i -us -uc




More information about the Pkg-jed-commit mailing list