-
Notifications
You must be signed in to change notification settings - Fork 309
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rust? #1
Comments
Ok, I was too quick, the README explains it all. |
Wait, what? I did not get it even from reading the readme. Do you want to build emacs with rust? |
I've fleshed out the README.md, and just written an announcement blog post: http://www.wilfred.me.uk/blog/2017/01/11/announcing-remacs-porting-emacs-to-rust/ |
Wilfred
pushed a commit
that referenced
this issue
Mar 2, 2017
This fixes some infinite loops that cannot be quitted out of, e.g., (defun foo () (nth most-positive-fixnum '#1=(1 . #1#))) when byte-compiled and when run under X. See: http://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00577.html This also attempts to keep the performance improvements I recently added, as much as possible under the constraint that the infloops must be caught. In some cases this fixes infloop bugs recently introduced when I removed immediate_quit. * src/alloc.c (Fmake_list): Use rarely_quit, not maybe_quit, for speed in the usual case. * src/bytecode.c (exec_byte_code): * src/editfns.c (Fcompare_buffer_substrings): * src/fns.c (Fnthcdr): * src/syntax.c (scan_words, skip_chars, skip_syntaxes) (Fbackward_prefix_chars): Use rarely_quit so that users can C-g out of long loops. * src/callproc.c (call_process_cleanup, call_process): * src/fileio.c (read_non_regular, Finsert_file_contents): * src/indent.c (compute_motion): * src/syntax.c (scan_words, Fforward_comment): Remove now-unnecessary maybe_quit calls. * src/callproc.c (call_process): * src/doc.c (get_doc_string, Fsnarf_documentation): * src/fileio.c (Fcopy_file, read_non_regular, Finsert_file_contents): * src/lread.c (safe_to_load_version): * src/sysdep.c (system_process_attributes) [GNU_LINUX]: Use emacs_read_quit instead of emacs_read in places where C-g handling is safe. * src/eval.c (maybe_quit): Move comment here from lisp.h. * src/fileio.c (Fcopy_file, e_write): Use emacs_write_quit instead of emacs_write_sig in places where C-g handling is safe. * src/filelock.c (create_lock_file): Use emacs_write, not plain write, as emacs_write no longer has a problem. (read_lock_data): Use emacs_read, not read, as emacs_read no longer has a problem. * src/fns.c (rarely_quit): Move to lisp.h and rename to incr_rarely_quit. All uses changed.. * src/fns.c (Fmemq, Fmemql, Fassq, Frassq, Fplist_put, Fplist_member): * src/indent.c (compute_motion): * src/syntax.c (find_defun_start, back_comment, forw_comment) (Fforward_comment, scan_lists, scan_sexps_forward): Use incr_rarely_quit so that users can C-g out of long loops. * src/fns.c (Fnconc): Move incr_rarely_quit call to within inner loop, so that it catches C-g there too. * src/keyboard.c (tty_read_avail_input): Remove commented-out and now-obsolete code dealing with interrupts. * src/lisp.h (rarely_quit, incr_rarely_quit): New functions, the latter moved here from fns.c and renamed from rarely_quit. (emacs_read_quit, emacs_write_quit): New decls. * src/search.c (find_newline, search_buffer, find_newline1): Add maybe_quit to catch C-g. * src/sysdep.c (get_child_status): Always invoke maybe_quit if interruptible, so that the caller need not bother. (emacs_nointr_read, emacs_read_quit, emacs_write_quit): New functions. (emacs_read): Rewrite in terms of emacs_nointr_read. Do not handle C-g or signals; that is now for emacs_read_quit. (emacs_full_write): Replace PROCESS_SIGNALS two-way arg with INTERRUPTIBLE three-way arg. All uses changed.
jeandudey
pushed a commit
to jeandudey/remacs
that referenced
this issue
May 29, 2017
The recent changes to src/casefiddle.c cause build failure as seen below: Starting program: /home/npostavs/src/emacs/emacs-bootstrapping/src/temacs --batch --load loadup bootstrap [Thread debugging using libthread_db enabled] Using host libthread_db library "/usr/lib/libthread_db.so.1". Loading loadup.el (source)... Using load-path (/home/npostavs/src/emacs/emacs-bootstrapping/lisp /home/npostavs/src/emacs/emacs-bootstrapping/lisp/emacs-lisp /home/npostavs/src/emacs/emacs-bootstrapping/lisp/language /home/npostavs/src/emacs/emacs-bootstrapping/lisp/international /home/npostavs/src/emacs/emacs-bootstrapping/lisp/textmodes /home/npostavs/src/emacs/emacs-bootstrapping/lisp/vc) Loading emacs-lisp/byte-run (source)... Loading emacs-lisp/backquote (source)... Loading subr (source)... Loading version (source)... Loading widget (source)... Loading custom (source)... Loading emacs-lisp/map-ynp (source)... Loading international/mule (source)... Loading international/mule-conf (source)... lread.c:3914: Emacs fatal error: assertion failed: !NILP (Vpurify_flag) Breakpoint 1, terminate_due_to_signal at emacs.c:363 363 signal (sig, SIG_DFL); (gdb) bt #0 0x0000000000579826 in terminate_due_to_signal at emacs.c:363 remacs#1 0x000000000060ec33 in die at alloc.c:7352 remacs#2 0x000000000066db40 in intern_c_string_1 at lread.c:3914 remacs#3 0x0000000000576884 in intern_c_string at lisp.h:3790 remacs#4 0x00000000005dc84f in prepare_casing_context at casefiddle.c:69 remacs#5 0x00000000005dd37f in casify_object at casefiddle.c:311 remacs#6 0x00000000005dd47f in Fcapitalize at casefiddle.c:356 remacs#7 0x00000000006325ac in eval_sub at eval.c:2219 remacs#8 0x0000000000632368 in eval_sub at eval.c:2184 remacs#9 0x000000000063446c in apply_lambda at eval.c:2875 remacs#10 0x00000000006329af in eval_sub at eval.c:2294 remacs#11 0x000000000062d462 in Fprogn at eval.c:449 remacs#12 0x000000000062d4cf in prog_ignore at eval.c:461 remacs#13 0x000000000062f19c in Fwhile at eval.c:982 remacs#14 0x00000000006321f4 in eval_sub at eval.c:2172 remacs#15 0x000000000062d462 in Fprogn at eval.c:449 remacs#16 0x000000000062f0c4 in Flet at eval.c:963 remacs#17 0x00000000006321f4 in eval_sub at eval.c:2172 remacs#18 0x0000000000632963 in eval_sub at eval.c:2290 remacs#19 0x000000000062d462 in Fprogn at eval.c:449 remacs#20 0x000000000062f0c4 in Flet at eval.c:963 remacs#21 0x00000000006321f4 in eval_sub at eval.c:2172 remacs#22 0x0000000000668caa in readevalloop at lread.c:1927 remacs#23 0x0000000000667253 in Fload at lread.c:1332 remacs#24 0x0000000000632683 in eval_sub at eval.c:2233 remacs#25 0x0000000000668caa in readevalloop at lread.c:1927 remacs#26 0x0000000000667253 in Fload at lread.c:1332 remacs#27 0x0000000000632683 in eval_sub at eval.c:2233 remacs#28 0x0000000000631be5 in Feval at eval.c:2041 remacs#29 0x000000000057e1af in top_level_2 at keyboard.c:1121 remacs#30 0x000000000062ffc7 in internal_condition_case at eval.c:1324 remacs#31 0x000000000057e1f0 in top_level_1 at keyboard.c:1129 remacs#32 0x000000000062f51e in internal_catch at eval.c:1091 remacs#33 0x000000000057e0ea in command_loop at keyboard.c:1090 remacs#34 0x000000000057d6d5 in recursive_edit_1 at keyboard.c:697 remacs#35 0x000000000057d8b4 in Frecursive_edit at keyboard.c:768 remacs#36 0x000000000057b55b in main at emacs.c:1687 Lisp Backtrace: "capitalize" (0xffffcf70) "format" (0xffffd130) "define-charset" (0xffffd370) "while" (0xffffd560) "let" (0xffffd7c0) "dolist" (0xffffd910) "let" (0xffffdb70) "load" (0xffffdfe0) "load" (0xffffe4a0) * src/casefiddle.c (syms_of_casefiddle): Declare four new symbols: Qtitlecase, Qspecial_uppercase, Qspecial_lowercase and Qspecial_titlecase. (prepare_casing_context): Use aforementioned symbols.
birkenfeld
pushed a commit
that referenced
this issue
Jul 14, 2017
* lisp/ses.el (ses-sym-rowcol): Check that the renamed cell hashmap has been instantiated before getting data from it. When editing several spreadsheets, and you have spreadsheet #1 with a cell named `foo', and no renamed cell in spreadsheet #2, then if you make a formula with `foo' in spreadsheet #2, not doing this check will make an error. (ses-cell-set-formula): Robustify versus incorrect cell references given in the user provided formula. An explicit error message is provided after the action when the user gives an incorrect cell reference, but the formula edition is not changed. This means that if the incorrect reference is to a cell that is created someday, then this new cell will not have the edited cell in its reference list. Fixing this can still be done by editing again the first cell formula. (ses-relocate-symbol): Do not create symbol of referred-to cell when this is a renamed cell.
Closed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Sorry, this is not an issue, just a question out of curiosity: does that r before emacs mean you're about to do something in Rust with this repo?
I'll be VERY interested in this. :-)
The text was updated successfully, but these errors were encountered: