]> git.eshelyaron.com Git - emacs.git/log
emacs.git
10 years agoUpdate documentation for `insert-register'
Daniel Colascione [Mon, 15 Sep 2014 00:45:14 +0000 (17:45 -0700)]
Update documentation for `insert-register'

  * doc/emacs/regs.texi (Text Registers): Update end-user documentation
  to reflect `insert-register' interface change.

  * doc/lispref/text.texi (Registers): Make `insert-register' documentation
  reflect interface change.

10 years agoUpdate documentation for `insert-register'
Daniel Colascione [Mon, 15 Sep 2014 00:43:29 +0000 (17:43 -0700)]
Update documentation for `insert-register'

* doc/emacs/regs.texi (Text Registers): Update end-user documentation
to reflect `insert-register' interface change.

* doc/lispref/text.texi (Registers): Make `insert-register' documentation
reflect interface change.

10 years agoMerge from emacs-24; up to 2014-07-09T02:04:12Z!rgm@gnu.org
Glenn Morris [Mon, 15 Sep 2014 00:20:21 +0000 (17:20 -0700)]
Merge from emacs-24; up to 2014-07-09T02:04:12Z!rgm@gnu.org

10 years ago* lisp/image.el (image-multi-frame-p): Fix thinko
Glenn Morris [Sun, 14 Sep 2014 23:59:57 +0000 (16:59 -0700)]
* lisp/image.el (image-multi-frame-p): Fix thinko
do not force a delay if none was specified.

Fixes: debbugs:18334
10 years ago* register.el (insert-register): Change default interactive insertion mode.
Daniel Colascione [Sun, 14 Sep 2014 23:11:52 +0000 (16:11 -0700)]
* register.el (insert-register): Change default interactive insertion mode.

10 years agoFix bug #18420 with deadlocks communicating with subprocess on MS-Windows.
Eli Zaretskii [Sun, 14 Sep 2014 15:18:39 +0000 (18:18 +0300)]
Fix bug #18420 with deadlocks communicating with subprocess on MS-Windows.

 src/w32.c (fcntl): Support O_NONBLOCK fcntl on the write side of
 pipes.
 (sys_write): When a write to a non-blocking pipe returns ENOSPC,
 set errno to EAGAIN instead, to allow the caller to retry the
 write after some waiting.  Fixes deadlocks when Emacs exchanges a
 lot of data through the pipe.

10 years ago* net/tramp-cache.el (tramp-flush-file-function): Simplify check.
Michael Albinus [Sun, 14 Sep 2014 09:00:11 +0000 (11:00 +0200)]
* net/tramp-cache.el (tramp-flush-file-function): Simplify check.
Suppress debug messages.

