1 ----------------------
6 $HeadURL: https://phpmyadmin.svn.sourceforge.net/svnroot/phpmyadmin/trunk/phpMyAdmin/ChangeLog $
9 - patch #1818389 to remove a notice (failed to flush buffer), thanks to
11 - patch #1821154, HTTP authentication: fix auth working with php/mod_fastcgi,
13 - wrong default charset in case of broken session
14 - bug #1824506 [profiling] Profile command repeated on older MySQL servers
15 - bug #1825172 [export] Exporting and functions
16 - bug #1817224 [import] Incorrect detection of file_uploads in some cases,
17 thanks to Juergen Wind
18 - bug #1777249 [display] Do not underline links in left panel (in default
19 - bug #1826022 [privileges] unable to add user (MySQL 3.23) since PMA 2.11.2
20 - bug #1823045 [import] Error importing file with lowercase "delimiter"
21 - bug #1828913 [structure] Can't set FULLTEXT index on CHAR column
22 - bug #1804081 [export] export on server doesn't obey AllowAnyWhereRecoding
23 - bug #1789988 [display] space before SHOW COLUMNS
24 - bug #1831646 [table creation] Error in CREATE TABLE with multiple primary
25 keys and AUTO_INCREMENT
26 - [display] Division by zero when showing all records (page selector)
27 - bug #1828265 [privileges] No weird characters in generated password
28 - bug #1759194 [import] open_basedir warning
29 - bug #1793948 [parser] ROW_FORMAT incorrectly parsed
30 - undefined PMA_MYSQL_INT_VERSION when no default server is set
31 - bug #1763343 [session] Behavior with session.auto_start enabled
32 + [lang] Hungarian update, thanks to Mihály Mészáros
33 + [lang] German update, thanks to Jürgen Wind - windkiel
34 - patch #1837691 [query window] js errors, thanks to Victor Volkov
35 - patch #1839052 [lang] catalan not in UTF-8, thanks to jaz001
36 - patch #1838626 [GUI] Login interface broken on Konqueror, thanks to fhimpe
39 - bug #1835123 [security] fixed XSS vulnerability on login page,
40 thanks to Tim Brown (Nth Dimension) for the advisory
41 and to Sebastian for the fix
44 - fixed possible SQL injection using database name
45 - fixed possible XSS in database name - thanks to Omer Singer, The DigiTrust Group
48 - patch #1791576 HTTP auth: support REDIRECT_REMOTE_USER, thanks to Allard
49 + [lang] Serbian update, thanks to Mihailo Stefanovic
50 - bug #1798841 [relations] Copying db does not copy internal relations
51 - bug #1798646 [display] Character '+' in query wrongly interpreted
52 - bug #1801919 [themes] Do not use NaviDatabaseNameColor for fieldset legend
53 - bug #1764735 [core] Designer: PDF error when deleting a table
54 - bug #1764195 [views] DROP button does not work on defective views
55 - bug #1805773 [relations] browse foreign values: return values not escaped,
57 - bug #1807923 [login] Login with html entities in password fails
58 - [core] Undefined variable when creating a table that exists
59 - patch #1808578 Changes in font size were no longer detected after patch
61 + [lang] Croatian update, thanks to Renato Pavicic
62 - patch #1807615 [GUI] Display patch for column rights in Opera
63 - bug #1811519 Can't delete user with a german umlaut.
64 - bug #1811519 [privileges] fixed used collation for accessing mysql.user in server privileges
65 - it should not be possible to move or copy a table to information_schema
66 - bug #1814733 win: copy db to mixed name db fails
67 - bug #1777249 [display] Remove horizontal lines in navigation panel
68 - bug #1805102 [display] TextareaAutoSelect issues: set this parameter
69 default value to false to help cut&paste from a terminal window; also
70 set focus to the textarea
71 - bug #1814463 [display] Wrong database size
72 - bug #1811527 [display] Problem with links to the MySQL manual
73 - patch #1817529 [auth] Incorrect login via URL when AllowArbitraryServer
74 is true, thanks to Juergen Wind
77 - fixed XSS in server_status.php, thanks to Omer Singer, The DigiTrust Group
78 - fixed some possible XSS with PHP_SELF, PATH_INFO, REQUEST_URI
79 (reference: CVE-2007-5589)
82 - bug #1810629 [setup] XSS in setup.php, thanks to Omer Singer, The DigiTrust Group
86 - bug #1783667 [export] NO_AUTO_VALUE_ON_ZERO and MySQL version
87 - bug #1780098 [GUI] Logout causes CSS loss, thanks to Juergen Wind
88 . incorrect field ids, thanks to Michael Keck
89 - bug #1787522 [view] wrong choice in algorithm drop-down
90 - bug #1777620 [GUI] Table Print preview: missing column header,
91 thanks to Mario Rohkrämer
92 - Do not display "Your MySQL library..." if only the Z part of X.Y.Z version
94 - bugs #1767759, 1216521 [data] Duplicate entry error Browse feature: this minor
95 feature removed due to its complexity
96 - bug #1774825 [operations] Rename database loses charset info
97 - bug #1791568 [core] Undefined cfg, thanks to Christian Schmidt
98 - bug #1782332 [structure] New table form does not overtake data
99 - bug #1793763 [requirements] minimum PHP should be 4.2.0
100 - patch #1787915 Avoid CSS reloading on every click, thanks to Juergen Wind
101 - bug #1798627 [GUI] Wrong storage engine displayed
103 2.11.0.0 (2007-08-21)
105 + [import] support handling of DELIMITER to mimic mysql CLI, thanks to fb1
106 + improved PHP 6 compatibility
107 - bug #1674914 [structure] changing definition of a TIMESTAMP field
108 - bug #1615530 [upload] added more specific error message if field upload fails
109 - bug #1627210, #1083301, #1482401 [data] warning on duplicate indexes
110 - bug #1668724 JavaScript focus login Opera
111 - bug #1666657 [auth] Cookie password delete on timeout / inactivity
112 - bug #1648802 different mysql library and server version
113 - bug #1662976 [auth] Authentication fails when controluser/pass is set
114 - bug #1643758 [import] Error #1264 importing NULL values in MySQL 5.0
115 - bug #1523747 [innodb] make warning about row count more visible
116 - bug #1676012 [auth] strip non-US-ASCII characters (RFC2616)
117 - bug #1679440 Added FAQ entry about header errors under IIS caused by
118 an end-of-line character
119 - [gui] avoid displaying a wide selector in server selection
120 - bug #1614004 [relation] foreign key spanning multiple columns are
121 incorrectly displayed
122 - bug #1681598 [interface] Edit next row
123 - bug #1688053 [export] Wrong export of binary character fields
124 - bug #1498281 [parser] Wrong primary key used for displaying results
126 - bug #1699772 Visual space bug in table name (in browser)
127 - bug #1699532 Cause of data manipulation issues: implemented changes
128 as suggested by crisp_; still have to work on updating an ENUM value
129 + [core] added PMA_fatalError() and made use of it
130 . [core] added PMA_isValid() and PMA_ifSetOr() for variable handling
131 . [i18n] use generic $strOptions
132 . [core] get rid of $propicon
133 . [core] globalized variables to be includable inside function in
134 libraries/select_lang.lib.php
135 + [doc] changed all documentation in config.inc.php to phpDocumentor style
136 + [data] support for CREATE VIEW from query results
137 + [gui] dropped css/ folder and moved into root of PMA
138 + [l10n] new: Sinhala, Macedonian
139 + [export] YAML export (see yaml.org), thanks to Bryce Thornton
140 + [upload] moved file upload functionality into own class
141 + [upload] make use of $cfg['TempDir'] for file uploads
142 + [server] improved display of binary logs
143 + [data] better error handling in tbl_create.php
144 + [routines] from Patch #1649881, thanks to Mike Beck
145 + [querywindow] store sql history in session
146 + [querywindow] sql history now without db too
147 + [querywindow] tweaks in sql history view
148 + [export] Native Excel (Spreadsheet_Excel_Writer) improvements,
149 thanks to Christian Schmidt
150 + [doc] requirement of mcrypt on 64-bit, thanks to Isaac Bennetch
151 + [lang] Danish update, thanks to Finn Sorensen
152 + RFE #1435922 [gui] navigation frame shows listing of databases when none selected
153 + [data] support BIT datatype (under mysqli), thanks to Christian Schmidt
154 + [display] automatic confirmation for sort by key, thanks to Juergen Wind
155 + [data] can now choose the number of insert rows
156 + RFE #1704779 [gui] link documentation from login page
157 + RFE #1513345 [setup] check control user connection during setup
158 + [structure] TRIGGERS: display/edit/drop/SQL export
159 + [browse] store browse state in session per query
160 + [lang] Turkish update, thanks to Burak Yavuz
161 + [lang] Galician update, thanks to Xosé Calvo
162 + [lang] Brazilian-Portuguese update, thanks to Airon Luis Pereira
163 + [gui] Insert/Edit: no longer display the Go button each 15 lines
164 but just at the end of a row
165 + [gui] Query window: use verbose server name if any
166 + [auth] patch #1712514 specify host for single signon, thanks to Thierry
167 + [gui] Navigator for the db list in the navigation panel
168 + [gui] Navigator for the table list in the content panel
169 - bug #1727138 HTML not encoded (more than 1000 characters)
170 + [display] Support for MySQL 5.0.37 profiling
171 + RFE #1743983 [gui] Replace $max_characters by a configurable param:
172 $cfg['MaxCharactersInDisplayedSQL']
173 - bug #1746186 LeftLogoLink fails if set to some external site
174 . [transformations]: remove "auto-detect" MIME-type that was never implemented
175 + [display] patch #1749705, Allow multibyte characters in number formatting,
177 - bug #1747215 Export emits blanks at line ends
178 - bug #1751172 Do not export data when exporting a single VIEW
179 + [lang] Swedish update, thanks to Björn T. Hallberg
180 + [lang] Russian update, thanks to Victor Volkov and the php-myadmin.ru users
181 + [privileges] Support password hashing on the Edit Privileges interface
182 - bug #1755339 Warn about rename dataase actually being copy/delete
183 - bug #1746921 Left frame shrinks on db change, thanks to Juergen Wind
184 + [gui] Export: Select All/Unselect All over the choices,
185 thanks to Florian Schmitz
186 + [lang] Japanese update, thanks to Ishigaki Kenichi
187 - bug #1759528 browse_foreigners fails due to newlines,
188 thanks to Hanno Boeck
189 + [lang] Norwegian update, thanks to Sven-Erik Andersen
190 + [lang] Italian update, thanks to Luca Rebellato
191 + [lang] Spanish update, thanks to Daniel Hinostroza
192 . [export] Do not obey $cfg['MaxTableList'] on database export
193 - [doc] UploadDir and the Import tab, thanks to Juergen Wind
194 - bug #1766975 Parameters lost when editing stored routine
195 - [export] patch #1766633 Incorrect export with specified MySQL port,
196 thanks to Juergen Wind
197 + [lang] Catalan update, thanks to Xavier Navarro
198 - bug #1751553 Drop-down instead of input when editing
199 - [data] foreign key browser: encoding mixups, thanks to Thijs Kinkhorst
200 - bug #1771721 Old SVN URLs
202 2.10.3.0 (2007-07-20)
204 - bug #1734285 Copy database with VIEWs
205 - bug #1722502 DROP TABLE in export VIEW
206 - bug #1729027 Sorting results of VIEW browsing
207 - bug #1733012 Unwanted table alias in delete button
208 - bug #1736405 Pretty printer and HTML line breaks
209 - bug #1745257 Invalid DB name is still displayed
210 - bug #1730367 Calendar "Go" has no effect
211 - bug #1748633 Incorrect parameter validation for VIEWs
212 + [lang] Russian revision, thanks to Victor Volkov and the users of
214 - Do not try to delete an internal relation if we just deleted an InnoDB one
216 2.10.2.0 (2007-06-15)
218 + [data] display all warnings, not only last one
219 - typo in fix for bug #1671813
220 - bug #1714908 Inserted Row Count is wrong
221 - bug #1712570 Deleting last record freezes
222 - bug #1717339 Missing header when deleting a checked column,
223 thanks to Michael Keck
224 - bug #1717477 Warning on Query page when db is empty
225 - bug #1721002 db rename -> undefined cfgRelation, thanks to Jürgen Wind
226 - bug #1721571 CREATE database privilege not always detected,
227 thanks to Gordon McNaughton
228 - bug #1715709 export in SQL format always includes procedures and functions
229 - bug #1722502 DROP TABLE in export view structure
230 - bug #1718787 Multi-server setup breaks Designer
231 - bug #1724401 Column truncation in repair table output
232 - patch #1726500 Wrong position of </tbody>, thanks to Jürgen Wind
233 - bug #1728590 Detected failing session_start fails, thanks to Jürgen Wind
234 - RFE #1714760 Obey ShowCreateDb on the Databases tab
235 - patch #1733762 Typo in message "INSERT DELAY", thanks to Victor Volkov
236 - patch #1730171 Dead message strLanguageFileNotFound, thanks to Victor Volkov
237 - patch #1731280 Avoid negative exponent in gmp_pow(), thanks to anosek
239 2.10.1.0 (2007-04-23)
240 =====================
242 - bug #1541147 [js] '#' in database names not correctly handled by queywindow.js
243 - bug #1671403 [parser] using "client" as table name
244 - bug #1672379 [core] Call to undefined function PMA_removeCookie()
245 - bug [core] undefined variable in libraries/tbl_replace_fields.inc.php
246 - bug [gui] query window icon did not work, thanks to Jürgen Wind - windkiel
247 . [general] use PMA_getenv('PHP_SELF')
248 - bug #1676033 [core] pow(int,int) causes overflow
249 - bug #1680952 [core] undefined function PMA_getUvaCondition()
250 - bug #1596328 [export] drop support for POSTGRESQL compatibility mode
251 - bug #1609443 [privileges] Grant all priv. on wildcard name (fix message)
252 - bug #1567317 [sqp] Syntax highlighter: extra spaces
253 - bug #1239401 [sqp] table dot numeric field name
254 - bug #1672789 [sqp] Undefined offset: 4 in sqlparser.lib.php #1674
255 - bug #1682044 [export] Export file even if file not selected
256 - bug #1664212 querywindow loses url encoded characters
257 - replaced ctype_digit() with is_numeric()
258 + [config] clean cookies on phpMyAdmin upgrade
259 - bug #1674972 [export] no export with %afm%
260 - bug #1667887 HTML maxlength
261 - bug #1679055 #1050 - Table '<table name>' already exists
262 - patch #1681620 [interface] support reordering of $cfg['ColumnTypes'],
263 thanks to Leonard den Ottolander
264 - bug #1690718 Can't edit if BLOB and no PK
265 - bug #1672636 [export] PDF export too wide
266 + [lang] brazilian-portuguese update, thanks to Airon Luis Pereira
267 - patch #1698964 javascript typo, thanks to Corey Hollaway
268 - bug #1703897 [css] undefined index 'js_frame'
269 - bug #1690561 Blobs being cleared on Edit of row
270 - bug #1679801 [core] XSS vulnerability in PMA_sanitize(), thanks to sp3x SecurityReason
271 - bug #1704467 XSS vulnerability in browse_foreigners.php, thanks to sp3x SecurityReason
273 2.10.0.2 (2007-03-02)
274 =====================
276 + bug #1671813 CVE-2006-1549 deep recursion crash
278 2.10.0.1 (2007-03-01)
279 =====================
281 . [config] set $cfg['Servers'][$i]['ssl'] default value to false,
282 we got reports from some users having problems with the default value of true
284 2.10.0.0 (2007-02-28)
285 =====================
287 - bug #1659176 [general] memory error displaying a table with large BLOBs
288 - bug #1668662 [install] can create the new pma_designer_coords table
289 + [gui] navi logo now links to main page by default, with still the possibility
290 of having an external URL
292 2007-02-25 Marc Delisle <lem9@users.sourceforge.net>
293 * libraries/common.lib.php: bug #1667466, undefined variable when
294 export + save on server
295 * server_status.php: bug #1665930, undefined PHP_SELF
297 2007-02-24 Marc Delisle <lem9@users.sourceforge.net>
298 * libraries/config.default.php: RFE #1621437, HEX and UNHEX were not
299 available for a BINARY field
301 2007-02-21 Marc Delisle <lem9@users.sourceforge.net>
302 * pmd/scripts/move.js: bug #1650770, Designer and Mac OSX,
303 thanks to Ivan Kirillov
305 2007-02-17 Marc Delisle <lem9@users.sourceforge.net>
306 * Documentation.html: patch #1659347, missing doc for some config,
307 thanks to Isaac Bennetch
308 * libraries/export/sql.php: bug #1663336, undefined variable
310 2007-02-16 Marc Delisle <lem9@users.sourceforge.net>
311 * libraries/common.lib.php, footer.inc.php: avoid generating big links
312 after an upload into a BLOB
314 2007-02-14 Marc Delisle <lem9@users.sourceforge.net>
315 * libraries/common.lib.php: white page after uploading a 700 Kio BLOB
316 * add a warning on main page if mcrypt can't be loaded (bug 1658160)
318 2007-02-12 Sebastian Mendel <cybot_tm@users.sourceforge.net>
319 * libraries/database_interface.lib.php: bug #1616486 server_databases does
320 not show all databases
321 * libraries/sqlparser.data.php: MySQL function and column names, reserved
322 and forbidden words updated,
323 bug #1657045 Spatial functions not supported
324 bug #1657037 Missing column type "geometry"
326 2007-02-09 Marc Delisle <lem9@users.sourceforge.net>
327 * main.php: some links should open a new page
328 * Documentation.html, libraries/navigation_header.inc.php,
329 libraries/config.default.php: $cfg['LeftLogoLinkWindow'] to decide
330 in which window the logo-linked page will appear
332 2007-02-09 Michal Čihař <michal@cihar.com>
333 * lang/czech: Fix syntax error (sorry for that).
335 2007-02-08 Marc Delisle <lem9@users.sourceforge.net>
336 * themes/darkblue_orange/img/logo_left.png,
337 themes/original/img/logo_left.png: smaller PMA logo for navi
339 2007-02-08 Sebastian Mendel <cybot_tm@users.sourceforge.net>
340 * themes/*/css/theme_right.css.php: bug #1653769 browsing highlight disabling
343 2007-02-06 Sebastian Mendel <cybot_tm@users.sourceforge.net>
344 * pmd_general.php, pmd_pdf.php, pmd_save_pos.php: fixed short open tags
345 patch #1652886 thanks to Martin Thielecke - mthie
346 * tbl_change.php: fixed escaping of field names in HTML and JavaScript
347 * libraries/common.lib.php: PMA_backquote() did not quote 0
348 * tbl_change.php: bug #1652810 - slashes are not escaped properly
350 2007-02-05 Marc Delisle <lem9@users.sourceforge.net>
351 * lang/japanese: Update, thanks to Ishigaki Kenichi - tcool.
353 2007-02-05 Sebastian Mendel <cybot_tm@users.sourceforge.net>
354 * lang/german: updated
356 2007-02-03 Marc Delisle <lem9@users.sourceforge.net>
357 * pmd/scripts/move.js: display problems in Opera, thanks to Maxim Bulygin
359 2007-02-02 Marc Delisle <lem9@users.sourceforge.net>
360 * tbl_replace.php: Calendar icon does not work on "Insert another new row"
362 2007-02-01 Marc Delisle <lem9@users.sourceforge.net>
363 * libraries/import.lib.php: bug #1626064, too much quoting on import
365 2007-02-01 Sebastian Mendel <cybot_tm@users.sourceforge.net>
366 * libraries/display_tbl.lib.php: bug #1644740 - $cfg['Order'] = 'SMART'
368 * libraries/Theme.class.php: removed __wakeup() due to some requirements are
369 not fulfilled at this point - also thanks to Jürgen Wind - windkiel
371 2007-01-31 Sebastian Mendel <cybot_tm@users.sourceforge.net>
372 * libraries/session.inc.php:
373 bug #1630871 - Detecting a missing write permission on sessions directory
375 2007-01-30 Sebastian Mendel <cybot_tm@users.sourceforge.net>
376 * libraries/sqlparser.lib.php PMA_SQP_analyze():
377 bug #1647785 - do not pass variables by reference
379 2007-01-29 Marc Delisle <lem9@users.sourceforge.net>
380 * lang/catalan update, thanks to Xavier Navarro (xavin)
381 * pmd_general.php: possibility of quotes in Designer messages,
382 thanks to Ivan Kirillov
384 2007-01-26 Michal Čihař <michal@cihar.com>
385 * libraries/common.lib.php, libraries/js_escape.lib.php,
386 test/escape_js_string.php, test/core.lib.php: Move java script escaping
387 to separate library, make it safer on </script> escaping and add
389 * test/theme.php: Move to test package.
391 2007-01-22 Marc Delisle <lem9@users.sourceforge.net>
392 * pmd/*: button for direct/angular links, thanks to Ivan Kirillov
394 2007-01-22 Michal Čihař <michal@cihar.com>
395 * lang/czech: Updated.
397 2007-01-21 Marc Delisle <lem9@users.sourceforge.net>
398 * libraries/Table.class.php: on a MySQL 5.0.33 server with 4400 databases,
399 one of which having 400 tables, it took more than 3 minutes just to
400 see the database structure (some accesses to INFORMATION_SCHEMA are
401 just too slow) so I changed PMA_Table::isView() to avoid calling
404 2007-01-20 Marc Delisle <lem9@users.sourceforge.net>
405 * libraries/sqlparser.lib.php: bug #1638267, wrong reserved word
407 * server_privileges.php: bug #1635377, superfluous backslash,
410 2007-01-19 Marc Delisle <lem9@users.sourceforge.net>
411 * pmd*, lang/*: Designer now supports set/unset of the display field,
412 thanks to Ivan Kirillov
414 2007-01-18 Michal Čihař <michal@cihar.com>
415 * lang/czech: Updated.
416 * libraries/auth/cookie.auth.lib.php: Make server switching honour more
417 server settings (patch #1630104).
419 2007-01-17 Marc Delisle <lem9@users.sourceforge.net>
420 * lang/turkish: update, thanks to Burak Yavuz - bourock
422 2007-01-16 Marc Delisle <lem9@users.sourceforge.net>
423 ### 2.9.2 released from QA_2_9
425 2007-01-12 Marc Delisle <lem9@users.sourceforge.net>
426 * (many files): Designer, two features (snap to grid / display field)
427 thanks to Ivan Kirillov
428 * libraries/Theme_Manager.class.php: patch #1611684, force a change
429 of a session variable to avoid phpmyadmin.css.php caching problems,
430 thanks to Christian Schmidt
432 2007-01-11 Marc Delisle <lem9@users.sourceforge.net>
433 * lang/estonian: Update, thanks to Marko Ellermaa - uhuu
435 2007-01-09 Michal Čihař <michal@cihar.com>
436 * index.php: Properly escape strings written in JS code.
437 * libraries/Theme_Manager.class.php: Avoid trigger error here, parameter
438 comes from user and it might lead to path disclossure.
439 * libraries/common.lib.php:
440 - Properly escape </script> in JS code.
441 - Check db, table and sql_query params to be string.
443 2007-01-08 Marc Delisle <lem9@users.sourceforge.net>
444 * libraries/session.inc.php: prevent attack on session name cookie
446 2007-01-05 Marc Delisle <lem9@users.sourceforge.net>
447 * libraries/session.inc.php: bug #1538132, remove the setting of
448 session.save_handler to 'files'
449 * pmd_general.php: patch #1627831,
450 English language improvements, thanks to Isaac Bennetch
451 * pmd_general.php, pmd_relation_new.php, lang/*: abstract messages
453 2007-01-04 Marc Delisle <lem9@users.sourceforge.net>
454 * pmd/scripts/move.js: avoid text selection when moving a table object
455 under MSIE 6, thanks to Ivan Kirillov
456 * libraries/db_links.inc.php: better icon for Designer, thanks to I.K.
458 2007-01-02 Marc Delisle <lem9@users.sourceforge.net>
459 * Designer: various fixes and improvements (for example support
460 for MSIE 6), thanks to Ivan Kirillov
461 * pdf_pages.php: undefined $pdf_page_number when no auto layout
462 * server_privileges.php: bug #1614087, deleting a user having a
463 global GRANT privilege fails under MySQL 4.1.x
465 2007-01-02 Michal Čihař <michal@cihar.com>
466 * libraries/common.lib.php: Add <div> to allow selecting whole SQL by
467 tripple click (patch #1611591).
468 * libraries/export/sql.php: DELIMITER should not be commented out (bug
471 --- Older ChangeLogs can be found on our project website ---
472 http://www.phpmyadmin.net/old-stuff/ChangeLogs/
474 # vim: et ts=4 sw=4 sts=4
475 # vim: ft=changelog fenc=utf-8 encoding=utf-8
476 # vim: fde=getline(v\:lnum-1)=~'^\\s*$'&&getline(v\:lnum)=~'\\S'?'>1'\:1&&v\:lnum>8&&getline(v\:lnum)!~'^#'
477 # vim: fdn=1 fdm=expr