Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Fix reader syntaxes disrupted by newlines#655

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
RuijieYu wants to merge2 commits intoabo-abo:master
base:master
Choose a base branch
Loading
fromRuijieYu:bug-647-quote-newline

Conversation

@RuijieYu
Copy link
Contributor

@RuijieYuRuijieYu commentedApr 8, 2023
edited
Loading

Note that I am writing this PR on a recent Emacs 30 build, whereas the min version supported for lispy is24.3. I hope someone can test on some earlier versions.

Fixes#647. Alsofixes#653 by its first commit.

Lispy would assume an implicit nil after the reader syntax, like this:

(defunfoo ()  '  (bar baz)  );; point here, press i to format

Gets this incorrect result:

(defunfoo ()  '() (bar baz))
  • lispy.el

(lispy--delete-insignificant-sexps): allow removing sexps that are
implicitly-created by lispy, and serve no purpose in the real input and output
sexp other than formatting. At the moment, just remove newline nodes.

(lispy--read-reader-syntax): helper function to avoid code duplication; converts
a reader syntax RS, e.g.,"`", plus its immediately-next sexp, into an internal
representation with TAG.

(lispy--read): update handling of"#'",",@","'","`","," to make use of
lispy--read-reader-syntax.

(lispy--insert): fixed float and quasiquote handling (currently it calls
(insert (caddr sxp)), which is incorrect becauseinsert considers it a
character; float was not problematic because this code path was never triggered:
things like1.2 have not been converted intoly-raw float constructs anyway.

  • lispy-test.el

(lispy-read-quote-newline): added 5 simple tests for each of the
addressed reader syntaxes.

Fixes bug#653.* lispy-test.el(lispy-simulate-key) (lispy-simulate-keys) (lispy-simulate-expect):Added facilities to assert results after a given set of keypresses.(lispy-read-unsafe-chars): added regression tests for bug#648.
Fixes bug#647.Lispy would assume an implicit nil after the reader syntax, like this:```emacs-lisp(defun foo ()  '  (bar baz)  ) ;; point here, press i to format```Gets this incorrect result:```emacs-lisp(defun foo ()  '() (bar baz))```* lispy.el (lispy--delete-insignificant-sexps): allow removing sexps that areimplicitly-created by lispy, and serve no purpose in the real input and outputsexp other than formatting.  At the moment, just remove newline nodes.(lispy--read-reader-syntax): helper function to avoid code duplication; replacesa reader syntax RS, e.g., "`", plus its immediately-next sexp into an internalrepresentation with TAG.(lispy--read): update handling of "#'", ",@", "'", "`", "," to make use of`lispy--read-reader-syntax'.(lispy--insert): fixed float and quasiquote handling (currently it calls`(insert (caddr sxp))', which is incorrect because `insert' considers it acharacter; float was not problematic because this code path was never triggered:things like 1.2 have not been converted into `ly-raw float' constructs anyway.* lispy-test.el (lispy-read-quote-newline): added 5 simple tests for each of theaddressed reader syntaxes.
@RuijieYuRuijieYuforce-pushed thebug-647-quote-newline branch from0acedfe to8e6d0a1CompareApril 8, 2023 10:31
@RuijieYuRuijieYu changed the titleBug 647 quote newlineFix reader syntaxes disrupted by newlinesApr 8, 2023
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

make test fails [BUG] " ` " at EOL reformats incorrectly

1 participant

@RuijieYu

[8]ページ先頭

©2009-2025 Movatter.jp