sxemacs
4 years agoMinor package-get cleanup + bldchain tweak
Steve Youngs [Sun, 20 Sep 2015 23:21:31 +0000 (09:21 +1000)]
Minor package-get cleanup + bldchain tweak

* merges:
  Cleanup invalid mirrors
  Cleanup mirrors
  Improve missing header message
  Improve detection libtool version detection

4 years agoCleanup invalid mirrors
Nelson Ferreira [Sun, 20 Sep 2015 16:57:43 +0000 (12:57 -0400)]
Cleanup invalid mirrors

* lisp/package-get.el (package-get-pre-release-download-sites):
Remove commented out entries from previous commit.
(package-get-download-sites): Ditto.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoCleanup mirrors
Nelson Ferreira [Sun, 20 Sep 2015 16:54:31 +0000 (12:54 -0400)]
Cleanup mirrors

* lisp/package-get.el (package-get-download-sites): Annotate
mirrors with connectivity difficulties or outdated contents.
Comment out mirrors which do not resolve or do not carry XEmacs
packages anymore.
(package-get-pre-release-download-sites): Ditto.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoImprove missing header message
Nelson Ferreira [Sun, 20 Sep 2015 14:52:44 +0000 (10:52 -0400)]
Improve missing header message

* configure.ac: Note that we also need Xt headers as newer distros
tend to package Xt headers separately from core X11.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoImprove detection libtool version detection
Nelson Ferreira [Sun, 20 Sep 2015 14:51:00 +0000 (10:51 -0400)]
Improve detection libtool version detection

* autogen.sh: Use libtoolize for version if libtool is not to be
found.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoTTY + General build chain related updates
Steve Youngs [Mon, 14 Sep 2015 03:43:56 +0000 (13:43 +1000)]
TTY + General build chain related updates

* merges:
  Conditional automake init
  Small configure.ac fix
  Fix info/Makefile.am for old automake
  Allow m4 and autostuff to be customized
  Enforce makeinfo version
  Improve TTY library detection
  Improve TTY section of summary
  Add builtin tty support option
  Forward compatible info in builddir (when CLEANFILES becomes obsolete)
  Attempt to provide speed_t
  Improve term initialization output
  Provide helper defines
  Allow for ncurses tinfo as TTY option

4 years agoConditional automake init
Nelson Ferreira [Sun, 13 Sep 2015 22:10:27 +0000 (18:10 -0400)]
Conditional automake init

* configure.ac: Hugly hack to add info-in-buildir for automake >=
1.14

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoSmall configure.ac fix
Nelson Ferreira [Sun, 13 Sep 2015 22:09:30 +0000 (18:09 -0400)]
Small configure.ac fix

* configure.ac: Fix typo, and determine SED and AWK early.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoFix info/Makefile.am for old automake
Nelson Ferreira [Sun, 13 Sep 2015 22:08:24 +0000 (18:08 -0400)]
Fix info/Makefile.am for old automake

* info/Makefile.am: Turns out automake does not deal well with
unknown options. Horrible hack forthcoming in configure.ac.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoAllow m4 and autostuff to be customized
Nelson Ferreira [Sun, 13 Sep 2015 22:06:21 +0000 (18:06 -0400)]
Allow m4 and autostuff to be customized

* autogen.sh: allow for environment variables to control which
git/m4/autoconf/automake binaries are used.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoEnforce makeinfo version
Nelson Ferreira [Sun, 13 Sep 2015 19:15:37 +0000 (15:15 -0400)]
Enforce makeinfo version

* m4/sxe-bldchain-progs.m4: Verify that makeinfo version is at
least 5.x

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoImprove TTY library detection
Nelson Ferreira [Tue, 8 Sep 2015 22:12:21 +0000 (18:12 -0400)]
Improve TTY library detection

* configure.ac: Iterate over all "auto" libraries by order of
preference to find out which are linkable.  Add libraries
requested on command line by adding --with-<lib>=yes before the
auto ones.  Then find which libraries are needed to get all of the
required terminal functions.  Check if combination still allows
for all functions to build.  When all else fails if
--with-builtin-tty=yes is passed, use that.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoImprove TTY section of summary
Nelson Ferreira [Tue, 8 Sep 2015 22:09:15 +0000 (18:09 -0400)]
Improve TTY section of summary

* m4/sxe-summary.m4 (SXE_SUMMARY): Provide additional warning on
some of the tty options, and support for --with-tinfo and
--with-builtin-tty

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoAdd builtin tty support option
Nelson Ferreira [Tue, 8 Sep 2015 22:08:12 +0000 (18:08 -0400)]
Add builtin tty support option

* configure.ac: Add disabled by default --with-builtin-tty as last
resort to get a workable build with no other libraries.  A
workable terminal spec will be needed at runtime.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoForward compatible info in builddir (when CLEANFILES becomes obsolete)
Nelson Ferreira [Tue, 8 Sep 2015 18:05:29 +0000 (14:05 -0400)]
Forward compatible info in builddir (when CLEANFILES becomes obsolete)

* info/Makefile.am (AUTOMAKE_OPTIONS): Add info-in-builddir
          automake option for forward compatibility.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoAttempt to provide speed_t
Nelson Ferreira [Tue, 8 Sep 2015 18:02:47 +0000 (14:02 -0400)]
Attempt to provide speed_t

* ui/TTY/termcap.c: In our termcap-like implementation make sure
we provide speed_t if available.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoImprove term initialization output
Nelson Ferreira [Tue, 8 Sep 2015 18:01:32 +0000 (14:01 -0400)]
Improve term initialization output

* src/cmdloop.c (initial_command_loop): Provide better output when
terminal initialization fails. Now it does not look like a corrupt
message.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoProvide helper defines
Nelson Ferreira [Tue, 8 Sep 2015 17:59:22 +0000 (13:59 -0400)]
Provide helper defines

* configure.ac: Make sure to define SED and ECHO as some system
autoconf macros use them without defining them (tsk tsk
libtool...)

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoAllow for ncurses tinfo as TTY option
Nelson Ferreira [Tue, 8 Sep 2015 17:57:40 +0000 (13:57 -0400)]
Allow for ncurses tinfo as TTY option

