Emacs 31.1 में क्या नया है
Emacs 31.1 को एक बड़े गुणवत्ता-जीवन अपग्रेड के रूप में स्वागत मिल रहा है, जिसमें बिल्ट-इन Tree-sitter इंटीग्रेशन, Eglot LSP client, lazy-loading “user-lisp” directories, एक docked file tree, और एक पुनर्जीवित embedded web browser शामिल हैं, जो इसे आधुनिक editors के और करीब लाते हैं। लंबे समय के उपयोगकर्ता दशकों पुराने configs को नए core features पर अधिक निर्भर करके फिर से सेट करने की बात करते हैं, जबकि अन्य Emacs की AI agents के साथ बेहतरीन तालमेल वाली “text orchestrator” शक्ति पर ध्यान देते हैं। प्रशंसा के साथ-साथ package management में बदलाव, glibc द्वारा unexec हटाने के प्रभाव, और शक्तिशाली LLM-based helpers के युग में newcomers को Emacs और Emacs Lisp कैसे सीखना चाहिए, इस पर बहस भी जारी है.
Emacs 31.1 की विशेषताएँ और प्रदर्शन
- उपयोगकर्ता यह देखकर प्रसन्न हैं कि स्टार्टअप ओवरहेड कम हो गया है; इसे अब मल्टी-यूज़र सिस्टमों पर पुराने “Emacs बहुत भारी है बनाम vi” वाले आरोप के अंत के रूप में देखा जा रहा है।
- नया docked speedbar एक बड़े गुणवत्ता-जीवन सुधार के रूप में उजागर किया गया है, जो बाईं ओर फ़ोल्डर दृश्य जैसी परिचित व्यवस्था लाता है।
- xwidget-webkit के माध्यम से ग्राफ़िकल वेब ब्राउज़र की वापसी/सुधार का स्वागत किया गया है, खासकर PDFs और Jupyter के लिए, हालांकि macOS समर्थन अभी भी थोड़ा कठिन बताया गया है।
Tree-sitter और भाषा उपकरण
- बिल्ट-इन Tree-sitter grammar स्थापना एक बड़ी राहत मानी जा रही है, खासकर macOS पर जहाँ ABI/version को हाथ से खोजना कष्टदायक था। शुरुआती रिपोर्टों के अनुसार ऑन-डिमांड इंस्टॉल “बस काम करता है।”
- उपयोगकर्ता treesitter + LSP (eglot के साथ) वर्कफ़्लो को सुचारु बताते हैं। Eglot, एक बिल्ट-इन LSP के रूप में, कई लोगों के लिए “काफ़ी अच्छा” और lsp-mode से सरल माना जा रहा है।
AI और Emacs इंटीग्रेशन
- Emacs के core में कोई AI नहीं है, जिसे कुछ लोग स्पष्ट रूप से सराहते हैं, लेकिन कई third‑party AI टूल और “agentic” कोडिंग सेटअप मौजूद हैं।
- कई टिप्पणियाँ Emacs को LLMs के लिए अनोखा रूप से उपयुक्त बताती हैं: सब कुछ text है, introspectable है, और functions के रूप में callable है, जिससे closed-loop agents बनाए जा सकते हैं जो Emacs को reconfigure कर सकें, buffers manipulate कर सकें, external systems (Jira, Git, Slack, browser, आदि) से पूछताछ कर सकें, और परिणामों का मूल्यांकन कर सकें।
- कुछ लोग editor के भीतर tight AI (जैसे अन्य editors) पसंद करते हैं, लेकिन अन्य अब अलग AI tools के साथ Emacs या किसी अन्य editor का उपयोग करना बेहतर मानते हैं।
Packages, User Lisp, और Configuration
- नया
user-lispdirectory उत्साहजनक है: लोग इसे autoloaded commands के साथ एक हल्के package area की तरह उपयोग करने की योजना बना रहे हैं। :vc + :load-pathको package system में deprecated करने पर एक विवादास्पद subthread है। एक पक्ष article पर गलत समझने का आरोप लगाता है और समझाता है कि यह symlink portability से जुड़ा transitive deprecation था; दूसरा पक्ष इस बदलाव को निराशाजनक मानता है और सोचता है कि rationale और communication खराब थे।package-autosuggestका default रूप से disabled होना newcomers को ध्यान में रखने के रूप में बचाव किया जाता है; कुछ का मानना है कि discoverability सभी users के लिए महत्वपूर्ण है।package-review-policyको कुछ लोग “AI के युग” में महत्वपूर्ण मानते हुए प्रशंसा करते हैं, जबकि अन्य इसे “security theater” कहकर खारिज करते हैं।
Emacs और Emacs Lisp सीखना
- कई सीखने के रास्ते सुझाए गए हैं: built-in tutorial, Info manuals (विशेषकर Elisp manual और Intro), एक लोकप्रिय paid book, curated configs, और YouTube content।
- built-in tutorial पर राय अलग-अलग है: कुछ इसे अनिवार्य मानते हैं; अन्य इसे demotivating पाते हैं और सलाह देते हैं कि बस Emacs का उपयोग करें और ज़रूरत पड़ने पर LLM से पूछें।
- Elisp design patterns के लिए, लोग अच्छी संरचना वाले packages का अध्ययन करने,
describe-function/describe-variableका उपयोग करने, और text processing के लिए strings के बजाय buffers को प्राथमिकता देने की सलाह देते हैं। - एक नया तरीका यह है कि LLM चल रहे Emacs को
emacsclientके माध्यम से बदल भी सके और interactive Elisp tutor के रूप में भी काम करे।
अन्य editors और terminals के साथ तुलना
- कई उपयोगकर्ता modern editors (VS Code, Neovim, Helix, Zed) के बीच घूमने के बाद Emacs पर लौटने की बात करते हैं, खासकर अब जब Tree-sitter और eglot बिल्ट-इन हैं।
- कुछ लोग अभी भी Vim की command structure या minimalist philosophy को पसंद करते हैं, लेकिन आम तौर पर मानते हैं कि feature-wise Emacs अधिक शक्तिशाली है।
- Terminal integration मिश्रित है: कुछ के लिए vterm समस्याग्रस्त है; अन्य नए terminal bridges (libghostty और समान) सुझाते हैं जो native terminal और Emacs के बीच की रेखा धुंधली करते हैं।
Configs, Distributions, और Keybindings
- लंबे समय के उपयोगकर्ता “.emacs bankruptcy” की बात करते हैं: दशकों की अनावश्यक चीज़ें छोड़कर modern built-ins (completion, eglot, Tree-sitter, आदि) पर आधारित नया सेटअप बनाना।
- Starter distributions जैसे Doom Emacs उन लोगों के लिए सुझाए जाते हैं जो कम customization के साथ उत्पादक setup चाहते हैं।
- Emacs keybindings पर टिके रहने बनाम Evil (Vim emulation) इस्तेमाल करने के बीच तनाव बना हुआ है; कुछ लोग native bindings को पूरी तरह आत्मसात करने के लिए जानबूझकर Evil से बचते हैं।
- Side discussions keyboard layouts (qwerty बनाम Colemak variants) और hardware (ortholinear/ergonomic boards) को कवर करती हैं, लेकिन इन्हें Emacs-विशिष्ट के बजाय व्यक्तिगत पसंद के रूप में प्रस्तुत किया गया है।
Governance, Architecture, और Historical Notes
- portable dumper पर एक core maintainer के resign करने के प्रश्न का उत्तर दिया गया: वे अभी भी सक्रिय हैं; technical disputes पर पहले की resignation threats का उल्लेख है, जिन पर कुछ आलोचना है लेकिन आगे बढ़ने की अपील भी है।
- glibc से
unexecको हटाने को कुछ लोग एक शक्तिशाली, “image-based” क्षमता के नुकसान के रूप में lament करते हैं; अन्य लोग मानते हैं कि portable serialization और pdumper-शैली के approaches बेहतर long-term समाधान हैं। temacsके बारे में व्याख्याएँ दी गई हैं, जो पुराने Emacs versions में उपयोग होने वाला एक intermediate build artifact है, आम तौर पर source से build करने पर ही दिखाई देता है।
विविध अनुभव
- उपयोगकर्ता missing
lexical-bindingcookies के बारे में नए warnings नोट करते हैं, जो पुराने site-lisp code को तोड़ सकते हैं; कुछ इसे कठोर लेकिन उचित hygiene मानते हैं। - official Windows ARM64 binaries की माँग है, जो बदलते hardware trends को दर्शाती है।
- कई लोग Emacs 31.1 के बाहर आने के बाद Emacs पर लौटने या अपनी configs साफ़ करने के लिए नई प्रेरणा व्यक्त करते हैं।