sxemacs
8 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>
8 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>
8 years agoMerge branch 'xdg-init'
Steve Youngs [Sat, 9 May 2015 21:23:55 +0000 (07:23 +1000)]
Merge branch 'xdg-init'

8 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>
8 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.

8 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>
8 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>
10 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

10 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>
10 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>
10 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

10 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>
10 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)

10 years agoXEmacs 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>
10 years agoAutoconf warnfix from Nelson
Steve Youngs [Wed, 25 Dec 2013 23:31:54 +0000 (09:31 +1000)]
Autoconf warnfix from Nelson

* merges:
  Remove annoying autoconf warning

10 years agoRemove 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>
10 years agoTexinfo 5 fixes + warn fixes from Nelson
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

10 years agoAvoid warnings of unused parameter.
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>
10 years agoMerge remote-tracking branch 'myremote/for-steve' into for-steve
Nelson Ferreira [Sun, 8 Dec 2013 23:59:15 +0000 (18:59 -0500)]
Merge remote-tracking branch 'myremote/for-steve' into for-steve

10 years agoAvoid warning about dangling else
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>
10 years agoAvoid warning about deprecated XKeycodeToKeysym
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>
10 years agoDo not complain in configure when not in git workspace
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>
10 years agoMake texinfo 5.x not break the build
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>
10 years agomemory fix from Nelson
Steve Youngs [Sun, 1 Dec 2013 05:12:03 +0000 (15:12 +1000)]
memory fix from Nelson

* merges:
  Fix heap free in __pntw_1dict

10 years agoFix 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>
10 years agoRevert my tmp workaround for 162
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

10 years agoRevert 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>
10 years agoCloses bug #162 from Sebastian
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

10 years agoSummary: pass decoration triple to mapfam worker routines by value (instead of by...
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.

10 years agoTemp work-around for bug #162
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

10 years agoTemporary 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>
10 years agoAdd logo XCF
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

10 years agoDelete XCF's superseded by SXEmacs.xcf
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>
10 years agoAdd the GIMP source xcf for SXEmacs logo/banner
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>
10 years agoAdd original .xcf logo images
Steve Youngs [Mon, 2 Sep 2013 01:10:11 +0000 (11:10 +1000)]
Add original .xcf logo images

* merges:
  Add SXEmacs logo XCF files

10 years agoAdd 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>
10 years agoFix the fix for bug 160 from Nelson
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

10 years agoBug 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>
10 years agoCloses Bug 161
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

10 years agoBug 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>
10 years agoCloses Bug 160
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

10 years agoBug-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>
10 years agocontrib upd from Nelson
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

10 years agoRemove 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>
10 years agoSmall package-get fix from Nelson
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.

10 years agoTiny whitespace cleanup
Steve Youngs [Sat, 10 Aug 2013 23:09:17 +0000 (09:09 +1000)]
Tiny whitespace cleanup

Signed-off-by: Steve Youngs <steve@sxemacs.org>
10 years agoFix package update from local repository mirror.
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>
11 years agoA few audio fixes/work-arounds from Nelson
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

11 years agoWhitespace cleanup
Steve Youngs [Mon, 21 Jan 2013 01:52:24 +0000 (11:52 +1000)]
Whitespace cleanup

Signed-off-by: Steve Youngs <steve@sxemacs.org>
11 years agoFix libao usage
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>
11 years agoCleanup some jack server interactions
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>
11 years agoFix typo in semaphore.h
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>
11 years agoFix SXEmacs semaphores so that they deal with spurius pthreads conditional variable...
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>
11 years agoFix SoX media replay by closing and reopening stream on rewind because sox_seek is...
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>
11 years agoFix some synchronization issues. Improve audio job debug output
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>
11 years agobld-chain fix from Nelson
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

11 years agoOnly 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>
11 years agoautogen.sh update from Nelson
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

11 years agoAllow 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>
11 years agoFFI updates from Evgeny
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

11 years agoFix TTY cursor reset problem
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

11 years agoFix 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>
11 years agofiles.el:
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'

11 years agoffi-wand:
lg [Fri, 28 Dec 2012 07:00:12 +0000 (11:00 +0400)]
ffi-wand:
  "logo" is unsupported format for read

11 years ago[fix] effi: ffi-slot-offset
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

11 years agoDocstring and Makefile tweak from Nelson
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

11 years agoFix docstring for insert-string
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>
11 years agoSmall cleanup of the recursive make calls
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>
11 years agoFixes bug 158 from Nelson
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...

11 years agoFix build failure of cl in newer gcc and bison combinations
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>
11 years agoFix build process so that subdir failures cause actual failure, even when CFLAGS...
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>
11 years agoFix xstrncpy usage, also fixes etags. From Nelson
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

11 years agoFix usage of xstrncpy
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>
11 years agoSimple comment reflow to 80 cols
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>
11 years agoMerge remote-tracking branch 'njsf/for-steve' into for-steve
Nelson Ferreira [Sun, 1 Jul 2012 02:28:41 +0000 (22:28 -0400)]
Merge remote-tracking branch 'njsf/for-steve' into for-steve

11 years agoFix etags xstrncpy usage, and some other niceties
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>
11 years agoAnother peanuthorst to horst rename
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

11 years agoRename 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>
11 years agoPeanutHorst is now Horst
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

11 years agoRename 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>
11 years agoPhoto optimisation from Horst
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

11 years agoMinor SoX updates
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

11 years agoMinor updates and compiler warning fixes in SoX
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>
11 years agooptimised steve's photo, updated horst's photo
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>
11 years agoPROBLEMS update from Horst
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

11 years agoFix compiler warnings in media-sox.c
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>
11 years agoUpdated PROBLEMS as per last commit
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>
11 years agoCleaning up PROBLEMS file, now it looks like we've been productive since forking...
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>
11 years agoBring back PulseAudio autodetection
Steve Youngs [Tue, 26 Jun 2012 06:49:20 +0000 (16:49 +1000)]
Bring back PulseAudio autodetection

* pulse:
  Bring back auto-detection of PulseAudio

11 years agoBring 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>
11 years agoVarious build related fixes from Rudi
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

11 years agobldchn, fix typo, wrong dbusbind.la variables
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)
[...]

11 years agobldchn, add missing benchmark.el to the dist tarball
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?

11 years agobldchn, add missing tests to the dist tarball
Ruediger Meier [Mon, 18 Jun 2012 11:16:52 +0000 (13:16 +0200)]
bldchn, add missing tests to the dist tarball

11 years agoFix non-dbus build
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.

11 years agoFix 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>
11 years agoPulseAudio roles
Steve Youngs [Mon, 25 Jun 2012 03:43:33 +0000 (13:43 +1000)]
PulseAudio roles

* pulse-roles:
  Support "media role" property for PulseAudio devices

11 years agoSupport "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>
11 years agoQuick typo fix
Steve Youngs [Tue, 19 Jun 2012 08:20:27 +0000 (18:20 +1000)]
Quick typo fix

* typo-fix:
  Typo fix

11 years agoTypo 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>