* Requested function: just-one-empty-line() @ 2008-10-06 8:50 Nordlöw 2008-10-06 11:15 ` Bernardo Bacic ` (3 more replies) 0 siblings, 4 replies; 9+ messages in thread From: Nordlöw @ 2008-10-06 8:50 UTC (permalink / raw) To: help-gnu-emacs I'm looking for a function just-one-empty-line(), or empty-lines() for the multi-line-variant, that does kind of what just-one-space() does but instead works on empty lines. Any suggestions? Example: pre;\n \n \n post; is converted to pre;\n \n post; Thanks in advance, Nordlöw ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Requested function: just-one-empty-line() 2008-10-06 8:50 Requested function: just-one-empty-line() Nordlöw @ 2008-10-06 11:15 ` Bernardo Bacic [not found] ` <mailman.350.1223291799.25473.help-gnu-emacs@gnu.org> ` (2 subsequent siblings) 3 siblings, 0 replies; 9+ messages in thread From: Bernardo Bacic @ 2008-10-06 11:15 UTC (permalink / raw) To: help-gnu-emacs > I'm looking for a function just-one-empty-line(), or empty-lines() for > the multi-line-variant, that does kind of what just-one-space() does > but instead works on empty lines. Any suggestions? > > Example: > > pre;\n > \n > \n > post; > > is converted to > > pre;\n > \n > post; a regexp search (for ^J\{2,\}) and replace comes to mind ... ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <mailman.350.1223291799.25473.help-gnu-emacs@gnu.org>]
* Re: Requested function: just-one-empty-line() [not found] ` <mailman.350.1223291799.25473.help-gnu-emacs@gnu.org> @ 2008-10-06 11:20 ` Nordlöw 0 siblings, 0 replies; 9+ messages in thread From: Nordlöw @ 2008-10-06 11:20 UTC (permalink / raw) To: help-gnu-emacs On 6 Okt, 13:15, Bernardo Bacic <bernardo.ba...@pobox.com> wrote: > > I'm looking for a function just-one-empty-line(), or empty-lines() for > > the multi-line-variant, that does kind of what just-one-space() does > > but instead works on empty lines. Any suggestions? > > > Example: > > > pre;\n > > \n > > \n > > post; > > > is converted to > > > pre;\n > > \n > > post; > > a regexp search (for ^J\{2,\}) and replace comes to mind ... Which search and replace functions should I use? /Nordlöw ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Requested function: just-one-empty-line() 2008-10-06 8:50 Requested function: just-one-empty-line() Nordlöw 2008-10-06 11:15 ` Bernardo Bacic [not found] ` <mailman.350.1223291799.25473.help-gnu-emacs@gnu.org> @ 2008-10-06 11:39 ` Sergei 2008-10-06 11:50 ` Andreas Politz 3 siblings, 0 replies; 9+ messages in thread From: Sergei @ 2008-10-06 11:39 UTC (permalink / raw) To: help-gnu-emacs On Oct 6, 3:50 pm, Nordlöw <per.nord...@gmail.com> wrote: > I'm looking for a function just-one-empty-line(), or empty-lines() for > the multi-line-variant, that does kind of what just-one-space() does > but instead works on empty lines. Any suggestions? > Example: > pre;\n > \n > \n > post; > is converted to > pre;\n > \n > post; "C-h k C-x C-o" tells me that C-x C-o runs the command delete-blank-lines, which is an interactive compiled Lisp function in `emacs/lisp/simple.el'. It is bound to C-x C-o. (delete-blank-lines) On blank line, delete all surrounding blank lines, leaving just one. On isolated blank line, delete that one. On nonblank line, delete any immediately following blank lines. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Requested function: just-one-empty-line() 2008-10-06 8:50 Requested function: just-one-empty-line() Nordlöw ` (2 preceding siblings ...) 2008-10-06 11:39 ` Sergei @ 2008-10-06 11:50 ` Andreas Politz 2008-10-06 12:14 ` Nordlöw 3 siblings, 1 reply; 9+ messages in thread From: Andreas Politz @ 2008-10-06 11:50 UTC (permalink / raw) To: help-gnu-emacs Nordlöw wrote: > I'm looking for a function just-one-empty-line(), or empty-lines() for > the multi-line-variant, that does kind of what just-one-space() does > but instead works on empty lines. Any suggestions? > > Example: > > pre;\n > \n > \n > post; > > is converted to > > pre;\n > \n > post; > > Thanks in advance, > Nordlöw ,----[ C-h f delete-blank-lines RET ] | delete-blank-lines is an interactive compiled Lisp function in `simple.el'. | It is bound to C-x C-o. | (delete-blank-lines) | | On blank line, delete all surrounding blank lines, leaving just one. | On isolated blank line, delete that one. | On nonblank line, delete any immediately following blank lines. `---- -ap ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Requested function: just-one-empty-line() 2008-10-06 11:50 ` Andreas Politz @ 2008-10-06 12:14 ` Nordlöw 2008-10-06 14:27 ` Xah 0 siblings, 1 reply; 9+ messages in thread From: Nordlöw @ 2008-10-06 12:14 UTC (permalink / raw) To: help-gnu-emacs On 6 Okt, 13:50, Andreas Politz <poli...@fh-trier.de> wrote: > Nordlöw wrote: > > I'm looking for a function just-one-empty-line(), or empty-lines() for > > the multi-line-variant, that does kind of what just-one-space() does > > but instead works on empty lines. Any suggestions? > > > Example: > > > pre;\n > > \n > > \n > > post; > > > is converted to > > > pre;\n > > \n > > post; > > > Thanks in advance, > > Nordlöw > > ,----[ C-h f delete-blank-lines RET ] > | delete-blank-lines is an interactive compiled Lisp function in `simple.el'. > | It is bound to C-x C-o. > | (delete-blank-lines) > | > | On blank line, delete all surrounding blank lines, leaving just one. > | On isolated blank line, delete that one. > | On nonblank line, delete any immediately following blank lines. > `---- > > -ap Great! Thanks a lot! /Nordlöw ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Requested function: just-one-empty-line() 2008-10-06 12:14 ` Nordlöw @ 2008-10-06 14:27 ` Xah 2008-10-06 15:24 ` Andreas Politz 0 siblings, 1 reply; 9+ messages in thread From: Xah @ 2008-10-06 14:27 UTC (permalink / raw) To: help-gnu-emacs On Oct 6, 5:14 am, Nordlöw <per.nord...@gmail.com> wrote: > On 6 Okt, 13:50, Andreas Politz <poli...@fh-trier.de> wrote: > > Nordlöw wrote: > > > I'm looking for a function just-one-empty-line(), or empty-lines() for > > > the multi-line-variant, that does kind of what just-one-space() does > > > but instead works on empty lines. Any suggestions? > > > > Example: > > > > pre;\n > > > \n > > > \n > > > post; > > > > is converted to > > > > pre;\n > > > \n > > > post; > > > > Thanks in advance, > > > Nordlöw > > > ,----[ C-h f delete-blank-lines RET ] > > | delete-blank-lines is an interactive compiled Lisp function in `simple.el'. > > | It is bound to C-x C-o. > > | (delete-blank-lines) > > | > > | On blank line, delete all surrounding blank lines, leaving just one. > > | On isolated blank line, delete that one. > > | On nonblank line, delete any immediately following blank lines. > > `---- Since delete-blank-lines and just-one-space are similar in function from user point of view, i combined them into one single function, that calls each depending on the context. So, a single key is assigned to this command, saving up shortcut spaces. (defun shrink-whitespaces () "Collapse all white spaces around point, depending on context. White space here includes space, tabs, and any end of line char. This commands either calls just-one-space or delete-blank-lines." (interactive) (let (p1 p2 mytext) (save-excursion (skip-chars-backward "\t \n") (setq p1 (point)) (skip-chars-forward "\t \n") (setq p2 (point)) (setq mytext (buffer-substring-no-properties p1 p2)) ) (if (string-match "[\t ]*\n[\t ]*\n" mytext) (progn (delete-blank-lines)) (progn (just-one-space)) ) ) ) http://xahlee.org/emacs/ergonomic_emacs_keybinding.html Xah ∑ http://xahlee.org/ ☄ ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Requested function: just-one-empty-line() 2008-10-06 14:27 ` Xah @ 2008-10-06 15:24 ` Andreas Politz 2008-10-07 2:53 ` Xah 0 siblings, 1 reply; 9+ messages in thread From: Andreas Politz @ 2008-10-06 15:24 UTC (permalink / raw) To: help-gnu-emacs Xah wrote: > On Oct 6, 5:14 am, Nordlöw <per.nord...@gmail.com> wrote: >> On 6 Okt, 13:50, Andreas Politz <poli...@fh-trier.de> wrote: > >>> Nordlöw wrote: >>>> I'm looking for a function just-one-empty-line(), or empty-lines() for >>>> the multi-line-variant, that does kind of what just-one-space() does >>>> but instead works on empty lines. Any suggestions? >>>> Example: >>>> pre;\n >>>> \n >>>> \n >>>> post; >>>> is converted to >>>> pre;\n >>>> \n >>>> post; >>>> Thanks in advance, >>>> Nordlöw >>> ,----[ C-h f delete-blank-lines RET ] >>> | delete-blank-lines is an interactive compiled Lisp function in `simple.el'. >>> | It is bound to C-x C-o. >>> | (delete-blank-lines) >>> | >>> | On blank line, delete all surrounding blank lines, leaving just one. >>> | On isolated blank line, delete that one. >>> | On nonblank line, delete any immediately following blank lines. >>> `---- > > Since delete-blank-lines and just-one-space are similar in function > from user point of view, i combined them into one single function, > that calls each depending on the context. So, a single key is assigned > to this command, saving up shortcut spaces. > > (defun shrink-whitespaces () > "Collapse all white spaces around point, depending on context. > White space here includes space, tabs, and any end of line char. > This commands either calls just-one-space or delete-blank-lines." > (interactive) > (let (p1 p2 mytext) > (save-excursion > (skip-chars-backward "\t \n") > (setq p1 (point)) > (skip-chars-forward "\t \n") > (setq p2 (point)) > (setq mytext (buffer-substring-no-properties p1 p2)) > ) > (if (string-match "[\t ]*\n[\t ]*\n" mytext) > (progn (delete-blank-lines)) > (progn (just-one-space)) > ) > ) > ) > > http://xahlee.org/emacs/ergonomic_emacs_keybinding.html > > Xah > ∑ http://xahlee.org/ > > ☄ Is the parenstyle part of your 'Modernization of emacs' program or are you just trying to offend 'tech-geekers' ? ;O) -ap ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Requested function: just-one-empty-line() 2008-10-06 15:24 ` Andreas Politz @ 2008-10-07 2:53 ` Xah 0 siblings, 0 replies; 9+ messages in thread From: Xah @ 2008-10-07 2:53 UTC (permalink / raw) To: help-gnu-emacs On Oct 6, 8:24 am, Andreas Politz <poli...@fh-trier.de> wrote: > > Since delete-blank-lines and just-one-space are similar in function > > from user point of view, i combined them into one single function, > > that calls each depending on the context. So, a single key is assigned > > to this command, saving up shortcut spaces. > > > (defun shrink-whitespaces () > > "Collapse all white spaces around point, depending on context. > > White space here includes space, tabs, and any end of line char. > > This commands either calls just-one-space or delete-blank-lines." > > (interactive) > > (let (p1 p2 mytext) > > (save-excursion > > (skip-chars-backward "\t \n") > > (setq p1 (point)) > > (skip-chars-forward "\t \n") > > (setq p2 (point)) > > (setq mytext (buffer-substring-no-properties p1 p2)) > > ) > > (if (string-match "[\t ]*\n[\t ]*\n" mytext) > > (progn (delete-blank-lines)) > > (progn (just-one-space)) > > ) > > ) > > ) > > >http://xahlee.org/emacs/ergonomic_emacs_keybinding.html > > > Xah > > ∑http://xahlee.org/ > > > ☄ > > Is the parenstyle part of your 'Modernization of emacs' program or > are you just trying to offend 'tech-geekers' ? ;O) The quick answer is that i'm just lazy. The full answer is that i think programers should never spend time to manually format his code. In fact this is one of my big gribe, and has wrote several articles about it, several of which are results of newsgroup flamewars. See • A Simple Lisp Code Formatter http://xahlee.org/emacs/lisp_formatter.html • The Harm of Hard-wrapping Lines http://xahlee.org/UnixResource_dir/writ/hard-wrap.html • Fundamental Problems of Lisp http://xahlee.org/UnixResource_dir/writ/lisp_problems.html (see the section “Automatic, Uniform, Universal, Source Code Display” about the relation of fully regular syntax and code formatting) In emacs, in just about any language mode, despite elisp power and 3 decades of code, programers basically still manually format each line of code. It would be much better, if programer can press a button, and emacs will call pretty-reformat-current-block similar to fill- paragraph or unfill-paragraph. A algorithm for formatting of source code is a trivial problem in the theoretical sense, it's just tedious to code it. The formatting of mostly regular syntax such as lisp is more trivial. I do hope down the road i'll write such a function for at least lisp. Xah ∑ http://xahlee.org/ ☄ ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2008-10-07 2:53 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-10-06 8:50 Requested function: just-one-empty-line() Nordlöw 2008-10-06 11:15 ` Bernardo Bacic [not found] ` <mailman.350.1223291799.25473.help-gnu-emacs@gnu.org> 2008-10-06 11:20 ` Nordlöw 2008-10-06 11:39 ` Sergei 2008-10-06 11:50 ` Andreas Politz 2008-10-06 12:14 ` Nordlöw 2008-10-06 14:27 ` Xah 2008-10-06 15:24 ` Andreas Politz 2008-10-07 2:53 ` Xah
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).