Dan Nicolaescu [Wed, 14 Apr 2010 15:36:25 +0000 (08:36 -0700)]
Reduce cpp use in Makefile.in.
* Makefile.in (DBUS_CFLAGS, DBUS_LIBS, GCONF_CFLAGS, GCONF_LIBS)
(LIBSOUND, CFLAGS_SOUND, RSVG_LIBS, RSVG_CFLAGS, INTERVALS_H)
(GETLOADAVG_LIBS, RUN_TEMACS): Move to the autoconf section.
(ORDINARY_LINK): Remove, defined in src/s/gnu.h.
(CRT0_COMPILE): Remove, inline it in the only user.
Stefan Monnier [Wed, 14 Apr 2010 15:07:53 +0000 (11:07 -0400)]
Add a new field `location' to bookmarks for non-file bookmarks.
* bookmark.el (bookmark-location): Use the new field, if present.
(bookmark-insert-location): Undo last change, not needed any more.
* man.el (Man-bookmark-make-record):
* woman.el (woman-bookmark-make-record):
* gnus-sum.el (gnus-summary-bookmark-make-record): Add `location' field.
Juri Linkov [Wed, 14 Apr 2010 00:33:32 +0000 (03:33 +0300)]
Bind `C-v' to `scroll-up-command' and `M-v' to `scroll-down-command'.
http://lists.gnu.org/archive/html/emacs-devel/2010-04/msg00403.html
* window.c (keys_of_window): Rebind `C-v' from `scroll-up' to
`scroll-up-command' and `M-v' from `scroll-down' to
`scroll-down-command'.
* tutorial.el (tutorial--default-keys): Rebind `C-v' to
`scroll-up-command' and `M-v' to `scroll-down-command'.
* emulation/cua-rect.el (cua--init-rectangles):
* forms.el (forms--change-commands):
* image-mode.el (image-mode-map):
Remap scroll-down-command and scroll-up-command
in addition to scroll-down and scroll-up.
* window.c (Vscroll_preserve_screen_position_commands): New variable
with the default value as the list of Qscroll_down and Qscroll_up.
(window_scroll_pixel_based, window_scroll_line_based): Search the
last command in the list Vscroll_preserve_screen_position_commands
instead of comparing with Qscroll_up and Qscroll_down.
* mwheel.el (scroll-preserve-screen-position-commands):
Add mwheel-scroll to this list of commands.
* simple.el (scroll-preserve-screen-position-commands):
Add scroll-up-command, scroll-down-command, scroll-up-line,
scroll-down-line to this list of commands.
Stefan Monnier [Tue, 13 Apr 2010 02:07:48 +0000 (22:07 -0400)]
Try to solve the problem of spurious EOF chars in long lines of text
sent to interactive subprocesses.
* sysdep.c (child_setup_tty): Do not enable ICANON any more.
(system_process_attributes): Remove unused var `ttotal'.
* process.c (send_process): Don't bother breaking long line with EOF
chars when talking to ttys any more.
(wait_reading_process_output): Output a warning when called in such
a way that it could block without being interruptible.
Stefan Monnier [Tue, 13 Apr 2010 01:47:40 +0000 (21:47 -0400)]
Try to detect file modification within the same second.
* buffer.h (struct buffer): New field modtime_size.
* buffer.c (reset_buffer): Initialize it.
* fileio.c (Finsert_file_contents, Fwrite_region): Set it.
(Fverify_visited_file_modtime): Check it.
(Fclear_visited_file_modtime, Fset_visited_file_modtime): Clear it.
(Fset_visited_file_modtime): Set (or clear) it.
Stefan Monnier [Mon, 12 Apr 2010 16:09:47 +0000 (12:09 -0400)]
Clean up last bookmark changes for man/woman/gnus-summary.
* gnus-sum.el: Add bookmark declarations to silence the compiler.
(gnus-mark-xrefs-as-read, gnus-summary-limit-to-bodies):
Use with-current-buffer to silence the byte-compiler.
(gnus-summary-bookmark-make-record): Use derived-mode-p and don't
bother to require `gnus'.
(gnus-summary-bookmark-jump): Don't forget to autoload. Simplify.
* woman.el: Add bookmark declarations to silence the compiler.
(bookmark-prop-get): Use `man-args' rather than `filename' as a first
step to compatibility between man and woman bookmarks.
Adjust for Man-default-bookmark-title renaming.
(woman-bookmark-jump): Adjust accordingly. Don't forget to autoload.
* man.el: Add bookmark declarations to silence the compiler.
(Man-name-local-regexp): Make it match NAME as well.
(Man-getpage-in-background): Return the buffer.
(Man-notify-when-ready): Use `case'.
(man-set-default-bookmark-title): Rename to Man-default-bookmark-title.
Don't hardcode "NAME". Simplify.
(Man-bookmark-make-record): Use Man-arguments rather than buffer-name.
Rename from Man-bookmark-make-record.
(Man-bookmark-jump): Rename from man-bookmark-jump. Simplify now that
we have the actual man-args. Use Man-getpage-in-background rather
than `man' since the arg is already processed. Let bookmark.el do the
window handling. Only wait for the relevant process.
Don't forget to autoload.
* bookmark.el (bookmark-default-file): Use locate-user-emacs-file.
Dan Nicolaescu [Sun, 11 Apr 2010 20:04:24 +0000 (13:04 -0700)]
Use autoconf, not cpp for some variables.
* Makefile.in (C_SWITCH_SYSTEM, C_SWITCH_MACHINE)
(C_SWITCH_X_SITE): Define using autoconf, not cpp.
(ALL_CFLAGS): Use them as make variables.
(really-lwlib, really-oldXMenu): Do not pass them.
Jan Djärv [Sun, 11 Apr 2010 18:25:09 +0000 (20:25 +0200)]
Use XFT in Lucid dialogs if available.
* xmenu.c (apply_systemfont_to_dialog): New.
(create_and_show_dialog): Call apply_systemfont_to_dialog if HAVE_XFT.
* lwlib-Xaw.c (widget_xft_data): New for Xft data.
(fill_xft_data, openFont, get_text_width_and_height)
(draw_text, set_text, find_xft_data, command_press)
(command_reset): New functions.
(xaw_update_one_widget): Call set_text for dialog and buttons
if HAVE_XFT. Also set internalHeight for buttons.
(xaw_destroy_instance): Free all Xft related data.
(button_actions, buttonTrans): New structures.
(make_dialog): Call XtAppAddActions for button_actions.
Find xft font to use and call fill_xft_data for widgets.
(xaw_create_dialog): Pass instance parameter to make_dialog.
* lwlib-int.h (_widget_instance): Add Xft data if HAVE_XFT.
Override translations for buttons. If depth is 16 or more, tell
Xaw3d to not be nice to colormap.
Remove separator widget, use XtNhorizDistance on first right button
instead.
* xresources.texi (Lucid Resources): Mention faceName for dialogs.
Michael Albinus [Sat, 10 Apr 2010 12:59:22 +0000 (14:59 +0200)]
Synchronize with Tramp repository.
* tramp.texi (Auto-save and Backup): Remove reference to Emacs 21.
(Frequently Asked Questions): Adapt supported (X)Emacs versions. Adapt
supported MS Windows versions. Remove obsolete URL. Use the $()
syntax, texi2dvi reports errors with the backquotes.
Michael Albinus [Sat, 10 Apr 2010 12:50:31 +0000 (14:50 +0200)]
Synchronize with Tramp repository.
* net/tramp.el (tramp-completion-function-alist)
(tramp-file-name-regexp, tramp-chunksize)
(tramp-local-coding-commands, tramp-remote-coding-commands): Fix
docstring.
(tramp-remote-process-environment): Use `format' instead of
`concat'.
(tramp-handle-directory-files-and-attributes)
(tramp-get-remote-path): Use `copy-tree'.
(tramp-handle-file-name-all-completions): Backward/ XEmacs
compatibility: Use `completion-ignore-case' if
`read-file-name-completion-ignore-case' does not exist.
(tramp-do-copy-or-rename-file-directly): Do not use
`tramp-handle-file-remote-p'.
(tramp-do-copy-or-rename-file-out-of-band): Use
`tramp-compat-delete-directory'.
(tramp-do-copy-or-rename-file-out-of-band)
(tramp-compute-multi-hops, tramp-maybe-open-connection): Use
`format-spec-make'.
(tramp-find-foreign-file-name-handler)
(tramp-advice-make-auto-save-file-name)
(tramp-set-auto-save-file-modes): Remove superfluous check for
`stringp'. This is done inside `tramp-tramp-file-p'.
(tramp-debug-outline-regexp): New defconst.
(tramp-get-debug-buffer): Use it.
(tramp-check-for-regexp): Use (forward-line 1).
(tramp-set-auto-save-file-modes): Adapt version check.
* net/tramp-compat.el (tramp-advice-file-expand-wildcards): Wrap
call of `featurep' for 2nd argument.
(tramp-compat-make-temp-file): Simplify fallback implementation.
(tramp-compat-copy-tree): Remove function.
(tramp-compat-delete-directory): Provide implementation for older
Emacsen.
* net/tramp-fish.el (tramp-fish-handle-directory-files-and-attributes):
Do not use `tramp-fish-handle-file-attributes.
Don't abort try_window with fonts change when showing tooltip (Bug#2423).
* dispextern.h (TRY_WINDOW_CHECK_MARGINS)
(TRY_WINDOW_IGNORE_FONTS_CHANGE): New defines.
* xdisp.c (try_window): Change arg from CHECK_MARGINS to FLAGS.
Don't abort with fonts change if TRY_WINDOW_IGNORE_FONTS_CHANGE is
set in FLAGS. Callers with non-zero CHECK_MARGINS changed to use
TRY_WINDOW_CHECK_MARGINS.
* xfns.c (Fx_show_tip): Call try_window with TRY_WINDOW_IGNORE_FONTS_CHANGE.
Sam Steingold [Fri, 9 Apr 2010 16:04:17 +0000 (12:04 -0400)]
(turn-on-bug-reference-mode, turn-on-bug-reference-prog-mode): Remove,
`bug-reference-mode' and `bug-reference-prog-mode' can be used in hooks directly
Dan Nicolaescu [Fri, 9 Apr 2010 15:35:30 +0000 (08:35 -0700)]
Add --author support to git commit.
* vc-git.el (vc-git-checkin): Pass extra-args to the commit command.
(vc-git-log-edit-mode): New minor mode.
(log-edit-mode, log-edit-extra-flags, log-edit-mode): New
declarations.
Stefan Monnier [Thu, 8 Apr 2010 19:59:46 +0000 (15:59 -0400)]
Fix some of the problems in defsubst* (bug#5728).
* emacs-lisp/cl-macs.el (defsubst*): Don't substitute non-trivial args.
(cl-defsubst-expand): Do the substitutions simultaneously (bug#5728).
Jan Djärv [Thu, 8 Apr 2010 16:20:32 +0000 (18:20 +0200)]
Lucid menus can now use Xft for fonts.
* xsettings.c (current_font, SYSTEM_FONT, XSETTINGS_FONT_NAME): New.
(parse_xft_settings): Also check for XSETTINGS_FONT_NAME and save that
in current_font.
(init_gconf): Read value of SYSTEM_FONT and save it in current_font.
(Ffont_get_system_normal_font, xsettings_get_system_normal_font): New
functions.
(syms_of_xsettings): Initialize current_font. defsubr
Sfont_get_system_normal_font.
* xfns.c (extern xlwmenu_default_font): Remove.
(Fx_create_frame): Remove setting of xlwmenu_default_font, moved
to xlwmenu.c.
* menu.c (digest_single_submenu): If USE_LUCID and HAVE_XFT, encode
menu items in UTF-8.
* xmenu.c: include xsettings.h and xlwmenu.h if USE_LUCID.
(apply_systemfont_to_menu): New function.
(set_frame_menubar, create_and_show_popup_menu): Call
apply_systemfont_to_menu.
* xlwmenu.c (xlwmenu_default_font): Make static.
(xlwMenuResources): Add XtNfaceName and XtNdefaultFace.
(string_width): Use XftTextExtentsUtf8 if HAVE_XFT.
(MENU_FONT_HEIGHT, MENU_FONT_ASCENT): Add versions for
HAVE_XFT.
(size_menu): Set max_rest_width in window_state structure.
(display_menu_item): If HAVE_XFT and xft_draw is set, use
XftDrawRect and XftDrawStringUtf8 to draw text.
(make_windows_if_needed): Set max_rest_width and xft_draw
in windows[i].
(openXftFont): New.
(XlwMenuInitialize): Call openXftFont if HAVE_XFT. If mw->menu.font
is not set, load font fixed and save it in xlwmenu_default_font.
(XlwMenuInitialize): Set max_rest_width and xft_draw in windows[0].
(XlwMenuClassInitialize): Initialize xlwmenu_default_font.
(XlwMenuRealize): Set xft_fg, xft_bg, xft_disabled_fg and
windows[0].xft_draw if xft_font is set.
(XlwMenuDestroy): Destroy all xft_draw and close xft_font.
(facename_changed): New.
(XlwMenuSetValues): Call facename_changed. If face name did change,
close old fonts and destroy xft_draw:s. Then create new ones.
Dan Nicolaescu [Wed, 7 Apr 2010 06:11:45 +0000 (23:11 -0700)]
Simplify code for HP machines.
* m/hp800.h (LOAD_AVE_TYPE, LOAD_AVE_CVT, NO_REMAP): Do not define
for GNU_LINUX, not needed.
(UNEXEC, NEED_BSDTTY): Move definitions...
* s/hpux10-20.h (UNEXEC, NEED_BSDTTY): ... here.
Dan Nicolaescu [Wed, 7 Apr 2010 05:56:35 +0000 (22:56 -0700)]
Add new VC methods: vc-log-incoming and vc-log-outgoing.
* vc.el (vc-print-log-setup-buttons): New function split out from
vc-print-log-internal.
(vc-log-internal-common): New function, a parametrized version of
vc-print-log-internal.
(vc-print-log-internal): Just call vc-log-internal-common with the
right arguments.
(vc-incoming-outgoing-internal):
(vc-log-incoming, vc-log-outgoing): New functions.
(vc-log-view-type): New permanent local variable.
* vc-hooks.el (vc-menu-map): Bind vc-log-incoming and vc-log-outgoing.
* vc-bzr.el (vc-bzr-log-view-mode): Use vc-log-view-type instead
of the dynamic bound vc-short-log.
(vc-bzr-log-incoming, vc-bzr-log-outgoing): New functions.
* vc-git.el (vc-git-log-outgoing): New function.
(vc-git-log-view-mode): Use vc-log-view-type instead
of the dynamic bound vc-short-log.
* vc-hg.el (vc-hg-log-view-mode): Use vc-log-view-type instead
of the dynamic bound vc-short-log. Highlight the tag.
(vc-hg-log-incoming, vc-hg-log-outgoing): New functions.
(vc-hg-outgoing, vc-hg-incoming, vc-hg-outgoing-mode):
(vc-hg-incoming-mode): Remove.
(vc-hg-extra-menu-map): Do not bind vc-hg-incoming and vc-hg-outgoing.
Wilson Snyder [Wed, 7 Apr 2010 04:06:23 +0000 (21:06 -0700)]
* verilog-mode.el (verilog-forward-sexp, verilog-calc-1): Support
"disable fork" and "fork wait" multi word keywords, suggested by
Steve Pearlmutter.
(verilog-pretty-declarations): Support lineup of declarations in
port lists.
(verilog-skip-backward-comments, verilog-skip-forward-comment-p):
fix bug for /* / comments
(verilog-backward-syntactic-ws, verilog-forward-syntactic-ws):
Speed up and simplfy as this is never called with a bound.
(verilog-pretty-declarations): Enhance to line up declarations
inside a parameter list, suggested by Alan Morgan.
(verilog-pretty-expr): Tune assignment regular expression match
string for corner cases; also use markers instead of character
number as indent changes the later.
(verilog-type-keywords): Fix pulldown as missing
keyword.
(verilog-read-sub-decls-line): Fix comments in AUTO_TEMPLATE
causing truncation of AUTOWIRE signals. Reported by Bruce
Tennant.
(verilog-auto-inst, verilog-auto-inst-port): Add vl_mbits for
AUTO_TEMPLATEs needing multiple array bits. Suggested by Bruce
Tennant.
(verilog-keywords):
(verilog-1800-2005-keywords, verilog-1800-2009-keywords): Add IEEE
1800-2009 keywords, including "global.".
John Wiegley [Tue, 6 Apr 2010 07:02:57 +0000 (03:02 -0400)]
Fixed duplicate names appearing in IDO buffer list (using virtuals)
* ido.el (ido-add-virtual-buffers-to-list): Fixed duplicated names
appearing in buffer list (if a live buffer name matched a recentf
file basename). Should use uniqify to offer a real solution.
John Wiegley [Tue, 6 Apr 2010 03:38:56 +0000 (23:38 -0400)]
Minor fixes to a recent contribution to ido.el
* ido.el (ido-use-virtual-buffers, ido-virtual): Moved a ChangeLog
comment to code, and added a :version tag.
(ido-virtual-buffers): Moved defvar to fix byte-compiler warning.
Juri Linkov [Mon, 5 Apr 2010 23:38:53 +0000 (02:38 +0300)]
Scrolling commands which does not signal errors at top/bottom.
http://lists.gnu.org/archive/html/emacs-devel/2010-03/msg01452.html
* simple.el (scroll-up-command, scroll-down-command): New commands.
Put property isearch-scroll=t on them.
* bindings.el (global-map): Rebind [prior] from `scroll-down' to
`scroll-down-command' and [next] from `scroll-up' to
`scroll-up-command'.
* emulation/cua-base.el: Put property CUA=move on
`scroll-up-command' and `scroll-down-command'.
(cua--init-keymaps): Remap `scroll-up-command' to `cua-scroll-up'
and `scroll-down-command' to `cua-scroll-down'.
John Wiegley [Sun, 4 Apr 2010 06:55:19 +0000 (02:55 -0400)]
2010-04-04 John Wiegley <jwiegley@gmail.com>
* ido.el (ido-use-virtual-buffers): New variable to indicate
whether "virtual buffer" support is enabled for IDO. Essentially
it works as follows: Say you are visiting a file and the buffer
gets cleaned up by mignight.el. Later, you want to switch to that
buffer, but find it's no longer open. With virtual buffers
enabled, the buffer name stays in the buffer list (using the
ido-virtual face, and always at the end), and if you select it, it
opens the file back up again. This allows you to think less about
whether recently opened files are still open or not. Most of the
time you can quit Emacs, restart, and then switch to a file buffer
that was previously open as if it still were. NOTE: This feature
has been present in iswitchb for several years now, and I'm
porting the same logic to IDO.
(ido-virtual): Face used to indicate virtual buffers in the list.
(ido-buffer-internal): If a buffer is chosen, and no such buffer
exists, but a virtual buffer of that name does (which would be why
it was in the list), recreate the buffer by reopening the file.
(ido-make-buffer-list): If virtual buffers are being used, call
`ido-add-virtual-buffers-to-list' before the make list hook.
(ido-virtual-buffers): New variable which contains a copy of the
current contents of the `recentf-list', albeit pared down for the
sake of speed, and with proper faces applied.
(ido-add-virtual-buffers-to-list): Using the `recentf-list',
create a list of "virtual buffers" to present to the user in
addition to the currently open set. Note that this logic could
get rather slow if that list is too large. With the default
`recentf-max-saved-items' of 200, there is little speed penalty.
Juri Linkov [Fri, 2 Apr 2010 23:01:22 +0000 (02:01 +0300)]
* ehelp.el (electric-help-orig-major-mode): New buffer-local variable.
(electric-help-mode): Set it to original major-mode. Doc fix.
(with-electric-help): Use `electric-help-orig-major-mode' instead
of (default-value 'major-mode). Doc fix.
http://lists.gnu.org/archive/html/emacs-devel/2010-04/msg00069.html
Sam Steingold [Fri, 2 Apr 2010 17:24:37 +0000 (13:24 -0400)]
(bug-reference-bug-regexp): Also accept "patch" and "RFE".
(bug-reference-fontify): `bug-reference-url-format' can also be a
function to be able to handle the bug kind.
(turn-on-bug-reference-mode, turn-on-bug-reference-prog-mode): Add