bpt/emacs.git
11 years agoAvoid weird behavior with large horizontal scrolls.
Paul Eggert [Wed, 4 Jul 2012 06:15:31 +0000 (23:15 -0700)]
Avoid weird behavior with large horizontal scrolls.

Without this change, for example, large hscroll values would
mess up Emacs's display on Fedora 15 x86, presumably due to
overflows in int calculations in the display code.
Also, if buffers had long lines, Emacs would freeze.
* window.c (HSCROLL_MAX): Reduce to 100000, and make it visible to GDB.
(set_window_hscroll): New function, containing the old guts of
Fset_window_hscroll.  Return the clipped value.
(Fset_window_hscroll, Fscroll_left, Fscroll_right): Use it.
This avoids the need to check against PTRDIFF_MAX.

11 years ago* buffer.c (Fgenerate_new_buffer_name): Fix sprintf format mismatch.
Paul Eggert [Wed, 4 Jul 2012 05:39:36 +0000 (22:39 -0700)]
* buffer.c (Fgenerate_new_buffer_name): Fix sprintf format mismatch.

11 years ago* buffer.c (Fgenerate_new_buffer_name): Fix type mismatch.
Dmitry Antipov [Wed, 4 Jul 2012 03:49:19 +0000 (07:49 +0400)]
* buffer.c (Fgenerate_new_buffer_name): Fix type mismatch.

11 years ago* lisp/xml.el (xml-name-regexp): Remove, redundant. Use xml-name-re.
Stefan Monnier [Wed, 4 Jul 2012 03:31:34 +0000 (23:31 -0400)]
* lisp/xml.el (xml-name-regexp): Remove, redundant.  Use xml-name-re.

11 years agoRemove stray empty line.
Paul Eggert [Wed, 4 Jul 2012 02:57:12 +0000 (19:57 -0700)]
Remove stray empty line.

