1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-30 17:10:51 -08:00
Commit graph

725 commits

Author SHA1 Message Date
Paul Eggert
f743819b57 Prefer "this" to “this” in doc strings
This mostly just straightens quotes introduced in my previous patch.
Suggested by Dmitry Gutov in:
http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
* lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
* lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
* lisp/textmodes/artist.el, lisp/textmodes/rst.el:
* lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
* lisp/vc/log-edit.el, lisp/xt-mouse.el:
Prefer straight double quotes to curved double quotes in doc strings.
2015-05-19 19:08:52 -07:00
Paul Eggert
9d35bb8d65 Fix minor quoting problems in doc strings
These were glitches regardless of how or whether we tackle the
problem of grave accent in doc strings.
* lisp/calc/calc-aent.el (math-restore-placeholders):
* lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
* lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
* lisp/leim/quail/hebrew.el ("hebrew-new")
("hebrew-biblical-sil"):
* lisp/leim/quail/thai.el ("thai-kesmanee"):
* lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
* lisp/calendar/calendar.el (calendar-month-abbrev-array):
* lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
* lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
* lisp/cedet/semantic/tag.el (semantic-tag-copy)
(semantic-tag-components):
* lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
* lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
* lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
* lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
* lisp/emacs-lisp/generator.el (iter-next):
* lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
(gnus-article-mode-syntax-table):
* lisp/net/rlogin.el (rlogin-directory-tracking-mode):
* lisp/net/soap-client.el (soap-wsdl-get):
* lisp/net/telnet.el (telnet-mode):
* lisp/org/org-compat.el (org-number-sequence):
* lisp/org/org.el (org-remove-highlights-with-change)
(org-structure-template-alist):
* lisp/org/ox-html.el (org-html-link-org-files-as-html):
* lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
(handwrite-12pt, handwrite-13pt):
* lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
* lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
* lisp/progmodes/verilog-mode.el (verilog-tool)
(verilog-string-replace-matches, verilog-preprocess)
(verilog-auto-insert-lisp, verilog-auto-insert-last):
* lisp/textmodes/makeinfo.el (makeinfo-options):
* src/font.c (Ffont_spec):
Fix minor quoting problems in doc strings, e.g., missing quote,
``x'' where `x' was meant, etc.
* lisp/erc/erc-backend.el (erc-process-sentinel-2):
Fix minor quoting problem in other string.
* lisp/leim/quail/ethiopic.el ("ethiopic"):
* lisp/term/tvi970.el (tvi970-set-keypad-mode):
Omit unnecessary quotes.
* lisp/faces.el (set-face-attribute, set-face-underline)
(set-face-inverse-video, x-create-frame-with-faces):
* lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
* lisp/mail/supercite.el (sc-attribs-%@-addresses)
(sc-attribs-!-addresses, sc-attribs-<>-addresses):
* lisp/net/tramp.el (tramp-methods):
* lisp/recentf.el (recentf-show-file-shortcuts-flag):
* lisp/textmodes/artist.el (artist-ellipse-right-char)
(artist-ellipse-left-char, artist-vaporize-fuzziness)
(artist-spray-chars, artist-mode, artist-replace-string)
(artist-put-pixel, artist-text-see-thru):
* lisp/vc/ediff-util.el (ediff-submit-report):
* lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
Use double-quotes rather than TeX markup in doc strings.
* lisp/skeleton.el (skeleton-pair-insert-maybe):
Reword to avoid the need for grave accent and apostrophe.
* lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
Don't use grave and acute accents to quote.
2015-05-19 15:01:16 -07:00
Ivan Shmakov
619fc5c197 Fix 'face property handling in facemenu-add-face.
* lisp/faces.el (face-list-p): Split from face-at-point.
(face-at-point): Use it.
* lisp/facemenu.el (facemenu-add-face): Likewise.

Fixes: debbugs:19912
2015-02-26 18:09:48 +00:00
Martin Rudalics
d165578319 Try to improve handling of fullwidth/-height frames.
* frame.el (frame-notice-user-settings): Update
`frame-size-history'.
(make-frame): Update `frame-size-history'.  Call
`frame-after-make-frame'.
* faces.el (face-set-after-frame-default): Remove call to
frame-can-run-window-configuration-change-hook.
* frame.c (frame_size_history_add): New function.
(frame_inhibit_resize): Consider frame_inhibit_implied_resize
only after frame's after_make_frame slot is true.  Inhibit
resizing fullwidth-/height frames in one direction only.  Update
frame_size_history.
(adjust_frame_size): Call frame_size_history_add.
(make_frame): Initalize after_make_frame slot.
(Fmake_terminal_frame): Adjust adjust_frame_size call.
(Fcan_run_window_configuration_change_hook): Rename to
Fframe_after_make_frame.  Set after_make_frame slot.  Return
second argument.
(x_set_frame_parameters): Postpone handling fullscreen parameter
until after width and height parameters have been set.  Apply
width and height changes only if can_x_set_window_size is true.
Update frame_size_history.
(Qadjust_frame_size_1, Qadjust_frame_size_2)
(Qadjust_frame_size_3, QEmacsFrameResize, Qframe_inhibit_resize)
(Qx_set_fullscreen, Qx_check_fullscreen, Qx_set_window_size_1)
(Qxg_frame_resized, Qxg_frame_set_char_size_1)
(Qxg_frame_set_char_size_2, Qxg_frame_set_char_size_3)
(Qxg_change_toolbar_position, Qx_net_wm_state)
(Qx_handle_net_wm_state, Qtb_size_cb, Qupdate_frame_tool_bar)
(Qfree_frame_tool_bar): New symbol for updating
frame_size_history.
(Qtip_frame, Qterminal_frame): New symbols.
(Vframe_adjust_size_history): Rename to frame_size_history.
* frame.h (struct frame): Rename
can_run_window_configuration_change_hook slot to
after_make_frame.
(frame_size_history_add): Extern.
* gtkutil.c (xg_frame_resized): Call frame_size_history_add.
Don't set FRAME_PIXEL_WIDTH and FRAME_PIXEL_HEIGHT here.
(xg_frame_set_char_size): Try to preserve the status of
fullwidth/-height frames.  Call frame_size_history_add.
(tb_size_cb, update_frame_tool_bar, free_frame_tool_bar)
(xg_change_toolbar_position): Call frame_size_history_add.
* w32fns.c (x_change_tool_bar_height): Handle frame's fullscreen
status.
(Fx_create_frame): Process fullscreen parameter after frame has
been resized.
(x_create_tip_frame): Pass Qtip_frame to adjust_frame_size.
(Fx_frame_geometry): Don't pollute pure storage.
* w32term.c (w32_read_socket): For WM_WINDOWPOSCHANGED,
WM_ACTIVATE and WM_ACTIVATEAPP set frame's visibility before
calling w32fullscreen_hook.  For WM_DISPLAYCHANGE call
w32fullscreen_hook immediately.
(x_fullscreen_adjust, x_check_fullscreen): Remove.
(w32fullscreen_hook): Call change_frame_size just as with a
"normal" frame resize operation.  Call do_pending_window_change.
(x_set_window_size): Try to handle fullwidth and fullheight more
accurately.  Don't rely on w32_enable_frame_resize_hack.
(w32_enable_frame_resize_hack): Remove variable.
* widget.c (EmacsFrameResize): Remove dead code.  Call
frame_size_history_add
* window.c (run_window_configuration_change_hook): Check
f->after_make_frame instead of
f->can_run_window_configuration_change_hook.
* xfns.c (x_change_tool_bar_height): Handle frame's fullscreen status.
(Fx_create_frame): Process fullscreen parameter after frame has
been resized.
(Fx_frame_geometry): Don't pollute pure storage.
* xterm.c (x_net_wm_state, x_handle_net_wm_state): Call
frame_size_history_add.
(do_ewmh_fullscreen): Handle x_frame_normalize_before_maximize.
(x_check_fullscreen): Count in menubar when calling
XResizeWindow.  Wait for ConfigureNotify event.  Call
frame_size_history_add.
(x_set_window_size_1): Remove PIXELWISE argument.  Try to handle
changing a fullheight frame's width or a fullwidth frame's
height.  Call frame_size_history_add.
(x_set_window_size): Simplify xg_frame_set_char_size and
x_set_window_size_1 calls.
(x_frame_normalize_before_maximize): New variable.
2015-02-07 11:51:03 +01:00
Paul Eggert
7e09ef09a4 Update copyright year to 2015
Run admin/update-copyright.
2015-01-01 14:26:41 -08:00
Martin Rudalics
c936cbbc83 Run `window-configuration-change-hook' only after all faces have been realized.
* frame.c (adjust_frame_size): Call x_set_window_size only if
f->can_x_set_window_size is set.
(make_frame): Initialize f->can_x_set_window_size and
f->can_run_window_configuration_change_hook.
(Fcan_run_window_configuration_change_hook): New function.
* frame.h (frame): Split `official' into `can_x_set_window_size'
and `can_run_window_configuration_change_hook'.
* nsfns.m (Fx_create_frame): Set f->can_x_set_window_size.
* w32fns.c (Fx_create_frame, x_create_tip_frame): Set
f->can_x_set_window_size.
* window.c (run_window_configuration_change_hook): Return
immediately if either f->can_x_set_window_size or
f->can_run_window_configuration_change_hook are false.
(Fset_window_configuration): Instead of f->official set
f->can_x_set_window_size.
* xfns.c (Fx_create_frame, x_create_tip_frame): Set
f->can_x_set_window_size.
* faces.el (face-set-after-frame-default): Enable running
`window-configuration-change-hook'.
2014-11-08 12:11:50 +01:00
Glenn Morris
32ade3f01a Merge from emacs-24; up to 2014-07-22T06:37:31Z!yamaoka@jpl.org 2014-10-08 21:23:09 -07:00
Eli Zaretskii
28ec0a87ca Fix bug #18636 with documentation of multi-monitor displays.
doc/lispref/frames.texi (Multiple Terminals): Improve the description of X
 display names.  Add index entries.
 (Basic Parameters): Add a cross-reference to where X display names
 are described.
 (Position Parameters): Mention that positional parameters of the
 form (+ POS) can be negative if they are on a non-primary monitor
 of a multi-monitor display.
 (Creating Frames): Mention that on multi-monitor displays the
 frame might be positioned differently than specified by the frame
 parameters alist.

 lisp/faces.el (display-grayscale-p): Mention in the doc string that
 the argument can be either a display name or a frame.
 lisp/frame.el (display-pixel-height, display-pixel-width)
 (display-mm-height, display-mm-width, display-backing-store)
 (display-save-under, display-planes, display-color-cells)
 (display-visual-class, display-monitor-attributes-list)
 (display-screens): Mention in the doc string that the argument can
 be either a display name or a frame.  Improve the docs of the
 monitor attributes.
