aboutsummaryrefslogtreecommitdiffstats
path: root/nextstep (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-01-01Update copyright year to 2020Paul Eggert5-5/+5
Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
2019-10-05Include new permission settings for macOS 10.15 (bug#37551)Artyom Loenko1-0/+8
* nextstep/templates/Info.plist.in (NSDesktopFolderUsageDescription): (NSDocumentsFolderUsageDescription): (NSDownloadsFolderUsageDescription): (NSRemovableVolumesUsageDescription): Add description to enable setting in macOS 10.15. Copyright-paperwork-exempt: yes
2019-03-31Use the correct filename for dump file in NSAlan Third1-3/+3
* nextstep/Makefile.in (all): (${ns_appbindir}/Emacs.pdmp): (links): Use mixed case 'Emacs.pdmp' to match the executable name.
2019-01-28links: also link pdmpSam Steingold1-0/+1
2019-01-15Add portable dumperDaniel Colascione1-1/+5
Add a new portable dumper as an alternative to unexec. Use it by default. * src/dmpstruct.awk: New file. * src/doc.c (get_doc_string): use will_dump_p(). * src/editfns.c (styled_format): silence compiler warning with UNINIT. * src/emacs-module.c (syms_of_module): staticpro ltv_mark. * src/emacs.c (gflags): new variable. (init_cmdargs): unwrap (string_starts_with_p, find_argument, dump_error_to_string) (load_pdump): new functions. (main): detect pdumper and --temacs invocation; actually load portable dump when detected; set gflags as appropriate; changes to init functions throughout to avoid passing explicit 'initialized' argument. * src/eval.c (inhibit_lisp_code): remove unused variable. (init_eval_once_for_pdumper): new function. (init_eval_once): call it. * src/filelock.c: CANNOT_DUMP -> will_dump_p() * src/fingerprint-dummy.c: new file * src/fingerprint.h: new file * src/fns.c: CANNOT_DUMP -> will_dump_p(), etc. (weak_hash_tables): remove (hashfn_equal, hashfn_eql): un-staticify (make_hash_table): set new 'next_weak' hash table field; drop global weak_hash_tables logic. (copy_hash_table): drop global weak_hash_tables logic. (hash_table_rehash): new function. (hash_lookup, hash_put, hash_remove_from_table, hash_clear): rehash if needed. (sweep_weak_table): un-staticify; explain logic; bool-ify. (sweep_weak_hash_tables): remove function. * src/font.c (syms_of_font): remember pdumper stuff. * src/fontset.c (syms_of_fontset): remember pdumper stuff. * src/frame.c (make_initial_frame): don't reset Vframe_list. (init_frame_once_for_pdumper, init_frame_once): new functions. (syms_of_frame): remove redundant staticpro. * src/fringe.c (init_fringe_once_for_pdumper): new functin. (init_fringe_once): call it. * src/ftcrfont.c (syms_of_ftcrfont_for_pdumper): new function. (syms_of_ftcrfont): call it. * src/ftfont.c (syms_of_ftfont_for_pdumper): new function. (syms_of_ftfont): call it. * src/ftxont.c (syms_of_ftxfont_for_pdumper): new function. (syms_of_ftxfont): call it. * src/gmalloc.c: adjust for pdumper througout (DUMPED): remove weird custom dumped indicator. * src/gnutls.c (syms_of_gnutls): pdumper note for gnutls_global_initialized. * src/image.c (syms_of_image): add pdumper comment, initializer note. * src/insdel.c (prepare_to_modify_buffer_1): account for buffer contents possibly being in dump image. * src/keyboard.c (syms_of_keyboard_for_pdumper): new function. (syms_of_keyboard): staticpro more; call pdumper syms function. * src/lisp.h: add comments throughout (gflags): declare. (will_dump_p, will_bootstrap_p, will_dump_with_pdumper_p) (dumped_with_pdumper_p, will_dump_with_unexec_p) (dumped_with_unexec_p, definitely_will_not_unexec_p): new functions. (POWER_OF_2, ROUNDUP): move macros. (PSEUDOVECTOR_TYPE, PSEUDOVECTOR_TYPEP): take vectorlike header pointer instead of vector; constify. (Lisp_Hash_Table): add comment about need to rehash on access; add comment for next_weak. (HASH_KEY, HASH_VALUE, HASH_HASH, HASH_TABLE_SIZE): const-ify. (hash_table_rehash): declare. (hash_rehash_needed_p, hash_rehash_if_needed): new functions. (finalizers, doomed_finalizers): declare extern. (SUBR_SECTION_ATTRIBUTE): new macro. (staticvec, staticidx): un-static-ify. (sweep_weak_hash_tables): remove declaration. (sweep_weak_table): declare. (hashfn_eql, hashfn_equal): declare. (number_finalizers_run): new variable. (Vdead): externify when ENABLE_CHECKING. (gc_root_type): new enumeration. (gc_root_visitor): new struct. (visit_static_gc_roots): declare. (vectorlike_nbytes): declare. (vector_nbytes): define as trivial inline function wrapper for vectorlike_nbytes. (init_obarray_once): change signature. (primary_thread): extern-ify. (init_buffer): change signature. (init_frame_once): declare. * src/lread.c (readevalloop): adjust for new dumped predicates. (init_obarray_once): new function. (ndefsubr): new variable. (defsubr): increment it. (load_path_check): adjust for pdumper. (load_path_default): use pdumper functions; adjust for dump search. * src/macfont.m (macfont_init_font_change_handler): avoid shadowing global. (syms_of_macfont_for_pdumper): new function. (syms_of_macfont): call it. * src/menu.c (syms_of_menu): staticpro more stuff. * src/minibuf.c (Ftry_completion): rehash if needed. (init_minibuf_once_for_pdumper): new function. (init_minibuf_once): call it. * src/nsfont.m (syms_of_nsfns): staticpro more. * src/nsfont.m (syms_of_nsfont_for_pdumper): new function. (syms_of_nsfont): call it. * src/nsterm.m (syms_of_nsfont): remember pdumper stuff. * src/pdumper.c: new file. * src/pdumper.h: new file. * src/process.c (init_process_emacs): use new pdumper functions instead of CANNOT_DUMP. * src/profiler.c (syms_of_profiler_for_pdumper): new function. (syms_of_profiler_for_pdumper): call it. * src/search.c (syms_of_search_for_pdumper): new function. (syms_of_search_for_pdumper): call it. * src/sheap.c (bss_sbrk_did_unexec): remove. * src/sheap.h (bss_sbrk_did_unexec): remove. * src/syntax.c (syms_of_syntax): don't redundantly staticpro re_match_object. * src/sysdep.c: use will_dump_with_unexec_p() instead of bss hack thing. * src/syssignals.h (init_sigsegv): declare. * src/systime.h (init_timefns): remove bool from signature. * src/textprop.c (syms_of_textprop): move staticpro. * src/thread.c (main_thread_p): constify. * src/thread.h (main_thread_p): constify. * src/timefns.c (init_timefns): remove bool from signature. (syms_of_timefns_for_pdumper): new function. (syms_of_timefns): call it. * src/w32.c: rearrange code. * src/w32.h (w32_relocate): declare. * src/w32fns.c (syms_of_w32fns): add pdumper note. * src/w32font.c (syms_of_w32font_for_pdumper): new function. (syms_of_w32font): call it. * src/w32heap.c (using_dynamic_heap): new variable. (init_heap): use it. * src/w32menu.c (syms_of_w32menu): add pdumper note. * src/w32proc.c (ctrl_c_handler, mainCRTStartup, _start, open_input_file) (rva_to_section, close_file_data): move here. * src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper): new function. (syms_of_w32uniscribe): call it. * src/window.c (init_window_once_for_pdumper): new function. (init_window_once): call it; staticpro more stuff. * src/xfont.c (syms_of_xfont_for_pdumper): new function. (syms_of_xfont): call it. * src/xftfont.c (syms_of_xftfont_for_pdumper): new function. (syms_of_xftfont): call it. * src/xmenu.c (syms_of_xmenu_for_pdumper): new function. (syms_of_xmenu): call it. * src/xselect.c (syms_of_xselect_for_pdumper): new function. (syms_of_xselect): call it. * src/xsettings.c (syms_of_xsettings): add more pdumper notes. * src/term.c (syms_of_xterm): add pdumper note. * src/dispnew.c (init_faces_initial): new function. (init_display_interactive): rename from init_display; use will_dump_p instead of !initialized. Initialize faces early for pdumper if needed. (init_display): new function. (syms_of_display_for_pdumper): new function. (syms_of_display): call it. * src/dbusbind.c (syms_of_dbusbind): Add TODO for bus reset on pdumper load. * src/data.c (Fdefalias): Use will_dump_p instead of Vpurify_flag. (Fmake_variable_buffer_local): silence compiler warning with -Og by making valcontents UNINIT. (arith_driver): silence compiler warning with UNINIT. * src/conf_post.h (ATTRIBUTE_SECTION): new macro. * src/composite.c (composition_gstring_put_cache): rehash hash table if needed. * src/coding.c (init_coding_once, syms_of_coding): remember pdumper stuff. * src/charset.h (charset_table_size, charset_table_user): declare. * src/charset.c (charset_table_used, charset_table_size): un-static. (init_charset_oncem, syms_of_charset): remember pdumper stuff. * src/category.c (category_table_version): remove obsolete variable. * src/callint.c (syms_of_callint): staticpro 'preserved_fns' (init_callproc): use will_dump_p instead of !CANNOT_DUMP. * src/bytecode.c (exec_byte_code): rehash table tables if needed * src/buffer.c (alloc_buffer_text, free_buffer_text): account for pdumper (init_buffer_once): add TODO; remember stuff for pdumper. (init_buffer): don't take initialized argument; adjust for pdumper. * src/atimer.c (init_atimer): initialize subr only if !initialized. * src/alloc.c: (vector_marked_p, set_vector_marked) (vectorlike_marked_p, set_vectorlike_marked, cons_marked_p) (set_cons_marked, string_marked_p, set_string_marked) (symbol_marked_p, set_symbol_marked, interval_marked_p) (set_interval_marked): new accessor routines. Use them instead of raw GC access throughout. (Vdead): make non-static when ENABLE_CHECKING. (vectorlike_nbytes): rename of 'vector_nbytes'; take a vectorlike header as input instead of a vector. (number_finalizers_run): new internal C variable. (mark_maybe_object): check for pdumper objects. (valid_pointer_p): don't be gratuitously inefficient under rr(1). (make_pure_c_string): add support for size_byte = -2 mode indicating that string data points into Emacs image rodata. (visit_vectorlike_root): visits GC roots embedded in vectorlike objects. (visit_buffer_root): visits GC roots embedded in our totally-not-a-buffer buffer global objects. (visit_static_gc_roots): visit GC roots in the Emacs data section. (mark_object_root_visitor): root callback used for conventional GC marking (weak_hash_tables): new internal variable for tracking found weak hash tables during GC. (mark_and_sweep_weak_table_contents): new weak hash table marking. (garbage_collect_1): use new GC root visitor machinery. (mark_vectorlike): accept a vectorlike_header instead of a Lisp_Vector. (mark_frame, mark_window, mark_hash_table): new functions. (mark_object): initialize 'm'; check for pdumper objects and use new mark-bit accessors throughout. Remove some object-specific marking code and move to helper functions above. (survives_gc_p): check for pdumper objects. (gc-sweep): clear pdumper mark bits. (init_alloc_once_for_pdumper): new helper function for early init called both during normal init and pdumper load. (init_alloc_once): pdumper integration. * src/Makefile.in: Rewrite dumping for pdumper; add pdumper.o; invoke temacs with --temacs command line option; build dmpstruct.h from dmpstruct.awk; stop relying on CANNOT_DUMP; clean up pdumper intermediate files during build. * nextstep/Makefile.in: build emacs.pdmp into NS packages * lisp/startup.el: account for new '--temacs' and '--dump-file' command line option. * lisp/loadup.el: rewrite early init to account for pdumper; use injected 'dump-mode' variable (set via the new '--temacs' option) instead of parsing command line. * lisp/cus-start.el: Check 'dump-mode' instead of 'purify-flag', since the new 'dump-mode' * lib-src/make-fingerprint.c: new program * lib-src/Makefile.in: built make-fingerprint utility program * configure.ac: Add --with-pdumper toggle to control pdumper support; add --with-unexec toggle to control unexec support. Add --with-dumping option to control which dumping strategy we use by default. Adjust for pdumper throughout. Check for posix_madvise. * Makefile.in: Add @DUMPING@ substitution; add pdumper mode. * .gitignore: Add make-fingerprint, temacs.in, fingerprint.c, dmpstruct.h, and pdumper dump files.
2019-01-01Update copyright year to 2019Paul Eggert5-5/+5
Run 'TZ=UTC0 admin/update-copyright $(git ls-files)'.
2018-12-01; Add notes about cross-compiling macOS versionsAlan Third1-0/+29
2018-10-10Fix Apple Script permissions errorAlan Third1-0/+2
* nextstep/templates/Info.plist.in: Add NSAppleEventsUsageDescription message to enable AppleEvents usage.
2018-02-20ns_appsrc is not disjoint with srcdir/ns_appsrcSam Steingold1-1/+1
(links): Avoid "file already exists" errors by removing the existing file.
2018-01-17An overdue update of GNUstep emacs.tiffGlenn Morris2-2/+3
* nextstep/GNUstep/Emacs.base/Resources/emacs.tiff: Update to the Emacs 25 icon. Converted from hicolor/scalable/apps/emacs.svg using Gimp. * nextstep/GNUstep/Emacs.base/Resources/README: Update.
2018-01-01Update copyright year to 2018Paul Eggert5-5/+5
Run admin/update-copyright.
2017-09-29Prefer HTTPS to HTTP for gnu.orgPaul Eggert1-1/+1
This catches some URLs I missed in my previous scan, or perhaps were added after the scan.
2017-09-13Prefer HTTPS to FTP and HTTP in documentationPaul Eggert5-5/+5
Most of this change is to boilerplate commentary such as license URLs. This change was prompted by ftp://ftp.gnu.org's going-away party, planned for November. Change these FTP URLs to https://ftp.gnu.org instead. Make similar changes for URLs to other organizations moving away from FTP. Also, change HTTP to HTTPS for URLs to gnu.org and fsf.org when this works, as this will further help defend against man-in-the-middle attacks (for this part I omitted the MS-DOS and MS-Windows sources and the test tarballs to keep the workload down). HTTPS is not fully working to lists.gnu.org so I left those URLs alone for now.
2017-07-23Enable GUI Emacs without 'make install' on macOS (Bug #27645)Charles A. Roelli1-4/+12
* nextstep/INSTALL: Correct it, and mention that Emacs can be run from 'src/emacs'. * src/nsterm.m (applicationDidFinishLaunching:): When Emacs is launched outside of a macOS application bundle, change its activation policy from the default 'prohibited' to 'regular'. ; * etc/NEWS: Mention the change on macOS.
2017-01-07Remove @SET_MAKE@ from manually-maintained filesPaul Eggert1-1/+0
Emacs now assumes GNU Make, so @SET_MAKE@ is no longer needed. * Makefile.in, lwlib/Makefile.in, nextstep/Makefile.in: * src/Makefile.in: Remove @SET_MAKE@.
2016-12-31Update copyright year to 2017Paul Eggert5-5/+5
Run admin/update-copyright.
2016-11-06Modernize usage of 'macOS' in doc and commentsPaul Eggert6-18/+18
Apple changed the spelling of its operating system again, to "macOS", effective with macOS 10.12 Sierra (2016-09-20). Change Emacs documentation and comments to match this. Stick with older OS spellings ("OS X", "Mac OS X") when talking about older releases where the older names are more correct.
2016-07-10Remove App Nap setting from Info.plist (bug#22993)Alan Third1-2/+0
* nextstep/templates/Info.plist.in: Remove LSAppNapIsDisabled key since it doesn't actually disable app nap.
2016-07-07Disable App Nap (bug#22993)Aaron Jensen1-0/+2
* nextstep/templates/Info.plist.in: Insert AppNap disable code. Copyright-paperwork-exempt: yes
2016-03-14ASCII-only etc/NEWS etc.Paul Eggert1-12/+7
* etc/NEWS, nextstep/README: Revert the recently-added curved quotes, and stick to ASCII. This typically involves replacing curved with straight quotes. Since etc/NEWS is viewed so often by UTF-8-ignorant tools, rewrite its non-ASCII text to spell out Unicode, e.g., replace ‘‒’ with ‘U+2012 (FIGURE DASH)’.
2016-03-14Curved quotes in etc/NEWS etc.Paul Eggert1-7/+31
* etc/NEWS, nextstep/README: Prefer curved quotes in the recently-changed text documentation. See: http://lists.gnu.org/archive/html/emacs-devel/2016-03/msg00860.html
2016-03-14Fix some single quotes in documentationPaul Eggert1-5/+4
* doc/emacs/anti.texi (Antinews): Avoid confusion in info and PDF when documenting quoting styles. * etc/NEWS, nextstep/README: In these plain text files, quote 'like this' consistently, rather than also (sometimes) ‘like this’ or (more often) `like this'.
2016-02-27* nextstep/WISHLIST: Merge into etc/TODO and remove.Glenn Morris2-249/+2
* etc/TODO: Merge in items from nextstep/WISHLIST. * nextstep/README: Update for this change.
2016-02-24Update HISTORY section in readme for the NextStep interface.Anders Lindgren1-4/+9
* nextstep/README: Update HISTORY after suggestion from former maintainer Adrian Robert.
2016-02-22; Spelling fixPaul Eggert1-1/+1
2016-02-20Update NextStep readme and add wish list.Anders Lindgren2-3/+346
* nextstep/README: Rewritten from scratch. New sections on "History", "Overview of Cocoa and Objective-C", "Guidelines", "Tracing Support", and "GNUStep". Expanded the "See Also" section. * nextstep/WISHLIST: New file containing list of issues and ideas associated with the NS port of Emacs.
2016-01-01Update copyright year to 2016Paul Eggert4-4/+4
Run admin/update-copyright.
2015-11-24Fixed bug#18283: Enable applescript in NextStep.Anders Lindgren1-0/+2
* nextstep/templates/Info.plist.in: Set NSAppleScriptEnabled to YES.
2015-10-24Update the new iconNicolas Petton1-0/+0
Move the E slightly to the right in the circle. * etc/images/icons/hicolor/128x128/apps/emacs.png: * etc/images/icons/hicolor/16x16/apps/emacs.png: * etc/images/icons/hicolor/24x24/apps/emacs.png: * etc/images/icons/hicolor/32x32/apps/emacs.png: * etc/images/icons/hicolor/48x48/apps/emacs.png: * etc/images/icons/hicolor/scalable/apps/emacs.svg: * nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns: * nt/icons/emacs.ico: New icom update.
2015-10-23Replace the old icon for Windows and Mac OSXNicolas Petton1-0/+0
* nt/icons/emacs.ico: * nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns: Use the new icons.
2015-07-18Expose more file types to OS X that Emacs understands.Ivan Andrus1-0/+88
* Cocoa/Emacs.base/Contents/Info.plist: Add editor role for sty, dtx, json, and org files. Export UTIs for el, elc, and org files.
2015-06-24* nextstep/Makefile.in (all): Make it the first target.Glenn Morris1-3/+15
(../src/emacs${EXEEXT}): Add rule for making it.
2015-06-22Revert 2014-06-25 nextstep/Makefile change.Glenn Morris1-6/+7
* nextstep/Makefile.in (${ns_appbindir}): Remove rule. (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule, not as an order-only prerequisite.
2015-06-22* configure.ac (--with-ns): Enable by default on OS X.Glenn Morris1-0/+2
; * etc/NEWS, nextstep/INSTALL: Mention this.
2015-04-07Rename ChangeLogs for gitlog-to-changelogPaul Eggert1-0/+0
This patch was implemented via the following shell commands: find * -name ChangeLog | sed 's,.*,git mv & &.1, s, lisp/ChangeLog\.1$, lisp/ChangeLog.17, s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09, s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3, s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2, s, src/ChangeLog\.1$, src/ChangeLog.13,' | sh git commit -am"[this commit message]"
2015-04-05Update the 24.5 release date in all ChangeLog filesNicolas Petton1-1/+1
2015-03-27Bump version to 24.5 for the release-candidateemacs-24.5-rc1Nicolas Petton1-0/+4
2015-01-01Update copyright year to 2015Paul Eggert4-4/+4
Run admin/update-copyright.
2015-01-01Update copyright year to 2015Paul Eggert5-5/+5
Run admin/update-copyright.
2014-12-06fix last patchSam Steingold1-2/+4
2014-12-05fix last patchSam Steingold2-8/+19
* nextstep/Makefile.in (links): Use abs_top_builddir et al; link over DOC.
2014-12-03enable in-place GUISam Steingold2-3/+22
* nextstep/Makefile.in (links): New phony target to create a fake installation pointing back to the source tree to run GUI Emacs in-place (http://article.gmane.org/gmane.emacs.devel:178330).
2014-11-22* nextstep/templates/Info-gnustep.plist.in: Let configure set URL.Glenn Morris2-1/+5
2014-11-03* INSTALL: Remove univeral binary section.Jan Djärv2-7/+4
2014-10-20Add 24.4 release ChangeLog entriesemacs-24.4Glenn Morris1-0/+4
2014-10-15* nextstep/README: Move most contents into INSTALL.Glenn Morris2-35/+12
Remove license notice from file, since it is now trivial.
2014-10-12Update doc to say Mac OS X 10.6 or later now required.Paul Eggert2-1/+5
* doc/emacs/macos.texi (Mac OS / GNUstep, Mac / GNUstep Basics) (Mac / GNUstep Customization): * nextstep/README: Mac OS X 10.6 or later now required.
2014-06-24nextstep: trivial Makefile simplificationGlenn Morris2-3/+11
* nextstep/Makefile.in (${ns_appbindir}): New. (${ns_appbindir}/Emacs): Use order-only prereq to create output dir.
2014-06-14Parallelize clean rules using GNU make featuresGlenn Morris2-2/+6
* Makefile.in: (submake_template): New definition. (mostlyclean_dirs, clean_dirs, distclean_dirs, maintainer_clean_dirs): New variables. (mostlyclean, clean, distclean, bootstrap-clean, maintainer-clean) (extraclean): Define using each subdirectory as a prequisite. * lib/Makefile.am (bootstrap-clean): * doc/emacs/Makefile.in (bootstrap-clean): * doc/lispintro/Makefile.in (bootstrap-clean): * doc/lispref/Makefile.in (bootstrap-clean): * doc/misc/Makefile.in (bootstrap-clean): * lib-src/Makefile.in (bootstrap-clean): * lwlib/Makefile.in (bootstrap-clean): * nextstep/Makefile.in (bootstrap-clean): * nt/Makefile.in (bootstrap-clean): * oldXMenu/Makefile.in (bootstrap-clean): New rules, for symmetry/simplicity. * lwlib/Makefile.in (mostlyclean, clean, distclean, maintainer-clean): * oldXMenu/Makefile.in (mostlyclean, clean, distclean, maintainer-clean, tags): Declare as PHONY.
2014-03-12* nextstep/templates/Info.plist.in: Make it strictly valid xml.Glenn Morris2-1/+5
Fixes: debbugs:17002