1 phpMyAdmin - ChangeLog
4 3.5.0.0 (not yet released)
5 + rfe #2021981 [interface] Add support for mass prefix change.
6 + "up to date" message on main page when current version is up to date
7 + Update to jQuery 1.6.1
8 + Patch #3256122 [search] Show/hide db search results
9 + Patch #3302354 Add gettext wrappers around a message
10 + Remove deprecated function PMA_DBI_get_fields
11 + rfe #2098927 Remember recent tables
12 + rfe #3078542 Remember the last sort order for each table
13 + AJAX for Create table in navigation panel
15 3.4.2.0 (not yet released)
16 - bug #3301249 [interface] Iconic table operations does not remove inline edit label
17 - bug #3303869 [interface] Unnecessary scrolling on Databases page
18 - patch #3303813 [setup] Define a label that was missing
19 - bug #3305606 [interface] Show all button wraps on privileges page
20 - bug #3305517 [config] Config for export compression not used
21 - bug #3305883 [interface] Table is dropped regardless of confirmation
22 - [auth] Fixed error handling for signon auth method.
23 - bug #3276001 [core] Avoid caching of index.php.
24 - bug #3306958 [interface] Unnecessary Details slider
25 - bug #3308476 [interface] "Show all" not persistent after a sort
26 - bug #3308072 [auth] Version disclosure to anonymous visitors
29 - bug #3301108 [interface] Synchronize and already configured host
30 - bug #3302457 Inline edit and $cfg['PropertiesIconic']
31 - Patch #3302313 Show a translated label
32 - bug #3300981 [navi] Table filter is case sensitive
33 - bug #3285929 [privileges] Revert temporary fix
34 - bug #3302872 [synchronize] Synchronize and user name
35 - bug #3302733 [core] Some browsers report an insecure https connection
36 - [security] Make redirector require valid token
39 + rfe #2890226 [view] Enable VIEW rename
40 + rfe #838637 [privileges] Export a user's privileges
41 - [core] Updated mootools to fix some glitches with Safari.
42 + rfe #2816943 [interface] Add REGEXP ^...$ to select dialog.
43 + rfe #2924956 [interface] Add insert ignore option to editing row.
44 + rfe #2838080 [interface] Show warning when javascript is disabled.
45 + rfe #2823707 [edit] Call UUID function separately to show it in insert.
46 + rfe #2420684 [export] Allow export of timestamps in UTC.
47 + [core] Remove config data from session as it brings chicken-egg problem.
48 + [core] Cookie path now honors PmaAbsoluteUri.
49 + rfe #2393597 [core] phpMyAdmin honors https in PmaAbsoluteUri.
50 + rfe #1778337 [core] Try moving tables by RENAME and fail to CREATE/INSERT if that fails.
51 + rfe #1721189 [core] Force reload js on code change.
52 + rfe #1954161 [interface] Do not display long numbers in server status.
53 + rfe #2033616 [edit] Add option to just display insert query.
54 + rfe #1435032 [interface] Move SSL status to the end, it is usually empty.
55 + rfe #1340812 [interface] Show numbers of columns in table structure.
56 + rfe #1186511 [inrerface] Add link to reload navigation frame.
57 + rfe #2936156 [auth] Signon authentication forwards error message through session data.
58 + rfe #2835109 [interface] Move ^1 to the end of message.
59 + rfe #854911 [interface] Grey out non applicable actions in structure
60 + [interface] Allow to create new table from navigation frame (in light mode).
61 + rfe #1025696 [browse] Add direct download of binary fields.
62 - [browse] Properly display NULL value for BLOB.
63 - rfe #1516803 [edit] Allow to set BLOB to/from NULL with ProtectBinary.
64 - [edit] Do not default to UNHEX when using file upload.
65 - rfe #1379201 [core] Add option to configure session_save_path.
66 + [interface] Provide links to documentation in highlighted SQL.
67 + [interface] It is now possible to bookmark most pages in JS capable browser.
68 - bug #2936482 [core] Fix SSL detection.
69 + rfe #2937850 [doc] Add some hints to chk_rel.php for quick setup.
70 + rfe #2938579 [interface] Add class to some elements for easier theming.
71 + rfe #2937840 [doc] Add some interesting configs to config.sample.inc.php.
72 + rfe #2792992 [doc] Added advice to re-login after changing pmadb settings
73 + patch #2952353 [interface] Prefill "Copy table to" in tbl_operations.php, thanks to iinl
74 + [lang] Add English (United Kingdom) translation, thanks to Robert Readman.
75 + patch #2948421 [auth] HTTP Basic auth realm name,
76 thanks to Harald Jenny - haraldj
77 - bug #2954916 [interface] Do not insert doc links to not formatted SQL.
78 + [lang] Chinese Simplified update, thanks to Shanyan Baishui - rimyxp
79 + [lang] Turkish update, thanks to Burak Yavuz
80 + rfe #2963310 [interface] Focus TEXTAREA "sql_query" on click on "SQL" link
81 + [lang] Uzbek update, thanks to Orzu Samarqandiy
82 + rfe #2958013 [import] After import, also list uploaded filename, thanks
83 to Pavel Konnikov and Herman van Rink
84 + patch #2974341 [structure] Clicking on table name in db Structure should
85 Browse the table if possible, thanks to bhdouglass - dougboybhd
86 + patch #2975533 [search] New search operators, thanks to
88 + patch #2967320 [designer] Colored relations based on the primary key,
89 thanks to GreenRover - greenrover
90 - [core] Provide way for vendors to easily change paths to config files.
91 + patch #2979922, rfe #2804874 [interface] Add inline query editing, thanks to Muhammd Adnan.
92 - bug #2966752 [setup] Allow to configure changes tracking in setup script.
93 + patch #2981165 [edit] Optionally disable the Type column,
94 thanks to Brian Douglass - bhdouglass
95 + patch #2984058 [edit] Buttons for quicky creating common SQL queries, thanks
97 + patch #2984337 [interface] Convert loading of export/import to jQuery ready
98 event, thanks to sutharshan.
99 - [edit] CURRENT_TIMESTAMP is also valid for datetime fields.
100 - patch #2985068 [engines] Fix parsing of PBXT status, thanks to Madhura Jayaratne.
101 - patch #2986073 [interface] Convert upload progress bar to jQuery, thanks to
103 - patch #2983960 [interface] Add javascript validation of datetime input,
104 thanks to Sutharshan Balachandren.
105 - rfe #2981999 [interface] Default sort order is now SMART.
106 - rfe #2972969 [interface] Fix flipping of headers in non-IE browsers.
107 + rfe #2964518 [interface] Allow to choose servers from configuration for
109 + rfe #2988633 [relation] Improve ON DELETE/ON UPDATE drop-downs
110 + rfe #2988629 [relation] Improve labels in relation view
111 + rfe #2983207, patch #2988715 [interface] Use jQuery calendar dialog, thanks
113 + [doc] Incorporate synchronisation docs into main document.
114 + [core] Include Content Security Policy HTTP headers.
115 - bug #3004216 [CSS] Field attributes use inline CSS
116 - patch #2999595, rfe #2998130 [interface] Cleanup navigation frame.
117 - patch #3025161 [core] Prevent sending of unnecessary cookies,
118 thanks to Piotr Przybylski - crackpl
119 - bug [password] Generate password only available if JS is enabled
120 (fixed for Privileges and Change password)
121 - [core] RecodingEngine now accepts none as valid option.
122 + [core] Dropped AllowAnywhereRecoding configuration variable.
123 - rfe #3016457 [interface] Define tab order in SQL form to allow easier tab
125 + [core] Centralized format string expansion, @VARIABLES@ are recommended way
126 now, used by file name templates, default queries, export and title
128 + [validator] SQL validator works also with SOAP PHP extension.
129 - [interface] Better formatting for SQL validator results.
130 - [doc] The linked-tables infrastructure is now called phpMyAdmin
131 configuration storage.
132 - [interface] Move drop/empty links from being tabs to Operations tab.
133 - [interface] Fixed rendering of error/notice/info titles background.
134 - patch #3038293 [doc] Language and grammar fixes,
135 thanks to Isaac Bennetch - ibennetch
136 - patch #3038312 [export] JSON export,
137 thanks to Hauke Henningsen - blubberkeks152
138 - rfe #1494550 [interface] Editor for SET/ENUM fields.
139 - rfe #2649375 [interface] Simplified interface to backup/restore.
140 - rfe #2973909 Users preferences
141 - [relations] Dropped WYSIWYG-PDF configuration variable.
142 - rfe #806035, #686260 [relations] Export relations to Dia, SVG and others
143 + [interface] Added charts to status tab, profiling page and query results
144 + [interface] AJAXification on various pages
145 - [core] Remove last remaining parts of profiling code which was removed in 2006.
146 - bug #3042665 [parser] Add workaround for MySQL way of handling backtick.
147 - bug #3056610 [interface] Removed modification options for information_schema
148 + patch #3055886 [config] Add Left frame table filter visibility config option, thanks to eesau
149 - [core] Force generating of new session on login
150 + rfe #1105678 [interface] Drop page-break-before as it is useless for smaller
152 + rfe #2956556 [interface] Allow to wrap enum values.
153 - bug #1669459 [interface] Do not automatically mark PDF schema rows to delete
154 - bug #3087682 [interface] Do not apply LeftFrameDBSeparator on first character.
155 + rfe #3111455 [interface] Column highlighting and marking in table view
156 + Visual query builder
157 - bug #3115519 [interface] Prevent long queries from being shown in confirmation popup
158 - patch #3112792 [navi] Left panel table grouping incorrect,
159 thanks to garas - garas
160 - bug #3123433 [interface] Avoid double escaping of MySQL errors.
161 - [interface] Use less noisy message and remove disable link on server charts and database statistics.
162 + rfe #3141330 [relation] When displaying results, show a link to the foreign
163 table even when phpMyAdmin configuration storage is not active
164 - bug #3141327 [relation] Foreign key input options
165 - [export] Better handling of export to PHP array.
166 - rfe #3158867 [privileges] No DROP DATABASE warning if you delete a user
167 - [interface] Add link to documentation for status variables.
168 - [security] Redirect external links to avoid Referer leakage.
169 - [interface] Default to not count tables in database.
170 - patch #3172172 [interface] Shortcut for copying table row.
171 - bug #3175227 [auth] Reset user cache on login.
172 - rfe #3148361 [interface] Replace hard coded limit with $cfg['LimitChars'].
173 - bug #3177136 [interface] Indicate that bookmark is being used on browse.
174 - [interface] Indicate shared bookmarks in interface.
175 - patch #3176420 [Search] Ajaxify browse and delete criteria in DB Search,
176 thanks to Thilanka Kaushalya
177 - [interface] New default theme pmahomme, dropped darkblue_orange theme.
178 - rfe #2936155 [auth] Allow to pass additional parameters using signon method.
179 - rfe #1640812 [auth] Add example for OpenID authentication using signon method.
180 - rfe #1312657 [dbi] Default to mysqli extension.
181 - rfe #1168350 [interface] Add clear button to SQL edit box.
182 - [core] Update library PHPExcel to version 1.7.6
183 - bug #3206876 [core] Work without mbstring installed.
184 - rfe #3196075, patch #3212068 [interface] Add links to variables documentation.
185 - bug #3208723 [import] Fix import of utf-8 XML files.
186 - bug #3039384 [auth] Force signon auth on signon URL change.
187 - bug #3168733 [core] Synchronization does not honor AllowArbitraryServer
188 - bug #3134495 [synchronization] Data containing single quotes prevents sync,
190 - Remove the custom color picker feature
191 - bug #3285929 [privileges] Don't fail silently on missing priviledge to execute REVOKE ALL PRIVILEGES
193 3.3.11.0 (not yet released)
195 3.3.10.1 (2011-05-20)
196 - [security] XSS on Tracking page
198 3.3.10.0 (2011-03-19)
199 - patch #3147400 [structure] Aria table size printed as unknown,
200 thanks to erickoh75 - erickoh75
201 - patch #3150164 [structure] Ordering by size gives incorrect results,
202 thanks to Madhura Jayaratne - madhuracj
203 - bug #3153409 [core] 0 row(s) affected
204 - bug #3155842 [core] Edit relational page and page number
205 - [security] Minor security fixes, see PMASA-2010-9 and PMASA-2010-10
206 - [lang] German update, thanks to to jannicars@users.sourceforge.net.
209 - [security] SQL injection, see PMASA-2011-2
212 - [security] Path disclosure, see PMASA-2011-1
215 - bug [doc] Fix references to MySQL doc
216 - patch #3101490 Default function for TIMESTAMP, thanks to jirand - jirand
217 - bug #3103853 [js] Double quotes were not escaped in generated js
218 - bug #3077463 [core] Events were not copied when copying/renaming database
219 - bug #1762306 [core] Copy database with view of a view
220 - patch #3117535 [replication] Add quotes to database in initial statement,
221 thanks to Craig Duncan - duncan3dc
222 - bug #3112614 [pdf schema] Scratchboard for PDF pages not working
223 - bug #3125606 [parser] Query for table "level" causes strange display
224 - bug #3127904 [parser] Close all opened round brackets indents
227 - bug #3115519 (private) [security] XSS on db search, see PMASA-2010-8
230 - bug #3059311 [import] BIGINT field type added to table analysis
231 - [core] Update library PHPExcel to version 1.7.4
232 - bug #3062455 [core] copy procedures and routines before tables
233 - bug #3062455 [export] with SQL, export procedures and routines before tables
234 - bug #3056023 [import] USE query not working
235 - bug #3038193 [display] Error when editing row with GEOMETRY column
236 - bug #3062454 [interface] Display routines/events also when no tables are defined
237 - support ARIA storage engine as well as its previous name MARIA
240 - patch #3050492 [PDF scratchboard] Cannot drag table box to the edge after
241 a page size increase, thanks to Martin Schönberger - mad05
244 - bug #3033063 [core] Navi gets wrong db name
245 - bug #3031705 [core] Fix generating condition for real numbers by comparing
247 - bug #3034026 [confirmation] TRUNCATE queries get no confirmation request
248 - bug #3036132 [core] Triggers not fetched if dbname has an hyphen
249 - patch #3039269 [dbi] Wrong variable checked for nopassword option,
250 thanks to Will Palmer - wpalmer
251 - bug #3040226 [XHTML] LockFromUpdate checkbox not checked by default
252 - bug [doc] Withdraw or edit FAQ entries related to older MySQL or PHP
253 - bug #3042706 [pmadb] Relations, bookmarks, etc deleted after table drop
254 - bug #3044189 [doc] Cleared documentation for hide_db.
255 - bug #3042495 [core] Move PMA_sendHeaderLocation to core.lib.php.
258 - [core] Fixed various XSS issues, see PMASA-2010-5 for more details.
261 - patch #2932113 [information_schema] Slow export when having lots of
262 databases, thanks to Stéphane Pontier - shadow_walker
263 - bug #3022705 [import] Import button does not work in Catalan when there
264 is no progress bar possible
265 - bug [replication] Do not offer information_schema in the list of databases
266 - bug [js] Avoid loading twice a js file
267 - bug #3024344 [setup] Setup forces numeric MemoryLimit
268 - bug #3025975 [auth] Odd LoginCookieValidity default value
269 - bug #3026400 [PHP] ereg functions are deprecated
270 - bug #3027557 [PHP] split() deprecated in PHP 5.3 (backport fixes from master)
271 - bug #3023507 [core] No result set display from stored procedure SELECT
272 - bug [export] CSV for MS Excel (Windows) should have semi-colon as separator
273 - [core] Update library PHPExcel to version 1.7.3c
274 - bug #2994885, bug #3029168 [import] Convert Excel column name correctly
275 - bug [scripts] MySQL 5.5.5 does not accept TIMESTAMP(14) in create_tables.sql
278 - bug #2996161 [import] properly escape import value
279 - bug #2998889 [import] Import button does not work in Catalan
280 - [browse] Fix handling of sort order if only column is specified.
281 + [lang] Greek update, thanks to Panagiotis Papazoglou - panos78
282 + [lang] Updated lot of translation based on work done in master branch.
283 - bug #3008411 [databases] Last dropped database remains active in navi
284 - bug #2986383 [parser] Not all data being shown / counted
285 - bug [synchronize] Rows were deleted in target table regardless of the
286 "Would you like to delete..." option
287 - bug [privileges] List of tables not shown when the db name has a wildcard
288 - bug #3011126 [display] Edit link missing after long query
289 - patch #3013264 [doc] FAQ 1.40 uses a comma instead of a period,
290 thanks to Isaac Bennetch - ibennetch
291 - [engines] Fix getting InnoDB status.
292 - bug #2986422 [import] Results for query are not displayed
295 - patch #2982480 [navi] Do not group if there would be one table in group,
296 thanks to Lorikeet Lee.
297 - patch #2983492 [sync] When asking to synchronize Structure and Data,
298 only Structure is done, thanks to Ankit Gupta - ankitgupta3
299 - patch #2984893 [engines] InnoDB storage page emits a warning,
300 thanks to Madhura Jayaratne - madhuracj
301 - bug #2974687, bug #2974692 [compatibility] PHPExcel : IBM AIX iconv() does not work,
302 thanks to Björn Wiberg - bwiberg
303 - bug #2983066 [interface] Flush table on table operations shows the query twice,
304 thanks to Martynas Mickevičius - BlinK_
305 - bug #2983060, patch #2987900 [interface] Fix initial state of tables in
306 designer, thanks to Sutharshan Balachandren.
307 - bug #2983062, patch #2989408 [engines] Fix warnings when changing table
308 engine to Maria, thanks to Madhura Jayaratne.
309 - bug #2974067 [display] non-binary fields shown as hex
310 - bug #2983065 [operations] Error when changing from Maria to MyISAM engine
311 - bug #2975408 [tracking] Data too long for column data_sql
312 - bug [tracking] Tracking report should obey MaxCharactersInDisplayedSQL
313 - bug [edit] Avoid selecting UNHEX function by default for a BLOB column for
314 which editing is protected
315 - bug #2994168 [structure] Show auto_increment in uppercase
316 - bug #2993970 [pdf schema] Page numbering in Table of Contents
319 - patch #2969449 [core] Name for MERGE engine varies depending on the
320 MySQL version, thanks to Dieter Adriaenssens - ruleant
321 - bug #2966078 [browse] Incorrect LIMIT is saved and sticks while browsing
322 - bug #2967366 [Structure] Some results of Propose table structure are
324 - bug #2967565 [insert] UNHEX not selected by default when inserting BINARY
325 - [navi] Changed link to git repository on main page
326 - bug #2972232 [menu] Import menu tab not present on main page
327 - patch #2976790 [menu] Go to the upper level after table DROP,
328 thanks to Kaarel Nummert - kaarelnu
329 - patch #2978815 [pdf] Fix generating PDF with table dimensions, thanks to BlinK_
330 - patch #2977725 [export] XML wrongly encoded, thanks to Victor Volkov - hanut
331 - patch #2979234 [import] Create tables with current charset and collation.
332 - patch #2979234, bug #2960105 [import] Properly import unicode text from ODS.
333 - bug #2973280 [export] Proper handling of temporary directory in XLS export.
334 - bug #2980582 [interface] Properly format server status parameter.
335 - bug #2973949 [session] SQL History broken (revert patch #2899969),
336 thanks to Dieter Adriaenssens - ruleant
337 - [doc] Be more specific about problems with Suhosin.
340 - bug #2941037 [core] Database structure not sorted by table correctly
341 - bug #2948492 [interface] Slide effect masks some fields on search page
342 - bug #2959746 [interface] Unknown table status: TABLE_TYPE
343 - bug #2953050 [export] export VIEW as SQL includes INSERT statement
344 - bug #2942032 [core] Cannot detect PmaAbsoluteUri correctly on Windows
345 - bug #2961609 [auth] Potential information disclosure at login page
346 - patch #2961540 [export] Do not export data of MERGE table,
347 thanks to Dieter Adriaenssens - ruleant
348 - bug #2961198 [parser] Querying a table named "data"
349 - bug #2931429 [structure] Editing long triggers
350 - bug #2970769 [structure] Incorrect reference to mootools-more.js
353 + rfe #2308632 [edit] Use hex for (var)binary fields,
354 thanks to Maarten Dieleman - maartendieleman
355 + patch #2794819 [navi] Filter for displayed table names,
356 thanks to Michael Valushko - dylfin
357 - bug #2794840 [core] Cannot redeclare pma_tableheader()
358 - rfe #2726479 [core] configurable maximal length of URL
359 + patch #2724755 [display] Full/partial text links (big T) are back,
360 thanks to nullbarriere - nullbarriere
361 - bug [display] handle NavigationBarIconic as documented for navi buttons
362 + rfe #2726479 [export] Export tables preselect
363 + patch #2805828 [export] PHP array export plugin,
364 thanks to Geoffray Warnants - amnsk
365 + patch #2798592 [import] Progress bar,
366 thanks to Tomas Srnka - tomassrnka
367 - bug [gui] Generate Password not working for 'Change Login Information', only for 'Change password'
368 + [lang] Arabic update, thanks to Meno25 - meno25
369 + rfe #2822190 [structure] BOOLEAN is standard SQL
370 + [lang] German update, thanks to knittl
371 + [lang] German update, thanks to virsacer
372 + rfe #2813867 [structure] Default sorting order in list of tables
373 + [import] Added MySQL type-detection functionality to import library,
374 thanks to Derek Schaefer
375 + [import] Added ODS, Excel XLS, Excel XLSX, and XML import modules,
376 thanks to Derek Schaefer
377 + [export] Added Excel XLSX export module,
378 thanks to Derek Schaefer
379 + [core] Added ability for tracking changes made through phpMyAdmin
380 + rfe #2839504 [engines] Support InnoDB plugin's new row formats
381 + [core] Added ability for synchronizing databases among servers.
382 + [lang] #2843101 Dutch update, thanks to scavenger2008
383 + [lang] Galician update, thanks to Xosé Calvo - xosecalvo
384 + [export] Added MediaWiki export module,
385 thanks to Derek Schaefer - drummingds1
386 + [lang] Turkish update, thanks to Burak Yavuz
387 + [auth] Add custom port configuration in signon, thanks to Gary Smith
388 - [core] Removed context from the error handler
389 - bug #2883633 [export] Export of InnoDB table is incomplete
390 + rfe #2862575 [status] Order query statistics by % desc, skip rows with 0
391 + rfe #2823686 [interface] Increase default height of query window
392 + rfe #2129902 [structure] Don't hide indexes
393 + patch #2812070 [interface] Allow selecting a range of rows by holding shift, thanks to Joolee
394 + [lang] Russian update, thanks to Victor Volkov
395 + [lang] Greek update, thanks to Panagiotis Papazoglou
396 + [lang] Norwegian update, thanks to Sven-Erik Andersen
397 - bug #2929958 [import] Cannot import (French interface)
398 - [security] Use X-Frame-Options header to protect against ClickJacking.
399 + [lang] Finnish update, thanks to Jouni Kahkonen
400 + [lang] Lithuanian update, thanks to Rytis Slatkevicius - rytis_s
401 - bug #2931939 [status] Seeing "m" as unit is confusing
402 - bug #2926613 [edit] Copy database shows errors when DB has foreign key
403 + [lang] Catalan update, thanks to Xavier Navarro
405 3.2.6.0 (not released)
406 - bug #2938492 [display] information_schema sorting order
407 - bug #2941101 [import] import timeout when table already created and
409 - bug #2944069 [config] Extraneus dot from dirname() when installed in root, thanks to ayanamist
412 - patch #2903400 [bookmarks] Status of bookmark table,
413 thanks to Virsacer - virsacer
414 - bug [history] QueryHistoryDB is not respected
415 - bug #2905629 [auth] Blowfish secret is not hashed
416 - bug #2910000 [gui] ShowServerInfo should hide all server info from main page
417 - bug #2910568 [structure] Table size for ARCHIVE tables is not displayed
418 - patch #2899969 [core] Session lock blocks working from a second window,
419 thanks to Greg Roach - fisharebest
420 - patch #2915168 [import] Incorrect parsing of DELIMITER keyword,
421 thanks to Greg Roach - fisharebest
422 - patch #2918831 [export] Missing backquotes on reserved words,
423 thanks to Virsacer - virsacer
424 - [core] Fix broken cleanup of $_GET
425 - bug #2924357 [operations] Cannot rename a database that has foreign key
427 - bug #869006 [structure] Ignore number of records for MRG_MyISAM tables
428 - bug [browse] "Show BLOB contents" should display HTML code that is present
429 in a BLOB, thanks to Vincent van der Tuin
430 - [privileges] Improve escaping of hostname
432 --- Older ChangeLogs can be found on our project website ---
433 http://www.phpmyadmin.net/old-stuff/ChangeLogs/
435 # vim: et ts=4 sw=4 sts=4
436 # vim: ft=changelog fenc=utf-8
437 # vim: fde=getline(v\:lnum-1)=~'^\\s*$'&&getline(v\:lnum)=~'\\S'?'>1'\:1&&v\:lnum>4&&getline(v\:lnum)!~'^#'
438 # vim: fdn=1 fdm=expr