2014-10-08 13:16:45 +03:00
Stefan Monnier
cbdc06f3be Rename 24.5 to 25.1
Except where we expect to backport the corresponding change.
2014-09-29 14:14:08 -04:00
Glenn Morris
b39c4d7b33 Merge from emacs-24; up to 2014-06-22T05:00:14Z!dmantipov@yandex.ru 2014-07-12 10:53:29 -07:00
Stefan Monnier
f972be090b * lisp/faces.el (face-name): Undo last change.
(x-resolve-font-name): Don't call face-name.

Fixes: debbugs:17956
2014-07-09 14:46:33 -04:00
Glenn Morris
5613a6f6d5 Merge from emacs-24; up to 2014-06-19T14:03:45Z!monnier@iro.umontreal.ca 2014-07-08 19:04:12 -07:00
Juri Linkov
6dc311adc3 * lisp/faces.el (face-name): Return input arg `face' as is
when it's not a symbol.
(x-resolve-font-name): Don't check if the face is a symbol.

Fixes: debbugs:17956
2014-07-08 12:03:23 +03:00
Juanma Barranquero
09b911adf4 Merge from emacs-24; up to 2014-05-01T10:21:17Z!rgm@gnu.org 2014-04-30 21:54:52 +02:00
Paul Eggert
426b5dafdd Spelling fix, plus try to fix grammar in doc string. 2014-04-30 11:01:36 -07:00
Matthias Dahl
bc6953b32f Fix bug 16694 with applying X resources to faces too early.
lisp/faces.el (face-spec-recalc): Apply X resources only after the
 defface spec has been applied. Thus, X resources are no longer
 overriden by the defface spec which also fixes issues on win32 where
 the toolbar coloring was wrong because it is set through X resources
 and was (wrongfully) overriden.
2014-04-28 22:14:17 +03:00
Juanma Barranquero
b92583c4bf lisp/faces.el (face-set-after-frame-default): Remove unused local variable. 2014-04-14 17:38:43 +02:00
Eli Zaretskii
3197074e49 Fix last commit. 2014-04-12 17:31:03 +03:00
Matthias Dahl
7f0f4c2576 Remove deprecated optional argument of make-face.
lisp/faces.el (make-face): Remove deprecated optional argument. The
 conditional application of X resources is handled directly by
 make-face-x-resource-internal since Emacs 24.4.
 (make-empty-face): Don't pass optional argument to make-face.
2014-04-12 17:25:53 +03:00
Matthias Dahl
5f91455c9d Deprecate optional argument of make-face.
lisp/faces.el (make-face): Deprecate optional argument as it is no
 longer needed/used since the conditional X resources handling
 has been pushed down to make-face-x-resource-internal itself.
 (make-empty-face): Don't pass optional argument to make-face.
2014-04-12 17:22:55 +03:00
Daniel Colascione
7e31acf6b8 Merge from emacs-24; up to 2014-04-01T20:18:12Z!eggert@cs.ucla.edu 2014-04-07 13:54:16 -07:00
Matthias Dahl
f5e4494cd0 Fix bug #16434 with handling the -rv command-line option.
lisp/faces.el (make-face-x-resource-internal): Do nothing when
 inhibit-x-resources is non-nil.  Don't touch the default face if
 reversed video is given--as was done in previous versions of Emacs.
 (face-set-after-frame-default): Don't call
 make-face-x-resource-internal here.
2014-04-05 10:44:56 +03:00
Matthias Dahl
fdafd487a9 Fix bug #16378 with mishandling of empty faces.
lisp/faces.el (face-spec-choose): Accept additional optional argument,
 whose value is returned if no matching attributes are found.
 (face-spec-recalc): Use the new optional argument when calling
 face-spec-choose.
2014-04-05 10:25:52 +03:00
Matthias Dahl
eb7a03cc76 Fix bug #16694 with theme face precedence.
lisp/faces.el (face-spec-recalc): Call make-face-x-resource-internal
 only when inhibit-x-resources is nil, and do that earlier in the
 function.  Doc fix.
2014-04-05 10:15:11 +03:00
Glenn Morris
06940bd081 Tweak earlier tty-run-terminal-initialization change
* lisp/faces.el (tty-run-terminal-initialization):
Use tty-find-type so that aliases are matched with the
hyphen and underscore stripping behavior.
2014-03-28 00:16:42 -07:00
Glenn Morris
6638d67cd2 Make term-file-aliases into a defcustom; tweaks previous change 2014-03-27 21:39:30 -04:00
Glenn Morris
95de732d84 Introduce `term-file-aliases', replacing some small lisp/term files
* lisp/faces.el (term-file-aliases): New variable.
(tty-run-terminal-initialization): Respect term-file-aliases.