* configure.ac: Add --with-tinfo option

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoDisable "in-tree" builds.
Steve Youngs [Mon, 24 Aug 2015 08:14:59 +0000 (18:14 +1000)]
Disable "in-tree" builds.

* m4/sxe-srctree.m4 (SXE_CHECK_SRCDIR_HEALTH): Error if $blddir =
$srcdir.

* INSTALL: Add some blurb about in-tree builds no longer being
supported.
Minimum texinfo version is now 5.2.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoMake .info files be generated in builddir
Nelson Ferreira [Sun, 23 Aug 2015 21:40:02 +0000 (17:40 -0400)]
Make .info files be generated in builddir

* info/Makefile.am (CLEANFILES): According to automake, info files
are generated in builddir only if marked as user cleaned.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoMisc build tweaks/updates from Nelson
Steve Youngs [Sun, 23 Aug 2015 01:13:16 +0000 (11:13 +1000)]
Misc build tweaks/updates from Nelson

* merges:
  Document why the duplicate traversal is needed
  Revert "Remove duplicate subdirs"
  Make info be generated in buildidr
  Remove duplicate subdirs
  Improve liblzma pkg-config detection
  Improve FFI pkg-config detection
  Add new pkg-config macro SXE_PC_CHECK_EXISTS
  Fix pkg-config autoconf macros
  Automatically paths in site prefix to PKG_CONFIG_PATH

4 years agoDocument why the duplicate traversal is needed
Nelson Ferreira [Sat, 22 Aug 2015 15:39:11 +0000 (11:39 -0400)]
Document why the duplicate traversal is needed

4 years agoRevert "Remove duplicate subdirs"
Nelson Ferreira [Sat, 22 Aug 2015 15:33:41 +0000 (11:33 -0400)]
Revert "Remove duplicate subdirs"

This reverts commit 9cdb268091bd33e600448864eda49c3c8b365699.

4 years agoMerge branch 'sxe_pc_check' into for-steve
Nelson Ferreira [Sat, 15 Aug 2015 23:12:24 +0000 (19:12 -0400)]
Merge branch 'sxe_pc_check' into for-steve

4 years agoMerge branch 'makeinfo_out_of_tree' into for-steve
Nelson Ferreira [Sat, 15 Aug 2015 23:11:37 +0000 (19:11 -0400)]
Merge branch 'makeinfo_out_of_tree' into for-steve

4 years agoMake info be generated in buildidr
Nelson Ferreira [Sun, 9 Aug 2015 18:19:35 +0000 (14:19 -0400)]
Make info be generated in buildidr

* info/Makefile.am (builddir, srcdir, SUBDIRS): Add settings to
generate info in buildir and reset SUBDIRS in order not to
recurse.

4 years agoRemove duplicate subdirs
Nelson Ferreira [Sun, 9 Aug 2015 18:18:20 +0000 (14:18 -0400)]
Remove duplicate subdirs

* Makefile.am (sxe_subdirs): Remove duplicate dirs

4 years agoImprove liblzma pkg-config detection
Nelson Ferreira [Sun, 9 Aug 2015 17:37:10 +0000 (13:37 -0400)]
Improve liblzma pkg-config detection

* m4/sxe-compress.m4: Also check for liblzma pkg-config modules
which is now commonly used.

4 years agoImprove FFI pkg-config detection
Nelson Ferreira [Sun, 9 Aug 2015 17:35:06 +0000 (13:35 -0400)]
Improve FFI pkg-config detection

* m4/sxe-emodffi.m4: Use the SXE_PC macros for pkg-config
detection of libffi.

4 years agoAdd new pkg-config macro SXE_PC_CHECK_EXISTS
Nelson Ferreira [Sun, 9 Aug 2015 17:31:32 +0000 (13:31 -0400)]
Add new pkg-config macro SXE_PC_CHECK_EXISTS

* m4/sxe-pkgconfig.m4: Add SXE_PC_CHECK_EXISTS which sets
sxe_cv_pc_[shmod]_exists to yes if module is configured via
pkg-config.

4 years agoFix pkg-config autoconf macros
Nelson Ferreira [Sun, 9 Aug 2015 17:28:13 +0000 (13:28 -0400)]
Fix pkg-config autoconf macros

* m4/sxe-pkgconfig.m4: Correct quoting of shmod and MOD in
SXE_PC_CHECK_VERSION_ATLEAST, SXE_PC_CHECK_VERSION_ATMOST,
SXE_PC_CHECK_VERSION, SXE_PC_CHECK_LIBS, SXE_PC_CHECK_LDFLAGS,
SXE_PC_CHECK_CPPFLAGS

4 years agoAutomatically paths in site prefix to PKG_CONFIG_PATH
Nelson Ferreira [Sun, 9 Aug 2015 17:23:05 +0000 (13:23 -0400)]
Automatically paths in site prefix to PKG_CONFIG_PATH

* ../configure.ac: If there is pkg-config and --with-site-prefixes
was passed to configure, also add those prefixes with
lib/pkgconfig to PKG_CONFIG_PATH.

4 years agoHandle immediate autoloads (';;;###autoloadimmediate') better.
Steve Youngs [Fri, 10 Jul 2015 12:21:17 +0000 (22:21 +1000)]
Handle immediate autoloads (';;;###autoloadimmediate') better.

* lisp/autoload.el (process-one-lisp-autoload): Insert <immediate>
into the section header for immediate autoloads, to make sure the
upstream doesn't think there aren't any autoloads at all.

From: Mike Sperber  <mike@xemacs.org>

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoSupport both "-*-coding:" and "-*- coding:" in magic cookies
Steve Youngs [Fri, 10 Jul 2015 06:21:34 +0000 (16:21 +1000)]
Support both "-*-coding:" and "-*- coding:" in magic cookies

The code responsible for checking coding sytem magic cookies in files was
only searching for "-*-coding:...", however most (most == all in SXEmacs,
but in XEmacs and GNU/Emacs most == majority) files that have these
cookies seem to use "-*- coding:...".  This changeset means SXEmacs will
now honour the coding cookie regardless of it being "-*-coding" or
"-*- coding".

* src/mule/file-coding.c (autodetect_real_coding_system): Look for
" coding:" as well as "coding:"

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoUpdate the docstrings in the cl emodule.
Steve Youngs [Mon, 6 Jul 2015 07:18:18 +0000 (17:18 +1000)]
Update the docstrings in the cl emodule.

