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.
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>
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>
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
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>
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>
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
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>
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)
Steve Youngs [Thu, 16 Jan 2014 13:58:16 +0000 (23:58 +1000)]
XEmacs compatibility fix in #'directory-files (Closes Bug 163)
For details see: http://issues.sxemacs.org/show_bug.cgi?id=163
* src/dired.c (directory_files_resultify): Return an unsorted list
when RESULT-TYPE is `non-nil' or `list'.
* src/dired.c (Fdirectory_files): Update doc string.
Signed-off-by: Steve Youngs <steve@sxemacs.org>
Steve Youngs [Wed, 25 Dec 2013 23:31:54 +0000 (09:31 +1000)]
Autoconf warnfix from Nelson
* merges:
Remove annoying autoconf warning
Nelson Ferreira [Wed, 25 Dec 2013 22:41:38 +0000 (17:41 -0500)]
Remove annoying autoconf warning
Under autoconf 2.64 and newer the current autoconf macros of SXEmacs emit the following
warning multiple times:
_LT_SYS_DYNAMIC_LINKER was expanded before it was required
* m4/sxe-libtool.m4 (_SXE_CHECK_LT2): Add AC_REQUIRE for
_LT_SYS_DYNAMIC_LINKER as recommend by
http://www.gnu.org/software/autoconf/manual/autoconf.html#Expanded-Before-Required
Signed-off-by: Nelson Ferreira <njsf@sxemacs.org>
Steve Youngs [Mon, 9 Dec 2013 01:31:22 +0000 (11:31 +1000)]
Texinfo 5 fixes + warn fixes from Nelson
* merges:
Avoid warnings of unused parameter.
Avoid warning about dangling else
Avoid warning about deprecated XKeycodeToKeysym
Do not complain in configure when not in git workspace
Make texinfo 5.x not break the build
Nelson Ferreira [Mon, 9 Dec 2013 00:09:59 +0000 (19:09 -0500)]
Avoid warnings of unused parameter.
The old way of doing if(parameter); elicits other warnings such as if without a body.
While one could "fix" that in clang with placing the ; on the next line, using
SXE_UNUSED seems much saner, as it coveys intent.
* src/ent/ent-mpc.c: move prototype of mpc_set_ui_fr to ent-mpc.h
* src/ent/ent-mpc.h: declare mpc_set_ui_fr for usage by alloc.c
* src/ent/ent-float.c (mark_float): Removed if, marked as SXE_UNUSED
* src/ent/ent-float.c (float_equal): ditto
* src/ent/ent-float.c (ent_rem_FLOAT_T): ditto
* src/ent/ent-float.c (ent_rem_FLOAT_T_INT_T): ditto
* src/ent/ent-gaussian.c (bigg_equal): ditto.
* src/ent/ent-gaussian.c (bigg_hash): ditto.
* src/ent/ent-gaussian.c (bigg_mark): ditto.
* src/ent/ent-gaussian.c (bigg_finalise): ditto.
* src/ent/ent-indef.c (indef_hash): ditto.
* src/ent/ent-mpc.c (bigc_finalise): ditto.
* src/ent/ent-mpfr.c (bigfr_finalise): ditto.
* src/ent/ent.c (default_real_precision_changed): ditto.
* src/alloc.c: include ent-mpc.h when it is defined so that bigc uses the
proper definitions/prototypes
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
Nelson Ferreira [Sun, 8 Dec 2013 23:59:15 +0000 (18:59 -0500)]
Merge remote-tracking branch 'myremote/for-steve' into for-steve
Nelson Ferreira [Sun, 8 Dec 2013 23:58:16 +0000 (18:58 -0500)]
Avoid warning about dangling else
* lib-src/etags.c (get_language_from_filename): Create block scope on
outer if
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
Nelson Ferreira [Sun, 8 Dec 2013 21:05:21 +0000 (16:05 -0500)]
Avoid warning about deprecated XKeycodeToKeysym
* m4/sxe-gui.m4 (SXE_CHECK_XTOOLKITS): Check for XKBlib.h and
if it exists check for XKbKeycodeToKeysym availability
* src/ui/X11/event-Xt.c: Include XKBlib.h if available
* src/ui/X11/event-Xt.c (whatever): Use XKbKeycodeToKeysym instead
of XKeycodeToKeysym if available
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
Nelson Ferreira [Sun, 8 Dec 2013 19:08:31 +0000 (14:08 -0500)]
Do not complain in configure when not in git workspace
* configure.ac: redirect to /dev/null the git describe so that git
error message is not in output.
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
Nelson Ferreira [Sun, 8 Dec 2013 18:59:33 +0000 (13:59 -0500)]
Make texinfo 5.x not break the build
These changes are mostly promoting sections to chapters and subsections to sections.
* info/custom.texi (Declaring Groups): Promote to chapter
* info/custom.texi (Declaring Variables): Ditto.
* info/custom.texi (Declaring Faces): Ditto.
* info/custom.texi (Usage for Package Authors): Ditto.
* info/custom.texi (Utilities): Ditto.
* info/custom.texi (The Init File): Ditto
* info/custom.texi (Wishlist): Ditto
* info/widget.texi (Introduction): Ditto
* info/widget.texi (User Interface): Ditto
* info/widget.texi (Programming Example): Ditto
* info/widget.texi (Setting Up the Buffer): Ditto
* info/widget.texi (Basic Types): Ditto
* info/widget.texi (Sexp Types): Ditto
* info/widget.texi (Widget Properties): Ditto
* info/widget.texi (Defining New Widgets): Ditto
* info/widget.texi (Widget Browser): Ditto
* info/widget.texi (Widget Minor Mode): Ditto
* info/widget.texi (Utilities): Ditto
* info/widget.texi (Widget Wishlist): Ditto
* info/widget.texi (Widget Internals): Ditto
* info/lispref/edebug-inc.texi (Instrumenting Macro Calls): Use
itemize instead of table. Texinfo 5 refuses a table with @bullet.
* info/lispref/faces.texi (Face Properties): Add @item for each paragraph.
* info/sxemacs-faq.texi: Inline tex for removed @hfill
* info/term.texi: remove problematic start @
* info/term.texi: Use {} instead of ()
* info/lispref/packaging.texi (Makefile Targets): Promote to section
* info/sppm.texi (Voting): Ditto
* info/sppm.texi (Coding Style): Ditto.
* info/sppm.texi (Setting up a publicly accessible repo): Ditto
* info/sppm.texi (Setting up a publicly accessible repo): Ditto
* info/widget.texi (Editable text fields): Ditto
* info/widget.texi (The link widget): Ditto
* info/widget.texi (The url-link widget): Ditto
* info/widget.texi (The push-button widget): Ditto
* info/widget.texi (The editable-field widget): Ditto
* info/widget.texi (The menu-choice widget): Ditto
* info/widget.texi (The radio-button-choice widget): Ditto
* info/widget.texi (The item widget): Ditto
* info/widget.texi (The choice-item widget): Ditto
* info/widget.texi (The toggle widget): Ditto
* info/widget.texi (The checkbox widget): Ditto
* info/widget.texi (The checklist widget): Ditto
* info/widget.texi (The editable-list widget): Ditto
* info/widget.texi (The group widget): Ditto
* info/widget.texi (constants): Ditto
* info/widget.texi (generic): Ditto
* info/widget.texi (atoms): Ditto
* info/widget.texi (composite): Ditto
* info/widget.texi (The Widget and Type Structures): Ditto
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
Steve Youngs [Sun, 1 Dec 2013 05:12:03 +0000 (15:12 +1000)]
memory fix from Nelson
* merges:
Fix heap free in __pntw_1dict
Nelson Ferreira [Sun, 1 Dec 2013 01:06:24 +0000 (20:06 -0500)]
Fix heap free in __pntw_1dict
* src/map.c(__pntw_1dict): when array is allocated in the heap, the primary
address is kept in keys, but later vals is freed. This is clearly a bug,
which can corrupt the heap in weird ways that are untraceable.
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
Steve Youngs [Sun, 6 Oct 2013 10:24:54 +0000 (20:24 +1000)]
Revert my tmp workaround for 162
* revert-tmp-fix:
Revert the temporary workaround for bug #162
Steve Youngs [Sun, 6 Oct 2013 10:22:53 +0000 (20:22 +1000)]
Revert the temporary workaround for bug #162
* lisp/build-autoloads.el (find-emod-directories): Revert the
workaround.
* lisp/emod-utils.el (emodule-completions): Ditto.
* lisp/emod-utils.el (list-modules): Ditto.
Signed-off-by: Steve Youngs <steve@sxemacs.org>
Steve Youngs [Sun, 6 Oct 2013 10:11:10 +0000 (20:11 +1000)]
Closes bug #162 from Sebastian
* merges:
Summary: pass decoration triple to mapfam worker routines by value (instead of by-ref) Keywords: fix bug 162
Sebastian Freundt [Sun, 6 Oct 2013 07:56:53 +0000 (07:56 +0000)]
Summary: pass decoration triple to mapfam worker routines by value (instead of by-ref)
Keywords: fix bug 162
This changeset fixes the issues described in bug 162
(http://issues.sxemacs.org/show_bug.cgi?id=162).
The mapfam worker routine __pntw_1seq() (operate pointwise on just one sequence)
gets its decoration values (the initiator, the separator and the terminator) by
value now, i.e. on the stack. Whereas before it got a pointer to a stack-alloc'd
struct in the main mapfam routine.
Gcc 4.8.1 probably changed the memory layout or scope rules for pointers to stack
alloc'd objects slightly, we will never know, as this hasn't been investigated.
Anyway, it's probably good to keep an eye out for similar problems that match
this pattern.
Steve Youngs [Sat, 5 Oct 2013 02:44:50 +0000 (12:44 +1000)]
Temp work-around for bug #162
* bldfix:
Temporary work-around for bug 162
Steve Youngs [Sat, 5 Oct 2013 02:36:57 +0000 (12:36 +1000)]
Temporary work-around for bug 162
http://issues.sxemacs.org/show_bug.cgi?id=162
* lisp/build-autoloads.el (find-emod-directories): Use #'mapconcat
instead of #'mapfam to work-around bug 162
* lisp/emod-utils.el (emodule-completions): Ditto.
* lisp/emod-utils.el (list-modules): Ditto.
Signed-off-by: Steve Youngs <steve@sxemacs.org>
Steve Youngs [Mon, 2 Sep 2013 23:08:37 +0000 (09:08 +1000)]
Add logo XCF
* logo:
Delete XCF's superseded by SXEmacs.xcf
Add the GIMP source xcf for SXEmacs logo/banner
Steve Youngs [Mon, 2 Sep 2013 22:53:39 +0000 (08:53 +1000)]
Delete XCF's superseded by SXEmacs.xcf
Signed-off-by: Steve Youngs <steve@sxemacs.org>
Steve Youngs [Mon, 2 Sep 2013 13:20:31 +0000 (23:20 +1000)]
Add the GIMP source xcf for SXEmacs logo/banner
It is an amalgamation of the 3 xcf files currently in contrib,
namely: banner.sxemacs.xcf sxemacs-grid.xcf sxemacs-nogrid.xcf
Signed-off-by: Steve Youngs <steve@sxemacs.org>
Steve Youngs [Mon, 2 Sep 2013 01:10:11 +0000 (11:10 +1000)]
Add original .xcf logo images
* merges:
Add SXEmacs logo XCF files
Nelson Ferreira [Sun, 1 Sep 2013 22:22:26 +0000 (18:22 -0400)]
Add SXEmacs logo XCF files
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
Steve Youngs [Thu, 29 Aug 2013 15:32:19 +0000 (01:32 +1000)]
Fix the fix for bug 160 from Nelson
* merges:
Bug fix: Fix for bug 160 broke -nw
Nelson Ferreira [Thu, 29 Aug 2013 11:54:46 +0000 (07:54 -0400)]
Bug fix: Fix for bug 160 broke -nw
sxemacs -nw would quit right after startup
* src/lread.c (locate_file_in_directory_mapper): Only close
closure->fd if non-zero, which would be the result of the attempt
to check the file using access.
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
Steve Youngs [Sun, 25 Aug 2013 22:00:42 +0000 (08:00 +1000)]
Closes Bug 161
* merges:
Bug fix: 161 etags munges relative filenames (any path containing "..") in TAGS files
Nelson Ferreira [Sun, 25 Aug 2013 18:33:44 +0000 (14:33 -0400)]
Bug fix: 161 etags munges relative filenames (any path containing "..") in TAGS files
Two bugs fixed here. One was Coverity induced, but another one,
the strcpy -> memmove change is a real issue regarding copying in
overlapping memory.
* lib-src/etags.c (relative_filename): Correct off-by-1 error in
counting down remaining bytes.
* lib-src/etags.c (absoulte_filename): Change strcpy to memmove
since this is a guaranteed overlapping memory copy, and strcpy is
not guaranteed by POSIX to handle it properly.
http://pubs.opengroup.org/onlinepubs/
9699919799/functions/stpcpy.html
"If copying takes place between objects that overlap, the behavior is undefined."
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
Steve Youngs [Sat, 24 Aug 2013 22:34:13 +0000 (08:34 +1000)]
Closes Bug 160
* merges:
Bug-fix: 160 #'package-suppress, `load-suppress-alist' don't suppress anything
Nelson Ferreira [Sat, 24 Aug 2013 21:53:43 +0000 (17:53 -0400)]
Bug-fix: 160 #'package-suppress, `load-suppress-alist' don't suppress anything
There were 3 different bugs conspiring for this:
* lisp/packages.el (package-suppress): the value for filename
added to load-suppress-alist contained the load-file-name instead
of using it as a basis for the directory of the file to exclude.
* src/lread.c (suppressedp_loop): No file was ever being
considered for exclusion because the check for CONSP was being
made against the acons function pointer instead of the _acons_
iteration variable.
* src/lread.c (locate_file_in_directory_mapper): When a file was
suppressed, the value of fd in the closure was left as is. This
not only leaked file descriptors but also made the search end
because in the end this is was the value considered to whether
there was a valid file to load or not, because closure.fd is the
return value of locate_file_in_directory.
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
Steve Youngs [Mon, 12 Aug 2013 07:27:17 +0000 (17:27 +1000)]
contrib upd from Nelson
* merges:
Remove unneeded git-to-steve.sh. Use git-for-steve.sh instead
Nelson Ferreira [Sun, 11 Aug 2013 19:12:27 +0000 (15:12 -0400)]
Remove unneeded git-to-steve.sh. Use git-for-steve.sh instead
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
Steve Youngs [Sat, 10 Aug 2013 23:12:14 +0000 (09:12 +1000)]
Small package-get fix from Nelson
* merges:
Tiny whitespace cleanup
Fix package update from local repository mirror.
Steve Youngs [Sat, 10 Aug 2013 23:09:17 +0000 (09:09 +1000)]
Tiny whitespace cleanup
Signed-off-by: Steve Youngs <steve@sxemacs.org>
Nelson Ferreira [Sat, 3 Aug 2013 19:56:27 +0000 (15:56 -0400)]
Fix package update from local repository mirror.
When updating packages from a local repository, package-get would
attempt to remove the file.
While this is useful behaviour for files downloaded from an update
site, for local directories it is not a good thing ;)
* lisp/package-get.el (package-get): move host to the uppermost
let. Surround all (delete-file full-package-filename) with (unless
(null host)
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
Steve Youngs [Mon, 11 Mar 2013 04:41:34 +0000 (14:41 +1000)]
A few audio fixes/work-arounds from Nelson
* njsf-snd:
Whitespace cleanup
Fix libao usage
Cleanup some jack server interactions
Fix typo in semaphore.h
Fix SXEmacs semaphores so that they deal with spurius pthreads conditional variable wakeups
Fix SoX media replay by closing and reopening stream on rewind because sox_seek is broken
Fix some synchronization issues. Improve audio job debug output
Steve Youngs [Mon, 21 Jan 2013 01:52:24 +0000 (11:52 +1000)]
Whitespace cleanup
Signed-off-by: Steve Youngs <steve@sxemacs.org>
Nelson Ferreira [Sun, 20 Jan 2013 23:44:08 +0000 (18:44 -0500)]
Fix libao usage
* src/media/sound-ao.c (sound_ao_create): Zero out sample format
structure. Newer libao add a matrix field, which when non-null
could cause a crash. This will make ao support more future proof
to pointer dereference in future struct changes
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
Nelson Ferreira [Sun, 20 Jan 2013 22:21:40 +0000 (17:21 -0500)]
Cleanup some jack server interactions
* src/media/sound-jack.c (sound_jack_subthread_create): Properly
close the client upon failure to complete subthread create.
* src/media/sound-jack.c (sound_jack_play): Improve
logging. Properly return status code of 0 upon success and 1 on
failure. Also cleanup the device data of the job.
* src/media/sound-jack.c (sound_jack_change_state): properly set
the state of the job upon start. Add code to the log of the
unknown event message.
* src/media/sound-jack.c (sound_jack_process): Lock the job while
processing the jack requests. Debug log the play state when draining
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
Nelson Ferreira [Sun, 20 Jan 2013 22:17:10 +0000 (17:17 -0500)]
Fix typo in semaphore.h
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
Nelson Ferreira [Sun, 20 Jan 2013 22:14:31 +0000 (17:14 -0500)]
Fix SXEmacs semaphores so that they deal with spurius pthreads conditional variable wakeups
* src/semaphore.h (struct sxe_semaphore_s): add a generation count
* src/semaphore.h (struct sxe_msemaphore_s): ditto
* src/semaphore.h (sxe_msemaphore_init): initialize generation
* src/semaphore.h (sxe_semaphore_init): ditto
* src/semaphore.h (sxe_msemaphore_trigger): increment generation before signal
* src/semaphore.h (sxe_msemaphore_trigger): ditto
* src/semaphore.h (sxe_msemaphore_trigger_all): ditto
* src/semaphore.h (sxe_msemaphore_trigger_all): ditto
* src/semaphore.h (sxe_msemaphore_synchronise): Wait again if
generation is still the same (ie no signal occurred).
* src/semaphore.h (sxe_msemaphore_synchronise): ditto.
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
Nelson Ferreira [Sun, 20 Jan 2013 21:19:07 +0000 (16:19 -0500)]
Fix SoX media replay by closing and reopening stream on rewind because sox_seek is broken
* src/media/media-sox.c (media_sox_rewind): Close and reopen the
media stream if SXE_SOX_CAN_SEEK is not defined or sxe_sox_seek
fails. If reopen fails, cleanup the media to improve handling of
the rest of the media system.
* src/media/media-sox.c (media_sox_read): Improve logging message
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
Nelson Ferreira [Sun, 20 Jan 2013 21:15:36 +0000 (16:15 -0500)]
Fix some synchronization issues. Improve audio job debug output
* src/media/sound.c (make_audio_job): Always initialie the mutex
since some sound backends are multi-threaded and will use the
mutex. Jack and AO are examples.
* src/media/sound.c (make_audio_job): Improve the job log message.
* src/media/sound.c (play-media-stream-synchronously): Improve
play log message to make clear this is synchronous play.
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
Steve Youngs [Sun, 20 Jan 2013 06:59:34 +0000 (16:59 +1000)]
bld-chain fix from Nelson
* merges:
Only include ent-mpfr.h if HAVE_MPFR to fix build when mpfr is not available
Nelson Ferreira [Sat, 19 Jan 2013 22:41:26 +0000 (17:41 -0500)]
Only include ent-mpfr.h if HAVE_MPFR to fix build when mpfr is not available
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
Steve Youngs [Sat, 19 Jan 2013 21:40:42 +0000 (07:40 +1000)]
autogen.sh update from Nelson
* merges:
Allow autogen.sh to do the right thing with newer libtool/autoconf
Nelson Ferreira [Sat, 19 Jan 2013 18:43:40 +0000 (13:43 -0500)]
Allow autogen.sh to do the right thing with newer libtool/autoconf
* autogen.sh (libtool_ver): Force the run of libtoolize --copy
--ltdl before autoreconf so that sxe-libtool.m4 does not cause
an autoreconf error (and therefore no configure generated)
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
Steve Youngs [Wed, 9 Jan 2013 23:33:41 +0000 (09:33 +1000)]
FFI updates from Evgeny
* merges:
files.el: - Check file existance when openning file with `find-file-magic-files-alist'
ffi-wand: "logo" is unsupported format for read
[fix] effi: ffi-slot-offset - calculate offset correctly
Steve Youngs [Sun, 6 Jan 2013 02:31:58 +0000 (12:31 +1000)]
Fix TTY cursor reset problem
* tty-cursor:
Fix the age old problem of TTY cursor being reset on exit
Steve Youngs [Sun, 6 Jan 2013 02:21:45 +0000 (12:21 +1000)]
Fix the age old problem of TTY cursor being reset on exit
This changeset stops SXEmacs from resetting the text cursor to block on
exit on a Linux console. It is actually still reset, but it is reset
correctly and now you'll end up with a "normal" cursor instead of a "very
visible" one.
One side-effect of this change is that SXEmacs on a console will now use a
block cursor, but that just adds consistency because that is how things
are in X11 and Xterm anyway.
* src/ui/TTY/console-tty.h (struct tty_console): Add
`cursor_invisible_' and `hard_cursor_' for invisible and hard to
see cursors.
* src/ui/TTY/redisplay-tty.c (init_tty_for_redisplay): Set
cursor_visible_ to "vs" and cursor_normal_ to "ve" like they
should be according to terminfo(5).
Also add cursor_invisible_ ("vi"), and hard_cursor_ ("HC").
Signed-off-by: Steve Youngs <steve@sxemacs.org>
lg [Fri, 28 Dec 2012 07:01:26 +0000 (11:01 +0400)]
files.el:
- Check file existance when openning file with
`find-file-magic-files-alist'
lg [Fri, 28 Dec 2012 07:00:12 +0000 (11:00 +0400)]
ffi-wand:
"logo" is unsupported format for read
lg [Fri, 28 Dec 2012 06:06:27 +0000 (10:06 +0400)]
[fix] effi: ffi-slot-offset
- calculate offset correctly
[add] effi:
- x86_64 alignment support
Steve Youngs [Sun, 2 Sep 2012 22:09:45 +0000 (08:09 +1000)]
Docstring and Makefile tweak from Nelson
* merges:
Fix docstring for insert-string
Small cleanup of the recursive make calls
Nelson Ferreira [Sun, 12 Aug 2012 22:22:15 +0000 (18:22 -0400)]
Fix docstring for insert-string
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
Nelson Ferreira [Sun, 5 Aug 2012 02:44:11 +0000 (22:44 -0400)]
Small cleanup of the recursive make calls
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
Steve Youngs [Tue, 31 Jul 2012 07:02:50 +0000 (17:02 +1000)]
Fixes bug 158 from Nelson
* merges:
Fix build failure of cl in newer gcc and bison combinations
Fix build process so that subdir failures cause actual failure, even when CFLAGS have a k somewhere...
Nelson Ferreira [Tue, 31 Jul 2012 02:51:14 +0000 (22:51 -0400)]
Fix build failure of cl in newer gcc and bison combinations
* modules/cl/cl-loop.h: Include cl-loop-parser.h only after
cl_loop_sentence_t is defined.
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
Nelson Ferreira [Tue, 31 Jul 2012 02:49:52 +0000 (22:49 -0400)]
Fix build process so that subdir failures cause actual failure, even when CFLAGS have a k somewhere...
* Makefile.am (beta): Use -w MAKEFLAGS instead of RECURSIVE_MAKE_ARGS
* Makefile.am (time-beta): Ditto.
* Makefile.am (time-all): Ditto.
* Makefile.am (time-check): Ditto.
* Makefile.am (build-report): Ditto.
* Makefile.am (time-build-report): Ditto.
* PROBLEMS: Add explanation for failure.
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
Steve Youngs [Sun, 1 Jul 2012 04:23:35 +0000 (14:23 +1000)]
Fix xstrncpy usage, also fixes etags. From Nelson
* merges:
Fix usage of xstrncpy
Simple comment reflow to 80 cols
Fix etags xstrncpy usage, and some other niceties
Nelson Ferreira [Sun, 1 Jul 2012 03:03:17 +0000 (23:03 -0400)]
Fix usage of xstrncpy
* lib-src/fakemail.c (make_file_preface): make sure the len
argument to xstrcpy is always the available buffer len
* lib-src/ootags.c: Only define etags_strchr and etags_strrchr if
configure did not detect the right ones.
* lib-src/ootags.c (consider_token): Ditto
* lib-src/ootags.c (C_entries): Ditto
* lib-src/ootags.c (Pascal_functions): Ditto
* lib-src/ootags.c (Prolog_functions): Ditto
* lib-src/ootags.c (Erlang_functions): Ditto
* lib-src/ootags.c (savenstr): Ditto.
* lib-src/ootags.c (substitute): Properly account for remaining
buffer available.
* lib-src/gnuserv.c (handle_ipc_request): use buffer size instead
of message length for copy. also no need to \0 terminate with
xstrncpy
* lib-src/pop.c (pop_stat): Use xstrncpy here.
* src/dumper.c (pdump_load): No need for \0 termination here.
* src/emacs.c (make_docfile): use remaining size of buffer, not
len of source..
* src/sysdep.h (x__dirname): Use just len. xstrncpy will stop early.
* src/sysdep.h (xdirname): Oops, need +1 for the \0 terminator.
* src/ui/redisplay.c (add_bufbyte_string_runes): Account for the \0 terminator.
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
Nelson Ferreira [Sun, 1 Jul 2012 02:50:55 +0000 (22:50 -0400)]
Simple comment reflow to 80 cols
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
Nelson Ferreira [Sun, 1 Jul 2012 02:28:41 +0000 (22:28 -0400)]
Merge remote-tracking branch 'njsf/for-steve' into for-steve
Nelson Ferreira [Sun, 1 Jul 2012 02:28:19 +0000 (22:28 -0400)]
Fix etags xstrncpy usage, and some other niceties
* lib-src/etags.c: Make etags_strchr, etags_strrchr, etags_strcasecmp,
etags_strncasecmp only be defined if they were not detected by configure.
* lib-src/etags.c(consider_token): Adjust strncpy and string size.
* lib-src/etags.c(C_entries): Ditto.
* lib-src/etags.c(Pascal_functions): Ditto.
* lib-src/etags.c(HTML_labels): Ditto.
* lib-src/etags.c(Prolog_functions): Ditto.
* lib-src/etags.c(Erlang_functions): Ditto.
* lib-src/etags.c(substitute): Properly account for buffer size to
supply to xstrncpy.
* lib-src/etags.c(readline_internal): Only reallocate after size
is enough. Also correct the buffer available supplied to xstrncpy.
* lib-src/etags.c(savenstr): correct the size of buffer parameter
supplied to xstrncpy.
* lib-src/etags.c(linebuffer_setlen): Only reallocate after size
is enough.
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
Steve Youngs [Wed, 27 Jun 2012 06:36:37 +0000 (16:36 +1000)]
Another peanuthorst to horst rename
* quickfix:
Rename peanuthorst to horst in etc/Makefile.am
Steve Youngs [Wed, 27 Jun 2012 06:36:11 +0000 (16:36 +1000)]
Rename peanuthorst to horst in etc/Makefile.am
* etc/Makefile.am (dist_photos_DATA): peanuthorst -> horst
Signed-off-by: Steve Youngs <steve@sxemacs.org>
Steve Youngs [Wed, 27 Jun 2012 06:17:28 +0000 (16:17 +1000)]
PeanutHorst is now Horst
* quickfix:
Rename PeanutHorst to Horst in about.el
Steve Youngs [Wed, 27 Jun 2012 06:16:31 +0000 (16:16 +1000)]
Rename PeanutHorst to Horst in about.el
* lisp/about.el (about-personal-info): PeanutHorst -> Horst.
* lisp/about.el (about-hacker-contribution): Ditto.
Signed-off-by: Steve Youngs <steve@sxemacs.org>
Steve Youngs [Wed, 27 Jun 2012 06:09:56 +0000 (16:09 +1000)]
Photo optimisation from Horst
* merges:
optimised steve's photo, updated horst's photo
Steve Youngs [Wed, 27 Jun 2012 06:05:13 +0000 (16:05 +1000)]
Minor SoX updates
* bug-141:
Minor updates and compiler warning fixes in SoX
Fix compiler warnings in media-sox.c
Steve Youngs [Wed, 27 Jun 2012 05:57:57 +0000 (15:57 +1000)]
Minor updates and compiler warning fixes in SoX
* src/media/media-sox.h (sxe_sox_ssize_t): SoX just uses size_t
these days. So set to that if not HAVE_SOX_SSIZE_T.
* src/media/media-sox.c (media_sox_rewind): SEEK_SET ->
SOX_SEEK_SET.
* src/media/media-sox.c (media_sox_close): Fix format spec.
* src/media/media-sox.c (media_sox_read): Ditto.
* src/media/media-sox.c (media_sox_rewind): Ditto.
Signed-off-by: Steve Youngs <steve@sxemacs.org>
Horst G. Burkhardt III [Wed, 27 Jun 2012 05:05:20 +0000 (15:05 +1000)]
optimised steve's photo, updated horst's photo
Signed-off-by: Horst G. Burkhardt III <horst@sxemacs.org>
Steve Youngs [Tue, 26 Jun 2012 14:40:43 +0000 (00:40 +1000)]
PROBLEMS update from Horst
* merges:
Updated PROBLEMS as per last commit
Cleaning up PROBLEMS file, now it looks like we've been productive since forking; added PROBLEMS.XEmacs for older issues pertaining to XE
Steve Youngs [Tue, 26 Jun 2012 14:39:35 +0000 (00:39 +1000)]
Fix compiler warnings in media-sox.c
* src/media/media-sox.c (media_sox_open): Shush compiler, give
`file_len' unused attribute.
* src/media/media-sox.c (media_sox_read): Ditto for `framesize'.
Signed-off-by: Steve Youngs <steve@sxemacs.org>
Horst G. Burkhardt III [Tue, 26 Jun 2012 14:04:18 +0000 (00:04 +1000)]
Updated PROBLEMS as per last commit
Signed-off-by: Horst G. Burkhardt III <horst@sxemacs.org>
Horst G. Burkhardt III [Tue, 26 Jun 2012 12:49:14 +0000 (22:49 +1000)]
Cleaning up PROBLEMS file, now it looks like we've been productive since forking; added PROBLEMS.XEmacs for older issues pertaining to XE
Signed-off-by: Horst G. Burkhardt III <horst@sxemacs.org>
Steve Youngs [Tue, 26 Jun 2012 06:49:20 +0000 (16:49 +1000)]
Bring back PulseAudio autodetection
* pulse:
Bring back auto-detection of PulseAudio
Steve Youngs [Tue, 26 Jun 2012 06:47:45 +0000 (16:47 +1000)]
Bring back auto-detection of PulseAudio
* configure.ac (with-sound): Re-enable PulseAudio.
* configure.ac (with-pulseaudio): Removed. It is now back in
with-sound.
* configure.ac: Nuke the `pulse_*_version' vars. They weren't
being used for anything.
* src/media/Makefile.am (libmm_a_CFLAGS): Add MM_CFLAGS.
* src/media/sound-pulse.c (stream_write_callback): Set
`resolution', `real_frm_sz', and `ctx' as unused. Shush compiler.
Signed-off-by: Steve Youngs <steve@sxemacs.org>
Steve Youngs [Mon, 25 Jun 2012 23:55:35 +0000 (09:55 +1000)]
Various build related fixes from Rudi
* merges:
bldchn, fix typo, wrong dbusbind.la variables
bldchn, add missing benchmark.el to the dist tarball
bldchn, add missing tests to the dist tarball
Ruediger Meier [Mon, 25 Jun 2012 13:57:17 +0000 (15:57 +0200)]
bldchn, fix typo, wrong dbusbind.la variables
We had such warnings from automake:
modules/dbus/Makefile.am:63: variable `dbus_la_SOURCES' is defined but no program or
modules/dbus/Makefile.am:63: library has `dbus_la' as canonical name (possible typo)
[...]
Ruediger Meier [Mon, 25 Jun 2012 13:53:14 +0000 (15:53 +0200)]
bldchn, add missing benchmark.el to the dist tarball
Note that this benchmark will not be executed by any make target. Should we add
one?
Ruediger Meier [Mon, 18 Jun 2012 11:16:52 +0000 (13:16 +0200)]
bldchn, add missing tests to the dist tarball
Steve Youngs [Mon, 25 Jun 2012 12:42:24 +0000 (22:42 +1000)]
Fix non-dbus build
* dbus-bldfix:
Fix build when dbus is not present.
Steve Youngs [Mon, 25 Jun 2012 12:41:52 +0000 (22:41 +1000)]
Fix build when dbus is not present.
* configure.ac: Put `SXE_EMOD_STATMOD([dbus])' where it can be
called if dbus is present or not.
Signed-off-by: Steve Youngs <steve@sxemacs.org>
Steve Youngs [Mon, 25 Jun 2012 03:43:33 +0000 (13:43 +1000)]
PulseAudio roles
* pulse-roles:
Support "media role" property for PulseAudio devices
Steve Youngs [Mon, 25 Jun 2012 03:41:45 +0000 (13:41 +1000)]
Support "media role" property for PulseAudio devices
With PulseAudio a client can set various properties to tell the server
more about the client. One of these properties is a "media role" which
tells the PulseAudio server what type of media the client is supplying.
For example a mp3 player might set a role of "music", or a movie player
might set a role of "video".
You can't do anything in SXEmacs with roles other than set them, but in
your PulseAudio config you can then do nifty things based on them. Like,
you can get PulseAudio to mute (cork) your "music" streams when you play a
"video" stream.
This changeset allows the user to set the media role via the `:role'
keyword in #'make-audio-device.
* src/media/sound-pulse.c (sound_pulse_data_s): Add new object,
`role'.
* src/media/sound-pulse.c (sound_pulse_create): Parse :role as
well.
* src/media/sound-pulse.c (sound_pulse_finish):
* src/media/sound-pulse.c (sound_pulse_init_mainloop): Set
PULSE_PROP_media.role with the role.
* src/media/sound.c (Fmake_audio_device): Document PulseAudio
roles.
Signed-off-by: Steve Youngs <steve@sxemacs.org>
Steve Youngs [Tue, 19 Jun 2012 08:20:27 +0000 (18:20 +1000)]
Quick typo fix
* typo-fix:
Typo fix
Steve Youngs [Tue, 19 Jun 2012 08:18:52 +0000 (18:18 +1000)]
Typo fix
* lisp/lisp-initd.el (lisp-initd-compile): Typo fix.
Signed-off-by: Steve Youngs <steve@sxemacs.org>
Steve Youngs [Tue, 19 Jun 2012 06:51:26 +0000 (16:51 +1000)]
Fix SoX
* sox-fix:
SoX Fix -- Remove deprecated code.
SoX Fix -- Configure and build
Steve Youngs [Tue, 19 Jun 2012 06:49:51 +0000 (16:49 +1000)]
SoX Fix -- Remove deprecated code.
This changeset removes all the old cruft in our SoX code that we no longer
need to worry about because we enforce a minimum required version.
* src/media/media-sox.h: Remove all the old crusty st_*
* src/media/media-sox.c: Ditto.
Signed-off-by: Steve Youngs <steve@sxemacs.org>
Steve Youngs [Tue, 19 Jun 2012 06:17:07 +0000 (16:17 +1000)]
SoX Fix -- Configure and build
Somewhere along the line our SoX code stopped working. This changeset
brings back SoX support in SXEmacs.
Please Note: There is now a minimum version required for SoX... 14.1.0
* m4/sxe-mm.m4 (SXE_CHECK_SOX_LOCATOR): Nuke it.
* m4/sxe-mm.m4 (SXE_CHECK_SOX_LOCATIONS): Rewrite using pkg-config
voodoo.
* m4/sxe-mm.m4 (_SXE_CHECK_SOX): Simplify. No need to check for
that st rubbish anymore.
* m4/sxe-mm.m4 (SXE_CHECK_SOX_HEADERS): Don't look for st.h.
* m4/sxe-mm.m4 (SXE_CHECK_SOX_LIBS): Remove the st rubbish.
* m4/sxe-mm.m4 (SXE_CHECK_SOX_STRUCTS): Ditto.
Check for struct sox_format_t instead of sox_format.
* src/media/media-sox.c (media_sox_open): HAVE_STRUCT_SOX_FORMAT
-> HAVE_STRUCT_SOX_FORMAT_T
* INSTALL (Packages): Mention that the minimum version of SoX is
now 14.1.0.
* .gitignore: Ignore anything starting with `=' instead of just
`=build'. For us crazy folk who have multiple build directories on
the go at once.
Signed-off-by: Steve Youngs <steve@sxemacs.org>
Steve Youngs [Sun, 17 Jun 2012 23:19:22 +0000 (09:19 +1000)]
SXEmacs, meet Dbus. Dbus, meet SXEmacs
* dbus:
Warning fixes -- dbusbind.
Whitespace cleanup in modules/dbus
Fix more warnings in dbusbind.c
Cosmetic changes to file header/licence
Port GNU/Emacs dbusbind.c to SXEmacs -- Warning fixes
Port GNU/Emacs dbusbind.c to SXEmacs -- Fix most errors.
Port GNU/Emacs dbusbind.c to SXEmacs -- Style changes
Improve D-Bus detection.
Fix dbus build.
True to add files to dbus module makefile
Add D-Bus module as option for with-modules
Add DESCEND clause for dbus module
Initial commit of D-Bus support imported from Emacs trunk revno=106693