sxemacs
4 years agoMake Info-mode usable with UTF-8 info docs.
Steve Youngs [Wed, 26 Feb 2020 05:24:19 +0000 (15:24 +1000)]
Make Info-mode usable with UTF-8 info docs.

This changeset, which I fully admit, is an ugly hack.  Sorry, not
sorry. But it means that UTF-8 info documents are now both readable
and navigable.  Finally I can read info docs again!!

* lisp/info.el (Info-find-file-node): Add a horrible ugly hack to
the horrible ugly hack so that this won't lose when searching a
UTF-8 info file.
(Info-insert-file-contents): Cater for info files that have a
'Local variables' section.
Replace the funky chars throughout the file with their octal
numeric to keep things cleaner.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoUpdate sqlite, taglib, and wand for new 'magic:*' defuns.
Steve Youngs [Mon, 24 Feb 2020 20:50:08 +0000 (06:50 +1000)]
Update sqlite, taglib, and wand for new 'magic:*' defuns.

This updates a few things to use the new and improved ffi-magic.

* lisp/ffi/ffi-sqlite.el (sqlite-file-p): Use #'magic:file to get
the job done.

* lisp/ffi/ffi-wand.el (Wand-file-supported-for-read-p):
Use #'magic:file-image-p to test file type.

* lisp/ffi/ffi-taglib.el (taglib:mimetypes): New, replaces
`taglib:extensions'
(taglib:extensions): Removed.
(taglib:get-tag): Use #'magic:file to test for supported file
formats.
(taglib:list-all-tags): Ditto.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoA major update / rewrite of ffi-magic.el
Steve Youngs [Sun, 23 Feb 2020 13:33:39 +0000 (23:33 +1000)]
A major update / rewrite of ffi-magic.el

This changeset brings a good deal of file(1)'s capabilities.  The
file(1) options that are now supported in some fashion are:

  --apple, -d, -E, -e, --extension, -i, --mime-type,
  --mime-encoding, -k, -L, -p, -r, -s, -v, -z, -Z

Missing is: -P, but hopefully I'll nut that out soon.

The old #'magic:file-type has been made obsolete and has been replaced
with #'magic:file. See its doc for option flags that can be set and
example usage.

A form of error checking is on by default which comes in two waves:

  1) Option flags given are parsed through a sanitiser to help prevent
     causing unknown or unwanted results.  See
     `ffi-magic-sanitise-flags' and `ffi-magic-no-safety' to turn it
     off.

  2) Errors from libmagic and the shell are captured and reported as
     actual errors in SXEmacs.  This can be turned off if required.
     See `ffi-magic-persistent-flags'.

A few convenience functions have also been added:

  o #'magic:file-audio-p
  o #'magic:file-video-p
  o #'magic:file-image-p
  o #'magic:file-text-p

They all do what you'd imagine they would.

There is also the availability of using ffi-magic with
`find-file-magic-files-alist' to auto-detect coding system.  Use it at
your own risk, YMMV, don't blame me if it kicks your dog and eats your
children.  It is not enabled by default because of the mixed results
that I've gotten.  For example, see what file(1) says about any .info
file you have, or indeed even etags.el or info.el.  A single #o177
character in a file will cause it to be reported as binary.

* lisp/ffi/ffi-magic.el (ffi-magic-persistent-flags): New.
(magic-options, ffi-magic-options-list, magic-list): New.
(magic-errno, magic-getflags, magic-setflags): New.
(magic-version, magic:version, magic-descriptor): New.
(magic:getflags, ffi-magic-no-safety): New.
(ffi-magic-sanitise-flags, ffi-magic-flag-value): New.
(magic:setflags, magic:cleanup, magic:error): New.
(magic:file-audio-p, magic:file-video-p): New.
(magic:file-image-p, magic:file-text-p): New.
(magic:file-coding-system-p, magic:find-file-noselect): New.
(magic:find-file-magic-alist-enable): New.
(magic:file-type): Made obsolete, alias to #'magic:file.
(magic:file): Now accepts a 2nd FLAGS arg for setting libmagic
flags. It is interactively accessible via prefix arg, with
completion.
Output can optionally be inserted into the current buffer with a
2nd prefix arg.

* lisp/cl-macs.el (load-time-value): Synced up with XE 21.5's
version as their's doesn't cause byte-compiler warnings.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoAmazing the difference a paren can make, including fix my last commit.
Steve Youngs [Tue, 28 May 2019 12:27:24 +0000 (22:27 +1000)]
Amazing the difference a paren can make, including fix my last commit.

* m4/sxe-libc.m4 (SXE_CHECK_LIBC_VERSION): Add missing paren.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoGet glibc version with a distro-agnostic check.
Steve Youngs [Tue, 28 May 2019 11:34:27 +0000 (21:34 +1000)]
Get glibc version with a distro-agnostic check.

This replaces all the distro specific little tests we had to determine the
glibc version.  It's guaranteed to work on any version of glibc running on
any platform.  It simply calls gnu_get_libc_version().

* m4/sxe-libc.m4 (SXE_CHECK_LIBC_VERSION): Simplify for Linux
glibc.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoAlways use the system malloc (removes gmalloc.c malloc.c).
Steve Youngs [Sun, 26 May 2019 06:15:34 +0000 (16:15 +1000)]
Always use the system malloc (removes gmalloc.c malloc.c).

This changeset removes our in-house malloc.c and gmalloc.c and switches to
always using the system provided malloc.

* src/mem/gmalloc.c: Removed.

* src/mem/malloc.c: Removed.

* info/internals/internals.texi (Low-Level Modules): Nuke
descriptions for gmalloc.c and malloc.c, update description for
free-hook.c

* src/ui/X11/device-x.c (x_delete_device): 'FREE_CHECKING' is
never defined and __free_hook is never used so remove crusty bits
of code conditional to it.

* src/mem/Makefile.am (EXTRA_libmemalloc_a_SOURCES): Remove
gmalloc.c and malloc.c.

* src/mem/free-hook.c: Remove all of the old gmalloc debugging
stuff.

* src/mem/ralloc.c: Use HAVE_GLIBC instead of DOUG_LEA_MALLOC.
(Free_Addr_Block): Use void because caddr_t hasn't been a thing
for at least a hundred years.

* src/regex.c: Use HAVE_GLIBC instead of DOUG_LEA_MALLOC.

* src/alloc.c: Use HAVE_GLIBC instead of DOUG_LEA_MALLOC.
Ditto for GNU_MALLOC.
(malloced_storage_size): Because it's always system malloc, update
this to use GNU malloc accounting when on a glibc system.

* m4/sxe-summary.m4 (SXE_SUMMARY): It's always system malloc now
so no need to say if GNU malloc is used.

* src/emacs.c (main): Use HAVE_MALLOC_WARNING instead of
_NO_MALLOC_WARNING_
Use HAVE_GLIBC instead of DOUG_LEA_MALLOC.
(Fdump_emacs): Don't use disable_free_hook().