This adds/updates the docstrings for the DEFUNs in the cl emodule.  I've
basically just lifted the doctrings from the equivalent functions/macros
in cl*.el.

* modules/cl/cl-loop.c (Fcl_loop): Add a docstring.
(Fcl_doX): Typo in docstring.
(Fcl_dotimes): Update docstring.
(Fcl_dolist): Ditto.
(Fcl_do_symbols): Ditto.
(Fcl_loop_sentence): Direct folks to #'cl:loop docstring.

* modules/cl/cl.c (Fcl_pop): Add a docstring.
(Fcl_push): Ditto.
(Fcl_pushnew): Ditto.
(Fcl_eql): Ditto.
(Fcl_list_): Ditto.
(Fcl_tailp): Ditto.
(Fcl_ldiff): Ditto.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoPartially sync files.el from XEmacs 21.5 for wildcard support.
Steve Youngs [Sat, 4 Jul 2015 02:23:33 +0000 (12:23 +1000)]
Partially sync files.el from XEmacs 21.5 for wildcard support.

This changeset partially syncs files.el with XEmacs 21.5 (cb65bfaf7110
tip) to give #'find-file and friends support for wildcards.

With this, you can do things like: `C-x C-f /path/to/*.c' and all .c files
in /path/to/ will be opened.  Oh, and it also means that the current
ispell XEmacs package will work again.

* lisp/files.el (find-directory-functions): New.
(switch-to-next-buffer): New.
(switch-to-previous-buffer): New.
(switch-to-next-buffer-in-group): New and fixed to not use
obsolete vars.
(switch-to-previous-buffer-in-group): New. and fixed to not use
obsolete vars.
(find-file-create-switch-thunk): New.
(find-file): Synched up with XEmacs 21.5
cb65bfaf7110 tip.
(find-file-wildcards): New.
(find-file-suppress-same-file-warnings): New.
(find-file-noselect): Synched up with XEmacs 21.5 cb65bfaf7110
tip.
(find-file-noselect-1): New.
(insert-file-literally): New.
(find-file-literally): New.
(file-expand-wildcards): New.
(shell-quote-wildcard-pattern): New.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoRun the testsuite with -vanilla to protect from local pollution.
Steve Youngs [Fri, 3 Jul 2015 11:35:00 +0000 (21:35 +1000)]
Run the testsuite with -vanilla to protect from local pollution.

This change just makes the testsuite run in a -vanilla SXEmacs instance
to keep local settings and packages out of the equation.

* tests/Makefile.am (tests_environment): Use -vanilla.
(check-formats, check-map, check-skiplists, check-%): Ditto.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoautogen.sh update from Horst
Steve Youngs [Thu, 2 Jul 2015 07:01:03 +0000 (17:01 +1000)]
autogen.sh update from Horst

* merges:
  remove GNUisms that break non-GNU stuff

4 years agoremove GNUisms that break non-GNU stuff
Horst G. Burkhardt [Wed, 1 Jul 2015 02:53:48 +0000 (12:53 +1000)]
remove GNUisms that break non-GNU stuff

Signed-off-by: Horst G. Burkhardt <mc@680x0.com>
4 years agoFix quoting and indexing bug in git-for-steve.sh
Steve Youngs [Sun, 28 Jun 2015 05:40:19 +0000 (15:40 +1000)]
Fix quoting and indexing bug in git-for-steve.sh

* contrib/git-for-steve.sh (set_myremote): Remove quotes from
REMOTES value.  And index counts from zero, not one.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoFix bugs in git-for-steve.sh script,
Steve Youngs [Sun, 28 Jun 2015 05:25:43 +0000 (15:25 +1000)]
Fix bugs in git-for-steve.sh script,

This changeset fixes one of those "hard to find" errors you get in shell
scripts that turn out to be a single character fix.  Sheesh.  So in the 2
days I spent tracking down this bloody 1 char fix I also tidied up the
rest of the script and improved the UI a tad.  Also fixed a couple of
other bugs that hadn't been discovered yet. :)

* contrib/git-for-steve.sh: Fix/improve quoting throughout.
Some UI improvements.
(set_aliases): Add missing ')'.
(set_keys): Grep for '^default-key' instead of 'default-key' in
gpg.conf in case it is commented out.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoContrib script fix from Horst
Steve Youngs [Sat, 27 Jun 2015 03:28:37 +0000 (13:28 +1000)]
Contrib script fix from Horst

* merges:
  fix git-for-steve to work on systems that don't symlink /bin/sh to bash

4 years agoFix portability prob in git-for-steve.sh
Steve Youngs [Sat, 27 Jun 2015 03:13:08 +0000 (13:13 +1000)]
Fix portability prob in git-for-steve.sh

* contrib/git-for-steve.sh: Make it a bash script.
(set_myremote): Properly quote $REMOTES

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agofix git-for-steve to work on systems that don't symlink /bin/sh to bash
Horst G. Burkhardt [Sat, 27 Jun 2015 02:45:24 +0000 (12:45 +1000)]
fix git-for-steve to work on systems that don't symlink /bin/sh to bash

Signed-off-by: Horst G. Burkhardt <mc@680x0.com>
4 years agoFix a couple of typos in the formats and aliases in git-for-steve.sh
Steve Youngs [Fri, 26 Jun 2015 13:18:42 +0000 (23:18 +1000)]
Fix a couple of typos in the formats and aliases in git-for-steve.sh

* contrib/git-for-steve.sh (set_formats, set_aliases): Typo fixes.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoTemporarily turn off dbus detection.
Steve Youngs [Fri, 26 Jun 2015 04:10:10 +0000 (14:10 +1000)]
Temporarily turn off dbus detection.

Lets not build the dbus emodule until it actually does something.

* configure.ac: Disable dbus detection.

* modules/Makefile.am: Comment out DESCEND_DBUS to keep autogen.sh
happy.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoUpdate & fix texi docs to build clean against makeinfo v5.2
Steve Youngs [Mon, 15 Jun 2015 07:37:10 +0000 (17:37 +1000)]
Update & fix texi docs to build clean against makeinfo v5.2

This seemingly monster changeset is nothing more than simple compile
warning fixes.  But now the docs compile clean, and clean is good. :-)

* info/lispref/abbrevs.texi
* info/lispref/annotations.texi
* info/lispref/backups.texi
* info/lispref/buffers.texi
* info/lispref/building.texi
* info/lispref/commands.texi
* info/lispref/compile.texi
* info/lispref/consoles-devices.texi
* info/lispref/control.texi
* info/lispref/databases.texi
* info/lispref/debugging.texi
* info/lispref/dialog.texi
* info/lispref/display.texi
* info/lispref/ent.texi
* info/lispref/eval.texi
* info/lispref/extents.texi
* info/lispref/faces.texi
* info/lispref/files.texi
* info/lispref/frames.texi
* info/lispref/functions.texi
* info/lispref/glyphs.texi
* info/lispref/gutter.texi
* info/lispref/hash-tables.texi
* info/lispref/help.texi
* info/lispref/internationalization.texi
* info/lispref/intro.texi
* info/lispref/keymaps.texi
* info/lispref/ldap.texi
* info/lispref/lispref.texi
* info/lispref/lists.texi
* info/lispref/loading.texi
* info/lispref/macros.texi
* info/lispref/markers.texi
* info/lispref/menus.texi
* info/lispref/minibuf.texi
* info/lispref/modes.texi
* info/lispref/mule.texi
* info/lispref/numbers.texi
* info/lispref/objects.texi
* info/lispref/openssl.texi
* info/lispref/os.texi
* info/lispref/packaging.texi
* info/lispref/positions.texi
* info/lispref/postgresql.texi
* info/lispref/processes.texi
* info/lispref/range-tables.texi
* info/lispref/scrollbars.texi
* info/lispref/searching.texi
* info/lispref/sequences.texi
* info/lispref/specifiers.texi
* info/lispref/streams.texi
* info/lispref/strings.texi
* info/lispref/symbols.texi
* info/lispref/syntax.texi
* info/lispref/text.texi
* info/lispref/tips.texi
* info/lispref/toolbar.texi
* info/lispref/variables.texi
* info/lispref/windows.texi
* info/lispref/x-windows.texi
* info/sxemacs-faq.texi
* info/sxemacs/custom.texi
* info/sxemacs/menus.texi
* info/sxemacs/programs.texi
* info/sxemacs/sxemacs.texi

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoUpdate SPPM
Steve Youngs [Mon, 15 Jun 2015 04:34:36 +0000 (14:34 +1000)]
Update SPPM

* info/sppm.texi (IRC): JackaLX -> SteveYoungs

* info/sppm.texi (Voting): Votes to be decided by simple majority,
which I think is easier and fairer.

* info/sppm.texi (Sending a patch from a git repo): Update, use
the "for-steve" workflow, encourage GnuPG signing, mention and
recommend git-for-steve.sh.

* info/sppm.texi (Making Releases): Update to bring it inline with
what I actually do on release day.

* info/sppm.texi (Compatibility): Clarify a little.

* info/sppm.texi (Setting up a publicly accessible repo):
Explicitly use `git-for-steve.sh' in the example setup, and
mention it in the text.

