Stefan Monnier [Wed, 11 Sep 2013 12:28:01 +0000 (08:28 -0400)]
* src/insdel.c (insert_from_buffer_1): Don't mark buffer as modified when
insert-buffer-substring an empty string.
Paul Eggert [Wed, 11 Sep 2013 10:24:48 +0000 (03:24 -0700)]
* xdisp.c (Ftool_bar_lines_needed): Declare as 'const' if ifdeffed out,
avoiding a GCC warning.
Glenn Morris [Wed, 11 Sep 2013 10:19:47 +0000 (06:19 -0400)]
Auto-commit of loaddefs files.
Dmitry Antipov [Wed, 11 Sep 2013 08:56:33 +0000 (12:56 +0400)]
Ifdef away frame tool bar code when it is not really used.
* frame.h (struct frame) [HAVE_WINDOW_SYSTEM && !USE_GTK && !HAVE_NS]:
Move tool_bar_window, desired_tool_bar_string, current_tool_bar_string
and minimize_tool_bar_window_p under the above.
(fset_current_tool_bar_string, fset_desired_tool_bar_string)
(fset_tool_bar_window): Likewise.
* dispnew.c (clear_current_matrices, clear_desired_matrices)
(adjust_frame_glyphs_for_window_redisplay, free_glyphs, update_frame)
(change_frame_size_1):
* window.c (window_from_coordinates, Frecenter): Adjust users.
* window.h (WINDOW_TOOL_BAR_P): Define to zero when frame tool bar
code is not really used.
* xdisp.c (build_desired_tool_bar_string, display_tool_bar_line)
(tool_bar_lines_needed, MAX_FRAME_TOOL_BAR_HEIGHT, tool_bar_item_info)
(get_tool_bar_item, handle_tool_bar_click, note_tool_bar_highlight)
[!USE_GTK && !HAVE_NS]: Define as such.
(Ftool_bar_lines_needed, redisplay_tool_bar, show_mouse_face)
(note_mouse_highlight, expose_frame):
* xfns.c (x_set_tool_bar_lines):
* xterm.c (handle_one_xevent): Adjust users.
Paul Eggert [Wed, 11 Sep 2013 08:24:05 +0000 (01:24 -0700)]
Fix corruption with multiple emacsclient -t instances.
This bug was introduced by my 2013-08-26 patch, which incorrectly
assumed that the terminfo implementation doesn't use termcap buffers.
* term.c (init_tty) [TERMINFO]: Remove optimization, as
these buffers apparently are used after all.
* termchar.h (TERMCAP_BUFFER_SIZE) [TERMINFO]: Define here too.
(struct tty_display_info): Define members termcap_term_buffer and
termcap_strings_buffer even if TERMINFO.
Fixes: debbugs:15222
Dmitry Antipov [Wed, 11 Sep 2013 07:20:20 +0000 (11:20 +0400)]
Fix last change.
* data.c (Feqlsign, Flss, Fgtr, Fleq, Fgeq): Add convenient
'usage' docstring entry to pacify make-docfile.
Glenn Morris [Wed, 11 Sep 2013 06:44:35 +0000 (23:44 -0700)]
Improve previous interpreter-mode-alist change
* lisp/files.el (interpreter-mode-alist): Remove \\` \\' parts.
(set-auto-mode): Don't regexp-quote elements.
* lisp/progmodes/python.el (interpreter-mode-alist): Remove \\` \\'.
* lisp/progmodes/cc-mode.el (interpreter-mode-alist):
* lisp/progmodes/ruby-mode.el (interpreter-mode-alist):
Revert previous change.
* etc/NEWS: Update.
Glenn Morris [Wed, 11 Sep 2013 06:33:28 +0000 (23:33 -0700)]
Comment formatting
Barry O'Reilly [Wed, 11 Sep 2013 05:03:23 +0000 (01:03 -0400)]
Change comparison functions =, <, >, <=, >= to take many arguments.
* src/data.c: Change comparison functions' interface and
implementation
* src/lisp.h: Make arithcompare available for efficient two arg
comparisons
* src/bytecode.c: Use arithcompare
* src/fileio.c: Use new interface
* test/automated/data-tests.el: New tests for comparison functions
* etc/NEWS
Stefan Monnier [Wed, 11 Sep 2013 03:31:56 +0000 (23:31 -0400)]
Use define-derived-mode (and derived-mode-p).
* lisp/play/snake.el (snake-mode):
* lisp/play/mpuz.el (mpuz-mode):
* lisp/play/landmark.el (lm-mode):
* lisp/play/blackbox.el (blackbox-mode):
* lisp/play/5x5.el (5x5-mode):
* lisp/obsolete/options.el (Edit-options-mode):
* lisp/net/quickurl.el (quickurl-list-mode):
* lisp/net/newst-treeview.el (newsticker-treeview-mode):
* lisp/mail/rmailsum.el (rmail-summary-mode):
* lisp/mail/mspools.el (mspools-mode):
* lisp/locate.el (locate-mode):
* lisp/ibuffer.el (ibuffer-mode):
* lisp/emulation/ws-mode.el (wordstar-mode):
* lisp/emacs-lisp/debug.el (debugger-mode):
* lisp/array.el (array-mode):
* lisp/net/eudc.el (eudc-mode): Use define-derived-mode.
* lisp/net/mairix.el (mairix-searches-mode-font-lock-keywords):
Move initialization into declaration.
(mairix-searches-mode): Use define-derived-mode.
* lisp/net/eudc-hotlist.el (eudc-hotlist-mode): Use define-derived-mode.
(eudc-edit-hotlist): Use dolist.
* lisp/man.el (Man-mode-syntax-table): Rename from man-mode-syntax-table.
(Man-mode): Use define-derived-mode.
* lisp/info.el (Info-edit-mode-map): Rename from Info-edit-map.
(Info-edit-mode): Use define-derived-mode.
(Info-cease-edit): Use Info-mode.
* lisp/eshell/esh-mode.el (eshell-mode-syntax-table): Move initialization
into declaration.
(eshell-mode): Use define-derived-mode.
* lisp/chistory.el (command-history-mode-map): Rename from
command-history-map.
(command-history-mode): Use define-derived-mode.
* lisp/calc/calc.el (calc-trail-mode-map): New var.
(calc-trail-mode): Use define-derived-mode.
(calc-trail-buffer): Set calc-main-buffer manually.
* lisp/bookmark.el (bookmark-insert-annotation): New function.
(bookmark-edit-annotation): Use it.
(bookmark-edit-annotation-mode): Make it a proper major mode.
(bookmark-send-edited-annotation): Use derived-mode-p.
* lisp/arc-mode.el (archive-mode): Move kill-all-local-variables a tiny bit
closer to its ideal place. Use \' to match EOS.
* lisp/cedet/semantic/grammar.el (semantic-grammar-mode): Use define-derived-mode.
(semantic-grammar-mode-syntax-table): Rename from
semantic-grammar-syntax-table.
(semantic-grammar-mode-map): Rename from semantic-grammar-map.
* lisp/cedet/data-debug.el (data-debug-mode-map): Rename from data-debug-map.
(data-debug-mode): Use define-derived-mode.
* lisp/gnus/score-mode.el (gnus-score-mode-map): Move initialization
into declaration.
(gnus-score-mode): Use define-derived-mode.
* lisp/gnus/gnus-srvr.el (gnus-browse-mode): Use define-derived-mode.
* lisp/gnus/gnus-kill.el (gnus-kill-file-mode-map): Move initialization
into declaration.
(gnus-kill-file-mode): Use define-derived-mode.
(gnus-kill-file-edit-file, gnus-kill-file-enter-kill, gnus-kill):
Use derived-mode-p.
* lisp/gnus/gnus-group.el (gnus-group-mode): Use define-derived-mode.
(gnus-group-setup-buffer, gnus-group-name-at-point)
(gnus-group-make-web-group, gnus-group-enter-directory)
(gnus-group-suspend): Use derived-mode-p.
* lisp/gnus/gnus-cus.el (gnus-custom-mode): Use define-derived-mode.
* lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-mode): Use define-derived-mode.
* lisp/gnus/gnus-art.el (gnus-article-mode): Use define-derived-mode.
(gnus-article-setup-buffer, gnus-article-prepare)
(gnus-article-prepare-display, gnus-sticky-article)
(gnus-kill-sticky-article-buffer, gnus-kill-sticky-article-buffers)
(gnus-bind-safe-url-regexp, gnus-article-check-buffer)
(gnus-article-read-summary-keys): Use derived-mode-p.
Stefan Monnier [Wed, 11 Sep 2013 03:31:06 +0000 (23:31 -0400)]
* keyboard.c (read_char): Fix last change.
Fixes: debbugs:15332
Stefan Monnier [Wed, 11 Sep 2013 02:41:00 +0000 (22:41 -0400)]
* src/keyboard.c (read_char): Don't break immediate_echo.
Fixes: debbugs:15332
Stefan Monnier [Wed, 11 Sep 2013 01:43:07 +0000 (21:43 -0400)]
* lisp/profiler.el (profiler-calltree-find): Use function-equal.
Glenn Morris [Tue, 10 Sep 2013 20:46:25 +0000 (16:46 -0400)]
Tweak previous change
Glenn Morris [Tue, 10 Sep 2013 20:38:52 +0000 (16:38 -0400)]
Treat interpreter-mode-alist as alist of regexps, not literals
Cf http://lists.gnu.org/archive/html/emacs-devel/2005-08/msg00472.html
* lisp/files.el (interpreter-mode-alist): Convert to regexps.
(set-auto-mode): Adapt for this.
* lisp/progmodes/cperl-mode.el (cperl-clobber-mode-lists):
Comment out unused variable.
* lisp/progmodes/cc-mode.el (interpreter-mode-alist):
* lisp/progmodes/python.el (interpreter-mode-alist):
* lisp/progmodes/ruby-mode.el (interpreter-mode-alist): Convert to regexps.
* lisp/progmodes/sh-script.el (sh-set-shell):
No longer use interpreter-mode-alist to get list of shells.
* etc/NEWS: Mention this.
Fixes: debbugs:15306
Glenn Morris [Tue, 10 Sep 2013 20:28:22 +0000 (16:28 -0400)]
* lisp/progmodes/cc-mode.el (awk-mode): Remove duplicate autoload.
Autoload of define-derived-mode works just fine.
Stefan Monnier [Tue, 10 Sep 2013 17:13:48 +0000 (13:13 -0400)]
* lisp/simple.el: Use set-temporary-overlay-map for universal-argument.
(universal-argument-map): Don't use default-bindings.
Bind switch-frame explicitly. Replace universal-argument-minus with
a conditional binding.
(universal-argument-num-events, saved-overriding-map): Remove.
(restore-overriding-map): Remove.
(universal-argument--mode): Rename from save&set-overriding-map,
and rewrite.
(universal-argument, universal-argument-more, negative-argument)
(digit-argument): Adjust accordingly.
(universal-argument-minus): Remove.
(universal-argument-other-key): Remove.
Stefan Monnier [Tue, 10 Sep 2013 15:30:10 +0000 (11:30 -0400)]
* lisp/subr.el (with-demoted-errors): Add `format' argument.
* src/eval.c (Feval): Document the new use of `lexical'.
Glenn Morris [Tue, 10 Sep 2013 10:21:34 +0000 (06:21 -0400)]
Auto-commit of loaddefs files.
Glenn Morris [Tue, 10 Sep 2013 10:17:40 +0000 (06:17 -0400)]
Auto-commit of generated files.
Michael Albinus [Tue, 10 Sep 2013 07:45:33 +0000 (09:45 +0200)]
* net/tramp.el (tramp-cleanup): Remove. Functionality added to
`tramp-cleanup-connection'.
* net/tramp-cmds.el (tramp-cleanup-connection): Add optional
parameters KEEP-DEBUG and KEEP-PASSWORD.
* net/tramp.el (tramp-file-name-handler):
* net/tramp-adb.el (tramp-adb-maybe-open-connection):
* net/tramp-sh.el (tramp-open-connection-setup-interactive-shell)
(tramp-maybe-open-connection):
* net/tramp-smb.el (tramp-smb-maybe-open-connection): Use
`tramp-cleanup-connection'.
* net/tramp-sh.el (tramp-maybe-open-connection): Catch
'uname-changed inside the progress reporter.
Glenn Morris [Tue, 10 Sep 2013 07:21:19 +0000 (00:21 -0700)]
* lisp/simple.el (read-minibuffer): Unbreak it.
Fixes: debbugs:15318
Glenn Morris [Tue, 10 Sep 2013 01:28:01 +0000 (21:28 -0400)]
* lisp/dired-x.el (dired-mark-sexp): Unbreak for systems where ls
returns "alternate access method" in mode (eg "-rw-r--r--.").
It's still pretty broken though, eg
http://debbugs.gnu.org/13575
Jean Haidouk [Mon, 9 Sep 2013 19:27:38 +0000 (15:27 -0400)]
* leim/quail/latin-alt.el ("french-alt-postfix", "latin-alt-postfix"):
* leim/quail/latin-pre.el ("french-prefix"):
* leim/quail/latin-post.el ("french-postfix"): Add `œ' and `Œ'.
Glenn Morris [Mon, 9 Sep 2013 18:14:50 +0000 (14:14 -0400)]
Restore portions of my comment, which I found less clear after copyedits
Glenn Morris [Mon, 9 Sep 2013 16:59:07 +0000 (12:59 -0400)]
* etc/refcards/Makefile (PS_ENGLISH, PS_CZECH, PS_FRENCH, PS_GERMAN)
(PS_POLISH, PS_PORTUGUESE, PS_RUSSIAN, PS_SLOVAKIAN, PS_TARGETS):
Use substitution refs.
Dmitry Antipov [Mon, 9 Sep 2013 16:47:43 +0000 (20:47 +0400)]
Review and drop old frame resize hack.
* frame.h (struct frame): Remove force_flush_display_p.
* dispnew.c (update_frame): Adjust user and don't call
flush_frame here. The comment has said that there was an issues
with redisplaying fringes, but I don't see any differences with
and without this hack. Hopefully we can continue without it.
* xdisp.c (clear_garbaged_frames): Adjust user and do not clear
current frame matrices twice if resized_p is set.
Paul Eggert [Mon, 9 Sep 2013 16:26:38 +0000 (09:26 -0700)]
Spelling fixes and tidy up a comment.
Glenn Morris [Mon, 9 Sep 2013 15:54:03 +0000 (08:54 -0700)]
Convert ChangeLog text to in-file comment
Dmitry Antipov [Mon, 9 Sep 2013 14:01:02 +0000 (18:01 +0400)]
Do not populate pure Xism x_sync to other ports.
* frame.h (x_sync): Move under HAVE_X_WINDOWS.
* frame.c (other_visible_frames) [HAVE_X_WINDOWS]: Use as such.
* nsfns.m, w32xfns.c (x_sync): Remove no-op.
* w32term.h (x_sync): Remove prototype.
Dmitry Antipov [Mon, 9 Sep 2013 12:15:45 +0000 (16:15 +0400)]
Cleanup frame flushing.
* dispextern.h (struct redisplay_interface): Drop
flush_display_optional because flush_display is enough
for X and flushing via RIF is just a no-op for others.
* frame.h (flush_frame): New function.
* dispnew.c (update_frame):
* minibuf.c (read_minibuf):
* xdisp.c (echo_area_display, redisplay_preserve_echo_area):
Use it.
* keyboard.c (detect_input_pending_run_timers): Do not flush
all frames but selected one in redisplay_preserve_echo_area.
* nsterm.m (ns_flush): Remove no-op.
(ns_redisplay_interface): Adjust user.
* w32term.h (x_flush): Remove no-op.
(w32_redisplay_interface): Adjust user.
* xterm.c (x_flush): Simplify because we do not flush all
frames at once any more. Adjust comment.
(x_redisplay_interface): Adjust user.
Glenn Morris [Mon, 9 Sep 2013 10:17:42 +0000 (06:17 -0400)]
Auto-commit of generated files.
Glenn Morris [Mon, 9 Sep 2013 07:34:15 +0000 (00:34 -0700)]
Fix treatment of ld's nocombreloc option
* configure.ac (LDFLAGS_NOCOMBRELOC): New variable.
(LDFLAGS): Move nocombreloc option from here...
(LD_SWITCH_SYSTEM_TEMACS): ... to here.
This is an essential option that should not be in LDFLAGS,
because the user may override that at build time; eg
http://bugs.debian.org/684788. temacs is the only thing
that actually needs this option; this is where it was orginally:
http://lists.gnu.org/archive/html/emacs-pretest-bug/2004-03/msg00170.html
Glenn Morris [Mon, 9 Sep 2013 00:10:58 +0000 (17:10 -0700)]
* configure.ac: Tweak previous change.
Only disable GZIP_PROG if there is something to disable.
Glenn Morris [Sun, 8 Sep 2013 23:50:23 +0000 (16:50 -0700)]
Rename configure's --without-compress-info to --without-compress-install
* configure.ac (--without-compress-install):
Rename from --without-compress-info.
(GZIP_INFO): Remove.
(GZIP_PROG): Allow --without-compress-install to disable it.
* Makefile.in (GZIP_INFO): Remove all references.
* etc/NEWS: Mention this.
Fixes: debbugs:9789
Glenn Morris [Sun, 8 Sep 2013 23:31:14 +0000 (16:31 -0700)]
* doc/misc/emacs-gnutls.texi: Tweak direntry.
* info/dir: Tweak emacs-gnutls entry.
Glenn Morris [Sun, 8 Sep 2013 23:15:17 +0000 (16:15 -0700)]
* lisp/saveplace.el (load-save-place-alist-from-file): Demote errors.
Fixes: debbugs:15305
Stefan Monnier [Sun, 8 Sep 2013 18:01:25 +0000 (14:01 -0400)]
* doc/lispref/macros.texi (Defining Macros): Prefer "function" to "lambda
expression".
Fixes: debbugs:15296
Michael Albinus [Sun, 8 Sep 2013 15:04:10 +0000 (17:04 +0200)]
Improve compatibility with older Emacsen, and XEmacs.
* net/tramp.el (tramp-find-method, tramp-find-user): Call `propertize'
only if it is bound. It isn't for XEmacs.
(with-tramp-progress-reporter): Do not let-bind `result'. This
yields to scoping errors in XEmacs.
(tramp-handle-make-auto-save-file-name): New function, moved from
tramp-sh.el.
* net/tramp-adb.el (tramp-adb-file-name-handler-alist): Add handler
for `make-auto-save-file-name'.
(tramp-adb--gnu-switches-to-ash): Use
`tramp-compat-replace-regexp-in-string'.
* net/tramp-cache.el (tramp-cache-print): Call
`substring-no-properties' only if it is bound. It isn't for XEmacs.
* net/tramp-cmds.el (tramp-bug): Call `propertize' only if it is
bound. It isn't for XEmacs.
* net/tramp-compat.el (tramp-compat-copy-file): Catch
`wrong-number-of-arguments' error.
(tramp-compat-replace-regexp-in-string): New defun.
* net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): Add handler
for `make-auto-save-file-name'.
(tramp-gvfs-handle-copy-file): Use `tramp-compat-funcall' for
`copy-file'.
(tramp-gvfs-file-gvfs-monitor-file-process-filter)
(tramp-gvfs-file-name): Use `tramp-compat-replace-regexp-in-string'.
(tramp-synce-list-devices): Use `push' instead of `pushnew'.
* net/tramp-gw.el (tramp-gw-open-network-stream): Use
`tramp-compat-replace-regexp-in-string'.
* net/tramp-sh.el (tramp-sh-file-name-handler-alist): Call
`tramp-handle-make-auto-save-file-name'.
(tramp-sh-handle-make-auto-save-file-name): Move to tramp.el.
(tramp-sh-file-gvfs-monitor-dir-process-filter)
(tramp-sh-file-inotifywait-process-filter): Use
`tramp-compat-replace-regexp-in-string'.
(tramp-compute-multi-hops): Use `push' instead of `pushnew'.
* net/tramp-smb.el (tramp-smb-file-name-handler-alist): Add handler
for `make-auto-save-file-name'.
(tramp-smb-handle-copy-directory): Call
`tramp-compat-replace-regexp-in-string'.
(tramp-smb-get-file-entries): Use `push' instead of `pushnew'.
(tramp-smb-handle-copy-file): Improve error message.
(tramp-smb-handle-rename-file): Rename directly only in case
`newname' does not exist yet. This is a restriction of smbclient.
(tramp-smb-maybe-open-connection): Rerun the function only when
`auth-sources' is non-nil.
Kenichi Handa [Sun, 8 Sep 2013 12:17:12 +0000 (21:17 +0900)]
merge trunk
Kenichi Handa [Sun, 8 Sep 2013 12:10:34 +0000 (21:10 +0900)]
international/characters.el: Set category "^" (Combining) for more characters.
Alan Mackenzie [Sat, 7 Sep 2013 14:33:50 +0000 (14:33 +0000)]
Correctly fontify Java class constructors.
* progmodes/cc-langs.el (c-type-decl-suffix-key): Now matches ")"
in Java Mode.
(c-recognize-typeless-decls): Set the Java value to t.
* progmodes/cc-engine.el (c-forward-decl-or-cast-1): While
handling a "(", add a check for, effectively, Java, and handle a
"typeless" declaration there.
Xue Fuqiao [Sat, 7 Sep 2013 10:39:29 +0000 (18:39 +0800)]
NEWS fix.
Roland Winkler [Sat, 7 Sep 2013 10:29:57 +0000 (15:59 +0530)]
bibtex-biblatex-entry-alist: Add optional field subtitle for entry type book
Glenn Morris [Sat, 7 Sep 2013 10:21:22 +0000 (06:21 -0400)]
Auto-commit of loaddefs files.
Glenn Morris [Sat, 7 Sep 2013 10:17:39 +0000 (06:17 -0400)]
Auto-commit of generated files.
Paul Eggert [Sat, 7 Sep 2013 00:20:56 +0000 (17:20 -0700)]
Port --without-x --enable-gcc-warnings to Fedora 19.
* configure.ac (WERROR_CFLAGS): Omit redundant use of
-Wmissing-field-initializers, -Wswitch, -Wtype-limits,
-Wunused-parameter. If there is no window system, also omit
-Wsuggest-attribute=const and -Wsuggest-attribute=noreturn; this
is needed for Fedora 19.
* src/gfilenotify.c (globals_of_gfilenotify):
Call g_type_init only if using an older glib version that needs it.
Stefan Monnier [Fri, 6 Sep 2013 22:46:44 +0000 (18:46 -0400)]
* lisp/minibuffer.el: Make minibuffer-complete call completion-in-region
rather than other way around.
(completion--some, completion-pcm--find-all-completions):
Don't delay signals when debugging.
(minibuffer-completion-contents): Beware fields within the
minibuffer contents.
(completion-all-sorted-completions): Use defvar-local.
(completion--do-completion, completion--cache-all-sorted-completions)
(completion-all-sorted-completions, minibuffer-force-complete):
Add args `beg' and `end'.
(completion--in-region-1): New fun, extracted from minibuffer-complete.
(minibuffer-complete): Use completion-in-region.
(completion-complete-and-exit): New fun, extracted from
minibuffer-complete-and-exit.
(minibuffer-complete-and-exit): Use it.
(completion--complete-and-exit): Rename from
minibuffer--complete-and-exit.
(completion-in-region--single-word): New function, extracted from
minibuffer-complete-word.
(minibuffer-complete-word): Use it.
(display-completion-list): Make `common-substring' argument obsolete.
(completion--in-region): Call completion--in-region-1 instead of
minibuffer-complete.
(completion-help-at-point): Pass boundaries to
minibuffer-completion-help as args rather than via an overlay.
(completion-pcm--string->pattern): Use `any-delim'.
(completion-pcm--optimize-pattern): New function.
(completion-pcm--pattern->regex): Handle `any-delim'.
* lisp/icomplete.el (icomplete-forward-completions)
(icomplete-backward-completions, icomplete-completions):
Adjust calls to completion-all-sorted-completions and
completion--cache-all-sorted-completions.
(icomplete-with-completion-tables): Default to t.
* lisp/emacs-lisp/crm.el (crm--current-element): Rename from
crm--select-current-element. Don't put an overlay but return the
boundaries instead.
(crm--completion-command): Take two new args to bind to the boundaries.
(crm-completion-help): Adjust accordingly.
(crm-complete): Use completion-in-region.
(crm-complete-word): Use completion-in-region--single-word.
(crm-complete-and-exit): Use completion-complete-and-exit.
Stefan Monnier [Fri, 6 Sep 2013 21:12:22 +0000 (17:12 -0400)]
* lisp/dired-x.el (dired-mark-sexp): Bind the vars lexically rather
than dynamically.
Juri Linkov [Fri, 6 Sep 2013 20:43:49 +0000 (23:43 +0300)]
* lisp/info.el (Info-display-images-node): When image file doesn't exist
display text version of the image if it's provided in the Info file.
Otherwise, display the location of missing image from SRC attribute.
Add help-echo text property from ALT attribute.
Fixes: debbugs:15279
Dmitry Antipov [Fri, 6 Sep 2013 16:40:12 +0000 (20:40 +0400)]
* lisp.h (last_glyphless_glyph_frame, last_glyphless_glyph_face_id)
(last_glyphless_glyph_merged_face_id): Remove declarations.
* dispextern.h (merge_glyphless_glyph_face): Add prototype.
* xdisp.c (last_glyphless_glyph_frame, last_glyphless_glyph_face_id)
(last_glyphless_glyph_merged_face_id): Now static.
(merge_escape_glyph_face): New function, refactored from...
(get_next_display_element): ...here.
(merge_glyphless_glyph_face): New function, refactored from...
(produce_glyphless_glyph): ...here...
* term.c (produce_glyphless_glyph): ...and here.
Stefan Monnier [Fri, 6 Sep 2013 15:37:01 +0000 (11:37 -0400)]
* lisp/abbrev.el (edit-abbrevs-mode): Use define-derived-mode.
(edit-abbrevs-mode-map): Rename from edit-abbrevs-map.
* lisp/epa.el (epa--encode-coding-string, epa--decode-coding-string)
(epa--select-safe-coding-system, epa--derived-mode-p): Make it obvious
that it's defined.
(epa-key-list-mode, epa-key-mode, epa-info-mode):
Use define-derived-mode.
* lisp/epg.el (epg-start-encrypt): Minor CSE simplification.
William Xu [Fri, 6 Sep 2013 15:02:40 +0000 (11:02 -0400)]
* lisp/arc-mode.el: Add support for 7za.
(archive-7z-program): New var.
(archive-zip-extract, archive-zip-expunge, archive-zip-update)
(archive-zip-update-case, archive-7z-extract, archive-7z-expunge)
(archive-7z-update, archive-zip-extract, archive-7z-summarize): Use it.
Fixes: debbugs:15264
Stefan Monnier [Fri, 6 Sep 2013 14:28:05 +0000 (10:28 -0400)]
* src/eval.c (eval_sub): Only call Ffunction if necessary.
Dmitry Antipov [Fri, 6 Sep 2013 08:49:14 +0000 (12:49 +0400)]
Attempt to make redisplay more selective when changing cursor type.
* frame.h (struct frame): New bitfield cursor_type_changed.
* xdisp.c (cursor_type_changed): Remove.
(try_cursor_movement, redisplay_window, try_window_id)
(set_frame_cursor_types, try_window_reusing_current_matrix):
Adjust to use per-frame bitfield.
(redisplay_internal): Look for cursor type change on each visible
frame and consider all frames if cursor type has been changed on
the frame other than selected. If cursor type has been changed on
selected frame only, do not use fast update.
Michael Albinus [Fri, 6 Sep 2013 08:42:59 +0000 (10:42 +0200)]
The experimental url syntax for remote file names is withdrawn.
Michael Albinus [Fri, 6 Sep 2013 08:25:15 +0000 (10:25 +0200)]
* tramp.texi (Alternative Syntax): Remove chapter.
Michael Albinus [Fri, 6 Sep 2013 08:24:00 +0000 (10:24 +0200)]
Format long lines.
Michael Albinus [Fri, 6 Sep 2013 08:23:30 +0000 (10:23 +0200)]
Remove URL syntax.
* net/tramp.el (tramp-syntax, tramp-prefix-format)
(tramp-postfix-method-format, tramp-prefix-ipv6-format)
(tramp-postfix-ipv6-format, tramp-prefix-port-format)
(tramp-postfix-host-format, tramp-file-name-regexp)
(tramp-completion-file-name-regexp)
(tramp-completion-dissect-file-name)
(tramp-handle-substitute-in-file-name): Remove 'url case.
(tramp-file-name-regexp-url)
(tramp-completion-file-name-regexp-url): Remove constants.
Dmitry Antipov [Fri, 6 Sep 2013 07:08:19 +0000 (11:08 +0400)]
Fix ChangeLog typo.
Dmitry Antipov [Fri, 6 Sep 2013 07:00:29 +0000 (11:00 +0400)]
Attempt to make redisplay more selective when changing fonts.
* frame.h (struct frame): New bitfield fonts_changed.
* dispextern.h (fonts_changed_p, adjust_glyphs): Remove declaration.
(adjust_frame_glyphs): Add prototype.
* dispnew.c (fonts_changed_p): Remove.
(adjust_glyphs): Remove becase we do not
adjust matrices on all frames at once any more.
(adjust_frame_glyphs): Block and unblock input here.
(adjust_glyph_matrix): Use fonts_changed.
(change_frame_size_1): Use adjust_frame_glyphs.
* font.c (font_open_entity): Use fonts_changed.
* frame.c (set_menu_bar_lines, Fmake_terminal_frame):
* w32fns.c (x_set_menu_bar_lines, x_set_tool_bar_lines, Fx_show_tip):
* window.c (Fdelete_other_windows_internal, Fwindow_resize_apply)
(Fsplit_window_internal, Fdelete_window_internal, grow_mini_window)
(shrink_mini_window, Fresize_mini_window_internal)
(window_scroll_pixel_based, Fset_window_configuration)
(apply_window_adjustment, Fset_window_vscroll):
* xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines, Fx_show_tip):
Use adjust_frame_glyphs.
* xdisp.c (redisplay_tool_bar, redisplay_window, try_window)
(try_window_reusing_current_matrix, try_window_id, display_line)
(IT_EXPAND_MATRIX_WIDTH): Use fonts_changed.
(redisplay_internal): Consider fonts_changed and adjust frame
matrices for each frame only if the frame is visible. If font
has been changed on some frame during full redisplay, retry
only visible frames where the font has been actually changed.
Glenn Morris [Fri, 6 Sep 2013 01:38:45 +0000 (21:38 -0400)]
* lisp/replace.el (replace-string): Doc fix re start/end.
Fixes: debbugs:15275
Dmitry Antipov [Thu, 5 Sep 2013 16:25:20 +0000 (20:25 +0400)]
Cache current header and mode line height for each window.
* window.h (struct window): New fields mode_line_height
and header_line_height.
* window.c (make_window): Initialize them.
* dispextern.h (CURRENT_MODE_LINE_HEIGHT)
(CURRENT_HEADER_LINE_HEIGHT): Use them. Adjust comment.
(current_mode_line_height, current_header_line_height):
Remove declaration.
* xdisp.c (current_mode_line_height, current_header_line_height):
Remove.
(pos_visible_p, init_xdisp): Adjust user.
(redisplay_window): Invalidate mode_line_height and
header_line_height if current and desired matrices do not agree.
Dmitry Gutov [Thu, 5 Sep 2013 13:05:01 +0000 (16:05 +0300)]
* lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords): Move "Perl-ish
keywords" below "here-doc beginnings".
Fixes: debbugs:15270
Stefan Monnier [Thu, 5 Sep 2013 12:33:37 +0000 (08:33 -0400)]
Add missing ChangeLog entry.
Dmitry Antipov [Thu, 5 Sep 2013 12:08:50 +0000 (16:08 +0400)]
* fontset.c, window.c, xdisp.c (toplevel): Use TERM_HEADER.
* xfaces.c (toplevel) [HAVE_X_WINDOWS]: Do not include xterm.h twice.
Glenn Morris [Thu, 5 Sep 2013 10:21:43 +0000 (06:21 -0400)]
Auto-commit of loaddefs files.
Glenn Morris [Thu, 5 Sep 2013 10:17:39 +0000 (06:17 -0400)]
Auto-commit of generated files.
Dmitry Antipov [Thu, 5 Sep 2013 06:25:12 +0000 (10:25 +0400)]
Make --without-x compatible with --enable-gcc-warnings.
* configure.ac: If both --without-x and --enable-gcc-warnings are
specified, use -Wno-unused-variable, -Wno-unused-but-set-variable
and -Wno-unused-but-set-parameter.
* src/font.c (register_font_driver): Move check under HAVE_WINDOW_SYSTEM.
* src/font.h (struct font_driver): Move draw, get_bitmap and free_bitmap
members under HAVE_WINDOW_SYSTEM.
* src/keyboard.c (make_lispy_focus_out): Likewise.
(record_menu_key): Move under HAVE_MENUS.
* src/xdisp.c (toplevel): Move hourglass_shown_p, hourglass_atimer and
THIN_SPACE_WIDTH under HAVE_WINDOW_SYSTEM.
(syms_of_xdisp): Adjust user.
(window_box_edges): Define only if HAVE_WINDOW_SYSTEM.
(start_hourglass, cancel_hourglass):
* src/xfaces.c (toplevel): Likewise with PT_PER_INCH,
clear_font_table_count, CLEAR_FONT_TABLE_COUNT
and CLEAR_FONT_TABLE_NFONTS.
(set_font_frame_param, clear_face_gcs, realize_non_ascii_face):
Declare only if HAVE_WINDOW_SYSTEM.
(lface_same_font_attributes_p, clear_face_gcs): Define only
if HAVE_WINDOW_SYSTEM.
Dmitry Antipov [Thu, 5 Sep 2013 03:51:37 +0000 (07:51 +0400)]
* frame.c (check_minibuf_window): Update 'frame' with frame pointer.
* xterm.c (x_scroll_bar_handle_click) [!USE_TOOLKIT_SCROLL_BARS]:
Don't pass C integer to XINT (tiny fix for 2013-09-03 change).
Stefan Monnier [Thu, 5 Sep 2013 03:46:34 +0000 (23:46 -0400)]
* lisp/subr.el (pop): Use `car-safe'.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Remove hack
to detect unused `pop' return value.
* lisp/emacs-lisp/advice.el (defadvice): Add indent rule.
* lisp/international/mule-cmds.el: Require CL.
(find-coding-systems-for-charsets): Avoid add-to-list.
(sanitize-coding-system-list): New function, extracted from
select-safe-coding-system-interactively.
(select-safe-coding-system-interactively): Use it.
(read-input-method-name): Accept symbols for `default'.
* lisp/progmodes/python.el (python-nav-beginning-of-block): Remove unused
var `block-regexp'.
(python-nav--forward-sexp): Remove unused var `re-search-fn'.
(python-fill-string): Remove unused var `marker'.
(python-skeleton-add-menu-items): Remove unused var `items'.
Daniel Hackney [Thu, 5 Sep 2013 03:30:07 +0000 (23:30 -0400)]
* lisp/dired-x.el:
* lisp/net/ange-ftp.el:
* lisp/net/browse-url.el:
* lisp/net/dbus.el:
* lisp/net/eudc.el:
* lisp/net/eudcb-ldap.el:
* lisp/net/eww.el:
* lisp/net/imap.el:
* lisp/printing.el:
* lisp/vc/ediff-diff.el:
* lisp/vc/ediff-init.el:
* lisp/vc/ediff-merg.el:
* lisp/vc/ediff-mult.el:
* lisp/vc/ediff-util.el:
* lisp/vc/ediff-wind.el:
* lisp/vc/ediff.el:
* lisp/vc/emerge.el:
* lisp/vc/pcvs.el:
* vc/vc-annotate.el: Prefix unused arguments with `_' to silence
byte compiler. Remove some unused let-bound variables.
Stefan Monnier [Thu, 5 Sep 2013 03:05:44 +0000 (23:05 -0400)]
* lisp/emacs-lisp/cconv.el: Use `car-safe' rather than `car' to access
a "ref-cell", since it gets better optimized.
Fixes: debbugs:14883
Stefan Monnier [Thu, 5 Sep 2013 02:27:13 +0000 (22:27 -0400)]
* src/cmds.c (Fself_insert_command): Don't pass a non-integer to XINT.
Glenn Morris [Thu, 5 Sep 2013 00:22:45 +0000 (20:22 -0400)]
* semantic/fw.el (semantic-make-local-hook): Simplify by dropping Emacs <= 20.
Glenn Morris [Thu, 5 Sep 2013 00:12:36 +0000 (20:12 -0400)]
* lisp/progmodes/cc-awk.el (c-forward-sws): Declare.
Glenn Morris [Wed, 4 Sep 2013 23:55:08 +0000 (19:55 -0400)]
rul-generic-mode-syntax-table fix for recent cc-mode changes
* lisp/generic-x.el [rul-generic-mode]: Require cc-mode.
(c++-mode-syntax-table): Declare.
(rul-generic-mode-syntax-table): Init in the defvar.
Paul Eggert [Wed, 4 Sep 2013 22:34:04 +0000 (15:34 -0700)]
* alloc.c (make_event_array): First arg is now ptrdiff_t, not int.
This fixes a type error on hosts where ptrdiff_t is wider than int.
Stefan Monnier [Wed, 4 Sep 2013 21:09:42 +0000 (17:09 -0400)]
* lisp/vc/vc-dispatcher.el (vc-run-delayed): New macro.
(vc-do-command, vc-set-async-update):
* lisp/vc/vc-mtn.el (vc-mtn-dir-status):
* lisp/vc/vc-hg.el (vc-hg-dir-status, vc-hg-dir-status-files)
(vc-hg-pull, vc-hg-merge-branch):
* lisp/vc/vc-git.el (vc-git-dir-status-goto-stage, vc-git-pull)
(vc-git-merge-branch):
* lisp/vc/vc-cvs.el (vc-cvs-print-log, vc-cvs-dir-status)
(vc-cvs-dir-status-files):
* lisp/vc/vc-bzr.el (vc-bzr-pull, vc-bzr-merge-branch, vc-bzr-dir-status)
(vc-bzr-dir-status-files):
* lisp/vc/vc-arch.el (vc-arch-dir-status): Use vc-run-delayed.
* lisp/vc/vc-annotate.el: Use lexical-binding.
(vc-annotate-display-select, vc-annotate): Use vc-run-delayed.
(vc-sentinel-movepoint): Declare.
(vc-annotate): Don't use `goto-line'.
* lisp/vc/vc.el (vc-diff-internal): Prefer a closure to `(lambda...).
(vc-diff-internal, vc-log-internal-common): Use vc-run-delayed.
(vc-sentinel-movepoint): Declare.
* lisp/vc/vc-svn.el: Use lexical-binding.
(vc-svn-dir-status, vc-svn-dir-status-files): Use vc-run-delayed.
* lisp/vc/vc-sccs.el:
* lisp/vc/vc-rcs.el: Use lexical-binding.
Stefan Monnier [Wed, 4 Sep 2013 20:56:54 +0000 (16:56 -0400)]
* lisp/autorevert.el (auto-revert-notify-handler): Explicitly ignore
`deleted'. Don't drop errors silently.
Stefan Monnier [Wed, 4 Sep 2013 20:32:22 +0000 (16:32 -0400)]
* src/keyboard.c (read_key_sequence_vs): New function.
(Fread_key_sequence_vector, Fread_key_sequence): Use it to factor out
common code.
Stefan Monnier [Wed, 4 Sep 2013 20:22:37 +0000 (16:22 -0400)]
* src/callint.c (Fcall_interactively): Always return a vector for 'K'.
Stefan Monnier [Wed, 4 Sep 2013 20:03:52 +0000 (16:03 -0400)]
* lisp/emacs-lisp/gv.el (gv-get): Warn about CL-compiled places.
Paul Eggert [Wed, 4 Sep 2013 06:45:44 +0000 (23:45 -0700)]
Makefile improvements.
* Makefile.in (lib): Depend on am--refresh, to avoid a race.
(src): Remove duplicate dependency on FRC.
Invoke just one submake, not two. Avoid the need for 'pwd'.
* lwlib/Makefile.in (all): Put this first. Don't use double-colon
rules, as they are not portable according to POSIX. Mark as phony.
* oldXMenu/Makefile.in (all, tags): Don't use double-colon rules, as they
are not portable according to POSIX. Mark as phony.
* src/Makefile.in (config.status): Don't use double-colon rules, as
they are not portable according to POSIX. Fix shell typo with `;
I guess this rule has never been tested?
(VCSWITNESS): New macro, to override any environment var.
Dmitry Antipov [Wed, 4 Sep 2013 04:02:56 +0000 (08:02 +0400)]
* xterm.h (struct x_display_info): Do not track X connection
fd separately because it is always available from Display.
* xterm.c (x_term_init, x_delete_terminal, x_delete_display):
Adjust users.
Xue Fuqiao [Wed, 4 Sep 2013 00:39:34 +0000 (08:39 +0800)]
Merge from mainline.
Xue Fuqiao [Wed, 4 Sep 2013 00:31:13 +0000 (08:31 +0800)]
Some fixes for vc-ignore.
* lisp/vc/vc.el (vc-ignore): Rewrite.
(vc-default-ignore): New function.
(vc-default-ignore-completion-table): Use find-ignore-file.
* lisp/vc/vc-bzr.el (vc-bzr-ignore, vc-bzr-ignore-completion-table):
* lisp/vc/vc-git.el (vc-git-ignore, vc-git-ignore-completion-table):
* lisp/vc/vc-hg.el (vc-hg-ignore, vc-hg-ignore-completion-table):
Remove. Most code moved to vc.el.
* doc/emacs/maintaining.texi (VC Ignore): Mention `vc-ignore' with prefix argument.
Stefan Monnier [Tue, 3 Sep 2013 20:14:58 +0000 (16:14 -0400)]
* lisp/net/tramp-gvfs.el (tramp-gvfs-mount-spec, tramp-synce-list-devices):
* lisp/net/tramp-smb.el (tramp-smb-get-file-entries):
* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory)
(tramp-compute-multi-hops): Fix misuses of `add-to-list'.
Stefan Monnier [Tue, 3 Sep 2013 19:49:54 +0000 (15:49 -0400)]
* lisp/finder.el (finder-compile-keywords): Don't mess with windows.
* lisp/net/eww.el (eww-display-raw): Remove unused argument `charset'.
Update call to it.
(eww-change-select): Remove unused var `properties'.
(eww-make-unique-file-name): Remove unused var `base'.
Stefan Monnier [Tue, 3 Sep 2013 19:44:02 +0000 (15:44 -0400)]
* lisp/calculator.el (calculator-funcall): Fix typo in last change.
Stefan Monnier [Tue, 3 Sep 2013 18:28:06 +0000 (14:28 -0400)]
* lisp/vc/vc-git.el (vc-git-checkin): Make it possible to commit a merge.
Stefan Monnier [Tue, 3 Sep 2013 18:21:41 +0000 (14:21 -0400)]
* lisp/emacs-lisp/package.el (package-activate-1): Don't let a missing
<pkg>-autoloads.el file stop us.
Stefan Monnier [Tue, 3 Sep 2013 16:23:10 +0000 (12:23 -0400)]
* lisp/net/tramp.el (with-parsed-tramp-file-name): Silence compiler
warnings, and factor our common code.
Dmitry Antipov [Tue, 3 Sep 2013 14:40:09 +0000 (18:40 +0400)]
* buffer.c (drop_overlay):
* fileio.c (restore_point_unwind): Prefer unchain_marker to
Fset_marker (X, Qnil, ...) (which is the same but a bit slower).
Dmitry Antipov [Tue, 3 Sep 2013 13:29:38 +0000 (17:29 +0400)]
* buffer.c (Fmake_overlay, Fmove_overlay):
* intervals.c (set_point_from_marker):
* print.c (PRINTPREPARE): Prefer signal_error
to plain error and report unsuitable marker too.
Dmitry Antipov [Tue, 3 Sep 2013 12:41:35 +0000 (16:41 +0400)]
* xfns.c, image.c (XLIB_ILLEGAL_ACCESS): No longer needed.
Dmitry Antipov [Tue, 3 Sep 2013 12:02:01 +0000 (16:02 +0400)]
* xterm.h (struct x_output): Remove set-but-unused
leftovers 'left_before_move' and 'top_before_move'.
* xterm.c (x_set_offset): User changed.
Dmitry Antipov [Tue, 3 Sep 2013 09:35:47 +0000 (13:35 +0400)]
* xterm.h (struct scroll_bar): Prefer int to Lisp_Object
for 'dragging' member.
* gtkutil.c (xg_set_toolkit_scroll_bar_thumb):
* xterm.c (xt_action_hook, xm_scroll_callback, xg_scroll_callback)
(xg_end_scroll_callback, xaw_jump_callback, xaw_scroll_callback)
(x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
(x_scroll_bar_set_handle, XTset_vertical_scroll_bar)
(x_scroll_bar_handle_click, x_scroll_bar_note_movement)
(x_scroll_bar_report_motion): Related users changed.
Jan Djärv [Tue, 3 Sep 2013 06:56:25 +0000 (08:56 +0200)]
* nsfont.m (INVALID_GLYPH): New define.
(nsfont_encode_char): Use INVALID_GLYPH.
(ns_uni_to_glyphs): Ditto, check for NSNullGlyph.
Fixes: debbugs:15138
Dmitry Gutov [Tue, 3 Sep 2013 00:29:10 +0000 (03:29 +0300)]
* lisp/progmodes/ruby-mode.el (ruby-calculate-indent): Consider
two-character operators and whether the character preceding them
changes their meaning.
Fixes: debbugs:15208