* net/tramp.el (tramp-file-name-handler):
* net/tramp-gvfs.el (tramp-gvfs-url-file-name): Apply `cons' where
appropriate.

10 years ago* callproc.c (init_callproc): Fix bug introduced at 2014-09-07.
Jan Djärv [Sun, 14 Sep 2014 08:23:48 +0000 (10:23 +0200)]
* callproc.c (init_callproc): Fix bug introduced at 2014-09-07.

Fixes: debbugs:18474
10 years agooops
Sam Steingold [Sun, 14 Sep 2014 01:28:27 +0000 (21:28 -0400)]
oops

10 years agoetc/NEWS: Mention HTML support in Rmail.
Eli Zaretskii [Sat, 13 Sep 2014 18:59:56 +0000 (21:59 +0300)]
etc/NEWS: Mention HTML support in Rmail.

10 years ago* etc/NEWS: Mention nil `calendar-mode-line-format' will not modify
Christopher Schmidt [Sat, 13 Sep 2014 17:44:32 +0000 (19:44 +0200)]
* etc/NEWS: Mention nil `calendar-mode-line-format' will not modify
the mode line of the calendar buffer.
* lisp/calendar/calendar.el (calendar-update-mode-line):
Do not overwrite mode-line-format if calendar-mode-line-format is nil.
(Bug#18467)

10 years ago* emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2): Add
Leo Liu [Sat, 13 Sep 2014 16:30:21 +0000 (00:30 +0800)]
* emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2): Add
pcase-exhaustive.

* emacs-lisp/pcase.el (pcase--dontwarn-upats): New var.
(pcase--expand): Use it.
(pcase-exhaustive): New macro.

Fixes: debbugs:16567
10 years agoAuto-commit of loaddefs files.
Glenn Morris [Sat, 13 Sep 2014 10:18:48 +0000 (06:18 -0400)]
Auto-commit of loaddefs files.

10 years agoFix HTML rendering by shr-insert-document in Rmail.
Eli Zaretskii [Sat, 13 Sep 2014 09:25:38 +0000 (12:25 +0300)]
Fix HTML rendering by shr-insert-document in Rmail.

 lisp/mail/rmailmm.el (rmail-mime-insert-html): Decode the HTML part
 using the specified transfer-encoding, if any, or 'undecided'.
 (rmail-mime-render-html-shr): Bind shr-width to nil, so lines are
 broken at the window margin.

Fixes: debbugs:4258
10 years agoDecode HTML text before presenting it in Rmail.
Eli Zaretskii [Sat, 13 Sep 2014 09:20:15 +0000 (12:20 +0300)]
Decode HTML text before presenting it in Rmail.

 lisp/mail/rmailmm.el (rmail-mime-insert-html): Decode the HTML part
 using the specified transfer-encoding, if any, or 'undecided'.

Fixes: debbugs:4258
10 years agoSupport rendering of HTML parts in Rmail (bug #4258).
Ken Olum [Sat, 13 Sep 2014 09:01:56 +0000 (12:01 +0300)]
Support rendering of HTML parts in Rmail (bug #4258).

 lisp/mail/rmailmm.el (rmail-mime-process): Handle text/html
 separately from other text/ types.  Suppress tagline for
 multipart body.
 (rmail-mime-parse): Don't change visibility of tagline here.
 (rmail-mime-set-bulk-data, rmail-mime-insert-bulk):
 Handle text/html specially.
 (rmail-mime-render-html-function,rmail-mime-prefer-html): New variables.
 (rmail-mime-insert-html, rmail-mime-render-html-shr)
 (rmail-mime-render-html-lynx): New functions.
 (rmail-mime-fix-inserted-faces): New function.
 (rmail-mime-process-multipart): Find the best part to show
 following rmail-mime-prefer-html if set.
 (rmail-mime-searching): New variable.
 (rmail-search-mime-message): Bind rmail-mime-searching to
 suppress rendering while searching.

10 years agoFix expansion and encoding of sound file names on MS-Windows.
Eli Zaretskii [Sat, 13 Sep 2014 08:26:44 +0000 (11:26 +0300)]
Fix expansion and encoding of sound file names on MS-Windows.

 src/sound.c (Fplay_sound_internal): Encode the sound file name in
 the ANSI codepage.  Expand it against data-directory, as per docs,
 not against the current directory.  No need to make a local copy
 of the file name; pass the encoded file name directly to
 do_play_sound.  (Bug#18463)
 src/w32.c (ansi_encode_filename): If w32_get_short_filename returns
 NULL, and the file name is not encodable in ANSI codepage, return
 the string with "?" replacement characters, which will fail the
 caller.  This avoids returning a random value in that case.

10 years agoResurrect sound support on MS-Windows that was lost in transition.
Eli Zaretskii [Sat, 13 Sep 2014 07:10:40 +0000 (10:10 +0300)]
Resurrect sound support on MS-Windows that was lost in transition.

 configure.ac (HAVE_SOUND): Check for mmsystem.h header that
 defines the sound stuff on MS-Windows.  (Bug#18463)

10 years agoPrefer ptrdiff_t to int and avoid integer overflows.
Dmitry Antipov [Sat, 13 Sep 2014 04:41:54 +0000 (08:41 +0400)]
Prefer ptrdiff_t to int and avoid integer overflows.
* fileio.c (make_temp_name):
* font.c (font_parse_family_registry): Avoid integer
overflow on string size calculation.
* data.c (Faset): Likewise for byte index.

10 years agoAdd support for Vertica SQL.
Sam Steingold [Fri, 12 Sep 2014 19:57:40 +0000 (15:57 -0400)]
Add support for Vertica SQL.

* lisp/progmodes/sql.el (sql-product-alist): Add vertica.
(sql-vertica-program, sql-vertica-options)
(sql-vertica-login-params, sql-comint-vertica, sql-vertica):
New functions and variables to support Vertica.
Inspired by code by Roman Scherer <roman@burningswell.com>.

10 years ago* buffer.c (syms_of_buffer): DEFSYM Qchoice (Bug#18337).
Detlev Zundel [Fri, 12 Sep 2014 11:12:40 +0000 (15:12 +0400)]
* buffer.c (syms_of_buffer): DEFSYM Qchoice (Bug#18337).

10 years agoFix fit-window-to-buffer doc-string.
Kan-Ru Chen [Fri, 12 Sep 2014 06:26:46 +0000 (08:26 +0200)]
Fix fit-window-to-buffer doc-string.

10 years agoSpelling fixes.
Paul Eggert [Thu, 11 Sep 2014 19:44:25 +0000 (12:44 -0700)]
Spelling fixes.

* lisp/ses.el (ses-file-format-extend-parameter-list): Rename from
ses-file-format-extend-paramter-list.  All uses changed.
* lisp/gnus-cloud.el (gnus-cloud-parse-version-1): Fix misspelling
of ":delete".

10 years ago* etc/NEWS: Mention timer error reporting.
Glenn Morris [Thu, 11 Sep 2014 17:35:44 +0000 (13:35 -0400)]
* etc/NEWS: Mention timer error reporting.
Ref: http://debbugs.gnu.org/18444#8

10 years agoRemove redundant GCPROs around Ffuncall and Fapply calls. This
Dmitry Antipov [Thu, 11 Sep 2014 13:21:19 +0000 (17:21 +0400)]
Remove redundant GCPROs around Ffuncall and Fapply calls. This
is safe because Ffuncall protects all of its arguments by itself.
* charset.c (map_charset_for_dump): Remove redundant GCPRO.
* eval.c (Fapply, apply1, call0, call1, call2, call3, call4, call5)
(call6, call7): Likewise.  Use compound literals where applicable.
(run_hook_with_args_2): Use compound literal.

10 years ago* lread.c (readevalloop_eager_expand_eval): Add GCPRO and fix
Dmitry Antipov [Thu, 11 Sep 2014 13:02:09 +0000 (17:02 +0400)]
* lread.c (readevalloop_eager_expand_eval): Add GCPRO and fix
bootstrap broken if GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE.

10 years agoMore debugging aids around GCPROs.
Dmitry Antipov [Thu, 11 Sep 2014 09:14:45 +0000 (13:14 +0400)]
More debugging aids around GCPROs.
* lisp.h (struct gcpro) [DEBUG_GCPRO]: Add extra members.
(GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6, GCPRO7):
Minor restyle.  If DEBUG_GCPRO, initialize extra fields.

10 years agoIn Fresize_mini_window_internal set w->total_lines from w->pixel_height (Bug#18422).
Martin Rudalics [Thu, 11 Sep 2014 08:47:34 +0000 (10:47 +0200)]
In Fresize_mini_window_internal set w->total_lines from w->pixel_height (Bug#18422).

* window.c (Fresize_mini_window_internal): Set w->total_lines
from w->pixel_height (Bug#18422).

10 years ago* lisp.h (make_local_string): Nitpick indent.
Dmitry Antipov [Thu, 11 Sep 2014 06:21:55 +0000 (10:21 +0400)]
* lisp.h (make_local_string): Nitpick indent.
* print.c (Fprin1_to_string): Remove unused GCPROs.

10 years agoPacify --enable-gcc-warnings when no window system is used.
Paul Eggert [Thu, 11 Sep 2014 00:48:57 +0000 (17:48 -0700)]
Pacify --enable-gcc-warnings when no window system is used.

These warnings found that subscript error, so they seem worthwhile.
* composite.c (char_composable_p): Simplify a bit.
* frame.c (x_set_frame_parameters): Add an IF_LINT.
* frame.c (x_set_horizontal_scroll_bars, x_set_scroll_bar_height):
* frame.h (FRAME_HAS_HORIZONTAL_SCROLL_BARS):
* window.c (set_window_scroll_bars):
Use USE_HORIZONTAL_SCROLL_BARS for simplicity.
* frame.h [! USE_HORIZONTAL_SCROLL_BARS]:
Ignore -Wsuggest-attribute=const.
* window.h (USE_HORIZONTAL_SCROLL_BARS): New macro.
(WINDOW_HAS_HORIZONTAL_SCROLL_BAR): Use it.

10 years ago* charset.c (Fget_unused_iso_final_char): Fix subscript error.
Paul Eggert [Thu, 11 Sep 2014 00:29:54 +0000 (17:29 -0700)]
* charset.c (Fget_unused_iso_final_char): Fix subscript error.

Use check_iso_charset_parameter instead of doing the checks by hand.
(check_iso_charset_parameter): Move up.  Check parameters a bit
more carefully, and return true for 96-char sets.  All callers changed.

10 years agoCC Mode: revert recent changes and fix bug 17463 (cc-langs.elc gets
Alan Mackenzie [Wed, 10 Sep 2014 21:38:11 +0000 (21:38 +0000)]
CC Mode: revert recent changes and fix bug 17463 (cc-langs.elc gets
loaded at run-time).
* progmodes/cc-langs.el (c-no-parens-syntax-table): Rename the
c-lang-const to c-make-no-parens-syntax-table and correct the
logic.
(c-no-parens-syntax-table): Correct the logic of the c-lang-defvar.

10 years agoSimplify lisp.h by removing the __COUNTER__ business.
Paul Eggert [Wed, 10 Sep 2014 20:56:05 +0000 (13:56 -0700)]
Simplify lisp.h by removing the __COUNTER__ business.

Problem reported by Dmitry Antipov in:
http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00220.html
* lisp.h (make_local_vector, make_local_string)
(build_local_string): Simplify by not bothering with __COUNTER__.
The __COUNTER__ business wasn't working properly, and was needed
only for hypothetical future expansion anyway.

10 years ago* nsterm.m (ns_draw_fringe_bitmap): Use the same logic as other terms to determine...
Alp Aker [Wed, 10 Sep 2014 17:56:38 +0000 (13:56 -0400)]
* nsterm.m (ns_draw_fringe_bitmap): Use the same logic as other terms to determine bitmap color.  (Bug#18437)

10 years agosrc/w32.c (sys_write): Use SAFE_NALLOCA for the NL -> CRLF translation buffer.
Eli Zaretskii [Wed, 10 Sep 2014 17:51:53 +0000 (20:51 +0300)]
src/w32.c (sys_write): Use SAFE_NALLOCA for the NL -> CRLF translation buffer.

10 years ago* xterm.c (handle_one_xevent): Add braces to pacify gcc -Wall.
Paul Eggert [Wed, 10 Sep 2014 17:18:38 +0000 (10:18 -0700)]
* xterm.c (handle_one_xevent): Add braces to pacify gcc -Wall.

10 years agoDetect iconified under Compiz/Unity
Jan Djärv [Wed, 10 Sep 2014 17:02:42 +0000 (19:02 +0200)]
Detect iconified under Compiz/Unity

* xterm.c (handle_one_xevent): Detect iconified by looking at
_NET_WM_STATE_HIDDEN.

10 years ago* lisp.h (DEFINE_GDB_SYMBOL_ENUM): Remove.
Paul Eggert [Wed, 10 Sep 2014 16:52:50 +0000 (09:52 -0700)]
* lisp.h (DEFINE_GDB_SYMBOL_ENUM): Remove.

These can generate a constant with the correct value but the wrong
width, which doesn't work as a printf argument.  All uses removed.
Problem reported by Dmitry Antipov in:
http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00213.html
(ENUMABLE): Remove; no longer needed.
(ARRAY_MARK_FLAG_val, PSEUDOVECTOR_FLAG_val, VALMASK_val):
Remove; no longer needed because of the above change.
Each definiens moved to the only use.

10 years agoCC-mode: Set open-paren-in-column-0-is-defun-start to nil;
Stefan Monnier [Wed, 10 Sep 2014 16:32:36 +0000 (12:32 -0400)]
CC-mode: Set open-paren-in-column-0-is-defun-start to nil;
plus misc cleanup.
* lisp/progmodes/cc-mode.el (c-basic-common-init):
Set open-paren-in-column-0-is-defun-start.
(adaptive-fill-first-line-regexp, font-lock-syntactic-keywords):
Remove declarations, unused.
(run-mode-hooks): Remove declaration.
(font-lock-defaults): Use plain `defvar' to declare.
(c-run-mode-hooks): Test existence of run-mode-hooks with fboundp.
* lisp/progmodes/cc-langs.el (c-filter-ops): Avoid `setq'.
(c-make-mode-syntax-table): Don't micro-optimize.
(c-keywords, c-keyword-member-alist): Simplify.
(c-kwds-lang-consts): Don't eval at compile-time.
(c-primary-expr-regexp): Comment out unused vars.
* lisp/progmodes/cc-fonts.el (c-font-lock-context): Declare at top-level.
(c-font-byte-compile): New var.
(c--compile): New function.  Use it instead of `byte-compile'.
(c-cpp-matchers): Quote the value returned by
`c-make-syntactic-matcher' in case it's not self-evaluating.
(c-basic-matchers-before): Avoid a plain MATCHER as keyword, wrap it in
parentheses instead (in case MATCHER happens to be a list).
(c-font-lock-enum-tail): Remove unused var `start'.
(c-font-lock-objc-methods): Silence byte-compiler warnings.
* lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Sink an `if'
test into an argument.
* lisp/progmodes/cc-defs.el (c-point, c-major-mode-is, c-put-char-property)
(c-get-char-property): Don't use `eval' just to unquote a constant.
(c-use-extents): Remove.  Use (featurep 'xemacs), compiled
more efficiently.
(c-put-char-property-fun): Don't call `byte-compile' by hand.
(c-clear-char-property, c-clear-char-properties): Check that `property'
is a quoted constant.
(c-emacs-features): Remove `infodock', `syntax-properties', and
`pps-extended-state' (never used), `8-bit' and `1-bit' (use (featurep
'xemacs) instead).  Use `with-temp-buffer' and let-bind vars after
changing buffer, so we don't have to setq them again afterwards.
(c-lang-const): Remove redundant symbolp assertions.
(c-find-assignment-for-mode): Use `or'.
* lisp/Makefile.in (compile-one-process): Remove cc-mode dependency.

10 years ago* src/alloc.c (verify_alloca): Replace a stray occurrence of pointer_valid_for_lisp_o...
Paul Eggert [Wed, 10 Sep 2014 15:21:46 +0000 (08:21 -0700)]
* src/alloc.c (verify_alloca): Replace a stray occurrence of pointer_valid_for_lisp_object.

10 years agoImprove the experimental local and scoped allocation.
Paul Eggert [Wed, 10 Sep 2014 06:38:38 +0000 (23:38 -0700)]
Improve the experimental local and scoped allocation.

* configure.ac (HAVE_STRUCT_ATTRIBUTE_ALIGNED)
(HAVE_STATEMENT_EXPRESSIONS): New configure-time checks.
* src/alloc.c (local_string_init, local_vector_init):
New functions, defined if USE_LOCAL_ALLOCATORS.
Mostly, these are moved here from lisp.h, as it's not
clear it's worth making them inline.
* src/lisp.h (USE_STACK_LISP_OBJECTS): Default to false.
(GCALIGNED): Depend on HAVE_STRUCT_ATTRIBUTE_ALIGNED and
USE_STACK_LISP_OBJECTS, not on a laundry list.
(local_string_init, local_vector_init): New decls.
(union Aligned_Cons): New type.
(scoped_cons): Use it.  Give up on the char trick, as it's a too
much of a maintenance hassle; if someone wants this speedup
they'll just need to convince their compiler to align properly.
Conversely, use the speedup if struct Lisp_Cons happens to
be aligned even without a directive.  Better yet, help it along
by using union Aligned_Cons rather than struct Lisp_Cons.
(pointer_valid_for_lisp_object): Remove.  This check is not
necessary, since make_lisp_ptr is already doing it.  All uses removed.
(local_vector_init, local_string_init): Move to alloc.c.
(build_local_vector): Remove this awkward macro, replacing with ...
(make_local_vector): New macro, which acts more like a function.
Use statement expressions and use __COUNTER__ to avoid macro
capture.  Fall back on functions if these features are not supported.
(build_local_string, make_local_string): Likewise.

10 years ago* lisp/desktop.el (desktop-create-buffer): Check that buffers are still live
Ivan Shmakov [Wed, 10 Sep 2014 00:47:20 +0000 (20:47 -0400)]
* lisp/desktop.el (desktop-create-buffer): Check that buffers are still live
before burying them.

Fixes: debbugs:18373
10 years ago(sql-default-directory): Fix type annotation.
Sam Steingold [Tue, 9 Sep 2014 20:39:31 +0000 (16:39 -0400)]
(sql-default-directory): Fix type annotation.

10 years agosrc/xdisp.c (pos_visible_p): Don't assign a boolean value to an int var.
Eli Zaretskii [Tue, 9 Sep 2014 18:23:26 +0000 (21:23 +0300)]
src/xdisp.c (pos_visible_p): Don't assign a boolean value to an int var.

10 years ago* calendar/diary-lib.el (diary-list-entries): Restore 24.3 display behavior.
Glenn Morris [Tue, 9 Sep 2014 18:09:54 +0000 (14:09 -0400)]
* calendar/diary-lib.el (diary-list-entries): Restore 24.3 display behavior.

Fixes: debbugs:18381
10 years ago* nsterm.m (updateFrameSize:, initFrameFromEmacs:)
Jan Djärv [Tue, 9 Sep 2014 17:46:28 +0000 (19:46 +0200)]
* nsterm.m (updateFrameSize:, initFrameFromEmacs:)
(toggleFullScreen:): Take frame_resize_pixelwise into account when
setting resize increments.

Fixes: debbugs:18435
10 years ago* lisp/progmodes/cc-awk.el: Remove unneeded cc-bytecomp use.
Stefan Monnier [Tue, 9 Sep 2014 15:08:08 +0000 (11:08 -0400)]
* lisp/progmodes/cc-awk.el: Remove unneeded cc-bytecomp use.
Change doc comments into docstrings.
* lisp/Makefile.in: Remove cc-awk dependency.

10 years agoFix the row number mistakenly reported by pos_visible_p in rare cases.
Eli Zaretskii [Tue, 9 Sep 2014 15:04:35 +0000 (18:04 +0300)]
Fix the row number mistakenly reported by pos_visible_p in rare cases.

 src/xdisp.c (pos_visible_p): Properly save and restore the iterator
 state around the call to line_bottom, since it can move the
 iterator to another screen line.  This fixes off-by-one errors in
 the reported row in some rare cases.

10 years agoFix mouse-dragging mode lines on text-mode terminals.
Eli Zaretskii [Tue, 9 Sep 2014 15:00:51 +0000 (18:00 +0300)]
Fix mouse-dragging mode lines on text-mode terminals.

 lisp/mouse.el (mouse-drag-line): On text-mode frames, count the mode
 line and header line as 1 pixel.  This fixes the 1-"pixel" (row)
 discrepancy between window-pixel-edges and mouse events, and
 avoids moving mode line up when the mouse click is on the modeline
 and no drag is attempted.

10 years agoFix the string-collation tests on MS-Windows.
Eli Zaretskii [Tue, 9 Sep 2014 14:50:32 +0000 (17:50 +0300)]
Fix the string-collation tests on MS-Windows.

 tests/automated/fns-tests.el (fns-tests-collate-sort): Bind
 w32-collate-ignore-punctuation to t when sorting according to
 UTS#10 rules.  Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.

10 years agoCleanup last change and make all new stuff conditional.
Dmitry Antipov [Tue, 9 Sep 2014 11:43:22 +0000 (15:43 +0400)]
Cleanup last change and make all new stuff conditional.
* lisp.h (build_local_string): Rename to ...
(make_local_string): ... this macro.
(build_local_string, scoped_list1, scoped_list3): New macros.
(toplevel) [USE_STACK_LISP_OBJECTS]: Define all new macros
and functions as such, use regular fallbacks otherwise.
* alloc.c (verify_alloca) [USE_STACK_LISP_OBJECTS]: Define
conditionally.

10 years agoAdd macros to allocate temporary Lisp objects with alloca.
Dmitry Antipov [Tue, 9 Sep 2014 03:44:06 +0000 (07:44 +0400)]
Add macros to allocate temporary Lisp objects with alloca.
Respect MAX_ALLOCA and fall back to regular GC for large objects.
* character.h (parse_str_as_multibyte): Move prototype to ...
* lisp.h (parse_str_as_multibyte): ... here.
(struct Lisp_Cons): Add GCALIGNED attribute if supported.
(scoped_cons, scoped_list2, build_local_vector, build_local_string):
New macros.
(scoped_cons_init, pointer_valid_for_lisp_object, local_vector_init)
(local_string_init): New functions.
* alloc.c (verify_alloca) [ENABLE_CHECKING]: New function.
(init_alloc_once): Call it.

10 years ago* xterm.c (x_term_init): Consolidate duplicated code.
Dmitry Antipov [Tue, 9 Sep 2014 03:22:36 +0000 (07:22 +0400)]
* xterm.c (x_term_init): Consolidate duplicated code.
[USE_LUCID]: Revert 2014-04-02 change (Bug#18403).  Add comment.
(x_delete_terminal): Do not close X connection fd (Bug#18403).
Add eassert and mark dpyinfo as dead only if it was alive.

10 years agoNEWS fix
Glenn Morris [Tue, 9 Sep 2014 01:20:01 +0000 (21:20 -0400)]
NEWS fix
display-buffer-in-previous-window existed before 24.4, but was not
in display-buffer-fallback-action

10 years ago(sql-set-sqli-buffer): Call `sql-product-interactive' when no suitable buffer is...
Sam Steingold [Mon, 8 Sep 2014 13:57:19 +0000 (09:57 -0400)]
(sql-set-sqli-buffer): Call `sql-product-interactive' when no suitable buffer is available.

10 years ago(sql-default-directory): New user option.
Sam Steingold [Mon, 8 Sep 2014 12:38:53 +0000 (08:38 -0400)]
(sql-default-directory): New user option.

* lisp/progmodes/sql.el (sql-default-directory): New user option.
(sql-product-interactive): Bind `default-directory' to it to
enable remote connections using Tramp.

10 years ago(sql-show-sqli-buffer): Display the buffer instead of its name
Sam Steingold [Mon, 8 Sep 2014 12:31:54 +0000 (08:31 -0400)]
(sql-show-sqli-buffer): Display the buffer instead of its name

and bind the command to C-c C-z.

10 years ago(sql-send-line-and-next): New command, bound to C-c C-n.
Sam Steingold [Mon, 8 Sep 2014 12:27:19 +0000 (08:27 -0400)]
(sql-send-line-and-next): New command, bound to C-c C-n.

* lisp/progmodes/sql.el (sql-send-line-and-next): New command,
bound to C-c C-n.

10 years ago* calendar.el (calendar-basic-setup): Fix calendar-view-holidays-initially-flag
Glenn Morris [Mon, 8 Sep 2014 06:03:19 +0000 (23:03 -0700)]
* calendar.el (calendar-basic-setup): Fix calendar-view-holidays-initially-flag
 and fancy display.
* diary-lib.el (diary-live-p): Doc fix.

10 years agoMerge from emacs-24; up to 2014-07-08T06:24:07Z!eggert@cs.ucla.edu
Glenn Morris [Mon, 8 Sep 2014 06:00:58 +0000 (23:00 -0700)]
Merge from emacs-24; up to 2014-07-08T06:24:07Z!eggert@cs.ucla.edu

10 years ago* calendar.el (calendar-basic-setup): Avoid clobbering calendar with diary.
Glenn Morris [Mon, 8 Sep 2014 05:57:24 +0000 (22:57 -0700)]
* calendar.el (calendar-basic-setup): Avoid clobbering calendar with diary.

Fixes: debbugs:18381
10 years agoFix bug uncovered by changing alloca to auto buffer.
Paul Eggert [Sun, 7 Sep 2014 22:27:59 +0000 (15:27 -0700)]
Fix bug uncovered by changing alloca to auto buffer.

* coding.c (growable_destination): New function.
(produce_chars): Use it for sanity checks.  Do not fiddle with
dst_end if the source and destination are both nil, as it's
the caller's responsibility to avoid overlap.
* keyboard.c (read_decoded_event_from_main_queue):
The destination must be MAX_MULTIBYTE_LENGTH times the max source
length, not 4 times, to prevent decode_coding_c_string from trying
to reallocate a destination.  This removes the need for the FIXME.

Fixes: debbugs:18410
10 years ago* callproc.c (exec_failed) [DOS_NT]: Define a dummy.
Paul Eggert [Sun, 7 Sep 2014 20:31:18 +0000 (13:31 -0700)]
* callproc.c (exec_failed) [DOS_NT]: Define a dummy.

All callers simplified.  Add a comment about exec_failed, vfork,
and alloca.

10 years agoAdjust drag-and-drop fix when window is above top.
Paul Eggert [Sun, 7 Sep 2014 19:47:28 +0000 (12:47 -0700)]
Adjust drag-and-drop fix when window is above top.

* xselect.c (x_fill_property_data): Don't let sign bit of negative
XCDR bleed into XCAR's encoded value.  Improve checks for
out-of-range data while we're at it.

Fixes: debbugs:18383
10 years ago* xselect.c (x_fill_property_data): Handle negative XCDR when data
Jan Djärv [Sun, 7 Sep 2014 17:31:39 +0000 (19:31 +0200)]
* xselect.c (x_fill_property_data): Handle negative XCDR when data
is CONSP.

Fixes: debbugs:18303
10 years agoFix bug #18419 with disappearing line numbers when minibuffer is resized.
Eli Zaretskii [Sun, 7 Sep 2014 17:16:36 +0000 (20:16 +0300)]
Fix bug #18419 with disappearing line numbers when minibuffer is resized.

 src/dispnew.c (prepare_desired_row): When MODE_LINE_P is zero,
 always make sure the marginal areas of the row are in sync with
 what the window wants.

10 years agoFix the MS-Windows build broken by SAFE_ALLOCA changes.
Eli Zaretskii [Sun, 7 Sep 2014 17:04:19 +0000 (20:04 +0300)]
Fix the MS-Windows build broken by SAFE_ALLOCA changes.

 src/callproc.c (child_setup) [WINDOWSNT]: Don't call exec_failed if
 'alloca' gets passed arguments larger than MAX_ALLOCA.
 src/font.c (MAX): Define if not defined elsewhere.

10 years ago* keyboard.c (read_decoded_event_from_main_queue): Reinstitute alloca
Paul Eggert [Sun, 7 Sep 2014 13:27:33 +0000 (06:27 -0700)]
* keyboard.c (read_decoded_event_from_main_queue): Reinstitute alloca

here for destination buffer, to work around what appears to be a
bug in decode_coding_c_string when the source and destination are
both C strings.

* keyboard.c (echo_add_key, menu_bar_items, tool_bar_items)

10 years ago* strings.texi (Text Comparison): Describe `string-collate-equalp'
Michael Albinus [Sun, 7 Sep 2014 11:02:33 +0000 (13:02 +0200)]
* strings.texi (Text Comparison): Describe `string-collate-equalp'
and `string-collate-lessp'.

10 years agoExpand @AM_DEFAULT_VERBOSITY@ even if Automake is old.
Paul Eggert [Sun, 7 Sep 2014 08:46:42 +0000 (01:46 -0700)]
Expand @AM_DEFAULT_VERBOSITY@ even if Automake is old.

* configure.ac: Assume verbose output for older Automake.

Fixes: debbugs:18415
10 years ago* automated/fns-tests.el (fns-tests--collate-enabled-p): New function.
Michael Albinus [Sun, 7 Sep 2014 08:24:44 +0000 (10:24 +0200)]
* automated/fns-tests.el (fns-tests--collate-enabled-p): New function.
(fns-tests-collate-strings, fns-tests-collate-sort): Use it.

10 years agoUse SAFE_ALLOCA etc. to avoid unbounded stack allocation.
Paul Eggert [Sun, 7 Sep 2014 07:04:01 +0000 (00:04 -0700)]
Use SAFE_ALLOCA etc. to avoid unbounded stack allocation.

This follows up on the recent thread in emacs-devel on alloca; see:
http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00042.html
This patch also cleans up alloca-related glitches noted while
examining the code looking for unbounded alloca.
* alloc.c (listn):
* callproc.c (init_callproc):
Rewrite to avoid need for alloca.
* buffer.c (mouse_face_overlay_overlaps)
(report_overlay_modification):
* buffer.h (GET_OVERLAYS_AT):
* coding.c (make_subsidiaries):
* doc.c (Fsnarf_documentation):
* editfns.c (Fuser_full_name):
* fileio.c (Ffile_name_directory, Fexpand_file_name)
(search_embedded_absfilename, Fsubstitute_in_file_name):
* fns.c (Fmake_hash_table):
* font.c (font_vconcat_entity_vectors, font_update_drivers):
* fontset.c (fontset_pattern_regexp, Ffontset_info):
* frame.c (Fmake_terminal_frame, x_set_frame_parameters)
(xrdb_get_resource, x_get_resource_string):
* ftfont.c (ftfont_get_charset, ftfont_check_otf, ftfont_drive_otf):
* ftxfont.c (ftxfont_draw):
* image.c (xbm_load, xpm_load, jpeg_load_body):
* keyboard.c (echo_add_key, menu_bar_items, tool_bar_items):
* keymap.c (Fdescribe_buffer_bindings, describe_map):
* lread.c (openp):
* menu.c (digest_single_submenu, find_and_call_menu_selection)
(find_and_return_menu_selection):
* print.c (PRINTFINISH):
* process.c (Fformat_network_address):
* scroll.c (do_scrolling, do_direct_scrolling, scrolling_1):
* search.c (search_buffer, Fmatch_data, Fregexp_quote):
* sound.c (wav_play, au_play):
* syntax.c (skip_chars):
* term.c (tty_menu_activate, tty_menu_show):
* textprop.c (get_char_property_and_overlay):
* window.c (Fset_window_configuration):
* xdisp.c (safe__call, next_overlay_change, vmessage)
(compute_overhangs_and_x, draw_glyphs, note_mouse_highlight):
* xfaces.c (face_at_buffer_position):
* xmenu.c (x_menu_show):
Use SAFE_ALLOCA etc. instead of plain alloca, since the
allocation size isn't bounded.
* callint.c (Fcall_interactively): Redo memory_full check
so that it can be done at compile-time on some platforms.
* coding.c (MAX_LOOKUP_MAX): New constant.
(get_translation_table): Use it.
* callproc.c (call_process): Use SAFE_NALLOCA instead of
SAFE_ALLOCA, to catch integer overflows on size calculation.
(exec_failed) [!DOS_NT]: New function.
(child_setup) [!DOS_NT]: Use it.
* editfns.c (Ftranspose_regions):
Hoist USE_SAFE_ALLOC + SAFE_FREE out of 'if'.
* editfns.c (check_translation):
Allocate larger buffers on the heap.
* eval.c (internal_lisp_condition_case):
Check for MAX_ALLOCA overflow.
* fns.c (sort_vector): Use SAFE_ALLOCA_LISP rather than Fmake_vector.
(Fbase64_encode_region, Fbase64_decode_region):
Avoid unnecessary calls to SAFE_FREE before 'error'.
* buffer.c (mouse_face_overlay_overlaps):
* editfns.c (Fget_pos_property, check_translation):
* eval.c (Ffuncall):
* font.c (font_unparse_xlfd, font_find_for_lface):
* ftfont.c (ftfont_drive_otf):
* keyboard.c (echo_add_key, read_decoded_event_from_main_queue)
(menu_bar_items, tool_bar_items):
* sound.c (Fplay_sound_internal):
* xdisp.c (load_overlay_strings, dump_glyph_row):
Use an ordinary auto buffer rather than alloca, since the
allocation size is fixed and small.
* ftfont.c: Include <c-strcase.h>.
(matching_prefix): New function.
(get_adstyle_property): Use it, to avoid need for alloca.
* keyboard.c (echo_add_key):
* keymap.c (describe_map): Use ptrdiff_t, not int.
* keyboard.c (echo_add_key): Prefer sizeof to strlen.
* keymap.c (Fdescribe_buffer_bindings): Use SBYTES, not SCHARS,
when counting bytes.
* lisp.h (xlispstrdupa): Remove, replacing with ...
(SAFE_ALLOCA_STRING): ... new macro with different API.
This fixes a portability problem, namely, alloca result
passed to another function.  All uses changed.
(SAFE_ALLOCA, SAFE_ALLOCA_LISP): Check for MAX_ALLOCA,
not MAX_ALLOCA - 1.
* regex.c (REGEX_USE_SAFE_ALLOCA, REGEX_SAFE_FREE)
(REGEX_ALLOCATE): New macros.
(REGEX_REALLOCATE, REGEX_ALLOCATE_STACK, REGEX_REALLOCATE_STACK)
(REGEX_FREE_STACK, FREE_VARIABLES, re_match_2_internal):
Use them.
* xdisp.c (message3): Use SAFE_ALLOCA_STRING rather than doing it
by hand.
(decode_mode_spec_coding): Store directly into buf rather than
into an alloca temporary and copying the temporary to the buf.

Fixes: debbugs:18410
10 years agoRemove unused variable EMACS_HEAPSIZE from src/Makefile.in.
Eli Zaretskii [Sat, 6 Sep 2014 07:40:43 +0000 (10:40 +0300)]
Remove unused variable EMACS_HEAPSIZE from src/Makefile.in.

 src/Makefile.in (EMACS_HEAPSIZE): Remove, no longer used.  (Bug#18416)
 ChangeLog: Mention explicitly the removal of EMACS_HEAPSIZE.

10 years agoAdd vector qpattern to pcase
Leo Liu [Sat, 6 Sep 2014 00:59:00 +0000 (08:59 +0800)]
Add vector qpattern to pcase

* doc/lispref/control.texi (Pattern matching case statement): Document vector
qpattern.

* etc/NEWS: Mention vector qpattern for pcase.  (Bug#18327).

* lisp/emacs-lisp/pcase.el (pcase): Doc fix.
(pcase--split-vector): New function.
(pcase--q1): Support vector qpattern.  (Bug#18327)

10 years agoNew custom variable `tex-print-file-extension' to help users who use PDF instead...
Sam Steingold [Fri, 5 Sep 2014 19:07:52 +0000 (15:07 -0400)]
New custom variable `tex-print-file-extension' to help users who use PDF instead of DVI.

* lisp/textmodes/tex-mode.el (tex-print-file-extension): New user
option.
(tex-print): Use it instead of the hard-coded string.

10 years ago* lisp/vc/vc-dir.el (vc-dir-update): Don't burp in corner case.
Stefan Monnier [Fri, 5 Sep 2014 17:37:12 +0000 (13:37 -0400)]
* lisp/vc/vc-dir.el (vc-dir-update): Don't burp in corner case.

10 years ago* net/tramp-sh.el (tramp-sh-handle-start-file-process): Expand `default-directory'.
Michael Albinus [Fri, 5 Sep 2014 14:12:48 +0000 (16:12 +0200)]
* net/tramp-sh.el (tramp-sh-handle-start-file-process): Expand `default-directory'.

10 years agoNew string collation tests.
Michael Albinus [Fri, 5 Sep 2014 13:32:55 +0000 (15:32 +0200)]
New string collation tests.

* automated/fns-tests.el (fns-tests-compare-strings): In case
`compare-strings' shall return t, check for this.
(fns-tests-collate-strings, fns-tests-collate-sort): New tests.

10 years agoAdd and use function horizontal-scroll-bars-available-p.
Martin Rudalics [Fri, 5 Sep 2014 10:29:34 +0000 (12:29 +0200)]
Add and use function horizontal-scroll-bars-available-p.

* scroll-bar.el (horizontal-scroll-bars-available-p): New
function.
(horizontal-scroll-bar-mode): Rewrite using
horizontal-scroll-bars-available-p.
* menu-bar.el (menu-bar-showhide-scroll-bar-menu): Rewrite using
horizontal-scroll-bars-available-p.

10 years ago* lisp/subr.el (call-process-shell-command, process-file-shell-command):
Stefan Monnier [Fri, 5 Sep 2014 01:20:51 +0000 (21:20 -0400)]
* lisp/subr.el (call-process-shell-command, process-file-shell-command):
Make the `args' obsolete.
(start-process-shell-command, start-file-process-shell-command):
Use `declare'.

Fixes: debbugs:18409
10 years agocalc/calc-forms.el (math-normalize-hms): Do a better check for
Jay Belanger [Fri, 5 Sep 2014 01:04:47 +0000 (20:04 -0500)]
calc/calc-forms.el (math-normalize-hms): Do a better check for
"negative" hms forms.

10 years ago* lisp/vc/vc-git.el (vc-git-conflicted-files): Fix bug when git status
Rasmus Pank Roulund [Thu, 4 Sep 2014 16:34:45 +0000 (12:34 -0400)]
* lisp/vc/vc-git.el (vc-git-conflicted-files): Fix bug when git status
returns nil.

Fixes: debbugs:18391
10 years ago* lisp/isearch.el (isearch-yank-word-or-char): Obey superword-mode
Lars Ljung [Thu, 4 Sep 2014 16:14:26 +0000 (12:14 -0400)]
* lisp/isearch.el (isearch-yank-word-or-char): Obey superword-mode
as well.

Fixes: debbugs:18400
10 years agoRemove stray semicolons.
Paul Eggert [Thu, 4 Sep 2014 16:14:05 +0000 (09:14 -0700)]
Remove stray semicolons.

10 years ago* doc/lispref/functions.texi (Core Advising Primitives): Add a note about the
Stefan Monnier [Thu, 4 Sep 2014 15:43:06 +0000 (11:43 -0400)]
* doc/lispref/functions.texi (Core Advising Primitives): Add a note about the
confusing treatment of `interactive' for :filter-args.

Fixes: debbugs:18399
10 years ago* lisp/emacs-lisp/eldoc.el (eldoc-function-argstring): Don't strip
Stefan Monnier [Thu, 4 Sep 2014 15:23:37 +0000 (11:23 -0400)]
* lisp/emacs-lisp/eldoc.el (eldoc-function-argstring): Don't strip
terminating paren.
(eldoc-last-data-store): Return cached data.
(eldoc-get-var-docstring): Avoid setq.
(eldoc-get-fnsym-args-string): Clarify data flow.

Fixes: debbugs:18352
10 years agoFix misleading doc string revealed in bug #18385.
Eli Zaretskii [Thu, 4 Sep 2014 15:21:40 +0000 (18:21 +0300)]
Fix misleading doc string revealed in bug #18385.

 lisp/subr.el (posn-actual-col-row): Doc fix.

10 years agoFix bug #18331 with "C-h k C-g" not showing documentation on Windows.
Eli Zaretskii [Thu, 4 Sep 2014 15:09:49 +0000 (18:09 +0300)]
Fix bug #18331 with "C-h k C-g" not showing documentation on Windows.

 src/data.c (set_internal): Use assq_no_quit, not Fassq, to find an
 existing binding of a variable, to avoid silently aborting
 commands that use specbind.

10 years ago* lisp/emacs-lisp/eldoc.el (eldoc-highlight-function-argument): Handle the
Thierry Volpiatto [Thu, 4 Sep 2014 14:49:56 +0000 (10:49 -0400)]
* lisp/emacs-lisp/eldoc.el (eldoc-highlight-function-argument): Handle the
case where we're currently providing part of the &rest arg after some
&key args, as in define-ibuffer-op.

Fixes: debbugs:18048
10 years ago* xsmfns.c: Initialize ice_fd.
Jan Djärv [Thu, 4 Sep 2014 05:38:37 +0000 (07:38 +0200)]
* xsmfns.c: Initialize ice_fd.

* xterm.c (x_term_init): Don't call x_session_initialize if running
as a daemon.

Fixes: debbugs:18375
10 years agoLess chatter in 'make' output.
Paul Eggert [Thu, 4 Sep 2014 02:15:56 +0000 (19:15 -0700)]
Less chatter in 'make' output.

* doc/Makefile.in (clean):
* oldXMenu/Makefile.in (clean mostlyclean):
Simplify, for shorter command line.
* src/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0, am__v_GEN_1, AM_V_at)
(am__v_at_, am__v_at_0, am__v_at_1):  New macros, taken from Automake.
($(etc)/DOC, buildobj.h, gl-stamp): Use them.

10 years ago* configure.ac (MAKEINFO): Clean up some configuration bitrot.
Paul Eggert [Thu, 4 Sep 2014 02:02:46 +0000 (19:02 -0700)]
* configure.ac (MAKEINFO): Clean up some configuration bitrot.

MAKEINFO is already set before we get here, so no need to call AC_PATH_PROG.
Bypass $am_missing_run.  Simplify version-number checking.

10 years ago* admin/notes/bzr: Some bisect tips.
Glenn Morris [Thu, 4 Sep 2014 00:40:03 +0000 (20:40 -0400)]
* admin/notes/bzr: Some bisect tips.

10 years ago* lisp/progmodes/which-func.el (which-func-ff-hook): Obey pre-existing
Stefan Monnier [Wed, 3 Sep 2014 19:10:15 +0000 (15:10 -0400)]
* lisp/progmodes/which-func.el (which-func-ff-hook): Obey pre-existing
buffer-local setting of which-func-mode.
(which-func-mode): Use defvar-local.
(which-function-mode): Don't reset which-func-mode in each buffer since
it might have been set by someone else.
(which-func-update-ediff-windows): Check which-function-mode.

10 years agosrc/sysdep.c (emacs_full_write): Fix a typo in a comment.
Eli Zaretskii [Wed, 3 Sep 2014 18:13:45 +0000 (21:13 +0300)]
src/sysdep.c (emacs_full_write): Fix a typo in a comment.

10 years agoNEWS and TODO changes.
Martin Rudalics [Wed, 3 Sep 2014 16:13:17 +0000 (18:13 +0200)]
NEWS and TODO changes.

10 years agoMinor updates in unidata-gen.el.
Eli Zaretskii [Wed, 3 Sep 2014 16:03:34 +0000 (19:03 +0300)]
Minor updates in unidata-gen.el.

 admin/unidata/unidata-gen.el (unidata-check): Bring this function up
 to date with the currently supported methods of generating Unicode
 property tables.  Add a comment with a description how to invoke
 the check.  Update the copyright years in the reference to the
 Unicode data files we use.

10 years agoClean up initialization and customization of horizontal scroll bars.
Martin Rudalics [Wed, 3 Sep 2014 15:10:29 +0000 (17:10 +0200)]
Clean up initialization and customization of horizontal scroll bars.

* frame.el (frame-initialize): Remove horizontal-scroll-bars
from frame-initial-frame-alist.
* scroll-bar.el (previous-horizontal-scroll-bar-mode)
(horizontal-scroll-bar-mode-explicit)
(set-horizontal-scroll-bar-mode, get-horizontal-scroll-bar-mode)
(toggle-horizontal-scroll-bar): Remove.
(horizontal-scroll-bar-mode): Remove defcustom.
(horizontal-scroll-bar-mode): Fix doc-string.
(scroll-bar-toolkit-scroll)
(scroll-bar-toolkit-horizontal-scroll): Add doc-strings stubs.
* buffer.c (scroll-bar-height): Fix typo in doc-string.
* frame.c (Vdefault_frame_horizontal_scroll_bars): Remove
variable.
* nsfns.m (Fx_create_frame):
* w32fns.c (Fx_create_frame):
* xfns.c (Fx_create_frame): Default horizontal scroll bars to
nil.

10 years agoMerge from emacs-24; up to 2014-07-04T02:28:54Z!dmantipov@yandex.ru
Glenn Morris [Wed, 3 Sep 2014 04:21:40 +0000 (21:21 -0700)]
Merge from emacs-24; up to 2014-07-04T02:28:54Z!dmantipov@yandex.ru

10 years ago* lisp/progmodes/sh-script.el (sh-font-lock-quoted-subshell): Try to better
Stefan Monnier [Wed, 3 Sep 2014 00:38:49 +0000 (20:38 -0400)]
* lisp/progmodes/sh-script.el (sh-font-lock-quoted-subshell): Try to better
handle multiline elements.

Fixes: debbugs:18380