* info/sppm.texi (Other Developers' Repositories): Add everyone's
repo that I know of.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoFix cl-loop-parser.y for bison 2.7
Nelson Ferreira [Sun, 14 Jun 2015 14:51:47 +0000 (10:51 -0400)]
Fix cl-loop-parser.y for bison 2.7

* modules/cl/cl-loop-parser.y: Use double quotes for api.prefix

4 years agoMerge remote-tracking branch 'origin/master' into for-steve
Nelson Ferreira [Sun, 14 Jun 2015 14:07:33 +0000 (10:07 -0400)]
Merge remote-tracking branch 'origin/master' into for-steve

4 years agoAdd 'scan-error' error type.
Steve Youngs [Sun, 14 Jun 2015 06:01:39 +0000 (16:01 +1000)]
Add 'scan-error' error type.

* src/syntax.c: Add `Qscan_error'.

* src/syntax.c (syms_of_syntax): DEFERROR_STANDARD it.

* src/syntax.c (scan_lists): Use it.

* lisp/subr.el (error): Add it to the docstring.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoError when callbacks aren't available in curl:download
Steve Youngs [Sat, 13 Jun 2015 04:10:27 +0000 (14:10 +1000)]
Error when callbacks aren't available in curl:download

* lisp/ffi/ffi-curl.el (curl:download): Error when attempting to
dl to a buffer when that can't be done.

* lisp/ffi/ffi-curl.el (curl:download&): Ditto.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoUpdate cl-loop-parser grammar file for bison 3.x
Steve Youngs [Sat, 13 Jun 2015 01:35:00 +0000 (11:35 +1000)]
Update cl-loop-parser grammar file for bison 3.x

This allows the cl emodule to build with bison version 3.x, and sets
the minimum required version to 2.7

* m4/sxe-bldchain-progs.m4 (SXE_PROG_BISON): Set minimum bison
version needed to v2.7.x,

* modules/cl/cl-loop-parser.y: Use api.prefix, api.pure instead of
name-prefix, pure_parser which are deprecated.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoTry to gracefully handle not having ffi-callbacks.
Steve Youngs [Fri, 12 Jun 2015 14:22:32 +0000 (00:22 +1000)]
Try to gracefully handle not having ffi-callbacks.

The change in 3ba78988 (effi.c) meant that ffi-curl.el and ffi-sqlite.el
could not be loaded if you weren't on a i386 machine.  This changeset
takes care of that.

* lisp/ffi/ffi-curl.el (curl:cb-write-to-buffer): Wrap in
#'ignore-errors because our ffi-callbacks don't work on x86_64.

* lisp/ffi/ffi-curl.el (curl:download): Only attempt dl to a
buffer if curl:cb-write-to-buffer is bound.

* lisp/ffi/ffi-sqlite.el (sqlite-generic-collation): Wrap in
#'ignore-errors because our ffi-callbacks don't work on x86_64.

* lisp/ffi/ffi-sqlite.el (sqlite-create-collation): Error if
sqlite-generic-collation isn't bound.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoRework dirname tests & prevent 2 cores at configure time
Steve Youngs [Fri, 12 Jun 2015 00:33:27 +0000 (10:33 +1000)]
Rework dirname tests & prevent 2 cores at configure time

* merges:
  Fix configure dirname. Also streamline dirname usage.
  Fix configure check for realpath and dirname. Also streamline dirname usage.

4 years agoFix configure dirname. Also streamline dirname usage.
Nelson Ferreira [Thu, 11 Jun 2015 19:21:54 +0000 (15:21 -0400)]
Fix configure dirname. Also streamline dirname usage.

POSIX 1003.1 states: "The dirname() function may modify the string
pointed to by path, and may return a pointer to static storage
that may then be overwritten by subsequent calls to dirname()."

Source: http://www.unix.com/man-page/POSIX/3posix/dirname/

Because of this the only sane way of using dirname is to allocate
our own copy of the argument, call dirname and then copy to the
result.

The interesting news is we don't call xdirname anywhere in our
code, yes, not even in Ffile_dirname.  In fact the contract as far
as the '/' termination and behavior on "non directory" is
completely different and actually changing it would break
build-autoloads.el and packages.el (easily fixed), and god knows
what other user code.

* m4/sxe-fs-funs.m4: Remove _SXE_CHECK_DIRNAME_SIDE_EFFECT,
_SXE_CHECK_DIRNAME_RETVAL_OWNER and
_SXE_CHECK_DIRNAME_RETVAL_OWNER tests since the change in xdirname
makes these checks not necessary.

* m4/sxe-fs-funs.m4 (SXE_CHECK_BROKEN_DIRNAME): Remove calls to
_SXE_CHECK_DIRNAME_SIDE_EFFECT, _SXE_CHECK_DIRNAME_RETVAL_OWNER
and _SXE_CHECK_DIRNAME_RETVAL_OWNER.

* src/sysdep.h (x__dirname): Provide only a POSIX-aware usage of
dirname.  This means copying the argument to the result buffer
before calling dirname and the result (if not at start of the
result buffer), using xstrncpy if non-overlapping, memmove if
overlapping.

4 years agoFix configure check for realpath and dirname. Also streamline dirname usage.
Nelson Ferreira [Thu, 11 Jun 2015 18:58:52 +0000 (14:58 -0400)]
Fix configure check for realpath and dirname. Also streamline dirname usage.

* m4/sxe-fs-funs.m4 (_SXE_CHECK_REALPATH_RETVAL_OWNER): Add double
call strategy to verify usage of internal memory.

4 years agoTypo fix
Steve Youngs [Thu, 11 Jun 2015 13:36:09 +0000 (23:36 +1000)]
Typo fix

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agogit-for-steve tweaks.
Steve Youngs [Thu, 11 Jun 2015 11:47:36 +0000 (21:47 +1000)]
git-for-steve tweaks.

* contrib/git-for-steve.sh: Take more of a "git approach" to
testing if we're in a SXEmacs repo.

Save the current branch name in case we move from it and want to
return.

popd _before_ popping the stash.

Give the user a way to bypass the origin check.

(set_branch): Only switch to master if it's not the current
branch.
Ask if the user wants to switch to for-steve, instead of forcing
it.

(set_aliases): Make alias.alias only show aliases, and not every
config containing "alias".
Add a couple of new aliases:
  "cob" -> "checkout -b"
  "prb" -> "pull --rebase"
  "wb" -> "rev-parse --abbrev-ref HEAD".

* contrib/git-for-steve.sh (LETSPOP):

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoSignal error when callbacks are not supported in ffi
Nelson Ferreira [Wed, 10 Jun 2015 14:29:49 +0000 (10:29 -0400)]
Signal error when callbacks are not supported in ffi

4 years agoHelp prevent input method failures in XCreateIC from Nelson
Steve Youngs [Wed, 10 Jun 2015 13:10:48 +0000 (23:10 +1000)]
Help prevent input method failures in XCreateIC from Nelson

* merges:
  Avoid XCreateIC failures
  Document LANG and XMODIFIERS in case of XCreateIC failure
  Document LANG and XMODIFIERS in case of XCreateIC failure
  Document XCreateIC issue

4 years agoRe-write the git-for-steve.sh script
Steve Youngs [Wed, 10 Jun 2015 08:22:08 +0000 (18:22 +1000)]
Re-write the git-for-steve.sh script

Many thanks and kudos to Nelson for not only writing the original script,
but for putting up with my endless questions on IRC.

The old script was great, and in fact I referenced it countless times in
the past to find out how to do certain git things, but it only went as far
as to print suggestions to stdout as to what you should change.  This new
improved incarnation goes much further.

Here is what it _won't_ do:

  It won't do anything if you're not in a SXEmacs source tree
  It won't change anything that is already set without asking
  It won't mess up a dirty WD, so you could run it right in the middle of
hacking if you wanted to
  It won't do the wrong thing if you run it a 2nd, 3rd, 4th time (all bets
are off for the 5th run, no I'm kidding, it is safe to run as
often as you like)

What it does do is take care of everything SXEmacs-git related that you
can think of and probably a few things that you haven't.

* contrib/git-for-steve.sh: Complete re-write.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoAvoid XCreateIC failures
Nelson Ferreira [Sun, 7 Jun 2015 20:24:47 +0000 (16:24 -0400)]
Avoid XCreateIC failures

      * src/mule/input-method-xlib.c(XIM_init_frame): Do not specify
        XNStatusAttributes unless there is a XIMStatusArea.  Some XIM
        implementations are very sensitive to this (ibus is one
        example).

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoDocument LANG and XMODIFIERS in case of XCreateIC failure
Nelson Ferreira [Sun, 7 Jun 2015 20:08:57 +0000 (16:08 -0400)]
Document LANG and XMODIFIERS in case of XCreateIC failure

 * src/mule/input-method-xlib: Add xim_warn2 macro.

 * src/mule/input-method-xlib(XIM_init_frame): Get and output to
      stderr the value of LANG and XMODIFIERS to help
      troubleshooting.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoDocument LANG and XMODIFIERS in case of XCreateIC failure
Nelson Ferreira [Sun, 7 Jun 2015 20:07:35 +0000 (16:07 -0400)]
Document LANG and XMODIFIERS in case of XCreateIC failure

 * src/intl.c(init_input): Get and output to stderr the value of
 LANG and XMODIFIERS to help troubleshooting.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoDocument XCreateIC issue
Nelson Ferreira [Sun, 7 Jun 2015 20:06:38 +0000 (16:06 -0400)]
Document XCreateIC issue

 * PROBLEMS: Add description of XCreateIC failure

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agocontrib update from Nelson
Steve Youngs [Sun, 7 Jun 2015 15:50:31 +0000 (01:50 +1000)]
contrib update from Nelson

* merges:
  Provide guidance on the developer and maintainer key tag
  GPG key mandatory
  Provide support contact

4 years agoCompiler warning fixes from Nelson
Steve Youngs [Sun, 7 Jun 2015 15:07:27 +0000 (01:07 +1000)]
Compiler warning fixes from Nelson

* merges:
  Remove unused variable.
  Remove unused variable and dead code.
  Silence variable set but not used in macro expansion.
  Silence some variable set but not used warnings.
  Remove unused variable (value already inspectable)
  Silence some variable set but not used warnings.
  Silence some variable set but not used warnings.

4 years agoMerge branch 'signing_for_steve' into for-steve
Nelson Ferreira [Sun, 7 Jun 2015 15:00:53 +0000 (11:00 -0400)]
Merge branch 'signing_for_steve' into for-steve

4 years agoProvide guidance on the developer and maintainer key tag
Nelson Ferreira [Sun, 7 Jun 2015 14:57:26 +0000 (10:57 -0400)]
Provide guidance on the developer and maintainer key tag

* contrib/git-for-steve.sh:  Check and provide steps for
          creating the developer key tag.  Check and provide steps for
          importing the maintainer key.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoGPG key mandatory
Nelson Ferreira [Sun, 7 Jun 2015 14:56:01 +0000 (10:56 -0400)]
GPG key mandatory

    * contrib/git-for-steve.sh: Check for gpg installed and make it
      mandatory.  Also when the signing key is not set provide an
      educated guess.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoProvide support contact
Nelson Ferreira [Sun, 7 Jun 2015 14:55:07 +0000 (10:55 -0400)]
Provide support contact

* contrib/git-for-steve.sh: Add reference to #sxemacs channel

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoRemove unused variable.
Nelson Ferreira [Sun, 7 Jun 2015 13:42:56 +0000 (09:42 -0400)]
Remove unused variable.

       * modules/cl/cl-loop.c(cl_loop_dllist_map_return): Remove 'state'
         because it is only set to one and never read.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoRemove unused variable and dead code.
Nelson Ferreira [Sun, 7 Jun 2015 13:41:34 +0000 (09:41 -0400)]
Remove unused variable and dead code.

       * src/ui/redisplay-output.c(compare_display_blocks): Remove
         'block_end' and the commented code that used it - Commented out
         since '97 seems like dead and buried...

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoSilence variable set but not used in macro expansion.
Nelson Ferreira [Sun, 7 Jun 2015 13:39:46 +0000 (09:39 -0400)]
Silence variable set but not used in macro expansion.

* src/lisp.h(GET_EXTERNAL_LIST_LENGTH): Provide usage of
          'GELL_elt'.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoSilence some variable set but not used warnings.
Nelson Ferreira [Sun, 7 Jun 2015 13:36:16 +0000 (09:36 -0400)]
Silence some variable set but not used warnings.

* modules/ase/ase-interval.c(ase-interval): Provide usage for
          'args'.  Not removed in order to provide an additional stack
          reference for argument lisp objects.

* modules/cl/cl-loop.c(cl:loop-sentence): Provide usage for
          'parse_result'.  Could be useful in debug inspection.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoRemove unused variable (value already inspectable)
Nelson Ferreira [Sun, 7 Jun 2015 13:31:23 +0000 (09:31 -0400)]
Remove unused variable (value already inspectable)

       * src/ui/scrollbar(update_scrollbar_instance): Remove
       'new_window' as its value can be inspected as 'w'.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoSilence some variable set but not used warnings.
Nelson Ferreira [Sun, 7 Jun 2015 13:22:18 +0000 (09:22 -0400)]
Silence some variable set but not used warnings.

* src/ui/redisplay.c(regenerate_window_extents_only_changed,
         regenerate_window_incrementally): Provide 'new_start' usage

  * src/ui/specifier.c(specifier_instance): Provide 'tag' usage

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoSilence some variable set but not used warnings.
Nelson Ferreira [Sun, 7 Jun 2015 13:05:38 +0000 (09:05 -0400)]
Silence some variable set but not used warnings.

* lib-src/etags.c(just_read_file): provide 'dummy' usage.

* lib-src/ootags.c(just_read_file): provide 'dummy' usage.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoPath fix for doc-directory from Nelson
Steve Youngs [Sun, 7 Jun 2015 00:59:41 +0000 (10:59 +1000)]
Path fix for doc-directory from Nelson

* merges:
  Properly handle doc-directory

4 years agoProperly handle doc-directory
Nelson Ferreira [Sat, 6 Jun 2015 15:37:20 +0000 (11:37 -0400)]
Properly handle doc-directory

* lisp/setup-paths.el (paths-find-doc-directory): use
exec-directory if configuration-doc-directory is nil as promised
in the documentation for doc-directory.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoFix cross-reference in lispref/packaging.texi
Steve Youngs [Sat, 6 Jun 2015 06:11:09 +0000 (16:11 +1000)]
Fix cross-reference in lispref/packaging.texi

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoXDG-compliant location for early-packages
Steve Youngs [Sat, 6 Jun 2015 05:34:41 +0000 (15:34 +1000)]
XDG-compliant location for early-packages

* xdg-pkgs:
  XDG Compliant user package tree -- doc updates.
  XDG Compliant user (early) packages tree.

4 years agoXDG Compliant user package tree -- doc updates.
Steve Youngs [Sat, 6 Jun 2015 04:04:44 +0000 (14:04 +1000)]
XDG Compliant user package tree -- doc updates.

This updates the documentation to reflect the new location for user
(early) packages.

* PROBLEMS: Add section about early-packages locations.

* README.packages: Update the text relating to user packages.

* etc/sxemacs.1 (FILES): Ditto.

* info/lispref/packaging.texi (The User View): Update.

* info/new-users-guide/custom2.texi (Init File): Typo fix.

* info/sxemacs-faq.texi (Q5.3.3): Ditto.

* info/sxemacs/cmdargs.texi (Command Switches): Add
-user-pkgs-directory.

* info/sxemacs/startup.texi (Startup Paths): Update for current
reality.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoXDG Compliant user (early) packages tree.
Steve Youngs [Thu, 4 Jun 2015 13:36:25 +0000 (23:36 +1000)]
XDG Compliant user (early) packages tree.

With this changeset, the location for a user's local packages, the ones
that make up `early-packages', is now under ${XDG_DATA_HOME}/sxemacs.
That is normally ~/.local/share/sxemacs, which is the directory used when
the XDG environment variable isn't set.

If the user has forced use of the old legacy ~/.sxemacs for their init
directory, then that is where the early-packages will be instead of the
XDG location.  A warning is displayed if package subdirectories are
detected in any 2 or more of ~/.sxemacs, ${XDG_CONFIG_HOME}/sxemacs, and
${XDG_DATA_HOME}/sxemacs (symlinked directories are ignored).

There is also a new command line switch, `-user-pkgs-directory' to set the
early-packages directory to any location.

* lisp/package-admin.el (package-admin-find-top-directory): Use
`user-packages-topdir' instead of `user-init-directory'.
(package-admin-get-install-dir): Ditto.

* lisp/package-get.el (package-get-package-index-file-location):
Default location is now in `user-packages-topdir' instead of
`user-init-directory'.
(package-get-install-to-user-directory): Renamed from
`package-get-install-to-user-init-directory'.  The latter is
defvaralias'd back.
(package-get-maybe-save-index): Use `user-packages-topdir' instead
of `user-init-directory'.

* lisp/packages.el (packages-find-user-topdir): New.  Returns
`user-packages-topdir'.
(packages-compute-package-locations): Rename the arg to
`user-packages-topdir', and update the doc string.

* lisp/startup.el (command-line-do-help): Add `-user-pkgs-directory'.
(command-line-early): For `-user' set an XDG compliant directory
for `user-packages-topdir' if possible, fall back to the legacy
.sxemacs otherwise.
(startup-setup-paths): Use #'packages-find-user-topdir to set
`user-packages-topdir'.

* src/emacs.c (vars_of_emacs): New var, `Vuser_packages_topdir'.
(main_1): Handle new command line arg, `-user-pkgs-directory'. Set
`Vuser_packages_topdir'.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoautogen.sh fix. Closes bug 165 from Horst
Steve Youngs [Mon, 11 May 2015 03:31:46 +0000 (13:31 +1000)]
autogen.sh fix.  Closes bug 165 from Horst

* merges:
  Fix autogen.sh to work at Horst's site and on FBSD in general

4 years agoFix autogen.sh to work at Horst's site and on FBSD in general
Horst G. Burkhardt [Mon, 11 May 2015 02:52:59 +0000 (12:52 +1000)]
Fix autogen.sh to work at Horst's site and on FBSD in general

Signed-off-by: Horst G. Burkhardt <mc@680x0.com>
4 years agoBring some consistency to command line switches
Steve Youngs [Sun, 10 May 2015 00:17:23 +0000 (10:17 +1000)]
Bring some consistency to command line switches

We have UNIX style single dash cmdline long-opts, and GNU style double
dash cmdline long-opts, but not every single dash long-opt has a
corresponding double dash long-opt, and vice verse.  This changeset
rectifies that.

* lisp/startup.el (command-line-early): Add missing GNU style
`--long-option' for all `-long-option' that were lacking it.
(startup-setup-paths): ditto.
(command-switch-alist): Add `-h'.

* info/sxemacs/cmdargs.texi: Add missing command switches.

* src/emacs.c (main_1): Add `-show-dump-id', `-terminal',
`-no-dump-file', `-color-terminal', `-no-windows', `-h' command
switches.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoMerge branch 'xdg-init'
Steve Youngs [Sat, 9 May 2015 21:23:55 +0000 (07:23 +1000)]
Merge branch 'xdg-init'

4 years agoXDG init -- Git rid of hack in site-start.el
Steve Youngs [Thu, 7 May 2015 13:23:56 +0000 (23:23 +1000)]
XDG init -- Git rid of hack in site-start.el

It was wrong to use site-start.el to cope with a dynamic user init
directory.  This changeset puts it all into startup.el and removes the
site-start.el file.  Admins can breath a sigh of relief. :)

user-init-directory and lisp-initd-dir will now also be included in the
debugging output when using -debug-paths.

* lisp/Makefile.am (corelispels): Remove site-start.el

* lisp/site-start.el: Removed.

* lisp/startup.el (find-user-init-directory): Actually set
user-init-directory.
Warn if multiple init directories were found.
(forced-user-init-directory): New, non-nil when the
user-init-directory has been set explicitly via the command
line. NOT a user variable, keep ya grubby paws offit.
(command-line-early): Ensure that all paths are correct when using
"-u", "-user", "-user-init-directory", and inlude
user-init-directory and lisp-initd-dir with -debug-paths.
(startup-setup-paths): Use #'find-user-init-directory to maybe
find the user's init directory.  Include user-init-directory, and
lisp-initd-dir in debug output when -debug-paths.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoSupport XDG-based init directory
Steve Youngs [Tue, 5 May 2015 03:55:39 +0000 (13:55 +1000)]
Support XDG-based init directory

* xdg-init:
  XDG init -- Doc updates.
  XDG Compliant init directory.

4 years agoXDG init -- Doc updates.
Steve Youngs [Tue, 5 May 2015 03:49:42 +0000 (13:49 +1000)]
XDG init -- Doc updates.

Brings all the docs relating to the init file up to date.

* PROBLEMS: Update section on user-init-file

* configure.ac (package-prefix): Use "user's home directory"
instead of "~/.sxemacs".

* etc/sample.init.el: Update comments.

* etc/sxemacs.1: Update Files section regarding init.el.

* info/lispref/os.texi (Start-up Summary): Update locations for
init.el.

* info/lispref/os.texi (Init File): Describe user-init-directory.

* info/new-users-guide/custom1.texi: s/Emacs/SXEmacs/

* info/new-users-guide/custom1.texi (Customization Basics): Cross
reference `Init File'.

* info/lispref/postgresql.texi
(Building SXEmacs with PostgreSQL support): Comment out silly
nonsence about "binary kits" and ftp sites. :)

