]> git.eshelyaron.com Git - emacs.git/log
emacs.git
10 years ago* alloc.c: Remove now-unnecessary check.
Paul Eggert [Tue, 30 Sep 2014 20:17:36 +0000 (13:17 -0700)]
* alloc.c: Remove now-unnecessary check.

Suggested by Dmitry Antipov in:
http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00891.html

10 years ago* internals.texi (Stack-allocated Objects): Further improvements.
Paul Eggert [Tue, 30 Sep 2014 19:10:37 +0000 (12:10 -0700)]
* internals.texi (Stack-allocated Objects): Further improvements.

Give an example of misuse.

10 years ago* lisp/ses.el (ses--row, ses--col): New dyn-scoped vars, to replace row&col.
Stefan Monnier [Tue, 30 Sep 2014 17:52:11 +0000 (13:52 -0400)]
* lisp/ses.el (ses--row, ses--col): New dyn-scoped vars, to replace row&col.
(ses-center, ses-center-span): Use them.
(ses-print-cell): Bind them while calling the printer.
(row, col, maxrow, maxcol): Don't declare as dynamically scoped.
(ses-dorange): Revert last change.
(ses-calculate-cell): Don't bind row&col dynamically while evaluating
the formula.
(ses-set-cell): Avoid `eval'.
(ses--time-check): Rename it from ses-time-check and turn it into
a macro.

Fixes: debbugs:18191
10 years agoFix last change in lispref.
Eli Zaretskii [Tue, 30 Sep 2014 16:21:22 +0000 (19:21 +0300)]
Fix last change in lispref.

 doc/lispref/internals.texi (Stack-allocated Objects): Minor improvements of
 the wording and the indexing.

10 years ago* internals.texi (Stack-allocated Objects): Describe this feature.
Dmitry Antipov [Tue, 30 Sep 2014 15:35:16 +0000 (19:35 +0400)]
* internals.texi (Stack-allocated Objects): Describe this feature.

10 years ago* lisp/ses.el (ses-setup): Don't assume modifying the iteration var of
Stefan Monnier [Tue, 30 Sep 2014 15:33:03 +0000 (11:33 -0400)]
* lisp/ses.el (ses-setup): Don't assume modifying the iteration var of
dotimes affects the iteration.

Fixes: debbugs:18191
10 years ago* xterm.c (x_term_init): Allocate temps on stack, not on heap.
Paul Eggert [Tue, 30 Sep 2014 15:31:18 +0000 (08:31 -0700)]
* xterm.c (x_term_init): Allocate temps on stack, not on heap.

10 years ago* frame.c (x_set_frame_parameters): Port --enable-gcc-warnings
Paul Eggert [Tue, 30 Sep 2014 15:20:03 +0000 (08:20 -0700)]
* frame.c (x_set_frame_parameters): Port --enable-gcc-warnings

to Ubuntu 14.04.1 x86-64.

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

10 years ago* ses.el (ses-calculate-cell): bind row and col dynamically to
Vincent Belaïche [Tue, 30 Sep 2014 08:06:28 +0000 (10:06 +0200)]
* ses.el (ses-calculate-cell): bind row and col dynamically to
their values with 'cl-progv'.
(ses-dorange): bind row, col, maxrow and maxcol dynamically to
their values with 'cl-progv', also use non-interned symbols for
row, minrow, maxrow, mincol and maxcol.
(maxrow maxcol): New defvar, to make the compiler happy.

10 years ago* TODO: Remove char/unsigned char, long long, IRIX unexelf.c.
Paul Eggert [Tue, 30 Sep 2014 05:49:54 +0000 (22:49 -0700)]
* TODO: Remove char/unsigned char, long long, IRIX unexelf.c.

The first two are done, and IRIX support has been dropped.

10 years agoMerge from emacs-24; up to 2014-07-12T04:06:32Z!dmantipov@yandex.ru.
Bill Wohler [Tue, 30 Sep 2014 05:06:42 +0000 (22:06 -0700)]
Merge from emacs-24; up to 2014-07-12T04:06:32Z!dmantipov@yandex.ru.

10 years agoAdd TODO to replace cl with cl-lib.
Bill Wohler [Tue, 30 Sep 2014 04:58:10 +0000 (21:58 -0700)]
Add TODO to replace cl with cl-lib.

10 years agoSimplify stack-allocated Lisp objects, and make them more portable.
Paul Eggert [Tue, 30 Sep 2014 02:43:23 +0000 (19:43 -0700)]
Simplify stack-allocated Lisp objects, and make them more portable.

The build_local_string macro was used in two ways: (1) string
literals for which scoped allocation suffices, and (2) file name
components, where it's not safe in general to assume bounded-size
ASCII data.  Simplify by defining a new macro SCOPED_STRING that
allocates a block-scope string, and by using SCOPED_STRING for (1)
and build_string for (2).  Furthermore, actually use stack
allocation only for objects known to have sufficient alignment.
This simpler implementation means Emacs can make
USE_STACK_LISP_OBJECTS the default unless GC_MARK_STACK !=
GC_MAKE_GCPROS_NOOPS.
* lisp.h (GCALIGNED): Align even if !USE_STACK_LISP_OBJECTS,
for fewer differences among implementations.
(struct Lisp_String): Now GCALIGNED.
(USE_STACK_LISP_OBJECTS): Default to true, since the
implementation no longer insists on a nonempty GCALIGNED.
But make it false if GC_MARK_STACK != GC_MAKE_GCPROS_NOOPS.
(SCOPED_CONS_INITIALIZER): Remove, since it's no longer needed
separately.  Move definiens to scoped_cons.  The old definition
was incorrect when GCALIGNED was defined to be empty.
(union Aligned_String): New type.
(USE_STACK_CONS, USE_STACK_STRING): New constants, so that the
implementation ports to compilers that don't align strictly enough.
Don't worry about the union sizes; it's not worth bothering about.
(scoped_cons, scoped_list1, scoped_list3, scoped_list4):
Rewrite using USE_STACK_CONS.
(scoped_cons): Assume the use of union Aligned_Cons.
(lisp_string_size, make_local_string, build_local_string): Remove.
Unless otherwise specified, all callers of build_local_string
changed to use SCOPED_STRING.
(SCOPED_STRING): New macro.
* data.c (wrong_choice):
* menu.c (single_menu_item):
* process.c (Fformat_network_address):
Hoist use of SCOPED_STRING out of a scope, so that its returned
object lives long enough.
* fileio.c (Fexpand_file_name): Use build_string, not SCOPED_STRING,
as the string might be long or might not be ASCII.

10 years ago* lisp/minibuffer.el (completion-at-point): Emit warning for ill-behaved
Stefan Monnier [Tue, 30 Sep 2014 00:48:31 +0000 (20:48 -0400)]
* lisp/minibuffer.el (completion-at-point): Emit warning for ill-behaved
completion functions.

10 years ago* lisp/ses.el (ses--letref): Quote value before it gets re-evaluated.
Stefan Monnier [Mon, 29 Sep 2014 20:25:19 +0000 (16:25 -0400)]
* lisp/ses.el (ses--letref): Quote value before it gets re-evaluated.

10 years agoFollow-up to renaming v24.5 to 25.1.
Eli Zaretskii [Mon, 29 Sep 2014 19:49:44 +0000 (22:49 +0300)]
Follow-up to renaming v24.5 to 25.1.

 README: Bump version to 25.0.50.
 configure.ac (AC_INIT): Bump version to 25.0.50.

 nt/makefile.w32-in (VERSION): Bump version to 25.0.50.
 nt/emacsclient.rc: Bump version to 25.0.50.
 nt/emacs.rc: Bump version to 25.0.50.
 nt/config.nt (VERSION): Bump version to 25.0.50.

 msdos/sed2v2.inp: Bump version to 25.0.50.

 etc/refcards/ru-refcard.tex: Bump version to 25.0.50.
 etc/refcards/emacsver.tex: Bump version to 25.0.50.

 src/msdos.c (internal_terminal_init): Bump version to 25.

 doc/man/emacs.1: Bump version to 25.0.50.

 doc/emacs/emacsver.texi (EMACSVER): Bump to 20.0.50.

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