* src/mem/vm-limit.c: Use HAVE_MALLOC_WARNING instead of
_NO_MALLOC_WARNING_ and reverse the condition sense.

* m4/sxe-libc.m4 (SXE_CHECK_LIBC): Define HAVE_GLIBC.

* configure.ac: Removed  --with-dlmalloc, --with-system-malloc
Define HAVE_MALLOC_WARNING instead of _NO_MALLOC_WARNING_.
Remove check for malloc_set_state() it's not used anywhere.
Don't give reasons why or not GNU malloc is used because it's
not.
Don't define DOUG_LEA_MALLOC.
Don't add gmalloc.o or malloc.o to MEMALLOC_OBJS.
Define HAVE_LIBMCHECK.
Add -lmcheck to MEMALLOC_LIBS.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoBuild fixes for recent libc versions (post glibc 2.19)
Steve Youngs [Fri, 17 May 2019 15:00:07 +0000 (01:00 +1000)]
Build fixes for recent libc versions (post glibc 2.19)

This fixes two 'undefined reference' errors when building with a recent
glibc.  One in effi.c for 'dlsym', and the other in emacs.c for
'memory_warnings'.

* configure.ac: Fix mmap detection.
Include -ldl in FFI_LIBS.
Ensure that vm-limit.o is added to the objects when using the
system malloc.
Default to using the system malloc.

* m4/sxe-emodffi.m4 (SXE_CHECK_FFI): Include -ldl in FFI_LIBS.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
7 years agoMake #'require's NOERROR arg do its job properly.
Steve Youngs [Wed, 26 Oct 2016 05:29:27 +0000 (15:29 +1000)]
Make #'require's NOERROR arg do its job properly.

* src/fns.c (Frequire): Don't throw an invalid-state error if the
'noerror' arg is non-nil.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
7 years agoAdd the 'noerror' argument to #'require.
Steve Youngs [Tue, 25 Oct 2016 02:36:50 +0000 (12:36 +1000)]
Add the 'noerror' argument to #'require.

* src/fns.c (Frequire): Synched from XE 21.5, adds 'noerror' arg.
From: Andrés Ramírez <sunshavi@fastmail.fm>

Signed-off-by: Steve Youngs <steve@sxemacs.org>
7 years agoEMchat is https as well
Steve Youngs [Sat, 1 Oct 2016 12:53:26 +0000 (22:53 +1000)]
EMchat is https as well

Signed-off-by: Steve Youngs <steve@sxemacs.org>
7 years agoAll of SXEmacs' http URLs are now https. WooHoo!
Steve Youngs [Sat, 1 Oct 2016 12:32:46 +0000 (22:32 +1000)]
All of SXEmacs' http URLs are now https.  WooHoo!

I used this shell snippet  to create this changeset...

for sub in www git issues downloads; do
    git grep -l http://$sub.sxemacs|grep -v ChangeLog.d|
       xargs sed -i "s@\(http\)\(://$sub.sxemacs.org\)@\1s\2@"
done

Signed-off-by: Steve Youngs <steve@sxemacs.org>
7 years agoFix font-lock-add-keywords (Closes bug 184)
Steve Youngs [Thu, 15 Sep 2016 01:24:41 +0000 (11:24 +1000)]
Fix font-lock-add-keywords (Closes bug 184)

* lisp/font-lock.el (font-lock-add-keywords): When compiled, the
keywords are the cdr of font-lock-keywords, not the cadr.
From: Jonathan Martin <jjm@keelhaul.me.uk>

Signed-off-by: Steve Youngs <steve@sxemacs.org>
7 years agoTake care of fallout from updating/fixing #'eval-after-load
Steve Youngs [Sat, 18 Jun 2016 12:08:28 +0000 (22:08 +1000)]
Take care of fallout from updating/fixing #'eval-after-load

* lisp/info.el (Info-file-list-for-emacs): New, just to keep some
FSF/pkgs happy.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
7 years agoLet #'eval-after-load accept symbol for FILE arg
Steve Youngs [Sat, 18 Jun 2016 09:53:23 +0000 (19:53 +1000)]
Let #'eval-after-load accept symbol for FILE arg

While looking into bug 183 I noticed that FSF's #'eval-after-load also
accepts a feature (i.e, a symbol) for the FILE arg.  I personally don't
think that's a wonderful idea, but I did see that a few things in
GNU/Emacs are using it (Tramp, for example).  This change adds rudimentary
support in our #'eval-after-load.  Basically, if FILE is a symbol, look up
a filename from #'feature-file, or use #'symbol-name if that fails.

The doc string was amended accordingly, and a note about the futility of
using #'eval-after-load with dumped lisp was also added.

* lisp/subr.el (eval-after-load): Also accept symbols for FILE
arg.
Add a note to doc string about the futility of using this on
dumped lisp.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
7 years agoMake #'eval-after-load DTRT for dumped lisp (Closes bug 183)
Steve Youngs [Sat, 18 Jun 2016 07:59:37 +0000 (17:59 +1000)]
Make #'eval-after-load DTRT for dumped lisp (Closes bug 183)

* lisp/subr.el (eval-after-load): Make sure FORM is eval'd
immediately if FILE is a dumped lib.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
7 years agoLet's not do "Pre-Release" packages.
Steve Youngs [Sun, 5 Jun 2016 12:13:11 +0000 (22:13 +1000)]
Let's not do "Pre-Release" packages.

Having "Pre-Release" packages and "Official Release" packages was a good
idea back in the early part of 2003 when I added that to XEmacs.  There
was an incredible amount of activity happening in the packages in those
days and bugs were frequently slipping into the packages releases.  Today,
things are different.  The amount of activity in packages, and the number
of users/devs we have it should be easily possible to keep everything in
check without the need for a separate "testing" package hierarchy.

We can always reimplement something along the lines of pre-release
packages at a later date if things get out of hand.

* lisp/menubar-items.el (default-menubar): Remove "Pre-Release"
package menu.

* lisp/package-ui.el (package-ui-pre-release-download-menu):
Remove.

* lisp/package-get.el (package-get-download-sites): Add our FTP,
remove everyone else.
(package-get-pre-release-download-sites): Remove.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
7 years agoAutomake/Libtool warning fix/suppression
Steve Youngs [Wed, 1 Jun 2016 03:18:10 +0000 (13:18 +1000)]
Automake/Libtool warning fix/suppression

This changeset cleans up all of the warnings that our autogen.sh spits
out.  At least on my system with automake 1.15, and libtool 2.4.6.

A possibly controversial change here (read: ugly as hell) is that I've
symlinked a couple of files from `src' into `lib-src'.  The
lib-src/Makefile.am referenced regex.c, regex.h, and alloca.c in 'src'.
That caused automake to freak out and warn that we were using source files
in subdirectories which would become incompatible in the future.  Automake
does have a "subdir-objects" option for this type of thing, but it causes
problems elsewhere in our build chain.