* lisp/term/apollo.el, lisp/term/vt102.el, lisp/term/vt125.el:
* lisp/term/vt201.el, lisp/term/vt220.el, lisp/term/vt240.el:
* lisp/term/vt300.el, lisp/term/vt320.el, lisp/term/vt400.el:
* lisp/term/vt420.el: Remove files, replaced by aliases.

* lisp/term/README: Mention term-file-aliases.

* lisp/term/AT386.el, lisp/term/news.el, lisp/term/tvi970.el:
* lisp/term/vt100.el, lisp/term/wyse50.el: Remove obsolete comment.

* doc/emacs/custom.texi (Terminal Init): Mention term-file-aliases.

* doc/lispref/os.texi (Terminal-Specific): Mention term-file-aliases.

* etc/NEWS: Mention this.
2014-03-27 21:29:54 -04:00
Eli Zaretskii
e74e1d1bf8 Revert last commit. 2014-03-22 10:28:20 +02:00
Matthias Dahl
7c326d7116 Fix bug #16694 with face attributes changed by themes.
lisp/faces.el (face-spec-recalc): Doc fix.  Call
 make-face-x-resource-internal earlier, and condition that on
 no-init-from-resources being nil.
2014-03-22 10:18:42 +02:00
Glenn Morris
1d491ef203 Avoid calling tty-setup-hook twice
eg if a term file explicitly calls tty-run-terminal-initialization

