emacs 源码已使用git管理

{相关}
本文来源于
http://lars.ingebrigtsen.no/2014/11/13/welcome-new-emacs-developers/

{具体内容}

Emacs switched the version control system from Bazaar to git yesterday, so
now is the time to start hacking away at Emacs.

Emacs: The Best Thing Since Sliced Bread If It Wasn’t For The Fact That Emacs
Was Actually Invented Before Sliced Bread.

This is a very short how-to guide on building and then contributing to
Emacs.

Depending on what OS you’re running, you should install some libraries and
stuff.  On Debian/Ubuntu you’d say something like

sudo apt-get build-dep emacs24

(See the end of this post for instructions for other operating systems.)

Then you need to get the Emacs sources and build Emacs.  Here’s how on most Linux systems:

git clone git://git.savannah.gnu.org/emacs.git
cd emacs
make
./src/emacs &

And you’re off! If you know what you want to add to Emacs, just start hacking away. If not, you should have a look at the wishlist in the Emacs bug tracker.  Starting with a new feature can be less daunting than starting with a bug, since it’s more open ended.  And more fun.

First we need to get the bug tracker into Emacs.

M-x package-install RET debbugs RET

Ready for action!

M-x debbugs-gnu RET C-a C-k wishlist RET

This will list everything that anybody wanted, but nobody got around to doing anything about.  Find one you think look interesting, hit enter to read more about it, and if you think you want to have a go, start hacking away.

When you’re done, make a diff, reply to the bug report with F, and include the diff in the email.

Emacs requires a copyright assignment on all bits that are larger than 15 lines.  Send an email to [email protected] saying you wish to assign your Emacs code to the FSF, and they’ll get back to you on the paperwork, which is very un-daunting.

If you’re fixing lots of bugs and adding lots of new code, just ask for commit rights to the Emacs repository, and your code will fly out a lot faster.

Go forth and Emacs!

——————–

Appendix:

If apt-get build-dep doesn’t work for you on Debian/Ubuntu, you could say something like

sudo apt-get install gcc automake autotools libmagick++-dev   libgtk2.0-dev libxft-dev libgnutls-dev libdbus-1-dev libgif-dev

On Fedora you’d say

sudo yum install gcc makeinfo texinfo gtk3-devel gnutls-devel giflib-devel ImageMagick-c++-devel autotools automake  libXaw-devel libpng-devel ncurses-devel libxml2-devel  

If you have instructions for other OS-es, or these instructions here are wrong, please leave a comment.

If you need more information on the git flow for Emacs developers, have a peek here.

				
时间: 2024-07-29 03:32:24

emacs 源码已使用git管理的相关文章

redis 源码分析(一) 内存管理

一,redis内存管理介绍 redis是一个基于内存的key-value的数据库,其内存管理是非常重要的,为了屏蔽不同平台之间的差异,以及统计内存占用量等,redis对内存分配函数进行了一层封装,程序中统一使用zmalloc,zfree一系列函数,其对应的源码在src/zmalloc.h和src/zmalloc.c两个文件中,源码点这里. 二,redis内存管理源码分析 redis封装是为了屏蔽底层平台的差异,同时方便自己实现相关的函数,我们可以通过src/zmalloc.h 文件中的相关宏定义

redis源码解析之内存管理

zmalloc.h的内容如下: 1 void *zmalloc(size_t size); 2 void *zcalloc(size_t size); 3 void *zrealloc(void *ptr, size_t size); 4 void zfree(void *ptr); 5 char *zstrdup(const char *s); 6 size_t zmalloc_used_memory(void); 7 void zmalloc_enable_thread_safeness(v

Memcached源码分析之内存管理

先再说明一下,我本次分析的memcached版本是1.4.20,有些旧的版本关于内存管理的机制和数据结构与1.4.20有一定的差异(本文中会提到). 一)模型分析在开始解剖memcached关于内存管理的源代码之前,先宏观上分析一下memcached内存管理的模型是怎样子的: 提个建议,我觉得memcached内存管理的模型与我们平时做作业的作业本“画格子给我们往格子里面写字”的逻辑很像,一本本作业本就是我们的内存空间,而我们往里写的字就是我们要存下来的数据,所以分析的时候可以想像一下用方格作业

区块链教程以太源码分析accounts账户管理分析

区块链教程以太源码分析accounts账户管理分析. 数据结构分析 ETH的账户管理定义在accounts/manager.go中,其数据结构为: // Manager is an overarching account manager that can communicate with various // backends for signing transactions. type Manager struct { backends map[reflect.Type][]Backend /

源码包安装git

今天有时间研究一下git,写完python的代码想分享到coding.net上去.但是用centos自带的1.7的版本的总是有问题.用源码包的方式安装一个1.9版本的.终于把代码传上去了.Git先掌握基本的使用功能,在本贴中后续再慢慢补充其他功能,先介绍源码安装. Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具 yum install curl-devel expat-devel gettext-devel ope

cocos2d-x 源码分析 : Ref (CCObject) 源码分析 cocos2d-x内存管理策略

源码版本来自3.x,转载请注明 cocos2d-x 源码分析总目录: http://blog.csdn.net/u011225840/article/details/31743129 1.Ref,AutoreleasePool,PoolManager Ref中包含了一个叫referenceCount的引用计数,当一个Ref类的变量被new的时候,其referenceCount的引用计数被置为1. 其中有三个重要的操作,retain,release,autorelease,下面源码分析时会详细说明

Ubuntu下升级git版本(源码编译安装git)

Ubuntu自带的git是1.7的版本的,太旧了,所以想升级下,git官网上没有提供现成的安装包,所以只能源码编译了. linux上源码编译安装Git拢共分两步: 第一步,安装编译git的依赖包 第二步,下载源码,编译安装git 安装git的安装包: 在apt-get的系统上: sudo apt-get install curl curl-devel zlib-devel openssl-devel perl cpio expat-devel gettex-devel 在yum的系统上: yum

【代码管理】GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流

找到一篇很详细的Git教程,真的很不错,推荐!!! GitHub操作总结 : 总结看不明白就看下面的详细讲解. . 作者 :万境绝尘  . GitHub操作流程 : 第一次提交 : 方案一 : 本地创建项目根目录, 然后与远程GitHub关联, 之后的操作一样; -- 初始化git仓库 :git init ; -- 提交改变到缓存 :git commit -m 'description' ; -- 本地git仓库关联GitHub仓库 : git remote add origin [email 

GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流(转载)

最近听同事说他都在使用GitHub,GitHub是程序员的社区,在里面可以学到很多书上学不到的东西,所以最近在准备入手这方面的知识去尝试学习,正好碰到这么详细完整的文章,就转载了,希望对自己和大家有帮助. GitHub操作总结 : 总结看不明白就看下面的详细讲解. GitHub操作流程 : 第一次提交 : 方案一 : 本地创建项目根目录, 然后与远程GitHub关联, 之后的操作一样; -- 初始化Git仓库 :git init ; -- 提交改变到缓存 :git commit -m 'desc