The symlink "fix" is quick, dirty, and easy, however I'm happy to have it
reverted if a neater solution can be found.

* m4/sxe-libtool.m4 (_SXE_CHECK_LT2): Pull in `_LT_COMPILER_PIC'
to fix a swag of warnings about macros being expanded before being
required.

* lib-src/Makefile.am (REGEX_C, ALLOCA_C): Point to files in the
current directory which are symlinks to the originals in `src'.
This prevents a scary warning from automake about files in
subdirectories and future incompatibities.  Automake does have a
"subdir-objects" option, but because we have a specialised build
that causes more problems than it fixes.

* configure.ac (AM_INIT_AUTOMAKE): Use `-Wno-override' and
`-Wno-portability' to suppress harmless and irrelevant, at least
to us, warnings.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
7 years agoDisplay a better version of the truth in the configure summary.
Steve Youngs [Tue, 31 May 2016 04:58:27 +0000 (14:58 +1000)]
Display a better version of the truth in the configure summary.

* configure.ac: Set $with_module_path to something closer to the
truth.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
7 years agoImprove the configure summary output.
Steve Youngs [Mon, 30 May 2016 23:31:51 +0000 (09:31 +1000)]
Improve the configure summary output.

* m4/sxe-summary.m4 (SXE_SUMMARY): Add short caveat about package
paths may be different at runtime.

* configure.ac: Set $with_package_path to something closer to the
truth.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
7 years agoFIX: missing paren
Steve Youngs [Sun, 29 May 2016 01:38:48 +0000 (11:38 +1000)]
FIX: missing paren

Signed-off-by: Steve Youngs <steve@sxemacs.org>
7 years agoDon't use 'make-temp-file', fixes FFI/PUI.
Steve Youngs [Sun, 29 May 2016 01:03:24 +0000 (11:03 +1000)]
Don't use 'make-temp-file', fixes FFI/PUI.

* lisp/ffi/ffi-curl.el (curl:file-exists-p): Use 'make-temp-name'
instead of 'make-temp-file' which may not be available.
(curl:insert-file-contents-literally): Ditto.
(curl:download): #'expand-file-name on the PREFIX arg of
'make-temp-name' so it attempts to avoid name collision.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
7 years agoSeemless integration of ffi-curl based packages install.
Steve Youngs [Sat, 28 May 2016 23:50:59 +0000 (09:50 +1000)]
Seemless integration of ffi-curl based packages install.

With this changeset, PUI uses the same code for retrieving remote package
files for both EFS backed PUI and ffi-curl backed PUI.  As a bonus
to this, the following forms are now available for use when ffi-curl is
loaded...

  (file-exists-p "http://example.com/filename")
  (file-readable-p "http://example.com/filename")
  (insert-file-contents-literally "http://example.com/filename")
  (copy-file "http://example.com/filename" "/local/file")
  (expand-file-name "http://example.com/filename")
  (file-name-directory "http://example.com/filename")
  (file-name-nondirectory "http://example.com/filename")

* lisp/package-get.el (package-get-update-base): Set the
MUST-MATCH arg in the call to #'read-file-name to nil when dealing
with URI style package sites so it more or less does a
#'read-string in those cases.
Maybe save index from URI style package sites as well.
(package-get): Remove the #'curl:download retrieval.  Package
downloading is now seemless regardless of the transport used.
(package-get-remote-filename): Immediately return FILENAME when
that is a URI style path as well.

* lisp/ffi/ffi-curl.el (curl:file-exists-p): New
(curl:file-readable-p): New
(curl:insert-file-contents-literally): New
(curl:copy-file): New
(curl:expand-file-name): New
(curl:file-name-directory): New
(curl:file-name-nondirectory): New
(curl:file-handler-regexp): New
(curl:file-handler): New

Signed-off-by: Steve Youngs <steve@sxemacs.org>
7 years agoSupport http package mirror sites
Steve Youngs [Sat, 21 May 2016 12:22:43 +0000 (22:22 +1000)]
Support http package mirror sites

* curlpui:
  Fix an autoloads problem.
  Update PUI to use #'curl:download when available.

7 years agoFix an autoloads problem.
Steve Youngs [Sat, 21 May 2016 11:37:43 +0000 (21:37 +1000)]
Fix an autoloads problem.

* lisp/package-get.el (package-get-have-curl): Autoload it and set
its value via requiring ffi-curl instead of a featurep test.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
7 years agoUpdate PUI to use ffi-curl
Steve Youngs [Sat, 21 May 2016 03:04:36 +0000 (13:04 +1000)]
Update PUI to use ffi-curl

* pui:
  Update PUI to use #'curl:download when available.

7 years agoImplement a blacklist for problem OpenSSL ciphers.
Steve Youngs [Mon, 16 May 2016 00:08:44 +0000 (10:08 +1000)]
Implement a blacklist for problem OpenSSL ciphers.

Since OpenSSL v1.0.0 was released, a number of ciphers have caused
problems for SXEmacs' ossl, up to and including data corruption.  This
changeset prevents these ciphers from being used.

See: `ossl-cipher-blacklist'

The blacklisted ciphers can still be used if they are first removed from
`ossl-cipher-blacklist', but obviously this is not recommended.

* src/openssl.c (ossl_check_cipher): New. Returns 0 if cipher is
NOT on our blacklist.
(Fossl_available_ciphers): Check cipher with ossl_check_cipher().
(ossl_cipher_fun): Ditto.
(Fossl_bytes_to_key): Ditto.
(Fossl_encrypt): Ditto.
(Fossl_encrypt_file): Ditto.
(Fossl_decrypt): Ditto.
(Fossl_decrypt_file): Ditto.
(Fossl_seal): Ditto.
(Fossl_open): Ditto.
(Fossl_pem_write_key): Ditto.
(Fossl_pem_key): Ditto.
(Fossl_digest_size): Typo fix "cipher" -> "digest".
(vars_of_openssl): New var, Vossl_cipher_blacklist. A list of
ciphers we don't want to use.
(syms_of_openssl): Define all of the blacklisted cipher names.

* tests/automated/openssl-tests.el: Run tests on all available
ciphers and digests.
Make sure use of blacklisted ciphers results in an error.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
7 years agoPrevent Unexpected errors in OpenSSL Testsuite.
Steve Youngs [Tue, 10 May 2016 06:15:17 +0000 (16:15 +1000)]
Prevent Unexpected errors in OpenSSL Testsuite.

For some years now we've been seeing a couple of unexpected errors
cropping up in the OpenSSL tests.  It turns out that certain ciphers
disagree with how we do things, or perhaps OpenSSL itself is buggy.
Either way, what this changeset does is stop those ciphers being used in
the testsuite.