* lisp/faces.el (tty-run-terminal-initialization): Add run-hook argument.
(tty-create-frame-with-faces): Use it.

* lisp/startup.el (command-line): Pass run-hook argument
to tty-run-terminal-initialization.

Fixes: debbugs:16859
2014-02-26 14:40:56 -05:00
Glenn Morris
98bd6b321c Doc updates related to tty-setup-hook
* doc/emacs/custom.texi (Terminal Init):
Replace term-setup-hook with tty-setup-hook.

* doc/lispref/display.texi (Window Systems):
* doc/lispref/hooks.texi (Standard Hooks):
Replace term-setup-hook with tty-setup-hook.

* doc/lispref/os.texi (Startup Summary, Init File, Terminal-Specific):
Replace term-setup-hook with tty-setup-hook, and update.

* doc/misc/edt.texi (Quick start, Starting emulation):
* doc/misc/efaq.texi (Fullscreen mode on MS-Windows)
(Terminal setup code works after Emacs has begun): Update hook details.

* doc/misc/vip.texi (Loading VIP): Fix hook example.

* lisp/faces.el (tty-setup-hook, tty-run-terminal-initialization): Doc fixes.

* lisp/startup.el (term-setup-hook): Doc fix.  Make obsolete.

* lisp/emulation/edt.el: Comment update.

