* xfns.c (x_set_menu_bar_lines) [!USE_X_TOOLKIT && !USE_GTK]:
Clear areas that will not be updated after change of menu bar lines.
Clear the menu bar window's current matrix when the window gets empty.
Stefan Monnier [Sun, 10 Jan 2010 05:22:54 +0000 (00:22 -0500)]
(format-annotate-function): Only set
write-region-post-annotation-function after running to-fn so as not to
affect nested write-region calls (bug#5273).
Make line<->pixel_y conversion macros aware of native menu/tool bars.
They are placed above the internal border. This supersedes special
treatment of native tool bars in the display code.
This fixes wrong display position of native menu bars and bogus mouse
highlighting of native tool bars, both of which can be found when
internal border width is large. Also it fixes wrong flashed part on
visible bell with native menu bars.
* frame.h (FRAME_TOP_MARGIN_HEIGHT): New macro.
(FRAME_LINE_TO_PIXEL_Y, FRAME_PIXEL_Y_TO_LINE): Take account of pseudo
windows above internal border.
* window.h (WINDOW_MENU_BAR_P, WINDOW_TOOL_BAR_P): New macros.
(WINDOW_TOP_EDGE_Y, WINDOW_BOTTOM_EDGE_Y): Take account of pseudo
windows above internal border.
* xdisp.c (get_glyph_string_clip_rects, init_glyph_string): Don't treat
tool bar windows specially.
* xfns.c (x_set_tool_bar_lines): Take account of menu bar height.
* xterm.c (x_after_update_window_line): Don't treat tool bar windows
specially.
(XTflash): Take account of menu bar height.
* w32term.c (x_after_update_window_line): Don't treat tool bar windows
specially.
* vc-dir.el (vc-dir-prepare-status-buffer): Pass a (fake) filename
to `create-file-buffer' as it expects, not just a buffer name.
(vc-dir-mode): Include the buffer name in `list-buffers-directory',
to help uniquify.
Jan Djärv [Wed, 6 Jan 2010 19:38:39 +0000 (20:38 +0100)]
Fix slowdown and wrong font choosed by XSETTINGS changes. bug #5157.
* font.c (font_open_entity): Enable chache and call cached_font_ok
for the driver if defined.
(QCuser_spec): New symbol.
(font_spec_from_name): Save name as user-spec.
(font_load_for_lface): Keep user-spec instead of name.
(font_open_by_name): Save name as user-spec.
(syms_of_font): Initialize QCuser_spec.
Jan Djärv [Tue, 5 Jan 2010 14:16:30 +0000 (15:16 +0100)]
Handle change of internal-border width when maximized.
* xterm.c (x_new_font): Move code for setting rows/cols before
resizing ...
(x_set_window_size): ... to here. bug #2568.
* gtkutil.c (xg_clear_under_internal_border): New function.
(xg_frame_resized, xg_frame_set_char_size): Call
xg_clear_under_internal_border.
(xg_update_scrollbar_pos): Clear under old scroll bar position.
Stefan Monnier [Mon, 4 Jan 2010 18:18:38 +0000 (13:18 -0500)]
Avoid dubious uses of save-excursions.
* doc/lispref/positions.texi (Excursions): Recommend the use of
save-current-buffer if applicable.
* doc/lispref/text.texi (Clickable Text): Fix the example code which used
save-excursion in a naive way which sometimes preserves point and
sometimes not.
* doc/lispref/variables.texi (Creating Buffer-Local):
* doc/lispref/os.texi (Session Management):
* doc/lispref/display.texi (GIF Images):
* doc/lispref/control.texi (Cleanups): Use (save|with)-current-buffer.
* doc/misc/gnus.texi (Posting Styles): Use with-current-buffer.
* doc/misc/calc.texi (Defining Simple Commands): Prefer save-current-buffer.
Stefan Monnier [Mon, 4 Jan 2010 17:38:20 +0000 (12:38 -0500)]
(xd_remove_watch): Avoid trying to convert a void* to
Lisp_Object, preferring to convert a lisp_Object to a void* instead.
(Fdbus_init_bus): Use XHASH to get a scalar value from a Lisp_Object.
Dan Nicolaescu [Mon, 4 Jan 2010 06:40:30 +0000 (22:40 -0800)]
(vc-bzr-shelve-map): Change binding for vc-bzr-shelve-apply-at-point.
(vc-bzr-shelve-menu-map):
(vc-bzr-dir-extra-headers): Improve menu and tooltip text.
(vc-bzr-shelve-apply): Make prompt more explicit.
Michael Albinus [Sun, 3 Jan 2010 19:27:17 +0000 (20:27 +0100)]
* dbusbind.c (xd_add_watch): Improve debug message.
(xd_remove_watch): Improve debug message. If DATA is the session
bus, unset D-Bus session environment.
(Fdbus_init_bus): Pass the bus as argument to
dbus_connection_set_watch_functions. (Bug#5283)
Chong Yidong [Sat, 2 Jan 2010 20:14:54 +0000 (15:14 -0500)]
* net/browse-url.el (browse-url-encode-url): Don't escape commas.
They are valid characters in URL paths (rfc3986), and at least
Firefox does not understand the encoded version (Bug#3166).
Chong Yidong [Sat, 2 Jan 2010 19:40:59 +0000 (14:40 -0500)]
Allow use of "end" keyword for terminating Octave-mode blocks.
* progmodes/octave-mod.el (octave-end-keywords)
(octave-block-begin-or-end-regexp, octave-block-match-alist): Add
"end" keyword (Bug#3061).
(octave-end-as-array-index-p): New function.
(calculate-octave-indent): Use it.
Karl Fogel [Sat, 2 Jan 2010 19:14:13 +0000 (14:14 -0500)]
* lisp/bookmark.el: Consistently put the text property on the bookmark name.
(bookmark-bmenu-marks-width): Bump back to 2, to include annotation marks.
(bookmark-bmenu-hide-filenames): Adjust for above, and put the text
property on the bookmark name, instead of not putting it at all.
(bookmark-bmenu-list): Fix where we put the text property.
Karl Fogel [Sat, 2 Jan 2010 18:52:32 +0000 (13:52 -0500)]
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
(bookmark-bmenu-list): Initialize buffer-modified-p properly.
(bookmark-send-edited-annotation): Mark bookmark-alist as modified.
(with-buffer-modified-unmodified): New macro.
(bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames,
bookmark-bmenu-mark, bookmark-bmenu-unmark, bookmark-bmenu-delete):
Use new macro to preserve the buffer-modified state.
Karl Fogel [Sat, 2 Jan 2010 05:00:55 +0000 (00:00 -0500)]
* lisp/bookmark.el (bookmark-bmenu-marks-width): Define to 1, not 2.
(bookmark-bmenu-list, bookmark-bmenu-bookmark): Calculate property
positions by using `bookmark-bmenu-marks-width', instead of hardcoding.
This fixes the `bookmark-bmenu-execute-deletions' bug reported here:
http://lists.gnu.org/archive/html/emacs-devel/2009-12/msg00819.html
From: Sun Yijiang <sunyijiang {_AT_} gmail.com>
To: emacs-devel {_AT_} gnu.org
Subject: bookmark.el bug report
Date: Mon, 28 Dec 2009 14:19:16 +0800
Message-ID: 5065e2900912272219y3734fc9fsdaee41167ef99ad7@mail.gmail.com
Karl Fogel [Sat, 2 Jan 2010 04:36:17 +0000 (23:36 -0500)]
* lisp/bookmark.el: Improvements suggested by Drew Adams:
(bookmark-bmenu-ensure-position): New name for
`bookmark-bmenu-check-position'. Just ensure the position;
don't return any meaningful value.
(bookmark-bmenu-header-height, bookmark-bmenu-marks-width): New constants.
Chong Yidong [Fri, 1 Jan 2010 20:42:22 +0000 (15:42 -0500)]
* lisp/gnus/message.el (message-exchange-point-and-mark): Call
exchange-point-and-mark with an argument rather than setting
mark-active by hand (Bug#5175).
Nick Roberts [Wed, 30 Dec 2009 02:22:45 +0000 (15:22 +1300)]
Show working revision correctly for mercurial.
* vc-hg.el (vc-hg-working-revision): Use hg parent instead of
hg log as suggested by Alex Harsanyi <alexharsanyi@gmail.com>,
Nick Roberts [Tue, 29 Dec 2009 07:15:34 +0000 (20:15 +1300)]
This changeset reverts GDB Graphical Interface to use annotations. It incorporates features added
(and never released) on the EMACS_23_1_RC branch. Namely reverse debugging and the display of STL
collections as watch expressions.
The long term aim is to move to GDB/MI, so these changes will be re-instated at some time in the future.
At the moment, however, there are issues with gdb-mi.el that have not yet
Dan Nicolaescu [Tue, 29 Dec 2009 06:46:08 +0000 (22:46 -0800)]
Make vc-dir work on subdirectories of the bzr root.
* vc-bzr.el (vc-bzr-after-dir-status): Add new argument. Return
file names relative to it.
(vc-bzr-dir-status, vc-bzr-dir-status-files): Pass the bzr root
relative directory to vc-bzr-after-dir-status.
Tassilo Horn [Mon, 28 Dec 2009 19:34:10 +0000 (20:34 +0100)]
* font-lock.el (font-lock-refresh-defaults): New function, which
can be used to let font-lock react to external changes in
variables like font-lock-defaults and keywords.
See http://thread.gmane.org/gmane.emacs.devel/118777/focus=118802