Yes, this is very much a case of sticking our fingers in our ears and
screaming "LA LA LA I'm NOT LISTENING!!".  Expect a real fix in openssl.c
to come in the future.  Hopefully sooner, rather than later.

* tests/automated/openssl-tests.el: Prevent known-bad ciphers from
ruining our testsuite.
Open up the tests to also include ciphers smaller than 128bits,
and all digests. This effectively increases the number of tests
run to more than 200,000.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
7 years agoLast release's ChangeLog
Steve Youngs [Fri, 6 May 2016 11:01:30 +0000 (21:01 +1000)]
Last release's ChangeLog

Signed-off-by: Steve Youngs <steve@sxemacs.org>
7 years agoSXEmacs v22.1.16 is released! v22.1.16
Steve Youngs [Fri, 6 May 2016 08:30:51 +0000 (18:30 +1000)]
SXEmacs v22.1.16 is released!

What can I say, I got tired of waiting and just, well, released.

* info/sxemacs/sxemacs.texi (Top): Update version.

* info/sppm.texi: Update versioning macros.

* autogen.sh (EXPECTED_TREE_VERSION): 22.1.16
(sxemacs_codename): "Hillman Hunter"

* etc/NEWS: Add the news for v22.1.16

Signed-off-by: Steve Youngs <steve@sxemacs.org>
8 years agoFix the fix to really close 181
Steve Youngs [Tue, 15 Mar 2016 00:41:53 +0000 (10:41 +1000)]
Fix the fix to really close 181

* merges:
  Fix MPFR Flog implementation

8 years agoFix MPFR Flog implementation
Nelson Ferreira [Mon, 14 Mar 2016 23:05:46 +0000 (19:05 -0400)]
Fix MPFR Flog implementation

* src/ent/floatfns.c (Flog10): Use RETURN_WHEN_INDEF to check
before dividing by log 10.
(Flog2): Use RETURN_WHEN_INDEF to check before dividing by log 2.
(Flog): Properly add parameters to Flog.  Use
the common RETURN_WHEN_INDEF when Flog return indefinite.
Plus some whitespace fixes.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoClose 181
Steve Youngs [Mon, 14 Mar 2016 07:58:53 +0000 (17:58 +1000)]
Close 181

* merges:
  Fix bug 181: log does not take base into account without mpfr

8 years agoFix bug 181: log does not take base into account without mpfr
Nelson Ferreira [Sat, 12 Mar 2016 17:33:46 +0000 (12:33 -0500)]
Fix bug 181: log does not take base into account without mpfr

* src/ent/floatfns.c (RETURN_WHEN_INDEF): New macro for the common
handling of indefinites in logarithmic functions.
(Flog10): Always define, but throw invalid operation if no
logarithmic primitive is available.
(Flog2): Ditto.
(Flog): Try to use Flog10 or Flog2 if the bases match.  In case of
float operation try to use Flog2 since it is usually more
efficient.

* configure.ac: Check for availability of all the logarithmic
functions.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoError instead of crashing on OGG/MP3 streams
Steve Youngs [Sat, 16 Jan 2016 23:16:54 +0000 (09:16 +1000)]
Error instead of crashing on OGG/MP3 streams

* merges:
  Debug message fix
  Fix crash when using ffmpeg to play mp3 and ogg

8 years agoDebug message fix
Nelson Ferreira [Sat, 16 Jan 2016 22:18:36 +0000 (17:18 -0500)]
Debug message fix

* src/media/media.c (sxe_msf_DBL_down): Minor fix on debug
message, it is DBL not FLT.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoFix crash when using ffmpeg to play mp3 and ogg
Nelson Ferreira [Sat, 16 Jan 2016 22:14:03 +0000 (17:14 -0500)]
Fix crash when using ffmpeg to play mp3 and ogg

* src/media/media-ffmpeg.c (media_ffmpeg_analyse_audio): Refactor
detection of sample size using av_get_bytes_per_sample. Error when
format is not supported instead of silently go ahead and possibly
crash later.

* src/media/media.c (sxe_msf_DBL_up): Implement conversion to
internal format from double.
(sxe_msf_DBL_down): Implement from internal format to double.

* src/media/media.h: Declare double encoded samples.

* m4/sxe-mm.m4 (SXE_CHECK_FFMPEG_LIBS): Detect
av_get_bytes_per_sample and av_get_sample_fmt_string.
(SXE_MM_CHECK_FFMPEG): Enforce presenc of av_get_bytes_per_sample
and av_get_sample_fmt_string.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoFfile_basename(), Ffile_dirname() updates, POSIX compliance
Steve Youngs [Sun, 10 Jan 2016 06:57:31 +0000 (16:57 +1000)]
Ffile_basename(), Ffile_dirname() updates, POSIX compliance

* merges:
  Properly determine the name of preceeding directory
  Expand file name before dirname
  Use xrealpath
  Make basename and dirname POSIX compliant
  Add tests for file-name-directory, etc
  Add file name joiner
  Improve documentation

8 years agoProperly determine the name of preceeding directory
Nelson Ferreira [Sat, 9 Jan 2016 22:54:36 +0000 (17:54 -0500)]
Properly determine the name of preceeding directory

* lisp/build-autoloads.el (find-emod-directories): Use basename of
dirname to determine name of preceeding directory.  Now that
basename and dirname are POSIX compliant this works and is much
more bullet proof than the split of dirname by /.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoExpand file name before dirname
Nelson Ferreira [Sat, 9 Jan 2016 22:52:44 +0000 (17:52 -0500)]
Expand file name before dirname

* lisp/packages.el (package-suppress): Expand file name before
call to file-dirname

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoUse xrealpath
Nelson Ferreira [Sat, 9 Jan 2016 22:51:27 +0000 (17:51 -0500)]
Use xrealpath

* src/dired.c (dired_realpath): Use xrealpath for safety

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoMake basename and dirname POSIX compliant
Nelson Ferreira [Sat, 9 Jan 2016 22:49:05 +0000 (17:49 -0500)]
Make basename and dirname POSIX compliant

* src/fileio.c (Ffile_basename): Improve documentation and make
POSIX compliant by returning full string when there is no slashes.

* src/fileio.c (Ffile_dirname): Improve documentation and make
POSIX compliant by using xdirname.

8 years agoAdd tests for file-name-directory, etc
Nelson Ferreira [Sat, 9 Jan 2016 20:18:26 +0000 (15:18 -0500)]
Add tests for file-name-directory, etc

* tests/automated/lisp-tests.el: Add tests for
file-name-directory, file-name-nondirectory, file-dirname,
file-basename, file-name-join.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoAdd file name joiner
Nelson Ferreira [Sat, 9 Jan 2016 20:16:59 +0000 (15:16 -0500)]
Add file name joiner