* lisp/term/sun.el (sun-raw-prefix-hooks):
Use tty-setup-hook instead of term-setup-hook.
(terminal-init-sun): Construct message from bytecomp plist.

* lisp/term/wyse50.el (enable-arrow-keys): Doc fix.

* etc/refcards/vipcard.tex: Hook fix.

* etc/NEWS: Related edit.
2014-02-25 00:41:47 -08:00
Glenn Morris
b2bf2a254f Mention read-regexp in doc of functions that use it
* lisp/dired.el (dired-read-regexp):
* lisp/faces.el (list-faces-display):
* lisp/misearch.el (multi-isearch-read-matching-buffers)
(multi-isearch-read-matching-files):
* lisp/play/cookie1.el (cookie-apropos):
* lisp/progmodes/grep.el (grep-read-regexp): Doc fixes.
2014-02-13 22:59:24 -08:00
Glenn Morris
34dc21db6e Replace "Maintainer: FSF" with the emacs-devel mailing address 2014-02-09 17:34:22 -08:00
Martin Rudalics
764ec9e5f0 Improve window dividers code.
* faces.el (window-divider): New default value.  Rewrite
doc-string.
(window-divider-first-pixel, window-divider-last-pixel): New
faces.
* dispextern.h (face_id): Add WINDOW_DIVIDER_FIRST_PIXEL_FACE_ID
and WINDOW_DIVIDER_LAST_PIXEL_FACE_ID.
* w32term.c (w32_draw_window_divider): Handle first and last
pixels specially.
* w32term.h (w32_fill_area_abs): New function.
* xdisp.c (x_draw_right_divider): Don't draw over bottom
divider.
* xfaces.c (realize_basic_faces): Handle new face ids.
* xfns.c (Fx_create_frame): Call x_default_parameter for right
and bottom divider width.
* xterm.c (x_draw_window_divider): Handle first and last pixels
specially.
2014-02-04 08:36:58 +01:00
Paul Eggert
ba3189039a Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
Chong Yidong
dca38cf960 Prevent themes from obliterating faces on low-color terminals.
* lisp/faces.el (face-spec-recalc): If the theme specs are not
applicable to a frame, fall back on the defface spec.
2013-12-22 21:40:44 +08:00
Chong Yidong
aac2b673c3 Don't make faces when loading Custom themes.
* custom.el (custom-theme-recalc-face): Do nothing if the face is
undefined.  Thus, theme settings for undefined faces do not take
effect until the faces are defined with defface, the same as with
theme variables.

