1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-24 07:20:37 +00:00
Commit Graph

5752 Commits

Author SHA1 Message Date
Glenn Morris
181bd848eb Include a systemd user unit file. (Bug#16507)
* etc/emacs.service: New file.
* doc/emacs/misc.texi (Emacs Server): Mention systemcl --user.
* Makefile.in (libdir): New, set by configure.
(systemdunitdir): New variable.
(install-etc, uninstall): Handle the emacs.service file.
2016-11-13 15:46:31 -08:00
Ken Brown
2809012c8f Check case-sensitivity when renaming files
* src/fileio.c (file_name_case_insensitive_p)
(Ffile_name_case_insensitive_p):  New functions.
(Frename_file): Allow renames that simply change case when the
FILE argument is on a case-insensitive filesystem.  (Bug#24441)

* lisp/dired-aux.el (dired-do-create-files): Use
'file-name-case-insensitive-p' instead of 'system-type' to check
for case-insensitivity.  (Bug#24441)

* doc/lispref/files.texi (Truenames): Document
'file-name-case-insensitive-p'.
2016-11-12 21:54:45 -05:00
Paul Eggert
a59f4bb5b8 ; Spelling fixes 2016-11-04 15:07:13 -07:00
Paul Eggert
ae0a1a890e Merge from origin/emacs-25
acae275 ; Spelling fixes
d8fac73 Update README for precompiled windows Emacs.
23570fd Clarify documentation of 'vc-responsible-backend' wrt symlinks
f708cb2 Clarify doc string of 'transpose-sexps'
cd05b1d Fix docstring of 'browse-url-firefox-new-window-is-tab'
bdc89eb Improve documentation of 'font-lock-remove-keywords'
4a0c590 Fix documentation of the command summary key
0221b7a Mark relocation workarounds with REL_ALLOC
2016-11-04 15:02:03 -07:00
Paul Eggert
acae275b27 ; Spelling fixes 2016-11-04 14:50:59 -07:00
Mark Oteiza
2c6920a365 Fix references to long obsoleted functions/aliases
* doc/lispintro/emacs-list-intro.texi (Miscellaneous):
* doc/misc/cl.texi (Conditionals):
* doc/misc/speedbar.texi (Major Display Modes): Use string-to-number,
not string-to-int.
* lisp/emulation/viper.el (viper-go-away): Use major-mode, not
default-major-mode.
* lisp/textmodes/reftex-toc.el (reftex-toc-visit-location): show-window
here is not a function call, but shorten the binding names anyways.
Also, use pop-to-buffer-same-window instead of switch-to-buffer cf
Bug#22244.
* lisp/textmodes/sgml-mode.el (html-tag-alist): Use read-string, not
read-input.
2016-11-04 12:51:04 -04:00
Hong Xu
23570fd995 Clarify documentation of 'vc-responsible-backend' wrt symlinks
* lisp/vc/vc.el (vc-responsible-backend): Clarify that symlinks
are not resolved when the VC backend is reported.

* doc/lispref/files.texi (Truenames): Document
'vc-responsible-backend'.  (Bug#23436)
* doc/emacs/maintaining.texi (Version Control Systems): Fix a
typo.
2016-11-04 12:06:00 +02:00
Eli Zaretskii
bdc89eb4a6 Improve documentation of 'font-lock-remove-keywords'
* doc/lispref/modes.texi (Customizing Keywords): Clarify the
'keywords' argument of 'font-lock-remove-keywords'.  Suggested by
Hong Xu <hong@topbug.net>.  (Bug#24830)
2016-11-04 11:16:40 +02:00
Vasilij Schneidermann
0adefe7ef9 Add 'x-ctrl-keysym' support on X window system
* src/xterm.c (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers):
Support 'x-ctrl-keysym'.
(syms_of_xterm): DEFSYM "ctrl" and put a proper modifier-value
property on it.
<x-ctrl-keysym>: New DEFVAR_LISP.
<x-alt-keysym, x-hyper-keysym, x-meta-keysym, x-super-keysym>: Doc
fix.  (Bug#24822)

* etc/NEWS: Mention the addition of 'x-ctrl-keysym'.

* doc/lispref/os.texi (X11 Keysyms): Document 'x-ctrl-keysym'.
2016-11-04 11:09:31 +02:00
Eli Zaretskii
4a0c590cbf Fix documentation of the command summary key
* doc/misc/info.texi (Help-^L, Help-Xref, Top): Emacs Info uses
'?' for the summary of commands, whereas the stand-alone reader
uses 'H'.  (Bug#24825)
2016-11-04 10:56:11 +02:00
Mark Oteiza
bbc218b9b0 Add eww-open-in-new-buffer to EWW
* doc/misc/eww.texi (Basic): Document new command and key.
* etc/NEWS: Mention new key and its purpose.
* lisp/net/eww.el (eww-suggest-uris): Remove eww-current-url.
(eww): Append (eww-current-url) to the prompt defaults.
(eww-open-in-new-buffer): New command.
(eww-mode-map): Bind it and add a menu item.
2016-11-02 15:58:28 -04:00
Thomas Fitzsimmons
5043e0a7e0 Fix documentation for 'eudc-options-file'
* doc/misc/eudc.texi (The Server Hotlist): Update the default
value of 'eudc-options-file'.

Backport:

(cherry picked from commit 0575fd95d0)
2016-11-02 06:11:43 -04:00
Tibor Csögör
26038aa676 Fix documentation of 'eudc-inline-expansion-format'
* doc/misc/eudc.texi (Inline Query Expansion): Fix the default value of
'eudc-inline-expansion-format'. (Bug#24840)

Backport:

(cherry picked from commit 1fef1387c3)
2016-11-02 06:03:50 -04:00
Thomas Fitzsimmons
0575fd95d0 Fix documentation for 'eudc-options-file'
* doc/misc/eudc.texi (The Server Hotlist): Update the default
value of 'eudc-options-file'.
2016-11-01 05:00:25 -04:00
Tibor Csögör
1fef1387c3 Fix documentation of 'eudc-inline-expansion-format'
* doc/misc/eudc.texi (Inline Query Expansion): Fix the default value of
'eudc-inline-expansion-format'. (Bug#24840)
2016-11-01 04:57:53 -04:00
Daniel Colascione
c29071587c Add double-buffering support to reduce flicker
* src/dispextern.h (struct glyph_string): Remove window member
(block_buffer_flips, unblock_buffer_flips)
(buffer_flipping_blocked_p): Declare.

* src/xterm.h (struct x_display_info): New member supports_xdbe.
(struct x_output): New members draw_desc and need_buffer_flip.
(FRAME_X_DRAWABLE, FRAME_X_RAW_DRAWABLE)
(FRAME_X_DOUBLE_BUFFERED_P)
(FRAME_X_NEED_BUFFER_FLIP): New macros.
(set_up_x_back_buffer, tear_down_x_back_buffer)
(initial_set_up_x_back_buffer): Declare.

* src/xterm.c: Include Xdbe.h.
(x_begin_cr_clip, x_fill_rectangle, x_draw_rectangle)
(x_draw_vertical_window_border, x_update_end)
(x_setup_relief_color, x_draw_relief_rect)
(x_draw_fringe_bitmap, x_shift_glyphs_for_insert)
(x_scroll_run, x_draw_hollow_cursor, x_draw_bar_cursor): Use
FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
variables appropriately; substitute calls to XClearArea with
x_clear_area, which DTRT for double buffering.
(x_clear_window, x_clear_area): In double-buffering mode, use
rect-drawing X functions instead of XClearWindow and
XClearArea, which always operate on the front buffer.
(show_back_buffer): New function.
(XTframe_up_to_date): Call show_back_buffer when done.
(x_clear_frame, x_clear_frame_area): Remove obsolete calls to
gtk_widget_queue_draw to refresh scroll bars; scroll bars are
now independent X windows.
(handle_one_xevent): Call font_drop_xrender_surfaces when
XftDraw might need regenerating; perform buffer flip when
responding to Expose events; issue front-buffer clearing
commands as stopgap while we wait for redisplay.
Call flush_dirty_back_buffers.
(x_make_frame_visible): Un-bitrot comment; move XSETFRAME
earlier in function.
(x_free_frame_resources): Call tear_down_x_back_buffer when
destroying frame.
(x_term_init): Attempt to initialize double buffer extension.
(x_flip_and_flush): New function.
(x_redisplay_interface): Point to x_flip_and_flush instead of
x_flip directly.
(flush_dirty_back_buffers): New function.
(x_create_terminal): Register buffer_flipping_unblocked_hook.

* src/xftfont.c (xftfont_drop_xrender_surfaces): Use
FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
(xftfont_draw): Call x_mark_frame_dirty.
(xftfont_drop_xrender_surfaces): New function.
(syms_of_xftfont): Register it.

* src/xfont.c (xfont_draw): Use FRAME_X_DRAWABLE instead of
FRAME_X_WINDOW.

* src/xfns.c: Include Xdbe.h.
(x_set_inhibit_double_buffering, set_up_x_back_buffer)
(Fx_double_buffered_p): New functions.
(x_window): Call initial_set_up_x_back_buffer.
(x_make_gc): Use FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
(Fx_create_frame): Configure `inhibit-double-buffering'
frame parameter.
(x_create_tip_frame): Call initial_set_up_x_back_buffer.
(x_frame_parm_handlers): Register
x_set_inhibit_double_buffering.
(syms_of_xfns): Register Sx_double_buffered_p.
(x_mark_frame_dirty): Define.

* src/xfaces.c (x_create_gc): Use FRAME_X_DRAWABLE instead of
FRAME_X_WINDOW.

* src/xdisp.c (remember_mouse_glyph, init_glyph_string): Use
FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
(redisplay_internal): Restart redisplay if a frame is garbaged
during updating; explain why. Block buffer flips
during redisplay.
(redisplay_preserve_echo_area): Block buffer flip during call
to redisplay_internal.
(buffer_flip_blocked_depth): New variable.
(block_buffer_flips, unblock_buffer_flips)
(buffer_flipping_blocked_p): New functions.
(init_glyph_string): Stop setting window member of struct
glyph_string.

* src/w32fns.c (w32_frame_parm_handlers): Add placeholder for
x_set_inhibit_double_buffering.

* src/termhooks.h (struct terminal): Add
buffer_flipping_unblocked_hook.

* src/nsfns.m (ns_frame_parm_handlers): Add placeholder for
x_set_inhibit_double_buffering.

* src/image.c (x_create_bitmap_from_data)
(x_create_bitmap_from_file, x_create_x_image_and_pixmap)
(Create_Pixmap_From_Bitmap_Data)
(x_create_bitmap_from_xpm_data, xpm_load, gs_load): Use
FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
variables appropriately.

* src/gtkutil.c: Include Xdbe.h.
(xg_get_widget_from_map): Forward declare.
(xg_clear_under_internal_border): Remove obsolete calls to
refresh scroll bars.
(xg_create_frame_widgets): Call initial_set_up_x_back_buffer.
(xg_free_frame_widgets): Call tear_down_x_back_buffer; reset
FRAME_X_DRAWABLE as well as FRAME_X_WINDOW and for the
same reason.
(xg_set_background_color): Set scroll bar background colors.
(xg_finish_scroll_bar_creation): New function with common
logic of xg_create_scroll_bar, xg_create_horizontal_scroll_bar. Force
scroll bars to be real X11 windows.
(xg_create_scroll_bar, xg_create_horizontal_scroll_bar): Call
xg_finish_scroll_bar_creation.
(xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
Remove obsolete calls to refresh scroll bars; fix comments.

* src/ftxfont.c (ftxfont_get_gcs, ftxfont_draw_bitmap,
(ftxfont_draw_background): Use FRAME_X_DRAWABLE instead of
FRAME_X_WINDOW.

* src/frame.c (frame_parms): Add table entry for new
`inhibit-double-buffering' frame parameter
(syms_of_frame): Register Qinhibit_double_buffering.

* src/font.h (struct font_driver): Add new `flush_frame_caches' hook.
(font_drop_xrender_surfaces): Declare.

* src/font.c (font_drop_xrender_surfaces): New function.

* src/Makefile.in (XDBE_LIBS, XDBE_CFLAGS): Substitute.

* etc/NEWS: Mention use of double buffering

* doc/lispref/frames.texi (Management Parameters): Document
`inhibit-double-buffering' frame parameters.
(Visibility of Frames): Document `x-double-buffered-p'.

* configure.ac: Check for the X double buffer extension
2016-10-28 19:21:39 -07:00
Göktuğ Kayaalp
11d380a029 New user variable 'electric-quote-chars'
* doc/emacs/text.texi (Quotation Marks), etc/NEWS: Document this.
* lisp/electric.el (electric-quote-chars): New defcustom.
(electric-quote-post-self-insert-function): Use it.
2016-10-27 08:11:25 -07:00
Nicolas Petton
eca10c1e68
Minor fix in the documentation of seq-random-elt
* doc/lispref/sequences.texi (Sequence Functions): Remove false
  sentence.
2016-10-25 21:28:36 +02:00
Eli Zaretskii
8cdbc50118 Minor copyedits in documentation of 'seq-random-elt'
* doc/lispref/sequences.texi (Sequence Functions): Fix markup in
last change.  Use 2 spaces between sentences.
2016-10-25 21:56:16 +03:00
Damien Cassou
bd22beb6e4 Add seq-random-elt to seq.el
* lisp/emacs-lisp/seq.el (seq-random-elt): Add function to return a
  random element from it's sequence parameter.

* test/lisp/emacs-lisp/seq-tests.el (test-seq-random-elt-take-all
  test-seq-random-elt-return-nil): Test the new function

* doc/lispref/sequences.texi: Document the new function
2016-10-25 12:32:57 +02:00
Karl Chen
7cc8c4b35b Don't prompt user when killing Flymake processes
* lisp/progmodes/flymake.el (flymake-start-syntax-check-process):
Don’t prompt the user when killing Flymake processes.

* doc/misc/flymake.texi (Starting the syntax check process):
Document new behavior.
2016-10-24 11:34:04 +02:00
Paul Eggert
394bdb8f23 Merge from origin/emacs-25
50fa7d6 ;* src/w32heap.c: Fix typo and wording of the comments.
6f1325e electric-quote mode no longer worries about coding
c2a1792 * src/regex.c (re_search_2): Make new code safe for -Wjump-mi...
f6134bb Port to GCC 6.2.1 + --enable-gcc-warnings
b2ba630 Explain how to debug emacsclient lisp errors
9da53e2 Let describe-function work for lambda again
5c2da93 Fix kill-line's docstring
ad66b3f Fix handling of allocation in regex matching
5a26c9b * lisp/electric.el (electric-quote-mode): Improve doc (Bug#24...
3877c91 vc-region-history: Search just on lines intersecting the region
8988327 Fix documentation of 'alist-get'
b6998ea * src/regex.h (re_match_object): Improve commentary.

# Conflicts:
#	etc/NEWS
#	lisp/help-fns.el
2016-10-23 02:50:48 -07:00
Paul Eggert
6f1325ed92 electric-quote mode no longer worries about coding
* doc/emacs/text.texi (Quotation Marks), etc/NEWS: Document this.
* lisp/electric.el (electric--insertable-p): Remove.
All uses removed (Bug#24759).
2016-10-23 01:14:57 -07:00
Noam Postavsky
b2ba630739 Explain how to debug emacsclient lisp errors
* doc/lispref/debugging.texi (Error Debugging): Mention that
debug-on-signal is useful for getting backtraces from
emacsclient (Bug#24616).
2016-10-22 12:06:29 -04:00
Paul Eggert
897998291f New error file-missing
This fixes a recently-introduced bug in delete-directory,
where the code assumes the C locale when determining
whether a file-error corresponds to a missing file (Bug#24714).
* doc/lispref/errors.texi (Standard Errors):
* doc/lispref/files.texi (Changing Files):
* etc/NEWS:
Document this.
* doc/lispref/loading.texi (How Programs Do Loading):
Say "a file-error" rather than "the error file-error" since
it might be a file-missing now.
* lisp/emacs-lisp/bytecomp.el (byte-compile-file):
* lisp/epa-file.el (epa-file--find-file-not-found-function):
(epa-file-insert-file-contents, epa-file-write-region):
* lisp/ffap.el (find-file-at-point, dired-at-point):
* lisp/jka-compr.el (jka-compr-insert-file-contents)
(jka-compr-insert-file-contents):
* lisp/net/ange-ftp.el (ange-ftp-barf-if-not-directory)
(ange-ftp-insert-file-contents, ange-ftp-copy-file-internal):
* lisp/progmodes/etags.el (visit-tags-table):
* lisp/url/url-handlers.el (url-copy-file):
* src/fileio.c (report_file_errno):
Signal file-missing if appropriate.
* lisp/epa-file.el (epa-file-insert-file-contents):
* lisp/jka-compr.el (jka-compr-insert-file-contents):
Don't assume file-error is a leaf in the error hierarchy.
* lisp/files.el (files--force):
* lisp/gnus/nnmaildir.el (nnmaildir--enoent-p):
* lisp/jka-compr.el (jka-compr-insert-file-contents):
Use file-missing to detect whether the file is missing.
* lisp/url/url-handlers.el (url-copy-file):
Signal file-already-exists if appropriate.
* src/fileio.c (syms_of_fileio): Define file-missing.

2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>
2016-10-21 13:06:03 -07:00
Michael Albinus
ce26926b62 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2016-10-20 14:58:13 +02:00
Michael Albinus
38091c9000 Document, how to suppress iTerm2 shell integration in Tramp
* doc/misc/tramp.texi (Frequently Asked Questions):
Suppress iTerm2 shell integration.
2016-10-20 14:57:17 +02:00
Eli Zaretskii
8988327d54 Fix documentation of 'alist-get'
* doc/lispref/lists.texi (Association Lists): Fix the signature of
'alist-get'.  Fix the markup, the wording, and the punctuation in
the description. (Bug#24740)
2016-10-19 21:10:31 +03:00
Michael Albinus
6b9dee1ae6 Change Tramp version to "2.2.13.25.2"
* doc/misc/trampver.texi:
* lisp/net/trampver.el: Change version to "2.2.13.25.2".
2016-10-19 10:35:52 +02:00
Paul Eggert
704fd2a7ae delete-directory no longer errors when racing
Problem reported by Glenn Morris for package-test.el (Bug#24714).
* doc/lispref/files.texi (Create/Delete Dirs), etc/NEWS: Document this.
* lisp/files.el (files--force): New function.
(delete-directory): Use it to avoid error in this case.
2016-10-18 09:37:13 -07:00
Martin Rudalics
665ee0a565 Document atomic windows in Elisp manual (Bug#18170)
* lisp/window.el (display-buffer-in-atom-window): If no `side'
alist entry was specified, use `below' as the doc tells.
* doc/lispref/elisp.texi (Atomic Windows): Add menu entry.
* doc/lispref/windows.texi (Atomic Windows): New section.
(Window Parameters): Update reference.
2016-10-17 08:57:24 +02:00
Paul Eggert
c06a518b5b New face homoglyph
Suggested by Eli Zaretskii, from a feature request by
Alan Mackenzie (Bug#24468).
* doc/emacs/display.texi (Standard Faces, Text Display):
* etc/NEWS: Document this.
* etc/themes/dichromacy-theme.el, etc/themes/leuven-theme.el:
* etc/themes/light-blue-theme.el, etc/themes/manoj-dark-theme.el:
* etc/themes/tango-dark-theme.el, etc/themes/tango-theme.el:
* etc/themes/wombat-theme.el:
Customize homoglyph to be the same as escape-glyph.
* lisp/cus-theme.el (custom-theme--listed-faces):
Add homoglyph.
* lisp/faces.el (homoglyph): New face.
* lisp/startup.el (startup--setup-quote-display): Use it.
2016-10-16 22:51:51 -07:00
Michael Albinus
3ed8100f77 Fix bug#24665 in Tramp
* doc/misc/tramp.texi (External methods): Do not confuse
method names.  (Bug#24665)
2016-10-16 15:52:26 +02:00
Paul Eggert
fd45b3f604 Spelling and clarity fixes 2016-10-10 07:58:45 -07:00
Paul Eggert
46b83c0f08 Merge from origin/emacs-25
4f406e9 CC Mode manual: remove reference to former Emacs variable las...
44e402e Allow to disable compaction of font caches
4ff4b66 Allow selection of font for symbols as in Emacs 24.x
c03d44b ; Fix last commit
d4be4f3 ; Fix indexing in lispref manual
ed399f2 ; Minor improvement in documentation of generators
197a6bc Fix horizontal scrolling during Isearch
3566644 Fix infloop in redisplay due to truncated lines and invisible...

# Conflicts:
#	etc/NEWS
2016-10-10 07:39:05 -07:00
Paul Eggert
cf9bdf12da Merge from origin/emacs-25
c4a5e7e Improve documentation of 'menu-bar-open'
2016-10-10 07:35:33 -07:00
Paul Eggert
97046e811c Merge from origin/emacs-25
4b347fe Clarify that doc fixes are okay in feature freeze
01669ad Avoid crashes when setting the cursor
f2144ee Restore 'command-debug-status' functionality
ec6e4b9 ; Minor addition to CONTRIBUTE
2016-10-10 07:35:32 -07:00
Paul Eggert
8a64559989 Merge from origin/emacs-25
74b4f13 Document nil args of compare-buffer-substrings
9fc81bc * doc/misc/message.texi (Bcc Warning): Fix markup.
95baa25 * doc/misc/message.texi (Bcc Warning): Document mml-secure-sa...
2016-10-10 07:35:31 -07:00
Paul Eggert
4e42e8453e Merge from origin/emacs-25
f1247f0 * lisp/frame.el (blink-cursor-delay): Doc fix.  (Bug#24372)
ace7f14 * lisp/gnus/gnus-art.el (gnus-button-handle-library): Fix typo.
bbf1ffd Regexp Functions doc minor fixes
2016-10-10 07:35:31 -07:00
Alan Mackenzie
4f406e9813 CC Mode manual: remove reference to former Emacs variable last-command-char
* doc/misc/cc-mode.texi (Hanging Semicolons and Commas): Replace reference to
variable last-command-char by one to macro c-last-command-char.
2016-10-09 13:42:57 +00:00
Eli Zaretskii
c03d44bb3d ; Fix last commit
* doc/lispref/functions.texi (Argument List): Restore the index
entry for 'wrong-number-of-arguments'.  (Bug#24222)
* doc/lispref/errors.texi: Fix cross-reference for
'wrong-number-of-arguments'.
2016-10-08 17:16:33 +03:00
Eli Zaretskii
d4be4f3f12 ; Fix indexing in lispref manual
* doc/lispref/functions.texi (Argument List): Remove the index
entry for 'wrong-number-of-arguments'.  (Bug#24222)
2016-10-08 17:01:54 +03:00
Wilfred Hughes
ed399f26fa ; Minor improvement in documentation of generators
* doc/lispref/control.texi (Generators): Add a 'require' to the
example code.  (Bug#24539)
2016-10-08 16:44:47 +03:00
Noam Postavsky
fb12af2084 ; Merge: some backports from master
Regression in Emacs 25.1
* "Don't require isearch-update before isearch-done"

This bug actually crashes in emacs-25
* "Avoid error in icalendar--read-element"

Doc fixes
* "Make a menu less ambiguous"
* "Doc fix for url-http"
2016-10-06 21:20:32 -04:00
Eli Zaretskii
c4a5e7e18d Improve documentation of 'menu-bar-open'
* lisp/term/w32-win.el (w32-menu-bar-open): Clarify that sometimes
two ESC keypresses are needed to exit the menu.

* doc/emacs/screen.texi (Menu Bar): Qualify the description of how
to exit menus.  (Bug#24596)
2016-10-06 21:46:48 +03:00
John Wiegley
4ef9ea2b2a
Add documentation note from Alex 2016-10-05 09:15:18 -07:00
Martin Rudalics
9adfb021df Document return value of `display-buffer-in-side-window'
* doc/lispref/windows.texi (Displaying Buffers in Side Windows):
* lisp/window.el (display-buffer-in-side-window): Describe
return value of `display-buffer-in-side-window'.
2016-10-05 16:12:19 +02:00
Eli Zaretskii
0709b900f5 Improve wording in side windows documentation
* doc/lispref/windows.texi (Displaying Buffers in Side Windows)
(Side Window Options and Functions)
(Frame Layouts with Side Windows): Minor wording improvements.
2016-10-05 16:01:19 +03:00
Martin Rudalics
b8fd71d570 Document and fix some bugs with side windows
Add a documentation for side windows and fix some bugs
found when testing their behavior.  Also add a new window
parameter `no-delete-other-window', a new `display-buffer'
alist member called `window-parameters', and functions to
toggle and reverse side windows on a frame.  Add new function
`window-swap-states' to exchange states of two live windows.

* lisp/window.el (display-buffer-in-atom-window): Use
`split-window-no-error'.
(window-sides-vertical): Maybe change layouts when setting this
variable.
(window-sides-reversed): New option.
(window-sides-slots): Rewrite doc-string and help echoes.
(window-sides-shown): New buffer-local variable set when showing
a buffer in a side window.
(window--sides-inhibit-check): New variable.
(window--sides-reverse-on-frame-p, window-toggle-side-windows)
(window--sides-reverse-all, window--sides-reverse-frame)
(window--sides-reverse-side, window--sides-reverse)
(window--sides-verticalize-frame, window--sides-verticalize)
(window--sides-check-failed): New functions.
(window--side-window-p): Remove function.
(window--major-non-side-window): Rename to `window-main-window',
adjust callers, rewrite doc-string.
(window--major-side-window): Rename to
`window--make-major-side-window-next-to', adjust caller, fix
doc-string.
(display-buffer-in-major-side-window): Rename to
`window--make-major-side-window', adjust
caller, rewrite doc-string.  Make `window-side' and
`window-slot' parameters persistent (Bug#23858).  Don't set
`delete-window' parameter.  Add `preserve-size' entry to ALIST.
(delete-side-window): Remove function.
(display-buffer-in-side-window): Fix doc-string.  Don't set
`delete-window' parameter.  Add `preserve-size' entry to ALIST.
(window--side-check): Rename to window--sides-check.  Rewrite
completely.  Adjust caller.
(window-resize-no-error): Don't describe PIXELWISE argument.
(adjust-window-trailing-edge): Fix bug that disallowed
re-enlarging windows that were too small.
(window-deletable-p): Don't tell that a minibuffer window on a
non-minibuffer-only frame can be deleted.  Fix doc-string.
(delete-window): Handle deleting a side window here (the
`delete-window' parameter is no more set for side windows).
(delete-other-windows): Handle ‘no-delete-other-window'
parameter. Don't treat side windows separately (see discussion
of Bug#24368) but keep optimization that makes the main window
the root window of its frame.
(switch-to-prev-buffer, switch-to-next-buffer): Handle side
windows and buffers shown in side windows separately.
(split-window-no-error): New function.
(window--state-get-1): Use right buffer when storing window
point and start positions and WRITABLE is nil (Bug#24368).
(window--state-put-1): Fix handling of `window-combination-limit'.
Use `split-window-no-error'.
(window--state-put-2): Try to restore windows with preserved
size to their original size.  Fix bug where a fixed window's width
was not preserved.
(window-state-put): When reducing an internal window to a live
one, don't choose a side window.
(window-swap-states): New function.
(window-splittable-p): Don't call `window--side-window-p'.
(window--display-buffer): Handle `window-parameters' ALIST entry.
Minor rewrite.
(display-buffer): Mention `window-parameters' entry in
doc-string.
(display-buffer-at-bottom): Call `split-window-no-error'.

* doc/lispref/elisp.texi (Top): New section "Side Windows".
* doc/lispref/windows.texi (Deleting Windows): Fix descriptions
of `delete-window' and `delete-other-windows' wrt window
parameters and side windows.
(Display Action Functions): Mention `window-parameters' ALIST
entry.
(Side Windows): New section (Bug#18170).
(Window Configurations): Describe new function `window-swap-states'.
(Window Parameters): Say that functions may behave specially when
their homonymous window parameter has been set.  Mention new
parameter `no-delete-other-window'.  Add cross reference for
`window-side' and `window-slot' parameters.
2016-10-05 10:28:36 +02:00
John Wiegley
13ba5af742
Add documentation note from Alex 2016-10-04 14:47:43 -07:00