* lisp/files.el (file-name-join): Add file-name-join to safely
join directory and filename components.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoImprove documentation
Nelson Ferreira [Sun, 3 Jan 2016 22:19:34 +0000 (17:19 -0500)]
Improve documentation

* src/fileio.c (Ffile_name_directory): Add samples to
documentation, so it is clearer what the outcome would be.
(Ffile_name_nondirectory): Ditto.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoDocument text corruption issue with Xorg ATI driver
Nelson Ferreira [Sun, 3 Jan 2016 21:02:01 +0000 (16:02 -0500)]
Document text corruption issue with Xorg ATI driver

* PROBLEMS: Document text corruption issue with Xorg ATI driver

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoLadies and Gentlement, FFmpeg is back!
Steve Youngs [Fri, 1 Jan 2016 00:19:46 +0000 (10:19 +1000)]
Ladies and Gentlement, FFmpeg is back!

* merges:
  Final set of changes for a working ffmpeg.
  More update to newer ffmpeg API
  Use new virtual IO api
  Cleanup global video state.
  Additional usage of the new api
  Update ffmpeg codec and media constants
  Fix metadata usage
  Sync up FFmpeg -- autoconf

8 years agoFinal set of changes for a working ffmpeg.
Nelson Ferreira [Thu, 31 Dec 2015 19:39:54 +0000 (14:39 -0500)]
Final set of changes for a working ffmpeg.

There are a couple of edges to polish but "works for me" now.

