1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-09 05:01:02 -08:00
Commit graph

32603 commits

Author SHA1 Message Date
Juri Linkov
a0a79cde7c Move word search functions from search.c to isearch.el (bug#10145, bug#11381).
* lisp/isearch.el (word-search-regexp, word-search-backward)
(word-search-forward, word-search-backward-lax)
(word-search-forward-lax): Move functions from search.c.

* src/search.c (Fword_search_regexp, Fword_search_backward)
(Fword_search_forward, Fword_search_backward_lax)
(Fword_search_forward_lax): Move functions to isearch.el.
2012-05-17 03:03:49 +03:00
Paul Eggert
b05725233b * xgselect.c (xg_select): Just invoke 'select' if -nw.
Suggested by Ken Brown.

Fixes: debbugs:9754
2012-05-15 19:22:53 -07:00
Stefan Monnier
9660f5fc84 * src/lread.c (init_obarray): Declare Qt and Qnil as special. 2012-05-15 16:20:18 -04:00
Glenn Morris
985584aed1 Make a self-contained ns build able to find its own libexec directory
Ref: http://lists.gnu.org/archive/html/emacs-devel/2012-05/msg00298.html

* src/nsterm.m (ns_init_paths):
Put "libexec" before "bin", for the sake of init_callproc_1.
2012-05-14 09:33:11 -07:00
Glenn Morris
4374de8319 * src/nsterm.m (ns_init_paths): Fix typo ("libexec" not "lib-exec"). 2012-05-14 09:23:11 -07:00
Paul Eggert
078c97cbff * keyboard.c (kbd_buffer_get_event) [!HAVE_DBUS]: Omit unused local. 2012-05-14 08:22:29 -07:00
Paul Eggert
dc44c39ad5 * unexaix.c: Port to more-recent AIX compilers.
(report_error, report_error_1, make_hdr, copy_sym)
(mark_x, adjust_lnnoptrs, unrelocate_symbols):
Make arguments const char *, not char *, to avoid violations of C
standard and to fix some AIX warnings reported by Gilles Pion.
2012-05-14 08:11:10 -07:00
Chong Yidong
e18afed7d6 Merge from emacs-24; up to 2012-04-22T13:58:00Z!cyd@gnu.org 2012-05-14 19:59:28 +08:00
Michael Albinus
9d0a235ab2 * keyboard.c (kbd_buffer_get_event): Read special events also in
batch mode.  (Bug#11415)
2012-05-14 09:05:03 +02:00
Eli Zaretskii
c8fb9dc689 Fix bug #11464 with pos-visible-in-window-p and R2L text in L2R paragraph.
src/xdisp.c (pos_visible_p): Don't report a position visible when move_it_to
 stopped at the last line of window, which happens to be scanned
 backwards by the bidi iteration.
2012-05-13 21:22:35 +03:00
Eli Zaretskii
ac268e6786 Fix bug #11417 with infloop when left-fringe/right-fringe spec is used on TTY.
src/xdisp.c (handle_stop): Don't call get_overlay_strings_1 if we
 already have overlays loaded.
 (handle_single_display_spec): Before returning without displaying
 fringe bitmap, synchronize the bidi iterator with the main display
 iterator, by calling iterate_out_of_display_property.
 (iterate_out_of_display_property): Detect buffer iteration by
 testing that it->string is a Lisp string.
 (get_next_display_element): When the current object is exhausted,
 and there's something on it->stack, call set_iterator_to_next to
 proceed with what's on the stack, instead of returning zero.
 (set_iterator_to_next): If called at the end of a Lisp string,
 proceed to consider_string_end without incrementing string
 position.  Don't increment display vector index past the end of
 the display vector.
2012-05-13 18:35:13 +03:00
Glenn Morris
9e6b06ed73 Remove trailing / from $ns_appbindir
* configure.in (ns_appbindir): Remove trailing "/".
* src/ns.mk: Update for ns_appbindir no longer having trailing "/".
2012-05-12 11:10:37 -07:00
Eli Zaretskii
c1a1d7a36a Update src/lisp.mk as required by 2012-05-07T20:48:41Z!monnier@iro.umontreal.ca.
src/lisp.mk (lisp): Add newcomment.elc.
2012-05-12 16:05:12 +03:00
Glenn Morris
3fe7cdc86d Let configure test for a suitable mkdir -p
* configure.in (AC_PROG_MKDIR_P): Call it, to set MKDIR_P.
(MKDEPDIR): Use $MKDIR_P.

* Makefile.in (MKDIR_P): New, set by configure.
(mkdir): Use $MKDIR_P.

* doc/emacs/Makefile.in (MKDIR_P): New, set by configure.
(mkinfodir): Use $MKDIR_P.

* doc/lispintro/Makefile.in (MKDIR_P): New, set by configure.
(mkinfodir): Use $MKDIR_P.

* doc/lispref/Makefile.in (MKDIR_P): New, set by configure.
(mkinfodir): Use $MKDIR_P.

* doc/misc/Makefile.in (MKDIR_P): New, set by configure.
(mkinfodir): Use $MKDIR_P.

* src/Makefile.in (MKDIR_P): New, set by configure.

* src/ns.mk (${ns_appdir}, ${ns_appbindir}Emacs): Use $MKDIR_P.
2012-05-11 20:57:48 -04:00
Eli Zaretskii
82f9b393c5 Fix display when left-fringe/right-fringe display spec is invalid.
src/xdisp.c (handle_single_display_spec): Return 1 for left-margin
 and right-margin display specs even if the spec is invalid or we
 are on a TTY, and thus unable to display on the fringes.  That's
 because the text with the property will not be displayed anyway,
 so we need to signal to the caller that this is a "replacing"
 display spec.  This fixes display when the spec is invalid or we
 are on a TTY.
2012-05-11 17:05:06 +03:00
Paul Eggert
53f7d2c04e Remove unused function hourglass_started.
* dispextern.h (hourglass_started):
* w32fns.c (hourglass_started):
* xdisp.c (hourglass_started): Remove.
2012-05-10 23:39:26 -07:00
Juanma Barranquero
75aafb17a6 src/makefile.w32-in: Update dependencies. 2012-05-10 16:34:43 +02:00
Paul Eggert
97107e2e53 * xgselect.c (xg_select): Put maxfds+1 into a var.
This is slightly clearer, and pacifies Ubuntu 12.04 gcc.
2012-05-09 22:27:24 -07:00
Paul Eggert
12959e8ec2 * sound.c (DEFAULT_ALSA_SOUND_DEVICE): Define only if HAVE_ALSA. 2012-05-09 22:00:53 -07:00
Dave Abrahams
836d29b370 Add the option to not create lockfiles
* src/filelock.c (syms_of_filelock): New boolean create-lockfiles.
(lock_file): If create_lockfiles is 0, do nothing.

* lisp/cus-start.el (create-lockfiles): Add it.

Fixes: debbugs:11227
2012-05-09 20:55:57 -04:00
Michael Albinus
5cb6795418 * dbusbind.c (xd_registered_buses): New internal Lisp object.
Rename all occurences of Vdbus_registered_buses to xd_registered_buses.
(syms_of_dbusbind): Remove declaration of Vdbus_registered_buses.
Initialize xd_registered_buses.
2012-05-09 23:13:43 +02:00
Paul Eggert
297834cdf3 * unexaix.c (make_hdr): Fix typo in prototype.
This bug broke the build on AIX.  Problem reported by Gilles Pion.
2012-05-09 12:44:19 -07:00
Paul Eggert
b263a6b03b Untag more efficiently if USE_LSB_TAG.
This is based on a proposal by YAMAMOTO Mitsuharu in
<http://lists.gnu.org/archive/html/emacs-devel/2008-01/msg01876.html>.
For an admittedly artificial (nth 8000 longlist) benchmark on
Fedora 15 x86-64, this yields a 25% CPU speedup.  Also, it shrinks
Emacs's overall text size by 1%.
* lisp.h (XUNTAG): New macro.
(XCONS, XVECTOR, XSTRING, XSYMBOL, XFLOAT, XMISC, XPROCESS, XWINDOW)
(XTERMINAL, XSUBR, XBUFFER, XCHAR_TABLE, XSUB_CHAR_TABLE, XBOOL_VECTOR)
(XSETTYPED_PSEUDOVECTOR, XHASH_TABLE, TYPED_PSEUDOVECTORP): Use it.
* eval.c (Fautoload):
* font.h (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT):
* frame.h (XFRAME): Use XUNTAG.
2012-05-09 10:51:30 -07:00
Paul Eggert
3478ec4554 Port recent dbusbind.c changes to 32-bit --with-wide-int.
* dbusbind.c (xd_append_arg, xd_retrieve_arg, Fdbus_message_internal):
Remove unportable assumptions about print widths of types like
dbus_uint32_t.
(xd_get_connection_address, Fdbus_init_bus): Cast Emacs integer to
intptr_t when converting between pointer and integer, to avoid GCC
warnings about wrong width.
2012-05-09 08:07:46 -07:00
Glenn Morris
666b903b91 Merge from emacs-24; up to 2012-04-21T14:12:27Z!sdl.web@gmail.com 2012-05-08 20:06:08 -07:00
Eli Zaretskii
2fed268919 Fix a typo in last commit of src/ChangeLog. 2012-05-08 22:09:38 +03:00
Jérémy Compostella
b120cc17ae Fix up display of the *Minibuf-0* buffer in the mini window.
* src/keyboard.c (read_char): Don't clear the echo area if there's no
message to clear.
* src/xdisp.c (redisplay_internal): Redisplay the mini window (with the
contents of *Minibuf-0*) if there' no message displayed in its stead.
2012-05-07 12:09:51 -04:00
Michael Albinus
9a4b36f891 * dbusbind.c (XD_DEBUG_MESSAGE): Don't print message twice in
batch mode.
2012-05-07 16:57:18 +02:00
Chong Yidong
e5f9458fe8 * lisp/buff-menu.el: Convert to Tabulated List mode.
(Buffer-menu-buffer+size-width): Make obsolete.
(Buffer-menu-name-width, Buffer-menu-size-width): New variables.
(Buffer-menu-mode-map): Inherit from tabulated-list-mode-map.
(Buffer-menu-mode): Derive from tabulated-list-mode.  Move command
documentation into docstring of buffer-menu.
(Buffer-menu-toggle-files-only): Add an informative message.
(Buffer-menu-sort): Convert to alias for tabulated-list-sort.
(Buffer-menu-buffer, Buffer-menu-beginning, Buffer-menu-mark)
(Buffer-menu-unmark, Buffer-menu-backup-unmark)
(Buffer-menu-delete, Buffer-menu-save, Buffer-menu-not-modified)
(Buffer-menu-execute, Buffer-menu-select)
(Buffer-menu-marked-buffers, Buffer-menu-toggle-read-only)
(Buffer-menu-bury): Use Tabulated List machinery.
(Buffer-menu-mouse-select, Buffer-menu-sort-by-column)
(Buffer-menu-sort-button-map, Buffer-menu-make-sort-button):
Deleted.
(list-buffers--refresh): New function.
(list-buffers-noselect): Use it.
(tabulated-list-entry-size->, Buffer-menu--pretty-name)
(Buffer-menu--pretty-file-name): New helper functions.

* lisp/loadup.el: Preload tabulated-list.

* lisp/emacs-lisp/tabulated-list.el (tabulated-list-sort): Rename from
tabulated-list-sort-column.
(tabulated-list-init-header): Add the initial aligning space even
if tabulated-list-padding is zero.

* src/lisp.mk (lisp): Update.
2012-05-07 00:45:46 +08:00
Eli Zaretskii
0d887c7d51 Fix failures in starting subprocesses on Windows 7.
src/w32proc.c (new_child): Force Windows to reserve only 64KB of
 stack for each reader_thread, instead of defaulting to 8MB
 determined by the linker.  This avoids failures in creating
 subprocesses on Windows 7, see the discussion in this thread:
 http://lists.gnu.org/archive/html/emacs-devel/2012-03/msg00119.html.
2012-05-05 11:40:31 +03:00
Chong Yidong
eceeb5fca6 Merge from emacs-24; up to 2012-04-20T05:47:55Z!eliz@gnu.org 2012-05-05 12:32:58 +08:00
Stefan Monnier
71873e2b33 Add new error and function `user-error'.
* lisp/subr.el (user-error): New function.
* lisp/window.el (switch-to-buffer):
* lisp/vc/smerge-mode.el (smerge-resolve-function, smerge-resolve)
(smerge-match-conflict):
* lisp/simple.el (previous-matching-history-element)
(next-matching-history-element, goto-history-element, undo-more)
(undo-start):
* lisp/progmodes/etags.el (visit-tags-table-buffer, find-tag-tag)
(find-tag-noselect, find-tag-in-order, etags-goto-tag-location)
(next-file, tags-loop-scan, list-tags, complete-tag):
* lisp/progmodes/compile.el (compilation-loop):
* lisp/mouse.el (mouse-minibuffer-check):
* lisp/man.el (Man-bgproc-sentinel, Man-goto-page):
* lisp/info.el (Info-find-node-2, Info-extract-pointer, Info-history-back)
(Info-history-forward, Info-follow-reference, Info-menu)
(Info-extract-menu-item, Info-extract-menu-counting)
(Info-forward-node, Info-backward-node, Info-next-menu-item)
(Info-last-menu-item, Info-next-preorder, Info-last-preorder)
(Info-next-reference, Info-prev-reference, Info-index)
(Info-index-next, Info-follow-nearest-node)
(Info-copy-current-node-name):
* lisp/imenu.el (imenu--make-index-alist)
(imenu-default-create-index-function, imenu-add-to-menubar):
* lisp/files.el (basic-save-buffer, recover-file):
* lisp/emacs-lisp/easy-mmode.el (easy-mmode-define-navigation):
* lisp/emacs-lisp/checkdoc.el (checkdoc-continue, checkdoc-comments)
(checkdoc-message-text, checkdoc-defun):
* lisp/dabbrev.el (dabbrev-completion, dabbrev--abbrev-at-point):
* lisp/cus-edit.el (customize-changed-options, customize-rogue)
(customize-saved, custom-variable-set, custom-variable-mark-to-save)
(custom-variable-mark-to-reset-standard)
(custom-variable-reset-backup, custom-face-mark-to-reset-standard)
(custom-file):
* lisp/completion.el (check-completion-length):
* lisp/comint.el (comint-search-arg)
(comint-previous-matching-input-string-position)
(comint-previous-matching-input)
(comint-replace-by-expanded-history-before-point, comint-send-input)
(comint-copy-old-input, comint-backward-matching-input)
(comint-goto-process-mark, comint-set-process-mark):
* lisp/calendar/calendar.el (calendar-cursor-to-date): Use it.
* lisp/bindings.el (debug-ignored-errors): Remove regexps, add `user-error'.
* src/data.c (PUT_ERROR): New macro.
(syms_of_data): Use it.  Add new error type `user-error'.
* src/undo.c (user_error): New function.
(Fprimitive_undo): Use it.
* src/print.c (print_error_message): Adjust print style for `user-error'.
* src/keyboard.c (user_error): New function.
(Fexit_recursive_edit, Fabort_recursive_edit): Use it.
2012-05-04 19:16:47 -04:00
Paul Eggert
ab0fa4e4ba Do not limit current-time-string to years 1000..9999.
* src/editfns.c (TM_YEAR_IN_ASCTIME_RANGE): Remove.
(Fcurrent_time_string): Support any year that is supported by the
underlying localtime representation.  Don't use asctime, as it
has undefined behavior for years outside the range -999..9999.
* doc/lispref/os.texi (Time of Day): Do not limit current-time-string
to years 1000..9999.
* etc/NEWS: Do not limit current-time-string to years 1000..9999.
2012-05-03 13:04:29 -07:00
Paul Eggert
7ed806a75c Fix race conditions involving setenv, gmtime, localtime, asctime.
Without this fix, interrupts could mess up code that uses these
nonreentrant functions, since setting TZ invalidates existing
tm_zone or tzname values, and since most of these functions return
pointers to static storage.
* editfns.c (format_time_string, Fdecode_time, Fencode_time)
(Fcurrent_time_string, Fcurrent_time_zone, Fset_time_zone_rule):
Grow the critical sections to include not just invoking
localtime/gmtime, but also accessing these functions' results
including their tm_zone values if any, and any related TZ setting.
(format_time_string): Last arg is now struct tm *, not struct tm **,
so that the struct tm is saved in the critical section.  All
callers changed.  Simplify allocation of initial buffer, partly
motivated by the fact that memory allocation needs to be outside
the critical section.
2012-05-02 16:25:46 -07:00
Dmitry Antipov
0c16dfed70 * intervals.c (adjust_intervals_for_insertion): Initialize `newi'
with RESET_INTERVAL.
* buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
Remove duplicated buffer name initialization.
2012-05-02 13:21:54 -04:00
Jim Meyering
c7b8541ee7 * src/xfns.c (x_window): Use xstrdup (Bug#11375). 2012-05-02 18:20:35 +08:00
Jim Meyering
3f83ace849 * src/xterm.c (x_term_init): Use memcpy instead of strncpy.
Fixes: debbugs:11373
2012-05-02 18:17:03 +08:00
Jim Meyering
bf98199cf1 Add NUL-termination to some uses of strncpy.
* lib-src/pop.c (pop_stat, pop_list, pop_multi_first, pop_last):
NUL-terminate the error buffer.

* src/w32font.c (fill_in_logfont): NUL-terminate a string (Bug#11372).
2012-05-02 18:12:13 +08:00
Glenn Morris
90207a1525 Merge from emacs-24; up to 2012-04-16T19:06:02Z!rgm@gnu.org 2012-05-02 00:20:29 -07:00
Aaron S. Hawley
b593d6a999 Reimplement execute-extended-command in Elisp.
* src/keyboard.c (Fexecute_extended_command, Vsuggest_key_bindings):
Move to simple.el.
* lisp/simple.el (suggest-key-bindings, execute-extended-command):
Move from keyboard.c.
2012-05-01 12:10:02 -04:00
Glenn Morris
99cf43f93b Remove references to macros that are not defined anywhere
* src/syssignal.h: Remove reference to BROKEN_SIGINFO (last used in
s/ptx4.h), BROKEN_SIGTSTP (last used in m/ustation.h, m/dpx2.h),
and BROKEN_SIGURG (was in s/gnu-linux.h prior to 2008-02-10).
All were removed before 23.1.
2012-04-30 20:45:39 -07:00
Glenn Morris
9311dcff1d Remove HAVE_LIBNCURSES; it is required to be true
Also, it was a confusing name, since it does not necessarily mean that
we literally have libncurses; rather that we have tputs etc.

* configure.in (HAVE_LIBNCURSES): Remove; it is required to be true.

* src/dispnew.c: Remove HAVE_LIBNCURSES test;
it is always true on relevant platforms.

* nt/config.nt (HAVE_LIBNCURSES): Remove undef; not needed.
2012-04-30 20:30:11 -04:00
Glenn Morris
4d5c63499a Rename autoconf output variable LD_SWITCH_X_SITE_AUX_RPATH
* configure.in (LD_SWITCH_X_SITE_RPATH):
Rename from LD_SWITCH_X_SITE_AUX_RPATH.

* src/Makefile.in (LD_SWITCH_X_SITE_RPATH):
Rename from LD_SWITCH_X_SITE_AUX_RPATH.
2012-04-30 20:16:02 -04:00
Glenn Morris
4737362e43 Remove LD_SWITCH_X_SITE_AUX, which is no longer used
* configure.in (LD_SWITCH_X_SITE_AUX): Remove; no longer used.
* src/Makefile.in (LD_SWITCH_X_SITE_AUX): Remove; no longer used.
2012-04-30 20:12:02 -04:00
Andreas Schwab
74dd3a6bbb * .gdbinit (xpr): Remove checks for no longer existing misc types.
(xintfwd, xboolfwd, xobjfwd, xbufobjfwd, xkbobjfwd, xbuflocal):
Remove.
2012-05-01 02:07:23 +02:00
Eli Zaretskii
2fa85638a0 Fix bug #11367 with assertion violation during vertical motion in egg.el.
src/xdisp.c (pos_visible_p): If already at a newline from the
 display string before the 'while' loop, don't walk back the glyphs
 from it3.glyph_row.  Solves assertion violation when the display
 string begins with a newline (egg.el).
2012-04-29 20:19:08 +03:00
Paul Eggert
13c379eed0 Do not avoid creating empty evaporating overlays (Bug#9642).
* buffer.c (Fmove_overlay): Revert the change of 2012-04-23.
That is, do not delete an evaporating overlay if it becomes
empty after its bounds are adjusted to fit within its buffer.
This fix caused other problems, and I'm reverting it until we get
to the bottom of them.
2012-04-28 15:17:27 -07:00
Chong Yidong
a8e7d6d783 Merge changes from emacs-24 branch 2012-04-27 11:10:38 +08:00
Eli Zaretskii
4c3fa1d9ad Allow word wrap together with whitespace-mode (bug #11341)
src/xdisp.c (IT_DISPLAYING_WHITESPACE): In addition to the loaded
 display element, check also the underlying string or buffer
 character.
2012-04-26 13:49:29 +03:00
Eli Zaretskii
1c6900d923 Don't disable Unicode menus on Windows NT and later due to random errors.
src/w32menu.c: Include w32heap.h.
 (add_menu_item): If the call to AppendMenuW (via
 unicode_append_menu) fails, disable Unicode menus only if we are
 running on Windows 9X/Me.
2012-04-26 13:07:35 +03:00