Dmitry Antipov [Mon, 1 Sep 2014 16:05:43 +0000 (20:05 +0400)]
Avoid extra calls to strlen in filesystem I/O routines.
* fileio.c (Fexpand_file_name): Avoid calls to strlen if
the length of 'newdir' is known or may be precalculated.
(file_accessible_directory_p): Prefer to pass Lisp_Object,
not 'char *', and so use precalculated length.
(Ffile_accessible_directory_p):
* callproc.c (encode_current_directory, init_callproc):
* charset.c (init_charset):
* lread.c (load_path_check, load_path_default): Adjust users.
* lisp.h (file_accessible_directory_p): Tweak prototype.
Eli Zaretskii [Mon, 1 Sep 2014 15:11:25 +0000 (18:11 +0300)]
nt/gnulib.mk: Synchronize with lib/gnulib.mk.
Eli Zaretskii [Mon, 1 Sep 2014 15:07:17 +0000 (18:07 +0300)]
src/w32proc.c (w32_compare_strings): Support "C" and "POSIX" locales.
Eli Zaretskii [Mon, 1 Sep 2014 15:03:45 +0000 (18:03 +0300)]
Implement the GNU ls -v switch in ls-lisp.el.
lisp/ls-lisp.el (ls-lisp-version-lessp): New function.
(ls-lisp-handle-switches): Use it to implement the -v switch of GNU ls.
(ls-lisp--insert-directory): Mention the -v switch in the doc string.
Fixes: debbugs:18051
Eli Zaretskii [Mon, 1 Sep 2014 14:57:21 +0000 (17:57 +0300)]
Use the new string-collate-lessp function in ls-lisp.el.
lisp/ls-lisp.el (ls-lisp-use-string-collate)
(ls-lisp-UCA-like-collation): New defcustoms.
(ls-lisp-string-lessp): Use them to control sorting by file
names.
etc/NEWS: Mention that ls-lisp uses string-collate-lessp.
Fixes: debbugs:18051
Eli Zaretskii [Mon, 1 Sep 2014 14:44:33 +0000 (17:44 +0300)]
src/lastfile.c: Fix last change.
Glenn Morris [Mon, 1 Sep 2014 10:21:26 +0000 (06:21 -0400)]
Auto-commit of loaddefs files.
Paul Eggert [Mon, 1 Sep 2014 09:54:12 +0000 (02:54 -0700)]
Fix typo in previous change's ChangeLog.
Paul Eggert [Mon, 1 Sep 2014 09:49:51 +0000 (02:49 -0700)]
--enable-silent-warnings now suppresses more chatter.
* INSTALL, etc/NEWS: Document this.
* lib-src/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1, AM_V_CCLD, am__v_CCLD_, am__v_CCLD_0)
(am__v_CCLD_1): New macros, taken from Automake.
(regex.o, etags${EXEEXT}, ctags${EXEEXT}, ebrowse${EXEEXT})
(profile${EXEEXT}, make-docfile${EXEEXT}, movemail${EXEEXT})
(pop.o, emacsclient${EXEEXT}, emacsclientw${EXEEXT})
(emacsclientw${EXEEXT}, ntlib.o, hexl${EXEEXT})
(update-game-score${EXEEXT}): Use them.
* lwlib/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1): New macros, taken from Automake.
(.c.o): Use them.
* oldXMenu/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1): New macros, taken from Automake.
(.c.o): Use them.
* src/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1, AM_V_CCLD, am__v_CCLD_, am__v_CCLD_0)
(am__v_CCLD_1): New macros, taken from Automake.
(.c.o, .m.o, temacs$(EXEEXT)): Use them.
Paul Eggert [Mon, 1 Sep 2014 02:37:22 +0000 (19:37 -0700)]
Clean up extern decls a bit.
* configure.ac (WERROR_CFLAGS): Don't disable -Wnested-externs.
While we're at it, don't disable -Wlogical-op either.
* src/bytecode.c: Include blockinput.h and keyboard.h rather
than rolling their APIs by hand.
* src/emacs.c: Include regex.h and rely on its and lisp.h's API
rather than rolling them by hand.
* src/lastfile.c: Include lisp.h, to check this file's API.
* src/lisp.h (lisp_eval_depth, my_edata, my_endbss, my_endbss_static):
New decls.
* src/regex.h (re_max_failures): New decl.
* src/unexcw.c, src/unexmacosx.c, src/unexw32.c:
Rely on lisp.h's API rather than rolling it by hand.
* src/vm-limit.c (__after_morecore_hook, __morecore, real_morecore):
Declare at top level, to pacify GCC -Wnested-externs.
Paul Eggert [Mon, 1 Sep 2014 00:06:11 +0000 (17:06 -0700)]
* etags.c (emacs_strchr, emacs_strrchr): Remove.
All uses replaced by strchr and strrchr, which are on all
target platforms now.
Christoph Scholtes [Sun, 31 Aug 2014 20:44:36 +0000 (14:44 -0600)]
Replace mode-specific quit function in ibuffer.el
* lisp/ibuffer.el: Replace mode-specific quit function with
`quit-window' via `special-mode'.
(ibuffer-mode-map): Use keybindings from special-mode-map instead
of local overrides.
(ibuffer): Don't store previous windows configuration. Let
`quit-window' handle restoring.
(ibuffer-quit): Remove function. Use `quit-window' instead.
(ibuffer-restore-window-config-on-quit): Remove variable.
(ibuffer-prev-window-config): Remove variable.
Eli Zaretskii [Sun, 31 Aug 2014 15:46:47 +0000 (18:46 +0300)]
Fix cursor drawing in hscrolled R2L screen lines.
src/xdisp.c (get_glyph_string_clip_rects): Don't let the width of a
clipping rectangle become negative (i.e. large positive, since
it's an unsigned data type). This can happen in R2L hscrolled
glyph rows, and caused us to draw the cursor glyph on the fringe.
For the details, see
http://lists.gnu.org/archive/html/emacs-devel/2014-08/msg00543.html.
Paul Eggert [Sun, 31 Aug 2014 02:50:10 +0000 (19:50 -0700)]
* configure.ac (__restrict_arr): Remove; no longer used.
Ken Brown [Sun, 31 Aug 2014 02:40:00 +0000 (22:40 -0400)]
Fix bug#18368 with broken build on AIX due to HYBRID_MALLOC changes.
* src/gmalloc.c: Don't include <stdlib.h>. Declare system malloc and
friends before defining hybrid_malloc and friends if HYBRID_MALLOC
is defined. (Bug#18368)
Paul Eggert [Sun, 31 Aug 2014 02:34:31 +0000 (19:34 -0700)]
* configure.ac (MAKE): Export it, for config.status.
Needed on AIX when 'configure' infers MAKE=gmake.
Paul Eggert [Sat, 30 Aug 2014 23:29:23 +0000 (16:29 -0700)]
* fns.c (sort_vector): Fix GC bug in previous change.
Paul Eggert [Sat, 30 Aug 2014 22:59:39 +0000 (15:59 -0700)]
Vector-sorting fixes.
It's not safe to call qsort or qsort_r, since they have undefined
behavior if the user-specified predicate is not a total order.
Also, watch out for garbage-collection while sorting vectors.
* admin/merge-gnulib (GNULIB_MODULES): Add vla.
* configure.ac (qsort_r): Remove, as we no longer use qsort-like
functions.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/vla.h, m4/vararrays.m4: New files, copied from gnulib.
* lib/stdlib.in.h, m4/stdlib_h.m4: Sync from gnulib, incorporating:
2014-08-29 qsort_r: new module, for GNU-style qsort_r
The previous two files' changes are boilerplate generated by
admin/merge-gnulib, and should not affect Emacs.
* src/fns.c: Include <vla.h>.
(sort_vector_predicate) [!HAVE_QSORT_R]: Remove.
(sort_vector_compare): Remove, replacing with ....
(inorder, merge_vectors, sort_vector_inplace, sort_vector_copy):
... these new functions.
(sort_vector): Rewrite to use the new functions.
GCPRO locals, since the predicate can invoke the GC.
Since it's in-place return void; caller changed.
(merge): Use 'inorder', for clarity.
Fixes: debbugs:18361
Paul Eggert [Sat, 30 Aug 2014 16:47:19 +0000 (09:47 -0700)]
* sysdep.c (str_collate): Clear errno just before wcscoll(_l).
One can't hoist this out of the 'if', because intervening calls to
newlocale, twolower, etc. can change errno.
Eli Zaretskii [Sat, 30 Aug 2014 09:22:53 +0000 (12:22 +0300)]
admin/authors.el (authors): Fix last change so it works for MS-Windows as well.
Eli Zaretskii [Sat, 30 Aug 2014 09:21:16 +0000 (12:21 +0300)]
Minor ChangeLog fixes.
Eli Zaretskii [Sat, 30 Aug 2014 08:19:24 +0000 (11:19 +0300)]
Improve error checking and error messages in string-collation functions.
src/sysdep.c (str_collate) [__STDC_ISO_10646__]: Improve the
wording of the error messages.
(str_collate) [WINDOWSNT]: Signal an error if w32_compare_strings
sets errno.
src/w32proc.c (get_lcid_callback): Accept locale specifications
without the country part, as in "enu" vs "enu_USA".
(w32_compare_strings): Signal an error if a locale was specified,
but couldn't be translated into a valid LCID.
Leo Liu [Fri, 29 Aug 2014 23:30:50 +0000 (07:30 +0800)]
* NEWS: Mention (:append FUN) to minibuffer-with-setup-hook.
Michael Albinus [Fri, 29 Aug 2014 21:19:45 +0000 (23:19 +0200)]
* sysdep.c (str_collate) [__STDC_ISO_10646__]: Move up setting errno.
Michael Heerdegen [Fri, 29 Aug 2014 20:28:19 +0000 (22:28 +0200)]
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Use mode function
name instead of variable name in hook docstring. (Bug#18349)
Paul Eggert [Fri, 29 Aug 2014 20:16:40 +0000 (13:16 -0700)]
* sysdep.c (str_collate): Do not look at errno after towlower_l.
errno's value is not specified after towlower_l. Instead, assume
that towlower_l returns its argument on failure, which is portable
in practice.
Eli Zaretskii [Fri, 29 Aug 2014 19:18:06 +0000 (22:18 +0300)]
Implement case-insensitive and Unicode-compliant collation on MS-Windows.
src/fns.c (Fstring_collate_lessp, Fstring_collate_equalp): Doc fix.
src/w32proc.c (w32_compare_strings): Accept additional argument
IGNORE_CASE. Set up the flags for CompareStringW to ignore case
if requested. If w32-collate-ignore-punctuation is non-nil, add
NORM_IGNORESYMBOLS to the flags.
(LINGUISTIC_IGNORECASE): Define if not already defined.
(syms_of_ntproc) <Vw32_collate_ignore_punctuation>: New variable.
src/sysdep.c (str_collate) [WINDOWSNT]: Adapt to the interface
change.
src/w32.h: Adjust prototype of w32_compare_strings.
etc/NEWS: Mention w32-collate-ignore-punctuation.
Fixes: debbugs:18051
Eli Zaretskii [Fri, 29 Aug 2014 18:30:24 +0000 (21:30 +0300)]
Revert a change inadvertently committed in last commit.
Eli Zaretskii [Fri, 29 Aug 2014 18:29:30 +0000 (21:29 +0300)]
src/sysdep.c (str_collate) [WINDOWSNT]: Fix a typo in 2014-08-29T17:57:36Z!michael.albinus@gmx.de.
Michael Albinus [Fri, 29 Aug 2014 18:10:15 +0000 (20:10 +0200)]
* authors.el (authors): Use LOCALE argument of `string-collate-lessp'.
Michael Albinus [Fri, 29 Aug 2014 17:57:36 +0000 (19:57 +0200)]
Add optional arguments LOCALE and IGNORE-CASE to collation functions.
* fns.c (Fstring_collate_lessp, Fstring_collate_equalp):
Add optional arguments LOCALE and IGNORE-CASE.
* lisp.h (str_collate): Adapt argument list.
* sysdep.c (LC_CTYPE, LC_CTYPE_MASK, towlower_l):
Define substitutes for platforms that lack them.
(str_collate): Add arguments locale and ignore_case.
Dmitry Antipov [Fri, 29 Aug 2014 16:28:53 +0000 (20:28 +0400)]
Fix ChangeLog entry.
Dmitry Antipov [Fri, 29 Aug 2014 16:21:30 +0000 (20:21 +0400)]
Fix last change to support Darwin/OSX (Bug#18354).
* sysdep.c (sort_vector_compare) [DARWIN_OS || __FreeBSD__]:
Conditionally define to match system's qsort_r signature.
(sort_vector) [DARWIN_OS || __FreeBSD__]: Likewise in call to qsort_r.
Dmitry Antipov [Fri, 29 Aug 2014 12:23:30 +0000 (16:23 +0400)]
* NEWS: Mention that `sort' can handle vectors.
Dmitry Antipov [Fri, 29 Aug 2014 11:02:56 +0000 (15:02 +0400)]
* doc/lispref/lists.texi (Functions that Rearrange Lists): Remove
description of sort ...
* doc/lispref/sequences.texi (Sequence Functions): ... and generalize
it for sequences. Add an example.
* src/fns.c (Fsort): Use more natural Qsequencep error.
* test/automated/fns-tests.el (fns-tests-sort): Minor style rewrite.
Martin Rudalics [Fri, 29 Aug 2014 10:39:17 +0000 (12:39 +0200)]
Adjust display-buffer-at-bottom.
* window.el (display-buffer-at-bottom): Prefer bottom-left
window to other bottom windows. Reuse a bottom window if it
shows the buffer already. Suggested by Juri Linkov
<juri@jurta.org> in discussion of (Bug#18181).
Dmitry Antipov [Fri, 29 Aug 2014 07:29:47 +0000 (11:29 +0400)]
Add vectors support to Fsort.
* configure.ac (AC_CHECK_FUNCS): Check for qsort_r.
* src/fns.c (sort_vector, sort_vector_compare): New functions.
(sort_list): Likewise, refactored out of ...
(Fsort): ... adjusted user. Mention vectors in docstring.
(sort_vector_predicate) [!HAVE_QSORT_R]: New variable.
* src/alloc.c (make_save_int_obj): New function.
* src/lisp.h (enum Lisp_Save_Type): New member SAVE_TYPE_INT_OBJ.
(make_save_int_obj): Add prototype.
* test/automated/fns-tests.el (fns-tests-sort): New test.
Michael Albinus [Fri, 29 Aug 2014 07:05:23 +0000 (09:05 +0200)]
Move an entry where it belongs to.
Leo Liu [Fri, 29 Aug 2014 02:48:17 +0000 (10:48 +0800)]
* files.el (minibuffer-with-setup-hook): Allow (:append FUN) to
append to minibuffer-setup-hook.
Fixes: debbugs:18341
Stefan Monnier [Thu, 28 Aug 2014 22:18:39 +0000 (18:18 -0400)]
Misc accumulated ChangeLog convention fixes
Stefan Monnier [Thu, 28 Aug 2014 20:37:13 +0000 (16:37 -0400)]
* lisp/progmodes/cc-defs.el: Expose c-lanf-defconst's expressions to the
byte-compiler.
(lookup-syntax-properties): Silence byte-compiler.
(c-lang-defconst): Quote the code with `lambda' rather than with
`quote'.
(c-lang-const): Avoid unneeded setq.
(c-lang-constants-under-evaluation): Add docstring.
(c-lang--novalue): New constant.
(c-find-assignment-for-mode): Use it instead of c-lang-constants.
(c-get-lang-constant): Same here.
Get the mode's value using `funcall' now that the code is quoted
with `lambda'.
Michael Albinus [Thu, 28 Aug 2014 19:31:11 +0000 (21:31 +0200)]
* net/tramp.el (tramp-handle-shell-command): Use `display-buffer'.
Fixes: debbugs:18326
Martin Rudalics [Thu, 28 Aug 2014 18:33:18 +0000 (20:33 +0200)]
Revert x_scroll_bar_handle_click "typo fix".
Ken Brown [Thu, 28 Aug 2014 14:48:02 +0000 (10:48 -0400)]
Add support for HYBRID_MALLOC, allowing the use of gmalloc before
dumping and the system malloc after dumping. (Bug#18222)
* configure.ac (HYBRID_MALLOC): New macro; define to use gmalloc
before dumping and the system malloc after dumping. Define on Cygwin.
* src/conf_post.h (malloc, realloc, calloc, free) [HYBRID_MALLOC]:
Define as macros, expanding to hybrid_malloc, etc.
(HYBRID_GET_CURRENT_DIR_NAME): New macro.
(get_current_dir_name) [HYBRID_GET_CURRENT_DIR_NAME]: Define as
macro.
* src/gmalloc.c: Set up the infrastructure for HYBRID_MALLOC, with a
full implementation on Cygwin. Remove Cygwin-specific code that
is no longer needed.
(malloc, realloc, calloc, free, aligned_alloc) [HYBRID_MALLOC]:
Redefine as macros expanding to gmalloc, grealloc, etc.
(DUMPED, ALLOCATED_BEFORE_DUMPING) [CYGWIN]: New macros.
(get_current_dir_name) [HYBRID_GET_CURRENT_DIR_NAME]: Undefine.
(USE_PTHREAD, posix_memalign) [HYBRID_MALLOC]: Don't define.
(hybrid_malloc, hybrid_calloc, hybrid_free, hybrid_realloc)
[HYBRID_MALLOC]:
(hybrid_get_current_dir_name) [HYBRID_GET_CURRENT_DIR_NAME]:
(hybrid_aligned_alloc) [HYBRID_MALLOC && (HAVE_ALIGNED_ALLOC ||
HAVE_POSIX_MEMALIGN)]: New functions.
* src/alloc.c (aligned_alloc) [HYBRID_MALLOC && (ALIGNED_ALLOC ||
HAVE_POSIX_MEMALIGN)]: Define as macro expanding to
hybrid_aligned_alloc; declare.
(USE_ALIGNED_ALLOC) [HYBRID_MALLOC && (ALIGNED_ALLOC ||
HAVE_POSIX_MEMALIGN)]: Define.
(refill_memory_reserve) [HYBRID_MALLOC]: Do nothing.
* src/sysdep.c (get_current_dir_name) [HYBRID_GET_CURRENT_DIR_NAME]:
Define as macro, expanding to gget_current_dir_name, and define
the latter.
* src/emacs.c (main) [HYBRID_MALLOC]: Don't call memory_warnings() or
malloc_enable_thread(). Don't initialize malloc.
* src/lisp.h (NONPOINTER_BITS) [CYGWIN]: Define (because GNU_MALLOC is
no longer defined on Cygwin).
(refill_memory_reserve) [HYBRID_MALLOC]: Don't declare.
* src/sheap.c (bss_sbrk_buffer_end): New variable.
* src/unexcw.c (__malloc_initialized): Remove variable.
* src/ralloc.c: Throughout, treat HYBRID_MALLOC the same as
SYSTEM_MALLOC.
* src/xdisp.c (decode_mode_spec) [HYBRID_MALLOC]: Don't check
Vmemory_full.
Martin Rudalics [Thu, 28 Aug 2014 06:46:58 +0000 (08:46 +0200)]
Some fixes for scroll bar code.
* w32term.c (w32_horizontal_scroll_bar_handle_click): In
`event->y' return entire range (the size of the scroll bar minus
that of the thumb).
* xterm.c (xm_scroll_callback, xaw_jump_callback): In `whole'
return entire range (the scaled size of the scroll bar minus
that of the slider). In `portion' return the scaled position of
the slider.
(xaw_jump_callback): Restore part of code for vertical scroll
bar broken in change from 2014-07-27.
(xaw_scroll_callback): Provide incremental scrolling with
horizontal scroll bars.
(x_scroll_bar_handle_click): Fix typo introduced in change from
2014-07-27.
* scroll-bar.el (scroll-bar-horizontal-drag-1): Handle new
interpretation of `portion-whole'.
Glenn Morris [Thu, 28 Aug 2014 02:02:18 +0000 (19:02 -0700)]
Add install/uninstall rules for etc/emacs.appdata.xml
* Makefile.in (appdatadir): New variable.
(install-etc, uninstall, clean): Handle etc/emacs.appdata.xml.
Glenn Morris [Thu, 28 Aug 2014 01:59:29 +0000 (18:59 -0700)]
Merge from emacs-24; up to 2014-07-02T00:57:53Z!juri@jurta.org
Glenn Morris [Thu, 28 Aug 2014 01:55:45 +0000 (18:55 -0700)]
* lisp/subr.el (remq): Revert 2014-08-25 doc change (not always true).
See the interminable bug discussion if you have nothing better to do.
Glenn Morris [Thu, 28 Aug 2014 01:53:26 +0000 (18:53 -0700)]
* etc/emacs.appdata.xml: New file
Ref: http://people.freedesktop.org/~hughsient/appdata/
The description is adapted from the Emacs homepage.
Paul Eggert [Thu, 28 Aug 2014 00:50:36 +0000 (17:50 -0700)]
* sysdep.c (LC_COLLATE, LC_COLLATE_MASK): Give individual defaults.
Fixes: debbugs:18051
Eli Zaretskii [Wed, 27 Aug 2014 19:40:54 +0000 (22:40 +0300)]
Fix bug #18339 with segfault when $ is typed into empty LaTeX buffer.
src/syntax.c (scan_lists): Don't examine positions before BEGV.
Paul Eggert [Wed, 27 Aug 2014 18:56:47 +0000 (11:56 -0700)]
Improve robustness of new string-collation code.
* configure.ac (newlocale): Check for this, not for uselocale.
* src/sysdep.c (LC_COLLATE, LC_COLLATE_MASK, freelocale, locale_t)
(newlocale, wcscoll_l): Define substitutes for platforms that
lack them, so as to simplify the mainline code.
(str_collate): Simplify the code by assuming the above definitions.
Use wcscoll_l, not uselocale, as uselocale is too fragile. For
example, the old version left the Emacs in the wrong locale if
wcscoll reported an error. Use 'int', not ptrdiff_t, for the int
result. Report an error if newlocale fails.
Fixes: debbugs:18051
Michael Albinus [Wed, 27 Aug 2014 11:22:37 +0000 (13:22 +0200)]
* lisp.h (str_collate):
* sysdep.c (str_collate): Return int.
(str_collate) [__STDC_ISO_10646__]: Propagate error of wcscoll.
Dmitry Antipov [Wed, 27 Aug 2014 10:51:21 +0000 (14:51 +0400)]
* src/keyboard.c (Vtop_level_message): Rename to
Vinternal__top_level_message, as suggested by Stefan Monnier in
http://lists.gnu.org/archive/html/emacs-devel/2014-08/msg00493.html
All related users changed.
* lisp/startup.el (normal-top-level): Now use internal--top-level-message.
* doc/lispref/eval.texi (Eval): Mention possible recovery from stack overflow.
Michael Albinus [Wed, 27 Aug 2014 07:53:58 +0000 (09:53 +0200)]
* emacs-lisp/authors.el (authors-aliases): Addition.
Michael Albinus [Wed, 27 Aug 2014 07:25:37 +0000 (09:25 +0200)]
* net/tramp-adb.el: Spell author name correctly.
Glenn Morris [Wed, 27 Aug 2014 05:06:20 +0000 (22:06 -0700)]
shr.el: Comment.
João Távora [Wed, 27 Aug 2014 05:04:47 +0000 (22:04 -0700)]
* net/shr.el (shr-expand-url): Plain expand-file-name is not enough;
use url-expand-file-name.
Fixes: debbugs:18310
Dmitry Antipov [Wed, 27 Aug 2014 04:15:20 +0000 (08:15 +0400)]
Fix some glitches in previous change.
* sysdep.c (stack_direction): Replace stack_grows_down
to simplify calculation of stack boundaries.
(handle_sigsegv): Check whether we really crash somewhere near
to stack boundary, and handle fatal signal as usual if not.
(init_sigsegv): Adjust accordingly.
Katsumi Yamaoka [Tue, 26 Aug 2014 23:56:11 +0000 (23:56 +0000)]
gnus-art.el (gnus-article-browse-html-save-cid-content, gnus-article-browse-html-parts): Revert last change that breaks links other than cid contents
Katsumi Yamaoka [Tue, 26 Aug 2014 23:28:22 +0000 (23:28 +0000)]
gnus-art.el (gnus-article-browse-html-save-cid-content, gnus-article-browse-html-parts): Make cid file names relative
Glenn Morris [Tue, 26 Aug 2014 17:58:06 +0000 (13:58 -0400)]
authors.el updates and sorting change
* admin/authors.el (authors-ignored-files, authors-valid-file-names)
(authors-renamed-files-alist): Additions.
(authors-renamed-files-alist): Revert 2014-08-09 change.
(authors): Sort authors in utf-8 order.
Fixes: debbugs:2263
Glenn Morris [Tue, 26 Aug 2014 17:55:07 +0000 (13:55 -0400)]
ChangeLog fixes
Dmitry Antipov [Tue, 26 Aug 2014 14:42:06 +0000 (18:42 +0400)]
* configure.ac (HAVE_LINUX_SYSINFO): Avoid false positive on Solaris.
Dmitry Antipov [Tue, 26 Aug 2014 08:01:48 +0000 (12:01 +0400)]
* sysdep.c (init_sigsegv) [HAVE_STACK_OVERFLOW_HANDLING]: Add comment.
Dmitry Antipov [Tue, 26 Aug 2014 06:25:59 +0000 (10:25 +0400)]
Handle C stack overflow caused by too nested Lisp evaluation.
* configure.ac: Check for sigaltstack and related sigaction
support. Unconditionally check for sigsetjmp and siglongjmp.
(HAVE_STACK_OVERFLOW_HANDLING): Define if we can support it.
* src/lisp.h (toplevel) [HAVE_STACK_OVERFLOW_HANDLING]: Declare
siglongjmp point to transfer control from SIGSEGV handler.
* src/keyboard.c (return_to_command_loop, recover_top_level_message)
[HAVE_STACK_OVERFLOW_HANDLING]: New variables.
(regular_top_level_message): New variable.
(command_loop) [HAVE_STACK_OVERFLOW_HANDLING]: Handle non-local
exit from SIGSEGV handler and adjust message displayed by Vtop_level
if appropriate.
(syms_of_keyboard): DEFVAR Vtop_level_message and initialize
new variables described above.
* src/sysdep.c [HAVE_SYS_RESOURCE_H]: Include sys/resource.h as such.
(stack_grows_down, sigsegv_stack, handle_sigsegv)
[HAVE_STACK_OVERFLOW_HANDLING]: New variables and function.
(init_sigsegv): New function.
(init_signals): Use it.
* lisp/startup.el (normal-top-level): Use top-level-message.
Ken Brown [Mon, 25 Aug 2014 20:55:37 +0000 (16:55 -0400)]
Fix accidental deletion of a line in last change.
Ken Brown [Mon, 25 Aug 2014 20:49:52 +0000 (16:49 -0400)]
* configure.ac (G_SLICE_ALWAYS_MALLOC): Remove obsolete macro.
* src/emacs.c (main): Remove use of obsolete macro
G_SLICE_ALWAYS_MALLOC.
Eli Zaretskii [Mon, 25 Aug 2014 17:44:27 +0000 (20:44 +0300)]
Fix unoptimized build on MSDOS.
msdos/sedlibmk.inp (gl_LIBOBJS): Add execinfo.o. Reported by Juan
Manuel Guerrero <juan.guerrero@gmx.de>.
src/conf_post.h (_GL_EXECINFO_INLINE) [MSDOS]: Don't define.
Glenn Morris [Mon, 25 Aug 2014 16:48:08 +0000 (12:48 -0400)]
* vc-git.el: Comments.
Glenn Morris [Mon, 25 Aug 2014 16:40:53 +0000 (12:40 -0400)]
* emulation/cua-rect.el (cua--highlight-rectangle): Avoid error at point-min.
Fixes: debbugs:18309
Lars Magne Ingebrigtsen [Mon, 25 Aug 2014 16:04:39 +0000 (18:04 +0200)]
Fix typo in last shr.el check-in
Lars Magne Ingebrigtsen [Mon, 25 Aug 2014 15:59:38 +0000 (17:59 +0200)]
shr.el: Encode copied URLs
* net/shr.el (shr-copy-url): Encode copied URL to avoid getting
URLs containing spaces and the like.
Eli Zaretskii [Mon, 25 Aug 2014 15:55:46 +0000 (18:55 +0300)]
Implement locale-sensitive string collation for MS-Windows. (Bug#18051)
src/w32proc.c (get_lcid_callback, get_lcid, w32_compare_strings):
New functions.
src/w32.h (w32_compare_strings): Add prototype.
src/w32.c <g_b_init_compare_string_w>: New global flag.
(globals_of_w32): Initialize it.
src/sysdep.c (str_collate) [WINDOWSNT]: Implementation for MS-Windows.
src/fns.c (Fstring_collate_lessp, Fstring_collate_equalp)
[WINDOWSNT]: Call str_collate on MS-Windows.
etc/NEWS: Mention that string-collate-* functions are supported on
MS-Windows as well.
Dmitry Antipov [Mon, 25 Aug 2014 07:00:42 +0000 (11:00 +0400)]
One more minor cleanup of font subsystem.
* font.h (struct font_driver): Convert text_extents to
return void because returned value is never actually used.
* macfont.c (macfont_text_extents):
* w32font.c (w32font_text_extents):
* xftfont.c (xftfont_text_extents): Adjust to return void
and assume that 'metrics' argument is always non-NULL.
* ftfont.c (ftfont_text_extents):
* xfont.c (xfont_text_extents): Likewise. Avoid redundant memset.
Paul Eggert [Mon, 25 Aug 2014 05:44:57 +0000 (22:44 -0700)]
Minor cleanups of str_collate fix.
* fns.c (str_collate): Move decl from here ...
* lisp.h (str_collate): ... to here.
* sysdep.c (str_collate): Prune away some of the forest of ifdefs.
Remove unnecessary casts. Use SAFE_NALLOCA to avoid
potential problems with integer overflow. Don't assume
setlocale succeeds. Remove unnecessary test before restoring
locale via setlocale, and free the copied setlocale string
when done with it.
Fixes: debbugs:18051
Christoph Scholtes [Mon, 25 Aug 2014 03:16:36 +0000 (21:16 -0600)]
Fix docstring of `remq'
* lisp/subr.el (remq): Fix docstring.
Fixes: debbugs:18253
Christoph Scholtes [Mon, 25 Aug 2014 02:36:45 +0000 (20:36 -0600)]
* lisp/replace.el (query-replace): Fix typo in docstring.
Fixes: debbugs:18320
Christoph Scholtes [Mon, 25 Aug 2014 02:29:58 +0000 (20:29 -0600)]
Remove reference to obsolete configure scripts
* INSTALL.REPO: Remove reference to obsolete configure scripts
on non-Posix platforms.
Fixes: debbugs:18323
Alan Mackenzie [Sun, 24 Aug 2014 20:50:11 +0000 (20:50 +0000)]
Handle C++11's "auto" and "decltype" constructions.
cc-engine.el (c-forward-type): Enhance to recognise and return 'decltype.
(c-forward-decl-or-cast-1): New let variables backup-kwd-sym,
prev-kwd-sym, new-style-auto. Enhance to handle the new "auto" keyword.
cc-fonts.el (c-font-lock-declarations): Handle the "decltype" keyword.
(c-font-lock-c++-new): Handle "decltype" constructions.
cc-langs.el (c-auto-ops, c-auto-ops-re): New c-lang-defconsts/defvars.
(c-haskell-op, c-haskell-op-re): New c-lang-defconsts/defvars.
(c-typeof-kwds, c-typeof-key): New c-lang-defconsts/defvars.
(c-typeless-decl-kwds): Append "auto" onto the C++ value.
(c-not-decl-init-keywords): Also exclude c-typeof-kwds from value.
Alan Mackenzie [Sun, 24 Aug 2014 20:38:11 +0000 (20:38 +0000)]
Make ">>" act as double template ender in C++ Mode.
cc-langs.el (c->-op-cont-tokens): New lang-const split off from
c->-op-cont-re.
(c->-op-cont-tokens): Change to use the above.
(c->-op-without->-cont-regexp): New lang-const.
cc-engine.el (c-forward-<>-arglist-recur): Use
c->-op-without->-cont-regexp in place of c->-op-cont-tokens.
Michael Albinus [Sun, 24 Aug 2014 15:47:06 +0000 (17:47 +0200)]
Mention the new functions `string-collate-lessp' and `string-collate-equalp'.
Michael Albinus [Sun, 24 Aug 2014 15:40:07 +0000 (17:40 +0200)]
Add string collation.
* configure.ac: Check also for the uselocale function.
* src/fns.c (Fstring_collate_lessp, Fstring_collate_equalp): New DEFUNs.
* src/sysdep.c (str_collate): New function. (Bug#18051)
Alan Mackenzie [Sat, 23 Aug 2014 11:02:20 +0000 (11:02 +0000)]
progmodes/cc-fonts.el (c-font-lock-declarators): Fix infinite loop, bug
#18306. The bug was introduced on 2014-08-02.
Eli Zaretskii [Sat, 23 Aug 2014 09:14:13 +0000 (12:14 +0300)]
configure.ac: Comment fix.
Karol Ostrovsky [Sat, 23 Aug 2014 08:48:30 +0000 (11:48 +0300)]
Fix bug #18302 with minor issues in the MSYS2/MinGW64 build.
configure.ac: Accept "*-mingw*", not just "*-mingw32", as
canonical name of a MinGW build, because using MSYS2 'uname'
produces "MINGW64".
src/Makefile.in (emacs$(EXEEXT)): Retry deletion of bootstrap-emacs
if the initial "rm -f" fails. This is for MinGW builds, where
MS-Windows will not allow deleting the executable file of a
running program.
Eli Zaretskii [Sat, 23 Aug 2014 08:22:46 +0000 (11:22 +0300)]
Fix compilation warnings about snprintf in the MSDOS build.
msdos/sed2v2.inp [DJGPP <= 2.03]: Add a prototype for snprintf, to
avoid compilation warning from newer GCC versions that have
snprintf as a built-in. Reported by Juan Manuel Guerrero
<juan.guerrero@gmx.de>.
Ken Brown [Fri, 22 Aug 2014 13:03:05 +0000 (09:03 -0400)]
Backport: * configure.ac (HAVE_XPM): Explain the use of CPPFLAGS in the Cygwin-w32 build. (Bug#18302)
Katsumi Yamaoka [Thu, 21 Aug 2014 23:02:23 +0000 (23:02 +0000)]
lisp/gnus/mm-view.el (mm-display-inline-fontify): Make the working buffer temporarily displayed when running a mode function (at least org-mode requires it)
Ken Brown [Thu, 21 Aug 2014 21:52:26 +0000 (17:52 -0400)]
* configure.ac (HAVE_XPM): Explain the use of CPPFLAGS in the Cygwin-w32 build. (Bug#18302)
Eli Zaretskii [Thu, 21 Aug 2014 15:07:13 +0000 (18:07 +0300)]
Fix a bug in texinfo-make-menu.
lisp/textmodes/texnfo-upd.el (texinfo-specific-section-type): Don't
recognize a Top node if there are other sectioning commands
earlier in the Texinfo file. This fixes a bug in
texinfo-make-menu and avoids inflooping in
texinfo-all-menus-update when they are invoked on texinfo.texi.
Martin Rudalics [Thu, 21 Aug 2014 08:40:29 +0000 (10:40 +0200)]
Handle failed attempts to split a side window (Bug#18304).
* window.el (window--side-window-p): New function.
(split-window, window-splittable-p): Use window--side-window-p to
determine whether WINDOW can be split (Bug#18304).
* calendar/calendar.el (calendar-basic-setup): Fix one call of
`window-splittable-p' and add another (Bug#18304).
Glenn Morris [Wed, 20 Aug 2014 20:07:00 +0000 (16:07 -0400)]
ChangeLog fix
Ref: http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg01038.html
Sam Steingold [Wed, 20 Aug 2014 15:33:10 +0000 (11:33 -0400)]
Extract python-new-pythonpath to handle PYTHONPATH in user code
* lisp/progmodes/python.el (python-new-pythonpath): Extract from
`python-shell-calculate-process-environment'.
Eli Zaretskii [Wed, 20 Aug 2014 14:41:15 +0000 (17:41 +0300)]
Remove 16-bit limitations in scroll bar position reporting on MS-Windows.
src/w32term.c (w32_scroll_bar_handle_click)
(w32_horizontal_scroll_bar_handle_click)
(x_scroll_bar_report_motion)
(x_horizontal_scroll_bar_report_motion): For SB_THUMBPOSITION and
SB_THUMBTRACK, use the 32-bit position information returned by
GetScrollInfo, not the 16-bit information returned in the Windows
message sent to us.
Eli Zaretskii [Tue, 19 Aug 2014 18:56:29 +0000 (21:56 +0300)]
Update Emacs's bidirectional conformance per Unicode 6.3.0.
doc/lispref/display.texi (Bidirectional Display): Update the Emacs's class
of bidirectional conformance.
Eli Zaretskii [Tue, 19 Aug 2014 15:08:02 +0000 (18:08 +0300)]
Fix horizontal scroll bar dragging in R2L paragraphs.
src/w32term.c (w32_horizontal_scroll_bar_handle_click): Fix the
second coordinate ('y') reported for dragging the horizontal
scroll bar thumb.
YAMAMOTO Mitsuharu [Tue, 19 Aug 2014 00:51:33 +0000 (09:51 +0900)]
* xdisp.c (erase_phys_cursor): Fix confusion between window-relative
and text area-relative x-coordinates.
Thierry Volpiatto [Mon, 18 Aug 2014 19:28:40 +0000 (15:28 -0400)]
* lisp/emacs-lisp/eldoc.el (eldoc-highlight-function-argument): Add support
for &key args.
* emacs-lisp/eldoc.el (eldoc-argument-case): Obsolete and change default.
(eldoc-function-argstring-format): Remove.
(eldoc-function-argstring): Always return upcase args.
Use help-make-usage. Don't add parens.
(eldoc-get-fnsym-args-string): Don't obey eldoc-argument-case since
it's too late to do it right (bug#18048).
Glenn Morris [Mon, 18 Aug 2014 19:15:06 +0000 (15:15 -0400)]
* python-tests.el (python-shell-calculate-exec-path-2): Update test
for today's python.el changes.