aboutsummaryrefslogtreecommitdiffstats
path: root/etc/TODO (follow)
Commit message (Collapse)AuthorAgeFilesLines
* ; * etc/TODO: Fix formatting. (Bug#41497)Eli Zaretskii2020-05-301-641/+719
|
* ; * etc/TODO (Ligatures): Update the entry based on recent discussions.Eli Zaretskii2020-05-231-1/+1
|
* ; * etc/TODO (Ligatures): Update the entry based on recent discussions.Eli Zaretskii2020-05-231-8/+25
|
* ; Update TODO item about ligature supportEli Zaretskii2020-05-191-0/+31
| | | | | * etc/TODO: Add the todo item for moving cursor "inside" a ligature.
* ; * etc/TODO: Fix last change.Eli Zaretskii2020-02-291-6/+7
|
* ; Add an entry to TODOEli Zaretskii2020-02-291-0/+70
| | | | | * etc/TODO: Expand the ligature support entry. Add a new entry about better support of Emoji.
* ;* etc/TODO: Update.Alan Third2020-01-121-31/+12
|
* Update copyright year to 2020Paul Eggert2020-01-011-1/+1
| | | | Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
* Merge branch 'feature/tabs'Juri Linkov2019-10-011-14/+0
|\
| * Frame-local tab-bar and window-local tab-line.Juri Linkov2019-08-311-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * etc/NEWS: Add 'tab-bar-mode' and 'global-tab-line-mode'. * etc/TODO: Remove tab-related items. * lisp/cus-start.el: Add tab-bar-mode, tab-bar-max-label-size. * lisp/frame.el (frame-notice-user-settings): handle tab-bar-lines. * lisp/loadup.el: Load "tab-bar". * lisp/menu-bar.el (menu-bar-options-save): Add tab-bar-mode. (menu-bar-showhide-menu): Define showhide-tab-bar. * lisp/startup.el (tab-bar-images-pixel-height): New defconst. (command-line): Reset tab-bar-mode. (x-apply-session-resources): Add "tabBar", "TabBar". * lisp/subr.el (read-key): Add tab-bar. * lisp/tab-bar.el: New file. * lisp/tab-line.el: New file. * lisp/window.el (window--dump-frame): Add tab-bar-height. * src/dispextern.h (enum window_part): Add ON_TAB_LINE. (struct glyph_matrix): Add tab_line_p. (struct glyph_row): Add tab_line_p. (MATRIX_TAB_LINE_ROW): New macro. (MATRIX_FIRST_TEXT_ROW): Handle more mode lines. (MR_PARTIALLY_VISIBLE_AT_TOP): Add WINDOW_TAB_LINE_HEIGHT. (MATRIX_TAB_LINE_HEIGHT, CURRENT_TAB_LINE_HEIGHT) (DESIRED_TAB_LINE_HEIGHT): New macros. (enum face_id): Add TAB_BAR_FACE_ID and TAB_LINE_FACE_ID. (struct it): Add tab_line_p. (tab_bar_item_idx, tab_bar_item_image): New enums. (DEFAULT_TAB_BAR_LABEL_SIZE, DEFAULT_TAB_BAR_BUTTON_MARGIN) (DEFAULT_TAB_BAR_BUTTON_RELIEF, DEFAULT_TAB_BAR_IMAGE_HEIGHT): New constants. * src/dispnew.c (adjust_glyph_matrix): Use window_wants_tab_line. (shift_glyph_matrix): Add WINDOW_TAB_LINE_HEIGHT. (clear_current_matrices, clear_desired_matrices): Call clear_glyph_matrix on tab_bar_window. (blank_row): Add WINDOW_TAB_LINE_HEIGHT. (required_matrix_height): Change 2 to 3. (fake_current_matrices): Reset tab_line_p. (adjust_frame_glyphs_for_window_redisplay): Handle tab_bar_window. Add FRAME_TAB_BAR_HEIGHT and FRAME_TAB_BAR_LINES. (free_glyphs): Handle tab_bar_window. (update_frame): Handle tab_bar_window. (update_window): Handle row->tab_line_p. (scrolling_window): Change arg type from bool to int. Change header_line_p to tab_line_p. (buffer_posn_from_coords): Add window_wants_tab_line. (mode_line_string): Use MATRIX_TAB_LINE_ROW for part ON_TAB_LINE. * src/frame.c (frame_default_tab_bar_height): New internal variable. (adjust_frame_size): Handle tab_bar_window. (make_frame): Reset tab_bar_redisplayed, tab_bar_resized and last_tab_bar_item. (Ftab_bar_pixel_width): New function. (frame_parms): Add tab-bar-lines. (gui_figure_window_size): Add new arg tabbar_p. (syms_of_frame): Add Qtab_bar_size, Qupdate_frame_tab_bar, Qfree_frame_tab_bar, Qtab_bar_lines, Stab_bar_pixel_width. Add Qtab_bar_lines to frame_inhibit_implied_resize. (tab-bar-mode): New variable. * src/frame.h (GCALIGNED_STRUCT): Add tab_bar_window, desired_tab_bar_string, current_tab_bar_string. (GCALIGNED_STRUCT): Add tab_bar_items, last_tab_bar_item, minimize_tab_bar_window_p, tab_bar_redisplayed, tab_bar_resized, tab_bar_lines, tab_bar_height, n_tab_bar_rows, n_tab_bar_items. (fset_tab_bar_items, fset_tab_bar_window) (fset_current_tab_bar_string, fset_desired_tab_bar_string): New inlines. (FRAME_TAB_BAR_LINES, FRAME_TAB_BAR_HEIGHT): New macros. (FRAME_TOP_MARGIN, FRAME_TOP_MARGIN_HEIGHT): Use FRAME_TAB_BAR_LINES. * src/fringe.c (draw_fringe_bitmap_1, update_window_fringes): Add WINDOW_TAB_LINE_HEIGHT. * src/gtkutil.c (xg_frame_set_char_size): Add FRAME_TABBAR_WIDTH. (x_wm_set_size_hint): Add FRAME_TABBAR_WIDTH. * src/keyboard.c (read_char): Handle Qtab_bar. (kbd_buffer_get_event): Handle TAB_BAR_EVENT. (make_lispy_position): Add WINDOW_TAB_LINE_HEIGHT. Handle TAB_BAR_EVENT. (tab_bar_items_vector, tab_bar_item_properties, ntab_bar_items): New internal variables. (tab_bar_items, process_tab_bar_item, set_prop_tab_bar) (parse_tab_bar_item, init_tab_bar_items, append_tab_bar_item): New functions. (read_char_x_menu_prompt, read_key_sequence): Handle Qtab_bar. (tab-bar-separator-image-expression): New variable. * src/keymap.c (syms_of_keymap): Add Qtab_bar and Qtab_line. * src/menu.c (x_popup_menu_1, Fx_popup_dialog): Handle Qtab_bar. * src/termhooks.h (enum event_kind): Add TAB_BAR_EVENT. (GCALIGNED_STRUCT): Add change_tab_bar_height_hook. * src/w32fns.c (w32_frame_parm_handlers): Add w32_set_tab_bar_lines. * src/w32term.c (w32_draw_window_cursor): Add WINDOW_TAB_LINE_HEIGHT. * src/window.c (window_body_height): Add WINDOW_TAB_LINE_HEIGHT. (Fwindow_tab_line_height): New function. (coordinates_in_window): Use window_wants_tab_line with CURRENT_TAB_LINE_HEIGHT. (window_relative_x_coord): Add ON_TAB_LINE. (Fcoordinates_in_window_p): Add ON_TAB_LINE. (window_from_coordinates): Add new arg tab_bar_p. (Fwindow_line_height): Use window_wants_tab_line with WINDOW_TAB_LINE_HEIGHT. (Fwindow_lines_pixel_dimensions): Add WINDOW_TAB_LINE_HEIGHT. (make_window): Set tab_line_height to -1. (window_wants_tab_line): New function. (window_internal_height): Use window_wants_tab_line. (window_scroll_pixel_based): Add WINDOW_TAB_LINE_HEIGHT. (Frecenter): Set minimize_tab_bar_window_p to 1. (GCALIGNED_STRUCT): Add frame_tab_bar_lines and frame_tab_bar_height. (Fcurrent_window_configuration): Set frame_tab_bar_lines and frame_tab_bar_height. (set_window_scroll_bars): Add WINDOW_TAB_LINE_HEIGHT. (syms_of_window): Add Qtab_line_format and Swindow_tab_line_height. * src/window.h (GCALIGNED_STRUCT): Add tab_line_height. (WINDOW_TAB_BAR_P, WINDOW_TAB_LINE_HEIGHT, WINDOW_TAB_LINE_LINES): New macros. (WINDOW_TOP_EDGE_Y, WINDOW_BOTTOM_EDGE_Y, WINDOW_TAB_LINE_HEIGHT): Add WINDOW_TAB_BAR_P. * src/xdisp.c (window_box_height): Add window_wants_tab_line with MATRIX_TAB_LINE_ROW and CURRENT_TAB_LINE_HEIGHT. (pos_visible_p): Use window_wants_tab_line. Add WINDOW_TAB_LINE_HEIGHT. (get_glyph_string_clip_rects): Add WINDOW_TAB_LINE_HEIGHT. (get_phys_cursor_geometry): Add WINDOW_TAB_LINE_HEIGHT. (remember_mouse_glyph): Use MATRIX_TAB_LINE_ROW for part ON_TAB_LINE. (init_iterator): Use MATRIX_TAB_LINE_ROW for TAB_LINE_FACE_ID. Add WINDOW_TAB_LINE_HEIGHT. Add window_wants_tab_line. (Fwindow_text_pixel_size): Add WINDOW_TAB_LINE_HEIGHT. (prepare_menu_bars): Call update_tab_bar. (update_tab_bar, build_desired_tab_bar_string) (display_tab_bar_line, tab_bar_height, Ftab_bar_height) (redisplay_tab_bar, tab_bar_item_info, get_tab_bar_item) (handle_tab_bar_click, note_tab_bar_highlight): New functions. (compute_window_start_on_continuation_line): Use window_wants_tab_line. (try_cursor_movement): Use window_wants_tab_line with CURRENT_TAB_LINE_HEIGHT. (redisplay_window): Use window_wants_tab_line with CURRENT_TAB_LINE_HEIGHT. (try_window_reusing_current_matrix): Use window_wants_tab_line with WINDOW_TAB_LINE_HEIGHT. (Fdump_tab_bar_row): New function. (compute_line_metrics): Add WINDOW_TAB_LINE_HEIGHT. (display_line): Use window_wants_tab_line. (display_mode_line): Set tab_line_p to true if face_id is TAB_LINE_FACE_ID. (Fformat_mode_line): Handle Qtab_line and Qtab_bar. (gui_clear_end_of_line): Add WINDOW_TAB_LINE_HEIGHT. (erase_phys_cursor): Use WINDOW_TAB_LINE_HEIGHT. (show_mouse_face): Use tab_bar_window. (note_mode_line_or_margin_highlight): Use MATRIX_TAB_LINE_ROW for area ON_TAB_LINE. (note_mouse_highlight): Call note_tab_bar_highlight, (expose_frame): Handle tab_bar_window. (syms_of_xdisp): Add Sdump_tab_bar_row and Stab_bar_height. (auto-resize-tab-bars, auto-raise-tab-bar-buttons) (tab-bar-border, tab-bar-button-margin, tab-bar-button-relief) (tab-bar-max-label-size): New variables. * src/xfaces.c (lookup_basic_face): Add TAB_LINE_FACE_ID and TAB_BAR_FACE_ID. (syms_of_xfaces): Define Qtab_bar and Qtab_line. * src/xfns.c (x_set_tab_bar_lines, x_change_tab_bar_height): New functions. (xic_set_statusarea): Add FRAME_TABBAR_TOP_HEIGHT. (frame_geometry): Add FRAME_TAB_BAR_HEIGHT and Qtab_bar_size. * src/xterm.c (x_draw_image_relief): Use tab_bar_button_relief. (x_draw_image_relief): Use TAB_BAR_FACE_ID. (handle_one_xevent): Handle tab_bar_window. (x_set_window_size_1): Add FRAME_TABBAR_WIDTH. (x_create_terminal): Set change_tab_bar_height_hook. * src/xterm.h (struct x_output): Add tabbar_top_height, tabbar_bottom_height, tabbar_left_width, tabbar_right_width tabbar_widget, tabbar_in_hbox, tabbar_is_packed. (FRAME_TABBAR_TOP_HEIGHT): Add FRAME_TABBAR_TOP_HEIGHT, FRAME_TABBAR_BOTTOM_HEIGHT, FRAME_TABBAR_HEIGHT, FRAME_TABBAR_LEFT_WIDTH, FRAME_TABBAR_RIGHT_WIDTH, FRAME_TABBAR_WIDTH.
* | Update some URLsPaul Eggert2019-09-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This mostly changes http: to https: in URLs. It also updates some URLs that have moved, removes some URLs that no longer work, recommends against using procmail (procmail.org no longer works), and removes some mentions of the no-longer-existing Gmane, LPF and VTW. It doesn't update all URLs, just the ones I had time for. * GNUmakefile (help): * admin/admin.el (manual-doctype-string): * admin/charsets/Makefile.in (${charsetdir}/ALTERNATIVNYJ.map): * admin/charsets/mapconv: * lisp/net/soap-client.el (soap-create-envelope): * lisp/org/org.el (org-doi-server-url): * lisp/textmodes/bibtex.el (bibtex-generate-url-list): Prefer https: to http: un URLs.
* | ; * etc/TODO: Update.Eli Zaretskii2019-09-211-4/+56
|/
* Improve pdumper doc; say unexec is deprecatedPaul Eggert2019-07-231-5/+1
| | | | | | | | | | | Say that pdumping cannot redump unless -batch is used. Say that the traditional unexec dumping method is by default not available, and is deprecated. Don't call dump files "portable", as dump files are not any more portable than the Emacs executables themselves. Just call them "dump files". Similar, prefer "portable dumper" (since the dumper code is portable) to "portable dumping" (since the dump file is not). Be more systematic about calling them "dump files" instead of "dumped images" or whatnot.
* Remove gnus-bug from report-emacs-bug TODO entryBasil L. Contovounesios2019-06-271-1/+0
| | | | | | | | | For discussion, see the following thread: https://lists.gnu.org/archive/html/emacs-devel/2019-04/msg01196.html https://lists.gnu.org/archive/html/emacs-devel/2019-06/msg00967.html * etc/TODO: Remove gnus-bug from list of obsolete bug-reporting commands now that it is implemented in terms of report-emacs-bug.
* Make toolbar show keyboard equivalents in its tooltipsStefan Kangas2019-06-221-2/+0
| | | | | | | * src/keyboard.c (parse_tool_bar_item): Add equivalent key binding to the tooltip string of toolbar buttons. * etc/NEWS: Announce it. * etc/TODO: Remove its entry. (Bug#36156)
* Move mantemp.el to obsolete/Stefan Kangas2019-06-221-3/+2
| | | | | | * lisp/progmodes/mantemp.el: Move to obsolete/. (bug#34789) * doc/emacs/ack.texi (Acknowledgments): Remove obsolete library mantemp.el.
* Fix TODO to convert defvar with leading '*' to defcustomStefan Kangas2019-06-091-3/+0
| | | | | | | | | | | | | | | | * etc/TODO: Remove done TODO to remove '*' from defvar. * doc/misc/gnus.texi: Remove leading '*' from defvar example. * lisp/kermit.el (kermit-esc-char): Convert to defcustom. * lisp/desktop.el (desktop-header): * lisp/obsolete/cc-compat.el (c-indent-level) (c-brace-imaginary-offset, c-brace-offset, c-argdecl-indent) (c-label-offset, c-continued-statement-offset) (c-continued-brace-offset): Remove leading '*' from docstring. * lisp/progmodes/dcl-mode.el: Remove leading '*' from docstring in comment. * test/manual/cedet/tests/test.el: Add comment asking if example of defvar with leading '*' should be removed. (Bug#35994) (The previous commit is also for the same bug.)
* Fix TODO to remove leading '*' from defcustomStefan Kangas2019-06-091-3/+0
| | | | | | | * etc/TODO: Remove done TODO to remove leading '*' from defcustom doc-strings. * lisp/ibuffer.el (ibuffer-inline-columns): Remove leading '*' from doc-string.
* Cleanup of TODO to prefer report-emacs-bugStefan Kangas2019-05-281-1/+0
| | | | | | | | | | * etc/TODO: Remove already completed removal of `report-calc-bug'. * lisp/calc/calc.el: Remove any mention of `report-calc-bug'. * lisp/epg-config.el: Redefine `epg-bug-report-address' as obsolete variable alias for `report-emacs-bug-address'. * lisp/expand.el: Remove any mention of `expand-submit-report'. * lisp/obsolete/fast-lock.el: Remove commented out code for `fast-lock-submit-bug-report'.
* * lisp/progmodes/flymake.el: Rename flymake-start-on-newline (bug#34294)Juri Linkov2019-05-051-9/+0
| | | | | | | | | * lisp/progmodes/flymake.el (flymake-start-on-newline): Rename from flymake-start-syntax-check-on-newline. (flymake-start-syntax-check-on-newline): Define obsolete alias. (flymake-no-changes-timeout): Add customization option nil. * doc/misc/flymake.texi (Using Flymake): Rename variable.
* Update copyright year to 2019Paul Eggert2019-01-011-1/+1
| | | | Run 'TZ=UTC0 admin/update-copyright $(git ls-files)'.
* Doc fixes re obsolete itemsGlenn Morris2018-03-131-1/+0
| | | | | | | | | | | * doc/emacs/maintaining.texi (VC Undo): * doc/misc/efaq-w32.texi (Font names): Replace obsolete aliases. * doc/misc/url.texi (Customization): Don't mention url-temporary-directory, it essentially does nothing. * lisp/hilit-chg.el (highlight-changes-global-changes-existing-buffers): Doc fix. ; * lisp/w32-fns.el: Comment. ; * etc/TODO: Remove obsolete ffap mention.
* Update copyright year to 2018Paul Eggert2018-01-011-1/+1
| | | | Run admin/update-copyright.
* maint: shorten https://lists.gnu.org/archive/html/... linksPaul Eggert2017-11-251-25/+25
|
* Prefer HTTPS to HTTP for gnu.orgPaul Eggert2017-10-011-23/+23
| | | | | | | | | This fixes some URLs I omitted from my previous pass, notably those in lists.gnu.org. Although lists.gnu.org does not yet support TLS 1.1, TLS 1.0 is better than nothing. * lisp/erc/erc.el (erc-official-location): * lisp/mail/emacsbug.el (report-emacs-bug): Use https:, not http:.
* Prefer HTTPS to FTP and HTTP in documentationPaul Eggert2017-09-131-7/+7
| | | | | | | | | | | | | Most of this change is to boilerplate commentary such as license URLs. This change was prompted by ftp://ftp.gnu.org's going-away party, planned for November. Change these FTP URLs to https://ftp.gnu.org instead. Make similar changes for URLs to other organizations moving away from FTP. Also, change HTTP to HTTPS for URLs to gnu.org and fsf.org when this works, as this will further help defend against man-in-the-middle attacks (for this part I omitted the MS-DOS and MS-Windows sources and the test tarballs to keep the workload down). HTTPS is not fully working to lists.gnu.org so I left those URLs alone for now.
* Fix obsolete ‘test/automated’ referencesPaul Eggert2017-03-271-1/+1
| | | | | | | | | | | | | | * Makefile.in (mostlyclean, clean, maybeclean_dirs, distclean) (bootstrap-clean, maintainer-clean): Clean ‘test’, not ‘test/automated’. Test for existence of subdirectory only for ‘test’, not for directories that should always exist. * admin/MAINTAINERS, etc/TODO, lisp/emacs-lisp/bytecomp.el: * lisp/emacs-lisp/seq.el, lisp/emacs-lisp/thunk.el: * lisp/man.el (Man-parse-man-k): * lisp/url/url-domsuf.el, make-dist: * test/file-organization.org: Fix obsolete references to test/automated.
* ; Add a new TODO itemGlenn Morris2017-02-201-0/+11
| | | | | * etc/TODO: Add a new entry for :set-after. * lisp/startup.el: Related comment.
* ; etc/TODO: Remove 'switch' item, as it is now implemented.Vibhav Pant2017-02-131-14/+0
|
* Update copyright year to 2017Paul Eggert2016-12-311-1/+1
| | | | Run admin/update-copyright.
* Modernize usage of 'macOS' in doc and commentsPaul Eggert2016-11-061-11/+12
| | | | | | | | Apple changed the spelling of its operating system again, to "macOS", effective with macOS 10.12 Sierra (2016-09-20). Change Emacs documentation and comments to match this. Stick with older OS spellings ("OS X", "Mac OS X") when talking about older releases where the older names are more correct.
* ; Spelling fixesPaul Eggert2016-11-041-1/+1
|
* etc/TODO: Remove out-of-place issueStefan Monnier2016-05-291-4/+0
|
* * etc/TODO: Minor quoting and grammar fixes.Paul Eggert2016-02-281-17/+18
|
* * nextstep/WISHLIST: Merge into etc/TODO and remove.Glenn Morris2016-02-271-6/+237
| | | | | * etc/TODO: Merge in items from nextstep/WISHLIST. * nextstep/README: Update for this change.
* Update copyright year to 2016Paul Eggert2016-01-011-1/+1
| | | | Run admin/update-copyright.
* Backport: Mention CONTRIBUTE in READMEXue Fuqiao2015-11-181-3/+6
| | | | | | | | Mention CONTRIBUTE in README, since it was moved from etc/ to root. * etc/TODO: Remove the reference to `etc/CONTRIBUTE'. * README: Mention CONTRIBUTE. (cherry picked from commit ed2e7e20ae0945288c98091f308f5460c3453873)
* Add RefTeX feature idea: editing RefTeX TOC buffersTassilo Horn2015-10-301-0/+9
|
* Prefer straight quoting in some etc text filesPaul Eggert2015-08-261-31/+31
| | | | | These files are plain text and might be used by non-Emacs apps. They’re mostly ASCII, so just use straight quotes.
* * etc/TODO: Remove obsolete entries.Stefan Monnier2015-03-251-38/+0
|
* # etc/TODO: More elpa additionsGlenn Morris2015-02-201-0/+10
|
* # etc/TODO: Add idlwaveGlenn Morris2015-02-201-0/+5
|
* Update copyright year to 2015Paul Eggert2015-01-011-1/+1
| | | | Run admin/update-copyright.
* Provide custom-prompt-customize-unsaved-options.Cameron Desautels2014-12-141-6/+0
| | | | | | | | | | | | | * doc/emacs/custom.texi (Saving Customizations): Mention `custom-prompt-customize-unsaved-options'. * etc/NEWS: Mention `custom-prompt-customize-unsaved-options'. * etc/TODO: Remove its entry. * lisp/cus-edit.el (custom-prompt-customize-unsaved-options): Add a mechanism for prompting user about unsaved customizations. (Bug#19328)
* * TODO: Remove char/unsigned char, long long, IRIX unexelf.c.Paul Eggert2014-09-291-9/+0
| | | | The first two are done, and IRIX support has been dropped.
* * etc/TODO: Add a few entries, remove others, expand someStefan Monnier2014-09-261-22/+107
|
* NEWS and TODO changes.Martin Rudalics2014-09-031-1/+2
|
* * src/frame.c (Fframe_parameters): Always report frame height withoutDmitry Antipov2014-07-211-5/+0
| | | | | menu and tool bar lines. * etc/TODO: remove frame height remark.
* Merge from emacs-24; up to 2014-06-23T06:25:47Z!rgm@gnu.orgGlenn Morris2014-07-161-3/+4
|\
| * etc/TODO: Minor updates.Eli Zaretskii2014-07-151-3/+4
| |