]> git.eshelyaron.com Git - emacs.git/log
emacs.git
10 years agoRename 24.5 to 25.1
Stefan Monnier [Mon, 29 Sep 2014 18:14:08 +0000 (14:14 -0400)]
Rename 24.5 to 25.1

Except where we expect to backport the corresponding change.

10 years agomml: Signal error on invalid <#secure> tag
Daiki Ueno [Mon, 29 Sep 2014 11:05:40 +0000 (20:05 +0900)]
mml: Signal error on invalid <#secure> tag

* mml.el (mml-parse-1): Error out if unknown mode is specified in
<#secure> tag (bug#18513).

10 years agoDo not set `url-gateway-method' in `url-https'. (Bug#16543)
Ulf Jasper [Mon, 29 Sep 2014 08:18:32 +0000 (10:18 +0200)]
Do not set `url-gateway-method' in `url-https'. (Bug#16543)

Currently, when `url-retrieve' is called for an https url it modifies
the variable `url-gateway-method'.  This has been changed to
explicitly pass the requested gateway method to other functions.

When `url-retrieve' is being processed then (via
`accept-process-output') another `url-retrieve' call from a pending
timer can be started.  The second call would always see the modified
`url-gateway-method' of the first one, which in general does not match
the url.

2014-09-28  Ulf Jasper  <ulf.jasper@web.de>

* url-gw.el (url-open-stream): New optional parameter
`gateway-method'.  If non-nil use it instead of global variable
`url-gateway-method'.

* url/url-http.el (url-http): New optional parameter
`gateway-method', pass it to `url-http-find-free-connection'.
(url-http-find-free-connection): New optional parameter
gateway-method, pass it to `url-open-stream'.
(url-https-create-secure-wrapper): Do not modify
`url-gateway-method' but explicitly provide 'tls as gateway-method
parameter to `url-https'.

10 years agoKeep stack-allocated Lisp objects fast rather than versatile.
Dmitry Antipov [Mon, 29 Sep 2014 06:44:31 +0000 (10:44 +0400)]
Keep stack-allocated Lisp objects fast rather than versatile.
* configure.ac (HAVE_STATEMENT_EXPRESSIONS): Remove.
For USE_STACK_LISP_OBJECTS, we always assume __GNUC__.
* lisp.h (union Aligned_Cons) [!GCALIGNED]: Define as such.
(SCOPED_CONS_INITIALIZER): New macro.
(scoped_cons) [USE_STACK_LISP_OBJECTS]: Use it.
(USE_LOCAL_ALLOCA): Remove.
(local_cons, local_list1, local_list2, local_list3, local_list4):
Remove.  Stack overflow checking makes them too slow.
(make_local_vector): Likewise.  Also we just don't have enough
users for it.
(enum LISP_STRING_OVERHEAD): Remove.
(local_string_init, local_vector_init): Remove prototypes.
(make_local_string, build_local_string): Redesign to target short
compile-time string constants, fall back to regular string allocation
where appropriate.
(lisp_string_size): New function.
(verify_ascii) [ENABLE_CHECKING]: Add prototype.
* alloc.c (local_string_init, local_vector_init): Remove.
(verify_ascii) [ENABLE_CHECKING]: New function.
* buffer.c, charset.c, chartab.c, data.c, editfns.c, emacs.c, fileio.c:
* fns.c, font.c, fontset.c, frame.c, keyboard.c, keymap.c, lread.c:
* menu.c, minibuf.c, process.c, textprop.c, xdisp.c, xfns.c, xfont.c:
* xselect.c, xterm.c: All related users changed.

10 years ago* src/sheap.c (bss_sbrk_buffer_beg): Remove redundant variable.
Ken Brown [Sun, 28 Sep 2014 22:31:59 +0000 (18:31 -0400)]
* src/sheap.c (bss_sbrk_buffer_beg): Remove redundant variable.
* src/gmalloc.c [CYGWIN]: Adapt to change in sheap.c.

10 years agoDo not set `url-gateway-method' in `url-https'. (Bug#16543)
Ulf Jasper [Sun, 28 Sep 2014 18:00:54 +0000 (20:00 +0200)]
Do not set `url-gateway-method' in `url-https'. (Bug#16543)

Currently, when `url-retrieve' is called for an https url it modifies
the variable `url-gateway-method'.  This has been changed to
explicitly pass the requested gateway method to other functions.

When `url-retrieve' is being processed then (via
`accept-process-output') another `url-retrieve' call from a pending
timer can be started.  The second call would always see the modified
`url-gateway-method' of the first one, which in general does not match
the url.

2014-09-28  Ulf Jasper  <ulf.jasper@web.de>

* url-gw.el (url-open-stream): New optional parameter
`gateway-method'.  If non-nil use it instead of global variable
`url-gateway-method'.

* url/url-http.el (url-http): New optional parameter
`gateway-method', pass it to `url-http-find-free-connection'.
(url-http-find-free-connection): New optional parameter
gateway-method, pass it to `url-open-stream'.
(url-https-create-secure-wrapper): Do not modify
`url-gateway-method' but explicitly provide 'tls as gateway-method
parameter to `url-https'.

10 years agoFont-lock `cl-flet*', too.
Thien-Thi Nguyen [Sun, 28 Sep 2014 08:03:48 +0000 (10:03 +0200)]
Font-lock `cl-flet*', too.

* lisp/emacs-lisp/lisp-mode.el (lisp-cl-font-lock-keywords-2):
Add "flet*" to intermediate var `cl-lib-kw'.

10 years ago* configure.ac [CYGWIN]: Enable sound support.
Ken Brown [Sat, 27 Sep 2014 23:35:50 +0000 (19:35 -0400)]
* configure.ac [CYGWIN]: Enable sound support.

10 years agoFix implementation of HYBRID_MALLOC on Cygwin.
Ken Brown [Sat, 27 Sep 2014 20:58:05 +0000 (16:58 -0400)]
Fix implementation of HYBRID_MALLOC on Cygwin.

* src/sheap.c (bss_sbrk_buffer_end): Cast to void *.
(bss_sbrk_buffer_beg): New variable.  Use it...
* src/gmalloc.c (ALLOCATED_BEFORE_DUMPING) [CYGWIN]: ...here, to fix
  incorrect definition.

10 years ago* lisp/epg-config.el (epg-gpg-program): Use the plain program names rather
Stefan Monnier [Sat, 27 Sep 2014 16:26:54 +0000 (12:26 -0400)]
* lisp/epg-config.el (epg-gpg-program): Use the plain program names rather
than their absolute file name.

10 years ago* lisp/subr.el (track-mouse): New macro.
Stefan Monnier [Sat, 27 Sep 2014 15:52:28 +0000 (11:52 -0400)]
* lisp/subr.el (track-mouse): New macro.
* lisp/emacs-lisp/cconv.el (cconv-convert, cconv-analyse-form):
Remove track-mouse case.
* lisp/emacs-lisp/bytecomp.el (byte-compile-track-mouse): Remove.
* src/keyboard.c (track-mouse): Rename to internal--track-mouse.
Make it into a function and change arg to be a function.

10 years ago* lisp/emacs-lisp/eldoc.el (eldoc-mode): Fix thinko.
Leo Liu [Sat, 27 Sep 2014 10:08:59 +0000 (18:08 +0800)]
* lisp/emacs-lisp/eldoc.el (eldoc-mode): Fix thinko.

* lisp/progmodes/elisp-mode.el (elisp--eldoc-last-data): Use defvar.

10 years ago* pcase-tests.el: Add #18554 test case.
Stefan Monnier [Sat, 27 Sep 2014 04:27:14 +0000 (00:27 -0400)]
* pcase-tests.el: Add #18554 test case.

10 years ago* lisp/emacs-lisp/pcase.el (pcase--split-match, pcase--app-subst-match):
Stefan Monnier [Sat, 27 Sep 2014 04:24:06 +0000 (00:24 -0400)]
* lisp/emacs-lisp/pcase.el (pcase--split-match, pcase--app-subst-match):
Handle the case where `match' is :pcase--succeed or :pcase--fail.

Fixes: debbugs:18554
10 years agoIntroduce global-eldoc-mode. Move Elisp-specific code to elisp-mode.el.
Stefan Monnier [Sat, 27 Sep 2014 03:57:41 +0000 (23:57 -0400)]
Introduce global-eldoc-mode.  Move Elisp-specific code to elisp-mode.el.
* lisp/emacs-lisp/eldoc.el (global-eldoc-mode): New minor mode.
(eldoc-schedule-timer): Obey it.
(eldoc-documentation-function): Default to nil.
(eldoc-mode): Don't enable if eldoc-documentation-function is not set.
(eldoc-documentation-function-default, eldoc-get-fnsym-args-string)
(eldoc-highlight-function-argument, eldoc-get-var-docstring)
(eldoc-last-data-store, eldoc-docstring-first-line)
(eldoc-docstring-format-sym-doc, eldoc-fnsym-in-current-sexp)
(eldoc-beginning-of-sexp, eldoc-current-symbol)
(eldoc-function-argstring): Move to elisp-mode.el.
(eldoc-symbol-function): Remove, unused.
* lisp/progmodes/elisp-mode.el: New file.  Rename all "eldoc-*" to "elisp--*".
(elisp-completion-at-point): Rename from lisp-completion-at-point.
(elisp--preceding-sexp): Rename from preceding-sexp.
* lisp/loadup.el: Load new file progmodes/elisp-mode.
* lisp/ielm.el (inferior-emacs-lisp-mode): Set eldoc-documentation-function.
* lisp/emacs-lisp/lisp.el (lisp--local-variables-1, lisp--local-variables)
(lisp--local-variables-completion-table, lisp--expect-function-p)
(lisp--form-quoted-p, lisp--company-doc-buffer)
(lisp--company-doc-string, lisp--company-location)
(lisp-completion-at-point): Move to elisp-mode.el.
* lisp/emacs-lisp/lisp-mode.el (lisp--mode-syntax-table): New syntax-table,
extracted from emacs-lisp-mode-syntax-table.
(emacs-lisp-mode-abbrev-table, emacs-lisp-mode-syntax-table): Move to
elisp-mode.el.
(lisp-imenu-generic-expression): Add comments to document what comes
from which Lisp dialect.
(emacs-lisp-mode-map, emacs-lisp-byte-compile)
(emacs-lisp-byte-compile-and-load, emacs-lisp-mode-hook)
(emacs-lisp-mode, emacs-list-byte-code-comment-re)
(emacs-lisp-byte-code-comment)
(emacs-lisp-byte-code-syntax-propertize, emacs-lisp-byte-code-mode)
(lisp-interaction-mode-map, lisp-interaction-mode)
(eval-print-last-sexp, last-sexp-setup-props)
(last-sexp-toggle-display, prin1-char, preceding-sexp)
(eval-last-sexp-1, eval-last-sexp-print-value)
(eval-last-sexp-fake-value, eval-sexp-add-defvars, eval-last-sexp)
(eval-defun-1, eval-defun-2, eval-defun): Move to elisp-mode.el.
* src/lisp.mk (lisp): Add elisp-mode.elc.

10 years ago* etc/TODO: Add a few entries, remove others, expand some
Stefan Monnier [Fri, 26 Sep 2014 22:19:12 +0000 (18:19 -0400)]
* etc/TODO: Add a few entries, remove others, expand some

10 years ago* progmodes/grep.el (grep-regexp-alist): Use more-accurate regexp.
Paul Eggert [Fri, 26 Sep 2014 18:32:48 +0000 (11:32 -0700)]
* progmodes/grep.el (grep-regexp-alist): Use more-accurate regexp.

Do not match file names that end in '/', as they cannot be 'grep'
hits nowadays.  This prevents confusion when 'grep -r' reports a
match in a file whose basename is ':12345:'.  Conversely, do not
require exactly the same sequence of spaces and tabs after both
colons, and allow spaces or tabs before the second colon, as per
the POSIX spec for 'grep' output.

10 years ago* xfns.c (x_default_scroll_bar_color_parameter):
Paul Eggert [Fri, 26 Sep 2014 16:49:10 +0000 (09:49 -0700)]
* xfns.c (x_default_scroll_bar_color_parameter):

Use USE_LOCAL_ALLOCA only if USE_TOOLKIT_SCROLL_BARS,
to pacify --enable-gcc-warnings in non-scrollbar builds.

10 years agoRegression fix - #bug18551
Kelvin White [Fri, 26 Sep 2014 13:22:47 +0000 (09:22 -0400)]
Regression fix - #bug18551

10 years agoerc.el: Fix regression - Bug #18551
Kelvin White [Fri, 26 Sep 2014 13:05:28 +0000 (09:05 -0400)]
erc.el: Fix regression - Bug #18551

10 years agosrc/w32term.h (ALIGN_STACK): Fix the cpp condition.
Ken Brown [Fri, 26 Sep 2014 07:06:35 +0000 (10:06 +0300)]
src/w32term.h (ALIGN_STACK): Fix the cpp condition.

10 years ago* emacs-lisp/cl-extra.el (cl-parse-integer): Fix last change.
Leo Liu [Fri, 26 Sep 2014 02:01:17 +0000 (10:01 +0800)]
* emacs-lisp/cl-extra.el (cl-parse-integer): Fix last change.

10 years agoAdd cl-parse-integer based on parse-integer
Leo Liu [Fri, 26 Sep 2014 00:15:21 +0000 (08:15 +0800)]
Add cl-parse-integer based on parse-integer

* doc/misc/cl.texi (Predicates on Numbers): Document cl-digit-char-p.
(Numerical Functions): Document cl-parse-integer.

* lisp/calendar/parse-time.el (parse-time-digits): Remove.
(digit-char-p, parse-integer) Moved to cl-lib.el.
(parse-time-tokenize, parse-time-rules, parse-time-string): Use
cl-parse-integer.

* lisp/emacs-lisp/cl-extra.el (cl-parse-integer): New function.

* lisp/emacs-lisp/cl-lib.el (cl-digit-char-table): New var.
(cl-digit-char-p): New function.

* test/automated/cl-lib.el (cl-digit-char-p, cl-parse-integer): New
tests.

Fixes: debbugs:18557
10 years ago* lisp/vc/add-log.el (change-log-next-buffer): Don't create an empty
Juri Linkov [Thu, 25 Sep 2014 20:55:58 +0000 (23:55 +0300)]
* lisp/vc/add-log.el (change-log-next-buffer): Don't create an empty
buffer "ChangeLog" when the current buffer doesn't match ChangeLog.[0-9].
Return the current buffer if no files match the default pattern
ChangeLog.[0-9].  Signal "end of multi" when file is nil.

Fixes: debbugs:18547
10 years agoDon't use USE_STACK_LISP_OBJECTS on Windows with GCC older than 4.2.
Eli Zaretskii [Thu, 25 Sep 2014 17:49:02 +0000 (20:49 +0300)]
Don't use USE_STACK_LISP_OBJECTS on Windows with GCC older than 4.2.

 src/lisp.h (USE_STACK_LISP_OBJECTS): Default to false for 32-bit
 MinGW builds that use GCC before 4.2.

Fixes: debbugs:18559
10 years agosrc/w32term.h (ALIGN_STACK): Fix a typo in last commit.
Eli Zaretskii [Thu, 25 Sep 2014 17:28:48 +0000 (20:28 +0300)]
src/w32term.h (ALIGN_STACK): Fix a typo in last commit.

Fixes: debbugs:18559
10 years agoFollow Emacs versioning
Kelvin White [Thu, 25 Sep 2014 14:07:30 +0000 (10:07 -0400)]
Follow Emacs versioning

10 years ago* lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered): Don't modify
Stefan Monnier [Thu, 25 Sep 2014 13:07:28 +0000 (09:07 -0400)]
* lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered): Don't modify
the global vc-handled-backends.

Fixes: debbugs:18535
10 years ago* xterm.c (x_new_font): Fix typo introduced by the recent dead code removal.
Dmitry Antipov [Thu, 25 Sep 2014 11:16:25 +0000 (15:16 +0400)]
* xterm.c (x_new_font): Fix typo introduced by the recent dead code removal.

10 years ago* lisp.h (toplevel): Adjust comment around USE_STACK_LISP_OBJECTS.
Dmitry Antipov [Thu, 25 Sep 2014 10:24:57 +0000 (14:24 +0400)]
* lisp.h (toplevel): Adjust comment around USE_STACK_LISP_OBJECTS.

10 years agoDefault to stack objects on DOS_NT platforms as well.
Eli Zaretskii [Thu, 25 Sep 2014 09:34:53 +0000 (12:34 +0300)]
Default to stack objects on DOS_NT platforms as well.

 src/w32term.h (ALIGN_STACK) [__GNUC__]: Define to
 __attribute__((force_align_arg_pointer)) for GCC 4.2 and later.
 src/lisp.h (USE_STACK_LISP_OBJECTS): Remove the !DOS_NT condition.
 src/w32proc.c (enum_locale_fn, enum_codepage_fn): Add the
 ALIGN_STACK attribute.
 src/w32fns.c (w32_monitor_enum): Add the ALIGN_STACK attribute.
 src/w32uniscribe.c (add_opentype_font_name_to_list): Add the
 ALIGN_STACK attribute.
 src/w32font.c (add_font_name_to_list, add_font_entity_to_list)
 (add_one_font_entity_to_list): Add the ALIGN_STACK attribute.

10 years agoRemove code left dead after 2014-07-27 changes.
Martin Rudalics [Thu, 25 Sep 2014 07:01:35 +0000 (09:01 +0200)]
Remove code left dead after 2014-07-27 changes.

* frame.c (frame_inhibit_resize):
* widget.c (EmacsFrameResize):
* window.c (resize_frame_windows, Fset_window_configuration):
* xdisp.c (expose_frame):
* xfns.c (x_change_tool_bar_height):
* xmenu.c (update_frame_menubar):
* xterm.c (handle_one_xevent, x_new_font, x_set_window_size_1):
Remove code left dead after 2014-07-27 changes.

10 years ago* configure.ac (MAKEINFO): Allow 'makeinfo' to be called 'texi2any'.
Paul Eggert [Thu, 25 Sep 2014 02:59:45 +0000 (19:59 -0700)]
* configure.ac (MAKEINFO): Allow 'makeinfo' to be called 'texi2any'.

10 years agoFix local_cons etc. to not exhaust the stack when in a loop.
Paul Eggert [Thu, 25 Sep 2014 02:01:14 +0000 (19:01 -0700)]
Fix local_cons etc. to not exhaust the stack when in a loop.

Problem reported in:
http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00696.html
* buffer.c (Fother_buffer, other_buffer_safely, init_buffer):
* charset.c (load_charset_map_from_file, Ffind_charset_region)
(Ffind_charset_string):
* chartab.c (uniprop_encode_value_numeric, uniprop_table):
* data.c (wrong_range):
* editfns.c (Fpropertize, format2):
* emacs.c (init_cmdargs, decode_env_path):
* fileio.c (auto_save_error):
* fns.c (Fyes_or_no_p):
* font.c (font_style_to_value, font_parse_xlfd)
(font_parse_family_registry, font_delete_unmatched)
(font_add_log):
* fontset.c (Fset_fontset_font):
* frame.c (x_get_arg):
* keyboard.c (echo_dash, safe_run_hooks_error, parse_menu_item)
(read_char_minibuf_menu_prompt):
* keymap.c (silly_event_symbol_error, describe_vector):
* lread.c (load_warn_old_style_backquotes):
* menu.c (single_menu_item):
* minibuf.c (Fread_buffer):
* process.c (status_message, Fformat_network_address)
(server_accept_connection):
* textprop.c (copy_text_properties):
* xdisp.c (Fcurrent_bidi_paragraph_direction):
* xfns.c (x_default_scroll_bar_color_parameter):
* xfont.c (xfont_open):
* xselect.c (x_clipboard_manager_error_1):
* xterm.c (x_term_init):
Put USE_LOCAL_ALLOCA at the start of the function.
* fns.c (maybe_resize_hash_table): Use build_string instead of
build_local_string, since we'd otherwise need a conditional
USE_LOCAL_ALLOCA here, but this is just debugging output and is
not worth the bother of optimization.
* font.c (font_delete_unmatched): Remove by-hand code that
observed MAX_ALLOCA limit, since it's now done automatically.
* keymap.c (Fsingle_key_description): Put USE_SAFE_ALLOCA at top,
since build_local_string needs its sa_alloc.
* lisp.h (lisp_word_count): New function.
(SAFE_ALLOCA_LISP): Use it.
(USE_LOCAL_ALLOCA): New macro.
(local_cons, make_local_vector, make_local_string):
Observe the MAX_ALLOCA limit.
(LISP_STRING_OVERHEAD): New constant.
(make_local_string): Use it.

10 years agoDefault to stack objects on non-GNU/Linux, non-DOS_NT platforms.
Paul Eggert [Wed, 24 Sep 2014 20:54:25 +0000 (13:54 -0700)]
Default to stack objects on non-GNU/Linux, non-DOS_NT platforms.

* lisp.h (USE_STACK_LISP_OBJECTS): Also default to true
if !defined DOS_NT && !defined GNU_LINUX.  I've tested this on AIX
and Solaris and it's likely to work on similar platforms.

10 years agoAvoid signed integer overflow when converting Time to ptrdiff_t.
Paul Eggert [Wed, 24 Sep 2014 20:30:28 +0000 (13:30 -0700)]
Avoid signed integer overflow when converting Time to ptrdiff_t.

* keyboard.c (INPUT_EVENT_POS_MAX, INPUT_EVENT_POS_MIN):
New macros.
(position_to_Time, Time_to_position): New functions.
(gen_help_event, kbd_buffer_get_event): Use them.
* systime.h (Time) [emacs && !HAVE_X_WINDOWS]:
Go back to plain 'unsigned long', so that 'Time' is the same
for both X and non-X builds; this is less likely to cause surprise.
* termhooks.h: Remove compile-time check that Time and ptrdiff_t
are the same size; this is no longer required.

10 years ago* lisp/find-cmd.el (find-cmd): Use grep's `find-program'.
Stefan Monnier [Wed, 24 Sep 2014 19:23:13 +0000 (15:23 -0400)]
* lisp/find-cmd.el (find-cmd): Use grep's `find-program'.
Suggested by <lompik@voila.fr>.

Fixes: debbugs:18518
10 years ago* keyboard.c (make_lispy_event): Avoid unnecessary tests
Paul Eggert [Wed, 24 Sep 2014 18:25:04 +0000 (11:25 -0700)]
* keyboard.c (make_lispy_event): Avoid unnecessary tests

of bit 28 and of whether an unsigned value is negative.
This simplifies the code a bit, and pacifies clang 3.4.

10 years agoNewsticker: Add commands to rearrange treeview groups and document them. (Bug#12560)
Ulf Jasper [Wed, 24 Sep 2014 17:33:54 +0000 (19:33 +0200)]
Newsticker: Add commands to rearrange treeview groups and document them. (Bug#12560)

2014-09-24  Ulf Jasper  <ulf.jasper@web.de>

* newsticker.texi: Reworked.  Document new treeview group
commands.  Remove VERSION, UPDATED, use EMACSVER instead.  Use
term 'feed reader'.

2014-09-24  Ulf Jasper  <ulf.jasper@web.de>

* automated/newsticker-tests.el
(newsticker--group-find-parent-group),
(newsticker--group-do-rename-group): New tests.

2014-09-24  Ulf Jasper  <ulf.jasper@web.de>

* net/newst-treeview.el (newsticker--treeview-do-get-node-by-id):
Renamed `newsticker--treeview-do-get-node' to
`newsticker--treeview-do-get-node-by-id'.
(newsticker--treeview-get-node-by-id): Renamed
`newsticker--treeview-get-node' to
`newsticker--treeview-get-node-by-id'.
(newsticker--treeview-get-current-node): Renamed `
`newsticker--treeview-get-node' to
`newsticker--treeview-get-node-by-id'.
(newsticker--treeview-buffer-init)
(newsticker--treeview-buffer-init): Disable buffer undo.
(newsticker--treeview-unfold-node): Adapted to modified
`newsticker--group-find-parent-group'.
(newsticker--group-do-find-group): Renamed
`newsticker--group-do-find-group-for-feed' to
`newsticker--group-do-find-group'.  Now works for both, groups and
feeds.
(newsticker--group-find-parent-group): Renamed
`newsticker--group-find-group-for-feed' to
`newsticker--group-find-parent-group'.  Now works for both, groups
and feeds.
(newsticker--group-do-get-parent-group)
(newsticker--group-get-parent-group): Removed.
(newsticker-group-add-group): Changed interactive prompts.
(newsticker-group-add-group): Finally jump to added group.
(newsticker-group-delete-group): Finally jump to current feed.
(newsticker--group-do-rename-group, newsticker-group-rename-group)
(newsticker--get-group-names, newsticker--group-names): New.
(newsticker-group-move-feed): Finally jump to moved feed.
(newsticker-group-shift-feed-down, newsticker-group-shift-feed-up)
(newsticker-group-shift-group-down)
(newsticker-group-shift-group-up, newsticker--group-shift): New
(newsticker--group-manage-orphan-feeds): Renamed
`newsticker--group-find-group-for-feed' to
`newsticker--group-find-parent-group'.
(newsticker-treeview-mode-map): New keybindings for new shift commands.
(newsticker-treeview-tree-do-click): Renamed
`newsticker--treeview-get-node' to
`newsticker--treeview-get-node-by-id'.

* net/newst-backend.el (newsticker--item-list)
(newsticker--item-position, newsticker--prev-message)
(newsticker--scrollable-text): Moved to newst-ticker.el.

* net/newst-ticker.el (newsticker--item-list)
(newsticker--item-position, newsticker--prev-message)
(newsticker--scrollable-text): Moved from newst-backend.el.

10 years ago* lisp.h (toplevel) [!USE_STACK_LISP_OBJECTS]: Fix poorly nested
Ken Brown [Wed, 24 Sep 2014 13:42:42 +0000 (17:42 +0400)]
* lisp.h (toplevel) [!USE_STACK_LISP_OBJECTS]: Fix poorly nested
conditions (Bug#18544).

10 years ago* lisp.h (USE_STACK_LISP_OBJECTS): Enable by default if GNU_LINUX
Dmitry Antipov [Wed, 24 Sep 2014 11:59:13 +0000 (15:59 +0400)]
* lisp.h (USE_STACK_LISP_OBJECTS): Enable by default if GNU_LINUX
&& __GNUC__ && !__clang__.  Mention known problems.  Adjust comment.

10 years ago* chartab.c (uniprop_encode_value_numeric):
Dmitry Antipov [Wed, 24 Sep 2014 11:11:14 +0000 (15:11 +0400)]
* chartab.c (uniprop_encode_value_numeric):
* font.c (font_style_to_value): Use make_local_vector.
(font_delete_unmatched): Use local_cons but respect MAX_ALLOCA.
* keymap.c (append_key): Use scoped_list1.

10 years agoFix fallout on MinGW64 from the previous commit.
Eli Zaretskii [Wed, 24 Sep 2014 10:06:53 +0000 (13:06 +0300)]
Fix fallout on MinGW64 from the previous commit.

 src/systime.h (Time): Define as size_t, to be consistent with 64-bit
 Windows builds, where 'long' is a 32-bit type.
 src/w32inevt.h (w32_console_mouse_position): Update the argument
 types to use 'Time'.
 src/w32term.c (w32_mouse_position)
 (x_horizontal_scroll_bar_report_motion)
 (x_scroll_bar_report_motion): Update the argument types to use
 'Time'.

10 years ago* termhooks.h (enum scroll_bar_part): Begin from 0 to allow...
Dmitry Antipov [Wed, 24 Sep 2014 07:17:51 +0000 (11:17 +0400)]
* termhooks.h (enum scroll_bar_part): Begin from 0 to allow...
(struct input_event): ...unsigned bitfields.  Likewise for
`event_kind' member.  Prefer unsigned for `code' and 'modifiers'.
Use `timestamp' for HELP_EVENT position.  Add compile-time assert.
* keyboard.c (gen_help_event, kbd_buffer_store_help_event)
(kbd_buffer_get_event): Adjust users.
(scroll_bar_parts): Add Qnil to match scroll_bar_nowhere.
(make_scroll_bar_position): New function, refactored out of...
(make_lispy_event): ...adjusted user.
* nsterm.h (EmacsScroller): Use enum for `last_hit_part' member.
* nsterm.m (ns_mouse_position, mouseUp):
* term.c (term_mouse_position):
* w32inevt.c (w32_console_mouse_position):
* w32term.c (w32_mouse_position):
* xterm.c (XTmouse_position): Use scroll_bar_above_handle.
(x_send_scroll_bar_event, xm_scroll_callback, xg_scroll_callback):
Prefer enum and explicit enum members to integers and numeric values.

10 years agoFix some slow uses and misuses of strcat.
Paul Eggert [Wed, 24 Sep 2014 04:12:37 +0000 (21:12 -0700)]
Fix some slow uses and misuses of strcat.

* doc.c (get_doc_string):
* gtkutil.c (get_utf8_string):
* xsmfns.c (x_session_initialize):
Avoid recomputation of string length.
* ftfont.c (ftfont_spec_pattern):
* xfns.c (xic_create_fontsetname):
Don't assume output buffer is initially zero.

10 years agomovemail: don't dump core if the current time is outlandish
Paul Eggert [Tue, 23 Sep 2014 19:21:54 +0000 (12:21 -0700)]
movemail: don't dump core if the current time is outlandish

* movemail.c (popmail): Check for mbx_delimit_begin failure.
(mbx_delimit_begin): Fail if the current time is so outlandish
that localtime would fail or asctime would have undefined
behavior.  Use strftime to avoid asctime undefined behavior.

10 years agoMerge from gnulib.
Paul Eggert [Tue, 23 Sep 2014 18:20:38 +0000 (11:20 -0700)]
Merge from gnulib.

This incorporates:
2014-09-11 fcntl-h: fix compilation with Intel C++ compiler
2014-09-04 pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04

10 years ago* lisp.h (lispstpcpy): Rename from lispstrcpy, and act like stpcpy.
Paul Eggert [Tue, 23 Sep 2014 17:03:48 +0000 (10:03 -0700)]
* lisp.h (lispstpcpy): Rename from lispstrcpy, and act like stpcpy.

All callers changed.
* xterm.c (x_term_init): Use new functionality to avoid two needs
to compute a string length.

10 years ago* dispextern.h, xdisp.c (window_box_right_offset): Now static.
Paul Eggert [Tue, 23 Sep 2014 16:07:23 +0000 (09:07 -0700)]
* dispextern.h, xdisp.c (window_box_right_offset): Now static.

10 years agoUse known length of a Lisp string to copy it faster.
Dmitry Antipov [Tue, 23 Sep 2014 15:49:00 +0000 (19:49 +0400)]
Use known length of a Lisp string to copy it faster.
* lisp.h (lispstrcpy): New function.  Add comment.
* callproc.c (child_setup):
* dbusbind.c (xd_append_arg):
* doc.c (get_doc_string):
* font.c (Ffont_xlfd_name):
* frame.c (xrdb_get_resource):
* process.c (Fmake_network_process, network_interface_info):
* w32fns.c (Fx_open_connection):
* w32proc.c (sys_spawnve):
* xfns.c (select_visual):
* xfont.c (xfont_list):
* xsmfns.c (x_session_initialize):
* xterm.c (x_term_init): Use it.

10 years agoAuto-commit of loaddefs files.
Glenn Morris [Tue, 23 Sep 2014 10:21:30 +0000 (06:21 -0400)]
Auto-commit of loaddefs files.

10 years agoFix SAFE_ALLOCA to not exhaust the stack when in a loop.
Paul Eggert [Tue, 23 Sep 2014 05:42:47 +0000 (22:42 -0700)]
Fix SAFE_ALLOCA to not exhaust the stack when in a loop.

Problem reported by Dmietry Antipov in thread leading to:
http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00713.html
This patch fixes only SAFE_ALLOCA, SAFE_NALLOCA, and SAFE_ALLOCA_LISP;
the experimental local_* macros enabled by USE_LOCAL_ALLOCATORS
remain unfixed.
* callproc.c (call_process): Save and restore sa_avail.
* lisp.h (USE_SAFE_ALLOCA): Define sa_avail.
(AVAIL_ALLOCA): New macro.
(SAFE_ALLOCA, SAFE_NALLOCA, SAFE_ALLOCA_LISP):
Use it, and check against sa_avail rather than MAX_ALLOCA.

10 years agoMerge from emacs-24
Stefan Monnier [Mon, 22 Sep 2014 19:20:45 +0000 (15:20 -0400)]
Merge from emacs-24

10 years agooops
Sam Steingold [Mon, 22 Sep 2014 19:19:29 +0000 (15:19 -0400)]
oops

10 years ago(sql-execute): Use `special-mode'.
Sam Steingold [Mon, 22 Sep 2014 19:18:29 +0000 (15:18 -0400)]
(sql-execute): Use `special-mode'.

* sql.el (sql-execute): Use `special-mode'.

10 years ago(sql-product-alist): Improve the Vertica entry.
Sam Steingold [Mon, 22 Sep 2014 19:17:40 +0000 (15:17 -0400)]
(sql-product-alist): Improve the Vertica entry.

* lisp/progmodes/sql.el (sql-product-alist): Improve the Vertica entry.

10 years agoAdd pcase-defmacro, as well as `quote' and `app' patterns.
Stefan Monnier [Mon, 22 Sep 2014 18:22:02 +0000 (14:22 -0400)]
Add pcase-defmacro, as well as `quote' and `app' patterns.
* loadup.el: Increase max-lisp-eval-depth when macroexpanding macroexp.
* emacs-lisp/pcase.el: Allow (F . ARGS) in `app' patterns.
(pcase--funcall, pcase--eval): New functions.
(pcase--u1): Use them for guard, pred, let, and app.
(\`): Use the new feature to generate better code for vector patterns.
* emacs-lisp/pcase.el: Use pcase-defmacro to handle backquote.
(pcase--upat): Remove.
(pcase--macroexpand): Don't hardcode handling of `.
(pcase--split-consp, pcase--split-vector): Remove.
(pcase--split-equal): Disregard ` since it's expanded away.
(pcase--split-member): Optimize for quote rather than for `.
(pcase--split-pred): Optimize for quote rather than for `.
(pcase--u1): Remove handling of ` (and of `or' and `and').
Quote non-selfquoting values when passing them to `eq'.
Drop `app's let-binding if the variable is not used.
(pcase--q1): Remove.
(`): Define as a pattern macro.
* emacs-lisp/pcase.el (pcase--match): New smart-constructor function.
(pcase--expand pcase--q1, pcase--app-subst-match): Use it.
(pcase--macroexpand): Handle self-quoting patterns here, expand them to
quote patterns.
(pcase--split-match): Don't hoist or/and here any more.
(pcase--split-equal): Optimize quote patterns as well as ` patterns.
(pcase--flip): New helper macro.
(pcase--u1): Optimize the memq case directly.
Don't handle neither self-quoting nor and/or patterns any more.
* emacs-lisp/pcase.el (pcase-defmacro): New macro.
(pcase--macroexpand): New function.
(pcase--expand): Use it.
* emacs-lisp/pcase.el (pcase--app-subst-match, pcase--app-subst-rest):
New optimization functions.
(pcase--u1): Add support for `quote' and `app'.
(pcase): Document them in the docstring.

10 years ago* lisp/loadup.el: Increase max-lisp-eval-depth while macroexpanding macroexp.
Stefan Monnier [Mon, 22 Sep 2014 18:17:27 +0000 (14:17 -0400)]
* lisp/loadup.el: Increase max-lisp-eval-depth while macroexpanding macroexp.

10 years ago* lisp/emacs-lisp/pcase.el: Allow (F . ARGS) in `app' patterns.
Stefan Monnier [Mon, 22 Sep 2014 18:05:22 +0000 (14:05 -0400)]
* lisp/emacs-lisp/pcase.el: Allow (F . ARGS) in `app' patterns.
(pcase--funcall, pcase--eval): New functions.
(pcase--u1): Use them for guard, pred, let, and app.
(\`): Use the new feature to generate better code for vector patterns.

10 years ago* lisp/emacs-lisp/pcase.el: Use pcase-defmacro to handle backquote.
Stefan Monnier [Mon, 22 Sep 2014 17:24:46 +0000 (13:24 -0400)]
* lisp/emacs-lisp/pcase.el: Use pcase-defmacro to handle backquote.
(pcase--upat): Remove.
(pcase--macroexpand): Don't hardcode handling of `.
(pcase--split-consp, pcase--split-vector): Remove.
(pcase--split-equal): Disregard ` since it's expanded away.
(pcase--split-member): Optimize for quote rather than for `.
(pcase--split-pred): Optimize for quote rather than for `.
(pcase--u1): Remove handling of ` (and of `or' and `and').
Quote non-selfquoting values when passing them to `eq'.
Drop `app's let-binding if the variable is not used.
(pcase--q1): Remove.
(`): Define as a pattern macro.

10 years ago* lisp/emacs-lisp/pcase.el (pcase--match): New smart-constructor function.
Stefan Monnier [Mon, 22 Sep 2014 16:22:50 +0000 (12:22 -0400)]
* lisp/emacs-lisp/pcase.el (pcase--match): New smart-constructor function.
(pcase--expand pcase--q1, pcase--app-subst-match): Use it.
(pcase--macroexpand): Handle self-quoting patterns here, expand them to
quote patterns.
(pcase--split-match): Don't hoist or/and here any more.
(pcase--split-equal): Optimize quote patterns as well as ` patterns.
(pcase--flip): New helper macro.
(pcase--u1): Optimize the memq case directly.
Don't handle neither self-quoting nor and/or patterns any more.

10 years ago* lisp/emacs-lisp/pcase.el (pcase-defmacro): New macro.
Stefan Monnier [Mon, 22 Sep 2014 15:04:12 +0000 (11:04 -0400)]
* lisp/emacs-lisp/pcase.el (pcase-defmacro): New macro.
(pcase--macroexpand): New function.
(pcase--expand): Use it.

10 years agoFix bug #18516 with SIGSEGV in expand-file-name.
Eli Zaretskii [Mon, 22 Sep 2014 14:37:22 +0000 (17:37 +0300)]
Fix bug #18516 with SIGSEGV in expand-file-name.

 src/fileio.c (Fexpand_file_name) [DOS_NT]: Make sure newdirlim is
 always set to a valid value.  Make sure the size passed to alloca
 is always positive.

10 years agoAdd support for `quote' and `app'.
Stefan Monnier [Mon, 22 Sep 2014 14:30:47 +0000 (10:30 -0400)]
Add support for `quote' and `app'.
* lisp/emacs-lisp/pcase.el (pcase--app-subst-match, pcase--app-subst-rest):
New optimization functions.
(pcase--u1): Add support for `quote' and `app'.
(pcase): Document them in the docstring.

10 years agoUse lexical-bindin in Ibuffer.
Stefan Monnier [Mon, 22 Sep 2014 14:10:53 +0000 (10:10 -0400)]
Use lexical-bindin in Ibuffer.
* lisp/ibuffer.el (ibuffer-do-toggle-read-only): `arg' is unused.
(ibuffer-compile-format): Simplify.
(ibuffer-clear-summary-columns): Simplify.
* lisp/ibuf-ext.el (ibuffer-generate-filter-groups): Don't use the third
elem of dotimes when we don't refer to the iteration var from it.
(ibuffer-toggle-sorting-mode): Avoid add-to-list.
* lisp/ibuf-macs.el (define-ibuffer-column, define-ibuffer-op):
Silence byte-compiler.

10 years ago* lisp/font-lock.el (font-lock-compile-keyword): Don't confuse a lambda
Stefan Monnier [Mon, 22 Sep 2014 13:52:06 +0000 (09:52 -0400)]
* lisp/font-lock.el (font-lock-compile-keyword): Don't confuse a lambda
expression for a list.

10 years ago* lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Don't add fundoc usage
Stefan Monnier [Mon, 22 Sep 2014 13:47:47 +0000 (09:47 -0400)]
* lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Don't add fundoc usage
for functions with no arguments.

10 years ago* lisp/mpc.el (mpc-data-directory): Use locate-user-emacs-file.
Stefan Monnier [Mon, 22 Sep 2014 13:42:57 +0000 (09:42 -0400)]
* lisp/mpc.el (mpc-data-directory): Use locate-user-emacs-file.
(mpc-volume-refresh): Make sure the corresponding header-line is updated.
(mpc-songs-jump-to, mpc-play): Use user-error.

10 years agoAvoid extra call to oblookup when interning symbols.
Dmitry Antipov [Mon, 22 Sep 2014 06:06:19 +0000 (10:06 +0400)]
Avoid extra call to oblookup when interning symbols.
* lisp.h (intern_driver): Add prototype.
* lread.c (intern_driver): New function.
(intern1, intern_c_string_1, Fintern):
* font.c (font_intern_prop):
* w32font.c (intern_font_name): Use it.

10 years agoOn OSX, do not free font-specific data more than once (Bug#18501).
Dmitry Antipov [Mon, 22 Sep 2014 05:34:05 +0000 (09:34 +0400)]
On OSX, do not free font-specific data more than once (Bug#18501).
* macfont.m (macfont_close): Release and free font-specific data
only if it wasn't previously freed.

10 years agoMinor improvements to new stack-allocated Lisp objects.
Paul Eggert [Sun, 21 Sep 2014 22:49:24 +0000 (15:49 -0700)]
Minor improvements to new stack-allocated Lisp objects.

* frame.h (FRAME_PARAMETER):
Prefer scoped_list1 to local_list1 where either would do.
* lisp.h (scoped_list4): New macro.
(local_cons, local_list1, local_list2, local_list3, local_list4)
(make_local_vector, make_local_string, build_local_string):
Prefer functions to macros where either would do.
* xdisp.c (build_desired_tool_bar_string):
Prefer scoped_list4 to local_list4 where either would do.

10 years ago* lisp/simple.el (clone-indirect-buffer): Mention the return value.
Tom Willemse [Sun, 21 Sep 2014 22:09:40 +0000 (18:09 -0400)]
* lisp/simple.el (clone-indirect-buffer): Mention the return value.

Fixes: debbugs:18478
10 years ago* lisp/progmodes/prog-mode.el (prog-mode-hook): Replace reference to
Tom Willemse [Sun, 21 Sep 2014 22:07:26 +0000 (18:07 -0400)]
* lisp/progmodes/prog-mode.el (prog-mode-hook): Replace reference to
Text mode in docstring.

Fixes: debbugs:18464
10 years ago* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
Stefan Monnier [Sun, 21 Sep 2014 22:00:28 +0000 (18:00 -0400)]
* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
Accept underscores in identifiers after "sub".

Fixes: debbugs:18502
10 years ago* configure.ac: Increase headerpad_extra to 1000, update the comment
David Caldwell [Sun, 21 Sep 2014 20:35:22 +0000 (22:35 +0200)]
* configure.ac: Increase headerpad_extra to 1000, update the comment
about load commands.

* src/unexmacosx.c (dump_it): Improve error message.

Fixes: debbugs:18505
10 years agoAuto-commit of loaddefs files.
Glenn Morris [Sun, 21 Sep 2014 10:22:38 +0000 (06:22 -0400)]
Auto-commit of loaddefs files.

10 years agoUse font-lock-face property; derive from special-mode
Tassilo Horn [Sun, 21 Sep 2014 09:34:02 +0000 (11:34 +0200)]
Use font-lock-face property; derive from special-mode

* lisp/textmodes/reftex-sel.el (reftex-select-label-mode)
(reftex-select-bib-mode, reftex-insert-docstruct): Derive modes
from special-mode (instead of fundamental-mode) and propertize
with font-lock-face instead of just face.

* lisp/textmodes/reftex-toc.el (reftex-toc-mode, reftex-toc): Ditto.

Fixes: debbugs:18496
10 years ago* lisp/emacs-lisp/lisp.el (lisp-completion-at-point): Don't use
Dmitry Gutov [Fri, 19 Sep 2014 17:33:11 +0000 (21:33 +0400)]
* lisp/emacs-lisp/lisp.el (lisp-completion-at-point): Don't use
`lisp--local-variables-completion-table' in the `lisp--form-quoted-p'
case.

10 years agoFix bug#18265
Dmitry Gutov [Fri, 19 Sep 2014 03:41:42 +0000 (07:41 +0400)]
Fix bug#18265

* lisp/emacs-lisp/lisp.el (lisp-completion-at-point): Only calculate
`table-etc' when `end' is non-nil.
(lisp-completion-at-point): Move `end' back if it's after quote.
If in comment or string, only complete when after backquote.

10 years ago* lisp/emacs-lisp/lisp.el (lisp-completion-at-point): Only calculate
Dmitry Gutov [Fri, 19 Sep 2014 03:28:31 +0000 (07:28 +0400)]
* lisp/emacs-lisp/lisp.el (lisp-completion-at-point): Only calculate
`table-etc' when `end' is non-nil.

10 years agoMake lisp-completion-at-point more discerning
Dmitry Gutov [Fri, 19 Sep 2014 03:10:29 +0000 (07:10 +0400)]
Make lisp-completion-at-point more discerning

* lisp/emacs-lisp/lisp.el (lisp--expect-function-p)
(lisp--form-quoted-p): New functions.
(lisp-completion-at-point): Use them to see if we're completing a
variable reference, a function name, or just any symbol.
http://lists.gnu.org/archive/html/emacs-devel/2014-02/msg00229.html

10 years agoAdd the missing last name to ChangeLog
Dmitry Gutov [Fri, 19 Sep 2014 02:29:25 +0000 (06:29 +0400)]
Add the missing last name to ChangeLog

10 years agoClarify url-http and url-retrieve-internal docstrings
Dmitry Gutov [Fri, 19 Sep 2014 01:55:43 +0000 (05:55 +0400)]
Clarify url-http and url-retrieve-internal docstrings

* lisp/url/url-http.el (url-http): Same.

* lisp/url/url.el (url-retrieve-internal): Clarify the docstring.

Fixes: debbugs:18116
10 years ago* src/image.c (imagemagick_load_image): Add delay to imagemagick metadata.
Juri Linkov [Thu, 18 Sep 2014 20:59:55 +0000 (23:59 +0300)]
* src/image.c (imagemagick_load_image): Add delay to imagemagick metadata.
(Bug#10747, bug#18334)

10 years agoDo not call egrep to determine emacs version in EDE.
David Engster [Thu, 18 Sep 2014 20:37:19 +0000 (22:37 +0200)]
Do not call egrep to determine emacs version in EDE.

* ede/emacs.el (ede-emacs-version): Do not call 'egrep' to
determine Emacs version (it was dead code anyway).  Make sure that
configure.ac or configure.in exist.  (Bug#18476)

10 years agoAllow users to specify `shr-width'
Ivan Kanis [Thu, 18 Sep 2014 19:18:34 +0000 (21:18 +0200)]
Allow users to specify `shr-width'

* net/shr.el, net/eww.el: Don't override `shr-width', but
introduce a new variable `shr-internal-width'.  This allows users
to specify a width themselves.

10 years ago* image-mode.el: Move defvars earlier to avoid a byte-compilation warning.
Lars Magne Ingebrigtsen [Thu, 18 Sep 2014 18:38:05 +0000 (20:38 +0200)]
* image-mode.el: Move defvars earlier to avoid a byte-compilation warning.

10 years agoPreserve the aspect ratio when fitting to width/height
Lars Magne Ingebrigtsen [Thu, 18 Sep 2014 18:34:59 +0000 (20:34 +0200)]
Preserve the aspect ratio when fitting to width/height

* image-mode.el (image-toggle-display-image): If we have a
`fit-width' or a `fit-height', don't limit the size of the image
to the window size, because that doesn't preserve the aspect
ratio.

10 years agoClarify the doc strings of mouse-position and set-mouse-position.
Eli Zaretskii [Thu, 18 Sep 2014 17:20:57 +0000 (20:20 +0300)]
Clarify the doc strings of mouse-position and set-mouse-position.

 src/frame.c (Fmouse_position, Fset_mouse_position): Clarify the
 units in which the position is measured.  (Bug#18493)

10 years agoFix bug #18490 with redisplay of other windows showing a narrowed buffer.
Eli Zaretskii [Thu, 18 Sep 2014 15:10:33 +0000 (18:10 +0300)]
Fix bug #18490 with redisplay of other windows showing a narrowed buffer.

 src/xdisp.c (redisplay_internal): Force redisplay of all windows
 that show a buffer whose narrowing has changed.

10 years agoFix `fit-window-to-buffer' (Bug#18498).
Kan-Ru Chen [Thu, 18 Sep 2014 12:06:17 +0000 (14:06 +0200)]
Fix `fit-window-to-buffer' (Bug#18498).

* window.el (fit-window-to-buffer): When counting buffer width,
count the whole visible buffer.  Correctly convert the body-height
to pixel size for window-text-pixel-size (Bug#18498).

10 years agoMore and more stack-allocated Lisp objects if USE_LOCAL_ALLOCATORS.
Dmitry Antipov [Thu, 18 Sep 2014 11:34:24 +0000 (15:34 +0400)]
More and more stack-allocated Lisp objects if USE_LOCAL_ALLOCATORS.
* lisp.h (local_list4) [USE_LOCAL_ALLOCATORS]: New macro.
[!USE_LOCAL_ALLOCATORS]: Fall back to regular list4.
* frame.h (FRAME_PARAMETER): New macro.
* dispnew.c (init_display):
* fontset.c (Fset_fontset_font):
* frame.c (x_default_parameter):
* xfaces.c (set_font_frame_param, Finternal_merge_in_global_face):
* xfns.c (x_default_scroll_bar_color_parameter)
(x_default_font_parameter, x_create_tip_frame): Use it.
* editfns.c (Fpropertize): Use local_cons.
* process.c (status_message): Use build_local_string.
* xfont.c (xfont_open): Use make_local_string.
* xdisp.c (build_desired_tool_bar_string): Use local_list4.

10 years agoPort USE_LOCAL_ALLOCATORS code to clang 3.4 x86-64.
Paul Eggert [Thu, 18 Sep 2014 05:40:17 +0000 (22:40 -0700)]
Port USE_LOCAL_ALLOCATORS code to clang 3.4 x86-64.

Revert previous lisp.h change, and install the following instead.
* lisp.h (USE_LOCAL_ALLOCATORS): Define only if __GNUC__ &&
!__clang__.  This works with GCC and with clang and is safer for
compilers we don't know about.

10 years agoPort USE_LOCAL_ALLOCATORS code to clang 3.4 x86-64.
Paul Eggert [Thu, 18 Sep 2014 01:03:40 +0000 (18:03 -0700)]
Port USE_LOCAL_ALLOCATORS code to clang 3.4 x86-64.

* lisp.h (ALLOCA_FIXUP): New constant.
(LOCAL_ALLOCA): New macro.
(local_cons, make_local_vector, make_local_string): Use them.
(local_cons): Rename parameter to make capture less likely.

10 years ago* unexmacosx.c (copy_data_segment): Port to GCC 4.6+.
Samuel Bronson [Wed, 17 Sep 2014 19:58:31 +0000 (12:58 -0700)]
* unexmacosx.c (copy_data_segment): Port to GCC 4.6+.

Fixes: debbugs:9927
10 years agoFix minor problems found by static checking.
Paul Eggert [Wed, 17 Sep 2014 18:27:36 +0000 (11:27 -0700)]
Fix minor problems found by static checking.

* alloc.c, lisp.h (SAVE_TYPE_INT_OBJ, make_save_int_obj):
Remove; now unused.
* buffer.h (decode_buffer): Doc and indentation fixes.
* fns.c (Qstring_collate_lessp, Qstring_collate_equalp): Now static.

10 years agoAvoid clang-specific warnings.
Dmitry Antipov [Wed, 17 Sep 2014 15:34:37 +0000 (19:34 +0400)]
Avoid clang-specific warnings.
* buffer.c (init_buffer): Shut up -Wself-assign.
* process.c (server_accept_connection): Shut up -Wunsequenced.

10 years ago* alloc.c (local_vector_init): Remove useless INLINE.
Dmitry Antipov [Wed, 17 Sep 2014 11:22:45 +0000 (15:22 +0400)]
* alloc.c (local_vector_init): Remove useless INLINE.

10 years agoAdd interpreter-mode-alist support for various JavaScript interpreters.
Reuben Thomas [Wed, 17 Sep 2014 09:17:27 +0000 (10:17 +0100)]
Add interpreter-mode-alist support for various JavaScript interpreters.

* progmodes/js.el: here.

10 years agoDon't assume 'grep' supports GREP_OPTIONS.
Paul Eggert [Wed, 17 Sep 2014 00:07:12 +0000 (17:07 -0700)]
Don't assume 'grep' supports GREP_OPTIONS.

The GREP_OPTIONS environment variable is planned to be marked
obsolescent in GNU grep, due to problems in its use, so stop
relying on it.
* progmodes/grep.el (grep-highlight-matches): Document this.
(grep-process-setup): Do not set GREP_OPTIONS.
(grep-compute-defaults): Use an explicit --color option if supported.