1. 29 Sep, 2014 4 commits
    • Stefan Monnier's avatar
      Rename 24.5 to 25.1 · cbdc06f3
      Stefan Monnier authored
      Except where we expect to backport the corresponding change.
      cbdc06f3
    • Daiki Ueno's avatar
      mml: Signal error on invalid <#secure> tag · 8f24b587
      Daiki Ueno authored
      * mml.el (mml-parse-1): Error out if unknown mode is specified in
      <#secure> tag (bug#18513).
      8f24b587
    • Ulf Jasper's avatar
      Do not set `url-gateway-method' in `url-https'. (Bug#16543) · 2d7ade06
      Ulf Jasper authored
      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'.
      2d7ade06
    • Dmitry Antipov's avatar
      Keep stack-allocated Lisp objects fast rather than versatile. · 71a72686
      Dmitry Antipov authored
      * 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.
      71a72686
  2. 28 Sep, 2014 3 commits
    • Ken Brown's avatar
      * src/sheap.c (bss_sbrk_buffer_beg): Remove redundant variable. · c3301e3c
      Ken Brown authored
      * src/gmalloc.c [CYGWIN]: Adapt to change in sheap.c.
      c3301e3c
    • Ulf Jasper's avatar
      Do not set `url-gateway-method' in `url-https'. (Bug#16543) · 98c58df8
      Ulf Jasper authored
      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'.
      98c58df8
    • Thien-Thi Nguyen's avatar
      Font-lock `cl-flet*', too. · 3ff1c9a8
      Thien-Thi Nguyen authored
      * lisp/emacs-lisp/lisp-mode.el (lisp-cl-font-lock-keywords-2):
      Add "flet*" to intermediate var `cl-lib-kw'.
      3ff1c9a8
  3. 27 Sep, 2014 8 commits
    • Ken Brown's avatar
      * configure.ac [CYGWIN]: Enable sound support. · bbf5e14b
      Ken Brown authored
      bbf5e14b
    • Ken Brown's avatar
      Fix implementation of HYBRID_MALLOC on Cygwin. · 6c300919
      Ken Brown authored
      * 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.
      6c300919
    • Stefan Monnier's avatar
      * lisp/epg-config.el (epg-gpg-program): Use the plain program names rather · 5551acd2
      Stefan Monnier authored
      than their absolute file name.
      5551acd2
    • Stefan Monnier's avatar
      * lisp/subr.el (track-mouse): New macro. · 19e0f0af
      Stefan Monnier authored
      * 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.
      19e0f0af
    • Leo Liu's avatar
      * lisp/emacs-lisp/eldoc.el (eldoc-mode): Fix thinko. · 548e1696
      Leo Liu authored
      * lisp/progmodes/elisp-mode.el (elisp--eldoc-last-data): Use defvar.
      548e1696
    • Stefan Monnier's avatar
      * pcase-tests.el: Add #18554 test case. · 87eb617a
      Stefan Monnier authored
      87eb617a
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/pcase.el (pcase--split-match, pcase--app-subst-match): · 528872c5
      Stefan Monnier authored
      Handle the case where `match' is :pcase--succeed or :pcase--fail.
      
      Fixes: debbugs:18554
      528872c5
    • Stefan Monnier's avatar
      Introduce global-eldoc-mode. Move Elisp-specific code to elisp-mode.el. · e6cfa098
      Stefan Monnier authored
      * 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.
      e6cfa098
  4. 26 Sep, 2014 8 commits
  5. 25 Sep, 2014 11 commits
    • Juri Linkov's avatar
      * lisp/vc/add-log.el (change-log-next-buffer): Don't create an empty · b8e352d0
      Juri Linkov authored
      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
      b8e352d0
    • Eli Zaretskii's avatar
      Don't use USE_STACK_LISP_OBJECTS on Windows with GCC older than 4.2. · 686b2196
      Eli Zaretskii authored
       src/lisp.h (USE_STACK_LISP_OBJECTS): Default to false for 32-bit
       MinGW builds that use GCC before 4.2.
      
      Fixes: debbugs:18559
      686b2196
    • Eli Zaretskii's avatar
      src/w32term.h (ALIGN_STACK): Fix a typo in last commit. · 39234ddb
      Eli Zaretskii authored
      Fixes: debbugs:18559
      39234ddb
    • Kelvin White's avatar
      Follow Emacs versioning · 68546024
      Kelvin White authored
      68546024
    • Stefan Monnier's avatar
      * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered): Don't modify · 80067ccf
      Stefan Monnier authored
      the global vc-handled-backends.
      
      Fixes: debbugs:18535
      80067ccf
    • Dmitry Antipov's avatar
    • Dmitry Antipov's avatar
    • Eli Zaretskii's avatar
      Default to stack objects on DOS_NT platforms as well. · db61bdb1
      Eli Zaretskii authored
       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.
      db61bdb1
    • Martin Rudalics's avatar
      Remove code left dead after 2014-07-27 changes. · 340e4cce
      Martin Rudalics authored
      * 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.
      340e4cce
    • Paul Eggert's avatar
    • Paul Eggert's avatar
      Fix local_cons etc. to not exhaust the stack when in a loop. · 10381f58
      Paul Eggert authored
      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.
      10381f58
  6. 24 Sep, 2014 6 commits
    • Paul Eggert's avatar
      Default to stack objects on non-GNU/Linux, non-DOS_NT platforms. · 59355ea9
      Paul Eggert authored
      * 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.
      59355ea9
    • Paul Eggert's avatar
      Avoid signed integer overflow when converting Time to ptrdiff_t. · 203a9eb0
      Paul Eggert authored
      * 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.
      203a9eb0
    • Stefan Monnier's avatar
      * lisp/find-cmd.el (find-cmd): Use grep's `find-program'. · 0e176389
      Stefan Monnier authored
      Suggested by <lompik@voila.fr>.
      
      Fixes: debbugs:18518
      0e176389
    • Paul Eggert's avatar
      * keyboard.c (make_lispy_event): Avoid unnecessary tests · cd812613
      Paul Eggert authored
      of bit 28 and of whether an unsigned value is negative.
      This simplifies the code a bit, and pacifies clang 3.4.
      cd812613
    • Ulf Jasper's avatar
      Newsticker: Add commands to rearrange treeview groups and document them. (Bug#12560) · 558eb84f
      Ulf Jasper authored
      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.
      558eb84f
    • Ken Brown's avatar
      * lisp.h (toplevel) [!USE_STACK_LISP_OBJECTS]: Fix poorly nested · cb617064
      Ken Brown authored
      conditions (Bug#18544).
      cb617064