]> git.wh0rd.org - nano-editor.git/blame_incremental - news.php
add support for dark mode preferences
[nano-editor.git] / news.php
... / ...
CommitLineData
1<?php include "top.php"; ?>
2
3<title>GNU nano: News</title>
4
5<table BORDER=0 CELLSPACING=0 WIDTH="100%" HEIGHT="70%">
6<tr VALIGN=TOP>
7<td>
8<table BORDER=0 CELLSPACING=0 WIDTH="100%">
9<tr>
10<td>
11<br><br>
12<center><b><big>News</big></b></center>
13</td>
14</tr>
15
16<tr align="center">
17<td>
18<br><br>
19
202019 December 23 - <b>GNU nano 4.7</b> "Havikskruid"
21<br>
22<table><tr><td><ul>
23<li>A &lt;Tab&gt; will indent a marked region only when mark and cursor are<br>
24 on different lines.</li>
25<li>Two indentations (any mix of tabs and spaces) are considered the<br>
26 same when they look the same (that is: indent to the same level).</li>
27<li>When using <tt>--breaklonglines</tt> or <tt>^J</tt>, a line will never be broken in<br>
28 its leading whitespace or quoting.</li>
29<li>The keywords in nanorc files must be in lowercase.</li>
30</ul></td></tr></table>
31<br><br>
32
332019 November 29 - <b>GNU nano 4.6</b> "And don't you eat that yellow snow"
34<br>
35<table><tr><td><ul>
36<li>The 'formatter' command has returned, bound by default to <tt>M-F</tt>.<br>
37 It allows running a syntax-specific command on the contents of<br>
38 the buffer.</li>
39<li><tt>^T</tt> will try to run 'hunspell' before 'spell', because it checks<br>
40 spellling for the locale's language and understands UTF-8.</li>
41<li>Multiple errors or warnings on startup will no longer slow nano<br>
42 down but will be indicated on the status bar with trailing dots.</li>
43</ul></td></tr></table>
44<br><br>
45
462019 October 4 - <b>GNU nano 4.5</b> "Ko&scaron;ice"
47<br>
48<table><tr><td><ul>
49<li>The new 'tabgives' command allows you to specify per syntax what<br>
50 the &lt;Tab&gt; key should produce: some spaces, a hard TAB, ...</li>
51<li>The output of <tt>--help</tt> is properly aligned again for all languages.</li>
52<li>&lt;Tab&gt; will indent a marked region also when <tt>M-}</tt> has been rebound.</li>
53</ul></td></tr></table>
54<br><br>
55
562019 August 25 - <b>GNU nano 4.4</b> "Hagelslag"
57<br>
58<table><tr><td><ul>
59<li>At startup, the cursor can be put on the first or last occurrence<br>
60 of a string by preceding the filename with <tt>+/string</tt> or <tt>+?string</tt>.</li>
61<li>When automatic hard-wrapping occurs (<tt>--breaklonglines</tt>), any leading<br>
62 quoting characters will be automatically copied to the new line.</li>
63<li><tt>M-6</tt> works again also when the cursor is at end of buffer.</li>
64</ul></td></tr></table>
65<br><br>
66
672019 June 18 - <b>GNU nano 4.3</b> "Musa Kart"
68<br>
69<table><tr><td><ul>
70<li>The ability to read from and write to a FIFO has been regained.</li>
71<li>Startup time is reduced by fully parsing a syntax only when needed.</li>
72<li>Asking for help (<tt>^G</tt>) when using <tt>--operatingdir</tt> does not crash.</li>
73<li>The reading of a huge or slow file can be stopped with <tt>^C</tt>.</li>
74<li>Cut, zap, and copy operations are undone separately when intermixed.</li>
75<li><tt>M-D</tt> reports the correct number of lines (zero for an empty buffer).</li>
76</ul></td></tr></table>
77<br><br>
78
792019 April 24 - <b>GNU nano 4.2</b> "Tax the rich, pay the teachers"
80<br>
81<table><tr><td><ul>
82<li>The integrated spell checker does not crash when 'spell' is missing.</li>
83<li>Option <tt>--breaklonglines</tt> works also when <tt>--ignorercfiles</tt> is used.</li>
84<li>Automatic hard-wrapping is more persistent in pushing words to the<br>
85 same overflow line.</li>
86</ul></td></tr></table>
87<br><br>
88
892019 April 15 - <b>GNU nano 4.1</b> "Qu&eacute; corchos ser&aacute; eso?"
90<br>
91<table><tr><td><ul>
92<li>By default, a newline character is again automatically added at the<br>
93 end of a buffer, to produce valid POSIX text files by default, but<br>
94 also to get back the easy adding of text at the bottom.</li>
95<li>The now unneeded option <tt>--finalnewline</tt> (<tt>-f</tt>) has been removed.</li>
96<li>Syntax files are read in alphabetical order when globbing, so that<br>
97 the precedence of syntaxes becomes predictable.</li>
98<li>In the C syntax, preprocessor directives are highlighted differently.</li>
99<li><tt>M-S</tt> now toggles soft wrapping, and <tt>M-N</tt> toggles line numbers.</li>
100<li>The jumpy-scrolling toggle has been removed.</li>
101<li>The legacy keystrokes <tt>^W^Y</tt> and <tt>^W^V</tt> are recognized again.</li>
102<li>Executing an external command is disallowed when in view mode.</li>
103<li>Problems with resizing during external or speller commands were fixed.</li>
104</ul></td></tr></table>
105<br><br>
106
1072019 March 24 - <b>GNU nano 4.0</b> "Thy Rope of Sands"
108<br>
109<table><tr><td><ul>
110<li>An overlong line is no longer automatically hard-wrapped.</li>
111<li>Smooth scrolling (one line at a time) has become the default.</li>
112<li>A newline character is no longer automatically added at end of buffer.</li>
113<li>The line below the title bar is by default part of the editing space.</li>
114<li>Option <tt>--breaklonglines</tt> (<tt>-b</tt>) turns automatic hard-wrapping back on.</li>
115<li>Option <tt>--jumpyscrolling</tt> (<tt>-j</tt>) gives the chunky, half-screen scrolling.</li>
116<li>Option <tt>--finalnewline</tt> (<tt>-f</tt>) brings back the automatic newline at EOF.</li>
117<li>Option <tt>--emptyline</tt> (<tt>-e</tt>) leaves the line below the title bar unused.</li>
118<li>&lt;Alt+Up&gt; and &lt;Alt+Down&gt; now do a linewise scroll instead of a findnext.</li>
119<li>Any number of justifications can be undone (like all other operations).</li>
120<li>When marked text is justified, it becomes a single, separate paragraph.</li>
121<li>Option <tt>--guidestripe=&lt;number&gt;</tt> draws a vertical bar at the given column.</li>
122<li>Option <tt>--fill=&lt;number&gt;</tt> no longer turns on automatic hard-wrapping.</li>
123<li>When a line continues offscreen, it now ends with a highlighted "&gt;".</li>
124<li>The halves of a split two-column character are shown as "[" and "]".</li>
125<li>A line now scrolls horizontally one column earlier.</li>
126<li>The bindable functions 'cutwordleft' and 'cutwordright' were renamed<br>
127 to 'chopwordleft' and 'chopwordright' as they don't use the cutbuffer.</li>
128<li>The paragraph-jumping functions were moved from Search to Go-to-Line.</li>
129<li>Option <tt>--rebinddelete</tt> is able to compensate for more misbindings.</li>
130<li>Options <tt>--morespace</tt> and <tt>--smooth</tt> are obsolete and thus ignored.</li>
131<li>The <tt>--disable-wrapping-as-root</tt> configure option was removed.</li>
132</ul></td></tr></table>
133<br>
134
135<pre>
136
1372018 November 11
138
139GNU nano 3.2 "Het kromme hout" changes the default binding
140for the linter to M-B so that the spell checker (^T) can
141always be used, and changes (when linting) the text in the
142title bar and the color of the status bar to make linting
143mode more obvious. It also adds a bindable 'zap' function
144for deleting a line or marked region without changing the
145cutbuffer, adds --zap to bind the &lt;Del&gt; and &lt;Backspace&gt;
146keys to the zap function when something is marked, and
147hard-binds &lt;Alt+Del&gt; to 'zap'. Furthermore, it shows the
148cursor also in the help viewer (when --showcursor is used),
149renames the bindable functions 'prevhistory' to 'older' and
150'nexthistory' to 'newer' (update your nanorcs when needed),
151reads the nanorc files also in restricted mode to allow
152customization by the user (if this should not be allowed,
153use --ignorercfiles in addition to --restricted), allows
154in view mode to open also other files (if this should not
155be allowed, use --restricted in addition to --view), makes
156resizes respect a relative --fill again, no longer binds
157F13...F15 by default, properly re-highlights a misspelled
158word after invoking help in the internal spell checker,
159and does not skip Unicode characters in string binds.
160
161
162
1632018 September 18
164
165GNU nano 3.1 "Je faisais des bonds comme &ccedil;a!" fixes a
166misbinding of ^H on some terminals and some systems,
167does not leave stray stuff after the prompt upon exit
168when having suspended nano while using --constantshow,
169and does not allow to toggle to Replace in view mode.
170
171
172
1732018 September 9
174
175GNU nano 3.0 "Water Flowing Underground" speeds up the
176reading of a file by seventy percent, roughly doubles the
177speed of handling ASCII text, changes the way words at line
178boundaries are deleted, makes &lt;Ctrl+Delete&gt; wipe the next
179word and &lt;Ctrl+Shift+Delete&gt; the preceding word, binds M-Q
180to 'findprevious' by default (the Tabs-to-Spaces toggle is
181placed on M-O, and the More-Space toggle is fully removed),
182makes an external spell check undoable, shows the correct
183number of lines on the status bar when opening multiple
184files, removes the 'formatter' command, removes the
185'searchagain' bindable function (M-W is now bound to
186'findnext' by default), moves the No-Convert toggle to the
187Insert menu, removes the Backup and New-Buffer toggles from
188the main menu (they remain in the Write-Out and Insert
189menus, respectively), is more precise in what it accepts as
190a rebindable key name, ignores any presses of &lt;Esc&gt; before
191a valid command keystroke, recognizes some more escape
192sequences for modified editing-pad keys, does not hide
193rcfile error messages on a Linux console, renames the
194bindable functions 'copytext' to 'copy' and 'uncut' to
195'paste', and avoids a possible hang during a Full-Justify.
196
197
198
1992018 June 2
200
201GNU nano 2.9.8 "Espresso" brings the ability to filter the
202buffer (or the marked region) through an external command
203(^R^X and prefix the command with the pipe symbol, "|"), is
204better at detecting and maintaining paragraphs, is able to
205justify //-style comments, fixes a crash when the binding
206of a key to a string lacks a closing quote, gives feedback
207about the number of lines written also when prepending or
208appending, and fixes a couple of bugs with the linter.
209
210
211
2122018 May 15
213
214GNU nano 2.9.7 "Hvide Sande" adds the option '--afterends'
215for making Ctrl+Right (the nextword function) stop at word
216ends instead of beginnings, accepts multibyte letters for
217the Yes/No/All answers, does emergency saves of changed
218buffers in the unlikely event that nano crashes, adds the
219until-now missing bindable function 'linenumbers', and
220renames the toggles 'constupdate' to 'constantshow' and
221'cuttoend' to 'cutfromcursor', for consistency with the
222corresponding options -- adjust your nanorc files soon.
223
224
225
2262018 April 27
227
228GNU nano 2.9.6 "Gomance" fixes a crash in word completion,
229makes --enable-altrcname work again, improves the fluidity
230of scrolling when using the touchpad, tweaks the syntaxes
231for shell scripts and PO files, makes a replacing session
232go always forward by default, no longer inserts a newline
233after an external spell check of a selected region, always
234accepts the English Y and N (and A) at a yes-no prompt in
235any locale, and solves a few hypothetical bugs.
236
237
238
2392018 March 29
240
241GNU nano 2.9.5 "Ki&scaron;a pada" changes the way the Scroll-Up
242and Scroll-Down commands work (M-- and M-+): instead of
243keeping the cursor in the same screen position they now
244keep the cursor in the same text position (if possible).
245This version further adds a new color name, "normal",
246which gives the default foreground or background color,
247which is useful when you want to undo some overzealous
248painting by earlier syntax regexes. Bug fixes include:
249a segfault when trying to insert a file in restricted
250mode, the reading in of a new file being "undoable", a
251slight miswrapping of help texts when --linenumbers was
252used, and the shell syntax coloring the word "tar" in
253file names.
254
255
256
2572018 March 8
258
259GNU nano 2.9.4 "Isabel" allows binding a key to a string
260(any piece of text and/or commands), permits customizing
261the color of error messages with 'set errorcolor', colors
262those error messages by default in bright white on red,
263makes &lt;Enter&gt; at the bottom of the screen scroll just one
264row when --smooth is used, does not fail when redoing a
265file insertion, and cancels a Shift-selection when any
266cursor key is pressed without Shift even when the cursor
267cannot move. Further, it treats tabs fully the same as
268spaces when doing automatic hard-wrapping, allows syntax
269names to be unquoted, and removes two deprecated options
270and six deprecated bindable function names.
271
272
273
2742018 January 29
275
276GNU nano 2.9.3 "C&oacute;rdoba" fixes a segfault with trimblanks
277that could occur when a typed space caused the word after
278it to be pushed to the next line. It further makes macros
279work also when your keyboard still emits escape sequences,
280adds the options -M and --trimblanks for the command line,
281recognizes key combos with Shift on a few more terminals,
282no longer shows dots in certain prompt texts when visible
283whitespace is turned on, fixes two corner cases when doing
284replacements in a marked region, allows to open a named
285pipe again when using --noread, and accurately detects
286a needed color change when a line contains a start match
287but not a corresponding end match any more. Plus some
288other small fry.
289
290
291
2922018 January 2
293
294GNU nano 2.9.2 "Pussy Riot" correctly displays the Modified
295state when undoing/redoing (also when the file was saved
296somewhere midway), improves the undoing of an automatic
297linefeed at EOF, fixes a build issue on the BSDs, shows
298the cursor again when compiled with --withslang, renames
299the option 'justifytrim' to 'trimblanks' because it will
300now snip trailing whitespace also while you are typing
301(and hard-wrapping is enabled), continues pushing words
302to the next line much longer (when hard-wrapping), makes
303&lt;Tab&gt; and &lt;Shift+Tab&gt; indent and unindent a marked region,
304allows unindenting when not all lines are indented, lets a
305region marked with Shift persist when indenting/unindenting
306or commenting/uncommenting it, and in those cases excludes
307the last line of the region when it is not visibly marked
308(which makes for a more intuitive behavior).
309
310
311
3122017 November 27
313
314GNU nano 2.9.1 "Damyatta" fixes a bug where, when the mark
315is on, ^S would overwrite the file with just the marked
316region. This release further clears the "Modified" flag
317when all edits are undone, adds or updates some magic
318strings, and does not forget when the cursor was last
319at line 1, column 1.
320
321
322
3232017 November 18
324
325GNU nano 2.9.0 "Eta" introduces the ability to record and
326replay keystrokes (M-: to start and stop recording, M-;
327to play the macro back), makes ^Q and ^S do something
328useful by default (^Q starts a backward search, and ^S
329saves the current file), changes ^W to start always a
330forward search, shows the number of open buffers (when
331more than one) in the title bar, no longer asks to press
332Enter when there are errors in an rc file, retires the
333options '--quiet' and 'set quiet' and 'set backwards',
334makes indenting and unindenting undoable, will look in
335$XDG_CONFIG_HOME for a nanorc file and in $XDG_DATA_HOME
336for the history files, adds a history stack for executed
337commands (^R^X), does not overwrite the position-history
338file of another nano, and fixes a score of tiny bugs.
339
340
341
3422017 August 27
343
344GNU nano 2.8.7 "Fragrance" fixes a lockup when tabs are
345wider than the screen, makes indenting + unindenting
346more predictable by retaining relative indentations,
347allows pasting (^U) at a prompt, allows triple quotes
348in Python to not be followed by a character, does not
349scroll three pages on a roll of the mouse wheel, binds
350Alt+Up and Alt+Down to findprevious and findnext, and
351fixes some hard-to-describe issues with softwrapping
352and boundary-crossing tabs. Enjoy.
353
354
355
3562017 July 21
357
358GNU nano 2.8.6 "Kekul&eacute;" offers a new feature: the ability
359to do softwrapping between words -- at whitespace --
360instead of always at the edge of the screen. This can
361be activated with -a or --atblanks or 'set atblanks'
362together with the softwrap option. This release further
363fixes a handful of rare display glitches, fixes a build
364failure on AIX, harmonizes the quoting rules in the rc
365files, and renames the option 'cut' to 'cutfromcursor'
366(please update your nanorc files before 2020).
367
368
369
3702017 June 25
371
372GNU nano 2.8.5 "Farouche" avoids a crash when waking from
373a suspension that was induced from the outside, allows
374negative line and column numbers on the command line,
375avoids some flickering when resizing the screen while
376in the file browser, opens files in the order they were
377mentioned on the command line, and does not pretend to
378have woken from suspension when receiving a SIGCONT.
379
380
381
3822017 May 21
383
384GNU nano 2.8.4 "Our Version of Events" includes the nanorc
385man page again.
386
387
388
3892017 May 18
390
391GNU nano 2.8.3 "Hirsch" fixes a misplacement of the spotlight
392during interactive replacing, avoids build failures on AIX
393and Solaris, fixes a crash on Solaris, speeds up backwards
394searching, improves PHP syntax highlighting, and no longer
395asks "save anyway?" when the user ^Q discards the buffer.
396
397
398
3992017 May 4
400
401GNU nano 2.8.2 "Krats" adds another new feature: it makes
402the ^G help texts searchable with ^W. Apart from that,
403it fixes a crash when resizing the window in the middle
404of verbatim input, avoids an unlikely crash when used
405without UTF-8 support in some locales, avoids redrawing
406the screen twice when switching between buffers while
407line numbers are active, and works around a coloring
408bug on musl. Plus tweaks to the documentation; plus
409translation updates for fifteen languages.
410
411
412
4132017 April 12
414
415GNU nano 2.8.1 "Ellert" fixes build failures on MacOS and
416on musl, fixes scrolling problems in softwrap mode when
417double-width characters on row boundaries are involved,
418shows double-width characters as "&gt;" and "&lt;" when split
419across two rows, moves the cursor more predictably (at
420the cost of sometimes putting it on the second "half"
421of a character), avoids creating lines that consist of
422only blanks when using autoindent, makes ^Home and ^End
423go to the start and end of the file (on terminals that
424support those keystrokes), places the cursor better when
425linting, lets the linter ask only once whether to open
426an included file, and adds bindings for ^Up and ^Down
427in the file browser. Don't sit on your hands.
428
429
430
4312017 March 31
432
433GNU nano 2.8.0 "Axat" makes it easier to move around in
434softwrapped lines: the Up and Down keys now step from
435visual row to visual row instead of jumping between
436logical lines, and the Home and End keys now move to
437the start and end of a row, and only when already
438there, then to the start and end of the logical line.
439Furthermore, the screen can now scroll per row instead
440of always per logical line. On an entirely different
441front: nano now makes use of gnulib, to make it build
442on more platforms. In short: there were many internal
443changes, not many user-visible ones (apart form the
444new softwrap navigation). The conversion to gnulib
445was done by Mike Frysinger, the softwrap overhaul by
446David Ramsey.
447
448
449
4502017 February 23
451
452GNU nano 2.7.5 "Nijntje" can properly search and replace
453the \B and \b regex anchors, correctly repaints things
454when multiline regexes with identical start and end are
455involved, fixes a crash with zero-length regex matches,
456does replacements at the edges of a marked region right,
457no longer hides double-width characters at the head of
458softwrapped rows, displays at most three warnings at
459startup, and documents the ability to read a file from
460standard input. Come tickle my ears.
461
462
463
4642017 January 10
465
466GNU nano 2.7.4 "Red dress" undoes deletions in an orderly
467manner again (bug was introduced in previous version),
468sets the preferred x position for vertical movements
469more consistently, avoids some scrolling problems in
470softwrap mode, installs the Info manual also when your
471system lacks 'makeinfo', and corrects the behavior of
472the beginning-of-word anchor (\&lt;) in regex searches.
473
474
475
4762016 December 28
477
478GNU nano 2.7.3 "Ontbijtkoek" wipes away a handful of bugs:
479your editor is now able to handle filenames that contain
480newlines, avoids a brief flash of color when switching
481between buffers that are governed by different syntaxes,
482makes the Shift+Ctrl+Arrow keys select text again on a
483Linux console, is more resistant against malformations
484in the positionlog file, and does not crash when ^C is
485typed on systems where it produces the code KEY_CANCEL.
486Oh, and it no longer mistakenly warns about editing an
487unlocked file just after saving a new one. That's it.
488Tastes great with thick butter.
489
490
491
4922016 December 12
493
494GNU nano 2.7.2 "Shemesh! Shemesh!" brings another feature:
495the ability to complete with one keystroke (^] by default)
496a fragment of a word to a full word existing elsewhere in
497the current buffer. Besides, this release fixes two bugs
498related to using line numbers in softwrap mode, allows to
499use the PageUp and PageDown keys together with Shift on
500VTE-based terminals, stops the help lines from flickering
501during interactive replacing, makes a 'set fill' override
502an earlier 'set nowrap', properly restores the selected
503region after an external spell check, and improves a few
504other tidbits. If you should find any more bugs, please
505run 'man nano | grep bugs' and report them there.
506
507
508
5092016 October 29
510
511GNU nano 2.7.1 "Leuven" adds an often-asked-for feature: the
512ability to display line numbers beside the text. This can
513be activated with -l or --linenumbers on the command line,
514or with 'set linenumbers' in your nanorc, or toggled with
515M-#. The coloring of these numbers can be chosen via the
516option 'set numbercolor'. This release furthermore fixes
517some bugs with scrolling in softwrap mode, is more strict
518in the parsing of key rebindings, and marks a new buffer
519as modified when the output of a command (^R ^X) has been
520read into it. Come and check it out!
521
522
523
5242016 September 1
525
526GNU nano 2.7.0 "Suni" adds a new feature: allowing text to be
527selected by holding Shift together with the cursor keys.
528Besides that, nano now works also when run in very tiny
529terminals (down to one line, one column), and improves
530the handling of the prompt in cramped spaces. Not much,
531but it's time to get it out there.
532
533With this release we return to GNU. For just a little while
534we dreamt we were tigers. But we are back in the herd,
535back to a healthy diet of fresh green free grass.
536
537
538
5392016 August 10
540
541nano 2.6.3 "Marika" makes the Ctrl+Arrow keys work also on
542a Linux virtual console, takes as verbatim only the very
543first keystroke after M-V, removes any lock files that it
544holds when dying, doesn't abort when a word contains digits
545(when using the default speller), fixes a small sorting bug
546in the file browser, makes searching case-insensitively in
547a UTF-8 locale a little faster, and doesn't enter invalid
548bytes when holding down both Alt keys. Sant&eacute;!
549
550
551
5522016 July 28
553
554nano 2.6.2 "Le vent nous portera" adds two new features: the
555keystrokes Ctrl+Up and Ctrl+Down for jumping between blocks
556of text, and the option 'wordchars' for specifying which
557characters (beside alphanumeric ones) should be considered
558word-forming. Further, it provides feedback during Unicode
559input (M-V followed by a six-digit hexadecimal number which
560must start with 0 or 10), avoids a crash when resizing the
561window during Verbatim input, doesn't drop a keystroke after
562having been suspended, and replaces the beginning-of-line
563anchor (^) just once per line. There are also several tiny
564improvements in screen rendering and key handling.
565Come get your hair tousled!
566
567
568
5692016 June 27
570
571nano 2.6.1 "Stampede" is chiefly a translation update, but also
572adds one little feature (the ability to use negative numbers
573with Go To Line: -1 meaning the first line from the bottom),
574includes syntax highlighting for Rust, and fixes three tiny
575bugs (but in such far corners of the editor that they aren't
576even worth mentioning).
577
578
579
5802016 June 17
581
582nano 2.6.0 "Rubicon" fixes more than fifty little bugs -- and
583some of them not so little. It improves moving about in
584the file browser, corrects failings of the internal spell
585checker, adds a new feature (comment/uncomment lines, with
586default binding M-3), makes some error messages clearer,
587shows more of a file when positionlog is used and the cursor
588is near the end, displays all error messages at startup if
589there are multiple ones, does not misinterpret keystrokes
590when typing very fast, is less eager to trim the filename
591on narrow terminals, speeds up case-insensitive searches,
592and allows to abort re-searches. Among bunches of other
593things. It is worth the trouble to upgrade.
594
595And, with this release, we take leave of the herd...
596Bye! And thanks for all the grass!
597
598</pre>
599</td>
600</tr>
601</table>
602
603</td>
604</tr>
605</table>
606
607<?php include "bottom.php"; ?>