* faces.el (face-spec-set): Use face-spec-recalc in all cases.
(face-spec-reset-face): Don't assign extra properties in temacs.
(face-spec-recalc): Apply X resources too.
2013-12-21 23:31:09 +08:00
Chong Yidong
bacb0e7791 Doc fixes for face functions.
* faces.el (face-spec-set):
* cus-face.el (custom-theme-set-faces, custom-set-faces):
* custom.el (defface): Doc fixes.

Fixes: debbugs:16203
2013-12-21 21:44:20 +08:00
Juanma Barranquero
e0eb0550dc * faces.el (read-face-name): Require crm.el when using crm-separator. 2013-12-21 00:06:17 +01:00
Chong Yidong
a9574eb730 * faces.el (read-color): Minor fix for completion function. 2013-12-20 14:11:00 +08:00
Dmitry Gutov
84c73ba099 Make blink-matching-paren perform blinking without moving the cursor
* lisp/faces.el (paren-showing-faces, show-paren-match)
(show-paren-mismatch): Move from paren.el.

* lisp/simple.el (blink-matching--overlay): New variable.
(blink-matching-open): Instead of moving point, highlight the
matching paren with an overlay
(http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00333.html).
2013-12-13 06:14:17 +02:00
Jan Djärv
5b97b4c0df * lisp/faces.el (describe-face): Add distant-foreground.
* src/xfaces.c (lface_fully_specified_p): Let distant-foreground be
unspecified.
(realize_default_face): Remove assignment to distant-foreground if
unspecified.

Fixes: debbugs:15815
2013-11-08 18:26:03 +01:00
Jan Djärv
3c334c1412 Add :distant-foreground to faces.
* doc/lispref/display.texi (Face Attributes): Document :distant-foreground.

* etc/NEWS: Mention :distant-foreground.

* lisp/faces.el (face-x-resources): Add :distant-foreground.
(region): Use :distant-foreground for gtk and ns.

* src/dispextern.h (lface_attribute_index): Add
LFACE_DISTANT_FOREGROUND_INDEX.

