Glenn Morris [Tue, 5 Nov 2013 02:58:40 +0000 (21:58 -0500)]
Get rid of --chdir usage in test/automated
* test/automated/Makefile.in (EMACSOPT): Move -L here.
(emacs): Set EMACS_TEST_DIRECTORY in the environment.
(setwins): Don't assume called from srcdir. Remove legacy stuff.
(.el.elc): No more need to pass -L here.
(compile-main): Get rid of sub-shell and cd.
(compile-clean, check): Get rid of cd.
Glenn Morris [Tue, 5 Nov 2013 02:22:00 +0000 (21:22 -0500)]
* test/automated/eieio-tests.el (eieio-test-37-persistent-classes):
Remove test that makes no sense.
It simply loads a file that contains some tests.
Loading the file does not run the tests, and the test are already
being run independently (which obviously involves loading the file),
since every .el file in this directory is automatically used in that way.
Stefan Monnier [Mon, 4 Nov 2013 19:14:58 +0000 (14:14 -0500)]
* lisp/progmodes/python.el: Fix up last change.
(python-shell--save-temp-file): New function.
(python-shell-send-string): Use it. Remove `msg' arg. Don't assume
`string' comes from the current buffer.
(python-shell-send-string-no-output): Remove `msg' arg.
(python--use-fake-loc): New var.
(python-shell-buffer-substring): Obey it. Try to compensate for the
extra coding line added by python-shell--save-temp-file.
(python-shell-send-region): Use python-shell--save-temp-file and
python-shell-send-file directly. Add `nomain' argument.
(python-shell-send-buffer): Use python-shell-send-region.
(python-electric-pair-string-delimiter): New function.
(python-mode): Use it.
Eli Zaretskii [Mon, 4 Nov 2013 17:30:33 +0000 (19:30 +0200)]
Fix bug #15260 with building and installing Emacs in non-ASCII directories.
src/xdisp.c (message3_nolog, message_with_string): Encode the string
before writing it to the terminal in a non-interactive session.
src/lread.c (openp): If both FILENAME and SUFFIX are unibyte, make
sure we concatenate them into a unibyte string.
src/fileio.c (make_temp_name): Encode PREFIX, and decode the
resulting temporary name before returning it to the caller.
(Fexpand_file_name): If NAME is pure-ASCII and DEFAULT_DIRECTORY
is a unibyte string, convert NAME to a unibyte string to ensure
that the result is also a unibyte string.
src/emacs.c (init_cmdargs): Use build_unibyte_string to make sure we
create unibyte strings from default paths and directory/file
names.
src/coding.h (ENCODE_FILE): Do not attempt to encode a unibyte
string.
src/callproc.c (init_callproc): Use build_unibyte_string to make
sure we create unibyte strings from default paths and
directory/file names.
src/buffer.c (init_buffer): Don't store default-directory of
*scratch* in multibyte form. The original problem which led to
that is described in
http://lists.gnu.org/archive/html/emacs-pretest-bug/2004-11/msg00532.html,
but it was solved long ago.
lisp/startup.el (normal-top-level): Move setting eol-mnemonic-unix,
eol-mnemonic-mac, eol-mnemonic-dos, and also setup of the locale
environment and decoding all of the default-directory's to here
from command-line.
(command-line): Decode also argv[0].
lisp/loadup.el: Error out if default-directory is a multibyte string
when we are dumping.
lisp/Makefile.in (emacs): Don't set LC_ALL=C.
leim/Makefile.in (RUN_EMACS): Don't set LC_ALL=C.
configure.ac: Don't disallow builds in non-ASCII directories.
Michael Albinus [Mon, 4 Nov 2013 14:32:40 +0000 (15:32 +0100)]
Fix problems found while writing a test suite.
* net/tramp.el (tramp-file-name-regexp-unified): Simplify.
(tramp-file-name-for-operation): Use `tramp-tramp-file-p'.
(tramp-handle-substitute-in-file-name): Let-bind `process-environment'
to nil when running original file name handler. Otherwise,
there are problems with constructs like "$$FOO".
* net/tramp-sh.el (tramp-do-copy-or-rename-file): Use correct prefix
for `localname'.
Bozhidar Batsov [Mon, 4 Nov 2013 13:10:49 +0000 (15:10 +0200)]
* lisp/helpers.el: New library for misc helper functions.
(hash-table-keys): New function returning a list of hash keys.
(hash-table-values): New function returning a list of hash values.
Paul Eggert [Mon, 4 Nov 2013 06:09:03 +0000 (22:09 -0800)]
Port to stricter C99 platforms.
Especially, C99 prohibits nesting a struct X inside struct Y if
struct X has a flexible array member.
Also, merge from gnulib, incorporating:
2013-11-03 intprops: port to Oracle Studio c99
* lib/intprops.h: Update from gnulib.
* src/alloc.c (struct sdata): New type.
(sdata): Implement in terms of struct sdata.
Remove u member; all uses replaced by next_vector, set_next_vector.
(SDATA_SELECTOR, SDATA_DATA, SDATA_DATA_OFFSET): Adjust to sdata change.
(SDATA_DATA_OFFSET): Now a constant, not a macro.
(struct sblock): Rename first_data member to data, which is now
a flexible array member. All uses changed.
(next_vector, set_next_vector, large_vector_vec): New functions.
(vector_alignment): New constant.
(roundup_size): Make it a multiple of ALIGNOF_STRUCT_LISP_VECTOR, too.
(struct large-vector): Now merely a NEXT member, since the old approach
ran afoul of stricter C99. All uses changed to use
large_vector_vec or large_vector_offset.
(large_vector_offset): New constant.
* src/dispnew.c: Include tparam.h, for tgetent.
Do not include term.h; no longer needed.
* src/gnutls.c (Fgnutls_boot): Don't continue after calling a _Noreturn.
* src/lisp.h (ENUM_BF) [__SUNPRO_C && __STDC__]: Use unsigned int.
(struct Lisp_Vector): Use a flexible array member for contents,
instead of a union with a member that is an array of size 1.
All uses changed.
(ALIGNOF_STRUCT_LISP_VECTOR): New constant, to make up for the
fact that the struct no longer contains a union.
(struct Lisp_Misc_Any, struct Lisp_Marker, struct Lisp_Overlay)
(struct Lisp_Save_Value, struct Lisp_Free):
Use unsigned, not int, for spacers, to avoid c99 warning.
(union specbinding): Use unsigned, not bool, for bitfield, as
bool is not portable to pre-C99 hosts.
* lisp/progmodes/cperl-mode.el (cperl-font-lock-fontify-region-function):
Don't infloop when expanding region over `multiline' syntax-type that
begins a line.
Stefan Monnier [Mon, 4 Nov 2013 03:06:54 +0000 (22:06 -0500)]
* lisp/rect.el (rectangle-mark-mode): Rename from rectangle-mark.
Make it into a proper minor mode.
(rectangle--region): (implicitly) rename to rectangle-mark-mode.
(rectangle-mark-mode-map): New keymap.
(rectangle--highlight-for-redisplay): Fix some corner cases.
Stefan Monnier [Sun, 3 Nov 2013 22:56:03 +0000 (17:56 -0500)]
* lisp/emacs-lisp/smie.el (smie-rule-parent): Always call
smie-indent-virtual rather than only for hanging tokens.
(smie--next-indent-change): New helper command.
* lisp/progmodes/ruby-mode.el (ruby-smie--rule-parent-skip-assign): Remove.
(ruby-smie-rules): Use smie-rule-parent instead.
Glenn Morris [Sat, 2 Nov 2013 20:54:08 +0000 (13:54 -0700)]
test/automated: Use relative filename for emacs executable
* Makefile.in (check): Depend on all.
* test/automated/Makefile.in (abs_top_builddir): Remove variable.
(EMACS): Use a relative file name.
(lisp-compile): Remove (assume it's up-to-date).
(compile-main): Do not run lisp-compile.
(check): Use --chdir.
Glenn Morris [Sat, 2 Nov 2013 19:56:54 +0000 (12:56 -0700)]
* automated/Makefile.in (test): Remove variable.
(compile-main, compile-clean, compile-always, bootstrap-clean)
(check): Use srcdir rather than $test. Check cd return value.
(compile-always): Depend on bootstrap-clean.
Glenn Morris [Sat, 2 Nov 2013 19:50:41 +0000 (12:50 -0700)]
Minor simplifications for test/automated/Makefile
* test/automated/Makefile.in (top_builddir, abs_test, abs_lispsrc, lisp):
Remove variables.
(emacs): Use abs_top_srcdir, abs_srcdir rather than abs_lispsrc, abs_test.
(lisp-compile): Use ../../lisp rather than $lisp.
Glenn Morris [Sat, 2 Nov 2013 19:41:33 +0000 (12:41 -0700)]
Use relative filenames in TAGS files.
* src/Makefile.in (abs_srcdir): Remove it again.
(.PHONY): Remove frc.
(maintainer-clean): No more TAGS-LISP file.
(TAGS): Pass relative file names to etags.
(../lisp/TAGS): Rename from TAGS-LISP. Work in ../lisp.
* lisp/Makefile.in (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3)
(lisptagsfiles4, TAGS): Use relative file names.
(TAGS-LISP): Remove.
(maintainer-clean): No more TAGS-LISP file.
* lwlib/Makefile.in (abs_srcdir): Remove it again.
(ctagsfiles, TAGS): Use relative filenames.
Glenn Morris [Sat, 2 Nov 2013 19:18:50 +0000 (12:18 -0700)]
Small Makefile cleanup mainly related to tags file generation
* src/Makefile.in (abs_srcdir): New, set by configure.
(maintainer-clean): Remove pointless echo. That should be in the
top-level Makefile, if anywhere. Delete TAGS-LISP.
(extraclean): No s/ and m/ directories for some time.
(TAGS): Remove no-longer-defined S_FILE.
Pass absolute filenames to etags once more.
(TAGS-LISP, $(lwlibdir)/TAGS): Correctly pass ETAGS to sub-makes.
($(lwlibdir)/TAGS): Remove useless subshell, check cd return value.
* lisp/Makefile.in (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3)
(lisptagsfiles4): Use absolute filenames again.
(TAGS, TAGS-LISP): Not everything needs to run in one line.
Remove all *loaddefs files, not just the first. Remove esh-groups.
(maintainer-clean): Delete TAGS, TAGS-LISP.
* lwlib/Makefile.in (abs_srcdir): New, set by configure.
(ETAGS, ctagsfiles): New variables.
(TAGS): Use ETAGS, ctagsfiles. Use absolute filenames again.
Dmitry Gutov [Sat, 2 Nov 2013 05:18:11 +0000 (09:18 +0400)]
* lisp/progmodes/ruby-mode.el (ruby-smie--rule-parent-skip-assign): New
function, replacement for `smie-rule-parent' for when we want to
skip over our direct parent if it's an assignment token..
(ruby-smie-rules): Use it.
* src/xfaces.c: Declare color_distance.
(QCdistant_foreground): New variable.
(NEAR_SAME_COLOR_THRESHOLD): New define.
(load_color2): New function.
(load_color): Call load_color2.
(load_face_colors): Call load_color2 and if distant-color is specified
calculate distant and use distant-color if colors are near.
(LFACE_DISTANT_FOREGROUND): New define.
(merge_face_ref, Finternal_set_lisp_face_attribute)
(Finternal_get_lisp_face_attribute)
(x_supports_face_attributes_p): Handle distant-foreground similar to
foreground.
(syms_of_xfaces): DEFSYM QCdistant_foreground.
Tassilo Horn [Fri, 1 Nov 2013 10:27:21 +0000 (11:27 +0100)]
Allow multiple bibliographies when BibLaTeX is used rathen than
BibTeX.
* textmodes/reftex-parse.el (reftex-using-biblatex-p): New function.
(reftex-locate-bibliography-files): Us it.
Claudio Bley [Fri, 1 Nov 2013 08:52:22 +0000 (10:52 +0200)]
Support newer versions of libjpeg on MS-Windows.
src/image.c (Qlibjpeg_version): New variable.
(syms_of_image): DEFSYM and initialize it.
lisp/term/w32-win.el (dynamic-library-alist): Support newer versions
of libjpeg starting with v7: look only for the DLL from the
version against which Emacs was built.
Glenn Morris [Thu, 31 Oct 2013 07:18:42 +0000 (00:18 -0700)]
Fix setting of invocation-directory with --chdir and relative argv[0]
* src/emacs.c (original_pwd): New char.
(main): If using --chdir, store original_pwd.
(init_cmdargs): When setting Vinvocation_directory based on a
relative argv[0], use original_pwd if set.
Barry O'Reilly [Thu, 31 Oct 2013 01:50:24 +0000 (21:50 -0400)]
* semantic/idle.el (semantic-idle-symbol-highlight)
(semantic-idle-symbol-highlight-face): Define face with defface
and obsolete the replaced one defined with defvar. (Bug#15745)
* pulse.el (pulse-momentary-highlight-overlay)
(pulse-momentary-highlight-region): Fix typo in doc
Alp Aker [Wed, 30 Oct 2013 18:35:19 +0000 (14:35 -0400)]
Ensure unmarking in buffer menu clears 'S' marks. (Bug#15761)
* buff-menu.el (Buffer-menu--unmark): New function.
(Buffer-menu-unmark, Buffer-menu-backup-unmark): Use it.
Glenn Morris [Wed, 30 Oct 2013 07:15:23 +0000 (00:15 -0700)]
Simplify admin/unidata Makefile rules
* admin/unidata/unidata-gen.el (unidata-gen-files): Use pop.
Also take the output directory as an argument.
* admin/unidata/Makefile.in: Simplify now that unidata-gen-files takes
the output directory as an argument (no need to cd, etc).
(abs_srcdir, abs_builddir): Remove.
(abs_top_builddir): Replace by top_builddir.
(${DSTDIR}/charprop.el): No need to cd. Pass dest as argument.
(${DSTDIR}/charprop.el, charprop.el):
No need to pass unidata.txt as argument.