11 years ago* regex.c: Suppress GCC warning on RHEL 6. (Bug#11207)
Paul Eggert [Wed, 4 Jul 2012 00:36:28 +0000 (17:36 -0700)]
* regex.c: Suppress GCC warning on RHEL 6.  (Bug#11207)

Conditionalize the pragmas on GCC 4.5 or later, not GCC 4.3 or later,
since GCC 4.4.6 issues a bogus warning for them.

11 years agoFix bugs in file timestamp newness comparisons.
Paul Eggert [Wed, 4 Jul 2012 00:04:46 +0000 (17:04 -0700)]
Fix bugs in file timestamp newness comparisons.

* fileio.c (Ffile_newer_than_file_p):
* lread.c (Fload): Use full timestamp resolution of files,
not just the 1-second resolution, so that files that are only
slightly newer still count as newer.
* fileio.c (Ffile_newer_than_file_p): Don't assume file
timestamps fit in 'int'; this fixes a Y2038 bug on most hosts.

11 years ago* fileio.c: Improve handling of file time marker. (Bug#11852)
Paul Eggert [Tue, 3 Jul 2012 23:51:32 +0000 (16:51 -0700)]
* fileio.c: Improve handling of file time marker.  (Bug#11852)

(special_mtime): New function.
(Finsert_file_contents, Fverify_visited_file_modtime):
Use it to set special mtime values consistently.

11 years ago* fileio.c (Finsert_file_contents): Properly handle st_mtime
Andreas Schwab [Tue, 3 Jul 2012 22:03:37 +0000 (00:03 +0200)]
* fileio.c (Finsert_file_contents): Properly handle st_mtime
marker for non-existing file.

11 years ago* make-docfile.c (scan_c_file): Suppress GCC warning.
Paul Eggert [Tue, 3 Jul 2012 21:14:48 +0000 (14:14 -0700)]
* make-docfile.c (scan_c_file): Suppress GCC warning.

11 years ago* src/lisp.h (Fread_file_name): Restore EXFUN
Glenn Morris [Tue, 3 Jul 2012 20:34:47 +0000 (16:34 -0400)]
* src/lisp.h (Fread_file_name): Restore EXFUN
(it's not a normal DEFUN and did not make it into globals.h).

11 years agoAuto-generate EXFUN using make-docfile
Tom Tromey [Tue, 3 Jul 2012 18:24:42 +0000 (12:24 -0600)]
Auto-generate EXFUN using make-docfile

src
* window.c (Fset_window_margins, Fset_window_fringes)
(Fset_window_scroll_bars, Fset_window_vscroll): No longer static.
* textprop.c (Fprevious_property_change): No longer static.
* syntax.c (Fsyntax_table_p): No longer static.
* process.c (Fget_process, Fprocess_datagram_address): No longer
static.
* keymap.c (Flookup_key, Fcopy_keymap): No longer static.
* keyboard.c (Fcommand_execute): No longer static.
Remove EXFUN.
* insdel.c (Fcombine_after_change_execute): No longer static.
* image.c (Finit_image_library): No longer static.
* fileio.c (Fmake_symbolic_link): No longer static.
* eval.c (Ffetch_bytecode): No longer static.
* editfns.c (Fuser_full_name): No longer static.
* doc.c: (Fdocumentation_property, Fsnarf_documentation): No
longer static.
* buffer.c (Fset_buffer_major_mode, Fdelete_overlay): No longer
static.
* dired.c (Ffile_attributes): No longer static.
* composite.c (Fcomposition_get_gstring): No longer static.
* callproc.c (Fgetenv_internal): No longer static.

* ccl.h: Remove EXFUNs.
* buffer.h: Remove EXFUNs.
* dispextern.h: Remove EXFUNs.
* intervals.h: Remove EXFUNs.
* fontset.h: Remove EXFUN.
* font.h: Remove EXFUNs.
* dosfns.c (system_process_attributes): Remove EXFUN.
* keymap.h: Remove EXFUNs.
* lisp.h: Remove EXFUNs.
* w32term.h: Remove EXFUNs.
* window.h: Remove EXFUNs.
* xsettings.h: Remove EXFUN.
* xterm.h: Remove EXFUN.

lib-src
* make-docfile.c (enum global_type) <FUNCTION>: New constant.
(struct global) <value>: New field.
(add_global): Add 'value' argument.
(compare_globals): Sort functions at the end.
(close_emacs_globals): New function.
(write_globals): Handle functions.
(scan_c_file): Call add_global for DEFUN.

11 years agoSpeed up generate-new-buffer-name for invisible buffers (bug#1229)
Glenn Morris [Tue, 3 Jul 2012 17:47:32 +0000 (13:47 -0400)]
Speed up generate-new-buffer-name for invisible buffers (bug#1229)

* src/buffer.c (Fgenerate_new_buffer_name):
Speed up finding a new buffer for invisible buffers.

* src/lisp.h (Frandom): Make it visible to C.

11 years agoFix block vector allocation code to allow VECTOR_BLOCK_SIZE
Dmitry Antipov [Tue, 3 Jul 2012 16:35:53 +0000 (20:35 +0400)]
Fix block vector allocation code to allow VECTOR_BLOCK_SIZE
values which aren't power of 2.
* alloc.c (VECTOR_FREE_LIST_SIZE_MASK): New macro.  Verify
it's value and the value of VECTOR_BLOCK_SIZE.  Adjust users
accordingly.

11 years ago* src/alloc.c (mark_object): Revert part of last patch to use `switch'.
Stefan Monnier [Tue, 3 Jul 2012 14:37:55 +0000 (10:37 -0400)]
* src/alloc.c (mark_object): Revert part of last patch to use `switch'.
* src/lisp.h (Lisp_Misc, Lisp_Fwd): Move around to group better.

11 years ago* alloc.c (allocate_vector_block): Remove redundant
Dmitry Antipov [Tue, 3 Jul 2012 11:09:36 +0000 (15:09 +0400)]
* alloc.c (allocate_vector_block): Remove redundant
calls to mallopt if DOUG_LEA_MALLOC is defined.
(allocate_vectorlike): If DOUG_LEA_MALLOC is defined,
avoid calls to mallopt if zero_vector is returned.

11 years ago* alloc.c (check_string_bytes): If GC_CHECK_STRING_BYTES
Dmitry Antipov [Tue, 3 Jul 2012 10:21:01 +0000 (14:21 +0400)]
* alloc.c (check_string_bytes): If GC_CHECK_STRING_BYTES
is enabled, avoid dereferencing NULL current_sblock if
running undumped.

11 years ago* vc/ediff-diff.el (ediff-same-file-contents): Fix it for remote
Michael Albinus [Tue, 3 Jul 2012 07:42:31 +0000 (09:42 +0200)]
* vc/ediff-diff.el (ediff-same-file-contents): Fix it for remote
files on the same host.

11 years agoFixes: debbugs:11848
Andreas Schwab [Tue, 3 Jul 2012 07:12:22 +0000 (09:12 +0200)]
Fixes: debbugs:11848

* help-fns.el (describe-function-1): Only call
help-fns--autoloaded-p when we have a file name.

11 years ago* xml.el: Protect parser against XML bombs.
Chong Yidong [Tue, 3 Jul 2012 05:28:42 +0000 (13:28 +0800)]
* xml.el: Protect parser against XML bombs.
(xml-entity-expansion-limit): New variable.
(xml-parse-string, xml-substitute-special): Use it.
(xml-parse-dtd): Avoid infloop if the DTD is not terminated.

* test/automated/xml-parse-tests.el: Update testcases.

11 years agoCleanup basic buffer management.
Dmitry Antipov [Tue, 3 Jul 2012 03:57:52 +0000 (07:57 +0400)]
Cleanup basic buffer management.
* buffer.h (struct buffer): Change layout to use generic vector
marking code.  Fix some comments.  Change type of 'clip_changed'
to bitfield.  Remove unused #ifndef old.
(FIRST_FIELD_PER_BUFFER, LAST_FIELD_PER_BUFFER): Remove.
(GET_OVERLAYS_AT): Fix indentation.
(for_each_per_buffer_object_at): New macro.
* buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
(Fbuffer_local_variables): Use it.
(init_buffer_once, syms_of_buffer): Remove unused #ifndef old.
* alloc.c (allocate_buffer): Adjust to match new layout of
struct buffer.  Fix comment.
(mark_overlay): New function.
(mark_buffer): Use it.  Use mark_vectorlike to mark normal
Lisp area of struct buffer.
(mark_object): Use it.  Adjust marking of misc objects
and related comments.

11 years agoTweak bug-reference-bug-regexp setting
Glenn Morris [Tue, 3 Jul 2012 02:16:11 +0000 (22:16 -0400)]
Tweak bug-reference-bug-regexp setting

* lisp/progmodes/bug-reference.el (bug-reference-bug-regexp):
Allow linking to specific messages in debbugs reports (eg 123#5).

11 years agognus-art.el (gnus-article-view-part): Toggle subparts of multipart/alternative part
Katsumi Yamaoka [Tue, 3 Jul 2012 00:25:57 +0000 (00:25 +0000)]
gnus-art.el (gnus-article-view-part): Toggle subparts of multipart/alternative part

11 years ago* lisp/xml.el: Handle entity and character reference expansion correctly.
Chong Yidong [Mon, 2 Jul 2012 16:21:54 +0000 (00:21 +0800)]
* lisp/xml.el: Handle entity and character reference expansion correctly.
(xml-default-ns): New variable.
(xml-entity-alist): Use XML spec definitions for lt and amp.
(xml-parse-region): Make first two arguments optional.  Discard
text properties.
(xml-parse-tag-1): New function, spun off from xml-parse-tag.  All
callers changed.
(xml-parse-tag): Call xml-parse-tag-1.  For backward
compatibility, this function should not modify buffer contents.
(xml-parse-tag-1): Fix opening-tag regexp.
(xml-parse-string): Rewrite, handling entity and character
references properly.
(xml--entity-replacement-text): Signal an error if a parameter
entity is undefined.

* test/automated/xml-parse-tests.el (xml-parse-tests--data): More
testcases.

11 years ago* lisp/comint.el (comint-output-filter): Filter out repeated prompts.
Stefan Monnier [Mon, 2 Jul 2012 16:18:02 +0000 (12:18 -0400)]
* lisp/comint.el (comint-output-filter): Filter out repeated prompts.

11 years ago* lisp/net/ange-ftp.el (ange-ftp-expand-file-name): Use ange-ftp-ftp-name
Stefan Monnier [Mon, 2 Jul 2012 13:31:15 +0000 (09:31 -0400)]
* lisp/net/ange-ftp.el (ange-ftp-expand-file-name): Use ange-ftp-ftp-name
and file-name-absolute-p.
(ange-ftp-file-exists-p): Use ange-ftp-file-exists-p for
internal calls.

11 years ago* src/ChangeLog: Fix a typo.
Dmitry Antipov [Mon, 2 Jul 2012 10:08:41 +0000 (14:08 +0400)]
* src/ChangeLog: Fix a typo.

11 years agoSpelling fixes.
Paul Eggert [Mon, 2 Jul 2012 08:00:05 +0000 (01:00 -0700)]
Spelling fixes.

11 years ago* alloc.c (mark_object): Remove "#ifdef GC_CHECK_MARKED_OBJECTS"
Paul Eggert [Mon, 2 Jul 2012 07:36:17 +0000 (00:36 -0700)]
* alloc.c (mark_object): Remove "#ifdef GC_CHECK_MARKED_OBJECTS"

wrapper that is not needed because the wrapped code is a no-op (zero
machine instructions) when GC_CHECK_MARKED_OBJECTS is not defined.
This avoids a -Wunused-macros diagnostic with GCC 4.7.1 x86-64.

11 years ago* alloc.c (mark_buffer): Simplify. Remove prototype.
Dmitry Antipov [Mon, 2 Jul 2012 06:23:15 +0000 (10:23 +0400)]
* alloc.c (mark_buffer): Simplify.  Remove prototype.
(mark_object): Add comment.  Reorganize marking of vector-like
objects.  Use CHECK_LIVE for all vector-like ojects except buffers
and subroutines when GC_CHECK_MARKED_OBJECTS is defined.  Avoid
redundant calls to mark_vectorlike for bool vectors.

11 years agognus-sync.el: Simply require json
Katsumi Yamaoka [Mon, 2 Jul 2012 00:48:41 +0000 (00:48 +0000)]
gnus-sync.el: Simply require json
registry.el: Simply require eieio and eieio-base

11 years ago* xml.el (xml-parse-dtd): Use proper regexps for ELEMENT declarations.
Chong Yidong [Sun, 1 Jul 2012 11:05:17 +0000 (19:05 +0800)]
* xml.el (xml-parse-dtd): Use proper regexps for ELEMENT declarations.

* test/automated/xml-parse-tests.el: Update testcase.

Fixes: debbugs:7172

11 years agoAuto-commit of loaddefs files.
Glenn Morris [Sun, 1 Jul 2012 10:23:35 +0000 (06:23 -0400)]
Auto-commit of loaddefs files.

11 years agoAuto-commit of generated files.
Glenn Morris [Sun, 1 Jul 2012 10:18:49 +0000 (06:18 -0400)]
Auto-commit of generated files.

11 years agoImprove xml parameter entity parsing, and add a new ERT test.
Chong Yidong [Sun, 1 Jul 2012 07:17:05 +0000 (15:17 +0800)]
Improve xml parameter entity parsing, and add a new ERT test.

* test/automated/xml-parse-tests.el: New file.

* lisp/xml.el (xml--parse-buffer): New function.  Move most of
xml-parse-region here.
(xml-parse-region): Copy region into a temporary buffer, since
parameter entity substitution requires changing buffer contents.
Use xml--parse-buffer.
(xml-parse-file): Use xml--parse-buffer.
(xml-parse-dtd): Make parameter entity substitution work right.

11 years agolib-src/makefile.w32-in (CTAGS_CFLAGS): Remove EMACS_NAME.
Juanma Barranquero [Sat, 30 Jun 2012 23:01:52 +0000 (01:01 +0200)]
lib-src/makefile.w32-in (CTAGS_CFLAGS): Remove EMACS_NAME.
Already defined in ETAGS_CFLAGS.

11 years ago* src/nsterm.m (ns_init_paths): Ignore site-lisp if --no-site-lisp.
Glenn Morris [Sat, 30 Jun 2012 21:35:20 +0000 (14:35 -0700)]
* src/nsterm.m (ns_init_paths): Ignore site-lisp if --no-site-lisp.

11 years ago* lisp/comint.el (follow-comint-scroll-to-bottom): Fix declaration.
Glenn Morris [Sat, 30 Jun 2012 21:23:38 +0000 (14:23 -0700)]
* lisp/comint.el (follow-comint-scroll-to-bottom): Fix declaration.

11 years agoRemove outdated and unnecessary dbus- declarations.
Glenn Morris [Sat, 30 Jun 2012 21:22:18 +0000 (14:22 -0700)]
Remove outdated and unnecessary dbus- declarations.

* net/secrets.el, net/tramp-gvfs.el, net/xesam.el, net/zeroconf.el:
Remove outdated and unnecessary dbus- declarations.
(They are in defined dbus.el now.)

11 years ago* url-vars.el (mm-mime-mule-charset-alist, mm-coding-system-p): Declare.
Glenn Morris [Sat, 30 Jun 2012 21:13:05 +0000 (14:13 -0700)]
* url-vars.el (mm-mime-mule-charset-alist, mm-coding-system-p): Declare.

11 years agoMake --no-site-lisp work for --enable-locallisppath elements
Glenn Morris [Sat, 30 Jun 2012 21:10:50 +0000 (14:10 -0700)]
Make --no-site-lisp work for --enable-locallisppath elements
without "site-lisp" in the name.
Ref http://debbugs.gnu.org/10208#25, point iii).

* configure.in (standardlisppath): New output variable.
(lisppath): Use standardlisppath.
* Makefile.in (standardlisppath): New, set by configure.
(epaths-force): Use standardlisppath and locallisppath rather than lisppath.

* src/epaths.in (PATH_SITELOADSEARCH): New.
* src/lread.c (init_lread): Use PATH_SITELOADSEARCH.

* nt/paths.h (PATH_SITELOADSEARCH): New.

Fixes: debbugs:11658

11 years agoFix last entry in src/ChangeLog.
Eli Zaretskii [Sat, 30 Jun 2012 16:09:47 +0000 (19:09 +0300)]
Fix last entry in src/ChangeLog.

11 years agoAdapt the MS-DOS build to the latest changes.
Eli Zaretskii [Sat, 30 Jun 2012 15:55:27 +0000 (18:55 +0300)]
Adapt the MS-DOS build to the latest changes.

  msdos/mainmake.v2 (bootstrap-clean): Do a maintainer-clean in lib, not
  bootstrap-clean (which doesn't exist).
  msdos/inttypes.h (PRIuMAX) [__DJGPP__ < 2.04]: Define to "llu".
  msdos/sedleim.inp (MKDIR_P): Edit to DOS "md" command.
  msdos/sed1v2.inp: (LIB_CLOCK_GETTIME): Edit to empty.
  Remove lines that invoke PAXCTL.
  (clean): Fix recipe not to run Unixy shell commands.
  msdos/sed2v2.inp (GETTIMEOFDAY_TIMEZONE): Edit to 'struct timezone'.
  (HAVE_STRNCASECMP): Edit to 1.
  msdos/sed3v2.inp (LIB_CLOCK_GETTIME): Edit to empty.
  (C_SWITCH_SYSTEM): Add "-I../msdos".
  msdos/sedlibmk.inp (GNULIB_GETTIMEOFDAY, GNULIB_PSELECT)
  (GNULIB_SELECT, HAVE_STRUCT_TIMEVAL, HAVE_SYS_SELECT_H)
  (HAVE_SYS_TIME_H, NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H)
  (NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H, NEXT_SYS_SELECT_H)
  (NEXT_SYS_TIME_H, REPLACE_GETTIMEOFDAY, REPLACE_PSELECT)
  (REPLACE_STRUCT_TIMEVAL): Edit to appropriate values.
  (BUILT_SOURCES): Edit out sys/select.h and sys/time.h.
  (mostlyclean-local, distclean-generic): Fix recipe not to run
  Unixy shell commands.

  src/sysselect.h [DOS_NT]: Don't include sys/select.h.
  src/sysselect.h (pselect) [!HAVE_PSELECT]: Redirect to sys_select.
  src/sysdep.c: Don't include dos.h and dosfns.h.
  src/process.c (sys_select):
  src/msdos.c (sys_select): Accept one more argument and ignore it.
  src/msdos.c (event_timestamp, sys_select): Use gnulib's gettime;
  adapt data types and code to that.
  src/dosfns.c:
  src/msdos.c (gettime, settime): Define away the prototypes in dos.h,
  which clashes with the gnulib function of the same name.
  src/ w32proc.c (sys_select): Accept and ignore one more argument.
  src/w32.c (emacs_gnutls_pull): Call select with one more argument.

  lisp/emacs-lisp/timer.el (timer-until): Subtract results of
  float-time, instead of taking float-time of the result of
  time-subtract, since float-time signals an error for negative time
  arguments.

11 years agoAdapt the MS-DOS build to the latest changes.
Eli Zaretskii [Sat, 30 Jun 2012 15:32:51 +0000 (18:32 +0300)]
Adapt the MS-DOS build to the latest changes.

 msdos/mainmake.v2 (bootstrap-clean): Do a maintainer-clean in lib, not
 bootstrap-clean (which doesn't exist).
 msdos/inttypes.h (PRIuMAX) [__DJGPP__ < 2.04]: Define to "llu".
 msdos/sedleim.inp (MKDIR_P): Edit to DOS "md" command.
 msdos/sed1v2.inp: (LIB_CLOCK_GETTIME): Edit to empty.
 Remove lines that invoke PAXCTL.
 (clean): Fix recipe not to run Unixy shell commands.
 msdos/sed2v2.inp (GETTIMEOFDAY_TIMEZONE): Edit to 'struct timezone'.
 (HAVE_STRNCASECMP): Edit to 1.
 msdos/sed3v2.inp (LIB_CLOCK_GETTIME): Edit to empty.
 (C_SWITCH_SYSTEM): Add "-I../msdos".
 msdos/sedlibmk.inp (GNULIB_GETTIMEOFDAY, GNULIB_PSELECT)
 (GNULIB_SELECT, HAVE_STRUCT_TIMEVAL, HAVE_SYS_SELECT_H)
 (HAVE_SYS_TIME_H, NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H)
 (NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H, NEXT_SYS_SELECT_H)
 (NEXT_SYS_TIME_H, REPLACE_GETTIMEOFDAY, REPLACE_PSELECT)
 (REPLACE_STRUCT_TIMEVAL): Edit to appropriate values.
 (BUILT_SOURCES): Edit out sys/select.h and sys/time.h.
 (mostlyclean-local, distclean-generic): Fix recipe not to run
 Unixy shell commands.

 src/sysselect.h [DOS_NT]: Don't include sys/select.h.
 src/s/ms-w32.h (select, pselect): Don't define here, they are
 defined in sysselect.h
 src/sysselect.h (pselect) [!HAVE_PSELECT]: Redirect to sys_select.
 src/sysdep.c: Don't include dos.h and dosfns.h.
 src/process.c (sys_select):
 src/msdos.c (sys_select): Accept one more argument and ignore it.
 src/msdos.c (event_timestamp, sys_select): Use gnulib's gettime;
 adapt data types and code to that.
 src/dosfns.c:
 src/msdos.c (gettime, settime): Define away the prototypes in dos.h,
 which clashes with the gnulib function of the same name.

 lisp/emacs-lisp/timer.el (timer-until): Subtract results of
 float-time, instead of taking float-time of the result of
 time-subtract, since float-time signals an error for negative time
 arguments.

11 years agoFix use of eval-and-compile in regexps in xml.el.
Chong Yidong [Sat, 30 Jun 2012 14:21:24 +0000 (22:21 +0800)]
Fix use of eval-and-compile in regexps in xml.el.

* xml.el (xml-*-re): Convert defvars into defconsts, and
eval-and-compile them so eval-and-compile works on derivatives.
(xml--entity-replacement-text): Use eval-and-comple.

11 years agoxml.el: Fix last change.
Chong Yidong [Sat, 30 Jun 2012 13:57:55 +0000 (21:57 +0800)]
xml.el: Fix last change.

11 years ago* vc/vc-git.el (vc-git-registered): Use cache property
Michael Albinus [Sat, 30 Jun 2012 13:18:16 +0000 (15:18 +0200)]
* vc/vc-git.el (vc-git-registered): Use cache property
`git-registered'.
(vc-git-mode-line-string): Call `vc-working-revision' instead of
`vc-git-working-revision' in order to benefit from the cache.
(vc-git-root): Use cache property `git-root'.

11 years ago* vc/vc-hooks.el (vc-before-save): Clear cache if file has been
Dmitry Gutov [Sat, 30 Jun 2012 13:14:00 +0000 (15:14 +0200)]
* vc/vc-hooks.el (vc-before-save): Clear cache if file has been
removed (likely outside Emacs).

11 years ago* lisp/emacs-lisp/cl-lib.el: Require macroexp.
Stefan Monnier [Sat, 30 Jun 2012 12:52:08 +0000 (08:52 -0400)]
* lisp/emacs-lisp/cl-lib.el: Require macroexp.

11 years ago* lisp/emacs-lisp/cl-lib.el: Require macroexp for its macros.
Stefan Monnier [Sat, 30 Jun 2012 12:05:22 +0000 (08:05 -0400)]
* lisp/emacs-lisp/cl-lib.el: Require macroexp for its macros.

11 years ago* xml.el: Implement XML parameter entities.
Chong Yidong [Sat, 30 Jun 2012 11:33:22 +0000 (19:33 +0800)]
* xml.el: Implement XML parameter entities.
(xml-parameter-entity-alist): New variable.
(xml-parse-region, xml-parse-fragment): Preserve previous values
of xml-entity-alist and xml-parameter-entity-alist, so that
repeated calls on different documents do not change them.
(xml-parse-tag): Fix doctype regexp.
(xml--entity-replacement-text): New function.
(xml-parse-dtd): Use it.  Don't handle system entities; doing that
properly requires url retrieval which is unimplemented.
(xml-escape-string): Doc fix.

11 years ago* font.c (font_style_to_value, font_style_symbolic)
Andreas Schwab [Sat, 30 Jun 2012 09:13:54 +0000 (11:13 +0200)]
* font.c (font_style_to_value, font_style_symbolic)
(font_prop_validate_style): Add type checks for values in
font_style_table.

11 years ago* lisp.h (CHECK_RANGED_INTEGER): Make value to check the first
Andreas Schwab [Sat, 30 Jun 2012 09:13:54 +0000 (11:13 +0200)]
* lisp.h (CHECK_RANGED_INTEGER): Make value to check the first
argument.
* character.c, charset.c, menu.c, process.c, window.c: Adjust all
uses.

11 years ago* lisp/emacs-lisp/cl-lib.el (cl-pushnew): Use macroexp-let2.
Stefan Monnier [Sat, 30 Jun 2012 02:00:08 +0000 (22:00 -0400)]
* lisp/emacs-lisp/cl-lib.el (cl-pushnew): Use macroexp-let2.

11 years agoUndo change in xdisp.c in 2012-06-29T11:48:08Z!dmantipov@yandex.ru.
Eli Zaretskii [Fri, 29 Jun 2012 18:52:54 +0000 (21:52 +0300)]
Undo change in xdisp.c in 2012-06-29T11:48:08Z!dmantipov@yandex.ru.

 src/xdisp.c (try_window_id): Undo last change.  'int' is wide
 enough to hold vertical pixel positions on screen.

11 years agoFix the current directory of the Emacs process on MS-Windows.
Eli Zaretskii [Fri, 29 Jun 2012 13:11:54 +0000 (16:11 +0300)]
Fix the current directory of the Emacs process on MS-Windows.

 src/w32.c (getwd): Adjust commentary about startup_dir.
 (init_environment): Always call sys_access, even in non-MSVC
 builds.  Don't chdir to the directory of the Emacs executable.
 This undoes code from 1997 which was justified by the need to
 "avoid conflicts when removing and renaming directories".  But its
 downside was that every relative file name was being interpreted
 relative to the directory of the Emacs executable, which can never
 be TRT.  In particular, it broke sys_access when called with
 relative file names.
 (sys_access): Map GetLastError to errno.

11 years ago* lisp/fringe.el (fringe-mode): Doc fix.
Dmitry Antipov [Fri, 29 Jun 2012 11:48:08 +0000 (15:48 +0400)]
* lisp/fringe.el (fringe-mode): Doc fix.
* src/window.h (struct window): Change type of 'fringes_outside_margins'
to bitfield.  Fix comment.  Adjust users accordingly.
(struct window): Change type of 'window_end_bytepos' to ptrdiff_t.
Adjust comment.
* src/xdisp.c (try_window_id): Change type of 'first_vpos' and 'vpos'
to ptrdiff_t.

11 years agoAuto-commit of generated files.
Glenn Morris [Fri, 29 Jun 2012 10:17:31 +0000 (06:17 -0400)]
Auto-commit of generated files.

11 years ago* net/ange-ftp.el (ange-ftp-get-passwd): Throw if `non-essential'
Michael Albinus [Fri, 29 Jun 2012 07:14:36 +0000 (09:14 +0200)]
* net/ange-ftp.el (ange-ftp-get-passwd): Throw if `non-essential'
is non-nil.
(ange-ftp-ignore-errors-if-non-essential): New defmacro.
(ange-ftp-file-name-all-completions): Use it.  (Bug#11808)

11 years agoMerge from emacs-24; up to 2012-04-30T11:57:47Z!sdl.web@gmail.com
Glenn Morris [Fri, 29 Jun 2012 06:28:37 +0000 (23:28 -0700)]
Merge from emacs-24; up to 2012-04-30T11:57:47Z!sdl.web@gmail.com

11 years agolisp/gnus/tests/: Remove
Katsumi Yamaoka [Fri, 29 Jun 2012 04:15:43 +0000 (04:15 +0000)]
lisp/gnus/tests/: Remove

11 years ago* editfns.c (region_limit): Fix type mismatch.
Dmitry Antipov [Fri, 29 Jun 2012 02:19:32 +0000 (06:19 +0400)]
* editfns.c (region_limit): Fix type mismatch.

11 years ago* nsfns.m: Fix GLYPH_DEBUG usage assuming that it may be
Dmitry Antipov [Fri, 29 Jun 2012 01:35:32 +0000 (05:35 +0400)]
* nsfns.m: Fix GLYPH_DEBUG usage assuming that it may be
undefined.  Convert from xassert to eassert.
* nsmenu.m: Convert from xassert to eassert.
* nsterm.m: Likewise.

11 years agolisp/emacs-lisp/cl-lib.el (cl-pushnew): Don't capture X (bug#11811).
Juanma Barranquero [Thu, 28 Jun 2012 23:04:27 +0000 (01:04 +0200)]
lisp/emacs-lisp/cl-lib.el (cl-pushnew): Don't capture X (bug#11811).

11 years ago* src/editfns.c (region_limit): Clip to narrowing.
Stefan Monnier [Thu, 28 Jun 2012 19:09:41 +0000 (15:09 -0400)]
* src/editfns.c (region_limit): Clip to narrowing.

Fixes: debbugs:11770

11 years ago* configure.in: Fix previous change. Remove --enable-asserts.
Dmitry Antipov [Thu, 28 Jun 2012 16:34:05 +0000 (20:34 +0400)]
* configure.in: Fix previous change. Remove --enable-asserts.
(CPPFLAGS): Remove conditional -DXASSERTS=1.
Add --enable-link-time-optimization.
* INSTALL: Mention this.

11 years agoAvoid integer overflow on scroll-left and scroll-right.
Paul Eggert [Thu, 28 Jun 2012 15:50:11 +0000 (08:50 -0700)]
Avoid integer overflow on scroll-left and scroll-right.

* window.c (HSCROLL_MAX): New macro.
(Fscroll_left, Fscroll_right): Avoid undefined behavior on integer
overflow when requested scroll falls outside ptrdiff_t range.

11 years ago* window.h (struct window): Change type of 'hscroll',
Dmitry Antipov [Thu, 28 Jun 2012 12:29:37 +0000 (16:29 +0400)]
* window.h (struct window): Change type of 'hscroll',
'min_hscroll' and 'last_point' from Lisp_Object to ptrdiff_t,
'last_modified' and 'last_overlay_modified' to EMACS_INT.
Adjust users accordingly.
* xdisp.c (try_cursor_movement): Replace type check with eassert.
* window.c (Fscroll_left, Fscroll_right): Change type of 'hscroll'
from EMACS_INT to ptrdiff_t.
(make_window): Omit redundant initialization.

11 years ago* calendar/cal-dst.el (calendar-current-time-zone): Return
Andreas Schwab [Thu, 28 Jun 2012 12:13:38 +0000 (14:13 +0200)]
* calendar/cal-dst.el (calendar-current-time-zone): Return
calendar-current-time-zone-cache if non-nil.

11 years agosrc/makefile.w32-in ($(BLD)/regex.$(O)): Update dependencies.
Juanma Barranquero [Thu, 28 Jun 2012 11:37:27 +0000 (13:37 +0200)]
src/makefile.w32-in ($(BLD)/regex.$(O)): Update dependencies.

11 years ago* window.h (struct window): Change type of 'use_time' and
Dmitry Antipov [Thu, 28 Jun 2012 11:11:48 +0000 (15:11 +0400)]
* window.h (struct window): Change type of 'use_time' and
'sequence_number' from Lisp_Object to int.
* frame.c (make_frame): Adjust users accordingly.
* print.c (print_object): Likewise.
* window.c (select_window, Fwindow_use_time, make_parent_window)
(make_window): Likewise.

11 years agoterm: rework color cutomizing
Julien Danjou [Thu, 28 Jun 2012 10:40:24 +0000 (12:40 +0200)]
term: rework color cutomizing

* term.el (term-handle-colors-array): Use a set of new faces to
color the terminal.  Also uses :inverse-video property.
(term-default-fg-color): Set to nil by default, deprecate in favor
of `term-face'.
(term-default-bg-color): Set to nil by default, deprecate in favor
of `term-face'.
(term-current-face): Use `term-face' by default.
(term-bold-attribute): Variable deleted.

11 years agoAuto-commit of generated files.
Glenn Morris [Thu, 28 Jun 2012 10:17:30 +0000 (06:17 -0400)]
Auto-commit of generated files.

11 years agont/nmake.defs,gmake.defs (CHECKING_FLAGS): Remove XASSERTS.
Juanma Barranquero [Thu, 28 Jun 2012 09:06:11 +0000 (11:06 +0200)]
nt/nmake.defs,gmake.defs (CHECKING_FLAGS): Remove XASSERTS.

11 years ago* configure.in: Add glyphs category to --enable-checking option.
Dmitry Antipov [Thu, 28 Jun 2012 07:50:50 +0000 (11:50 +0400)]
* configure.in: Add glyphs category to --enable-checking option.
(GLYPH_DEBUG): Define if glyphs debugging is enabled.
* src/dispextern.h (GLYPH_DEBUG): Now defined in config.h if
enabled with --enable-checking=[all,glyphs] configure option.
Fix GLYPH_DEBUG usage assuming that it may be undefined,
adjust comments accordingly.
* src/dispnew.c: Fix GLYPH_DEBUG usage assuming that it may be
undefined, adjust comments accordingly.
* src/image.c: Likewise.
* src/scroll.c: Likewise.
* src/w32fns.c: Likewise.
* src/w32term.c: Likewise.
* src/xdisp.c: Likewise.
* src/xfaces.c: Likewise.
* src/xfns.c: Likewise.
* src/xterm.c: Likewise.

11 years agoGeneralize run-time debugging checks.
Dmitry Antipov [Thu, 28 Jun 2012 07:50:27 +0000 (11:50 +0400)]
Generalize run-time debugging checks.
* configure.in (ENABLE_CHECKING): Update comment.
* src/dispextern.h (XASSERTS): Remove.
* src/fontset.c (xassert): Remove.
Convert from xassert to eassert.
* src/alloc.c: Convert from xassert to eassert.
* src/bidi.c: Likewise.
* src/dispnew.c: Likewise.
* src/fns.c: Likewise.
* src/fringe.c: Likewise.
* src/ftfont.c: Likewise.
* src/gtkutil.c: Likewise.
* src/image.c: Likewise.
* src/keyboard.c: Likewise.
* src/menu.c: Likewise.
* src/process.c: Likewise.
* src/scroll.c: Likewise.
* src/sound.c: Likewise.
* src/term.c: Likewise.
* src/w32console.c: Likewise.
* src/w32fns.c: Likewise.
* src/w32term.c: Likewise.
* src/window.c: Likewise.
* src/xdisp.c: Likewise.
* src/xfaces.c: Likewise.
* src/xfns.c: Likewise.
* src/xselect.c: Likewise.
* src/xterm.c: Likewise.

11 years agoAdd a PROBLEMS note about the libotf name-clash annoyance
Glenn Morris [Thu, 28 Jun 2012 07:47:19 +0000 (00:47 -0700)]
Add a PROBLEMS note about the libotf name-clash annoyance

11 years ago* simple.el (completion-list-mode-finish): Don't use toggle-read-only.
Glenn Morris [Thu, 28 Jun 2012 07:21:41 +0000 (00:21 -0700)]
* simple.el (completion-list-mode-finish): Don't use toggle-read-only.
Since completion-list-mode has a special mode-class, it wasn't doing
anything extra anyway.

11 years ago* gnutls.c (emacs_gnutls_handshake): Revert last change. Add QUIT
Andreas Schwab [Thu, 28 Jun 2012 07:12:59 +0000 (09:12 +0200)]
* gnutls.c (emacs_gnutls_handshake): Revert last change.  Add QUIT
to make the loop interruptible.

11 years agoTODO updates; add wishlist section
Glenn Morris [Thu, 28 Jun 2012 07:05:15 +0000 (00:05 -0700)]
TODO updates; add wishlist section

11 years ago* emacs.py, emacs2.py, emacs3.py: Remove files.
Glenn Morris [Thu, 28 Jun 2012 06:58:39 +0000 (23:58 -0700)]
* emacs.py, emacs2.py, emacs3.py: Remove files.
AFAICS, the new python.el does not use these files.

11 years ago* configure.in: Don't check for sys/select.h, sys/time.h, utime.h.
Paul Eggert [Thu, 28 Jun 2012 05:29:58 +0000 (22:29 -0700)]
* configure.in: Don't check for sys/select.h, sys/time.h, utime.h.

Emacs proper no longer uses these headers, and can rely on Gnulib
for these checks.

11 years agoMake inlining of other-mode interpreted functions work.
Stefan Monnier [Thu, 28 Jun 2012 03:31:27 +0000 (23:31 -0400)]
Make inlining of other-mode interpreted functions work.
* lisp/emacs-lisp/bytecomp.el (byte-compile--refiy-function): New fun.
(byte-compile): Use it to fix compilation of lexical-binding closures.
* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Compile the
function, if needed.

Fixes: debbugs:11799

11 years agoMerge from gnulib.
Paul Eggert [Thu, 28 Jun 2012 00:07:33 +0000 (17:07 -0700)]
Merge from gnulib.

* m4/getopt.m4: Copy new version from gnulib, incorporating:
getopt-posix: No longer guarantee that option processing is resettable.

11 years ago* configure.in: Only check for paxctl on gnu-linux.
Glenn Morris [Wed, 27 Jun 2012 23:57:56 +0000 (19:57 -0400)]
* configure.in: Only check for paxctl on gnu-linux.

http://debbugs.gnu.org/11398#26

NetBSD has a "paxctl" that does not support the same options
as the GNU/Linux version...

11 years ago* lisp/help-mode.el (help-make-xrefs): Don't just withstand
Stefan Monnier [Wed, 27 Jun 2012 21:16:32 +0000 (17:16 -0400)]
* lisp/help-mode.el (help-make-xrefs): Don't just withstand
cyclic-variable-indirection but any error in documentation-property.

11 years agoGet rid of all the manual purecopy calls in menu-bar definitions.
Stefan Monnier [Wed, 27 Jun 2012 21:15:13 +0000 (17:15 -0400)]
Get rid of all the manual purecopy calls in menu-bar definitions.
* lisp/loadup.el (purify-flag): Pre-grow the hash-table to reduce the
memory use.
* lisp/bindings.el (bindings--define-key): New function.
* lisp/vc/vc-hooks.el, lisp/replace.el, lisp/menu-bar.el:
* lisp/international/mule-cmds.el, lisp/emacs-lisp/lisp-mode.el:
* lisp/buff-menu.el, lisp/bookmark.el:
* bindings.el: Use it to purecopy define-key bindings.
* src/fns.c (maybe_resize_hash_table): Output message when growing the
purify-hashtable.

11 years ago* lisp/textmodes/rst.el (rst-adornment-faces-alist): Avoid copy-list.
Stefan Monnier [Wed, 27 Jun 2012 18:36:25 +0000 (14:36 -0400)]
* lisp/textmodes/rst.el (rst-adornment-faces-alist): Avoid copy-list.

11 years ago* alloc.c (allocate_string_data): Remove dead code.
Dmitry Antipov [Wed, 27 Jun 2012 15:46:48 +0000 (19:46 +0400)]
* alloc.c (allocate_string_data): Remove dead code.
* xsettings.c (XSETTINGS_FONT_NAME): Move under HAVE_XFT to
avoid GCC warning about unused macro.

11 years ago* lisp/emacs-lisp/cl.el (flet): Mark obsolete.
Stefan Monnier [Wed, 27 Jun 2012 15:11:28 +0000 (11:11 -0400)]
* lisp/emacs-lisp/cl.el (flet): Mark obsolete.
* lisp/emacs-lisp/cl-macs.el (cl-flet*): New macro.
* lisp/vc/vc-rcs.el (vc-rcs-annotate-command, vc-rcs-parse):
* lisp/progmodes/js.el (js-c-fill-paragraph):
* lisp/progmodes/ebrowse.el (ebrowse-switch-member-buffer-to-sibling-class)
(ebrowse-switch-member-buffer-to-derived-class):
* test/automated/ert-x-tests.el (ert-test-run-tests-interactively-2):
* lisp/play/5x5.el (5x5-solver): Use cl-flet.

Fixes: debbugs:11780

11 years ago* lisp/gnus/shr.el (shr-render-buffer): New command.
Stefan Monnier [Wed, 27 Jun 2012 14:40:22 +0000 (10:40 -0400)]
* lisp/gnus/shr.el (shr-render-buffer): New command.
(shr-visit-file): Use it.

11 years ago* lisp/emacs-lisp/cl.el: Use lexical-binding. Fix flet.
Stefan Monnier [Wed, 27 Jun 2012 14:39:30 +0000 (10:39 -0400)]
* lisp/emacs-lisp/cl.el: Use lexical-binding.  Fix flet.
(cl--symbol-function): New macro.
(cl--letf, cl--letf*): Use it.

Fixes: debbugs:11780

11 years ago* alloc.c (allocate_string): Omit intervals initialization.
Dmitry Antipov [Wed, 27 Jun 2012 14:35:51 +0000 (18:35 +0400)]
* alloc.c (allocate_string): Omit intervals initialization.
* alloc.c (make_uninit_multibyte_string): Initialize intervals
as in make_pure_string and make_pure_c_string.

11 years ago* lisp/emacs-lisp/easy-mmode.el (easy-mmode-pretty-mode-name):
Stefan Monnier [Wed, 27 Jun 2012 14:05:24 +0000 (10:05 -0400)]
* lisp/emacs-lisp/easy-mmode.el (easy-mmode-pretty-mode-name):
Strip "toggle-" if any.

11 years ago* alloc.c (allocate_string): Fix last change.
Dmitry Antipov [Wed, 27 Jun 2012 11:25:56 +0000 (15:25 +0400)]
* alloc.c (allocate_string):  Fix last change.

11 years ago* alloc.c (allocate_string): Remove two redundant calls
Dmitry Antipov [Wed, 27 Jun 2012 11:19:54 +0000 (15:19 +0400)]
* alloc.c (allocate_string):  Remove two redundant calls
to memset, add explicit initialization where appropriate.

11 years agoRemove paths.el
Glenn Morris [Wed, 27 Jun 2012 07:47:56 +0000 (00:47 -0700)]
Remove paths.el

* lisp/info.el (Info-default-directory-list): Move here from paths.el.
* lisp/paths.el: Remove file, which is now empty.
* lisp/loadup.el: No longer load "paths".

* src/lisp.mk (lisp): Remove paths.elc.

* lib-src/makefile.w32-in (lisp2): Remove paths.el.

* INSTALL: Remove references to paths.el.

11 years ago* lisp/custom.el (custom-initialize-delay): Doc fix.
Glenn Morris [Wed, 27 Jun 2012 07:10:27 +0000 (00:10 -0700)]
* lisp/custom.el (custom-initialize-delay): Doc fix.

11 years agoReplace eshell-defgroup with plain defgroup
Glenn Morris [Wed, 27 Jun 2012 07:08:06 +0000 (00:08 -0700)]
Replace eshell-defgroup with plain defgroup

Borrowing a trick from vc-sccs.el, wrap the defgroup in a progn
so that the whole thing ends up in the generated autoload file,
esh-groups.el.

* em-alias.el, em-banner.el, em-basic.el, em-cmpl.el, em-dirs.el:
* em-glob.el, em-hist.el, em-ls.el, em-pred.el, em-prompt.el:
* em-rebind.el, em-script.el, em-smart.el, em-term.el, em-unix.el:
* em-xtra.el: Replace eshell-defgroup with (progn (defgroup.
* eshell.el (eshell-defgroup): Remove alias.

11 years agoFix ChangeLog entry from trunk 2012-06-27T03:52:02Z!jwiegley@gmail.com.
Glenn Morris [Wed, 27 Jun 2012 06:55:01 +0000 (23:55 -0700)]
Fix ChangeLog entry from trunk 2012-06-27T03:52:02Z!jwiegley@gmail.com.
For some reason, this included an extraneous entry from the emacs-24
branch.