* src/xfaces.c: Declare color_distance.
(QCdistant_foreground): New variable.
(NEAR_SAME_COLOR_THRESHOLD): New define.
(load_color2): New function.
(load_color): Call load_color2.
(load_face_colors): Call load_color2 and if distant-color is specified
calculate distant and use distant-color if colors are near.
(LFACE_DISTANT_FOREGROUND): New define.
(merge_face_ref, Finternal_set_lisp_face_attribute)
(Finternal_get_lisp_face_attribute)
(x_supports_face_attributes_p): Handle distant-foreground similar to
foreground.
(syms_of_xfaces): DEFSYM QCdistant_foreground.
2013-11-01 16:47:10 +01:00
Eli Zaretskii
4ed774157d Support menus on text-mode terminals.
src/xterm.h (xw_popup_dialog): Add prototype.
 src/xmenu.c (Fx_popup_dialog): Function moved to menu.c.
 (xmenu_show): Block input here, instead in Fx_popup_menu.
 (xw_popup_dialog): New function, with X-specific bits of popup
 dialogs.
 src/xdisp.c (deep_copy_glyph_row, display_tty_menu_item): New
 functions.
 src/window.c (Fset_window_configuration): Use run-time tests of the
 frame type instead of compile-time conditionals, when menu-bar
 lines are considered.
 src/w32term.h (w32con_hide_cursor, w32con_show_cursor)
 (w32_popup_dialog): New prototypes.
 src/w32menu.c (Fx_popup_dialog): Function deleted.
 (w32_popup_dialog): New function, with w32 specific bits of popup
 dialogs.  Block input here.
 src/w32inevt.c (w32_console_read_socket): Minor change to add
 debugging TTY events.
 src/w32fns.c (show_hourglass): If returning early because the frame
 is not a GUI frame, unblock input.
 src/w32console.c (w32con_hide_cursor, w32con_show_cursor, cursorX)
 (cursorY): New functions.
 src/termhooks.h (cursorX, cursorY): Prototypes of functions on
 WINDOWSNT, macros that call curX and curY elsewhere.
 src/termchar.h (struct tty_display_info) <showing_menu>: New flag.
 src/term.c (tty_hide_cursor, tty_show_cursor) [WINDOWSNT]: Call w32
 specific function to hide and show cursor on a text-mode terminal.
 (tty_menu_struct, struct tty_menu_state): New structures.
 (tty_menu_create, tty_menu_make_room, tty_menu_search_pane)
 (tty_menu_calc_size, mouse_get_xy, tty_menu_display)
 (have_menus_p, tty_menu_add_pane, tty_menu_add_selection)
 (tty_menu_locate, save_and_enable_current_matrix)
 (restore_desired_matrix, screen_update, read_menu_input)
 (tty_menu_activate, tty_menu_destroy, tty_menu_help_callback)
 (tty_pop_down_menu, tty_menu_last_menubar_item)
 (tty_menu_new_item_coords, tty_menu_show): New functions.
 (syms_of_term): New DEFSYMs for tty-menu-* symbols.
 src/nsterm.h (ns_popup_dialog): Adjust prototype.
 src/nsmenu.m (ns_menu_show): Block and unblock input here, instead
 of in x-popup-menu.
 (ns_popup_dialog): Adapt order of arguments to the other
 *_menu_show implementations.
 (Fx_popup_dialog): Function deleted.
 src/msdos.c (x_set_menu_bar_lines): Delete unused function.
 src/menu.h (tty_menu_show, menu_item_width): provide prototypes.
 src/menu.c (have_boxes): New function.
 (single_keymap_panes): Use it instead of a compile-time
 conditional.
 (single_menu_item): Use run-time tests of the frame type instead
 of compile-time conditionals.
 (encode_menu_string): New function.
 (list_of_items, list_of_panes): Use it instead of ENCODE_STRING
 the macro, since different types of frame need different encoding
 of menu items.
 (digest_single_submenu): Use run-time tests of frame type instead
 of, or in addition to, compile-time conditionals.
 (menu_item_width, Fmenu_bar_menu_at_x_y): New functions.
 (Fx_popup_menu): Detect when the function is called from keyboard
 on a TTY.  Don't barf when invoked on a text-mode frame.  Check
 frame type at run time, instead of compile-time conditionals for
 invoking terminal-specific menu-show functions.  Call
 tty_menu_show on text-mode frames.
 (Fx_popup_dialog): Moved here from xmenu.c.  Test frame types at
 run time to determine which alternative to invoke; support dialogs
 on TTYs.
 src/keyboard.h <Qmouse_movement>: Declare.
 src/keyboard.c <Qmouse_movement>: Now extern.
 <Qecho_keystrokes>: New static variable.
 (read_key_sequence): Accept an additional argument, a flag to
 prevent redisplay during reading of the key sequence.  All callers
 changed.
 (read_menu_command): New function.
 (read_char): When COMMANDFLAG is -2, do not redisplay and do not
 autosave.
 (toolkit_menubar_in_use): New function.
 (make_lispy_event): Use it instead of a compile-time test.
 src/fns.c (Fyes_or_no_p) [HAVE_MENUS]: Don't condition on
 window-system being available.
 src/editfns.c (Fmessage_box) [HAVE_MENUS]: Don't condition the call
 to x-popup-dialog on the frame type, they all now support popup
 dialogs.
 src/dispnew.c (save_current_matrix): Save the margin areas.
 (restore_current_matrix): Restore margin areas.
 (update_frame_with_menu): New function.
 src/dispextern.h (display_tty_menu_item, update_frame_with_menu):
 Add prototypes.
 src/alloc.c (make_save_ptr): Now compiled unconditionally.
 
 lisp/tmm.el (tmm-menubar): Adapt doc string to TTY menus
 functionality.
 lisp/tooltip.el (tooltip-mode): Don't error out on TTYs.
 lisp/menu-bar.el (popup-menu, popup-menu-normalize-position): Moved
 here from mouse.el.
 (popup-menu): Support menu-bar navigation on TTYs using C-f/C-b
 and arrow keys.
 (tty-menu-navigation-map): New map for TTY menu navigation.
 lisp/loadup.el ("tooltip"): Load even if x-show-tip is not available.
 lisp/frame.el (display-mouse-p): Report text-mode mouse as available
 on w32.
 (display-popup-menus-p): Report availability if mouse is
 available; don't condition on window-system.
 lisp/faces.el (tty-menu-enabled-face, tty-menu-disabled-face)
 (tty-menu-selected-face): New faces.

 configure.ac (HAVE_MENUS): Define unconditionally.

 doc/emacs/screen.texi (Menu Bar): Adapt to TTY menus.
 doc/emacs/frames.texi (Frames): Mention menu support on text terminals.
 doc/emacs/files.texi (Visiting): Mention the "File" menu-bar menu.
 doc/emacs/display.texi (Standard Faces): Mention TTY faces for menus.
 
 doc/lispref/keymaps.texi (Defining Menus, Mouse Menus, Menu Bar): Modify
 wording to the effect that menus are supported on TTYs.
 doc/lisprefframes.texi (Pop-Up Menus, Dialog Boxes)
 (Display Feature Testing): Update for menu support on TTYs.

  etc/NEWS: Mention the new features.