* info/sxemacs-faq.texi (Q1.0.2): Update.

* info/sxemacs-faq.texi (Q1.0.3): Sources are at
http://downloads.sxemacs.org/, not ftp.  And snapshots are on the
web too.

* info/sxemacs-faq.texi (Q1.4.1): Update and cross-ref `Init
File'.  Remove talk of "migrating old .emacs".  We've never done
that.

* info/sxemacs/cmdargs.texi (Command Switches): Update.
s/Emacs/SXEmacs/

* info/sxemacs/custom.texi (Init File): Update.  Mention
user-init-directory, cross-ref to lispref "Init File".

* info/sxemacs/sxemacs.texi (Distrib): Point folks to
http://downloads.sxemacs.org

* lisp/ffi/ffi-magic.el: doc update example

* lisp/files.el (user-init-file): Update doc.

* lisp/info.el (Info-annotate): Ditto.

* lisp/issue-tracker.el (report-sxemacs-bug-help): Ditto.

* lisp/menubar-items.el (default-menubar): Don't hard-code
"~/.sxemacs/init.el".

* lisp/package-admin.el (package-admin-get-install-dir): comment update.

* info/lispref/display.texi (Warnings): update.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoXDG Compliant init directory.
Steve Youngs [Sat, 2 May 2015 15:56:21 +0000 (01:56 +1000)]
XDG Compliant init directory.

This changeset moves the init directory from ~/.sxemacs to
$XDG_CONFIG_HOME/sxemacs, falling back to ~/.config/sxemacs when
$XDG_CONFIG_HOME isn't set.

SXEmacs will continue to use ~/.sxemacs if that directory exists, unless
the XDG-based directory also exists.  In that case, the XDG-based directory
will take precedence, unless the user has set $SXE_USE_LEGACY in their
environment.

If no init directories exist, use the XDG-based directory, unless
$SXE_USE_LEGACY has been set.

If multiple init directories exist a warning is displayed to the user
showing the directories found, and which is the one in use.  This warning
can be suppressed by adding the symbol `multi-initd' to
`display-warning-suppressed-classes'

* lisp/startup.el (find-user-init-directory): New.
(user-init-directory): Set to empty string.
(user-init-directory-base): Removed.
(command-line-do-help): Warn that using -user may not be the
wisest of choices.
(command-line-early): When using -user set user-init-directory to
~user/.config/sxemacs, or ~user/.sxemacs if that doesn't exist.
(site-start-file): Doc fix.

* lisp/site-start.el: New.  Deals with the consequences of
computing a user-init-directory at run-time.

* lisp/Makefile.am (corelispels): Add site-start.el.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
5 years agoSupport user/group lookups from Nelson
Steve Youngs [Sun, 16 Mar 2014 23:20:29 +0000 (09:20 +1000)]
Support user/group lookups from Nelson

* merges:
  Add support for Unix lookup by name to user-uid and user-gid
  Add support for Unix groups comparable to user id

5 years agoAdd support for Unix lookup by name to user-uid and user-gid
Nelson Ferreira [Sun, 16 Mar 2014 22:57:18 +0000 (18:57 -0400)]
Add support for Unix lookup by name to user-uid and user-gid

* src/editfns.c (Fuser_uid): add optional parameter user_name. If
specified the system will lookup the user uid, return nil if that
user does not exist.

* src/editfns.c (Fuser_gid): add optional parameter group_name. If
specified the system will lookup the group gid, return nil if that
group does not exist.

* src/editfns.c (Fuser_real_uid): clarify that the uid returned is
that of the process.

* src/editfns.c (Fuser_real_gid): clarify that the uid returned is
that of the process.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
5 years agoAdd support for Unix groups comparable to user id
Nelson Ferreira [Sun, 16 Mar 2014 21:35:12 +0000 (17:35 -0400)]
Add support for Unix groups comparable to user id

* src/Makefile.am (libsxecore_a_headers):Add new sysgrp.h header.

* src/sysgrp.h: New header

* src/editfns.c: Include sysgrp.h

* src/editfns.c (Fuser_group_name): New defun similar to
Fuser_login_name but for groups.

* src/editfns.c (user_group_name): Actual implementation of
user_group_name. Can be called by other C functions in SXEmacs.

* src/editfns.c (Fuser_gid): Group counterpart to user-uid

* src/editfns.c (Fuser_real_gid): Group counterpart to
user-real-uid

* src/editfns.c (syms_of_editfns): Register new defuns
Fiser_group_name, Fuser_gid, Fuser_real_gid

* src/lisp.h: Add prototype for internal user_group_name

* src/lisp.h: Add declaration of Fuser_group_name

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
5 years agoMac OS fixes from Nelson
Steve Youngs [Fri, 14 Feb 2014 02:09:44 +0000 (12:09 +1000)]
Mac OS fixes from Nelson

* merges:
  Fix SEGV while building autoloads for modules in Mac OS X with gcc-4.8.2

5 years agoFix SEGV while building autoloads for modules in Mac OS X with gcc-4.8.2
Nelson Ferreira [Fri, 14 Feb 2014 01:32:42 +0000 (20:32 -0500)]
Fix SEGV while building autoloads for modules in Mac OS X with gcc-4.8.2

This seems to be a bad interaction between the gcc generated
switch code and with the Mac OS X pthreads stubs, which clear rax
where fun is expected by gcc to reside.

This is the minimal set of changes that fixes the issue, but now I
believe we should comb the codebase for the usage of UNLIKELY and
only keep those that are really useful.

* src/map.c: Refactor the check of NILP(fun) to be outside the
current switch, so there is an additional switch(arity) with just
the NILP(fun) branch of the old one. It was also necessary to
remove the UNLIKELY hint, which was causing the error: Invalid
regexp: "Unmatched ( or \\("

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
5 years ago#'directory-files fix (Closes 163)
Steve Youngs [Thu, 16 Jan 2014 14:03:07 +0000 (00:03 +1000)]
#'directory-files fix (Closes 163)

* bug-163:
  XEmacs compatibility fix in #'directory-files (Closes Bug 163)