* src/media/media-ffmpeg.c (media_ffmpeg_read): Use
avcodec_decode_audio3 if available. More work is needed to use
avcodec_decod_audio4 because it uses frames which would need to
then be copied to the output buffer.
(my_get_buffer): Use avcodec_default_get_buffer2.
(my_release_buffer): No longer needed.
(stream_component_open): Properly set the thread count and use
avcodec_open2. Set get_buffer2 to my_get_buffer since we
are using the new interface.
(media_ffmpeg_available_formats): Use av_iformat_next.
(stream_open): Defer setting codec options to a later better
understanding of ffmpeg (keep #if 0 the old).
(new_media_ffmpeg_open): Use only the most recent AVIOContext access
method to set eof_reached. If we get issues reported we'll
revisit.
(new_media_ffmpeg_read): Use avio_eof and the most error field of
AVIOContext instead of furl_feof.  Do not unset the interrupt
callback for now.  We may need to revisit the reset of the
callback later.

* m4/sxe-mm.m4 (SXE_CHECK_FFMPEG_LIBS): Properly check for the
avcodec_decode_audio* and define corresponding
HAVE_AVCODEC_AUDIO*.  Also check for av_iformat_next.
(SXE_MM_CHECK_FFMPEG): Check at least one avcodec_decode_audio is
available and av_iformat_next.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoMore update to newer ffmpeg API
Nelson Ferreira [Thu, 31 Dec 2015 19:15:14 +0000 (14:15 -0500)]
More update to newer ffmpeg API

* src/media/media-ffmpeg.h: Add include of avutil/time.h

* src/media/media-ffmpeg.c (AVCODEC_MAX_AUDIO_FRAME_SIZE): Add
define if missing to last known legacy value.
(media_ffmpeg_open): Properly use avcodec_open2
(media_ffmpeg_read): Fix warnings.

* m4/sxe-mm.m4 (SXE_CHECK_FFMPEG_HEADERS): Check also avutil/time.h.
(SXE_CHECK_FFMPEG_LIBS): Check for avformat_free_context and avio_feof.
(SXE_MM_CHECK_FFMPEG): Refactor header check for ease of adding
additional ones.  Verify avformat_free_context and avio_feof are
available.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoUse new virtual IO api
Nelson Ferreira [Thu, 31 Dec 2015 16:58:19 +0000 (11:58 -0500)]
Use new virtual IO api

* src/media/media-ffmpeg.c: Remove the no-longer used
media_ffmpeg_vio_open, media_ffmpeg_vio_close,
media_ffmpeg_vio_write.
(media_ffmpeg_vio_read): Use the new opaque pointer interface of
AVIOContext, which points to our media_data struct directly.
(media_ffmpeg_vio_seek): Ditto.
(media_ffmpeg_open_data): Use the new AVIOContext and allocate one
pointing to media_ffmpeg_vio_read, media_ffmpeg_vio_seek and with
opaque data as our media_data.  Use the context to open the input.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoCleanup global video state.
Nelson Ferreira [Thu, 31 Dec 2015 16:39:44 +0000 (11:39 -0500)]
Cleanup global video state.

* src/media/media-ffmpeg.c: Remove global video state since it is
not used, except to set to NULL.
 (new_media_ffmpeg_read): No need to reset global_video_state, as it is not used.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoAdditional usage of the new api
Nelson Ferreira [Thu, 31 Dec 2015 16:37:06 +0000 (11:37 -0500)]
Additional usage of the new api

* src/media/media-ffmpeg.c (media_ffmpeg_open_file): Use
avformat_open_input and avformat_find_stream_info,
avformat_close_input.
(stream_open): Use avformat_open_input.
(media_ffmpeg_close): Use avformat_close_input.
(media_ffmpeg_open): Use avio_size, avformat_find_stream_info,
av_dump_format and avoid warning.
(new_media_ffmpeg_read): Use avformat_close_input.

* src/media/media-ffmpeg.h: Include avcodec.h

* m4/sxe-mm.m4 (SXE_MM_CHECK_FFMPEG): Verify availability of all
the included ffmpeg headers. And additional functions,
avio_alloc_context, avio_size, av_dump_format.
(SXE_CHECK_FFMPEG_HEADERS): Check also for avcodec.h
(SXE_CHECK_FFMPEG_LIBS): Check for av_dump_format,
avio_alloc_context, avio_size.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoUpdate ffmpeg codec and media constants
Nelson Ferreira [Sun, 27 Dec 2015 22:44:04 +0000 (17:44 -0500)]
Update ffmpeg codec and media constants

* src/media/media-ffmpeg.c (media_ffmpeg_analyse_audio): Use
AV_SAMPLE_* instead of SAMPLE_*.
(media_ffmpeg_open): Use AVMEDIA_TYPE_* instead of CODEC_TYPE_*.
(stream_component_open): Ditto.
(stream_component_close): Ditto.
(new_media_ffmpeg_open): Ditto.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoFix metadata usage
Nelson Ferreira [Sun, 27 Dec 2015 22:33:42 +0000 (17:33 -0500)]
Fix metadata usage

* src/media/media-ffmpeg.h: Add include for dict.h

* src/media/media-ffmpeg.c (media_ffmpeg_streaminfo): Use
AVDictionary.
(dump_stream_info): Ditto.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoSync up FFmpeg -- autoconf
Steve Youngs [Mon, 2 Jul 2012 14:05:57 +0000 (00:05 +1000)]
Sync up FFmpeg -- autoconf

This changeset is the first in a series to sync up our FFmpeg code with a
much more modern and up to date FFmpeg.  This one takes care of the
autoconf side of things.  It is cherry-picked from an earlier ffmpeg-fix
branch, squashing all the configuration related changes.

This changeset also introduces new minimum versions of libavformat and
libavcodec required by SXEmacs:

  libavformat -- 55.12.100
  libavcodec  -- 55.18.102

* configure.ac: Need libs for avcodec as well as avformat. Add
          in libavutil libs.

* m4/sxe-mm.m4 (SXE_MM_CHECK_FFMPEG): Rework it for modern
ffmpeg. Check for av_dict_get() in libavutil.

* m4/sxe-mm.m4 (SXE_CHECK_FFMPEG_HEADERS): Check for avcodec.h
and dict.h as well.

* m4/sxe-mm.m4 (SXE_CHECK_FFMPEG_LIBS): Check for libavutil.

* m4/sxe-mm.m4 (SXE_MM_CHECK_FFMPEG):

8 years agoA place to keep aliases to built-in constants when needed
Steve Youngs [Sat, 26 Dec 2015 02:12:26 +0000 (12:12 +1000)]
A place to keep aliases to built-in constants when needed

* merges:
  Add logged, but missing change from previous commit.
  Segregate aliases to DEFVAR_CONST
  Revert "Fix the fix, make pi a normal lisp var (Closes bug #176)"

8 years agoAdd logged, but missing change from previous commit.
Steve Youngs [Sat, 26 Dec 2015 02:04:53 +0000 (12:04 +1000)]
Add logged, but missing change from previous commit.

* lisp/Makefile.am (corelispels): Add const-aliases.el.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
8 years agoSegregate aliases to DEFVAR_CONST
Nelson Ferreira [Fri, 25 Dec 2015 21:40:24 +0000 (16:40 -0500)]
Segregate aliases to DEFVAR_CONST

* lisp/float-sup.el: Remove alias for pi and e when bigfr is
available. These should now be defined in const-aliases, loaded
by startup.

* lisp/const-aliases.el (pi): Define const as bigfr-pi when bigfr
is available.
(e): Define as euler when bigfr is available.

* lisp/Makefile.am (corelispels): Add const-aliases.el to list of
files.

* lisp/startup.el (load-init-file): Require new const-aliases to
load the consts that cannot be dumped.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoRevert "Fix the fix, make pi a normal lisp var (Closes bug #176)"
Nelson Ferreira [Fri, 25 Dec 2015 21:34:17 +0000 (16:34 -0500)]
Revert "Fix the fix, make pi a normal lisp var (Closes bug #176)"

This reverts commit 528ced5b22b7681234d5228d0a2a02d9a2305312.

8 years agoFix the fix, make pi a normal lisp var (Closes bug #176)
Steve Youngs [Wed, 23 Dec 2015 08:20:22 +0000 (18:20 +1000)]
Fix the fix, make pi a normal lisp var (Closes bug #176)

This change reverts the previous one, and then goes about closing bug 176
in a different way.  Namely, by changing Vpi from being a
DEFVAR_CONST_LISP to a DEFVAR_LISP. IOW, a plain ordinary variable.

* src/ent/ent-mpfr.c (vars_of_ent_mpfr): Set Vpi to be a normal
lisp variable instead of a constant so packages like Calc can
let-bind them for their own evil and misguided purposes. :-)
Vbigfr_pi -> Vpi

* src/ent/ent-mpfr.h: Vbigfr_pi -> Vpi

* lisp/float-sup.el: Revert previous change.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
8 years agoDefine `pi' in elisp, even with bigfr. (Closes bug #176)
Steve Youngs [Mon, 21 Dec 2015 23:35:21 +0000 (09:35 +1000)]
Define `pi' in elisp, even with bigfr. (Closes bug #176)

An elisp constant defined with #'defconst can be let-bound, or otherwise
altered.  But one that is defined in C cannot be.  SXEmacs' pi is
sometimes defined in elisp, and sometimes in C, depending on whether it
has bigfr or not.  The Calc XEmacs package let-binds pi in a couple of
places, resulting in errors when (featurep 'bigfr) => t.

With this change, pi is defined in elisp regardless of bigfr.  But it will
still use bigfr to obtain the value if it is available.

* lisp/float-sup.el: Define pi in elisp, even if we have bigfr,
and in that case set it to what mpfr gives us.
Same for e.

* src/ent/ent-mpfr.c (init_ent_mpfr): Vpi -> Vbigfr_pi
(vars_of_ent_mpfr): Vpi -> Vbigfr_pi, pi -> bigfr-pi

* src/ent/ent-mpfr.h: Vpi -> Vbigfr_pi

Signed-off-by: Steve Youngs <steve@sxemacs.org>
8 years agoMore warning fixes from Nelson
Steve Youngs [Mon, 21 Dec 2015 07:04:30 +0000 (17:04 +1000)]
More warning fixes from Nelson

* merges:
  Fixing more TTY/term warning/prototype craziness.
  More term crazyness warnings fixing.

8 years agoFixing more TTY/term warning/prototype craziness.
Nelson Ferreira [Sun, 20 Dec 2015 21:56:10 +0000 (16:56 -0500)]
Fixing more TTY/term warning/prototype craziness.

* src/ui/TTY/redisplay-tty.c: Include term.h if available.
Define prototypes for tgetent, tgetflag, tgetnum, tgetstr, tputs
if not available.

* configure.ac (CURSES_H_FILE): No default in variable expansion.
(TERMCAP_H_FILE): Ditto.
(TERM_H_FILE): Ditto.
(HAVE_TPARM_PROTOTYPE): Add 'checking' message.
(HAVE_TGETENT_PROTOTYPE): Check if tgetent prototype is available.
(HAVE_TGETFLAG_PROTOTYPE): Check if tgetflag prototype is available.
(HAVE_TGETNUM_PROTOTYPE): Check if tgetnum prototype is available.
(HAVE_TGETSTR_PROTOTYPE): Check if tgetstr prototype is available.
(HAVE_TPUTS_PROTOTYPE): Check if tputs prototype is available

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoMerge branch 'master' into for-steve
Nelson Ferreira [Sun, 20 Dec 2015 20:06:32 +0000 (15:06 -0500)]
Merge branch 'master' into for-steve

8 years agoMore term crazyness warnings fixing.
Nelson Ferreira [Sun, 20 Dec 2015 20:04:34 +0000 (15:04 -0500)]
More term crazyness warnings fixing.

* configure.ac (CURSES_H_FILE): Only define if we have one.
(TERMCAP_H_FILE): Ditto.
(TERM_H_FILE): Ditto.
(HAVE_TPARM_PROTOTYPE): Detect we tparm prototype is available.

* src/ui/TTY/terminfo.c: Only include TERM_H_FILE is we have it.
Properly decide when to define a tparm prototype, based on when
configure detected it.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoEgo Patch -- Tweak my info a little.
Steve Youngs [Tue, 15 Dec 2015 12:08:00 +0000 (22:08 +1000)]
Ego Patch -- Tweak my info a little.

* lisp/about.el (sxemacs-hackers): Add Aidan from XEmacs'
about.el.
(about-current-release-maintainers): Sort.
(about-url-alist): Add a couple of my URLs
(about-personal-info): Update me a little, use updated URLs

Signed-off-by: Steve Youngs <steve@sxemacs.org>
8 years agoCompiler warning fixes from Nelson
Steve Youngs [Sun, 13 Dec 2015 04:58:01 +0000 (14:58 +1000)]
Compiler warning fixes from Nelson

* merges:
  Add missing declaration for make_bigz
  More eliminate silly warnings
  Eliminate silly warnings

8 years agoAdd missing declaration for make_bigz
Nelson Ferreira [Sat, 12 Dec 2015 22:29:30 +0000 (17:29 -0500)]
Add missing declaration for make_bigz

* src/ent/ent-int.h: Add prototype for make_bigz

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoMore eliminate silly warnings
Nelson Ferreira [Sat, 12 Dec 2015 21:45:27 +0000 (16:45 -0500)]
More eliminate silly warnings

* src/search.c (fast_string_match): Use a temporary to avoid
warning about constness.

* src/openssl.c (Fossl_digest_file): Mark set unused but unused
variable.
(Fossl_pem_write_public_key): Ditto.
(Fossl_pem_write_key): Ditto.
(Fossl_ssl_read): Ditto.
(Fossl_ssl_write): Ditto.
(ossl_ssl_prepare_cmeth): Ignore drop of const qualifier. The
alternative of using const for SSL methods everywhere is not
workable if we are to support older OpenSSL versions.
(ossl_ssl_prepare_smeth): Ditto.

* src/alloc.c (make_string_nocopy): Remove unnecessary cast.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoEliminate silly warnings
Nelson Ferreira [Sat, 12 Dec 2015 20:56:06 +0000 (15:56 -0500)]
Eliminate silly warnings

* src/ui/TTY/terminfo.c (emacs_tparam): We don't control tparm
prototype where some have const qualifiers others don't. Turning
the warning off is the sensible choice.

* src/ui/glyphs-eimage.c (gif_instantiate): Small cosmetic change.

* src/ui/X11/event-Xt.c (init_event_Xt_late): We don't control the
prototype for XtAppSetTypeConverter where some have const others don't
so turning the warning off is the sensible option...

* src/ui/X11/device-x.c (Fx_get_font_path): Const all around keeps
compilers happy.

* src/events/event-stream.c (asyneq_handle_non_command_event): Use
a void* temporary to sidestep warning.

* src/regex.c (POP_FAILURE_POINT): Don't cast unnecessarily.
(re_match_2_internal): Turn off const cast warning since the code
will always need it one macro expansion or another. Can't win here
without cheating :)

* src/buffer.c (directory_is_current_directory): Cast
to target type, when conversion fails.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoFix openssl support
Nelson Ferreira [Sat, 12 Dec 2015 18:32:24 +0000 (13:32 -0500)]
Fix openssl support

Let's detect needed features in configure instead of relying on
defines coming from openssl headers since they have proven not
to be reliable

* m4/sxe-crypto.m4 (SXE_OPENSSL_VERSION): Update versions of
openssl supported.
(SXE_TRY_OPENSSL_BIN_PREFIX): Update headers checked.
(SXE_CHECK_OPENSSL_LOCS): Ditto.
(SXE_CHECK_OPENSSL_FEATURES): Check for types and make openssl not
available if missing.

* src/openssl.h: Update guards on includes
(Lisp_SSL_CONN): Assume types are available as
configure should not include openssl for compilation if they
are not available.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoCompiler & warning related updates/fixes from Nelson
Steve Youngs [Sun, 6 Dec 2015 23:26:44 +0000 (09:26 +1000)]
Compiler & warning related updates/fixes from Nelson

* merges:
  Typo fix, 'max_align_t' -> 'sxe_max_align_t'
  Silence warnings about usage of deprecated function when existing alternative is not available.
  Use proper assert in lwlib
  Fix typo on include guard for term.h
  Use proper max in lwlib
  Add some prototype to silence silly warnings.
  Turn off warning about deprecated usage of __free_hook.
  Use min/max from sxe-utils
  Properly handle return from getcwd.
  Shut set but unused warnings.
  Rename our max_align_t to sxe_max_align_t
  Mark variables set but unused.
  Fixup assert definitions.
  Add SXE_SET_UNUSED to shut unused warnings.
  Cleanup utilities. Introduce sxe-memory.h
  Address static inline warning in ase.
  Prevent movemail from proceeding when setuid fails

8 years agoTypo fix, 'max_align_t' -> 'sxe_max_align_t'
Steve Youngs [Sun, 6 Dec 2015 23:23:24 +0000 (09:23 +1000)]
Typo fix, 'max_align_t' -> 'sxe_max_align_t'

* src/ui/specifier.c (aligned_sizeof_specifier): 'max_align_t' ->
`sxe_max_align_t'

Signed-off-by: Steve Youngs <steve@sxemacs.org>
8 years agoSilence warnings about usage of deprecated function when existing alternative is...
Nelson Ferreira [Sun, 6 Dec 2015 22:24:36 +0000 (17:24 -0500)]
Silence warnings about usage of deprecated function when existing alternative is not available.

* src/ui/X11/event-Xt.c (whatever): Add pragma to ignore warning.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoUse proper assert in lwlib
Nelson Ferreira [Sun, 6 Dec 2015 21:54:49 +0000 (16:54 -0500)]
Use proper assert in lwlib

* src/ui/lwlib/lwlib-internal.h: Include sxe-utils instead of
defining assert.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoFix typo on include guard for term.h
Nelson Ferreira [Sun, 6 Dec 2015 21:53:42 +0000 (16:53 -0500)]
Fix typo on include guard for term.h

* src/ui/TTY/terminfo.c: Fix typo

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoUse proper max in lwlib
Nelson Ferreira [Sun, 6 Dec 2015 21:52:42 +0000 (16:52 -0500)]
Use proper max in lwlib

* src/ui/lwlib/lwlib.c: Undefine max macro to use this type safe
alternative.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoAdd some prototype to silence silly warnings.
Nelson Ferreira [Sun, 6 Dec 2015 21:50:21 +0000 (16:50 -0500)]
Add some prototype to silence silly warnings.

* src/effi.c(ffi_make_callback_x86): Add  prototype.
* src/media/sound-jack.c (demux_internal): Ditto.
* src/mule/file-coding.c (autodetect_real_coding_system): Ditto.
* src/print.c (float_to_string): Ditto.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoTurn off warning about deprecated usage of __free_hook.
Nelson Ferreira [Sun, 6 Dec 2015 21:46:36 +0000 (16:46 -0500)]
Turn off warning about deprecated usage of __free_hook.

Since this is to try and avoid crashes on shutdown, it will either
be available and work, or linking will fail, which will be detected
by configure, and thus we will not use it.

* configure.ac: Add HAVE_FREE_HOOK when __free_hook is available.
Also fix detection of __after_morecore_hook.
* src/emacs.c (voodoo_free_hook): Ignore the warning about
deprecated variable.
* src/emacs.c (Fkill_emacs): Ditto.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoUse min/max from sxe-utils
Nelson Ferreira [Sun, 6 Dec 2015 21:10:33 +0000 (16:10 -0500)]
Use min/max from sxe-utils

* src/ui/lwlib/xlwmenu.c: Include sxe-utils and remove the current
max macro.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoProperly handle return from getcwd.
Nelson Ferreira [Sun, 6 Dec 2015 21:05:30 +0000 (16:05 -0500)]
Properly handle return from getcwd.

* src/realpath.c (xrealpath): Is getcwd returns NULL, also return
NULL.  If we can't determine the cwd, then any relative path
processing fails.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoShut set but unused warnings.
Nelson Ferreira [Sun, 6 Dec 2015 21:02:46 +0000 (16:02 -0500)]
Shut set but unused warnings.

These are in the code for debug/inspection purposes.

* src/ui/lwlib/xlwgauge.c (GaugeExpose): Use SXE_SET_UNUSED.

* src/ui/lwlib/xlwcheckbox.c (DrawCheck):Ditto.

* src/sysdep.c (tty_init_sys_modes_on_device)
(tty_reset_sys_modes_on_device): Ditto.

* src/regex.c (re_match_2_internal): Ditto.

* src/mule/file-coding.c (Fdefine_coding_system_alias): Ditto.

* src/media/sound-oss.c (sound_oss_handle_aj_events): Ditto.

* src/media/sound-jack.c (sound_jack_handle_aj_events)
(sound_jack_process): Ditto.

* src/media/sound-ao.c (sound_ao_handle_aj_events): Ditto.

* src/media/sound-alsa.c (sound_alsa_handle_aj_events): Ditto.

* src/media/media-sndfile.c (media_sndfile_open): Ditto.

* src/media/media-mad.c (media_mad_read): Ditto.

* src/media/media-internal.c (media_internal_analyse_stream): Ditto.

* src/emacs.c (Fdump_emacs): Ditto.

* src/bytecode.c (execute_optimized_program): Ditto.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoRename our max_align_t to sxe_max_align_t
Nelson Ferreira [Sun, 6 Dec 2015 18:03:28 +0000 (13:03 -0500)]
Rename our max_align_t to sxe_max_align_t

This is needed because newer compilers now ship with this
symbol.

* src/sxe-utils.h: Rename max_align_t to sxe_max_align_t
* src/dumper.c (pdump_get_entry_list): Use sxe_max_align_t
(pdump_scan_by_alignment): Ditto.
(pdump): Ditto.
* src/opaque.c (aligned_sizeof_opaque): Ditto.
* src/opaque.h (Lisp_Opaque): Ditto.
* src/specifier.h (Lisp_Specifier): Ditto.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoMark variables set but unused.
Nelson Ferreira [Sun, 27 Sep 2015 21:35:16 +0000 (17:35 -0400)]
Mark variables set but unused.

* src/lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6): Mark elt as unused.
(PRIVATE_EXTERNAL_ALIST_LOOP_8): Set elt_car and elt_cdr as unused.
* src/mule/mule-ccl.c (CCL_WRITE_STRING): Set bytes as unused.
* src/ui/X11/dialog-x.c (dbox_descriptor_to_widget_value): Set
title as unused.
* src/ui/X11/glyphs-x.c (x_widget_instantiate): Set nm as unused.
* src/ui/X11/gui-x.c (button_item_to_widget_value): Set intlen as
unused.
* src/ui/X11/objects-x.c (x_font_instance_properties): Set
name_len as unused.
* src/ui/lwlib/lwlib-Xlw.c (xlw_update_one_widget): Set mw as
unused.
* src/ui/lwlib/xlwtabs.c (TabsResize): Set tab as unused.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoFixup assert definitions.
Nelson Ferreira [Sun, 27 Sep 2015 21:28:23 +0000 (17:28 -0400)]
Fixup assert definitions.

* src/sxe-utils.h: Use assert_failed only when compiling emacs
itself.  Also make assert a proper no-op expression, i.e.,
(void)0.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoAdd SXE_SET_UNUSED to shut unused warnings.
Nelson Ferreira [Sun, 27 Sep 2015 21:26:39 +0000 (17:26 -0400)]
Add SXE_SET_UNUSED to shut unused warnings.

* src/sxe-utils.h (SXE_SET_UNUSED): Define macro to mark variables
set but unused, aka, dummy vars.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoCleanup utilities. Introduce sxe-memory.h
Nelson Ferreira [Sun, 27 Sep 2015 21:24:04 +0000 (17:24 -0400)]
Cleanup utilities. Introduce sxe-memory.h

Move all the memory related utilities to sxe-memory.h so that
sxe-utils.h can be included in contexts where the memory utils
are not welcome.

* src/sxemacs.h: Remove include for sxe-utils.h, lisp.h already
does it.
* src/lisp.h: Include new sxe-memory.h
* src/sxe-utils.h: Remove xnew, xnew_atomic, xnew_array,
xnew_atomic_array, xnew_and_zero, xzero, xnew_array_and_zero,
xrealloc_array, alloca_array, xstrdup
* src/sxe-memory.h: Add definitions removed from sxe-utils.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoAddress static inline warning in ase.
Nelson Ferreira [Sun, 27 Sep 2015 21:14:52 +0000 (17:14 -0400)]
Address static inline warning in ase.

* modules/ase/ase-neighbourhood.h: Use extern_inline.
(ase_neighbourhood_point): Move definition to header.
(ase_neighbourhood_radius): Ditto.
(ase_neighbourhood_rational_measure): Ditto.
(ase_neighbourhood_lebesgue_measure): Ditto.
(_ase_neighbourhood_lebesgue): Inline dependency hoisted.
(_ase_neighbourhood_update_lebesgue): Ditto.
(_ase_neighbourhood_rational): Ditto.
(_ase_neighbourhood_update_rational): Ditto.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoPrevent movemail from proceeding when setuid fails
Nelson Ferreira [Sun, 27 Sep 2015 21:10:45 +0000 (17:10 -0400)]
Prevent movemail from proceeding when setuid fails

* lib-src/movemail.c (main): Exit is setuid fails

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
8 years agoMerge branch 'master' into for-steve
Nelson Ferreira [Sat, 26 Sep 2015 15:41:17 +0000 (11:41 -0400)]
Merge branch 'master' into for-steve

8 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

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

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