2013-10-08 20:49:20 +03:00
Eli Zaretskii
0fe3602a28 Define tty-menu-* faces via defface. 2013-09-28 14:04:49 +03:00
Jan Djärv
1610938f74 Pick up default selection color on OSX when user defaults are not set.
* lisp/faces.el (region): Change ns_selection_color to
ns_selection_fg_color, add ns_selection_bg_color.

* src/nsterm.h (NS_SELECTION_BG_COLOR_DEFAULT): Renamed from
NS_SELECTION_COLOR_DEFAULT.
(NS_SELECTION_FG_COLOR_DEFAULT): New.

* src/nsterm.m (ns_selection_color): Remove.
(ns_get_color): Check for ns_selection_(fg|bg)_color using
NSColor selectedText(Background)Color.  Only for COCOA.
(ns_term_init): Remove assignment of ns_selection_color, logic
moved to ns_get_color.
2013-09-28 12:01:50 +02:00
Eli Zaretskii
b87c4ff281 Merge from trunk. 2013-09-26 10:37:16 +03:00
Glenn Morris
76e6957735 * faces.el (x-display-list, x-open-connection, x-get-resource): Declare. 2013-09-17 20:53:10 -07:00
Eli Zaretskii
5877bb8d7e Removed unnecessary tests for GUI sessions and created menu faces. 2013-09-05 15:43:11 +03:00
Stefan Monnier
7fd72e2c01 * lisp/faces.el (tty-setup-hook): Declare the hook. 2013-07-08 18:26:37 -04:00